You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@hyperreal.org on 1999/07/02 00:47:24 UTC
cvs commit: modperl/src/modules/perl Apache.xs mod_perl.h
dougm 99/07/01 15:47:23
Modified: . Changes ToDo
src/modules/perl Apache.xs mod_perl.h
Log:
$r->read will now properly check the return value of
ap_setup_client_block() and return undef if != OK,
e.g. if LimitRequestBody is exceeded
Revision Changes Path
1.315 +5 -1 modperl/Changes
Index: Changes
===================================================================
RCS file: /export/home/cvs/modperl/Changes,v
retrieving revision 1.314
retrieving revision 1.315
diff -u -r1.314 -r1.315
--- Changes 1999/07/01 22:07:11 1.314
+++ Changes 1999/07/01 22:47:14 1.315
@@ -8,7 +8,11 @@
=item 1.20_01-dev
-fix some problems with %ENV (e.g. SetEnv PATH cause mangled value)
+$r->read will now properly check the return value of
+ap_setup_client_block() and return undef if != OK,
+e.g. if LimitRequestBody is exceeded
+
+fix some problems with %ENV
loosen module/cookie tests
1.189 +0 -2 modperl/ToDo
Index: ToDo
===================================================================
RCS file: /export/home/cvs/modperl/ToDo,v
retrieving revision 1.188
retrieving revision 1.189
diff -u -r1.188 -r1.189
--- ToDo 1999/07/01 22:07:12 1.188
+++ ToDo 1999/07/01 22:47:15 1.189
@@ -3,8 +3,6 @@
(well, close to it anyhow)
---------------------------------------------------------------------------
-- need to check return value from ap_setup_client_block
-
- mod_perl_version.h should not be directly written to
- libapreq: Apache::Cookie format sync w/ CGI.pm
1.77 +13 -12 modperl/src/modules/perl/Apache.xs
Index: Apache.xs
===================================================================
RCS file: /export/home/cvs/modperl/src/modules/perl/Apache.xs,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- Apache.xs 1999/05/18 21:24:15 1.76
+++ Apache.xs 1999/07/01 22:47:19 1.77
@@ -866,11 +866,22 @@
PREINIT:
long nrd = 0;
+ int rc;
PPCODE:
buffer = (char*)safemalloc(bufsiz);
- PERL_READ_FROM_CLIENT;
- if ( nrd > 0 ) {
+ if ((rc = setup_client_block(r, REQUEST_CHUNKED_ERROR)) != OK) {
+ aplog_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, r->server,
+ "mod_perl: setup_client_block failed: %d", rc);
+ XSRETURN_UNDEF;
+ }
+
+ if(should_client_block(r)) {
+ nrd = get_client_block(r, buffer, bufsiz);
+ r->read_length = 0;
+ }
+
+ if (nrd > 0) {
XPUSHs(sv_2mortal(newSViv((long)nrd)));
sv_setpvn((SV*)ST(1), buffer, nrd);
#ifdef PERL_STASH_POST_DATA
@@ -1405,16 +1416,6 @@
OUTPUT:
RETVAL
-
-long
-read_length(r, len=-1)
- Apache r
- long len
-
- CODE:
- RETVAL = r->read_length;
- if(len > -1)
- r->read_length = len;
# /* MIME header environments, in and out. Also, an array containing
# * environment variables to be passed to subprocesses, so people can
1.81 +0 -28 modperl/src/modules/perl/mod_perl.h
Index: mod_perl.h
===================================================================
RCS file: /export/home/cvs/modperl/src/modules/perl/mod_perl.h,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- mod_perl.h 1999/07/01 22:07:19 1.80
+++ mod_perl.h 1999/07/01 22:47:20 1.81
@@ -665,34 +665,6 @@
#define CHAR_P char *
#endif
-/* bleh */
-#if MODULE_MAGIC_NUMBER >= 19961125
-#define PERL_READ_SETUP setup_client_block(r, REQUEST_CHUNKED_ERROR);
-#else
-#define PERL_READ_SETUP
-#endif
-
-#if MODULE_MAGIC_NUMBER >= 19970622
-#define PERL_SET_READ_LENGTH r->read_length = 0
-#else
-#define PERL_SET_READ_LENGTH
-#endif
-
-#if MODULE_MAGIC_NUMBER >= 19961125
-#define PERL_READ_CLIENT \
-if(should_client_block(r)) { \
- nrd = get_client_block(r, buffer, bufsiz); \
- PERL_SET_READ_LENGTH; \
-}
-#else
-#define PERL_READ_CLIENT \
-nrd = read_client_block(r, buffer, bufsiz);
-#endif
-
-#define PERL_READ_FROM_CLIENT \
-PERL_READ_SETUP; \
-PERL_READ_CLIENT
-
#define PUSHelt(key,val,klen) \
{ \
SV *psv = (SV*)newSVpv(val, 0); \