Charge each held segment for its objects, at the measured cost, and file the held-message gap
Mirror / push (push) Successful in 6s
Test / lint (pull_request) Successful in 24s
Test / test (18) (pull_request) Successful in 38s
Test / test (20) (pull_request) Successful in 31s
Test / test (22) (pull_request) Successful in 32s
Test / test (24) (pull_request) Successful in 32s
Test / test (26) (pull_request) Successful in 33s

This commit is contained in:
2026-09-25 19:02:07 +02:00
parent 92456b6f6e
commit f9c53aa576
5 changed files with 33 additions and 20 deletions
+3 -3
View File
@@ -35,9 +35,9 @@
- An `alert_notification` or an `outbind` from the peer is logged and left unanswered, as SMPP 3.4
gives neither a response. Each one used to emit `sessionError`, `"alert_notification" has no
response command`.
- `maxOctets` charges every TLV a held segment carries for the memory it keeps, empty ones
included. A peer could hold megabytes per segment beyond the cap by sending thousands of empty
TLVs, which it counted as nothing.
- `maxOctets` charges each held segment, and every TLV it carries, for the memory it keeps beyond
its octets. A peer could hold around 67 times the cap with segments of empty fields, and megabytes
per segment with thousands of empty TLVs, both of which the cap counted as next to nothing.
- `server()` refuses a `maxOctets` below 1 or not a whole number, `Infinity` included, like its
other limits. `server({ maxOctets: 0 })` used to start and then refuse every multipart message.
- `callback_num`, `callback_num_atag`, `callback_num_pres_ind`, `broadcast_area_identifier` and