/[smecontribs]/rpms/phpki-ng/contribs10/phpki-ng.spec
ViewVC logotype

Contents of /rpms/phpki-ng/contribs10/phpki-ng.spec

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


Revision 1.18 - (show annotations) (download)
Wed Dec 28 20:13:45 2022 UTC (23 months ago) by jpp
Branch: MAIN
CVS Tags: HEAD
Changes since 1.17: +6 -7 lines
* Sat Dec 17 2022 Jean-Philippe Pialasse <tests@pialasse.com> 0.84-16.sme
- add dl_crl_pem.php [SME: 12272]

1 # $Id: phpki-ng.spec,v 1.4 2018/11/17 13:20:42 jcrisp Exp $
2 # Authority: vip-ire
3 # Name: Daniel Berteaud
4
5 %define name phpki-ng
6 %define version 0.84
7 %define release 16
8 Summary: Phpki is a simple certificate management suite
9 Name: %{name}
10 Version: %{version}
11 Release: %{release}%{?dist}
12 License: GNU GPL version 2
13 URL: http://sourceforge.net/projects/phpki/
14 Group: SMEserver/addon
15 #wget http://www.fooweb.com/downloads/foo-3.6.431.tar.gz
16 Source: %{name}-%{version}.tar.gz
17 Patch1: phpki-ng-0.84-fix-for-php74-code-tidy.patch
18 Patch2: phpki-ng-0.84-fix-pregmatch-revoke-certs.patch
19 Patch3: phpki-ng-0.84-fix-crl.patch
20 Patch4: phpki-ng-0.84-fix-missing-slash-certtype-detection.patch
21 Patch5: phpki-ng-0.84-fix-html-directory-check.patch
22 Patch6: phpki-ng-0.84-fix-download-cert.patch
23 Patch7: phpki-ng-0.84-fix-html-syntax-in-help.patch
24 Patch8: phpki-ng-0.84-fix-final-redirect.patch
25 Patch9: phpki-ng-bz12272-bz12273-crl-whitespacepass.patch
26 Patch10: phpki-ng-bz12274-regex-secu.patch
27
28 BuildArch: noarch
29 BuildRoot: /var/tmp/%{name}-%{version}
30
31 BuildRequires: e-smith-devtools
32
33 Requires: e-smith-release >= 10.0
34 Requires: php74-php-fpm
35 Requires: openssl
36 Requires: openvpn
37 Conflicts: phpki
38 AutoReqProv: no
39
40 %description
41 http://sourceforge.net/projects/phpki/
42 https://github.com/radicand/phpki
43 https://github.com/reetp/phpki
44 PHPki is an Open Source Web application for managing a multi-agency PKI for HIPAA compliance.
45 With it, you may create and centrally manage X.509 certificates for use with S/MIME enabled
46 e-mail clients, SSL servers, and VPN applications.
47
48 %changelog
49 * Sat Dec 17 2022 Jean-Philippe Pialasse <tests@pialasse.com> 0.84-16.sme
50 - add dl_crl_pem.php [SME: 12272]
51
52 * Wed Dec 14 2022 Jean-Philippe Pialasse <tests@pialasse.com> 0.84-15.sme
53 - fix regex and potential code injection [SME: 12274]
54
55 * Wed Dec 14 2022 Jean-Philippe Pialasse <tests@pialasse.com> 0.84-14.sme
56 - add easy and safe access to crl download [SME: 12272]
57 - fix revoke certificate failing on whitespace pass [SME: 12273]
58 - fix missing default_md in config.php from previous versions [SME: 12267]
59 - updated scriptlet to ease backup and restore
60
61 * Fri Nov 18 2022 Jean-Philippe Pialasse <tests@pialasse.com> 0.84-13.sme
62 - remove extra space in URL in search.php [SME: 12232]
63
64 * Thu Sep 30 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-12.sme
65 - Attempt to fix the final reload after CA creation [SME: 11192]
66
67 * Thu Aug 05 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-11.sme
68 - Fix html syntax error in help - Thanks Mauro De Carolis [SME: 11688]
69
70 * Tue Apr 06 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-10.sme
71 - And tidy up the copying wording. [SME: 11192]
72 - Credit to Terry Fage for persisting with testing
73
74 * Mon Apr 05 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-9.sme
75 - Really fix the copy this time [SME: 11192]
76
77 * Sat Apr 03 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-8.sme
78 - copy phpki-store as a backup instead of move [SME: 11192]
79
80 * Thu Apr 01 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-7.sme
81 - Fix broken Download Certificate in Cert generation [SME: 11513]
82
83 * Thu Mar 18 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-6.sme
84 - Update html header info [SME: 11192]
85 - Remove obsolete align
86 - Remove accidentally duplicated html
87 - Fix typo
88 - Fix directory check
89 - move function flush_exec to functions file
90
91 * Tue Mar 09 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-5.sme
92 - Fix missing / [SME:11435]
93 - Update cert type detection for renew [SME: 11436]
94 - Code formatting
95
96 * Mon Mar 08 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-4.sme
97 - Fix crl creation [SME: 11141]
98 - Extra notes in setup page
99
100 * Mon Mar 08 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-3.sme
101 - Fix Typo in certificate password [SME: 11435]
102 - Fix typos and preg_match issues [SME: 11436]
103 - Add Certificate creation notification [SME: 11437]
104 - Bit of file formatting
105
106 * Wed Mar 03 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-2.sme
107 - Change version to 0.84
108 - Fix undefined constant errors [SME: 11397]
109 - fix tempdir [SME: 11398]
110 - update code to be PHP 7.4+ compliant
111 - format with CodeSniff to PSR2
112
113 * Wed Apr 01 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 0.84-1.sme
114 - Rename to php-ng 0.84 [SME: 11192]
115 - Fix date sorting in certificates
116
117 * Thu Mar 19 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 0.83-9.sme
118 - Update DH to 2048
119
120 * Mon Mar 09 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 0.83-8.sme
121 - move warning and exit to %pre
122
123 * Sat Mar 07 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 0.83-7.sme
124 - Lots of formatting - adding quotes to items and tidying up
125 - set default md to 512
126
127 * Wed Mar 04 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 0.83-6.sme
128 - Fix renew-cert
129 - revert DH setup so you can see progress
130
131 * Wed Mar 04 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 0.83-5.sme
132 - Fix create cert without password
133
134 * Wed Mar 04 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 0.83-4.sme
135 - Fix openvpn error
136
137 * Tue Mar 03 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 0.83-3.sme
138 - more fixes
139
140 * Sat Feb 29 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 0.83-2.sme
141 - small fixes
142
143 * Fri Feb 28 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 0.83-1.sme
144 - Update to 0.83
145
146 * Sat Nov 17 2018 Terry Fage <tfage@yahoo.com.au> 0.82-19.sme
147 - Fix preg_match warnings [SME:10622]
148
149 * Mon Oct 8 2018 Daniel B. <daniel@firewall-services.com> 0.82-18.sme
150 - Fix potential XSS with unsafe use of PHP_SELF [SME: 10626]
151
152 * Thu Sep 6 2018 brian r. <brianr@bjsystems.co.uk> 0.82-17.sme
153 - Replace use of ereg by preg_replace as per deprecated in php 5.3 and removed in 7.0
154 - [SME: 10622]
155
156 * Mon Dec 12 2011 Daniel B. <daniel@firewall-services.com> 0.82-16.sme
157 - Remove php-posix dependency (not available, nor needed on SME 7.x) [SME: 6805]
158
159 * Wed Oct 26 2011 Daniel B. <daniel@firewall-services.com> 0.82-15.sme
160 - Requires php-posix
161
162 * Wed Jun 29 2011 Daniel B. <daniel@firewall-services.com> 0.82-14.sme
163 - Don't check issuer (everyone allowed to access /ca can manage
164 all the certificates, access to /ca is controlled by apache)
165
166 * Tue Mar 15 2011 Daniel B. <daniel@firewall-services.com> 0.82-13.sme
167 - Replace md5 with sha1 for signing
168
169 * Fri May 28 2010 Daniel B. <daniel@firewall-services.com> [0.82-12]
170 - Weekly update the CRL via cron so MS Crypto API will be happy
171
172 * Thu Mar 18 2010 Daniel B. <daniel@firewall-services.com> [0.82-11]
173 - Fixe empty password with PHP 5.2 (SME 8b5)
174
175 * Wed Aug 26 2009 Daniel B. <daniel@firewall-services.com> [0.82-10]
176 - Fixe links for CA help page
177
178 * Mon Mar 23 2009 Daniel B. <daniel@firewall-services.com> [0.82-9]
179 - Remove links after uninstall so you can easily re-install the contrib
180 later [SME: 5091]
181
182 * Tue Mar 03 2009 Daniel B. <daniel@firewall-services.com> [0.82-8]
183 - Add e-smith-devtools as a dependencie
184
185 * Tue Jan 20 2009 Daniel B. <daniel@firewall-services.com> [0.82-7]
186 - Don't replace config file on upgrades
187
188 * Wed Jan 07 2009 Daniel B. <daniel@firewall-services.com> [0.82-6]
189 - Remove the email address from the file name during upload (in search page)
190 - Remove secure.sh script
191
192 * Tue Dec 16 2008 Daniel B. <daniel@firewall-services.com> [0.82-5]
193 - Link index.php to setup-presetup.php
194
195 * Mon Dec 08 2008 Daniel B. <daniel@firewall-services.com> [0.82-4]
196 - Changes so certificates imported from openvpn-bridge are recognized
197 - Configure default admin user to 'admin'
198 - Create a static key for OpenVPN TLS auth (requires openvpn)
199 - Add expirey values (3 Months, 6 Months)
200 - Display or download takey.pem and dhparam1024.pem from
201 the certificate management menue
202 - Display the Root certificate in PEM format
203 - Possibility to download the CRL in PEM format
204 - Remove the email address from the file name during upload
205 - Disable download of certificate after creating a new one
206 - Remove security warning after setup
207
208 * Fri Dec 05 2008 Daniel B. <daniel@firewall-services.com> [0.82-3]
209 - Correct extension name for email_signing certificates
210 - Remove links, and recreate them in the %post section so upgrade can be done smoothly
211
212 * Wed Nov 26 2008 Daniel B. <daniel@firewall-services.com> [0.82-0]
213 - initial release
214 - builds from unchanged .tar.gz
215
216 %prep
217 %setup -c -n %{name}
218 %patch1 -p1
219 %patch2 -p1
220 %patch3 -p1
221 %patch4 -p1
222 %patch5 -p1
223 %patch6 -p1
224 %patch7 -p1
225 %patch8 -p1
226 %patch9 -p1
227 %patch10 -p1
228
229 %build
230 %{__mkdir_p} root/opt/phpki/html
231 %{__mkdir_p} root/opt/phpki/phpki-store
232 %{__mkdir_p} root/opt/phpki/bin
233 %{__mkdir_p} root/%{_sysconfdir}/cron.weekly/
234 %{__mv} %{name}-%{version}/gen_crl.php root/opt/phpki/bin/
235 %{__mv} %{name}-%{version}/* root/opt/phpki/html/
236
237
238 cat <<"HERE" > root/%{_sysconfdir}/cron.weekly/phpki_update_crl
239 #!/bin/bash
240
241 cd /opt/phpki/bin
242 /usr/bin/php74 ./gen_crl.php 2>&1 > /dev/null
243
244 HERE
245
246
247 # Remove links to setup page so upgrades can be done smoothly
248 %{__rm} -f root/opt/phpki/html/index.php
249 %{__rm} -f root/opt/phpki/html/ca/index.php
250 %{__rm} -f root/opt/phpki/html/setup.php
251
252 # This script shouldn't be here
253 %{__rm} -f root/opt/phpki/html/secure.sh
254
255
256 %install
257 rm -rf $RPM_BUILD_ROOT
258 (cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
259 rm -f %{name}-%{version}-filelist
260 /sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
261 --file '/opt/phpki/html/config.php' 'attr(660,root,phpki) %config(noreplace)' \
262 --file '/opt/phpki/html/openssl.cnf' 'attr(660,root,phpki) %config(noreplace)' \
263 --file '%{_sysconfdir}/cron.weekly/phpki_update_crl' 'attr(744,root,root)' \
264 --dir '/opt/phpki/html' 'attr(770,root,phpki)' \
265 --dir '/opt/phpki/html/ca' 'attr(770,root,phpki)' \
266 --dir '/opt/phpki/phpki-store' 'attr(750,phpki,phpki)' \
267 > %{name}-%{version}-filelist
268
269 %files -f %{name}-%{version}-filelist
270 %defattr(-,root,root)
271
272 %clean
273 cd ..
274 rm -rf $RPM_BUILD_ROOT
275
276 %pre
277 if ! /usr/bin/id phpki &>/dev/null; then
278 echo "Creating phpki user"
279 /usr/sbin/useradd -c 'Phpki User' -s /sbin/nologin -r -d /opt/phpki/phpki-store phpki &>/dev/null || \
280 %logmsg "Unexpected error adding user \"phpki\". Abort installation."
281 fi
282
283 echo "******************************************************"
284 echo "* "
285 echo "* !!! IMPORTANT - READ THIS NOW !!! "
286 echo "* "
287 echo "******************************************************"
288 echo "* This contrib now has higher levels of encryption"
289 echo "* "
290 echo "* We cannot upgrade your existing certificates"
291 echo "* existing certificates from SME9 or below have either "
292 echo "* md5WithRSAEncryption sha1WithRSAEncryption"
293 echo "* as Signature Algorithm (weak)."
294 echo "* only way to update to sha256 or sha512 is to "
295 echo "* start from scratch."
296 echo "* "
297 echo "* If you have existing certificates you want to use"
298 echo "* then start with a new CA, backup up, and then restore"
299 echo "* your phpki-store directory in /opt/phpki"
300 echo "* "
301 echo "******************************************************"
302 echo ""
303
304 if [ -d /opt/phpki/phpki-store ] ; then
305 echo "Backing up your /opt/phpki/phpki-store"
306 today=$(date "+%Y%m%d%H%M")
307 echo "Copying from /opt/phpki/phpki-store to /opt/phpki/phpki-store.$today"
308 /bin/cp -pr /opt/phpki/phpki-store "/opt/phpki/phpki-store.$today"
309 echo "Directory copied... continuing to install"
310 # fix missing md_default
311 if ( grep default_md /opt/phpki/phpki-store/config/config.php -q ); then
312 echo "md_default OK"
313 else
314 echo "default_md missing in /opt/phpki/phpki-store/config/config.php"
315 echo "getting value from /opt/phpki/phpki-store/config/openssl.cnf"
316 # it could ba acceptable to hash sha256 a certificate from a root with sha1.
317 defaultmd=$(awk '/^default_md/{print $NF}' /opt/phpki/phpki-store/config/openssl.cnf || echo "sha512")
318 echo "inserting $defaultmd default_md at end of /opt/phpki/phpki-store/config/config.php"
319 sed -i '/\?>/i \
320 # Define default md \
321 \$config['default_md'] = "'$defaultmd'";' /opt/phpki/phpki-store/config/config.php
322 echo "Done... continuing to install"
323 fi
324 else
325 echo "No directory detected... continuing to install"
326 fi
327
328
329 %preun
330
331
332 %post
333 # First install, point index.php to setup.php
334 if [ $1 == 1 ]; then
335 #do not do if there is already a CA (restore from backup))
336 if [ ! -f /opt/phpki/phpki-store/config/config.php ] ; then
337 %{__ln_s} /opt/phpki/html/setup.php-presetup /opt/phpki/html/index.php
338 %{__ln_s} /opt/phpki/html/setup.php-presetup /opt/phpki/html/setup.php
339 fi
340 echo "<?php
341 header(\"Location: ./../index.php\");
342 ?>
343 " > /opt/phpki/html/ca/index.php
344 fi
345
346
347 %postun
348 # Remove the links to index.php after uninstall
349 if [ $1 == 0 ]; then
350 %{__rm} -f /opt/phpki/html/index.php
351 %{__rm} -f /opt/phpki/html/setup.php
352 %{__rm} -f /opt/phpki/html/ca/index.php
353 fi
354
355 true

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