prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  update ansible to 2.6.18 or later due to CVE-2019-10156
  ## Description
  
  We should update Ansible to version 2.6.18 or later due to [CVE-2019-10156](https://nvd.nist.gov/vuln/detail/CVE-2019-10156). This is a templating vulnerability that would require an attacker to first insert malicious templates into the Admin workstation so the impact is minimal for SecureDrop. Nevertheless, to reduce alert noise and not be using dependencies with known vulnerabilities, we should update. 
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `install_files/ansible-base/callback_plugins/ansible_version_check.py`
  Content:
  ```
  1 # -*- encoding:utf-8 -*-
  2 from __future__ import absolute_import, division, print_function, \
  3         unicode_literals
  4 
  5 import sys
  6 
  7 import ansible
  8 
  9 try:
  10     # Version 2.0+
  11     from ansible.plugins.callback import CallbackBase
  12 except ImportError:
  13     CallbackBase = object
  14 
  15 
  16 def print_red_bold(text):
  17     print('\x1b[31;1m' + text + '\x1b[0m')
  18 
  19 
  20 class CallbackModule(CallbackBase):
  21     def __init__(self):
  22         # Can't use `on_X` because this isn't forwards compatible
  23         # with Ansible 2.0+
  24         required_version = '2.6.14'  # Keep synchronized with requirements files
  25         if not ansible.__version__.startswith(required_version):
  26             print_red_bold(
  27                 "SecureDrop restriction: only Ansible {version}.*"
  28                 "is supported."
  29                 .format(version=required_version)
  30             )
  31             sys.exit(1)
  32
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/install_files/ansible-base/callback_plugins/ansible_version_check.py b/install_files/ansible-base/callback_plugins/ansible_version_check.py
  --- a/install_files/ansible-base/callback_plugins/ansible_version_check.py
  +++ b/install_files/ansible-base/callback_plugins/ansible_version_check.py
  @@ -21,7 +21,7 @@
       def __init__(self):
           # Can't use `on_X` because this isn't forwards compatible
           # with Ansible 2.0+
  -        required_version = '2.6.14'  # Keep synchronized with requirements files
  +        required_version = '2.6.19'  # Keep synchronized with requirements files
           if not ansible.__version__.startswith(required_version):
               print_red_bold(
                   "SecureDrop restriction: only Ansible {version}.*"
  
verification_info: {"golden_diff": "diff --git a/install_files/ansible-base/callback_plugins/ansible_version_check.py b/install_files/ansible-base/callback_plugins/ansible_version_check.py\n--- a/install_files/ansible-base/callback_plugins/ansible_version_check.py\n+++ b/install_files/ansible-base/callback_plugins/ansible_version_check.py\n@@ -21,7 +21,7 @@\n     def __init__(self):\n         # Can't use `on_X` because this isn't forwards compatible\n         # with Ansible 2.0+\n-        required_version = '2.6.14'  # Keep synchronized with requirements files\n+        required_version = '2.6.19'  # Keep synchronized with requirements files\n         if not ansible.__version__.startswith(required_version):\n             print_red_bold(\n                 \"SecureDrop restriction: only Ansible {version}.*\"\n", "issue": "update ansible to 2.6.18 or later due to CVE-2019-10156\n## Description\r\n\r\nWe should update Ansible to version 2.6.18 or later due to [CVE-2019-10156](https://nvd.nist.gov/vuln/detail/CVE-2019-10156). This is a templating vulnerability that would require an attacker to first insert malicious templates into the Admin workstation so the impact is minimal for SecureDrop. Nevertheless, to reduce alert noise and not be using dependencies with known vulnerabilities, we should update. \n", "before_files": [{"content": "# -*- encoding:utf-8 -*-\nfrom __future__ import absolute_import, division, print_function, \\\n        unicode_literals\n\nimport sys\n\nimport ansible\n\ntry:\n    # Version 2.0+\n    from ansible.plugins.callback import CallbackBase\nexcept ImportError:\n    CallbackBase = object\n\n\ndef print_red_bold(text):\n    print('\\x1b[31;1m' + text + '\\x1b[0m')\n\n\nclass CallbackModule(CallbackBase):\n    def __init__(self):\n        # Can't use `on_X` because this isn't forwards compatible\n        # with Ansible 2.0+\n        required_version = '2.6.14'  # Keep synchronized with requirements files\n        if not ansible.__version__.startswith(required_version):\n            print_red_bold(\n                \"SecureDrop restriction: only Ansible {version}.*\"\n                \"is supported.\"\n                .format(version=required_version)\n            )\n            sys.exit(1)\n", "path": "install_files/ansible-base/callback_plugins/ansible_version_check.py"}], "after_files": [{"content": "# -*- encoding:utf-8 -*-\nfrom __future__ import absolute_import, division, print_function, \\\n        unicode_literals\n\nimport sys\n\nimport ansible\n\ntry:\n    # Version 2.0+\n    from ansible.plugins.callback import CallbackBase\nexcept ImportError:\n    CallbackBase = object\n\n\ndef print_red_bold(text):\n    print('\\x1b[31;1m' + text + '\\x1b[0m')\n\n\nclass CallbackModule(CallbackBase):\n    def __init__(self):\n        # Can't use `on_X` because this isn't forwards compatible\n        # with Ansible 2.0+\n        required_version = '2.6.19'  # Keep synchronized with requirements files\n        if not ansible.__version__.startswith(required_version):\n            print_red_bold(\n                \"SecureDrop restriction: only Ansible {version}.*\"\n                \"is supported.\"\n                .format(version=required_version)\n            )\n            sys.exit(1)\n", "path": "install_files/ansible-base/callback_plugins/ansible_version_check.py"}]}