)]}'
{"id":"openvpn~1830","triplet_id":"openvpn~master~I96b5ea3542df77b1be17079874fb9e4970b539ed","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-08-03 11:16:25.000000000","reason":"\u003cGERRIT_ACCOUNT_1000002\u003e replied on the change","reason_account":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"}},"1000002":{"account":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"last_update":"2026-08-03 13:27:33.000000000","reason":"\u003cGERRIT_ACCOUNT_1000007\u003e replied on the change","reason_account":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"}}},"removed_from_attention_set":{"1000007":{"account":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"last_update":"2026-08-03 13:27:33.000000000","reason":"\u003cGERRIT_ACCOUNT_1000007\u003e replied on the change","reason_account":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"}}},"hashtags":[],"change_id":"I96b5ea3542df77b1be17079874fb9e4970b539ed","subject":"SIGHUP-restart instance on UDP write error EADDRNOTAVAIL","status":"NEW","created":"2026-07-29 08:08:07.000000000","updated":"2026-08-03 13:27:33.000000000","submit_type":"CHERRY_PICK","submittable":false,"total_comment_count":16,"unresolved_comment_count":5,"has_review_started":true,"meta_rev_id":"6f4a0b9c18d762752e1f6c72ed6bdf0c28e9f577","_number":1830,"virtual_id_number":1830,"owner":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"actions":{},"labels":{"Code-Review":{"rejected":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"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":-2,"date":"2026-08-03 10:00:52.000000000","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,"blocking":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_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-07-29 08:08:08.000000000","updated_by":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"reviewer":{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"},"state":"CC"},{"updated":"2026-07-29 08:08:08.000000000","updated_by":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"reviewer":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"state":"REVIEWER"},{"updated":"2026-08-03 10:00:52.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"}],"messages":[{"id":"ddaafcb8e4a0952390e6c8a3cd613879f6a25a27","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"date":"2026-07-29 08:08:07.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"bf6cffcf8b5facb11f47b7eb50b22a5126d7278e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"date":"2026-07-29 08:10:08.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"75dcf8ff794a08aac1d81038bfa48b2d307e358e","author":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"date":"2026-08-03 10:00:52.000000000","message":"Patch Set 2: Code-Review-2\n\n(5 comments)","accounts_in_message":[],"_revision_number":2},{"id":"8297e19a8ae0678ac2aa678f12c23bee71e66386","author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"date":"2026-08-03 10:53:10.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"4b9805147066f5cdb9fcbd3b28038ff9439f43e7","author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"date":"2026-08-03 11:16:25.000000000","message":"Patch Set 2:\n\n(6 comments)","accounts_in_message":[],"_revision_number":2},{"id":"6f4a0b9c18d762752e1f6c72ed6bdf0c28e9f577","author":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"date":"2026-08-03 13:27:33.000000000","message":"Patch Set 2:\n\n(4 comments)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"86bac756964e392febc55fb025cba9a203b8befa","revisions":{"3cfce25d4cdcbc171eacaf5ef38bdd63722a2dd4":{"kind":"REWORK","_number":1,"created":"2026-07-29 08:08:07.000000000","uploader":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"ref":"refs/changes/30/1830/1","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/30/1830/1","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/30/1830/1 \u0026\u0026 git checkout -b change-1830 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/30/1830/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/30/1830/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/30/1830/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/30/1830/1","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/30/1830/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"74c2a965d39fea89c2fe392663eb699fb1324611","subject":"socket: Never use negative buf-\u003elen in link_socket_read*"}],"author":{"name":"Gert Doering","email":"gert@greenie.muc.de","date":"2026-07-29 07:55:40.000000000","tz":120},"committer":{"name":"Gert Doering","email":"gert@greenie.muc.de","date":"2026-07-29 07:55:40.000000000","tz":120},"subject":"SIGHUP-restart instance on UDP write error EADDRNOTAVAIL","message":"SIGHUP-restart instance on UDP write error EADDRNOTAVAIL\n\nIf a client device roams to a new network attachment point (LAN to WiFi,\nWiFi A to WiFi B, ...) while openvpn is active and a \"VPN server host\nroute\" is installed (--redirect-gateway, or just overlapping routes with\nthe VPN server IP), this host route is no longer active and the VPN is\ngenerally no longer working.\n\nOn macOS at least, sendto() will return EADDRNOTAVAIL in many of these\ncases, because the route is still active but the \"egress interface\" is\nnot - so we can notice, and restart the instance.  A full SIGHUP restart\nis needed because we need to remove all overlapping routes first, before\na reconnect can work.\n\nChange-Id: I96b5ea3542df77b1be17079874fb9e4970b539ed\nSigned-off-by: Gert Doering \u003cgert@greenie.muc.de\u003e\n"},"branch":"refs/heads/master"},"86bac756964e392febc55fb025cba9a203b8befa":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2026-07-29 08:10:08.000000000","uploader":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"ref":"refs/changes/30/1830/2","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/30/1830/2","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/30/1830/2 \u0026\u0026 git checkout -b change-1830 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/30/1830/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/30/1830/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/30/1830/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/30/1830/2","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/30/1830/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"74c2a965d39fea89c2fe392663eb699fb1324611","subject":"socket: Never use negative buf-\u003elen in link_socket_read*"}],"author":{"name":"Gert Doering","email":"gert@greenie.muc.de","date":"2026-07-29 07:55:40.000000000","tz":120},"committer":{"name":"Gert Doering","email":"gert@greenie.muc.de","date":"2026-07-29 08:09:49.000000000","tz":120},"subject":"SIGHUP-restart instance on UDP write error EADDRNOTAVAIL","message":"SIGHUP-restart instance on UDP write error EADDRNOTAVAIL\n\nIf a client device roams to a new network attachment point (LAN to WiFi,\nWiFi A to WiFi B, ...) while openvpn is active and a \"VPN server host\nroute\" is installed (--redirect-gateway, or just overlapping routes with\nthe VPN server IP), this host route is no longer active and the VPN is\ngenerally no longer working.\n\nOn macOS at least, sendto() will return EADDRNOTAVAIL in many of these\ncases, because the route is still active but the \"egress interface\" is\nnot - so we can notice, and restart the instance.  A full SIGHUP restart\nis needed because we need to remove all overlapping routes first, before\na reconnect can work.\n\nGithub: OpenVPN/openvpn#1086\n\nChange-Id: I96b5ea3542df77b1be17079874fb9e4970b539ed\nSigned-off-by: Gert Doering \u003cgert@greenie.muc.de\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":"REJECT","applied_by":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"}}]},{"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"]}}]}
