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;
39 if (krb_get_lrealm(realm, 1))
40 strcpy(realm, KRB_REALM);
41 initialize_krb_error_table();
47 int get_mr_update_ticket(char *host, KTEXT ticket)
56 strcpy(phost, (char *)krb_get_phost(host));
58 code = krb_mk_req(ticket, service, phost, realm, (long)0);
63 /* maybe we're taking too long? */
64 if ((code = get_mr_tgt()))
66 com_err(whoami, code, "can't get Kerberos TGT");
72 code += ERROR_TABLE_BASE_krb;
73 com_err(whoami, code, "in krb_mk_req");
77 code = krb_get_cred(service, phost, realm, &cr);
79 code += ERROR_TABLE_BASE_krb;
80 memcpy(session, cr.session, sizeof(session));
88 char linst[INST_SZ], kinst[INST_SZ];
92 strcpy(kinst, "krbtgt");
93 code = krb_get_svc_in_tkt(master, linst, realm, kinst, realm,
94 DEFAULT_TKT_LIFE, srvtab);
98 return code + ERROR_TABLE_BASE_krb;