git://git.onelab.eu
/
util-vserver.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ready for tagging
[util-vserver.git]
/
src
/
reducecap.c
diff --git
a/src/reducecap.c
b/src/reducecap.c
index
932cc06
..
e4994d2
100644
(file)
--- a/
src/reducecap.c
+++ b/
src/reducecap.c
@@
-1,4
+1,4
@@
-// $Id: reducecap.c
,v 1.18 2005/03/24 12:44:17 ensc Exp
$
+// $Id: reducecap.c
2279 2006-01-22 19:31:53Z ensc
$
// Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
// based on reducecap.cc by Jacques Gelinas
// Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
// based on reducecap.cc by Jacques Gelinas
@@
-143,6
+143,10
@@
int wrapper_exit_code = 255;
static void
showHelp(int fd, char const *cmd, int res)
{
static void
showHelp(int fd, char const *cmd, int res)
{
+#if !defined(VC_ENABLE_API_COMPAT) && !defined(VC_ENABLE_API_LEGACY)
+ WRITE_MSG(1, "ERROR: tools were built without legacy API support; reducecap will not work!\n\n");
+#endif
+
WRITE_MSG(fd, "Usage:\n ");
WRITE_STR(fd, cmd);
WRITE_MSG(fd,
WRITE_MSG(fd, "Usage:\n ");
WRITE_STR(fd, cmd);
WRITE_MSG(fd,
@@
-206,6
+210,8
@@
show(pid_t pid)
printReducecap(&user);
}
printReducecap(&user);
}
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
+
static uint32_t
getCap(char const *cap)
{
static uint32_t
getCap(char const *cap)
{
@@
-220,6
+226,8
@@
getCap(char const *cap)
return (1<<bit);
}
return (1<<bit);
}
+#endif
+
int main (int argc, char *argv[])
{
uint32_t remove = 0;
int main (int argc, char *argv[])
{
uint32_t remove = 0;
@@
-248,9
+256,10
@@
int main (int argc, char *argv[])
switch (c) {
case CMD_HELP : showHelp(1, argv[0], 0);
case CMD_VERSION : showVersion();
switch (c) {
case CMD_HELP : showHelp(1, argv[0], 0);
case CMD_VERSION : showVersion();
- case CMD_SECURE : remove = vc_get_insecurebcaps(); break;
case CMD_SHOW : do_show = true; break;
case CMD_PID : pid = atoi(optarg); break;
case CMD_SHOW : do_show = true; break;
case CMD_PID : pid = atoi(optarg); break;
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
+ case CMD_SECURE : remove = vc_get_insecurebcaps(); break;
case CMD_CAP : remove = getCap(optarg); break;
case CMD_FLAG : {
struct vc_err_listparser err;
case CMD_CAP : remove = getCap(optarg); break;
case CMD_FLAG : {
struct vc_err_listparser err;
@@
-264,6
+273,11
@@
int main (int argc, char *argv[])
}
break;
}
}
break;
}
+#else
+ case CMD_SECURE :
+ case CMD_CAP :
+ case CMD_FLAG : flags = 0; remove = 0; break;
+#endif
}
}
}
}
@@
-279,6
+293,7
@@
int main (int argc, char *argv[])
if (do_show && optind==argc)
show(pid);
if (do_show && optind==argc)
show(pid);
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
else {
Evc_new_s_context(VC_SAMECTX, remove, flags);
if (do_show) show(pid);
else {
Evc_new_s_context(VC_SAMECTX, remove, flags);
if (do_show) show(pid);
@@
-286,6
+301,14
@@
int main (int argc, char *argv[])
WRITE_MSG(2, "Executing\n");
Eexecvp(argv[optind], argv+optind);
}
WRITE_MSG(2, "Executing\n");
Eexecvp(argv[optind], argv+optind);
}
-
+#else
+ else if (do_show)
+ show(pid);
+ else {
+ WRITE_MSG(2, "reducecap: tools were built without legacy API support; can not continue\n");
+ exit(wrapper_exit_code);
+ }
+#endif
+
return EXIT_SUCCESS;
}
return EXIT_SUCCESS;
}