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=28898>. 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=28898 Large file support (> 2GB) for platforms w/ 32-bit size_t and 64-bit off_t Summary: Large file support (> 2GB) for platforms w/ 32-bit size_t and 64-bit off_t Product: Apache httpd-2.0 Version: 2.0.49 Platform: All URL: http://www.ring.gr.jp/ OS/Version: All Status: NEW Severity: Major Priority: Other Component: All AssignedTo: [email protected] ReportedBy: [EMAIL PROTECTED] Dear Apache Developers, My name is Dan Kogai and I thank you for your great product. That definitely makes the world go round! I just found that Apache, both 1 and 2, does not support files that are larger than 2GB. Apache 2 does support it but only on (truly) 64-bit systems. On such systems (I would even say majority thereof) where large files are supported (off_t is 64-bit) but size_t is limited to 32-bit, it does not work. I browse the source and found that while apr_off_t is correctly used APR-wise, many calculations that contain apr_size_t variables led to incorrect values. The quick & dirty proof-of-concept patch below does fix the problem. Tested OK on FreeBSD 4, Mac OS X v10.3. Compiled on Linux kernel 2.4.9 but rerurns 400 with log entry "[client 127.0.0.1] (75)Value too large for defined data type: access to /dvd.dmg failed" As I said this is way too quick and dirty and I would appreciate if you guys fix that more properly and elegantly. It may sound ridiculous to handle such large files but I happen to be a member of Ring Server Project which hosts one of the most famous open source distribution and there appears DVD images that get influenced. Thank you in advance for your attention and support. Dan the Man with Too Many File Transfers --- httpd-2.0.49/srclib/apr/include/apr.h.in Sun Feb 29 03:41:32 2004 +++ httpd-2.0.49-x/srclib/apr/include/apr.h.in Tue May 11 21:27:31 2004 @@ -263,7 +263,7 @@ typedef @long_value@ apr_int64_t; typedef unsigned @long_value@ apr_uint64_t; -typedef @size_t_value@ apr_size_t; +typedef @off_t_value@ apr_size_t; typedef @ssize_t_value@ apr_ssize_t; typedef @off_t_value@ apr_off_t; typedef @socklen_t_value@ apr_socklen_t; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
