You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Jess M. Holle" <je...@ptc.com> on 2003/04/14 19:22:31 UTC
mod_auth_ldap on Windows...
I built my own Apache 2.0.45 on Windows including HTTPS support and the
recently proposed Nagle patch.
Unfortunately, mod_auth_ldap crashes on me -- somewhere within
util_ldap_connection_open().
Yet I try the same config files on Apache 2.0.45 stock and it works just
fine.
Any ideas?
I'm about to rebuild with full debug and without the Nagle stuff, but
any clues would be appreciated...
--
Jess Holle
Re: mod_auth_ldap on Windows...
Posted by "Jess M. Holle" <je...@ptc.com>.
Ooops. That'll show me to be hasty.
I was originally sending this only to Jeff -- then thought to send it to
the group, but forgot to form a patch...
--
Jess Holle
Jeff Trawick wrote:
> Jess M. Holle wrote:
>
>> P.S. Would you be the right person to get a send buffer addition
>> made to win32/sockopt.c? See attached file (based on 2.0.45 sources
>> -- sorry it's in full not diff format...) Basically APR does not
>> support normal adjustment of the socket send buffer size on Windows
>> -- which appears to simply be an oversight. This can make a
>> substantive difference in performance in cases.
>
>
> Bill is certainly qualified and in general eager to perform such
> tasks, but the best way to submit such a change is via the
> dev@apr.apache.org mailing list in the form of a patch. That will
> significantly increase the number of people willing to deal with it.
Re: mod_auth_ldap on Windows...
Posted by Jeff Trawick <tr...@attglobal.net>.
Jess M. Holle wrote:
> P.S. Would you be the right person to get a send buffer addition made
> to win32/sockopt.c? See attached file (based on 2.0.45 sources -- sorry
> it's in full not diff format...) Basically APR does not support normal
> adjustment of the socket send buffer size on Windows -- which appears to
> simply be an oversight. This can make a substantive difference in
> performance in cases.
Bill is certainly qualified and in general eager to perform such tasks,
but the best way to submit such a change is via the dev@apr.apache.org
mailing list in the form of a patch. That will significantly increase
the number of people willing to deal with it.
Re: mod_auth_ldap on Windows...
Posted by "Jess M. Holle" <je...@ptc.com>.
Well, unfortunately I was in a hurry so I don't know what did the trick,
but updating to MSVC++ 6.0 SP 5 and the latest core platform SDK (and
putting it's include and lib directories in front of MSVC++'s) fixed my
mod_auth_ldap troubles. The util_ldap.so and mod_auth_ldap.so that I'm
now building work just fine. Thus I think it's safe to say that keeping
abreast of both MSVC++ service packs and MS PSDK updates is recommended
and at least one of these is required for proper util_ldap/mod_auth_ldap
functioning.
I rebuilt OpenSSL (0.9.7b) and mod_jk (1.2.2) with the new MSVC++ and MS
PSDK as well -- which got rid of some of the compiler warnings I'd been
seeing (as my old compiler did not recognize /Ob2), but this did not
address bug #'s 16375, 17055, and 17701 -- which all have to do with
Apache crashing on shutdown on Windows if an HTTPS request was served
during the last server uptime. I even threw in a -NDEBUG in the
ntdll.mak to make doubly sure no debug refs fell through the cracks --
though OpenSSL builds non-debug by default and I'd not had any issues
with 0.9.6h and 2.0.43.
This HTTPS-specific failure is really bugging me as it just gives an
overall impression of instability -- though the resulting build works
fine for me as long as LogLevel verbosity is error or less.
--
Jess Holle
P.S. Would you be the right person to get a send buffer addition made
to win32/sockopt.c? See attached file (based on 2.0.45 sources -- sorry
it's in full not diff format...) Basically APR does not support normal
adjustment of the socket send buffer size on Windows -- which appears to
simply be an oversight. This can make a substantive difference in
performance in cases.
2.0.45 and recent OpenSSL's on Windows
Posted by "Jess M. Holle" <je...@ptc.com>.
It would appear we have a shutdown issue in Apache 2.0.45 (and 2.0.44)
with recent OpenSSL's on Windows when an https connection has been made
at some point during the current uptime.
There are now 3 bugs on this topic: 16375, 17055, and 17701. One of
these was closed as being a symptom of a mixed debug / non-debug build
-- but that appears to be bogus (I've triple checked all of this).
The only workaround appears to be simply to set the LogLevel to error or
above so that no attempt is made to produce warnings at this point
during the shutdown.
Any thoughts on this issue would be appreciated!
--
Jess Holle
Re: mod_auth_ldap on Windows...
Posted by "Jess M. Holle" <je...@ptc.com>.
Just a note:
I replaced my Apache 2.0.45 build's util_ldap.so and mod_auth_ldap.so
with the binary release's copies of these files -- and the problem went
away!
I guess I'll use these 2 .so's as (magically?) built by the core team
and only tinker with the rest of Apache!
--
Jess Holle
Re: mod_auth_ldap on Windows...
Posted by "Jess M. Holle" <je...@ptc.com>.
William A. Rowe, Jr. wrote:
>At 12:54 PM 4/14/2003, Jess M. Holle wrote:
>
>
>>P.S. I rebuilt with debug symbols but without any changes to the code, HTTPS support, etc.
>>
>>The resulting binary still pukes in the same spot -- though I must admit my VC++ skills are sufficiently rusty that I'm having trouble nailing down exactly where and why the issue is occuring...
>>
>>
>Jess... you better be using *all* debug or *all* release modules, there are
>really weird interactions between msvcrt-compiled code and msvcrtd compiles.
>
I am. I've done enough Win32 stuff to realize that much.
>The LDAP observation is interesting, other users had reported early problems
>with that module. I doubt nagle is the problem, and wonder what else could
>be going on inside of the Win32 LDAP implementation.
>
Nagle is not the problem as I am getting the same crash without *any*
patches zlib or OpenSSL additions.
>If you are using Netscape's SDK or openldap, etc, those too must be compiled
>debug if you hope to load them into a debug build of the server.
>
I'm trying to use Microsoft's LDAP on Windows just like 2.0.45 stock. I
am getting a crash from within ldap_set_option in util_ldap.c at:
/* Set the alias dereferencing option */
ldap_set_option(ldc->ldap, LDAP_OPT_DEREF, &(ldc->deref)); /*
CRASHES HEREIN */
This seems to correspond to Brad Nicholes original caveat statements on
his recent LDAP portability improvements. I'd simply switch over to
using the Netscape SDK (as I did previously) except that 2.0.45 as
released by Apache works fine (on the same machine with the same LDAP
.conf entries, etc).
I'm wondering whether:
1. Could the released 2.0.45 Windows sources be stale vis-a-vis what
was actually used to build the 2.0.45 Windows binary? [Who built
this binary? Can they provide any insights?]
2. Could my wldap32.lib be out-of-date or mangled? [I'm using a
stock VC++ 6.0 on W2K SP3.]
>Try a full release build with the nagle patch, if the problem goes away that
>is likely to be the reason.
>
>
Given that I'm getting the same issue with no patches I tend to think
the issue is a bit deeper than this. I've been sanity checking the
args, etc, to no avail thus far...
--
Jess Holle
Re: mod_auth_ldap on Windows...
Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
At 12:54 PM 4/14/2003, Jess M. Holle wrote:
>P.S. I rebuilt with debug symbols but without any changes to the code, HTTPS support, etc.
>
>The resulting binary still pukes in the same spot -- though I must admit my VC++ skills are sufficiently rusty that I'm having trouble nailing down exactly where and why the issue is occuring...
Jess... you better be using *all* debug or *all* release modules, there are
really weird interactions between msvcrt-compiled code and msvcrtd compiles.
The LDAP observation is interesting, other users had reported early problems
with that module. I doubt nagle is the problem, and wonder what else could
be going on inside of the Win32 LDAP implementation.
If you are using Netscape's SDK or openldap, etc, those too must be compiled
debug if you hope to load them into a debug build of the server.
Try a full release build with the nagle patch, if the problem goes away that
is likely to be the reason.
Bill
Re: mod_auth_ldap on Windows...
Posted by "Jess M. Holle" <je...@ptc.com>.
P.S. I rebuilt with debug symbols but without any changes to the code,
HTTPS support, etc.
The resulting binary still pukes in the same spot -- though I must admit
my VC++ skills are sufficiently rusty that I'm having trouble nailing
down exactly where and why the issue is occuring...
--
Jess Holle
Jess M. Holle wrote:
> I built my own Apache 2.0.45 on Windows including HTTPS support and
> the recently proposed Nagle patch.
>
> Unfortunately, mod_auth_ldap crashes on me -- somewhere within
> util_ldap_connection_open().
>
> Yet I try the same config files on Apache 2.0.45 stock and it works
> just fine.
>
> Any ideas?
>
> I'm about to rebuild with full debug and without the Nagle stuff, but
> any clues would be appreciated...
>
> --
> Jess Holle