]> granicus.if.org Git - apache/commitdiff
Call out the success cases when we don't get APR_SUCCESS back from the
authorRyan Bloom <rbb@apache.org>
Mon, 30 Sep 2002 23:43:18 +0000 (23:43 +0000)
committerRyan Bloom <rbb@apache.org>
Mon, 30 Sep 2002 23:43:18 +0000 (23:43 +0000)
network write.  All other status codes result in c->aborted being set,
which allows the logs to note that the connection was aborted.  Previous
to this patch, if the network cable was unplugged on the client, the server
would get APR_ETIMEUP, but we wouldn't note that the connection was
aborted.

Submitted by: Ryan Morgan <rmorgan@covalent.net>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@97038 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/ssl_expr_scan.c
server/core.c

index 60c9fba59c0c45018b7a48d9cbe240899d0f863d..bfd6cfd07f92fd9d6b2d3645c0c018a70a2acecd 100644 (file)
@@ -18,7 +18,6 @@
 /* A lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /home/striker/cvs2svn/dumps/httpd-2.0/../../httpd-2.0/modules/ssl/ssl_expr_scan.c,v 1.10 2002/05/10 03:55:41 wrowe Exp $
  */
 
 #define FLEX_SCANNER
@@ -58,8 +57,8 @@
 #endif /* ! __cplusplus */
 
 #ifdef __TURBOC__
-#pragma warn -rch
-#pragma warn -use
+ #pragma warn -rch
+ #pragma warn -use
 #include <io.h>
 #include <stdlib.h>
 #define YY_USE_CONST
@@ -444,7 +443,7 @@ static char *yy_last_accepting_cpos;
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-#line 1 "ssl_expr_scan.l"
+#line 1 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 #define INITIAL 0
 /*                      _             _ 
 **  _ __ ___   ___   __| |    ___ ___| |  
@@ -511,7 +510,7 @@ like fucking for virginity.''
 **  Expression Scanner
 **  _________________________________________________________________
 */
-#line 70 "ssl_expr_scan.l"
+#line 70 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 #include "mod_ssl.h"
 
 #include "ssl_expr_parse.h"
@@ -682,7 +681,7 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
 
-#line 91 "ssl_expr_scan.l"
+#line 91 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 
   
   char  caStr[MAX_STR_LEN];
@@ -775,7 +774,7 @@ do_action:  /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 102 "ssl_expr_scan.l"
+#line 102 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { 
     /* NOP */
 }
@@ -785,7 +784,7 @@ YY_RULE_SETUP
   */
 case 2:
 YY_RULE_SETUP
-#line 109 "ssl_expr_scan.l"
+#line 109 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     cpStr = caStr;
     BEGIN(str);
@@ -793,7 +792,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 113 "ssl_expr_scan.l"
+#line 113 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     BEGIN(INITIAL);
     *cpStr = NUL;
@@ -803,14 +802,14 @@ YY_RULE_SETUP
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 119 "ssl_expr_scan.l"
+#line 119 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     yyerror("Unterminated string");
 }
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 122 "ssl_expr_scan.l"
+#line 122 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     int result;
 
@@ -823,46 +822,46 @@ YY_RULE_SETUP
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 131 "ssl_expr_scan.l"
+#line 131 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     yyerror("Bad escape sequence");
 }
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 134 "ssl_expr_scan.l"
+#line 134 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { *cpStr++ = '\n'; }
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 135 "ssl_expr_scan.l"
+#line 135 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { *cpStr++ = '\r'; }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 136 "ssl_expr_scan.l"
+#line 136 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { *cpStr++ = '\t'; }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 137 "ssl_expr_scan.l"
+#line 137 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { *cpStr++ = '\b'; }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 138 "ssl_expr_scan.l"
+#line 138 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { *cpStr++ = '\f'; }
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 139 "ssl_expr_scan.l"
+#line 139 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     *cpStr++ = yytext[1];
 }
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 142 "ssl_expr_scan.l"
+#line 142 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     char *cp = yytext;
     while (*cp != NUL)
@@ -871,7 +870,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 147 "ssl_expr_scan.l"
+#line 147 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     *cpStr++ = yytext[1];
 }
@@ -881,7 +880,7 @@ YY_RULE_SETUP
   */
 case 15:
 YY_RULE_SETUP
-#line 154 "ssl_expr_scan.l"
+#line 154 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     cRegexDel = yytext[1];
     cpRegex = caRegex;
@@ -890,7 +889,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 159 "ssl_expr_scan.l"
+#line 159 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     if (yytext[0] == cRegexDel) {
         *cpRegex = NUL;
@@ -903,7 +902,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 168 "ssl_expr_scan.l"
+#line 168 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     yylval.cpVal = apr_pstrdup(ssl_expr_info.pool, caRegex);
     BEGIN(INITIAL);
