diff options
author | Karl Ramm <kcr@mit.edu> | 2008-12-21 08:47:29 +0000 |
---|---|---|
committer | Karl Ramm <kcr@mit.edu> | 2008-12-21 08:47:29 +0000 |
commit | a818591ffbff2b48edfe60de2128a66cc8edf283 (patch) | |
tree | 016ffd698f0e26ade14982f8eaf5d7d44c2831fa /server/realm.c | |
parent | 2edaa2eb24e3ee2b87abd6c51b93abf94544dd30 (diff) |
KRB4 vs. KRB5 conditional typo
krb4 arithmetic -> MAX_PRINCIPAL_SIZE
check your math
return errno when fork fails
Diffstat (limited to 'server/realm.c')
-rw-r--r-- | server/realm.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/server/realm.c b/server/realm.c index f6ff219..36fdd3c 100644 --- a/server/realm.c +++ b/server/realm.c @@ -68,7 +68,7 @@ static void rlm_rexmit(void *arg); static Code_t realm_ulocate_dispatch(ZNotice_t *notice,int auth,struct sockaddr_in *who,Server *server,ZRealm *realm); static Code_t realm_new_server(struct sockaddr_in *, ZNotice_t *, ZRealm *); static Code_t realm_set_server(struct sockaddr_in *, ZRealm *); -#ifdef HAVE_KRB4 +#ifdef HAVE_KRB5 static Code_t ticket_retrieve(ZRealm *realm); static int ticket_lookup(char *realm); #endif @@ -476,7 +476,7 @@ realm_init(void) struct in_addr *addresses; struct hostent *hp; char list_file[128]; - char rlmprinc[ANAME_SZ+INST_SZ+REALM_SZ+3]; + char rlmprinc[MAX_PRINCIPAL_SIZE]; sprintf(list_file, "%s/zephyr/%s", SYSCONFDIR, REALM_LIST_FILE); rlmnames = get_realm_lists(list_file); @@ -544,7 +544,7 @@ realm_init(void) memset(&client->session_key, 0, sizeof(client->session_key)); #endif #endif - sprintf(rlmprinc, "%s.%s@%s", SERVER_SERVICE, SERVER_INSTANCE, + snprintf(rlmprinc, MAX_PRINCIPAL_SIZE, "%s.%s@%s", SERVER_SERVICE, SERVER_INSTANCE, rlm->name); client->principal = make_string(rlmprinc, 0); client->last_send = 0; @@ -1357,7 +1357,7 @@ ticket_retrieve(ZRealm *realm) pid = fork(); if (pid < 0) { syslog(LOG_ERR, "tkt_rtrv: can't fork"); - return KRBET_KDC_AUTH_EXP; + return errno; } else if (pid == 0) { #ifdef _POSIX_VERSION |