home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-08-12 | 34.7 KB | 1,334 lines |
- diff -c gopher+/Makefile:3.7 gopher+/Makefile:3.8
- *** gopher+/Makefile:3.7 Thu Aug 12 02:26:39 1993
- --- gopher+/Makefile Thu Aug 12 02:26:39 1993
- ***************
- *** 1,7 ****
- #********************************************************************
- # $Author: lindner $
- ! # $Revision: 3.7 $
- ! # $Date: 1993/07/27 05:32:28 $
- # $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/Makefile,v $
- # $State: Exp $
- #
- --- 1,7 ----
- #********************************************************************
- # $Author: lindner $
- ! # $Revision: 3.8 $
- ! # $Date: 1993/08/05 22:22:40 $
- # $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/Makefile,v $
- # $State: Exp $
- #
- ***************
- *** 15,20 ****
- --- 15,23 ----
- #*********************************************************************
- # Revision History:
- # $Log: Makefile,v $
- + # Revision 3.8 1993/08/05 22:22:40 lindner
- + # warning message for archive
- + #
- # Revision 3.7 1993/07/27 05:32:28 lindner
- # added gophfilt and zip stuff
- #
- ***************
- *** 111,116 ****
- --- 114,121 ----
- find $$HERE -type f -print |grep -v '.o$$' |grep -v '~$$' |grep -v 'CVS' >$$HERE/MANIFEST ; \
- /usr/gnu/bin/tar -T $$HERE/MANIFEST -czvf $$HERE.tar.Z ;\
- zip -@ $$HERE.zip <$$HERE/MANIFEST
- + @echo "Did you remember to update the patchlevel.h Paul?..."
- + @echo "Hmmm... Hmmmm...."
-
- tags:
- etags `find . -print | egrep '\.[ch]$$'`
- diff -c gopher+/make.com:3.1 gopher+/make.com:3.2
- *** gopher+/make.com:3.1 Thu Aug 12 02:26:40 1993
- --- gopher+/make.com Thu Aug 12 02:26:40 1993
- ***************
- *** 5,10 ****
- --- 5,12 ----
- @make UCX
- @make WOLLONGONG
- @make MULTINET
- + @make CMUIP
- + @make NETLIB
- $ exit
- $ ENDIF
- $!
- diff -c gopher+/patchlevel.h:3.3 gopher+/patchlevel.h:3.4
- *** gopher+/patchlevel.h:3.3 Thu Aug 12 02:26:42 1993
- --- gopher+/patchlevel.h Thu Aug 12 02:26:42 1993
- ***************
- *** 5,8 ****
- #define GOPHER_MAJOR_VERSION "2"
- #define GOPHER_MINOR_VERSION "0"
-
- ! #define PATCHLEVEL 1
- --- 5,8 ----
- #define GOPHER_MAJOR_VERSION "2"
- #define GOPHER_MINOR_VERSION "0"
-
- ! #define PATCHLEVEL 3
- diff -c gopher+/doc/Makefile:3.3 gopher+/doc/Makefile:3.4
- *** gopher+/doc/Makefile:3.3 Thu Aug 12 02:26:45 1993
- --- gopher+/doc/Makefile Thu Aug 12 02:26:45 1993
- ***************
- *** 2,12 ****
-
- install:
-
- ! $(INSTALL) -c gopherd.conf.5 $(MAN5DIR)
- ! $(INSTALL) -c gopherd.8 $(MAN8DIR)
- ! $(INSTALL) -c gopherindex.8 $(MAN8DIR)
- ! $(INSTALL) -c gopher.1 $(MAN1DIR)
- ! $(INSTALL) -c gophfilt.1 $(MAN1DIR)
-
- clean:
- -rm -f *~
- --- 2,12 ----
-
- install:
-
- ! $(INSTALL) gopherd.conf.5 $(MAN5DIR)
- ! $(INSTALL) gopherd.8 $(MAN8DIR)
- ! $(INSTALL) gopherindex.8 $(MAN8DIR)
- ! $(INSTALL) gopher.1 $(MAN1DIR)
- ! $(INSTALL) gophfilt.1 $(MAN1DIR)
-
- clean:
- -rm -f *~
- diff -c gopher+/doc/client.changes:3.7 gopher+/doc/client.changes:3.8
- *** gopher+/doc/client.changes:3.7 Thu Aug 12 02:26:46 1993
- --- gopher+/doc/client.changes Thu Aug 12 02:26:46 1993
- ***************
- *** 1,4 ****
- ! $Id: client.changes,v 3.7 1993/08/04 22:23:41 lindner Exp $
-
- Gopher+2.0 patchlevel 2
- -----------------------
- --- 1,14 ----
- ! $Id: client.changes,v 3.8 1993/08/05 22:41:05 lindner Exp $
- !
- ! Gopher+2.0 patchlevel 3
- ! -----------------------
- !
- ! * Should compile for CMUIP and NETLIB on VMS (not tested)
- !
- ! * Fix for control-c on startup
- !
- ! * Added warning comments in mail_file()
- !
-
- Gopher+2.0 patchlevel 2
- -----------------------
- diff -c gopher+/doc/server.changes:3.7 gopher+/doc/server.changes:3.8
- *** gopher+/doc/server.changes:3.7 Thu Aug 12 02:26:48 1993
- --- gopher+/doc/server.changes Thu Aug 12 02:26:49 1993
- ***************
- *** 1,4 ****
- ! $Id: server.changes,v 3.7 1993/08/04 22:23:45 lindner Exp $
-
- Gopher 2.0 patchlevel 2
- -----------------------
- --- 1,16 ----
- ! $Id: server.changes,v 3.8 1993/08/05 22:41:06 lindner Exp $
- !
- ! Gopher 2.0 patchlevel 3
- ! -----------------------
- !
- ! * Only install gopherindex if built
- !
- ! * Added fix for dedot to remove quotes for when using system or popen
- !
- ! * Log execution of programs
- !
- ! * Add one more call to Gpopen for shellindexquery
- !
-
- Gopher 2.0 patchlevel 2
- -----------------------
- diff -c /dev/null gopher+/gopher/cmuip.opt:3.1
- *** /dev/null Thu Aug 12 02:26:53 1993
- --- gopher+/gopher/cmuip.opt Thu Aug 12 02:26:54 1993
- ***************
- *** 0 ****
- --- 1,3 ----
- + identification="CMUIP-1.12"
- + sys$library:neterror
- + sys$share:vaxcrtl.exe/share
- diff -c gopher+/gopher/compile.com:3.3 gopher+/gopher/compile.com:3.4
- *** gopher+/gopher/compile.com:3.3 Thu Aug 12 02:26:55 1993
- --- gopher+/gopher/compile.com Thu Aug 12 02:26:55 1993
- ***************
- *** 1,7 ****
- $!********************************************************************
- $! $Author: lindner $
- ! $! $Revision: 3.3 $
- ! $! $Date: 1993/06/22 06:12:53 $
- $! $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopher/compile.com,v $
- $! $State: Exp $
- $!
- --- 1,7 ----
- $!********************************************************************
- $! $Author: lindner $
- ! $! $Revision: 3.4 $
- ! $! $Date: 1993/08/05 03:24:37 $
- $! $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopher/compile.com,v $
- $! $State: Exp $
- $!
- ***************
- *** 15,20 ****
- --- 15,23 ----
- $!*********************************************************************
- $! Revision History:
- $! $Log: compile.com,v $
- + $! Revision 3.4 1993/08/05 03:24:37 lindner
- + $! Changes for CMUIP and NETLIB
- + $!
- $! Revision 3.3 1993/06/22 06:12:53 lindner
- $! mods for DEC C
- $!
- ***************
- *** 40,45 ****
- --- 43,50 ----
- @compile UCX
- @compile WOLLONGONG
- @compile MULTINET
- + @compile CMUIP
- + @compile NETLIB
- $ exit
- $ ENDIF
- $!
- diff -c gopher+/gopher/gopher.c:3.26 gopher+/gopher/gopher.c:3.27
- *** gopher+/gopher/gopher.c:3.26 Thu Aug 12 02:26:57 1993
- --- gopher+/gopher/gopher.c Thu Aug 12 02:26:58 1993
- ***************
- *** 1,7 ****
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.26 $
- ! * $Date: 1993/08/04 22:08:47 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopher/gopher.c,v $
- * $State: Exp $
- *
- --- 1,7 ----
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.27 $
- ! * $Date: 1993/08/05 03:24:21 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopher/gopher.c,v $
- * $State: Exp $
- *
- ***************
- *** 15,20 ****
- --- 15,23 ----
- *********************************************************************
- * Revision History:
- * $Log: gopher.c,v $
- + * Revision 3.27 1993/08/05 03:24:21 lindner
- + * Fix for control-c on startup
- + *
- * Revision 3.26 1993/08/04 22:08:47 lindner
- * Fix for problems with '=' and '?' and /bin/mail Gripe mods
- *
- ***************
- *** 750,756 ****
- /* RCdestroy(GlobalRC);*/
-
- do {
- ! GDdestroy(CurrentDir);
- }
- while (popgopher(&CurrentDir) != -1);
-
- --- 753,760 ----
- /* RCdestroy(GlobalRC);*/
-
- do {
- ! if (CurrentDir != NULL)
- ! GDdestroy(CurrentDir);
- }
- while (popgopher(&CurrentDir) != -1);
-
- diff -c gopher+/gopher/link.com:3.1.1.1 gopher+/gopher/link.com:3.2
- *** gopher+/gopher/link.com:3.1.1.1 Thu Aug 12 02:27:00 1993
- --- gopher+/gopher/link.com Thu Aug 12 02:27:00 1993
- ***************
- *** 1,7 ****
- $!********************************************************************
- $! $Author: lindner $
- ! $! $Revision: 3.1.1.1 $
- ! $! $Date: 1993/02/11 18:02:59 $
- $! $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopher/link.com,v $
- $! $State: Exp $
- $!
- --- 1,7 ----
- $!********************************************************************
- $! $Author: lindner $
- ! $! $Revision: 3.2 $
- ! $! $Date: 1993/08/05 03:24:39 $
- $! $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopher/link.com,v $
- $! $State: Exp $
- $!
- ***************
- *** 15,20 ****
- --- 15,23 ----
- $!*********************************************************************
- $! Revision History:
- $! $Log: link.com,v $
- + $! Revision 3.2 1993/08/05 03:24:39 lindner
- + $! Changes for CMUIP and NETLIB
- + $!
- $! Revision 3.1.1.1 1993/02/11 18:02:59 lindner
- $! Gopher+1.2beta release
- $!
- ***************
- *** 34,39 ****
- --- 37,44 ----
- @link UCX
- @link WOLLONGONG
- @link MULTINET
- + @link CMUIP
- + @link NETLIB
- $ exit
- $ ENDIF
- $!
- diff -c /dev/null gopher+/gopher/netlib.opt:3.1
- *** /dev/null Thu Aug 12 02:27:01 1993
- --- gopher+/gopher/netlib.opt Thu Aug 12 02:27:01 1993
- ***************
- *** 0 ****
- --- 1,3 ----
- + identification = "NETLIB-1.12"
- + sys$share:netlib_shrxfr/shareable
- + sys$share:vaxcrtl/shareable
- diff -c gopher+/gopher/ourutils.c:3.19 gopher+/gopher/ourutils.c:3.20
- *** gopher+/gopher/ourutils.c:3.19 Thu Aug 12 02:27:02 1993
- --- gopher+/gopher/ourutils.c Thu Aug 12 02:27:03 1993
- ***************
- *** 1,7 ****
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.19 $
- ! * $Date: 1993/08/04 22:07:23 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopher/ourutils.c,v $
- * $State: Exp $
- *
- --- 1,7 ----
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.20 $
- ! * $Date: 1993/08/05 20:40:43 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopher/ourutils.c,v $
- * $State: Exp $
- *
- ***************
- *** 15,20 ****
- --- 15,23 ----
- *********************************************************************
- * Revision History:
- * $Log: ourutils.c,v $
- + * Revision 3.20 1993/08/05 20:40:43 lindner
- + * Added warning message..
- + *
- * Revision 3.19 1993/08/04 22:07:23 lindner
- * Use /bin/mail instead of ucbmail
- *
- ***************
- *** 184,189 ****
- --- 187,198 ----
-
- if (*SaveName == '\0')
- return;
- +
- + /*
- + * You should be very careful when you add characters to this list..
- + *
- + * It could create a nasty security hole!
- + */
-
- #define ACHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%.@!-_"
-
- diff -c gopher+/gopherd/Makefile:3.6 gopher+/gopherd/Makefile:3.7
- *** gopher+/gopherd/Makefile:3.6 Thu Aug 12 02:27:08 1993
- --- gopher+/gopherd/Makefile Thu Aug 12 02:27:09 1993
- ***************
- *** 1,7 ****
- #********************************************************************
- # $Author: lindner $
- ! # $Revision: 3.6 $
- ! # $Date: 1993/08/04 22:12:01 $
- # $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopherd/Makefile,v $
- # $State: Exp $
- #
- --- 1,7 ----
- #********************************************************************
- # $Author: lindner $
- ! # $Revision: 3.7 $
- ! # $Date: 1993/08/05 22:20:19 $
- # $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopherd/Makefile,v $
- # $State: Exp $
- #
- ***************
- *** 15,20 ****
- --- 15,23 ----
- #*********************************************************************
- # Revision History:
- # $Log: Makefile,v $
- + # Revision 3.7 1993/08/05 22:20:19 lindner
- + # Only install gopherindex if built
- + #
- # Revision 3.6 1993/08/04 22:12:01 lindner
- # Rebuild server if patchlevel.h changes
- #
- ***************
- *** 138,144 ****
- -mv $(SERVERDIR)/gopherd.conf $(SERVERDIR)/gopherd.conf.old
- $(INSTALL) $(TARGET) $(SERVERDIR)
- $(INSTALL) gopherd.conf $(SERVERDIR)
- ! $(INSTALL) gopherindex $(SERVERDIR)
- -rm $(SERVERDIR)/gopherls $(SERVERDIR)/gindexd
- -ln -s $(SERVERDIR)/$(TARGET) $(SERVERDIR)/gopherls
- -ln -s $(SERVERDIR)/$(TARGET) $(SERVERDIR)/gindexd
- --- 141,148 ----
- -mv $(SERVERDIR)/gopherd.conf $(SERVERDIR)/gopherd.conf.old
- $(INSTALL) $(TARGET) $(SERVERDIR)
- $(INSTALL) gopherd.conf $(SERVERDIR)
- ! if [ -f gopherindex ]; then \
- ! $(INSTALL) gopherindex $(SERVERDIR)
- -rm $(SERVERDIR)/gopherls $(SERVERDIR)/gindexd
- -ln -s $(SERVERDIR)/$(TARGET) $(SERVERDIR)/gopherls
- -ln -s $(SERVERDIR)/$(TARGET) $(SERVERDIR)/gindexd
- diff -c gopher+/gopherd/dedot.c:3.1.1.1 gopher+/gopherd/dedot.c:3.3
- *** gopher+/gopherd/dedot.c:3.1.1.1 Thu Aug 12 02:27:09 1993
- --- gopher+/gopherd/dedot.c Thu Aug 12 02:27:10 1993
- ***************
- *** 1,9 ****
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.1.1.1 $
- ! * $Date: 1993/02/11 18:02:50 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopherd/dedot.c,v $
- ! * $Status: $
- *
- * Paul Lindner, University of Minnesota CIS.
- *
- --- 1,9 ----
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.3 $
- ! * $Date: 1993/08/05 22:19:43 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopherd/dedot.c,v $
- ! * $State: Exp $
- *
- * Paul Lindner, University of Minnesota CIS.
- *
- ***************
- *** 15,20 ****
- --- 15,26 ----
- *********************************************************************
- * Revision History:
- * $Log: dedot.c,v $
- + * Revision 3.3 1993/08/05 22:19:43 lindner
- + * Fix for single quotes
- + *
- + * Revision 3.2 1993/08/05 20:43:07 lindner
- + * Added fix for dedot to remove quotes for when using system or popen
- + *
- * Revision 3.1.1.1 1993/02/11 18:02:50 lindner
- * Gopher+1.2beta release
- *
- ***************
- *** 49,89 ****
- ** John Sellens jmsellens@watdragon.waterloo.edu
- */
-
- ! /* If DOSINGLE is defined, references to '.' are also removed */
- ! #define DOSINGLE
- !
- void dedot1();
- void dedot2();
-
- void
- dedot1( src )
- char *src;
- {
- ! if ( *src == '.' ) {
- ! if (
- ! #ifdef DOSINGLE
- ! src[1] == '\0' || src[1] == '/' ||
- ! #endif
- ! ( src[1] == '.' && ( src[2] == '\0' || src[2] == '/' ) ) ) {
- ! dedot2( src, src );
- ! return;
- ! }
- ! }
- ! while ( *src ) {
- ! if ( *src++ == '/' ) {
- ! if ( *src == '.' ) {
- ! if (
- ! #ifdef DOSINGLE
- ! src[1] == '\0' || src[1] == '/' ||
- ! #endif
- ! ( src[1] == '.' && ( src[2] == '\0' || src[2] == '/' ) ) ) {
- ! dedot2( src, src );
- ! return;
- ! }
- ! }
- ! }
- ! }
- ! return;
- }
-
- /* copy src to dst, blindly removing (not interpreting) ./ and ../ */
- --- 55,106 ----
- ** John Sellens jmsellens@watdragon.waterloo.edu
- */
-
- ! void dequote();
- void dedot1();
- void dedot2();
-
- +
- void
- + dequote1(src)
- + char *src;
- + {
- + char *cp2;
- +
- + /** Strip out the quotes.. **/
- + while (*src != '\0') {
- + if (*src == '"' || *src == '\'') {
- + for (cp2=src; *cp2 != '\0'; cp2++) {
- + *cp2 = *(cp2+1);
- + }
- + }
- + src++;
- + }
- + }
- +
- + void
- dedot1( src )
- char *src;
- {
- ! dequote1(src);
- ! if ( *src == '.' ) {
- ! if (src[1] == '\0' || src[1] == '/' ||
- ! ( src[1] == '.' && ( src[2] == '\0' || src[2] == '/' ) ) ) {
- ! dedot2( src, src );
- ! return;
- ! }
- ! }
- ! while ( *src ) {
- ! if ( *src++ == '/' ) {
- ! if ( *src == '.' ) {
- ! if (src[1] == '\0' || src[1] == '/' ||
- ! ( src[1] == '.' && ( src[2] == '\0' || src[2] == '/' ) ) ) {
- ! dedot2( src, src );
- ! return;
- ! }
- ! }
- ! }
- ! }
- ! return;
- }
-
- /* copy src to dst, blindly removing (not interpreting) ./ and ../ */
- ***************
- *** 92,137 ****
- char *src;
- char *dst;
- {
- ! /*
- ! ** We either have /, a filename, ./ or ../
- ! */
-
- ! while ( *src ) {
- ! switch ( *src ) {
- ! case '/':
- ! /* copy it, and skip any extras e.g. /a///b */
- ! *dst++ = *src++;
- ! while ( *src == '/' )
- src++;
- ! break;
- ! case '.':
- ! #ifdef DOSINGLE
- ! /* don't forget about trailing . and .. */
- ! if ( src[1] == '/' ) { /* ./ */
- ! src += 2;
- break;
- ! }
- ! if ( src[1] == '\0' ) { /* .\0 */
- ! src += 1; /* only 1 so we don't fall off the end */
- break;
- ! }
- ! #endif
- ! if ( src[1] == '.' && src[2] == '/' ) { /* ../ */
- ! src += 3;
- break;
- ! }
- ! if ( src[1] == '.' && src[2] == '\0' ) { /* .. */
- ! src += 2; /* don't fall off the end */
- break;
- ! }
- ! /* must be a filename - fall through */
- ! default:
- ! /* must be filename - copy it over */
- ! while ( *src != '\0' && *src != '/' )
- *dst++ = *src++;
- ! break;
- ! }
- ! }
- ! /* and terminate it */
- ! *dst = '\0';
- }
- --- 109,164 ----
- char *src;
- char *dst;
- {
- ! /*
- ! ** We either have /, a filename, ./ or ../
- ! */
- ! int i;
-
- ! while ( *src ) {
- ! switch ( *src ) {
- ! case '"':
- ! /* Ignore it.. */
- ! src++;
- ! break;
- ! case '/':
- ! /* copy it, and skip any extras e.g. /a///b */
- ! *dst++ = *src++;
- ! while ( *src == '/' )
- src++;
- ! break;
- ! case '.':
- ! /* don't forget about trailing . and .. */
- !
- ! /* Nuke any quotes */
- ! for (i=1; src[i] == '"' || *src == '\''; i++)
- ! ;
- !
- ! if ( src[i] == '/' ) { /* ./ */
- ! src += i+1;
- break;
- ! }
- ! if ( src[i] == '\0' ) { /* .\0 */
- ! src += i; /* only 1 so we don't fall off the end */
- break;
- ! }
- ! if ( src[i] == '.' && src[i+2] == '/' ) { /* ../ */
- ! src += i+2;
- break;
- ! }
- ! if ( src[i] == '.' && src[i+2] == '\0' ) { /* .. */
- ! src += i+1; /* don't fall off the end */
- break;
- ! }
- ! /* must be a filename - fall through */
- ! default:
- ! /* must be filename - copy it over */
- ! while ( *src != '\0' && *src != '/' && *src != '"')
- *dst++ = *src++;
- ! break;
- ! }
- ! }
- ! /* and terminate it */
- ! *dst = '\0';
- }
- +
- +
- diff -c gopher+/gopherd/gopherd.c:3.27 gopher+/gopherd/gopherd.c:3.28
- *** gopher+/gopherd/gopherd.c:3.27 Thu Aug 12 02:27:11 1993
- --- gopher+/gopherd/gopherd.c Thu Aug 12 02:27:11 1993
- ***************
- *** 1,7 ****
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.27 $
- ! * $Date: 1993/08/02 17:59:26 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopherd/gopherd.c,v $
- * $State: Exp $
- *
- --- 1,7 ----
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.28 $
- ! * $Date: 1993/08/05 20:47:16 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopherd/gopherd.c,v $
- * $State: Exp $
- *
- ***************
- *** 15,20 ****
- --- 15,23 ----
- *********************************************************************
- * Revision History:
- * $Log: gopherd.c,v $
- + * Revision 3.28 1993/08/05 20:47:16 lindner
- + * Log execution of programs
- + *
- * Revision 3.27 1993/08/02 17:59:26 lindner
- * Fix for Debug syntax error when using DL
- *
- ***************
- *** 1098,1103 ****
- --- 1101,1107 ----
- EXECargs = args;
-
- printfile(sockfd, command, 0, -1, CMDisGplus(cmd));
- + LOGGopher(sockfd, "Executed %s %s", command, args);
- }
- break;
-
- diff -c gopher+/gopherd/index.c:3.8 gopher+/gopherd/index.c:3.9
- *** gopher+/gopherd/index.c:3.8 Thu Aug 12 02:27:12 1993
- --- gopher+/gopherd/index.c Thu Aug 12 02:27:13 1993
- ***************
- *** 1,7 ****
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.8 $
- ! * $Date: 1993/08/04 22:12:43 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopherd/index.c,v $
- * $State: Exp $
- *
- --- 1,7 ----
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.9 $
- ! * $Date: 1993/08/05 20:44:02 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopherd/index.c,v $
- * $State: Exp $
- *
- ***************
- *** 15,20 ****
- --- 15,23 ----
- *********************************************************************
- * Revision History:
- * $Log: index.c,v $
- + * Revision 3.9 1993/08/05 20:44:02 lindner
- + * Use Gpopen instead of popen, remove extra filtering code
- + *
- * Revision 3.8 1993/08/04 22:12:43 lindner
- * Mods to use Gpopen
- *
- ***************
- *** 367,384 ****
-
- gd = GDnew(32);
-
- - /*** Clean up the arguments, remove ; and " and `**/
- - cp = Searchstring;
- - while (*cp != '\0') {
- - if (*cp == ';' ||*cp == '"' || *cp == '`' || *cp == '$')
- - *cp = '.';
- - cp++;
- - }
- -
- -
- sprintf(Command, "\"%s\" \"%s\"", Script, Searchstring);
-
- ! Searchprocess = popen(Command, "r");
-
- if (Searchprocess == NULL) {
- writestring(sockfd, ".\r\n");
- --- 370,378 ----
-
- gd = GDnew(32);
-
- sprintf(Command, "\"%s\" \"%s\"", Script, Searchstring);
-
- ! Searchprocess = Gpopen(Command, "r");
-
- if (Searchprocess == NULL) {
- writestring(sockfd, ".\r\n");
- diff -c gopher+/gopherd/serverutil.c:3.10 gopher+/gopherd/serverutil.c:3.11
- *** gopher+/gopherd/serverutil.c:3.10 Thu Aug 12 02:27:14 1993
- --- gopher+/gopherd/serverutil.c Thu Aug 12 02:27:14 1993
- ***************
- *** 1,7 ****
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.10 $
- ! * $Date: 1993/08/04 22:14:51 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopherd/serverutil.c,v $
- * $State: Exp $
- *
- --- 1,7 ----
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.11 $
- ! * $Date: 1993/08/05 20:46:36 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/gopherd/serverutil.c,v $
- * $State: Exp $
- *
- ***************
- *** 15,20 ****
- --- 15,23 ----
- *********************************************************************
- * Revision History:
- * $Log: serverutil.c,v $
- + * Revision 3.11 1993/08/05 20:46:36 lindner
- + * Fix for Gpopen for single quotes and !
- + *
- * Revision 3.10 1993/08/04 22:14:51 lindner
- * Mods to use Gpopen
- *
- ***************
- *** 483,488 ****
- --- 486,492 ----
- char *rw;
- {
- int inquote = 0;
- + int insquote = 0;
- int i;
-
- /** Strip out the naughty bits.. **/
- ***************
- *** 489,497 ****
- for (i=0; cmd[i] != '\0'; i++) {
- switch (cmd[i]) {
- case '"':
- ! inquote = 1-inquote;
- break;
-
- case '*':
- case '&':
- case '|':
- --- 493,507 ----
- for (i=0; cmd[i] != '\0'; i++) {
- switch (cmd[i]) {
- case '"':
- ! if (!insquote)
- ! inquote = 1-inquote;
- break;
-
- + case '\'':
- + if (!inquote)
- + insquote = 1-insquote;
- + break;
- +
- case '*':
- case '&':
- case '|':
- ***************
- *** 500,506 ****
- case '?':
- case '<':
- case '>':
- - case '!':
- case '(':
- case ')':
- case '{':
- --- 510,515 ----
- ***************
- *** 510,522 ****
- case '^':
- /*** Stuff that's okay if quoted.. ***/
-
- ! if (!inquote) {
- ! LOGGopher("Possible Security Violation '%s'", cmd);
- return(NULL);
- }
-
- break;
-
- case '\\':
- case '`':
- case '\n':
- --- 519,532 ----
- case '^':
- /*** Stuff that's okay if quoted.. ***/
-
- ! if (!inquote && !insquote) {
- ! LOGGopher(0, "Possible Security Violation '%s'", cmd);
- return(NULL);
- }
-
- break;
-
- + case '!':
- case '\\':
- case '`':
- case '\n':
- ***************
- *** 523,529 ****
- case '$':
- /*** Stuff that shouldn't be in there at all! **/
-
- ! LOGGopher("Possible Security Violation '%s'", cmd);
- return(NULL);
-
- break;
- --- 533,539 ----
- case '$':
- /*** Stuff that shouldn't be in there at all! **/
-
- ! LOGGopher(0, "Possible Security Violation '%s'", cmd);
- return(NULL);
-
- break;
- diff -c gopher+/object/Sockets.c:3.3 gopher+/object/Sockets.c:3.4
- *** gopher+/object/Sockets.c:3.3 Thu Aug 12 02:27:17 1993
- --- gopher+/object/Sockets.c Thu Aug 12 02:27:18 1993
- ***************
- *** 1,7 ****
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.3 $
- ! * $Date: 1993/07/29 20:01:02 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/object/Sockets.c,v $
- * $State: Exp $
- *
- --- 1,7 ----
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.4 $
- ! * $Date: 1993/08/05 03:23:37 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/object/Sockets.c,v $
- * $State: Exp $
- *
- ***************
- *** 15,20 ****
- --- 15,23 ----
- *********************************************************************
- * Revision History:
- * $Log: Sockets.c,v $
- + * Revision 3.4 1993/08/05 03:23:37 lindner
- + * Changes for CMUIP and NETLIB
- + *
- * Revision 3.3 1993/07/29 20:01:02 lindner
- * Removed dead variables
- *
- ***************
- *** 37,57 ****
-
- /* Socket specific stuff, ugh! */
- #ifdef VMS
- ! #include <socket.h>
- ! #include <in.h>
- ! #include <file.h>
- ! #include <inet.h>
- ! #include <netdb.h>
-
- ! #else
- ! #include <sys/types.h>
- ! #include <sys/socket.h>
- ! #include <netinet/in.h>
- ! #include <sys/file.h>
- ! #ifndef hpux
- ! #include <arpa/inet.h>
- ! #endif
- ! #include <netdb.h>
- #endif /* not VMS */
-
- #include "Malloc.h"
- --- 40,67 ----
-
- /* Socket specific stuff, ugh! */
- #ifdef VMS
- ! # if !defined(CMUIP) && !defined(NETLIB)
- ! # include <socket.h>
- ! # include <in.h>
- ! # include <file.h>
- ! # include <inet.h>
- ! # include <netdb.h>
- ! # include iodef
- ! # include ssdef
- ! # else
- ! # include iodef
- ! # include ssdef
- ! # endif /* if !CMUIP && !NETLIB */
-
- ! #else /* VMS */
- ! # include <sys/types.h>
- ! # include <sys/socket.h>
- ! # include <netinet/in.h>
- ! # include <sys/file.h>
- ! # ifndef hpux
- ! # include <arpa/inet.h>
- ! # endif
- ! # include <netdb.h>
- #endif /* not VMS */
-
- #include "Malloc.h"
- ***************
- *** 134,139 ****
- --- 144,150 ----
- char *hostname;
- int port;
- {
- + #if !defined(CMUIP) && !defined(NETLIB)
- struct sockaddr_in Server;
- struct hostent *HostPtr;
- int sockfd = 0;
- ***************
- *** 177,182 ****
- --- 188,252 ----
- }
-
- return(sockfd);
- +
- + #else /* !NETLIB && !CMUIP */
- + #ifdef NETLIB
- + int status;
- + static int iSock = 0;
- + struct {
- + long len;
- + char *adr;
- + } host_desc;
- +
- + #define NET_K_TCP 1
- + status = NET_ASSIGN (&iSock);
- + if ((status & 1) == 0)
- + return (-3);
- + status = NET_BIND (&iSock, NET_K_TCP, 0, 0, 0);
- + if ((status & 1) == 0)
- + return (-3);
- + host_desc.adr = hostname;
- + host_desc.len = strlen (host_desc.adr);
- + status = TCP_CONNECT (&iSock, &host_desc, port);
- + if ((status & 1) == 0) {
- + NET_DEASSIGN (&iSock);
- + if (status == SS$_REJECT)
- + return (-4);
- + if (status == SS$_ENDOFFILE)
- + return (-2);
- + return (-1);
- + }
- + return (iSock);
- + #else /* ifdef NETLIB: assume CMUIP */
- + short channel;
- + int status;
- + struct {
- + short status;
- + short size;
- + long xxx;
- + } cmu_iosb;
- + static struct {long l; char *a;} ip_dev = {12, "INET$DEVICE:"};
- + globalvalue NET$_CREF; /* Connection refused */
- + globalvalue NET$_DSNAMERR; /* Domain server name error */
- + status = SYS$ASSIGN (&ip_dev, &channel, 0, 0);
- + if ((status & 1) == 0)
- + return (-3);
- + status = SYS$QIOW (0, channel, IO$_CREATE, &cmu_iosb, 0, 0,
- + hostname, port, 0, 1, 0, 0);
- + if ((status & 1) == 0 || (cmu_iosb.status & 1) == 0) {
- + SYS$DASSGN (channel);
- + if (cmu_iosb.status == SS$_ABORT) {
- + if (cmu_iosb.xxx == NET$_CREF)
- + return (-4);
- + if (cmu_iosb.xxx == NET$_DSNAMERR)
- + return (-2);
- + }
- + return (-1);
- + }
- + return (channel);
- + #endif
- + #endif
- +
- }
-
-
- diff -c gopher+/object/compile.com:3.5 gopher+/object/compile.com:3.6
- *** gopher+/object/compile.com:3.5 Thu Aug 12 02:27:18 1993
- --- gopher+/object/compile.com Thu Aug 12 02:27:19 1993
- ***************
- *** 35,40 ****
- --- 35,42 ----
- @compile UCX
- @compile WOLLONGONG
- @compile MULTINET
- + @compile CMUIP
- + @compile NETLIB
- $ exit
- $ ENDIF
- $ ON CONTROL_Y THEN GOTO CLEANUP
- diff -c gopher+/object/util.c:3.7 gopher+/object/util.c:3.8
- *** gopher+/object/util.c:3.7 Thu Aug 12 02:27:19 1993
- --- gopher+/object/util.c Thu Aug 12 02:27:20 1993
- ***************
- *** 1,7 ****
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.7 $
- ! * $Date: 1993/07/27 05:30:30 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/object/util.c,v $
- * $State: Exp $
- *
- --- 1,7 ----
- /********************************************************************
- * $Author: lindner $
- ! * $Revision: 3.8 $
- ! * $Date: 1993/08/05 03:23:40 $
- * $Source: /tmp_mnt/home/mudhoney/GopherSrc/CVS/gopher+/object/util.c,v $
- * $State: Exp $
- *
- ***************
- *** 15,20 ****
- --- 15,23 ----
- *********************************************************************
- * Revision History:
- * $Log: util.c,v $
- + * Revision 3.8 1993/08/05 03:23:40 lindner
- + * Changes for CMUIP and NETLIB
- + *
- * Revision 3.7 1993/07/27 05:30:30 lindner
- * Mondo Debug overhaul from Mitra
- *
- ***************
- *** 75,82 ****
- #endif
-
-
- ! #if defined(VMS) && (defined(WOLLONGONG) || defined(MULTINET))
- ! /* Multinet and Wollongong (non UCX-emulation) use channel numbers */
- /* for sockets, which are small multiples of 16. The first 5 */
- /* channels can be assumed to be already used, so we assume that */
- /* sockets start at 64, and that only 64 VAXC fds are simultaneously */
- --- 78,85 ----
- #endif
-
-
- ! #if defined(VMS) && (defined(WOLLONGONG) || defined(MULTINET) ||defined(CMUIP)||defined(NETLIB))
- ! /* Multinet and Wollongong,etc. (non UCX-emulation) use channel numbers */
- /* for sockets, which are small multiples of 16. The first 5 */
- /* channels can be assumed to be already used, so we assume that */
- /* sockets start at 64, and that only 64 VAXC fds are simultaneously */
- ***************
- *** 95,101 ****
- if (IS_SOCKET(s)) {
- #ifdef MULTINET
- return (socket_close(s));
- ! #else /* WOLLONGONG */
- return (netclose(s));
- #endif
- }
- --- 98,104 ----
- if (IS_SOCKET(s)) {
- #ifdef MULTINET
- return (socket_close(s));
- ! #else /* WOLLONGONG, CMUIP, NETLIB */
- return (netclose(s));
- #endif
- }
- ***************
- *** 120,126 ****
-
- nleft = nbytes;
- while (nleft > 0) {
- ! #if defined(VMS) && defined(WOLLONGONG)
- nread = IS_SOCKET(fd) ? netread(fd, ptr, nleft) : read(fd, ptr, nleft);
- #else
- #if defined(VMS) && defined(MULTINET)
- --- 123,129 ----
-
- nleft = nbytes;
- while (nleft > 0) {
- ! #if defined(VMS) && (defined(WOLLONGONG) || defined(CMUIP) || defined(NETLIB))
- nread = IS_SOCKET(fd) ? netread(fd, ptr, nleft) : read(fd, ptr, nleft);
- #else
- #if defined(VMS) && defined(MULTINET)
- ***************
- *** 163,169 ****
-
- nleft = nbytes;
- while(nleft > 0) {
- ! #if defined(VMS) && defined(WOLLONGONG)
- nwritten = IS_SOCKET(fd) ? netwrite(fd, ptr, nleft) : write(fd, ptr, nleft);
- #else
- #if defined(VMS) && defined(MULTINET)
- --- 166,172 ----
-
- nleft = nbytes;
- while(nleft > 0) {
- ! #if defined(VMS) && (defined(WOLLONGONG) || defined(CMUIP) || defined(NETLIB))
- nwritten = IS_SOCKET(fd) ? netwrite(fd, ptr, nleft) : write(fd, ptr, nleft);
- #else
- #if defined(VMS) && defined(MULTINET)
- ***************
- *** 229,235 ****
- int bytesread = 0;
-
- if (recvbufptr == 0 || Oldsockfd != sockfd) {
- ! #if defined(VMS) && defined(WOLLONGONG)
- recvbufsize = IS_SOCKET(sockfd) ?
- netread(sockfd, recvbuf, RECVSIZE) : read(sockfd, recvbuf, RECVSIZE);
- #else
- --- 232,238 ----
- int bytesread = 0;
-
- if (recvbufptr == 0 || Oldsockfd != sockfd) {
- ! #if defined(VMS) && (defined(WOLLONGONG)||defined(CMUIP)||defined(NETLIB))
- recvbufsize = IS_SOCKET(sockfd) ?
- netread(sockfd, recvbuf, RECVSIZE) : read(sockfd, recvbuf, RECVSIZE);
- #else
- ***************
- *** 624,630 ****
- --- 627,782 ----
- }
-
-
- +
- + #if defined(VMS) && defined(NETLIB)
- +
- /*
- + * netclose, netread, and netwrite for NETLIB
- + */
- +
- + #include iodef
- +
- + static struct {
- + short status;
- + short size;
- + long xxx;
- + } netlib_iosb;
- +
- + void netlib_ast (param)
- + int param;
- + {
- + SYS$SETEF (0);
- + }
- +
- + int netclose (channel)
- + int channel;
- + {
- + NET_DEASSIGN (&channel);
- +
- + return (0);
- + }
- +
- + int netread (channel, buffer, length)
- + int channel;
- + char *buffer;
- + int length;
- + {
- + struct {
- + long len;
- + char *adr;
- + } buffer_desc;
- + int status;
- +
- + if (length > 1500) length = 1500;
- + buffer_desc.len = length;
- + buffer_desc.adr = buffer;
- + SYS$CLREF (0);
- + status = TCP_RECEIVE (&channel, &buffer_desc, &netlib_iosb, netlib_ast, 0);
- + if ((status & 1) == 0)
- + return (-1);
- + SYS$WAITFR (0);
- + if ((netlib_iosb.status & 1) == 0) {
- + return (-1);
- + }
- + return (netlib_iosb.size);
- + }
- +
- + int netwrite (channel, buffer, length)
- + int channel;
- + char *buffer;
- + int length;
- + {
- + struct {
- + long len;
- + char *adr;
- + } buffer_desc;
- + int status;
- +
- + buffer_desc.len = length;
- + buffer_desc.adr = buffer;
- + SYS$CLREF (0);
- + status = TCP_SEND (&channel, &buffer_desc, 6, &netlib_iosb, netlib_ast, 0);
- + if ((status & 1) == 0)
- + return (-1);
- + SYS$WAITFR (0);
- + if ((netlib_iosb.status & 1) == 0) {
- + return (-1);
- + }
- + return (netlib_iosb.size);
- + }
- +
- + #endif /* NETLIB */
- +
- + #if defined(VMS) && defined(CMUIP)
- +
- + /*
- + * netclose, netread, and netwrite for CMUIP
- + */
- +
- + #include iodef
- +
- + static struct {
- + short status;
- + short size;
- + long xxx;
- + } cmu_iosb;
- +
- + int netclose (channel)
- + int channel;
- + {
- + int status;
- +
- + status = SYS$QIOW (0, channel, IO$_DELETE, &cmu_iosb, 0, 0,
- + 0, 0, 0, 0, 0, 0);
- + status = SYS$DASSGN (channel);
- +
- + return (0);
- + }
- +
- + int netread (channel, buffer, length)
- + int channel;
- + char *buffer;
- + int length;
- + {
- + int status;
- +
- + if (length > 1500) length = 1500;
- + status = SYS$QIOW (0, channel, IO$_READVBLK, &cmu_iosb, 0, 0,
- + buffer, length, 0, 0, 0, 0);
- + if ((status & 1) == 0)
- + return (-1);
- + if ((cmu_iosb.status & 1) == 0) {
- + if (cmu_iosb.status == 44)
- + exit (cmu_iosb.xxx);
- + return (-1);
- + }
- + return (cmu_iosb.size);
- + }
- +
- + int netwrite (channel, buffer, length)
- + int channel;
- + char *buffer;
- + int length;
- + {
- + int status;
- +
- + status = SYS$QIOW (0, channel, IO$_WRITEVBLK, &cmu_iosb, 0, 0,
- + buffer, length, 0, 1, 0, 0);
- + if ((status & 1) == 0)
- + return (-1);
- + if ((cmu_iosb.status & 1) == 0) {
- + if (cmu_iosb.status == 44)
- + exit (cmu_iosb.xxx);
- + return (-1);
- + }
- + return (cmu_iosb.size);
- + }
- +
- + #endif /* CMUIP */
- +
- +
- +
- + /*
- * Checks to see if Remote server is up..
- */
-
- ***************
- *** 636,639 ****
- --- 788,793 ----
- ;
-
- }
- +
- +
-
-