diff options
Diffstat (limited to 'security/sudosh')
-rw-r--r-- | security/sudosh/Makefile | 1 | ||||
-rw-r--r-- | security/sudosh/files/patch-src::sudosh.c | 42 |
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) + { |