cvs commit: apache-1.3/src/support htdigest.c htpasswd.c

1999-10-21 Thread stoddard
stoddard99/10/21 13:46:38

  Modified:src/ap   ap_checkpass.c ap_getpass.c ap_snprintf.c
   src/include ap_config.h http_conf_globals.h httpd.h
multithread.h scoreboard.h
   src/main alloc.c buff.c http_core.c http_log.c http_main.c
http_request.c util.c util_script.c
   src/modules/proxy mod_proxy.c proxy_cache.c proxy_util.c
   src/modules/standard mod_auth_anon.c mod_cern_meta.c
mod_cgi.c mod_digest.c mod_expires.c mod_headers.c
mod_include.c mod_info.c mod_rewrite.c
mod_rewrite.h mod_speling.c mod_status.c
mod_userdir.c mod_usertrack.c
   src/support htdigest.c htpasswd.c
  Log:
  Apache port to Netware 5
  Submitted by: Mike Gardiner
  Reviewed by:  Bill Stoddard
  
  Revision  ChangesPath
  1.6   +1 -1  apache-1.3/src/ap/ap_checkpass.c
  
  Index: ap_checkpass.c
  ===
  RCS file: /home/cvs/apache-1.3/src/ap/ap_checkpass.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ap_checkpass.c1999/09/01 04:29:00 1.5
  +++ ap_checkpass.c1999/10/21 20:44:07 1.6
  @@ -97,7 +97,7 @@
/*
 * It's not our algorithm, so feed it to crypt() if possible.
 */
  -#ifdef WIN32
  +#if defined(WIN32) || defined(NETWARE)
/*
 * On Windows, the only alternative to our MD5 algorithm is plain
 * text.
  
  
  
  1.2   +3 -1  apache-1.3/src/ap/ap_getpass.c
  
  Index: ap_getpass.c
  ===
  RCS file: /home/cvs/apache-1.3/src/ap/ap_getpass.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ap_getpass.c  1999/05/31 17:09:30 1.1
  +++ ap_getpass.c  1999/10/21 20:44:09 1.2
  @@ -62,7 +62,9 @@
*/
   
   #include ap_config.h
  +#ifndef NETWARE
   #include sys/types.h
  +#endif
   #include errno.h
   #include ap.h
   
  @@ -104,7 +106,7 @@
   
   #endif
   
  -#ifdef WIN32
  +#if defined(WIN32) || defined(NETWARE)
   /*
* Windows lacks getpass().  So we'll re-implement it here.
*/
  
  
  
  1.37  +3 -1  apache-1.3/src/ap/ap_snprintf.c
  
  Index: ap_snprintf.c
  ===
  RCS file: /home/cvs/apache-1.3/src/ap/ap_snprintf.c,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- ap_snprintf.c 1999/09/02 16:27:26 1.36
  +++ ap_snprintf.c 1999/10/21 20:44:10 1.37
  @@ -62,7 +62,9 @@
   
   #include stdio.h
   #include ctype.h
  +#ifndef NETWARE
   #include sys/types.h
  +#endif
   #include stdarg.h
   #include string.h
   #include stdlib.h
  @@ -130,7 +132,7 @@
   register int r2;
   double fi, fj;
   register char *p, *p1;
  -
  +
   if (ndigits = NDIG - 1)
ndigits = NDIG - 2;
   r2 = 0;
  
  
  
  1.271 +41 -5 apache-1.3/src/include/ap_config.h
  
  Index: ap_config.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/ap_config.h,v
  retrieving revision 1.270
  retrieving revision 1.271
  diff -u -r1.270 -r1.271
  --- ap_config.h   1999/09/13 13:32:40 1.270
  +++ ap_config.h   1999/10/21 20:44:15 1.271
  @@ -72,7 +72,7 @@
   /*
* Support for platform dependent autogenerated defines
*/
  -#ifndef WIN32
  +#if !defined(WIN32)  !defined(NETWARE)
   #include ap_config_auto.h
   #else
   /* not available under WIN32, so provide important entries manually */
  @@ -81,9 +81,12 @@
   
   /* Have to include sys/stat.h before ../os/win32/os.h so we can override
   stat() properly */
  +#ifndef NETWARE
   #include sys/types.h
  +#endif
   #include sys/stat.h
   
  +
   /* So that we can use inline on some critical functions, and use
* GNUC attributes (such as to get -Wall warnings for printf-like
* functions).  Only do this in gcc 2.7 or later ... it may work
  @@ -113,7 +116,7 @@
   #include os.h
   #endif
   
  -#if !defined(QNX)  !defined(MPE)  !defined(WIN32)  !defined(TPF)
  +#if !defined(QNX)  !defined(MPE)  !defined(WIN32)  !defined(TPF)  
!defined(NETWARE)
   #include sys/param.h
   #endif
   
  @@ -950,6 +953,9 @@
   #define NEED_INITGROUPS
   #define NO_SLACK
   
  +#elif defined(NETWARE)
  +#define USE_HSREGEX
  +/* Most all NetWare stuff is in os/NetWare/os.h */
   #else
   /* Unknown system - Edit these to match */
   #ifdef BSD
  @@ -1017,7 +1023,9 @@
* file. If you have neither, I'm confused.
*/
   
  +#ifndef NETWARE
   #include sys/types.h
  +#endif
   #include stdarg.h
   
   #if !defined(NEXT)  !defined(WIN32)
  @@ -1037,10 +1045,10 @@
   #include strings.h
   #endif
   #include ap_ctype.h
  -#if !defined(MPE)  !defined(WIN32)  !defined(TPF)  !defined(__TANDEM)
  +#if 

cvs commit: apache-1.3/src/support htdigest.c htpasswd.c

1999-05-31 Thread coar
coar99/05/31 12:44:31

  Modified:src/support htdigest.c htpasswd.c
  Log:
Use the ap_getpass() wrapper rather than reinventing it.
  
  Revision  ChangesPath
  1.23  +68 -12apache-1.3/src/support/htdigest.c
  
  Index: htdigest.c
  ===
  RCS file: /home/cvs/apache-1.3/src/support/htdigest.c,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- htdigest.c1999/04/09 12:57:06 1.22
  +++ htdigest.c1999/05/31 19:44:30 1.23
  @@ -1,3 +1,59 @@
  +/* 
  + * Copyright (c) 1995-1999 The Apache Group.  All rights reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *notice, this list of conditions and the following disclaimer. 
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *notice, this list of conditions and the following disclaimer in
  + *the documentation and/or other materials provided with the
  + *distribution.
  + *
  + * 3. All advertising materials mentioning features or use of this
  + *software must display the following acknowledgment:
  + *This product includes software developed by the Apache Group
  + *for use in the Apache HTTP server project (http://www.apache.org/).
  + *
  + * 4. The names Apache Server and Apache Group must not be used to
  + *endorse or promote products derived from this software without
  + *prior written permission. For written permission, please contact
  + *[EMAIL PROTECTED]
  + *
  + * 5. Products derived from this software may not be called Apache
  + *nor may Apache appear in their names without prior written
  + *permission of the Apache Group.
  + *
  + * 6. Redistributions of any form whatsoever must retain the following
  + *acknowledgment:
  + *This product includes software developed by the Apache Group
  + *for use in the Apache HTTP server project (http://www.apache.org/).
  + *
  + * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
  + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  + * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  + * OF THE POSSIBILITY OF SUCH DAMAGE.
  + * 
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Group and was originally based
  + * on public domain software written at the National Center for
  + * Supercomputing Applications, University of Illinois, Urbana-Champaign.
  + * For more information on the Apache Group and the Apache HTTP server
  + * project, please see http://www.apache.org/.
  + *
  + */
   
/**

**
* NOTE! This program is not safe as a setuid executable!  Do not make it
  @@ -17,6 +73,7 @@
   #else
   #include sys/signal.h
   #endif
  +#include ap.h
   #include ap_md5.h
   
   #ifdef CHARSET_EBCDIC
  @@ -31,15 +88,6 @@
   
   char *tn;
   
  -static char *strd(char *s)
  -{
  -char *d;
  -
  -d = (char *) malloc(strlen(s) + 1);
  -strcpy(d, s);
  -return (d);
  -}
  -
   static void getword(char *word, char *line, char stop)
   {
   int x = 0, y;
  @@ -89,15 +137,23 @@
   AP_MD5_CTX context;
   unsigned char digest[16];
   char string[MAX_STRING_LEN];
  +char pwin[MAX_STRING_LEN];
  +char pwv[MAX_STRING_LEN];
   unsigned int i;
   
  -pw = strd((char *) getpass(New password:));
  -if (strcmp(pw, (char *) getpass(Re-type new password:))) {
  +if (ap_getpass(New password: , pwin, sizeof(pwin)) != 0) {
  + fprintf(stderr, password too long);
  + exit(5);
  +}
  +ap_getpass(Re-type new password: , pwv, sizeof(pwv));
  +if (strcmp(pwin, pwv) != 0) {
fprintf(stderr, They don't match, sorry.\n);
  - if (tn)
  + if (tn) {
unlink(tn);
  + }
exit(1);
   }
  +pw = pwin;
   fprintf(f, %s:%s:,