summaryrefslogtreecommitdiff
path: root/source3/lib/access.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib/access.c')
-rw-r--r--source3/lib/access.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/lib/access.c b/source3/lib/access.c
index f59bf86057..c7ca164c39 100644
--- a/source3/lib/access.c
+++ b/source3/lib/access.c
@@ -190,8 +190,14 @@ BOOL allow_access(char **deny_list,char **allow_list,
/* if it is loopback then always allow unless specifically denied */
if (strcmp(caddr, "127.0.0.1") == 0) {
+ /*
+ * If 127.0.0.1 matches both allow and deny then allow.
+ * Patch from Steve Langasek vorlon@netexpress.net.
+ */
if (deny_list &&
- list_match(deny_list,(char *)client,client_match)) {
+ list_match(deny_list,(char *)client,client_match) &&
+ (!allow_list ||
+ !list_match(allow_list,(char *)client, client_match))) {
return False;
}
return True;