)]}'
{"id":"openvpn~1783","triplet_id":"openvpn~master~Ia1e7db95615d99ef9687de7c4e996dc8033e2631","project":"openvpn","branch":"master","topic":"multi subnet-pool","attention_set":{"1000003":{"account":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"last_update":"2026-07-14 22:17:30.000000000","reason":"Reviewer was added"},"1000001":{"account":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"last_update":"2026-07-15 07:56:56.000000000","reason":"Vote got outdated and was removed: Code-Review-1"}},"removed_from_attention_set":{"1000007":{"account":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"last_update":"2026-07-15 13:24:41.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":"Ia1e7db95615d99ef9687de7c4e996dc8033e2631","subject":"multi: assign clients from a named, tagged subnet-pool","status":"NEW","created":"2026-07-14 22:17:28.000000000","updated":"2026-07-15 13:24:41.000000000","submit_type":"CHERRY_PICK","submittable":false,"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"2c9a56cca49e4ecc0ba06d8965e5c8c34bc12f62","_number":1783,"virtual_id_number":1783,"owner":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"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":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"},"description":"","default_value":0}},"removable_reviewers":[],"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":"2026-07-14 22:17:30.000000000","updated_by":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"reviewer":{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"},"state":"CC"},{"updated":"2026-07-14 22:17:30.000000000","updated_by":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"reviewer":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"state":"REVIEWER"},{"updated":"2026-07-14 22:32:02.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":"32e2769d301c8cf7967c1e3f16b8e79cb848698f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"date":"2026-07-14 22:17:28.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"55c0efda82062aa55c53bb9ef592ec8154ad2ee1","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"date":"2026-07-14 22:18:09.000000000","message":"Topic set to multi subnet-pool","accounts_in_message":[],"_revision_number":1},{"id":"169701a2dc07852ec1702c7ed12c3ce3f7c86d7b","author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"date":"2026-07-14 22:32:02.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"04556e562728bd0f9203d56fa3135bb98c84da71","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"date":"2026-07-15 07:56:56.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":"e31fbc79eb423cd231b9796dc25ea3968031cb0c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"date":"2026-07-15 13:23:53.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"2c9a56cca49e4ecc0ba06d8965e5c8c34bc12f62","author":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"date":"2026-07-15 13:24:41.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"e81f65f2b97d657d6747bef40e2911b19ea1a938","revisions":{"4786ae8ca577fea293664e3d0ece8dbabf8d91b0":{"kind":"REWORK","_number":1,"created":"2026-07-14 22:17:28.000000000","uploader":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"ref":"refs/changes/83/1783/1","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/83/1783/1","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/1 \u0026\u0026 git checkout -b change-1783 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/83/1783/1","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"e8d39061007b0a29f78cecce72a0269d6dd3ecde","subject":"buffer: Add buf_read_u64() and buf_write_u64()"}],"author":{"name":"Antonio Quartulli","email":"antonio@mandelbit.com","date":"2026-07-14 13:24:12.000000000","tz":120},"committer":{"name":"Antonio Quartulli","email":"antonio@mandelbit.com","date":"2026-07-14 22:17:07.000000000","tz":120},"subject":"multi: assign clients from a named, tagged subnet-pool","message":"multi: assign clients from a named, tagged subnet-pool\n\nAdd two server directives:\n\n  subnet-pool \u003ctag\u003e \u003cnetwork\u003e \u003cnetmask\u003e [\u003cgateway\u003e]   (main config)\n  subnet-pool-tag \u003ctag\u003e                               (per-client CCD)\n\nso groups of clients can be given addresses from subnets other than the\n--server network (per-group firewall rules under --topology subnet, and\nthus DCO). A client\u0027s subnet-pool-tag is resolved to its pool and served\na virtual IP from that subnet: a static --ifconfig-push within it, or the\nnext free address from a dynamic per-group pool shared by tag and created\non first use. Such a client is validated against its own subnet instead\nof the global tunnel-network constraint and never falls back to the\nglobal pool; a tag matching no configured pool is declined with\nAUTH_FAILED.\n\nChange-Id: Ia1e7db95615d99ef9687de7c4e996dc8033e2631\nGitHub: closes openvpn/OpenVPN#987\nSigned-off-by: Antonio Quartulli \u003cantonio@mandelbit.com\u003e\n"},"branch":"refs/heads/master"},"eb960603f5aeb60dfd37b47e67d33b709acabb56":{"kind":"REWORK","_number":2,"created":"2026-07-15 07:56:56.000000000","uploader":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"ref":"refs/changes/83/1783/2","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/83/1783/2","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/2 \u0026\u0026 git checkout -b change-1783 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/83/1783/2","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"a3942a62ff3c8e8f0a5dc577e24552a4d4fa5fb0","subject":"test_tls_crypt: Fix test failure on Windows"}],"author":{"name":"Antonio Quartulli","email":"antonio@mandelbit.com","date":"2026-07-15 07:35:00.000000000","tz":120},"committer":{"name":"Antonio Quartulli","email":"antonio@mandelbit.com","date":"2026-07-15 07:35:00.000000000","tz":120},"subject":"multi: assign clients from a named, tagged subnet-pool","message":"multi: assign clients from a named, tagged subnet-pool\n\nAdd two server directives:\n\n  subnet-pool \u003ctag\u003e \u003cnetwork\u003e \u003cnetmask\u003e [\u003cgateway\u003e]   (main config)\n  subnet-pool-tag \u003ctag\u003e                               (per-client CCD)\n\nso groups of clients can be given addresses from subnets other than the\n--server network (per-group firewall rules under --topology subnet, and\nthus DCO). A client\u0027s subnet-pool-tag is resolved to its pool and served\na virtual IP from that subnet: a static --ifconfig-push within it, or the\nnext free address from a dynamic per-group pool shared by tag and created\non first use. Such a client is validated against its own subnet instead\nof the global tunnel-network constraint and never falls back to the\nglobal pool; a tag matching no configured pool is declined with\nAUTH_FAILED.\n\nChange-Id: Ia1e7db95615d99ef9687de7c4e996dc8033e2631\nGitHub: closes openvpn/OpenVPN#987\nSigned-off-by: Antonio Quartulli \u003cantonio@mandelbit.com\u003e\n"},"branch":"refs/heads/master"},"e81f65f2b97d657d6747bef40e2911b19ea1a938":{"kind":"REWORK","_number":3,"created":"2026-07-15 13:23:53.000000000","uploader":{"_account_id":1000007,"name":"ordex","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"ref":"refs/changes/83/1783/3","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/83/1783/3","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/3 \u0026\u0026 git checkout -b change-1783 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/83/1783/3","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/83/1783/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"a3942a62ff3c8e8f0a5dc577e24552a4d4fa5fb0","subject":"test_tls_crypt: Fix test failure on Windows"}],"author":{"name":"Antonio Quartulli","email":"antonio@mandelbit.com","date":"2026-07-15 11:54:57.000000000","tz":120},"committer":{"name":"Antonio Quartulli","email":"antonio@mandelbit.com","date":"2026-07-15 11:54:57.000000000","tz":120},"subject":"multi: assign clients from a named, tagged subnet-pool","message":"multi: assign clients from a named, tagged subnet-pool\n\nAdd two server directives:\n\n  subnet-pool \u003ctag\u003e \u003cnetwork\u003e \u003cnetmask\u003e [\u003cgateway\u003e]   (main config)\n  subnet-pool-tag \u003ctag\u003e                               (per-client CCD)\n\nso groups of clients can be given addresses from subnets other than the\n--server network (per-group firewall rules under --topology subnet, and\nthus DCO). A client\u0027s subnet-pool-tag is resolved to its pool and served\na virtual IP from that subnet: a static --ifconfig-push within it, or the\nnext free address from a dynamic per-group pool shared by tag and created\non first use. Such a client is validated against its own subnet instead\nof the global tunnel-network constraint and never falls back to the\nglobal pool; a tag matching no configured pool is declined with\nAUTH_FAILED.\n\nChange-Id: Ia1e7db95615d99ef9687de7c4e996dc8033e2631\nGitHub: closes openvpn/OpenVPN#987\nSigned-off-by: Antonio Quartulli \u003cantonio@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"]}}]}