@@ -912,7 +911,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 173 "ssl_expr_scan.l"
+#line 173 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     yylval.cpVal = apr_pstrdup(ssl_expr_info.pool, caRegex);
     yyless(0);
@@ -921,7 +920,7 @@ YY_RULE_SETUP
 }
        YY_BREAK
 case YY_STATE_EOF(regex_flags):
-#line 179 "ssl_expr_scan.l"
+#line 179 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     yylval.cpVal = apr_pstrdup(ssl_expr_info.pool, caRegex);
     BEGIN(INITIAL);
@@ -933,107 +932,107 @@ case YY_STATE_EOF(regex_flags):
   */
 case 19:
 YY_RULE_SETUP
-#line 188 "ssl_expr_scan.l"
+#line 188 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_EQ; }
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 189 "ssl_expr_scan.l"
+#line 189 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_EQ; }
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 190 "ssl_expr_scan.l"
+#line 190 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_NE; }
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 191 "ssl_expr_scan.l"
+#line 191 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_NE; }
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 192 "ssl_expr_scan.l"
+#line 192 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_LT; }
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 193 "ssl_expr_scan.l"
+#line 193 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_LT; }
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 194 "ssl_expr_scan.l"
+#line 194 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_LE; }
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 195 "ssl_expr_scan.l"
+#line 195 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_LE; }
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 196 "ssl_expr_scan.l"
+#line 196 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_GT; }
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 197 "ssl_expr_scan.l"
+#line 197 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_GT; }
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 198 "ssl_expr_scan.l"
+#line 198 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_GE; }
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 199 "ssl_expr_scan.l"
+#line 199 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_GE; }
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 200 "ssl_expr_scan.l"
+#line 200 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_REG; }
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 201 "ssl_expr_scan.l"
+#line 201 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_NRE; }
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 202 "ssl_expr_scan.l"
+#line 202 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_AND; }
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 203 "ssl_expr_scan.l"
+#line 203 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_AND; }
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 204 "ssl_expr_scan.l"
+#line 204 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_OR; }
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 205 "ssl_expr_scan.l"
+#line 205 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_OR; }
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 206 "ssl_expr_scan.l"
+#line 206 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_NOT; }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 207 "ssl_expr_scan.l"
+#line 207 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_NOT; }
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 208 "ssl_expr_scan.l"
+#line 208 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_OP_IN; }
        YY_BREAK
 /*
@@ -1041,7 +1040,7 @@ YY_RULE_SETUP
   */
 case 40:
 YY_RULE_SETUP
-#line 213 "ssl_expr_scan.l"
+#line 213 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_FUNC_FILE; }
        YY_BREAK
 /*
@@ -1049,12 +1048,12 @@ YY_RULE_SETUP
   */
 case 41:
 YY_RULE_SETUP
-#line 218 "ssl_expr_scan.l"
+#line 218 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_TRUE; }
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 219 "ssl_expr_scan.l"
+#line 219 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { return T_FALSE; }
        YY_BREAK
 /*
@@ -1062,7 +1061,7 @@ YY_RULE_SETUP
   */
 case 43:
 YY_RULE_SETUP
-#line 224 "ssl_expr_scan.l"
+#line 224 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     yylval.cpVal = apr_pstrdup(ssl_expr_info.pool, yytext);
     return T_DIGIT;
@@ -1073,7 +1072,7 @@ YY_RULE_SETUP
   */
 case 44:
 YY_RULE_SETUP
-#line 232 "ssl_expr_scan.l"
+#line 232 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 {
     yylval.cpVal = apr_pstrdup(ssl_expr_info.pool, yytext);
     return T_ID;
@@ -1084,14 +1083,14 @@ YY_RULE_SETUP
   */
 case 45:
 YY_RULE_SETUP
-#line 240 "ssl_expr_scan.l"
+#line 240 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 { 
     return yytext[0];
 }
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 244 "ssl_expr_scan.l"
+#line 244 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
 #line 1098 "lex.ssl_expr_yy.c"
@@ -1983,7 +1982,7 @@ int main()
        return 0;
        }
 #endif
-#line 244 "ssl_expr_scan.l"
+#line 244 "/home/rbb/httpd-2.0/modules/ssl/ssl_expr_scan.l"
 
 
 int yyinput(char *buf, int max_size)
index f02855c9c81434ce657e2508e5b78180ecf845ae..1d49f656ae3caa24cef32b491d39516a61f318a0 100644 (file)
@@ -3910,9 +3910,8 @@ static apr_status_t core_output_filter(ap_filter_t *f, apr_bucket_brigade *b)
             if (more)
                 apr_brigade_destroy(more);
 
-            if (APR_STATUS_IS_ECONNABORTED(rv)
-                || APR_STATUS_IS_ECONNRESET(rv)
-                || APR_STATUS_IS_EPIPE(rv)) {
+            /* No need to check for SUCCESS, we did that above. */
+            if (!APR_STATUS_IS_EAGAIN(rv)) {
                 c->aborted = 1;
             }