From: Vagisha Gupta Date: Fri, 10 Apr 2020 15:08:49 +0000 (+0530) Subject: Make list-enabled-sources command as an option for list-sources X-Git-Tag: 1.2.0rc2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=093f7a338b2fd6bce47ee01fb12652842957f3a0;p=thirdparty%2Fsuricata-update.git Make list-enabled-sources command as an option for list-sources Removed `list-enabled-sources` command and made use of single command `suricata-update list-sources --enabled` to list all the enabled sources. Redmine issue: https://redmine.openinfosecfoundation.org/issues/3248 --- diff --git a/doc/index.rst b/doc/index.rst index 9100d25..a9268c9 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -12,6 +12,5 @@ suricata-update - A Suricata Rule Update Tool enable-source disable-source remove-source - list-enabled-sources add-source check-versions diff --git a/doc/list-enabled-sources.rst b/doc/list-enabled-sources.rst deleted file mode 100644 index 0d8c9db..0000000 --- a/doc/list-enabled-sources.rst +++ /dev/null @@ -1,20 +0,0 @@ -########################################### -list-enabled-sources - List enabled sources -########################################### - -Synopsis -======== - -:: - - suricata-update list-enabled-sources - -Description -=========== - -The ``list-enabled-sources`` command lists all the enabled sources. - -Options -======= - -.. include:: common-options.rst diff --git a/doc/list-sources.rst b/doc/list-sources.rst index 12161e9..f4b36eb 100644 --- a/doc/list-sources.rst +++ b/doc/list-sources.rst @@ -22,3 +22,7 @@ Options .. option:: --free List all freely available sources. + +.. option:: --enabled + + Lists all the enabled sources. diff --git a/suricata/update/commands/__init__.py b/suricata/update/commands/__init__.py index 5d36fc7..e75c80a 100644 --- a/suricata/update/commands/__init__.py +++ b/suricata/update/commands/__init__.py @@ -14,7 +14,6 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. -from suricata.update.commands import listenabledsources from suricata.update.commands import addsource from suricata.update.commands import listsources from suricata.update.commands import updatesources diff --git a/suricata/update/commands/listenabledsources.py b/suricata/update/commands/listenabledsources.py deleted file mode 100644 index 5c03efb..0000000 --- a/suricata/update/commands/listenabledsources.py +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright (C) 2017 Open Information Security Foundation -# -# You can copy, redistribute or modify this Program under the terms of -# the GNU General Public License version 2 as published by the Free -# Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# version 2 along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -from __future__ import print_function - -import logging - -from suricata.update import config -from suricata.update import sources - -logger = logging.getLogger() - -def register(parser): - parser.set_defaults(func=list_enabled_sources) - -def list_enabled_sources(): - - found = False - - # First list sources from the main config. - config_sources = config.get("sources") - if config_sources: - found = True - print("From %s:" % (config.filename)) - for source in config_sources: - print(" - %s" % (source)) - - # And local files. - local = config.get("local") - if local: - found = True - print("Local files/directories:") - for filename in local: - print(" - %s" % (filename)) - - enabled_sources = sources.get_enabled_sources() - if enabled_sources: - found = True - print("Enabled sources:") - for source in enabled_sources.values(): - print(" - %s" % (source["source"])) - - # If no enabled sources were found, log it. - if not found: - logger.warning("No enabled sources.") diff --git a/suricata/update/commands/listsources.py b/suricata/update/commands/listsources.py index 144f244..5d96914 100644 --- a/suricata/update/commands/listsources.py +++ b/suricata/update/commands/listsources.py @@ -29,9 +29,43 @@ logger = logging.getLogger() def register(parser): parser.add_argument("--free", action="store_true", default=False, help="List all freely available sources") + parser.add_argument("--enabled", action="store_true", + help="List all enabled sources") parser.set_defaults(func=list_sources) def list_sources(): + enabled = config.args().enabled + if enabled: + found = False + + # First list sources from the main config. + config_sources = config.get("sources") + if config_sources: + found = True + print("From %s:" % (config.filename)) + for source in config_sources: + print(" - %s" % (source)) + + # And local files. + local = config.get("local") + if local: + found = True + print("Local files/directories:") + for filename in local: + print(" - %s" % (filename)) + + enabled_sources = sources.get_enabled_sources() + if enabled_sources: + found = True + print("Enabled sources:") + for source in enabled_sources.values(): + print(" - %s" % (source["source"])) + + # If no enabled sources were found, log it. + if not found: + logger.warning("No enabled sources.") + return 0 + free_only = config.args().free if not sources.source_index_exists(config): logger.info("No source index found, running update-sources") diff --git a/suricata/update/parsers.py b/suricata/update/parsers.py index d76acd4..7688291 100644 --- a/suricata/update/parsers.py +++ b/suricata/update/parsers.py @@ -185,8 +185,6 @@ def parse_update(subparsers, global_parser): def parse_commands(subparsers, global_parser): commands.listsources.register(subparsers.add_parser( "list-sources", parents=[global_parser])) - commands.listenabledsources.register(subparsers.add_parser( - "list-enabled-sources", parents=[global_parser])) commands.addsource.register(subparsers.add_parser( "add-source", parents=[global_parser])) commands.updatesources.register(subparsers.add_parser( @@ -223,7 +221,6 @@ def parse_arg(): enable-source Enable a source from the index disable-source Disable an enabled source remove-source Remove an enabled or disabled source - list-enabled-sources List all enabled sources add-source Add a new source by URL check-versions Check version of suricata-update """