/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: 2014-03-09 03:02:43 UTC
  • Revision ID: teddy@recompile.se-20140309030243-0gc6l2yuqbzgyuyt
Use getnameinfo() instead of inet_ntop() in mandos-client.

* plugins.d/mandos-client.c (start_mandos_communication): Use
                                                          getnameinfo()
                                                          instead of
                                                          inet_ntop().

Show diffs side-by-side

added added

removed removed

Lines of Context:
105
105
 
106
106
/* Gets an existing plugin based on name,
107
107
   or if none is found, creates a new one */
108
 
__attribute__((warn_unused_result))
109
108
static plugin *getplugin(char *name){
110
109
  /* Check for existing plugin with that name */
111
110
  for(plugin *p = plugin_list; p != NULL; p = p->next){
172
171
}
173
172
 
174
173
/* Helper function for add_argument and add_environment */
175
 
__attribute__((nonnull, warn_unused_result))
 
174
__attribute__((nonnull))
176
175
static bool add_to_char_array(const char *new, char ***array,
177
176
                              int *len){
178
177
  /* Resize the pointed-to array to hold one more pointer */
203
202
}
204
203
 
205
204
/* Add to a plugin's argument vector */
206
 
__attribute__((nonnull(2), warn_unused_result))
 
205
__attribute__((nonnull(2)))
207
206
static bool add_argument(plugin *p, const char *arg){
208
207
  if(p == NULL){
209
208
    return false;
212
211
}
213
212
 
214
213
/* Add to a plugin's environment */
215
 
__attribute__((nonnull(2), warn_unused_result))
 
214
__attribute__((nonnull(2)))
216
215
static bool add_environment(plugin *p, const char *def, bool replace){
217
216
  if(p == NULL){
218
217
    return false;
245
244
 * Descriptor Flags".
246
245
 | [[info:libc:Descriptor%20Flags][File Descriptor Flags]] |
247
246
 */
248
 
__attribute__((warn_unused_result))
249
247
static int set_cloexec_flag(int fd){
250
248
  int ret = (int)TEMP_FAILURE_RETRY(fcntl(fd, F_GETFD, 0));
251
249
  /* If reading the flags failed, return error indication now. */
293
291
}
294
292
 
295
293
/* Prints out a password to stdout */
296
 
__attribute__((nonnull, warn_unused_result))
 
294
__attribute__((nonnull))
297
295
static bool print_out_password(const char *buffer, size_t length){
298
296
  ssize_t ret;
299
297
  for(size_t written = 0; written < length; written += (size_t)ret){
439
437
            break;
440
438
          }
441
439
        }
442
 
        errno = 0;
443
440
      }
444
441
      break;
445
442
    case 'G':                   /* --global-env */
446
 
      if(add_environment(getplugin(NULL), arg, true)){
447
 
        errno = 0;
448
 
      }
 
443
      add_environment(getplugin(NULL), arg, true);
449
444
      break;
450
445
    case 'o':                   /* --options-for */
451
446
      {
468
463
            break;
469
464
          }
470
465
        }
471
 
        errno = 0;
472
466
      }
473
467
      break;
474
468
    case 'E':                   /* --env-for */
486
480
          errno = EINVAL;
487
481
          break;
488
482
        }
489
 
        if(add_environment(getplugin(arg), envdef, true)){
490
 
          errno = 0;
491
 
        }
 
483
        add_environment(getplugin(arg), envdef, true);
492
484
      }
493
485
      break;
494
486
    case 'd':                   /* --disable */
496
488
        plugin *p = getplugin(arg);
497
489
        if(p != NULL){
498
490
          p->disabled = true;
499
 
          errno = 0;
500
491
        }
501
492
      }
502
493
      break;
505
496
        plugin *p = getplugin(arg);
506
497
        if(p != NULL){
507
498
          p->disabled = false;
508
 
          errno = 0;
509
499
        }
510
500
      }
511
501
      break;
512
502
    case 128:                   /* --plugin-dir */
513
503
      free(plugindir);
514
504
      plugindir = strdup(arg);
515
 
      if(plugindir != NULL){
516
 
        errno = 0;
517
 
      }
518
505
      break;
519
506
    case 129:                   /* --config-file */
520
507
      /* This is already done by parse_opt_config_file() */
528
515
        break;
529
516
      }
530
517
      uid = (uid_t)tmp_id;
531
 
      errno = 0;
532
518
      break;
533
519
    case 131:                   /* --groupid */
534
520
      tmp_id = strtoimax(arg, &tmp, 10);
539
525
        break;
540
526
      }
541
527
      gid = (gid_t)tmp_id;
542
 
      errno = 0;
543
528
      break;
544
529
    case 132:                   /* --debug */
545
530
      debug = true;
593
578
    case 129:                   /* --config-file */
594
579
      free(argfile);
595
580
      argfile = strdup(arg);
596
 
      if(argfile != NULL){
597
 
        errno = 0;
598
 
      }
599
581
      break;
600
582
    case 130:                   /* --userid */
601
583
    case 131:                   /* --groupid */