--- src/acl.c.orig 2007-01-06 17:22:45.000000000 +0000 +++ src/acl.c 2008-01-21 22:46:42.000000000 +0000 @@ -1159,7 +1159,7 @@ case ACL_PROXY_AUTH_REGEX: return 1; case ACL_EXTERNAL: - return externalAclRequiresAuth(a->data); + return externalAclIsProxyAuth(a->data); default: return 0; } --- src/external_acl.c.orig 2007-01-01 23:32:13.000000000 +0000 +++ src/external_acl.c 2008-01-21 22:54:24.000000000 +0000 @@ -95,6 +95,7 @@ int cache_entries; dlink_list queue; int require_auth; + int is_proxy_auth; enum { QUOTE_METHOD_SHELL = 1, QUOTE_METHOD_URL @@ -274,6 +275,10 @@ } else if (strcmp(token, "%LOGIN") == 0) { format->type = EXT_ACL_LOGIN; a->require_auth = 1; + a->is_proxy_auth = 1; + } else if (strcmp(token, "%NOAUTH") == 0) { + format->type = EXT_ACL_LOGIN; + a->require_auth = 1; } #if USE_IDENT else if (strcmp(token, "%IDENT") == 0) @@ -1096,10 +1101,10 @@ } int -externalAclRequiresAuth(void *acl_data) +externalAclIsProxyAuth(void *acl_data) { external_acl_data *acl = acl_data; - return acl->def->require_auth; + return acl->def->is_proxy_auth; } static void --- src/protos.h.orig 2007-07-15 10:52:17.000000000 +0100 +++ src/protos.h 2008-01-21 22:52:29.000000000 +0000 @@ -1390,7 +1390,7 @@ extern void externalAclConfigure(void); extern void externalAclInit(void); extern void externalAclShutdown(void); -extern int externalAclRequiresAuth(void *acl_data); +extern int externalAclIsProxyAuth(void *acl_data); extern char *strtokFile(void); const char *externalAclMessage(external_acl_entry * entry);