47 lines
937 B
Text
47 lines
937 B
Text
$NetBSD: patch-bc,v 1.2 2005/12/30 16:05:55 joerg Exp $
|
|
|
|
--- connsh.c.orig 1998-09-21 16:50:12.000000000 +0000
|
|
+++ connsh.c
|
|
@@ -21,6 +21,10 @@ extern struct passwd *getpwent(), *getpw
|
|
#define vfork fork
|
|
#endif
|
|
|
|
+#ifdef USE_SERVER
|
|
+extern int skkservsock;
|
|
+#endif
|
|
+
|
|
#define DEVICELEN 16
|
|
#define DEFAULT_SHELL "/bin/csh"
|
|
|
|
@@ -94,8 +98,6 @@ int ShellPID;
|
|
|
|
char SlaveName[DEVICELEN];
|
|
|
|
-extern int errno;
|
|
-
|
|
#ifdef NO_SETEUID
|
|
# ifdef HAVE_SETREUID
|
|
# define seteuid(e) setreuid(-1, (e))
|
|
@@ -171,8 +173,9 @@ establishShell()
|
|
#endif /* not HPUX */
|
|
|
|
if((i = vfork()) < 0) {
|
|
- fprintf(stderr,"fork error\n");
|
|
- abort();
|
|
+ perror("fork");
|
|
+ reset_tty();
|
|
+ Exit(1);
|
|
}
|
|
|
|
if(i == 0) { /* child */
|
|
@@ -226,6 +229,10 @@ establishShell()
|
|
dup2(slave,1);
|
|
dup2(slave,2);
|
|
close(slave);
|
|
+#ifdef USE_SERVER
|
|
+ if (skkservsock >= 0)
|
|
+ close(skkservsock);
|
|
+#endif
|
|
|
|
seteuid(getuid());
|
|
p = &ShellName[strlen(ShellName)];
|