Bug report for Tomcat 5 [2007/06/17]

2007-06-17 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=CriticalMAJ=Major |
| |   |   MIN=Minor   NOR=Normal  ENH=Enhancement   |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
| 2500|Opn|Min|2001-07-08|FileNotFoundException from service() unintentional|
|27122|Opn|Enh|2004-02-20|IE plugins cannot access components through Tomcat|
|28039|Opn|Enh|2004-03-30|Cluster Support for SingleSignOn  |
|29160|Ver|Enh|2004-05-23|precompile problem: _jspx_meth_* (javax.servlet.js|
|29494|Inf|Enh|2004-06-10|No way to set PATH when running as a service on Wi|
|29936|Opn|Blk|2004-07-06|XML parser loading problems by container  |
|30241|Ver|Enh|2004-07-21|Enhance build script to use branch argument when c|
|30949|Opn|Nor|2004-08-30|After Failed Include, Request and Response not Unw|
|33262|Inf|Enh|2005-01-27|Service Manager autostart should check for adminis|
|33453|Opn|Enh|2005-02-08|Jasper should recompile JSP files whose datestamps|
|33650|Inf|Enh|2005-02-19|Jasper performance for multiple files processing  |
|33671|Opn|Enh|2005-02-21|Manual Windows service installation with custom na|
|34801|New|Enh|2005-05-08|PATCH: CGIServlet does not terminate child after a|
|34805|Ass|Enh|2005-05-08|warn about invalid security constraint url pattern|
|34868|Ass|Enh|2005-05-11|allow to register a trust store for a session that|
|35054|Inf|Enh|2005-05-25|warn if appBase is not existing as a File or direc|
|35869|Inf|Enh|2005-07-26|Can't run as a service on Windows Server 2003 64-B|
|35941|Opn|Cri|2005-07-30|Wrong remote IP reported when using AJP and APR   |
|36121|Opn|Maj|2005-08-10|Including JSP's changes working directory |
|36133|Inf|Enh|2005-08-10|Support JSS SSL implementation|
|36169|New|Enh|2005-08-12|[PATCH] Enable chunked encoding for IIS JK connect|
|36362|New|Enh|2005-08-25|missing check for Java reserved keywords in tag fi|
|36540|Inf|Enh|2005-09-07|pooled cluster replication does not seem ensure sy|
|36569|Inf|Enh|2005-09-09|Redirects produce illegal URL's   |
|36837|Inf|Enh|2005-09-28|Looking for ProxyHandler implementation of Http re|
|36922|Inf|Enh|2005-10-04|setup.sh file mis-advertised and missing  |
|36923|New|Nor|2005-10-05|Deactivated EL expressions are not parsed for jsp |
|37018|Ass|Enh|2005-10-11|Document how to use tomcat-SSL with a pkcs11 token|
|37072|Ass|Nor|2005-10-13|Encoding mismatch in error condition  |
|37084|Opn|   |2005-10-14|JspC from ant fails on JSPs that use custom taglib|
|37326|Ass|Nor|2005-11-01|No error reported when  has non-exist|
|37334|Inf|Enh|2005-11-02|Realm digest property not aligned with the adminis|
|37449|Opn|Enh|2005-11-10|Two UserDatabaseRealm break manager user  |
|37485|Inf|Enh|2005-11-14|I'd like to run init SQL after JDBC Connection cre|
|37498|Inf|Nor|2005-11-14|[PATCH] NPE in org.apache.catalina.core.ContainerB|
|37515|Inf|Nor|2005-11-15|smap not generated by JspC when used from Ant for |
|37627|Opn|Nor|2005-11-24|Slow and incomplete dynamic content generation aft|
|37785|Inf|Nor|2005-12-05|Changing startup type via Tomcat Monitor does not |
|37794|Opn|Nor|2005-12-05|getParameter() fails on POST with transfer-encodin|
|37797|Inf|Maj|2005-12-05|Configure Tomcat utility truncates classpath to 96|
|37822|Opn|Nor|2005-12-07|WebappClassLoader interfering with Catalina core c|
|37834|Ass|Nor|2005-12-08|compressableMimeTypes not working properly|
|37847|Ass|Enh|2005-12-09|Allow User To Optionally Specify Catalina Output F|
|37869|Opn|Nor|2005-12-12|Cannot obtain client certificate with SSL / client|
|37918|Inf|Nor|2005-12-15|EL cannot find valid getter from object when using|
|37984|New|Nor|2005-12-21|JNDIRealm.java not able to handle MD5 password|
|38001|Inf|Nor|2005-12-22|TruncatedClassFile when loadind applets   |
|38046|Ass|   |2005-12-27|apache-tomcat-5.5.14-deployer doesn't work (Illega|
|38131|Inf|Enh|2006-01-05|WatchedResource does not work if app is outside "w|
|38216|Inf|Enh|2006-01-10|Extend Jmxproxy to allow call of MBean Operations |
|38268|Inf|Enh|2006-01-13|User friendly: Need submit button on adding/deleti|
|38290|Inf|Nor|2006-

Bug report for Watchdog [2007/06/17]

2007-06-17 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=CriticalMAJ=Major |
| |   |   MIN=Minor   NOR=Normal  ENH=Enhancement   |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
|  278|Unc|Nor|2000-12-04|Bug in GetParameterValuesTestServlet.java file Bug|
|  279|Unc|Nor|2000-12-04|Logical Error in GetParameterValuesTestServlet Bug|
|  469|Unc|Nor|2001-01-17|in example-taglib.tld "urn" should be "uri" BugRat|
|  470|Unc|Nor|2001-01-17|FAIL positiveForward.jsp and positiveInclude.jsp B|
| 9634|New|Enh|2002-06-05|No tests exist for ServletContext.getResourcePaths|
|10703|New|Enh|2002-07-11|Need to test getRequestURI after RequestDispatcher|
|11336|New|Enh|2002-07-31|Test wrapped path methods with RD.foward()|
|11663|New|Maj|2002-08-13|JSP precompile tests rely on Jasper specific behav|
|11664|New|Maj|2002-08-13|A sweep is needed of all Watchdog 4.0 tag librarie|
|11665|New|Maj|2002-08-13|ServletToJSPErrorPageTest and ServletToServletErro|
|11666|New|Maj|2002-08-13|SetBufferSize_1TestServlet is invalid.|
|14004|New|Maj|2002-10-28|Incorrent behaviour of all attribute-related lifec|
|15504|New|Nor|2002-12-18|JSP positiveGetValues test relies on order preserv|
|24649|New|Nor|2003-11-12|getRemoteHost fails when agent has uppercase chara|
|29398|New|Nor|2004-06-04|Update site and note current status   |
+-+---+---+--+--+
| Total   15 bugs   |
+---+

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Bug report for Tomcat 4 [2007/06/17]

2007-06-17 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=CriticalMAJ=Major |
| |   |   MIN=Minor   NOR=Normal  ENH=Enhancement   |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
| 3839|Opn|Enh|2001-09-26|Problem bookmarking login page|
| 4227|Opn|Enh|2001-10-17|Invalid CGI path  |
| 5329|New|Enh|2001-12-08|NT Service exits startup before Tomcat is finished|
| 5795|New|Enh|2002-01-10|Catalina Shutdown relies on localhost causing prob|
| 5829|New|Enh|2002-01-13|StandardManager needs to cope with sessions throwi|
| 5985|New|Enh|2002-01-23|Tomcat should perform a more restrictive validatio|
| 6600|Opn|Enh|2002-02-20|enodeURL adds 'jsession' when 'isRequestedSessionI|
| 6614|New|Enh|2002-02-21|Have Bootstrap and StandardClassLoader use the sam|
| 6671|New|Enh|2002-02-25|Simple custom tag example uses old declaration sty|
| 7043|New|Enh|2002-03-12|database user and password for JDBC Based Store   |
| 7374|New|Enh|2002-03-22|Apache Tomcat/4.0.1 message on standard output|
| 7676|New|Enh|2002-04-02|Allow name property to use match experssions in  without className in server.xml produces N|
|11069|Opn|Enh|2002-07-23|Tomcat not flag error if tld is outside of /WEB-IN|
|11129|New|Enh|2002-07-24|New valve for putting the sessionIDs in the reques|
|11248|New|Enh|2002-07-29|DefaultServlet doesn't send expires header|
|11754|Opn|Enh|2002-08-15|Synchronous shutdown script - shutdown.sh should w|
|12069|New|Enh|2002-08-27|Creation of more HttpSession objects for one previ|
|12428|Opn|Enh|2002-09-09|request.getUserPrincipal(): Misinterpretation of s|
|12658|New|Enh|2002-09-15|a proxy host and port at the  element level |
|12766|New|Enh|2002-09-18|Tomcat should use tld files in /WEB-INF/ over vers|
|13309|Opn|Enh|2002-10-04|Catalina calls System.exit()  |
|13634|New|Enh|2002-10-15|Allowing system properties to be substituted in co|
|13689|Opn|Enh|2002-10-16|Classloader paths for 'Common' classes and librari|
|13731|New|Enh|2002-10-17|Final request, response, session and other variabl|
|13941|New|Enh|2002-10-24|reload is VERY slow   |
|13965|New|Enh|2002-10-25|Catalina.sh correction request for Tru64 Unix |
|14097|New|Enh|2002-10-30|hardcoded registry value for vm lets tomcat servic|
|14416|New|Enh|2002-11-10|blank tag name in TLD cause NullPointerException  |
|14635|New|Enh|2002-11-18|Should be possible not to have -MM-DD in log f|
|14766|New|Enh|2002-11-22|Redirect Vavle|
|14993|New|Enh|2002-12-02|Possible obselete synchronized declaration|
|15115|New|Enh|2002-12-05|correct docs... XML parser *cannot* be overridden |
|15417|Opn|Enh|2002-12-16|Add port for forced compilation of JSP pages  |
|15688|New|Enh|2002-12-27|full-qualified names instead of imports   |
|15941|New|Enh|2003-01-10|Expose rootCause exceptions at deeper levels  |
|16294|New|Enh|2003-01-21|Configurable URL Decoding.|
|16357|New|Enh|2003-01-23|"connection timeout reached"  |
|16531|New|Enh|2003-01-29|Updating already deployed ".war" files in a single|
|16579|New|Enh|2003-01-30|documentation page layout/style breaks wrapping to|
|16596|New|Enh|2003-01-30|option for disabling log rotation |
|17070|New|Enh|2003-02-14|The Catalina Ant tasks do not allow for 'reusable'|
|17146|New|Enh|2003-02-18|Simplify build.xml using 

Bug report for Tomcat 3 [2007/06/17]

2007-06-17 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=CriticalMAJ=Major |
| |   |   MIN=Minor   NOR=Normal  ENH=Enhancement   |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
| 2350|Ver|Nor|2001-06-27|ServletConfig.getInitParameter() requires url-patt|
| 5331|Ass|Nor|2001-12-09|getPathInfo vs URL normalization  |
| 6027|Inf|Maj|2002-01-25|Tomcat  Automatically shuts down as service   |
| 6488|Ver|Maj|2002-02-15|Error: 304. Apparent bug in default ErrorHandler c|
| 7785|Inf|Blk|2002-04-06|tomcat bug in context reloading   |
| 7863|Inf|Maj|2002-04-09|I have a problem when running Tomcat with IIS |
| 8187|Inf|Cri|2002-04-17|Errors when Tomcat used with MS Access database   |
| 9737|Ver|Nor|2002-06-10|ArrayIndexOutOfBoundsException when sending just p|
|10047|Ass|Cri|2002-06-20|IllegalStateException |
|10406|Ass|Cri|2002-07-02|IllegalStateException |
|11087|Inf|Blk|2002-07-23|IllegalStateException |
|12156|Inf|Cri|2002-08-29|Apache and Tomcat 3.3.1 Interworking problem  |
|16363|Ass|Cri|2003-01-23|Stack Overflow accessing compiled JSP - Tomcat 3.2|
|39250|Inf|Cri|2006-04-07|Tomcat 3.2.1 + JDK 1.4|
+-+---+---+--+--+
| Total   14 bugs   |
+---+

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 42608] - Invalid Content-Length error for the binary file size greater than 2.1GB

