Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ports-gnome
Path: blob/main/dns/dnscheckengine/files/patch-apps-dnscheck-dispatcher.pl
16151 views
1
*** apps/dnscheck-dispatcher.pl Tue Jun 29 04:15:59 2010
2
--- apps/dnscheck-dispatcher.pl Sun Jul 4 19:22:42 2010
3
***************
4
*** 43,49 ****
5
%running
6
%reaped
7
%problem
8
! $debug
9
$verbose
10
$check
11
$limit
12
--- 43,49 ----
13
%running
14
%reaped
15
%problem
16
! $user
17
$verbose
18
$check
19
$limit
20
***************
21
*** 54,59 ****
22
--- 54,60 ----
23
$exit_timeout
24
$savelevel
25
%levels
26
+ $debug
27
];
28
29
%running = ();
30
***************
31
*** 75,81 ****
32
ERROR => 4,
33
CRITICAL => 5,
34
);
35
!
36
# Kick everything off
37
main();
38
39
--- 76,83 ----
40
ERROR => 4,
41
CRITICAL => 5,
42
);
43
! # user to run as
44
! $user = 'nobody';
45
# Kick everything off
46
main();
47
48
***************
49
*** 124,130 ****
50
sub setup {
51
my $errfile = $check->config->get("daemon")->{errorlog};
52
my $pidfile = $check->config->get("daemon")->{pidfile};
53
!
54
@saved_argv = @ARGV; # We'll use this if we're asked to restart ourselves
55
GetOptions('debug' => \$debug, 'verbose' => \$verbose);
56
openlog($check->config->get("syslog")->{ident},
57
--- 126,135 ----
58
sub setup {
59
my $errfile = $check->config->get("daemon")->{errorlog};
60
my $pidfile = $check->config->get("daemon")->{pidfile};
61
! my $uid;
62
! unless ($uid = (getpwnam($user))[2]) {
63
! die "Attempt to run dispatcher as non-existent user or as root\n";
64
! }
65
@saved_argv = @ARGV; # We'll use this if we're asked to restart ourselves
66
GetOptions('debug' => \$debug, 'verbose' => \$verbose);
67
openlog($check->config->get("syslog")->{ident},
68
***************
69
*** 149,154 ****
70
--- 154,161 ----
71
open PIDFILE, '>', $pidfile or die "Failed to open PID file: $!";
72
print PIDFILE $$;
73
close PIDFILE;
74
+ # become non-root
75
+ $>= $uid;
76
$SIG{CHLD} = \&REAPER;
77
$SIG{TERM} = sub { $running = 0 };
78
$SIG{HUP} = sub {
79
80