/[smecontribs]/rpms/smeserver-phplist/contribs10/smeserver-phplist-0.2.1-sme10.patch
ViewVC logotype

Contents of /rpms/smeserver-phplist/contribs10/smeserver-phplist-0.2.1-sme10.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.4 - (show annotations) (download)
Wed Aug 3 04:07:49 2022 UTC (2 years, 3 months ago) by jpp
Branch: MAIN
Changes since 1.3: +75 -15 lines
* Tue Aug 02 2022 Jean-Philippe Pialasse <tests@pialasse.com> 0.2.1-2.sme
- fix [SME: ]

1 diff -Nur --no-dereference smeserver-phplist-0.2.1.old/createlinks smeserver-phplist-0.2.1/createlinks
2 --- smeserver-phplist-0.2.1.old/createlinks 2020-03-18 13:12:54.000000000 -0400
3 +++ smeserver-phplist-0.2.1/createlinks 2022-08-02 22:34:17.079000000 -0400
4 @@ -6,7 +6,7 @@
5 templates2events("/etc/phplist/config.php", qw/webapps-update bootstrap-console-save/);
6
7 safe_symlink("/var/qmail/bin/qmail-newu", "root/etc/e-smith/events/webapps-update/S55phplist-qmail-assign");
8 -foreach my $event (qw/webapps-update ipasserelle-update bootstrap-ldap-save/){
9 +foreach my $event (qw/webapps-update bootstrap-ldap-save/){
10 event_link("phplist-create-pseudo", "$event", "55");
11 }
12
13 @@ -15,13 +15,37 @@
14
15 safe_symlink("/var/qmail/alias/.qmail-phplistbounces", "root/var/qmail/alias/.qmail-phplistbounces-default");
16
17 -safe_symlink("../daemontools" , 'root/etc/rc.d/init.d/supervise/phplist');
18 -safe_symlink("/var/service/phplist" , 'root/service/phplist');
19 -safe_touch("root/var/service/phplist/down");
20 safe_symlink("restart", "root/etc/e-smith/events/webapps-update/services2adjust/phplist");
21
22 -service_link_enhanced('phplist', 'S98', '7');
23 -service_link_enhanced('phplist', 'K12', '6');
24 -service_link_enhanced('phplist', 'K12', '0');
25
26 safe_touch("root/var/lib/phplist/bounces.mbox");
27 +
28 +my $event="smeserver-phplist-update";
29 +event_templates($event, qw(
30 +/etc/httpd/conf/httpd.conf
31 +/etc/opt/remi/php80/php-fpm.d/www.conf
32 +/etc/e-smith/sql/init/phplistdb
33 +/etc/phplist/config.php
34 +/etc/e-smith/sql/init/phplistdb
35 +));
36 +
37 +event_services($event, qw(
38 + php80-php-fpm restart
39 + httpd-e-smith restart
40 + phplist restart
41 + mysql.init restart
42 +));
43 +safe_symlink("/var/qmail/bin/qmail-newu", "root/etc/e-smith/events/$event/S93phplist-qmail-assign");
44 +
45 +event_actions($event, qw(
46 + phplist-initialise 92
47 + phplist-create-pseudo 93
48 + systemd-default 88
49 + systemd-reload 89
50 +));
51 +
52 +use esmith::Build::Backup qw(:all);
53 +backup_includes("smeserver-phplist-udpdate", qw(
54 +/var/lib/phplist
55 +/var/log/phplist
56 +));
57 diff -Nur --no-dereference smeserver-phplist-0.2.1.old/root/etc/e-smith/db/configuration/defaults/phplist/type smeserver-phplist-0.2.1/root/etc/e-smith/db/configuration/defaults/phplist/type
58 --- smeserver-phplist-0.2.1.old/root/etc/e-smith/db/configuration/defaults/phplist/type 2020-03-18 13:12:54.000000000 -0400
59 +++ smeserver-phplist-0.2.1/root/etc/e-smith/db/configuration/defaults/phplist/type 2022-08-02 22:37:07.129000000 -0400
60 @@ -1 +1 @@
61 -webapp
62 +service
63 diff -Nur --no-dereference smeserver-phplist-0.2.1.old/root/etc/e-smith/db/configuration/migrate/phplist-database smeserver-phplist-0.2.1/root/etc/e-smith/db/configuration/migrate/phplist-database
64 --- smeserver-phplist-0.2.1.old/root/etc/e-smith/db/configuration/migrate/phplist-database 2020-03-18 13:12:54.000000000 -0400
65 +++ smeserver-phplist-0.2.1/root/etc/e-smith/db/configuration/migrate/phplist-database 2022-08-03 00:07:05.132000000 -0400
66 @@ -24,4 +24,29 @@
67 }
68 $rec->set_prop('DbPassword', $pw);
69 }
70 + my $apw = $rec->prop('AdminPass');
71 + if (not $apw or length($apw) < 20){
72 + use MIME::Base64 qw(encode_base64);
73 + $apw = "not set due to error";
74 + if ( open( RANDOM, "/dev/urandom" ) ){
75 + my $buf;
76 + # 57 bytes is a full line of Base64 coding, and contains
77 + # 456 bits of randomness - given a perfectly random /dev/random
78 + if ( read( RANDOM, $buf, 20 ) != 20 ){
79 + warn("Short read from /dev/random: $!");
80 + }
81 + else{
82 + $apw = encode_base64($buf);
83 + chomp $apw;
84 + }
85 + close RANDOM;
86 + }
87 + else{
88 + warn "Could not open /dev/urandom: $!";
89 + }
90 + $rec->set_prop('AdminPass', $apw);
91 + }
92 + my $type = $rec->prop("type");
93 + $rec->set_prop("type","service") unless ($type eq "service");
94 +
95 }
96 diff -Nur --no-dereference smeserver-phplist-0.2.1.old/root/etc/e-smith/events/actions/phplist-initialise smeserver-phplist-0.2.1/root/etc/e-smith/events/actions/phplist-initialise
97 --- smeserver-phplist-0.2.1.old/root/etc/e-smith/events/actions/phplist-initialise 1969-12-31 19:00:00.000000000 -0500
98 +++ smeserver-phplist-0.2.1/root/etc/e-smith/events/actions/phplist-initialise 2022-08-03 00:07:04.884000000 -0400
99 @@ -0,0 +1,6 @@
100 +#!/bin/bash
101 +password=$(config getprop phplist AdminPass)
102 +domain=$(config get DomainName)
103 +ADMIN_PASSWORD=$password ADMIN_EMAIL=admin@$domain phplist -pinitialise
104 +phplist -pdbcheck
105 +phplist -pupgrade
106 diff -Nur --no-dereference smeserver-phplist-0.2.1.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/98phplist smeserver-phplist-0.2.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/98phplist
107 --- smeserver-phplist-0.2.1.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/98phplist 2020-03-18 13:12:54.000000000 -0400
108 +++ smeserver-phplist-0.2.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/98phplist 2022-08-03 00:07:05.662000000 -0400
109 @@ -6,11 +6,12 @@
110 my $alias = $phplist{'AliasOnPrimary'} || 'enabled';
111 my $ver = $sysconfig{'ReleaseVersion'} || '8.1';
112
113 -my $allow = ( $access eq 'public' ) ? 'all' : "$localAccess $externalSSLAccess";
114 +my $allow = ( $access eq 'public' ) ? 'all granted' : "ip $localAccess $externalSSLAccess";
115 $alias = ($alias ne 'enabled') ? '' : 'Alias /lists /usr/share/phplist/www/';
116 $auth = ( $auth eq 'http' ) ? 'AuthName "phplist"' . "\n" .
117 " AuthType Basic\n" .
118 - " AuthExternal pwauth\n" . (($ver =~ m/^9/) ? " AuthBasicProvider external\n":'') .
119 + " AuthBasicProvider external\n".
120 + " AuthExternal pwauth\n".
121 " require valid-user\n" : '';
122
123 if ($status eq 'enabled') {
124 @@ -22,42 +23,33 @@
125 Options None +FollowSymLinks
126 AllowOverride None
127 DirectoryIndex index.php
128 - AddType application/x-httpd-php .php .php3
129 - php_admin_value openbase_dir /usr/share/phplist:/var/lib/phplist:/tmp:/etc/phplist
130 - php_admin_flag file_uploads on
131 - php_admin_value upload_max_filesize 5M
132 - php_admin_value post_max_size 6M
133 - php_admin_value memory_limit 128M
134 - php_admin_value session.save_path /var/lib/phplist/tmp
135 - php_admin_value upload_tmp_dir /var/lib/phplist/tmp
136 + AddType application/x-httpd-php .php
137 <FilesMatch "\\.(php|inc)\$">
138 - Order allow,deny
139 - deny from all
140 + Require all denied
141 </FilesMatch>
142 <FilesMatch "(index.php|dl.php|ut.php|lt.php|download.php|connector.php)\$">
143 - Order allow,deny
144 - allow from all
145 + Require all granted
146 + SetHandler "proxy:unix:/var/run/php-fpm/php80-phplist.sock|fcgi://localhost"
147 </FilesMatch>
148 - Order deny,allow
149 - deny from all
150 - allow from $allow
151 + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
152 + Require $allow
153 </Directory>
154
155 # Admin section
156 <Directory /usr/share/phplist/www/admin>
157 SSLRequireSSL on
158 <FilesMatch "\\.(php|inc)\$">
159 - Order allow,deny
160 - Deny from all
161 + Require all denied
162 </FilesMatch>
163 <FilesMatch "(index.php|connector.php|upload.php)\$">
164 - Order allow,deny
165 - allow from all
166 + SetHandler "proxy:unix:/var/run/php-fpm/php80-phplist.sock|fcgi://localhost"
167 + Require all granted
168 </FilesMatch>
169 - order deny,allow
170 - deny from all
171 - allow from $allow
172 - $auth
173 + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
174 + <RequireAll>
175 + Require $allow
176 + $auth
177 + </RequireAll>
178 </Directory>
179
180
181 diff -Nur --no-dereference smeserver-phplist-0.2.1.old/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phplist smeserver-phplist-0.2.1/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phplist
182 --- smeserver-phplist-0.2.1.old/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phplist 1969-12-31 19:00:00.000000000 -0500
183 +++ smeserver-phplist-0.2.1/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phplist 2022-08-03 00:07:05.910000000 -0400
184 @@ -0,0 +1,66 @@
185 +{
186 +
187 +if ($PHP_VERSION eq '80'){
188 + if (($phplist{'status'} || 'disabled') eq 'enabled'){
189 + my $max_upload_size = ($phplist{MaxUploadSize} || '6M');
190 + $max_upload_size .= 'M' if ($max_upload_size =~ m/^\d+$/);
191 + my $memory_limit = ($phplist{MemoryLimit} || '128M');
192 + $memory_limit .= 'M' if ($memory_limit =~ m/^\d+$/);
193 + my $open_basedir= $phplist{PHPBaseDir} || '';
194 + $open_basedir = "/usr/share/phplist:/var/lib/phplist:/tmp:/etc/phplist:/var/log/phplist:/usr/share/php/auth_translation.php:$open_basedir";
195 + my $id = 'phplist';
196 + my $max_children = $phplist{'PHPmaxChildren'} || 20;
197 + my $min_spare_servers = $phplist{'PHPminServers'} || 4;
198 + my $start_servers = $phplist{'PHPstartServers'} || 6;
199 + my $max_spare_servers = $phplist{'PHPmaxServers'} || 8;
200 + my $max_requests = $phplist{'PHPmaxRequests'} || 1000;
201 + $min_spare_servers = ( $min_spare_servers > $max_spare_servers ) ? printf("%.0f",$max_spare_servers/2) : $min_spare_servers;
202 + $start_servers = ( $start_servers > $max_spare_servers ) ? printf("%.0f", $max_spare_servers /2 + $min_spare_servers/2 ) : $start_servers;
203 +
204 + $OUT .=<<_EOF;
205 +
206 +[php$PHP_VERSION-$id]
207 +user = www
208 +group = www
209 +listen.owner = root
210 +listen.group = www
211 +listen.mode = 0660
212 +listen = /var/run/php-fpm/php$PHP_VERSION-$id.sock
213 +pm = dynamic
214 +pm.max_children = $max_children
215 +pm.start_servers = $start_servers
216 +pm.min_spare_servers = $min_spare_servers
217 +pm.max_spare_servers = $max_spare_servers
218 +pm.max_requests = $max_requests
219 +php_admin_value[auto_prepend_file] = /usr/share/php/auth_translation.php
220 +php_admin_value[session.save_path] = /var/lib/php/$id/session
221 +php_admin_value[session.gc_maxlifetime] = 86400
222 +php_admin_value[opcache.file_cache] = /var/lib/php/$id/opcache
223 +php_admin_value[upload_tmp_dir] = /var/lib/php/$id/tmp
224 +php_admin_value[error_log] = /var/log/php/$id/error.log
225 +slowlog = /var/log/php/phplist/slow.log
226 +php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f php@{ $DomainName }
227 +php_admin_flag[display_errors] = off
228 +php_admin_flag[log_errors] = on
229 +php_admin_value[error_log] = syslog
230 +php_admin_value[memory_limit] = $memory_limit
231 +php_admin_value[max_execution_time] = 3600
232 +php_admin_value[post_max_size] = $max_upload_size
233 +php_admin_value[upload_max_filesize] = $max_upload_size
234 +php_admin_value[disable_functions] = system, show_source, symlink, dl, passthru, phpinfo, escapeshellarg, escapeshellcmd
235 +php_admin_value[open_basedir] = $open_basedir
236 +php_admin_flag[allow_url_fopen] = on
237 +php_admin_flag[file_uploads] = on
238 +php_admin_flag[session.cookie_httponly] = on
239 +php_admin_flag[allow_url_include] = off
240 +php_admin_value[session.save_handler] = files
241 +php_admin_flag[output_buffering] = off
242 +
243 +_EOF
244 +
245 + }
246 + else{
247 + $OUT .= '; phplist is disabled';
248 + }
249 +}
250 +}
251 diff -Nur --no-dereference smeserver-phplist-0.2.1.old/root/usr/lib/systemd/system/phplist.service smeserver-phplist-0.2.1/root/usr/lib/systemd/system/phplist.service
252 --- smeserver-phplist-0.2.1.old/root/usr/lib/systemd/system/phplist.service 1969-12-31 19:00:00.000000000 -0500
253 +++ smeserver-phplist-0.2.1/root/usr/lib/systemd/system/phplist.service 2022-08-02 22:37:29.174000000 -0400
254 @@ -0,0 +1,13 @@
255 +[Unit]
256 +Description=phplist process queues
257 +After=network-online.target
258 +
259 +[Service]
260 +ExecStartPre=-/sbin/e-smith/service-status phplist
261 +ExecStart=/usr/sbin/e-smith/systemd/phplist
262 +Restart=always
263 +Restartsec=10s
264 +RemainAfterExit=yes
265 +
266 +[Install]
267 +WantedBy=sme-server.target
268 diff -Nur --no-dereference smeserver-phplist-0.2.1.old/root/usr/local/bin/phplist smeserver-phplist-0.2.1/root/usr/local/bin/phplist
269 --- smeserver-phplist-0.2.1.old/root/usr/local/bin/phplist 1969-12-31 19:00:00.000000000 -0500
270 +++ smeserver-phplist-0.2.1/root/usr/local/bin/phplist 2022-08-03 00:07:04.607000000 -0400
271 @@ -0,0 +1,2 @@
272 +#!/bin/bash
273 +/usr/bin/php80 /usr/share/phplist/www/admin/index.php -c /etc/phplist/config.php $*
274 diff -Nur --no-dereference smeserver-phplist-0.2.1.old/root/usr/sbin/e-smith/systemd/phplist smeserver-phplist-0.2.1/root/usr/sbin/e-smith/systemd/phplist
275 --- smeserver-phplist-0.2.1.old/root/usr/sbin/e-smith/systemd/phplist 1969-12-31 19:00:00.000000000 -0500
276 +++ smeserver-phplist-0.2.1/root/usr/sbin/e-smith/systemd/phplist 2022-08-03 00:07:05.427000000 -0400
277 @@ -0,0 +1,10 @@
278 +#!/bin/sh
279 +
280 +exec 2>&1
281 +
282 +cd /usr/local/bin/
283 +while true; do
284 + /usr/local/bin/setuidgid www ./phplist -pprocessbounces
285 + /usr/local/bin/setuidgid www ./phplist -pprocessqueue
286 + sleep 120
287 +done
288 diff -Nur --no-dereference smeserver-phplist-0.2.1.old/root/var/service/phplist/run smeserver-phplist-0.2.1/root/var/service/phplist/run
289 --- smeserver-phplist-0.2.1.old/root/var/service/phplist/run 2020-03-18 13:12:54.000000000 -0400
290 +++ smeserver-phplist-0.2.1/root/var/service/phplist/run 1969-12-31 19:00:00.000000000 -0500
291 @@ -1,10 +0,0 @@
292 -#!/bin/sh
293 -
294 -exec 2>&1
295 -
296 -cd /usr/share/phplist/bin
297 -while true; do
298 - /usr/local/bin/setuidgid www ./phplist -pprocessbounces
299 - /usr/local/bin/setuidgid www ./phplist -pprocessqueue
300 - sleep 120
301 -done

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed