diff options
Diffstat (limited to 'debian/patches/userns/03_userns_implement_commonio_append')
-rw-r--r-- | debian/patches/userns/03_userns_implement_commonio_append | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/debian/patches/userns/03_userns_implement_commonio_append b/debian/patches/userns/03_userns_implement_commonio_append new file mode 100644 index 00000000..b85d0123 --- /dev/null +++ b/debian/patches/userns/03_userns_implement_commonio_append @@ -0,0 +1,110 @@ +From ebiederm@xmission.com Tue Jan 22 09:15:19 2013 +Return-Path: <ebiederm@xmission.com> +X-Original-To: serge@hallyn.com +Delivered-To: serge@hallyn.com +Received: by mail.hallyn.com (Postfix, from userid 5001) + id CAFA8C80F6; Tue, 22 Jan 2013 09:15:19 +0000 (UTC) +X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail +X-Spam-Level: +X-Spam-Status: No, score=0.1 required=8.0 tests=BAD_ENC_HEADER,BAYES_00 + autolearn=no version=3.3.1 +Received: from out02.mta.xmission.com (out02.mta.xmission.com [166.70.13.232]) + (using TLSv1 with cipher AES256-SHA (256/256 bits)) + (No client certificate requested) + by mail.hallyn.com (Postfix) with ESMTPS id 43FAEC80D1 + for <serge@hallyn.com>; Tue, 22 Jan 2013 09:15:15 +0000 (UTC) +Received: from in02.mta.xmission.com ([166.70.13.52]) + by out02.mta.xmission.com with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) + (Exim 4.76) + (envelope-from <ebiederm@xmission.com>) + id 1TxZvA-0006sA-Pq; Tue, 22 Jan 2013 02:13:32 -0700 +Received: from c-98-207-153-68.hsd1.ca.comcast.net ([98.207.153.68] helo=eric-ThinkPad-X220.xmission.com) + by in02.mta.xmission.com with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) + (Exim 4.76) + (envelope-from <ebiederm@xmission.com>) + id 1TxZv8-0004VI-Fi; Tue, 22 Jan 2013 02:13:32 -0700 +From: ebiederm@xmission.com (Eric W. Biederman) +To: Nicolas =?utf-8?Q?Fran=C3=A7ois?= <nicolas.francois@centraliens.net> +Cc: <Pkg-shadow-devel@lists.alioth.debian.org>, Linux Containers <containers@lists.linux-foundation.org>, "Michael Kerrisk \(man-pages\)" <mtk.manpages@gmail.com>, "Serge E. Hallyn" <serge@hallyn.com> +References: <87d2wxshu0.fsf@xmission.com> +Date: Tue, 22 Jan 2013 01:13:26 -0800 +In-Reply-To: <87d2wxshu0.fsf@xmission.com> (Eric W. Biederman's message of + "Tue, 22 Jan 2013 01:11:19 -0800") +Message-ID: <87vcapr361.fsf@xmission.com> +User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) +MIME-Version: 1.0 +Content-Type: text/plain +X-XM-AID: U2FsdGVkX1++0A/mQBimfZkeNedO095IfnCYGQfIolI= +X-SA-Exim-Connect-IP: 98.207.153.68 +X-SA-Exim-Mail-From: ebiederm@xmission.com +Subject: [PATCH 03/11] Implement commonio_append. +X-SA-Exim-Version: 4.2.1 (built Wed, 14 Nov 2012 14:26:46 -0700) +X-SA-Exim-Scanned: Yes (on in02.mta.xmission.com) +X-UID: 2073 +Status: RO +Content-Length: 1874 +Lines: 65 + + +To support files that do not have a simple unique key implement +commonio_append to allow new entries to be added. + +Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> +--- + lib/commonio.c | 30 ++++++++++++++++++++++++++++++ + lib/commonio.h | 1 + + 2 files changed, 31 insertions(+), 0 deletions(-) + +Index: shadow/lib/commonio.c +=================================================================== +--- shadow.orig/lib/commonio.c 2013-02-01 15:27:51.376080384 -0600 ++++ shadow/lib/commonio.c 2013-02-01 15:27:51.368080384 -0600 +@@ -1121,6 +1121,36 @@ + return 1; + } + ++int commonio_append (struct commonio_db *db, const void *eptr) ++{ ++ struct commonio_entry *p; ++ void *nentry; ++ ++ if (!db->isopen || db->readonly) { ++ errno = EINVAL; ++ return 0; ++ } ++ nentry = db->ops->dup (eptr); ++ if (NULL == nentry) { ++ errno = ENOMEM; ++ return 0; ++ } ++ /* new entry */ ++ p = (struct commonio_entry *) malloc (sizeof *p); ++ if (NULL == p) { ++ db->ops->free (nentry); ++ errno = ENOMEM; ++ return 0; ++ } ++ ++ p->eptr = nentry; ++ p->line = NULL; ++ p->changed = true; ++ add_one_entry (db, p); ++ ++ db->changed = true; ++ return 1; ++} + + void commonio_del_entry (struct commonio_db *db, const struct commonio_entry *p) + { +Index: shadow/lib/commonio.h +=================================================================== +--- shadow.orig/lib/commonio.h 2013-02-01 15:27:51.376080384 -0600 ++++ shadow/lib/commonio.h 2013-02-01 15:27:51.368080384 -0600 +@@ -146,6 +146,7 @@ + extern int commonio_open (struct commonio_db *, int); + extern /*@observer@*/ /*@null@*/const void *commonio_locate (struct commonio_db *, const char *); + extern int commonio_update (struct commonio_db *, const void *); ++extern int commonio_append (struct commonio_db *, const void *); + extern int commonio_remove (struct commonio_db *, const char *); + extern int commonio_rewind (struct commonio_db *); + extern /*@observer@*/ /*@null@*/const void *commonio_next (struct commonio_db *); |