The unified diff between revisions [f0d24753..] and [d9a62be7..] is displayed below. It can also be downloaded as a raw diff.
#
#
# patch "client/phonehome.py"
# from [f1e1874a134a2877f66f21f014ac0d4b98883fc2]
# to [840853bf50a490d9c338b9ed3a04dde04aad09c7]
#
# patch "client/plugins/debiansecurity.py"
# from [ed3e1309e95dcf8db05ec26f2ae3e26f368f5f7a]
# to [60a4c625e6356d594234ba1973d9422a9edd166e]
#
# patch "client/plugins/iptables.py"
# from [3b9ba4f31ddf2daa7e23e12aeedcc8e9e7ae8869]
# to [a69914410b707ad43f8014c15d2bb748ac48452d]
#
# patch "client/plugins/opensshconfig.py"
# from [fe78379a33792adfe928560408883b69b5a65e36]
# to [a5b120d7afe504893b09b3d35b37ea6ee6820364]
#
============================================================
--- client/phonehome.py f1e1874a134a2877f66f21f014ac0d4b98883fc2
+++ client/phonehome.py 840853bf50a490d9c338b9ed3a04dde04aad09c7
@@ -55,7 +55,9 @@ if __name__ == '__main__':
results += result
if skip_network:
- print >>sys.stderr, "Transmission to network server skipped. Results are:", results
+ print >>sys.stderr, "Transmission to network server skipped.\nResults follow:\n"
+ from pprint import pprint
+ pprint(results, sys.stderr)
else:
b.plugin_results(results)
============================================================
--- client/plugins/debiansecurity.py ed3e1309e95dcf8db05ec26f2ae3e26f368f5f7a
+++ client/plugins/debiansecurity.py 60a4c625e6356d594234ba1973d9422a9edd166e
@@ -5,8 +5,6 @@ import StringIO
#
import StringIO
-import apt_listchanges
-import apt_pkg
import urllib
import pipes
import rfc822
@@ -26,6 +24,13 @@ def run():
def run():
results = []
+ try:
+ import apt_listchanges
+ import apt_pkg
+ except ImportError:
+ results.append((urgency['info'], 'apt_listchanges not available.'))
+ return results
+
config = apt_listchanges.Config()
config.read('/etc/apt/listchanges.conf')
apt_pkg.InitSystem()
============================================================
--- client/plugins/iptables.py 3b9ba4f31ddf2daa7e23e12aeedcc8e9e7ae8869
+++ client/plugins/iptables.py a69914410b707ad43f8014c15d2bb748ac48452d
@@ -4,8 +4,12 @@ def run():
from config import install_path
def run():
+ iptables_prog = "/sbin/iptables"
+ if not os.access(iptables_prog, os.X_OK):
+ return [(urgency['info'], 'iptables not available (not installed?)')]
+
# for now, just check that there are rules
- iptables_command = '/sbin/iptables -L INPUT -n'
+ iptables_command = '%s -L INPUT -n' % iptables_prog
if os.access(os.path.join(install_path, 'etc', 'no_iptables_ok'), os.R_OK):
return [(urgency['info'], 'skipped iptables check, no_firewall_ok found.')]
============================================================
--- client/plugins/opensshconfig.py fe78379a33792adfe928560408883b69b5a65e36
+++ client/plugins/opensshconfig.py a5b120d7afe504893b09b3d35b37ea6ee6820364
@@ -1,9 +1,20 @@
+import os
from phonehome import urgency
+sshd_config_locations = ('/etc/ssh/sshd_config', '/etc/sshd_config')
+
def run():
results = []
- sshd_config_file = '/etc/ssh/sshd_config'
+ def find_sshd_config():
+ for loc in sshd_config_locations:
+ if os.access(loc, os.R_OK):
+ return loc
+ return None
+ sshd_config_file = find_sshd_config()
+ if sshd_config_file is None:
+ results.append((urgency['info'], 'Could not find SSH daemon config, OpenSSH not installed?'))
+ return results
for line in open(sshd_config_file):
line = line.strip().lower()
fields = [t for t in line.split(' ') if t]