-const char loaders_rcs[] = "$Id: loaders.c,v 1.24 2001/07/30 22:08:36 jongfoster Exp $";
+const char loaders_rcs[] = "$Id: loaders.c,v 1.22 2001/07/20 15:16:17 haroon Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/loaders.c,v $
*
* Revisions :
* $Log: loaders.c,v $
- * Revision 1.24 2001/07/30 22:08:36 jongfoster
- * Tidying up #defines:
- * - All feature #defines are now of the form FEATURE_xxx
- * - Permanently turned off WIN_GUI_EDIT
- * - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
- *
- * Revision 1.23 2001/07/20 15:51:54 oes
- * Fixed indentation of prepocessor commands
- *
* Revision 1.22 2001/07/20 15:16:17 haroon
* - per Guy's suggestion, added a while loop in sweep() to catch not just
* the last inactive CSP but all other consecutive inactive CSPs after that
* These are also entered in the main linked list of files.
*/
-#ifdef FEATURE_TRUST
+#ifdef TRUST_FILES
static struct file_list *current_trustfile = NULL;
-#endif /* def FEATURE_TRUST */
+#endif /* def TRUST_FILES */
static struct file_list *current_re_filterfile = NULL;
ncsp->rlist->active = 1;
}
-#ifdef FEATURE_TRUST
+#ifdef TRUST_FILES
if (ncsp->tlist) /* trust files */
{
ncsp->tlist->active = 1;
}
-#endif /* def FEATURE_TRUST */
+#endif /* def TRUST_FILES */
}
else
freez(ncsp->my_ip_addr_str);
freez(ncsp->my_hostname);
-#ifdef FEATURE_TRUST
+#ifdef TRUST_FILES
freez(ncsp->referrer);
-#endif /* def FEATURE_TRUST */
+#endif /* def TRUST_FILES */
freez(ncsp->x_forwarded);
freez(ncsp->iob->buf);
free_current_action(ncsp->action);
-#ifdef FEATURE_STATISTICS
+#ifdef STATISTICS
urls_read++;
if (ncsp->rejected)
{
urls_rejected++;
}
-#endif /* def FEATURE_STATISTICS */
+#endif /* def STATISTICS */
freez(ncsp);
(nfl->unloader)(nfl->f);
+#ifndef SPLIT_PROXY_ARGS
+ freez(nfl->proxy_args);
+#endif /* ndef SPLIT_PROXY_ARGS */
+
freez(nfl->filename);
freez(nfl);
* This will be set to NULL, OR a struct
* file_list newly allocated on the
* heap, with the filename and lastmodified
- * fields filled, and all others zeroed.
+ * fields filled, standard header giving file
+ * name in proxy_args, and all others zeroed.
+ * (proxy_args is only filled in if !defined
+ * SPLIT_PROXY_ARGS and !suppress_blocklists).
*
* Returns : If file unchanged: 0 (and sets newfl == NULL)
* If file changed: 1 and sets newfl != NULL
return 1;
}
+#ifndef SPLIT_PROXY_ARGS
+ if (!suppress_blocklists)
+ {
+ char * p = html_encode(filename);
+ if (p)
+ {
+ fs->proxy_args = strsav(fs->proxy_args, "<h2>The file `");
+ fs->proxy_args = strsav(fs->proxy_args, p);
+ fs->proxy_args = strsav(fs->proxy_args,
+ "' contains the following patterns</h2>\n");
+ freez(p);
+ }
+ fs->proxy_args = strsav(fs->proxy_args, "<pre>");
+ }
+#endif /* ndef SPLIT_PROXY_ARGS */
*newfl = fs;
return 1;
while (fgets(linebuf, sizeof(linebuf), fp))
{
+#ifndef SPLIT_PROXY_ARGS
+ if (fs && !suppress_blocklists)
+ {
+ char *html_line = html_encode(linebuf);
+ if (html_line != NULL)
+ {
+ fs->proxy_args = strsav(fs->proxy_args, html_line);
+ freez(html_line);
+ }
+ fs->proxy_args = strsav(fs->proxy_args, "<br>");
+ }
+#endif /* ndef SPLIT_PROXY_ARGS */
+
/* Trim off newline */
if ((p = strpbrk(linebuf, "\r\n")) != NULL)
{
}
-#ifdef FEATURE_TRUST
+#ifdef TRUST_FILES
/*********************************************************************
*
* Function : unload_trustfile
fclose(fp);
+#ifndef SPLIT_PROXY_ARGS
+ if (!suppress_blocklists)
+ {
+ fs->proxy_args = strsav(fs->proxy_args, "</pre>");
+ }
+#endif /* ndef SPLIT_PROXY_ARGS */
+
/* the old one is now obsolete */
if (current_trustfile)
{
return(-1);
}
-#endif /* def FEATURE_TRUST */
+#endif /* def TRUST_FILES */
/*********************************************************************
{
struct re_filterfile_spec *b = (struct re_filterfile_spec *)f;
- if (b == NULL)
- {
- return;
- }
+ if (b == NULL) return;
destroy_list(b->patterns);
pcrs_free_joblist(b->joblist);
fclose(fp);
+#ifndef SPLIT_PROXY_ARGS
+ if (!suppress_blocklists)
+ {
+ fs->proxy_args = strsav(fs->proxy_args, "</pre>");
+ }
+#endif /* ndef SPLIT_PROXY_ARGS */
+
/* the old one is now obsolete */
if ( NULL != current_re_filterfile )
{