/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to mandos-ctl

  • Committer: Teddy Hogeborn
  • Date: 2018-04-01 19:27:30 UTC
  • Revision ID: teddy@recompile.se-20180401192730-jwr4io5cb3x5u268
Don't print NULL string pointers in error message output

* plugins.d/mandos-client.c (pgp_packet_decrypt): If decryption fails,
  don't print unsupported_algorithm if it is NULL.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
#
4
4
# Mandos Monitor - Control and monitor the Mandos server
5
5
#
6
 
# Copyright © 2008-2019 Teddy Hogeborn
7
 
# Copyright © 2008-2019 Björn Påhlsson
 
6
# Copyright © 2008-2018 Teddy Hogeborn
 
7
# Copyright © 2008-2018 Björn Påhlsson
8
8
#
9
9
# This file is part of Mandos.
10
10
#
40
40
import os
41
41
import collections
42
42
import json
43
 
import unittest
44
43
 
45
44
import dbus
46
45
 
59
58
    "Interval": "Interval",
60
59
    "Host": "Host",
61
60
    "Fingerprint": "Fingerprint",
62
 
    "KeyID": "Key ID",
63
61
    "CheckerRunning": "Check Is Running",
64
62
    "LastEnabled": "Last Enabled",
65
63
    "ApprovalPending": "Approval Is Pending",
77
75
server_path = "/"
78
76
server_interface = domain + ".Mandos"
79
77
client_interface = domain + ".Mandos.Client"
80
 
version = "1.8.3"
 
78
version = "1.7.19"
81
79
 
82
80
 
83
81
try:
346
344
    if options.all and not has_actions(options):
347
345
        parser.error("--all requires an action.")
348
346
 
 
347
    if options.check:
 
348
        import doctest
 
349
        fail_count, test_count = doctest.testmod()
 
350
        sys.exit(os.EX_OK if fail_count == 0 else 1)
 
351
 
349
352
    try:
350
353
        bus = dbus.SystemBus()
351
354
        mandos_dbus_objc = bus.get_object(busname, server_path)
401
404
    if not has_actions(options) and clients:
402
405
        if options.verbose or options.dump_json:
403
406
            keywords = ("Name", "Enabled", "Timeout", "LastCheckedOK",
404
 
                        "Created", "Interval", "Host", "KeyID",
405
 
                        "Fingerprint", "CheckerRunning",
406
 
                        "LastEnabled", "ApprovalPending",
407
 
                        "ApprovedByDefault", "LastApprovalRequest",
408
 
                        "ApprovalDelay", "ApprovalDuration",
409
 
                        "Checker", "ExtendedTimeout", "Expires",
 
407
                        "Created", "Interval", "Host", "Fingerprint",
 
408
                        "CheckerRunning", "LastEnabled",
 
409
                        "ApprovalPending", "ApprovedByDefault",
 
410
                        "LastApprovalRequest", "ApprovalDelay",
 
411
                        "ApprovalDuration", "Checker",
 
412
                        "ExtendedTimeout", "Expires",
410
413
                        "LastCheckerStatus")
411
414
        else:
412
415
            keywords = defaultkeywords
489
492
                client.Approve(dbus.Boolean(False),
490
493
                               dbus_interface=client_interface)
491
494
 
492
 
 
493
 
def should_only_run_tests():
494
 
    parser = argparse.ArgumentParser(add_help=False)
495
 
    parser.add_argument("--check", action='store_true')
496
 
    args, unknown_args = parser.parse_known_args()
497
 
    run_tests = args.check
498
 
    if run_tests:
499
 
        # Remove --check argument from sys.argv
500
 
        sys.argv[1:] = unknown_args
501
 
    return run_tests
502
 
 
503
 
# Add all tests from doctest strings
504
 
def load_tests(loader, tests, none):
505
 
    import doctest
506
 
    tests.addTests(doctest.DocTestSuite())
507
 
    return tests
508
495
 
509
496
if __name__ == "__main__":
510
 
    if should_only_run_tests():
511
 
        # Call using ./tdd-python-script --check [--verbose]
512
 
        unittest.main()
513
 
    else:
514
 
        main()
 
497
    main()