Skip to content

Conversation

@const-t
Copy link
Contributor

@const-t const-t commented Dec 11, 2025

No description provided.

@const-t const-t force-pushed the kt-2573-ip-block-duration branch 2 times, most recently from 1ca32f9 to c4eebc4 Compare December 17, 2025 16:17
@const-t const-t marked this pull request as ready for review December 17, 2025 16:42
@const-t const-t force-pushed the kt-2573-ip-block-duration branch 5 times, most recently from 768660b to 59cc826 Compare December 19, 2025 16:07
@const-t const-t force-pushed the kt-2573-ip-block-duration branch 4 times, most recently from 3c873c4 to f25b955 Compare January 6, 2026 10:35
@const-t const-t force-pushed the kt-2573-ip-block-duration branch from f25b955 to 5cd7a3a Compare January 20, 2026 13:51
Before this patch deproxy_client coldn't establish connection without
sending request. `connect()` called from `start()` method is async
and finishing of connection establising must be done in
`handle_write()`. Connection is established only if socket is ready to
write. But in previous version we couldn't reach `handle_write()`
handler because `writable()` always returned `False`, due zero number
of pending request at connection stage. To fix this we introduced two
the new versions of `writable()` and `handle_write()` those used when
connection is not established and changed to another two when
connection established.
Add frang ip_block time range tests:
- Add tests to verify new behaviour of `ip_block <senconds>`, now
  `ip_block` not permanent and block duration time can be specified to
  `ip_block`. To have permanent block use `ip_block 0`.

Add frang ip_block configuration tests and fix blinking tests:
- Add tests to verify `ip_block <seconds>` configuring correctly.
- Add `wait_for_connection_open()` to guarantee connection establishing
  order in `FrangIpBlockConn` tests.
We should wait while all connection will be closed, before trying again
We must not set `server_hostname` when client started, at this moment
connection already established
We must not set STOPPED state manually, use `stop()` method when it
needs. Otherwise it breaks stopping logic that leads to corrupted
internal state of the client on subsequent uses use of the client.
Example:
1. Call client.start()
2. Call client.send_request()
3. HTTP error occured, client disconnected handle_close() called
   state set to STOPPED.
4. Call client.restart() # dosn't take effect, already in STOPPED state.
6. Call client.send_request() # Error client internal counters are
   broken.
In the test_h2_field_validity.py we doing `start_all_services()` in
`subtest` it means we also need to do stop, to gracefully shutdown
client. Otherwise at the next iteration of subtest client will be in
`STARTED` state with active network connection and internal state
from previous iteration.
It doesn't make sense to wait 60 seconds on tcp segmentation for this
test. We send very few segments in this test thus high network latency
is not expected.
- Get rid of _do_close
- Add assertion for connection opening
@const-t const-t force-pushed the kt-2573-ip-block-duration branch from 5cd7a3a to 4382386 Compare January 22, 2026 16:12
@const-t const-t merged commit 0364dc6 into master Jan 23, 2026
1 check passed
@const-t const-t deleted the kt-2573-ip-block-duration branch January 23, 2026 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants