/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 plugins.d/mandos-client.c

  • Committer: Teddy Hogeborn
  • Date: 2019-11-03 18:44:41 UTC
  • Revision ID: teddy@recompile.se-20191103184441-1vhjuf06hjqgfohh
mandos-monitor: Use Python's standard loggging module

* mandos-monitor: Use Python's standard loggging module, also for
                  warnings.  Suppress BytesWarning from urwid when
                  exiting.
  (log): New global logger object.  This replaces UserInterface
        log_message().
  (MandosClientWidget.__init__): Remove "logger" argument.
  (MandosClientWidget.using_timer): Wrap self.update_timer using new
                                    glib_safely() function.
  (glib_safely): New function to log any exceptions instead of letting
                 exceptions propagate up to GLib.
  (UserInterface.__init__): Remove "log_level" argument.  Set new
                            "loghandler" attribute, instance of new
                            "UILogHandler".
  (UserInterface.log_message): Removed.
  (UserInterface.log_message_raw): Renamed to "add_log_line"; all
                                   callers changed.  Also fix
                                   off-by-one error in max_log_length
                                   logic.
  (UserInterface.run): Add self.loghandler to logger "log". Wrap
                       self.process_input using new glib_safely()
                       function.
  (UserInterface.stop): Remove self.loghandler from logger "log".
  (UserInterface.process_input): Make verbosity toggle affect log
                                 level of logger "log".
  (UILogHandler): New.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1074
1074
      ret = setgid(0);
1075
1075
      if(ret == -1){
1076
1076
        perror_plus("setgid");
1077
 
        close(devnull);
1078
1077
        _exit(EX_NOPERM);
1079
1078
      }
1080
1079
      /* Reset supplementary groups */
1082
1081
      ret = setgroups(0, NULL);
1083
1082
      if(ret == -1){
1084
1083
        perror_plus("setgroups");
1085
 
        close(devnull);
1086
1084
        _exit(EX_NOPERM);
1087
1085
      }
1088
1086
    }
1089
1087
    ret = dup2(devnull, STDIN_FILENO);
1090
1088
    if(ret == -1){
1091
1089
      perror_plus("dup2(devnull, STDIN_FILENO)");
1092
 
      close(devnull);
1093
1090
      _exit(EX_OSERR);
1094
1091
    }
1095
1092
    ret = close(devnull);
1096
1093
    if(ret == -1){
1097
1094
      perror_plus("close");
 
1095
      _exit(EX_OSERR);
1098
1096
    }
1099
1097
    ret = dup2(STDERR_FILENO, STDOUT_FILENO);
1100
1098
    if(ret == -1){
1135
1133
  }
1136
1134
  if(pid == -1){
1137
1135
    perror_plus("fork");
1138
 
    close(devnull);
1139
1136
    return false;
1140
1137
  }
1141
 
  ret = close(devnull);
1142
 
  if(ret == -1){
1143
 
    perror_plus("close");
1144
 
  }
1145
1138
  int status;
1146
1139
  pid_t pret = -1;
1147
1140
  errno = 0;