OpenSIPS / opensips-cli

OpenSIPS CLI tool - an interactive command line tool that can be used to control and monitor OpenSIPS servers.
GNU General Public License v3.0
85 stars 48 forks source link

TLS Certificate Error #48

Closed nicolastanski closed 4 years ago

nicolastanski commented 4 years ago

I am trying to create the TLS certificate by opensips-cli but it is returning the error. Same error occur with other python versions.

(opensips-cli): tls rootCA

Traceback (most recent call last):
  File "/usr/lib64/python3.6/cmd.py", line 214, in onecmd
    func = getattr(self, 'do_' + cmd)
AttributeError: 'OpenSIPSCLIShell' object has no attribute 'do_tls'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/opensips-cli", line 4, in <module>
    __import__('pkg_resources').run_script('opensipscli==0.1.0', 'opensips-cli')
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 654, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1434, in run_script
    exec(code, namespace, namespace)
  File "/usr/local/lib/python3.6/site-packages/opensipscli-0.1.0-py3.6.egg/EGG-INFO/scripts/opensips-cli", line 9, in <module>
    run_console()
  File "/usr/local/lib/python3.6/site-packages/opensipscli-0.1.0-py3.6.egg/EGG-INFO/scripts/opensips-cli", line 6, in run_console
    main.main()
  File "/usr/local/lib/python3.6/site-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/main.py", line 78, in main
    sys.exit(shell.cmdloop())
  File "/usr/local/lib/python3.6/site-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/cli.py", line 242, in cmdloop
    super(OpenSIPSCLIShell, self).cmdloop(intro='')
  File "/usr/lib64/python3.6/cmd.py", line 138, in cmdloop
    stop = self.onecmd(line)
  File "/usr/lib64/python3.6/cmd.py", line 216, in onecmd
    return self.default(line)
  File "/usr/local/lib/python3.6/site-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/cli.py", line 358, in default
    self.run_command(module, cmd, params)
  File "/usr/local/lib/python3.6/site-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/cli.py", line 341, in run_command
    return mod[0].__invoke__(cmd, params)
  File "/usr/local/lib/python3.6/site-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/module.py", line 36, in __invoke__
    return f(params)
  File "/usr/local/lib/python3.6/site-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/modules/tls.py", line 39, in do_rootCA
    ca_cfg = cfg.get("tls_ca_config")
  File "/usr/local/lib/python3.6/site-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/config.py", line 64, in get
    return self.config[self.current_instance][key]
  File "/usr/lib64/python3.6/configparser.py", line 1233, in __getitem__
    raise KeyError(key)
KeyError: 'tls_ca_config'

/etc/opensips/opensips-cli.cfg

[default]
database_url: mysql://user:password@localhost
database_name: opensips
database_modules: dialog usrloc
database_path: /usr/src/opensips-3.0/scripts/mysql
liviuchircu commented 4 years ago

Indeed, I think I ran into this error as well at some point. Try setting all required params according to the TLS module docs and you should be fine.

But let's keep this issue open until we fix those Exceptions. Those parameters either need some proper defaults or the fact that they are lacking should be handled a lot more gracefully!