always compile in support for 524
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@11573 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -35,7 +35,9 @@
|
|||||||
|
|
||||||
RCSID("$Id$");
|
RCSID("$Id$");
|
||||||
|
|
||||||
#ifdef KRB4
|
#ifndef KRB4
|
||||||
|
#include <krb5-v4compat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* fetch the server from `t', returning the name in malloced memory in
|
* fetch the server from `t', returning the name in malloced memory in
|
||||||
@@ -361,5 +363,3 @@ out:
|
|||||||
free_ent (server);
|
free_ent (server);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* KRB4 */
|
|
||||||
|
13
kdc/config.c
13
kdc/config.c
@@ -71,10 +71,11 @@ krb5_addresses explicit_addresses;
|
|||||||
#ifdef KRB4
|
#ifdef KRB4
|
||||||
char *v4_realm;
|
char *v4_realm;
|
||||||
int enable_v4 = -1;
|
int enable_v4 = -1;
|
||||||
int enable_524 = -1;
|
|
||||||
int enable_kaserver = -1;
|
int enable_kaserver = -1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
int enable_524 = -1;
|
||||||
|
|
||||||
static int help_flag;
|
static int help_flag;
|
||||||
static int version_flag;
|
static int version_flag;
|
||||||
|
|
||||||
@@ -98,13 +99,13 @@ static struct getargs args[] = {
|
|||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
{ "enable-http", 'H', arg_flag, &enable_http, "turn on HTTP support" },
|
{ "enable-http", 'H', arg_flag, &enable_http, "turn on HTTP support" },
|
||||||
|
{ "524", 0, arg_negative_flag, &enable_524,
|
||||||
|
"don't respond to 524 requests"
|
||||||
|
},
|
||||||
#ifdef KRB4
|
#ifdef KRB4
|
||||||
{ "kerberos4", 0, arg_negative_flag, &enable_v4,
|
{ "kerberos4", 0, arg_negative_flag, &enable_v4,
|
||||||
"don't respond to kerberos 4 requests"
|
"don't respond to kerberos 4 requests"
|
||||||
},
|
},
|
||||||
{ "524", 0, arg_negative_flag, &enable_524,
|
|
||||||
"don't respond to 524 requests"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"v4-realm", 'r', arg_string, &v4_realm,
|
"v4-realm", 'r', arg_string, &v4_realm,
|
||||||
"realm to serve v4-requests for"
|
"realm to serve v4-requests for"
|
||||||
@@ -334,10 +335,12 @@ configure(int argc, char **argv)
|
|||||||
if(enable_v4 == -1)
|
if(enable_v4 == -1)
|
||||||
enable_v4 = krb5_config_get_bool_default(context, NULL, TRUE, "kdc",
|
enable_v4 = krb5_config_get_bool_default(context, NULL, TRUE, "kdc",
|
||||||
"enable-kerberos4", NULL);
|
"enable-kerberos4", NULL);
|
||||||
|
#else
|
||||||
|
#define enable_v4 0
|
||||||
|
#endif
|
||||||
if(enable_524 == -1)
|
if(enable_524 == -1)
|
||||||
enable_524 = krb5_config_get_bool_default(context, NULL, enable_v4,
|
enable_524 = krb5_config_get_bool_default(context, NULL, enable_v4,
|
||||||
"kdc", "enable-524", NULL);
|
"kdc", "enable-524", NULL);
|
||||||
#endif
|
|
||||||
|
|
||||||
if(enable_http == -1)
|
if(enable_http == -1)
|
||||||
enable_http = krb5_config_get_bool(context, NULL, "kdc",
|
enable_http = krb5_config_get_bool(context, NULL, "kdc",
|
||||||
|
@@ -131,15 +131,15 @@ add_standard_ports (int family)
|
|||||||
add_port_service(family, "kerberos-sec", 88, "tcp");
|
add_port_service(family, "kerberos-sec", 88, "tcp");
|
||||||
if(enable_http)
|
if(enable_http)
|
||||||
add_port_service(family, "http", 80, "tcp");
|
add_port_service(family, "http", 80, "tcp");
|
||||||
|
if(enable_524) {
|
||||||
|
add_port_service(family, "krb524", 4444, "udp");
|
||||||
|
add_port_service(family, "krb524", 4444, "tcp");
|
||||||
|
}
|
||||||
#ifdef KRB4
|
#ifdef KRB4
|
||||||
if(enable_v4) {
|
if(enable_v4) {
|
||||||
add_port_service(family, "kerberos-iv", 750, "udp");
|
add_port_service(family, "kerberos-iv", 750, "udp");
|
||||||
add_port_service(family, "kerberos-iv", 750, "tcp");
|
add_port_service(family, "kerberos-iv", 750, "tcp");
|
||||||
}
|
}
|
||||||
if(enable_524) {
|
|
||||||
add_port_service(family, "krb524", 4444, "udp");
|
|
||||||
add_port_service(family, "krb524", 4444, "tcp");
|
|
||||||
}
|
|
||||||
if (enable_kaserver)
|
if (enable_kaserver)
|
||||||
add_port_service(family, "afs3-kaserver", 7004, "udp");
|
add_port_service(family, "afs3-kaserver", 7004, "udp");
|
||||||
#endif
|
#endif
|
||||||
@@ -358,9 +358,7 @@ process_request(unsigned char *buf,
|
|||||||
struct sockaddr *addr)
|
struct sockaddr *addr)
|
||||||
{
|
{
|
||||||
KDC_REQ req;
|
KDC_REQ req;
|
||||||
#ifdef KRB4
|
|
||||||
Ticket ticket;
|
Ticket ticket;
|
||||||
#endif
|
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
@@ -373,21 +371,20 @@ process_request(unsigned char *buf,
|
|||||||
ret = tgs_rep(&req, reply, from, addr);
|
ret = tgs_rep(&req, reply, from, addr);
|
||||||
free_TGS_REQ(&req);
|
free_TGS_REQ(&req);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
|
||||||
#ifdef KRB4
|
|
||||||
else if(maybe_version4(buf, len)){
|
|
||||||
*sendlength = 0; /* elbitapmoc sdrawkcab XXX */
|
|
||||||
do_version4(buf, len, reply, from, (struct sockaddr_in*)addr);
|
|
||||||
return 0;
|
|
||||||
}else if(decode_Ticket(buf, len, &ticket, &i) == 0){
|
}else if(decode_Ticket(buf, len, &ticket, &i) == 0){
|
||||||
ret = do_524(&ticket, reply, from, addr);
|
ret = do_524(&ticket, reply, from, addr);
|
||||||
free_Ticket(&ticket);
|
free_Ticket(&ticket);
|
||||||
return ret;
|
return ret;
|
||||||
|
#ifdef KRB4
|
||||||
|
} else if(maybe_version4(buf, len)){
|
||||||
|
*sendlength = 0; /* elbitapmoc sdrawkcab XXX */
|
||||||
|
do_version4(buf, len, reply, from, (struct sockaddr_in*)addr);
|
||||||
|
return 0;
|
||||||
} else if (enable_kaserver) {
|
} else if (enable_kaserver) {
|
||||||
ret = do_kaserver (buf, len, reply, from, (struct sockaddr_in*)addr);
|
ret = do_kaserver (buf, len, reply, from, (struct sockaddr_in*)addr);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user