Fossil SCM

Include the HTTP_REFERER value in the error log file. Also, omit empty environment variables from the error log.

drh 2018-06-24 23:22 UTC trunk
Commit 4c839973e4ae1b485b5b6f1df263841ed15768707fa86b631e775313e2eaa81c
1 file changed +4 -3
+4 -3
--- src/printf.c
+++ src/printf.c
@@ -988,11 +988,12 @@
988988
time_t now;
989989
FILE *out;
990990
const char *z;
991991
int i;
992992
va_list ap;
993
- static const char *const azEnv[] = { "HTTP_HOST", "HTTP_USER_AGENT",
993
+ static const char *const azEnv[] = { "HTTP_HOST", "HTTP_REFERER",
994
+ "HTTP_USER_AGENT",
994995
"PATH_INFO", "QUERY_STRING", "REMOTE_ADDR", "REQUEST_METHOD",
995996
"REQUEST_URI", "SCRIPT_NAME" };
996997
if( g.zErrlog==0 ) return;
997998
if( g.zErrlog[0]=='-' && g.zErrlog[1]==0 ){
998999
out = stderr;
@@ -1009,14 +1010,14 @@
10091010
vfprintf(out, zFormat, ap);
10101011
fprintf(out, "\n");
10111012
va_end(ap);
10121013
for(i=0; i<count(azEnv); i++){
10131014
char *p;
1014
- if( (p = fossil_getenv(azEnv[i]))!=0 ){
1015
+ if( (p = fossil_getenv(azEnv[i]))!=0 && p[0]!=0 ){
10151016
fprintf(out, "%s=%s\n", azEnv[i], p);
10161017
fossil_path_free(p);
1017
- }else if( (z = P(azEnv[i]))!=0 ){
1018
+ }else if( (z = P(azEnv[i]))!=0 && z[0]!=0 ){
10181019
fprintf(out, "%s=%s\n", azEnv[i], z);
10191020
}
10201021
}
10211022
fclose(out);
10221023
}
10231024
--- src/printf.c
+++ src/printf.c
@@ -988,11 +988,12 @@
988 time_t now;
989 FILE *out;
990 const char *z;
991 int i;
992 va_list ap;
993 static const char *const azEnv[] = { "HTTP_HOST", "HTTP_USER_AGENT",
 
994 "PATH_INFO", "QUERY_STRING", "REMOTE_ADDR", "REQUEST_METHOD",
995 "REQUEST_URI", "SCRIPT_NAME" };
996 if( g.zErrlog==0 ) return;
997 if( g.zErrlog[0]=='-' && g.zErrlog[1]==0 ){
998 out = stderr;
@@ -1009,14 +1010,14 @@
1009 vfprintf(out, zFormat, ap);
1010 fprintf(out, "\n");
1011 va_end(ap);
1012 for(i=0; i<count(azEnv); i++){
1013 char *p;
1014 if( (p = fossil_getenv(azEnv[i]))!=0 ){
1015 fprintf(out, "%s=%s\n", azEnv[i], p);
1016 fossil_path_free(p);
1017 }else if( (z = P(azEnv[i]))!=0 ){
1018 fprintf(out, "%s=%s\n", azEnv[i], z);
1019 }
1020 }
1021 fclose(out);
1022 }
1023
--- src/printf.c
+++ src/printf.c
@@ -988,11 +988,12 @@
988 time_t now;
989 FILE *out;
990 const char *z;
991 int i;
992 va_list ap;
993 static const char *const azEnv[] = { "HTTP_HOST", "HTTP_REFERER",
994 "HTTP_USER_AGENT",
995 "PATH_INFO", "QUERY_STRING", "REMOTE_ADDR", "REQUEST_METHOD",
996 "REQUEST_URI", "SCRIPT_NAME" };
997 if( g.zErrlog==0 ) return;
998 if( g.zErrlog[0]=='-' && g.zErrlog[1]==0 ){
999 out = stderr;
@@ -1009,14 +1010,14 @@
1010 vfprintf(out, zFormat, ap);
1011 fprintf(out, "\n");
1012 va_end(ap);
1013 for(i=0; i<count(azEnv); i++){
1014 char *p;
1015 if( (p = fossil_getenv(azEnv[i]))!=0 && p[0]!=0 ){
1016 fprintf(out, "%s=%s\n", azEnv[i], p);
1017 fossil_path_free(p);
1018 }else if( (z = P(azEnv[i]))!=0 && z[0]!=0 ){
1019 fprintf(out, "%s=%s\n", azEnv[i], z);
1020 }
1021 }
1022 fclose(out);
1023 }
1024

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button