diff options
Diffstat (limited to 'src/appl/bsd')
-rw-r--r-- | src/appl/bsd/ChangeLog | 27 | ||||
-rw-r--r-- | src/appl/bsd/kcmd.c | 4 | ||||
-rw-r--r-- | src/appl/bsd/login.M | 2 | ||||
-rw-r--r-- | src/appl/bsd/login.c | 5 | ||||
-rw-r--r-- | src/appl/bsd/loginpaths.h | 10 | ||||
-rw-r--r-- | src/appl/bsd/v4rcp.c | 3 |
6 files changed, 45 insertions, 6 deletions
diff --git a/src/appl/bsd/ChangeLog b/src/appl/bsd/ChangeLog index f9aa5ad882..a0f9faf19c 100644 --- a/src/appl/bsd/ChangeLog +++ b/src/appl/bsd/ChangeLog @@ -1,3 +1,30 @@ +Fri Dec 6 00:53:08 1996 Theodore Y. Ts'o <tytso@mit.edu> + + * v4rcp.c: Extend the platform-specific braindamage so that + FreeBSD works. This whole file is eventually going to + need serious rototilling to make it even vaguely correct. + [PR #284] + +Fri Dec 6 00:02:25 1996 Tom Yu <tlyu@mit.edu> + + * loginpaths.h: Add catch-all entries for LPATH and RPATH in case + we run across something that we haven't hardcoded paths for + yet. [267] + +Thu Dec 5 21:58:28 1996 Tom Yu <tlyu@mit.edu> + + * login.M: v5srvtab -> krb5.keytab [279] + +Sun Nov 24 23:35:22 1996 Ezra Peisach <epeisach@mit.edu> + + * login.c (try_afscall): Change to take pointer to function + instead of only calling setpag(). [krb5-appl/190] + +Fri Nov 22 15:46:46 1996 unknown <bjaspan@mit.edu> + + * kcmd.c (kcmd): use sizeof instead of h_length to determine + number of bytes of addr to copy from DNS response [krb5-misc/211] + Thu Nov 14 14:30:28 1996 Barry Jaspan <bjaspan@mit.edu> * krcp.c: don't print our own error message if kcmd returns -1 (it diff --git a/src/appl/bsd/kcmd.c b/src/appl/bsd/kcmd.c index 4b66c37953..6f4583596d 100644 --- a/src/appl/bsd/kcmd.c +++ b/src/appl/bsd/kcmd.c @@ -180,7 +180,7 @@ kcmd(sock, ahost, rport, locuser, remuser, cmd, fd2p, service, realm, return (-1); } sin.sin_family = hp->h_addrtype; - memcpy((caddr_t)&sin.sin_addr,hp->h_addr, hp->h_length); + memcpy((caddr_t)&sin.sin_addr,hp->h_addr, sizeof(sin.sin_addr)); sin.sin_port = rport; if (connect(s, (struct sockaddr *)&sin, sizeof (sin)) >= 0) break; @@ -200,7 +200,7 @@ kcmd(sock, ahost, rport, locuser, remuser, cmd, fd2p, service, realm, perror(0); hp->h_addr_list++; memcpy((caddr_t)&sin.sin_addr,hp->h_addr_list[0], - hp->h_length); + sizeof(sin.sin_addr)); fprintf(stderr, "Trying %s...\n", inet_ntoa(sin.sin_addr)); continue; diff --git a/src/appl/bsd/login.M b/src/appl/bsd/login.M index 0603d16bd2..f48fd0c40b 100644 --- a/src/appl/bsd/login.M +++ b/src/appl/bsd/login.M @@ -25,7 +25,7 @@ possible.) It will also attempt to run .I aklog to get \fIAFS\fP tokens for the user. The version 5 tickets will be tested against a local -.I v5srvtab +.I krb5.keytab if it is available, in order to verify the tickets, before letting the user in. However, if the password matches the entry in \fI/etc/passwd\fP the user will be unconditionally allowed (permitting diff --git a/src/appl/bsd/login.c b/src/appl/bsd/login.c index 7542a23a89..04045490d1 100644 --- a/src/appl/bsd/login.c +++ b/src/appl/bsd/login.c @@ -1023,7 +1023,8 @@ static sigtype sigsys () siglongjmp(setpag_buf, 1); } -static int try_afscall () +static int try_afscall (scall) + int (*scall)(); { handler sa, osa; volatile int retval = 0; @@ -1032,7 +1033,7 @@ static int try_afscall () handler_init (sa, sigsys); handler_swap (SIGSYS, sa, osa); if (sigsetjmp(setpag_buf, 1) == 0) { - setpag (); + (*scall)(); retval = 1; } handler_set (SIGSYS, osa); diff --git a/src/appl/bsd/loginpaths.h b/src/appl/bsd/loginpaths.h index 2f2de0bb81..99d28b091a 100644 --- a/src/appl/bsd/loginpaths.h +++ b/src/appl/bsd/loginpaths.h @@ -94,3 +94,13 @@ #define RPATH "/usr/bin:/bin" #endif #endif + +/* catch-all entries for operating systems we haven't looked up + hardcoded paths for */ +#ifndef LPATH +#define LPATH "/usr/bin:/bin" +#endif + +#ifndef RPATH +#define RPATH "/usr/bin:/bin" +#endif diff --git a/src/appl/bsd/v4rcp.c b/src/appl/bsd/v4rcp.c index 0a1ad33a0e..56db95c8d4 100644 --- a/src/appl/bsd/v4rcp.c +++ b/src/appl/bsd/v4rcp.c @@ -310,7 +310,8 @@ void lostconn(); int lostconn(); #endif int errno; -#ifndef __NetBSD__ +/* Kludge!!!! */ +#if (!defined(__NetBSD__) && !defined(__FreeBSD__)) extern char *sys_errlist[]; #endif int iamremote, targetshouldbedirectory; |