)]}'
{"doc/man-sections/management-options.rst":[{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"f708826a60490b37abc129e7915f529191e38eb6","unresolved":true,"context_lines":[{"line_number":30,"context_line":"  specified script on startup and enable ``--management-hold``."},{"line_number":31,"context_line":"  OpenVPN will generate a random path for the unix socket"},{"line_number":32,"context_line":"  and also management user and password. These are passed as environment"},{"line_number":33,"context_line":"  variables :code:`MANAGEMENT_SOCKET`, :code:`MANAGEMENT_PASSWORD`"},{"line_number":34,"context_line":"  to the script when being started. When OpenVPN terminates it sends"},{"line_number":35,"context_line":"  a :code:`SIGINT` signal to the running script."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"cf57342f_38e1e5b5","line":33,"updated":"2026-08-26 12:26:13.000000000","message":"The user variable is missing in the list","commit_id":"d15ed8dc6abe2c8b89e8b92a64c461ae9ee1024f"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"95f0f8100fddb3c555262e41d64a34c61d570a81","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  specified script on startup and enable ``--management-hold``."},{"line_number":31,"context_line":"  OpenVPN will generate a random path for the unix socket"},{"line_number":32,"context_line":"  and also management user and password. These are passed as environment"},{"line_number":33,"context_line":"  variables :code:`MANAGEMENT_SOCKET`, :code:`MANAGEMENT_PASSWORD`"},{"line_number":34,"context_line":"  to the script when being started. When OpenVPN terminates it sends"},{"line_number":35,"context_line":"  a :code:`SIGINT` signal to the running script."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9af954f4_383728c3","line":33,"in_reply_to":"cf57342f_38e1e5b5","updated":"2026-08-26 16:28:02.000000000","message":"That is because there is none. Our management interface is password only. But the text mentioning a user is incorrect.","commit_id":"d15ed8dc6abe2c8b89e8b92a64c461ae9ee1024f"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"f708826a60490b37abc129e7915f529191e38eb6","unresolved":true,"context_lines":[{"line_number":139,"context_line":"  Send SIGUSR1 signal to OpenVPN if management session disconnects. This"},{"line_number":140,"context_line":"  is useful when you wish to disconnect an OpenVPN session on user logoff."},{"line_number":141,"context_line":"  For ``--management-client`` or  ``--management`` with :code:`unixscript`"},{"line_number":142,"context_line":"  this option is not needed since a disconnect  will always generate a"},{"line_number":143,"context_line":"  :code:`SIGTERM`."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"--management-up-down"}],"source_content_type":"text/x-rst","patch_set":8,"id":"cd8a5341_3be649ff","line":142,"updated":"2026-08-26 12:26:13.000000000","message":"Additional space after \"disconnect\"","commit_id":"d15ed8dc6abe2c8b89e8b92a64c461ae9ee1024f"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"f708826a60490b37abc129e7915f529191e38eb6","unresolved":true,"context_lines":[{"line_number":140,"context_line":"  is useful when you wish to disconnect an OpenVPN session on user logoff."},{"line_number":141,"context_line":"  For ``--management-client`` or  ``--management`` with :code:`unixscript`"},{"line_number":142,"context_line":"  this option is not needed since a disconnect  will always generate a"},{"line_number":143,"context_line":"  :code:`SIGTERM`."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"--management-up-down"},{"line_number":146,"context_line":"  Report tunnel up/down events to management interface."}],"source_content_type":"text/x-rst","patch_set":8,"id":"c4de05af_6ae04a8b","line":143,"updated":"2026-08-26 12:26:13.000000000","message":"The other documentation and the code says \"SIGINT\", not \"SIGTERM\"","commit_id":"d15ed8dc6abe2c8b89e8b92a64c461ae9ee1024f"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"95f0f8100fddb3c555262e41d64a34c61d570a81","unresolved":true,"context_lines":[{"line_number":140,"context_line":"  is useful when you wish to disconnect an OpenVPN session on user logoff."},{"line_number":141,"context_line":"  For ``--management-client`` or  ``--management`` with :code:`unixscript`"},{"line_number":142,"context_line":"  this option is not needed since a disconnect  will always generate a"},{"line_number":143,"context_line":"  :code:`SIGTERM`."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"--management-up-down"},{"line_number":146,"context_line":"  Report tunnel up/down events to management interface."}],"source_content_type":"text/x-rst","patch_set":8,"id":"29c5b029_6f84605e","line":143,"in_reply_to":"c4de05af_6ae04a8b","updated":"2026-08-26 16:28:02.000000000","message":"The code says SIGTERM:\n\n        if (man-\u003esettings.flags \u0026 MF_UNIX_SOCK_SCRIPT \u0026\u0026 !man_password_needed(man))\n        {\n            msg(D_MANAGEMENT, \"MANAGEMENT: Triggering exit on unix-script disconnect\");\n            throw_signal_soft(SIGTERM, \"management-exit\");\n        }\n\n        if (man-\u003esettings.flags \u0026 MF_CONNECT_AS_CLIENT)\n        {\n            {\n                msg(D_MANAGEMENT, \"MANAGEMENT: Triggering management exit\");\n                throw_signal_soft(SIGTERM, \"management-exit\");\n            }\n        }\n        \nI tried to reword the section to make it better understandable.","commit_id":"d15ed8dc6abe2c8b89e8b92a64c461ae9ee1024f"}],"src/openvpn/init.c":[{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"f708826a60490b37abc129e7915f529191e38eb6","unresolved":true,"context_lines":[{"line_number":4379,"context_line":"        {"},{"line_number":4380,"context_line":"            /* This creates a file but our management codes deletes the"},{"line_number":4381,"context_line":"             * file before opening a socket with the name */"},{"line_number":4382,"context_line":"            c-\u003eoptions.management_addr \u003d platform_create_temp_file("},{"line_number":4383,"context_line":"                platform_get_tmp_dir(), \"omi\", \u0026c-\u003egc);"},{"line_number":4384,"context_line":"        }"},{"line_number":4385,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":8,"id":"eb9683fa_42aa1f3f","line":4382,"updated":"2026-08-26 12:26:13.000000000","message":"Are there any \"insecure use of temp file\" concerns here? If we ignore that actual file and just use the name what can someone with write access to the tmp dir do? Just prevent the creation of the socket? Anything more nefarious?","commit_id":"d15ed8dc6abe2c8b89e8b92a64c461ae9ee1024f"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"95f0f8100fddb3c555262e41d64a34c61d570a81","unresolved":false,"context_lines":[{"line_number":4379,"context_line":"        {"},{"line_number":4380,"context_line":"            /* This creates a file but our management codes deletes the"},{"line_number":4381,"context_line":"             * file before opening a socket with the name */"},{"line_number":4382,"context_line":"            c-\u003eoptions.management_addr \u003d platform_create_temp_file("},{"line_number":4383,"context_line":"                platform_get_tmp_dir(), \"omi\", \u0026c-\u003egc);"},{"line_number":4384,"context_line":"        }"},{"line_number":4385,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":8,"id":"9712adb6_31be8957","line":4382,"in_reply_to":"eb9683fa_42aa1f3f","updated":"2026-08-26 16:28:02.000000000","message":"You could monitor /tmp and then theoretically create the socket in the right moment to let the client connect to that fake socket. I replaced that code by just using a random socketname. So we don\u0027t have to worry about that.\n\nBut if creating the socket fails, OpenVPN will just exit anyway.","commit_id":"d15ed8dc6abe2c8b89e8b92a64c461ae9ee1024f"}],"src/openvpn/manage.c":[{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"f708826a60490b37abc129e7915f529191e38eb6","unresolved":true,"context_lines":[{"line_number":2659,"context_line":"            /* Set random password. The password is only"},{"line_number":2660,"context_line":"             * alphanumerical [0-9a-f] but still has 128 bit of randomness,"},{"line_number":2661,"context_line":"             * which is more than enough */"},{"line_number":2662,"context_line":"            snprintf(ms-\u003eup.password, sizeof(ms-\u003eup.password),"},{"line_number":2663,"context_line":"                     \"%\" PRIx64 \"%\" PRIx64, get_random(), get_random());"},{"line_number":2664,"context_line":"            ms-\u003eup.defined \u003d true;"},{"line_number":2665,"context_line":"        }"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"bbebc394_5de77151","line":2662,"updated":"2026-08-26 12:26:13.000000000","message":"Don\u0027t we also need to generate an username?","commit_id":"d15ed8dc6abe2c8b89e8b92a64c461ae9ee1024f"}],"src/openvpn/options.c":[{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"f708826a60490b37abc129e7915f529191e38eb6","unresolved":true,"context_lines":[{"line_number":4301,"context_line":"    else if (streq(p[0], \"management\") \u0026\u0026 p[1] \u0026\u0026 p[2] \u0026\u0026 !p[4])"},{"line_number":4302,"context_line":"    {"},{"line_number":4303,"context_line":"        VERIFY_PERMISSION(OPT_P_GENERAL);"},{"line_number":4304,"context_line":"        if (streq(p[2], \"unix\") || streq(p[2], \"unix-script\"))"},{"line_number":4305,"context_line":"        {"},{"line_number":4306,"context_line":"#if UNIX_SOCK_SUPPORT"},{"line_number":4307,"context_line":"            options-\u003emanagement_flags |\u003d MF_UNIX_SOCK;"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"a7e72c69_f167b742","line":4304,"updated":"2026-08-26 12:26:13.000000000","message":"Should we also update the usage information? It is rather long already though.","commit_id":"d15ed8dc6abe2c8b89e8b92a64c461ae9ee1024f"}]}
