www-apache-bugdb mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Scholz <richard.sch...@subito.de>
Subject mod_jserv/7483: JServ does not compile for IBM HTTP Server (Apache based).
Date Fri, 30 Mar 2001 12:47:03 GMT

>Number:         7483
>Category:       mod_jserv
>Synopsis:       JServ does not compile for IBM HTTP Server (Apache based).
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    jserv
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   apache
>Arrival-Date:   Fri Mar 30 04:50:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     richard.scholz@subito.de
>Release:        1.3.12
>Organization:
apache
>Environment:
SuSE Linux 6.4, Gcc 2.95.2
IBM WebShere 3.5 Standard for Linux
ApacheJServ 1.1.2
>Description:
IBM made some modifications to the Apache Source to support SSL with their own ssl module.


These modifications do not play well with JServ, since the JServ Code accesses
some internal variables which were modified by IBM.
>How-To-Repeat:
Get IBM HTTP Server from IBM, try to compile mod_jserv (1.1.2) for it. You will get compilation
errors. 
>Fix:
The direct access to the internal variables should be replaced by proper calls to ap_* functions,
which provide the needed functionality.

I could build a working jserv by making some changes to jserv_ajpv12.c

I replaced access to buff->fd_in with ap_bfileno(buff, B_RD).
Also I replaced one access to buff->fd (which looks like a hack to me) where buff->fd
is set to -1. I think ap_bclose(buff) could do the job better.  

Here's a diff of the changes I made

$ diff jserv_ajpv12.c jserv_ajpv12.c.bak 
361,365c361,365
< 
<     int fd_in = ap_bfileno(buffsocket, B_RD);
< 
<     if(fd_in < 0 ) {
< 
---
> #ifdef HAVE_APFD /* IBM Apache */
>     if( buffsocket->pfd_in->sd < 0 ) {
> #else
>     if( buffsocket->fd_in < 0 ) {
> #endif
373c373,377
<             if(data_available(fd_in)) {
---
> #ifdef HAVE_APFD /* IBM Apache */
>             if(data_available(buffsocket->pfd_in->sd)) {
> #else
>             if(data_available(buffsocket->fd_in)) {
> #endif
384c388,392
<             if(data_available(fd_in)) {
---
> #ifdef HAVE_APFD /* IBM Apache */
>             if(data_available(buffsocket->pfd_in->sd)) {
> #else
>             if(data_available(buffsocket->fd_in)) {
> #endif
387,389d394
<               int fd;
< 
< 
391d395
<                 fd = ap_bfileno(r->connection->client, 0);
393c397,398
<                 if(fd >= 0) {
---
> #ifdef HAVE_APFD /* IBM Apache */
>                 if(r->connection->client->pfd->sd >= 0) {
395,396c400,405
<                         ap_bclose(r->connection->client);
< 
---
>                         r->connection->client->pfd->sd =-1;
> #else
>                 if(r->connection->client->fd >= 0) {
>                     if(ap_bwrite(r->connection->client, buffer, len) < len)
{
>                         r->connection->client->fd =-1;
> #endif
>Release-Note:
>Audit-Trail:
>Unformatted:
 [In order for any reply to be added to the PR database, you need]
 [to include <apbugs@Apache.Org> in the Cc line and make sure the]
 [subject line starts with the report component and number, with ]
 [or without any 'Re:' prefixes (such as "general/1098:" or      ]
 ["Re: general/1098:").  If the subject doesn't match this       ]
 [pattern, your message will be misfiled and ignored.  The       ]
 ["apbugs" address is not added to the Cc line of messages from  ]
 [the database automatically because of the potential for mail   ]
 [loops.  If you do not include this Cc, your reply may be ig-   ]
 [nored unless you are responding to an explicit request from a  ]
 [developer.  Reply only with text; DO NOT SEND ATTACHMENTS!     ]
 
 


Mime
View raw message