X-Git-Url: http://andersk.mit.edu/gitweb/moira.git/blobdiff_plain/49b589d4c209b590a56b3a718998d973980686de..refs/heads/LOCKING:/update/ticket.c diff --git a/update/ticket.c b/update/ticket.c index 59f3a8e8..f07ed326 100644 --- a/update/ticket.c +++ b/update/ticket.c @@ -15,7 +15,7 @@ static char *rcsid_ticket_c = "$Header$"; #include #include #include -#include +#include #include #include #include @@ -57,23 +57,20 @@ get_mr_update_ticket(host, ticket) try_it: code = krb_mk_req(ticket, service, phost, realm, (long)0); if (code) { - code += ERROR_TABLE_BASE_krb; + if (pass == 1) { + /* maybe we're taking too long? */ + if ((code = get_mr_tgt()) != 0) { + com_err(whoami, code, " can't get Kerberos TGT"); + return(code); + } + pass++; + goto try_it; + } com_err(whoami, code, "in krb_mk_req"); } else { code = krb_get_cred(service, phost, realm, &cr); - bcopy(cr.session, session, sizeof(session)); - } -#ifdef notdef - if (pass == 1) { - /* maybe we're taking too long? */ - if ((code = get_mr_tgt()) != 0) { - com_err(whoami, code, " can't get Kerberos TGT"); - return(code); - } - pass++; - goto try_it; + memcpy(session, cr.session, sizeof(session)); } -#endif /* notdef */ return(code); } @@ -86,7 +83,8 @@ get_mr_tgt() init(); linst[0] = '\0'; strcpy(kinst, "krbtgt"); - code = krb_get_svc_in_tkt(master, linst, realm, kinst, realm, 1, srvtab); + code = krb_get_svc_in_tkt(master, linst, realm, kinst, realm, + DEFAULT_TKT_LIFE, srvtab); if (!code) return(0); else