Merge branch 'master' of chiark:src/checkpath
authorMark Wooding <mdw@distorted.org.uk>
Sun, 13 Apr 2008 17:23:33 +0000 (18:23 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 13 Apr 2008 17:23:33 +0000 (18:23 +0100)
* 'master' of chiark:src/checkpath:
  tmpdir: Allow trusting of particular groups.
  tmpdir: Introduce option for verbose reporting, for diagnosing problems.
  Improve formatting before we get too stuck in.

Conflicts:

tmpdir.c

1  2 
checkpath.c
checkpath.h
chkpath.c
tmpdir.1
tmpdir.c

diff --cc checkpath.c
Simple merge
diff --cc checkpath.h
Simple merge
diff --cc chkpath.c
Simple merge
diff --cc tmpdir.1
Simple merge
diff --cc tmpdir.c
+++ b/tmpdir.c
  
  /*----- Header files ------------------------------------------------------*/
  
 +#include "config.h"
 +
  #include <errno.h>
+ #include <ctype.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
@@@ -286,11 -341,13 +337,13 @@@ int main(int argc, char *argv[]
    /* --- Initialize variables --- */
  
    ego(argv[0]);
 -  me = getuid();
 +  me = geteuid();
-   cp.cp_what = CP_WRWORLD | CP_WRGRP | CP_WROTHUSR | CP_STICKYOK;
+   cp.cp_what = (CP_WRWORLD | CP_WROTHGRP | CP_WROTHUSR |
+               CP_STICKYOK | CP_REPORT);
    cp.cp_verbose = 0;
-   cp.cp_report = 0;
+   cp.cp_report = report;
    checkpath_setids(&cp);
+   cp.cp_gids = 0;                     /* ignore group membership */
    pw = getpwuid(me);
    if (!pw)
      die(1, "you don't exist");
        { "usage",      0,              0,      'u' },
        { "bourne",     0,              0,      'b' },
        { "cshell",     0,              0,      'c' },
-       { "verify",     OPTF_ARGREQ,    0,      'v' },
+       { "check",      OPTF_ARGREQ,    0,      'C' },
+       { "verify",     OPTF_ARGREQ,    0,      'C' },
+       { "verbose",    0,              0,      'v' },
+       { "trust-groups",       0,              0,      't' },
+       { "group",      OPTF_ARGREQ,    0,      'g' },
        { 0,            0,              0,      0 }
      };
-     int i = mdwopt(argc, argv, "hVu" "bcv:", opts, 0, 0, 0);
 -    int i = mdwopt(argc, argv, "hVu bcvtg:c:", opts, 0, 0, 0);
++    int i = mdwopt(argc, argv, "hVu" "bcvtg:c:", opts, 0, 0, 0);
  
      if (i < 0)
        break;