Преглед изворни кода

Merge branch 'stretch' of https://github.com/bashrc/freedombone

Bob Mottram пре 7 година
родитељ
комит
b65b72bd2c

BIN
man/freedombone-tests.1.gz Прегледај датотеку


+ 2
- 13
src/freedombone-addcert Прегледај датотеку

170
     exit 5689
170
     exit 5689
171
 fi
171
 fi
172
 
172
 
173
-if [ ! -d /etc/ssl/mycerts ]; then
174
-    mkdir /etc/ssl/mycerts
175
-fi
176
-
177
 CERTFILE=$HOSTNAME
173
 CERTFILE=$HOSTNAME
178
 
174
 
179
 function remove_cert_letsencrypt {
175
 function remove_cert_letsencrypt {
310
         CERTFILE="ca-$HOSTNAME"
306
         CERTFILE="ca-$HOSTNAME"
311
     fi
307
     fi
312
 
308
 
313
-    openssl req -x509 "${EXTENSIONS}" -nodes -days 3650 -sha256 \
309
+    # shellcheck disable=SC2086
310
+    openssl req -x509 ${EXTENSIONS} -nodes -days 3650 -sha256 \
314
             -subj "/O=$ORGANISATION/OU=$UNIT/C=$COUNTRY_CODE/ST=$AREA/L=$LOCATION/CN=$HOSTNAME" \
311
             -subj "/O=$ORGANISATION/OU=$UNIT/C=$COUNTRY_CODE/ST=$AREA/L=$LOCATION/CN=$HOSTNAME" \
315
             -newkey rsa:2048 -keyout "/etc/ssl/private/${CERTFILE}.key" \
312
             -newkey rsa:2048 -keyout "/etc/ssl/private/${CERTFILE}.key" \
316
             -out "/etc/ssl/certs/${CERTFILE}.crt"
313
             -out "/etc/ssl/certs/${CERTFILE}.crt"
317
     chmod 400 "/etc/ssl/private/${CERTFILE}.key"
314
     chmod 400 "/etc/ssl/private/${CERTFILE}.key"
318
     chmod 640 "/etc/ssl/certs/${CERTFILE}.crt"
315
     chmod 640 "/etc/ssl/certs/${CERTFILE}.crt"
319
-    cp "/etc/ssl/certs/${CERTFILE}.crt" "/etc/ssl/mycerts"
320
 
316
 
321
     if [ "$PIN_CERTS" ]; then
317
     if [ "$PIN_CERTS" ]; then
322
         if ! "${PROJECT_NAME}-pin-cert" "$CERTFILE"; then
318
         if ! "${PROJECT_NAME}-pin-cert" "$CERTFILE"; then
340
     fi
336
     fi
341
 }
337
 }
342
 
338
 
