Jim Gallacher
jg.lists at sympatico.ca
Sat Oct 15 11:31:39 EDT 2005
Wim Heirman wrote: > Ok, found it: in req_sendfile(), apr_stat is called with the APR_READ > flag. APR_READ is however an invalid flag there, apr_stat interprets it > as APR_FINFO_LINK (they're both #define'd as 1) making it behave as an > lstat(). APR_FINFO_NORM would probably be the right value for the 3rd > argument. I've created a new issue for this: http://issues.apache.org/jira/browse/MODPYTHON-84 Wim's suggestion corrects the problem for linux. Perhaps someone could check on Windows? apr_stat() is different on Windows and Unix. I'll commit the changes in the next couple of minutes. Jim >> Can't look at it until tomorrow, but check code in src/requestobject.c >> of mod_python >> source code. The req_sendfile() may well have a bug in it as does a >> stat of the >> file to get the length and when it tells Apache to send the file it >> passes that length >> to the underlying call as the number of bytes to send. If the stat >> call is being >> performed on the symlink as it appears and not what it points at, the >> wrong length >> would be used. The contents of the actual file will be sent though as >> the symlink >> will be followed correctly at that point, just not enough is sent. >> >> Maybe someone else can look at this while I get some sleep. ;-) >> >> Graham >> >> On 15/10/2005, at 10:37 PM, Wim Heirman wrote: >> >>> Hello, >>> >>> When I call req.sendfile(filename) where filename is a symbolic link, >>> only part of the file is sent to the client (as many bytes as there >>> are characters in the symlink's file reference, so for a symlink >>> pointing to '../index.html' I get the first 13 bytes of the correct >>> file). Is this normal behaviour? >>> >>> Also, I would like to set the Content-Type correctly, based on the >>> file I'm sending. Using the standard mimetypes package works fine, >>> but is it possible to use Apache's mime-typing for this? Since the >>> code for that is already loaded it should be a bit more efficient. >>> >>> Regards, >>> >>> Wim >>> >>> >>> -- >>> ir. Wim Heirman, >>> ELIS Department, Ghent University, Belgium >>> Phone: +32-9-264.95.27 >>> E-mail: wim.heirman at elis.UGent.be >>> http://www.elis.UGent.be/~wheirman/ >>> _______________________________________________ >>> Mod_python mailing list >>> Mod_python at modpython.org >>> http://mailman.modpython.org/mailman/listinfo/mod_python >>> >> >
|