# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
# in the documentation. The default is NO.
-SHOW_DIRECTORIES = NO
+SHOW_DIRECTORIES = YES
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
# This will remove the Files entry from the Quick Index and from the
for (Tail = &values; *Tail; Tail = &((*Tail)->next));
while ((t = strtokFile())) {
+ if(strcmp(t, "PURGE") == 0) {
+ // we need to use PURGE, can't just blanket-deny it.
+ Config2.onoff.enable_purge = 1;
+ }
CbDataList<HttpRequestMethod> *q = new CbDataList<HttpRequestMethod> (HttpRequestMethod(t, NULL));
*(Tail) = q;
Tail = &q->next;
#endif
- if (aclPurgeMethodInUse(Config.accessList.http))
- Config2.onoff.enable_purge = 1;
+ // we have reconfigured and in the process disabled any need for PURGE.
+ // turn it off now.
+ if(Config2.onoff.enable_purge == 2)
+ Config2.onoff.enable_purge = 0;
Config2.onoff.mangle_request_headers = httpReqHdrManglersConfigured();
debugs(89, 5, HERE << "address BEGIN: me= " << me << ", client= " << client <<
", dst= " << dst << ", peer= " << peer);
+ /* NP: try TPROXY first, its much quieter than NAT when non-matching */
+ if (transparent_active) {
+ if ( NetfilterTransparent(fd, me, dst, silent) == 0) return 0;
+ }
+
if (intercept_active) {
/* NAT methods that use sock-opts to return client address */
if ( NetfilterInterception(fd, me, client, silent) == 0) return 0;
if ( PfInterception(fd, me, client, dst, silent) == 0) return 0;
if ( IpfInterception(fd, me, client, dst, silent) == 0) return 0;
}
- if (transparent_active) {
- if ( NetfilterTransparent(fd, me, dst, silent) == 0) return 0;
- }
#else /* none of the transparent options configured */
debugs(89, DBG_IMPORTANT, "WARNING: transparent proxying not supported");
errorClean();
enter_suid(); /* root to read config file */
+
+ // we may have disabled the need for PURGE
+ if(Config2.onoff.enable_purge)
+ Config2.onoff.enable_purge = 2;
+
parseConfigFile(ConfigFile);
+
setUmask(Config.umask);
Mem::Report();
setEffectiveUser();