From 89edf1be0e4ac6d9c3564ee933ede65486ef25bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Sun, 25 Jan 2009 20:50:15 +0000 Subject: [PATCH] make digest, kx509 and krb4 git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24484 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/default_config.c | 4 ++++ kdc/process.c | 13 +++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/kdc/default_config.c b/kdc/default_config.c index a59d2f40f..bf65af3cb 100644 --- a/kdc/default_config.c +++ b/kdc/default_config.c @@ -84,6 +84,7 @@ krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config) krb5_config_get_bool_default(context, NULL, c->enable_v4, "kdc", "enable-524", NULL); +#ifdef DIGEST c->enable_digest = krb5_config_get_bool_default(context, NULL, FALSE, @@ -110,7 +111,9 @@ krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config) c->enable_digest = 0; } } +#endif +#ifdef KX509 c->enable_kx509 = krb5_config_get_bool_default(context, NULL, FALSE, @@ -129,6 +132,7 @@ krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config) c->enable_kx509 = FALSE; } } +#endif c->check_ticket_addresses = krb5_config_get_bool_default(context, NULL, diff --git a/kdc/process.c b/kdc/process.c index 42b1278ad..1ca1dcc63 100644 --- a/kdc/process.c +++ b/kdc/process.c @@ -66,7 +66,9 @@ krb5_kdc_process_request(krb5_context context, int datagram_reply) { KDC_REQ req; +#ifdef KRB4 Ticket ticket; +#endif #ifdef DIGEST DigestREQ digestreq; #endif @@ -90,10 +92,6 @@ krb5_kdc_process_request(krb5_context context, ret = _kdc_tgs_rep(context, config, &req, reply, from, addr, datagram_reply); free_TGS_REQ(&req); return ret; - }else if(decode_Ticket(buf, len, &ticket, &i) == 0){ - ret = _kdc_do_524(context, config, &ticket, reply, from, addr); - free_Ticket(&ticket); - return ret; #ifdef DIGEST }else if(decode_DigestREQ(buf, len, &digestreq, &i) == 0){ ret = _kdc_do_digest(context, config, &digestreq, reply, from, addr); @@ -106,15 +104,22 @@ krb5_kdc_process_request(krb5_context context, free_Kx509Request(&kx509req); return ret; #endif +#ifdef KRB4 + }else if(decode_Ticket(buf, len, &ticket, &i) == 0){ + ret = _kdc_do_524(context, config, &ticket, reply, from, addr); + free_Ticket(&ticket); + return ret; } else if(_kdc_maybe_version4(buf, len)){ *prependlength = FALSE; /* elbitapmoc sdrawkcab XXX */ ret = _kdc_do_version4(context, config, buf, len, reply, from, (struct sockaddr_in*)addr); return ret; + } else if (config->enable_kaserver) { ret = _kdc_do_kaserver(context, config, buf, len, reply, from, (struct sockaddr_in*)addr); return ret; +#endif } return -1;