/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-03-19 04:21:00 UTC
  • Revision ID: teddy@recompile.se-20160319042100-i581cfv65r934dnl
Client: Make plugin helper override directory mode u=rwx,go=

Even though it currently is not used, a local administrator might use
setuid (or setcap) executables as plugin helpers.  Thus, the plugin
helper override directory (/etc/mandos/plugin-helpers) must be
secured, just as the plugin override directory (/etc/mandos/plugins.d)
is.

* Makefile (install-client-nokey): Install plugin-helper directory as
                                   mode u=rwx.
* debian/mandos-client.lintian-overrides: Do not warn about
                               permissions on plugin helper directory.
* debian/mandos-client.postinst (configure): Fix permissions on plugin
  helper local override directory (/etc/mandos/plugin-helpers), but
  only if not listed by "dpkg-statoverride".

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){