summaryrefslogtreecommitdiff
path: root/debian/patches/userns/03_userns_implement_commonio_append
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/userns/03_userns_implement_commonio_append')
-rw-r--r--debian/patches/userns/03_userns_implement_commonio_append110
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 *);