cvs commit: apache KEYS

1997-06-05 Thread Chuck Murcko
chuck   97/06/05 10:02:14

  Modified:. KEYS
  Log:
  added mine for code signing.
  
  Revision  ChangesPath
  1.9   +14 -0 apache/KEYS
  
  Index: KEYS
  ===
  RCS file: /export/home/cvs/apache/KEYS,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -C3 -r1.8 -r1.9
  *** KEYS  1997/06/05 10:25:20 1.8
  --- KEYS  1997/06/05 17:02:12 1.9
  ***
  *** 155,157 
  --- 155,171 
EGTiYbe+Y3sHJhhP+d0TOLmsETG9tpi7gFZ6FfNcWPxFMdxGrf4=
=0jQW
-END PGP PUBLIC KEY BLOCK-
  + 
  + Type bits/keyIDDate   User ID
  + pub  1024/BA20321D 1997/06/05 Chuck Murcko [EMAIL PROTECTED]
  + 
  + -BEGIN PGP PUBLIC KEY BLOCK-
  + Version: 2.6.2
  + 
  + mQCNAzOW7moAAAEEAMYZlNOxWCjLR/PosadbG+xsrB2unid2LiYoakTFiDIBaZjx
  + bu6hNmVZPYfKOXQcqrCu0EY3uVLP/L89bST5pfIZOzz8GTm33zrETgfzpXYyFdbX
  + eZ5vc6aa3+7zmI7h/aU567P9ruB2C/RBLl1A59wmPRRVvjEIAkI4bAO6IDIdAAUR
  + tCBDaHVjayBNdXJja28gPGNodWNrQHRvcHNhaWwub3JnPg==
  + =vUdL
  + -END PGP PUBLIC KEY BLOCK-
  + 
  
  
  


cvs commit: apache-site index.html

1997-06-05 Thread Chuck Murcko
chuck   97/06/05 17:22:39

  Modified:. index.html
  Log:
  Fixed a small typo. Also removed the sentence The Apache Group believes
  this release to be stable, and relatively bug-free. from the README,html
  under apache/dist.
  
  Revision  ChangesPath
  1.20  +1 -1  apache-site/index.html
  
  Index: index.html
  ===
  RCS file: /export/home/cvs/apache-site/index.html,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -C3 -r1.19 -r1.20
  *** index.html1997/06/04 11:11:25 1.19
  --- index.html1997/06/06 00:22:38 1.20
  ***
  *** 55,61 

The eleventh beta of Apache 1.2 has now been released.  The Apache Group 
has appreciated the broad testing that previous releases have received
  ! and looks forward to making the general release of 1.2 available. It is
the group's intention to give 1.2b11 some final testing in hopes of making
1.2b11 available as the general 1.2 release on June 5th.  If you are
running any beta of 1.2, you should upgrade to 1.2b11 for both stability
  --- 55,61 

The eleventh beta of Apache 1.2 has now been released.  The Apache Group 
has appreciated the broad testing that previous releases have received
  ! and looks forward to make the general release of 1.2 available. It is
the group's intention to give 1.2b11 some final testing in hopes of making
1.2b11 available as the general 1.2 release on June 5th.  If you are
running any beta of 1.2, you should upgrade to 1.2b11 for both stability
  
  
  


cvs commit: apache/src/modules/proxy proxy_util.c

1997-06-04 Thread Chuck Murcko
chuck   97/06/04 14:20:28

  Modified:src/modules/proxy  proxy_util.c
  Log:
  Final proxy cleanups for release. Change errant memchr call to memset.
  Check for NULL read fd in proxy_send_fb() so we minimize risk of a coredump
  after a timeout on the origin host connection.
  
  Revision  ChangesPath
  1.17  +2 -2  apache/src/modules/proxy/proxy_util.c
  
  Index: proxy_util.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_util.c,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -C3 -r1.16 -r1.17
  *** proxy_util.c  1997/05/31 22:43:00 1.16
  --- proxy_util.c  1997/06/04 21:20:27 1.17
  ***
  *** 399,405 
 */
hard_timeout(proxy send body, r);

  ! while (!con-aborted) {
n = bread(f, buf, IOBUFSIZE);
if (n == -1) /* input error */
{
  --- 399,405 
 */
hard_timeout(proxy send body, r);

  ! while (!con-aborted  f != NULL) {
n = bread(f, buf, IOBUFSIZE);
if (n == -1) /* input error */
{
  ***
  *** 717,723 
ipaddr = inet_addr(host);
hp = gethostbyaddr((char *)ipaddr, sizeof(u_long), AF_INET);
if (hp == NULL) {
  ! memchr(hpbuf, 0, sizeof(hpbuf));
hpbuf.h_name = 0;
hpbuf.h_addrtype = AF_INET;
hpbuf.h_length = sizeof(u_long);
  --- 717,723 
ipaddr = inet_addr(host);
hp = gethostbyaddr((char *)ipaddr, sizeof(u_long), AF_INET);
if (hp == NULL) {
  ! memset(hpbuf, 0, sizeof(hpbuf));
hpbuf.h_name = 0;
hpbuf.h_addrtype = AF_INET;
hpbuf.h_length = sizeof(u_long);
  
  
  


cvs commit: apache/src/modules/proxy proxy_util.c

1997-05-31 Thread Chuck Murcko
chuck   97/05/31 15:43:02

  Modified:src/modules/proxy  proxy_util.c
  Log:
  Submitted by: Jozsef Hollosi [EMAIL PROTECTED]
  Cleanup to remove malloc() from proxy_host2addr.
  
  Revision  ChangesPath
  1.16  +2 -3  apache/src/modules/proxy/proxy_util.c
  
  Index: proxy_util.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_util.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -C3 -r1.15 -r1.16
  *** proxy_util.c  1997/05/29 06:23:36 1.15
  --- proxy_util.c  1997/05/31 22:43:00 1.16
  ***
  *** 701,706 
  --- 701,707 
struct hostent *hp;
static struct hostent hpbuf;
static u_long ipaddr;
  + static char* charpbuf[2];

for (i=0; host[i] != '\0'; i++)
if (!isdigit(host[i])  host[i] != '.')
  ***
  *** 720,734 
hpbuf.h_name = 0;
hpbuf.h_addrtype = AF_INET;
hpbuf.h_length = sizeof(u_long);
  ! hpbuf.h_addr_list = malloc(2 * sizeof(char*));
hpbuf.h_addr_list[0] = (char*)ipaddr;
hpbuf.h_addr_list[1] = 0;
hp = hpbuf;
}
}
memcpy(reqhp, hp, sizeof(struct hostent));
  - if (hpbuf.h_addr_list != NULL)
  - free(hpbuf.h_addr_list);
return NULL;
}

  --- 721,733 
hpbuf.h_name = 0;
hpbuf.h_addrtype = AF_INET;
hpbuf.h_length = sizeof(u_long);
  ! hpbuf.h_addr_list = charpbuf;
hpbuf.h_addr_list[0] = (char*)ipaddr;
hpbuf.h_addr_list[1] = 0;
hp = hpbuf;
}
}
memcpy(reqhp, hp, sizeof(struct hostent));
return NULL;
}

  
  
  


cvs commit: apache/src CHANGES

1997-05-30 Thread Chuck Murcko
chuck   97/05/30 13:56:38

  Modified:src   CHANGES
  Log:
  Submitted by: Jozsef Hollosi [EMAIL PROTECTED]
  Fixup for PR#624 patch. No leak, no malloc(). Updated CHANGES.
  
  Revision  ChangesPath
  1.285 +2 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.284
  retrieving revision 1.285
  diff -C3 -r1.284 -r1.285
  *** CHANGES   1997/05/29 06:46:53 1.284
  --- CHANGES   1997/05/30 20:56:36 1.285
  ***
  *** 1,5 
  --- 1,7 
Changes with Apache 1.2

  +   *) Fixed open timestamp fd in proxy_cache.c [Chuck Murcko]
  + 
  *) Added undocumented perl SSI mechanism for -DUSE_PERL_SSI and mod_perl.
 [Rob Hartill]

  
  
  


cvs commit: apache/src/modules/proxy proxy_cache.c

1997-05-29 Thread Chuck Murcko
chuck   97/05/29 08:16:04

  Modified:src/modules/proxy  proxy_cache.c
  Log:
  Close timestamp file after open/create; partial fix for PR#624
  
  Revision  ChangesPath
  1.13  +3 -2  apache/src/modules/proxy/proxy_cache.c
  
  Index: proxy_cache.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_cache.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -C3 -r1.12 -r1.13
  *** proxy_cache.c 1997/04/06 07:43:48 1.12
  --- proxy_cache.c 1997/05/29 15:16:01 1.13
  ***
  *** 98,104 
array_header *files;
struct stat buf;
struct gc_ent *fent,**elts;
  ! int i;
static time_t lastcheck=BAD_DATE;  /* static data!!! */

cachedir = conf-root;
  --- 98,104 
array_header *files;
struct stat buf;
struct gc_ent *fent,**elts;
  ! int i, timefd;
static time_t lastcheck=BAD_DATE;  /* static data!!! */

cachedir = conf-root;
  ***
  *** 122,128 
