)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"1d2629aa59ce17c1aa638ba60f97f813524ba84f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"defb2ff0_5df43a6c","updated":"2024-09-09 14:30:15.000000000","message":"Overall the factoring-out looks good, but there\u0027s one textual change that I find to be \"less clear now\", and a few remarks.","commit_id":"ac7740abe2d7f320f8bb93fe386a0e7040bf34a6"},{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"830eb5781b6b44394351d255e8c7e180274b8896","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"cf2ffb50_22ec465f","updated":"2024-09-11 13:19:53.000000000","message":"looks good to me.  will process after the meetup when the prerequisite patches are merged","commit_id":"239cbdb727d1ce16e2eae75ee8593497e996aa82"}],"src/openvpn/dco_win.c":[{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"1d2629aa59ce17c1aa638ba60f97f813524ba84f","unresolved":true,"context_lines":[{"line_number":99,"context_line":"    dco_get_version(\u0026dco-\u003eversion);"},{"line_number":100,"context_line":"    dco-\u003esupports_data_v3 \u003d dco_version_supports_data_v3(\u0026dco-\u003eversion);"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    msg(D_DCO_DEBUG, \"dco data_v3: %d\", dco-\u003esupports_data_v3);"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    return true;"},{"line_number":105,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"728ea9f7_3e755e74","line":102,"updated":"2024-09-09 14:30:15.000000000","message":"I think keeping the \"supports\" here (\u003d not changing the text) would ease understanding of the logs.","commit_id":"ac7740abe2d7f320f8bb93fe386a0e7040bf34a6"},{"author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"change_message_id":"4761d3328807b23d3b85ab0955dd6ef651537991","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    dco_get_version(\u0026dco-\u003eversion);"},{"line_number":100,"context_line":"    dco-\u003esupports_data_v3 \u003d dco_version_supports_data_v3(\u0026dco-\u003eversion);"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    msg(D_DCO_DEBUG, \"dco data_v3: %d\", dco-\u003esupports_data_v3);"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    return true;"},{"line_number":105,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"8f07dbeb_507f5019","line":102,"in_reply_to":"728ea9f7_3e755e74","updated":"2024-09-10 09:17:44.000000000","message":"Acknowledged","commit_id":"ac7740abe2d7f320f8bb93fe386a0e7040bf34a6"},{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"1d2629aa59ce17c1aa638ba60f97f813524ba84f","unresolved":true,"context_lines":[{"line_number":471,"context_line":"dco_version_string(struct gc_arena *gc)"},{"line_number":472,"context_line":"{"},{"line_number":473,"context_line":"    OVPN_VERSION version;"},{"line_number":474,"context_line":"    ZeroMemory(\u0026version, sizeof(version));"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"    dco_get_version(\u0026version);"},{"line_number":477,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":1,"id":"69aa1495_3d39dec2","line":474,"updated":"2024-09-09 14:30:15.000000000","message":"`CLEAR(version)` exists (if you change this line anyway).\n\nOr just zeroize on assign `OVPN_VERSION \u003d {0}`?","commit_id":"ac7740abe2d7f320f8bb93fe386a0e7040bf34a6"},{"author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"change_message_id":"4761d3328807b23d3b85ab0955dd6ef651537991","unresolved":false,"context_lines":[{"line_number":471,"context_line":"dco_version_string(struct gc_arena *gc)"},{"line_number":472,"context_line":"{"},{"line_number":473,"context_line":"    OVPN_VERSION version;"},{"line_number":474,"context_line":"    ZeroMemory(\u0026version, sizeof(version));"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"    dco_get_version(\u0026version);"},{"line_number":477,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":1,"id":"3508d8c9_0dd6626f","line":474,"in_reply_to":"69aa1495_3d39dec2","updated":"2024-09-10 09:17:44.000000000","message":"Agreed. Will use \u003d {0} here and also CLEAN() within get_version() itself to make sure it zeroes fields and doesn\u0027t depend on the caller.","commit_id":"ac7740abe2d7f320f8bb93fe386a0e7040bf34a6"},{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"1d2629aa59ce17c1aa638ba60f97f813524ba84f","unresolved":true,"context_lines":[{"line_number":478,"context_line":"    struct buffer out \u003d alloc_buf_gc(256, gc);"},{"line_number":479,"context_line":"    buf_printf(\u0026out, \"%ld.%ld.%ld\", version.Major, version.Minor, version.Patch);"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"    return BSTR(\u0026out);"},{"line_number":482,"context_line":"}"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"int"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"4fdb9c97_bc7702f6","line":481,"updated":"2024-09-09 14:30:15.000000000","message":"technically this does something else if no DCO driver can be found - the old code returns \"N/A\", the new code returns \"0.0.0\".  Is this intentional?","commit_id":"ac7740abe2d7f320f8bb93fe386a0e7040bf34a6"},{"author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"change_message_id":"4761d3328807b23d3b85ab0955dd6ef651537991","unresolved":false,"context_lines":[{"line_number":478,"context_line":"    struct buffer out \u003d alloc_buf_gc(256, gc);"},{"line_number":479,"context_line":"    buf_printf(\u0026out, \"%ld.%ld.%ld\", version.Major, version.Minor, version.Patch);"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"    return BSTR(\u0026out);"},{"line_number":482,"context_line":"}"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"int"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"d5b2be96_d092b75d","line":481,"in_reply_to":"4fdb9c97_bc7702f6","updated":"2024-09-10 09:17:44.000000000","message":"Good point, other platforms return \"N/A\", will bring it back.","commit_id":"ac7740abe2d7f320f8bb93fe386a0e7040bf34a6"},{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"1d2629aa59ce17c1aa638ba60f97f813524ba84f","unresolved":true,"context_lines":[{"line_number":559,"context_line":"{"},{"line_number":560,"context_line":"    OVPN_VERSION version;"},{"line_number":561,"context_line":"    ZeroMemory(\u0026version, sizeof(version));"},{"line_number":562,"context_line":"    dco_get_version(\u0026version);"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"    return dco_version_supports_data_v3(\u0026version);"},{"line_number":565,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"bd3ba22f_ce91aaf0","line":562,"updated":"2024-09-09 14:30:15.000000000","message":"see above wrt `CLEAR()` or `\u003d {0}`","commit_id":"ac7740abe2d7f320f8bb93fe386a0e7040bf34a6"},{"author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"change_message_id":"4761d3328807b23d3b85ab0955dd6ef651537991","unresolved":false,"context_lines":[{"line_number":559,"context_line":"{"},{"line_number":560,"context_line":"    OVPN_VERSION version;"},{"line_number":561,"context_line":"    ZeroMemory(\u0026version, sizeof(version));"},{"line_number":562,"context_line":"    dco_get_version(\u0026version);"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"    return dco_version_supports_data_v3(\u0026version);"},{"line_number":565,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"e42a0200_3120a0fe","line":562,"in_reply_to":"bd3ba22f_ce91aaf0","updated":"2024-09-10 09:17:44.000000000","message":"Done","commit_id":"ac7740abe2d7f320f8bb93fe386a0e7040bf34a6"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"d0e3fa326636edf152b4622015fcf4c7e8875eb1","unresolved":true,"context_lines":[{"line_number":55,"context_line":"/**"},{"line_number":56,"context_line":" * Gets version of dco-win driver"},{"line_number":57,"context_line":" *"},{"line_number":58,"context_line":" * Fills Major/Minor/Patch fields in a passes OVPN_VERSION"},{"line_number":59,"context_line":" * struct. If version cannot be obtained, fields are set to 0."},{"line_number":60,"context_line":" *"},{"line_number":61,"context_line":" * @param version pointer to OVPN_VERSION struct"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"0308e253_5a915e25","line":58,"updated":"2024-11-22 14:29:28.000000000","message":"Typo \"passed\"","commit_id":"88e031a22192341ae7876989a3169b6060463319"},{"author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"change_message_id":"9bef79cb234bf140f1bfc4b4932d657dfad30b47","unresolved":false,"context_lines":[{"line_number":55,"context_line":"/**"},{"line_number":56,"context_line":" * Gets version of dco-win driver"},{"line_number":57,"context_line":" *"},{"line_number":58,"context_line":" * Fills Major/Minor/Patch fields in a passes OVPN_VERSION"},{"line_number":59,"context_line":" * struct. If version cannot be obtained, fields are set to 0."},{"line_number":60,"context_line":" *"},{"line_number":61,"context_line":" * @param version pointer to OVPN_VERSION struct"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"7074ea5d_02f36947","line":58,"in_reply_to":"0308e253_5a915e25","updated":"2024-11-22 15:45:10.000000000","message":"Acknowledged","commit_id":"88e031a22192341ae7876989a3169b6060463319"}]}
