diff -Naur libcap-1.10.orig/Make.Rules libcap-1.10/Make.Rules --- libcap-1.10.orig/Make.Rules 1999-11-18 06:06:02.000000000 +0000 +++ libcap-1.10/Make.Rules 2007-05-25 17:51:50.000000000 +0000 @@ -44,10 +44,7 @@ CC=gcc COPTFLAGS=-O2 DEBUG=-g #-DDEBUG -WARNINGS=-ansi -D_POSIX_SOURCE -Wall -Wwrite-strings \ - -Wpointer-arith -Wcast-qual -Wcast-align \ - -Wtraditional -Wstrict-prototypes -Wmissing-prototypes \ - -Wnested-externs -Winline -Wshadow -pedantic +WARNINGS=-D_GNU_SOURCE -Wall -Wshadow -Wformat=2 LD=ld LDFLAGS=-s #-g diff -Naur libcap-1.10.orig/doc/Makefile libcap-1.10/doc/Makefile --- libcap-1.10.orig/doc/Makefile 1999-04-17 22:16:31.000000000 +0000 +++ libcap-1.10/doc/Makefile 2007-05-25 18:34:00.000000000 +0000 @@ -7,7 +7,7 @@ topdir=$(shell pwd)/.. include $(topdir)/Make.Rules -MAN2S = capget.2 capset.2 +#MAN2S = capget.2 capset.2 # These are included in the man-pages package. MAN3S = cap_init.3 cap_free.3 cap_dup.3 \ cap_clear.3 cap_get_flag.3 cap_set_flag.3 \ cap_get_proc.3 cap_set_proc.3 \ @@ -16,14 +16,13 @@ capsetp.3 capgetp.3 #MAN8S = getcap.8 setcap.8 -MANS = $(MAN2S) $(MAN3S) $(MAN8S) +MANS = $(MAN3S) $(MAN8S) all: $(MANS) install: - mkdir -p -m 755 $(MANDIR)/man2 $(MANDIR)/man3 + mkdir -p -m 755 $(MANDIR)/man3 for man in \ - $(MANDIR)/man2 $(MAN2S) \ $(MANDIR)/man3 $(MAN3S) \ ; \ do \ diff -Naur libcap-1.10.orig/libcap/Makefile libcap-1.10/libcap/Makefile --- libcap-1.10.orig/libcap/Makefile 1999-04-17 22:16:31.000000000 +0000 +++ libcap-1.10/libcap/Makefile 2007-05-25 18:25:47.000000000 +0000 @@ -56,18 +56,18 @@ # @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) -shared -Wl,-soname,$(MAJLIBNAME) -o $@ $(OBJS) ln -sf $(MINLIBNAME) $(MAJLIBNAME) ln -sf $(MAJLIBNAME) $(LIBNAME) %.o: %.c $(INCLS) - $(CC) $(CFLAGS) -c $< -o $@ + $(CC) $(CFLAGS) -fPIC -c $< -o $@ install: all mkdir -p -m 0755 $(INCDIR)/sys install -m 0644 include/sys/capability.h $(INCDIR)/sys mkdir -p -m 0755 $(LIBDIR) - install -m 0644 $(MINLIBNAME) $(LIBDIR)/$(MINLIBNAME) + install -m 0755 $(MINLIBNAME) $(LIBDIR)/$(MINLIBNAME) ln -sf $(MINLIBNAME) $(LIBDIR)/$(MAJLIBNAME) ln -sf $(MAJLIBNAME) $(LIBDIR)/$(LIBNAME) -/sbin/ldconfig diff -Naur libcap-1.10.orig/libcap/cap_sys.c libcap-1.10/libcap/cap_sys.c --- libcap-1.10.orig/libcap/cap_sys.c 1999-04-17 22:16:31.000000000 +0000 +++ libcap-1.10/libcap/cap_sys.c 2007-05-25 17:23:07.000000000 +0000 @@ -11,13 +11,17 @@ #define __LIBRARY__ #include +#ifndef __NR_capget _syscall2(int, capget, cap_user_header_t, header, cap_user_data_t, data) +#endif +#ifndef __NR_capset _syscall2(int, capset, cap_user_header_t, header, const cap_user_data_t, data) +#endif /* * $Log: cap_sys.c,v $ diff -Naur libcap-1.10.orig/progs/execcap.c libcap-1.10/progs/execcap.c --- libcap-1.10.orig/progs/execcap.c 1999-04-17 22:16:31.000000000 +0000 +++ libcap-1.10/progs/execcap.c 2007-05-25 18:08:21.000000000 +0000 @@ -7,6 +7,7 @@ * are inherited. */ +#include #include #include #include @@ -14,7 +15,7 @@ #include #include -static void usage(void) +static void __attribute__((noreturn)) usage(void) { fprintf(stderr, "usage: execcap [command-args...]\n\n" @@ -28,7 +29,7 @@ exit(1); } -void main(int argc, char **argv) +int main(int argc, char **argv) { cap_t new_caps; diff -Naur libcap-1.10.orig/progs/sucap.c libcap-1.10/progs/sucap.c --- libcap-1.10.orig/progs/sucap.c 1999-04-17 22:16:31.000000000 +0000 +++ libcap-1.10/progs/sucap.c 2007-05-25 18:08:11.000000000 +0000 @@ -8,20 +8,19 @@ * privileges. All environment variables are inherited. */ +#include #include #include #include -#undef _POSIX_SOURCE -#include +#include "../libcap/libcap.h" #include -#define __USE_BSD #include #include #include #include #include -static void usage(void) +static void __attribute__((noreturn)) usage(void) { fprintf(stderr, "usage: sucap [command-args...]\n\n" @@ -48,7 +47,7 @@ } -void main(int argc, char **argv) +int main(int argc, char **argv) { cap_t old_caps; uid_t uid;