unblock_alarms();
return;
}
  ! if (creat(filename, 0666) == -1)
{
if (errno != EEXIST)
proxy_log_uerror(creat, filename, NULL, r-server);
  --- 122,128 
unblock_alarms();
return;
}
  ! if ((timefd = creat(filename, 0666)) == -1)
{
if (errno != EEXIST)
proxy_log_uerror(creat, filename, NULL, r-server);
  ***
  *** 131,136 
  --- 131,137 
unblock_alarms();
return;
}
  + close(timefd);
} else
{
lastcheck = buf.st_mtime;  /* save the time */
  
  
  


cvs commit: apache/htdocs/manual/mod mod_proxy.html

1997-05-09 Thread Chuck Murcko
chuck   97/05/09 02:23:03

  Modified:htdocs/manual/mod  mod_proxy.html
  Log:
  Redo 'controlling access to proxy' section, noting that Limit block is
  required, that Files block is required for versions  1.2b10, and using
  all allowable methods in the Limit block.
  
  Revision  ChangesPath
  1.21  +4 -1  apache/htdocs/manual/mod/mod_proxy.html
  
  Index: mod_proxy.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_proxy.html,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -C3 -r1.20 -r1.21
  *** mod_proxy.html1997/05/01 05:27:01 1.20
  --- mod_proxy.html1997/05/09 09:23:02 1.21
  ***
  *** 301,313 

pre
lt;Directory proxy:*gt;
  ! lt;Limit GETgt;
order deny,allow
deny from [machines you'd like *not* to allow by IP address or name]
allow from [machines you'd like to allow by IP address or name]
lt;/Limitgt;
lt;/Directorygt;
/prep

h2a name=shortnameUsing Netscape hostname shortcuts/a/h2

  --- 301,316 

pre
lt;Directory proxy:*gt;
  ! lt;Limit GET PUT POST DELETE CONNECT OPTIONSgt;
order deny,allow
deny from [machines you'd like *not* to allow by IP address or name]
allow from [machines you'd like to allow by IP address or name]
lt;/Limitgt;
lt;/Directorygt;
/prep
  + 
  + A lt;Filesgt; block will also work, and is the only method known to work
  + for all possible URLs in Apache versions earlier than 1.2b10.p

h2a name=shortnameUsing Netscape hostname shortcuts/a/h2

  
  
  


cvs commit: apache/htdocs/manual unixware.html

1997-05-09 Thread Chuck Murcko
chuck   97/05/09 02:34:10

  Modified:htdocs/manual  unixware.html
  Log:
  Add info from DeanRMoeller [EMAIL PROTECTED], PR#466, concerning
  problems with accept() errors.
  
  Revision  ChangesPath
  1.3   +3 -1  apache/htdocs/manual/unixware.html
  
  Index: unixware.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/unixware.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -C3 -r1.2 -r1.3
  *** unixware.html 1997/04/25 01:27:30 1.2
  --- unixware.html 1997/05/09 09:34:09 1.3
  ***
  *** 16,22 
H2UnixWare 1.x/H2

Make sure that USE_FCNTL_SERIALIZE_ACCEPT is defined (if not
  ! defined by Apache autoconfiguration).

H2UnixWare 2.0.x/H2

  --- 16,24 
H2UnixWare 1.x/H2

Make sure that USE_FCNTL_SERIALIZE_ACCEPT is defined (if not
  ! defined by Apache autoconfiguration). If using the UnixWare icc/i
  ! compiler, and you still see accept() errors, don't use compiler 
optimization,
  ! or get igcc/i.

H2UnixWare 2.0.x/H2

  
  
  


cvs commit: apache/htdocs/manual/mod mod_proxy.html

1997-04-24 Thread Chuck Murcko
chuck   97/04/24 18:29:58

  Modified:htdocs/manual/mod  mod_proxy.html
  Log:
  Changed back to use of Directory blocks for access control.
  Clarified location of proxy source in 1.2.
  Added note that proxy is HTTP 1.0 compliant.
  
  Revision  ChangesPath
  1.19  +6 -6  apache/htdocs/manual/mod/mod_proxy.html
  
  Index: mod_proxy.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_proxy.html,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -C3 -r1.18 -r1.19
  *** mod_proxy.html1997/04/25 00:07:02 1.18
  --- mod_proxy.html1997/04/25 01:29:57 1.19
  ***
  *** 9,17 
H1Apache module mod_proxy/h1

This module is contained in the codemod_proxy.c/code file for Apache 
1.1.x,
  ! or the codemodules/proxy/libproxy.a/code library for Apache 1.2, and
  ! is not compiled in by default. It provides for a caching proxy server.
  ! It is only available in Apache 1.1 and later. Common configuration
questions are addressed a href=#configshere/a.

h3Note:/h3
  --- 9,17 
H1Apache module mod_proxy/h1

This module is contained in the codemod_proxy.c/code file for Apache 
1.1.x,
  ! or the codemodules/proxy/code subdirectory for Apache 1.2, and
  ! is not compiled in by default. It provides for an bHTTP 1.0/b caching 
proxy
  ! server. It is only available in Apache 1.1 and later. Common configuration
questions are addressed a href=#configshere/a.

h3Note:/h3
  ***
  *** 296,312 

a name=accessh2Controlling access to your proxy/h2

  ! You can control who can access your proxy via the normal lt;Filesgt;
control block using the following example:p

pre
  ! lt;Files proxy:*gt;
lt;Limit GETgt;
order deny,allow
deny from [machines you'd like *not* to allow by IP address or name]
allow from [machines you'd like to allow by IP address or name]
lt;/Limitgt;
  ! lt;/Filesgt;
/prep

a name=shortnameh2Using Netscape hostname shortcuts/h2
  --- 296,312 

a name=accessh2Controlling access to your proxy/h2

  ! You can control who can access your proxy via the normal lt;Directorygt;
control block using the following example:p

pre
  ! lt;Directory proxy:*gt;
lt;Limit GETgt;
order deny,allow
deny from [machines you'd like *not* to allow by IP address or name]
allow from [machines you'd like to allow by IP address or name]
lt;/Limitgt;
  ! lt;/Directorygt;
/prep

a name=shortnameh2Using Netscape hostname shortcuts/h2
  
  
  


cvs commit: apache/src/modules/proxy mod_proxy.h

1997-04-15 Thread Chuck Murcko
chuck   97/04/15 17:13:06

  Modified:src/modules/proxy  mod_proxy.h
  Log:
  Clean up TODO list; fix mailing address.
  
  Revision  ChangesPath
  1.11  +2 -4  apache/src/modules/proxy/mod_proxy.h
  
  Index: mod_proxy.h
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/mod_proxy.h,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -C3 -r1.10 -r1.11
  *** mod_proxy.h   1997/04/11 05:10:50 1.10
  --- mod_proxy.h   1997/04/16 00:13:05 1.11
  ***
  *** 88,98 
 
4. Use a cache expiry database for more efficient GC (Jeremy Wohl)

  ! 5. Handle multiple IPs for doconnect()

  ! 6. Bulletproof GC against SIGALRM
  ! 
  ! Chuck Murcko [EMAIL PROTECTED] 1 Oct 96

*/

  --- 88,96 
 
4. Use a cache expiry database for more efficient GC (Jeremy Wohl)

  ! 5. Bulletproof GC against SIGALRM

  ! Chuck Murcko [EMAIL PROTECTED] 15 April 1997

*/

  
  
  


cvs commit: apache/src/modules/proxy proxy_ftp.c

1997-04-13 Thread Chuck Murcko
chuck   97/04/13 20:43:34

  Modified:src/modules/proxy  proxy_ftp.c
  Log:
  Encode spaces for displayed filenames in directories.
  
  Revision  ChangesPath
  1.20  +26 -2 apache/src/modules/proxy/proxy_ftp.c
  
  Index: proxy_ftp.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_ftp.c,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -C3 -r1.19 -r1.20
  *** proxy_ftp.c   1997/04/13 15:20:30 1.19
  --- proxy_ftp.c   1997/04/14 03:43:33 1.20
  ***
  *** 149,155 
}
else
{
  ! p = proxy_canonenc(pool, r-args, strlen(r-args), enc_path, 1);
if (p == NULL) return BAD_REQUEST;
path = pstrcat(pool, path, ?, p, NULL);
}
  --- 149,155 
}
else
{
  ! p = proxy_canonenc(pool, r-args, strlen(r-args), enc_fpath, 1);
if (p == NULL) return BAD_REQUEST;
path = pstrcat(pool, path, ?, p, NULL);
}
  ***
  *** 213,218 
  --- 213,239 
return status;
}

  + static char *
  + encode_space(request_rec *r, char *path)
  + {
  + pool *pool=r-pool;
  + char *newpath;
  + int i, j, len;
  + 
  + len = strlen(path);
  + newpath = palloc(pool, 3 * len + 1);
  + for (i=0, j=0; i  len; i++, j++) {
  + if (path[i] != ' ')
  + newpath[j] = path[i];
  + else {
  + proxy_c2hex(' ', newpath[j]);
  + j += 2;
  + }
  + }
  + newpath[j] = '\0';
  + return newpath;
  + }
  + 
static long int
send_dir(BUFF *f, request_rec *r, BUFF *f2, struct cache_req *c, char *url)
{
  ***
  *** 220,225 
  --- 241,247 
char buf2[IOBUFSIZE];
char *filename;
char *tempurl;
  + char *newurlptr;
int searchidx = 0;
char *searchptr = NULL;
int firstfile = 1;
  ***
  *** 235,240 
  --- 257,263 
tempurl += n - 5;   /* leave room for ftp:// */
}

  + n = decodeenc(tempurl);
ap_snprintf(buf, sizeof(buf), 
HTMLHEADTITLE%s/TITLE/HEADBODYH1Directory %s/H1HRPRE, 
tempurl, tempurl);
bwrite(con-client, buf, strlen(buf));
if (f2 != NULL) bwrite(f2, buf, strlen(buf));
  ***
  *** 326,332 
else 
{
ap_snprintf(urlptr, sizeof(urlptr), 
%s%s%s,url,(url[strlen(url)-1]=='/' ?  : /), filename);
  ! ap_snprintf(buf2, sizeof(buf2), %s A 
HREF=\%s\%s/A\015\012, buf, urlptr, filename);
}
strncpy(buf, buf2, sizeof(buf));
buf[sizeof(buf)-1] = '\0';
  --- 349,356 
else 
{
ap_snprintf(urlptr, sizeof(urlptr), 
%s%s%s,url,(url[strlen(url)-1]=='/' ?  : /), filename);
  ! newurlptr = encode_space(r, urlptr);
  ! ap_snprintf(buf2, sizeof(buf2), %s A 
HREF=\%s\%s/A\015\012, buf, newurlptr, filename);
}
strncpy(buf, buf2, sizeof(buf));
buf[sizeof(buf)-1] = '\0';
  
  
  


cvs commit: apache/src/modules/proxy proxy_util.c

1997-04-12 Thread Chuck Murcko
chuck   97/04/11 23:17:46

  Modified:src/modules/proxy  proxy_util.c
  Log:
  Fix IP address handling of proxy_host2addr().
  
  Revision  ChangesPath
  1.13  +9 -10 apache/src/modules/proxy/proxy_util.c
  
  Index: proxy_util.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_util.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -C3 -r1.12 -r1.13
  *** proxy_util.c  1997/04/11 05:10:52 1.12
  --- proxy_util.c  1997/04/12 06:17:45 1.13
  ***
  *** 693,700 
proxy_host2addr(const char *host, struct hostent *reqhp)
{
int i;
  ! struct in_addr ipaddr;
  ! char *addr_str;

for (i=0; host[i] != '\0'; i++)
if (!isdigit(host[i])  host[i] != '.')
  --- 693,700 
proxy_host2addr(const char *host, struct hostent *reqhp)
{
int i;
  ! struct hostent *hp;
  ! u_long ipaddr;

for (i=0; host[i] != '\0'; i++)
if (!isdigit(host[i])  host[i] != '.')
  ***
  *** 702,719 

if (host[i] != '\0')
{
  - struct hostent *hp;
  - 
hp = gethostbyname(host);
  ! if (hp == NULL) return Host not found;
  ! memcpy(reqhp, hp, sizeof(struct hostent));
} else
{
  ! if ((ipaddr.s_addr = inet_addr(host)) == -1)
  ! return Bad IP address;
  ! Explain1(Address is %s, addr_str);
  ! memcpy(reqhp-h_addr, ipaddr, sizeof(struct in_addr));
}
return NULL;
}

  --- 702,718 

if (host[i] != '\0')
{
hp = gethostbyname(host);
  ! if (hp == NULL)
  ! return Host not found;
} else
{
  ! ipaddr = inet_addr(host);
  ! hp = gethostbyaddr((char *)ipaddr, sizeof(u_long), AF_INET);
  ! if (hp == NULL)
  ! return Address not found;
}
  + memcpy(reqhp, hp, sizeof(struct hostent));
return NULL;
}

  
  
  


cvs commit: apache/htdocs/manual/mod directives.html mod_proxy.html

1997-04-12 Thread Chuck Murcko
chuck   97/04/12 11:31:57

  Modified:htdocs/manual/mod  directives.html mod_proxy.html
  Log:
  Added CacheDirLength and CacheDirLevels. Fixed link for
  CacheLastModifedFactor.
  
  Revision  ChangesPath
  1.16  +3 -1  apache/htdocs/manual/mod/directives.html
  
  Index: directives.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/directives.html,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -C3 -r1.15 -r1.16
  *** directives.html   1997/04/11 22:23:25 1.15
  --- directives.html   1997/04/12 18:31:54 1.16
  ***
  *** 47,54 
liA HREF=mod_browser.html#browsermatchBrowserMatch/A
liA HREF=mod_browser.html#browsermatchnocaseBrowserMatchNoCase/A
liA HREF=mod_proxy.html#cachedefaultexpireCacheDefaultExpire/A
liA HREF=mod_proxy.html#cachegcintervalCacheGcInterval/A
  ! liA HREF=mod_proxy.html#cachelastmodfiedCacheLastModified/A
liA HREF=mod_proxy.html#cachemaxexpireCacheMaxExpire/A
liA 
HREF=mod_negotiation.html#cachenegotiateddocsCacheNegotiatedDocs/A
liA HREF=mod_proxy.html#cacherootCacheRoot/A
  --- 47,56 
liA HREF=mod_browser.html#browsermatchBrowserMatch/A
liA HREF=mod_browser.html#browsermatchnocaseBrowserMatchNoCase/A
liA HREF=mod_proxy.html#cachedefaultexpireCacheDefaultExpire/A
  + liA HREF=mod_proxy.html#cachedirlengthCacheDirLength/A
  + liA HREF=mod_proxy.html#cachedirlevelsCacheDirLevels/A
liA HREF=mod_proxy.html#cachegcintervalCacheGcInterval/A
  ! liA 
HREF=mod_proxy.html#cachelastmodifiedfactorCacheLastModifiedFactor/A
liA HREF=mod_proxy.html#cachemaxexpireCacheMaxExpire/A
liA 
HREF=mod_negotiation.html#cachenegotiateddocsCacheNegotiatedDocs/A
liA HREF=mod_proxy.html#cacherootCacheRoot/A
  
  
  
  1.16  +29 -4 apache/htdocs/manual/mod/mod_proxy.html
  
  Index: mod_proxy.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_proxy.html,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -C3 -r1.15 -r1.16
  *** mod_proxy.html1997/04/07 01:35:52 1.15
  --- mod_proxy.html1997/04/12 18:31:55 1.16
  ***
  *** 37,46 
lia href=#proxyblockProxyBlock/a
lia href=#cacherootCacheRoot/a
lia href=#cachesizeCacheSize/a
  - lia href=#cachegcintervalCacheGcInterval/a
lia href=#cachemaxexpireCacheMaxExpire/a
  - lia href=#cachelastmodifiedfactorCacheLastModifiedFactor/a
lia href=#cachedefaultexpireCacheDefaultExpire/a
lia href=#nocacheNoCache/a
/ul

  --- 37,48 
lia href=#proxyblockProxyBlock/a
lia href=#cacherootCacheRoot/a
lia href=#cachesizeCacheSize/a
lia href=#cachemaxexpireCacheMaxExpire/a
lia href=#cachedefaultexpireCacheDefaultExpire/a
  + lia href=#cachelastmodifiedfactorCacheLastModifiedFactor/a
  + lia href=#cachegcintervalCacheGcInterval/a
  + lia href=#cachedirlevelsCacheDirLevels/a
  + lia href=#cachedirlengthCacheDirLength/a
lia href=#nocacheNoCache/a
/ul

  ***
  *** 201,207 
Apache 1.1 and later.p

If the origin HTTP server did not supply an expiry date for the
  ! document, then estimate on using the formula
pre
  expiry-period = time-since-last-modification * lt;factorgt;
/pre
  --- 203,209 
Apache 1.1 and later.p

If the origin HTTP server did not supply an expiry date for the
  ! document, then estimate one using the formula
pre
  expiry-period = time-since-last-modification * lt;factorgt;
/pre
  ***
  *** 211,216 
  --- 213,241 
pIf the expiry-period would be longer than that set by CacheMaxExpire,
then the latter takes precedence.

  + A name=cachedirlevelsh2CacheDirLevels/h2/A
  + strongSyntax:/strong CacheDirLevels emlt;levelsgt;/embr
  + strongDefault:/strong /codeCacheDirLevels 3/codebr
  + strongContext:/strong server configbr
  + strongStatus:/strong Basebr
  + strongModule:/strong mod_proxybr
  + strongCompatibility:/strong CacheDirLevels is only available in
  + Apache 1.1 and later.p
  + 
  + CacheDirLevels sets the number of levels of subdirectories in the cache.
  + Cached data will be saved this many directory levels below CacheRoot.
  + 
  + A name=cachedirlengthh2CacheDirLength/h2/A
  + strongSyntax:/strong CacheDirLength emlt;lengthgt;/embr
  + strongDefault:/strong /codeCacheDirLength 1/codebr
  + strongContext:/strong server configbr
  + strongStatus:/strong Basebr
  + strongModule:/strong mod_proxybr
  + strongCompatibility:/strong CacheDirLength is only available in
  + Apache 1.1 and later.p
  + 
  + CacheDirLength sets the number of characters in proxy cache subdirectory 
names.
  + 
A name=cachedefaultexpireh2CacheDefaultExpire/h2/A
strongSyntax:/strong CacheDefaultExpire emlt;timegt;/embr
strongDefault:/strong /codeCacheDefaultExpire 1/codebr
  ***
  *** 

cvs commit: apache/htdocs/manual/misc known_bugs.html

1997-04-12 Thread Chuck Murcko
chuck   97/04/12 12:56:13

  Modified:htdocs/manual/misc  known_bugs.html
  Log:
  Updated to 1.2b8 from 1.2b6
  
  Revision  ChangesPath
  1.9   +4 -4  apache/htdocs/manual/misc/known_bugs.html
  
  Index: known_bugs.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/misc/known_bugs.html,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -C3 -r1.8 -r1.9
  *** known_bugs.html   1997/01/30 01:03:51 1.8
  --- known_bugs.html   1997/04/12 19:56:11 1.9
  ***
  *** 16,27 
PSee Also: A HREF=compat_notes.htmlCompatibility notes/A/P
HR

  ! H2Version 1.2b6/H2

  ! There are several known bugs in 1.2b6.  See the
  ! A HREF=http://www.apache.org/dist/patches/apply_to_1.2b6/;1.2b6 patches
directory/A for patches for some of the ones that have been fixed since
  ! the release of 1.2b6.P

H2Version 1.2/H2

  --- 16,27 
PSee Also: A HREF=compat_notes.htmlCompatibility notes/A/P
HR

  ! H2Version 1.2b8/H2

  ! There are several known bugs in 1.2b8.  See the
  ! A HREF=http://www.apache.org/dist/patches/apply_to_1.2b8/;1.2b8 patches
directory/A for patches for some of the ones that have been fixed since
  ! the release of 1.2b8.P

H2Version 1.2/H2

  
  
  


cvs commit: apache/htdocs/manual unixware.html install.html install_1_1.html

1997-04-12 Thread Chuck Murcko
chuck   97/04/12 14:49:33

  Modified:htdocs/manual  install.html install_1_1.html
  Added:   htdocs/manual  unixware.html
  Log:
  Add info for building under UnixWare to the 'Compiling and Installing'
  pages.
  
  Revision  ChangesPath
  1.6   +4 -1  apache/htdocs/manual/install.html
  
  Index: install.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/install.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -C3 -r1.5 -r1.6
  *** install.html  1997/02/19 09:55:17 1.5
  --- install.html  1997/04/12 21:49:30 1.6
  ***
  *** 10,16 
H1Compiling and Installing Apache 1.2/H1

If you wish to download and install an earlier version of Apache please
  ! read A HREF=install_1_1.htmlCompiling and Installing Apache 1.1/A.

H2Downloading Apache/H2

  --- 10,19 
H1Compiling and Installing Apache 1.2/H1

If you wish to download and install an earlier version of Apache please
  ! read A HREF=install_1_1.htmlCompiling and Installing Apache 1.1/A./P
  ! 
  ! UnixWare users will want to consult A HREF=unixware.htmlbuild notes/A
  ! for various UnixWare versions before compiling.

H2Downloading Apache/H2

  
  
  
  1.3   +4 -1  apache/htdocs/manual/install_1_1.html
  
  Index: install_1_1.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/install_1_1.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -C3 -r1.2 -r1.3
  *** install_1_1.html  1996/11/26 05:36:39 1.2
  --- install_1_1.html  1997/04/12 21:49:30 1.3
  ***
  *** 11,17 
Information on the latest version of Apache can be found on the Apache
web server at http://www.apache.org/. This will list the current release,
any more recent beta-test release, together with details of mirror
  ! web and anonymous ftp sites.

h2Compiling Apache/h2
This release of Apache supports the notion of `optional modules'.
  --- 11,20 
Information on the latest version of Apache can be found on the Apache
web server at http://www.apache.org/. This will list the current release,
any more recent beta-test release, together with details of mirror
  ! web and anonymous ftp sites./p
  ! 
  ! UnixWare users will want to consult A HREF=unixware.htmlbuild notes/A
  ! for various UnixWare versions before compiling.

h2Compiling Apache/h2
This release of Apache supports the notion of `optional modules'.
  
  
  


cvs commit: apache/htdocs/manual/misc FAQ.html

1997-04-12 Thread Chuck Murcko
chuck   97/04/12 15:52:44

  Modified:htdocs/manual/misc  FAQ.html
  Log:
  Removed reference to experimental proxy.
  
  Revision  ChangesPath
  1.23  +2 -3  apache/htdocs/manual/misc/FAQ.html
  
  Index: FAQ.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/misc/FAQ.html,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -C3 -r1.22 -r1.23
  *** FAQ.html  1997/04/12 12:55:29 1.22
  --- FAQ.html  1997/04/12 22:52:43 1.23
  ***
  *** 8,14 
!--#include virtual=header.html --
H1Apache Server Frequently Asked Questions/H1
P
  ! $Revision: 1.22 $ ($Date: 1997/04/12 12:55:29 $)
/P
H2The Questions/H2
!-- Stuff to Add:  --
  --- 8,14 
!--#include virtual=header.html --
H1Apache Server Frequently Asked Questions/H1
P
  ! $Revision: 1.23 $ ($Date: 1997/04/12 22:52:43 $)
/P
H2The Questions/H2
!-- Stuff to Add:  --
  ***
  *** 550,557 
 STRONGDoes or will Apache act as a Proxy server?/STRONG/A
  P
  Apache version 1.1 and above comes with a proxy module. If compiled
  !   in, this will make Apache act as a caching-proxy server.  This module
  !   is still considered experimental, however.
  /P
  HR
 /LI
  --- 550,556 
 STRONGDoes or will Apache act as a Proxy server?/STRONG/A
  P
  Apache version 1.1 and above comes with a proxy module. If compiled
  !   in, this will make Apache act as a caching-proxy server.
  /P
  HR
 /LI
  
  
  


cvs commit: apache/src/modules/proxy proxy_ftp.c

1997-04-12 Thread Chuck Murcko
chuck   97/04/12 22:00:56

  Modified:src/modules/proxy  proxy_ftp.c
  Log:
  Further fine tune for FTP dir display when FTP server fails to format files
  of very large size properly.
  
  Revision  ChangesPath
  1.18  +2 -1  apache/src/modules/proxy/proxy_ftp.c
  
  Index: proxy_ftp.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_ftp.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -C3 -r1.17 -r1.18
  *** proxy_ftp.c   1997/04/11 05:10:51 1.17
  --- proxy_ftp.c   1997/04/13 05:00:54 1.18
  ***
  *** 275,281 
searchptr = filename;
searchidx = filename - buf;
}
  ! else if (searchptr != NULL  searchidx != 0) {
*(--filename) = ' ';
buf[searchidx - 1] = 0;
filename = buf[searchidx];
  --- 275,282 
searchptr = filename;
searchidx = filename - buf;
}
  ! else if (searchptr != NULL  searchidx != 0 
  !   buf[searchidx] != 0) {
*(--filename) = ' ';
buf[searchidx - 1] = 0;
filename = buf[searchidx];
  
  
  


cvs commit: apache/src/modules/proxy proxy_ftp.c

1997-04-10 Thread Chuck Murcko
chuck   97/04/10 22:01:54

  Modified:src/modules/proxy  proxy_ftp.c
  Log:
  Improve handling of directories when filenames have spaces in them.
  
  Revision  ChangesPath
  1.16  +16 -0 apache/src/modules/proxy/proxy_ftp.c
  
  Index: proxy_ftp.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_ftp.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -C3 -r1.15 -r1.16
  *** proxy_ftp.c   1997/04/09 06:51:07 1.15
  --- proxy_ftp.c   1997/04/11 05:01:53 1.16
  ***
  *** 220,225 
  --- 220,228 
char buf2[IOBUFSIZE];
char *filename;
char *tempurl;
  + char *searchptr = NULL;
  + int searchidx = 0;
  + int firstfile = 1;
char urlptr[HUGE_STRING_LEN];
long total_bytes_sent;
register int n, o, w;
  ***
  *** 265,270 
  --- 268,286 
filename=strrchr(buf, ' ');
*(filename++)=0;
filename[strlen(filename)-1]=0;
  + 
  + /* handle filenames with spaces in 'em */
  + if(!strcmp(filename, .) || !strcmp(filename, ..) || 
firstfile) {
  + firstfile = 0;
  + searchptr = filename;
  + searchidx = filename - buf;
  + }
  + else if (searchptr != NULL  searchidx != 0) {
  + *(--filename) = ' ';
  + buf[searchidx - 1] = 0;
  + filename = buf[searchidx];
  + }   
  + 
/* Special handling for '.' and '..' */
if (!strcmp(filename, .))
{
  
  
  


cvs commit: apache/src/modules/proxy mod_proxy.c mod_proxy.h proxy_connect.c proxy_ftp.c proxy_http.c proxy_util.c

1997-04-10 Thread Chuck Murcko
chuck   97/04/10 22:10:55

  Modified:src/modules/proxy  mod_proxy.c mod_proxy.h proxy_connect.c
proxy_ftp.c  proxy_http.c proxy_util.c
  Log:
  For hosts with multiple IP addresses, try all additional addresses if
  necessary to get a connect(). Fail only if hostent address list is
  exhausted.
  
  Revision  ChangesPath
  1.10  +10 -4 apache/src/modules/proxy/mod_proxy.c
  
  Index: mod_proxy.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/mod_proxy.c,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -C3 -r1.9 -r1.10
  *** mod_proxy.c   1997/03/02 05:05:21 1.9
  --- mod_proxy.c   1997/04/11 05:10:49 1.10
  ***
  *** 335,340 
  --- 335,341 
get_module_config (s-module_config, proxy_module);
struct noproxy_entry *new;
struct noproxy_entry *list=(struct noproxy_entry*)conf-noproxies-elts;
  + struct hostent hp;
int found = 0;
int i;

  ***
  *** 350,357 
new = push_array (conf-noproxies);
new-name = arg;
/* Don't do name lookups on things that aren't dotted */
  ! if (strchr(arg, '.') != NULL)
  ! proxy_host2addr(new-name, new-addr);
else
new-addr.s_addr = 0;
}
  --- 351,360 
new = push_array (conf-noproxies);
new-name = arg;
/* Don't do name lookups on things that aren't dotted */
  ! if (strchr(arg, '.') != NULL) {
  ! proxy_host2addr(new-name, hp);
  ! memcpy(new-addr, hp.h_addr, sizeof(struct in_addr));
  ! }
else
new-addr.s_addr = 0;
}
  ***
  *** 473,478 
  --- 476,482 
get_module_config (s-module_config, proxy_module);
struct nocache_entry *new;
struct nocache_entry *list=(struct nocache_entry*)conf-nocaches-elts;
  + struct hostent hp;
int found = 0;
int i;

  ***
  *** 488,495 
new = push_array (conf-nocaches);
new-name = arg;
/* Don't do name lookups on things that aren't dotted */
  ! if (strchr(arg, '.') != NULL)
  ! proxy_host2addr(new-name, new-addr);
else
new-addr.s_addr= 0;
}
  --- 492,501 
new = push_array (conf-nocaches);
new-name = arg;
/* Don't do name lookups on things that aren't dotted */
  ! if (strchr(arg, '.') != NULL) {
  ! proxy_host2addr(new-name, hp);
  ! memcpy(new-addr, hp.h_addr, sizeof(struct in_addr));
  ! }
else
new-addr.s_addr= 0;
}
  
  
  
  1.10  +1 -1  apache/src/modules/proxy/mod_proxy.h
  
  Index: mod_proxy.h
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/mod_proxy.h,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -C3 -r1.9 -r1.10
  *** mod_proxy.h   1997/03/20 18:40:14 1.9
  --- mod_proxy.h   1997/04/11 05:10:50 1.10
  ***
  *** 270,275 
server_rec *s);
BUFF *proxy_cache_error(struct cache_req *r);
int proxyerror(request_rec *r, const char *message);
  ! const char *proxy_host2addr(const char *host, struct in_addr *addr);
int proxy_doconnect(int sock, struct sockaddr_in *addr, request_rec *r);

  --- 270,275 
server_rec *s);
BUFF *proxy_cache_error(struct cache_req *r);
int proxyerror(request_rec *r, const char *message);
  ! const char *proxy_host2addr(const char *host, struct hostent *reqhp);
int proxy_doconnect(int sock, struct sockaddr_in *addr, request_rec *r);

  
  
  
  1.7   +12 -3 apache/src/modules/proxy/proxy_connect.c
  
  Index: proxy_connect.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_connect.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -C3 -r1.6 -r1.7
  *** proxy_connect.c   1997/01/07 21:51:57 1.6
  --- proxy_connect.c   1997/04/11 05:10:50 1.7
  ***
  *** 88,98 
{
struct sockaddr_in server;
struct in_addr destaddr;
const char *host, *err;
char *p;
int   port, sock;
char buffer[HUGE_STRING_LEN];
  ! int  nbytes, i;
fd_set fds;

void *sconf = r-server-module_config;
  --- 88,99 
{
struct sockaddr_in server;
struct in_addr destaddr;
  + struct hostent server_hp;
const char *host, *err;
char *p;
int   port, sock;
char buffer[HUGE_STRING_LEN];
  ! int  nbytes, i, j;
fd_set fds;

void *sconf = r-server-module_config;
  ***
  *** 136,142 
Explain2(CONNECT to %s on port %d, host, port);
 
server.sin_port = htons(port);
  ! err = 

cvs commit: apache/src CHANGES

1997-04-10 Thread Chuck Murcko
chuck   97/04/10 22:16:39

  Modified:src   CHANGES
  Log:
  Add notes for recent proxy patches. Change rev number to one more
  politically correct, given the present group zeitgeist.
  
  Revision  ChangesPath
  1.229 +9 -2  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.228
  retrieving revision 1.229
  diff -C3 -r1.228 -r1.229
  *** CHANGES   1997/04/09 06:51:30 1.228
  --- CHANGES   1997/04/11 05:16:37 1.229
  ***
  *** 1,6 
  ! Changes with Apache 1.2b9

  !   *) add macro for memmove to conf.h for SUNOS4 [Marc Slemko]

Changes with Apache 1.2b8

  --- 1,13 
  ! Changes with Apache 1.2

  !   *) Add macro for memmove to conf.h for SUNOS4. [Marc Slemko]
  ! 
  !   *) Improve handling of directories when filenames have spaces in them.
  !  [Chuck Murcko]
  ! 
  !   *) For hosts with multiple IP addresses, try all additional addresses if
  !  necessary to get a connect. Fail only if hostent address list is
  !  exhausted. [Chuck Murcko]

