)]}'
{"id":"openvpn~1915","triplet_id":"openvpn~master~I24e5925a72aaede53ef9e863fe96fcd7363df402","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-09-14 14:18:42.000000000","reason":"Reviewer was added"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I24e5925a72aaede53ef9e863fe96fcd7363df402","subject":"socket: let an optional UDP socket give up on a failed bind","status":"NEW","created":"2026-09-14 14:18:32.000000000","updated":"2026-09-15 12:59:19.000000000","submit_type":"CHERRY_PICK","submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"b12dc64ee562619a15260d4997c5a9c7e4539821","_number":1915,"virtual_id_number":1915,"owner":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"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"}],"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":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":"2026-09-14 14:18:42.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":"2026-09-14 14:18:42.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"}],"messages":[{"id":"32753b072c651d9b485835070377465dc64a0864","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-14 14:18:32.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b12dc64ee562619a15260d4997c5a9c7e4539821","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-15 12:59:19.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"f8b56895c8b30e954f0d3a12c95c420a24f8bea8","revisions":{"563fb85b2ea27e5d94c6fe80f8ca5d995776eeae":{"kind":"REWORK","_number":1,"created":"2026-09-14 14:18:32.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/15/1915/1","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/15/1915/1","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/15/1915/1 \u0026\u0026 git checkout -b change-1915 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/15/1915/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/15/1915/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/15/1915/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/15/1915/1","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/15/1915/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"59fcf447804ec104eda104c0c9fb99db61d40348","subject":"oob: Add probe-result ranking for server selection"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-14 12:14:15.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-14 12:14:15.000000000","tz":180},"subject":"socket: let an optional UDP socket give up on a failed bind","message":"socket: let an optional UDP socket give up on a failed bind\n\ncreate_socket_udp_configured()\u0027s \"optional\" argument covers only the\nsocket() call: socket_bind() is fatal, so a caller that can do without\nthe socket still dies if the address is unavailable.\n\nThat is a problem for --server-probe, which binds a probe socket for\nevery address family in use, while a connection binds only the family of\nthe remote it is about to try. A --lport whose IPv6 port happens to be\ntaken by another process therefore kills a client that would have\nconnected over IPv4.\n\nGive socket_bind() a msglevel and a return value, and let \"optional\"\napply to the bind as well: the socket is closed and SOCKET_UNDEFINED is\nreturned, so the caller can skip that address family. Every existing\ncaller passes M_FATAL and keeps its behaviour.\n\nChange-Id: I24e5925a72aaede53ef9e863fe96fcd7363df402\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"f8b56895c8b30e954f0d3a12c95c420a24f8bea8":{"kind":"REWORK","_number":2,"created":"2026-09-15 12:59:19.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/15/1915/2","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/15/1915/2","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/15/1915/2 \u0026\u0026 git checkout -b change-1915 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/15/1915/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/15/1915/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/15/1915/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/15/1915/2","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/15/1915/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"59fcf447804ec104eda104c0c9fb99db61d40348","subject":"oob: Add probe-result ranking for server selection"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-14 12:14:15.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-15 12:18:53.000000000","tz":180},"subject":"socket: let an optional UDP socket give up on a failed bind","message":"socket: let an optional UDP socket give up on a failed bind\n\ncreate_socket_udp_configured()\u0027s \"optional\" argument covers only the\nsocket() call: socket_bind() is fatal, so a caller that can do without\nthe socket still dies if the address is unavailable.\n\nThat is a problem for --server-probe, which binds a probe socket for\nevery address family in use, while a connection binds only the family of\nthe remote it is about to try. A --lport whose IPv6 port happens to be\ntaken by another process therefore kills a client that would have\nconnected over IPv4.\n\nGive socket_bind() a msglevel and a return value, and let \"optional\"\napply to the bind as well: the socket is closed and SOCKET_UNDEFINED is\nreturned, so the caller can skip that address family. Every existing\ncaller passes M_FATAL and keeps its behaviour.\n\nChange-Id: I24e5925a72aaede53ef9e863fe96fcd7363df402\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"NOT_READY","labels":[{"label":"Code-Review","status":"NEED"}]},{"rule_name":"checks~ChecksSubmitRule","status":"OK"}],"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":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"rule:checks~ChecksSubmitRule","fulfilled":true,"status":"PASS","passing_atoms":["checks~ChecksSubmitRule"],"failing_atoms":[]}}]}
