Commit 90934a3d authored by Yann E. MORIN's avatar Yann E. MORIN Committed by Peter Korsgaard
Browse files

package/keyutils: new package



Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Jarkko Sakkinen <jarkko.sakkinen@iki.fi>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent fd303038
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -741,6 +741,7 @@ endif
source "package/bwm-ng/Config.in"
source "package/cpuload/Config.in"
source "package/htop/Config.in"
source "package/keyutils/Config.in"
source "package/kmod/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/module-init-tools/Config.in"
+7 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_KEYUTILS
	bool "keyutils"
	help
	  These tools are used to control the key management system
	  built into the Linux kernel.
	  
	  http://people.redhat.com/~dhowells/keyutils/
+51 −0
Original line number Diff line number Diff line
Patch vampirised from Debian's packaging of keyutils-1.4

Author: Michael Gebetsroither <gebi@grml.org>
Description: Fixed memleak from realloc (Closes: #496466).

diff -Naurp keyutils.orig/keyutils.c keyutils/keyutils.c
--- keyutils.orig/keyutils.c	2008-08-09 21:46:52.000000000 +0200
+++ keyutils/keyutils.c	2008-08-25 13:38:07.000000000 +0200
@@ -165,6 +165,24 @@ long keyctl_assume_authority(key_serial_
 	return keyctl(KEYCTL_ASSUME_AUTHORITY, id);
 }
 
+
+/*****************************************************************************/
+/*
+ * plain realloc is just crazy
+ */
+static void* __xrealloc(void* ptr, size_t size)
+{
+    void* ret;
+
+    ret = realloc(ptr, size);
+    if(!ret) {
+        free(ptr);
+        return 0;
+    }
+    return ret;
+}
+
+
 /*****************************************************************************/
 /*
  * fetch key description into an allocated buffer
@@ -194,7 +212,7 @@ int keyctl_describe_alloc(key_serial_t i
 			break;
 
 		buflen = ret;
-		buf = realloc(buf, buflen);
+		buf = __xrealloc(buf, buflen);
 		if (!buf)
 			return -1;
 	}
@@ -233,7 +251,7 @@ int keyctl_read_alloc(key_serial_t id, v
 			break;
 
 		buflen = ret;
-		buf = realloc(buf, buflen + 1);
+		buf = __xrealloc(buf, buflen + 1);
 		if (!buf)
 			return -1;
 	}
+32 −0
Original line number Diff line number Diff line
Patch vampirised from Debian's packaging of keyutils-1.4

Author: Michael Gebetsroither <gebi@grml.org>
Description: Fixed another memleak (Closes: #496466).

diff -Naurp keyutils.orig/keyutils.c keyutils/keyutils.c
--- keyutils.orig/keyutils.c	2008-08-09 21:46:52.000000000 +0200
+++ keyutils/keyutils.c	2008-08-25 13:38:25.000000000 +0200
@@ -187,8 +187,10 @@ int keyctl_describe_alloc(key_serial_t i
 
 	for (;;) {
 		ret = keyctl_describe(id, buf, buflen);
-		if (ret < 0)
+		if (ret < 0) {
+            free(buf);
 			return -1;
+        }
 
 		if (buflen >= ret)
 			break;
@@ -226,8 +228,10 @@ int keyctl_read_alloc(key_serial_t id, v
 
 	for (;;) {
 		ret = keyctl_read(id, buf, buflen);
-		if (ret < 0)
+		if (ret < 0) {
+            free(buf);
 			return -1;
+        }
 
 		if (buflen >= ret)
 			break;
+15 −0
Original line number Diff line number Diff line
Patch vampirised from Debian's packaging of keyutils-1.4

Author: Marcus Meissner <meissner@suse.de>
Description: Added 2 cifs helpers to request-key.conf (for CIFS DFS support)

diff -Naurp keyutils.orig/request-key.conf keyutils/request-key.conf
--- keyutils.orig/request-key.conf	2008-09-07 23:53:10.000000000 +0000
+++ keyutils/request-key.conf	2009-02-05 00:53:00.000000000 +0000
@@ -34,4 +34,6 @@
 create	user	debug:*		negate		/bin/keyctl negate %k 30 %S
 create	user	debug:loop:*	*		|/bin/cat
 create	user	debug:*		*		/usr/share/keyutils/request-key-debug.sh %k %d %c %S
+create	cifs.spnego	*	*		/usr/sbin/cifs.upcall -c %k
+create	dns_resolver	*	*		/usr/sbin/cifs.upcall %k
 negate	*	*		*		/bin/keyctl negate %k 30 %S
Loading