home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-05-04 | 31.5 KB | 1,172 lines |
- Newsgroups: comp.sources.unix
- From: ram@acri.fr (Raphael Manfredi)
- Subject: v26i233: kit - the ultimate mailing kit, Patch27
- Sender: unix-sources-moderator@efficacy.home.vix.com
- Approved: WhoAmI@efficacy.home.vix.com
-
- Submitted-By: ram@acri.fr (Raphael Manfredi)
- Posting-Number: Volume 26, Issue 233
- Archive-Name: kit/pch27
-
- [The latest patch for kit version 2.0 is #28.]
-
- System: kit version 2.0
- Patch #: 27
- Priority: MEDIUM
- Subject: updated Copyright dates and my e-mail address
- Subject: dependency with cshar not needed any more
- Subject: manual page name was mis-spelled BABTAR
- Subject: added support for 64 bits architecture (tested on Alpha)
- Subject: do not use cshar's makekit any more but use our own archiver
- Subject: copyright dates updated
- Subject: added support for kit's own archiver variables
- Subject: will now skip leading comments in kit parts (when concatenated)
- Subject: updated copyright dates
- Subject: cshar(1) man page not referenced any more.
- Subject: now contains a pointer to some unshar(1) man page
- Date: Mon Apr 26 13:22:47 MET DST 1993
- From: Raphael Manfredi <ram@eiffel.com>
-
- Description:
- Updated Copyright dates and my e-mail address which is now
- <ram@acri.fr>.
-
- Dependency with cshar not needed any more. Kit's own shell archiver
- (written in shell scripts) is now always used. The cshar makekit
- program apparently has a nasty bug which sometimes makes it spit an
- extra empty leading part which then confuses unkit.
-
- Manual page name for badtar was mis-spelled BABTAR.
-
- Added support for 64 bits architecture (tested on Alpha).
-
- Added support for kit's own archiver variables in the 'secure'
- script. Until now, it only understood cshar's variable.
-
- Will now skip leading comments in kit parts (when concatenated), but
- is still looking for "naughty" characters after a leading '>> ' so
- that nobody can defeat this check with a '>> something && command'.
- If that introduces a security hole I am not aware of, please let me
- know.
-
-
- Fix: From rn, say "| patch -p -N -d DIR", where DIR is your kit source
- directory. Outside of rn, say "cd DIR; patch -p -N <thisarticle".
- If you don't have the patch program, apply the following by hand,
- or get patch (version 2.0, latest patchlevel).
-
- After patching:
- Configure -d
- make
- make install
-
- If patch indicates that patchlevel is the wrong version, you may need
- to apply one or more previous patches, or the patch may already
- have been applied. See the patchlevel.h file to find out what has or
- has not been applied. In any event, don't continue with the patch.
-
- If you are missing previous patches they can be obtained from me:
-
- Raphael Manfredi <ram@acri.fr>
-
- If you send a mail message of the following form it will greatly speed
- processing:
-
- Subject: Command
- @SH mailpatch PATH kit 2.0 LIST
- ^ note the c
-
- where PATH is a return path FROM ME TO YOU either in Internet notation,
- or in bang notation from some well-known host, and LIST is the number
- of one or more patches you need, separated by spaces, commas, and/or
- hyphens. Saying 35- says everything from 35 to the end.
-
- To get some more detailed instructions, send me the following mail:
-
- Subject: Command
- @SH mailhelp PATH
-
-
- Index: patchlevel.h
- Prereq: 26
- 2c2
- < #define PATCHLEVEL 26
- ---
- > #define PATCHLEVEL 27
-
- Index: des/des.c
- Prereq: 2.0.1.2
- *** des/des.c.old 1992/01/11 19:15:41
- --- des/des.c 1993/04/26 11:18:34
- ***************
- *** 4,16 ****
- */
-
- /*
- ! * $Id: des.c,v 2.0.1.2 92/01/11 19:15:41 ram Exp $
- *
- * $Log: des.c,v $
- ! * Revision 2.0.1.2 92/01/11 19:15:41 ram
- * patch11: added declarations for static functions
- * patch11: reported by Monty Solomon <roscom!monty@bu.edu>
- ! *
- * Revision 2.0.1.1 91/04/01 15:39:35 ram
- * patch1: created
- *
- --- 4,19 ----
- */
-
- /*
- ! * $Id: des.c,v 2.0.1.3 1993/04/26 11:18:34 ram Exp $
- *
- * $Log: des.c,v $
- ! * Revision 2.0.1.3 1993/04/26 11:18:34 ram
- ! * patch27: added support for 64 bits architecture (tested on Alpha)
- ! *
- ! * Revision 2.0.1.2 92/01/11 19:15:41 ram
- * patch11: added declarations for static functions
- * patch11: reported by Monty Solomon <roscom!monty@bu.edu>
- ! *
- * Revision 2.0.1.1 91/04/01 15:39:35 ram
- * patch1: created
- *
- ***************
- *** 20,31 ****
-
- #include "../config.h"
-
- #if BYTEORDER == 0x1234
- #define LITTLE_ENDIAN
- #endif
-
- ! #ifdef LITTLE_ENDIAN
- ! unsigned long byteswap();
- #endif
-
- /* Tables defined in the Data Encryption Standard documents */
- --- 23,49 ----
-
- #include "../config.h"
-
- + /* Provision for 64 bits machines -> remaps long to int. If the machine is
- + * ILP 64 (Integer, Long and Pointer types on 64 bits), then everything is fine,
- + * since both longs and ints can be used. If the machine is LP 64, then it has
- + * a 32 bits arithmetic and long must be used as an int.
- + */
- + #if (BYTEORDER | 0xffff) == 0xffff
- + typedef long long_t; /* 32 bits machines */
- + typedef unsigned long ulong_t;
- #if BYTEORDER == 0x1234
- #define LITTLE_ENDIAN
- #endif
- + #else
- + typedef int long_t; /* 64 bits, hopefully */
- + typedef unsigned int ulong_t;
- + #if BYTEORDER & 0x1234ffff
- + #define LITTLE_ENDIAN
- + #endif
- + #endif
-
- ! #ifdef LITTLE_ENDIAN
- ! ulong_t byteswap();
- #endif
-
- /* Tables defined in the Data Encryption Standard documents */
- ***************
- *** 166,172 ****
- /* End of DES-defined tables */
-
- /* Lookup tables initialized once only at startup by desinit() */
- ! static long (*sp)[64]; /* Combined S and P boxes */
-
- static char (*iperm)[16][8]; /* Initial and final permutations */
- static char (*fperm)[16][8];
- --- 184,190 ----
- /* End of DES-defined tables */
-
- /* Lookup tables initialized once only at startup by desinit() */
- ! static long_t (*sp)[64]; /* Combined S and P boxes */
-
- static char (*iperm)[16][8]; /* Initial and final permutations */
- static char (*fperm)[16][8];
- ***************
- *** 187,193 ****
- /* Declare static functions */
- static permute();
- static round();
- ! static long f();
- static perminit();
- static int spinit();
-
- --- 205,211 ----
- /* Declare static functions */
- static permute();
- static round();
- ! static long_t f();
- static perminit();
- static int spinit();
-
- ***************
- *** 208,214 ****
- }
- desmode = mode;
-
- ! if((sp = (long (*)[64])malloc(sizeof(long) * 8 * 64)) == NULL){
- return -1;
- }
- spinit();
- --- 226,232 ----
- }
- desmode = mode;
-
- ! if((sp = (long_t (*)[64])malloc(sizeof(long_t) * 8 * 64)) == NULL){
- return -1;
- }
- spinit();
- ***************
- *** 311,318 ****
- char *block;
- {
- register int i;
- ! unsigned long work[2]; /* Working data storage */
- ! long tmp;
-
- permute(block,iperm,(char *)work); /* Initial Permutation */
- #ifdef LITTLE_ENDIAN
- --- 329,336 ----
- char *block;
- {
- register int i;
- ! ulong_t work[2]; /* Working data storage */
- ! long_t tmp;
-
- permute(block,iperm,(char *)work); /* Initial Permutation */
- #ifdef LITTLE_ENDIAN
- ***************
- *** 340,347 ****
- char *block;
- {
- register int i;
- ! unsigned long work[2]; /* Working data storage */
- ! long tmp;
-
- permute(block,iperm,(char *)work); /* Initial permutation */
-
- --- 358,365 ----
- char *block;
- {
- register int i;
- ! ulong_t work[2]; /* Working data storage */
- ! long_t tmp;
-
- permute(block,iperm,(char *)work); /* Initial permutation */
-
- ***************
- *** 402,410 ****
- static
- round(num,block)
- int num; /* i.e. the num-th one */
- ! unsigned long *block;
- {
- ! long f();
-
- /* The rounds are numbered from 0 to 15. On even rounds
- * the right half is fed to f() and the result exclusive-ORs
- --- 420,428 ----
- static
- round(num,block)
- int num; /* i.e. the num-th one */
- ! ulong_t *block;
- {
- ! long_t f();
-
- /* The rounds are numbered from 0 to 15. On even rounds
- * the right half is fed to f() and the result exclusive-ORs
- ***************
- *** 418,429 ****
- }
- /* The nonlinear function f(r,k), the heart of DES */
- static
- ! long
- f(r,subkey)
- ! unsigned long r; /* 32 bits */
- unsigned char subkey[8]; /* 48-bit key for this round */
- {
- ! register unsigned long rval,rt;
- #ifdef TRACE
- unsigned char *cp;
- int i;
- --- 436,447 ----
- }
- /* The nonlinear function f(r,k), the heart of DES */
- static
- ! long_t
- f(r,subkey)
- ! ulong_t r; /* 32 bits */
- unsigned char subkey[8]; /* 48-bit key for this round */
- {
- ! register ulong_t rval,rt;
- #ifdef TRACE
- unsigned char *cp;
- int i;
- ***************
- *** 489,495 ****
- {
- char pbox[32];
- int p,i,s,j,rowcol;
- ! long val;
-
- /* Compute pbox, the inverse of p32i.
- * This is easier to work with
- --- 507,513 ----
- {
- char pbox[32];
- int p,i,s,j,rowcol;
- ! long_t val;
-
- /* Compute pbox, the inverse of p32i.
- * This is easier to work with
- ***************
- *** 525,533 ****
- #ifdef LITTLE_ENDIAN
- /* Byte swap a long */
- static
- ! unsigned long
- byteswap(x)
- ! unsigned long x;
- {
- register char *cp,tmp;
-
- --- 543,551 ----
- #ifdef LITTLE_ENDIAN
- /* Byte swap a long */
- static
- ! ulong_t
- byteswap(x)
- ! ulong_t x;
- {
- register char *cp,tmp;
-
-
- Index: btoa/atob.c
- Prereq: 2.0
- *** btoa/atob.c.old 1991/02/19 15:49:21
- --- btoa/atob.c 1993/04/26 11:18:01
- ***************
- *** 15,45 ****
-
- Raphael Manfredi (ram) modified this file, in order to produce
- meaningfull error messages (otherwise, fatal() was called, even
- ! when a temporary file could not be created...); added error()
- */
-
- /*
- ! * $Id: atob.c,v 2.0 1991/02/19 15:49:21 ram Exp $
- *
- * $Log: atob.c,v $
- ! * Revision 2.0 1991/02/19 15:49:21 ram
- ! * Baseline for first official release.
- *
- */
-
- #include <stdio.h>
-
- #define reg register
-
- #define streq(s0, s1) strcmp(s0, s1) == 0
-
- #define times85(x) ((((((x<<2)+x)<<2)+x)<<2)+x)
-
- ! long int Ceor = 0;
- ! long int Csum = 0;
- ! long int Crot = 0;
- ! long int word = 0;
- ! long int bcount = 0;
-
- fatal() {
- fprintf(stderr, "bad format or Csum to atob\n");
- --- 15,62 ----
-
- Raphael Manfredi (ram) modified this file, in order to produce
- meaningfull error messages (otherwise, fatal() was called, even
- ! when a temporary file could not be created...); added error().
- !
- ! RAM also added support for 64 bits platforms.
- */
-
- /*
- ! * $Id: atob.c,v 2.0.1.1 1993/04/26 11:18:01 ram Exp $
- *
- * $Log: atob.c,v $
- ! * Revision 2.0.1.1 1993/04/26 11:18:01 ram
- ! * patch27: added support for 64 bits architecture (tested on Alpha)
- *
- + * Revision 2.0 91/02/19 15:49:21 ram
- + * Baseline for first official release.
- + *
- */
-
- #include <stdio.h>
- + #include "../config.h"
-
- + /* Provision for 64 bits machines -> remaps long to int. If the machine is
- + * ILP 64 (Integer, Long and Pointer types on 64 bits), then everything is fine,
- + * since both longs and ints can be used. If the machine is LP 64, then it has
- + * a 32 bits arithmetic and long must be used as an int.
- + */
- + #if (BYTEORDER | 0xffff) == 0xffff
- + typedef long long_t; /* 32 bits machines */
- + #else
- + typedef int long_t; /* 64 bits, hopefully */
- + #endif
- +
- #define reg register
-
- #define streq(s0, s1) strcmp(s0, s1) == 0
-
- #define times85(x) ((((((x<<2)+x)<<2)+x)<<2)+x)
-
- ! long_t Ceor = 0;
- ! long_t Csum = 0;
- ! long_t Crot = 0;
- ! long_t word = 0;
- ! long_t bcount = 0;
-
- fatal() {
- fprintf(stderr, "bad format or Csum to atob\n");
- ***************
- *** 74,89 ****
- ++bcount;
- }
- else if (bcount < 4) {
- ! word = times85(word);
- word += DE(c);
- ++bcount;
- }
- else {
- ! word = times85(word) + DE(c);
- ! byteout((int)((word >> 24) & 255));
- ! byteout((int)((word >> 16) & 255));
- ! byteout((int)((word >> 8) & 255));
- ! byteout((int)(word & 255));
- word = 0;
- bcount = 0;
- }
- --- 91,106 ----
- ++bcount;
- }
- else if (bcount < 4) {
- ! word = times85((int) word);
- word += DE(c);
- ++bcount;
- }
- else {
- ! word = times85((int) word) + DE(c);
- ! byteout((int)(((int) word >> 24) & 255));
- ! byteout((int)(((int) word >> 16) & 255));
- ! byteout((int)(((int) word >> 8) & 255));
- ! byteout((int)((int) word & 255));
- word = 0;
- bcount = 0;
- }
- ***************
- *** 100,106 ****
- Ceor ^= c;
- Csum += c;
- Csum += 1;
- ! if ((Crot & 0x80000000)) {
- Crot <<= 1;
- Crot += 1;
- }
- --- 117,123 ----
- Ceor ^= c;
- Csum += c;
- Csum += 1;
- ! if (Crot & 0x80000000) {
- Crot <<= 1;
- Crot += 1;
- }
- ***************
- *** 114,123 ****
- main(argc, argv) char **argv;
- {
- reg c;
- ! reg long int i;
- char tmp_name[100];
- char buf[100];
- ! long int n1, n2, oeor, osum, orot;
-
- if (argc != 1) {
- fprintf(stderr,"bad args to %s\n", argv[0]);
- --- 131,140 ----
- main(argc, argv) char **argv;
- {
- reg c;
- ! reg long_t i;
- char tmp_name[100];
- char buf[100];
- ! long_t n1, n2, oeor, osum, orot;
-
- if (argc != 1) {
- fprintf(stderr,"bad args to %s\n", argv[0]);
- ***************
- *** 150,160 ****
- decode(c);
- }
- }
- ! if (scanf("btoa End N %ld %lx E %lx S %lx R %lx\n", &n1, &n2, &oeor, &osum, &orot) != 5) {
- error("could not read check sum");
- }
- if ((n1 != n2) || (oeor != Ceor) || (osum != Csum) || (orot != Crot)) {
- ! fatal();
- }
- else {
- /*copy OK tmp file to stdout*/;
- --- 167,181 ----
- decode(c);
- }
- }
- ! if (scanf("btoa End N %d %x E %x S %x R %x\n", &n1, &n2, &oeor, &osum, &orot) != 5) {
- error("could not read check sum");
- }
- if ((n1 != n2) || (oeor != Ceor) || (osum != Csum) || (orot != Crot)) {
- ! fprintf(stderr, "n1: %d, n2: %d\n", n1, n2);
- ! fprintf(stderr, "oeor: %d, Ceor %d\n", oeor, Ceor);
- ! fprintf(stderr, "osum: %d, Csum %d\n", osum, Csum);
- ! fprintf(stderr, "orot: %d, Crot %d\n", orot, Crot);
- ! error("check sum did not match original");
- }
- else {
- /*copy OK tmp file to stdout*/;
-
- Index: kit/kit.SH
- Prereq: 2.0.1.13
- *** kit/kit.SH.old 1993/01/11 18:06:46
- --- kit/kit.SH 1993/04/26 11:19:14
- ***************
- *** 17,23 ****
- $startsh
- # @(#) converts to ascii && packages a whole directory
- # @(#) (c) E. Mogenet April, 1990
- ! # @(#) (c) R. Manfredi, 1990 1991
-
- # Which patch-level is it ?
- pl='$PATCHLEVEL'
- --- 17,23 ----
- $startsh
- # @(#) converts to ascii && packages a whole directory
- # @(#) (c) E. Mogenet April, 1990
- ! # @(#) (c) R. Manfredi, 1990-1993
-
- # Which patch-level is it ?
- pl='$PATCHLEVEL'
- ***************
- *** 26,37 ****
- !GROK!THIS!
- $spitshell >>kit <<'!NO!SUBS!'
-
- ! # $Id: kit.SH,v 2.0.1.13 93/01/11 18:06:46 ram Exp $
- #
- # $Log: kit.SH,v $
- ! # Revision 2.0.1.13 93/01/11 18:06:46 ram
- ! # patch22: now uses external getopt script for option parsing
- #
- # Revision 2.0.1.12 92/11/03 10:12:34 ram
- # patch21: option parsing can now deal with embeded spaces in arguments
- #
- --- 26,40 ----
- !GROK!THIS!
- $spitshell >>kit <<'!NO!SUBS!'
-
- ! # $Id: kit.SH,v 2.0.1.14 1993/04/26 11:19:14 ram Exp $
- #
- # $Log: kit.SH,v $
- ! # Revision 2.0.1.14 1993/04/26 11:19:14 ram
- ! # patch27: do not use cshar's makekit any more but use our own archiver
- #
- + # Revision 2.0.1.13 93/01/11 18:06:46 ram
- + # patch22: now uses external getopt script for option parsing
- + #
- # Revision 2.0.1.12 92/11/03 10:12:34 ram
- # patch21: option parsing can now deal with embeded spaces in arguments
- #
- ***************
- *** 347,358 ****
- "
- fi
-
- ! # Check whether we can use cshar or not
- ! if (makekit -v) >/dev/null 2>&1; then
- ! makekit="makekit -k100 -s $maxsize -n $partname ${split_file}* $others"
- ! else
- ! makekit="$libdir/makeshar -s $maxsize -n $partname ${split_file}* $others"
- ! fi
-
- echo "Coding with $coding"
- # Beware: 'eval $coding < $tmpfile' is not portable
- --- 350,359 ----
- "
- fi
-
- ! # Kit used to use cshar's makekit program when available but due to a
- ! # really strange bug when packing some files (leading to a blank archive #1),
- ! # kit's own archiving program is now always used.
- ! makekit="$libdir/makeshar -s $maxsize -n $partname ${split_file}* $others"
-
- echo "Coding with $coding"
- # Beware: 'eval $coding < $tmpfile' is not portable
-
- Index: man/kit.SH
- Prereq: 2.0.1.12
- *** man/kit.SH.old 1993/02/08 18:14:56
- --- man/kit.SH 1993/04/26 11:22:28
- ***************
- *** 18,30 ****
- .TH KIT $manext "Version $VERSION PL$PATCHLEVEL"
- ''' @(#) Manual page for mailing kit -- (c) ram July 1990
- '''
- ! ''' $Id: kit.SH,v 2.0.1.12 93/02/08 18:14:56 ram Exp $
- '''
- ''' $Log: kit.SH,v $
- ! ''' Revision 2.0.1.12 93/02/08 18:14:56 ram
- ''' patch24: documents new options -d, -s and -S for unkit
- ''' patch24: new file 'secure' installed in private library
- ! '''
- ''' Revision 2.0.1.11 93/01/11 18:08:33 ram
- ''' patch22: manual page now carries version number and patchlevel
- ''' patch22: added OPTIONS section for quick reference
- --- 18,34 ----
- .TH KIT $manext "Version $VERSION PL$PATCHLEVEL"
- ''' @(#) Manual page for mailing kit -- (c) ram July 1990
- '''
- ! ''' $Id: kit.SH,v 2.0.1.13 1993/04/26 11:22:28 ram Exp $
- '''
- ''' $Log: kit.SH,v $
- ! ''' Revision 2.0.1.13 1993/04/26 11:22:28 ram
- ! ''' patch27: cshar(1) man page not referenced any more.
- ! ''' patch27: now contains a pointer to some unshar(1) man page
- ! '''
- ! ''' Revision 2.0.1.12 93/02/08 18:14:56 ram
- ''' patch24: documents new options -d, -s and -S for unkit
- ''' patch24: new file 'secure' installed in private library
- ! '''
- ''' Revision 2.0.1.11 93/01/11 18:08:33 ram
- ''' patch22: manual page now carries version number and patchlevel
- ''' patch22: added OPTIONS section for quick reference
- ***************
- *** 579,587 ****
- although the acknowledgment feature itself will only be handled by 2.0 PL15 and
- later versions.
- .SH "SEE ALSO"
- ! atob($manext), btoa($manext), cshar(1), makekit(1).
- .SH AUTHOR
- ! Raphael Manfredi <ram@eiffel.com>.
-
- \fIKit\fR was first developed at the Ecole des Mines, Saint-Etienne,
- France. Many improvements were added at Interactive Software
- --- 583,591 ----
- although the acknowledgment feature itself will only be handled by 2.0 PL15 and
- later versions.
- .SH "SEE ALSO"
- ! atob($manext), btoa($manext), unshar(1), makekit(1).
- .SH AUTHOR
- ! Raphael Manfredi <ram@acri.fr>.
-
- \fIKit\fR was first developed at the Ecole des Mines, Saint-Etienne,
- France. Many improvements were added at Interactive Software
-
- Index: btoa/btoa.c
- Prereq: 2.0
- *** btoa/btoa.c.old 1991/02/19 15:49:25
- --- btoa/btoa.c 1993/04/26 11:18:21
- ***************
- *** 16,45 ****
- 'z' encodes 32-bit zero; 'x' is used to mark the end of encoded data.
-
- Paul Rutter Joe Orost
- */
-
- /*
- ! * $Id: btoa.c,v 2.0 1991/02/19 15:49:25 ram Exp $
- *
- * $Log: btoa.c,v $
- ! * Revision 2.0 1991/02/19 15:49:25 ram
- ! * Baseline for first official release.
- *
- */
-
- #include <stdio.h>
-
- #define reg register
-
- #define MAXPERLINE 78
-
- ! long int Ceor = 0;
- ! long int Csum = 0;
- ! long int Crot = 0;
- !
- ! long int ccount = 0;
- ! long int bcount = 0;
- ! long int word;
-
- #define EN(c) (int) ((c) + '!')
-
- --- 16,63 ----
- 'z' encodes 32-bit zero; 'x' is used to mark the end of encoded data.
-
- Paul Rutter Joe Orost
- +
- + Raphael Manfredi added support for 64 bits platforms.
- */
-
- /*
- ! * $Id: btoa.c,v 2.0.1.1 1993/04/26 11:18:21 ram Exp $
- *
- * $Log: btoa.c,v $
- ! * Revision 2.0.1.1 1993/04/26 11:18:21 ram
- ! * patch27: added support for 64 bits architecture (tested on Alpha)
- *
- + * Revision 2.0 91/02/19 15:49:25 ram
- + * Baseline for first official release.
- + *
- */
-
- #include <stdio.h>
- + #include "../config.h"
- +
- + /* Provision for 64 bits machines -> remaps long to int. If the machine is
- + * ILP 64 (Integer, Long and Pointer types on 64 bits), then everything is fine,
- + * since both longs and ints can be used. If the machine is LP 64, then it has
- + * a 32 bits arithmetic and long must be used as an int.
- + */
- + #if (BYTEORDER | 0xffff) == 0xffff
- + typedef long long_t; /* 32 bits machines */
- + #else
- + typedef int long_t; /* 64 bits, hopefully */
- + #endif
- +
-
- #define reg register
-
- #define MAXPERLINE 78
-
- ! long_t Ceor = 0;
- ! long_t Csum = 0;
- ! long_t Crot = 0;
- !
- ! long_t ccount = 0;
- ! long_t bcount = 0;
- ! long_t word;
-
- #define EN(c) (int) ((c) + '!')
-
- ***************
- *** 48,54 ****
- Ceor ^= c;
- Csum += c;
- Csum += 1;
- ! if ((Crot & 0x80000000)) {
- Crot <<= 1;
- Crot += 1;
- }
- --- 66,72 ----
- Ceor ^= c;
- Csum += c;
- Csum += 1;
- ! if (Crot & 0x80000000) {
- Crot <<= 1;
- Crot += 1;
- }
- ***************
- *** 68,92 ****
- }
- }
-
- ! wordout(word) reg long int word;
- {
- if (word == 0) {
- charout('z');
- }
- else {
- ! reg int tmp = 0;
-
- if (word < 0)
- { /* Because some don't support unsigned long */
- tmp = 32;
- ! word = word - (long)(85 * 85 * 85 * 85 * 32);
- }
- if (word < 0) {
- tmp = 64;
- ! word = word - (long)(85 * 85 * 85 * 85 * 32);
- }
- ! charout(EN((word / (long)(85 * 85 * 85 * 85)) + tmp));
- ! word %= (long)(85 * 85 * 85 * 85);
- charout(EN(word / (85 * 85 * 85)));
- word %= (85 * 85 * 85);
- charout(EN(word / (85 * 85)));
- --- 86,110 ----
- }
- }
-
- ! wordout(word) reg long_t word;
- {
- if (word == 0) {
- charout('z');
- }
- else {
- ! reg long_t tmp = 0;
-
- if (word < 0)
- { /* Because some don't support unsigned long */
- tmp = 32;
- ! word = word - (long_t)(85 * 85 * 85 * 85 * 32);
- }
- if (word < 0) {
- tmp = 64;
- ! word = word - (long_t)(85 * 85 * 85 * 85 * 32);
- }
- ! charout(EN((word / (long_t)(85 * 85 * 85 * 85)) + tmp));
- ! word %= (long_t)(85 * 85 * 85 * 85);
- charout(EN(word / (85 * 85 * 85)));
- word %= (85 * 85 * 85);
- charout(EN(word / (85 * 85)));
- ***************
- *** 109,116 ****
- main(argc,argv)
- char **argv;
- {
- ! reg c;
- ! reg long int n;
-
- if (argc != 1) {
- fprintf(stderr,"bad args to %s\n", argv[0]);
- --- 127,134 ----
- main(argc,argv)
- char **argv;
- {
- ! reg int c;
- ! reg long_t n;
-
- if (argc != 1) {
- fprintf(stderr,"bad args to %s\n", argv[0]);
- ***************
- *** 130,135 ****
- ; /* this avoids bug in BITNET, which changes blank line to spaces */
- else
- putchar('\n');
- ! printf("xbtoa End N %ld %lx E %lx S %lx R %lx\n", n, n, Ceor, Csum, Crot);
- exit(0);
- }
- --- 148,155 ----
- ; /* this avoids bug in BITNET, which changes blank line to spaces */
- else
- putchar('\n');
- ! printf("xbtoa End N %d %x E %x S %x R %x\n",
- ! (int) n, (int) n, (int) Ceor, (int) Csum, (int) Crot);
- exit(0);
- }
- +
-
- Index: README
- *** README.old 1993/02/19 14:49:51
- --- README 1993/04/26 11:15:17
- ***************
- *** 1,6 ****
- kit 2.0
-
- ! Copyright (c) 1990 1991 1992, Raphael Manfredi
-
- You may copy this kit in whole or in part as long as you don't try to
- make money off it, or pretend you wrote it.
- --- 1,6 ----
- kit 2.0
-
- ! Copyright (c) 1990-1993, Raphael Manfredi
-
- You may copy this kit in whole or in part as long as you don't try to
- make money off it, or pretend you wrote it.
- ***************
- *** 14,25 ****
- in MANIFEST.
-
- Kit used to rely on Rich Salz's cshar package but is now self-contained.
- - However, if you have the opportunity to get cshar, I would recommend its
- - installation. Kit will automatically use the tools from cshar when they
- - are available.
-
- In order to use kit, you must have an implementation of compress. If you
- ! miss it, send me a mail: ram@eiffel.com (Raphael Manfredi).
-
- Moreover, hexdecode, hexencode, atob and btoa must be installed. The
- public-domain implementation of des, which is provided with kit, must
- --- 14,22 ----
- in MANIFEST.
-
- Kit used to rely on Rich Salz's cshar package but is now self-contained.
-
- In order to use kit, you must have an implementation of compress. If you
- ! miss it, send me a mail: ram@acri.fr (Raphael Manfredi).
-
- Moreover, hexdecode, hexencode, atob and btoa must be installed. The
- public-domain implementation of des, which is provided with kit, must
- ***************
- *** 44,50 ****
- 4) Read the manual entries before running.
-
- 5) IMPORTANT! Communicate any problem and suggested patches to
- ! me, ram@eiffel.com (Raphael Manfredi), so we can keep this
- distribution in sync. If you have a problem, there will be someone
- who might have had it or will have it too.
-
- --- 41,47 ----
- 4) Read the manual entries before running.
-
- 5) IMPORTANT! Communicate any problem and suggested patches to
- ! me, ram@acri.fr (Raphael Manfredi), so we can keep this
- distribution in sync. If you have a problem, there will be someone
- who might have had it or will have it too.
-
- ***************
- *** 70,78 ****
-
- CREDITS
-
- ! Kit relies on four public-domain softwares:
-
- - - cshar, written by Rich Salz (kit will use it if possible).
- - des, written by Phil Karn, which is provided with kit.
- - btoa (as a stripped down implementation).
- - badtar, written by Mike Williams, with a few enhancements.
- --- 67,74 ----
-
- CREDITS
-
- ! Kit relies on three public-domain softwares:
-
- - des, written by Phil Karn, which is provided with kit.
- - btoa (as a stripped down implementation).
- - badtar, written by Mike Williams, with a few enhancements.
- ***************
- *** 107,110 ****
- I strive to keep it accurate, things get so hectic here that sometimes I
- simply forget to update it.
-
- ! Raphael Manfredi <ram@eiffel.com>
- --- 103,106 ----
- I strive to keep it accurate, things get so hectic here that sometimes I
- simply forget to update it.
-
- ! Raphael Manfredi <ram@acri.fr>
-
- Index: kit/secure
- Prereq: 2.0.1.2
- *** kit/secure.old 1993/02/10 15:29:00
- --- kit/secure 1993/04/26 11:20:27
- ***************
- *** 1,12 ****
- #!/usr/bin/perl
-
- ! # $Id: secure,v 2.0.1.2 93/02/10 15:29:00 ram Exp $
- #
- # $Log: secure,v $
- ! # Revision 2.0.1.2 93/02/10 15:29:00 ram
- # patch25: forgot checks for archives with more than 10 parts
- # patch25: kit's own shar removes ark*isdone for multipart archives
- ! #
- # Revision 2.0.1.1 93/02/08 18:12:21 ram
- # patch24: created
- #
- --- 1,16 ----
- #!/usr/bin/perl
-
- ! # $Id: secure,v 2.0.1.3 1993/04/26 11:20:27 ram Exp $
- #
- # $Log: secure,v $
- ! # Revision 2.0.1.3 1993/04/26 11:20:27 ram
- ! # patch27: added support for kit's own archiver variables
- ! # patch27: will now skip leading comments in kit parts (when concatenated)
- ! #
- ! # Revision 2.0.1.2 93/02/10 15:29:00 ram
- # patch25: forgot checks for archives with more than 10 parts
- # patch25: kit's own shar removes ark*isdone for multipart archives
- ! #
- # Revision 2.0.1.1 93/02/08 18:12:21 ram
- # patch24: created
- #
- ***************
- *** 48,54 ****
- next if /^test -f '[\w.]+' -a "\$\{1\}\" != "-c"\s*$/;
- next if /^test \d+ -ne `wc -c <\s*'[\w.]+'`\s*$/;
- next if /^test ! -f ark\$\{i\}isdone\s*$/i;
- ! next if /^test "\$\{missing\}" = ""\s*$/i;
- &error;
- } elsif (s/^rm //) {
- next if /^-f ark\[1-9\]isdone$/;
- --- 52,58 ----
- next if /^test -f '[\w.]+' -a "\$\{1\}\" != "-c"\s*$/;
- next if /^test \d+ -ne `wc -c <\s*'[\w.]+'`\s*$/;
- next if /^test ! -f ark\$\{i\}isdone\s*$/i;
- ! next if /^test "\$\{?missing\}?" = ""\s*$/i;
- &error;
- } elsif (s/^rm //) {
- next if /^-f ark\[1-9\]isdone$/;
- ***************
- *** 63,70 ****
- &erorr;
- } elsif (s/^for (.*); do\s*$/$1/) {
- &loose_check;
- } else {
- ! next if /^missing="(\$\{missing\}\s+\$\{i\})?"$/i;
- &error;
- }
- }
- --- 67,77 ----
- &erorr;
- } elsif (s/^for (.*); do\s*$/$1/) {
- &loose_check;
- + } elsif (s/^>>\s?//) { # Kit leading comments
- + &comment_check;
- } else {
- ! next if /^missing="(\$\{?missing\}?\s+\$\{?i\}?)?"$/i;
- ! next if /^missing=''$/i;
- &error;
- }
- }
- ***************
- *** 78,83 ****
- --- 85,91 ----
- }
-
- # Check arguments to echo (no fear for () or {} subshells for instance), etc...
- + sub comment_check { &error if /[&^`\\|;><?]/; }
- sub echo_check { &error if /[&^*[`\\|;><?]/; }
- sub loose_check { &error if /[&^*([{}`\\|;><?]/; }
- sub strong_check { &error if /[=\$^&*([{}`\\|;><?]/; }
-
- Index: kit/unkit.SH
- Prereq: 2.0.1.16
- *** kit/unkit.SH.old 1993/02/08 18:13:58
- --- kit/unkit.SH 1993/04/26 11:21:29
- ***************
- *** 17,33 ****
- $startsh
- # @(#) unkit, reversal of kit
- # @(#) (c) E. Mogenet April 1990
- ! # @(#) (c) R. Manfredi, 1990 1991
-
- ! # $Id: unkit.SH,v 2.0.1.16 93/02/08 18:13:58 ram Exp $
- #
- # $Log: unkit.SH,v $
- ! # Revision 2.0.1.16 93/02/08 18:13:58 ram
- # patch24: new option -d to specify directory where kits are
- # patch24: added security checks (options -s and -S) on shell archives
- # patch24: avoid sending an acknowledgment when -l option used
- # patch24: (reported by Christian Bertin <bertin@acri.fr>)
- ! #
- # Revision 2.0.1.15 93/01/11 18:07:29 ram
- # patch22: now uses external getopt script for option parsing
- # patch22: fixed some typos in the help message
- --- 17,36 ----
- $startsh
- # @(#) unkit, reversal of kit
- # @(#) (c) E. Mogenet April 1990
- ! # @(#) (c) R. Manfredi, 1990-1993
-
- ! # $Id: unkit.SH,v 2.0.1.17 1993/04/26 11:21:29 ram Exp $
- #
- # $Log: unkit.SH,v $
- ! # Revision 2.0.1.17 1993/04/26 11:21:29 ram
- ! # patch27: updated copyright dates
- ! #
- ! # Revision 2.0.1.16 93/02/08 18:13:58 ram
- # patch24: new option -d to specify directory where kits are
- # patch24: added security checks (options -s and -S) on shell archives
- # patch24: avoid sending an acknowledgment when -l option used
- # patch24: (reported by Christian Bertin <bertin@acri.fr>)
- ! #
- # Revision 2.0.1.15 93/01/11 18:07:29 ram
- # patch22: now uses external getopt script for option parsing
- # patch22: fixed some typos in the help message
-
- Index: badtar/badtar.SH
- Prereq: 2.0.1.2
- *** badtar/badtar.SH.old 1992/05/02 14:10:56
- --- badtar/badtar.SH 1993/04/26 11:15:53
- ***************
- *** 15,29 ****
- echo "Extracting badtar/badtar.$manext (with variable substitutions)"
- $rm -f badtar.$manext
- $spitshell >badtar.$manext <<!GROK!THIS!
- ! .TH BABTAR $manext ram
- ''' @(#) Manual page for badtar -- (c) ram January 1992
- '''
- ! ''' $Id: badtar.SH,v 2.0.1.2 92/05/02 14:10:56 ram Exp $
- '''
- ''' $Log: badtar.SH,v $
- ! ''' Revision 2.0.1.2 92/05/02 14:10:56 ram
- ! ''' patch16: fixed incorrect extraction message
- '''
- ''' Revision 2.0.1.1 92/01/11 19:12:35 ram
- ''' patch11: created
- '''
- --- 15,32 ----
- echo "Extracting badtar/badtar.$manext (with variable substitutions)"
- $rm -f badtar.$manext
- $spitshell >badtar.$manext <<!GROK!THIS!
- ! .TH BADTAR $manext ram
- ''' @(#) Manual page for badtar -- (c) ram January 1992
- '''
- ! ''' $Id: badtar.SH,v 2.0.1.3 1993/04/26 11:15:53 ram Exp $
- '''
- ''' $Log: badtar.SH,v $
- ! ''' Revision 2.0.1.3 1993/04/26 11:15:53 ram
- ! ''' patch27: manual page name was mis-spelled BABTAR
- '''
- + ''' Revision 2.0.1.2 92/05/02 14:10:56 ram
- + ''' patch16: fixed incorrect extraction message
- + '''
- ''' Revision 2.0.1.1 92/01/11 19:12:35 ram
- ''' patch11: created
- '''
-
- Index: kit/mailkit.SH
- Prereq: 2.0.1.12
- *** kit/mailkit.SH.old 1993/01/11 18:06:55
- --- kit/mailkit.SH 1993/04/26 11:19:31
- ***************
- *** 16,29 ****
- $spitshell >mailkit <<!GROK!THIS!
- $startsh
- # @(#) Mailer for kit files
- ! # @(#) (c) R. Manfredi, 1990 1991
-
- ! # $Id: mailkit.SH,v 2.0.1.12 93/01/11 18:06:55 ram Exp $
- #
- # $Log: mailkit.SH,v $
- ! # Revision 2.0.1.12 93/01/11 18:06:55 ram
- ! # patch22: now uses external getopt script for option parsing
- #
- # Revision 2.0.1.11 92/11/03 10:12:40 ram
- # patch21: option parsing can now deal with embeded spaces in arguments
- #
- --- 16,32 ----
- $spitshell >mailkit <<!GROK!THIS!
- $startsh
- # @(#) Mailer for kit files
- ! # @(#) (c) R. Manfredi, 1990-1993
-
- ! # $Id: mailkit.SH,v 2.0.1.13 1993/04/26 11:19:31 ram Exp $
- #
- # $Log: mailkit.SH,v $
- ! # Revision 2.0.1.13 1993/04/26 11:19:31 ram
- ! # patch27: copyright dates updated
- #
- + # Revision 2.0.1.12 93/01/11 18:06:55 ram
- + # patch22: now uses external getopt script for option parsing
- + #
- # Revision 2.0.1.11 92/11/03 10:12:40 ram
- # patch21: option parsing can now deal with embeded spaces in arguments
- #
-
- *** End of Patch 27 ***
-