Changes with Apache 1.2b8

  
  
  


cvs commit: apache/src CHANGES

1997-04-09 Thread Chuck Murcko
chuck   97/04/08 23:51:31

  Modified:src/modules/proxy  proxy_ftp.c proxy_util.c
   src   CHANGES
  Log:
  wrong proxy patch. backed it out.
  
  Revision  ChangesPath
  1.15  +5 -8  apache/src/modules/proxy/proxy_ftp.c
  
  Index: proxy_ftp.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_ftp.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -C3 -r1.14 -r1.15
  *** proxy_ftp.c   1997/04/09 01:42:03 1.14
  --- proxy_ftp.c   1997/04/09 06:51:07 1.15
  ***
  *** 324,337 
o+=w;
}
}
  ! if (!r-connection-aborted) {
  ! ap_snprintf(buf, sizeof(buf), /PREHRIA 
HREF=\http://www.apache.org\;%s/A/I/BODY/HTML, SERVER_VERSION);
  ! bwrite(con-client, buf, strlen(buf));
  ! if (f2 != NULL) bwrite(f2, buf, strlen(buf));
  ! total_bytes_sent+=strlen(buf);
  ! bflush(con-client);
  ! } else
  ! f2 = proxy_cache_error(c);

return total_bytes_sent;
}
  --- 324,334 
o+=w;
}
}
  ! ap_snprintf(buf, sizeof(buf), /PREHRIA 
HREF=\http://www.apache.org\;%s/A/I/BODY/HTML, SERVER_VERSION);
  ! bwrite(con-client, buf, strlen(buf));
  ! if (f2 != NULL) bwrite(f2, buf, strlen(buf));
  ! total_bytes_sent+=strlen(buf);
  ! bflush(con-client);

return total_bytes_sent;
}
  
  
  
  1.11  +0 -2  apache/src/modules/proxy/proxy_util.c
  
  Index: proxy_util.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_util.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -C3 -r1.10 -r1.11
  *** proxy_util.c  1997/04/09 01:42:04 1.10
  --- proxy_util.c  1997/04/09 06:51:07 1.11
  ***
  *** 425,432 
}
if (!con-aborted)
bflush(con-client);
  - else
  - f2 = proxy_cache_error(c);

kill_timeout(r);
return total_bytes_sent;
  --- 425,430 
  
  
  
  1.228 +0 -3  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.227
  retrieving revision 1.228
  diff -C3 -r1.227 -r1.228
  *** CHANGES   1997/04/09 01:40:49 1.227
  --- CHANGES   1997/04/09 06:51:30 1.228
  ***
  *** 2,10 

  *) add macro for memmove to conf.h for SUNOS4 [Marc Slemko]

  -   *) Proxy cleanup for transmission errors; avoids core dumps an some
  -  of the truncated files. [Chuck Murcko]
  - 
Changes with Apache 1.2b8

  *) suexec.c doesn't close the log file, allowing CGIs to continue writing
  --- 2,7 
  
  
  


cvs commit: apache/src CHANGES conf.h

1997-04-08 Thread Chuck Murcko
chuck   97/04/08 18:40:55

  Modified:src   CHANGES conf.h
  Log:
  Reviewed by:  Chuck Murcko
  Submitted by: Marc Slemko
  Add #define for memmove for SUNOS4.
  
  Revision  ChangesPath
  1.227 +8 -1  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.226
  retrieving revision 1.227
  diff -C3 -r1.226 -r1.227
  *** CHANGES   1997/04/07 17:49:28 1.226
  --- CHANGES   1997/04/09 01:40:49 1.227
  ***
  *** 1,5 
Changes with Apache 1.2b8
  ! 
  *) suexec.c doesn't close the log file, allowing CGIs to continue writing
 to it.  [Marc Slemko]

  --- 1,12 
  + Changes with Apache 1.2b9
  + 
  +   *) add macro for memmove to conf.h for SUNOS4 [Marc Slemko]
  + 
  +   *) Proxy cleanup for transmission errors; avoids core dumps an some
  +  of the truncated files. [Chuck Murcko]
  + 
Changes with Apache 1.2b8
  ! 
  *) suexec.c doesn't close the log file, allowing CGIs to continue writing
 to it.  [Marc Slemko]

  
  
  
  1.92  +1 -0  apache/src/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apache/src/conf.h,v
  retrieving revision 1.91
  retrieving revision 1.92
  diff -C3 -r1.91 -r1.92
  *** conf.h1997/04/07 09:44:17 1.91
  --- conf.h1997/04/09 01:40:51 1.92
  ***
  *** 86,91 
  --- 86,92 
#include sys/time.h 
#define NEED_STRERROR
typedef int rlim_t;
  + #define memmove(a,b,c) bcopy(b,a,c)
#define NO_LINGCLOSE

#elif defined(SOLARIS2)
  
  
  


cvs commit: apache/htdocs/manual/mod mod_proxy.html

1997-04-06 Thread Chuck Murcko
chuck   97/04/06 18:35:54

  Modified:htdocs/manual/mod  mod_proxy.html
  Log:
  Correct syntax error in Limit block. This still doesn't fix the problem,
  though.
  
  Revision  ChangesPath
  1.15  +1 -1  apache/htdocs/manual/mod/mod_proxy.html
  
  Index: mod_proxy.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_proxy.html,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -C3 -r1.14 -r1.15
  *** mod_proxy.html1997/04/06 02:42:02 1.14
  --- mod_proxy.html1997/04/07 01:35:52 1.15
  ***
  *** 276,282 

pre
lt;Directory proxy:*gt;
  ! lt;Limitgt;
order allow,deny
deny from [machines you'd like not to allow by IP address or name]
allow from all
  --- 276,282 

pre
lt;Directory proxy:*gt;
  ! lt;Limit GETgt;
order allow,deny
deny from [machines you'd like not to allow by IP address or name]
allow from all
  
  
  


cvs commit: apache/htdocs/manual/mod mod_proxy.html

1997-04-05 Thread Chuck Murcko
chuck   97/04/05 18:42:03

  Modified:htdocs/manual/mod  mod_proxy.html
  Log:
  Fix typo in FAQ section on limiting access.
  
  Revision  ChangesPath
  1.14  +2 -0  apache/htdocs/manual/mod/mod_proxy.html
  
  Index: mod_proxy.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_proxy.html,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -C3 -r1.13 -r1.14
  *** mod_proxy.html1997/02/20 04:26:07 1.13
  --- mod_proxy.html1997/04/06 02:42:02 1.14
  ***
  *** 276,284 
  --- 276,286 

pre
lt;Directory proxy:*gt;
  + lt;Limitgt;
order allow,deny
deny from [machines you'd like not to allow by IP address or name]
allow from all
  + lt;/Limitgt;
lt;/Directorygt;
/prep

  
  
  


cvs commit: apache/src/modules/proxy proxy_cache.c

1997-04-04 Thread Chuck Murcko
chuck   97/04/04 22:08:24

  Modified:src/modules/proxy  proxy_cache.c
  Log:
  Reviewed by:  Chuck Murcko
  Submitted by: Brian Moore [EMAIL PROTECTED]
  Fix loopholes in cache expiry vis a vis alarms. This will be followed by
  Roy's comprehensive timeout patch.
  
  Revision  ChangesPath
  1.11  +10 -1 apache/src/modules/proxy/proxy_cache.c
  
  Index: proxy_cache.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_cache.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -C3 -r1.10 -r1.11
  *** proxy_cache.c 1997/03/20 18:40:15 1.10
  --- proxy_cache.c 1997/04/05 06:08:23 1.11
  ***
  *** 119,124 
  --- 119,125 
if (errno != ENOENT)
{
proxy_log_uerror(stat, filename, NULL, r-server);
  + unblock_alarms();
return;
}
if (creat(filename, 0666) == -1)
  ***
  *** 127,138 
proxy_log_uerror(creat, filename, NULL, r-server);
else
lastcheck = abs(now);  /* someone else got in there */
return;
}
} else
{
lastcheck = buf.st_mtime;  /* save the time */
  ! if (now  lastcheck + every) return;
if (utime(filename, NULL) == -1)
proxy_log_uerror(utimes, filename, NULL, r-server);
}
  --- 128,144 
proxy_log_uerror(creat, filename, NULL, r-server);
else
lastcheck = abs(now);  /* someone else got in there */
  + unblock_alarms();
return;
}
} else
{
lastcheck = buf.st_mtime;  /* save the time */
  ! if (now  lastcheck + every)
  ! {
  ! unblock_alarms();
  ! return;
  ! }
if (utime(filename, NULL) == -1)
proxy_log_uerror(utimes, filename, NULL, r-server);
}
  ***
  *** 143,149 
  --- 149,158 
