Commit Graph

24 Commits (3e0254bf3cf9f0e8b0eef124530aa97f528c056b)

Author SHA1 Message Date
tiptorrent development team 3e0254bf3c prioritize direct download for non existing redirections
allocate the direct download slot from server if there are no
redirections and no other client is currently downloading this file
already.
2021-09-29 15:49:05 +02:00
tiptorrent development team 88e02d424b activate pending clients only for close direct download
if a client is redirected, do not exercise the client activation loop.
2021-09-29 15:49:03 +02:00
tiptorrent development team 7b938edee2 do not stop activating clients when direct download starts
Do not break the loop after activating one client.

Keep activating clients that can be redirected. If no redirection is
found, then start direct download for this client (only one) but keep
looping for clients that can be redirected.
2021-09-29 15:49:01 +02:00
tiptorrent development team 44287f9e67 do not activate clients without redirection via POST
update 4573deb8cb3 to skip clients without redirection after
receiving POST notification.
2021-09-29 15:48:59 +02:00
tiptorrent development team 21e905a387 rise redirection timeout to 3600 seconds 2021-09-29 15:48:57 +02:00
tiptorrent development team 8fa2479f8f increase timeout for redirections
available redirections expire after 5 minutes.
2021-09-29 15:48:44 +02:00
tiptorrent development team 16cc92dab6 allow to report that a client allows redirection with POST method
If clients sends POST /test, it notifies the server that it is
available for receive redirections from file 'test'.

Test it with wget:

  wget --post-data '' http://localhost:9999/TEST -O /dev/null
2021-09-29 15:48:43 +02:00
tiptorrent development team e46be236c7 fix bogus error if clients closes connection unexpectly
Reports a bogus:

unknown read state 5, critical internal error for 127.0.0.1:60610
2021-09-29 15:48:38 +02:00
tiptorrent development team 353c5d3660 remove duplicate log when resuming from pending and being redirected 2021-09-29 15:48:36 +02:00
tiptorrent development team 610a1e48e4 another log rewrite 2021-09-29 15:48:32 +02:00
tiptorrent development team 94c45d5d36 improve logging
Report "client %s:%hu starts download for %s" when the file transfer
really starts.

Replace log when redirection after pending state is not available
2021-09-29 15:48:28 +02:00
tiptorrent development team a23722910e specify current state when displaying unknown error 2021-09-29 15:48:26 +02:00
tiptorrent development team 5a7d9644e4 allow to reuse redirections
A redirection can be reused up to max_clients times.
2021-09-29 15:48:24 +02:00
tiptorrent development team 0be142b8c9 disarm timer on release
This is a repeat timer, if not stopped, it will run again triggering UAF.
2021-09-29 15:48:22 +02:00
tiptorrent development team 1e0b3880f9 fix client timeout
as described by man(3) ev, to make it work with ev_timer_again().
2021-09-29 15:48:20 +02:00
tiptorrent development team 7a04638c32 update num_clients and redirection only for large files
Skip num_clients and redirection update for small files.
2021-09-29 15:48:16 +02:00
tiptorrent development team cbcc71db72 add support for HEAD method 2021-09-29 15:48:14 +02:00
tiptorrent development team d6dbb6c979 add a close wait state
Wait for clients to close the connection, then:

- create redirection.
- activate pending clients.

Do no refresh timeout while in close wait state.
2021-09-29 15:48:11 +02:00
tiptorrent development team b7b410ddc2 extend log on unknown internal state
Specify what client has trigger the unknown internal state
2021-09-29 15:48:09 +02:00
tiptorrent development team d0c8b24985 do not display an error when recv() == 0
This is the client closing the connection with us.
2021-09-29 15:48:07 +02:00
tiptorrent development team 9cf3edf10f call shutdown() before close() 2021-09-29 15:48:05 +02:00
tiptorrent development team b07785d2d1 activate pending clients only for large files
small files should not activate pending clients, otherwise max_clients
is not fulfilled.
2021-09-29 15:48:03 +02:00
tiptorrent development team 9523d7d8fd add more logging for easier debugging 2021-09-29 15:47:55 +02:00
tiptorrent development team 2610239d62 initial commit 2021-09-29 15:47:43 +02:00