5 /* (c) Copyright 1988 by the Massachusetts Institute of Technology. */
6 /* For copying and distribution information, please see the file */
7 /* <mit-copyright.h>. */
10 static char *rcsid_ticket_c = "$Header$";
13 #include <mit-copyright.h>
16 #include <sys/types.h>
25 /* too bad we can't set the pathname easily */
26 static char *srvtab = KEYFILE; /* default == /etc/srvtab */
27 static char realm[REALM_SZ];
28 static char master[INST_SZ] = "sms";
29 static char service[ANAME_SZ] = "rcmd";
35 static int initialized = 0;
38 if (krb_get_lrealm(realm, 1))
39 strcpy(realm, KRB_REALM);
40 initialize_krb_error_table();
47 get_mr_update_ticket(host, ticket)
58 strcpy(phost, (char*)krb_get_phost(host));
60 code = krb_mk_req(ticket, service, phost, realm, (long)0);
63 /* maybe we're taking too long? */
64 if ((code = get_mr_tgt()) != 0) {
65 com_err(whoami, code, "can't get Kerberos TGT");
71 code += ERROR_TABLE_BASE_krb;
72 com_err(whoami, code, "in krb_mk_req");
74 code = krb_get_cred(service, phost, realm, &cr);
75 if (code) code += ERROR_TABLE_BASE_krb;
76 memcpy(session, cr.session, sizeof(session));
85 char linst[INST_SZ], kinst[INST_SZ];
89 strcpy(kinst, "krbtgt");
90 code = krb_get_svc_in_tkt(master, linst, realm, kinst, realm,
91 DEFAULT_TKT_LIFE, srvtab);
95 return(code + ERROR_TABLE_BASE_krb);