2007-06-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=42608


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |ASSIGNED




--- Additional Comments From [EMAIL PROTECTED]  2007-06-17 21:26 ---
I'm also in it, but didn't yet test my patch. It will use jk_uint64_t anf the
apache parts are not very far away from your patch.

I will commit after my tests, but then we will still need to test the Windows
and IIS+Netscape parts.


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r548160 - /tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c

2007-06-17 Thread markt
Author: markt
Date: Sun Jun 17 18:41:32 2007
New Revision: 548160

URL: http://svn.apache.org/viewvc?view=rev&rev=548160
Log:
Fix compilation error under VS6.

Modified:
tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c

Modified: tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c?view=diff&rev=548160&r1=548159&r2=548160
==
--- tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c (original)
+++ tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c Sun Jun 17 18:41:32 
2007
@@ -517,10 +517,10 @@
 static int init_ws_service(apache_private_data_t * private_data,
jk_ws_service_t *s, jk_server_conf_t * conf)
 {
+int size;
 request_rec *r = private_data->r;
 char *ssl_temp = NULL;
 s->route = NULL;/* Used for sticky session routing */
-int size;
 
 /* Copy in function pointers (which are really methods) */
 s->start_response = ws_start_response;



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r548159 - in /tomcat/connectors/trunk/jk/native: apache-1.3/mod_jk.dsp apache-2.0/mod_jk.dsp

2007-06-17 Thread markt
Author: markt
Date: Sun Jun 17 18:36:58 2007
New Revision: 548159

URL: http://svn.apache.org/viewvc?view=rev&rev=548159
Log:
Add new source files to VS6 projects

Modified:
tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.dsp
tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.dsp

Modified: tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.dsp
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.dsp?view=diff&rev=548159&r1=548158&r2=548159
==
--- tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.dsp (original)
+++ tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.dsp Sun Jun 17 18:36:58 
2007
@@ -42,8 +42,8 @@
 # PROP Intermediate_Dir "Release"
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /Oy- /Zi /D "WIN32" /D "NDEBUG" /D 
"_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MOD_JK_EXPORTS" /FD /c
-# ADD CPP /nologo /MD /W3 /O2 /Oy- /Zi /I "..\common" /I 
"$(APACHE1_HOME)\include" /I "$(APACHE1_HOME)\src\include" /I 
"$(APACHE1_HOME)\src\os\win32" /I "$(JAVA_HOME)\include" /I 
"$(JAVA_HOME)\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D 
"_USRDLL" /D "MOD_JK_EXPORTS" /Fd"Release\mod_jk_src" /FD /c
+# ADD BASE CPP /nologo /MD /W3 /Zi /O2 /Oy- /D "WIN32" /D "NDEBUG" /D 
"_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MOD_JK_EXPORTS" /FD /c
+# ADD CPP /nologo /MD /W3 /Zi /O2 /Oy- /I "..\common" /I 
"$(APACHE1_HOME)\include" /I "$(APACHE1_HOME)\src\include" /I 
"$(APACHE1_HOME)\src\os\win32" /I "$(JAVA_HOME)\include" /I 
"$(JAVA_HOME)\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D 
"_USRDLL" /D "MOD_JK_EXPORTS" /Fd"Release\mod_jk_src" /FD /c
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
@@ -164,6 +164,10 @@
 # End Source File
 # Begin Source File
 
+SOURCE=..\common\jk_url.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\common\jk_util.c
 # End Source File
 # Begin Source File
@@ -265,6 +269,10 @@
 # Begin Source File
 
 SOURCE=..\common\jk_uri_worker_map.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\common\jk_url.h
 # End Source File
 # Begin Source File
 

Modified: tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.dsp
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.dsp?view=diff&rev=548159&r1=548158&r2=548159
==
--- tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.dsp (original)
+++ tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.dsp Sun Jun 17 18:36:58 
2007
@@ -42,8 +42,8 @@
 # PROP Intermediate_Dir "Release"
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /Oy- /Zi /D "WIN32" /D "NDEBUG" /D 
"_WINDOWS" /FD /c
-# ADD CPP /nologo /MD /W3 /O2 /Oy- /Zi /I "..\common" /I 
"$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /I 
"$(APACHE2_HOME)\include" /I "$(APACHE2_HOME)\srclib\apr\include" /I 
"$(APACHE2_HOME)\srclib\apr-util\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" 
/D "HAVE_APR" /Fd"Release/mod_jk_src" /FD /c
+# ADD BASE CPP /nologo /MD /W3 /Zi /O2 /Oy- /D "WIN32" /D "NDEBUG" /D 
"_WINDOWS" /FD /c
+# ADD CPP /nologo /MD /W3 /Zi /O2 /Oy- /I "..\common" /I 
"$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /I 
"$(APACHE2_HOME)\include" /I "$(APACHE2_HOME)\srclib\apr\include" /I 
"$(APACHE2_HOME)\srclib\apr-util\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" 
/D "HAVE_APR" /Fd"Release/mod_jk_src" /FD /c
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
@@ -164,6 +164,10 @@
 # End Source File
 # Begin Source File
 
+SOURCE=..\common\jk_url.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\common\jk_util.c
 # End Source File
 # Begin Source File
@@ -269,6 +273,10 @@
 # Begin Source File
 
 SOURCE=..\common\jk_uri_worker_map.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\common\jk_url.h
 # End Source File
 # Begin Source File
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r548156 - in /tomcat/connectors/trunk/jk/native: apache-1.3/ apache-2.0/ iis/ netscape/

2007-06-17 Thread markt
Author: markt
Date: Sun Jun 17 18:34:16 2007
New Revision: 548156

URL: http://svn.apache.org/viewvc?view=rev&rev=548156
Log:
Update ignored files

Modified:
tomcat/connectors/trunk/jk/native/apache-1.3/   (props changed)
tomcat/connectors/trunk/jk/native/apache-2.0/   (props changed)
tomcat/connectors/trunk/jk/native/iis/   (props changed)
tomcat/connectors/trunk/jk/native/netscape/   (props changed)

Propchange: tomcat/connectors/trunk/jk/native/apache-1.3/
--
--- svn:ignore (original)
+++ svn:ignore Sun Jun 17 18:34:16 2007
@@ -4,3 +4,9 @@
 *.o
 *.lo
 *.la
+Release
+Debug
+*.dsw
+*.ncb
+*.opt
+*.plg

Propchange: tomcat/connectors/trunk/jk/native/apache-2.0/
--
--- svn:ignore (original)
+++ svn:ignore Sun Jun 17 18:34:16 2007
@@ -5,3 +5,9 @@
 *.lo
 *.la
 *.slo
+Release
+Debug
+*.dsw
+*.ncb
+*.opt
+*.plg

Propchange: tomcat/connectors/trunk/jk/native/iis/
--
--- svn:ignore (added)
+++ svn:ignore Sun Jun 17 18:34:16 2007
@@ -0,0 +1,5 @@
+Debug
+Release
+*.ncb
+*.opt
+*.plg

Propchange: tomcat/connectors/trunk/jk/native/netscape/
--
--- svn:ignore (added)
+++ svn:ignore Sun Jun 17 18:34:16 2007
@@ -0,0 +1,6 @@
+Debug
+nsapi_debug
+*.dsw
+*.ncb
+*.opt
+*.plg



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r548155 - /tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c

2007-06-17 Thread markt
Author: markt
Date: Sun Jun 17 18:27:46 2007
New Revision: 548155

URL: http://svn.apache.org/viewvc?view=rev&rev=548155
Log:
Fix compiler warnings. Remove unused local variable.

Modified:
tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c

Modified: tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c?view=diff&rev=548155&r1=548154&r2=548155
==
--- tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c (original)
+++ tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c Sun Jun 17 18:27:46 
2007
@@ -975,7 +975,6 @@
   void *dummy, const char *worker_file)
 {
 server_rec *s = cmd->server;
-struct stat statbuf;
 
 jk_server_conf_t *conf =
 (jk_server_conf_t *) ap_get_module_config(s->module_config,
@@ -1008,7 +1007,6 @@
  void *dummy, const char *mount_file)
 {
 server_rec *s = cmd->server;
-struct stat statbuf;
 
 jk_server_conf_t *conf =
 (jk_server_conf_t *) ap_get_module_config(s->module_config,



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 42608] - Invalid Content-Length error for the binary file size greater than 2.1GB

2007-06-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=42608





--- Additional Comments From [EMAIL PROTECTED]  2007-06-17 15:04 ---
(In reply to comment #7)
> Created an attachment (id=20361)
 --> (http://issues.apache.org/bugzilla/attachment.cgi?id=20361&action=view) 
[edit]
> Rough patch for http 2.2.x only
> mod_proxy_ajp is now fine with POSTs > 2GB
> mod_jk fails to send any content for POSTs > 2GB
> I have attached a patch that fixes mod_jk for me but:
> - it only fixes this for httpd 2.2.x
> - I haven't looked at any of the other servers
> - I don't trust my c coding skills enough to commit it
> Hopefully, one of the mod_jk folks will pick this up and turn it into a
> reasonable patch.


It won't compile for httpd 1.3.x or IIS.  But it looks like a 
s/apr_off_t/jk_uint64_t/g should turn into a resonable patch.

Quibbles:  
1) The jk_ajp12_worker.c is no longer supported, so that one can be dropped 
(but it is harmless to include it).
2) There look like there are a couple of tab-to-space problems in the patch.


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 42608] - Invalid Content-Length error for the binary file size greater than 2.1GB

2007-06-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=42608


[EMAIL PROTECTED] changed:

   What|Removed |Added

  Component|Connector:AJP   |Native:JK




--- Additional Comments From [EMAIL PROTECTED]  2007-06-17 14:36 ---
Changing component as testing shows mod_proxy_ajp now works but mod_jk still 
fails.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 42608] - Invalid Content-Length error for the binary file size greater than 2.1GB

