)]}'
{"src/openvpn/mudp.c":[{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"266ea752f4a272bb270896607c65d2aeeaf6ff47","unresolved":true,"context_lines":[{"line_number":261,"context_line":" * Looks up an multi instance by its real address (IP and port)"},{"line_number":262,"context_line":" * @param m     multi context"},{"line_number":263,"context_line":" * @param real  Address to look up"},{"line_number":264,"context_line":" * @return      instance matching the NULL otherwise"},{"line_number":265,"context_line":" */"},{"line_number":266,"context_line":"struct multi_instance *"},{"line_number":267,"context_line":"multi_get_instance_real_udp_real(struct multi_context *m, struct mroute_addr *real)"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"ea313ee4_ec462b69","line":264,"updated":"2026-06-22 15:58:35.000000000","message":"missing word after \"the\"","commit_id":"c257cc89966792bed1d61c4c2c098d8ac8e09afe"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"be9588d8dd847fce85bfa2fe3c4ca059f6040c15","unresolved":false,"context_lines":[{"line_number":261,"context_line":" * Looks up an multi instance by its real address (IP and port)"},{"line_number":262,"context_line":" * @param m     multi context"},{"line_number":263,"context_line":" * @param real  Address to look up"},{"line_number":264,"context_line":" * @return      instance matching the NULL otherwise"},{"line_number":265,"context_line":" */"},{"line_number":266,"context_line":"struct multi_instance *"},{"line_number":267,"context_line":"multi_get_instance_real_udp_real(struct multi_context *m, struct mroute_addr *real)"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0e567d40_4c1bbe48","line":264,"in_reply_to":"ea313ee4_ec462b69","updated":"2026-06-25 13:34:12.000000000","message":"Done","commit_id":"c257cc89966792bed1d61c4c2c098d8ac8e09afe"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"266ea752f4a272bb270896607c65d2aeeaf6ff47","unresolved":true,"context_lines":[{"line_number":264,"context_line":" * @return      instance matching the NULL otherwise"},{"line_number":265,"context_line":" */"},{"line_number":266,"context_line":"struct multi_instance *"},{"line_number":267,"context_line":"multi_get_instance_real_udp_real(struct multi_context *m, struct mroute_addr *real)"},{"line_number":268,"context_line":"{"},{"line_number":269,"context_line":"    struct hash *hash \u003d m-\u003ehash;"},{"line_number":270,"context_line":"    struct hash_element *he;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"a0104c6b_d07b695e","line":267,"updated":"2026-06-22 15:58:35.000000000","message":"why the doubled \"real\" in the name?","commit_id":"c257cc89966792bed1d61c4c2c098d8ac8e09afe"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"be9588d8dd847fce85bfa2fe3c4ca059f6040c15","unresolved":false,"context_lines":[{"line_number":264,"context_line":" * @return      instance matching the NULL otherwise"},{"line_number":265,"context_line":" */"},{"line_number":266,"context_line":"struct multi_instance *"},{"line_number":267,"context_line":"multi_get_instance_real_udp_real(struct multi_context *m, struct mroute_addr *real)"},{"line_number":268,"context_line":"{"},{"line_number":269,"context_line":"    struct hash *hash \u003d m-\u003ehash;"},{"line_number":270,"context_line":"    struct hash_element *he;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"45ff1856_7d259630","line":267,"in_reply_to":"a0104c6b_d07b695e","updated":"2026-06-25 13:34:12.000000000","message":"Done","commit_id":"c257cc89966792bed1d61c4c2c098d8ac8e09afe"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"266ea752f4a272bb270896607c65d2aeeaf6ff47","unresolved":true,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    if (mroute_extract_openvpn_sockaddr(\u0026real, \u0026m-\u003etop.c2.from.dest, true) \u0026\u0026 m-\u003etop.c2.buf.len \u003e 0)"},{"line_number":297,"context_line":"    {"},{"line_number":298,"context_line":"        const uint64_t hv \u003d hash_value(hash, \u0026real);"},{"line_number":299,"context_line":"        struct hash_bucket *bucket \u003d hash_bucket(hash, hv);"},{"line_number":300,"context_line":"        uint8_t *ptr \u003d BPTR(\u0026m-\u003etop.c2.buf);"},{"line_number":301,"context_line":"        uint8_t op \u003d ptr[0] \u003e\u003e P_OPCODE_SHIFT;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"33ed15bb_ff5fbcae","line":298,"updated":"2026-06-22 15:58:35.000000000","message":"why is it better to call this up to three times instead of once?","commit_id":"c257cc89966792bed1d61c4c2c098d8ac8e09afe"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"be9588d8dd847fce85bfa2fe3c4ca059f6040c15","unresolved":true,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    if (mroute_extract_openvpn_sockaddr(\u0026real, \u0026m-\u003etop.c2.from.dest, true) \u0026\u0026 m-\u003etop.c2.buf.len \u003e 0)"},{"line_number":297,"context_line":"    {"},{"line_number":298,"context_line":"        const uint64_t hv \u003d hash_value(hash, \u0026real);"},{"line_number":299,"context_line":"        struct hash_bucket *bucket \u003d hash_bucket(hash, hv);"},{"line_number":300,"context_line":"        uint8_t *ptr \u003d BPTR(\u0026m-\u003etop.c2.buf);"},{"line_number":301,"context_line":"        uint8_t op \u003d ptr[0] \u003e\u003e P_OPCODE_SHIFT;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"a9233f3f_40660c5e","line":298,"in_reply_to":"33ed15bb_ff5fbcae","updated":"2026-06-25 13:34:12.000000000","message":"do you mean calculation of hash_value?","commit_id":"c257cc89966792bed1d61c4c2c098d8ac8e09afe"}],"src/openvpn/multi.c":[{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"850018a1287950a552a042ac26fd929b2e0e6171","unresolved":true,"context_lines":[{"line_number":3108,"context_line":"multi_check_dest_addr_allowed(struct multi_context *m, struct multi_instance *mi, struct mroute_addr *real)"},{"line_number":3109,"context_line":"{"},{"line_number":3110,"context_line":"    struct hash *hash \u003d m-\u003ehash;"},{"line_number":3111,"context_line":"    struct gc_arena gc \u003d gc_new();"},{"line_number":3112,"context_line":""},{"line_number":3113,"context_line":"    const uint64_t hv \u003d hash_value(hash, real);"},{"line_number":3114,"context_line":"    struct hash_bucket *bucket \u003d hash_bucket(hash, hv);"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"89da6a63_c1716ed3","side":"PARENT","line":3111,"updated":"2026-06-22 14:01:38.000000000","message":"this fix belongs into #1723","commit_id":"145a1e97105a790e6d000936180ac22982b9e6a8"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"e1a44498cc925e2b58ff9e160a4cca2e12843e71","unresolved":false,"context_lines":[{"line_number":3108,"context_line":"multi_check_dest_addr_allowed(struct multi_context *m, struct multi_instance *mi, struct mroute_addr *real)"},{"line_number":3109,"context_line":"{"},{"line_number":3110,"context_line":"    struct hash *hash \u003d m-\u003ehash;"},{"line_number":3111,"context_line":"    struct gc_arena gc \u003d gc_new();"},{"line_number":3112,"context_line":""},{"line_number":3113,"context_line":"    const uint64_t hv \u003d hash_value(hash, real);"},{"line_number":3114,"context_line":"    struct hash_bucket *bucket \u003d hash_bucket(hash, hv);"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"be4c9e04_182fecb3","side":"PARENT","line":3111,"in_reply_to":"89da6a63_c1716ed3","updated":"2026-06-22 15:25:23.000000000","message":"Done","commit_id":"145a1e97105a790e6d000936180ac22982b9e6a8"}]}
