Hello community, here is the log from the commit of package libcap checked in at Tue Dec 19 23:24:00 CET 2006. -------- --- libcap/libcap.changes 2006-05-24 16:56:54.000000000 +0200 +++ /mounts/work_src_done/STABLE/libcap/libcap.changes 2006-12-19 19:08:18.000000000 +0100 @@ -1,0 +2,5 @@ +Tue Dec 19 18:32:28 CET 2006 - tiwai@suse.de + +- update to libcap-1.10 to support fscaps (#229722, FATE#301748) + +------------------------------------------------------------------- Old: ---- gcc3.diff libcap-1.92.diff libcap-1.92.tar.bz2 libcap-memleak.diff libcap-strip.diff New: ---- libcap-1.10.diff libcap-1.10.tar.bz2 libcap-shlib-fix.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libcap.spec ++++++ --- /var/tmp/diff_new_pack.z3prDW/_old 2006-12-19 23:23:49.000000000 +0100 +++ /var/tmp/diff_new_pack.z3prDW/_new 2006-12-19 23:23:49.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package libcap (Version 1.92) +# spec file for package libcap (Version 1.10) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -11,26 +11,23 @@ # norootforbuild Name: libcap -License: BSD +License: BSD License and BSD-like Group: System/Libraries Autoreqprov: on Summary: Library and Binaries for Capabilities (linux-privs) Support -Version: 1.92 -Release: 500 -Source: ftp://ftp.de.kernel.org/pub/linux/libs/security/linux-privs/old/kernel-2.3/libcap-1.92.tar.bz2 -#Source1: ftp://ftp.de.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.3/fcaps-2.2.9-990610.patch.bz2 -#Source2: ftp://ftp.de.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.3/fcap-module-990613.tar.bz2 +Version: 1.10 +Release: 1 +Source: ftp://ftp.de.kernel.org/pub/linux/libs/security/linux-privs/old/kernel-2.4/libcap-1.10.tar.bz2 Source3: ftp://ftp.de.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/uid-proc.patch -Source4: ftp://ftp.de.kernel.org/pub/linux/libs/security/linux-privs/old/kernel-2.3/README +Source4: ftp://ftp.de.kernel.org/pub/linux/libs/security/linux-privs/old/kernel-2.4/README Source5: ftp://ftp.de.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/capfaq-0.2.txt.gz Patch: libcap-%{version}.diff -Patch1: gcc3.diff +# Patch1: gcc3.diff Patch2: header.patch +Patch1: libcap-shlib-fix.diff Patch3: libcap.eal3.diff Patch4: libcap-gcc-warning-fixes.diff -Patch5: libcap-memleak.diff Patch6: libcap-invalid-free-fix.diff -Patch7: libcap-strip.diff #URL: http://www.kernel.org/ #Prefix: /usr BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -64,19 +61,15 @@ %prep %setup -%patch -p1 -if ! gcc -v 2>&1 | grep -q 2.95 ; then -%patch1 -p1 -fi +%patch +%patch1 %patch2 %patch3 -p2 %patch4 -%patch5 %patch6 -%patch7 %build -lib=%{_lib} make LDFLAGS= +lib=%{_lib} make LDFLAGS= COPTFLAG="$RPM_OPT_FLAGS" %install make install FAKEROOT=$RPM_BUILD_ROOT LIBDIR=$RPM_BUILD_ROOT/%{_lib} MANDIR=$RPM_BUILD_ROOT%{_mandir} @@ -98,10 +91,6 @@ /sbin/setpcaps /sbin/execcap /sbin/sucap -/sbin/getcap -/sbin/setcap -%{_mandir}/man8/getcap.8.gz -%{_mandir}/man8/setcap.8.gz %files devel %defattr(-,root,root) @@ -111,6 +100,8 @@ %{_mandir}/man3/* %changelog -n libcap +* Tue Dec 19 2006 - tiwai@suse.de +- update to libcap-1.10 to support fscaps (#229722, FATE#301748) * Wed May 24 2006 - schwab@suse.de - Don't strip binaries. * Thu May 11 2006 - tiwai@suse.de ++++++ capfaq-0.2.txt.gz ++++++ Binary files libcap/capfaq-0.2.txt.gz and /mounts/work_src_done/STABLE/libcap/capfaq-0.2.txt.gz differ ++++++ header.patch ++++++ --- /var/tmp/diff_new_pack.z3prDW/_old 2006-12-19 23:23:50.000000000 +0100 +++ /var/tmp/diff_new_pack.z3prDW/_new 2006-12-19 23:23:50.000000000 +0100 @@ -1,261 +1,11 @@ ---- libcap/_makenames.c -+++ libcap/_makenames.c +--- libcap/_makenames.c-dist 1999-05-14 06:46:15.000000000 +0200 ++++ libcap/_makenames.c 2006-12-19 17:56:11.000000000 +0100 @@ -9,7 +9,7 @@ #include <stdio.h> #include <stdlib.h> -#include <linux/capability.h> -+#include <sys/capability.h> ++#include "include/sys/capability.h" /* * #include 'sed' generated array -@@ -40,7 +40,7 @@ - printf("/*\n" - " * DO NOT EDIT: this file is generated automatically from\n" - " *\n" -- " * <linux/capability.h>\n" -+ " * <sys/capability.h>\n" - " */\n" - "#define __CAP_BITS %d\n" - "\n" ---- libcap/include/sys/capability.h -+++ libcap/include/sys/capability.h -@@ -21,7 +21,237 @@ - */ - - #include <sys/types.h> --#include <linux/capability.h> -+ -+#define _LINUX_CAPABILITY_VERSION 0x19980330 -+ -+typedef struct __user_cap_header_struct { -+ int version; -+ int pid; -+} *cap_user_header_t; -+ -+typedef struct __user_cap_data_struct { -+ int effective; -+ int permitted; -+ int inheritable; -+} *cap_user_data_t; -+ -+/** -+ ** POSIX-draft defined capabilities. -+ **/ -+ -+/* In a system with the [_POSIX_CHOWN_RESTRICTED] option defined, this -+ overrides the restriction of changing file ownership and group -+ ownership. */ -+ -+#define CAP_CHOWN 0 -+ -+/* Override all DAC access, including ACL execute access if -+ [_POSIX_ACL] is defined. Excluding DAC access covered by -+ CAP_LINUX_IMMUTABLE. */ -+ -+#define CAP_DAC_OVERRIDE 1 -+ -+/* Overrides all DAC restrictions regarding read and search on files -+ and directories, including ACL restrictions if [_POSIX_ACL] is -+ defined. Excluding DAC access covered by CAP_LINUX_IMMUTABLE. */ -+ -+#define CAP_DAC_READ_SEARCH 2 -+ -+/* Overrides all restrictions about allowed operations on files, where -+ file owner ID must be equal to the user ID, except where CAP_FSETID -+ is applicable. It doesn't override MAC and DAC restrictions. */ -+ -+#define CAP_FOWNER 3 -+ -+/* Overrides the following restrictions that the effective user ID -+ shall match the file owner ID when setting the S_ISUID and S_ISGID -+ bits on that file; that the effective group ID (or one of the -+ supplementary group IDs) shall match the file owner ID when setting -+ the S_ISGID bit on that file; that the S_ISUID and S_ISGID bits are -+ cleared on successful return from chown(2) (not implemented). */ -+ -+#define CAP_FSETID 4 -+ -+/* Used to decide between falling back on the old suser() or fsuser(). */ -+ -+#define CAP_FS_MASK 0x1f -+ -+/* Overrides the restriction that the real or effective user ID of a -+ process sending a signal must match the real or effective user ID -+ of the process receiving the signal. */ -+ -+#define CAP_KILL 5 -+ -+/* Allows setgid(2) manipulation */ -+/* Allows setgroups(2) */ -+/* Allows forged gids on socket credentials passing. */ -+ -+#define CAP_SETGID 6 -+ -+/* Allows set*uid(2) manipulation (including fsuid). */ -+/* Allows forged pids on socket credentials passing. */ -+ -+#define CAP_SETUID 7 -+ -+ -+/** -+ ** Linux-specific capabilities -+ **/ -+ -+/* Transfer any capability in your permitted set to any pid, -+ remove any capability in your permitted set from any pid */ -+ -+#define CAP_SETPCAP 8 -+ -+/* Allow modification of S_IMMUTABLE and S_APPEND file attributes */ -+ -+#define CAP_LINUX_IMMUTABLE 9 -+ -+/* Allows binding to TCP/UDP sockets below 1024 */ -+/* Allows binding to ATM VCIs below 32 */ -+ -+#define CAP_NET_BIND_SERVICE 10 -+ -+/* Allow broadcasting, listen to multicast */ -+ -+#define CAP_NET_BROADCAST 11 -+ -+/* Allow interface configuration */ -+/* Allow administration of IP firewall, masquerading and accounting */ -+/* Allow setting debug option on sockets */ -+/* Allow modification of routing tables */ -+/* Allow setting arbitrary process / process group ownership on -+ sockets */ -+/* Allow binding to any address for transparent proxying */ -+/* Allow setting TOS (type of service) */ -+/* Allow setting promiscuous mode */ -+/* Allow clearing driver statistics */ -+/* Allow multicasting */ -+/* Allow read/write of device-specific registers */ -+/* Allow activation of ATM control sockets */ -+ -+#define CAP_NET_ADMIN 12 -+ -+/* Allow use of RAW sockets */ -+/* Allow use of PACKET sockets */ -+ -+#define CAP_NET_RAW 13 -+ -+/* Allow locking of shared memory segments */ -+/* Allow mlock and mlockall (which doesn't really have anything to do -+ with IPC) */ -+ -+#define CAP_IPC_LOCK 14 -+ -+/* Override IPC ownership checks */ -+ -+#define CAP_IPC_OWNER 15 -+ -+/* Insert and remove kernel modules - modify kernel without limit */ -+/* Modify cap_bset */ -+#define CAP_SYS_MODULE 16 -+ -+/* Allow ioperm/iopl access */ -+/* Allow sending USB messages to any device via /proc/bus/usb */ -+ -+#define CAP_SYS_RAWIO 17 -+ -+/* Allow use of chroot() */ -+ -+#define CAP_SYS_CHROOT 18 -+ -+/* Allow ptrace() of any process */ -+ -+#define CAP_SYS_PTRACE 19 -+ -+/* Allow configuration of process accounting */ -+ -+#define CAP_SYS_PACCT 20 -+ -+/* Allow configuration of the secure attention key */ -+/* Allow administration of the random device */ -+/* Allow examination and configuration of disk quotas */ -+/* Allow configuring the kernel's syslog (printk behaviour) */ -+/* Allow setting the domainname */ -+/* Allow setting the hostname */ -+/* Allow calling bdflush() */ -+/* Allow mount() and umount(), setting up new smb connection */ -+/* Allow some autofs root ioctls */ -+/* Allow nfsservctl */ -+/* Allow VM86_REQUEST_IRQ */ -+/* Allow to read/write pci config on alpha */ -+/* Allow irix_prctl on mips (setstacksize) */ -+/* Allow flushing all cache on m68k (sys_cacheflush) */ -+/* Allow removing semaphores */ -+/* Used instead of CAP_CHOWN to "chown" IPC message queues, semaphores -+ and shared memory */ -+/* Allow locking/unlocking of shared memory segment */ -+/* Allow turning swap on/off */ -+/* Allow forged pids on socket credentials passing */ -+/* Allow setting readahead and flushing buffers on block devices */ -+/* Allow setting geometry in floppy driver */ -+/* Allow turning DMA on/off in xd driver */ -+/* Allow administration of md devices (mostly the above, but some -+ extra ioctls) */ -+/* Allow tuning the ide driver */ -+/* Allow access to the nvram device */ -+/* Allow administration of apm_bios, serial and bttv (TV) device */ -+/* Allow manufacturer commands in isdn CAPI support driver */ -+/* Allow reading non-standardized portions of pci configuration space */ -+/* Allow DDI debug ioctl on sbpcd driver */ -+/* Allow setting up serial ports */ -+/* Allow sending raw qic-117 commands */ -+/* Allow enabling/disabling tagged queuing on SCSI controllers and sending -+ arbitrary SCSI commands */ -+/* Allow setting encryption key on loopback filesystem */ -+ -+#define CAP_SYS_ADMIN 21 -+ -+/* Allow use of reboot() */ -+ -+#define CAP_SYS_BOOT 22 -+ -+/* Allow raising priority and setting priority on other (different -+ UID) processes */ -+/* Allow use of FIFO and round-robin (realtime) scheduling on own -+ processes and setting the scheduling algorithm used by another -+ process. */ -+/* Allow setting cpu affinity on other processes */ -+ -+#define CAP_SYS_NICE 23 -+ -+/* Override resource limits. Set resource limits. */ -+/* Override quota limits. */ -+/* Override reserved space on ext2 filesystem */ -+/* Modify data journaling mode on ext3 filesystem (uses journaling -+ resources) */ -+/* NOTE: ext2 honors fsuid when checking for resource overrides, so -+ you can override using fsuid too */ -+/* Override size restrictions on IPC message queues */ -+/* Allow more than 64hz interrupts from the real-time clock */ -+/* Override max number of consoles on console allocation */ -+/* Override max number of keymaps */ -+ -+#define CAP_SYS_RESOURCE 24 -+ -+/* Allow manipulation of system clock */ -+/* Allow irix_stime on mips */ -+/* Allow setting the real-time clock */ -+ -+#define CAP_SYS_TIME 25 -+ -+/* Allow configuration of tty devices */ -+/* Allow vhangup() of tty */ -+ -+#define CAP_SYS_TTY_CONFIG 26 -+ -+/* Allow the privileged aspects of mknod() */ -+ -+#define CAP_MKNOD 27 -+ -+/* Allow taking of leases on files */ -+ -+#define CAP_LEASE 28 - - /* - * POSIX capability types ++++++ libcap-1.92.diff -> libcap-1.10.diff ++++++ --- libcap/libcap-1.92.diff 2005-01-19 16:28:56.000000000 +0100 +++ /mounts/work_src_done/STABLE/libcap/libcap-1.10.diff 2006-12-19 18:23:55.000000000 +0100 @@ -1,7 +1,14 @@ -diff -uNr libcap-1.92/Make.Rules libcap-1.92.fixed/Make.Rules ---- libcap-1.92/Make.Rules 1999-05-14 05:26:51.000000000 +0000 -+++ libcap-1.92.fixed/Make.Rules 2002-04-19 20:04:56.000000000 +0000 -@@ -18,13 +18,13 @@ +--- Make.Rules-dist 1999-11-18 07:06:02.000000000 +0100 ++++ Make.Rules 2006-12-19 18:18:57.000000000 +0100 +@@ -14,17 +14,21 @@ + # Otherwise binaries and libraraies are installed in /{lib,sbin}/, + # header files in /usr/include/ and documentation in /usr/man/man?/. + ++ifndef lib ++lib=lib ++endif ++ + ifdef prefix exec_prefix=$(prefix) lib_prefix=$(exec_prefix) inc_prefix=$(lib_prefix) @@ -17,29 +24,43 @@ endif # Target directories -@@ -43,8 +43,8 @@ +@@ -32,7 +36,7 @@ + MANDIR=$(FAKEROOT)$(man_prefix)/man + SBINDIR=$(FAKEROOT)$(exec_prefix)/sbin + INCDIR=$(FAKEROOT)$(inc_prefix)/include +-LIBDIR=$(FAKEROOT)$(lib_prefix)/lib ++LIBDIR=$(FAKEROOT)$(lib_prefix)/$(lib) + + # common defines for libcap (suitable for 2.2.1+ Linux kernels) + VERSION=1 +@@ -43,11 +47,11 @@ CC=gcc COPTFLAGS=-O2 -DEBUG=-g #-DDEBUG +-WARNINGS=-ansi -D_POSIX_SOURCE -Wall -Wwrite-strings \ +DEBUG=-O2 -g #-DDEBUG - WARNINGS=-ansi -D_POSIX_SOURCE -Wall -Wwrite-strings \ ++WARNINGS=-D_POSIX_SOURCE -Wall -Wwrite-strings \ -Wpointer-arith -Wcast-qual -Wcast-align \ - -Wtraditional -Wstrict-prototypes -Wmissing-prototypes \ - -Wnested-externs -Winline -Wshadow -pedantic -diff -uNr libcap-1.92/libcap/Makefile libcap-1.92.fixed/libcap/Makefile ---- libcap-1.92/libcap/Makefile 1999-04-23 06:15:10.000000000 +0000 -+++ libcap-1.92.fixed/libcap/Makefile 2002-04-20 09:07:33.000000000 +0000 -@@ -13,7 +13,7 @@ +- -Wtraditional -Wstrict-prototypes -Wmissing-prototypes \ +- -Wnested-externs -Winline -Wshadow -pedantic ++ -Wstrict-prototypes -Wmissing-prototypes \ ++ -Wnested-externs -Winline -Wshadow + LD=ld + LDFLAGS=-s #-g + +--- libcap/Makefile-dist 1999-04-18 00:16:31.000000000 +0200 ++++ libcap/Makefile 2006-12-19 18:18:44.000000000 +0100 +@@ -32,7 +32,7 @@ LIBNAME=libcap.so # --FILES=cap_alloc cap_proc cap_extint cap_flag cap_text cap_sys cap_file -+FILES=cap_alloc cap_proc cap_extint cap_flag cap_text cap_sys cap_file #cap_sys2 +-FILES=cap_alloc cap_proc cap_extint cap_flag cap_text cap_sys ++FILES=cap_alloc cap_proc cap_extint cap_flag cap_text cap_sys #cap_sys2 - INCLS=libcap.h cap_names.h $(INCS) - OBJS=$(addsuffix .o, $(FILES)) -@@ -41,6 +41,9 @@ + # for later when there is filesystem support for cap's: + #FILES += cap_file +@@ -63,6 +63,9 @@ %.o: %.c $(INCLS) $(CC) $(CFLAGS) -c $< -o $@ @@ -49,9 +70,8 @@ install: all mkdir -p -m 0755 $(INCDIR)/sys install -m 0644 include/sys/capability.h $(INCDIR)/sys -diff -uNr libcap-1.92/libcap/cap_sys.c libcap-1.92.fixed/libcap/cap_sys.c ---- libcap-1.92/libcap/cap_sys.c 1999-04-23 06:16:31.000000000 +0000 -+++ libcap-1.92.fixed/libcap/cap_sys.c 2002-04-20 08:59:55.000000000 +0000 +--- libcap/cap_sys.c-dist 1999-04-18 00:16:31.000000000 +0200 ++++ libcap/cap_sys.c 2006-12-19 18:18:44.000000000 +0100 @@ -11,6 +11,8 @@ #define __LIBRARY__ #include <linux/unistd.h> @@ -61,17 +81,16 @@ _syscall2(int, capget, cap_user_header_t, header, cap_user_data_t, data) -@@ -18,6 +20,7 @@ +@@ -18,6 +20,7 @@ _syscall2(int, capget, _syscall2(int, capset, cap_user_header_t, header, const cap_user_data_t, data) +#endif - /* library defaults to agreeing with the kernel under which it was - compiled */ -diff -uNr libcap-1.92/libcap/cap_sys2.c libcap-1.92.fixed/libcap/cap_sys2.c ---- libcap-1.92/libcap/cap_sys2.c 1970-01-01 00:00:00.000000000 +0000 -+++ libcap-1.92.fixed/libcap/cap_sys2.c 2002-04-20 09:04:44.000000000 +0000 + /* + * $Log: cap_sys.c,v $ +--- libcap/cap_sys2.c-dist 2006-12-19 18:18:44.000000000 +0100 ++++ libcap/cap_sys2.c 2006-12-19 18:18:44.000000000 +0100 @@ -0,0 +1,10 @@ +#include <linux/unistd.h> +#include <linux/capability.h> @@ -83,36 +102,3 @@ +_syscall2(int, capset, + cap_user_header_t, header, + const cap_user_data_t, data) ---- libcap-1.92/Make.Rules.ORG 2002-09-04 12:32:13.000000000 +0200 -+++ libcap-1.92/Make.Rules 2002-09-04 12:35:32.000000000 +0200 -@@ -14,6 +14,10 @@ - # Otherwise binaries and libraries are installed in /{lib,sbin}/, - # header files in /usr/include/ and documentation in /usr/man/man?/. - -+ifndef lib -+lib=lib -+endif -+ - ifdef prefix - exec_prefix=$(prefix) - lib_prefix=$(exec_prefix) -@@ -32,7 +36,7 @@ - MANDIR=$(FAKEROOT)$(man_prefix)/man - SBINDIR=$(FAKEROOT)$(exec_prefix)/sbin - INCDIR=$(FAKEROOT)$(inc_prefix)/include --LIBDIR=$(FAKEROOT)$(lib_prefix)/lib -+LIBDIR=$(FAKEROOT)$(lib_prefix)/$(lib) - - # common defines for libcap (suitable for 2.3.x Linux kernels) - VERSION=1 ---- libcap-1.92/libcap/Makefile.orig Wed Nov 27 14:03:42 2002 -+++ libcap-1.92/libcap/Makefile Wed Nov 27 14:04:16 2002 -@@ -34,7 +34,7 @@ - # @sed -ne '/^#define[ \t]CAP[_A-Z]\+[ \t]\+[0-9]\+/{s/^#define CAP_\([^ \t]*\)[ \t]*\([^ \t]*\)/ \{ \2, \"\1\" \},/;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;p;}' < /usr/include/linux/capability.h | fgrep -v 0x > cap_names.sed - - $(MINLIBNAME): $(OBJS) -- $(LD) -soname $(MAJLIBNAME) -x -shared -o $@ $(OBJS) -+ $(CC) -Wl,-soname -Wl,$(MAJLIBNAME) -Wl,-x -shared -o $@ $(OBJS) - ln -sf $(MINLIBNAME) $(MAJLIBNAME) - ln -sf $(MAJLIBNAME) $(LIBNAME) - ++++++ libcap-1.92.tar.bz2 -> libcap-1.10.tar.bz2 ++++++ ++++ 2060 lines of diff (skipped) ++++++ libcap-gcc-warning-fixes.diff ++++++ --- /var/tmp/diff_new_pack.z3prDW/_old 2006-12-19 23:23:50.000000000 +0100 +++ /var/tmp/diff_new_pack.z3prDW/_new 2006-12-19 23:23:50.000000000 +0100 @@ -1,25 +1,5 @@ ---- progs/setcap.c-dist 2005-01-19 17:37:00.856308344 +0100 -+++ progs/setcap.c 2005-01-19 17:37:08.366908777 +0100 -@@ -9,6 +9,7 @@ - #include <errno.h> - #include <stdio.h> - #include <string.h> -+#include <stdlib.h> - #include <sys/capability.h> - #include <unistd.h> - ---- progs/getcap.c-dist 2005-01-19 17:37:12.379161113 +0100 -+++ progs/getcap.c 2005-01-19 17:37:18.167082563 +0100 -@@ -9,6 +9,7 @@ - #include <errno.h> - #include <stdio.h> - #include <string.h> -+#include <stdlib.h> - #include <sys/capability.h> - - static void usage(void) ---- progs/execcap.c-dist 2005-01-19 17:37:27.409360314 +0100 -+++ progs/execcap.c 2005-01-19 17:38:40.771689771 +0100 +--- progs/execcap.c-dist 1999-04-18 00:16:31.000000000 +0200 ++++ progs/execcap.c 2006-12-19 18:21:22.000000000 +0100 @@ -13,6 +13,7 @@ #include <sys/capability.h> #include <unistd.h> @@ -43,46 +23,25 @@ usage(); + return 0; } ---- progs/sucap.c-dist 2005-01-19 17:37:23.537081892 +0100 -+++ progs/sucap.c 2005-01-19 17:38:18.299877206 +0100 -@@ -20,6 +20,7 @@ - #include <sys/wait.h> - #include <errno.h> - #include <string.h> -+#include <stdlib.h> - #include <fcntl.h> - - static void usage(void) -@@ -53,7 +54,7 @@ wait_on_fd(int fd) +--- progs/sucap.c-dist 1999-04-18 00:16:31.000000000 +0200 ++++ progs/sucap.c 2006-12-19 18:21:22.000000000 +0100 +@@ -48,7 +48,7 @@ wait_on_fd(int fd) } -void main(int argc, char **argv) +int main(int argc, char **argv) { - cap_t raised_caps; + cap_t old_caps; uid_t uid; -@@ -175,4 +176,5 @@ void main(int argc, char **argv) - /* exit */ +@@ -193,4 +193,5 @@ void main(int argc, char **argv) + /* exit to signal mother process that we are ready */ _exit(0); } + return 0; } ---- Make.Rules-dist 2005-01-19 16:36:09.180533000 +0100 -+++ Make.Rules 2005-01-19 17:36:05.067704378 +0100 -@@ -50,8 +50,8 @@ - DEBUG=-O2 -g #-DDEBUG - WARNINGS=-fPIC -D_POSIX_SOURCE -Wall -Wwrite-strings \ - -Wpointer-arith -Wcast-qual -Wcast-align \ -- -Wtraditional -Wstrict-prototypes -Wmissing-prototypes \ -- -Wnested-externs -Winline -Wshadow -pedantic -+ -Wstrict-prototypes -Wmissing-prototypes \ -+ -Wnested-externs -Winline -Wshadow - LD=ld - LDFLAGS=-s #-g - ---- libcap/cap_extint.c-dist 2005-01-19 17:25:21.544518000 +0100 -+++ libcap/cap_extint.c 2005-01-19 17:35:11.528681342 +0100 +--- libcap/cap_extint.c-dist 1999-04-18 00:16:31.000000000 +0200 ++++ libcap/cap_extint.c 2006-12-19 18:21:22.000000000 +0100 @@ -91,7 +91,7 @@ cap_t cap_copy_int(const void *cap_ext) (const struct cap_ext_struct *) cap_ext; cap_t cap_d; ++++++ libcap-invalid-free-fix.diff ++++++ --- /var/tmp/diff_new_pack.z3prDW/_old 2006-12-19 23:23:50.000000000 +0100 +++ /var/tmp/diff_new_pack.z3prDW/_new 2006-12-19 23:23:50.000000000 +0100 @@ -1,11 +1,11 @@ ---- progs/getpcaps.c-dist 2006-05-11 15:23:25.000000000 +0200 -+++ progs/getpcaps.c 2006-05-11 15:24:06.000000000 +0200 +--- progs/getpcaps.c-dist 1999-11-18 07:04:25.000000000 +0100 ++++ progs/getpcaps.c 2006-12-19 17:51:31.000000000 +0100 @@ -52,9 +52,11 @@ int main(int argc, char **argv) continue; } else { char *result = cap_to_text(cap_d, &length); - fprintf(stderr, "Capabilities for `%s': %s\n", *argv, result); -- free(result); +- cap_free(result); - result = NULL; + if (result) { + fprintf(stderr, "Capabilities for `%s': %s\n", *argv, result); @@ -15,14 +15,14 @@ } } ---- progs/setpcaps.c-dist 2006-05-11 15:24:22.000000000 +0200 -+++ progs/setpcaps.c 2006-05-11 15:24:53.000000000 +0200 +--- progs/setpcaps.c-dist 1999-11-18 07:04:26.000000000 +0100 ++++ progs/setpcaps.c 2006-12-19 17:51:57.000000000 +0100 @@ -100,9 +100,11 @@ int main(int argc, char **argv) char *result; result = cap_to_text(cap_d, &length); - fprintf(stderr, "[caps set to:\n%s\n]\n", result); -- free(result); +- cap_free(result); - result = NULL; + if (result) { + fprintf(stderr, "[caps set to:\n%s\n]\n", result); ++++++ libcap-shlib-fix.diff ++++++ --- progs/Makefile-dist 1999-04-18 00:16:31.000000000 +0200 +++ progs/Makefile 2006-12-19 18:30:24.000000000 +0100 @@ -36,15 +36,15 @@ all: $(PROGS) $(PROGS): %: %.o - $(CC) $(LDFLAGS) -o $@ $< $(LIBS) + $(CC) $(COPTFLAG) $(LDFLAGS) -o $@ $< $(LIBS) %.o: %.c $(INCS) - $(CC) $(CFLAGS) -c $< -o $@ + $(CC) $(COPTFLAG) $(CFLAGS) -c $< -o $@ install: all mkdir -p -m 0755 $(SBINDIR) for p in $(PROGS) ; do \ - install -s -m 0755 $$p $(SBINDIR) ; \ + install -m 0755 $$p $(SBINDIR) ; \ done clean: --- libcap/Makefile-dist 2006-12-19 18:28:36.000000000 +0100 +++ libcap/Makefile 2006-12-19 18:30:53.000000000 +0100 @@ -56,15 +56,15 @@ # @sed -ne '/^#define[ \t]CAP[_A-Z]\+[ \t]\+[0-9]\+/{s/^#define CAP_\([^ \t]*\)[ \t]*\([^ \t]*\)/ \{ \2, \"\1\" \},/;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;p;}' < /usr/include/linux/capability.h | fgrep -v 0x > cap_names.sed $(MINLIBNAME): $(OBJS) - $(LD) -soname $(MAJLIBNAME) -x -shared -o $@ $(OBJS) + $(CC) $(COPTFLAG) -Wl,-soname,$(MAJLIBNAME) -shared -o $@ $(OBJS) ln -sf $(MINLIBNAME) $(MAJLIBNAME) ln -sf $(MAJLIBNAME) $(LIBNAME) %.o: %.c $(INCLS) - $(CC) $(CFLAGS) -c $< -o $@ + $(CC) $(COPTFLAG) $(CFLAGS) -fpic -c $< -o $@ cap_sys2.o: cap_sys2.c $(INCLS) - $(CC) -Wall -O2 -c $< -o $@ + $(CC) $(COPTFLAG) $(CFLAGS) -fpic -c $< -o $@ install: all mkdir -p -m 0755 $(INCDIR)/sys ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org