cvs commit: jakarta-tomcat-connectors/jk/native/common jk_lb_worker.c
billbarker2004/07/27 22:59:44 Modified:jk/native/common jk_lb_worker.c Log: Check all JSESSIONID cookies for a valid jvmRoute. If you have multiple Tomcats with overlapping domains, then you can get multiple cookies without a defined order. This will route correctly as long as the different domains don't have any Tomcats in common. Based on patch Submitted By: Sandy McArthur [EMAIL PROTECTED] Revision ChangesPath 1.23 +42 -39jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c Index: jk_lb_worker.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- jk_lb_worker.c21 Jul 2004 02:18:46 - 1.22 +++ jk_lb_worker.c28 Jul 2004 05:59:44 - 1.23 @@ -100,6 +100,12 @@ if(id_end = strchr(id_start, '?')) { *id_end = '\0'; } +/* + * Remove any trailing path element. + */ +if((id_end = strchr(id_start, ';')) != NULL) { +*id_end = '\0'; +} return id_start; } } @@ -114,6 +120,7 @@ const char *name) { unsigned i; +char *result = NULL; for(i = 0 ; i s-num_headers ; i++) { if(0 == strcasecmp(s-headers_names[i], cookie)) { @@ -142,14 +149,22 @@ if((id_end = strchr(id_start, ',')) != NULL) { *id_end = '\0'; } -return id_start; +if(result == NULL) { +result = id_start; +} else { +int osz = strlen(result)+1; +int sz = osz + strlen(id_start)+1; +result = jk_pool_realloc(s-pool, sz, result, osz); +strcat(result,;); +strcat(result, id_start); +} } } } } } -return NULL; +return result; } @@ -166,29 +181,6 @@ return val; } -static char *get_session_route(jk_ws_service_t *s) -{ -char *sessionid = get_sessionid(s); -char *ch; - -if(!sessionid) { -return NULL; -} - -/* - * Balance parameter is appended to the end - */ -ch = strrchr(sessionid, '.'); -if(!ch) { -return 0; -} -ch++; -if(*ch == '\0') { -return NULL; -} -return ch; -} - static void close_workers(lb_worker_t *p, int num_of_workers, jk_logger_t *l) @@ -223,26 +215,37 @@ worker_record_t *rc = NULL; double lb_min = 0.0; unsigned i; -char *session_route = NULL; +char *sessionid = NULL; if (p-sticky_session) { -session_route = get_session_route(s); +sessionid = get_sessionid(s); } -if(session_route) { -for(i = 0 ; i p-num_of_workers ; i++) { +while(sessionid) { +char *next = strchr(sessionid, ';'); +char *session_route; +if(next) { +*next++ = '\0'; +} +session_route = strchr(sessionid, '.'); +if(session_route) { + ++session_route; + for(i = 0 ; i p-num_of_workers ; i++) { if(0 == strcmp(session_route, p-lb_workers[i].name)) { -/* First attempt will allways be to the - correct host. If this is indeed down and no - hope of recovery, we'll go to fail-over -*/ -if(attempt0 p-lb_workers[i].in_error_state) { - break; -} else { -return (p-lb_workers[i]); -} + /* First attempt will allways be to the + correct host. If this is indeed down and no + hope of recovery, we'll go to fail-over + */ + if(attempt0 p-lb_workers[i].in_error_state) { +next = NULL; /* Double break; */ +break; + } else { +return (p-lb_workers[i]); + } } + } } +sessionid = next; } for(i = 0 ; i p-num_of_workers ; i++) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30273] - The HTTP 1.1 processor ignores Connection: close on response
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30273. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30273 The HTTP 1.1 processor ignores Connection: close on response --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 06:07 --- While I will not reopen this bug, I simply want to put my $0.10 cents in here (there's more than $0.02 cents of material here). First, my opinion is that the servlet container simply cannot have the kind of insight into the various needs of any given client/server system to do the Right Thing (tm) with respect to the transport layer all of the time. The working defaults provided by the container may be good enough for the 80% of typical work loads, however the other 20% will have to go elsewhere and/or deal with the situation using cumbersome workarounds. These kinds of limitations designed into the servlet container will reduce its ability to become an upward path for legacy systems and will in addition place artifical limits on systems with unusual work loads. Second, I would like to point out that your last argument sound suspiciously like this is too hard to do right, therefore I'll ignore the problem. This problem will not go away because you deem it difficult to do right by all cases you can think of. From our experience, most of the clients we are right now having problems with appear to be Windows clients with a relatively recent security patch installed. In other words, this specific problem will likely become a larger issue than it is now, and you will likely have to deal with dropping in a fix anyway, because for *damn* sure M$ isn't going to care. Third, I can appreciate that time constraints may prevent a full out fix for all of the issues you have raised, however, many of these header issues you have outlined are already not handled (at all) by the servlet container, and thus are currently put into place by the servlet anyway. In other words you are FORCING servlets to deal with the transport layer *today*. For example, the only way that I can push a gzipped response to the client *right now* is to check to see if the client issued me an Accept-Encoding header field containing gzip and then respond with a Content-Encoding: gzip header field and gzipping the response. This is ALL done at the servlet layer, because the container isn't doing this for me, I had to write a subclass of javax.servlet.http.HttpServlet to do the right thing for all of my servlets. By your argument, the connector should have done this check by default for the servlet (with an option to turn off this behavior, of course). Because this situation exists today, if you (the connector programmers as a group) decide to handle the transport level Accept-Encoding header field from within the container layer, then you'll have to deal with the compatability issues of servlets that already handle this behavior. Thus, your WONTFIX is simply putting off the inevitable, because while I'm probably in a small minority of programmers actually pushing Connection: close to clients, I'm sure that I am not the only developer that had to write code for gzipping response bodies. -- Not to mention that you STILL leave other servlets who are expecting that the container will manifest the HTTP protocol properly (even in the corner cases) as being broken by (your) design. This is a definite SHOULDFIX in my book. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30358] New: - Direct JNDI lookup java:comp/env/cfg/test fails
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30358. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30358 Direct JNDI lookup java:comp/env/cfg/test fails Summary: Direct JNDI lookup java:comp/env/cfg/test fails Product: Tomcat 4 Version: 4.1.27 Platform: PC OS/Version: Windows XP Status: NEW Severity: Normal Priority: Other Component: Catalina:Modules AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Context ctx = new InitialContext(); Object o=ctx.lookup(java:comp/env/cfg/test); // Boom, lookup fails // But this works: Context ctx = new InitialContext(); ctx=(Context)ctx.lookup(java:comp/env); Object o=ctx.lookup(cfg/test); // My server.xml: Server port=8005 shutdown=SHUTDOWN debug=0 Service name=Tomcat-Standalone Connector ... Engine name=Standalone defaultHost=localhost debug=0 Host name=localhost debug=0 appBase=. unpackWARs=true Context path=/test docBase=./web debug=0 reloadable=false Environment name=cfg/test type=java.lang.String value=Hello/ /Context /Host /Engine /Service /Server - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Re: Dynamic updates and Apache v2.0
Thanks for your email. This is an auto response to confirm we have received your email. If you are wishing to check the whereabouts of an order please use our order tracker at - http://www.seetickets.com/tracker have your reference number and email address handy! If you wish to change your delivery address, we have an on-line address change facility. Please send a blank e-mail to [EMAIL PROTECTED] with your reference number and the last four digits of the card used to place the order in the subject line. Many thanks for booking with See Tickets If your query is urgent we can be contacted by telephone on *0871 22 00 260 24 hours a day. *For customers outside UK please call us on +44 115 912 9000 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp.h ajp_msg.c ajp_link.c
hgomez 2004/07/28 00:44:44 Modified:ajp/ajplib/test ajp.h ajp_msg.c ajp_link.c Log: ajp_link/ajp_msg are more APR compliants and use the ap_ log func. ajp_link is now minimal and use only apr_socket_t. Revision ChangesPath 1.5 +13 -28jakarta-tomcat-connectors/ajp/ajplib/test/ajp.h Index: ajp.h === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ajp.h 27 Jul 2004 15:07:31 - 1.4 +++ ajp.h 28 Jul 2004 07:44:43 - 1.5 @@ -53,34 +53,9 @@ #endif -struct ajp_idef -{ -char * host; -apr_port_t port; -apr_sockaddr_t * addr; -int keepalive; -int timeout; -int ndelay; -}; - -typedef struct ajp_idef ajp_idef_t; - -struct ajp_ilink -{ -apr_socket_t * sock; - intrequests; -}; - -typedef struct ajp_ilink ajp_ilink_t; - -struct ajp_env -{ - apr_pool_t *log; - apr_pool_t *pool; - int loglevel; -}; - -typedef struct ajp_env ajp_env_t; +#ifdef AJP_USE_HTTPD_WRAP +#include httpd_wrap.h +#endif struct ajp_msg { @@ -97,6 +72,16 @@ #define AJP_HEADER_SZ_LEN2 #define AJP_MSG_BUFFER_SZ(8*1024) #define AJP13_MAX_SEND_BODY_SZ (AJP_DEF_BUFFER_SZ - 6) + +/* Webserver ask container to take control (logon phase) */ +#define CMD_AJP13_PING (unsigned char)8 + +/* Webserver check if container is alive, since container should respond by cpong */ +#define CMD_AJP13_CPING (unsigned char)10 + +/* Container response to cping request */ +#define CMD_AJP13_CPONG (unsigned char)9 + #endif /* AJP_H */ 1.4 +416 -136 jakarta-tomcat-connectors/ajp/ajplib/test/ajp_msg.c Index: ajp_msg.c === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp_msg.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ajp_msg.c 27 Jul 2004 14:38:35 - 1.3 +++ ajp_msg.c 28 Jul 2004 07:44:43 - 1.4 @@ -15,17 +15,86 @@ #include ajp.h -apr_status_t ajp_msg_check_header(ajp_env_t *env, ajp_msg_t * msg) + +static char *hex_table = 0123456789ABCDEF; + +/** + * Dump up to the first 1024 bytes on an AJP Message + * + * @param msg AJP Message to dump + * @param err error string to display + * @return APR_SUCCESS or error + */ +apr_status_t ajp_msg_dump(ajp_msg_t *msg, char *err) +{ +int i; +int j; +charline[80]; +char*current; +apr_byte_t x; +apr_size_t len = msg-len; + +/* Display only first 1024 bytes */ +if (len 1024) +len = 1024; + +ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, NULL, + ajp_msg_dump(): %s pos=%d len=%d max=%d, + err, msg-pos, msg-len, AJP_MSG_BUFFER_SZ); + +for (i = 0; i len; i += 16) { +current = line; + +for (j = 0; j 16; j++) { + x = msg-buf[i + j]; + +*current++ = hex_table[x 4]; +*current++ = hex_table[x 0x0f]; +*current++ = ' '; +} +*current++ = ' '; +*current++ = '-'; +*current++ = ' '; +for (j = 0; j 16; j++) { +x = msg-buf[i + j]; + +if (x 0x20 x 0x7F) { +*current++ = x; +} +else { +*current++ = '.'; +} +} + +*current++ = '\0'; + +ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, NULL, + ajp_msg_dump(): %.4x%s, + i, line); +} + +return APR_SUCCESS; +} + + +/** + * Check a new AJP Message by looking at signature and return its size + * + * @param msg AJP Message to check + * @param len Pointer to returned len + * @return APR_SUCCESS or error + */ +apr_status_t ajp_msg_check_header(ajp_msg_t *msg, apr_size_t *len) { apr_byte_t *head = msg-buf; apr_size_t msglen; if (!((head[0] == 0x41 head[1] == 0x42) || (head[0] == 0x12 head[1] == 0x34))) { - -fprintf(stderr, -ajp_check_msg_header() got bad signature %x%x\n, -head[0], head[1]); + +ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, NULL, + ajp_check_msg_header() got bad signature %x%x, + head[0], head[1]); return -1;
Re: cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_link.c
Mladen Turk wrote: Henri Gomez wrote: We don't need that (at least stuff that creates the connection) the ajplib should provide this service isn't it ? It will ease the task for developpers. It's not so easy to create a socket via APR and the extra cost will be usefull for APR beginers (including myself ) OK. but the api should use the apr_socket_t and conn_rec. I was thinking to make the wrapper for ap_run_create_connection that will create the conn_rec from socket_t. We code split in : ajp_ilink_create_connection() ajp_ilink_connect() ajp_ilink_setsocket(apr_socket_t) :) Well, I was thinking to use something simpler that will do that in a single call. ajp_connect_to_backend(pool, apr_socket_t **, conn_rec **, timeout, keepalive) Ok, I removed stuff from ajp_link.c so you could implement the ajp_connect_to_backend as you wish :) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/native/common jk_lb_worker.c
[EMAIL PROTECTED] wrote: billbarker2004/07/27 22:59:44 Modified:jk/native/common jk_lb_worker.c Log: Check all JSESSIONID cookies for a valid jvmRoute. If you have multiple Tomcats with overlapping domains, then you can get multiple cookies without a defined order. This will route correctly as long as the different domains don't have any Tomcats in common. It seems to be an important fix. Should we release quickly a jk 1.2.7 ? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/ajp/proxy - New directory
jfclere 2004/07/28 01:00:22 jakarta-tomcat-connectors/ajp/proxy - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/ajp/proxy config.m4.patch
jfclere 2004/07/28 01:07:11 Added: ajp/proxy config.m4.patch Log: Patch for httpd-2.0/modules/proxy/config.m4: It allows to use --enable-proxy-ajp with configuring Apache. To load it: +++ LoadModule proxy_ajp_module modules/mod_proxy_ajp.so +++ And to use it something like: +++ Location /examples/ ProxyPass ajp://pgtr0327.mch.fsc.net:8009/examples/ /Location +++ Revision ChangesPath 1.1 jakarta-tomcat-connectors/ajp/proxy/config.m4.patch Index: config.m4.patch === Index: config.m4 === RCS file: /home/cvs/apache/httpd-2.0/modules/proxy/config.m4,v retrieving revision 1.17 diff -u -r1.17 config.m4 --- config.m4 25 Apr 2002 03:16:44 - 1.17 +++ config.m4 28 Jul 2004 07:55:36 - @@ -16,6 +16,7 @@ proxy_connect_objs=proxy_connect.lo proxy_ftp_objs=proxy_ftp.lo proxy_http_objs=proxy_http.lo +proxy_ajp_objs=proxy_ajp.lo case $host in *os2*) @@ -30,5 +31,6 @@ APACHE_MODULE(proxy_connect, Apache proxy CONNECT module, $proxy_connect_objs, , $proxy_mods_enable) APACHE_MODULE(proxy_ftp, Apache proxy FTP module, $proxy_ftp_objs, , $proxy_mods_enable) APACHE_MODULE(proxy_http, Apache proxy HTTP module, $proxy_http_objs, , $proxy_mods_enable) +APACHE_MODULE(proxy_ajp, Apache proxy AJP module, $proxy_ajp_objs, , $proxy_mods_enable) APACHE_MODPATH_FINISH - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30359] New: - If installed as service by Installer tempdir property is invalid
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30359. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30359 If installed as service by Installer tempdir property is invalid Summary: If installed as service by Installer tempdir property is invalid Product: Tomcat 5 Version: 5.0.27 Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Normal Priority: Other Component: Native:Integration AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] During install I choose the option to install Tomcat as a service. Afterwards I found out that the Java property java.io.tmpdir (System.getProperty(java.io.tmpdir) ) pointed to the tomcat base dir (in my case: D:\Programme\Apache Group\Tomcat5, not to the temp subdir (D:\Programme\Apache Group\Tomcat5\temp). In the service.bat file this is correctly specified (-Djava.io.tmpdir=%CATALINA_BASE%\temp). So this was my workaround: remove the service, reinstall it with this file. The OS is Windows Server 2003. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DO NOT REPLY [Bug 30359] New: - If installed as service by Installer tempdir property is invalid
Chère Cliente, Cher Client, Merci de nous avoir contactés. Vous venez d'envoyer un message à une adresse ne permettant pas de recevoir d'e-mail. Pour trouver les réponses à vos questions sur vos commandes, sur les produits, sur le site, consultez nos pages d'aide en ligne en cliquant sur : http://www.fnac.com/Help/A01.asp Vous pouvez également suivre en direct l'évolution de vos commandes en cours, en consultant la rubrique Vos Commandes en un clin d'oeil en cliquant sur : https://www.fnac.com/Account/Profil/default.asp Nous espérons que ces pages vous apporteront toutes les informations nécessaires. Dans le cas contraire, vous pouvez nous contacter par e-mail en cliquant sur le lien : http://www.fnac.com/Service_Client/FnacSUGG.asp Merci de votre fidélité a www.fnac.com Très cordialement, L'équipe Fnac.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
ajp_marshal_into_msgb to the new ajp
Hi, I am going to move and adapt the ajp_marshal_into_msgb to the new ajp library. Any comments? Cheers Jean-Frederic - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ajp_marshal_into_msgb to the new ajp
Chère Cliente, Cher Client, Merci de nous avoir contactés. Vous venez d'envoyer un message à une adresse ne permettant pas de recevoir d'e-mail. Pour trouver les réponses à vos questions sur vos commandes, sur les produits, sur le site, consultez nos pages d'aide en ligne en cliquant sur : http://www.fnac.com/Help/A01.asp Vous pouvez également suivre en direct l'évolution de vos commandes en cours, en consultant la rubrique Vos Commandes en un clin d'oeil en cliquant sur : https://www.fnac.com/Account/Profil/default.asp Nous espérons que ces pages vous apporteront toutes les informations nécessaires. Dans le cas contraire, vous pouvez nous contacter par e-mail en cliquant sur le lien : http://www.fnac.com/Service_Client/FnacSUGG.asp Merci de votre fidélité a www.fnac.com Très cordialement, L'équipe Fnac.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Processor.java
[EMAIL PROTECTED] wrote: luehe 2004/07/27 17:43:44 Modified:http11/src/java/org/apache/coyote/http11 Http11Processor.java Log: Fixed Bugtraq 6152759 (Default charset not included in Content-Type response header if no char encoding was specified). According to the Servlet 2.4 spec, calling: ServletResponse.setContentType(text/html); must yield these results: ServletResponse.getContentType() - text/html Content-Type response header - text/html;charset=ISO-8859-1 Notice the absence of a charset in the result of getContentType(), but its presence (set to the default ISO-8859-1) in the Content-Type response header. Tomcat is currently not including the default charset in the Content-Type response header if no char encoding was specified. Revision ChangesPath 1.101 +1 -1 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java Index: Http11Processor.java === RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java,v retrieving revision 1.100 retrieving revision 1.101 diff -u -r1.100 -r1.101 --- Http11Processor.java 1 Jun 2004 14:34:22 - 1.100 +++ Http11Processor.java 28 Jul 2004 00:43:44 - 1.101 @@ -1450,7 +1450,7 @@ if (!entityBody) { response.setContentLength(-1); } else { -String contentType = response.getContentType(); +String contentType = response.getContentTypeResponseHeader(); if (contentType != null) { headers.setValue(Content-Type).setString(contentType); } Cool. So after all the efforts I'm doing to optimize, you casually add GC, because the servlet API is completely stupid ? So -1 for your patch: you need to rework it. I also didn't read all that funny stuff in the specification, so where does it come from ? ;) Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ajp_marshal_into_msgb to the new ajp
jean-frederic clere wrote: Hi, I am going to move and adapt the ajp_marshal_into_msgb to the new ajp library. in ajp_msg.c or a new ajp_proto13.c ? I wonder if how many C source file we should have ? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Re: cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Processor.java
Chère Cliente, Cher Client, Merci de nous avoir contactés. Vous venez d'envoyer un message à une adresse ne permettant pas de recevoir d'e-mail. Pour trouver les réponses à vos questions sur vos commandes, sur les produits, sur le site, consultez nos pages d'aide en ligne en cliquant sur : http://www.fnac.com/Help/A01.asp Vous pouvez également suivre en direct l'évolution de vos commandes en cours, en consultant la rubrique Vos Commandes en un clin d'oeil en cliquant sur : https://www.fnac.com/Account/Profil/default.asp Nous espérons que ces pages vous apporteront toutes les informations nécessaires. Dans le cas contraire, vous pouvez nous contacter par e-mail en cliquant sur le lien : http://www.fnac.com/Service_Client/FnacSUGG.asp Merci de votre fidélité a www.fnac.com Très cordialement, L'équipe Fnac.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Re: ajp_marshal_into_msgb to the new ajp
Chère Cliente, Cher Client, Merci de nous avoir contactés. Vous venez d'envoyer un message à une adresse ne permettant pas de recevoir d'e-mail. Pour trouver les réponses à vos questions sur vos commandes, sur les produits, sur le site, consultez nos pages d'aide en ligne en cliquant sur : http://www.fnac.com/Help/A01.asp Vous pouvez également suivre en direct l'évolution de vos commandes en cours, en consultant la rubrique Vos Commandes en un clin d'oeil en cliquant sur : https://www.fnac.com/Account/Profil/default.asp Nous espérons que ces pages vous apporteront toutes les informations nécessaires. Dans le cas contraire, vous pouvez nous contacter par e-mail en cliquant sur le lien : http://www.fnac.com/Service_Client/FnacSUGG.asp Merci de votre fidélité a www.fnac.com Très cordialement, L'équipe Fnac.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Processor.java
Service Client Fnac.com wrote: Chère Cliente, Cher Client, Merci de nous avoir contactés. Vous venez d'envoyer un message à une adresse ne permettant pas de recevoir d'e-mail. Pour trouver les réponses à vos questions sur vos commandes, sur les produits, sur le site, consultez nos pages d'aide en ligne en cliquant sur : http://www.fnac.com/Help/A01.asp Vous pouvez également suivre en direct l'évolution de vos commandes en cours, en consultant la rubrique Vos Commandes en un clin d'oeil en cliquant sur : https://www.fnac.com/Account/Profil/default.asp Nous espérons que ces pages vous apporteront toutes les informations nécessaires. Dans le cas contraire, vous pouvez nous contacter par e-mail en cliquant sur le lien : http://www.fnac.com/Service_Client/FnacSUGG.asp Merci de votre fidélité a www.fnac.com Très cordialement, L'équipe Fnac.com This account is still registered to tomcat-dev ? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Re: cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Processor.java
Chère Cliente, Cher Client, Merci de nous avoir contactés. Vous venez d'envoyer un message à une adresse ne permettant pas de recevoir d'e-mail. Pour trouver les réponses à vos questions sur vos commandes, sur les produits, sur le site, consultez nos pages d'aide en ligne en cliquant sur : http://www.fnac.com/Help/A01.asp Vous pouvez également suivre en direct l'évolution de vos commandes en cours, en consultant la rubrique Vos Commandes en un clin d'oeil en cliquant sur : https://www.fnac.com/Account/Profil/default.asp Nous espérons que ces pages vous apporteront toutes les informations nécessaires. Dans le cas contraire, vous pouvez nous contacter par e-mail en cliquant sur le lien : http://www.fnac.com/Service_Client/FnacSUGG.asp Merci de votre fidélité a www.fnac.com Très cordialement, L'équipe Fnac.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Processor.java
Henri Gomez wrote: Service Client Fnac.com wrote: Chère Cliente, Cher Client, Merci de nous avoir contactés. Vous venez d'envoyer un message à une adresse ne permettant pas de recevoir d'e-mail. Pour trouver les réponses à vos questions sur vos commandes, sur les produits, sur le site, consultez nos pages d'aide en ligne en cliquant sur : http://www.fnac.com/Help/A01.asp Vous pouvez également suivre en direct l'évolution de vos commandes en cours, en consultant la rubrique Vos Commandes en un clin d'oeil en cliquant sur : https://www.fnac.com/Account/Profil/default.asp Nous espérons que ces pages vous apporteront toutes les informations nécessaires. Dans le cas contraire, vous pouvez nous contacter par e-mail en cliquant sur le lien : http://www.fnac.com/Service_Client/FnacSUGG.asp Merci de votre fidélité a www.fnac.com Très cordialement, L'équipe Fnac.com This account is still registered to tomcat-dev ? It came back :( I tried banning it this time (I'm learning the mailing list comments at the same time). Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Processor.java
Remy Maucherat wrote: Cool. So after all the efforts I'm doing to optimize, you casually add GC, because the servlet API is completely stupid ? So -1 for your patch: you need to rework it. I also didn't read all that funny stuff in the specification, so where does it come from ? ;) I thought about it some more, and in addition to the performance problem, it would lead to adding charset even for binaries. We already found out that this way very bad (in addition to being meaningless, it breaks some clients such as Acrobat which simply does a check on the MIME type without removing the charset, which is rather logical since they're dealing with binaries) - this was some unintended behavior in some 4.1.x release (if I remember well, it was introduced by you already: you do like charset related issues ;) ). So what I suggest is that you send that you send that as feedback to the servlet API, and that they put a small errata for the specification. -1 for implementing the requirements of the specificatrion (although I can't find them anywhere ;) ) to the letter right now, as they are broken (I didn't dislike the previous behavior, so I want it to remain). Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30273] - The HTTP 1.1 processor ignores Connection: close on response
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30273. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30273 The HTTP 1.1 processor ignores Connection: close on response --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 10:12 --- If M$ no longer supports connection keep-alive properly (!!! can you actually give details on what's broken exactly, I need a good laugh ;) ), then you should add a user-agent regexp filter on the connector, and handle them as legacy clients. My problem with this issue (you did read my reply, right ? ;) ) is that it would open the door to supporting everything else, which is extremely complex (and what if the servlet wants to do chunking or TEs by itself, etc, etc). The connector supports gzipping, and would have supported transfer encoding, except I ran into trouble with that because of the implementation from my friends from M$. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ajp_marshal_into_msgb to the new ajp
Henri Gomez wrote: jean-frederic clere wrote: Hi, I am going to move and adapt the ajp_marshal_into_msgb to the new ajp library. in ajp_msg.c or a new ajp_proto13.c ? ajp_header.c and ajp_header.h I wonder if how many C source file we should have ? A lot! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ajp_marshal_into_msgb to the new ajp
jean-frederic clere wrote: Henri Gomez wrote: jean-frederic clere wrote: Hi, I am going to move and adapt the ajp_marshal_into_msgb to the new ajp library. in ajp_msg.c or a new ajp_proto13.c ? ajp_header.c and ajp_header.h I wonder if how many C source file we should have ? A lot! LOL - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ajp_marshal_into_msgb to the new ajp
Henri Gomez wrote: jean-frederic clere wrote: Henri Gomez wrote: jean-frederic clere wrote: Hi, I am going to move and adapt the ajp_marshal_into_msgb to the new ajp library. in ajp_msg.c or a new ajp_proto13.c ? ajp_header.c and ajp_header.h I wonder if how many C source file we should have ? A lot! So we may move ajp_serialize funcs put in ajp_msg.c into an ajp_marshall.c since we should ajp serialize/deserialize stuff in a specifi file - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [5.next] Progress, more ideas and native connector benchmarks
Remy Maucherat wrote: Bill Barker wrote: - Remove Deployer and DefaultContext. The new stuff looks like a better replacement. I did that but didn't commit yet. The management side for the default context would need to be redone (it's not very difficult, I think). The clustering will need updates, but I don't think it's very difficult either. Ok. So during testing of the new undeploy code, I ran into some bug (apparently, but I can't reproduce it anymore) where the undeploy removed half of my work partition (I didn't realize what was going on fast enough ;) ), and I'm restoring stuff with my modem right now. I did lose some updates, of course (incl the removal of the two interfaces - of course, it's not very hard to put it back, so it's not a big issue). So be careful for now with the undploy link on the HTML manager, if you're using a descriptor pointing to a folder outside of the TC root ;) There should be code to prevent deletion of anything outside of the host appBase, but somehow it didn't work (or I simply forgot to recompile using it before testing, as I can't reproduce the problem anymore :( ). Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup HostConfig.java
remm2004/07/28 03:30:10 Modified:catalina/src/share/org/apache/catalina/startup HostConfig.java Log: - Add a filter to only remove .xml files from configBase (the default config is there as well). - I think I'll rework this and add a third hashmap, containing the resources which are actually controlled by Tomcat (it's a slightly different set than the resources which should cause a redeployment). Revision ChangesPath 1.42 +3 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostConfig.java Index: HostConfig.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostConfig.java,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- HostConfig.java 27 Jul 2004 17:53:15 - 1.41 +++ HostConfig.java 28 Jul 2004 10:30:10 - 1.42 @@ -987,7 +987,8 @@ File current = new File(resources2[j]); current = current.getCanonicalFile(); if ((current.getAbsolutePath().startsWith(appBase().getAbsolutePath())) -|| (current.getAbsolutePath().startsWith(configBase().getAbsolutePath( { +|| ((current.getAbsolutePath().startsWith(configBase().getAbsolutePath()) + (current.getAbsolutePath().endsWith(.xml) { if (log.isDebugEnabled()) log.debug(Delete + current); ExpandWar.delete(current); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30361] New: - problem when using jsp set and get property method.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30361. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30361 problem when using jsp set and get property method. Summary: problem when using jsp set and get property method. Product: Tomcat 5 Version: 5.0.0 Platform: All OS/Version: Windows XP Status: NEW Severity: Critical Priority: Other Component: Jasper AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Hi, I am getting the following error when i have a jsp file with jsp set and get property tag. Please let me know which of the jar files i have to refer when compiling my beans and when i try to run jasper.bat it says JASPER_HOME value not correct. what is the correct value for that variable. type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Cannot find any information on property 'Username' in a bean of type 'common.UserData' org.apache.jasper.runtime.JspRuntimeLibrary.handleSetProperty (JspRuntimeLibrary.java:665) org.apache.jsp.home.home_jsp._jspService(home_jsp.java:63) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:324) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) root cause org.apache.jasper.JasperException: Cannot find any information on property 'Username' in a bean of type 'common.UserData' org.apache.jasper.runtime.JspRuntimeLibrary.getWriteMethod (JspRuntimeLibrary.java:793) org.apache.jasper.runtime.JspRuntimeLibrary.handleSetProperty (JspRuntimeLibrary.java:662) org.apache.jsp.home.home_jsp._jspService(home_jsp.java:63) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:324) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30361] - problem when using jsp set and get property method.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30361. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30361 problem when using jsp set and get property method. [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 12:26 --- Bugzilla is not a help desk. Please use the tomcat-user list for support. http://jakarta.apache.org/tomcat/faq/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30362] New: - Tomcat eats up file handers
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30362. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30362 Tomcat eats up file handers Summary: Tomcat eats up file handers Product: Tomcat 5 Version: 5.0.27 Platform: All OS/Version: BeOS Status: NEW Severity: Blocker Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] It seems to me that under some circumstances Tomcat don't release file handlers. I have the problem that after a while I got a lot of IOexceptions, because there are no more file handlers. Increasing the number of handlers with ulimit only shifts the problem in time, but is not a solution. I'm not really sure where it happens. I can see it in the log file: WebappClassLoader: Failed to open JAR java.util.zip.ZipException: Too many open files at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.init(ZipFile.java:112) at java.util.jar.JarFile.init(JarFile.java:127) at java.util.jar.JarFile.init(JarFile.java:92) at org.apache.catalina.loader.WebappClassLoader.openJARs (WebappClassLoader.java:1549) at org.apache.catalina.loader.WebappClassLoader.findResourceInternal (WebappClassLoader.java:1771) at org.apache.catalina.loader.WebappClassLoader.findClassInternal (WebappClassLoader.java:1575) at org.apache.catalina.loader.WebappClassLoader.findClass (WebappClassLoader.java:860) at org.apache.catalina.loader.WebappClassLoader.loadClass (WebappClassLoader.java:1307) at org.apache.catalina.loader.WebappClassLoader.loadClass (WebappClassLoader.java:1189) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) [...] when I take a look at the WebappClassLoader.java everything seems to be okay, as far as I can see from the logic all file handles should be closed before new files are assigned. Anyway I could at some places imagine situations where an IOException won't close all file handlers. In such cases the openJAR method will overwrite existing jarFiles[] entries without closing them (try-catch outside loop). A simple solution would be to ensure integrity of jarFiles[] before changes (i.e. check whether the array entry is really closed and null), of course unreferenced file objects should be closed automatically somehow, but this seems not to happen (I got almost 1 GB log-file with this error during 2 days, so there is definetyl a leak). For installations with more deployments a global LRU-Cache with a fixed size upper limit of open filed would be probably more appropriate. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [5.next] Progress, more ideas and native connector benchmarks
Hi, You know, I've been meaning to address the Undeploy considered dangerous bugzilla item by adding a JavaScript confirmation dialog around the undeploy action in the HTML manager. Too bad I hadn't gotten around to it before your mishap ;( Yoav Shapira Millennium Research Informatics -Original Message- From: Remy Maucherat [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 28, 2004 6:27 AM To: Tomcat Developers List Subject: Re: [5.next] Progress, more ideas and native connector benchmarks Remy Maucherat wrote: Bill Barker wrote: - Remove Deployer and DefaultContext. The new stuff looks like a better replacement. I did that but didn't commit yet. The management side for the default context would need to be redone (it's not very difficult, I think). The clustering will need updates, but I don't think it's very difficult either. Ok. So during testing of the new undeploy code, I ran into some bug (apparently, but I can't reproduce it anymore) where the undeploy removed half of my work partition (I didn't realize what was going on fast enough ;) ), and I'm restoring stuff with my modem right now. I did lose some updates, of course (incl the removal of the two interfaces - of course, it's not very hard to put it back, so it's not a big issue). So be careful for now with the undploy link on the HTML manager, if you're using a descriptor pointing to a folder outside of the TC root ;) There should be code to prevent deletion of anything outside of the host appBase, but somehow it didn't work (or I simply forgot to recompile using it before testing, as I can't reproduce the problem anymore :( ). Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [5.next] Progress, more ideas and native connector benchmarks
Shapira, Yoav wrote: Hi, You know, I've been meaning to address the Undeploy considered dangerous bugzilla item by adding a JavaScript confirmation dialog around the undeploy action in the HTML manager. Too bad I hadn't gotten around to it before your mishap ;( I would have clicked yes: I wanted to test it. And if you use the Ant task (which does the same), there's no confirmation. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30362] - Tomcat eats up file handers
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30362. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30362 Tomcat eats up file handers [EMAIL PROTECTED] changed: What|Removed |Added Severity|Blocker |Normal OS/Version|BeOS|All --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 13:18 --- I didn't see anyone else reporting that. On Windows, I think this would cause file locking, and the CL doesn't do that. So can you submit a patch to release whatever files you think are leaked, because I can't understand where it would happen ? Thanks. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native/netscape Makefile.netware
fuankg 2004/07/28 07:24:48 Modified:jk/native/jni Makefile.netware jk/native/netscape Makefile.netware Log: few minor Makefile tweaks. Revision ChangesPath 1.4 +14 -11jakarta-tomcat-connectors/jk/native/jni/Makefile.netware Index: Makefile.netware === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/jni/Makefile.netware,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Makefile.netware 16 Mar 2004 12:58:37 - 1.3 +++ Makefile.netware 28 Jul 2004 14:24:48 - 1.4 @@ -4,14 +4,17 @@ # # Edit the path below to point to the base of your Netscape includes. +ifndef NS_HOME NS_HOME = c:/projects/sdks/netscape - +endif # Edit the path below to point to the base of your NetWare Java SDK. -JDK = c:/projects/sdks/java-nw - +ifndef NW_JDK +NW_JDK = c:/projects/sdks/java-nw +endif # Edit the path below to point to the base of your Novell NDK. -# BASE = /usr/prg/nlm -BASE = c:/novell +ifndef NDKBASE +NDKBASE = c:/novell +endif INSTDIR = /mnt/sys/novonyx/modules # Edit the vars below to change NLM target settings. @@ -64,7 +67,7 @@ # CP = cp -fv # if you want to mark the target as MTSAFE you will need a tool for # generating the xdc data for the linker; here's a minimal tool: -# http://www.gknw.de/development/prgtools/mkxdc.zip +# http://www.gknw.com/development/prgtools/mkxdc.zip MPKXDC = mkxdc # Global flags for all compilers @@ -94,19 +97,19 @@ #CFLAGS += -D__ANSIC__ else PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o - CFLAGS += -include $(BASE)/nlmconv/genlm.h + CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h endif endif LDLIBS = -NDK_ROOT = $(BASE)/ndk +NDK_ROOT = $(NDKBASE)/ndk SDK_CLIB = $(NDK_ROOT)/nwsdk SDK_LIBC = $(NDK_ROOT)/libc JKCOMMON = ../common INCLUDES = -I$(NS_HOME)/include -I$(NS_HOME)/include/base -INCLUDES += -I$(JKCOMMON) -I$(JDK)/include -I$(JDK)/include/netware +INCLUDES += -I$(JKCOMMON) -I$(NW_JDK)/include -I$(NW_JDK)/include/netware ifeq ($(LIBARCH),LIBC) INCLUDES += -I$(SDK_LIBC)/include -I$(SDK_LIBC)/include/nks @@ -122,9 +125,9 @@ XDCDATA = $(OBJDIR)/$(TARGET).xdc endif -ifeq ($(OSTYPE),linux) +ifeq ($(findstring linux,$(OSTYPE)),linux) DL = ' --include $(BASE)/nlmconv/ncpfs.inc +#-include $(NDKBASE)/nlmconv/ncpfs.inc endif OBJS = \ 1.4 +13 -10jakarta-tomcat-connectors/jk/native/netscape/Makefile.netware Index: Makefile.netware === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/netscape/Makefile.netware,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Makefile.netware 16 Mar 2004 12:58:37 - 1.3 +++ Makefile.netware 28 Jul 2004 14:24:48 - 1.4 @@ -4,14 +4,17 @@ # # Edit the path below to point to the base of your Netscape includes. +ifndef NS_HOME NS_HOME = c:/projects/sdks/netscape - +endif # Edit the path below to point to the base of your NetWare Java SDK. -JDK = c:/projects/sdks/java-nw - +ifndef NW_JDK +NW_JDK = c:/projects/sdks/java-nw +endif # Edit the path below to point to the base of your Novell NDK. -# BASE = /usr/prg/nlm -BASE = c:/novell +ifndef NDKBASE +NDKBASE = c:/novell +endif INSTDIR = /mnt/sys/novonyx/modules # Edit the vars below to change NLM target settings. @@ -87,19 +90,19 @@ #CFLAGS += -D__ANSIC__ else PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o - CFLAGS += -include $(BASE)/nlmconv/genlm.h + CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h endif endif LDLIBS = -NDK_ROOT = $(BASE)/ndk +NDK_ROOT = $(NDKBASE)/ndk SDK_CLIB = $(NDK_ROOT)/nwsdk SDK_LIBC = $(NDK_ROOT)/libc JKCOMMON = ../common INCLUDES = -I$(NS_HOME)/include -I$(NS_HOME)/include/base -INCLUDES += -I$(JKCOMMON) -I$(JDK)/include -I$(JDK)/include/netware +INCLUDES += -I$(JKCOMMON) -I$(NW_JDK)/include -I$(NW_JDK)/include/netware ifeq ($(LIBARCH),LIBC) INCLUDES += -I$(SDK_LIBC)/include -I$(SDK_LIBC)/include/nks @@ -115,9 +118,9 @@ XDCDATA = $(OBJDIR)/$(TARGET).xdc endif -ifeq ($(OSTYPE),linux) +ifeq ($(findstring linux,$(OSTYPE)),linux) DL = ' --include $(BASE)/nlmconv/ncpfs.inc +#-include $(NDKBASE)/nlmconv/ncpfs.inc endif OBJS = \ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Fwd: Re: Some benchs results : WAS: Invitation to HTTPD commiters in tomcat-dev]
It seems we didn't got this CC in tc-dev : ---BeginMessage--- Henri Gomez wrote: I made some benchs on my Linux Fedora Core 2 on a P4 2.8ghz / 1Gb RAM : Apache 2 alone 1202 req/s TC/Coyote 883 req/s One thing I noticed when looking at Tomcat 5.0.x is that its default, static-file-delivering servlet does a stat(2) of each path prefix leading up to the file. A standard installation of Apache 2.x, with FollowSymlinks enabled, doesn't do these stat calls, for obvious performance reasons. Is the stat'ing of all the directories leading up to the requested file in Tomcat intentional (it *is* valuable in some environments for security purposes), or is it just a side-effect of the implementation? Brian ---End Message--- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Newbee question
Hi all, I try to build tomcat from cvs distribution and failed. Command line %ant_home%\bin\ant all produces the following output BUILD FAILED D:\local\jakarta\jakarta-tomcat-4.0\build.xml:97: Following error occured while executing this line D:\local\jakarta\jakarta-tomcat-4.0\catalina\build.xml:953: Basedir D:\local\jakarta\jakarta-tomcat-connectors\util does not exist What can I do? Dmitry
RE: Newbee question
Hi, Use the default target, by just typing ant, rather than ant all. It will download and build dependencies. And please continue this discussion on tomcat-user, not tomcat-dev. Thanks, Yoav Shapira Millennium Research Informatics -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 28, 2004 10:28 AM To: [EMAIL PROTECTED] Subject: Newbee question Hi all, I try to build tomcat from cvs distribution and failed. Command line %ant_home%\bin\ant all produces the following output BUILD FAILED D:\local\jakarta\jakarta-tomcat-4.0\build.xml:97: Following error occured while executing this line D:\local\jakarta\jakarta-tomcat-4.0\catalina\build.xml:953: Basedir D:\local\jakarta\jakarta-tomcat-connectors\util does not exist What can I do? Dmitry - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30362] - Tomcat eats up file handers
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30362. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30362 Tomcat eats up file handers --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 14:36 --- okay, first of all the tomcat is on a linux box - no windows ! So here are my concerns in WebappClassloader: public void closeJARs(boolean force) { if (jarFiles.length 0) { try { synchronized (jarFiles) { if (force || (System.currentTimeMillis() (lastJarAccessed + 9))) { for (int i = 0; i jarFiles.length; i++) { if (jarFiles[i] != null) { jarFiles[i].close(); jarFiles[i] = null; } } } } } catch (IOException e) { log.warn(Failed to close JAR, e); } } } If you get an IOException the for-loop will break, and not run through the rest of possible still open files. If you take then a look at protected void openJARs() { if (started (jarFiles.length 0)) { lastJarAccessed = System.currentTimeMillis(); if (jarFiles[0] == null) { try { for (int i = 0; i jarFiles.length; i++) { jarFiles[i] = new JarFile(jarRealFiles[i]); } } catch (IOException e) { log.warn(Failed to open JAR, e); } } } } Only the first array entry is checked for null, so if there are other not closed entries, they will simply overwritten without closing them first. I'm not sure, whether this is really the point of failure, but this was my first guess looking at the code. So a solution would be e.g.: protected void openJARs() { if (started (jarFiles.length 0)) { lastJarAccessed = System.currentTimeMillis(); if (jarFiles[0] == null) { try { for (int i = 0; i jarFiles.length; i++) { if (jarFiles[i]!=null){// would prefer a isClosed() check too, but seems not be available jarFiles[i].close(); jarFiles[i]=null; } jarFiles[i] = new JarFile(jarRealFiles[i]); } } catch (IOException e) { log.warn(Failed to open JAR, e); } } } } or in closeJARs just move the try-catch inside the for-loop (it's expensive, I know), but may be a simple finally{ continue; } would do too, because the IOException will break the loop and the finally will continue it, I'm not sure whether this works with an inner synchronized block - never thought about this, I gues from JVM spec it should work ? Still not sure, that this is really the point, but I can assure you, I got tons of this exception. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native/apache-1.3 Makefile.netware
fuankg 2004/07/28 07:35:46 Modified:jk/native/apache-1.3 Makefile.netware Log: few minor Makefile tweaks. Revision ChangesPath 1.4 +14 -11jakarta-tomcat-connectors/jk/native/apache-1.3/Makefile.netware Index: Makefile.netware === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/apache-1.3/Makefile.netware,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Makefile.netware 16 Mar 2004 12:58:37 - 1.3 +++ Makefile.netware 28 Jul 2004 14:35:46 - 1.4 @@ -4,14 +4,17 @@ # # Edit the path below to point to the base of your Apache 1.3 includes. -#AP_HOME = c:/projects/cw/apache-1.3 -AP_HOME = c:/projects/cw/apache_1.3.29 - +ifndef AP_HOME +AP_HOME = c:/projects/cw/apache_1.3.31 +endif # Edit the path below to point to the base of your NetWare Java SDK. -JDK = c:/projects/sdks/java-nw - +ifndef NW_JDK +NW_JDK = c:/projects/sdks/java-nw +endif # Edit the path below to point to the base of your Novell NDK. -BASE = c:/novell +ifndef NDKBASE +NDKBASE = c:/novell +endif INSTDIR = s:/apache/modules # Edit the vars below to change NLM target settings. @@ -84,7 +87,7 @@ #CFLAGS += -D__ANSIC__ else #PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o - CFLAGS += -include $(BASE)/nlmconv/genlm.h + CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h endif endif CFLAGS += -include precomp.h @@ -94,20 +97,20 @@ endif -NDK_ROOT = $(BASE)/ndk +NDK_ROOT = $(NDKBASE)/ndk SDK_CLIB = $(NDK_ROOT)/nwsdk SDK_LIBC = $(NDK_ROOT)/libc JKCOMMON = ../common INCLUDES = -I$(AP_HOME)/src/include -I$(AP_HOME)/src/os/netware -INCLUDES += -I$(JKCOMMON) -I$(JDK)/include -I$(JDK)/include/netware +INCLUDES += -I$(JKCOMMON) -I$(NW_JDK)/include -I$(NW_JDK)/include/netware ifeq ($(LIBARCH),LIBC) INCLUDES += -I$(SDK_LIBC)/include -I$(SDK_LIBC)/include/nks INCLUDES += -I$(SDK_LIBC)/include/winsock else INCLUDES += -I$(SDK_CLIB)/include/nlm -I$(SDK_CLIB)/include - INCLUDES += -I$(BASE)/ws295sdk/include + INCLUDES += -I$(NDKBASE)/ws295sdk/include CFLAGS += -DNETDB_USE_INTERNET endif CFLAGS += $(INCLUDES) @@ -118,7 +121,7 @@ ifeq ($(OSTYPE),linux) DL = ' --include $(BASE)/nlmconv/ncpfs.inc +-include $(NDKBASE)/nlmconv/ncpfs.inc endif OBJS = \ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_header.c ajp_header.h Makefile ajp.h
jfclere 2004/07/28 07:43:46 Modified:ajp/ajplib/test Makefile ajp.h Added: ajp/ajplib/test ajp_header.c ajp_header.h Log: Add the building/reading of the headers. Revision ChangesPath 1.3 +6 -3 jakarta-tomcat-connectors/ajp/ajplib/test/Makefile Index: Makefile === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Makefile 27 Jul 2004 15:23:19 - 1.2 +++ Makefile 28 Jul 2004 14:43:46 - 1.3 @@ -1,27 +1,30 @@ # # You need an installed httpd-2.x to use this Makefile # + APACHE_DIR=/home2/apache20/apache20 APR_DIR=$(APACHE_DIR) APU_DIR=$(APACHE_DIR) +include $(APR_DIR)/build/config_vars.mk + # in httpd-2.x sources... #APR_DIR=$(APACHE_DIR)/srclib/apr #APU_DIR=$(APACHE_DIR)/srclib/apr-util APR_INCLUDE=$(APR_DIR)/include APU_INCLUDE=$(APU_DIR)/include +APA_INCLUDE=$(APACHE_DIR)/include SRC_DIR=. INCLUDE=. -AJP_OBJECTS = ajp_link.lo ajp_msg.lo httpd_wrap.lo +AJP_OBJECTS = ajp_link.lo ajp_msg.lo httpd_wrap.lo ajp_header.lo AJP_PROGRAM = testajp.lo AJP_LIB = lib_ajp.la -INCLUDES = -I $(INCLUDE) -I $(APR_INCLUDE) -I $(APU_INCLUDE) +INCLUDES = -I $(INCLUDE) -I $(APR_INCLUDE) -I $(APU_INCLUDE) -I $(APA_INCLUDE) include $(APR_DIR)/build/apr_rules.mk -include $(APR_DIR)/build/config_vars.mk all: testajp 1.6 +8 -0 jakarta-tomcat-connectors/ajp/ajplib/test/ajp.h Index: ajp.h === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ajp.h 28 Jul 2004 07:44:43 - 1.5 +++ ajp.h 28 Jul 2004 14:43:46 - 1.6 @@ -55,6 +55,14 @@ #ifdef AJP_USE_HTTPD_WRAP #include httpd_wrap.h +#else +#include httpd.h +#include http_config.h +#include http_request.h +#include http_core.h +#include http_protocol.h +#include http_main.h +#include http_log.h #endif struct ajp_msg 1.1 jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c Index: ajp_header.c === /* * Copyright 1999-2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include ajp_header.h #include ajp.h static const char *response_trans_headers[] = { Content-Type, Content-Language, Content-Length, Date, Last-Modified, Location, Set-Cookie, Set-Cookie2, Servlet-Engine, Status, WWW-Authenticate }; static const char *long_res_header_for_sc(int sc) { const char *rc = NULL; if(sc = SC_RES_HEADERS_NUM sc 0) { rc = response_trans_headers[sc - 1]; } return rc; } static apr_status_t sc_for_req_method(const char*method, unsigned char *sc) { apr_status_t rc = APR_SUCCESS; if(0 == strcmp(method, GET)) { *sc = SC_M_GET; } else if(0 == strcmp(method, POST)) { *sc = SC_M_POST; } else if(0 == strcmp(method, HEAD)) { *sc = SC_M_HEAD; } else if(0 == strcmp(method, PUT)) { *sc = SC_M_PUT; } else if(0 == strcmp(method, DELETE)) { *sc = SC_M_DELETE; } else if(0 == strcmp(method, OPTIONS)) { *sc = SC_M_OPTIONS; } else if(0 == strcmp(method, TRACE)) { *sc = SC_M_TRACE; } else if(0 == strcmp(method, PROPFIND)) { *sc = SC_M_PROPFIND; } else if(0 == strcmp(method, PROPPATCH)) { *sc = SC_M_PROPPATCH; } else if(0 == strcmp(method, MKCOL)) { *sc = SC_M_MKCOL; } else if(0 == strcmp(method, COPY)) { *sc = SC_M_COPY; } else if(0 == strcmp(method, MOVE)) { *sc = SC_M_MOVE; } else if(0 == strcmp(method, LOCK)) { *sc = SC_M_LOCK; } else if(0 == strcmp(method, UNLOCK)) { *sc = SC_M_UNLOCK; } else if(0 == strcmp(method, ACL)) { *sc = SC_M_ACL; } else if(0 == strcmp(method, REPORT)) { *sc = SC_M_REPORT; } else if(0
RE: TC5 : Host header loses port
Hi, I haven't heard of this issue before. The place to start looking is org.apache.coyote.tomcat5.CoyoteAdapter and CoyoteConnector, as well as the Http11Processor/Http11Protocol that calls them. If you file a bug against this, please include a test case so we can reproduce what you're reporting, because this hasn't been reported before. Yoav Shapira Millennium Research Informatics -Original Message- From: Blair Cooper [mailto:[EMAIL PROTECTED] Sent: Tuesday, July 27, 2004 7:41 PM To: [EMAIL PROTECTED] Subject: TC5 : Host header loses port We have an application that sends a HTTP request to another of our applications. In this request the Host header is set to something like targetHost:6789. When the target application calls HttpServeletRequest.getHeader(Host), all that is returned is targetHost. The Port information is lost. Is anyone familiar with this issue? In Tomcat 4 it correctly returned the host and port. Can someone point me where in the source code to start looking? Should I submit a bug for this? Thanks, Blair Cooper TeamOn Systems This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/webapps/docs changelog.xml manager-howto.xml
yoavs 2004/07/28 07:49:51 Modified:webapps/docs changelog.xml manager-howto.xml Log: Addressed Bugzilla 30354. Revision ChangesPath 1.79 +3 -0 jakarta-tomcat-catalina/webapps/docs/changelog.xml Index: changelog.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/changelog.xml,v retrieving revision 1.78 retrieving revision 1.79 diff -u -r1.78 -r1.79 --- changelog.xml 26 Jul 2004 17:04:04 - 1.78 +++ changelog.xml 28 Jul 2004 14:49:50 - 1.79 @@ -57,6 +57,9 @@ fix bug29779/bug: Admin/Examples SetCharacterEncodingFilter wrong package. (yoavs) /fix + fix +bug30354/bug: manager-howto.xml used wrong Ant task. (yoavs) + /fix /changelog /subsection /section 1.13 +1 -1 jakarta-tomcat-catalina/webapps/docs/manager-howto.xml Index: manager-howto.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/manager-howto.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- manager-howto.xml 19 Dec 2003 18:59:44 - 1.12 +++ manager-howto.xml 28 Jul 2004 14:49:50 - 1.13 @@ -981,7 +981,7 @@ lt;/targetgt; lt;target name=undeploy description=Remove web applicationgt; -lt;remove url=${url} username=${username} password=${password} +lt;undeploy url=${url} username=${username} password=${password} path=${path}/gt; lt;/targetgt; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30354] - Wrong task in example ant build.xml
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30354. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30354 Wrong task in example ant build.xml [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 14:51 --- Fixed, thanks for pointing it out. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Fwd: Re: Some benchs results : WAS: Invitation to HTTPD commiters in tomcat-dev]
Henri Gomez wrote: It seems we didn't got this CC in tc-dev : Henri Gomez wrote: I made some benchs on my Linux Fedora Core 2 on a P4 2.8ghz / 1Gb RAM : Apache 2 alone 1202 req/s TC/Coyote 883 req/s One thing I noticed when looking at Tomcat 5.0.x is that its default, static-file-delivering servlet does a stat(2) of each path prefix leading up to the file. A standard installation of Apache 2.x, with FollowSymlinks enabled, doesn't do these stat calls, for obvious performance reasons. Is the stat'ing of all the directories leading up to the requested file in Tomcat intentional (it *is* valuable in some environments for security purposes), or is it just a side-effect of the implementation? I really have no idea what this stuff means. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30362] - Tomcat eats up file handers
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30362. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30362 Tomcat eats up file handers --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 15:00 --- Ok, indeed it would be a good idea moving try catch inside the loop, but you should't get any IOE here. You have a serious problem somewhere causing this, IMO. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/webapps/docs changelog.xml
yoavs 2004/07/28 08:00:32 Modified:catalina/src/share/org/apache/catalina/valves ErrorReportValve.java webapps/docs changelog.xml Log: Addressed Bugzilla 28875, ErrorReportValve default encoding to UTF-8. Revision ChangesPath 1.22 +17 -15 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ErrorReportValve.java Index: ErrorReportValve.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ErrorReportValve.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- ErrorReportValve.java 27 Jun 2004 23:56:23 - 1.21 +++ ErrorReportValve.java 28 Jul 2004 15:00:32 - 1.22 @@ -48,6 +48,7 @@ * @author Craig R. McClanahan * @author a href=mailto:[EMAIL PROTECTED]Nicola Ken Barozzi/a Aisa * @author a href=mailto:[EMAIL PROTECTED]Stefano Mazzocchi/a + * @author Yoav Shapira * @version $Revision$ $Date$ */ @@ -284,28 +285,29 @@ try { -Writer writer = response.getReporter(); + try { -if (writer != null) { +response.setContentType(text/html); +response.setCharacterEncoding(utf-8); -Locale locale = Locale.getDefault(); + } catch (Throwable t) { -try { - response.setContentType(text/html); - response.setLocale(locale); -} catch (Throwable t) { -if (container.getLogger().isDebugEnabled()) -container.getLogger().debug(status.setContentType, t); -} + if (container.getLogger().isDebugEnabled()) + container.getLogger().debug(status.setContentType, t); -// If writer is null, it's an indication that the response has -// been hard committed already, which should never happen -writer.write(sb.toString()); + } -} + Writer writer = response.getReporter(); + + if (writer != null) { +// If writer is null, it's an indication that the response has +// been hard committed already, which should never happen +writer.write(sb.toString()); + } } catch (IOException e) { ; + } catch (IllegalStateException e) { ; } 1.80 +3 -0 jakarta-tomcat-catalina/webapps/docs/changelog.xml Index: changelog.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/changelog.xml,v retrieving revision 1.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- changelog.xml 28 Jul 2004 14:49:50 - 1.79 +++ changelog.xml 28 Jul 2004 15:00:32 - 1.80 @@ -40,6 +40,9 @@ fix bug29831/bug: Added support for Boolean property to BeanFactory. (yoavs) /fix + fix +bug28875/bug: Made ErrorReportValve use UTF-8 encoding by default. (yoavs) + /fix /changelog /subsection - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 28875] - Multi-byte characters in default error page aren't printed out correctly.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=28875. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=28875 Multi-byte characters in default error page aren't printed out correctly. [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 15:02 --- I've applied the re-written patch. I think it looks OK, but I haven't re-built and re-run your test cases yet. If you could do that when you get a chance, that'd be great. Thanks for contributing the patch. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 29846] - Handling of error reports
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=29846. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=29846 Handling of error reports [EMAIL PROTECTED] changed: What|Removed |Added Severity|Major |Normal Component|Catalina|Native:JK --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 15:04 --- Becuase this only appears with mod_jk, I'm modifying the Component section of this bug to Native:JK. I'm also reducing the severity from Major to Normal and I suggest you try mod_jk 1.2.6 which was just released a couple of days ago. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 29855] - Broken pipe exception on large POST data
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=29855. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=29855 Broken pipe exception on large POST data --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 15:05 --- Tomcat 5 has made changes to the CGI servlet as well as relevant Connector code. Please re-test on Tomcat 5.0.27 or later. Thanks. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 28631] - JAASRealm fix to permit user-specified user/group Principals
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=28631. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=28631 JAASRealm fix to permit user-specified user/group Principals --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 15:07 --- No test cases? This item may be closed if none are submitted. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30087] - Solved: using su command in scripts to start Tomcat as non-root user
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30087. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30087 Solved: using su command in scripts to start Tomcat as non-root user [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 15:08 --- This is not a Tomcat bug, it's not even related to Tomcat, it's a general su on SuSe issue. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Bugzilla http://issues.apache.org/bugzilla/show_bug.cgi?id=29869: NotificationEmitter on StandardContext and StandardWrapper
Hi, This seems like a good patch. Any opinions or -1's to prevent me from committing it? Yoav Shapira Millennium Research Informatics This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30155] - Problem with viewing mail session
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30155. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30155 Problem with viewing mail session [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WORKSFORME --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 15:15 --- 5.0.25 has a known issue with the naming-factory.jar missing the javax.mail.Session factory support. Use 5.0.27. I'm going to close this issue as I'm 99% sure this is the problem, but if I'm wrong feel free to reopen the issue and change the version from 5.0.25 to 5.0.27. Thanks. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30368] New: - Problem with URLDecode
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30368. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30368 Problem with URLDecode Summary: Problem with URLDecode Product: Tomcat 4 Version: 4.1.29 Platform: All OS/Version: Other Status: NEW Severity: Normal Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Hello, There seems to be a problem with the URLDecoding of the pathInfo I can obtain with getPathInfo() of interface HttpServletRequest. Example: be my URL : http://localhost:8080/myapp/snoop/rel/%C3%9Cbersicht+PSS+Familie_V1.pdf Be a servlet which handles this request mapped to /snoop/*. Then the pathInfo (not URLDecoded) would be: /rel/%C3%9Cbersicht+PSS+Familie_V1.pdf But what Tomcat returns decoded with getPathInfo() is not correct. I cannot say exactly what ist wrong with the implementation of the URLDecode() method in class RequestUtils, but the error ist the same if I URLDecode the string returned by getRequestURI() with java.net.URLDecoder.decode(). Maybe this gives you an idea. BTW, %C3%9C is the URLencoding of the UTF-8-encoded german U-Umlaut. Best Regards Michael - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30369] New: - Wrong result of getPathInfo
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30369. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30369 Wrong result of getPathInfo Summary: Wrong result of getPathInfo Product: Tomcat 5 Version: 5.0.26 Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: Servlet JSP API AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Hi, If i'am using an URL like http://server/context/servlet/%3Btest the request.getPathInfo returns only / and not /;test as expected. I Think the decoding of %3B to ; causes that the remaning part of the pathInfo is interpreted as path parameters. Ralf - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30346] - service.bat did not work properly; Unable to find a javac compiler
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30346. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30346 service.bat did not work properly; Unable to find a javac compiler --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 15:19 --- If you want to hear from us, the mailing lists are a better place than Bugzilla. And if you want hear positive feedback, please post suggested patches and/or test cases with your bugs when possible ;) Thanks. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30347] - embedded:standardContext.addResource(string, string) throw npe
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30347. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30347 embedded:standardContext.addResource(string, string) throw npe [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WONTFIX --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 15:28 --- If you do it the second way, you must ensure the JMX beans for the Context and its Container are properly initialized, via the preRegisterJMX and registerJMX method. I suggest using the first way with Tomcat 5.0.27. For Tomcat 5.1, this code has been seriously re-written and you will not run into this error again. So rather than muck with this piece of code knowing it's already re-written for Tomcat 5.1, I'm going to resolve this issue as WONTFIX. Thanks for reporting it, though. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 23953] - JAVA_HOME defined incorrectly breaks startup.bat
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=23953. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=23953 JAVA_HOME defined incorrectly breaks startup.bat [EMAIL PROTECTED] changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 15:44 --- It looks fixed and works for me, so either submit a test case that shows it broken in Tomcat 5.0.27 or leave this bug closed. Thanks. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/webapps/docs changelog.xml
yoavs 2004/07/28 08:49:19 Modified:catalina/src/bin catalina.sh webapps/docs changelog.xml Log: Addressed Bugzilla 30325, only set CATALINA_HOME if not already set. Revision ChangesPath 1.16 +5 -2 jakarta-tomcat-catalina/catalina/src/bin/catalina.sh Index: catalina.sh === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/bin/catalina.sh,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- catalina.sh 28 Jul 2004 00:47:47 - 1.15 +++ catalina.sh 28 Jul 2004 15:49:19 - 1.16 @@ -61,7 +61,10 @@ # Get standard environment variables PRGDIR=`dirname $PRG` -CATALINA_HOME=`cd $PRGDIR/.. ; pwd` + +# Only set CATALINA_HOME if not already set +[ -z $CATALINA_HOME ] CATALINA_HOME=`cd $PRGDIR/.. ; pwd` + if [ -r $CATALINA_HOME/bin/setenv.sh ]; then . $CATALINA_HOME/bin/setenv.sh fi 1.81 +3 -0 jakarta-tomcat-catalina/webapps/docs/changelog.xml Index: changelog.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/changelog.xml,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- changelog.xml 28 Jul 2004 15:00:32 - 1.80 +++ changelog.xml 28 Jul 2004 15:49:19 - 1.81 @@ -43,6 +43,9 @@ fix bug28875/bug: Made ErrorReportValve use UTF-8 encoding by default. (yoavs) /fix + fix +bug30325/bug: Only set CATALINA_HOME if not already set (in bin/catalina.sh). (yoavs) + /fix /changelog /subsection - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30325] - [PATCH] $CATALINA_HOME set unconditionally in bin/catalina.sh
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30325. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30325 [PATCH] $CATALINA_HOME set unconditionally in bin/catalina.sh [EMAIL PROTECTED] changed: What|Removed |Added Severity|Normal |Enhancement Status|NEW |RESOLVED Component|Unknown |Catalina Priority|Other |Low Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 15:50 --- This seems reasonable. Patch committed. Thanks. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Dynamic updates and Apache v2.0
Costin Manolache wrote: Httpd already has some support for that - .htaccess for example The trouble with .htaccess is that it only applies for data on the local filesystem. Url space created by other content handlers (such as proxy or ajp) is not covered. You're assuming that the tomcat admin has access to this config file, which is often not going to be the case. If you have to update a file on the httpd server, it's virtually no different to updating a file on the httpd server and issuing a graceful restart, and we already have that now. Well, this is an excelent point that I forgot to make :-) Yes, one of the most important benefits of having this dynamic config is that you _don't_ need direct access and editing of the httpd.conf. If the data about the cluster is by default stored in a file ( and without the Include tricks ), then it becomes possible to have the changes made using some program - either as a result of negotiation and tomcat JMX pushing new settings, or using config scripts, etc. You keep coming back to stored in a file. This file is stored where? On the httpd server? On the tomcat server? If it's on the httpd server, then you're back to editing a file on the webserver, and here there is no point - if you're already on the httpd server editing files, then you already probably have the power to issue a graceful restart anyway, which reloads the httpd service gracefully without breaking connections or otherwise inconveniencing users. If it's on the tomcat server, then how does httpd access the file? In band using either http or ajp? Out of band using SMB or NFS? Then there is the issue of securing that file - obviously you don't want just anybody accessing it or changing it. And then what if the httpd server is an appliance such as an SSL accelerator? No chance for a file there. That's a good solution. It assumes tomcat handles all configuration. It also assumes the master tomcat instances ( those that apache knows about when it starts up ) are up most of the time, so apache will allways be able to bootstrap. This is easily solved by specifying multiple possible bootstrap servers in the httpd.conf file, and then making sure that at least one of those servers is available. Big sites might even have a dedicated backend non-load-bearing tomcat server for this very purpose. Regardless of how the config info is communicated - negotiation, out of band, etc - it does help to have the cluster info outside of httpd.conf, in an easy to parse and generate file, and keep it updated. 100% true - which is why that info should probably be best kept within tomcat itself, and queried by httpd. The tomcat server.xml file already contains a lot of info about load balancing. Duplicating it in a new external file just adds new complications that could most probably be solved using what we already have. The idea of the static config in httpd.conf is firmly entrenched, and will take a while to dislodge. If we minimise the config in httpd, and put relevant dynamic config inside server.xml and/or the tomcat management app instead (and have httpd autodetect the status as it goes) we would have a really powerful dynamic system. Ok, I can live with that :-). httpd.conf is great because so many people are familiar with it. But in those google days, you can have 1000s of servers in a cluster. I don't know how this bootstraping mechanism can scale and if it is flexible enough. Why wouldn't it be? Remember a cluster and an httpd frontend will be connected to each other via a high speed network (typically). If tomcat says I am part of a cluster, here have the DNS names of 1000 of my closest friends in the cluster I see no reason why httpd would not be able to handle it gracefully. Again - it can't hurt too much to keep cluster info in a separate simple file. It opens the way to a lot of scripting, tool support, config pushes, etc. It adds the question of where this file lives, who will control access to it, etc. It doesn't sound like an elegant solution to me at all. Regards, Graham -- smime.p7s Description: S/MIME Cryptographic Signature
Re: Dynamic updates and Apache v2.0
Graham Leggett wrote: Costin Manolache wrote: Httpd already has some support for that - .htaccess for example The trouble with .htaccess is that it only applies for data on the local filesystem. Url space created by other content handlers (such as proxy or ajp) is not covered. You're assuming that the tomcat admin has access to this config file, which is often not going to be the case. If you have to update a file on the httpd server, it's virtually no different to updating a file on the httpd server and issuing a graceful restart, and we already have that now. Well, this is an excelent point that I forgot to make :-) Yes, one of the most important benefits of having this dynamic config is that you _don't_ need direct access and editing of the httpd.conf. If the data about the cluster is by default stored in a file ( and without the Include tricks ), then it becomes possible to have the changes made using some program - either as a result of negotiation and tomcat JMX pushing new settings, or using config scripts, etc. You keep coming back to stored in a file. This file is stored where? On the httpd server? On the tomcat server? If it's on the httpd server, then you're back to editing a file on the webserver, and here there is no point - if you're already on the httpd server editing files, then you already probably have the power to issue a graceful restart anyway, which reloads the httpd service gracefully without breaking connections or otherwise inconveniencing users. If it's on the tomcat server, then how does httpd access the file? In band using either http or ajp? Out of band using SMB or NFS? Then there is the issue of securing that file - obviously you don't want just anybody accessing it or changing it. And then what if the httpd server is an appliance such as an SSL accelerator? No chance for a file there. Well using an URL could be a good idea, since it could be : - a static file, edited by admin, on the web-server or another web-server/tomcat - a dynamically generated file, PHP/JSP/Servlet/PERL, whatever. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30309] - Clarify error message
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30309. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30309 Clarify error message --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 16:07 --- I can't reproduce this error. Can you reproduce it on 5.0.27 and/or post the stack trace you're getting? A test case (attach it as a WAR file to this Bugzilla issue) would also be good. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30249] - org.apache.catalina.core.StandardHostDeployer.install creates webappname.xml from META-INF/context.xml as a _directory_ and not a file
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30249. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30249 org.apache.catalina.core.StandardHostDeployer.install creates webappname.xml from META-INF/context.xml as a _directory_ and not a file [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 16:08 --- *** This bug has been marked as a duplicate of 29688 *** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 29688] - HostConfig NullPointerException
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=29688. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=29688 HostConfig NullPointerException [EMAIL PROTECTED] changed: What|Removed |Added CC||[EMAIL PROTECTED] --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 16:08 --- *** Bug 30249 has been marked as a duplicate of this bug. *** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Fwd: Re: Some benchs results : WAS: Invitation to HTTPD commiters in tomcat-dev]
Remy Maucherat wrote, On 7/28/2004 7:54 AM: One thing I noticed when looking at Tomcat 5.0.x is that its default, static-file-delivering servlet does a stat(2) of each path prefix leading up to the file. A standard installation of Apache 2.x, with FollowSymlinks enabled, doesn't do these stat calls, for obvious performance reasons. Is the stat'ing of all the directories leading up to the requested file in Tomcat intentional (it *is* valuable in some environments for security purposes), or is it just a side-effect of the implementation? I really have no idea what this stuff means. stat is a Unix system call which retrives the status information of a file or directory. Each stat call can potentially hit the disk, so this can be a very expensive system call to make if you have deep directory trees and could explain some of the performance differences between Apache and Tomcat. -Dave - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test httpd_wrap.h httpd_wrap.c
mturk 2004/07/28 09:09:05 Modified:ajp/ajplib/test httpd_wrap.h httpd_wrap.c Log: Added ap_get_remote_host and ap_get_server_name Revision ChangesPath 1.5 +63 -0 jakarta-tomcat-connectors/ajp/ajplib/test/httpd_wrap.h Index: httpd_wrap.h === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/httpd_wrap.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- httpd_wrap.h 28 Jul 2004 05:38:04 - 1.4 +++ httpd_wrap.h 28 Jul 2004 16:09:04 - 1.5 @@ -163,6 +163,30 @@ */ #define DEFAULT_VHOST_ADDR 0xul +/* options for get_remote_host() */ +/* REMOTE_HOST returns the hostname, or NULL if the hostname + * lookup fails. It will force a DNS lookup according to the + * HostnameLookups setting. + */ +#define REMOTE_HOST (0) + +/* REMOTE_NAME returns the hostname, or the dotted quad if the + * hostname lookup fails. It will force a DNS lookup according + * to the HostnameLookups setting. + */ +#define REMOTE_NAME (1) + +/* REMOTE_NOLOOKUP is like REMOTE_NAME except that a DNS lookup is + * never forced. + */ +#define REMOTE_NOLOOKUP (2) + +/* REMOTE_DOUBLE_REV will always force a DNS lookup, and also force + * a double reverse lookup, regardless of the HostnameLookups + * setting. The result is the (double reverse checked) hostname, + * or NULL if any of the lookups fail. + */ +#define REMOTE_DOUBLE_REV (3) /** @} */ /** @@ -328,6 +352,11 @@ apr_finfo_t finfo; /** A struct containing the components of URI */ apr_uri_t parsed_uri; +/** Options set in config files, etc. */ +void *per_dir_config; +/** Notes on *this* request */ +void *request_config; + }; /** Structure to store things which are per connection */ @@ -547,6 +576,40 @@ server_rec *server, apr_socket_t *csd, long id, void *sbh, apr_bucket_alloc_t *alloc); + +/** + * Get the current server name from the request + * @param r The current request + * @return the server name + * @deffunc const char *ap_get_server_name(request_rec *r) + */ +AP_DECLARE(const char *) ap_get_server_name(request_rec *r); + +/** + * Lookup the remote client's DNS name or IP address + * @param conn The current connection + * @param dir_config The directory config vector from the request + * @param type The type of lookup to perform. One of: + * pre + * REMOTE_HOST returns the hostname, or NULL if the hostname + * lookup fails. It will force a DNS lookup according to the + * HostnameLookups setting. + * REMOTE_NAME returns the hostname, or the dotted quad if the + * hostname lookup fails. It will force a DNS lookup according + * to the HostnameLookups setting. + * REMOTE_NOLOOKUP is like REMOTE_NAME except that a DNS lookup is + * never forced. + * REMOTE_DOUBLE_REV will always force a DNS lookup, and also force + * a double reverse lookup, regardless of the HostnameLookups + * setting. The result is the (double reverse checked) + * hostname, or NULL if any of the lookups fail. + * /pre + * @param str_is_ip unless NULL is passed, this will be set to non-zero on output when an IP address + *string is returned + * @return The remote hostname + * @deffunc const char *ap_get_remote_host(conn_rec *conn, void *dir_config, int type, int *str_is_ip) + */ +AP_DECLARE(const char *) ap_get_remote_host(conn_rec *conn, void *dir_config, int type, int *str_is_ip); /** 1.7 +35 -0 jakarta-tomcat-connectors/ajp/ajplib/test/httpd_wrap.c Index: httpd_wrap.c === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/httpd_wrap.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- httpd_wrap.c 28 Jul 2004 05:38:04 - 1.6 +++ httpd_wrap.c 28 Jul 2004 16:09:04 - 1.7 @@ -282,3 +282,38 @@ return c; } + +AP_DECLARE(const char *) ap_get_remote_host(conn_rec *conn, void *dir_config, +int type, int *str_is_ip) +{ +int ignored_str_is_ip; + +if (!str_is_ip) { /* caller doesn't want to know */ +str_is_ip = ignored_str_is_ip; +} +*str_is_ip = 0; + +/* + * Return the desired information; either the remote DNS name, if found, + * or either NULL (if the hostname was requested) or the IP address + * (if any identifier was requested). + */
DO NOT REPLY [Bug 30279] - allowLinking attribute value is not preserved or ignored after context is reloaded
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30279. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30279 allowLinking attribute value is not preserved or ignored after context is reloaded [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WORKSFORME --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 16:11 --- For Tomcat 5, you should use the Context attribute allowLinking rather than the Tomcat 4 Resources element. See the Context configuration reference page for more information. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp.h
mturk 2004/07/28 09:10:03 Modified:ajp/ajplib/test ajp.h Log: Added prototypes from ajp_msg.c Added some error codes instead -1, -2 etc... Revision ChangesPath 1.7 +217 -8jakarta-tomcat-connectors/ajp/ajplib/test/ajp.h Index: ajp.h === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ajp.h 28 Jul 2004 14:43:46 - 1.6 +++ ajp.h 28 Jul 2004 16:10:03 - 1.7 @@ -65,20 +65,36 @@ #include http_log.h #endif + +/** AJP Specific error codes + */ + +/** @see APR_STATUS_IS_ENOSTAT */ +/* Buffer overflow exception */ +#define AJP_EOVERFLOW (APR_OS_START_USERERR + 1) +/* Destination Buffer is to small */ +#define AJP_ETOSMALL(APR_OS_START_USERERR + 2) +/* Invalid input parameters */ +#define AJP_EINVAL (APR_OS_START_USERERR + 3) +/* Bad message signature */ +#define AJP_EBAD_SIGNATURE (APR_OS_START_USERERR + 4) +/* Incoming message too bg */ +#define AJP_ETOBIG (APR_OS_START_USERERR + 5) + struct ajp_msg { - char * buf; - apr_size_t headerLen; - apr_size_t len; - apr_size_t pos; - int serverSide; +char * buf; +apr_size_t headerLen; +apr_size_t len; +apr_size_t pos; +int serverSide; }; typedef struct ajp_msg ajp_msg_t; -#define AJP_HEADER_LEN 4 -#define AJP_HEADER_SZ_LEN2 -#define AJP_MSG_BUFFER_SZ(8*1024) +#define AJP_HEADER_LEN 4 +#define AJP_HEADER_SZ_LEN 2 +#define AJP_MSG_BUFFER_SZ (8*1024) #define AJP13_MAX_SEND_BODY_SZ (AJP_DEF_BUFFER_SZ - 6) /* Webserver ask container to take control (logon phase) */ @@ -89,6 +105,199 @@ /* Container response to cping request */ #define CMD_AJP13_CPONG (unsigned char)9 + +/** + * Check a new AJP Message by looking at signature and return its size + * + * @param msg AJP Message to check + * @param len Pointer to returned len + * @return APR_SUCCESS or error + */ +apr_status_t ajp_msg_check_header(ajp_msg_t *msg, apr_size_t *len); + +/** + * Reset an AJP Message + * + * @param msg AJP Message to reset + * @return APR_SUCCESS or error + */ +apr_status_t ajp_msg_reset(ajp_msg_t *msg); + +/** + * Mark the end of an AJP Message + * + * @param msg AJP Message to end + * @return APR_SUCCESS or error + */ +apr_status_t ajp_msg_end(ajp_msg_t *msg); + +/** + * Add an unsigned 32bits value to AJP Message + * + * @param msg AJP Message to get value from + * @param value value to add to AJP Message + * @return APR_SUCCESS or error + */ +apr_status_t ajp_msg_append_uint32(ajp_msg_t *msg, apr_uint32_t value); + +/** + * Add an unsigned 16bits value to AJP Message + * + * @param msg AJP Message to get value from + * @param value value to add to AJP Message + * @return APR_SUCCESS or error + */ +apr_status_t ajp_msg_append_uint16(ajp_msg_t *msg, apr_uint16_t value); + +/** + * Add an unsigned 8bits value to AJP Message + * + * @param msg AJP Message to get value from + * @param value value to add to AJP Message + * @return APR_SUCCESS or error + */ +apr_status_t ajp_msg_append_uint8(ajp_msg_t *msg, apr_byte_t value); + +/** + * Add a String in AJP message, and transform the String in ASCII + * if convert is set and we're on an EBCDIC machine + * + * @param msg AJP Message to get value from + * @param value Pointer to String + * @param convert When set told to convert String to ASCII + * @return APR_SUCCESS or error + */ +apr_status_t ajp_msg_append_cvt_string(ajp_msg_t *msg, const char *value, + int convert); +/** + * Add a String in AJP message, and transform + * the String in ASCII if we're on an EBCDIC machine + * + * @param msg AJP Message to get value from + * @param value Pointer to String + * @return APR_SUCCESS or error + */ +apr_status_t ajp_msg_append_string(ajp_msg_t *msg, const char *value); + +/** + * Add a String in AJP message. + * + * @param msg AJP Message to get value from + * @param value Pointer to String + * @return APR_SUCCESS or error + */ +apr_status_t ajp_msg_append_ascii_string(ajp_msg_t *msg, const char *value); + +/** + * Add a Byte array to AJP Message + * + * @param msg AJP Message to get value from + * @param value Pointer to Byte array + * @param valuelen Byte array len + * @return
DO NOT REPLY [Bug 30284] - JPDA Hot code replacement support in classloader
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30284. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30284 JPDA Hot code replacement support in classloader --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 16:11 --- Please submit patch to do this ;) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_header.c
mturk 2004/07/28 09:11:27 Modified:ajp/ajplib/test ajp_header.c Log: Use apr types. Fix ajp_msg_peek settng wrong param Revision ChangesPath 1.2 +10 -11jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c Index: ajp_header.c === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ajp_header.c 28 Jul 2004 14:43:46 - 1.1 +++ ajp_header.c 28 Jul 2004 16:11:27 - 1.2 @@ -42,8 +42,8 @@ } -static apr_status_t sc_for_req_method(const char*method, - unsigned char *sc) +static apr_status_t sc_for_req_method(const char *method, + unsigned char *sc) { apr_status_t rc = APR_SUCCESS; if(0 == strcmp(method, GET)) { @@ -107,8 +107,8 @@ return rc; } -static apr_status_t sc_for_req_header(const char *header_name, - unsigned short *sc) +static apr_status_t sc_for_req_header(const char *header_name, + apr_uint16_t *sc) { switch((tolower(header_name[0]))) { case 'a': @@ -231,9 +231,8 @@ request_rec *r) { unsigned char method; -unsigned i; +apr_uint32_t i, num_headers = 0; apr_byte_t is_ssl; -short num_headers=0; char *remote_host; @@ -274,7 +273,7 @@ } for (i = 0 ; i num_headers ; i++) { -unsigned short sc; +apr_uint16_t sc; const apr_array_header_t *t = apr_table_elts(r-headers_in); const apr_table_entry_t *elts = (apr_table_entry_t *)t-elts; @@ -500,13 +499,13 @@ apr_uint16_t name; char *stringname; char *value; -rc = ajp_msg_peek_int(msg,value); +rc = ajp_msg_peek_uint16(msg, name); if (rc != APR_SUCCESS) { return APR_EGENERAL; } if ((name 0XFF00) == 0XA000) { -ajp_msg_peek_int(msg,value); +ajp_msg_peek_uint16(msg, name); name = name 0X00FF; if (name = SC_RES_HEADERS_NUM) { stringname = (char *)long_res_header_for_sc(name); @@ -543,8 +542,8 @@ #endif ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, ajp_unmarshal_response: Header[%d] [%s] = [%s]\n, - i, name, value); -ap_table_add(r-headers_out, name, value); + i, stringname, value); +apr_table_add(r-headers_out, stringname, value); } return APR_SUCCESS; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_link.c
mturk 2004/07/28 09:12:15 Modified:ajp/ajplib/test ajp_link.c Log: Remove ;; (makes error on some compilers) Revision ChangesPath 1.4 +1 -1 jakarta-tomcat-connectors/ajp/ajplib/test/ajp_link.c Index: ajp_link.c === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp_link.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ajp_link.c28 Jul 2004 07:44:43 - 1.3 +++ ajp_link.c28 Jul 2004 16:12:15 - 1.4 @@ -86,7 +86,7 @@ apr_status_t ajp_ilink_receive(apr_socket_t *sock, ajp_msg_t *msg) { apr_status_t status; -apr_size_t hlen;; +apr_size_t hlen; apr_size_t blen; if (sock == NULL) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_msg.c
mturk 2004/07/28 09:13:41 Modified:ajp/ajplib/test ajp_msg.c Log: Use our error messages instead -1, -2, etc... AJP_Exxx should be filled in if needed. Revision ChangesPath 1.5 +43 -40jakarta-tomcat-connectors/ajp/ajplib/test/ajp_msg.c Index: ajp_msg.c === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp_msg.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ajp_msg.c 28 Jul 2004 07:44:43 - 1.4 +++ ajp_msg.c 28 Jul 2004 16:13:40 - 1.5 @@ -27,8 +27,7 @@ */ apr_status_t ajp_msg_dump(ajp_msg_t *msg, char *err) { -int i; -int j; +apr_size_t i, j; charline[80]; char*current; apr_byte_t x; @@ -96,7 +95,7 @@ ajp_check_msg_header() got bad signature %x%x, head[0], head[1]); -return -1; +return AJP_EBAD_SIGNATURE; } msglen = ((head[2] 0xff) 8); @@ -106,7 +105,7 @@ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, NULL, ajp_check_msg_header() incoming message is too big %d, max is %d, msglen, AJP_MSG_BUFFER_SZ); -return -2; +return AJP_ETOBIG; } msg-len = msglen + AJP_HEADER_LEN; @@ -162,7 +161,7 @@ * @param value value to add to AJP Message * @return APR_SUCCESS or error */ -apr_status_t ajp_msg_append_uint32(ajp_msg_t *msg, const apr_uint32_t value) +apr_status_t ajp_msg_append_uint32(ajp_msg_t *msg, apr_uint32_t value) { apr_size_t len = msg-len; @@ -170,7 +169,7 @@ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, NULL, ajp_msg_append_uint32(): BufferOverflowException %d %d, msg-pos, msg-len); -return -1; +return AJP_EOVERFLOW; } msg-buf[len] = (apr_byte_t)((value 24) 0xFF); @@ -190,7 +189,7 @@ * @param value value to add to AJP Message * @return APR_SUCCESS or error */ -apr_status_t ajp_msg_append_uint16(ajp_msg_t *msg, const apr_uint16_t value) +apr_status_t ajp_msg_append_uint16(ajp_msg_t *msg, apr_uint16_t value) { apr_size_t len = msg-len; @@ -198,7 +197,7 @@ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, NULL, ajp_msg_append_uint16(): BufferOverflowException %d %d, msg-pos, msg-len); -return -1; +return AJP_EOVERFLOW; } msg-buf[len] = (apr_byte_t)((value 8) 0xFF); @@ -216,7 +215,7 @@ * @param value value to add to AJP Message * @return APR_SUCCESS or error */ -apr_status_t ajp_msg_append_uint8(ajp_msg_t *msg, const apr_byte_t value) +apr_status_t ajp_msg_append_uint8(ajp_msg_t *msg, apr_byte_t value) { apr_size_t len = msg-len; @@ -224,7 +223,7 @@ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, NULL, ajp_msg_append_uint8(): BufferOverflowException %d %d, msg-pos, msg-len); -return -1; +return AJP_EOVERFLOW; } msg-buf[len] = value; @@ -242,9 +241,10 @@ * @param convert When set told to convert String to ASCII * @return APR_SUCCESS or error */ -apr_status_t ajp_msg_append_cvt_string(ajp_msg_t *msg, const char *value, int convert) +apr_status_t ajp_msg_append_cvt_string(ajp_msg_t *msg, const char *value, + int convert) { -int len; +size_t len; if (value == NULL) { return(ajp_msg_append_uint16(msg, 0x)); @@ -253,19 +253,19 @@ len = strlen(value); if ((msg-len + len + 2) AJP_MSG_BUFFER_SZ) { ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, NULL, - ajp_msg_append_cvt_string(): BufferOverflowException %d %d, - msg-pos, msg-len); -return -1; +ajp_msg_append_cvt_string(): BufferOverflowException %d %d, +msg-pos, msg-len); +return AJP_EOVERFLOW; } /* ignore error - we checked once */ ajp_msg_append_uint16(msg, (apr_uint16_t)len); /* We checked for space !! */ -strncpy((char *)msg-buf + msg-len, value, len + 1); /* including \0 */ +strncpy((char *)msg-buf + msg-len, value, len + 1); /* including \0 */ -if (convert) -ajp_xlate_to_ascii((char *)msg-buf + msg-len, len + 1); /* convert from EBCDIC if needed */ +if (convert) /* convert from EBCDIC if needed */ +ajp_xlate_to_ascii((char *)msg-buf + msg-len, len + 1); msg-len += len + 1; @@ -307,7 +307,8 @@ * @param valuelen Byte array len * @return
Re: [Fwd: Re: Some benchs results : WAS: Invitation to HTTPD commiters in tomcat-dev]
The Java VM does this through file handling, we would have to find out where it issues this call and if we can get around it. The Tomcat developers are not calling stat anywhere in the code, but the underlying JVM code does, we just don't know where Filip - Original Message - From: David Rees [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Wednesday, July 28, 2004 11:08 AM Subject: Re: [Fwd: Re: Some benchs results : WAS: Invitation to HTTPD commiters in tomcat-dev] Remy Maucherat wrote, On 7/28/2004 7:54 AM: One thing I noticed when looking at Tomcat 5.0.x is that its default, static-file-delivering servlet does a stat(2) of each path prefix leading up to the file. A standard installation of Apache 2.x, with FollowSymlinks enabled, doesn't do these stat calls, for obvious performance reasons. Is the stat'ing of all the directories leading up to the requested file in Tomcat intentional (it *is* valuable in some environments for security purposes), or is it just a side-effect of the implementation? I really have no idea what this stuff means. stat is a Unix system call which retrives the status information of a file or directory. Each stat call can potentially hit the disk, so this can be a very expensive system call to make if you have deep directory trees and could explain some of the performance differences between Apache and Tomcat. -Dave - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_msg.c
[EMAIL PROTECTED] wrote: mturk 2004/07/28 09:13:41 Modified:ajp/ajplib/test ajp_msg.c Log: Use our error messages instead -1, -2, etc... AJP_Exxx should be filled in if needed. great, some up to date code so I could work on it after my day job :) Regards. PS: See the APR user error code, nice features :) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Dynamic updates and Apache v2.0
Henri Gomez wrote: Well using an URL could be a good idea, since it could be : - a static file, edited by admin, on the web-server or another web-server/tomcat - a dynamically generated file, PHP/JSP/Servlet/PERL, whatever. An URL is a logical solution, which leaves us with two choices: - A specific out-of-band URL predefined in httpd where httpd is told get your config regularly here. This URL could be served by tomcat, or any other server. - In-band hop-by-hop header information that is deployed with responses from the backend servers. This has the advantage of having httpd learn about the status of backends on an up to the minute basis on each hit. httpd will already use certain in-band info, like whether a request was successful or not, or how long the request took. I prefer the in-band approach, as it's consistent. As has been pointed out, BEA Weblogic does this with success, so admins out there will not find this a foreign concept. Regards, Graham -- smime.p7s Description: S/MIME Cryptographic Signature
cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_header.c
mturk 2004/07/28 09:34:22 Modified:ajp/ajplib/test ajp_header.c Log: Modify sc_for_req_method. It is exactly the same as Apache's lookup_builtin_method with added SC_M_SEARCH Revision ChangesPath 1.3 +166 -63 jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c Index: ajp_header.c === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ajp_header.c 28 Jul 2004 16:11:27 - 1.2 +++ ajp_header.c 28 Jul 2004 16:34:22 - 1.3 @@ -41,71 +41,174 @@ return rc; } +#define UNKNOWN_METHOD (-1) -static apr_status_t sc_for_req_method(const char *method, - unsigned char *sc) +static int sc_for_req_method(const char *method) { -apr_status_t rc = APR_SUCCESS; -if(0 == strcmp(method, GET)) { -*sc = SC_M_GET; -} else if(0 == strcmp(method, POST)) { -*sc = SC_M_POST; -} else if(0 == strcmp(method, HEAD)) { -*sc = SC_M_HEAD; -} else if(0 == strcmp(method, PUT)) { -*sc = SC_M_PUT; -} else if(0 == strcmp(method, DELETE)) { -*sc = SC_M_DELETE; -} else if(0 == strcmp(method, OPTIONS)) { -*sc = SC_M_OPTIONS; -} else if(0 == strcmp(method, TRACE)) { -*sc = SC_M_TRACE; -} else if(0 == strcmp(method, PROPFIND)) { -*sc = SC_M_PROPFIND; -} else if(0 == strcmp(method, PROPPATCH)) { -*sc = SC_M_PROPPATCH; -} else if(0 == strcmp(method, MKCOL)) { -*sc = SC_M_MKCOL; -} else if(0 == strcmp(method, COPY)) { -*sc = SC_M_COPY; -} else if(0 == strcmp(method, MOVE)) { -*sc = SC_M_MOVE; -} else if(0 == strcmp(method, LOCK)) { -*sc = SC_M_LOCK; -} else if(0 == strcmp(method, UNLOCK)) { -*sc = SC_M_UNLOCK; -} else if(0 == strcmp(method, ACL)) { -*sc = SC_M_ACL; -} else if(0 == strcmp(method, REPORT)) { -*sc = SC_M_REPORT; -} else if(0 == strcmp(method, VERSION-CONTROL)) { -*sc = SC_M_VERSION_CONTROL; -} else if(0 == strcmp(method, CHECKIN)) { -*sc = SC_M_CHECKIN; -} else if(0 == strcmp(method, CHECKOUT)) { -*sc = SC_M_CHECKOUT; -} else if(0 == strcmp(method, UNCHECKOUT)) { -*sc = SC_M_UNCHECKOUT; -} else if(0 == strcmp(method, SEARCH)) { -*sc = SC_M_SEARCH; -} else if(0 == strcmp(method, MKWORKSPACE)) { -*sc = SC_M_MKWORKSPACE; -} else if(0 == strcmp(method, UPDATE)) { -*sc = SC_M_UPDATE; -} else if(0 == strcmp(method, LABEL)) { -*sc = SC_M_LABEL; -} else if(0 == strcmp(method, MERGE)) { -*sc = SC_M_MERGE; -} else if(0 == strcmp(method, BASELINE-CONTROL)) { -*sc = SC_M_BASELINE_CONTROL; -} else if(0 == strcmp(method, MKACTIVITY)) { -*sc = SC_M_MKACTIVITY; -} else { -rc = APR_EGENERAL; +apr_ssize_t len = strlen(method); + +switch (len) +{ +case 3: +switch (method[0]) +{ +case 'P': +return (method[1] == 'U' + method[2] == 'T' +? SC_M_PUT : UNKNOWN_METHOD); +case 'G': +return (method[1] == 'E' + method[2] == 'T' +? SC_M_GET : UNKNOWN_METHOD); +case 'A': +return (method[1] == 'C' + method[2] == 'L' +? SC_M_ACL : UNKNOWN_METHOD); +default: +return UNKNOWN_METHOD; +} + +case 4: +switch (method[0]) +{ +case 'H': +return (method[1] == 'E' + method[2] == 'A' + method[3] == 'D' +? SC_M_HEAD : UNKNOWN_METHOD); +case 'P': +return (method[1] == 'O' + method[2] == 'S' + method[3] == 'T' +? SC_M_POST : UNKNOWN_METHOD); +case 'M': +return (method[1] == 'O' + method[2] == 'V' + method[3] == 'E' +? SC_M_MOVE : UNKNOWN_METHOD); +case 'L': +return (method[1] == 'O' + method[2] == 'C' + method[3] == 'K' +? SC_M_LOCK : UNKNOWN_METHOD); +case 'C': +return (method[1] == 'O' + method[2] == 'P' + method[3] == 'Y' +? SC_M_COPY : UNKNOWN_METHOD); +default: +return UNKNOWN_METHOD; +} + +case 5: +switch (method[2]) +
cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_header.c
jfclere 2004/07/28 09:39:19 Modified:ajp/ajplib/test ajp_header.c Log: Add the routine that builds and sends the header using informations from the request_rec structure. Revision ChangesPath 1.4 +34 -0 jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c Index: ajp_header.c === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ajp_header.c 28 Jul 2004 16:34:22 - 1.3 +++ ajp_header.c 28 Jul 2004 16:39:19 - 1.4 @@ -651,3 +651,37 @@ return APR_SUCCESS; } + +/* + * Build the ajp header message and send it + */ +apr_status_t ajp_send_header(apr_socket_t *sock, + request_rec *r) +{ +ajp_msg_t *msg; +apr_status_t rc; + +rc = ajp_msg_create(r-pool,msg); +if (rc != APR_SUCCESS) { +ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, + ajp_send_header: ajp_msg_create failed); +return rc; +} + +rc = ajp_marshal_into_msgb(msg,r); +if (rc != APR_SUCCESS) { +ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, + ajp_send_header: ajp_marshal_into_msgb failed); +return rc; +} + +rc = ajp_ilink_send(sock,msg); +if (rc != APR_SUCCESS) { +ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, + ajp_send_header: ajp_ilink_send failed); +return rc; +} + +rc = ajp_ilink_send(sock,msg); +return APR_SUCCESS; +} - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Dynamic updates and Apache v2.0
Graham Leggett wrote: Henri Gomez wrote: Well using an URL could be a good idea, since it could be : - a static file, edited by admin, on the web-server or another web-server/tomcat - a dynamically generated file, PHP/JSP/Servlet/PERL, whatever. An URL is a logical solution, which leaves us with two choices: - A specific out-of-band URL predefined in httpd where httpd is told get your config regularly here. This URL could be served by tomcat, or any other server. - In-band hop-by-hop header information that is deployed with responses from the backend servers. This has the advantage of having httpd learn about the status of backends on an up to the minute basis on each hit. httpd will already use certain in-band info, like whether a request was successful or not, or how long the request took. I prefer the in-band approach, as it's consistent. As has been pointed out, BEA Weblogic does this with success, so admins out there will not find this a foreign concept. +1 for X-Headers. Any other solution is IMO either too complicated at the moment or inadequate. We are already parsing headers from the backend so the information is inherently already there. All that is needed is to reed it, and update configuration accordingly. MT. smime.p7s Description: S/MIME cryptographic signature
Re: cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp.h
Hi Mladen, I've problems with my ugly compiler because of signed - unsigned char with buf: defined in ajp.h: struct ajp_msg { char * buf; apr_size_t headerLen; apr_size_t len; apr_size_t pos; int serverSide; }; and in ajp_masg.c line 88: apr_byte_t *head = msg-buf; should I cast these with apr_byte_t, or better change the struct? Guenter. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote Response.java
Bill, luehe 2004/07/27 17:43:17 Modified:coyote/src/java/org/apache/coyote Response.java Log: Fixed Bugtraq 6152759 (Default charset not included in Content-Type response header if no char encoding was specified). According to the Servlet 2.4 spec, calling: ServletResponse.setContentType(text/html); must yield these results: ServletResponse.getContentType() - text/html Content-Type response header - text/html;charset=ISO-8859-1 Notice the absence of a charset in the result of getContentType(), but its presence (set to the default ISO-8859-1) in the Content-Type response header. Tomcat is currently not including the default charset in the Content-Type response header if no char encoding was specified. -1. This gets us right back to the same old problem where we are sending back image/gif; charset=iso-8859-1, and nobody can read the response. yes, sorry, I had forgotten about that case. If we're not going to assume that the UA believes that the default encoding is iso-8859-1 (which is what we are doing now), I think the reason the spec added the requirement to clearly identify the encoding in all cases (when using a writer) was because many browsers let the user choose which encoding to apply to responses that don't declare their encoding, which will result in data corruption if the response was encoded in ISO-8859-1 and the user picks an incompatible encoding. then I'd suggest simply doing: setCharacterEncoding(getCharacterEncoding()); in Response.getWriter (since the spec only requires that we identify the charset when using a Writer, and we don't really know what it is when using OutputStream). The problem with this is that if you call getWriter() (with your proposed fix) followed by getContentType(), the returned content type will include a charset, which is against the spec of getContentType(): * If no character encoding has been specified, the * charset parameter is omitted. This is why we need to append the default charset to the value of the Content-Type header, if no char encoding has been specified. Jan This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_header.c
[EMAIL PROTECTED] jakarta-tomcat-connectors/ajp/ajplib/test ajp_header.c +rc = ajp_msg_create(r-pool,msg); Can we use Apache coding convention having one space after comma in function params? It won't IMO have a chance to get into httpd tree otherwise. I wanted to do that for JK2, but was always shut up, with the explanation that it doesn't matter at the moment :) MT. smime.p7s Description: S/MIME cryptographic signature
Re: cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_header.c
[EMAIL PROTECTED] wrote: mturk 2004/07/28 09:34:22 Modified:ajp/ajplib/test ajp_header.c Log: Modify sc_for_req_method. It is exactly the same as Apache's lookup_builtin_method with added SC_M_SEARCH Thanks. Mine was telling: +++ [Wed Jul 28 18:43:56 2004] [debug] ajp_header.c(239): Into ajp_marshal_into_msgb[Wed Jul 28 18:43:56 2004] [error] Error ajp_marshal_into_msgb - No such method GET [Wed Jul 28 18:43:56 2004] [error] ajp_send_header: ajp_marshal_into_msgb failed +++ It goes little futher but: +++ [Wed Jul 28 18:47:38 2004] [debug] ajp_header.c(342): Into ajp_marshal_into_msgb[Wed Jul 28 18:47:39 2004] [notice] child pid 3072 exit signal Segmentation fault (11), possible coredump in /home/apache20/apache20 +++ Something wrong in ajp_msg.c? +++ #0 0x08074bfd in ap_log_rerror ( file=0x402bcb00 ajp_msg_append_uint8(): BufferOverflowException %d %d, line=1076611840, level=3, status=1076611840, r=0x0, fmt=0x402bcb00 ajp_msg_append_uint8(): BufferOverflowException %d %d) at log.c:576 #1 0x402bb047 in ajp_msg_append_uint8 (msg=0x831cbf8, value=2 '\002') at ajp_msg.c:223 #2 0x402b9ebc in ajp_marshal_into_msgb (msg=0x831cbf8, r=0x83224a8) at ajp_header.c:361 #3 0x402ba73f in ajp_send_header (sock=0x831cd78, r=0x83224a8) at ajp_header.c:671 #4 0x402b82ef in ap_proxy_ajp_request (p=0x831c458, r=0x83224a8, p_conn=0x831cbf8, origin=0x831cf10, conf=0x8286598, uri=0x831cbc8, url=0x831cd68 /examples/, server_portstr=0xb4e0 :7779) at proxy_ajp.c:489 #5 0x402b943b in ap_proxy_ajp_handler (r=0x83224a8, conf=0x8286598, url=0x831cd68 /examples/, proxyname=0x0, proxyport=0) at proxy_ajp.c:1101 #6 0x4029d7e4 in proxy_run_scheme_handler (r=0x83224a8, conf=0x8286598, url=0x83237c6 ajp://pgtr0327.mch.fsc.net:8009/examples/, proxyhost=0x0, proxyport=0) at mod_proxy.c:1239 +++ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp.h
Günter Knauf wrote: Hi Mladen, Wrong guy, It is Henri's artwork :) I've problems with my ugly compiler because of signed - unsigned char with buf: defined in ajp.h: struct ajp_msg { char * buf; Henri, can we use byte for message buffer? MT. smime.p7s Description: S/MIME cryptographic signature
Re: [Fwd: Re: Some benchs results : WAS: Invitation to HTTPD commiters in tomcat-dev]
Filip Hanik - Dev wrote: The Java VM does this through file handling, we would have to find out where it issues this call and if we can get around it. The Tomcat developers are not calling stat anywhere in the code, but the underlying JVM code does, we just don't know where Ok. Well, I think there's no such thing, as the test was about a servlet. There's also a cache, so it won't go to the HD too often, but of course, I don't know how it really works. Also something to remember is that the HelloWorld example servlet is a very bad throughtput test: it has a very expensive i18n operation (it retrieves a resource bundle on each request), which Apache doesn't do. So it would be better to either test with a static file, or write a new servlet with the same output (minus i18n). It would be good to test with HEAD (the test was done with 3.3) to see if the stat issue occurs. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp.h ajp_header.c ajp_msg.c
jfclere 2004/07/28 09:57:26 Modified:ajp/ajplib/test ajp.h ajp_header.c ajp_msg.c Log: Otherwise we never get the address of the ajp_msg_t. Revision ChangesPath 1.8 +1 -1 jakarta-tomcat-connectors/ajp/ajplib/test/ajp.h Index: ajp.h === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- ajp.h 28 Jul 2004 16:10:03 - 1.7 +++ ajp.h 28 Jul 2004 16:57:25 - 1.8 @@ -264,7 +264,7 @@ * @param rmsg Pointer to newly created AJP message * @return APR_SUCCESS or error */ -apr_status_t ajp_msg_create(apr_pool_t *pool, ajp_msg_t *rmsg); +apr_status_t ajp_msg_create(apr_pool_t *pool, ajp_msg_t **rmsg); /** * Recopy an AJP Message to another 1.5 +1 -1 jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c Index: ajp_header.c === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ajp_header.c 28 Jul 2004 16:39:19 - 1.4 +++ ajp_header.c 28 Jul 2004 16:57:25 - 1.5 @@ -661,7 +661,7 @@ ajp_msg_t *msg; apr_status_t rc; -rc = ajp_msg_create(r-pool,msg); +rc = ajp_msg_create(r-pool,msg); if (rc != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, ajp_send_header: ajp_msg_create failed); 1.6 +2 -2 jakarta-tomcat-connectors/ajp/ajplib/test/ajp_msg.c Index: ajp_msg.c === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp_msg.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ajp_msg.c 28 Jul 2004 16:13:40 - 1.5 +++ ajp_msg.c 28 Jul 2004 16:57:25 - 1.6 @@ -506,7 +506,7 @@ * @param rmsg Pointer to newly created AJP message * @return APR_SUCCESS or error */ -apr_status_t ajp_msg_create(apr_pool_t *pool, ajp_msg_t *rmsg) +apr_status_t ajp_msg_create(apr_pool_t *pool, ajp_msg_t **rmsg) { ajp_msg_t *msg = (ajp_msg_t *)apr_pcalloc(pool, sizeof(ajp_msg_t)); @@ -528,7 +528,7 @@ msg-len = 0; msg-headerLen = AJP_HEADER_LEN; -rmsg = msg; +*rmsg = msg; return APR_SUCCESS; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote Response.java
Jan Luehe wrote: Bill, then I'd suggest simply doing: setCharacterEncoding(getCharacterEncoding()); in Response.getWriter (since the spec only requires that we identify the charset when using a Writer, and we don't really know what it is when using OutputStream). The problem with this is that if you call getWriter() (with your proposed fix) followed by getContentType(), the returned content type will include a charset, which is against the spec of getContentType(): * If no character encoding has been specified, the * charset parameter is omitted. This is why we need to append the default charset to the value of the Content-Type header, if no char encoding has been specified. This is not acceptable, and is not an option, so you shouldn't be using we need, because we won't ;) The right solution is IMO to point out the issues to the specification people. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Bill is a spammer
Bill Barker wrote: This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. Because of that (I assume), a lot of Bill's email were considered spam by Thunderbird ;) Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 29836] - Problems with EBCDIC host
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=29836. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=29836 Problems with EBCDIC host --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 17:01 --- The Admin webapp uses URLEncoder.encode in many many places ;( It's not a one- line switch. And for now we must stay compatible with JDK 1.3, so we should use o.a.c.u.URLEncoder as a bean. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 28207] - Internal Entity Declarations
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=28207. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=28207 Internal Entity Declarations --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 17:05 --- Any progress on this? It's been a few months and a few Tomcat releases... ;) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Processor.java
Remy, Remy Maucherat wrote: Remy Maucherat wrote: Cool. So after all the efforts I'm doing to optimize, you casually add GC, because the servlet API is completely stupid ? So -1 for your patch: you need to rework it. I also didn't read all that funny stuff in the specification, so where does it come from ? ;) I thought about it some more, and in addition to the performance problem, it would lead to adding charset even for binaries. We already found out that this way very bad (in addition to being meaningless, it breaks some clients such as Acrobat which simply does a check on the MIME type without removing the charset, which is rather logical since they're dealing with binaries) - this was some unintended behavior in some 4.1.x release (if I remember well, it was introduced by you already: you do like charset related issues ;) ). yes, sorry, I had forgotten about that case. Believe, I didn't commit yesterday's patch simply because I don't have anything better to do. It's come up as a compliance issue which had been masked by an unrelated problem that was fixed. So what I suggest is that you send that you send that as feedback to the servlet API, and that they put a small errata for the specification. -1 for implementing the requirements of the specificatrion (although I can't find them anywhere ;) ) to the letter right now, as they are broken (I didn't dislike the previous behavior, so I want it to remain). ServletResponse.setCharacterEncoding/setContentType/setLocale... * pContainers must communicate the character encoding used for * the servlet response's writer to the client if the protocol * provides a way for doing so. In the case of HTTP, the character * encoding is communicated as part of the codeContent-Type/code * header for text media types. Note that the character encoding * cannot be communicated via HTTP headers if the servlet does not * specify a content type; however, it is still used to encode text * written via the servlet response's writer. Reason: Many browsers let the user choose which encoding to apply to responses that don't declare their encoding, which will result in data corruption if the response was encoded in ISO-8859-1 and the user picks an incompatible encoding. ServletResponse.getContentType...: * If no character encoding has been specified, the * charset parameter is omitted. Reason: Allow setLocale() to set the response's char encoding (corresponding to the locale) if the char encoding has not already been set by setContentType() or setCharacterEncoding(). You can find corresponding wordings in the servlet spec. Therefore, we need to add a charset to the Content-Type response header if: - no response encoding has been specified (ie., the return value of ServletResponse.getContentType() has no charset), and - the response is using a writer My patch did not check for the latter. Jan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_header.c
Mladen Turk wrote: [EMAIL PROTECTED] jakarta-tomcat-connectors/ajp/ajplib/test ajp_header.c +rc = ajp_msg_create(r-pool,msg); Can we use Apache coding convention having one space after comma in function params? Oops, I have done lot of those... I will fix them tomorrow. It won't IMO have a chance to get into httpd tree otherwise. I wanted to do that for JK2, but was always shut up, with the explanation that it doesn't matter at the moment :) MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_header.c
jean-frederic clere wrote: [EMAIL PROTECTED] wrote: mturk 2004/07/28 09:34:22 Modified:ajp/ajplib/test ajp_header.c Log: Modify sc_for_req_method. It is exactly the same as Apache's lookup_builtin_method with added SC_M_SEARCH Thanks. Mine was telling: +++ [Wed Jul 28 18:43:56 2004] [debug] ajp_header.c(239): Into ajp_marshal_into_msgb[Wed Jul 28 18:43:56 2004] [error] Error ajp_marshal_into_msgb - No such method GET [Wed Jul 28 18:43:56 2004] [error] ajp_send_header: ajp_marshal_into_msgb failed +++ It goes little futher but: +++ [Wed Jul 28 18:47:38 2004] [debug] ajp_header.c(342): Into ajp_marshal_into_msgb[Wed Jul 28 18:47:39 2004] [notice] child pid 3072 exit signal Segmentation fault (11), possible coredump in /home/apache20/apache20 +++ Something wrong in ajp_msg.c? Yes and now I think I have fixed it ;-) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp.h ajp_header.c ajp_msg.c
[EMAIL PROTECTED] commited: jakarta-tomcat-connectors/ajp/ajplib/test ajp.h ajp_header.c ajp_msg.c One question. In ajp_send_header you are calling twice the ajp_ilink_send(sock,msg); First checking rv, and second not. Copy/paste ? MT. smime.p7s Description: S/MIME cryptographic signature
DO NOT REPLY [Bug 29923] - localized resources for example servlets in Portuguese
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=29923. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=29923 localized resources for example servlets in Portuguese --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 17:18 --- I requested on tomcat-dev that someone with jakarta-servletapi-5 commit this. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Processor.java
Jan Luehe wrote: yes, sorry, I had forgotten about that case. Believe, I didn't commit yesterday's patch simply because I don't have anything better to do. It's come up as a compliance issue which had been masked by an unrelated problem that was fixed. I thought the issue caused enough trouble last time ;) I remember we got a huge amount of bug reports on that. So what I suggest is that you send that you send that as feedback to the servlet API, and that they put a small errata for the specification. ServletResponse.setCharacterEncoding/setContentType/setLocale... * pContainers must communicate the character encoding used for * the servlet response's writer to the client if the protocol * provides a way for doing so. In the case of HTTP, the character * encoding is communicated as part of the codeContent-Type/code * header for text media types. Note that the character encoding * cannot be communicated via HTTP headers if the servlet does not * specify a content type; however, it is still used to encode text * written via the servlet response's writer. Reason: Many browsers let the user choose which encoding to apply to responses that don't declare their encoding, which will result in data corruption if the response was encoded in ISO-8859-1 and the user picks an incompatible encoding. The user can still manually override the charset on its client if it wants to do so. I don't see how the specified behavior fixes anything. ServletResponse.getContentType...: * If no character encoding has been specified, the * charset parameter is omitted. Reason: Allow setLocale() to set the response's char encoding (corresponding to the locale) if the char encoding has not already been set by setContentType() or setCharacterEncoding(). You can find corresponding wordings in the servlet spec. Therefore, we need to add a charset to the Content-Type response header if: - no response encoding has been specified (ie., the return value of ServletResponse.getContentType() has no charset), and - the response is using a writer My patch did not check for the latter. Well, this would be a big improvement already (the implementation is inefficient, also, but either Bill or me can rework it). People who wanted to generate PDFs from JSPs had trouble (but it made sense), now it'll be worse. This doesn't seem very useable overall. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp.h ajp_header.c ajp_msg.c
Mladen Turk wrote: [EMAIL PROTECTED] commited: jakarta-tomcat-connectors/ajp/ajplib/test ajp.h ajp_header.c ajp_msg.c One question. In ajp_send_header you are calling twice the ajp_ilink_send(sock,msg); First checking rv, and second not. Copy/paste ? Oops, that may why the Tomcat is not happy with what I am sending to him. MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/ajp/ajplib/test ajp_header.c
jfclere 2004/07/28 10:25:22 Modified:ajp/ajplib/test ajp_header.c Log: Fix the coding style errors and the extra ajp_ilink_send. Thanks!!! Revision ChangesPath 1.6 +11 -12jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c Index: ajp_header.c === RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ajp_header.c 28 Jul 2004 16:57:25 - 1.5 +++ ajp_header.c 28 Jul 2004 17:25:22 - 1.6 @@ -564,7 +564,7 @@ apr_uint16_t num_headers; int i; -rc = ajp_msg_get_uint16(msg,status); +rc = ajp_msg_get_uint16(msg, status); if (rc != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, @@ -573,9 +573,9 @@ } r-status = status; -rc = ajp_msg_get_string(msg,ptr); +rc = ajp_msg_get_string(msg, ptr); if (rc == APR_SUCCESS) { -r-status_line = apr_pstrdup(r-connection-pool,ptr); +r-status_line = apr_pstrdup(r-connection-pool, ptr); #if defined(AS400) || defined(_OSD_POSIX) ap_xlate_proto_from_ascii(r-status_line, strlen(r-status_line)); #endif @@ -586,9 +586,9 @@ ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r-server, ajp_unmarshal_response: status = %d, status); -rc = ajp_msg_get_uint16(msg,num_headers); +rc = ajp_msg_get_uint16(msg, num_headers); if (rc == APR_SUCCESS) { -r-headers_out = apr_table_make(r-pool,num_headers); +r-headers_out = apr_table_make(r-pool, num_headers); } else { r-headers_out = NULL; num_headers = 0; @@ -620,7 +620,7 @@ return APR_EGENERAL; } } else { -rc = ajp_msg_get_string(msg,stringname); +rc = ajp_msg_get_string(msg, stringname); if (rc != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, Error ajp_unmarshal_response - @@ -632,7 +632,7 @@ #endif } -rc = ajp_msg_get_string(msg,value); +rc = ajp_msg_get_string(msg, value); if (rc != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, Error ajp_unmarshal_response - @@ -641,7 +641,7 @@ } #if defined(AS400) || defined(_OSD_POSIX) -ap_xlate_proto_from_ascii(value,strlen(value)); +ap_xlate_proto_from_ascii(value, strlen(value)); #endif ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, ajp_unmarshal_response: Header[%d] [%s] = [%s]\n, @@ -661,27 +661,26 @@ ajp_msg_t *msg; apr_status_t rc; -rc = ajp_msg_create(r-pool,msg); +rc = ajp_msg_create(r-pool, msg); if (rc != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, ajp_send_header: ajp_msg_create failed); return rc; } -rc = ajp_marshal_into_msgb(msg,r); +rc = ajp_marshal_into_msgb(msg, r); if (rc != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, ajp_send_header: ajp_marshal_into_msgb failed); return rc; } -rc = ajp_ilink_send(sock,msg); +rc = ajp_ilink_send(sock, msg); if (rc != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, r-server, ajp_send_header: ajp_ilink_send failed); return rc; } -rc = ajp_ilink_send(sock,msg); return APR_SUCCESS; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/webapps/docs changelog.xml
yoavs 2004/07/28 10:26:03 Modified:catalina/src/share/org/apache/catalina/ssi SSIServlet.java webapps/docs changelog.xml Log: Addressed Bugzilla 30144, SSIServlet MIME type. Revision ChangesPath 1.7 +6 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java Index: SSIServlet.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- SSIServlet.java 27 Feb 2004 14:58:47 - 1.6 +++ SSIServlet.java 28 Jul 2004 17:26:03 - 1.7 @@ -164,7 +164,11 @@ return; } -res.setContentType(text/html;charset=UTF-8); +String resourceMimeType = servletContext.getMimeType(path); +if(resourceMimeType == null) { + resourceMimeType = text/html;charset=UTF-8; +} +res.setContentType(resourceMimeType); if (expires != null) { res.setDateHeader(Expires, ( 1.82 +3 -0 jakarta-tomcat-catalina/webapps/docs/changelog.xml Index: changelog.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/changelog.xml,v retrieving revision 1.81 retrieving revision 1.82 diff -u -r1.81 -r1.82 --- changelog.xml 28 Jul 2004 15:49:19 - 1.81 +++ changelog.xml 28 Jul 2004 17:26:03 - 1.82 @@ -46,6 +46,9 @@ fix bug30325/bug: Only set CATALINA_HOME if not already set (in bin/catalina.sh). (yoavs) /fix + fix +bug30144/bug: Made SSIServlet check resource MimeType before using text/html and UTF-8 default. (yoavs) + /fix /changelog /subsection - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 30144] - res.setContentType in SSIServlet.java line 167
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=30144. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=30144 res.setContentType in SSIServlet.java line 167 [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2004-07-28 17:27 --- It's not a problem, but a decent thing to fix anyways. I made it check the resource MIME type first, and use it if found, otherwise use text/html and UTF- 8 as the default. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]