diff options
author | hlein <hlein@korelogic.com> | 2017-03-07 22:23:08 +0300 |
---|---|---|
committer | Michael Boelen <michael.boelen@cisofy.com> | 2017-03-07 22:23:08 +0300 |
commit | e054e9757c3fdc0ac794e18fa7ed9e04c11b1de1 (patch) | |
tree | e14365959cb0e18b3bfc70404dc51b827123237c /include/tests_ssh | |
parent | 7e915df1ee898dae2f7ba86aa0dd09cabdd63261 (diff) |
Lots of cleanups (#366)
* Description fix: SafePerms works on files not dirs.
All uses of SafePerms are on files (and indeed, it would reject
directories which would have +x set).
* Lots of whitespace cleanups.
Enforce everywhere(?) the same indentations for if/fi blocks.
The standard for the Lynis codebase is 4 spaces. But sometimes
it's 1, sometimes 3, sometimes 8.
These patches standardize all(?) if blocks but _not_ else's (which
are usually indented 2, but sometimes zero); I was too lazy to
identify those (see below).
This diff is giant, but should not change code behavior at all;
diff -w shows no changes apart from whitespace.
FWIW I identified instances to check by using:
perl -ne 'if ($oldfile ne $ARGV) { $.=1; $oldfile=$ARGV; }; chomp; if ($spaces) { next unless /^( *)([^ ]+)/; $newspaces=length($1); $firsttok = $2; next unless defined($firsttok); $offset = ($firsttok eq "elif" ? 0 : 4); if ($newspaces != $spaces + $offset) { print "$ARGV:$ifline\n$ARGV:$.:$_\n\n" }; $ifline=""; $spaces=""; } if (/^( *)if (?!.*[; ]fi)/) { $ifline = "$.:$_"; $spaces = length($1); }' $(find . -type f -print0 | xargs -0 file | egrep shell | cut -d: -f1)
Which produced output like:
./extras/build-lynis.sh:217: if [ ${VERSION_IN_SPECFILE} = "" -o ! "${VERSION_IN_SPECFILE}" = "${LYNIS_VERSION}" ]; then
./extras/build-lynis.sh:218: echo "[X] Version in specfile is outdated"
./plugins/plugin_pam_phase1:69: if [ -d ${PAM_DIRECTORY} ]; then
./plugins/plugin_pam_phase1:70: LogText "Result: /etc/pam.d exists"
...There's probably formal shellscript-beautification tools that
I'm oblivious about.
* More whitespace standardization.
* Fix a syntax error.
This looks like an if [ foo -o bar ]; was converted to if .. elif,
but incompletely.
* Add whitespace before closing ].
Without it, the shell thinks the ] is part of the last string, and
emits warnings like:
.../lynis/include/tests_authentication: line 1028: [: missing `]'
Diffstat (limited to 'include/tests_ssh')
-rw-r--r-- | include/tests_ssh | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/include/tests_ssh b/include/tests_ssh index 581f253e..2edaf1f6 100644 --- a/include/tests_ssh +++ b/include/tests_ssh @@ -63,18 +63,18 @@ LogText "Test: searching for sshd_config file" for I in ${SSH_DAEMON_CONFIG_LOCS}; do if [ -f "${I}/sshd_config" ]; then - LogText "Result: ${I}/sshd_config exists" - if [ ${FOUND} -eq 1 ]; then - ReportException "${TEST_NO}:01" - LogText "Result: we already had found another sshd_config file. Using this new file then." - fi - FileIsReadable ${I}/sshd_config - if [ ${CANREAD} -eq 1 ]; then - FOUND=1 - SSH_DAEMON_CONFIG="${I}/sshd_config" - else - LogText "Result: can not read ${I}/sshd_config file (no permission)" - fi + LogText "Result: ${I}/sshd_config exists" + if [ ${FOUND} -eq 1 ]; then + ReportException "${TEST_NO}:01" + LogText "Result: we already had found another sshd_config file. Using this new file then." + fi + FileIsReadable ${I}/sshd_config + if [ ${CANREAD} -eq 1 ]; then + FOUND=1 + SSH_DAEMON_CONFIG="${I}/sshd_config" + else + LogText "Result: can not read ${I}/sshd_config file (no permission)" + fi fi done if [ "${SSH_DAEMON_CONFIG}" = "" ]; then |