add --enable-kerberos4-cross-realm option (default to off)

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@11805 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
2003-03-17 05:34:11 +00:00
parent e0efc9b0ed
commit 4482a36786

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997-2002 Kungliga Tekniska H<>gskolan * Copyright (c) 1997-2003 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -71,6 +71,7 @@ krb5_addresses explicit_addresses;
#ifdef KRB4 #ifdef KRB4
char *v4_realm; char *v4_realm;
int enable_v4 = -1; int enable_v4 = -1;
int enable_v4_cross_realm = -1;
int enable_kaserver = -1; int enable_kaserver = -1;
#endif #endif
@@ -103,8 +104,12 @@ static struct getargs args[] = {
"don't respond to 524 requests" "don't respond to 524 requests"
}, },
#ifdef KRB4 #ifdef KRB4
{ "kerberos4", 0, arg_negative_flag, &enable_v4, { "kerberos4", 0, arg_flag, &enable_v4,
"don't respond to kerberos 4 requests" "respond to kerberos 4 requests"
},
{ "kerberos4-cross-realm", 0, arg_flag,
&enable_v4_cross_realm,
"respond to kerberos 4 requests from foreign realms"
}, },
{ {
"v4-realm", 'r', arg_string, &v4_realm, "v4-realm", 'r', arg_string, &v4_realm,
@@ -333,8 +338,14 @@ configure(int argc, char **argv)
#ifdef KRB4 #ifdef KRB4
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, FALSE, "kdc",
"enable-kerberos4", NULL); "enable-kerberos4", NULL);
if(enable_v4_cross_realm == -1)
enable_v4_cross_realm =
krb5_config_get_bool_default(context, NULL,
FALSE, "kdc",
"enable-kerberos4-cross-realm",
NULL);
#else #else
#define enable_v4 0 #define enable_v4 0
#endif #endif
@@ -361,8 +372,11 @@ configure(int argc, char **argv)
"kdc", "kdc",
"v4-realm", "v4-realm",
NULL); NULL);
if(p) if(p != NULL) {
v4_realm = strdup(p); v4_realm = strdup(p);
if (v4_realm == NULL)
krb5_errx(context, 1, "out of memory");
}
} }
if (enable_kaserver == -1) if (enable_kaserver == -1)
enable_kaserver = krb5_config_get_bool_default(context, NULL, FALSE, enable_kaserver = krb5_config_get_bool_default(context, NULL, FALSE,
@@ -397,6 +411,8 @@ configure(int argc, char **argv)
#ifdef KRB4 #ifdef KRB4
if(v4_realm == NULL){ if(v4_realm == NULL){
v4_realm = malloc(40); /* REALM_SZ */ v4_realm = malloc(40); /* REALM_SZ */
if (v4_realm == NULL)
krb5_errx(context, 1, "out of memory");
krb_get_lrealm(v4_realm, 1); krb_get_lrealm(v4_realm, 1);
} }
#endif #endif