[LON-CAPA-cvs] cvs: loncom /auth lonacc.pm
albertel
lon-capa-cvs-allow@mail.lon-capa.org
Tue, 06 Nov 2007 02:42:42 -0000
albertel Mon Nov 5 21:42:42 2007 EDT
Modified files:
/loncom/auth lonacc.pm
Log:
- boundary value is announced in the content-type so use it there rather
than trying to self discover it
Index: loncom/auth/lonacc.pm
diff -u loncom/auth/lonacc.pm:1.112 loncom/auth/lonacc.pm:1.113
--- loncom/auth/lonacc.pm:1.112 Mon Nov 5 21:26:07 2007
+++ loncom/auth/lonacc.pm Mon Nov 5 21:42:40 2007
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Cookie Based Access Handler
#
-# $Id: lonacc.pm,v 1.112 2007/11/06 02:26:07 albertel Exp $
+# $Id: lonacc.pm,v 1.113 2007/11/06 02:42:40 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -63,7 +63,8 @@
if ($r->header_in('Content-length')) {
$r->read($buffer,$r->header_in('Content-length'),0);
}
- unless ($buffer=~/^(\-+[\+\w]+)\s+Content\-Disposition\:\s*form\-data/si) {
+ my $content_type = $r->header_in('Content-type');
+ if ($content_type !~ m{^multipart/form-data}) {
my @pairs=split(/&/,$buffer);
my $pair;
foreach $pair (@pairs) {
@@ -75,7 +76,7 @@
&Apache::loncommon::add_to_env("form.$name",$value);
}
} else {
- my $contentsep=$1;
+ my ($contentsep) = ($content_type =~ /boundary=\"?([^\";,]+)\"?/);
my @lines = split (/\n/,$buffer);
my $name='';
my $value='';
@@ -83,7 +84,7 @@
my $fmime='';
my $i;
for ($i=0;$i<=$#lines;$i++) {
- if ($lines[$i]=~/^\Q$contentsep\E/) {
+ if ($lines[$i]=~/^--\Q$contentsep\E/) {
if ($name) {
chomp($value);
if ($fname) {