Browse Source

updated for use on MAC / FreeBSD. issue #6

pull/7/head
srvrco 9 years ago
parent
commit
40c0c8dfb2
1 changed files with 42 additions and 4 deletions
  1. +42
    -4
      checkssl

+ 42
- 4
checkssl View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# ---------------------------------------------------------------------------
# checkssl - checks ssl certs for a set of domains
@ -30,10 +30,11 @@
# 2016-05-30 Correcting typo (1.01)
# 2016-07-20 adding -p option to list possible issues (1.02)
# 2016-08-02 remove spaces from domain names (1.03)
# 3016-08-25 updated for use on MAC / FreeBSD. issue #6 (1.04)
# ---------------------------------------------------------------------------
PROGNAME=${0##*/}
VERSION="1.03"
VERSION="1.04"
ORIGCMD="$0 $*"
UPDATE_LOCATION="https://raw.githubusercontent.com/srvrco/checkssl/master/checkssl"
@ -47,12 +48,36 @@ clean_up() { # Perform pre-exit housekeeping
return
}
date_diff() { # use different grep version for different os types
if [[ "$os" == "freebsd" ]]; then
date -v -${RENEW_ALERT}
else
date -d "${RENEW_ALERT} days" +%s
fi
}
error_exit() {
echo -e "${PROGNAME}: ${1:-"Unknown Error"}" >&2
clean_up
exit 1
}
get_os() { # function to get the current Operating System
uname_res=$(uname -s)
if [[ ${uname_res} == "Linux" ]]; then
os="linux"
elif [[ ${uname_res} == "FreeBSD" ]]; then
os="bsd"
elif [[ ${uname_res} == "Darwin" ]]; then
os="mac"
elif [[ ${uname_res:0:6} == "CYGWIN" ]]; then
os="cygwin"
else
os="unknown"
fi
debug "detected os type = $os"
}
graceful_exit() {
clean_up
exit
@ -206,6 +231,9 @@ done
# Main logic
# Get the current OS, so the correct functions can ve used for that OS. (sets the variable os)
get_os
#check if required applications are included
_requires openssl
@ -302,8 +330,18 @@ while IFS= read -r DOMAIN; do
fi
fi
if [[ "$ENDDATE" != "-" ]]; then
if [[ $(date -d "${RENEW_ALERT} days" +%s) -gt $(date -d "$ENDDATE" +%s) ]]; then
PROBLEMS=$(echo "${PROBLEMS}- certificate near renewal date")
if [[ "$os" == "bsd" ]]; then
if [[ $(date -v -${RENEW_ALERT}d +%s) -gt $(date -j -f "%b %d %H:%M:%S %Y %Z" "$ENDDATE" +%s) ]]; then
PROBLEMS=$(echo "${PROBLEMS}- certificate near renewal date")
fi
elif [[ "$os" == "mac" ]]; then
if [[ $(date -v -${RENEW_ALERT}d +%s) -gt $(date -j -f "%b %d %H:%M:%S %Y %Z" "$ENDDATE" +%s) ]]; then
PROBLEMS=$(echo "${PROBLEMS}- certificate near renewal date")
fi
else
if [[ $(date -d "${RENEW_ALERT} days" +%s) -gt $(date -d "$ENDDATE" +%s) ]]; then
PROBLEMS=$(echo "${PROBLEMS}- certificate near renewal date")
fi
fi
fi
printf "%s|%s|%s|%s|%s\n" "$DOMAIN" "$ISSUEDTO" "$ENDDATE" "$ISSUER" "$PROBLEMS">> "$DATA_OUT"


Loading…
Cancel
Save