diff options
Diffstat (limited to 'security/sudosh2')
-rw-r--r-- | security/sudosh2/Makefile | 10 | ||||
-rw-r--r-- | security/sudosh2/distinfo | 6 | ||||
-rw-r--r-- | security/sudosh2/files/patch-src-parse.c | 12 | ||||
-rw-r--r-- | security/sudosh2/files/patch-src::sudosh.c | 129 |
4 files changed, 9 insertions, 148 deletions
diff --git a/security/sudosh2/Makefile b/security/sudosh2/Makefile index e63bfdd9f01e..9d6e0ee7cbf8 100644 --- a/security/sudosh2/Makefile +++ b/security/sudosh2/Makefile @@ -5,17 +5,19 @@ # $FreeBSD$ # -PORTNAME= sudosh -PORTVERSION= 1.8.2 -PORTREVISION= 5 +PORTNAME= sudosh2 +PORTVERSION= 1.0.2 CATEGORIES= security MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED} MASTER_SITE_SUBDIR= ${PORTNAME:S/_/-/} DISTNAME= ${PORTNAME}-${PORTVERSION} +EXTRACT_SUFX= .tbz2 MAINTAINER= cy@FreeBSD.org -COMMENT= A sudo shell +COMMENT= Second version of the sudo shell +CONFLICTS= sudosh-* +USE_BZIP2= yes RUN_DEPENDS= sudo:${PORTSDIR}/security/sudo GNU_CONFIGURE= yes diff --git a/security/sudosh2/distinfo b/security/sudosh2/distinfo index b06d0cbec022..06d0138b2b69 100644 --- a/security/sudosh2/distinfo +++ b/security/sudosh2/distinfo @@ -1,3 +1,3 @@ -MD5 (sudosh-1.8.2.tar.gz) = 7121efdac817e4a27111869f27fabea0 -SHA256 (sudosh-1.8.2.tar.gz) = 0a536d970accf1d4366bcb49441ef6773711df7d48501f72ca6cc451ca3e87fd -SIZE (sudosh-1.8.2.tar.gz) = 135757 +MD5 (sudosh2-1.0.2.tbz2) = 594525a29be7fd328b80f3291eac4aca +SHA256 (sudosh2-1.0.2.tbz2) = 70298502c3f1998118d90b2b5298a6ca2595ebca3e695e7871f68d792d2b3299 +SIZE (sudosh2-1.0.2.tbz2) = 167113 diff --git a/security/sudosh2/files/patch-src-parse.c b/security/sudosh2/files/patch-src-parse.c deleted file mode 100644 index 646cb65d3235..000000000000 --- a/security/sudosh2/files/patch-src-parse.c +++ /dev/null @@ -1,12 +0,0 @@ ---- src/parse.c.orig Sun Jun 12 16:22:42 2005 -+++ src/parse.c Fri Jan 5 17:54:55 2007 -@@ -19,7 +19,8 @@ - void parse(option * o, const char *file) - { - FILE *f = fopen(file, "r"); -- unsigned int line_number, i; -+ unsigned int line_number; -+ int i; - char line[BUFSIZ]; - char *arg, *cmt, *opt; - config *scan; diff --git a/security/sudosh2/files/patch-src::sudosh.c b/security/sudosh2/files/patch-src::sudosh.c deleted file mode 100644 index 0c79a345cfc4..000000000000 --- a/security/sudosh2/files/patch-src::sudosh.c +++ /dev/null @@ -1,129 +0,0 @@ ---- src/sudosh.c.orig Sun Jun 12 19:35:07 2005 -+++ src/sudosh.c Fri Jan 5 14:14:05 2007 -@@ -28,6 +28,13 @@ - - #define WRITE(a, b, c) do_write(a, b, c, __FILE__, __LINE__) - -+#ifdef __FreeBSD__ -+#include <sys/types.h> -+#include <sys/ioctl.h> -+#include <libutil.h> -+#include <sys/param.h> -+#endif -+ - static struct termios termorig; - static struct winsize winorig; - -@@ -545,19 +552,43 @@ - { - char *sname; - -+#ifdef __FreeBSD__ -+#define PTYLEN 16 -+ char sname_area[PTYLEN]; -+ struct termios tt; -+ struct winsize win; -+ -+ sname = sname_area; -+ if (tcgetattr(STDIN_FILENO, &tt) == -1) -+ { -+ perror ("tcgetattr"); -+ return -1; -+ } -+ if (ioctl(STDIN_FILENO, TIOCGWINSZ, &win) == -1) -+ { -+ perror ("ioctl"); -+ return -1; -+ } -+ if (openpty(&p->mfd, &p->sfd, sname, &tt, &win) == -1) { -+#else - if ((p->mfd = open ("/dev/ptmx", O_RDWR)) == -1) - { - if ((p->mfd = open ("/dev/ptc", O_RDWR)) == -1) - { -+#endif - perror ("Cannot open cloning master pty"); - return -1; -+#ifndef __FreeBSD__ - } -+#endif - } - -+#if !defined(__FreeBSD_version) || (defined(__FreeBSD_version) && __FreeBSD_version >= 500000) - (void) unlockpt (p->mfd); - (void) grantpt (p->mfd); - - sname = (char *) ptsname (p->mfd); -+#endif - - if ((p->sfd = open (sname, O_RDWR)) == -1) - { -@@ -619,9 +650,14 @@ - for (i = 3; i < 100; ++i) - close (i); - -+#ifdef __FreeBSD__ -+ (void) tcsetattr(0, TCSADRAIN, &termorig); -+ (void) login_tty(pst->sfd); -+#else - #ifdef TCSETS - (void) ioctl (0, TCSETS, &termorig); - #endif -+#endif - (void) ioctl (0, TIOCSWINSZ, &winorig); - - setuid (getuid ()); -@@ -663,6 +699,13 @@ - { - static struct termios termnew; - -+#ifdef __FreeBSD__ -+ if (tcgetattr(ttyfd, &termorig) == -1) -+ { -+ perror ("tcgetattr failed"); -+ exit (EXIT_FAILURE); -+ } -+#else - #ifdef TCGETS - if (ioctl (ttyfd, TCGETS, &termorig) == -1) - { -@@ -670,6 +713,7 @@ - exit (EXIT_FAILURE); - } - #endif -+#endif - - if (ioctl (ttyfd, TIOCGWINSZ, &winorig) == -1) - { -@@ -677,6 +721,11 @@ - exit (EXIT_FAILURE); - } - -+#ifdef __FreeBSD__ -+ (void) cfmakeraw(&termnew); -+ termnew.c_lflag &= ~ECHO; -+ (void) tcsetattr(ttyfd, TCSAFLUSH, &termnew); -+#else - termnew.c_cc[VEOF] = 1; - termnew.c_iflag = BRKINT | ISTRIP | IXON | IXANY; - termnew.c_oflag = 0; -@@ -686,13 +735,19 @@ - #ifdef TCSETS - (void) ioctl (ttyfd, TCSETS, &termnew); - #endif -+#endif - } - - static void - bye (int signum) - { -+ -+#ifdef __FreeBSD__ -+ (void) tcsetattr(0, TCSADRAIN, &termorig); -+#else - #ifdef TCSETS - (void) ioctl (0, TCSETS, &termorig); -+#endif - #endif - - close (timing.fd); |