2007-06-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=42608





--- Additional Comments From [EMAIL PROTECTED]  2007-06-17 14:35 ---
Created an attachment (id=20361)
 --> (http://issues.apache.org/bugzilla/attachment.cgi?id=20361&action=view)
Rough patch for http 2.2.x only

mod_proxy_ajp is now fine with POSTs > 2GB
mod_jk fails to send any content for POSTs > 2GB

I have attached a patch that fixes mod_jk for me but:
- it only fixes this for httpd 2.2.x
- I haven't looked at any of the other servers
- I don't trust my c coding skills enough to commit it

Hopefully, one of the mod_jk folks will pick this up and turn it into a
reasonable patch.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 42683] New: - Can't use '*' for web.xml filter-mapping's servlet-name or url-mapping

2007-06-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=42683

   Summary: Can't use '*' for web.xml filter-mapping's servlet-name
or url-mapping
   Product: Tomcat 6
   Version: 6.0.11
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: Catalina
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


Change 504726 to org.apache.catalina.deploy.FilterMap attempts to add support 
for '*' in web.xml filter-
mapping servlet-name and url-mapping elements 
(http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/deploy/FilterMap.java?
r1=467222&r2=504726). However it does not seem to work as a later validation 
step fails at about line 
2156 in StandardContext. This code looks at the size of "servletName" and 
"urlPatterns" arrays from the 
FilterMap object. Since '*' doesn't get added as an element of these arrays, 
and is handled specially, this 
check will fail if no other url-mapping or servlet-name was specified.

