aboutsummaryrefslogtreecommitdiff
path: root/doc/bugs/attachment:_failed_to_get_filehandle.mdwn
Commit message (Collapse)AuthorAge
* remove some links to gitwebJoey Hess2011-12-07
| | | | these are a pain to keep working, and not needed
* web commit by http://ptecza.myopenid.com/: * Confirmation and thanksJoey Hess2008-07-09
|
* Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.infoJoey Hess2008-07-08
|\ | | | | | | | | | | Conflicts: doc/bugs/attachment:_failed_to_get_filehandle.mdwn
| * web commit by http://ptecza.myopenid.com/: * Thanks!Joey Hess2008-07-08
| |
| * web commit by HenrikBrixAndersen: This happens on FreeBSD as wellJoey Hess2008-07-08
| |
* | attachment: Support perl 5.8's buggy version of CGI.pm.Joey Hess2008-07-08
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is truely horribly disgusting. CGI::tmpFileName, in current perls, is an undocumented function (which should be a clue..) that takes the original filename of an uploaded attachment, and returns the name of the tempfile that CGI has stored it in. In old perls, though, CGI::tmpFileName does not take a filename. It takes a key from the object's {'.tmpfiles'} hash. This key is something crazy like '*Fh::fh00001group' -- apparently the stringification of a filehandle object. Just to add to the fun, tmpFileName doesn't take the key, it expects a refernce to the key. Argh?! But the fun doesn't stop there, because in perl 5.8, CGI.pm is also broken in two other ways. The upload() method is supposed to return a filehandle to the temp file. It doesn't. The param() method is supposed to return a filehandle to the temp file, that stringifies to the original filename. It returns just the original filename, no filehandle. Combine all these bugs, and you end up with this disgusting commit. Since I have no way to get the filehandle, I *need* to get the tempfile name. If I had the filehandle, I could probably pass it into tmpFileName, and it might strigify to the right key name. But I don't, so the only way to determine the key is to grub through the .tmpfiles hash ourselves. And finally, one the temp file name is discovered, a filehandle can finally be obtained by (re)opening it. I recommend that this commit be reverted when perl 5.8 is a mercifully faded memory. I'm really, really, really glad I'm actually being paid for working on this right now!
* reproducedJoey Hess2008-07-08
|
* responseJoey Hess2008-07-08
|
* web commit by http://ptecza.myopenid.com/: * The bug still occursJoey Hess2008-07-08
|
* undef $fh before openingJoey Hess2008-07-08
|
* web commit by http://ptecza.myopenid.com/: * Still no successJoey Hess2008-07-08
|
* another try at dealing with CGI.pm problemJoey Hess2008-07-08
| | | | open the temp file if all attempts to get a fd fail
* web commit by http://ptecza.myopenid.com/: * Debugging againJoey Hess2008-07-08
|
* possible fixJoey Hess2008-07-08
|
* web commit by http://ptecza.myopenid.com/: * Next debbugingJoey Hess2008-07-08
|
* new thing to tryJoey Hess2008-07-08
|
* web commit by http://ptecza.myopenid.com/: * Missing Apache2 versionJoey Hess2008-07-08
|
* web commit by http://ptecza.myopenid.com/: * ResponseJoey Hess2008-07-08
|
* split out separate bugJoey Hess2008-07-08
|
* responseJoey Hess2008-07-08
|
* attachment: Fix an uninitialised value warning when editing a page that ↵Joey Hess2008-07-08
| | | | currently has no attachments.
* web commit by http://ptecza.myopenid.com/: * Problem with colon in report ↵Joey Hess2008-07-08
| | | | page name
* web commit by http://ptecza.myopenid.com/: * Problem with uploading attachmentsJoey Hess2008-07-08