#847 mod_reload_modules doesn't reload mod_http globally

Reporter Harry Smallbones
Owner Nobody
Created
Updated
Stars ★ (1)
Tags
  • Component-Community
  • Priority-Medium
  • Type-Defect
  • Status-Accepted
  1. Harry Smallbones on

    What steps will reproduce the problem? 1. Have Prosody and its HTTP server running with a SSL certificate. Have reload_modules enabled and set to reload tls and http. 2. Update the SSL certificate and key on disk with a new one. 3. Reload prosody What is the expected output? What do you see instead? Expected: The tls and http modules will be fully reloaded by reload_modules. The new SSL certificate will be served by the XMPP and built-in web servers. Actual: The new certificate is served by the XMPP server however the HTTP server continues to use the old certificate. What version of the product are you using? On what operating system? Prosody 0.9.10 on FreeBSD 11.0. Please provide any additional information below. Running module:reload("http", "*") on the telnet console reloads mod_http correctly so it serves the new certificate.

  2. Zash on

    So this happens because mod_http is a "shared module", which is both loaded globally and on individual hosts and because mod_reload_modules does not handle reloading this kind of module correctly, reloading only the host instance but not the global one. The port context belongs to the global instance, so is not reloaded.

    Changes
    • tags Status-Accepted
  3. Zash on

    Changes
    • tags Component-Community

New comment

Not published. Used for spam prevention and optional update notifications.