summaryrefslogtreecommitdiffstats
path: root/src/appl/bsd
diff options
context:
space:
mode:
Diffstat (limited to 'src/appl/bsd')
-rw-r--r--src/appl/bsd/ChangeLog27
-rw-r--r--src/appl/bsd/kcmd.c4
-rw-r--r--src/appl/bsd/login.M2
-rw-r--r--src/appl/bsd/login.c5
-rw-r--r--src/appl/bsd/loginpaths.h10
-rw-r--r--src/appl/bsd/v4rcp.c3
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;