sub_garbage_coll(r,files,cachedir,/);

if (curblocks  cachesize || curblocks + curbytes = cachesize)
  + {
  + unblock_alarms();
return;
  + }

qsort(files-elts, files-nelts, sizeof(struct gc_ent *), gcdiff);

  
  
  


cvs commit: apache/src CHANGES

1997-04-04 Thread Chuck Murcko
chuck   97/04/04 22:09:53

  Modified:src   CHANGES
  Log:
  Note Brian Moore's patch.
  
  Revision  ChangesPath
  1.220 +2 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.219
  retrieving revision 1.220
  diff -C3 -r1.219 -r1.220
  *** CHANGES   1997/04/01 06:17:51 1.219
  --- CHANGES   1997/04/05 06:09:51 1.220
  ***
  *** 1,5 
  --- 1,7 
Changes with Apache 1.2b8

  +   *) Fix loopholes in proxy cache expiry vis a vis alarms. [Brian Moore]
  + 
  *) Stopgap solution for CGI 3-second delay with server-side includes: if
 processing a subrequest, allocate memory from r-main-pool instead
 of r-pool so that we can avoid waiting for free_proc_chain to cleanup
  
  
  


cvs commit: apache/src/modules/proxy mod_proxy.c mod_proxy.h

1997-03-01 Thread Chuck Murcko
chuck   97/03/01 21:05:23

  Modified:src/modules/proxy  mod_proxy.c mod_proxy.h
  Log:
  Add table slot for header parser.
  
  Revision  ChangesPath
  1.9   +2 -1  apache/src/modules/proxy/mod_proxy.c
  
  Index: mod_proxy.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/mod_proxy.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -C3 -r1.8 -r1.9
  *** mod_proxy.c   1997/01/05 09:06:05 1.8
  --- mod_proxy.c   1997/03/02 05:05:21 1.9
  ***
  *** 546,551 
   NULL,/* check access */
   NULL,/* type_checker */
   proxy_fixup, /* pre-run fixups */
  !NULL /* logger */
};

  --- 546,552 
   NULL,/* check access */
   NULL,/* type_checker */
   proxy_fixup, /* pre-run fixups */
  !NULL,/* logger */
  !NULL /* header parser */
};

  
  
  
  1.8   +1 -1  apache/src/modules/proxy/mod_proxy.h
  
  Index: mod_proxy.h
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/mod_proxy.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -C3 -r1.7 -r1.8
  *** mod_proxy.h   1997/01/05 09:06:05 1.7
  --- mod_proxy.h   1997/03/02 05:05:22 1.8
  ***
  *** 82,88 

1. add 230 response output for ftp now that it works

  ! 2. Add gopher  WAIS

3. Use protocol handler struct a la Apache module handlers (Dirk van Gulik)
 
  --- 82,88 

1. add 230 response output for ftp now that it works

  ! 2. Make the ftp proxy transparent, also same with (future) gopher  wais

3. Use protocol handler struct a la Apache module handlers (Dirk van Gulik)
 
  
  
  


cvs commit: apache/src/modules/proxy proxy_ftp.c

1997-02-19 Thread Chuck Murcko
chuck   97/02/19 20:14:45

  Modified:src/modules/proxy  proxy_ftp.c
  Log:
  1) remove setting of SO_DEBUG socket option to make Linux users happy.
  2) Make ftp_getrc() more lenient about multiline responses (specifically,
 230 responses which don't have continuation 230- on each line). These
 seem to be all NT FTP servers, and while they may be the mutant spawn of
 the devil, they appear to be legal by RFC 959.
  3) Add missing kill_timeout() after transfer to user completes. This coupled
 with 2) is very likely the cause of Rasmus' timeout problem.
  
  Revision  ChangesPath
  1.9   +6 -15 apache/src/modules/proxy/proxy_ftp.c
  
  Index: proxy_ftp.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_ftp.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -C3 -r1.8 -r1.9
  *** proxy_ftp.c   1997/01/20 04:28:33 1.8
  --- proxy_ftp.c   1997/02/20 04:14:44 1.9
  ***
  *** 185,197 
/* check format */
if (len  5 || !isdigit(linebuff[0]) || !isdigit(linebuff[1]) ||
!isdigit(linebuff[2]) || (linebuff[3] != ' '  linebuff[3] != '-'))
  ! return 0;
  ! status = 100 * linebuff[0] + 10 * linebuff[1] + linebuff[2] - 111 * '0';

if (linebuff[len-1] != '\n')
{
i = bskiplf(f);
  - if (i != 1) return i;
}

/* skip continuation lines */
  --- 185,199 
/* check format */
if (len  5 || !isdigit(linebuff[0]) || !isdigit(linebuff[1]) ||
!isdigit(linebuff[2]) || (linebuff[3] != ' '  linebuff[3] != '-'))
  ! status = 0;
  ! else
  ! status = 100 * linebuff[0] + 10 * linebuff[1] + linebuff[2] - 111 * '0';
  ! 
  ! Explain1(FTP: ftp_getrc() status = %d, status);

if (linebuff[len-1] != '\n')
{
i = bskiplf(f);
}

/* skip continuation lines */
  ***
  *** 203,213 
{
len = bgets(linebuff, 100, f);
if (len == -1) return -1;
  - if (len  5) return 0;
if (linebuff[len-1] != '\n')
{
i = bskiplf(f);
  - if (i != 1) return i;
}
} while (memcmp(linebuff, buff, 4) != 0);
}
  --- 205,213 
  ***
  *** 564,579 
}
note_cleanups_for_fd(pool, dsock);

  - if (setsockopt(dsock, SOL_SOCKET, SO_DEBUG, (const char *)one,
  -   sizeof (int)) == -1)
  - {
  - proxy_log_uerror(setsockopt, NULL,
  - proxy: error setting PASV debug option, r-server);
  - pclosef(pool, dsock);
  - pclosef(pool, sock);
  - return SERVER_ERROR;
  - }
  - 
bputs(PASV\015\012, f);
bflush(f);
Explain0(FTP: PASV command issued);
  --- 564,569 
  ***
  *** 867,872 
  --- 857,863 
Explain1(FTP: returned status %d,i);
}

  + kill_timeout(r);
proxy_cache_tidy(c);

/* finish */
  
  
  


cvs commit: apache/src CHANGES

1997-02-19 Thread Chuck Murcko
chuck   97/02/19 20:21:37

  Modified:src   CHANGES
  Log:
  updates for proxy FTP.
  
  Revision  ChangesPath
  1.172 +9 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.171
  retrieving revision 1.172
  diff -C3 -r1.171 -r1.172
  *** CHANGES   1997/02/20 04:13:16 1.171
  --- CHANGES   1997/02/20 04:21:35 1.172
  ***
  *** 1,5 
  --- 1,14 
Changes with Apache 1.2b7

  +   *) more proxy FTP bug fixes:
  +  - remove setting of SO_DEBUG socket option
  +  - Make ftp_getrc() more lenient about multiline responses,
  +specifically, 230 responses which don't have continuation 230-
  +on each line). These seem to be all NT FTP servers, and while
  +perhaps questionable, they appear to be legal by RFC 959.
  +  - Add missing kill_timeout() after transfer to user completes.
  +  [Chuck Murcko]
  + 
  *) Fixed problem where a busy server could hang when restarting
 after being sent a SIGHUP due to child processes not exiting.
 [Marc Slemko]
  
  
  


cvs commit: apache/htdocs/manual/mod mod_proxy.html

1997-02-19 Thread Chuck Murcko
chuck   97/02/19 20:26:08

  Modified:htdocs/manual/mod  mod_proxy.html
  Log:
  Fix typo; add section about SOCKS 4.2/Solaris problems.
  
  Revision  ChangesPath
  1.13  +4 -1  apache/htdocs/manual/mod/mod_proxy.html
  
  Index: mod_proxy.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_proxy.html,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -C3 -r1.12 -r1.13
  *** mod_proxy.html1997/01/09 07:29:12 1.12
  --- mod_proxy.html1997/02/20 04:26:07 1.13
  ***
  *** 312,320 
Yes. Just build Apache with the rule codeSOCKS4=yes/code in your
iConfiguration/i file, and follow the instructions there. SOCKS5 
capability can be added in a similar way (there's no codeSOCKS5/code
  ! rule yet, so use the codeEXTRA_LFLAGS/code definition, or build Apache
normally and run it with the irunsocks/i wrapper provided with SOCKS5,
if your OS supports dynamically linked libraries.p

Remember that you'll also have to grant access to your Apache proxy machine 
by
permitting connections on the appropriate ports in your SOCKS daemon's
  --- 312,323 
Yes. Just build Apache with the rule codeSOCKS4=yes/code in your
iConfiguration/i file, and follow the instructions there. SOCKS5 
capability can be added in a similar way (there's no codeSOCKS5/code
  ! rule yet), so use the codeEXTRA_LFLAGS/code definition, or build Apache
normally and run it with the irunsocks/i wrapper provided with SOCKS5,
if your OS supports dynamically linked libraries.p
  + 
  + Some users have reported problems when using SOCKS version 4.2 on Solaris.
  + The problem was solved by upgrading to SOCKS 4.3.p

Remember that you'll also have to grant access to your Apache proxy machine 
by
permitting connections on the appropriate ports in your SOCKS daemon's
  
  
  


cvs commit: apache/src/modules/proxy proxy_http.c

1997-02-19 Thread Chuck Murcko
chuck   97/02/19 21:16:26

  Modified:src/modules/proxy  proxy_http.c
  Log:
  Changed HTTP status check mask from HTTP/#.# ### * to HTTP/#.# ###*
  to be more lenient about servers which don't return all of a legal HTTP/1.x
  status.
  
  Revision  ChangesPath
  1.14  +1 -1  apache/src/modules/proxy/proxy_http.c
  
  Index: proxy_http.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_http.c,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -C3 -r1.13 -r1.14
  *** proxy_http.c  1997/01/20 04:28:33 1.13
  --- proxy_http.c  1997/02/20 05:16:25 1.14
  ***
  *** 276,282 
}

