)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000009,"name":"Selva Nair","display_name":"Selva Nair","email":"selva.nair@gmail.com","username":"selvanair"},"change_message_id":"4084760aef4f18565c47e484a7256f970de1fd9b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f85c5af7_599c4c1d","updated":"2026-11-07 17:10:52.000000000","message":"Apart from comments below, in management-notes.txt, under OUTPUT_FORMAT no. (2), we say \u0027the last line will be \"END\"\u0027. Add \u0027or \"ERROR\"\u0027 to it.","commit_id":"589b59dd314e72affe07497b2172199f194e3347"},{"author":{"_account_id":1000009,"name":"Selva Nair","display_name":"Selva Nair","email":"selva.nair@gmail.com","username":"selvanair"},"change_message_id":"e65542312137ce672c8acb0c4942cb86830daeb4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"336df90d_54e5bc40","in_reply_to":"f85c5af7_599c4c1d","updated":"2026-11-08 16:10:15.000000000","message":"Done","commit_id":"589b59dd314e72affe07497b2172199f194e3347"},{"author":{"_account_id":1000009,"name":"Selva Nair","display_name":"Selva Nair","email":"selva.nair@gmail.com","username":"selvanair"},"change_message_id":"e65542312137ce672c8acb0c4942cb86830daeb4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d38b07d4_e1ec456a","updated":"2026-11-08 16:10:15.000000000","message":"I tried re-pushing this to trigger the Buildbot runs, but got:\n\nerror: remote unpack failed: error Missing tree f6bb98471e275a4c88b6e8d969015945b6cebff5\n\nDoes anyone know how to resolve this?\n \nThe patch looks good now. The commit message mentions the new management version, but could you make the compatibility behavior explicit: the new command forms and response format apply only to clients announcing version \u003e\u003d 7; older clients retain the existing behavior. Sorry I missed this in the earlier review.","commit_id":"2f0d22492f7753b0d6295f015471313e7f03e959"},{"author":{"_account_id":1000009,"name":"Selva Nair","display_name":"Selva Nair","email":"selva.nair@gmail.com","username":"selvanair"},"change_message_id":"a5e38b87a934cdcbe456bad551b4f8d267122fb0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6a267fde_307a4de9","in_reply_to":"1c5e72bb_b039f58b","updated":"2026-11-08 17:08:18.000000000","message":"Tried with a fresh clone of gerrit and the tree error is gone, but:\n ! [remote rejected]   HEAD -\u003e refs/for/master (cannot add patch set to 2148.)\nerror: failed to push some refs to \u0027ssh://gerrit.openvpn.net:29418/openvpn.git\u0027\n\nMay be I no longer have permission to amend someone else\u0027s patchset or I forgot how to do this correctly.","commit_id":"2f0d22492f7753b0d6295f015471313e7f03e959"},{"author":{"_account_id":1000000,"name":"Yuriy Darnobyt","display_name":"Yuriy Darnobyt","email":"yura.uddr@gmail.com","username":"uddr"},"change_message_id":"35feadb41b56b00a6f3fbd457b5dfa6f8c50c740","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"95d83bc9_ba358d4b","in_reply_to":"6a267fde_307a4de9","updated":"2026-11-09 08:27:23.000000000","message":"@selva.nair@gmail.com I did some permission changes when migrating to GitHub OAuth.\nAnd indeed I didn\u0027t add you into one of groups. Added now. Please try again.","commit_id":"2f0d22492f7753b0d6295f015471313e7f03e959"},{"author":{"_account_id":1000009,"name":"Selva Nair","display_name":"Selva Nair","email":"selva.nair@gmail.com","username":"selvanair"},"change_message_id":"ce379cd638afe6d4509fd0ec13101fcda6822e4c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b3f1d34a_f4898448","in_reply_to":"95d83bc9_ba358d4b","updated":"2026-11-09 15:22:35.000000000","message":"Done","commit_id":"2f0d22492f7753b0d6295f015471313e7f03e959"},{"author":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"4091f57949d75896d10d55f055fe82a8697e69f4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1c5e72bb_b039f58b","in_reply_to":"d38b07d4_e1ec456a","updated":"2026-11-08 16:12:56.000000000","message":"I have seen this \"Missing tree\" message on a different patch, which made no sense whatsoever (pushing a v2 from the very same tree, same parent commit).  I\u0027d just retry and if it does not work complain to @frank@lichtenheld.com tomorrow","commit_id":"2f0d22492f7753b0d6295f015471313e7f03e959"},{"author":{"_account_id":1000067,"name":"opidopiopi","display_name":"Marvin Wunderlich","email":"opidopiopi@gmail.com","username":"opidopiopi"},"change_message_id":"b3f8f18775455a511f300c5d0f9399427adcc8b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"81ce5abb_aaf565eb","updated":"2026-11-09 18:12:24.000000000","message":"Sorry @selva.nair@gmail.com I had to push again, @gert@greenie.muc.de\u0027s keen eyes spotted a typo in my author mail address.","commit_id":"4dbf91671cf640541f6e33e16ff487cb42818e14"}],"doc/management-notes.txt":[{"author":{"_account_id":1000009,"name":"Selva Nair","display_name":"Selva Nair","email":"selva.nair@gmail.com","username":"selvanair"},"change_message_id":"4084760aef4f18565c47e484a7256f970de1fd9b","unresolved":true,"context_lines":[{"line_number":628,"context_line":""},{"line_number":629,"context_line":"     pkcs11-id-count"},{"line_number":630,"context_line":"     5"},{"line_number":631,"context_line":"     END"},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"COMMAND -- pkcs11-id-get  (OpenVPN 2.1 or higher)"},{"line_number":634,"context_line":"-------------------------------------------------"}],"source_content_type":"text/plain","patch_set":1,"id":"5cc4461f_a8ffdb34","line":631,"updated":"2026-11-07 17:10:52.000000000","message":"Describe the protocol in the both cases separately from examples? Like:\n\nFor management client versions \u003c 7:\n\n  pkcs11-id-count\n\nThe reply is \"\u003ePKCS11ID-COUNT:\u003ccount\u003e\".\n\nExample:\n\n  pkcs11-id-count\n  \\\u003ePKCS11ID-COUNT:5\n\nFor management client versions \u003e\u003d 7:\n\n  pkcs11-id-count\n\nThe reply is a decimal count followed by \"END\" on a line of its own.\n\nExample:\n\n  pkcs11-id-count\n  5\n  END","commit_id":"589b59dd314e72affe07497b2172199f194e3347"},{"author":{"_account_id":1000009,"name":"Selva Nair","display_name":"Selva Nair","email":"selva.nair@gmail.com","username":"selvanair"},"change_message_id":"e65542312137ce672c8acb0c4942cb86830daeb4","unresolved":false,"context_lines":[{"line_number":628,"context_line":""},{"line_number":629,"context_line":"     pkcs11-id-count"},{"line_number":630,"context_line":"     5"},{"line_number":631,"context_line":"     END"},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"COMMAND -- pkcs11-id-get  (OpenVPN 2.1 or higher)"},{"line_number":634,"context_line":"-------------------------------------------------"}],"source_content_type":"text/plain","patch_set":1,"id":"5fdea454_4e3a2211","line":631,"in_reply_to":"5cc4461f_a8ffdb34","updated":"2026-11-08 16:10:15.000000000","message":"Done","commit_id":"589b59dd314e72affe07497b2172199f194e3347"},{"author":{"_account_id":1000009,"name":"Selva Nair","display_name":"Selva Nair","email":"selva.nair@gmail.com","username":"selvanair"},"change_message_id":"4084760aef4f18565c47e484a7256f970de1fd9b","unresolved":true,"context_lines":[{"line_number":638,"context_line":"Retrieve certificate by index, the ID string should be provided"},{"line_number":639,"context_line":"as PKCS#11 identity, the blob is a base 64 encoded certificate."},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"Example for client version \u003c 7:"},{"line_number":642,"context_line":""},{"line_number":643,"context_line":"     pkcs11-id-get 1"},{"line_number":644,"context_line":"     \u003ePKCS11ID-ENTRY:\u00271\u0027, ID:\u0027\u003csnip\u003e\u0027, BLOB:\u0027\u003csnip\u003e\u0027"}],"source_content_type":"text/plain","patch_set":1,"id":"c76c252a_87366f38","line":641,"updated":"2026-11-07 17:10:52.000000000","message":"This section is confusing. Separate client version \u003c 7 and \u003e\u003d 7 cleanly and provide protocol description separately from examples?\n\nFor management client versions \u003c 7:\n\n  pkcs11-id-get \u003cindex\u003e\n\n.. desccribe legacy reply format.\n\nExample:\n...\n\nFor management client versions \u003e\u003d 7:\n\n  pkcs11-id-get \u003cindex\u003e\n  pkcs11-id-get \u003cstart\u003e \u003cend\u003e\n  pkcs11-id-get all\n\n...index/range semantics, record format, END/ERROR termination...\n\nExamples:\n...\n\nAlso no need to retain the original \u0027\u003csnip\u003e\u0027 as that\u0027s not how other examples are written. ID:\u0027\u003cid\u003e\u0027, BLOB:\u0027\u003cblob\u003e\u0027 is better.","commit_id":"589b59dd314e72affe07497b2172199f194e3347"},{"author":{"_account_id":1000009,"name":"Selva Nair","display_name":"Selva Nair","email":"selva.nair@gmail.com","username":"selvanair"},"change_message_id":"e65542312137ce672c8acb0c4942cb86830daeb4","unresolved":false,"context_lines":[{"line_number":638,"context_line":"Retrieve certificate by index, the ID string should be provided"},{"line_number":639,"context_line":"as PKCS#11 identity, the blob is a base 64 encoded certificate."},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"Example for client version \u003c 7:"},{"line_number":642,"context_line":""},{"line_number":643,"context_line":"     pkcs11-id-get 1"},{"line_number":644,"context_line":"     \u003ePKCS11ID-ENTRY:\u00271\u0027, ID:\u0027\u003csnip\u003e\u0027, BLOB:\u0027\u003csnip\u003e\u0027"}],"source_content_type":"text/plain","patch_set":1,"id":"8366e0e0_e327e8ff","line":641,"in_reply_to":"c76c252a_87366f38","updated":"2026-11-08 16:10:15.000000000","message":"Done","commit_id":"589b59dd314e72affe07497b2172199f194e3347"}],"src/openvpn/manage.c":[{"author":{"_account_id":1000009,"name":"Selva Nair","display_name":"Selva Nair","email":"selva.nair@gmail.com","username":"selvanair"},"change_message_id":"4084760aef4f18565c47e484a7256f970de1fd9b","unresolved":true,"context_lines":[{"line_number":915,"context_line":""},{"line_number":916,"context_line":"    return min_uint(to, max);"},{"line_number":917,"context_line":"}"},{"line_number":918,"context_line":""},{"line_number":919,"context_line":"#ifdef ENABLE_PKCS11"},{"line_number":920,"context_line":""},{"line_number":921,"context_line":"static void"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"049a071a_702e63d8","line":918,"updated":"2026-11-07 17:10:52.000000000","message":"Two helpers split a small parsing operation, interpret the start argument twice, and mix parsing with bounds clamping. A poor abstraction. I don’t see sufficient maintenance benefit from this. \nBetter to leave remote-entry-get unchanged and use similar parsing logic here.\n  \nA better range parsing and validation could be a follow up.","commit_id":"589b59dd314e72affe07497b2172199f194e3347"},{"author":{"_account_id":1000009,"name":"Selva Nair","display_name":"Selva Nair","email":"selva.nair@gmail.com","username":"selvanair"},"change_message_id":"e65542312137ce672c8acb0c4942cb86830daeb4","unresolved":false,"context_lines":[{"line_number":915,"context_line":""},{"line_number":916,"context_line":"    return min_uint(to, max);"},{"line_number":917,"context_line":"}"},{"line_number":918,"context_line":""},{"line_number":919,"context_line":"#ifdef ENABLE_PKCS11"},{"line_number":920,"context_line":""},{"line_number":921,"context_line":"static void"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"1392ebf8_0d4fbd3f","line":918,"in_reply_to":"049a071a_702e63d8","updated":"2026-11-08 16:10:15.000000000","message":"Done","commit_id":"589b59dd314e72affe07497b2172199f194e3347"}]}