I assume the fix is just to take account of the matchAllServletNames and 
matchAllUrlPatterns flags too in 
this check.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r548078 - in /tomcat/sandbox/comet/java/org/apache: catalina/ catalina/connector/ catalina/valves/ coyote/ coyote/http11/

2007-06-17 Thread remm
Author: remm
Date: Sun Jun 17 10:21:26 2007
New Revision: 548078

URL: http://svn.apache.org/viewvc?view=rev&rev=548078
Log:
- Method names changes after various comments (and my own personal opinion too).

Modified:
tomcat/sandbox/comet/java/org/apache/catalina/CometEvent.java
tomcat/sandbox/comet/java/org/apache/catalina/connector/CometEventImpl.java
tomcat/sandbox/comet/java/org/apache/catalina/connector/CoyoteAdapter.java
tomcat/sandbox/comet/java/org/apache/catalina/connector/Request.java
tomcat/sandbox/comet/java/org/apache/catalina/valves/ErrorReportValve.java
tomcat/sandbox/comet/java/org/apache/coyote/ActionCode.java
tomcat/sandbox/comet/java/org/apache/coyote/http11/Http11AprProcessor.java

Modified: tomcat/sandbox/comet/java/org/apache/catalina/CometEvent.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/comet/java/org/apache/catalina/CometEvent.java?view=diff&rev=548078&r1=548077&r2=548078
==
--- tomcat/sandbox/comet/java/org/apache/catalina/CometEvent.java (original)
+++ tomcat/sandbox/comet/java/org/apache/catalina/CometEvent.java Sun Jun 17 
10:21:26 2007
@@ -33,8 +33,9 @@
 
 /**
  * Enumeration describing the major events that the container can invoke 
- * the CometProcessors event() method with
- * BEGIN - will be called at the beginning 
+ * the CometProcessor event() method with:
+ * 
+ * BEGIN - will be called at the beginning 
  *  of the processing of the connection. It can be used to initialize any 
relevant 
  *  fields using the request and response objects. Between the end of the 
processing 
  *  of this event, and the beginning of the processing of the end or error 
events,
@@ -42,8 +43,8 @@
  *  Note that the response object and depedent OutputStream and Writer are 
still 
  *  not synchronized, so when they are accessed by multiple threads, 
  *  synchronization is mandatory. After processing the initial event, the 
request 
- *  is considered to be committed.
- * READ - This indicates that input data is available, and that one read 
can be made
+ *  is considered to be committed.
+ * READ - This indicates that input data is available, and that one 
read can be made
  *  without blocking. The available and ready methods of the InputStream or
  *  Reader may be used to determine if there is a risk of blocking: the 
servlet
  *  should read while data is reported available. When encountering a read 
error, 
@@ -53,38 +54,37 @@
  *  Alternately, it is also possible to catch any exception, perform clean 
up
  *  on any data structure the servlet may be using, and using the close 
method
  *  of the event. It is not allowed to attempt reading data from the 
request 
- *  object outside of the execution of this method.
- * END - End may be called to end the processing of the request. Fields 
that have
+ *  object outside of the execution of this method.
+ * END - End may be called to end the processing of the request. 
Fields that have
  *  been initialized in the begin method should be reset. After this event 
has
  *  been processed, the request and response objects, as well as all their 
dependent
- *  objects will be recycled and used to process other requests. End will 
also be 
- *  called when data is available and the end of file is reached on the 
request input
- *  (this usually indicates the client has pipelined a request).
- * ERROR - Error will be called by the container in the case where an IO 
exception
+ *  objects will be recycled and used to process other requests.
+ * ERROR - Error will be called by the container in the case where an 
IO exception
  *  or a similar unrecoverable error occurs on the connection. Fields that 
have
  *  been initialized in the begin method should be reset. After this event 
has
  *  been processed, the request and response objects, as well as all their 
dependent
- *  objects will be recycled and used to process other requests.
- * CALLBACK - Callback will be called by the container after the comet 
processor
- *  has registered for the OP_CALLBACK operation.
+ *  objects will be recycled and used to process other requests.
+ * EVENT - Event will be called by the container after the resume() 
method is called.
  *  This allows you get an event instantly, and you can perform IO actions
- *  or close the Comet connection.
- * WRITE - Write is called, only if the Comet processor has registered for 
the OP_WRITE
- *  event. This means that connection is ready to receive data to be 
written out.
- */
-public enum EventType {BEGIN, READ, END, ERROR, WRITE, CALLBACK}
+ *  or close the Comet connection.
+ * WRITE - Write is sent if the servlet is using the ready method. 
This means that 
+ *  the connection is ready to receive data