/* Is it an HTTP/1 response? */
  ! if (checkmask(buffer,  HTTP/#.# ### *))
{
/* If not an HTTP/1 messsage or if the status line was  8192 bytes */
if (buffer[5] != '1' || buffer[len-1] != '\n')
  --- 276,282 
}

/* Is it an HTTP/1 response? */
  ! if (checkmask(buffer,  HTTP/#.# ###*))
{
/* If not an HTTP/1 messsage or if the status line was  8192 bytes */
if (buffer[5] != '1' || buffer[len-1] != '\n')
  
  
  


cvs commit: apache/src CHANGES

1997-02-19 Thread Chuck Murcko
chuck   97/02/19 21:19:50

  Modified:src   CHANGES
  Log:
  Note HTTP status mask change for mod_proxy.
  
  Revision  ChangesPath
  1.173 +4 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.172
  retrieving revision 1.173
  diff -C3 -r1.172 -r1.173
  *** CHANGES   1997/02/20 04:21:35 1.172
  --- CHANGES   1997/02/20 05:19:48 1.173
  ***
  *** 1,5 
  --- 1,9 
Changes with Apache 1.2b7

  +   *) changed status check mask in proxy_http.c from HTTP/#.# ### * to
  +  HTTP/#.# ###* to be more lenient about what we accept.
  +  [Chuck Murcko]
  + 
  *) more proxy FTP bug fixes:
 - remove setting of SO_DEBUG socket option
 - Make ftp_getrc() more lenient about multiline responses,
  
  
  


cvs commit: apache/src/modules Makefile

1997-01-16 Thread Chuck Murcko
chuck   97/01/16 09:20:34

  Modified:src/modules  Makefile
  Log:
  Submitted by: [EMAIL PROTECTED]
  Fix bug for using multiple subdirectories under modules. I also added the
  bug fix to the clean production, since it would also be a problem there.
  
  Revision  ChangesPath
  1.6   +2 -0  apache/src/modules/Makefile
  
  Index: Makefile
  ===
  RCS file: /export/home/cvs/apache/src/modules/Makefile,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -C3 -r1.5 -r1.6
  *** Makefile  1997/01/01 18:19:49 1.5
  --- Makefile  1997/01/16 17:20:32 1.6
  ***
  *** 59,68 
  --- 59,70 
(for dir in $(MODULES); do \
cd $$dir; \
$(MAKE) CC=$(CC) AUX_CFLAGS=$(AUX_CFLAGS) RANLIB=$(RANLIB); \
  + cd ..; \
done)

clean:  
(for dir in $(MODULES); do \
cd $$dir; $(MAKE) clean; \
  + cd ..; \
done)

  
  
  


cvs commit: apache/src CHANGES

1997-01-16 Thread Chuck Murcko
chuck   97/01/16 09:22:55

  Modified:src   CHANGES
  Log:
  Update about modules/Makefile change for multiple subdirs.
  
  Revision  ChangesPath
  1.123 +3 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.122
  retrieving revision 1.123
  diff -C3 -r1.122 -r1.123
  *** CHANGES   1997/01/12 20:50:29 1.122
  --- CHANGES   1997/01/16 17:22:54 1.123
  ***
  *** 1,5 
  --- 1,8 
Changes with Apache 1.2b5

  +   *) Fixed bug in modules/Makefile that wouldn't allow building in more
  +  than one subdirectory (or cleaning, either). [Jeremy Laidman]
  + 
  *) mod_info assumed that the config files were relative to ServerRoot.
 [Ken the Rodent]

  
  
  


cvs commit: apache/src http_main.c

1997-01-10 Thread Chuck Murcko
chuck   97/01/10 01:26:00

  Modified:src   http_main.c
  Log:
  Get rid of warning for UnixWare 2.1.1
  
  Revision  ChangesPath
  1.103 +4 -0  apache/src/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache/src/http_main.c,v
  retrieving revision 1.102
  retrieving revision 1.103
  diff -C3 -r1.102 -r1.103
  *** http_main.c   1997/01/10 03:39:15 1.102
  --- http_main.c   1997/01/10 09:25:58 1.103
  ***
  *** 1493,1499 
  --- 1493,1503 

void child_main(int child_num_arg)
{
  + #if defined(UW)
  + size_t clen;
  + #else
int clen;
  + #endif
struct sockaddr sa_server;
struct sockaddr sa_client;

  
  
  


cvs commit: apache/src http_main.c CHANGES

1997-01-10 Thread Chuck Murcko
chuck   97/01/10 10:47:40

  Modified:src   http_main.c CHANGES
  Log:
  Reviewed by:  Chuck Murcko, Rob Hartill, Brian Behlendorf
  Remove duplicate pcalloc() call from new_connection().
  
  Revision  ChangesPath
  1.105 +1 -2  apache/src/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache/src/http_main.c,v
  retrieving revision 1.104
  retrieving revision 1.105
  diff -C3 -r1.104 -r1.105
  *** http_main.c   1997/01/10 11:26:22 1.104
  --- http_main.c   1997/01/10 18:47:36 1.105
  ***
  *** 1439,1449 
{
conn_rec *conn = (conn_rec *)pcalloc (p, sizeof(conn_rec));

  ! /* Get a connection structure, and initialize what fields we can
 * (the rest are zeroed out by pcalloc).
 */

  - conn = (conn_rec *)pcalloc(p, sizeof(conn_rec));
conn-child_num = child_num;

conn-pool = p;
  --- 1439,1448 
{
conn_rec *conn = (conn_rec *)pcalloc (p, sizeof(conn_rec));

  ! /* Got a connection structure, so initialize what fields we can
 * (the rest are zeroed out by pcalloc).
 */

conn-child_num = child_num;

conn-pool = p;
  
  
  
  1.115 +2 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.114
  retrieving revision 1.115
  diff -C3 -r1.114 -r1.115
  *** CHANGES   1997/01/10 03:39:17 1.114
  --- CHANGES   1997/01/10 18:47:37 1.115
  ***
  *** 1,5 
  --- 1,7 
Changes with Apache 1.2b5

  +   *) remove duplicate pcalloc() call in new_connection().
  + 
  *) Fix incorrect comparison which could allow number of children =
 MaxClients + 1 if less than HARD_SERVER_LIMIT. Also fix potential
 problem if StartServers  HARD_SERVER_LIMIT. [Ed Korthof]
  
  
  


cvs commit: apache/src http_main.c CHANGES

1997-01-09 Thread Chuck Murcko
chuck   97/01/09 19:39:20

  Modified:src   http_main.c CHANGES
  Log:
  Reviewed by:  Jim Jagielski, Brian Behlendorf, Chuck Murcko
  Submitted by: Ed Korthof [EMAIL PROTECTED]
  There is one incorrect comparison (which still doesn't allow for more
  children than HARD_SERVER_LIMIT, though it would allow one more child than the
  maximum specified, if that was less than HARD_SERVER_LIMIT).   There is also
  the possibility of messing up your server if you specify StartServers 
  HARD_SERVER_LIMIT (the latter may cause fatal memory corruption -- it did in
  the one test I've run).  The attached patch fixes both of those.
  
  Revision  ChangesPath
  1.102 +2 -2  apache/src/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache/src/http_main.c,v
  retrieving revision 1.101
  retrieving revision 1.102
  diff -C3 -r1.101 -r1.102
  *** http_main.c   1997/01/01 18:10:20 1.101
  --- http_main.c   1997/01/10 03:39:15 1.102
  ***
  *** 1947,1953 
if (daemons_max_free  daemons_min_free + 1) /* Don't thrash... */
daemons_max_free = daemons_min_free + 1;

  ! while (num_children  daemons_to_start) {
make_child(server_conf, num_children++);
}

  --- 1947,1953 
if (daemons_max_free  daemons_min_free + 1) /* Don't thrash... */
daemons_max_free = daemons_min_free + 1;

  ! while (num_children  daemons_to_start  num_children  daemons_limit) 
{
make_child(server_conf, num_children++);
}

  ***
  *** 1970,1976 
sync_scoreboard_image();
if ((count_idle_servers()  daemons_min_free)
  (child_slot = find_free_child_num()) = 0
  !   child_slot = daemons_limit) {
Explain1(Starting new child in slot %d,child_slot);
(void)update_child_status(child_slot,SERVER_STARTING,
 (request_rec*)NULL);
  --- 1970,1976 
sync_scoreboard_image();
if ((count_idle_servers()  daemons_min_free)
  (child_slot = find_free_child_num()) = 0
  !   child_slot  daemons_limit) {
Explain1(Starting new child in slot %d,child_slot);
(void)update_child_status(child_slot,SERVER_STARTING,
 (request_rec*)NULL);
  
  
  
  1.114 +4 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.113
  retrieving revision 1.114
  diff -C3 -r1.113 -r1.114
  *** CHANGES   1997/01/07 21:55:38 1.113
  --- CHANGES   1997/01/10 03:39:17 1.114
  ***
  *** 1,5 
  --- 1,9 
Changes with Apache 1.2b5

  +   *) Fix incorrect comparison which could allow number of children =
  +  MaxClients + 1 if less than HARD_SERVER_LIMIT. Also fix potential
  +  problem if StartServers  HARD_SERVER_LIMIT. [Ed Korthof]
  + 
  *) Replace instances of inet_ntoa() with inet_addr() for ProxyBlock.
 It's more portable. [Martin Kraemer]

  
  
  


cvs commit: apache/src Makefile.tmpl

1997-01-06 Thread Chuck Murcko
chuck   97/01/06 21:15:11

  Modified:src   Makefile.tmpl
  Log:
  Replace hardcoded instances of make with $(MAKE).
  
  Revision  ChangesPath
  1.35  +4 -4  apache/src/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /export/home/cvs/apache/src/Makefile.tmpl,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -C3 -r1.34 -r1.35
  *** Makefile.tmpl 1996/11/20 19:55:06 1.34
  --- Makefile.tmpl 1997/01/07 05:15:10 1.35
  ***
  *** 28,43 
$(CC) $(LFLAGS)  -o httpd $(OBJS) $(REGLIB) $(LIBS)

regex/libregex.a:
  ! (cd regex; make lib CC=$(CC) AUX_CFLAGS=$(CFLAGS) RANLIB=$(RANLIB))

modules/proxy/libproxy.a:
(cd modules; \
  ! make CC=$(CC) AUX_CFLAGS=$(CFLAGS) RANLIB=$(RANLIB))

clean:
rm -f httpd $(OBJS) *pure*
  ! cd regex; make clean
  ! cd modules; make clean

dist.tar: 
# Assure a semi-sensible configuration going out...
  --- 28,43 
$(CC) $(LFLAGS)  -o httpd $(OBJS) $(REGLIB) $(LIBS)

regex/libregex.a:
  ! (cd regex; $(MAKE) lib CC=$(CC) AUX_CFLAGS=$(CFLAGS) RANLIB=$(RANLIB))

modules/proxy/libproxy.a:
(cd modules; \
  ! $(MAKE) CC=$(CC) AUX_CFLAGS=$(CFLAGS) RANLIB=$(RANLIB))

clean:
rm -f httpd $(OBJS) *pure*
  ! cd regex; $(MAKE) clean
  ! cd modules; $(MAKE) clean

dist.tar: 
# Assure a semi-sensible configuration going out...
  
  
  


cvs commit: apache/src CHANGES

1997-01-05 Thread Chuck Murcko
chuck   97/01/05 01:32:34

  Modified:src   CHANGES
  Log:
  Add stuff. Fix typo.
  
  Revision  ChangesPath
  1.112 +8 -1  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.111
  retrieving revision 1.112
  diff -C3 -r1.111 -r1.112
  *** CHANGES   1996/12/31 23:29:12 1.111
  --- CHANGES   1997/01/05 09:32:33 1.112
  ***
  *** 1,11 
Changes with Apache 1.2b5

  *) suEXEC wrapper was freeing memory that had not been malloc'ed.

  *) Correctly allow access and auth directives in Files sections in
 server config files. [Alexei Kosut]

  !   *) Fix bug with ServerPath that could cause certaub files to be not
 found by the server. [Alexei Kosut] 

Changes with Apache 1.2b4:
  --- 1,18 
Changes with Apache 1.2b5

  +   *) Add ProxyBlock directive w/IP address caching. Add IP address
  +  caching to NoCache directive as well. ProxyBlock works with all
  +  handlers; NoCache now also works with FTP for anonymous logins.
  +  Still more code cleanup. [Chuck Murcko]
  + 
  +   *) Fix byte ordering problems for REMOTE_PORT [Chuck Murcko]
  + 
  *) suEXEC wrapper was freeing memory that had not been malloc'ed.

  *) Correctly allow access and auth directives in Files sections in
 server config files. [Alexei Kosut]

  !   *) Fix bug with ServerPath that could cause certain files to be not
 found by the server. [Alexei Kosut] 

Changes with Apache 1.2b4:
  
  
  


cvs commit: apache/src/modules/proxy proxy_ftp.c

1996-12-24 Thread Chuck Murcko
chuck   96/12/24 09:23:26

  Modified:src/modules/proxy  proxy_ftp.c
  Log:
  Add PASV to FTP proxy. Make default MIME type text/plain, so folks get
  their READMEs OK.
  
  Merry Christmas.
  
  Revision  ChangesPath
  1.4   +146 -48   apache/src/modules/proxy/proxy_ftp.c
  
  Index: proxy_ftp.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_ftp.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -C3 -r1.3 -r1.4
  *** proxy_ftp.c   1996/10/20 23:59:02 1.3
  --- proxy_ftp.c   1996/12/24 17:23:24 1.4
  ***
  *** 326,346 
 * Handles direct access of ftp:// URLs
 * Original (Non-PASV) version from
 * Troy Morrison [EMAIL PROTECTED]
 */
int
proxy_ftp_handler(request_rec *r, struct cache_req *c, char *url)
{
char *host, *path, *p, *user, *password, *parms;
const char *err;
  ! int port, userlen, passlen, i, len, sock, dsock, csd, rc, nocache;
struct sockaddr_in server;
struct hdr_entry *hdr;
array_header *resp_hdrs;
  ! BUFF *f, *cache, *data;
pool *pool=r-pool;
const int one=1;
const long int zero=0L;

/* This appears to fix a bug(?) that generates an Address family not
supported by protocol error in proxy_doconnect() later (along with
making sure server.sin_family = AF_INET - cdm) */
  --- 326,358 
 * Handles direct access of ftp:// URLs
 * Original (Non-PASV) version from
 * Troy Morrison [EMAIL PROTECTED]
  +  * PASV added by Chuck
 */
int
proxy_ftp_handler(request_rec *r, struct cache_req *c, char *url)
{
char *host, *path, *p, *user, *password, *parms;
const char *err;
  ! int port, userlen, passlen, i, len, sock, dsock, rc, nocache;
  ! int csd = 0;
struct sockaddr_in server;
struct hdr_entry *hdr;
array_header *resp_hdrs;
  ! BUFF *f, *cache;
  ! BUFF *data = NULL;
pool *pool=r-pool;
const int one=1;
const long int zero=0L;

  + /* stuff for PASV mode */
  + unsigned int presult, h0, h1, h2, h3, p0, p1;
  + unsigned int paddr;
  + unsigned short pport;
  + struct sockaddr_in data_addr;
  + int pasvmode = 0;
  + char pasv[64];
  + char *pstr;
  +  
/* This appears to fix a bug(?) that generates an Address family not
supported by protocol error in proxy_doconnect() later (along with
making sure server.sin_family = AF_INET - cdm) */
  ***
  *** 519,574 
else if (i == 504) parms[0] = '\0';
}

  ! /* set up data connection */
  ! len = sizeof(struct sockaddr_in);
  ! if (getsockname(sock, (struct sockaddr *)server, len)  0)
  ! {
  ! proxy_log_uerror(getsockname, NULL,
  ! proxy: error getting socket address, r-server);
  ! pclosef(pool, sock);
  ! return SERVER_ERROR;
  ! }
  ! 
dsock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if (dsock == -1)
  ! {
  ! proxy_log_uerror(socket, NULL, proxy: error creating socket,
r-server);
pclosef(pool, sock);
  ! return SERVER_ERROR;
}
note_cleanups_for_fd(pool, dsock);

  ! if (setsockopt(dsock, SOL_SOCKET, SO_REUSEADDR, (const char *)one,
  !sizeof(int)) == -1)
{
proxy_log_uerror(setsockopt, NULL,
  ! proxy: error setting reuseaddr option, r-server);
pclosef(pool, dsock);
pclosef(pool, sock);
return SERVER_ERROR;
}

  ! if (bind(dsock, (struct sockaddr *)server, sizeof(struct sockaddr_in)) 
==
  ! -1)
  ! {
  ! char buff[22];

  ! sprintf(buff, %s:%d, inet_ntoa(server.sin_addr), server.sin_port);
  ! proxy_log_uerror(bind, buff,
  ! proxy: error binding to ftp data socket, r-server);
  ! pclosef(pool, sock);
pclosef(pool, dsock);
}
  - listen(dsock, 2); /* only need a short queue */

/* set request */
len = decodeenc(path);

/* TM - if len == 0 then it must be a directory (you can't RETR 
nothing) */

  ! if(len==0) parms=d;
  ! else
{
bputs(SIZE , f);
bwrite(f, path, len);
  --- 531,665 
else if (i == 504) parms[0] = '\0';
}

  ! /* try to set up PASV data connection first */
dsock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if (dsock == -1)
  ! { 
  ! proxy_log_uerror(socket, NULL, proxy: error creating PASV socket,
r-server);
pclosef(pool, sock);
  ! return SERVER_ERROR;
}
note_cleanups_for_fd(pool, dsock);

  ! if (setsockopt(dsock, SOL_SOCKET, SO_DEBUG, (const char *)one,
  !   sizeof (int)) == -1)
{
proxy_log_uerror(setsockopt, NULL,
  ! proxy: error setting PASV 

cvs commit: apache/src CHANGES

1996-12-24 Thread Chuck Murcko
chuck   96/12/24 10:41:10

  Modified:src   CHANGES
  Log:
  Note PASV change to mod_proxy.
  
  Revision  ChangesPath
  1.94  +2 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.93
  retrieving revision 1.94
  diff -C3 -r1.93 -r1.94
  *** CHANGES   1996/12/24 18:38:54 1.93
  --- CHANGES   1996/12/24 18:41:09 1.94
  ***
  *** 1,5 
  --- 1,7 
Changes with Apache 1.2b3:

  +   *) Add PASV mode to mod_proxy FTP handler. [Chuck Murcko]
  + 
  *) Changes to suexec wrapper to fix the following problems:
 1.  symlinked homedirs will kill ~userdirs.
 2.  initgroups() on Linux 2.0.x clobbers gr-grid.
  
  
  


cvs commit: apache/src Configuration.tmpl

1996-12-24 Thread Chuck Murcko
chuck   96/12/24 11:14:25

  Modified:src   Configuration.tmpl
  Log:
  Stop scaring off the proxy user candidates. 8^)
  
  Revision  ChangesPath
  1.53  +2 -2  apache/src/Configuration.tmpl
  
  Index: Configuration.tmpl
  ===
  RCS file: /export/home/cvs/apache/src/Configuration.tmpl,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -C3 -r1.52 -r1.53
  *** Configuration.tmpl1996/11/10 14:51:56 1.52
  --- Configuration.tmpl1996/12/24 19:14:24 1.53
  ***
  *** 236,242 

# Module fastcgi_module   mod_fastcgi.o

  ! ## Finally, the proxy module.  It's not as complete as it could
  ! ## be yet, so use at your own risk.

# Module proxy_modulemodules/proxy/libproxy.a
  --- 236,242 

# Module fastcgi_module   mod_fastcgi.o

  ! ## Finally, the proxy module.  It's not as complete as it could be yet.
  ! ## But it's getting there.

# Module proxy_modulemodules/proxy/libproxy.a
  
  
  


cvs commit: apache/htdocs/manual/mod mod_proxy.html

1996-12-24 Thread Chuck Murcko
chuck   96/12/24 11:46:58

  Modified:htdocs/manual/mod  mod_proxy.html
  Log:
  Add additional doc for the NoCache directive.
  
  Revision  ChangesPath
  1.7   +11 -3 apache/htdocs/manual/mod/mod_proxy.html
  
  Index: mod_proxy.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_proxy.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -C3 -r1.6 -r1.7
  *** mod_proxy.html1996/12/24 19:40:10 1.6
  --- mod_proxy.html1996/12/24 19:46:57 1.7
  ***
  *** 200,214 
strongCompatibility:/strong NoCache is only available in
Apache 1.1 and later.p

  ! The NoCache directive specifies a list of hosts and/or domains, separated
  ! by spaces. HTTP documents from hosts or domains in the list are emnot/em
cached by the proxy server. Example:

pre
  NoCache joes.garage.com some.host.co.uk wotsamattau.edu
/pre

  ! Note that 'wotsamattau' would also be sufficient to match 'wotsamattau.edu'.

hr

  --- 200,222 
strongCompatibility:/strong NoCache is only available in
Apache 1.1 and later.p

  ! The NoCache directive specifies a list of words, hosts and/or domains, 
separated
  ! by spaces. HTTP documents from matched words, hosts or domains are 
emnot/em
cached by the proxy server. Example:

pre
  NoCache joes.garage.com some.host.co.uk wotsamattau.edu
/pre

  ! Note that 'wotsamattau' would also be sufficient to match 
'wotsamattau.edu'.p
  ! 
  ! Note also that
  ! 
  ! pre
  ! NoCache *
  ! /pre
  ! 
  ! disables caching completely.p