343
-function make_cert_bundle {
344
-    # Create a bundle of your certificates
345
-    cat /etc/ssl/mycerts/*.crt /etc/ssl/mycerts/*.pem > /etc/ssl/${PROJECT_NAME}-bundle.crt
346
-    tar -czvf /etc/ssl/${PROJECT_NAME}-certs.tar.gz /etc/ssl/mycerts/*.crt /etc/ssl/mycerts/*.pem
347
-}
348
-
349
 function create_cert {
339
 function create_cert {
350
     if [ "$remove_cert" ]; then
340
     if [ "$remove_cert" ]; then
351
         remove_cert_letsencrypt
341
         remove_cert_letsencrypt
362
 create_cert
352
 create_cert
363
 generate_dh_params
353
 generate_dh_params
364
 restart_web_server
354
 restart_web_server
365
-make_cert_bundle
366
 
355
 
367
 exit 0
356
 exit 0

+ 1
- 0
src/freedombone-app-irc Прегледај датотеку

523
     if [[ "$(cert_exists "${DEFAULT_DOMAIN_NAME}")" == "0" ]]; then
523
     if [[ "$(cert_exists "${DEFAULT_DOMAIN_NAME}")" == "0" ]]; then
524
         "${PROJECT_NAME}-addcert" -h ngircd --dhkey "${DH_KEYLENGTH}"
524
         "${PROJECT_NAME}-addcert" -h ngircd --dhkey "${DH_KEYLENGTH}"
525
         function_check check_certificates
525
         function_check check_certificates
526
+        CHECK_HOSTNAME=ngircd
526
         check_certificates ngircd
527
         check_certificates ngircd
527
     fi
528
     fi
528
 
529
 

+ 1
- 0
src/freedombone-app-xmpp Прегледај датотеку

973
     if [ ! -f "/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem" ]; then
973
     if [ ! -f "/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem" ]; then
974
         if [ ! -f /etc/ssl/certs/xmpp.crt ]; then
974
         if [ ! -f /etc/ssl/certs/xmpp.crt ]; then
975
             "${PROJECT_NAME}-addcert" -h xmpp --dhkey "${DH_KEYLENGTH}"
975
             "${PROJECT_NAME}-addcert" -h xmpp --dhkey "${DH_KEYLENGTH}"
976
+            CHECK_HOSTNAME=xmpp
976
             check_certificates xmpp
977
             check_certificates xmpp
977
             if [ ! -f /etc/ssl/certs/xmpp.crt ]; then
978
             if [ ! -f /etc/ssl/certs/xmpp.crt ]; then
978
                 echo $'Failed to create xmpp certificate'
979
                 echo $'Failed to create xmpp certificate'

+ 1
- 0
src/freedombone-base-email Прегледај датотеку

1068
 
1068
 
1069
     if [[ "$(cert_exists dovecot)" == "0" ]]; then
1069
     if [[ "$(cert_exists dovecot)" == "0" ]]; then
1070
         "${PROJECT_NAME}-addcert" -h dovecot --dhkey "$DH_KEYLENGTH"
1070
         "${PROJECT_NAME}-addcert" -h dovecot --dhkey "$DH_KEYLENGTH"
1071
+        CHECK_HOSTNAME=dovecot
1071
         check_certificates dovecot
1072
         check_certificates dovecot
1072
     fi
1073
     fi
1073
 
1074
 

+ 1
- 1
src/freedombone-utils-passwords Прегледај датотеку

46
     fi
46
     fi
47
     apt-get -yq install libpam-cracklib
47
     apt-get -yq install libpam-cracklib
48
 
48
 
49
-    sed -i 's/password.*requisite.*pam_cracklib.so.*/password        required                       pam_cracklib.so retry=2 dcredit=-4 ucredit=-1 ocredit=-1 lcredit=0 minlen=10 reject_username/g' /etc/pam.d/common-password
49
+    sed -i 's/password.*requisite.*pam_cracklib.so.*/password        required                       pam_cracklib.so retry=2 dcredit=-1 ucredit=-1 ocredit=0 lcredit=0 minlen=10 reject_username/g' /etc/pam.d/common-password
50
     mark_completed "${FUNCNAME[0]}"
50
     mark_completed "${FUNCNAME[0]}"
51
 }
51
 }
52
 
52
 

+ 15
- 2
src/freedombone-utils-web Прегледај датотеку

184
 # Checks whether certificates were generated for the given hostname
184
 # Checks whether certificates were generated for the given hostname
185
 function check_certificates {
185
 function check_certificates {
186
     if [ ! "$1" ]; then
186
     if [ ! "$1" ]; then
187
-        return
187
+        echo $'No certificate name provided'
188
+        exit 3568736585683
188
     fi
189
     fi
189
     USE_LETSENCRYPT='no'
190
     USE_LETSENCRYPT='no'
190
     if [ "$2" ]; then
191
     if [ "$2" ]; then
191
         USE_LETSENCRYPT="$2"
192
         USE_LETSENCRYPT="$2"
192
     fi
193
     fi
193
-    if [[ $USE_LETSENCRYPT == 'no' ]]; then
194
+    if [[ $USE_LETSENCRYPT == 'no' || "$ONION_ONLY" != 'no' ]]; then
194
         if [ ! -f "/etc/ssl/private/${1}.key" ]; then
195
         if [ ! -f "/etc/ssl/private/${1}.key" ]; then
195
             echo $"Private certificate for ${CHECK_HOSTNAME} was not created"
196
             echo $"Private certificate for ${CHECK_HOSTNAME} was not created"
196
             exit 63959
197
             exit 63959
239
 }
240
 }
