|
292 | 292 | # 2024-03-16 Use FTP_PORT when deleting ftp tokens. Delete tokens when using sftp, davfs, ftpes, ftps (#693,#839) (tlhackque) |
293 | 293 | # 2024 03-16 Fix dns-01's CNAME processing. (#840) (tlhackque) |
294 | 294 | # 2024-03-17 Automatically update the ACCOUNT_EMAIL (#827) (tlhackque) |
| 295 | +# 2024-03-18 Refresh the TXT record if a CNAME is found (JoergBruce #828) (2.49) |
295 | 296 | # 2024-03-18 Implement --new-account-key and --DEACTIVATE-account (tlhackque) |
296 | 297 | # 2024-03-18 Implement token substitution in ACLs (#267) (tlhackque) |
297 | 298 | # 2024-03-19 Implement DNS_NSUPDATE_LOCALIP in dns_{add,del}_nsupdate (#801) (tlhackque) |
|
300 | 301 | # 2024-03-21 Avoid domain processing when the action is account management. (tlhackque) |
301 | 302 | # 2024-03-24 Implement multiple ACCOUNT_EMAIL addresses (tlhackque) |
302 | 303 | # 2024-03-24 Use /etc/services (or similar) to translate port names. (tlhackque) |
| 304 | +# 2024-04-12 Add all starttls protocols currently documented by openssl. Ensure that REMOTE_EXTRA overides built-ins (tlhackque) |
303 | 305 | # ---------------------------------------------------------------------------------------- |
304 | 306 |
|
305 | 307 | case :$SHELLOPTS: in |
@@ -2498,18 +2500,20 @@ requires() { # check if required function is available |
2498 | 2500 |
|
2499 | 2501 | function find_service_port() { |
2500 | 2502 | local name="$1" line |
2501 | | - # "extra" commands from IANA port number |
2502 | | - declare -ar extra_cmds=([21]="-starttls ftp" [143]="-starttls imap" [110]="-starttls pop3" |
2503 | | - [25]="-starttls smtp" [587]="-starttls smtp" [5222]="-starttls xmpp" |
2504 | | - [5432]="-starttls postgres") |
| 2503 | + # "extra" command options for openssl s_client from IANA port number |
| 2504 | + declare -ar extra_cmds=([25]="-starttls smtp" [587]="-starttls smtp" [110]="-starttls pop3" |
| 2505 | + [143]="-starttls imap" [21]="-starttls ftp" [5222]="-starttls xmpp" |
| 2506 | + [5269]="-starttls xmpp-server" [194]="-starttls irc" [5432]="-starttls postgres" |
| 2507 | + [3306]="-starttls mysql" [24]="-starttls lmtp" [119]="-starttls nntp" |
| 2508 | + [2000]="-starttls sieve" [389]="-starttls ldap") |
2505 | 2509 | # Standard name IANA-assigned name from previous conventions |
2506 | 2510 | declare -Ar aliases=(["webserver"]="https" ["ftpi"]="ftps" ["smtps_deprecated"]="smtps" |
2507 | 2511 | ["smtps"]="submission" ["smtp_submission"]="submission" ["xmpp"]="xmpp-client" |
2508 | 2512 | ["xmpps"]="xmpp-server") |
2509 | 2513 | # Fallback name => port mapping (what previous code did) |
2510 | 2514 | declare -Ar defaults=(["https"]=443 ["ftp"]=21 ["ftps"]=990 ["imap"]=143 ["imaps"]=993 |
2511 | 2515 | ["pop3"]=110 ["pop3s"]=995 ["smtp"]=25 ["smtps"]=465 ["submission"]=587 |
2512 | | - ["xmpp-client"]=5222 ["xmpp-server"]=5369 ["ldaps"]=636 ["postgres"]=5432) |
| 2516 | + ["xmpp-client"]=5222 ["xmpp-server"]=5269 ["ldaps"]=636 ["postgres"]=5432) |
2513 | 2517 |
|
2514 | 2518 | # Numeric name => just check for extras |
2515 | 2519 | if [[ "$name" =~ ^([0-9]+)$ ]]; then |
@@ -2549,11 +2553,11 @@ function find_service_port() { |
2549 | 2553 | set_server_type() { # uses SERVER_TYPE to set REMOTE_PORT and REMOTE_EXTRA |
2550 | 2554 | if find_service_port "$SERVER_TYPE" ; then |
2551 | 2555 | REMOTE_PORT="$_PORT" |
2552 | | - REMOTE_EXTRA="$_EXTRA" |
2553 | | - else |
2554 | | - info "${DOMAIN}: unknown server type \"$SERVER_TYPE\" in SERVER_TYPE" |
2555 | | - config_errors=true |
| 2556 | + [[ -z "$REMOTE_EXTRA" ]] && REMOTE_EXTRA="$_EXTRA" |
| 2557 | + return 0 |
2556 | 2558 | fi |
| 2559 | + info "${DOMAIN}: unknown server type \"$SERVER_TYPE\" in SERVER_TYPE" |
| 2560 | + return 1 |
2557 | 2561 | } |
2558 | 2562 |
|
2559 | 2563 | send_signed_request() { # Sends a request to the ACME server, signed with your private key. |
@@ -3294,7 +3298,9 @@ if [[ $_SHOW_ACCOUNT_ID -eq 0 ]] && [[ $_NEW_ACCOUNT_KEY -eq 0 ]] && [[ $_DEACTI |
3294 | 3298 | SANS=$(echo "$SANS" | sed 's/[, ]\+/,/g') |
3295 | 3299 |
|
3296 | 3300 | # from SERVER_TYPE set REMOTE_PORT and REMOTE_EXTRA |
3297 | | - set_server_type |
| 3301 | + if ! set_server_type; then |
| 3302 | + config_errors=true |
| 3303 | + fi |
3298 | 3304 |
|
3299 | 3305 | # check what dns utils are installed |
3300 | 3306 | find_dns_utils |
|
0 commit comments