summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* add basic uri sanitizationtiptorrent development team2021-09-291-1/+4
| | | | disallow .. in uri.
* runtime split original file into chunkstiptorrent development team2021-09-293-5/+74
| | | | No need to split the original file on the server side.
* prioritize direct download for non existing redirectionstiptorrent development team2021-09-291-3/+22
| | | | | | allocate the direct download slot from server if there are no redirections and no other client is currently downloading this file already.
* activate pending clients only for close direct downloadtiptorrent development team2021-09-291-1/+2
| | | | if a client is redirected, do not exercise the client activation loop.
* do not stop activating clients when direct download startstiptorrent development team2021-09-291-1/+3
| | | | | | | | 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.
* do not activate clients without redirection via POSTtiptorrent development team2021-09-293-5/+8
| | | | | update 4573deb8cb3 to skip clients without redirection after receiving POST notification.
* rise redirection timeout to 3600 secondstiptorrent development team2021-09-291-1/+1
|
* increase timeout for redirectionstiptorrent development team2021-09-291-1/+3
| | | | available redirections expire after 5 minutes.
* allow to report that a client allows redirection with POST methodtiptorrent development team2021-09-293-7/+23
| | | | | | | | | 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
* do not shadow global redirect variabletiptorrent development team2021-09-291-3/+3
|
* fix bogus error if clients closes connection unexpectlytiptorrent development team2021-09-291-0/+10
| | | | | | Reports a bogus: unknown read state 5, critical internal error for 127.0.0.1:60610
* remove duplicate log when resuming from pending and being redirectedtiptorrent development team2021-09-291-5/+1
|
* another log rewritetiptorrent development team2021-09-291-1/+1
|
* improve loggingtiptorrent development team2021-09-291-11/+11
| | | | | | | Report "client %s:%hu starts download for %s" when the file transfer really starts. Replace log when redirection after pending state is not available
* specify current state when displaying unknown errortiptorrent development team2021-09-291-4/+4
|
* allow to reuse redirectionstiptorrent development team2021-09-292-3/+10
| | | | A redirection can be reused up to max_clients times.
* disarm timer on releasetiptorrent development team2021-09-291-2/+1
| | | | This is a repeat timer, if not stopped, it will run again triggering UAF.
* fix client timeouttiptorrent development team2021-09-291-4/+5
| | | | as described by man(3) ev, to make it work with ev_timer_again().
* check sendfile errortiptorrent development team2021-09-291-1/+2
|
* update num_clients and redirection only for large filestiptorrent development team2021-09-292-9/+12
| | | | Skip num_clients and redirection update for small files.
* add support for HEAD methodtiptorrent development team2021-09-293-17/+39
|
* add a close wait statetiptorrent development team2021-09-293-9/+27
| | | | | | | | | Wait for clients to close the connection, then: - create redirection. - activate pending clients. Do no refresh timeout while in close wait state.
* extend log on unknown internal statetiptorrent development team2021-09-291-2/+4
| | | | Specify what client has trigger the unknown internal state
* do not display an error when recv() == 0tiptorrent development team2021-09-291-7/+4
| | | | This is the client closing the connection with us.
* call shutdown() before close()tiptorrent development team2021-09-291-0/+1
|
* activate pending clients only for large filestiptorrent development team2021-09-293-3/+10
| | | | | small files should not activate pending clients, otherwise max_clients is not fulfilled.
* use off_t instead of size_t for file sizetiptorrent development team2021-09-291-1/+1
| | | | | stat() st_size datatype is off_t which is for file size, use off_t instead of size_t for correctness.
* Add ULL postfix to FILE_SIZE_THRESHOLD to avoid using inttiptorrent development team2021-09-291-1/+1
| | | | | Otherwise, cli->size > FILE_SIZE_THRESHOLD uses 32-bit integer which overflows with very large files. Use ULL to enforce 64-bits.
* add more logging for easier debuggingtiptorrent development team2021-09-291-5/+15
|
* initial committiptorrent development team2021-09-295-0/+935