summaryrefslogtreecommitdiffstats
path: root/security/sudosh
diff options
context:
space:
mode:
Diffstat (limited to 'security/sudosh')
-rw-r--r--security/sudosh/Makefile1
-rw-r--r--security/sudosh/files/patch-src::sudosh.c42
2 files changed, 43 insertions, 0 deletions
diff --git a/security/sudosh/Makefile b/security/sudosh/Makefile
index 6749604..cd58476 100644
--- a/security/sudosh/Makefile
+++ b/security/sudosh/Makefile
@@ -7,6 +7,7 @@
PORTNAME= sudosh
PORTVERSION= 1.4.1
+PORTREVISION= 1
CATEGORIES= security
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME:S/_/-/}
diff --git a/security/sudosh/files/patch-src::sudosh.c b/security/sudosh/files/patch-src::sudosh.c
new file mode 100644
index 0000000..9f7d3a9
--- /dev/null
+++ b/security/sudosh/files/patch-src::sudosh.c
@@ -0,0 +1,42 @@
+--- src/sudosh.c.orig Tue Oct 26 18:01:24 2004
++++ src/sudosh.c Thu Oct 28 15:18:50 2004
+@@ -75,6 +75,12 @@
+ #define SIGCHLD SIGCLD
+ #endif
+
++#ifdef __FreeBSD__
++#include <sys/types.h>
++#include <sys/ioctl.h>
++#include <libutil.h>
++#endif
++
+ static struct termios termorig;
+ static struct winsize winorig;
+
+@@ -377,15 +383,24 @@
+ {
+ if ((p->mfd = open ("/dev/ptc", O_RDWR)) == -1)
+ {
+- perror ("Cannot open cloning master pty");
+- return -1;
++#ifdef __FreeBSD__
++ if (openpty(&p->mfd, &p->sfd, sname, NULL, NULL) == -1)
++ {
++#endif
++ perror ("Cannot open cloning master pty");
++ return -1;
++#ifdef __FreeBSD__
++ }
++#endif
+ }
+ }
+
+ (void) unlockpt (p->mfd);
+ (void) grantpt (p->mfd);
+
++#ifndef __FreeBSD__
+ sname = (char *) ptsname (p->mfd);
++#endif
+
+ if ((p->sfd = open (sname, O_RDWR)) == -1)
+ {
OpenPOWER on IntegriCloud