From owner-freebsd-ports Fri May 7 5:10:12 1999 Delivered-To: freebsd-ports@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 4EC1C14E92 for ; Fri, 7 May 1999 05:10:02 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id FAA50972; Fri, 7 May 1999 05:10:02 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from dipshit.dis.org (dipshit-inside.dis.org [209.157.93.10]) by hub.freebsd.org (Postfix) with ESMTP id D2C1314FDD for ; Fri, 7 May 1999 05:00:04 -0700 (PDT) (envelope-from shipley@dipshit.dis.org) Received: (from shipley@localhost) by dipshit.dis.org (8.9.2/8.9.1) id EAA04935; Fri, 7 May 1999 04:59:59 -0700 (PDT) (envelope-from shipley) Message-Id: <199905071159.EAA04935@dipshit.dis.org> Date: Fri, 7 May 1999 04:59:59 -0700 (PDT) From: shipley@dis.org Reply-To: shipley@dis.org To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: ports/11557: slush - SSL remote shell Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 11557 >Category: ports >Synopsis: port of slush 0.1.0 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri May 7 05:10:01 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Peter Shipley >Release: FreeBSD 3.1-RELEASE i386 >Organization: Dis.Org >Environment: FreeBSD :-) >Description: slush SSL remote shell slush is a simple telnet-like application which communicates over a secure SSL channel. It uses X509 certificates for authentication and can be compiled with tcp wrappers support (service name "slushd"). slush is *alpha* software. Use it at your own risk. >How-To-Repeat: NA >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # slush # slush/CVS # slush/CVS/Root # slush/CVS/Repository # slush/CVS/Entries # slush/files # slush/files/CVS # slush/files/CVS/Root # slush/files/CVS/Repository # slush/files/CVS/Entries # slush/files/md5 # slush/pkg # slush/pkg/CVS # slush/pkg/CVS/Root # slush/pkg/CVS/Repository # slush/pkg/CVS/Entries # slush/pkg/COMMENT # slush/pkg/DESCR # slush/pkg/PLIST # slush/Makefile # slush/patches # slush/patches/patch-aa # slush/patches/patch-ab # slush/patches/patch-ac # echo c - slush mkdir -p slush > /dev/null 2>&1 echo c - slush/CVS mkdir -p slush/CVS > /dev/null 2>&1 echo x - slush/CVS/Root sed 's/^X//' >slush/CVS/Root << 'END-of-slush/CVS/Root' X/home/ncvs END-of-slush/CVS/Root echo x - slush/CVS/Repository sed 's/^X//' >slush/CVS/Repository << 'END-of-slush/CVS/Repository' X/home/ncvs/ports/net/libnet END-of-slush/CVS/Repository echo x - slush/CVS/Entries sed 's/^X//' >slush/CVS/Entries << 'END-of-slush/CVS/Entries' X/Makefile/1.4/Sat Oct 10 03:23:40 1998// XD/files//// XD/patches//// XD/pkg//// END-of-slush/CVS/Entries echo c - slush/files mkdir -p slush/files > /dev/null 2>&1 echo c - slush/files/CVS mkdir -p slush/files/CVS > /dev/null 2>&1 echo x - slush/files/CVS/Root sed 's/^X//' >slush/files/CVS/Root << 'END-of-slush/files/CVS/Root' X/home/ncvs END-of-slush/files/CVS/Root echo x - slush/files/CVS/Repository sed 's/^X//' >slush/files/CVS/Repository << 'END-of-slush/files/CVS/Repository' X/home/ncvs/ports/net/libnet/files END-of-slush/files/CVS/Repository echo x - slush/files/CVS/Entries sed 's/^X//' >slush/files/CVS/Entries << 'END-of-slush/files/CVS/Entries' X/md5/1.1.1.1/Fri Feb 7 23:54:06 1997// XD END-of-slush/files/CVS/Entries echo x - slush/files/md5 sed 's/^X//' >slush/files/md5 << 'END-of-slush/files/md5' XMD5 (slush-0_1_0_tar.gz) = a2a83e760632e2a0c12a7fdb29603ec3 END-of-slush/files/md5 echo c - slush/pkg mkdir -p slush/pkg > /dev/null 2>&1 echo c - slush/pkg/CVS mkdir -p slush/pkg/CVS > /dev/null 2>&1 echo x - slush/pkg/CVS/Root sed 's/^X//' >slush/pkg/CVS/Root << 'END-of-slush/pkg/CVS/Root' X/home/ncvs END-of-slush/pkg/CVS/Root echo x - slush/pkg/CVS/Repository sed 's/^X//' >slush/pkg/CVS/Repository << 'END-of-slush/pkg/CVS/Repository' X/home/ncvs/ports/net/libsocket++/pkg END-of-slush/pkg/CVS/Repository echo x - slush/pkg/CVS/Entries sed 's/^X//' >slush/pkg/CVS/Entries << 'END-of-slush/pkg/CVS/Entries' X/COMMENT/1.1.1.1/Fri Feb 7 23:54:07 1997// X/DESCR/1.1.1.1/Fri Feb 7 23:54:07 1997// X/PLIST/1.3/Sat Oct 10 03:23:44 1998// XD END-of-slush/pkg/CVS/Entries echo x - slush/pkg/COMMENT sed 's/^X//' >slush/pkg/COMMENT << 'END-of-slush/pkg/COMMENT' Xslush is a telnet-like application which uses a secure SSL channel END-of-slush/pkg/COMMENT echo x - slush/pkg/DESCR sed 's/^X//' >slush/pkg/DESCR << 'END-of-slush/pkg/DESCR' Xslush SSL remote shell X Xslush is a simple telnet-like application which communicates over a Xsecure SSL channel. It uses X509 certificates for authentication and Xcan be compiled with tcp wrappers support (service name "slushd"). X Xslush is *alpha* software. Use it at your own risk. END-of-slush/pkg/DESCR echo x - slush/pkg/PLIST sed 's/^X//' >slush/pkg/PLIST << 'END-of-slush/pkg/PLIST' Xshare/doc/slush/control.txt Xshare/doc/slush/INSTALL Xshare/doc/slush/HISTORY Xshare/doc/slush/README Xshare/doc/slush/COPYING Xbin/slush Xsbin/slushd X X@dirrm share/doc/slush X END-of-slush/pkg/PLIST echo x - slush/Makefile sed 's/^X//' >slush/Makefile << 'END-of-slush/Makefile' X# Ports collection makefile for: slush X# Version required: 0.1.0 X# Date created: Sun May 3, 1999 X# Whom: shipley@dis.org X# X# $Id$ X# X#DISTDIR= /var/tmp/ # for debuging X XDISTNAME= slush-0_1_0_tar XPKGNAME= slush-0.1.0 XCATEGORIES= net security XMASTER_SITES= ftp://www.dis.org/pub/Security/ XEXTRACT_SUFX= .gz X XMAINTAINER= shipley@dis.org X XBUILD_DEPENDS= ssleay:${PORTSDIR}/security/openssl X X#MAN= slush.1 X XGNU_CONFIGURE= yes X X#NOPROFILE= true X XOSVERSION!= sysctl -n kern.osreldate X.if ${OSVERSION} <= 300000 XBROKEN= does not build X.endif X XWRKSRC= ${WRKDIR}/slush-0.1.0 X Xdo-install: X.if !defined(NOPORTDOCS) X @${MKDIR} ${PREFIX}/share/doc/slush X ${INSTALL_MAN} ${WRKSRC}/control.txt ${PREFIX}/share/doc/slush X ${INSTALL_MAN} ${WRKSRC}/INSTALL ${PREFIX}/share/doc/slush X ${INSTALL_MAN} ${WRKSRC}/HISTORY ${PREFIX}/share/doc/slush X ${INSTALL_MAN} ${WRKSRC}/README ${PREFIX}/share/doc/slush X ${INSTALL_MAN} ${WRKSRC}/COPYING ${PREFIX}/share/doc/slush X.endif X X ${INSTALL_PROGRAM} ${WRKSRC}/slush ${PREFIX}/bin/slush X ${INSTALL_PROGRAM} ${WRKSRC}/slushd ${PREFIX}/sbin/slushd X X.include END-of-slush/Makefile echo c - slush/patches mkdir -p slush/patches > /dev/null 2>&1 echo x - slush/patches/patch-aa sed 's/^X//' >slush/patches/patch-aa << 'END-of-slush/patches/patch-aa' X*** Makefile.in- Fri May 7 02:00:37 1999 X--- Makefile.in Fri May 7 02:01:05 1999 X*************** X*** 9,16 **** X X CC=@CC@ X INSTALL=@INSTALL@ X! CFLAGS=@CFLAGS@ -Wall -DVERSION=\"$(VERSION)\" -I/usr/local/ssl/include -I/usr/include/ssl X! LIBS=@LIBS@ -L/usr/local/ssl/lib -lssl -lcrypto X X all: slush slushd X X--- 9,16 ---- X X CC=@CC@ X INSTALL=@INSTALL@ X! CFLAGS=@CFLAGS@ -Wall -DVERSION=\"$(VERSION)\" -I/usr/local/include X! LIBS=@LIBS@ -L/usr/local/lib -lssl -lcrypto -lRSAglue -lrsaref -lutil X X all: slush slushd X END-of-slush/patches/patch-aa echo x - slush/patches/patch-ab sed 's/^X//' >slush/patches/patch-ab << 'END-of-slush/patches/patch-ab' X*** slush.c- Fri May 7 03:31:04 1999 X--- slush.c Fri May 7 03:31:14 1999 X*************** X*** 34,40 **** X #include X #include X #include X! #include X #include X #include X #include X--- 34,40 ---- X #include X #include X #include X! /* #include */ X #include X #include X #include END-of-slush/patches/patch-ab echo x - slush/patches/patch-ac sed 's/^X//' >slush/patches/patch-ac << 'END-of-slush/patches/patch-ac' X*** slushd.c- Fri May 7 04:04:35 1999 X--- slushd.c Fri May 7 04:06:11 1999 X*************** X*** 40,46 **** X #include X #include X #include X! #include X #include X #include X #include X--- 40,46 ---- X #include X #include X #include X! #include X #include X #include X #include X*************** X*** 51,56 **** X--- 51,57 ---- X #include X #include X #include X+ X #ifdef HAVE_UNISTD_H X #include /* fork, execvp, exit */ X #endif X*************** X*** 199,205 **** X if (!hosts_access(&request)) X { X syslog(LOG_ERR, "Connection refused from %s:%d", X! inet_ntoa(addr.sin_addr), ntohs(addr.sin_port)); X exit(2); X } X #endif X--- 200,206 ---- X if (!hosts_access(&request)) X { X syslog(LOG_ERR, "Connection refused from %s:%d", X! inen_ntoa(addr.sin_addr), ntohs(addr.sin_port)); X exit(2); X } X #endif X*************** X*** 654,711 **** X void log_uwtmp(struct passwd *pw, struct in_addr *i, char *tty, int is_logout) X { X struct utmp ut; X- int wtmp; X- int lock; X X tty = strrchr(tty, '/'); X if (tty == NULL) X { X syslog(LOG_ERR, "Can't determine basename of tty"); X! exit(3); X } X tty++; X X- utmpname(_PATH_UTMP); X- setutent(); X- memset(&ut, 0, sizeof(ut)); X X! if (ut.ut_id[0] == 0) X! strncpy(ut.ut_id, tty + 3, sizeof(ut.ut_id)); X X- if (!is_logout) X- strncpy(ut.ut_user, pw->pw_name, sizeof(ut.ut_user)); X- X strncpy(ut.ut_line, tty, sizeof(ut.ut_line) - 1); X! ut.ut_line[sizeof(ut.ut_line) - 1] = 0; X! X! ut.ut_time = time(NULL); X! ut.ut_type = is_logout?DEAD_PROCESS:USER_PROCESS; X! ut.ut_pid = getpid(); X X- strncpy(ut.ut_host, hostname, sizeof(ut.ut_host) - 1); X- ut.ut_host[sizeof(ut.ut_host) - 1] = 0; X X! memcpy(&ut.ut_addr, i, sizeof(ut.ut_addr)); X! X! pututline(&ut); X! endutent(); X! X! lock = open(_PATH_WTMPLOCK, O_CREAT|O_WRONLY, 0660); X! if (lock == -1) X! ioerror("open"); X! X! if (flock(lock, LOCK_EX) == -1) X! ioerror("flock"); X! X! wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY); X! if (wtmp == -1) X! ioerror("open"); X! X! write(wtmp, (char *)&ut, sizeof(ut)); X! close(wtmp); X! X! flock(lock, LOCK_UN); X! close(lock); X } X X /* Retrieve client X509 certificate and test authentication */ X--- 655,684 ---- X void log_uwtmp(struct passwd *pw, struct in_addr *i, char *tty, int is_logout) X { X struct utmp ut; X X tty = strrchr(tty, '/'); X if (tty == NULL) X { X syslog(LOG_ERR, "Can't determine basename of tty"); X! return; X } X tty++; X+ X X X! if(is_logout) { X! logout(tty); X! return; X! } X X strncpy(ut.ut_line, tty, sizeof(ut.ut_line) - 1); X! strncpy(ut.ut_name, pw->pw_name, sizeof(ut.ut_name)-1); X! strncpy(ut.ut_host, inet_ntoa(*i), sizeof(ut.ut_host) - 1); X! ut.ut_time = time(0); X! login(&ut); X X X! return; X } X X /* Retrieve client X509 certificate and test authentication */ END-of-slush/patches/patch-ac exit >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message