rse         99/09/27 00:19:59

  Modified:    src/ap   Makefile.tmpl
               src/support htpasswd.c
  Log:
  Make the support stuff finitely working again.
  
  BTW, how can it be that nowadays it can happen that the Apache Group has a
  source tree which doesn't compile under Unix for more than two weeks (I was
  busy with exams and it didn't compile src/support/ already there)? In the past
  this was definitely not possible.  Seems like the source-centered hacker focus
  drifts away... sorry, for me this seems like a horrifying evolution, friends.
  Please let us always make sure that the source at least compiles. I don't want
  to say it should also run, but hell, it should at least compile and if not it
  should be fixed within a few days...
  
  Revision  Changes    Path
  1.7       +1 -1      apache-2.0/src/ap/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/ap/Makefile.tmpl,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Makefile.tmpl     1999/09/23 19:07:56     1.6
  +++ Makefile.tmpl     1999/09/27 07:19:47     1.7
  @@ -5,7 +5,7 @@
   
   LIB=libap.a
   
  -OBJS= ap_base64.o ap_buf.o ap_hooks.o
  +OBJS= ap_base64.o ap_sha1.o ap_buf.o ap_hooks.o
   
   .c.o:
        $(CC) -c $(INCLUDES) $(CFLAGS) $<
  
  
  
  1.2       +13 -2     apache-2.0/src/support/htpasswd.c
  
  Index: htpasswd.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/support/htpasswd.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- htpasswd.c        1999/08/24 06:45:54     1.1
  +++ htpasswd.c        1999/09/27 07:19:55     1.2
  @@ -152,6 +152,17 @@
       fputc('\n', f);
   }
   
  +static void to64(char *s, unsigned long v, int n)
  +{
  +    static unsigned char itoa64[] =         /* 0 ... 63 => ASCII - 64 */
  +     "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  +
  +    while (--n >= 0) {
  +     *s++ = itoa64[v&0x3f];
  +     v >>= 6;
  +    }
  +}
  +
   /*
    * Make a password record from the given information.  A zero return
    * indicates success; failure means that the output buffer contains an
  @@ -192,7 +203,7 @@
   
       case ALG_APMD5: 
           (void) srand((int) time((time_t *) NULL));
  -        ap_to64(&salt[0], rand(), 8);
  +        to64(&salt[0], rand(), 8);
           salt[8] = '\0';
   
        ap_MD5Encode((const unsigned char *)pw, (const unsigned char *)salt,
  @@ -207,7 +218,7 @@
       case ALG_CRYPT:
       default:
           (void) srand((int) time((time_t *) NULL));
  -        ap_to64(&salt[0], rand(), 8);
  +        to64(&salt[0], rand(), 8);
           salt[8] = '\0';
   
        ap_cpystrn(cpw, (char *)crypt(pw, salt), sizeof(cpw) - 1);
  
  
  

Reply via email to