)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"bc40b36f2fcff0fc9dabf66d5a699bb7750f06c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ede1dadd_1f3778d0","updated":"2025-03-20 11:34:10.000000000","message":"build failure","commit_id":"5f60fa98c7ebd85ad21437d6e4af9fdb782472c7"},{"author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"change_message_id":"24e3a980f0c65cabd28a0dcaef0401ef4de7457f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"99547dac_15b6acdd","updated":"2025-05-01 09:05:45.000000000","message":"Stared at the code and slightly tested on Windows, both --dhcp-option dns and --dns work, in various combinations. I haven\u0027t checked env variables and non-Windows parts.\n\nWhile not the fault of this patch, I noticed that inside run_up_down_service() we do not log success of setting DNS via service, like we normally do when we talk to the service:\n\n  2025-05-01 11:49:09 us\u003d187000 INET address service: add 10.8.0.2/24\n  2025-05-01 11:49:09 us\u003d203000 IPv4 MTU set to 1500 on interface 20 using service\n  \nLet\u0027s do that for DNS, too, in a separate patch.","commit_id":"ff83cbc2c3583c81c76d7b991a2a6f6232ef335e"},{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"dbec062ebd5734c441cbc620e1885004b74a68c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"cbabf16a_0d806958","updated":"2025-06-18 12:49:50.000000000","message":"Tested various combinations of incoming --dns/--dhcp-option DNS and outgoing --up and --dns-updown, and with the missing ++, it now looks really nice.","commit_id":"494c87939d93b24005429439760c963ef2223d37"}],"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":"bc40b36f2fcff0fc9dabf66d5a699bb7750f06c7","unresolved":true,"context_lines":[{"line_number":3508,"context_line":"        tt-\u003edomain_search_list[tt-\u003edomain_search_list_len++] \u003d d-\u003ename;"},{"line_number":3509,"context_line":"        d \u003d d-\u003enext;"},{"line_number":3510,"context_line":"    }"},{"line_number":3511,"context_line":"    if (domain)"},{"line_number":3512,"context_line":"    {"},{"line_number":3513,"context_line":"        msg(M_WARN, \"WARNING: couldn\u0027t copy all --dns search-domains to TUN/TAP\");"},{"line_number":3514,"context_line":"    }"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"0bb84115_ddb1f6f9","line":3511,"range":{"start_line":3511,"start_character":14,"end_line":3511,"end_character":15},"updated":"2025-03-20 11:34:10.000000000","message":"`error: use of undeclared identifier \u0027domain\u0027`","commit_id":"5f60fa98c7ebd85ad21437d6e4af9fdb782472c7"},{"author":{"_account_id":1000006,"name":"d12fk","display_name":"Heiko Hund","email":"heiko@openvpn.net","username":"d12fk"},"change_message_id":"4ac60f6db1a4bb0d1f6283e026611a322e5e053b","unresolved":false,"context_lines":[{"line_number":3508,"context_line":"        tt-\u003edomain_search_list[tt-\u003edomain_search_list_len++] \u003d d-\u003ename;"},{"line_number":3509,"context_line":"        d \u003d d-\u003enext;"},{"line_number":3510,"context_line":"    }"},{"line_number":3511,"context_line":"    if (domain)"},{"line_number":3512,"context_line":"    {"},{"line_number":3513,"context_line":"        msg(M_WARN, \"WARNING: couldn\u0027t copy all --dns search-domains to TUN/TAP\");"},{"line_number":3514,"context_line":"    }"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"f01dbf32_e7fe61de","line":3511,"range":{"start_line":3511,"start_character":14,"end_line":3511,"end_character":15},"in_reply_to":"0bb84115_ddb1f6f9","updated":"2025-03-20 12:10:04.000000000","message":"Done","commit_id":"5f60fa98c7ebd85ad21437d6e4af9fdb782472c7"},{"author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"change_message_id":"925d81a340716cf2a791f54378b984d6aa60de30","unresolved":true,"context_lines":[{"line_number":3501,"context_line":""},{"line_number":3502,"context_line":"        memcpy(tt-\u003edns, dhcp-\u003edns, sizeof(tt-\u003edns));"},{"line_number":3503,"context_line":"        memcpy(tt-\u003edns6, dhcp-\u003edns6, sizeof(tt-\u003edns6));"},{"line_number":3504,"context_line":"        memcpy(tt-\u003edomain_search_list, dhcp-\u003edomain_search_list, sizeof(tt-\u003edomain_search_list));"},{"line_number":3505,"context_line":""},{"line_number":3506,"context_line":"        return;"},{"line_number":3507,"context_line":"    }"}],"source_content_type":"text/x-csrc","patch_set":14,"id":"b309b0cc_f864d13c","line":3504,"updated":"2025-04-23 09:43:41.000000000","message":"C:\\Users\\lev\\Projects\\openvpn-build\\src\\openvpn\\src\\openvpn\\options.c(3504,18): error C2220: the following warning is treated as an error \nC:\\Users\\lev\\Projects\\openvpn-build\\src\\openvpn\\src\\openvpn\\options.c(3504,18): warning C4090: \u0027function\u0027: different \u0027const\u0027 qualifiers","commit_id":"20f298b09ecd76c869e46138cc16ee1e04be07ed"},{"author":{"_account_id":1000006,"name":"d12fk","display_name":"Heiko Hund","email":"heiko@openvpn.net","username":"d12fk"},"change_message_id":"1d955e3f3461ac94160219b1347e6aaf61360b1c","unresolved":false,"context_lines":[{"line_number":3501,"context_line":""},{"line_number":3502,"context_line":"        memcpy(tt-\u003edns, dhcp-\u003edns, sizeof(tt-\u003edns));"},{"line_number":3503,"context_line":"        memcpy(tt-\u003edns6, dhcp-\u003edns6, sizeof(tt-\u003edns6));"},{"line_number":3504,"context_line":"        memcpy(tt-\u003edomain_search_list, dhcp-\u003edomain_search_list, sizeof(tt-\u003edomain_search_list));"},{"line_number":3505,"context_line":""},{"line_number":3506,"context_line":"        return;"},{"line_number":3507,"context_line":"    }"}],"source_content_type":"text/x-csrc","patch_set":14,"id":"d8e761d9_4194af85","line":3504,"in_reply_to":"b309b0cc_f864d13c","updated":"2025-04-28 06:12:00.000000000","message":"Done","commit_id":"20f298b09ecd76c869e46138cc16ee1e04be07ed"},{"author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"change_message_id":"50b69af99f42472033b2b78efd79884e98084cbe","unresolved":true,"context_lines":[{"line_number":8347,"context_line":"            {"},{"line_number":8348,"context_line":"                dhcp_option_address_parse(\"DNS\", p[2], dhcp-\u003edns, \u0026dhcp-\u003edns_len, msglevel);"},{"line_number":8349,"context_line":"            }"},{"line_number":8350,"context_line":"        }"},{"line_number":8351,"context_line":"#if defined(_WIN32) || defined(TARGET_ANDROID)"},{"line_number":8352,"context_line":"        struct tuntap_options *o \u003d \u0026options-\u003etuntap_options;"},{"line_number":8353,"context_line":"        if (streq(p[1], \"NBS\") \u0026\u0026 p[2] \u0026\u0026 !p[3])"}],"source_content_type":"text/x-csrc","patch_set":14,"id":"af9bbdf4_cef7db0a","line":8350,"updated":"2025-04-23 10:52:03.000000000","message":"is \"else\" missing here? I have \"--dhcp-option DNS 8.8.4.4\" pushed by server which got applied, but I also got a warning \"Options error: --dhcp-option: unknown option type \u0027DNS\u0027 or missing or unknown parameter\".","commit_id":"20f298b09ecd76c869e46138cc16ee1e04be07ed"},{"author":{"_account_id":1000006,"name":"d12fk","display_name":"Heiko Hund","email":"heiko@openvpn.net","username":"d12fk"},"change_message_id":"1d955e3f3461ac94160219b1347e6aaf61360b1c","unresolved":false,"context_lines":[{"line_number":8347,"context_line":"            {"},{"line_number":8348,"context_line":"                dhcp_option_address_parse(\"DNS\", p[2], dhcp-\u003edns, \u0026dhcp-\u003edns_len, msglevel);"},{"line_number":8349,"context_line":"            }"},{"line_number":8350,"context_line":"        }"},{"line_number":8351,"context_line":"#if defined(_WIN32) || defined(TARGET_ANDROID)"},{"line_number":8352,"context_line":"        struct tuntap_options *o \u003d \u0026options-\u003etuntap_options;"},{"line_number":8353,"context_line":"        if (streq(p[1], \"NBS\") \u0026\u0026 p[2] \u0026\u0026 !p[3])"}],"source_content_type":"text/x-csrc","patch_set":14,"id":"842e2bc7_5ade9b3b","line":8350,"in_reply_to":"af9bbdf4_cef7db0a","updated":"2025-04-28 06:12:00.000000000","message":"Done","commit_id":"20f298b09ecd76c869e46138cc16ee1e04be07ed"},{"author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"change_message_id":"24e3a980f0c65cabd28a0dcaef0401ef4de7457f","unresolved":true,"context_lines":[{"line_number":4296,"context_line":"    {"},{"line_number":4297,"context_line":"        dns_options_postprocess_pull(\u0026o-\u003edns_options);"},{"line_number":4298,"context_line":"#if defined(_WIN32) || defined(TARGET_ANDROID)"},{"line_number":4299,"context_line":"        tuntap_options_postprocess_dns(o);"},{"line_number":4300,"context_line":"#else"},{"line_number":4301,"context_line":"        dhcp_options_postprocess_dns(o, es);"},{"line_number":4302,"context_line":"#endif"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"dbd3e34f_fbb036f8","line":4299,"updated":"2025-05-01 09:05:45.000000000","message":"Why WIN32 and Android require special treatment? I see that it was not added in this patch, but still a comment \"why\" could be in place, since we touch this fragment.","commit_id":"ff83cbc2c3583c81c76d7b991a2a6f6232ef335e"},{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"dbec062ebd5734c441cbc620e1885004b74a68c7","unresolved":false,"context_lines":[{"line_number":4296,"context_line":"    {"},{"line_number":4297,"context_line":"        dns_options_postprocess_pull(\u0026o-\u003edns_options);"},{"line_number":4298,"context_line":"#if defined(_WIN32) || defined(TARGET_ANDROID)"},{"line_number":4299,"context_line":"        tuntap_options_postprocess_dns(o);"},{"line_number":4300,"context_line":"#else"},{"line_number":4301,"context_line":"        dhcp_options_postprocess_dns(o, es);"},{"line_number":4302,"context_line":"#endif"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"a940614d_7efe3270","line":4299,"in_reply_to":"99c9aa4d_22bf37c4","updated":"2025-06-18 12:49:50.000000000","message":"Done","commit_id":"ff83cbc2c3583c81c76d7b991a2a6f6232ef335e"},{"author":{"_account_id":1000006,"name":"d12fk","display_name":"Heiko Hund","email":"heiko@openvpn.net","username":"d12fk"},"change_message_id":"029f1a533c3147476355e1f6edb475bf9c669c58","unresolved":true,"context_lines":[{"line_number":4296,"context_line":"    {"},{"line_number":4297,"context_line":"        dns_options_postprocess_pull(\u0026o-\u003edns_options);"},{"line_number":4298,"context_line":"#if defined(_WIN32) || defined(TARGET_ANDROID)"},{"line_number":4299,"context_line":"        tuntap_options_postprocess_dns(o);"},{"line_number":4300,"context_line":"#else"},{"line_number":4301,"context_line":"        dhcp_options_postprocess_dns(o, es);"},{"line_number":4302,"context_line":"#endif"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"99c9aa4d_22bf37c4","line":4299,"in_reply_to":"aaf0a34c_938d33d0","updated":"2025-06-05 10:21:24.000000000","message":"Think all this is covered in the latest push, please check.","commit_id":"ff83cbc2c3583c81c76d7b991a2a6f6232ef335e"},{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"5f08d08d5013665d56a0f580198773e6bd1169a8","unresolved":true,"context_lines":[{"line_number":4296,"context_line":"    {"},{"line_number":4297,"context_line":"        dns_options_postprocess_pull(\u0026o-\u003edns_options);"},{"line_number":4298,"context_line":"#if defined(_WIN32) || defined(TARGET_ANDROID)"},{"line_number":4299,"context_line":"        tuntap_options_postprocess_dns(o);"},{"line_number":4300,"context_line":"#else"},{"line_number":4301,"context_line":"        dhcp_options_postprocess_dns(o, es);"},{"line_number":4302,"context_line":"#endif"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"aaf0a34c_938d33d0","line":4299,"in_reply_to":"b4f06df1_f654bf62","updated":"2025-05-23 06:14:05.000000000","message":"I have thought about this a while now, and would suggest to do the following\n\n- *if and only if* we are using the tap driver with ip-win32 dhcp, keep DNS things \"as they are in 2.6\" -\u003e fill in DHCP options, do not set DNS via iservice\n- if DCO is used or a non-DHCP mode -\u003e use iservice\n\nthis will effectively make us use iservice most of the time, but if someone really wants old behaviour and relies on DHCP, they can have that (... and, alas, we see users that use a) tap, b) dhcp, and c) no iservice... - which is strongly not recommended, but...)","commit_id":"ff83cbc2c3583c81c76d7b991a2a6f6232ef335e"},{"author":{"_account_id":1000006,"name":"d12fk","display_name":"Heiko Hund","email":"heiko@openvpn.net","username":"d12fk"},"change_message_id":"439000d38673f623f37687ccb7b46012013732e1","unresolved":true,"context_lines":[{"line_number":4296,"context_line":"    {"},{"line_number":4297,"context_line":"        dns_options_postprocess_pull(\u0026o-\u003edns_options);"},{"line_number":4298,"context_line":"#if defined(_WIN32) || defined(TARGET_ANDROID)"},{"line_number":4299,"context_line":"        tuntap_options_postprocess_dns(o);"},{"line_number":4300,"context_line":"#else"},{"line_number":4301,"context_line":"        dhcp_options_postprocess_dns(o, es);"},{"line_number":4302,"context_line":"#endif"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"b4f06df1_f654bf62","line":4299,"in_reply_to":"dbd3e34f_fbb036f8","updated":"2025-05-19 08:46:22.000000000","message":"The reason why is that both had DNS before and they were using the DNS related elements in `struct tuntap_options` which were filled by `--dhcp-option`s. Now we want the dhcp-option also in the dns_option struct and vice versa, for compatibility. For tap-windows with DHCP: I think we now do double configuration of DNS, now that I think about it more. Don\u0027t know if this is a problem that needs attention. What do you think?","commit_id":"ff83cbc2c3583c81c76d7b991a2a6f6232ef335e"}]}