Re: Proposed simplification of CometEvent

2007-06-17 Thread Remy Maucherat

Filip Hanik - Dev Lists wrote:
Ok, one use case scenario would be AJAX requests with asynchronous 
responses on the server, I can see this be extremely common,
I've tried to add in comments to make the example clear, and I don't see 
this example as stupid, as there are a lot more AJAX client frameworks 
than Comet client frameworks.


So there are two things we are show casing
1. The ability to write asynchronously
2. The ability to pipeline HTTP requests (assumption: only dealing with 
GET requests, no HTTP request body)
3. Difference between Comet non blocking and Comet blocking read and 
writes (note, not related to sockets, API only)


What I'd like to point out is that this example, becomes easier with 
blocking read/writes, so I've added that at the bottom for comparison


Let me know if I've made any mistakes here, so that we can work with a 
correct example.


Non blocking read and writes

public class ExampleDelayedAjaxResponse implements CometProcessor {
 ...
 public class DelayedResponder extends Thread {
   public void run() {
 ...
 Client[] clients = getClients();
 for (int i=0; i  event.close(); //close the event, in anticipation of the 
next request

  event.register(OP_CALLBACK); //triggers an END event
   } else { //we didn't write it all, trigger a WRITE event when 
we are done with the write   event.register(OP_WRITE);

   }
 } else {
   //we are not able to write, let us know when we can
   event.register(OP_WRITE);


How can you not be able to write, since you didn't write anything at all 
yet for this request.



 }
 //remove the client from the  async thread
 //since we have received the data for this client.
 clients.remove(event);
   }
 }
 ...
   }
 }
 ...
 public void event(CometEvent event) throws IOException, ServletException {
   ...
   if ( event.getEventType() == CometEvent.EventType.BEGIN ) {
 //configure non blocking
 event.configureBlocking(false);
 //deregister for READ since we want to enable pipe lining on the 
connection  //for the next HTTP request

 event.unregister(OP_READ);
 //add the client to the list
 clients.add(event);
   } if ( event.getEventType() == CometEvent.EventType.READ ) {
 //read client Id and stock list from client
 //and add the event to our list
 assert("this should never happen");
   } if ( event.getEventType() == CometEvent.EventType.WRITE ) {
 //unregister from the write event
 event.unregister(OP_WRITE);
 //we can now write
 byte[] data = getDelayedResponse(event);   if ( data != 
null ) {

   event.getHttpServletResponse().getOutputStream().write(data);
 }
 if( data==null || event.isWriteable() ) {
   event.close();
 }
 } if ( event.getEventType() == CometEvent.EventType.END ) {
 clients.remove(event); } else if (...) {
 ...
   }
   ...
 }
}

