]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
ACLs: Negative rights were actually treated as positive rights.
authorTimo Sirainen <tss@iki.fi>
Mon, 8 Sep 2008 13:56:43 +0000 (16:56 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 8 Sep 2008 13:56:43 +0000 (16:56 +0300)
--HG--
branch : HEAD

src/plugins/acl/acl-cache.c

index 8675a194535145ee1a2abcc845fb385ff8de6f96..8d74dc706f56648d8efa64cddb7cfe5e369b14cf 100644 (file)
@@ -387,10 +387,8 @@ acl_cache_my_current_rights_recalculate(struct acl_object_cache *obj_cache)
                           rights. */
                        right_size = obj_cache->my_neg_rights[i]->size;
                        p = buffer_get_space_unsafe(bitmask, 0, right_size);
-                       for (j = 0; j < right_size; j++) {
-                               p[j] |=
-                                       obj_cache->my_neg_rights[i]->mask[j];
-                       }
+                       for (j = 0; j < right_size; j++)
+                               p[j] &= ~obj_cache->my_neg_rights[i]->mask[j];
                }
        }