240
 
241
 
241
 function create_self_signed_cert {
242
 function create_self_signed_cert {
243
+    if [ ! "${SITE_DOMAIN_NAME}" ]; then
244
+        echo $'No site domain specified for self signed cert'
245
+        exit 4638565385
246
+    fi
242
     "${PROJECT_NAME}-addcert" -h "${SITE_DOMAIN_NAME}" --dhkey "${DH_KEYLENGTH}"
247
     "${PROJECT_NAME}-addcert" -h "${SITE_DOMAIN_NAME}" --dhkey "${DH_KEYLENGTH}"
243
     function_check check_certificates
248
     function_check check_certificates
244
     check_certificates "${SITE_DOMAIN_NAME}"
249
     check_certificates "${SITE_DOMAIN_NAME}"
245
 }
250
 }
246
 
251
 
247
 function create_letsencrypt_cert {
252
 function create_letsencrypt_cert {
253
+    if [ ! "${SITE_DOMAIN_NAME}" ]; then
254
+        echo $'No site domain specified for letsencrypt cert'
255
+        exit 246824624
256
+    fi
257
+
248
     if ! "${PROJECT_NAME}-addcert" -e "${SITE_DOMAIN_NAME}" -s "${LETSENCRYPT_SERVER}" --dhkey "${DH_KEYLENGTH}" --email "${MY_EMAIL_ADDRESS}"; then
258
     if ! "${PROJECT_NAME}-addcert" -e "${SITE_DOMAIN_NAME}" -s "${LETSENCRYPT_SERVER}" --dhkey "${DH_KEYLENGTH}" --email "${MY_EMAIL_ADDRESS}"; then
249
         if [[ ${NO_SELF_SIGNED} == 'no' ]]; then
259
         if [[ ${NO_SELF_SIGNED} == 'no' ]]; then
250
             echo $"Lets Encrypt failed for ${SITE_DOMAIN_NAME}, so try making a self-signed cert"
260
             echo $"Lets Encrypt failed for ${SITE_DOMAIN_NAME}, so try making a self-signed cert"
251
             "${PROJECT_NAME}-addcert" -h "${SITE_DOMAIN_NAME}" --dhkey "${DH_KEYLENGTH}"
261
             "${PROJECT_NAME}-addcert" -h "${SITE_DOMAIN_NAME}" --dhkey "${DH_KEYLENGTH}"
252
             function_check check_certificates
262
             function_check check_certificates
263
+            CHECK_HOSTNAME="${SITE_DOMAIN_NAME}"
253
             check_certificates "${SITE_DOMAIN_NAME}"
264
             check_certificates "${SITE_DOMAIN_NAME}"
254
         else
265
         else
255
             echo $"Lets Encrypt failed for $SITE_DOMAIN_NAME"
266
             echo $"Lets Encrypt failed for $SITE_DOMAIN_NAME"
263
     fi
274
     fi
264
 
275
 
265
     function_check check_certificates
276
     function_check check_certificates
277
+    CHECK_HOSTNAME="${SITE_DOMAIN_NAME}"
266
     check_certificates "${SITE_DOMAIN_NAME}" 'yes'
278
     check_certificates "${SITE_DOMAIN_NAME}" 'yes'
267
 }
279
 }
268
 
280
 
1004
     fi
1016
     fi
1005
     if [ ! -f /etc/ssl/certs/exim.dhparam ]; then
1017
     if [ ! -f /etc/ssl/certs/exim.dhparam ]; then
1006
         "${PROJECT_NAME}-addcert" -h exim --dhkey "$DH_KEYLENGTH"
1018
         "${PROJECT_NAME}-addcert" -h exim --dhkey "$DH_KEYLENGTH"
1019
+        CHECK_HOSTNAME=exim
1007
         check_certificates exim
1020
         check_certificates exim
1008
         cp /etc/ssl/certs/exim.dhparam /etc/exim4
1021
         cp /etc/ssl/certs/exim.dhparam /etc/exim4
1009
         chown root:Debian-exim /etc/exim4/exim.dhparam
1022
         chown root:Debian-exim /etc/exim4/exim.dhparam