)]}'
{"src/openvpn/multi.c":[{"author":{"_account_id":1000053,"name":"Răzvan Cojocaru","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"d9b119eb593386cf39adfb1d08b58774b25cae56","unresolved":true,"context_lines":[{"line_number":4448,"context_line":" * @param m         The multi_context"},{"line_number":4449,"context_line":" * @param mi        The multi_instance of the client we are updating"},{"line_number":4450,"context_line":" * @param new_ip    The new IPv4 address, NULL for -ifconfig or the current IPv4 if no change"},{"line_number":4451,"context_line":" * @param new_ipv6  The new IPv6 address, NULL for -ifconfig-ipv6 or the current IPv6 if no change"},{"line_number":4452,"context_line":" */"},{"line_number":4453,"context_line":"void"},{"line_number":4454,"context_line":"update_vaddr(struct multi_context *m, struct multi_instance *mi, const char *new_ip, const char *new_ipv6)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"1ff420e0_0b1688b5","line":4451,"updated":"2026-11-04 10:14:55.000000000","message":"These might read better as \"NULL to remove, current address to keep\".","commit_id":"ed4acc88e80d08696902ef2b387f2f44497b1fb7"},{"author":{"_account_id":1000040,"name":"Marco Baffo","email":"marco@mandelbit.com","username":"mrbff"},"change_message_id":"e7ed52194b2fbac4a5b8f4528a27e1bec896ecd9","unresolved":false,"context_lines":[{"line_number":4448,"context_line":" * @param m         The multi_context"},{"line_number":4449,"context_line":" * @param mi        The multi_instance of the client we are updating"},{"line_number":4450,"context_line":" * @param new_ip    The new IPv4 address, NULL for -ifconfig or the current IPv4 if no change"},{"line_number":4451,"context_line":" * @param new_ipv6  The new IPv6 address, NULL for -ifconfig-ipv6 or the current IPv6 if no change"},{"line_number":4452,"context_line":" */"},{"line_number":4453,"context_line":"void"},{"line_number":4454,"context_line":"update_vaddr(struct multi_context *m, struct multi_instance *mi, const char *new_ip, const char *new_ipv6)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"af3f1788_c8ef8298","line":4451,"in_reply_to":"1ff420e0_0b1688b5","updated":"2026-11-04 16:16:17.000000000","message":"Done","commit_id":"ed4acc88e80d08696902ef2b387f2f44497b1fb7"}],"src/openvpn/push_util.c":[{"author":{"_account_id":1000053,"name":"Răzvan Cojocaru","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"d9b119eb593386cf39adfb1d08b58774b25cae56","unresolved":true,"context_lines":[{"line_number":149,"context_line":"    struct options o;"},{"line_number":150,"context_line":"    CLEAR(o);"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    /* Set canary values to detect -ifconfig and -ifconfig-ipv6 options in"},{"line_number":153,"context_line":"     * push-update messages. These placeholder strings will be overwritten"},{"line_number":154,"context_line":"     * to NULL by the option parser if -ifconfig or -ifconfig-ipv6 options"},{"line_number":155,"context_line":"     * are present in the push-update, to the new value if present, or"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"bf4e564c_305dd1fb","line":152,"updated":"2026-11-04 10:14:55.000000000","message":"Stale comment referencing canaries?","commit_id":"ed4acc88e80d08696902ef2b387f2f44497b1fb7"},{"author":{"_account_id":1000040,"name":"Marco Baffo","email":"marco@mandelbit.com","username":"mrbff"},"change_message_id":"e7ed52194b2fbac4a5b8f4528a27e1bec896ecd9","unresolved":true,"context_lines":[{"line_number":149,"context_line":"    struct options o;"},{"line_number":150,"context_line":"    CLEAR(o);"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    /* Set canary values to detect -ifconfig and -ifconfig-ipv6 options in"},{"line_number":153,"context_line":"     * push-update messages. These placeholder strings will be overwritten"},{"line_number":154,"context_line":"     * to NULL by the option parser if -ifconfig or -ifconfig-ipv6 options"},{"line_number":155,"context_line":"     * are present in the push-update, to the new value if present, or"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"45d1ae80_34fd1a95","line":152,"in_reply_to":"bf4e564c_305dd1fb","updated":"2026-11-04 16:16:17.000000000","message":"We are just using the current values as canaries but they are still canaries... But i can remove or change the comment if you think it would be more appropriate","commit_id":"ed4acc88e80d08696902ef2b387f2f44497b1fb7"},{"author":{"_account_id":1000053,"name":"Răzvan Cojocaru","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"d9b119eb593386cf39adfb1d08b58774b25cae56","unresolved":true,"context_lines":[{"line_number":158,"context_line":"     */"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    char ifconfig_local[INET_ADDRSTRLEN];"},{"line_number":161,"context_line":"    struct in_addr addr4 \u003d { .s_addr \u003d htonl(mi-\u003econtext.c2.push_ifconfig_local) };"},{"line_number":162,"context_line":"    if (mi-\u003econtext.c2.push_ifconfig_defined)"},{"line_number":163,"context_line":"    {"},{"line_number":164,"context_line":"        if (!inet_ntop(AF_INET, \u0026addr4, ifconfig_local, sizeof(ifconfig_local)))"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"22429f94_8244d057","line":161,"updated":"2026-11-04 10:14:55.000000000","message":"Computed even when `!push_ifconfig_defined`. Maybe move inside the `if()` below?","commit_id":"ed4acc88e80d08696902ef2b387f2f44497b1fb7"},{"author":{"_account_id":1000040,"name":"Marco Baffo","email":"marco@mandelbit.com","username":"mrbff"},"change_message_id":"e7ed52194b2fbac4a5b8f4528a27e1bec896ecd9","unresolved":false,"context_lines":[{"line_number":158,"context_line":"     */"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    char ifconfig_local[INET_ADDRSTRLEN];"},{"line_number":161,"context_line":"    struct in_addr addr4 \u003d { .s_addr \u003d htonl(mi-\u003econtext.c2.push_ifconfig_local) };"},{"line_number":162,"context_line":"    if (mi-\u003econtext.c2.push_ifconfig_defined)"},{"line_number":163,"context_line":"    {"},{"line_number":164,"context_line":"        if (!inet_ntop(AF_INET, \u0026addr4, ifconfig_local, sizeof(ifconfig_local)))"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"c39f93b3_39bf191e","line":161,"in_reply_to":"22429f94_8244d057","updated":"2026-11-04 16:16:17.000000000","message":"Done","commit_id":"ed4acc88e80d08696902ef2b387f2f44497b1fb7"},{"author":{"_account_id":1000053,"name":"Răzvan Cojocaru","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"d9b119eb593386cf39adfb1d08b58774b25cae56","unresolved":true,"context_lines":[{"line_number":218,"context_line":"        /* ifconfig or ifconfig-ipv6 */"},{"line_number":219,"context_line":"        update_vaddr(m, mi, o.ifconfig_local, o.ifconfig_ipv6_local);"},{"line_number":220,"context_line":"        uninit_options(\u0026o);"},{"line_number":221,"context_line":"        return !event_timeout_defined(\u0026c-\u003ec2.scheduled_exit);"},{"line_number":222,"context_line":"    }"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    uninit_options(\u0026o);"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"ab13739c_b8bebbba","line":221,"updated":"2026-11-04 10:14:55.000000000","message":"Wouldn\u0027t `scheduled_exit` be true in several ways (e.g. if there\u0027s simply a pending kill)?\n\nWould just having `update_vaddr()` return `bool` (`false` on restart paths) be possible, to simplify this logic?","commit_id":"ed4acc88e80d08696902ef2b387f2f44497b1fb7"},{"author":{"_account_id":1000040,"name":"Marco Baffo","email":"marco@mandelbit.com","username":"mrbff"},"change_message_id":"e7ed52194b2fbac4a5b8f4528a27e1bec896ecd9","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        /* ifconfig or ifconfig-ipv6 */"},{"line_number":219,"context_line":"        update_vaddr(m, mi, o.ifconfig_local, o.ifconfig_ipv6_local);"},{"line_number":220,"context_line":"        uninit_options(\u0026o);"},{"line_number":221,"context_line":"        return !event_timeout_defined(\u0026c-\u003ec2.scheduled_exit);"},{"line_number":222,"context_line":"    }"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    uninit_options(\u0026o);"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"5fc056a0_ca23052a","line":221,"in_reply_to":"ab13739c_b8bebbba","updated":"2026-11-04 16:16:17.000000000","message":"Done","commit_id":"ed4acc88e80d08696902ef2b387f2f44497b1fb7"}]}
