[SVN] r378 - in /trunk/cyrus-imapd-2.2.13/debian/patches: 0002-allow_invalid_id_acl_removal.dpatch 00list

debian at incase.de debian at incase.de
Wed May 3 13:30:23 UTC 2006


Author: sven
Date: Wed May  3 15:30:19 2006
New Revision: 378

URL: https://mail.incase.de/viewcvs?rev=378&root=cyrus22&view=rev
Log:
Add upstream patch allowing ACL removal on invalid IDs

Added:
    trunk/cyrus-imapd-2.2.13/debian/patches/0002-allow_invalid_id_acl_removal.dpatch   (with props)
Modified:
    trunk/cyrus-imapd-2.2.13/debian/patches/00list

Added: trunk/cyrus-imapd-2.2.13/debian/patches/0002-allow_invalid_id_acl_removal.dpatch
URL: https://mail.incase.de/viewcvs/trunk/cyrus-imapd-2.2.13/debian/patches/0002-allow_invalid_id_acl_removal.dpatch?rev=378&root=cyrus22&view=auto
==============================================================================
--- trunk/cyrus-imapd-2.2.13/debian/patches/0002-allow_invalid_id_acl_removal.dpatch (added)
+++ trunk/cyrus-imapd-2.2.13/debian/patches/0002-allow_invalid_id_acl_removal.dpatch Wed May  3 15:30:19 2006
@@ -1,0 +1,51 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## fileHfCUIw.dpatch by Sven Mueller <debian at incase.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad cyrus-imapd-2.2.13/lib/acl_afs.c /tmp/dpep.4TxSCg/cyrus-imapd-2.2.13/lib/acl_afs.c
+--- cyrus-imapd-2.2.13/lib/acl_afs.c	2005-03-12 23:09:22.000000000 +0100
++++ /tmp/dpep.4TxSCg/cyrus-imapd-2.2.13/lib/acl_afs.c	2006-05-03 15:27:47.049193574 +0200
+@@ -114,6 +114,7 @@
+ cyrus_acl_canonproc_t *canonproc;
+ void *canonrock;
+ {
++    const char *canonid;
+     char *newidentifier = 0;
+     char *newacl;
+     char *thisid, *nextid;
+@@ -122,9 +123,14 @@
+ 
+     /* Convert 'identifier' into canonical form */
+     if (*identifier == '-') {
+-	char *canonid = auth_canonifyid(identifier+1, 0);
++	canonid = auth_canonifyid(identifier+1, 0);
+ 	if (!canonid) {
+-	    return -1;
++	    if (access != 0L) {
++		return -1;
++	    } else {
++		/* trying to delete invalid/non-existent identifier */
++		canonid = identifier+1;
++	    }
+ 	}
+ 	newidentifier = xmalloc(strlen(canonid)+2);
+ 	newidentifier[0] = '-';
+@@ -135,9 +141,13 @@
+ 	}
+     }
+     else {
+-	identifier = auth_canonifyid(identifier, 0);
+-	if (!identifier) {
++	canonid = auth_canonifyid(identifier, 0);
++	if (canonid) {
++	    identifier = canonid;
++	} else if (access != 0L) {
+ 	    return -1;
++	} else {
++	    /* trying to delete invalid/non-existent identifier */
+ 	}
+ 	if (canonproc) {
+ 	    access = canonproc(canonrock, identifier, access);

Propchange: trunk/cyrus-imapd-2.2.13/debian/patches/0002-allow_invalid_id_acl_removal.dpatch
------------------------------------------------------------------------------
    svn:executable = *

Modified: trunk/cyrus-imapd-2.2.13/debian/patches/00list
URL: https://mail.incase.de/viewcvs/trunk/cyrus-imapd-2.2.13/debian/patches/00list?rev=378&root=cyrus22&r1=377&r2=378&view=diff
==============================================================================
--- trunk/cyrus-imapd-2.2.13/debian/patches/00list (original)
+++ trunk/cyrus-imapd-2.2.13/debian/patches/00list Wed May  3 15:30:19 2006
@@ -1,4 +1,5 @@
 0001-upstream-fix-segfault.dpatch
+0002-allow_invalid_id_acl_removal.dpatch
 01-fix_Makefile.in.dpatch
 02-add_mkinstalldirs.dpatch
 03-fix_docs.dpatch




More information about the Pkg-Cyrus-imapd-Debian-devel mailing list