Print this page
first pass

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/crypt/crypt.c
          +++ new/usr/src/cmd/crypt/crypt.c
↓ open down ↓ 25 lines elided ↑ open up ↑
  26   26  /*
  27   27   * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  28   28   * Use is subject to license terms.
  29   29   */
  30   30  
  31   31  /*
  32   32   *      A one-rotor machine designed along the lines of Enigma
  33   33   *      but considerably trivialized.
  34   34   */
  35   35  
  36      -/* EXPORT DELETE START */
  37   36  #define ECHO 010
  38   37  #include <stdio.h>
  39   38  #include <stdlib.h>
  40   39  #include <unistd.h>
  41   40  #include <string.h>
  42   41  #include <crypt.h>
  43   42  #include <errno.h>
  44   43  
  45   44  #define ROTORSZ 256
  46   45  #define MASK 0377
↓ open down ↓ 42 lines elided ↑ open up ↑
  89   88                  t1[ic] = temp;
  90   89                  if (t3[k] != 0) continue;
  91   90                  ic = (random&MASK) % k;
  92   91                  while (t3[ic] != 0) ic = (ic+1) % k;
  93   92                  t3[k] = ic;
  94   93                  t3[ic] = k;
  95   94          }
  96   95          for (i = 0; i < ROTORSZ; i++)
  97   96                  t2[t1[i]&MASK] = i;
  98   97  }
  99      -/* EXPORT DELETE END */
 100   98  
 101   99  int
 102  100  main(int argc, char **argv)
 103  101  {
 104      -/* EXPORT DELETE START */
 105  102          extern int optind;
 106  103          char *p1;
 107  104          int i, n1, n2, nchar;
 108  105          int c;
 109  106          struct {
 110  107                  long offset;
 111  108                  unsigned int count;
 112  109          } header;
 113  110          int pflag = 0;
 114  111          int kflag = 0;
↓ open down ↓ 77 lines elided ↑ open up ↑
 192  189                  i = t2[(t3[(t1[(i+n1)&MASK]+n2)&MASK]-n2)&MASK]-n1;
 193  190                  (void) putchar(i);
 194  191                  n1++;
 195  192                  if (n1 == ROTORSZ) {
 196  193                          n1 = 0;
 197  194                          n2++;
 198  195                          if (n2 == ROTORSZ) n2 = 0;
 199  196                  }
 200  197          }
 201  198          return (0);
 202      -/* EXPORT DELETE END */
 203  199  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX