cvs commit: apache-apr/pthreads/src/modules/standard mod_mime_magic.c
manoj 99/02/02 23:49:02 Modified:pthreads/src/modules/standard mod_mime_magic.c Log: Compilation fix. Revision ChangesPath 1.3 +1 -1 apache-apr/pthreads/src/modules/standard/mod_mime_magic.c Index: mod_mime_magic.c === RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_mime_magic.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- mod_mime_magic.c 1999/01/27 16:15:47 1.2 +++ mod_mime_magic.c 1999/02/03 07:49:02 1.3 @@ -1,4 +1,4 @@ -2/* +/* * Copyright (c) 1995-1998 The Apache Group. All rights reserved. * * Redistribution and use in source and binary forms, with or without
cvs commit: apache-site/info known_bugs.html
pcs 99/02/03 07:30:02 Modified:info known_bugs.html Log: Some known bugs in 1.3.4. Revision ChangesPath 1.12 +15 -0 apache-site/info/known_bugs.html Index: known_bugs.html === RCS file: /export/home/cvs/apache-site/info/known_bugs.html,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- known_bugs.html 1998/06/05 06:57:42 1.11 +++ known_bugs.html 1999/02/03 15:30:01 1.12 @@ -37,6 +37,21 @@ problems/A./P HR +H2Apache 1.3.4 Bugs/H2 + +OL +LISTRONGWin32 only/STRONG Apache will not serve filenames starting +with CODECOM/CODE or containing CODE.COM/CODE. Instead +it will respond with a 403 Forbidden message, and log the error +CODEFilename is not valid/CODE. See A +HREF=http://bugs.apache.org/index/full/3769;PR#3769/A. +LISTRONGUnix only/STRONG CODEmake install/CODE fails on +some operating systems. This occurs when the operating system +version of tar does not support the h option. It has been reported +on SCO and BSDI. It does not affect systems which use GNU tar. +See A HREF=http://bugs.apache.org/index/full/3807;PR#3807/A. +/OL + H2Apache 1.3.0 Bugs/H2 OL
cvs commit: apache-1.3/src/support htpasswd.c httpd.exp
coar99/02/03 08:22:34 Modified:.STATUS src ApacheCore.def CHANGES src/ap ap_md5c.c src/include ap_md5.h ap_mmn.h src/modules/standard mod_auth.c mod_auth_db.c mod_auth_dbm.c src/support htpasswd.c httpd.exp Log: Rework the ap_MD5Encode() routine to use FreeBSD's algorithm and a private significator ($apr1); also make it reentrant. Abstract the password checking into a new routine, ap_validate_password(plaintext, hashed), and modify mod_auth*.c to use it instead of each doing the algorithm check. Obtained from:FreeBSD 3.0 /usr/src/lib/libcrypt/crypt.c (MD5) Revision ChangesPath 1.610 +1 -2 apache-1.3/STATUS Index: STATUS === RCS file: /home/cvs/apache-1.3/STATUS,v retrieving revision 1.609 retrieving revision 1.610 diff -u -r1.609 -r1.610 --- STATUS1999/02/02 16:15:50 1.609 +++ STATUS1999/02/03 16:22:25 1.610 @@ -1,5 +1,5 @@ 1.3 STATUS: - Last modified at [$Date: 1999/02/02 16:15:50 $] + Last modified at [$Date: 1999/02/03 16:22:25 $] Release: @@ -15,7 +15,6 @@ RELEASE SHOWSTOPPERS: -* md5 passwd stuff incompatible with FreeBSD implementation. RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP: 1.9 +1 -0 apache-1.3/src/ApacheCore.def Index: ApacheCore.def === RCS file: /home/cvs/apache-1.3/src/ApacheCore.def,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- ApacheCore.def1999/01/29 14:28:53 1.8 +++ ApacheCore.def1999/02/03 16:22:27 1.9 @@ -326,4 +326,5 @@ ap_os_is_filename_valid @319 ap_find_opaque_token @320 ap_MD5Encode @321 + ap_validate_password @322 1.1229+5 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1228 retrieving revision 1.1229 diff -u -r1.1228 -r1.1229 --- CHANGES 1999/01/30 19:19:23 1.1228 +++ CHANGES 1999/02/03 16:22:28 1.1229 @@ -1,5 +1,10 @@ Changes with Apache 1.3.5 + *) Rework the MD5 authentication scheme to use FreeBSD's algorithm, + and use a private significator ('$apr1$') to mark passwords as + being smashed with our own algorithm. Also abstract the password + checking into a new ap_validate_password() routine. [Ken Coar] + *) Win32: The filename validity checker now allows COM but refuses access to COM1 through COM4. This allows filenames such as com.name to be served. [Paul Sutton] PR#3769. 1.19 +217 -43 apache-1.3/src/ap/ap_md5c.c Index: ap_md5c.c === RCS file: /home/cvs/apache-1.3/src/ap/ap_md5c.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- ap_md5c.c 1999/01/25 22:55:36 1.18 +++ ap_md5c.c 1999/02/03 16:22:30 1.19 @@ -88,6 +88,17 @@ * */ +/* + * The ap_MD5Encode() routine uses much code obtained from the FreeBSD 3.0 + * MD5 crypt() function, which is licenced as follows: + * + * THE BEER-WARE LICENSE (Revision 42): + * [EMAIL PROTECTED] wrote this file. As long as you retain this notice you + * can do whatever you want with this stuff. If we meet some day, and you think + * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp + * + */ + #include string.h #include ap_config.h @@ -381,7 +392,7 @@ } /* Decodes input (unsigned char) into output (UINT4). Assumes len is - a multiple of 4. + * a multiple of 4. */ static void Decode(UINT4 *output, const unsigned char *input, unsigned int len) { @@ -391,47 +402,210 @@ output[i] = ((UINT4) input[j]) | (((UINT4) input[j + 1]) 8) | (((UINT4) input[j + 2]) 16) | (((UINT4) input[j + 3]) 24); } + +/* + * Define the Magic String prefix that identifies a password as being + * hashed using our algorithm. + */ +static const char *apr1_id = $apr1$; + +/* + * The following MD5 password encryption code was largely borrowed from + * the FreeBSD 3.0 /usr/src/lib/libcrypt/crypt.c file, which is + * licenced as stated at the top of this file. + */ + +static void to64 __P((char *, unsigned long, int)); + +static void to64(char *s, unsigned long v, int n) +{ +static void to64 __P((char *, unsigned long, int)); +static unsigned char
cvs commit: apache-apr/pthreads/src/os/unix multithread.c
rbb 99/02/03 09:50:15 Modified:pthreads/src/main Makefile.tmpl alloc.c http_main.c pthreads/src/modules/standard mod_autoindex.c pthreads/src/os/unix multithread.c Added: pthreads/src/include fdqueue.h pthreads/src/main fdqueue.c Log: Port to hybrid process/thread model. Doesn't work fully, but it will serve one request before dying. Basically the process that serves the first request becomes a zombie, so the subsequent requests are never picked up off the fd queue. Submitted by: fdqueue.[ch] submitted by Manoj KAsichainula Revision ChangesPath 1.1 apache-apr/pthreads/src/include/fdqueue.h Index: fdqueue.h === #ifndef FDQUEUE_H #define FDQUEUE_H #include stdlib.h #include unistd.h #include pthread.h #include sys/types.h #include sys/socket.h /* Bleccch. 0 on success always rubbed me the wrong way */ /* All failures are unrecoverable */ #define FD_QUEUE_SUCCESS 0 #define FD_QUEUE_FAILURE -1 /* Needs to be an invalid file descriptor because of queue_pop semantics */ typedef struct fd_queue_elem { int fd; struct sockaddr addr; } FDQueueElement; typedef struct fd_queue { int head; int tail; FDQueueElement *data; int bounds; pthread_mutex_t one_big_mutex; pthread_cond_t not_empty; pthread_cond_t not_full; } FDQueue; int queue_init(FDQueue *queue, size_t bounds); void queue_destroy(FDQueue *queue); int queue_push(FDQueue *queue, int fd, struct sockaddr *addr); int queue_pop(FDQueue *queue, struct sockaddr *addr); int queue_size(FDQueue *queue); #endif /* FDQUEUE_H */ 1.2 +1 -1 apache-apr/pthreads/src/main/Makefile.tmpl Index: Makefile.tmpl === RCS file: /home/cvs/apache-apr/pthreads/src/main/Makefile.tmpl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Makefile.tmpl 1999/01/21 23:08:32 1.1 +++ Makefile.tmpl 1999/02/03 17:50:08 1.2 @@ -11,7 +11,7 @@ http_config.o http_core.o http_log.o \ http_main.o http_protocol.o http_request.o http_vhost.o \ util.o util_date.o util_script.o util_uri.o util_md5.o \ - md5c.o rfc1413.o + md5c.o rfc1413.o fdqueue.o .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $ 1.2 +7 -7 apache-apr/pthreads/src/main/alloc.c Index: alloc.c === RCS file: /home/cvs/apache-apr/pthreads/src/main/alloc.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- alloc.c 1999/01/21 23:08:32 1.1 +++ alloc.c 1999/02/03 17:50:09 1.2 @@ -1975,14 +1975,14 @@ if (pipe_in) { close(in_fds[0]); close(in_fds[1]); - } + } if (pipe_out) { close(out_fds[0]); close(out_fds[1]); - } + } errno = save_errno; return 0; -} + } #ifdef WIN32 @@ -2077,10 +2077,10 @@ close(out_fds[0]); close(out_fds[1]); } - if (pipe_err) { + if (pipe_err) { close(err_fds[0]); close(err_fds[1]); - } + } errno = save_errno; return 0; } @@ -2101,11 +2101,11 @@ close(in_fds[0]); } - if (pipe_err) { + if (pipe_err) { close(err_fds[0]); dup2(err_fds[1], STDERR_FILENO); close(err_fds[1]); - } + } /* HP-UX SIGCHLD fix goes here, if someone will remind me what it is... */ signal(SIGCHLD, SIG_DFL); /* Was that it? */ 1.5 +272 -157 apache-apr/pthreads/src/main/http_main.c Index: http_main.c === RCS file: /home/cvs/apache-apr/pthreads/src/main/http_main.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- http_main.c 1999/01/28 21:54:07 1.4 +++ http_main.c 1999/02/03 17:50:09 1.5 @@ -92,9 +92,16 @@ #include util_script.h /* to force util_script.c linking */ #include util_uri.h #include scoreboard.h +#include fdqueue.h #include poll.h #include netinet/tcp.h #include stdio.h + +#ifdef USE_SHMGET_SCOREBOARD +#include sys/types.h +#include sys/ipc.h +#include sys/shm.h +#endif #include pthread.h /*#include initialization if any @@ -149,7 +156,7 @@ #ifdef MULTIPLE_GROUPS gid_t group_id_list[NGROUPS_MAX]; #endif -int ap_threads_per_child; +int ap_threads_per_child = 5; /* Need to require this directive, or make a valid default */
cvs commit: apache-apr/pthreads/src/main http_main.c
stoddard99/02/03 10:29:30 Modified:pthreads/src/main http_main.c Log: Get rid of stupid comment Revision ChangesPath 1.6 +1 -1 apache-apr/pthreads/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apache-apr/pthreads/src/main/http_main.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- http_main.c 1999/02/03 17:50:09 1.5 +++ http_main.c 1999/02/03 18:29:29 1.6 @@ -2066,7 +2066,7 @@ int rc; /* */ int configtestonly; -MONCONTROL(0); /* WTF is this? */ +MONCONTROL(0); common_init();
cvs commit: apache-1.3/src/ap ap_md5c.c
coar99/02/03 15:28:59 Modified:src/ap ap_md5c.c Log: Fix #ifdef problem for Win32 and nuke __P() prototypes. Revision ChangesPath 1.20 +1 -3 apache-1.3/src/ap/ap_md5c.c Index: ap_md5c.c === RCS file: /home/cvs/apache-1.3/src/ap/ap_md5c.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- ap_md5c.c 1999/02/03 16:22:30 1.19 +++ ap_md5c.c 1999/02/03 23:28:58 1.20 @@ -415,11 +415,8 @@ * licenced as stated at the top of this file. */ -static void to64 __P((char *, unsigned long, int)); - static void to64(char *s, unsigned long v, int n) { -static void to64 __P((char *, unsigned long, int)); static unsigned char itoa64[] = /* 0 ... 63 = ASCII - 64 */ ./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz; @@ -602,6 +599,7 @@ */ #ifdef WIN32 return crypt() unavailable on Win32, cannot validate password; +} #else crypt_pw = crypt(passwd, hash); ap_cpystrn(sample, crypt_pw, sizeof(sample) - 1);