httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 28898] New: - Large file support (> 2GB) for platforms w/ 32-bit size_t and 64-bit off_t
Date Tue, 11 May 2004 13:02:36 GMT
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: bugs@httpd.apache.org
        ReportedBy: dankogai@dan.co.jp


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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message