)]}'
{"id":"openvpn~1894","triplet_id":"openvpn~master~I3c6ad247614fb204a279b73e98f8c4704e16da2a","project":"openvpn","branch":"master","full_branch":"refs/heads/master","attention_set":{},"removed_from_attention_set":{"1000008":{"account":{"_account_id":1000008,"name":"Lev Stipakov","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"last_update":"2026-09-05 09:27:32.000000000","reason":"Change was submitted"},"1000003":{"account":{"_account_id":1000003,"name":"Arne Schwabe","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"last_update":"2026-09-05 09:27:32.000000000","reason":"Change was submitted"},"1000002":{"account":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"last_update":"2026-09-05 09:27:32.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I3c6ad247614fb204a279b73e98f8c4704e16da2a","subject":"reliable: add unit tests for ACK and backoff DoS hardening","status":"MERGED","created":"2026-09-03 06:16:49.000000000","updated":"2026-09-05 09:27:32.000000000","submitted":"2026-09-05 09:27:32.000000000","submitter":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"1894","meta_rev_id":"14d2d3aa88784938142e9a4fd7b184c2cbfbc4dd","_number":1894,"virtual_id_number":1894,"owner":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"actions":{},"labels":{"Code-Review":{"all":[{"value":0,"_account_id":1000053,"name":"Răzvan Cojocaru","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},{"value":0,"_account_id":1000003,"name":"Arne Schwabe","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},{"value":0,"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"}],"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":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},{"_account_id":1000003,"name":"Arne Schwabe","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},{"_account_id":1000053,"name":"Răzvan Cojocaru","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"}],"CC":[{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-03 06:16:49.000000000","updated_by":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"real_updated_by":{"_account_id":1000002,"name":"Gert Doering","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-09-03 06:16:49.000000000","updated_by":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"real_updated_by":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"reviewer":{"_account_id":1000003,"name":"Arne Schwabe","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"state":"REVIEWER"},{"updated":"2026-09-04 12:50:31.000000000","updated_by":{"_account_id":1000053,"name":"Răzvan Cojocaru","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"real_updated_by":{"_account_id":1000053,"name":"Răzvan Cojocaru","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"reviewer":{"_account_id":1000053,"name":"Răzvan Cojocaru","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"state":"REVIEWER"}],"messages":[{"id":"bf96adc9f576db45cd13cd6c8db39534571af5a1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"date":"2026-09-03 06:16:49.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b482baacd3ff586992491b2d4eb79b07d38f3c68","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"date":"2026-09-03 19:23:26.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.","accounts_in_message":[],"_revision_number":2},{"id":"18cc447ed5b3aab12668af14ce32382d84f0ef00","author":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"date":"2026-09-03 19:34:11.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"bcc7eb8364b6af8c8f46b2a79908b9371fc30869","author":{"_account_id":1000003,"name":"Arne Schwabe","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"date":"2026-09-03 21:17:49.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"8f7029a60263cc01b7d29c5ca25d9611242aba91","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"Lev Stipakov","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-04 10:27:11.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Code-Review+2, Code-Review-1 (copy condition: \"changekind:NO_CHANGE OR changekind:TRIVIAL_REBASE OR is:MIN\")\n","accounts_in_message":[],"_revision_number":3},{"id":"0cb61aaa2f4c94352b699358fb00de71fa09f3c1","author":{"_account_id":1000053,"name":"Răzvan Cojocaru","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"date":"2026-09-04 12:50:31.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"14d2d3aa88784938142e9a4fd7b184c2cbfbc4dd","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"date":"2026-09-05 09:27:32.000000000","message":"Change has been successfully pushed.","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"c9b8ca1795957f2e22dad1589479bd32faea4fc1","revisions":{"93eeb81420a4a26ddf2a0c19970a821aa1d8aef6":{"kind":"REWORK","_number":1,"created":"2026-09-03 06:16:49.000000000","uploader":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"ref":"refs/changes/94/1894/1","fetch":{"anonymous http":{"url":"https://gerrit.openvpn.net/openvpn","ref":"refs/changes/94/1894/1","commands":{"Branch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/1 \u0026\u0026 git checkout -b change-1894 FETCH_HEAD","Checkout":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://gerrit.openvpn.net/openvpn refs/changes/94/1894/1","Reset To":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"3496ee3fb3d21ec8790abd2ebee6e5b15e7dc5d7","subject":"win32: unit-test the CreateProcess() command line quoting"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-02 13:23:51.000000000","tz":180},"committer":{"name":"Gert Doering","email":"gert@greenie.muc.de","date":"2026-09-03 06:16:34.000000000","tz":120},"subject":"reliable: add unit tests for ACK and backoff DoS hardening","message":"reliable: add unit tests for ACK and backoff DoS hardening\n\nAdd regression coverage for the reliability-layer denial-of-service fix:\n\n - the retransmission timeout must stay positive and bounded no matter how\n   often the fast-retransmit path is forced, so it can no longer overflow;\n - reliable_send_purge() must ignore ACKs for packet IDs that could never\n   have been in flight (out of the send window, or wrapped-around), so a\n   peer cannot inflate n_acks and force early retransmits;\n - a legitimate ACK for a real higher packet ID still removes that entry\n   and counts towards fast retransmit (positive control).\n\nThese tests fail on the unfixed code and pass with the fix.\n\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\nChange-Id: I3c6ad247614fb204a279b73e98f8c4704e16da2a\n"},"branch":"refs/heads/master"},"287f1ca39cc776ca7491d1196e2500a61bf1faef":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-09-03 19:23:26.000000000","uploader":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"ref":"refs/changes/94/1894/2","fetch":{"anonymous http":{"url":"https://gerrit.openvpn.net/openvpn","ref":"refs/changes/94/1894/2","commands":{"Branch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/2 \u0026\u0026 git checkout -b change-1894 FETCH_HEAD","Checkout":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://gerrit.openvpn.net/openvpn refs/changes/94/1894/2","Reset To":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"d988ef4508e63b28c8e3efcb9f62eb8c836907fe","subject":"Ignore acks for packets that cannot be outstanding"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-02 13:23:51.000000000","tz":180},"committer":{"name":"Gert Doering","email":"gert@greenie.muc.de","date":"2026-09-03 19:23:14.000000000","tz":120},"subject":"reliable: add unit tests for ACK and backoff DoS hardening","message":"reliable: add unit tests for ACK and backoff DoS hardening\n\nAdd regression coverage for the reliability-layer denial-of-service fix:\n\n - the retransmission timeout must stay positive and bounded no matter how\n   often the fast-retransmit path is forced, so it can no longer overflow;\n - reliable_send_purge() must ignore ACKs for packet IDs that could never\n   have been in flight (out of the send window, or wrapped-around), so a\n   peer cannot inflate n_acks and force early retransmits;\n - a legitimate ACK for a real higher packet ID still removes that entry\n   and counts towards fast retransmit (positive control).\n\nThese tests fail on the unfixed code and pass with the fix.\n\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\nChange-Id: I3c6ad247614fb204a279b73e98f8c4704e16da2a\n"},"branch":"refs/heads/master"},"975dc2e0f0e17a301c8728f6c135be339f7a9196":{"kind":"REWORK","_number":3,"created":"2026-09-04 10:27:11.000000000","uploader":{"_account_id":1000008,"name":"Lev Stipakov","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/94/1894/3","fetch":{"anonymous http":{"url":"https://gerrit.openvpn.net/openvpn","ref":"refs/changes/94/1894/3","commands":{"Branch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/3 \u0026\u0026 git checkout -b change-1894 FETCH_HEAD","Checkout":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://gerrit.openvpn.net/openvpn refs/changes/94/1894/3","Reset To":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"d988ef4508e63b28c8e3efcb9f62eb8c836907fe","subject":"Ignore acks for packets that cannot be outstanding"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-02 13:23:51.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-04 10:26:58.000000000","tz":180},"subject":"reliable: add unit tests for ACK and backoff DoS hardening","message":"reliable: add unit tests for ACK and backoff DoS hardening\n\nAdd regression coverage for the reliability-layer denial-of-service fix\nto test_packet_id, which already links reliable.c:\n\n - the retransmission timeout must stay positive and bounded no matter how\n   often the fast-retransmit path is forced, so it can no longer overflow;\n - reliable_send_purge() must ignore ACKs for packet IDs that could never\n   have been in flight (out of the send window, or wrapped-around), so a\n   peer cannot inflate n_acks and force early retransmits;\n - a legitimate ACK for a real higher packet ID still removes that entry\n   and counts towards fast retransmit (positive control).\n\nThese tests fail on the unfixed code and pass with the fix.\n\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\nChange-Id: I3c6ad247614fb204a279b73e98f8c4704e16da2a\n"},"branch":"refs/heads/master"},"c9b8ca1795957f2e22dad1589479bd32faea4fc1":{"kind":"NO_CODE_CHANGE","_number":4,"created":"2026-09-05 09:27:32.000000000","uploader":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"ref":"refs/changes/94/1894/4","fetch":{"anonymous http":{"url":"https://gerrit.openvpn.net/openvpn","ref":"refs/changes/94/1894/4","commands":{"Branch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/4 \u0026\u0026 git checkout -b change-1894 FETCH_HEAD","Checkout":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://gerrit.openvpn.net/openvpn refs/changes/94/1894/4","Reset To":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/94/1894/4 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"d988ef4508e63b28c8e3efcb9f62eb8c836907fe","subject":"Ignore acks for packets that cannot be outstanding"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-04 16:08:42.000000000","tz":120},"committer":{"name":"Gert Doering","email":"gert@greenie.muc.de","date":"2026-09-05 09:21:26.000000000","tz":120},"subject":"reliable: add unit tests for ACK and backoff DoS hardening","message":"reliable: add unit tests for ACK and backoff DoS hardening\n\nAdd regression coverage for the reliability-layer denial-of-service fix\nto test_packet_id, which already links reliable.c:\n\n - the retransmission timeout must stay positive and bounded no matter how\n   often the fast-retransmit path is forced, so it can no longer overflow;\n - reliable_send_purge() must ignore ACKs for packet IDs that could never\n   have been in flight (out of the send window, or wrapped-around), so a\n   peer cannot inflate n_acks and force early retransmits;\n - a legitimate ACK for a real higher packet ID still removes that entry\n   and counts towards fast retransmit (positive control).\n\nThese tests fail on the unfixed code and pass with the fix.\n\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\nAcked-by: Razvan Cojocaru \u003crazvanc@mailbox.org\u003e\nGerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1894\nChange-Id: I3c6ad247614fb204a279b73e98f8c4704e16da2a\nMessage-Id: \u003c20260904160848.5553-1-gert@greenie.muc.de\u003e\nURL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg38948.html\nSigned-off-by: Gert Doering \u003cgert@greenie.muc.de\u003e\n"},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[]}
