Browse Source

Merge pull request #762 from timkimber/ftp-args

Add FTP_ARGS for ftp/lftp
pull/767/head
Tim Kimber 4 years ago
committed by GitHub
parent
commit
8941e15f37
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 61 additions and 3 deletions
  1. +3
    -2
      getssl
  2. +58
    -1
      test/34-ftp-passive.bats

+ 3
- 2
getssl View File

@ -318,6 +318,7 @@ DOMAIN_KEY_LENGTH=4096
DUAL_RSA_ECDSA="false"
FTP_OPTIONS=""
FTPS_OPTIONS=""
FTP_ARGS=""
FULL_CHAIN_INCLUDE_ROOT="false"
GETSSL_IGNORE_CP_PRESERVE="false"
HTTP_TOKEN_CHECK_WAIT=0
@ -1324,10 +1325,10 @@ find_ftp_command() {
FTP_COMMAND=""
if [[ -n "$(command -v ftp 2>/dev/null)" ]]; then
debug "Has ftp"
FTP_COMMAND="ftp -n"
FTP_COMMAND="ftp $FTP_ARGS -n"
elif [[ -n "$(command -v lftp 2>/dev/null)" ]]; then
debug "Has lftp"
FTP_COMMAND="lftp"
FTP_COMMAND="lftp $FTP_ARGS"
fi
}


+ 58
- 1
test/34-ftp-passive.bats View File

@ -35,7 +35,7 @@ teardown() {
}
@test "Use Passive FTP to create challenge file" {
@test "Use Passive FTP to create challenge file (FTP_OPTIONS)" {
if [ -n "$STAGING" ]; then
skip "Using staging server, skipping internal test"
fi
@ -87,3 +87,60 @@ EOF4
fi
check_output_for_errors
}
@test "Use Passive FTP to create challenge file (FTP_ARGS)" {
if [ -n "$STAGING" ]; then
skip "Using staging server, skipping internal test"
fi
if [[ ! -d /var/www/html/.well-known/acme-challenge ]]; then
mkdir -p /var/www/html/.well-known/acme-challenge
fi
NEW_FTP="false"
if [[ "$(ftp -? 2>&1 | head -1 | cut -c-6)" == "usage:" ]]; then
NEW_FTP="true"
fi
if [[ -n "$(command -v ftp 2>/dev/null)" ]]; then
FTP_COMMAND="ftp"
elif [[ -n "$(command -v lftp 2>/dev/null)" ]]; then
FTP_COMMAND="lftp"
else
echo "host doesn't have ftp or lftp installed"
exit 1
fi
# Always change ownership and permissions in case previous tests created the directories as root
chgrp -R www-data /var/www/html/.well-known
chmod -R g+w /var/www/html/.well-known
CONFIG_FILE="getssl-http01.cfg"
setup_environment
init_getssl
if [[ "$FTP_COMMAND" == "ftp" ]]; then
cat <<- EOF > ${INSTALL_DIR}/.getssl/${GETSSL_CMD_HOST}/getssl_test_specific.cfg
ACL="ftp:ftpuser:ftpuser:${GETSSL_CMD_HOST}:/var/www/html/.well-known/acme-challenge"
FTP_ARGS="-p -v"
EOF
else
cat <<- EOF3 > ${INSTALL_DIR}/.getssl/${GETSSL_CMD_HOST}/getssl_test_specific.cfg
ACL="ftp:ftpuser:ftpuser:${GETSSL_CMD_HOST}:/var/www/html/.well-known/acme-challenge"
FTP_ARGS="-d -e 'set ftp:passive-mode true'"
EOF3
fi
create_certificate
assert_success
assert_line --partial "ftp:ftpuser:ftpuser:"
if [[ "$NEW_FTP" == "true" ]]; then
assert_line --partial "Entering Extended Passive Mode"
else
assert_line --partial "Entering Passive Mode"
fi
check_output_for_errors
}

Loading…
Cancel
Save