Roy T. Fielding wrote:
whoa!  -1

Was this even discussed on the list?  You just changed the
entire module API and introduced a dozen potential security holes.

The precursor to this patch "[PATCH] WIN64: httpd API changes" was posted 10/7 so I thought we had had suitable time for discussion. I have addressed the one issue that was raised. There have also been several other threads on the httpd & apr lists and the feedback I had received indicated the it was appropriate to sanitize the 64 bit compile even if it incurred httpd API changes. However if there are specific security issues that this has brought up I am more than anxious to address them. Are you opposed to changing the API to fix 64 bit warnings or are there specific issues that I can address and continue to move forward rather that back out the entire patch?

Why on earth is it changing nvec to apr_size_t and then downcasting

Fixing some of the warnings (below) without resorting to casts ripples through some API's, but changing APR API's at this point is not possible so I had to stop there, with the implication that we have to complete this in APR 2.0. If exceeding 2Gig elements is the security hole you want plugging I can add code to check for that and error out.

its use? Why is any of this even needed?

These are the 64bit compile warnings I am addressing with this patch

.\server\core.c(3959) : warning C4018: '<' : signed/unsigned mismatch
.\server\core.c(4291) : warning C4267: '=' : conversion from 'size_t' to 'int', 
possible loss of data
.\server\core.c(4296) : warning C4267: '=' : conversion from 'size_t' to 'int', 
possible loss of data
.\server\core.c(4336) : warning C4267: 'function' : conversion from 'size_t' to 'int', 
possible loss of data
.\modules\http\http_protocol.c(665) : warning C4267: 'initializing' : conversion from 
'size_t' to 'int', possible loss of data
.\modules\http\http_protocol.c(1922) : warning C4267: 'return' : conversion from 
'size_t' to 'long', possible loss of data
.\server\protocol.c(1400) : warning C4267: 'return' : conversion from 'size_t' to 
'int', possible loss of data
.\server\protocol.c(1464) : warning C4244: 'initializing' : conversion from '__int64' 
to 'int', possible loss of data
.\server\protocol.c(1473) : warning C4267: 'return' : conversion from 'size_t' to 
'int', possible loss of data
.\server\protocol.c(1520) : warning C4267: 'return' : conversion from 'size_t' to 
'int', possible loss of data
.\server\request.c(1231) : warning C4267: '=' : conversion from 'size_t' to 'int', 
possible loss of data
.\server\util.c(461) : warning C4244: '=' : conversion from '__int64' to 'int', 
possible loss of data
.\server\util.c(600) : warning C4244: '=' : conversion from '__int64' to 'int', 
possible loss of data
.\server\util.c(633) : warning C4244: '=' : conversion from '__int64' to 'int', 
possible loss of data
.\server\util.c(663) : warning C4244: '=' : conversion from '__int64' to 'int', 
possible loss of data
.\server\util.c(758) : warning C4244: 'function' : conversion from '__int64' to 'int', 
possible loss of data
.\server\util.c(768) : warning C4244: 'function' : conversion from '__int64' to 'int', 
possible loss of data
.\server\util.c(894) : warning C4267: 'function' : conversion from 'size_t' to 'int', 
possible loss of data
.\server\util.c(1195) : warning C4244: '=' : conversion from '__int64' to 'int', 
possible loss of data
.\server\util.c(1435) : warning C4244: '=' : conversion from '__int64' to 'int', 
possible loss of data
.\server\util.c(1492) : warning C4267: '=' : conversion from 'size_t' to 'int', 
possible loss of data
.\server\util.c(1493) : warning C4267: '=' : conversion from 'size_t' to 'int', 
possible loss of data
.\server\util.c(1978) : warning C4244: 'return' : conversion from '__int64' to 'int', 
possible loss of data
.\server\util.c(1987) : warning C4244: 'return' : conversion from '__int64' to 'int', 
possible loss of data
.\server\util.c(2082) : warning C4267: 'initializing' : conversion from 'size_t' to 
'int', possible loss of data
.\server\util_script.c(288) : warning C4267: 'initializing' : conversion from 'size_t' 
to 'int', possible loss of data
.\server\util_script.c(289) : warning C4267: 'initializing' : conversion from 'size_t' 
to 'int', possible loss of data
.\server\util_script.c(435) : warning C4267: '=' : conversion from 'size_t' to 'int', 
possible loss of data
.\server\util_script.c(666) : warning C4244: '=' : conversion from '__int64' to 'int', 
possible loss of data
.\server\scoreboard.c(109) : warning C4267: 'return' : conversion from 'size_t' to 
'int', possible loss of data

Allan

Reply via email to