added some sanity checks
[util-vserver.git] / util-vserver / src / reducecap.c
index 0c576b6..1dca269 100644 (file)
 #include <getopt.h>
 #include <sys/param.h>
 
-#include "linuxcaps.h"
-
 #define ENSC_WRAPPERS_PREFIX   "reducecap: "
 #define ENSC_WRAPPERS_VSERVER  1
 #define ENSC_WRAPPERS_UNISTD   1
 #include <wrappers.h>
 
 
+#undef _POSIX_SOURCE
+#include "capability-compat.h"
+
+
 #define CMD_HELP       0x1000
 #define CMD_VERSION    0x1001
 
@@ -138,9 +140,6 @@ CMDLINE_OPTIONS[] = {
 
 int wrapper_exit_code  = 255;
 
-extern int capget (struct __user_cap_header_struct *, struct __user_cap_data_struct *);
-extern int capset (struct __user_cap_header_struct *, struct __user_cap_data_struct *);
-
 static void
 showHelp(int fd, char const *cmd, int res)
 {
@@ -227,7 +226,9 @@ int main (int argc, char *argv[])
   bool                 do_show = false;
   uint32_t             flags   = 0;
   pid_t                        pid     = 0;
+#ifdef VC_ENABLE_API_LEGACY
   bool                 show_obsolete_warning = true;
+#endif    
 
   while (1) {
     int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
@@ -247,7 +248,7 @@ int main (int argc, char *argv[])
     switch (c) {
       case CMD_HELP            :  showHelp(1, argv[0], 0);
       case CMD_VERSION         :  showVersion();
-      case CMD_SECURE          :  remove  = vc_get_insecurecaps(); break;
+      case CMD_SECURE          :  remove  = vc_get_insecurebcaps(); break;
       case CMD_SHOW            :  do_show = true;  break; 
       case CMD_PID             :  pid     = atoi(optarg);   break;
       case CMD_CAP             :  remove  = getCap(optarg); break;