You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by NormW <no...@gknw.net> on 2010/06/24 00:50:49 UTC

httpd-trunk - NetWare build - observations.

Greetings,
Some observations when compiling current httpd-trunk for NetWare 
following recent updates:

1. Both server\util_cookies.c and server\util_filter.c need the 
APLOG_USE_MODULE() macro in include\http_config.h, but the 
include\http_log.h only has an 'include' to http_config.h if HAVE_SYSLOG 
is defined (which is not the case for NetWare);

I added:
>  #include "http_log.h"
> +#include "http_config.h"
> +

to both .c and the files compile, but this may not be the best way?

2. Mod_serf using serf 0.6.1 code fails if USE_WINSOCK is defined;

> Compiling D:\Projects\srcs\serf-0.6.1/incoming.c
> ### mwccnlm Compiler:
> #    File: D:\Projects\srcs\serf-0.6.1\incoming.c
> # -----------------------------------------------
> #      78: rv = l->accept(l->ctx, l, l->accept_baton, in, p);
> #   Error:                                          ^
> #   ')' expected

Something seems to change the size of a struct if I read this correctly. 
The previous release of serf (0.3) built without issue.

3. modules\aaa\mod_authn_socache.c builds if this change is made:

> --- mod_authn_socache.c.orig	2010-06-24 06:47:46.796875000 +1000
> +++ mod_authn_socache.c	2010-06-24 07:11:34.546875000 +1000
> @@ -301,11 +301,12 @@
>       * to no-longer-defined memory.  Hmmm ...
>       */
>      apr_status_t rv;
> +    const char *key;
>      unsigned char val[MAX_VAL_LEN];
>      unsigned int vallen = MAX_VAL_LEN - 1;
>      authn_cache_dircfg *dcfg = ap_get_module_config(r->per_dir_config,
>                                                      &authn_socache_module);
> -    const char *key = construct_key(r, dcfg->context, user, NULL);
> +    key = construct_key(r, dcfg->context, user, NULL);
>      rv = socache_provider->retrieve(socache_instance, r->server,
>                                      (unsigned char*)key, strlen(key),
>                                      val, &vallen, r->pool);
> @@ -342,11 +343,12 @@
>                                     const char *realm, char **rethash)
>  {
>      apr_status_t rv;
> +    const char *key;
>      authn_cache_dircfg *dcfg;
>      unsigned char val[MAX_VAL_LEN];
>      unsigned int vallen = MAX_VAL_LEN - 1;
>      dcfg = ap_get_module_config(r->per_dir_config, &authn_socache_module);
> -    const char *key = construct_key(r, dcfg->context, user, realm);
> +    key = construct_key(r, dcfg->context, user, realm);
>      rv = socache_provider->retrieve(socache_instance, r->server,
>                                      (unsigned char*)key, strlen(key),
>                                      val, &vallen, r->pool);

4. modules\aaa\mod_authn_socache.c seems to have different line endings 
to other source files.

5. modules\lua\lua_request.c build now fails following recent updates:

> Compiling lua_request.c
> ### mwccnlm Compiler:
> #    File: lua_request.c
> # ----------------------
> #     335:                  req_field_apr_table_f func = rft->fun;
> #   Error:                                                       ^
> #   illegal implicit conversion from 'const void *' to
> #   'struct apr_table_t * (*)(struct request_rec *)'
> ### mwccnlm Compiler:
> #     345:                  lua_CFunction func = rft->fun;
> #   Error:                                               ^
> #   illegal implicit conversion from 'const void *' to
> #   'int (*)(struct lua_State *)'
> ### mwccnlm Compiler:
> #     353:                  req_field_string_f func = rft->fun;
> #   Error:                                                    ^
> #   illegal implicit conversion from 'const void *' to
> #   'char * (*)(struct request_rec *)'
> ### mwccnlm Compiler:
> #     362:                  req_field_int_f func = rft->fun;
> #   Error:                                                 ^
> #   illegal implicit conversion from 'const void *' to
> #   'int (*)(struct request_rec *)'
> ### mwccnlm Compiler:
> #     371:                  req_field_int_f func = rft->fun;
> #   Error:                                                 ^
> #   illegal implicit conversion from 'const void *' to
> #   'int (*)(struct request_rec *)'

As noted, these are 'observations', and for NetWare... not really a dev 
as such, so no real idea what represents bugs or solutions.
Regards,
Norm


Re: httpd-trunk - NetWare build - observations.

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
On 6/24/2010 5:56 AM, "Plüm, Rüdiger, VF-Group" wrote:
>>>>>> -    const char *key = construct_key(r, dcfg->context, 
>> user, NULL);
>>>>>> +    key = construct_key(r, dcfg->context, user, NULL);
> 
> Me neither. What is C++ style about the above?

I presumed the patch proposed to un-99'ify the code here?  Rereading
the originally proposed patch.  Now that I'm reviewing it again there
is something odd.

RE: httpd-trunk - NetWare build - observations.

Posted by "Plüm, Rüdiger, VF-Group" <ru...@vodafone.com>.
 

> -----Original Message-----
> From: Jeff Trawick 
> Sent: Donnerstag, 24. Juni 2010 12:41
> To: dev@httpd.apache.org
> Subject: Re: httpd-trunk - NetWare build - observations.
> 
> On Wed, Jun 23, 2010 at 11:08 PM, William A. Rowe Jr.
> <wr...@rowe-clan.net> wrote:
> > On 6/23/2010 6:27 PM, Nick Kew wrote:
> >>
> >> On 23 Jun 2010, at 23:50, NormW wrote:
> >>

> >>>> --- mod_authn_socache.c.orig        2010-06-24 
> 06:47:46.796875000 +1000
> >>>> +++ mod_authn_socache.c     2010-06-24 07:11:34.546875000 +1000
> >>>> @@ -301,11 +301,12 @@
> >>>>      * to no-longer-defined memory.  Hmmm ...
> >>>>      */
> >>>>     apr_status_t rv;
> >>>> +    const char *key;
> >>>>     unsigned char val[MAX_VAL_LEN];
> >>>>     unsigned int vallen = MAX_VAL_LEN - 1;
> >>>>     authn_cache_dircfg *dcfg = 
> ap_get_module_config(r->per_dir_config,
> >>>>                                                     
> &authn_socache_module);
> >>>> -    const char *key = construct_key(r, dcfg->context, 
> user, NULL);
> >>>> +    key = construct_key(r, dcfg->context, user, NULL);
> >>>>     rv = socache_provider->retrieve(socache_instance, r->server,
> >>>>                                     (unsigned char*)key, 
> strlen(key),
> >>>>                                     val, &vallen, r->pool);
> >>
> >> Huh?  Sounds like a bug in your compiler!  What's the 
> problem with the trunk code?
> >
> > Huh?  Sounds like C++ fixation!  Whats with the C99 attitude issues?
> >
> > Please, this is a style violation.  Fix already.
> 
> I could be blind, but I don't see dispersed statements and
> declarations.  It is all decls from "apr_status_t rv" through "const
> char *key = contruct_key()".
> 

Me neither. What is C++ style about the above?

Regards

Rüdiger


Re: httpd-trunk - NetWare build - observations.

Posted by Jeff Trawick <tr...@gmail.com>.
On Wed, Jun 23, 2010 at 11:08 PM, William A. Rowe Jr.
<wr...@rowe-clan.net> wrote:
> On 6/23/2010 6:27 PM, Nick Kew wrote:
>>
>> On 23 Jun 2010, at 23:50, NormW wrote:
>>
>>> Greetings,
>>> Some observations when compiling current httpd-trunk for NetWare following recent updates:
>>
>> Thanks :)
>>
>>> 3. modules\aaa\mod_authn_socache.c builds if this change is made:
>>>
>>>> --- mod_authn_socache.c.orig        2010-06-24 06:47:46.796875000 +1000
>>>> +++ mod_authn_socache.c     2010-06-24 07:11:34.546875000 +1000
>>>> @@ -301,11 +301,12 @@
>>>>      * to no-longer-defined memory.  Hmmm ...
>>>>      */
>>>>     apr_status_t rv;
>>>> +    const char *key;
>>>>     unsigned char val[MAX_VAL_LEN];
>>>>     unsigned int vallen = MAX_VAL_LEN - 1;
>>>>     authn_cache_dircfg *dcfg = ap_get_module_config(r->per_dir_config,
>>>>                                                     &authn_socache_module);
>>>> -    const char *key = construct_key(r, dcfg->context, user, NULL);
>>>> +    key = construct_key(r, dcfg->context, user, NULL);
>>>>     rv = socache_provider->retrieve(socache_instance, r->server,
>>>>                                     (unsigned char*)key, strlen(key),
>>>>                                     val, &vallen, r->pool);
>>
>> Huh?  Sounds like a bug in your compiler!  What's the problem with the trunk code?
>
> Huh?  Sounds like C++ fixation!  Whats with the C99 attitude issues?
>
> Please, this is a style violation.  Fix already.

