/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to plugin-runner.c

  • Committer: Teddy Hogeborn
  • Date: 2009-02-09 19:26:19 UTC
  • Revision ID: teddy@fukt.bsnet.se-20090209192619-7rse82x9pypq4ihk
* plugin-runner.c: Comment change.

* plugins.d/mandos-client.c: Comment changes.
  (quit_now): New global flag.
  (handle_sigterm): Only call avahi_simple_poll_quit once.
  (main): Also handle SIGINT and SIGHUP.

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
                                   SIG_UNBLOCK, kill(), sig_atomic_t
66
66
                                */
67
67
#include <errno.h>              /* errno, EBADF */
68
 
#include <inttypes.h>           /* intmax_t, PRIdMAX, strtoimax() */
 
68
#include <inttypes.h>           /* intmax_t, SCNdMAX, PRIdMAX,  */
69
69
 
70
70
#define BUFFER_SIZE 256
71
71
 
313
313
  struct dirent *dirst;
314
314
  struct stat st;
315
315
  fd_set rfds_all;
316
 
  int ret, maxfd = 0;
 
316
  int ret, numchars, maxfd = 0;
317
317
  ssize_t sret;
318
318
  intmax_t tmpmax;
319
319
  uid_t uid = 65534;
380
380
  
381
381
  error_t parse_opt(int key, char *arg, __attribute__((unused))
382
382
                    struct argp_state *state){
383
 
    char *tmp;
384
383
    switch(key){
385
384
    case 'g':                   /* --global-options */
386
385
      if(arg != NULL){
463
462
      /* This is already done by parse_opt_config_file() */
464
463
      break;
465
464
    case 130:                   /* --userid */
466
 
      errno = 0;
467
 
      tmpmax = strtoimax(arg, &tmp, 10);
468
 
      if(errno != 0 or tmp == arg or *tmp != '\0'
469
 
         or tmpmax != (uid_t)tmpmax){
 
465
      ret = sscanf(arg, "%" SCNdMAX "%n", &tmpmax, &numchars);
 
466
      if(ret < 1 or tmpmax != (uid_t)tmpmax
 
467
         or arg[numchars] != '\0'){
470
468
        fprintf(stderr, "Bad user ID number: \"%s\", using %"
471
469
                PRIdMAX "\n", arg, (intmax_t)uid);
472
470
      } else {
474
472
      }
475
473
      break;
476
474
    case 131:                   /* --groupid */
477
 
      errno = 0;
478
 
      tmpmax = strtoimax(arg, &tmp, 10);
479
 
      if(errno != 0 or tmp == arg or *tmp != '\0'
480
 
         or tmpmax != (gid_t)tmpmax){
 
475
      ret = sscanf(arg, "%" SCNdMAX "%n", &tmpmax, &numchars);
 
476
      if(ret < 1 or tmpmax != (gid_t)tmpmax
 
477
         or arg[numchars] != '\0'){
481
478
        fprintf(stderr, "Bad group ID number: \"%s\", using %"
482
479
                PRIdMAX "\n", arg, (intmax_t)gid);
483
480
      } else {