Blocking read and writes
public class ExampleDelayedAjaxResponse implements CometProcessor {
 ...
 public class DelayedResponder extends Thread {
   public void run() {
 ...
 Client[] clients = getClients();
 for (int i=0; i //deregister for READ since we want to enable pipe lining on the 
connection  //for the next HTTP request


No. The situation where the end of the entity body is reached is 
detected very easily, and handled using a sleep (the 6.0 code is very 
close from that already).



 event.unregister(OP_READ);
 //add the client to the list
 clients.add(event);
   } if ( event.getEventType() == CometEvent.EventType.READ ) {
 //read client Id and stock list from client
 //and add the event to our list
 assert("this should never happen");
   } if ( event.getEventType() == CometEvent.EventType.WRITE ) {
 //unregister from the write event
 event.unregister(OP_WRITE);
 //we can now write
 byte[] data = getDelayedResponse(event);   //note we don't 
have to check for null data here

 event.getHttpServletResponse().getOutputStream().write(data);
 event.close();
   } if ( event.getEventType() == CometEvent.EventType.END ) {
 clients.remove(event);
   } else if (...) {
 ...
   }
   ...
 }
}
 
Remy, would you mind showing this example with sandbox API, I think with 
a real world example, I can understand your API better, and maybe you 
mine :)


