Patch for CGI.pm to support HTTP PUT

Stuttgart, 20070825, updated 20080224, 20081226, 20090503, 20090731 and 20130701

I've recently acquired a scanner, the Avision model @2500.

It allows uploads via HTTP. While trying to code a CGI script which catches the uploads, I found that CGI.pm (3.15, from perl-5.8.8, compiled from the FreeBSD ports) and also more recent versions of CGI.pm (3.29, 3.33, 3.37, 3.42, 3.43) do not handle PUT at all.

I've prepared a small patch for 3.15, and the same patch for 3.33, and the same patch for 3.37, and the same patch for 3.42, and the same patch for 3.43, which at least handles the case I was interested in.

It's bugid 45673 on CPAN and fixed with 3.44.

On FreeBSD >= 6.3, there are two instances of CGI.pm, one from the base perl, the other from the package:

  
  /usr/local/lib/perl5/5.8.8/CGI.pm (3.15, from pkg perl-5.8.8_1)
  /usr/local/lib/perl5/site_perl/5.8.8/CGI.pm (3.42, from p5-CGI.pm-3.42,1)
  
In perl-5.14, the patch was backed out, due to several issues, among them with the RFC. I'm not sure about all the boundary issues, but I think CGI.pm should at least honor PUT.

How to apply for 3.15:

  
cd /tmp/
fetch http://opsec.eu/src/CGI-patch/CGI-3.15-patch
cd /usr/local/lib/perl5/5.8.8
patch < /tmp/CGI-3.15-patch
  

How to apply for 3.33:

  
cd /tmp/
fetch http://opsec.eu/src/CGI-patch/CGI-3.33-patch
cd /usr/local/lib/perl5/site_perl/5.8.8
patch < /tmp/CGI-3.33-patch
  

How to apply for 3.37:

  
cd /tmp/
fetch http://opsec.eu/src/CGI-patch/CGI-3.37-patch
cd /usr/local/lib/perl5/site_perl/5.8.8
patch < /tmp/CGI-3.37-patch
  

How to apply for 3.42:

  
cd /tmp/
fetch http://opsec.eu/src/CGI-patch/CGI-3.42-patch
cd /usr/local/lib/perl5/site_perl/5.8.8
patch < /tmp/CGI-3.42-patch
  

How to apply for 3.43:

  
cd /tmp/
fetch http://opsec.eu/src/CGI-patch/CGI-3.43-patch
cd /usr/local/lib/perl5/site_perl/5.10.0
patch < /tmp/CGI-3.43-patch
  

How to apply for 3.59:

  
cd /tmp/
fetch http://opsec.eu/src/CGI-patch/CGI-3.59-patch
cd /usr/local/lib/perl5/site_perl/5.14.2
patch < /tmp/CGI-3.59-patch