)]}'
{"id":"openvpn~1377","triplet_id":"openvpn~master~I8a0a8029da02fc63adc918e8d98e9f676ff4ea0d","project":"openvpn","branch":"master","attention_set":{},"removed_from_attention_set":{"1000003":{"account":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"last_update":"2025-11-16 11:21:31.000000000","reason":"Change was submitted"},"1000001":{"account":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"last_update":"2025-11-14 11:37:53.000000000","reason":"removed on reply"},"1000008":{"account":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"last_update":"2025-11-16 11:21:31.000000000","reason":"Change was submitted"}},"hashtags":["mailsubmitted"],"change_id":"I8a0a8029da02fc63adc918e8d98e9f676ff4ea0d","subject":"recursive routing: fixes and clean-ups","status":"MERGED","created":"2025-11-14 09:24:31.000000000","updated":"2025-11-16 11:21:31.000000000","submitted":"2025-11-16 11:21:31.000000000","submitter":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"1377","meta_rev_id":"81d5840f473e97c885496e298496d194af1b7b3a","_number":1377,"virtual_id_number":1377,"owner":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"actions":{},"labels":{"Code-Review":{"all":[{"value":0,"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},{"value":0,"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."}],"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"},"default_value":0}},"removable_reviewers":[{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"}],"reviewers":{"REVIEWER":[{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"}],"CC":[{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-11-14 09:24:32.000000000","updated_by":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"reviewer":{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"},"state":"CC"},{"updated":"2025-11-14 09:24:32.000000000","updated_by":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"reviewer":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"state":"REVIEWER"},{"updated":"2025-11-14 11:31:22.000000000","updated_by":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"reviewer":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"state":"REVIEWER"}],"messages":[{"id":"d1702476017d41d5f95083cd5100c4d7e3607c21","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2025-11-14 09:24:31.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"858267a57c2ae47912092209f9db27f98a21c511","author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"date":"2025-11-14 11:31:22.000000000","message":"Patch Set 1: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"5a81b0430bd5d637957e51c2ab1cc39c0db627a0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2025-11-14 11:34:02.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:NO_CHANGE OR changekind:TRIVIAL_REBASE OR is:MIN\")\n","accounts_in_message":[],"_revision_number":2},{"id":"f306d091ca8a92da35582b5d954fbce59932bba5","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2025-11-14 11:35:19.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"633f05732e56da051d81953beff6d0fca5057c9d","author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"date":"2025-11-14 11:37:53.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"bccd61a22bb032106eff58ff2099f6030e713fa7","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"date":"2025-11-14 15:35:12.000000000","message":"Hashtag added: mailsubmitted","accounts_in_message":[],"_revision_number":2},{"id":"81d5840f473e97c885496e298496d194af1b7b3a","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"date":"2025-11-16 11:21:31.000000000","message":"Change has been successfully pushed.","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"db241ceb7429c1d5b6ae65deab2051f1be01f867","revisions":{"031fbc0ccdfe94cdee150ae5e2d05752f695c4e5":{"kind":"REWORK","_number":1,"created":"2025-11-14 09:24:31.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/77/1377/1","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/77/1377/1","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/1 \u0026\u0026 git checkout -b change-1377 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/77/1377/1","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"c716b3b8bf5945e326c5ac7a8b04de9c0c6a4c8f","subject":"options: remove --opt-verify functionality"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2025-11-14 09:00:10.000000000","tz":120},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2025-11-14 09:05:05.000000000","tz":120},"subject":"recursive routing: fixes and clean-ups","message":"recursive routing: fixes and clean-ups\n\n - get rid of atoi() for getting the remote transport port.\n It doesn\u0027t change, so no point to do in on every packet.\n In addition, atoi() breaks when we use service names as ports.\n\n - ensure we correctly handle IPv4 headers with options\n\n - directly use buf parameter in place of c-\u003ec2.buf\n\nGitHub: #902\n\nChange-Id: I8a0a8029da02fc63adc918e8d98e9f676ff4ea0d\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"307418aa43816ac03ec2dff38af5a2da8878bf7a":{"kind":"REWORK","_number":2,"created":"2025-11-14 11:34:02.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/77/1377/2","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/77/1377/2","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/2 \u0026\u0026 git checkout -b change-1377 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/77/1377/2","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"c716b3b8bf5945e326c5ac7a8b04de9c0c6a4c8f","subject":"options: remove --opt-verify functionality"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2025-11-14 09:00:10.000000000","tz":120},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2025-11-14 11:33:32.000000000","tz":120},"subject":"recursive routing: fixes and clean-ups","message":"recursive routing: fixes and clean-ups\n\n - get rid of atoi() for getting the remote transport port.\n It doesn\u0027t change, so no point to do in on every packet.\n In addition, atoi() breaks when we use service names as ports.\n\n - ensure we correctly handle IPv4 headers with options\n\n - directly use buf parameter in place of c-\u003ec2.buf\n\nGitHub: #902\n\nChange-Id: I8a0a8029da02fc63adc918e8d98e9f676ff4ea0d\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"db241ceb7429c1d5b6ae65deab2051f1be01f867":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":3,"created":"2025-11-16 11:21:31.000000000","uploader":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"ref":"refs/changes/77/1377/3","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/77/1377/3","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/3 \u0026\u0026 git checkout -b change-1377 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/77/1377/3","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/77/1377/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"ef4937f87280f68fb14459ca53d955c8d5d771e5","subject":"tapctl: factor out command handlers"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2025-11-14 11:50:22.000000000","tz":60},"committer":{"name":"Gert Doering","email":"gert@greenie.muc.de","date":"2025-11-15 17:53:37.000000000","tz":60},"subject":"recursive routing: fixes and clean-ups","message":"recursive routing: fixes and clean-ups\n\n - get rid of atoi() for getting the remote transport port.\n It doesn\u0027t change, so no point to do in on every packet.\n In addition, atoi() breaks when we use service names as ports.\n\n - ensure we correctly handle IPv4 headers with options\n\n - directly use buf parameter in place of c-\u003ec2.buf\n\nGitHub: closes OpenVPN/openvpn#902\n\nChange-Id: I8a0a8029da02fc63adc918e8d98e9f676ff4ea0d\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\nAcked-by: Frank Lichtenheld \u003cfrank@lichtenheld.com\u003e\nGerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1377\nMessage-Id: \u003c20251114115029.17432-1-gert@greenie.muc.de\u003e\nURL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg34415.html\nSigned-off-by: Gert Doering \u003cgert@greenie.muc.de\u003e\n"},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