Real world for the simple delayed response scenario means using a thread 
to wait and generate an event. You then proceed to write the data. It's 
a bit like your second example, but it should be doing far less.


1) begin event: add the connection to the background thread, and sleep
2) background thread: after a while, invokes callback on the connection
3) callback event: write the data, there are two options:
   a) blocking style: write everything, without wondering if it blocks
   b) non blocking style: write while using isWriteable, and fin

Re: Proposed simplification of CometEvent

2007-06-17 Thread Filip Hanik - Dev Lists

Costin Manolache wrote:

On 6/15/07, Filip Hanik - Dev Lists <[EMAIL PROTECTED]> wrote:


correction, should read

I can implement inputstream.read() to return 0 on both blocking and non
blocking *Comet events*, (since sockets are always non blocking)




Ok, my mistake - what I really meant to say is:  I am only interested in
Comet if it
behaves similar with non-blocking sockets ( regardless of 
implementation ),

i.e. read(), write() called inside
a comet servlet will never block.

well, then you are out of luck, cause that's not in the running right now.
I earlier proposed that CometEvent would have two new methods
nbRead(ByteBuffer) and nbWrite(ByteBuffer) that would do exactly that.

That proposal was quickly shutdown since we thought that we should still 
be using the Servlet API.
And you can't get NIO socket functionality using streams, readers or 
writers.


