version 1.10, 1996/10/21 18:55:56 |
version 1.11, 1996/10/21 19:26:24 |
|
|
err(1, "can't allocate memory"); |
err(1, "can't allocate memory"); |
if (asme) |
if (asme) |
if (pwd->pw_shell && *pwd->pw_shell) { |
if (pwd->pw_shell && *pwd->pw_shell) { |
shell = strncpy(shellbuf, pwd->pw_shell, sizeof(shellbuf)); |
shell = strncpy(shellbuf, pwd->pw_shell, sizeof(shellbuf) - 1); |
shellbuf[sizeof(shellbuf) - 1] = '\0'; |
shellbuf[sizeof(shellbuf) - 1] = '\0'; |
} else { |
} else { |
shell = _PATH_BSHELL; |
shell = _PATH_BSHELL; |
|
|
|
|
if (asthem) { |
if (asthem) { |
avshellbuf[0] = '-'; |
avshellbuf[0] = '-'; |
strncpy(avshellbuf+1, avshell, sizeof(avshellbuf) - 1); |
strncpy(avshellbuf+1, avshell, sizeof(avshellbuf) - 2); |
avshellbuf[sizeof(avshellbuf) - 1] = '\0'; |
avshellbuf[sizeof(avshellbuf) - 1] = '\0'; |
avshell = avshellbuf; |
avshell = avshellbuf; |
} else if (iscsh == YES) { |
} else if (iscsh == YES) { |
/* csh strips the first character... */ |
/* csh strips the first character... */ |
avshellbuf[0] = '_'; |
avshellbuf[0] = '_'; |
strncpy(avshellbuf+1, avshell, sizeof(avshellbuf) - 1); |
strncpy(avshellbuf+1, avshell, sizeof(avshellbuf) - 2); |
avshellbuf[sizeof(avshellbuf) - 1] = '\0'; |
avshellbuf[sizeof(avshellbuf) - 1] = '\0'; |
avshell = avshellbuf; |
avshell = avshellbuf; |
} |
} |
|
|
return (1); |
return (1); |
} |
} |
|
|
(void)strncpy(savehost, krb_get_phost(hostname), sizeof(savehost)); |
(void)strncpy(savehost, krb_get_phost(hostname), sizeof(savehost) - 1); |
savehost[sizeof(savehost) - 1] = '\0'; |
savehost[sizeof(savehost) - 1] = '\0'; |
|
|
kerno = krb_mk_req(&ticket, "rcmd", savehost, lrealm, 33); |
kerno = krb_mk_req(&ticket, "rcmd", savehost, lrealm, 33); |
|
|
memset((void *)kdata_st, 0, sizeof(*kdata_st)); |
memset((void *)kdata_st, 0, sizeof(*kdata_st)); |
kdata = &kdata_st; |
kdata = &kdata_st; |
|
|
(void)strncpy(kdata->pname, name, sizeof(kdata->pname)); |
(void)strncpy(kdata->pname, name, sizeof(kdata->pname) - 1); |
kdata->pname[sizeof(kdata->pname) - 1] = '\0'; |
kdata->pname[sizeof(kdata->pname) - 1] = '\0'; |
|
|
(void)strncpy(kdata->pinst, |
(void)strncpy(kdata->pinst, |
((strcmp(toname, "root") == 0) ? "root" : ""), sizeof(kdata->pinst)); |
((strcmp(toname, "root") == 0) ? "root" : ""), sizeof(kdata->pinst) - 1); |
kdata->pinst[sizeof(kdata->pinst) -1] '\0'; |
kdata->pinst[sizeof(kdata->pinst) -1] '\0'; |
|
|
(void)strncpy(kdata->prealm, realm, sizeof(kdata->prealm)); |
(void)strncpy(kdata->prealm, realm, sizeof(kdata->prealm) - 1); |
kdata->prealm[sizeof(kdata->prealm) -1] = '\0'; |
kdata->prealm[sizeof(kdata->prealm) -1] = '\0'; |
|
|
return (kuserok(kdata, toname)); |
return (kuserok(kdata, toname)); |