hr

  
  
  


cvs commit: apache/htdocs/manual/mod mod_proxy.html

1996-12-24 Thread Chuck Murcko
chuck   96/12/24 11:55:58

  Modified:htdocs/manual/mod  mod_proxy.html
  Log:
  Fix misspelled link to common config topics.
  
  Revision  ChangesPath
  1.8   +1 -1  apache/htdocs/manual/mod/mod_proxy.html
  
  Index: mod_proxy.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_proxy.html,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -C3 -r1.7 -r1.8
  *** mod_proxy.html1996/12/24 19:46:57 1.7
  --- mod_proxy.html1996/12/24 19:55:57 1.8
  ***
  *** 11,17 
This module is contained in the codemod_proxy.c/code file, and
is not compiled in by default. It provides for a caching proxy server.
It is only available in Apache 1.1 and later. Common configuration
  ! questions are addressed a href=#confighere/a.

h3Note:/h3
pThis module was experimental in Apache 1.1.x. As of Apache 1.2, mod_proxy
  --- 11,17 
This module is contained in the codemod_proxy.c/code file, and
is not compiled in by default. It provides for a caching proxy server.
It is only available in Apache 1.1 and later. Common configuration
  ! questions are addressed a href=#configshere/a.

h3Note:/h3
pThis module was experimental in Apache 1.1.x. As of Apache 1.2, mod_proxy
  
  
  


cvs commit: apache/htdocs/manual/misc known_bugs.html

1996-12-24 Thread Chuck Murcko
chuck   96/12/24 12:15:48

  Modified:htdocs/manual/misc  known_bugs.html
  Log:
  Added mention of FIN_WAIT_2 problems, with pointer to example patch for BSDI.
  
  Revision  ChangesPath
  1.6   +8 -0  apache/htdocs/manual/misc/known_bugs.html
  
  Index: known_bugs.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/misc/known_bugs.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -C3 -r1.5 -r1.6
  *** known_bugs.html   1996/12/12 01:09:51 1.5
  --- known_bugs.html   1996/12/24 20:15:47 1.6
  ***
  *** 19,24 
  --- 19,32 
H2Version 1.2/H2

OL
  + 
  + LIusers have reported problems with many connections stuck in the
  + FIN_WAIT_2 state due to server timeouts. This is an issue with the OS TCP
  + stack, as some OS never timeout from this state. An example patch for BSDI
  + is available
  + a href=http://www.apache.org/dist/contrib/patches/1.2/fin_wait_2.patch;
  + here/a.
  + 
LIhard_timeout() for request reads uses incorrect logic, and
ends up waiting for an initial request read for the default timeout
number of seconds, 1200, yet only the KeepAliveTimeout number of
  
  
  


cvs commit: apache/src/modules/proxy mod_proxy.h

1996-12-24 Thread Chuck Murcko
chuck   96/12/24 12:22:46

  Modified:src/modules/proxy  mod_proxy.h
  Log:
  Revise TBD list.
  
  Revision  ChangesPath
  1.5   +8 -13 apache/src/modules/proxy/mod_proxy.h
  
  Index: mod_proxy.h
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/mod_proxy.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -C3 -r1.4 -r1.5
  *** mod_proxy.h   1996/10/27 18:29:56 1.4
  --- mod_proxy.h   1996/12/24 20:22:45 1.5
  ***
  *** 78,105 

More things to do:

  ! 0. Code cleanup

  ! 1. add 230 response output and PASV mode for ftp now that it works

2. Add gopher  WAIS

  ! 3. Various other fixups to insure no NULL strings parsed, etc.
  ! 
  ! 4. NoProxy directive for excluding sites to proxy
  !  
  ! 5. Imply NoCache * if cache directory is not configured, to enable proxy
  !without cache (and avoid SIGSEGV)
 
  ! 6. Use protocol handler struct a la Apache module handlers (Dirk van Gulik)
 
  ! 7. Use a cache expiry database for more efficient GC (Jeremy Wohl)

  ! 8. Handle multiple IPs for doconnect()

  ! 9. Bulletproof GC against SIGALRM

  ! 10. Make HTTPS and SNEWS ports configurable from a list

Chuck Murcko [EMAIL PROTECTED] 1 Oct 96

  --- 78,100 

More things to do:

  ! 0. Code cleanup (ongoing)

  ! 1. add 230 response output for ftp now that it works

2. Add gopher  WAIS

  ! 3. NoProxy directive for excluding sites to proxy
 
  ! 4. Use protocol handler struct a la Apache module handlers (Dirk van Gulik)
 
  ! 5. Use a cache expiry database for more efficient GC (Jeremy Wohl)

  ! 6. Handle multiple IPs for doconnect()

  ! 7. Bulletproof GC against SIGALRM

  ! 8. Make HTTPS and SNEWS ports configurable from a list

Chuck Murcko [EMAIL PROTECTED] 1 Oct 96

  
  
  


cvs commit: apache/htdocs/manual/mod mod_proxy.html

1996-12-24 Thread Chuck Murcko
chuck   96/12/24 12:57:05

  Modified:htdocs/manual/mod  mod_proxy.html
  Log:
  Change emphasis to agree with other docs.
  
  Revision  ChangesPath
  1.9   +1 -1  apache/htdocs/manual/mod/mod_proxy.html
  
  Index: mod_proxy.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_proxy.html,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -C3 -r1.8 -r1.9
  *** mod_proxy.html1996/12/24 19:55:57 1.8
  --- mod_proxy.html1996/12/24 20:57:04 1.9
  ***
  *** 15,21 

h3Note:/h3
pThis module was experimental in Apache 1.1.x. As of Apache 1.2, mod_proxy
  ! stability is *greatly* improved.p

h2Summary/h2

  --- 15,21 

h3Note:/h3
pThis module was experimental in Apache 1.1.x. As of Apache 1.2, mod_proxy
  ! stability is igreatly/i improved.p

h2Summary/h2

  
  
  


cvs commit: apache/src buff.c mod_rewrite.c mod_rewrite.h

1996-12-09 Thread Chuck Murcko
chuck   96/12/09 14:39:22

  Modified:src   buff.c mod_rewrite.c mod_rewrite.h
  Log:
  Reviewed by:  Brian Behlendorf, Chuck Murcko
  Submitted by: Marc Evans [EMAIL PROTECTED]
  patches for DEC AXP running OSF/1 v3.0.
  
  Revision  ChangesPath
  1.10  +1 -1  apache/src/buff.c
  
  Index: buff.c
  ===
  RCS file: /export/home/cvs/apache/src/buff.c,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -C3 -r1.9 -r1.10
  *** buff.c1996/11/10 09:16:10 1.9
  --- buff.c1996/12/09 22:39:18 1.10
  ***
  *** 419,425 

for (;;)
{
  ! x = memchr(fb-inptr, '\012', fb-incnt);
if (x != NULL)
{
x++;
  --- 419,425 

for (;;)
{
  ! x = (unsigned char *)memchr(fb-inptr, '\012', fb-incnt);
if (x != NULL)
{
x++;
  
  
  
  1.9   +26 -26apache/src/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_rewrite.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -C3 -r1.8 -r1.9
  *** mod_rewrite.c 1996/11/14 07:24:43 1.8
  --- mod_rewrite.c 1996/12/09 22:39:19 1.9
  ***
  *** 163,194 
**
*/

  - /* the main config structure */
  - module rewrite_module = {
  -STANDARD_MODULE_STUFF, 
  - 
  -init_module, /* module initializer */
  - 
  -config_perdir_create,/* create per-dirconfig structures */
  -config_perdir_merge, /* merge  per-dirconfig structures */
  -config_server_create,/* create per-server config structures */
  -config_server_merge, /* merge  per-server config structures */
  -command_table,   /* table of config file commands */
  - 
  -handler_table,   /* [#7] table of MIME-typed-dispatched 
request action handlers */
  - 
  -hook_uri2file,   /* [#1] URI to filename translation */
  - 
  -NULL,/* [#3] check_user_id: get and validate 
user id from the HTTP request */
  -NULL,/* [#4] check_auth:check if the user is 
ok _here_ */
  -NULL,/* [#2] check_access:  check access by host 
address, etc. */
  - 
  -hook_mimetype,   /* [#5] determine MIME type */
  - 
  -hook_fixup,  /* [#6] pre-run fixups */
  -NULL /* [#8] log a transaction */
  - };
  - 
/* the table of commands we provide */
static command_rec command_table[] = {
{ RewriteEngine,   cmd_rewriteengine,   NULL, OR_FILEINFO, FLAG, 
  --- 163,168 
  ***
  *** 214,219 
  --- 188,219 
static handler_rec handler_table[] = {
{ redirect-handler, handler_redirect },
{ NULL }
  + };
  + 
  + /* the main config structure */
  + module rewrite_module = {
  +STANDARD_MODULE_STUFF, 
  + 
  +init_module, /* module initializer */
  + 
  +config_perdir_create,/* create per-dirconfig structures */
  +config_perdir_merge, /* merge  per-dirconfig structures */
  +config_server_create,/* create per-server config structures */
  +config_server_merge, /* merge  per-server config structures */
  +command_table,   /* table of config file commands */
  + 
  +handler_table,   /* [#7] table of MIME-typed-dispatched 
request action handlers */
  + 
  +hook_uri2file,   /* [#1] URI to filename translation */
  + 
  +NULL,/* [#3] check_user_id: get and validate 
user id from the HTTP request */
  +NULL,/* [#4] check_auth:check if the user is 
ok _here_ */
  +NULL,/* [#2] check_access:  check access by host 
address, etc. */
  + 
  +hook_mimetype,   /* [#5] determine MIME type */
  + 
  +hook_fixup,  /* [#6] pre-run fixups */
  +NULL /* [#8] log a transaction */
};

/* the common cache */
  
  
  
  1.11  +0 -2  apache/src/mod_rewrite.h
  
  Index: mod_rewrite.h
  ===
  RCS file: /export/home/cvs/apache/src/mod_rewrite.h,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -C3 -r1.10 -r1.11
  *** mod_rewrite.h 1996/11/20 19:55:06 1.10
  --- mod_rewrite.h 1996/12/09 22:39:20 1.11
  ***
  *** 280,287 

/* static config */
extern module rewrite_module;
  - static command_rec command_table[];
  - static handler_rec handler_table[];
extern cache *cachep;

/* config structure handling */
  --- 280,285 
  
  
  


cvs commit: apache/src/modules/proxy proxy_http.c

1996-12-09 Thread Chuck Murcko
chuck   96/12/09 14:40:18

  Modified:src/modules/proxy  proxy_http.c
  Log:
  1) fixes possible NULL pointer reference w/NoCache
  2) fixes NoCache behavior when using ProxyRemote (ProxyRemote host would
   cache nothing if it was in the local domain, and the local domain
   was in the NoCache list)
  3) Adds Host: header when not available
  4) Some code cleanup and clarification
  
  1) and 2) were reported by Martin Kraemer, with patches. The function,
  though not the form, of Martin's stuff is adhered to here.
  
  Revision  ChangesPath
  1.7   +40 -25apache/src/modules/proxy/proxy_http.c
  
  Index: proxy_http.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_http.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -C3 -r1.6 -r1.7
  *** proxy_http.c  1996/11/25 11:22:05 1.6
  --- proxy_http.c  1996/12/09 22:40:17 1.7
  ***
  *** 142,149 
 const char *proxyhost, int proxyport)
{
char *p;
  ! const char *err, *host;
  ! int port, i, sock, len;
array_header *reqhdrs_arr, *resp_hdrs;
table_entry *reqhdrs;
struct sockaddr_in server;
  --- 142,149 
 const char *proxyhost, int proxyport)
{
char *p;
  ! const char *err, *desthost;
  ! int i, sock, len;
array_header *reqhdrs_arr, *resp_hdrs;
table_entry *reqhdrs;
struct sockaddr_in server;
  ***
  *** 152,157 
  --- 152,159 
char buffer[HUGE_STRING_LEN], inprotocol[9], outprotocol[9];
pool *pool=r-pool;
const long int zero=0L;
  + int destport = 0;
  + char *destportstr = NULL;

void *sconf = r-server-module_config;
proxy_server_conf *conf =
  ***
  *** 162,182 
memset(server, '\0', sizeof(server));
server.sin_family = AF_INET;

  ! if (proxyhost != NULL)
  ! {
  ! server.sin_port = htons(proxyport);
  ! err = proxy_host2addr(proxyhost, server.sin_addr);
  ! if (err != NULL) return DECLINED;  /* try another */
  ! host = proxyhost;
  ! } else
{
url += 7;  /* skip http:// */
  ! /* We break the URL into host, port, path-search */
  ! port = DEFAULT_PORT;
p = strchr(url, '/');
if (p == NULL)
{
  ! host = pstrdup(pool, url);
url = /;
} else
{
  --- 164,179 
memset(server, '\0', sizeof(server));
server.sin_family = AF_INET;

  ! /* We break the URL into host, port, path-search */
  ! 
  ! if ((desthost = table_get(r-headers_in, Host:)) == NULL)
{
url += 7;  /* skip http:// */
  ! destport = DEFAULT_PORT;
p = strchr(url, '/');
if (p == NULL)
{
  ! desthost = pstrdup(pool, url);
url = /;
} else
{
  ***
  *** 184,200 
memcpy(q, url, p-url);
q[p-url] = '\0';
url = p;
  ! host = q;
}

  ! p = strchr(host, ':');
  ! if (p != NULL)
  ! {
  ! *(p++) = '\0';
  ! port = atoi(p);
  ! }
  ! server.sin_port = htons(port);
  ! err = proxy_host2addr(host, server.sin_addr);
if (err != NULL) return proxyerror(r, err); /* give up */
}

  --- 181,208 
memcpy(q, url, p-url);
q[p-url] = '\0';
url = p;
  ! desthost = q;
}
  + }

  ! p = strchr(desthost, ':');
  ! if (p != NULL)
  ! {
  ! *(p++) = '\0';
  ! destport = atoi(p);
  ! destportstr = p;
  ! }
  ! 
  ! if (proxyhost != NULL)
  ! {
  ! url = r-uri;   /* restore original URL */
  ! server.sin_port = htons(proxyport);
  ! err = proxy_host2addr(proxyhost, server.sin_addr);
  ! if (err != NULL) return DECLINED;  /* try another */
  ! } else
  ! {
  ! server.sin_port = htons(destport);
  ! err = proxy_host2addr(desthost, server.sin_addr);
if (err != NULL) return proxyerror(r, err); /* give up */
}

  ***
  *** 213,231 
else return proxyerror(r, Could not connect to remote machine);
}

  ! clear_connection(r-headers_in);   /* Strip connection-based headers */

f = bcreate(pool, B_RDWR);
bpushfd(f, sock, sock);

hard_timeout (proxy send, r);
bvputs(f, r-method,  , url,  HTTP/1.0\015\012, NULL);

reqhdrs_arr = table_elts (r-headers_in);
reqhdrs = (table_entry *)reqhdrs_arr-elts;
for (i=0; i  reqhdrs_arr-nelts; i++)
{
  ! if (reqhdrs[i].key == NULL || reqhdrs[i].val == NULL) continue;
bvputs(f, reqhdrs[i].key, : , reqhdrs[i].val, \015\012, NULL);
}

  --- 221,246 
else return proxyerror(r, Could 

cvs commit: apache/src CHANGES

1996-12-09 Thread Chuck Murcko
chuck   96/12/09 14:47:32

  Modified:src   CHANGES
  Log:
  Note proxy and DEC OSF/1 changes.
  
  Revision  ChangesPath
  1.79  +10 -0 apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.78
  retrieving revision 1.79
  diff -C3 -r1.78 -r1.79
  *** CHANGES   1996/12/09 05:57:36 1.78
  --- CHANGES   1996/12/09 22:47:31 1.79
  ***
  *** 1,5 
  --- 1,15 
Changes with Apache 1.2b2:

  +   *) changes for DEC AXP running OSF/1 v3.0. [Marc Evans]
  + 
  +   *) proxy_http.c bugfixes:  [Chuck Murcko]
  + 1) fixes possible NULL pointer reference w/NoCache
  + 2) fixes NoCache behavior when using ProxyRemote (ProxyRemote
  +host would cache nothing if it was in the local domain,
  +and the local domain was in the NoCache list)
  + 3) Adds Host: header when not available
  + 4) Some code cleanup and clarification
  + 
  *) mod_include.c bugfixes:
1) Fixed an ommission that caused include variables to not 
   be parsed in config errmsg directives [Howard Fear]
  
  
  


cvs commit: apache/src/modules/proxy proxy_http.c

1996-12-09 Thread Chuck Murcko
chuck   96/12/09 19:12:07

  Modified:src/modules/proxy  proxy_http.c
  Log:
  Reviewed by:  Roy Fielding
  Correct thinko in table_get() arg. Add protection against URLs like
  http://somehost:/foo/bar with an isdigit() test on the char following
  the colon after a hostname.
  
  Revision  ChangesPath
  1.8   +6 -3  apache/src/modules/proxy/proxy_http.c
  
  Index: proxy_http.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_http.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -C3 -r1.7 -r1.8
  *** proxy_http.c  1996/12/09 22:40:17 1.7
  --- proxy_http.c  1996/12/10 03:12:05 1.8
  ***
  *** 166,172 

/* We break the URL into host, port, path-search */

  ! if ((desthost = table_get(r-headers_in, Host:)) == NULL)
{
url += 7;  /* skip http:// */
destport = DEFAULT_PORT;
  --- 166,172 

/* We break the URL into host, port, path-search */

  ! if ((desthost = table_get(r-headers_in, Host)) == NULL)
{
url += 7;  /* skip http:// */
destport = DEFAULT_PORT;
  ***
  *** 189,196 
if (p != NULL)
{
*(p++) = '\0';
  ! destport = atoi(p);
  ! destportstr = p;
}

if (proxyhost != NULL)
  --- 189,199 
if (p != NULL)
{
*(p++) = '\0';
  ! if (isdigit(*p))
  ! {
  ! destport = atoi(p);
  ! destportstr = p;
  ! }
}

if (proxyhost != NULL)
  
  
  


cvs commit: apache/src/modules/proxy proxy_cache.c

1996-11-25 Thread Chuck Murcko
chuck   96/11/25 07:22:13

  Modified:src/modules/proxy  proxy_cache.c
  Log:
  Cleanup promised earlier which didn't make it in.
  
  Revision  ChangesPath
  1.7   +3 -7  apache/src/modules/proxy/proxy_cache.c
  
  Index: proxy_cache.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_cache.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -C3 -r1.6 -r1.7
  *** proxy_cache.c 1996/11/25 02:49:53 1.6
  --- proxy_cache.c 1996/11/25 15:22:11 1.7
  ***
  *** 781,797 
#define TMPFILESTR  /tmpXX
if (conf-cache.root == NULL)
return DECLINED;
  ! c-tempfile=palloc(r-pool,strlen(conf-cache.root)+sizeof TMPFILESTR);
strcpy(c-tempfile,conf-cache.root);
  - /*
  - p = strrchr(c-tempfile, '/');
  - if (p == NULL) return DECLINED;
  - strcpy(p, TMPFILESTR);
  - */
strcat(c-tempfile,TMPFILESTR);
#undef TMPFILESTR
p = mktemp(c-tempfile);
  ! if (p == NULL) return DECLINED;

Explain1(Create temporary file %s,c-tempfile);

  --- 781,793 
#define TMPFILESTR  /tmpXX
if (conf-cache.root == NULL)
return DECLINED;
  ! c-tempfile=palloc(r-pool,strlen(conf-cache.root)+sizeof(TMPFILESTR));
strcpy(c-tempfile,conf-cache.root);
strcat(c-tempfile,TMPFILESTR);
#undef TMPFILESTR
p = mktemp(c-tempfile);
  ! if (p == NULL)
  ! return DECLINED;

Explain1(Create temporary file %s,c-tempfile);

  
  
  


cvs commit: apache/src/modules/proxy proxy_cache.c

1996-11-24 Thread Chuck Murcko
chuck   96/11/24 18:49:55

  Modified:src/modules/proxy  proxy_cache.c
  Log:
  Eliminate core dumps when CacheRoot is not defined and ProxyRequests On.
  This still allows proxy to operate. ProxyPass core dumps should be largely
  if not totally eliminated. Also. minor cleanup in this section.
  
  Revision  ChangesPath
  1.6   +3 -1  apache/src/modules/proxy/proxy_cache.c
  
  Index: proxy_cache.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/proxy_cache.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -C3 -r1.5 -r1.6
  *** proxy_cache.c 1996/11/04 20:43:20 1.5
  --- proxy_cache.c 1996/11/25 02:49:53 1.6
  ***
  *** 779,785 

/* open temporary file */
#define TMPFILESTR  /tmpXX
  ! c-tempfile=palloc(r-pool,strlen(conf-cache.root)+sizeof 
TMPFILESTR-1);
strcpy(c-tempfile,conf-cache.root);
/*
p = strrchr(c-tempfile, '/');
  --- 779,787 

/* open temporary file */
#define TMPFILESTR  /tmpXX
  ! if (conf-cache.root == NULL)
  ! return DECLINED;
  ! c-tempfile=palloc(r-pool,strlen(conf-cache.root)+sizeof TMPFILESTR);
strcpy(c-tempfile,conf-cache.root);
/*
p = strrchr(c-tempfile, '/');
  
  
  


cvs commit: apache/src/modules Makefile

1996-10-20 Thread Chuck Murcko
chuck   96/10/20 16:59:43

  Modified:src/modules  Makefile
  Log:
  lose $Id$
  
  Revision  ChangesPath
  1.3   +0 -2  apache/src/modules/Makefile
  
  Index: Makefile
  ===
  RCS file: /export/home/cvs/apache/src/modules/Makefile,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -C3 -r1.2 -r1.3
  *** Makefile  1996/10/09 17:12:45 1.2
  --- Makefile  1996/10/20 23:59:42 1.3
  ***
  *** 50,57 
# 
# simple Makefile for modules in src/modules
# 
  - # $Id: Makefile,v 1.2 1996/10/09 17:12:45 chuck Exp $
  - #

SHELL = /bin/sh

  --- 50,55 
  
  
  


cvs commit: apache/src/modules Makefile

1996-10-09 Thread Chuck Murcko
chuck   96/10/09 10:12:47

  Modified:src/modules  Makefile
  Log:
  Fix errant ';' in loops
  
  Revision  ChangesPath
  1.2   +3 -3  apache/src/modules/Makefile
  
  Index: Makefile
  ===
  RCS file: /export/home/cvs/apache/src/modules/Makefile,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -C3 -r1.1 -r1.2
  *** Makefile  1996/10/09 14:51:48 1.1
  --- Makefile  1996/10/09 17:12:45 1.2
  ***
  *** 50,56 
# 
# simple Makefile for modules in src/modules
# 
  ! # $Id: Makefile,v 1.1 1996/10/09 14:51:48 chuck Exp $
#

SHELL = /bin/sh
  --- 50,56 
# 
# simple Makefile for modules in src/modules
# 
  ! # $Id: Makefile,v 1.2 1996/10/09 17:12:45 chuck Exp $
#

SHELL = /bin/sh
  ***
  *** 58,70 
MODULES=proxy

default:
  ! (for dir in $(MODULES); do; \
cd $$dir; \
$(MAKE) CC=$(CC) AUX_CFLAGS=$(AUX_CFLAGS) RANLIB=$(RANLIB); \
done)

clean:  
  ! (for dir in $(MODULES); do; \
cd $$dir; $(MAKE) clean; \
done)

  --- 58,70 
MODULES=proxy

default:
  ! (for dir in $(MODULES); do \
cd $$dir; \
$(MAKE) CC=$(CC) AUX_CFLAGS=$(AUX_CFLAGS) RANLIB=$(RANLIB); \
done)

clean:  
  ! (for dir in $(MODULES); do \
cd $$dir; $(MAKE) clean; \
done)

  
  
  


cvs commit: apache/src/modules/proxy mod_proxy.h proxy_cache.c proxy_connect.c proxy_ftp.c proxy_http.c proxy_util.c Makefile mod_proxy.c

1996-10-01 Thread Chuck Murcko
chuck   96/10/01 00:11:48

  Modified:src/modules/proxy  Makefile mod_proxy.c
  Added:   src/modules/proxy  mod_proxy.h proxy_cache.c proxy_connect.c
proxy_ftp.c  proxy_http.c proxy_util.c
  Log:
  Phase II - The Great Proxy Reorganization
  
  Layout with protocol abstraction, daemon gc in mind.
  
  Revision  ChangesPath
  1.3   +15 -11apache/src/modules/proxy/Makefile
  
  Index: Makefile
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/Makefile,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -C3 -r1.2 -r1.3
  *** Makefile  1996/09/29 13:58:55 1.2
  --- Makefile  1996/10/01 07:11:41 1.3
  ***
  *** 50,56 
# 
# Makefile for the Apache proxy library
# 
  ! # $Id: Makefile,v 1.2 1996/09/29 13:58:55 chuck Exp $
#

SHELL = /bin/sh
  --- 50,56 
# 
# Makefile for the Apache proxy library
# 
  ! # $Id: Makefile,v 1.3 1996/10/01 07:11:41 chuck Exp $
#

SHELL = /bin/sh
  ***
  *** 59,70 

LIB=libproxy.a

  ! # define -DEXPLAIN if you want verbose debugging output
CFLAGS=-I. -I$(INCDIR) $(AUX_CFLAGS)

# Internal stuff, should not need changing.
  ! OBJS=mod_proxy.o
  ! PROXYSRC=mod_proxy.c

default:$(LIB)

  --- 59,73 

LIB=libproxy.a

  ! # AUX_CFLAGS comes from higher level Makefile
CFLAGS=-I. -I$(INCDIR) $(AUX_CFLAGS)

# Internal stuff, should not need changing.
  ! OBJS=mod_proxy.o proxy_cache.o proxy_connect.o proxy_ftp.o proxy_http.o \
  ! proxy_util.o
  ! 
  ! PROXYSRC=mod_proxy.c proxy_cache.c proxy_connect.c proxy_ftp.c proxy_http.c 
\
  ! proxy_util.c

default:$(LIB)

  ***
  *** 74,86 
$(RANLIB) $@

# dependencies
  ! mod_proxy.o: $(INCDIR)/http_log.h
  ! mod_proxy.o: $(INCDIR)/http_main.h
  ! mod_proxy.o: $(INCDIR)/http_protocol.h
  ! mod_proxy.o: $(INCDIR)/http_config.h
  ! mod_proxy.o: $(INCDIR)/httpd.h
  ! mod_proxy.o: $(INCDIR)/md5.h
  ! mod_proxy.o: $(INCDIR)/explain.h

# various forms of cleanup
tidy:
  --- 77,90 
$(RANLIB) $@

# dependencies
  ! mod_proxy.o proxy_cache.o proxy_connect.o proxy_ftp.o proxy_http.o \
  ! proxy_util.o: mod_proxy.h
  ! mod_proxy.o: $(INCDIR)/httpd.h $(INCDIR)/http_config.h
  ! proxy_cache.o: $(INCDIR)/httpd.h $(INCDIR)/http_config.h $(INCDIR)/md5.h
  ! proxy_connect.o: $(INCDIR)/httpd.h $(INCDIR)/http_config.h
  ! proxy_ftp.o: $(INCDIR)/httpd.h $(INCDIR)/http_config.h
  ! proxy_http.o: $(INCDIR)/httpd.h $(INCDIR)/http_config.h
  ! proxy_util.o: $(INCDIR)/httpd.h $(INCDIR)/http_config.h $(INCDIR)/md5.h

# various forms of cleanup
tidy:
  
  
  
  1.3   +51 -3052  apache/src/modules/proxy/mod_proxy.c
  
  Index: mod_proxy.c
  ===
  RCS file: /export/home/cvs/apache/src/modules/proxy/mod_proxy.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -C3 -r1.2 -r1.3
  *** mod_proxy.c   1996/09/29 14:10:58 1.2
  --- mod_proxy.c   1996/10/01 07:11:42 1.3
  ***
  *** 50,197 
 *
 */

  ! /* $Id: mod_proxy.c,v 1.2 1996/09/29 14:10:58 chuck Exp $ */

  ! /*
  ! Note that the Explain() stuff is not yet complete.
  ! Also note numerous FIXMEs and CHECKMEs which should be eliminated.
  ! 
  ! If TESTING is set, then garbage collection doesn't delete ... probably a 
good
  ! idea when hacking.
  ! 
  ! This code is still experimental!
  ! 
  ! Things to do:
  ! 
  ! 1. Make it garbage collect in the background, not while someone is waiting 
for
  ! a response!
  ! 
  ! 2. Check the logic thoroughly.
  ! 
  ! 3. Empty directories are only removed the next time round (but this does 
avoid
  ! two passes). Consider doing them the first time round.
  ! 
  ! Ben Laurie [EMAIL PROTECTED] 30 Mar 96
  ! 
  ! More things to do:
  ! 
  ! 0. Massive code cleanup  break into multiple files; link as a lib
  ! 
  ! 1. add PASV mode for ftp now that it works
  ! 
  ! 2. Add gopher  WAIS
  ! 
  ! 3. Various other fixups to insure no NULL strings parsed, etc.
  ! 
  ! 4. NoProxy directive for excluding sites to proxy
  !  
  ! 5. Imply NoCache * if cache directory is not configured, to enable proxy
  !without cache (and avoid SIGSEGV)
  !  
  ! 6. Implement protocol handler struct a la Apache module handlers
  !  
  ! 7. Use a cache expiry database for more efficient GC
  ! 
  ! 8. Handle multiple IPs for doconnect()
  ! 
  ! 9. Bulletproof GC against SIGALRM
  ! 
  ! Chuck Murcko [EMAIL PROTECTED] 28 Sep 96
  ! 
  ! */
  ! 
  ! #define TESTING 0
  ! #undef EXPLAIN
  ! 
  ! #include httpd.h
  ! #include http_config.h
  ! #include http_log.h
  ! #include http_main.h
  ! #include http_protocol.h
  ! 
  ! #include md5.h
  ! 
  ! #include utime.h
  ! 
  ! #include explain.h

cvs commit: apache/src http_main.c

1996-09-25 Thread Chuck Murcko
chuck   96/09/25 13:07:54

  Modified:src   http_main.c
  Log:
  Submitted by: Chuck Murcko
  Remove nokeepalive environment variable checks. Really.
  
  Revision  ChangesPath
  1.72  +3 -5  apache/src/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache/src/http_main.c,v
  retrieving revision 1.71
  retrieving revision 1.72
  diff -C3 -r1.71 -r1.72
  *** http_main.c   1996/09/24 12:21:14 1.71
  --- http_main.c   1996/09/25 20:07:50 1.72
  ***
  *** 50,56 
 *
 */

  ! /* $Id: http_main.c,v 1.71 1996/09/24 12:21:14 mjc Exp $ */

/*
 * httpd.c: simple http daemon for answering WWW file requests
  --- 50,56 
 *
 */

  ! /* $Id: http_main.c,v 1.72 1996/09/25 20:07:50 chuck Exp $ */

/*
 * httpd.c: simple http daemon for answering WWW file requests
  ***
  *** 1530,1537 
#if defined(STATUS)
if (r) increment_counts(child_num,r,1);
#endif
  ! while (r  current_conn-keepalive 
  !   !table_get(r-subprocess_env, nokeepalive)) {
bflush(conn_io);
destroy_pool(r-pool);
(void)update_child_status (child_num, SERVER_BUSY_KEEPALIVE,
  --- 1530,1536 
#if defined(STATUS)
if (r) increment_counts(child_num,r,1);
#endif
  ! while (r  current_conn-keepalive) {
bflush(conn_io);
destroy_pool(r-pool);
(void)update_child_status (child_num, SERVER_BUSY_KEEPALIVE,
  ***
  *** 1999,2006 
r = read_request (conn);
if (r) process_request (r); /* else premature EOF (ignore) */

  ! while (r  conn-keepalive 
  !   !table_get(r-subprocess_env, nokeepalive)) {
bflush(cio);
destroy_pool(r-pool);
r = read_request (conn);
  --- 1998,2004 
r = read_request (conn);
if (r) process_request (r); /* else premature EOF (ignore) */

  ! while (r  conn-keepalive) {
bflush(cio);
destroy_pool(r-pool);
r = read_request (conn);
  
  
  


cvs commit: apache/conf httpd.conf-dist

1996-09-17 Thread Chuck Murcko
chuck   96/09/17 13:02:20

  Modified:conf  httpd.conf-dist
  Log:
  Submitted by: Chuck Murcko
  Fixed regexp for BrowserMatch (nokeepalive).
  
  Revision  ChangesPath
  1.8   +2 -2  apache/conf/httpd.conf-dist
  
  Index: httpd.conf-dist
  ===
  RCS file: /export/home/cvs/apache/conf/httpd.conf-dist,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -C3 -r1.7 -r1.8
  *** httpd.conf-dist   1996/09/17 14:27:28 1.7
  --- httpd.conf-dist   1996/09/17 20:02:17 1.8
  ***
  *** 1,6 
# This is the main server configuration file. See URL http://www.apache.org/
# for instructions.
  ! # $Id: httpd.conf-dist,v 1.7 1996/09/17 14:27:28 chuck Exp $

# Do NOT simply read the instructions in here without understanding
# what they do, if you are unsure consult the online docs. You have been
  --- 1,6 
# This is the main server configuration file. See URL http://www.apache.org/
# for instructions.
  ! # $Id: httpd.conf-dist,v 1.8 1996/09/17 20:02:17 chuck Exp $

# Do NOT simply read the instructions in here without understanding
# what they do, if you are unsure consult the online docs. You have been
  ***
  *** 35,41 
# Netscape 2.x and browsers which spoof it. There are known problems with
# these

  ! BrowserMatch ^Mozilla/2* nokeepalive

# ServerAdmin: Your address, where problems with the server should be
# e-mailed.
  --- 35,41 
# Netscape 2.x and browsers which spoof it. There are known problems with
# these

  ! BrowserMatch Mozilla/2 nokeepalive

# ServerAdmin: Your address, where problems with the server should be
# e-mailed.
  
  
  


cvs commit: apache/src Configure

1996-08-17 Thread Chuck Murcko
chuck   96/08/17 10:27:34

  Modified:src   Configure
  Log:
  Submitted by: Chuck Murcko
  Add missing /; escape - as a grep arg (-lsocks)
  
  Revision  ChangesPath
  1.11  +1 -1  apache/src/Configure
  
  Index: Configure
  ===
  RCS file: /export/home/cvs/apache/src/Configure,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -C3 -r1.10 -r1.11
  *** Configure 1996/08/17 14:18:20 1.10
  --- Configure 1996/08/17 17:27:32 1.11
  ***
  *** 290,296 
# Set flag and check Makefile for -lsocks line
CFLAGS=$CFLAGS -Dconnect=Rconnect -Dselect=Rselect
CFLAGS=$CFLAGS -Dgethostbyname=Rgethostbyname
  ! if grep EXTRA_ Makefile | grep -lsocks  /dev null; then
:
else
LIBS=$LIBS -L/usr/local/lib -lsocks
  --- 290,296 
# Set flag and check Makefile for -lsocks line
CFLAGS=$CFLAGS -Dconnect=Rconnect -Dselect=Rselect
CFLAGS=$CFLAGS -Dgethostbyname=Rgethostbyname
  ! if grep EXTRA_ Makefile | grep \-lsocks  /dev/null; then
:
else
LIBS=$LIBS -L/usr/local/lib -lsocks
  
  
  


cvs commit: apache/src CHANGES mod_proxy.c

1996-07-28 Thread Chuck Murcko
chuck   96/07/28 15:17:55

  Modified:src   CHANGES mod_proxy.c
  Log:
  Submitted by:  Chuck Murcko
  added NoCache * directive to enable proper operation w/o caching
  changed #tmp to tmp in temp file template, for broken link/unlink
  changed Expire to Expires in cache_update()
  added $Id$
  
  Revision  ChangesPath
  1.45  +14 -0 apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -C3 -r1.44 -r1.45
  *** CHANGES   1996/07/17 23:20:47 1.44
  --- CHANGES   1996/07/28 22:17:49 1.45
  ***
  *** 1,5 
  --- 1,19 
Changes with Apache 1.2b1:

  +   *) Changes to mod_proxy since 1.1beta:
  +   tested w/SOCKS proxy for http
  +   fixed IP address formation in host2addr()
  +   fixed SIGALRM on big cache cleanup
  +   fixed temp files #tmp not removed
  +   changed PF_INET to AF_INET in socket() calls
  +   installed CONNECT code from Troy Morrison [EMAIL PROTECTED] for 
testing
  +   added NoCache config directive to disallow caching for selected hosts
  +   added NoCache * directive to enable proper operation w/o caching
  +   changed #tmp to tmp in temp file template, for broken 
link/unlink
  +   changed Expire to Expires in cache_update()
  +   added appropriate #defines for Next compile
  +   added $Id: CHANGES,v 1.45 1996/07/28 22:17:49 chuck Exp $ for RCS/CVS 
[Chuck Murcko]
  + 
  *) Fix ErrorDocument handling.  When ErrorDocument failed it used to 
 display filename instead of error message. [Paul Sutton]

  
  
  
  1.35  +20 -13apache/src/mod_proxy.c
  
  Index: mod_proxy.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_proxy.c,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -C3 -r1.34 -r1.35
  *** mod_proxy.c   1996/07/28 19:27:49 1.34
  --- mod_proxy.c   1996/07/28 22:17:51 1.35
  ***
  *** 51,56 
  --- 51,60 
 */

/*
  +  * $Id: mod_proxy.c,v 1.35 1996/07/28 22:17:51 chuck Exp $
  +  */
  + 
  + /*
Note that the Explain() stuff is not yet complete.
Also note numerous FIXMEs and CHECKMEs which should be eliminated.

  ***
  *** 71,87 

Ben Laurie [EMAIL PROTECTED] 30 Mar 96

  ! More changes:

  ! 0) tested w/SOCKS proxy for http
  ! 1) fixed IP address formation in host2addr()
  ! 2) fixed SIGALRM on big cache cleanup
  ! 3) fixed temp files #tmp not removed
  ! 4) changed PF_INET to AF_INET in socket() calls
  ! 5) installed CONNECT code from Troy Morrison [EMAIL PROTECTED] for testing
  ! 6) added NoCache config directive to disallow caching for selected hosts

  ! Chuck Murcko [EMAIL PROTECTED] 2 Jun 96

*/

  --- 75,93 

Ben Laurie [EMAIL PROTECTED] 30 Mar 96

  ! More things to do:
  ! 
  ! 0. Massive code cleanup  break into multiple files; link as a lib
  ! 
  ! 1. Check date routines
  ! 
  ! 2. Get ftp working, add PASV mode
  ! 
  ! 3. Add gopher  WAIS

  ! 4. Various other fixups to insure no NULL strings parsed, etc.

  ! Chuck Murcko [EMAIL PROTECTED] 28 Jul 96

*/

  ***
  *** 1413,1419 
sprintf(filename, %s%s, cachedir, ent-d_name);
Explain1(GC Examining file %s,filename);
/* is it a temporary file? */
  ! if (strncmp(ent-d_name, #tmp, 4) == 0)
{
/* then stat it to see how old it is; delete temporary files  1 day old */
if (stat(filename, buf) == -1)
  --- 1419,1425 
sprintf(filename, %s%s, cachedir, ent-d_name);
Explain1(GC Examining file %s,filename);
/* is it a temporary file? */
  ! if (strncmp(ent-d_name, tmp, 3) == 0)
{
/* then stat it to see how old it is; delete temporary files  1 day old */
if (stat(filename, buf) == -1)
  ***
  *** 1783,1789 
/* read expiry date; if a bad date, then leave it so the client can
 * read it
 */
  ! expire = get_header(resp_hdrs, Expire);
if (expire != NULL) expc = parsedate(expire-value, NULL);
else expc = -1;

  --- 1789,1795 
/* read expiry date; if a bad date, then leave it so the client can
 * read it
 */
  ! expire = get_header(resp_hdrs, Expires);
if (expire != NULL) expc = parsedate(expire-value, NULL);
else expc = -1;

  ***
  *** 1974,1980 
buff[35] = ' ';

/* open temporary file */
  ! #define TMPFILESTR  /#tmpXX
c-tempfile=palloc(r-pool,strlen(conf-cache.root)+sizeof 
TMPFILESTR-1);
strcpy(c-tempfile,conf-cache.root);
/*
  --- 1980,1986 
buff[35] = ' ';

/* open temporary file */
  ! #define TMPFILESTR  /tmpXX

cvs commit: apache/src mod_negotiation.c

1996-07-28 Thread Chuck Murcko
chuck   96/07/28 15:40:56

  Modified:src   mod_negotiation.c
  Log:
  Reviewed by:  Chuck Murcko
  Submitted by: Ralf S. Engelschall
  Prevent conflicts when ProxyRemote is in use
  
  Revision  ChangesPath
  1.11  +3 -0  apache/src/mod_negotiation.c
  
  Index: mod_negotiation.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_negotiation.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -C3 -r1.10 -r1.11
  *** mod_negotiation.c 1996/07/28 19:27:49 1.10
  --- mod_negotiation.c 1996/07/28 22:40:55 1.11
  ***
  *** 593,598 
  --- 593,601 

if (!(filp = strrchr (r-filename, '/'))) return DECLINED; /* Weird... 
*/

  + if (strncmp(r-filename, proxy:, 6) == 0)
  + return DECLINED;
  + 
++filp;
prefix_len = strlen (filp);

  
  
  


cvs commit: apache/src http_main.c

1996-06-11 Thread Chuck Murcko
chuck   96/06/11 08:40:50

  Modified:src   http_main.c
  Log:
  Submitted by: Chuck Murcko
  Fix compile warnings and error (on NEXT) from incorrect variable declaration.
  
  Revision  ChangesPath
  1.38  +1 -1  apache/src/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache/src/http_main.c,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -C3 -r1.37 -r1.38
  *** http_main.c   1996/06/11 06:21:48 1.37
  --- http_main.c   1996/06/11 15:40:48 1.38
  ***
  *** 817,823 
 * a while...
 */

  ! static sigjmp_buf wait_timeout_buf;
static int wait_or_timeout_retval = -1;

static void longjmp_out_of_alarm (int sig) {
  --- 817,823 
 * a while...
 */

  ! static JMP_BUF wait_timeout_buf;
static int wait_or_timeout_retval = -1;

static void longjmp_out_of_alarm (int sig) {
  
  
  


cvs commit: apache/src mod_proxy.c

1996-06-11 Thread Chuck Murcko
chuck   96/06/11 08:42:59

  Modified:src   mod_proxy.c
  Log:
  Submitted by: Chuck Murcko
  Disable canonicalization of the search portion of proxied URLs.
  One small step toward HTTP 1.1 compliance.
  
  Revision  ChangesPath
  1.26  +1 -1  apache/src/mod_proxy.c
  
  Index: mod_proxy.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_proxy.c,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -C3 -r1.25 -r1.26
  *** mod_proxy.c   1996/06/10 17:55:19 1.25
  --- mod_proxy.c   1996/06/11 15:42:57 1.26
  ***
  *** 676,682 
/* process search */
if (p != NULL)
{
  ! search = canonenc(r-pool, p, strlen(p), enc_search, 1);
if (search == NULL) return BAD_REQUEST;
} else
search = ;
  --- 676,682 
/* process search */
if (p != NULL)
{
  ! search = p;
if (search == NULL) return BAD_REQUEST;
} else
search = ;
  
  
  


cvs commit: apache/src mod_proxy.c

1996-06-10 Thread Chuck Murcko
chuck   96/06/10 10:55:22

  Modified:src   mod_proxy.c
  Log:
  Submitted by: Chuck (I hope this is right) Murcko
  Changed host2addr() function back to using inet_addr() for IP address
  lookups, but in a way that works. Removed inet_aton() call because it's
  too new for some systems.
  
  Revision  ChangesPath
  1.25  +3 -1  apache/src/mod_proxy.c
  
  Index: mod_proxy.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_proxy.c,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -C3 -r1.24 -r1.25
  *** mod_proxy.c   1996/06/08 21:21:29 1.24
  --- mod_proxy.c   1996/06/10 17:55:19 1.25
  ***
  *** 2188,2193 
  --- 2188,2194 
host2addr(const char *host, struct in_addr *addr)
{
int i;
  + unsigned long ipaddr;

for (i=0; host[i] != '\0'; i++)
if (!isdigit(host[i])  host[i] != '.')
  ***
  *** 2202,2209 
memcpy(addr, hp-h_addr, sizeof(struct in_addr));
} else
{
  ! if (!inet_aton(host, addr))
return Bad IP address;
}
return NULL;
}
  --- 2203,2211 
memcpy(addr, hp-h_addr, sizeof(struct in_addr));
} else
{
  ! if ((ipaddr = inet_addr(host)) == -1)
return Bad IP address;
  + memcpy(addr, ipaddr, sizeof(unsigned long));
}
return NULL;
}
  
  
  


cvs commit: apache/src mod_proxy.c

1996-06-08 Thread Chuck Murcko
chuck   96/06/08 14:21:31

  Modified:src   mod_proxy.c
  Log:
  Submitted by: Chuck Murcko
  Editorial change at the header to connect_handler()
  
  Revision  ChangesPath
  1.24  +5 -3  apache/src/mod_proxy.c
  
  Index: mod_proxy.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_proxy.c,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -C3 -r1.23 -r1.24
  *** mod_proxy.c   1996/06/07 20:19:02 1.23
  --- mod_proxy.c   1996/06/08 21:21:29 1.24
  ***
  *** 2595,2605 
}

/*  
  !  * This handles Netscape-SSL style CONNECT proxy requests.
 * A connection is opened to the specified host and data is
 * passed through between the WWW site and the browser.
  !  * This code is based on the IETF document at
  !  * http://www.netscape.com/docs/std/tunnelling_ssl.html.
 *
 * FIXME: this is bad, because it does its own socket I/O
 *instead of using the I/O in buff.c.  However,
  --- 2595,2607 
}

/*  
  !  * This handles Netscape CONNECT method secure proxy requests.
 * A connection is opened to the specified host and data is
 * passed through between the WWW site and the browser.
  !  *
  !  * This code is based on the INTERNET-DRAFT document
  !  * Tunneling SSL Through a WWW Proxy currently at
  !  * http://www.mcom.com/newsref/std/tunneling_ssl.html.
 *
 * FIXME: this is bad, because it does its own socket I/O
 *instead of using the I/O in buff.c.  However,
  
  
  


cvs commit: apache/src http_main.c

1996-06-07 Thread Chuck Murcko
chuck   96/06/07 12:51:18

  Modified:src   http_main.c
  Log:
  Reviewed by:  Chuck Murcko
  Submitted by: Cliff Skolnick
  Obtained from:  [EMAIL PROTECTED]
  When the server listens to multiple ports (via
  the httpd.conf 'Listen port' directive), a
  SIGHUP sent to the main server doesn't call
  reclaim_child_processes.  The status of the killed
  child processes is collected much later, after the
  server is fully restarted.  Also an error log
  entry for the SIGHUP is missing in logs/error_log.
  
  Revision  ChangesPath
  1.33  +7 -4  apache/src/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache/src/http_main.c,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -C3 -r1.32 -r1.33
  *** http_main.c   1996/06/07 17:39:24 1.32
  --- http_main.c   1996/06/07 19:51:16 1.33
  ***
  *** 1341,1347 
struct sockaddr_in sa_server;

standalone = 1;
  ! sd = -1;

if (!one_process) detach(); 

  --- 1341,1347 
struct sockaddr_in sa_server;

standalone = 1;
  ! sd = listenmaxfd = -1;

if (!one_process) detach(); 

  ***
  *** 1354,1366 
signal (SIGHUP, SIG_IGN);   /* Until we're done (re)reading config 
*/

if(!one_process)
#ifndef NO_KILLPG
  !   killpg(pgrp,SIGHUP);  /* Kill 'em off */
#else
  !   kill(-pgrp,SIGHUP);
#endif

  ! if (sd != -1) {
reclaim_child_processes(); /* Not when just starting up */
log_error (SIGHUP received.  Attempting to restart, server_conf);
}
  --- 1354,1369 
signal (SIGHUP, SIG_IGN);   /* Until we're done (re)reading config 
*/

if(!one_process)
  + {
#ifndef NO_KILLPG
  !   if (killpg(pgrp,SIGHUP)  0)/* Kill 'em off */
#else
  !   if (kill(-pgrp,SIGHUP)  0)
#endif
  + log_unixerr (killpg SIGHUP, NULL, NULL, server_conf);
  + }

  ! if (sd != -1 || listenmaxfd != -1) {
reclaim_child_processes(); /* Not when just starting up */
log_error (SIGHUP received.  Attempting to restart, server_conf);
}