From the description so far it seems the sandbox version has this 
property

and the trunk has
an option to make it blocking ( or so I understood from your comments ).

I'm not familiar with the concept of 'non blocking *Comet events*' - 
never

heard of an event that
blocks or doesn't block before. If you mean that during a comet event 
read

will be blocking (
based on config or whatever else ) - I think this is a bad design.

That's how 6.0.13 is working, and I don't think its bad design.
Take a look at the first example in
http://people.apache.org/~fhanik/tomcat/aio.html#Example%20code%20snippets
It's a real life example, and clearly shows how much easier it is to 
write code

using blocking read/write methods.

In the current proposal non blocking would also happen on the existing 
Servlet API making it a little harder to program,
but we got there from deciding to stick with the Servlet API and not 
create any new read or write methods.


Filip


Costin



No virus found in this incoming message.
Checked by AVG Free Edition. 
Version: 7.5.472 / Virus Database: 269.9.0/852 - Release Date: 6/17/2007 8:23 AM
  



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 42681] New: - FarmWarDeployer

2007-06-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
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=42681

   Summary: FarmWarDeployer
   Product: Tomcat 6
   Version: unspecified
  Platform: Other
   URL: http://private
OS/Version: Linux
Status: NEW
  Severity: major
  Priority: P2
 Component: Catalina
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


I'm using org.apache.catalina.ha.deploy.FarmWarDeployer to deploy my application
across cluster nodes.
It copying the application to other cluster members but when my .war application
arrives to cluster node it appears 2Mb less then origin. If you need anything
more, please msg me and I'll provide all necessary info.


Tomcat version: 6.0.13
OS: RedHat Linux ES4 (2.6.9-42.0.2.ELsmp)
Exception on cluster node that received .war file:
May 30, 2007 12:03:46 AM org.apache.catalina.startup.ContextConfig init
SEVERE: Exception fixing docBase: {0}
java.util.zip.ZipException: invalid END header (bad central directory offset)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(Unknown Source)
at java.util.jar.JarFile.(Unknown Source)
at java.util.jar.JarFile.(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.getJarFile(Unknown Source)
at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:141)
at
org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:890)
at 
org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:1008)
at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:279)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at 
org.apache.catalina.core.StandardContext.init(StandardContext.java:5297)
at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4070)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:515)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1220)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(Unknown Source)
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown
Source)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
at
org.apache.catalina.ha.deploy.FarmWarDeployer.check(FarmWarDeployer.java:613)
at
org.apache.catalina.ha.deploy.FarmWarDeployer.messageReceived(FarmWarDeployer.java:236)
at
org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:916)
at
org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:897)
at
org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:264)
at
org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110)
at
org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
at
org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
at
org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241)
at
org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225)
at
org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:185)
at
org.apache.catalina.tribes.transport.nio.NioReplicationTask.r