)]}'
{"id":"openvpn~1635","triplet_id":"openvpn~master~I6b303805a3688b6f6363140c76853a58badecd8f","project":"openvpn","branch":"master","attention_set":{"1000003":{"account":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"last_update":"2026-05-22 13:19:28.000000000","reason":"Change was marked ready for review"},"1000002":{"account":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"last_update":"2026-05-22 13:19:28.000000000","reason":"Change was marked ready for review"},"1000007":{"account":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"last_update":"2026-05-22 13:19:28.000000000","reason":"Change was marked ready for review"}},"removed_from_attention_set":{"1000034":{"account":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"last_update":"2026-04-22 10:21:13.000000000","reason":"Change was marked work in progress"}},"hashtags":[],"change_id":"I6b303805a3688b6f6363140c76853a58badecd8f","subject":"Multisocket: use event engine rwflags for UDP I/O","status":"NEW","created":"2026-04-21 14:51:40.000000000","updated":"2026-05-22 13:19:28.000000000","submit_type":"CHERRY_PICK","submittable":false,"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"409348dc8a1b89abebd34834def2eed6fec234dc","_number":1635,"virtual_id_number":1635,"owner":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"actions":{},"labels":{"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"}],"values":{"-2":"This shall not be submitted","-1":"I would prefer this is not submitted as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"}],"CC":[{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-21 14:51:40.000000000","updated_by":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"reviewer":{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"},"state":"CC"},{"updated":"2026-04-21 14:51:40.000000000","updated_by":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"reviewer":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"state":"REVIEWER"},{"updated":"2026-04-21 14:57:45.000000000","updated_by":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"reviewer":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"state":"REVIEWER"},{"updated":"2026-04-22 10:00:39.000000000","updated_by":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"reviewer":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"state":"REVIEWER"}],"messages":[{"id":"cb08ca7c1a776717fcfebcb7791d3d2ebae30ec8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"date":"2026-04-21 14:51:40.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"eed416709797a93ba5c0bb194d633edaa007a29c","author":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"date":"2026-04-21 14:57:45.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"e9c9e6a29650ee65ccafcbadfe8418377a251d30","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"date":"2026-04-21 15:20:20.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:NO_CHANGE OR changekind:TRIVIAL_REBASE OR is:MIN\")\n","accounts_in_message":[],"_revision_number":2},{"id":"7c364b77cdf6a5aa655ff43b3710ed7655c3466f","author":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"date":"2026-04-21 15:20:38.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"e17bd00f4a650fd8490ab3641f292a502170099c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"date":"2026-04-22 08:26:55.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"25bfc655d21eb982168553d6821680a7fbdb8d61","author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"date":"2026-04-22 10:00:39.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"6045f7cd5ada4e2ce35b5e9c90d4334a96e9a7d3","author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"date":"2026-04-22 10:14:28.000000000","message":"Patch Set 3: -Code-Review\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"8006efc505a0e7dc16a25461d35f04372666e5f2","tag":"autogenerated:gerrit:setWorkInProgress","author":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"date":"2026-04-22 10:21:13.000000000","message":"Set Work In Progress","accounts_in_message":[],"_revision_number":3},{"id":"c2612c44ca15595734543c40a130baee083f15c3","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"date":"2026-05-22 13:18:00.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"409348dc8a1b89abebd34834def2eed6fec234dc","tag":"autogenerated:gerrit:setReadyForReview","author":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"date":"2026-05-22 13:19:28.000000000","message":"Set Ready For Review","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"ba94f49bf8492ba5a9b6a8442181f233d5917d25","revisions":{"cc274444c85755d82fc31cc1128366a273baf808":{"kind":"REWORK","_number":1,"created":"2026-04-21 14:51:40.000000000","uploader":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"ref":"refs/changes/35/1635/1","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/35/1635/1","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/1 \u0026\u0026 git checkout -b change-1635 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/35/1635/1","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"25a3cec98d67ad540ebd2f102485caeeb0450d60","subject":"Fix copyright line in README"}],"author":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-04-21 14:28:29.000000000","tz":120},"committer":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-04-21 14:51:03.000000000","tz":120},"subject":"Multisocket: use event engine rwflags for UDP I/O","message":"Multisocket: use event engine rwflags for UDP I/O\n\nudp_flags does not guarantee correct association with the socket being\nprocessed. Use the rwflags returned by the event engine together with the\nevent to ensure proper per-socket I/O handling.\n\nRemove udp_flags entirely.\n\nThis change is based on an investigation triggered by a report from\nJoshua Rogers using ZeroPath.\n\nChange-Id: I6b303805a3688b6f6363140c76853a58badecd8f\nSigned-off-by: Gianmarco De Gregori \u003cgianmarco@mandelbit.com\u003e\n"},"branch":"refs/heads/master"},"8b10e12a090270e251dbc7b56057b6172180a9b1":{"kind":"REWORK","_number":2,"created":"2026-04-21 15:20:20.000000000","uploader":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"ref":"refs/changes/35/1635/2","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/35/1635/2","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/2 \u0026\u0026 git checkout -b change-1635 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/35/1635/2","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"25a3cec98d67ad540ebd2f102485caeeb0450d60","subject":"Fix copyright line in README"}],"author":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-04-21 14:28:29.000000000","tz":120},"committer":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-04-21 15:01:49.000000000","tz":120},"subject":"Multisocket: use event engine rwflags for UDP I/O","message":"Multisocket: use event engine rwflags for UDP I/O\n\nudp_flags does not guarantee correct association with the socket being\nprocessed. Use the rwflags returned by the event engine together with the\nevent to ensure proper per-socket I/O handling.\n\nRemove udp_flags entirely.\n\nThis change is based on an investigation triggered by a report from\nJoshua Rogers using ZeroPath.\n\nChange-Id: I6b303805a3688b6f6363140c76853a58badecd8f\nSigned-off-by: Gianmarco De Gregori \u003cgianmarco@mandelbit.com\u003e\n"},"branch":"refs/heads/master"},"d8790f943f8387788a3e5af55c87a3d240120754":{"kind":"REWORK","_number":3,"created":"2026-04-22 08:26:55.000000000","uploader":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"ref":"refs/changes/35/1635/3","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/35/1635/3","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/3 \u0026\u0026 git checkout -b change-1635 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/35/1635/3","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"0b7c29535049baec9fe89821cd2a65437094c9b1","subject":"dev-tools: Add script to run cppcheck against the code-base"}],"author":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-04-21 14:28:29.000000000","tz":120},"committer":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-04-22 08:24:45.000000000","tz":120},"subject":"Multisocket: use event engine rwflags for UDP I/O","message":"Multisocket: use event engine rwflags for UDP I/O\n\nudp_flags does not guarantee correct association with the socket being\nprocessed. Use the rwflags delivered by the event engine along with the\nevent to ensure proper per-socket I/O handling.\n\nRemove udp_flags entirely.\n\nThis change is based on an investigation triggered by a report from\nJoshua Rogers using ZeroPath.\n\nChange-Id: I6b303805a3688b6f6363140c76853a58badecd8f\nSigned-off-by: Gianmarco De Gregori \u003cgianmarco@mandelbit.com\u003e\n"},"branch":"refs/heads/master"},"ba94f49bf8492ba5a9b6a8442181f233d5917d25":{"kind":"REWORK","_number":4,"created":"2026-05-22 13:18:00.000000000","uploader":{"_account_id":1000034,"name":"its_Giaan","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"ref":"refs/changes/35/1635/4","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/35/1635/4","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/4 \u0026\u0026 git checkout -b change-1635 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/35/1635/4","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/35/1635/4 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"813856dba54347167bcd041b67ed831479cf37b7","subject":"mudp: send HMAC reset reply synchronously"}],"author":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-04-21 14:28:29.000000000","tz":120},"committer":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-05-22 12:23:41.000000000","tz":120},"subject":"Multisocket: use event engine rwflags for UDP I/O","message":"Multisocket: use event engine rwflags for UDP I/O\n\nudp_flags does not guarantee correct association with the socket being\nprocessed. Use the rwflags delivered by the event engine along with the\nevent to ensure proper per-socket I/O handling.\n\nRemove udp_flags entirely.\n\nReplace the previous global-style flag computation with a per-socket\ndecision model in p2mp_iow_flags(), which derives I/O flags\ndirectly from the current multi_context state and the specific socket\nbeing processed. This ensures that read/write decisions are correctly\nbound to the active socket rather than shared or implicit global state.\n\nThis change is based on an investigation triggered by a report from\nJoshua Rogers using ZeroPath.\n\nChange-Id: I6b303805a3688b6f6363140c76853a58badecd8f\nSigned-off-by: Gianmarco De Gregori \u003cgianmarco@mandelbit.com\u003e\n"},"branch":"refs/heads/master"}},"requirements":[{"status":"NOT_READY","fallback_text":"All required checks must pass","type":"checks_pass"}],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"NOT_READY","labels":[{"label":"Code-Review","status":"NEED"}]},{"rule_name":"checks~ChecksSubmitRule","status":"NOT_READY","requirements":[{"status":"NOT_READY","fallback_text":"All required checks must pass","type":"checks_pass"}]}],"submit_requirements":[{"name":"Code-Review","status":"UNSATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","-label:Code-Review\u003dMIN"]}},{"name":"checks~ChecksSubmitRule","status":"UNSATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"rule:checks~ChecksSubmitRule","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["checks~ChecksSubmitRule"]}}]}
