summaryrefslogtreecommitdiff
path: root/progs
diff options
context:
space:
mode:
authorAndrew Morgan <morgan@kernel.org>2007-07-18 00:02:08 -0700
committerAndrew Morgan <morgan@kernel.org>2007-08-13 23:33:12 -0700
commite6033df7d6f7f913a1807964b770daf7f3567d96 (patch)
tree9ce41a914064fac2f497d4b0acc43728c4c8f084 /progs
parentcd27cfaf1b6559296e2cbd357079f93f438b1458 (diff)
downloadlibcap2-e6033df7d6f7f913a1807964b770daf7f3567d96.tar.gz
Add tentitive support for filesystem capabilities with 2.6.23-mm kernels
Diffstat (limited to 'progs')
-rw-r--r--progs/Makefile7
-rw-r--r--progs/getcap.c (renamed from progs/old/getcap.c)6
-rw-r--r--progs/old/execcap.c (renamed from progs/execcap.c)0
-rw-r--r--progs/old/setpcaps.c (renamed from progs/setpcaps.c)0
-rw-r--r--progs/old/sucap.c (renamed from progs/sucap.c)0
-rw-r--r--progs/setcap.c (renamed from progs/old/setcap.c)6
6 files changed, 11 insertions, 8 deletions
diff --git a/progs/Makefile b/progs/Makefile
index 4caf90c..8058cfa 100644
--- a/progs/Makefile
+++ b/progs/Makefile
@@ -4,15 +4,12 @@ include $(topdir)/Make.Rules
#
# Programs: all of the examples that we will compile
#
-PROGS=getpcaps setpcaps execcap sucap
-
-# when we have filecaps...
-#PROGS+=getcap setcap
+PROGS=getpcaps getcap setcap
all: $(PROGS)
$(PROGS): %: %.o
- $(CC) $(COPTFLAG) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(CC) --static $(COPTFLAG) $(LDFLAGS) -o $@ $< $(LIBS)
%.o: %.c $(INCS)
$(CC) $(CFLAGS) -c $< -o $@
diff --git a/progs/old/getcap.c b/progs/getcap.c
index 7561f1c..a647b61 100644
--- a/progs/old/getcap.c
+++ b/progs/getcap.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997 Andrew G. Morgan <morgan@kernel.org>
+ * Copyright (c) 1997,2007 Andrew G. Morgan <morgan@kernel.org>
*
* This displays the capabilities of a given file.
*/
@@ -7,6 +7,7 @@
#include <errno.h>
#include <stdio.h>
#include <string.h>
+#include <stdlib.h>
#include <sys/capability.h>
static void usage(void)
@@ -43,6 +44,9 @@ int main(int argc, char **argv)
result = cap_to_text(cap_d, &length);
fprintf(stderr, "Capabilities for `%s':\n%s\n", *argv, result);
+
+ cap_free(result);
+ cap_free(cap_d);
}
return 0;
diff --git a/progs/execcap.c b/progs/old/execcap.c
index 330cc93..330cc93 100644
--- a/progs/execcap.c
+++ b/progs/old/execcap.c
diff --git a/progs/setpcaps.c b/progs/old/setpcaps.c
index 3720fce..3720fce 100644
--- a/progs/setpcaps.c
+++ b/progs/old/setpcaps.c
diff --git a/progs/sucap.c b/progs/old/sucap.c
index 366a093..366a093 100644
--- a/progs/sucap.c
+++ b/progs/old/sucap.c
diff --git a/progs/old/setcap.c b/progs/setcap.c
index ebf8608..d4a2ee4 100644
--- a/progs/old/setcap.c
+++ b/progs/setcap.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997 Andrew G. Morgan <morgan@kernel.org>
+ * Copyright (c) 1997,2007 Andrew G. Morgan <morgan@kernel.org>
*
* This sets the capabilities of a given file.
*/
@@ -7,6 +7,7 @@
#include <errno.h>
#include <stdio.h>
#include <string.h>
+#include <stdlib.h>
#include <sys/capability.h>
#include <unistd.h>
@@ -97,13 +98,14 @@ int main(int argc, char **argv)
usage();
retval = cap_set_file(*++argv, cap_d);
-
if (retval != 0) {
fprintf(stderr,
"Failed to set capabilities on file `%s'\n"
" (%s)\n", argv[0], strerror(errno));
usage();
}
+
+ cap_free(cap_d);
}
return 0;