# Define the CRLF sequence. I can't use a simple "\r\n" because the
meaning
# of "\n" is different on different OS's (sometimes it generates CRLF,
sometimes LF
# and sometimes CR). The most popular VMS web server
# doesn't accept CRLF -- instead it wants a LR. EBCDIC machines don't
# use ASCII, so \015\012 means something different. I find this all # really annoying.
randy and I have discussed this before, IIRC...
while apache itself makes the distinction between ascii and ebcdic, it does not distinguish between vms and the rest of ascii land.
I say we punt just follow the lead of httpd, exporting their constants.
patch attached. I'll clean up the test tomorrow if people like the idea. --Geoff
Index: lib/Apache/ParseSource.pm =================================================================== RCS file: /home/cvspublic/modperl-2.0/lib/Apache/ParseSource.pm,v retrieving revision 1.43 diff -u -r1.43 ParseSource.pm --- lib/Apache/ParseSource.pm 12 May 2003 13:00:15 -0000 1.43 +++ lib/Apache/ParseSource.pm 30 Sep 2003 22:54:09 -0000 @@ -160,6 +160,7 @@ types => [qw{DIR_MAGIC_TYPE}], override => [qw{OR_ ACCESS_CONF RSRC_CONF}], log => [qw(APLOG_)], + platform => [qw{CRLF CR LF}], }, APR => { table => [qw{APR_OVERLAP_TABLES_}], Index: lib/ModPerl/Code.pm =================================================================== RCS file: /home/cvspublic/modperl-2.0/lib/ModPerl/Code.pm,v retrieving revision 1.106 diff -u -r1.106 Code.pm --- lib/ModPerl/Code.pm 21 Sep 2003 03:06:17 -0000 1.106 +++ lib/ModPerl/Code.pm 30 Sep 2003 22:54:11 -0000 @@ -828,7 +828,9 @@ if (strEQ(name, "$name")) { EOF - if ($name eq 'DECLINE_CMD' || $name eq 'DIR_MAGIC_TYPE') { + if ($name eq 'DECLINE_CMD' || + $name eq 'DIR_MAGIC_TYPE' || + $name eq 'CRLF') { print $c_fh <<EOF; return newSVpv($alias{$name}, 0); EOF Index: t/apache/constants.t =================================================================== RCS file: /home/cvspublic/modperl-2.0/t/apache/constants.t,v retrieving revision 1.6 diff -u -r1.6 constants.t --- t/apache/constants.t 12 May 2003 13:00:15 -0000 1.6 +++ t/apache/constants.t 30 Sep 2003 22:54:11 -0000 @@ -6,10 +6,10 @@ use Apache2 (); use Apache::Const -compile => qw(DECLINED :http :common TAKE23 &OPT_EXECCGI - DECLINE_CMD DIR_MAGIC_TYPE); + DECLINE_CMD DIR_MAGIC_TYPE CRLF); use Apache::Const; #defaults to :common -plan tests => 15; +plan tests => 16; ok REDIRECT == 302; ok AUTH_REQUIRED == 401; @@ -20,6 +20,9 @@ ok Apache::OPT_EXECCGI; ok Apache::DECLINE_CMD eq "\x07\x08"; ok Apache::DIR_MAGIC_TYPE eq "httpd/unix-directory"; +# will fail on EBCDIC +# kudos to mod_perl if someone actually reports it +ok Apache::CRLF eq "\015\012"; ok ! defined &M_GET; Apache::Const->import('M_GET'); Index: xs/tables/current/Apache/ConstantsTable.pm =================================================================== RCS file: /home/cvspublic/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v retrieving revision 1.28 diff -u -r1.28 ConstantsTable.pm --- xs/tables/current/Apache/ConstantsTable.pm 12 May 2003 13:00:15 -0000 1.28 +++ xs/tables/current/Apache/ConstantsTable.pm 30 Sep 2003 22:54:11 -0000 @@ -146,6 +146,11 @@ 'config' => [ 'DECLINE_CMD' ], + 'platform' => [ + 'CRLF', + 'CR', + 'LF' + ], 'types' => [ 'DIR_MAGIC_TYPE' ],
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]