annotate postfwd-fix-pidfile-permissions.patch @ 0:e03652c59c7d

Initial revision
author Guido Berhoerster <guido+packaging@berhoerster.name>
date Wed, 09 Jan 2013 17:46:39 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
1 Index: Notizen/sbin/postfwd
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
2 ===================================================================
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
3 --- Notizen.orig/sbin/postfwd
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
4 +++ Notizen/sbin/postfwd
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
5 @@ -19,6 +19,7 @@ use POSIX qw(setsid setuid setgid setloc
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
6 use IO::Socket qw(SOCK_STREAM);
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
7 use Net::DNS;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
8 use Net::Server::Multiplex;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
9 +use Net::Server::Daemonize qw(create_pid_file);
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
10 use vars qw(@ISA);
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
11 @ISA = qw(Net::Server::Multiplex);
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
12 our($TIMEHIRES); our($STORABLE);
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
13 @@ -2681,7 +2682,6 @@ if ($opt_daemon) {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
14 group => $net_group,
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
15 chroot => $net_chroot ? $net_chroot : undef,
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
16 setsid => $opt_daemon ? 1 : undef,
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
17 - pid_file => $net_pid ? $net_pid : undef,
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
18 log_level => $opt_perfmon ? 0 : ($opt_verbose + 2),
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
19 log_file => $opt_perfmon ? undef : 'Sys::Syslog',
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
20 syslog_logsock => $syslog_socktype,
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
21 @@ -2736,6 +2736,23 @@ if ($opt_daemon) {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
22 log_info "$NAME $VERSION ready for input";
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
23 };
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
24
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
25 + # create pid_file ourselves in order to control permissions
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
26 + sub post_configure_hook {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
27 + my $self = shift;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
28 + my $prop = $self->{'server'};
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
29 +
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
30 + $prop->{'pid_file'} = $net_pid ? $net_pid : undef;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
31 + umask oct('0022');
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
32 + if ($prop->{'pid_file'}) {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
33 + if (eval { create_pid_file($prop->{'pid_file'}) }) {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
34 + $prop->{'pid_file_unlink'} = 1;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
35 + } else {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
36 + $self->fatal(my $e = $@);
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
37 + }
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
38 + }
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
39 + umask oct($net_umask);
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
40 + }
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
41 +
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
42 # main loop
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
43 sub mux_input() {
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
44
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
45 @@ -3637,7 +3654,7 @@ The following arguments will control it'
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
46 Changes real and effective group to <name>.
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
47
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
48 --umask <mask>
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
49 - Changes the umask for filepermissions (unix domain sockets, pidfiles).
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
50 + Changes the umask for filepermissions (unix domain sockets).
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
51 Attention: This is umask, not chmod - you have to specify the bits that
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
52 should NOT apply. E.g.: umask 077 equals to chmod 700.
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
53
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
54 Index: Notizen/man/man8/postfwd.8
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
55 ===================================================================
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
56 --- Notizen.orig/man/man8/postfwd.8
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
57 +++ Notizen/man/man8/postfwd.8
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
58 @@ -1198,7 +1198,7 @@ The following arguments will control it'
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
59 .PP
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
60 .Vb 4
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
61 \& --umask <mask>
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
62 -\& Changes the umask for filepermissions (unix domain sockets, pidfiles).
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
63 +\& Changes the umask for filepermissions (unix domain sockets).
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
64 \& Attention: This is umask, not chmod - you have to specify the bits that
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
65 \& should NOT apply. E.g.: umask 077 equals to chmod 700.
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
66 .Ve
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
67 Index: Notizen/doc/postfwd.html
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
68 ===================================================================
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
69 --- Notizen.orig/doc/postfwd.html
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
70 +++ Notizen/doc/postfwd.html
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
71 @@ -822,7 +822,7 @@ The following arguments will control it'
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
72 Changes real and effective group to &lt;name&gt;.</pre>
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
73 <pre>
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
74 --umask &lt;mask&gt;
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
75 - Changes the umask for filepermissions (unix domain sockets, pidfiles).
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
76 + Changes the umask for filepermissions (unix domain sockets).
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
77 Attention: This is umask, not chmod - you have to specify the bits that
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
78 should NOT apply. E.g.: umask 077 equals to chmod 700.</pre>
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
79 <pre>
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
80 Index: Notizen/doc/postfwd.txt
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
81 ===================================================================
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
82 --- Notizen.orig/doc/postfwd.txt
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
83 +++ Notizen/doc/postfwd.txt
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
84 @@ -876,7 +876,7 @@ DESCRIPTION
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
85 Changes real and effective group to <name>.
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
86
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
87 --umask <mask>
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
88 - Changes the umask for filepermissions (unix domain sockets, pidfiles).
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
89 + Changes the umask for filepermissions (unix domain sockets).
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
90 Attention: This is umask, not chmod - you have to specify the bits that
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
91 should NOT apply. E.g.: umask 077 equals to chmod 700.
e03652c59c7d Initial revision
Guido Berhoerster <guido+packaging@berhoerster.name>
parents:
diff changeset
92