I could be blind, but I don't see dispersed statements and
declarations.  It is all decls from "apr_status_t rv" through "const
char *key = contruct_key()".

Re: httpd-trunk - NetWare build - observations.

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
On 6/23/2010 6:27 PM, Nick Kew wrote:
> 
> On 23 Jun 2010, at 23:50, NormW wrote:
> 
>> Greetings,
>> Some observations when compiling current httpd-trunk for NetWare following recent updates:
> 
> Thanks :)
> 
>> 3. modules\aaa\mod_authn_socache.c builds if this change is made:
>>
>>> --- mod_authn_socache.c.orig	2010-06-24 06:47:46.796875000 +1000
>>> +++ mod_authn_socache.c	2010-06-24 07:11:34.546875000 +1000
>>> @@ -301,11 +301,12 @@
>>>      * to no-longer-defined memory.  Hmmm ...
>>>      */
>>>     apr_status_t rv;
>>> +    const char *key;
>>>     unsigned char val[MAX_VAL_LEN];
>>>     unsigned int vallen = MAX_VAL_LEN - 1;
>>>     authn_cache_dircfg *dcfg = ap_get_module_config(r->per_dir_config,
>>>                                                     &authn_socache_module);
>>> -    const char *key = construct_key(r, dcfg->context, user, NULL);
>>> +    key = construct_key(r, dcfg->context, user, NULL);
>>>     rv = socache_provider->retrieve(socache_instance, r->server,
>>>                                     (unsigned char*)key, strlen(key),
>>>                                     val, &vallen, r->pool);
> 
> Huh?  Sounds like a bug in your compiler!  What's the problem with the trunk code?

