mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-10-29 17:54:14 +08:00
httpd: clear upload reset intent when the TCP slot is reused
With UIP_CONF_MAX_CONNECTIONS set to one, a verified upload can leave reset intent set when its response is never acknowledged. A subsequent TCP connection reuses that slot, and ACKing its plain GET response can otherwise trigger reset_chip(). This is sequential slot reuse, not concurrent HTTP connections. Store reset intent in the connection appstate and initialize both tstate and fw_reset_pending on every uip_connected() event, regardless of stale appstate contents. Reset only after the verified upload response is fully acknowledged. Exercise the real HTTP callback for all stale tstate bytes, sequential slot reuse and a later GET, partial/final ACKs, abort, timeout and CRC failure. Keep the regression tests in the existing tab-indented style.
This commit is contained in:
1 parent
b28ead65dc
commit
491a919105
3 files changed
+122
-8
No files matched your search
@@ -12,6 +12,7 @@
|
||||
for each TCP connection. */
|
||||
typedef struct httpd_state {
|
||||
uint8_t tstate;
|
||||
uint8_t fw_reset_pending;
|
||||
} uip_tcp_appstate_t;
|
||||
|
||||
/* Finally we define the application function to be called by uIP. */
|
||||
|
||||
Reference in new issue
Block a user