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:
		
							
								
								
									
										26
									
								
								kdc/config.c
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								kdc/config.c
									
									
									
									
									
								
							@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user