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;