/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: 2016-06-03 17:27:03 UTC
  • Revision ID: teddy@recompile.se-20160603172703-mc6tjor6rhq4xy74
mandos: Bug fix: Do multiprocessing cleanup correctly on exit

* mandos (main): Save module "multiprocessing" and open file "wnull"
                 as scope variables accessible by function cleanup(),
                 since the module and global variable may not be
                 accessible when the cleanup() function is run as
                 scheduled by atexit().

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
/*
3
3
 * Mandos plugin runner - Run Mandos plugins
4
4
 *
5
 
 * Copyright © 2008-2017 Teddy Hogeborn
6
 
 * Copyright © 2008-2017 Björn Påhlsson
 
5
 * Copyright © 2008-2016 Teddy Hogeborn
 
6
 * Copyright © 2008-2016 Björn Påhlsson
7
7
 * 
8
8
 * This program is free software: you can redistribute it and/or
9
9
 * modify it under the terms of the GNU General Public License as
792
792
  }
793
793
  
794
794
  if(debug){
795
 
    for(plugin *p = plugin_list; p != NULL; p = p->next){
 
795
    for(plugin *p = plugin_list; p != NULL; p=p->next){
796
796
      fprintf(stderr, "Plugin: %s has %d arguments\n",
797
797
              p->name ? p->name : "Global", p->argc - 1);
798
798
      for(char **a = p->argv; *a != NULL; a++){
807
807
  
808
808
  if(getuid() == 0){
809
809
    /* Work around Debian bug #633582:
810
 
       <https://bugs.debian.org/633582> */
 
810
       <http://bugs.debian.org/633582> */
811
811
    int plugindir_fd = open(/* plugindir or */ PDIR, O_RDONLY);
812
812
    if(plugindir_fd == -1){
813
813
      if(errno != ENOENT){