You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2006/07/18 12:57:45 UTC
DO NOT REPLY [Bug 40064] New: - Problem with ETags between 32-bit and 64-bit architectures.
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=40064>.
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=40064
Summary: Problem with ETags between 32-bit and 64-bit
architectures.
Product: Apache httpd-2
Version: 2.0.58
Platform: All
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Core
AssignedTo: bugs@httpd.apache.org
ReportedBy: ross.heritage@gmail.com
CC: ross.heritage@gmail.com
The last modified date stored in r->mtime is of type apr_int64_t.
When this is used to build up the ETag in modules/http/http_protocol.c (in
ap_make_etag), this variable is cast to an unsigned long prior to the
converion to hex.
next = etag_ulong_to_hex(next, (unsigned long)r->mtime);
On a 32-bit architecture, this loses the first 32-bits of the number, so the
resulting hex string is only 8 characters long, and does not accuratly reflect
the last-modified time.
On a 64-bit architecture, the cast retains all 64 bits (or more likely its
casting a 128-bit number down to 64-bits), so the resulting hex value is
correct.
This is a big problem for us at the BBC as we now have a mixture of 32-bit and
64-bit machines (AMD Opteron vs. Intel Xeon).
The problem also seems to exist in the latest Apache 2.2 build, although the
ETag code has been extracted to the file modules/http/http_etag.c
Suggested fix:
Change the etag_ulong_to_hex function so that it only ever pushes the last 8
hex characters on to *next. This is not ideal, as the resulting hex is not
representative of the last-modified date, but I would be surprised if this
were to bite anyone.
--
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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
DO NOT REPLY [Bug 40064] - Problem with ETags between 32-bit and 64-bit architectures.
Posted by bu...@apache.org.
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=40064>.
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=40064
jorton@redhat.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |christian_boitel@yahoo.fr
------- Additional Comments From jorton@redhat.com 2006-12-01 07:56 -------
*** Bug 41095 has been marked as a duplicate of this bug. ***
--
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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
DO NOT REPLY [Bug 40064] - Problem with ETags between 32-bit and 64-bit architectures.
Posted by bu...@apache.org.
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=40064>.
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=40064
------- Additional Comments From jorton@redhat.com 2006-07-18 14:41 -------
Changing etag_ulong_to_hex() to use an apr_uint64_t and dropping the casts would
be a better fix, I think.
--
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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
DO NOT REPLY [Bug 40064] - Problem with ETags between 32-bit and 64-bit architectures.
Posted by bu...@apache.org.
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=40064>.
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=40064
------- Additional Comments From jorton@redhat.com 2006-07-24 17:00 -------
Created an attachment (id=18635)
--> (http://issues.apache.org/bugzilla/attachment.cgi?id=18635&action=view)
patch to use apr_uint64_t for etags
Here's a quick patch to always use 64-bit integers in etag generation. Tested
only to compile and produce etags on x86_64, not tried a 32-bit platform or
anything more thorough.
--
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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
DO NOT REPLY [Bug 40064] - Problem with ETags between 32-bit and 64-bit architectures.
Posted by bu...@apache.org.
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=40064>.
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=40064
------- Additional Comments From jorton@redhat.com 2007-08-31 04:56 -------
Note that the patch attached here was incomplete; the subsequent fix is also needed:
http://svn.apache.org/viewvc?view=rev&rev=517654
--
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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
DO NOT REPLY [Bug 40064] - Problem with ETags between 32-bit and 64-bit architectures.
Posted by bu...@apache.org.
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=40064>.
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=40064
Stan.Shapiro@bbc.co.uk changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |Stan.Shapiro@bbc.co.uk
--
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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
DO NOT REPLY [Bug 40064] - Problem with ETags between 32-bit and 64-bit architectures.
Posted by bu...@apache.org.
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=40064>.
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=40064
------- Additional Comments From rpluem@apache.org 2007-12-08 09:02 -------
Backported to 2.2.x as r602503 (http://svn.apache.org/viewvc?rev=602503&view=rev).
--
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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
DO NOT REPLY [Bug 40064] - Problem with ETags between 32-bit and 64-bit architectures.
Posted by bu...@apache.org.
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=40064>.
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=40064
------- Additional Comments From chip@force-elite.com 2006-07-19 17:08 -------
Either way, I've ran into this myself before. Don't suppose anyone wants to
write a 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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
DO NOT REPLY [Bug 40064] - Problem with ETags between 32-bit and 64-bit architectures.
Posted by bu...@apache.org.
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=40064>.
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=40064
jorton@redhat.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From jorton@redhat.com 2007-03-12 08:15 -------
Committed: http://svn.apache.org/viewvc?view=rev&rev=517238 - thanks for the report.
I'm not sure whether it would be a good idea to merge this into 2.2.x; it could
break working 32-bit-only shops by having different 2.2.x releases generate
different etags across a server farm.
--
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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org