Received: (qmail 7078 invoked by uid 501); 30 Mar 2001 12:47:03 -0000 Message-Id: <20010330124703.7076.qmail@apache.org> Date: 30 Mar 2001 12:47:03 -0000 From: Richard Scholz Reply-To: richard.scholz@subito.de To: submit@bugz.apache.org Subject: JServ does not compile for IBM HTTP Server (Apache based). X-Send-Pr-Version: 3.110 >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 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! ]