Mailing List Archive

votes on patches
Tested on FreeBSD 2.0.5 with gcc.

+1 40_tz.0.8.16.patch
+1 41_getparents.0.8.16.patch
+1 42_cert.no2slash.0.8.16.patch
0 43_slashredir.0.8.16.patch
+1 43a_slashredir.0.8.16.patch
0 44_ident.0.8.16.patch

Wups. Can someone improve this?

compiler warning:

gcc -c -O2 -DXBITHACK -m486 http_main.c
http_main.c: In function `child_main':
http_main.c:786: warning: passing arg 2 of `getsockname' from incompatible pointer type

Note: from 'man getsockname' on FreeBSD we get:

SYNOPSIS
int
getsockname(int s, struct sockaddr *name, int *namelen)

I mean, it seems to work (had to install inetd to test it even),
but I think we just got lucky.

Dave R sez:
ChangeLog: Ensure that rfc931() is given a sockaddr describing the
local address (virtual host) that is currently in use.
Comments: Before this patch, rfc931() was passed 0.0.0.0 as the
local address; on some systems bind() managed to correctly choose
the IP address for the virtual host currently in use!

Well, FreeBSD seems to be able to cope with or without the patch,
when using 127.0.0.1 as one of the virtual hosts (yeah it did serve
up a different document root so the VH code is being called)

Question: what exactly indicates that this bug is present, do the
log files screw up? How do we test for this situation?

+1 45_dbm_groups.0.8.16.patch
+1 46.dbmmanage_group.0.8.16.patch
+1 47.allow.0.8.16.patch
+1 48.log-ssi.0.8.16.patch
0 50.imagemap.0.8.16.patch

i don't use imagemaps

+1 51.requires.0.8.16.patch
+1 52.extralibs.0.8.16.patch
+1 53.README_enhancement.0.8.16.patch

It still isn't enough to tell a complete novice how to get the beast
working straight out of the box, they'll need to refer to other
docs to have a reasonable chanse of success. Doesn't mention proposed
naming convention for binaries: httpd_<OS> for 'httpd', the fact that
binary dists wont have anything called 'httpd' in them will confuse
the clueless, but seeing as the authoratative doc set is webbed
then there's no need for README to be fantastically complete.

Cheers,
Ay.
Re: votes on patches [ In reply to ]
Works for me. +1


> The warning is harmless, but this patch (to be applied after 44_ident)
> should fix it.
>
> David.
>
> *** http_main.c.orig2 Mon Nov 6 18:20:18 1995
> --- http_main.c Wed Nov 22 11:15:13 1995
> ***************
> *** 718,729 ****
> void child_main(int child_num_arg)
> {
> int clen;
> - #if defined(NEXT) || defined(LINUX) || defined(SOLARIS2)
> struct sockaddr sa_server;
> struct sockaddr sa_client;
> - #else
> - struct sockaddr_in sa_server,sa_client;
> - #endif
>
> #ifdef ULTRIX_BRAIN_DEATH
> extern char *rfc931();
> --- 718,725 ----
> ***************
> *** 776,782 ****
>
> accept_mutex_on(); /* Lock around "accept", if necessary */
>
> ! while ((csd=accept(sd,(struct sockaddr *)&sa_client,&clen)) == -1)
> if (errno != EINTR)
> log_error("socket error: accept failed", server_conf);
>
> --- 772,778 ----
>
> accept_mutex_on(); /* Lock around "accept", if necessary */
>
> ! while ((csd=accept(sd, &sa_client, &clen)) == -1)
> if (errno != EINTR)
> log_error("socket error: accept failed", server_conf);
>
Re: votes on patches [ In reply to ]
Re: votes on patches [ In reply to ]
Chuck sez:

Fine here. +1

What the hey... apache_one_x.tar.{Z,gz} is in httpd/dist; this is apache_one
(the 1.0.0 version) with the extra cleanup.

rst
Re: votes on patches [ In reply to ]
0 44_ident.0.8.16.patch

Wups. Can someone improve this?

compiler warning:

gcc -c -O2 -DXBITHACK -m486 http_main.c
http_main.c: In function `child_main':
http_main.c:786: warning: passing arg 2 of `getsockname' from incompatible pointer type

Note: from 'man getsockname' on FreeBSD we get:

SYNOPSIS
int
getsockname(int s, struct sockaddr *name, int *namelen)

I mean, it seems to work (had to install inetd to test it even),
but I think we just got lucky.

The warning is harmless, but this patch (to be applied after 44_ident)
should fix it.

David.

*** http_main.c.orig2 Mon Nov 6 18:20:18 1995
--- http_main.c Wed Nov 22 11:15:13 1995
***************
*** 718,729 ****
void child_main(int child_num_arg)
{
int clen;
- #if defined(NEXT) || defined(LINUX) || defined(SOLARIS2)
struct sockaddr sa_server;
struct sockaddr sa_client;
- #else
- struct sockaddr_in sa_server,sa_client;
- #endif

#ifdef ULTRIX_BRAIN_DEATH
extern char *rfc931();
--- 718,725 ----
***************
*** 776,782 ****

accept_mutex_on(); /* Lock around "accept", if necessary */

! while ((csd=accept(sd,(struct sockaddr *)&sa_client,&clen)) == -1)
if (errno != EINTR)
log_error("socket error: accept failed", server_conf);

--- 772,778 ----

accept_mutex_on(); /* Lock around "accept", if necessary */

! while ((csd=accept(sd, &sa_client, &clen)) == -1)
if (errno != EINTR)
log_error("socket error: accept failed", server_conf);