rsalz@uunet.uu.net (Rich Salz) (03/23/91)
Submitted-by: sudji@indo.intel.com (Sudji Husodo) Posting-number: Volume 24, Issue 81 Archive-name: sysVr4386slip/part04 #! /bin/sh # This is a shell archive. Remove anything before this line, then feed it # into a shell via "sh file" or similar. To overwrite existing files, # type "sh file -c". # The tool that generated this appeared in the comp.sources.unix newsgroup; # send mail to comp-sources-unix@uunet.uu.net if you want that tool. # Contents: Makefile dialslip/Makefile dialslip/README.dialslip # dialslip/dslipuser.c dialslip/slip.config dialslip/slip.hosts # driver/ID/Node driver/ID/System driver/io/slip.mk # driver/sys/slip.h man/man1/slhangupd.1 utils/Makefile # utils/sldetach # Wrapped by rsalz@litchi.bbn.com on Fri Mar 22 11:57:14 1991 PATH=/bin:/usr/bin:/usr/ucb ; export PATH echo If this archive is complete, you will see the following message: echo ' "shar: End of archive 4 (of 4)."' if test -f 'Makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Makefile'\" else echo shar: Extracting \"'Makefile'\" \(239 characters\) sed "s/^X//" >'Makefile' <<'END_OF_FILE' X# X# Makefile file for SLIP X# X Xall: X cd driver/io; make -f slip.mk all install X cd utils; make all install X cd dialslip; make all install X Xclean: X cd driver/io; make -f slip.mk clean X cd utils; make clean X cd dialslip; make clean END_OF_FILE if test 239 -ne `wc -c <'Makefile'`; then echo shar: \"'Makefile'\" unpacked with wrong size! fi # end of 'Makefile' fi if test -f 'dialslip/Makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'dialslip/Makefile'\" else echo shar: Extracting \"'dialslip/Makefile'\" \(460 characters\) sed "s/^X//" >'dialslip/Makefile' <<'END_OF_FILE' XCC = cc XCFLAGS = -O -DUSG -I/usr/ucbinclude XLDFLAGS = XLIBS = -L/usr/ucblib -lsocket -lnsl -lucb X Xall: dslipuser mkslipuser slip X Xdslipuser: dslipuser.o X $(CC) $(LDFLAGS) -o dslipuser dslipuser.o $(LIBS) X Xmkslipuser: mkslipuser.o X $(CC) $(LDFLAGS) -o mkslipuser mkslipuser.o $(LIBS) X Xslip: slip.o X $(CC) $(LDFLAGS) -o slip slip.o $(LIBS) X Xclean: X rm -f *.o mkslipuser dslipuser slip X Xinstall: X cp dslipuser mkslipuser slip /usr/sbin X chmod 4755 /usr/sbin/slip END_OF_FILE if test 460 -ne `wc -c <'dialslip/Makefile'`; then echo shar: \"'dialslip/Makefile'\" unpacked with wrong size! fi # end of 'dialslip/Makefile' fi if test -f 'dialslip/README.dialslip' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'dialslip/README.dialslip'\" else echo shar: Extracting \"'dialslip/README.dialslip'\" \(653 characters\) sed "s/^X//" >'dialslip/README.dialslip' <<'END_OF_FILE' X Xsrc/new/slip.h X edit to customize path names and line discipline X Xsrc/new/slip.config Xsrc/new/slip.hosts X move to location specified in slip.h X Xsrc/new/dslipuser.c X cc -O -o dslipuser dslipuser.c X Xsrc/new/mkslipuser.c X cc -O -o mkslipuser mkslipuser.c X Xsrc/new/slip.c X cc -O -o slip slip.c X XModifications: X01/31/91 Alan Batie X - Ported slip.c dslipuser.c mkslipuser.c for Unix System V/386 X Release V.4. X X02/08/91 Sudji Husodo X - modified to log slip activities to /var/slip/slip.log if the file exists. X - changed the call to "system" to fork and exec, so we don't have to setuid X slattach and ifconfig to root. X END_OF_FILE if test 653 -ne `wc -c <'dialslip/README.dialslip'`; then echo shar: \"'dialslip/README.dialslip'\" unpacked with wrong size! fi # end of 'dialslip/README.dialslip' fi if test -f 'dialslip/dslipuser.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'dialslip/dslipuser.c'\" else echo shar: Extracting \"'dialslip/dslipuser.c'\" \(1444 characters\) sed "s/^X//" >'dialslip/dslipuser.c' <<'END_OF_FILE' X/* X * dslipuser.c X * X * Displays information on all of the users currently attached to the network. X * X * Copyright 1987 by University of California, Davis X * X * Greg Whitehead 10-1-87 X * Computing Services X * University of California, Davis X * X * Revised: Geoff Arnold X * Sun Microsystems Inc. X * 10-28-87 X */ X X#include <stdio.h> X#include <ctype.h> X#include <sys/types.h> X#include <sys/file.h> X#include <sys/socket.h> X#include <netinet/in.h> X#include <arpa/inet.h> X#include <net/if.h> X#include <netdb.h> X#include <pwd.h> X#include "slip.h" X X#ifdef USG X# include <sys/fcntl.h> X#endif X Xmain(argc,argv) Xint argc; Xchar **argv; X{ X int ufd; X struct sl_urec urec; X int free; X struct passwd *upass; X struct hostent *hh; X int n = 0; X int f = 0; X X /* X * Open USER_FL. X * X */ X if ((ufd=open(USER_FL,O_RDONLY))<0) { X perror(USER_FL); X exit(1); X } X X X /* X * Display USER_FL. X * X */ X while (read(ufd,&urec,sizeof(urec))==sizeof(urec)) { X if (urec.sl_uid >=0) { X n++; X upass=getpwuid(urec.sl_uid); X hh = gethostbyaddr(&urec.sl_haddr, 4, AF_INET); X printf("User %s connected as %s (%s) via %s%d\n", X upass->pw_name, hh->h_name, inet_ntoa(urec.sl_haddr), X IF_NAME,urec.sl_unit); X } X else X f++; X } X X if (n == 0) X printf("No dialup SLIP users connected.\n"); X X printf("(%d free line%s)\n",f,(f==1)?"":"s"); X X close(ufd); X} END_OF_FILE if test 1444 -ne `wc -c <'dialslip/dslipuser.c'`; then echo shar: \"'dialslip/dslipuser.c'\" unpacked with wrong size! fi # end of 'dialslip/dslipuser.c' fi if test -f 'dialslip/slip.config' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'dialslip/slip.config'\" else echo shar: Extracting \"'dialslip/slip.config'\" \(103 characters\) sed "s/^X//" >'dialslip/slip.config' <<'END_OF_FILE' X# slip.user configuration file X# X128.120.254.2 X128.120.254.2 X128.120.254.2 X128.120.254.2 X128.120.254.2 END_OF_FILE if test 103 -ne `wc -c <'dialslip/slip.config'`; then echo shar: \"'dialslip/slip.config'\" unpacked with wrong size! fi # end of 'dialslip/slip.config' fi if test -f 'dialslip/slip.hosts' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'dialslip/slip.hosts'\" else echo shar: Extracting \"'dialslip/slip.hosts'\" \(142 characters\) sed "s/^X//" >'dialslip/slip.hosts' <<'END_OF_FILE' X# dialup slip host table - maps usercodes to host addresses X# X128.120.253.1 user1 X128.120.253.2 user2 X128.120.253.3 user3 X128.120.253.4 user4 END_OF_FILE if test 142 -ne `wc -c <'dialslip/slip.hosts'`; then echo shar: \"'dialslip/slip.hosts'\" unpacked with wrong size! fi # end of 'dialslip/slip.hosts' fi if test -f 'driver/ID/Node' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'driver/ID/Node'\" else echo shar: Extracting \"'driver/ID/Node'\" \(18 characters\) sed "s/^X//" >'driver/ID/Node' <<'END_OF_FILE' Xclone slip c slip END_OF_FILE if test 18 -ne `wc -c <'driver/ID/Node'`; then echo shar: \"'driver/ID/Node'\" unpacked with wrong size! fi # end of 'driver/ID/Node' fi if test -f 'driver/ID/System' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'driver/ID/System'\" else echo shar: Extracting \"'driver/ID/System'\" \(23 characters\) sed "s/^X//" >'driver/ID/System' <<'END_OF_FILE' Xslip Y 1 0 0 0 0 0 0 0 END_OF_FILE if test 23 -ne `wc -c <'driver/ID/System'`; then echo shar: \"'driver/ID/System'\" unpacked with wrong size! fi # end of 'driver/ID/System' fi if test -f 'driver/io/slip.mk' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'driver/io/slip.mk'\" else echo shar: Extracting \"'driver/io/slip.mk'\" \(1464 characters\) sed "s/^X//" >'driver/io/slip.mk' <<'END_OF_FILE' X# X# Copyright 1991, Intel Corporation X# All rights reserved. X# Permission to use, copy, modify, and distribute this software and X# its documentation for any purpose and without fee is hereby granted, X# provided that the above copyright notice appear in all copies and X# that both the copyright notice appear in all copies and that both X# the copyright notice and this permission notice appear in X# supporting documentation, and that the name of Intel Corporation X# not be used in advertising or publicity pertaining to distribution X# of the software without specific, written prior premission. X# X# COMPANY AND/OR INTEL DISCLAIM ALL WARRANTIES WITH REGARD TO X# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF X# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO X# EVENT SHALL COMPANY NOR INTEL BE LIABLE FOR ANY SPECIAL, X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER X# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN X# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, X# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE X# OF THIS SOFTWARE. X# X X# X# Makefile for slip streams driver X# X XINC = .. XCFLAGS = -O -D_KERNEL $(MORECPP) -I$(INC) XOBJS = slip.o X Xall: Driver.o X XDriver.o: $(OBJS) X $(LD) -r -o $@ $(OBJS) X Xclean: X rm -rf *.o ../ID/Driver.o X Xinstall: X cd ../ID; cp ../io/Driver.o . X cp ../sys/slip.h /usr/include/sys X cd ../ID; idinstall -d slip; idinstall -a -k -mnspo slip END_OF_FILE if test 1464 -ne `wc -c <'driver/io/slip.mk'`; then echo shar: \"'driver/io/slip.mk'\" unpacked with wrong size! fi # end of 'driver/io/slip.mk' fi if test -f 'driver/sys/slip.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'driver/sys/slip.h'\" else echo shar: Extracting \"'driver/sys/slip.h'\" \(2449 characters\) sed "s/^X//" >'driver/sys/slip.h' <<'END_OF_FILE' X/* X * Copyright 1991, Intel Corporation X * All rights reserved. X * X * Permission to use, copy, modify, and distribute this software and X * its documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and X * that both the copyright notice appear in all copies and that both X * the copyright notice and this permission notice appear in X * supporting documentation, and that the name of Intel Corporation X * not be used in advertising or publicity pertaining to distribution X * of the software without specific, written prior premission. X * X * COMPANY AND/OR INTEL DISCLAIM ALL WARRANTIES WITH REGARD TO X * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF X * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO X * EVENT SHALL COMPANY NOR INTEL BE LIABLE FOR ANY SPECIAL, X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER X * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN X * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, X * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE X * OF THIS SOFTWARE. X */ X X/* X * Header file for Intel Unix System V/386 Release 4.0 SLIP streams driver. X */ X Xtypedef struct { X u_int state; /* state of the entry */ X u_int sap; /* service access point */ X queue_t *qtop; /* upper streams read queue */ X queue_t *qbot; /* lower streams write queue */ X u_int qt_blocked; /* blocked upper write service flag */ X pid_t pid; /* process id of application */ X u_char *buf; /* incoming packet buffer */ X u_int inlen; /* length of captured data */ X short escape; /* flag if an ESC is detected */ X short overrun; /* flag if incoming data exceeds SLIPMTU */ X short flags; /* flag to be set (read/write) by user */ X u_char uname[IFNAMSIZ]; /* slip interface unit name */ X struct ifstats stats; /* slip interface statistics */ X} slip_t; X X/* The following defines is taken from RFC 1005 */ X X#define SLIPMTU 1006 /* maximum slip packet size */ X X#define END 0300 /* frame end character */ X#define ESC 0333 /* frame escape character */ X#define ESC_END 0334 /* transposed frame end */ X#define ESC_ESC 0335 /* transposed froam esc */ X X/* the following are definitions for slip special I_STR ioctl */ X X#define REG_SLHUP 1 /* i_str ioctl to register slip hangup daemon */ X#define UNREG_SLHUP 2 /* i_str ioctl to unregister sl hangup daemon */ END_OF_FILE if test 2449 -ne `wc -c <'driver/sys/slip.h'`; then echo shar: \"'driver/sys/slip.h'\" unpacked with wrong size! fi # end of 'driver/sys/slip.h' fi if test -f 'man/man1/slhangupd.1' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'man/man1/slhangupd.1'\" else echo shar: Extracting \"'man/man1/slhangupd.1'\" \(2194 characters\) sed "s/^X//" >'man/man1/slhangupd.1' <<'END_OF_FILE' X.\" X.\" Copyright 1991, Intel Corporation X.\" All rights reserved. X.\" X.\" Permission to use, copy, modify, and distribute this software and X.\" its documentation for any purpose and without fee is hereby granted, X.\" provided that the above copyright notice appear in all copies and X.\" that both the copyright notice appear in all copies and that both X.\" the copyright notice and this permission notice appear in X.\" supporting documentation, and that the name of Intel Corporation X.\" not be used in advertising or publicity pertaining to distribution X.\" of the software without specific, written prior permission. X.\" X.\" COMPANY AND/OR INTEL DISCLAIM ALL WARRANTIES WITH REGARD TO X.\" THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF X.\" MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO X.\" EVENT SHALL COMPANY NOR INTEL BE LIABLE FOR ANY SPECIAL, X.\" INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER X.\" RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN X.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, X.\" ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE X.\" OF THIS SOFTWARE. X.\" X.TH slhangupd 1M "TCP/IP" X.SH NAME Xslhangupd \- slip hangup daemon X.SH SYNOPSIS X.nf X.ft B X/usr/sbin/slhangupd X.ft R X.fi X.SH DESCRIPTION X.PP XDue to the interworkings of the TCP/IP protocol stack, hangup signals Xfrom the tty may not reach \fIslattach\fP to notify it that the SLIP Xconnection has been lost. X\fBSlhangupd\fP is a daemon that receives messages from the \fISLIP\fP driver X(in the form of process IDs) and sends a SIGHUP signal to the specified Xprocess ID on behave of the tty. X.PP XWhen the \fISLIP\fP driver is first opened, it stores the process ID of Xthe program that did the open. XNormally, this will be \fIslattach\fP. XWhenever \fISLIP\fP receives a M_HANGUP message from the STREAMS driver under Xit (usually a tty driver), it sends the process ID of the program that did the Xinitial open to \fBslhangupd\fP. XWhen \fBslhangupd\fP receives the message, it sends a SIGHUP to the process ID Xspecified in the message. X.SH SEE ALSO Xslattach(1M), asy(7), slip(7) X.SH FILES X/dev/slip X.SH AUTHOR XSudji Husodo END_OF_FILE if test 2194 -ne `wc -c <'man/man1/slhangupd.1'`; then echo shar: \"'man/man1/slhangupd.1'\" unpacked with wrong size! fi # end of 'man/man1/slhangupd.1' fi if test -f 'utils/Makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'utils/Makefile'\" else echo shar: Extracting \"'utils/Makefile'\" \(1440 characters\) sed "s/^X//" >'utils/Makefile' <<'END_OF_FILE' X# X# Copyright 1991, Intel Corporation X# All rights reserved. X# Permission to use, copy, modify, and distribute this software and X# its documentation for any purpose and without fee is hereby granted, X# provided that the above copyright notice appear in all copies and X# that both the copyright notice appear in all copies and that both X# the copyright notice and this permission notice appear in X# supporting documentation, and that the name of Intel Corporation X# not be used in advertising or publicity pertaining to distribution X# of the software without specific, written prior premission. X# X# COMPANY AND/OR INTEL DISCLAIM ALL WARRANTIES WITH REGARD TO X# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF X# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO X# EVENT SHALL COMPANY NOR INTEL BE LIABLE FOR ANY SPECIAL, X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER X# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN X# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, X# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE X# OF THIS SOFTWARE. X X# X# Makefile for slip utilities X# X XCFLAGS=-O XLIBS=-lnsl XOBJS=slattach.o XPROGS=slattach slhangupd sldetach XTARGET=/usr/sbin X X.c.o: X $(CC) $(CFLAGS) -c $*.c X Xall: slattach slhangupd X Xslattach: $(OBJS) X $(CC) $(CFLAGS) $(OBJS) -o $@ $(LIBS) X Xclean: X rm -rf *.o slattach slhangupd X Xinstall: X cp $(PROGS) $(TARGET) END_OF_FILE if test 1440 -ne `wc -c <'utils/Makefile'`; then echo shar: \"'utils/Makefile'\" unpacked with wrong size! fi # end of 'utils/Makefile' fi if test -f 'utils/sldetach' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'utils/sldetach'\" else echo shar: Extracting \"'utils/sldetach'\" \(322 characters\) sed "s/^X//" >'utils/sldetach' <<'END_OF_FILE' X: X# X# sldetach removes the serial line that is being used for slip connection. X# X Xif [ $# != 1 ]; then X echo "Usage: sldetach interface" X exit 1 Xfi X Xps=`ps -ef | grep -v grep | grep slattach | grep $1` X Xif [ "$ps" != "" ]; then X kill -1 `echo $ps | nawk '{print $2}'` Xelse X echo "sldetach: interface unit $1 not found" Xfi END_OF_FILE if test 322 -ne `wc -c <'utils/sldetach'`; then echo shar: \"'utils/sldetach'\" unpacked with wrong size! fi chmod +x 'utils/sldetach' # end of 'utils/sldetach' fi echo shar: End of archive 4 \(of 4\). cp /dev/null ark4isdone MISSING="" for I in 1 2 3 4 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 4 archives. rm -f ark[1-9]isdone else echo You still must unpack the following archives: echo " " ${MISSING} fi exit 0 exit 0 # Just in case... -- Please send comp.sources.unix-related mail to rsalz@uunet.uu.net. Use a domain-based address or give alternate paths, or you may lose out.