[691] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

lots of stuff calls krb5_os_localaddr that doesn't have to

daemon@ATHENA.MIT.EDU (Jonathan I. Kamens)
Thu Sep 1 15:14:47 1994

Date: Thu, 1 Sep 1994 15:15:56 -0400
From: "Jonathan I. Kamens" <jik@cam.ov.com>
To: krb5-bugs@MIT.EDU

Since get_in_tkt now calls krb5_os_localaddr automatically when its
addrs parameter is null, things that call it no longer need to do it.
This patch (untested) fixes a number of them in beta 4.

--- clients/kinit/kinit.c	Mon Aug  8 22:45:16 1994
+++ kinit.c	Thu Sep  1 14:03:00 1994
@@ -82,7 +82,6 @@
     int options = KRB5_DEFAULT_OPTIONS;
     int option;
     int errflg = 0;
-    krb5_address **my_addresses;
     krb5_error_code code;
     krb5_principal me;
     krb5_principal server;
@@ -241,11 +240,6 @@
 
     my_creds.server = server;
 
-    code = krb5_os_localaddr(&my_addresses);
-    if (code != 0) {
-	com_err (argv[0], code, "when getting my address");
-	exit(1);
-    }
     if (code = krb5_timeofday(&now)) {
 	com_err(argv[0], code, "while getting time of day");
 	exit(1);
@@ -268,12 +262,12 @@
 	      fprintf(stderr, "Error while reading password for '%s'\n",
 		      client_name);
 	      memset(password, 0, sizeof(password));
-	      krb5_free_addresses(my_addresses);
 	      exit(1);
 	 }
 
 	 if (preauth_type > 0) {
-	     code = krb5_get_in_tkt_with_password(options, my_addresses,
+	     code = krb5_get_in_tkt_with_password(options,
+						  0, /* default addresses */
 						  preauth_type,
 						  ETYPE_DES_CBC_CRC,
 						  KEYTYPE_DES,
@@ -282,7 +276,8 @@
 						  &my_creds, 0);
 	 } else {
 	     for (i=0; preauth_search_list[i] >= 0; i++) {
-		 code = krb5_get_in_tkt_with_password(options, my_addresses,
+		 code = krb5_get_in_tkt_with_password(options,
+						      0, /*default addresses */
 						      preauth_search_list[i],
 						      ETYPE_DES_CBC_CRC,
 						      KEYTYPE_DES,
@@ -307,7 +302,8 @@
 	 }
 
 	 if (preauth_type > 0) {
-	     code = krb5_get_in_tkt_with_skey(options, my_addresses,
+	     code = krb5_get_in_tkt_with_skey(options,
+					      0, /* default addresses */
 					      preauth_type, 
 					      ETYPE_DES_CBC_CRC,
 					      keytab ? &kt_ent.key : NULL,
@@ -314,7 +310,8 @@
 					      ccache, &my_creds, 0);
 	 } else {
 	     for (i=0; preauth_search_list[i] >= 0; i++) {
-		 code = krb5_get_in_tkt_with_skey(options, my_addresses,
+		 code = krb5_get_in_tkt_with_skey(options,
+						  0, /* default addresses */
 						  preauth_search_list[i], 
 						  ETYPE_DES_CBC_CRC,
 						  keytab ? &kt_ent.key : NULL,
@@ -330,7 +327,6 @@
     }
     
     krb5_free_principal(server);
-    krb5_free_addresses(my_addresses);
     
     if (code) {
 	if (code == KRB5KRB_AP_ERR_BAD_INTEGRITY)
--- clients/ksu/krb_auth_su.c	Tue Aug  9 20:31:16 1994
+++ krb_auth_su.c	Thu Sep  1 14:03:59 1994
@@ -367,7 +367,6 @@
     opt_info *options;
     krb5_boolean *zero_password;
 {
-    krb5_address **my_addresses;
     krb5_error_code code;
     krb5_creds my_creds;
     krb5_timestamp now;
@@ -396,13 +395,6 @@
 	return (FALSE);	
     }	
 
-    code = krb5_os_localaddr(&my_addresses);
-
-    if (code != 0) {
-	com_err (prog_name, code, "when getting my address");
-	return (FALSE);	
-    }
-
     if (code = krb5_timeofday(&now)) {
 	com_err(prog_name, code, "while getting time of day");
 	return (FALSE);	
@@ -427,7 +419,6 @@
 	      com_err(prog_name, code, "while reading password for '%s'\n",
 		      client_name);
 	      memset(password, 0, sizeof(password));
-	      krb5_free_addresses(my_addresses);
 	      return (FALSE); 
 	 }
 
@@ -435,12 +426,12 @@
 	      fprintf(stderr, "No password given\n");
     	      *zero_password = TRUE;
 	      memset(password, 0, sizeof(password));
-	      krb5_free_addresses(my_addresses);
 	      return (FALSE); 
 	 }
 
 	 if (preauth_type > 0) {
-	     code = krb5_get_in_tkt_with_password(options->opt, my_addresses,
+	     code = krb5_get_in_tkt_with_password(options->opt,
+						  0, /* default addresses */
 						  preauth_type,
 						  ETYPE_DES_CBC_CRC,
 						  KEYTYPE_DES,
@@ -449,7 +440,8 @@
 						  &my_creds, 0);
 	 } else {
 	     for (i=0; preauth_search_list[i] >= 0; i++) {
-		 code = krb5_get_in_tkt_with_password(options->opt, my_addresses,
+		 code = krb5_get_in_tkt_with_password(options->opt,
+						      0, /*default addresses */
 						      preauth_search_list[i],
 						      ETYPE_DES_CBC_CRC,
 						      KEYTYPE_DES,
@@ -463,8 +455,6 @@
 	 }
 	 memset(password, 0, sizeof(password));
 
-    
-    krb5_free_addresses(my_addresses);
     
     if (code) {
 	if (code == KRB5KRB_AP_ERR_BAD_INTEGRITY)
--- kadmin/client/kadmin.c	Sat Jul 16 06:05:43 1994
+++ kadmin.c	Thu Sep  1 14:04:49 1994
@@ -534,8 +534,6 @@
 {
     char prompt[255];			/* for the password prompt */
     
-    krb5_address **my_addresses;
-
     char *client_name;
     krb5_error_code retval;
     char *password;
@@ -547,11 +545,6 @@
 	return(1);
     }
 
-    if ((retval = krb5_os_localaddr(&my_addresses))) {
-	fprintf(stderr, "Unable to Get Principals Address!\n");
-	return(1);
-    }
-
     memset((char *) &my_creds, 0, sizeof(my_creds));
 
     my_creds.client = client;
@@ -566,7 +559,6 @@
 					   /* instance is <realm> */
                                         0))) {
         fprintf(stderr, "Error %s while building client name!\n");
-	krb5_free_addresses(my_addresses);
         return(1);
     }
     
@@ -586,7 +578,6 @@
 	fprintf(stderr, "Error while reading password for '%s'!\n",
                                 client_name);
 	free(password);
-	krb5_free_addresses(my_addresses);
 	return(1);
     }
 
@@ -594,7 +585,7 @@
     for (i=0; preauth_search_list[i] >= 0; i++) {
 	retval = krb5_get_in_tkt_with_password(
 					0,	/* options */
-					my_addresses,
+					0, /* default addresses */
 					/* do random preauth */
                                         preauth_search_list[i],
 					ETYPE_DES_CBC_CRC,   /* etype */
@@ -611,7 +602,6 @@
         /* Do NOT Forget to zap password  */
     memset((char *) password, 0, pwsize);
     free(password);
-    krb5_free_addresses(my_addresses);
     
     if (retval) {
             fprintf(stderr, "\nUnable to Get Initial Credentials : %s!\n",
--- kadmin/kpasswd/kpasswd.c	Tue Aug  9 15:45:11 1994
+++ kpasswd.c	Thu Sep  1 14:05:31 1994
@@ -591,8 +591,6 @@
     int  old_pwsize;
     int	 i;
     
-    krb5_address **my_addresses;
-
     char *client_name;
     char local_realm[255];
     krb5_error_code retval;
@@ -604,11 +602,6 @@
 
     (void) sprintf(prompt,"Old password for %s: ", (char *) client_name);
 
-    if ((retval = krb5_os_localaddr(&my_addresses))) {
-	fprintf(stderr, "Unable to Get Customers Address\n");
-	return(1);
-    }
-
     memset((char *) &my_creds, 0, sizeof(my_creds));
 
     my_creds.client = client;                           
@@ -647,7 +640,7 @@
     for (i=0; preauth_search_list[i] >= 0; i++) {
 	retval = krb5_get_in_tkt_with_password(
 					0,	/* options */
-					my_addresses,
+					0, /* default addresses */
 					/* do random preauth */
                                         preauth_search_list[i],
 					ETYPE_DES_CBC_CRC,   /* etype */
--- slave/kprop.c	Fri Jun 24 03:12:32 1994
+++ kprop.c	Thu Sep  1 14:06:21 1994
@@ -186,7 +186,6 @@
 	char   buf[BUFSIZ];
 	char   *cp;
 	struct hostent *hp;
-	krb5_address **my_addresses;
 	krb5_error_code retval;
 	static char tkstring[] = "/tmp/kproptktXXXXXX";
 
@@ -270,13 +269,8 @@
 	/*
 	 * Get my addresses
 	 */
-	retval = krb5_os_localaddr(&my_addresses);
-	if (retval != 0) {
-		com_err(progname, retval,
-			"when getting my address");
-		exit(1);
-	}
-	retval = krb5_get_in_tkt_with_skey(0, my_addresses,
+	retval = krb5_get_in_tkt_with_skey(0,
+					   0, /* default addresses */
 					   0,
 					   ETYPE_DES_CBC_CRC,
 					   0, ccache, &my_creds, 0);
--- slave/kpropd.c	Thu Aug  4 16:42:52 1994
+++ kpropd.c	Thu Sep  1 14:06:46 1994
@@ -79,7 +79,6 @@
 krb5_principal	server;		/* This is our server principal name */
 krb5_principal	client;		/* This is who we're talking to */
 krb5_keyblock	*session_key;	/* Here is the session key */
-krb5_address	**server_addrs;
 krb5_pointer	kerb_keytab = 0; /* Use default */
 char	*realm = NULL;		/* Our realm */
 char	*file = KPROPD_DEFAULT_FILE;
@@ -419,11 +418,6 @@
 	if (retval = krb5_parse_name(buf, &server)) {
 		com_err(progname, retval,
 			"While trying to parse %s for service name");
-		exit(1);
-	}
-	if (retval = krb5_os_localaddr(&server_addrs)) {
-		com_err(progname, retval,
-			"While trying to get local server address");
 		exit(1);
 	}
 	/*
--- tests/hammer/kdc5_hammer.c	Fri Oct 15 12:52:33 1993
+++ kdc5_hammer.c	Thu Sep  1 14:07:21 1994
@@ -368,7 +368,6 @@
     char *cache_name = NULL;		/* -f option */
     long lifetime = KRB5_DEFAULT_LIFE;	/* -l option */
     int options = KRB5_DEFAULT_OPTIONS;
-    krb5_address **my_addresses;
     krb5_error_code code;
     krb5_creds my_creds;
     krb5_timestamp start;
@@ -402,12 +401,6 @@
 	return(-1);
     }
 
-    code = krb5_os_localaddr(&my_addresses);
-    if (code != 0) {
-	com_err (prog, code, "when getting my address");
-	exit(1);
-    }
-
     my_creds.client = *p_client;
     my_creds.server = tgt_server;
 
@@ -425,7 +418,8 @@
     my_creds.times.endtime = start + lifetime;
     my_creds.times.renew_till = 0;
 
-    code = krb5_get_in_tkt_with_password(options, my_addresses,
+    code = krb5_get_in_tkt_with_password(options,
+					 0, /* default addresses */
 					 patype,
 					 etype,
 					 keytype,
@@ -434,7 +428,6 @@
 					 &my_creds, 0);
     my_creds.server = my_creds.client = 0;
     krb5_free_principal(tgt_server);
-    krb5_free_addresses(my_addresses);
     krb5_free_cred_contents(&my_creds);
     if (code != 0) {
 	com_err (prog, code, "while getting initial credentials");

home help back first fref pref prev next nref lref last post