[691] in Kerberos-V5-bugs
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");