Huh?  Sounds like C++ fixation!  Whats with the C99 attitude issues?

Please, this is a style violation.  Fix already.

Re: httpd-trunk - NetWare build - observations.

Posted by Nick Kew <ni...@webthing.com>.
On 23 Jun 2010, at 23:50, NormW wrote:

> Greetings,
> Some observations when compiling current httpd-trunk for NetWare following recent updates:

Thanks :)

> 3. modules\aaa\mod_authn_socache.c builds if this change is made:
> 
>> --- mod_authn_socache.c.orig	2010-06-24 06:47:46.796875000 +1000
>> +++ mod_authn_socache.c	2010-06-24 07:11:34.546875000 +1000
>> @@ -301,11 +301,12 @@
>>      * to no-longer-defined memory.  Hmmm ...
>>      */
>>     apr_status_t rv;
>> +    const char *key;
>>     unsigned char val[MAX_VAL_LEN];
>>     unsigned int vallen = MAX_VAL_LEN - 1;
>>     authn_cache_dircfg *dcfg = ap_get_module_config(r->per_dir_config,
>>                                                     &authn_socache_module);
>> -    const char *key = construct_key(r, dcfg->context, user, NULL);
>> +    key = construct_key(r, dcfg->context, user, NULL);
>>     rv = socache_provider->retrieve(socache_instance, r->server,
>>                                     (unsigned char*)key, strlen(key),
>>                                     val, &vallen, r->pool);

Huh?  Sounds like a bug in your compiler!  What's the problem with the trunk code?

> 4. modules\aaa\mod_authn_socache.c seems to have different line endings to other source files.

Hmmm, that'll be svn properties, which have yet to be set.

-- 
Nick Kew

Re: httpd-trunk - NetWare build - observations.

Posted by Jeff Trawick <tr...@gmail.com>.
On Thu, Jun 24, 2010 at 1:20 PM, William A. Rowe Jr.
<wr...@rowe-clan.net> wrote:
> On 6/23/2010 5:50 PM, NormW wrote:
>>> @@ -342,11 +343,12 @@
>>>                                     const char *realm, char **rethash)
>>>  {
>>>      apr_status_t rv;
>>> +    const char *key;
>>>      authn_cache_dircfg *dcfg;
>>>      unsigned char val[MAX_VAL_LEN];
>>>      unsigned int vallen = MAX_VAL_LEN - 1;
>>>      dcfg = ap_get_module_config(r->per_dir_config,
>>> &authn_socache_module);
>>> -    const char *key = construct_key(r, dcfg->context, user, realm);
>>> +    key = construct_key(r, dcfg->context, user, realm);
>>>      rv = socache_provider->retrieve(socache_instance, r->server,
>>>                                      (unsigned char*)key, strlen(key),
>>>                                      val, &vallen, r->pool);
>
> This is a C99/C++'ism that needs to be fixed.

at least I can see this one :)

Re: httpd-trunk - NetWare build - observations.

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
On 6/23/2010 5:50 PM, NormW wrote:
>> --- mod_authn_socache.c.orig    2010-06-24 06:47:46.796875000 +1000
>> +++ mod_authn_socache.c    2010-06-24 07:11:34.546875000 +1000
>> @@ -301,11 +301,12 @@
>>       * to no-longer-defined memory.  Hmmm ...
>>       */
>>      apr_status_t rv;
>> +    const char *key;
>>      unsigned char val[MAX_VAL_LEN];
>>      unsigned int vallen = MAX_VAL_LEN - 1;
>>      authn_cache_dircfg *dcfg = ap_get_module_config(r->per_dir_config,
>>                                                     
>> &authn_socache_module);
>> -    const char *key = construct_key(r, dcfg->context, user, NULL);
>> +    key = construct_key(r, dcfg->context, user, NULL);
>>      rv = socache_provider->retrieve(socache_instance, r->server,
>>                                      (unsigned char*)key, strlen(key),
>>                                      val, &vallen, r->pool);

This shouldn't be needed, please retest with only the patch below;

>> @@ -342,11 +343,12 @@
>>                                     const char *realm, char **rethash)
>>  {
>>      apr_status_t rv;
>> +    const char *key;
>>      authn_cache_dircfg *dcfg;
>>      unsigned char val[MAX_VAL_LEN];
>>      unsigned int vallen = MAX_VAL_LEN - 1;
>>      dcfg = ap_get_module_config(r->per_dir_config,
>> &authn_socache_module);
>> -    const char *key = construct_key(r, dcfg->context, user, realm);
>> +    key = construct_key(r, dcfg->context, user, realm);
>>      rv = socache_provider->retrieve(socache_instance, r->server,
>>                                      (unsigned char*)key, strlen(key),
>>                                      val, &vallen, r->pool);

This is a C99/C++'ism that needs to be fixed.

> 4. modules\aaa\mod_authn_socache.c seems to have different line endings
> to other source files.

svn propset svn:eol-style native fixes this, although it's better if all
our committers would revisit their auto-props from their

Re: httpd-trunk - NetWare build - observations.

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
On 6/23/2010 5:50 PM, NormW wrote:
> Greetings,
> Some observations when compiling current httpd-trunk for NetWare
> following recent updates:
...
> 5. modules\lua\lua_request.c build now fails following recent updates:
> 
>> Compiling lua_request.c
>> ### mwccnlm Compiler:
>> #    File: lua_request.c
>> # ----------------------
>> #     335:                  req_field_apr_table_f func = rft->fun;
>> #   Error:                                                       ^
>> #   illegal implicit conversion from 'const void *' to
>> #   'struct apr_table_t * (*)(struct request_rec *)'
>> ### mwccnlm Compiler:
>> #     345:                  lua_CFunction func = rft->fun;
>> #   Error:                                               ^
>> #   illegal implicit conversion from 'const void *' to
>> #   'int (*)(struct lua_State *)'
>> ### mwccnlm Compiler:
>> #     353:                  req_field_string_f func = rft->fun;
>> #   Error:                                                    ^
>> #   illegal implicit conversion from 'const void *' to
>> #   'char * (*)(struct request_rec *)'
>> ### mwccnlm Compiler:
>> #     362:                  req_field_int_f func = rft->fun;
>> #   Error:                                                 ^
>> #   illegal implicit conversion from 'const void *' to
>> #   'int (*)(struct request_rec *)'
>> ### mwccnlm Compiler:
>> #     371:                  req_field_int_f func = rft->fun;
>> #   Error:                                                 ^
>> #   illegal implicit conversion from 'const void *' to
>> #   'int (*)(struct request_rec *)'
> 
> As noted, these are 'observations', and for NetWare... not really a dev
> as such, so no real idea what represents bugs or solutions.

A void * fn() isn't a void * (evidenced on all sorts of wacky architectures),
so this is a flaw.