2020-10-31 03:44 | use in-source sha1 implementation: remove libcrypto dependency | Nihal Jere | 10 | +191 | -17 |
2020-04-07 10:51 | update readme | Eudald Gubert i Roldan | 1 | +2 | -0 |
2020-04-07 10:46 | Merge pull request #50 from eudaldgr/travis | Eudald Gubert i Roldan | 1 | +13 | -0 |
2020-04-07 09:00 | Add contact section in readme | raspbeguy | 1 | +7 | -1 |
2020-04-07 08:55 | Fix stuffs in README.md | raspbeguy | 1 | +6 | -8 |
2020-04-07 08:52 | exclude target binaries in gitignore | raspbeguy | 1 | +6 | -0 |
2020-04-07 07:52 | Merge pull request #49 from eudaldgr/files | Eudald Gubert i Roldan | 3 | +253 | -217 |
2020-04-06 11:44 | net.c problem workaround | Eudald Gubert i Roldan | 1 | +4 | -0 |
2020-04-06 11:40 | Added a template | Eudald Gubert i Roldan | 2 | +2 | -2 |
2020-04-06 10:25 | Update config.mk | Eudald Gubert i Roldan | 1 | +1 | -1 |
2020-04-06 08:22 | Update Makefile | Eudald Gubert i Roldan | 1 | +11 | -11 |
2020-04-03 18:17 | Removed automake dependency | Eudald Gubert i Roldan | 7 | +156 | -223 |
2012-05-07 04:03 | Document applying and displaying torrent labels. | Marq Schneider | 2 | +8 | -0 |
2012-05-07 03:54 | Add optional label to be associated with torrent. | Marq Schneider | 8 | +49 | -16 |
2012-05-07 03:50 | Clean up and add a few more entries to .gitignore | Marq Schneider | 1 | +19 | -10 |
2012-05-06 20:29 | Add year to log timestamp. | Marq Schneider | 1 | +1 | -1 |
2012-05-06 20:20 | Add misc/utils.h to Makefile.am | Marq Schneider | 1 | +2 | -1 |
2012-05-06 19:30 | Merge pull request #36 from brianmwaters/master | Marq Schneider | 1 | +1 | -3 |
2010-08-13 16:29 | Add documentation for 'btpd --numwant' and 'btcli rate' | Marq Schneider | 3 | +19 | -1 |
2010-08-13 15:55 | Added ARRAY_COUNT() macro to get number of elements in const arrays. | Marq Schneider | 5 | +17 | -10 |
2010-08-13 02:14 | Added 'numwant' to the tracker request parameters. | Marq Schneider | 4 | +11 | -2 |
2010-08-12 03:37 | Allow changing the upload and download rates at runtime. | Marq Schneider | 9 | +130 | -2 |
2010-08-06 20:34 | Fix non-escaped hyphens in man pages. | Marq Schneider | 3 | +24 | -24 |
2010-08-05 15:13 | Corrected man pages bug section URL for issue tracker. | Marq Schneider | 3 | +3 | -3 |
2010-08-04 04:19 | Indicate post 0.16 version. | Marq Schneider | 1 | +1 | -1 |
2010-08-04 04:18 | Merge branch 'master' of github.com:btpd/btpd | Marq Schneider | 0 | +0 | -0 |
2010-08-04 03:18 | Text updates for btpd 0.16. | Marq Schneider | 7 | +23 | -5 |
2010-07-30 04:16 | Correct list '%' sequences to match man page. | Marq Schneider | 1 | +2 | -2 |
2010-07-30 02:43 | Added custom formats for list operation. | Marq Schneider | 2 | +141 | -19 |
2010-07-27 03:01 | Add multiple torrents at once. | Marq Schneider | 1 | +41 | -28 |
2010-07-27 02:36 | Fix warning on no return value from non-void function. | Marq Schneider | 1 | +1 | -0 |
2010-07-23 03:57 | Implement start all (btcli start -a) functionality. | Marq Schneider | 4 | +59 | -7 |
2010-07-20 22:43 | Don't set a maximum file size. read_file will use the file size. | Marq Schneider | 1 | +1 | -1 |
2010-07-18 18:41 | Applied patches from OpenBSD to fix addrinfo and HTTP. | Marq Schneider | 2 | +8 | -3 |
2010-07-18 03:18 | Added man pages for btcli, btinfo, and btpd. | Marq Schneider | 4 | +382 | -1 |
2009-02-17 17:35 | Fix possible crash with kqueue. | Richard Nyberg | 2 | +38 | -15 |
2009-02-10 15:39 | test(1)'s equality operator is '=' not '=='. | Richard Nyberg | 1 | +4 | -4 |
2009-02-09 21:08 | Text updates for btpd 0.15. | Richard Nyberg | 3 | +10 | -2 |
2009-02-09 15:46 | Run timeouts that will expire in less than one millisecond. | Richard Nyberg | 1 | +1 | -1 |
2009-02-08 23:52 | Add test case for compiling with pthreads. | Richard Nyberg | 1 | +3 | -2 |
2009-02-08 18:24 | evtimer_gettime was broken on MacOs. | Richard Nyberg | 1 | +7 | -4 |
2009-02-08 18:21 | Use the correct address length for connect. | Richard Nyberg | 1 | +5 | -3 |
2009-02-08 18:14 | Log failure of PROG_SILENT_IFELSE to config.log. | Richard Nyberg | 1 | +2 | -0 |
2009-02-08 18:14 | Indicate post 0.14 version. | Richard Nyberg | 1 | +1 | -1 |
2009-02-07 23:37 | Text updates for btpd 0.14. | Richard Nyberg | 3 | +57 | -16 |
2009-02-07 20:13 | Find and ban peers with bad data. | Richard Nyberg | 10 | +285 | -48 |
2009-02-06 21:43 | Split peer information. Make id hash functions available. | Richard Nyberg | 8 | +137 | -84 |
2009-02-06 17:21 | Iterate throught the htbl instead of building an array first. | Richard Nyberg | 3 | +22 | -14 |
2009-02-06 19:13 | We must now set the ratio when creating hash tables. | Richard Nyberg | 1 | +2 | -2 |
2009-02-06 19:03 | Hashtable tweaks. | Richard Nyberg | 2 | +92 | -30 |
2009-02-03 22:11 | Make net->piece_count properly aligned. | Richard Nyberg | 1 | +6 | -8 |
2009-02-03 16:02 | Set logmask from commandline. | Richard Nyberg | 2 | +4 | -4 |
2009-02-03 16:09 | More tracker logging, and use switch for log type. | Richard Nyberg | 3 | +21 | -15 |
2009-02-03 15:06 | Fix port type confusion. | Richard Nyberg | 3 | +7 | -9 |
2009-01-30 11:03 | Use only IPv4 by default. | Richard Nyberg | 2 | +14 | -10 |
2009-01-30 10:18 | Set failures on individual trackers, not on tiers. | Richard Nyberg | 1 | +46 | -20 |
2009-01-29 16:00 | Make the timer code work on MacOS as well. | Richard Nyberg | 4 | +56 | -12 |
2009-01-29 15:43 | Stop complaints on printf argument types on MacOS. | Richard Nyberg | 1 | +2 | -2 |
2009-01-29 15:42 | Remove unneeded addrinfo flag which doesn't exist on MacOS. | Richard Nyberg | 1 | +1 | -1 |
2009-01-29 15:38 | Make sure required versions of autotools are used. | Richard Nyberg | 1 | +2 | -1 |
2009-01-29 15:29 | Rename timer* to evtimer*. | Richard Nyberg | 11 | +23 | -23 |
2009-01-26 21:34 | Make the COPYRIGHT file match reality again. | Richard Nyberg | 1 | +26 | -17 |
2009-01-26 21:04 | Show tracker counts in btcli stat. | Richard Nyberg | 3 | +10 | -7 |
2009-01-26 17:54 | Change options to: '-4' => Ipv4 only, '-6' => IPv6 only. | Richard Nyberg | 1 | +4 | -4 |
2009-01-26 17:20 | Better start from scratch on udp tracker support. | Richard Nyberg | 1 | +0 | -84 |
2009-01-25 12:10 | Improve the torrent stop and btpd shutdown sequences. | Richard Nyberg | 12 | +179 | -88 |
2009-01-26 12:04 | More files to ignore. | Richard Nyberg | 1 | +1 | -0 |
2009-01-24 10:50 | Use the correct macro to make automake happy. | Richard Nyberg | 1 | +1 | -1 |
2009-01-24 10:48 | Fix a typo in an error message. | Richard Nyberg | 1 | +1 | -1 |
2009-01-23 23:53 | Print the result of, and not the address of, getpid(). | Richard Nyberg | 1 | +1 | -1 |
2009-01-21 12:03 | Rethink the tracker client code somewhat. | Richard Nyberg | 6 | +320 | -252 |
2009-01-15 11:21 | git clean is a better way to clean the tree. | Richard Nyberg | 1 | +0 | -4 |
2009-01-13 23:25 | Add IPv6 support. Btpd can now use both ipv4 and ipv6. The new options -4 and -6 toggles use of ip v4 and v6 respectively. They are both used by default. Remove restrictions on the --ip option since the spec allows to be a dns name. Ultimately this option may need to be changed on a per tracker/torrent basis. | Richard Nyberg | 9 | +144 | -66 |
2009-01-13 15:59 | Added macros for checking supported compiler flags. | Richard Nyberg | 1 | +24 | -16 |
2009-01-13 11:09 | Start previously active torrents after log file setup. | Richard Nyberg | 2 | +6 | -5 |
2009-01-12 22:53 | Test for working snprintf at startup. | Richard Nyberg | 1 | +3 | -0 |
2009-01-12 22:50 | Let the initial process linger until the daemon is initialized. This enables us to report errors in the btpd init sequence to the shell by non zero exit code. Changed from flock to lockf because of solaris troubles. I may be confused though. | Richard Nyberg | 2 | +81 | -38 |
2009-01-12 21:14 | Don't use the bsd err and warn family of functions. Solaris doesn't have them. | Richard Nyberg | 8 | +38 | -19 |
2009-01-12 21:09 | Provide own implementation of asprintf if it's missing. | Richard Nyberg | 2 | +27 | -1 |
2009-01-12 21:04 | Lots of autofoo magic for threads and different libs. | Richard Nyberg | 2 | +65 | -21 |
2009-01-11 22:23 | pid_t is long on some systems. solaris is one. | Richard Nyberg | 1 | +1 | -1 |
2009-01-11 22:08 | Remove unnecessary include. | Richard Nyberg | 1 | +0 | -1 |
2009-01-11 22:07 | On solaris bcopy and some other useful functions are declared in strings.h. | Richard Nyberg | 7 | +7 | -0 |
2009-01-11 22:01 | Use the more compatible -R flag instead of -rpath when linking. | Richard Nyberg | 1 | +4 | -2 |
2009-01-11 15:00 | Fix for missing AI_ADDRCONFIG. | Richard Nyberg | 1 | +3 | -0 |
2009-01-11 14:59 | Indicate that btpd has moved past 0.13. | Richard Nyberg | 1 | +1 | -1 |
2009-01-10 22:44 | Test that the clock is working at start and test for evloop errors. | Richard Nyberg | 1 | +9 | -2 |
2009-01-10 22:41 | Update build scripts for recent btpd changes. Also use only one makefile. | Richard Nyberg | 6 | +116 | -84 |
2009-01-09 16:55 | Remove libevent. Btpd no longer uses it. | Richard Nyberg | 28 | +0 | -11735 |
2009-01-09 17:49 | Btpd now uses evloop, it's own event loop, instead of libevent. | Richard Nyberg | 15 | +160 | -125 |
2009-01-09 17:26 | Add evloop, btpd's new event loop. This will replace libevent. | Richard Nyberg | 8 | +722 | -0 |
2009-01-08 20:51 | Let btpd remove torrent data by itself instead of calling rm. | Richard Nyberg | 1 | +15 | -4 |
2009-01-07 15:29 | Make the http client independent of events and use my iobuf. | Richard Nyberg | 3 | +152 | -155 |
2009-01-10 23:34 | Make iobuf more useful for io and use better names in its api. | Richard Nyberg | 6 | +149 | -119 |
2009-01-10 23:30 | Add the function memfind. It'll be used by iobuf. | Richard Nyberg | 2 | +17 | -0 |
2008-12-25 11:59 | Add code to connect to host given by its hostname. | Richard Nyberg | 3 | +123 | -1 |
2008-12-23 22:35 | Add a thread for performing asynchronous getaddrinfo's. | Richard Nyberg | 4 | +106 | -1 |
2008-12-23 18:20 | Bring back the old thread callback code. | Richard Nyberg | 4 | +97 | -1 |
2009-01-08 01:49 | More autotool files to ignore. | Richard Nyberg | 1 | +2 | -0 |
2008-12-23 17:32 | Tell git to ignore files generated by autotools. | Richard Nyberg | 1 | +7 | -0 |
2008-12-22 22:35 | Fix type mismatches in a couple of printf statements. | Richard Nyberg | 2 | +3 | -2 |
2008-12-22 22:34 | Turn off warnings for pointer sign mismatches. | Richard Nyberg | 1 | +2 | -2 |
2007-07-01 14:48 | The "Host" HTTP header should be placed as early as possible and also include the port number. | Richard Nyberg | 1 | +2 | -2 |
2007-07-01 14:44 | Recognize both the CRLF sequence and single LF characters as line terminators. | Richard Nyberg | 1 | +35 | -14 |
2007-06-20 17:32 | Add libraries in the correct place. | Richard Nyberg | 1 | +2 | -2 |
2007-06-20 15:53 | Create the peer id and random seed based on the host name, port and the time of the initialization in seconds and microseconds. | Richard Nyberg | 1 | +18 | -5 |
2007-05-23 08:20 | Fix the '--topdir' option for single file torrents without a top directory. Such torrents were saved as 'name/name' instead of 'name'. The option broke in rev253. | Richard Nyberg | 1 | +1 | -1 |
2007-05-21 13:31 | Fix bug in benc_length. benc_first shouldn't be used here since it returns NULL on empty lists or dictionaries. This could cause crashes. | Richard Nyberg | 1 | +1 | -1 |
2007-05-20 14:43 | Clean up the #include sections in the btpd files. Most common headers and all btpd headers are included through btpd.h. | Richard Nyberg | 19 | +44 | -145 |
2007-05-19 20:48 | Added some more info to CHANGES and version information to README. | Richard Nyberg | 2 | +6 | -1 |
2007-05-19 20:36 | #include order. | Richard Nyberg | 1 | +1 | -1 |
2007-05-19 15:58 | Fix problem introduced in r345. A call to http_get could cause the callback to be called before http_get returned. | Richard Nyberg | 1 | +33 | -23 |
2007-05-19 15:53 | I had missed a check for tracker errors. When a torrent is stopping it's supposed to stop if it can't contact the tracker in STOP_ERRORS tries. | Richard Nyberg | 1 | +15 | -11 |
2007-05-19 15:33 | Fix from libevent r353. | Richard Nyberg | 1 | +4 | -5 |
2007-05-19 13:07 | Only keep one block of outgoing data in memory. | Richard Nyberg | 1 | +1 | -1 |
2007-05-19 13:06 | Don't try to resolve the host if it is already given as an ip address. | Richard Nyberg | 1 | +4 | -1 |
2007-05-19 09:12 | btpd doesn't need pthreads and curl, and libevent is included. Scratch the dependencies from the README. | Richard Nyberg | 1 | +2 | -5 |
2007-05-19 09:04 | Changes for 0.13. | Richard Nyberg | 1 | +13 | -0 |
2007-05-19 08:43 | Update the info files regularly. Before they were only updated when a torrent stopped. | Richard Nyberg | 3 | +33 | -4 |
2007-05-19 08:34 | Update for 2007. | Richard Nyberg | 1 | +1 | -1 |
2007-05-18 20:53 | Set torrent deletion flag as parameter to torrent_stop. Update torrent info in torrent_stop rather than torrent_kill. The data doesn't change but there may be some time between the two events. | Richard Nyberg | 4 | +14 | -13 |
2007-05-18 13:45 | o Rename net_(write|read)32 to (enc|dec)_be32. Add similar functions for 64 bits as well. Implement them in libmisc instead of in btpd. o Change resume file format and related APIs. The resume files are now memory mapped. | Richard Nyberg | 9 | +230 | -174 |
2007-05-18 08:15 | Some code for udp trackers. Not done yet, so it isn't hooked to the build. | Richard Nyberg | 1 | +91 | -0 |
2007-05-18 07:45 | Update to libevent-1.3b. | Richard Nyberg | 9 | +47 | -119 |
2007-02-25 17:38 | Some better logging. | Richard Nyberg | 1 | +12 | -5 |
2007-02-25 17:34 | Update to libevent from patches-1.3 r335. | Richard Nyberg | 8 | +1116 | -119 |
2007-02-24 22:30 | Some clean up of the values sent for tget answers. Send values that makes sense instead of errors. Fix wrong type for IPC_TVAL_CSIZE, reported by Arnaud Bergeron. | Richard Nyberg | 1 | +12 | -30 |
2007-02-24 21:49 | Get rid of tp->relpath. | Richard Nyberg | 3 | +7 | -4 |
2007-02-24 21:22 | Only trigger error handling if an error actually occured. :P | Richard Nyberg | 1 | +2 | -1 |
2007-02-24 19:59 | o Make errors when reading or writing torrent data non fatal. Instead of killing btpd, only the troublesome torrent will be stopped. o Some code shuffle. | Richard Nyberg | 8 | +315 | -284 |
2007-01-30 17:13 | Call peer_on_no_reqs at the appropriate time. | Richard Nyberg | 1 | +1 | -1 |
2006-11-15 13:30 | Add an option to specify the ip the tracker should distribute for this peer. | Richard Nyberg | 4 | +33 | -3 |
2006-11-15 11:21 | Fix bug in get_op. Increase the tracker error counter, and reduce the timeout for trying the next url, for url's that we can't use. The timeout is in this case just there to keep btpd from busy looping on a bad url. | Richard Nyberg | 1 | +6 | -5 |
2006-11-08 14:29 | Fix evbuffer_add_vprintf. Patch taken from <http://monkeymail.org/archives/libevent-users/2006-October/000299.html>. | Richard Nyberg | 1 | +5 | -2 |
2006-11-08 14:19 | Fix return value from evdns_resolv_conf_parse and initialization of the dns transaction id. | Richard Nyberg | 1 | +5 | -3 |
2006-11-08 09:12 | Update COPYRIGHT to match the current copyrights and licenses in the btpd package. | Richard Nyberg | 1 | +16 | -28 |
2006-11-08 09:01 | Update the build scripts for the following events: o Some new source files. o Inclusion of libevent. o Removal of curl and pthreads dependencies. | Richard Nyberg | 5 | +13 | -242 |
2006-11-08 08:54 | Remove files not needed by btpd. Make the build scripts more suitable for btpd. | Richard Nyberg | 38 | +12 | -8782 |
2006-11-07 20:04 | Bring in fixes from libevent trunk. | Richard Nyberg | 2 | +40 | -15 |
2006-11-07 09:40 | Include libevent 1.2 in btpd. | Richard Nyberg | 64 | +19551 | -0 |
2006-11-06 20:39 | Remove a couple of forgotten debug printfs. | Richard Nyberg | 1 | +0 | -2 |
2006-11-06 08:48 | Instead of immediately reading all data a peer requests into outgoing net buffers, we put placeholder buffers on the list and fill them as they are needed. At most 4 blocks will be filled per peer we upload to. This number should probably be made tunable or be based on SO_SNDBUF or something. Anyway, this should lower btpd's memory usage if one has many uploads. | Richard Nyberg | 4 | +46 | -13 |
2006-11-04 12:58 | Must call next_url if the current url cannot be requested. | Richard Nyberg | 1 | +1 | -0 |
2006-11-03 17:23 | Initialize the interval variable even when we don't read its value from the tracker reply. | Richard Nyberg | 1 | +3 | -1 |
2006-11-03 17:20 | Avoid unnecessary operations on tracker stop. Use STOP_ERRORS constant for the number of tracker errors to tolerate when we're stopping. | Richard Nyberg | 1 | +6 | -4 |
2006-11-03 09:11 | Missed this file in the last commit. Simplify some interfaces by polling for state changes when appropriate instead of being called directly at any time. | Richard Nyberg | 1 | +23 | -26 |
2006-11-03 08:59 | Make the content code unthreaded and remove the no longer needed inter thread messaging code. Also simplify some interfaces by polling for state changes when appropriate instead of being called directly at any time. | Richard Nyberg | 7 | +301 | -604 |
2006-11-02 21:03 | Add bts_filename which gets the current filename from a bt_stream. | Richard Nyberg | 2 | +8 | -0 |
2006-10-31 19:34 | Add initialization of evdns. | Richard Nyberg | 1 | +8 | -2 |
2006-10-31 19:32 | Now that btpd doesn't use select, we don't need to limit fd's to FD_SETSIZE unless libevent uses the select method. | Richard Nyberg | 1 | +3 | -1 |
2006-10-31 19:28 | Remove calls to the already removed old http code. | Richard Nyberg | 1 | +0 | -2 |
2006-10-31 19:21 | Some cleanup. Use names for some numeric constants. | Richard Nyberg | 1 | +11 | -13 |
2006-10-31 10:21 | Split the tracker code into a generic part and a http specific part. This allows me to add code for other types of trackers. | Richard Nyberg | 5 | +284 | -433 |
2006-10-31 10:09 | Rename callback type, add timeouts and and allow any http version in the reply. | Richard Nyberg | 2 | +13 | -11 |
2006-10-31 10:07 | No parenthesis needed around a string value. | Richard Nyberg | 1 | +1 | -1 |
2006-10-31 10:03 | Add max(x, y) macro. | Richard Nyberg | 1 | +2 | -0 |
2006-10-29 14:54 | Add a simple http client. Since it uses libevent it's a better fit for btpd than curl. | Richard Nyberg | 2 | +494 | -0 |
2006-10-26 17:21 | Don't really know why I did setlocale. Get rid of it since I want the CTYPE to be standard. | Richard Nyberg | 1 | +0 | -3 |
2006-10-16 15:53 | Random changes :) | Richard Nyberg | 1 | +6 | -5 |
2006-10-16 15:00 | Rewrote parts of the README and updated it with information on the new stuff in 0.12. | Richard Nyberg | 1 | +116 | -62 |
2006-10-16 14:19 | Help text format change. | Richard Nyberg | 1 | +7 | -7 |
2006-10-15 15:31 | Don't call mkdirs unnecessarily. Note that this code is only needed because the content code shuts down btpd on errors. When that is fixed this code can be removed. | Richard Nyberg | 1 | +17 | -9 |
2006-10-15 15:12 | Make mkdirs behave more like 'mkdir -p' and make btpd create the directory hierarchy to a specified torrent content directory if neccessary. | Richard Nyberg | 3 | +20 | -15 |
2006-10-15 15:08 | OpenBSD doesn't have stdint.h. It'd be great if they would implement basic c99 library support some day... | Richard Nyberg | 1 | +1 | -1 |
2006-10-15 09:27 | There's no need to fsync here, so remove the call. This should improve write performance. | Richard Nyberg | 1 | +0 | -5 |
2006-10-15 09:04 | Always update the tlib info when a torrent is stopped. Some code shuffle. | Richard Nyberg | 1 | +5 | -4 |
2006-10-14 21:29 | Add and use the function make_abs_path. realpath didn't fit my needs. make_abs_path doesn't need the directories to actually exist in the file system. | Richard Nyberg | 3 | +107 | -2 |
2006-10-14 20:00 | Forgot to free some memory. Remove some broken code; it wasn't needed yet anyway. glibc doesn't have the d_namlen field in struct dirent, so we'll have to use strlen instead. | Richard Nyberg | 1 | +9 | -15 |
2006-10-14 19:55 | Update for the read_whole_file -> read_file change. | Richard Nyberg | 1 | +2 | -2 |
2006-10-14 19:53 | Create all files of a torrent at startup. | Richard Nyberg | 1 | +11 | -18 |
2006-10-14 19:46 | Add missing include. | Richard Nyberg | 1 | +1 | -0 |
2006-10-14 19:46 | Safer way to initialize the address. | Richard Nyberg | 1 | +2 | -2 |
2006-10-14 19:43 | Simplify read_whole_file and rename to read_file. | Richard Nyberg | 2 | +20 | -29 |
2006-10-12 15:27 | Document changes for 0.12. | Richard Nyberg | 1 | +23 | -0 |
2006-10-12 15:27 | Bump version to 0.12. | Richard Nyberg | 1 | +1 | -1 |
2006-10-12 14:21 | Allow empty files in torrents. Create them in stat_and_adjust and let the stream abstraction skip past them. | Richard Nyberg | 3 | +11 | -1 |
2006-10-12 12:06 | Add missing includes. | Richard Nyberg | 2 | +3 | -0 |
2006-10-11 11:39 | A string wasn't properly zero terminated. | Richard Nyberg | 1 | +1 | -1 |
2006-10-11 11:34 | Add missing include. | Richard Nyberg | 1 | +1 | -0 |
2006-10-08 09:12 | Make the del command work for active torrents too. | Richard Nyberg | 3 | +14 | -7 |
2006-10-07 13:16 | Help text changes and make del and start take the --help option. | Richard Nyberg | 5 | +59 | -21 |
2006-10-07 10:21 | btcli list now displays size, ratio and the percentage got of torrents. It sorts by name instead of number (should probably add options for sorting). It now also takes torrents to list as optional arguments. Added ratio to btcli stat display. Changed the help text for both commands. Some code shuffle and other tweaks. | Richard Nyberg | 4 | +103 | -53 |
2006-10-07 09:47 | Add value queries for total amount up- and downloaded. Use the cached values for torrent size and amount gotten when the torrent isn't active. | Richard Nyberg | 2 | +12 | -2 |
2006-10-07 09:45 | Save the total amount down- and uploaded and cache the torrent size and the amount we have in the info file. | Richard Nyberg | 3 | +100 | -38 |
2006-10-06 15:04 | Remove unneeded braces. | Richard Nyberg | 1 | +1 | -2 |
2006-10-06 15:02 | Add command to stop all active torrents. The command is sent by 'btcli stop -a'. | Richard Nyberg | 4 | +57 | -5 |
2006-09-17 09:01 | Whitespace. | Richard Nyberg | 1 | +1 | -1 |
2006-09-17 08:29 | Add function benc_strcmp. | Richard Nyberg | 2 | +21 | -0 |
2006-09-17 08:26 | Better message for ENOTENT. | Richard Nyberg | 1 | +1 | -1 |
2006-09-17 08:19 | btcli add now starts the torrent if not told otherwise. Soem cleanup and improved error output. | Richard Nyberg | 9 | +36 | -33 |
2006-09-16 10:50 | Return rates in bytes/s instead of time factor * bytes/s. Clients should not need to know about the sample time. | Richard Nyberg | 4 | +8 | -6 |
2006-09-16 10:33 | Make tests for unit changes to take rounding into account. | Richard Nyberg | 1 | +2 | -3 |
2006-09-16 10:08 | Reprint the header at suitable intervals. Display sizes >= 1000MB in gigs instead of megs. Similarily, display rates >= 1000kB/s in MB/s instead of kB/s. | Richard Nyberg | 1 | +45 | -13 |
2006-09-13 20:13 | Some changes to the iobuf interface. Remove a debug assert from btpd_if.c and make it act properly on iobuf errors. | Richard Nyberg | 5 | +56 | -56 |
2006-09-13 19:47 | Move the td_* functions to their own file. Remove lots of unneeded includes. | Richard Nyberg | 3 | +91 | -107 |
2006-09-13 18:46 | Implement the "key" tracker extension. | Richard Nyberg | 2 | +11 | -2 |
2006-09-13 18:44 | Enable printf format type checking. | Richard Nyberg | 1 | +1 | -0 |
2006-09-13 18:21 | Implement the multitracker extension. Removed checks for URLs that btpd can handle for now, so if no such URLs exists there will be a lot of tracker errors reported. | Richard Nyberg | 1 | +36 | -15 |
2006-09-13 18:18 | btinfo output tweaks. | Richard Nyberg | 1 | +20 | -12 |
2006-09-13 08:18 | No need to have the net structs on a list. Fix a test for finding a torrent with active net. | Richard Nyberg | 2 | +10 | -20 |
2006-09-13 07:02 | btpd now has a library of torrents indexed by number and info hash. The add and del commands adds or removes torrents from this library. The start and stop commands are used to active or deactivate torrents. Also, a mechanism for qeurying data on torrents has been added. It's only used by the btcli list and stat commands yet though. | Richard Nyberg | 28 | +1388 | -637 |
2006-09-12 21:23 | Hook the new files to the build. | Richard Nyberg | 1 | +4 | -1 |
2006-09-12 21:21 | Pointers to different things need not be represented in the same way. Use the fact that we only can store structs in the table to make the complex pointer use safe. Unfortunately the equal and hash functions need to take void * arguments. | Richard Nyberg | 2 | +35 | -33 |
2006-09-12 21:17 | This file contains the definitions of the constants used in the btpd interface. | Richard Nyberg | 1 | +45 | -0 |
2006-09-12 21:15 | Moved from ../cli. | Richard Nyberg | 2 | +405 | -0 |
2006-09-12 21:15 | Moved to ../misc. | Richard Nyberg | 2 | +0 | -405 |
2006-09-12 21:10 | The btpd interface now consists of these commands: add - adds a torrent to btpd's library del - removes a torrent from btpd's library start - activates a torrent from the library stop - deactivates an active torrent tget - get data from torrents | Richard Nyberg | 2 | +277 | -144 |
2006-09-12 17:33 | Remove unused function bts_hashes. | Richard Nyberg | 2 | +1 | -36 |
2006-09-12 15:37 | There is no spoon^H^H^H^Htruct metainfo. Use struct mi_file instead. | Richard Nyberg | 2 | +24 | -19 |
2006-09-12 15:12 | The metainfo code provided a load -> test -> struct metainfo interface. The metainfo struct has been replaced by functions for qeurying specific items from the torrent. In addition, the tests of the torrent data has been improved. | Richard Nyberg | 2 | +348 | -203 |
2006-09-12 08:59 | Moved to ../misc/queue.h | Richard Nyberg | 1 | +0 | -99 |
2006-09-12 08:58 | Moved from ../btpd/queue.h | Richard Nyberg | 1 | +99 | -0 |
2006-09-12 08:55 | Add functions for conversions between binary data and ascii hex. Add function for reading a whole file. Enable printf format checking for some functions. | Richard Nyberg | 2 | +97 | -1 |
2006-09-12 08:53 | Add a hashtable implementation. | Richard Nyberg | 2 | +255 | -0 |
2006-09-12 08:52 | Enable printf format type checking for buf_print. | Richard Nyberg | 1 | +1 | -0 |
2006-09-12 08:51 | Add function benc_strlen. | Richard Nyberg | 2 | +8 | -0 |
2006-08-06 19:28 | Send keepalives. | Richard Nyberg | 6 | +33 | -2 |
2006-08-06 09:18 | Reduce the number of HAVE messages sent by only sending them to peers missing the piece. Remove seeder peers when our download is finished and remove peers who doesn't show any interest for a long time when we're seeding. | Richard Nyberg | 3 | +29 | -9 |
2006-08-03 18:04 | Torrents that were active when btpd was last killed will now be automatically started when btpd starts. The new '--empty-start' option turns this off. | Richard Nyberg | 8 | +135 | -2 |
2006-08-03 14:00 | Add a delay for contacting the same announce url. This way we don't spam a tracker with connections even if we add a lot of torrents with the same tracker at the same time. | Richard Nyberg | 3 | +32 | -0 |
2006-07-30 12:50 | Change version to 0.11 and document the changes. | Richard Nyberg | 2 | +8 | -1 |
2006-07-28 13:50 | Remove the events for a peer's socket before closing it. At least the epoll libevent backend didn't like the fd to be closed. Reported by Ludvig Omholt. | Richard Nyberg | 1 | +1 | -1 |
2006-07-23 13:04 | Change version to 0.10 and document the changes. | Richard Nyberg | 2 | +14 | -1 |
2006-07-23 12:41 | Changed the help for the '--ipcprot' option. | Richard Nyberg | 1 | +3 | -3 |
2006-07-23 11:19 | Truncate the pid file when opening it. Now it actually will contain the pid of the btpd process :) | Richard Nyberg | 1 | +1 | -1 |
2006-07-23 11:16 | Make sure btpd_dir contains an absolute path. If btpd was started with '-d some/releative/path' it would fail to set up the ipc socket correctly. Reported by Arnaud Bergeron. | Richard Nyberg | 1 | +13 | -3 |
2006-07-23 08:02 | Add the '--ipcprot' option to change the protection mode of the command socket. From Arnaud Bergeron. | Richard Nyberg | 4 | +11 | -1 |
2006-07-22 20:44 | Btpd could be DOS'ed by incoming connections that never send any data. Strangely such connections are not entirely uncommon. Added a hand shake time out of 60 seconds to resolve this. | Richard Nyberg | 7 | +71 | -25 |
2006-07-21 12:48 | Split out common code for btpd_log and btpd_err. | Richard Nyberg | 1 | +13 | -13 |
2006-07-21 09:56 | Use the new functions btpd_ev_(add|del) instead of calling event_(add|del) directly. Failure to add or delete an event is treated as a fatal error. | Richard Nyberg | 9 | +45 | -28 |
2006-07-15 12:31 | Fix type mismath. From Arnaud Bergeron. | Richard Nyberg | 1 | +1 | -1 |
2006-03-21 10:17 | Changes for 0.9. | Richard Nyberg | 1 | +11 | -0 |
2006-03-21 10:01 | Version 0.9. | Richard Nyberg | 1 | +1 | -1 |
2006-03-20 21:45 | Cut off decimals after the first tenth percent so printf doesn't round the percentage upwards. Ie. Display 99.9%, not 100.0%, even if we have 99.98% of the content. | Richard Nyberg | 1 | +3 | -2 |
2006-03-18 20:28 | The previous commit was a bit over zealous; the block field should not be cleared for a failed piece in the full torrent test. This also fixes a bug where the content byte count wasn't decreased for failed pieces. | Richard Nyberg | 1 | +4 | -4 |
2006-03-17 13:58 | The code for testing content that has potentially been modified between btpd runs was quite broken. Pieces stayed marked as ok event though the hash test failed for pieces in modified files. Oops! | Richard Nyberg | 1 | +12 | -13 |
2006-03-16 17:48 | Fix a bug from the last commit: shared messages for endgame requests could be placed at the wrong index in the array. | Richard Nyberg | 1 | +3 | -2 |
2006-02-21 21:59 | There's now one list with requests per piece instead of one per block. The network buffers for requests are now allocated as they're needed. Before they were allocated at the same time as their corresponding piece. This lowers btpd's memory consumption. | Richard Nyberg | 5 | +90 | -79 |
2006-02-19 13:04 | Safer code for net_read32 and net_write32. It may have been possible for them to cause failure on some architectures because of unaligned fetch/write of integers. | Richard Nyberg | 1 | +8 | -2 |
2006-02-17 21:03 | Two changes to stat output: 1. Show the number of torrents with tracker errors on the total status line. 2. Show the torrent status character on the status line instead of the name line. This only has effect when the '-i' flag is given. | Richard Nyberg | 1 | +14 | -17 |
2006-02-17 20:55 | Set default value of cm_alloc_size to 2MB. | Richard Nyberg | 1 | +1 | -1 |
2006-02-12 19:40 | Set its rates to zero when stopping a torrent. | Richard Nyberg | 1 | +2 | -0 |
2006-02-11 21:10 | Rewrote the README with changes for 0.8.. | Richard Nyberg | 1 | +119 | -40 |
2006-02-11 21:04 | Changes for 0.8. | Richard Nyberg | 1 | +30 | -5 |
2006-02-11 18:25 | Don't allow a negative cm_alloc_size to wreak havoc. | Richard Nyberg | 1 | +1 | -1 |
2006-02-11 16:52 | Return possible error message in the http result. Log the error in the tracker code. | Richard Nyberg | 3 | +6 | -4 |
2006-02-11 16:49 | Change preallocation default to 2048. 1 may be a little low. | Richard Nyberg | 2 | +2 | -2 |
2006-02-11 16:47 | Safer type use. | Richard Nyberg | 1 | +2 | -2 |
2006-02-10 21:55 | Fix typo. | Richard Nyberg | 1 | +1 | -1 |
2006-02-10 21:40 | Add a note on the ACX_PTHREAD macro license. | Richard Nyberg | 1 | +3 | -0 |
2006-02-10 21:30 | I don't quite like this file. I think I will use the trac site to keep this kind of information instead. | Richard Nyberg | 1 | +0 | -18 |
2006-02-10 21:05 | Better log message. | Richard Nyberg | 1 | +2 | -2 |
2006-02-10 21:02 | Better log message. | Richard Nyberg | 1 | +2 | -1 |
2006-02-10 20:55 | Be careful not to stop the sub struct if they haven't been started. Also be careful so that we don't operate on a dead torrent. | Richard Nyberg | 1 | +27 | -18 |
2006-02-10 20:51 | Oops! Forgot to free some memory. | Richard Nyberg | 2 | +2 | -0 |
2006-02-10 20:45 | Call realpath after creating the dir. At least on linux the call to realpath may fail if the last path component doesn't exist. | Richard Nyberg | 1 | +8 | -9 |
2006-02-10 17:33 | Use c99 types conservatively to compile on OpenBSD. Also convert to or from time_t via long. | Richard Nyberg | 4 | +13 | -13 |
2006-02-10 17:13 | Glibc needs sys/file.h for flock. | Richard Nyberg | 1 | +1 | -1 |
2006-02-10 15:41 | Mostly name changes. Add a missing include. Changed the torrent status characters displayed by btcli. | Richard Nyberg | 11 | +81 | -63 |
2006-02-10 15:38 | Glibc doesn't support locking in open. Use flock after open instead. | Richard Nyberg | 1 | +6 | -8 |
2006-02-10 15:35 | Put the ACX_PTHREAD macro from the Autoconf macro archive in acinclude.m4. Build btpd with pthreads. | Richard Nyberg | 3 | +204 | -10 |
2006-02-10 09:24 | Change the downloaders option to max-uploads. I find it much less confusing that way :P | Richard Nyberg | 4 | +25 | -25 |
2006-02-09 22:35 | Add torrent_name function and use it. | Richard Nyberg | 4 | +20 | -13 |
2006-02-09 22:01 | btcli stat now takes file arguments to only include stats for the given torrents. | Richard Nyberg | 1 | +28 | -6 |
2006-02-09 21:59 | Include the info hash in the tpstat structure. | Richard Nyberg | 2 | +6 | -1 |
2006-02-09 20:41 | o Since the torrent sub structs always exist now, we can always write all stats for torrentst. o btpd may be waiting for a torrent to finish so it can exit. Therefore btpd needs to send the reply to the cli before removing the torrent. | Richard Nyberg | 1 | +23 | -29 |
2006-02-09 20:36 | There's no need for exactly 64 bits for the upload and download count. Make them long long instead. | Richard Nyberg | 1 | +1 | -1 |
2006-02-09 20:32 | Removed the http_redo hack. | Richard Nyberg | 2 | +0 | -13 |
2006-02-09 20:29 | o Make the torrent sub struct exist for whole life time of the torrent. o Better code for stopping the tracker. No more need for the http_redo hack. | Richard Nyberg | 7 | +132 | -69 |
2006-02-09 16:28 | Fix typo. Index should be i not 1. | Richard Nyberg | 1 | +1 | -1 |
2006-02-08 22:56 | Interaction with btpd is now much more like I want it. Previous work has moved toward btpd having a library of torrent to wich one may add or remove torrents, and where interaction on torrents are done by their assigned number. This commit is a step back from that and it makes life simpler and better for all :) | Richard Nyberg | 13 | +496 | -584 |
2006-02-08 22:24 | White space. | Richard Nyberg | 2 | +2 | -2 |
2006-02-08 22:20 | Add functions find_btpd_dir. | Richard Nyberg | 2 | +21 | -0 |
2006-02-08 17:04 | Remove unused function canon_path. | Richard Nyberg | 2 | +0 | -28 |
2006-02-08 16:38 | Use benc_dget_mema instead of benc_dget_mem + malloc + bcopy. | Richard Nyberg | 1 | +2 | -2 |
2006-02-08 16:37 | Use strtoul to parse length of strings. | Richard Nyberg | 1 | +5 | -11 |
2006-02-08 16:36 | Added buf_swrite. | Richard Nyberg | 1 | +2 | -0 |
2006-02-06 20:43 | Check for failure to allocate memory. | Richard Nyberg | 1 | +4 | -2 |
2006-02-06 20:43 | Remove som unused code I commited by mistake. Replace integer parse code in benc_int with a call to strtoll. | Richard Nyberg | 1 | +5 | -94 |
2006-02-05 18:01 | Added description of stat output. Changed the stat output. | Richard Nyberg | 1 | +37 | -29 |
2006-02-05 17:08 | o Changed the benc_ api to make it easier to use. o Lot of work on the cli and its communication with btpd. | Richard Nyberg | 8 | +949 | -948 |
2006-02-05 11:35 | Make the buf api safe to continue to use even if an error has occured. | Richard Nyberg | 2 | +18 | -8 |
2006-02-05 11:34 | Add functions read_fully and write_fully. They are simpler alternatives to read and write on blocking sockets. | Richard Nyberg | 2 | +35 | -0 |
2006-02-05 11:30 | Add a function to look up a torrent by its number. | Richard Nyberg | 2 | +13 | -1 |
2006-02-05 11:29 | Each torrent now gets a number. This number is used to select which torrent to operate on from btcli. | Richard Nyberg | 2 | +12 | -0 |
2006-02-05 11:24 | Add function to get tracker error count. Don't look for peers and stuff in tracker replies when we're stopping. | Richard Nyberg | 2 | +10 | -2 |
2006-02-05 11:21 | Help text changes. | Richard Nyberg | 1 | +11 | -9 |
2006-02-01 21:56 | Torrents can now be deactivated and btpd will wait for all torrents to deactivate on shutdown. To not risk hanging indefinitely on unresponsive trackers, btpd will cancel tracker requests after a while. | Richard Nyberg | 6 | +113 | -19 |
2006-02-01 21:46 | o Fixed: cm->active was not set to 0 in cm_stop. o Since we only use the mtime and size field of the stat struct for resume info, we now use a struct with only those two fields. This reduces stack usage. | Richard Nyberg | 1 | +28 | -19 |
2006-02-01 21:32 | Peers we download from are given a weight of two compared to peers we seed to when we decide which peers to upload to. Also fix so that we don't prefer to upload to peers who has had a good rate but isn't uploading to us now. | Richard Nyberg | 1 | +11 | -5 |
2006-02-01 21:19 | Added function http_redo, which does a new request for the same url as an old request and cancels the old request. | Richard Nyberg | 2 | +12 | -0 |
2006-01-25 21:59 | * Better message when trying to start btpd in a driectory where it's already running. * Added --downloaders and --max-peers options and hopefully usefull defaults. Because curl uses fd_sets it's important to keep the numbers of fds used below FD_SETSIZE. I will probably move the curl stuff to it's own process to get rid of that limitation. * Added to the help text. | Richard Nyberg | 8 | +73 | -24 |
2006-01-24 22:42 | Don't clear the bitfield for blocks it's possible we have, even though the resume file and content aren't synchronized. Save the resumefile every 15 seconds for torrents we're downloading. This way we don't have to redownload much content because of crash or whatnot. Not that btpd would crash :) Also, as there were probably no point in fsync'ing the content when we closed the write stream, that is not done anymore. | Richard Nyberg | 1 | +57 | -36 |
2006-01-22 23:10 | * Implemented the full cm_ life cycle. * Added fast resume support. A resume file is loaded when a torrent is started and saved when it's stopped or done. If no resume file is found or the file information doesn't match whats on disk, the content is tested for existing pieces. * cm_prealloc now can allocate several adjacent pieces to the given piece. This further reduces fragmentation. How many pieces are allocated at a time is controlled by cm_alloc_size which can be set by the user with the --prealloc option. * Some changes were also made to the torrent api. | Richard Nyberg | 5 | +569 | -171 |
2006-01-22 21:57 | Added option --prealloc and a directory argument to btpd. Synced the command line help with the available options. | Richard Nyberg | 3 | +15 | -13 |
2006-01-22 21:51 | Added vfsync and vfopen. | Richard Nyberg | 2 | +51 | -7 |
2006-01-17 10:20 | White space. | Richard Nyberg | 2 | +11 | -11 |
2006-01-16 22:32 | Implemented a service thread for operations such as testing piece hashes, preallocating disk space, etc. Tweaked the cm <-> net api a bit. | Richard Nyberg | 7 | +369 | -87 |
2006-01-16 22:23 | Unify the write and read structs. There was no good reason to keep them separate. Improve the bts_seek so that it only calls close or lseek if necessary. Otherwise it's a nop. Hide bts_seek and instead make the offset explicit in calls to bts_get or bts_put. | Richard Nyberg | 2 | +119 | -154 |
2006-01-16 21:30 | peer_on_no_reqs was called unsafely in peer_on_choke. It should only be called after removing the last request. | Richard Nyberg | 2 | +4 | -2 |
2006-01-16 20:29 | There should be one level of pointer indirection less for the arguments of rate_cmp. Also the wrong variable was passed to peer_unchoke. s/unsigned/int where it makes sense. | Richard Nyberg | 1 | +14 | -13 |
2006-01-16 19:47 | Add peer_full function. | Richard Nyberg | 2 | +7 | -0 |
2006-01-16 17:13 | A peer needs to be removed from the peer list before being handed to dl_on_lost_peer. Fix a type. | Richard Nyberg | 1 | +3 | -3 |
2006-01-16 17:05 | Fix conditional I broke in r131. | Richard Nyberg | 1 | +1 | -1 |
2006-01-10 17:57 | Removed code dealing with child processes; btpd doesn't use them anymore. | Richard Nyberg | 2 | +0 | -44 |
2006-01-10 15:05 | Changed semantics of cancelled http requests. Before they were reported as cancelled, or possibly ok or failed if the request had come that far. Now cancelled requests are silently discarded and doesn't execute the callback. This makes the http api easier to use. Updated the tracker code for the new http semantics. | Richard Nyberg | 2 | +12 | -49 |
2006-01-09 21:20 | * Move the network related parts of the torrent struct to a sub struct. * Move some struct and type definitions to net_types.h * Fix ul_on_lost_peer. I must've been very tired when I wrote it :P | Richard Nyberg | 16 | +310 | -307 |
2006-01-09 21:03 | Fix compiler warnings. | Richard Nyberg | 1 | +2 | -2 |
2006-01-09 17:52 | Rename tp->cp to tp->cm. | Richard Nyberg | 2 | +17 | -17 |
2006-01-09 16:41 | Rename p->net to p->in and net_state to input_state. Move code to where it belongs. | Richard Nyberg | 4 | +60 | -60 |
2006-01-09 13:41 | Better tracker code. Mostly done but needs a little more work. It now uses the new http thread instead of forked proceses for tracker requests. | Richard Nyberg | 5 | +164 | -203 |
2006-01-09 13:31 | Move finished http requests to a queue and post the whole queue at once. This can potentially reduce the time the http thread keeps the post lock and the httpq lock. | Richard Nyberg | 1 | +14 | -13 |
2006-01-08 11:57 | OMG! It's a new year already! ;) Update the copyright. | Richard Nyberg | 1 | +2 | -2 |
2006-01-07 14:55 | Nicer code for the http thread. | Richard Nyberg | 1 | +78 | -94 |
2006-01-06 22:24 | * Added a method for other threads to execute callbacks in the main thread. * Added a thread and api for http requests. The thread uses the curl multi interface and will be used by the tracker code. The tracker code currently use forked processes to do its bidding. | Richard Nyberg | 5 | +367 | -1 |
2006-01-06 18:49 | Added BTPDQ_FOREACH_MUTABLE list macro. | Richard Nyberg | 1 | +5 | -0 |
2006-01-06 11:57 | Sort. | Richard Nyberg | 1 | +7 | -6 |
2006-01-04 19:59 | Remove use of the ugly PRI* print macros. | Richard Nyberg | 3 | +14 | -34 |
2006-01-04 13:38 | o Use the new cm_* content api. o Unhook cli_if.c from build temporarily. It needs to be fixed. o Torrent meta data is now kept in subdirectories to $BTPD_HOME/library. o Added some very incomplete life cycle logic for torrents. | Richard Nyberg | 14 | +165 | -350 |
2006-01-04 12:16 | New api for managing the content of a torrent. It'll keep track of which pieces we and blocks we have, it'll do the writing and reading from disk and test pieces against their hashes. This is only a dummy implementation of the api. I'll flesh it out in subsequent commits. | Richard Nyberg | 2 | +157 | -0 |
2006-01-04 11:53 | Don't write the rates to the log anymore. | Richard Nyberg | 1 | +0 | -3 |
2006-01-04 11:16 | Fixed a broken loop. I must have forgotten that the loop variable was unsigned when I wrote it :P | Richard Nyberg | 1 | +4 | -4 |
2006-01-03 22:28 | o Removed an unused function. o Made bit field argument to has_bit const since the function doesn't modify it. | Richard Nyberg | 2 | +2 | -14 |
2005-12-17 22:07 | First stab at a choke algorithm for all peers. In previous versions choking was done per torrent. | Richard Nyberg | 1 | +110 | -7 |
2005-12-14 17:31 | Add and use rand_between. | Richard Nyberg | 4 | +11 | -2 |
2005-12-02 13:18 | * Some code shuffle and removal of dead code. * Add net_active flag to simplify removal of peers when shutting down the net for a torrent. | Richard Nyberg | 4 | +26 | -35 |
2005-12-01 14:41 | Rates should be unsigned long. Compute total, torrent and peer rates. | Richard Nyberg | 3 | +25 | -11 |
2005-12-01 14:39 | dl_on_lost_peer must remove the peer from the list. This was accidentally removed in a previous commit. Fix indentation. | Richard Nyberg | 1 | +2 | -1 |
2005-12-01 13:56 | Fix an unsafe loop. | Richard Nyberg | 1 | +4 | -2 |
2005-11-30 20:53 | The mega whitespace patch. Tabs have been converted to spaces and trailing whitespace have been removed. I have fixed my emacs settings now :P | Richard Nyberg | 28 | +1608 | -1608 |
2005-11-30 20:45 | * Added net_(add|del)_torrent. net_add_torrent enables p2p for a torrent and net_del_torrent does the opposite (surprise!). * Some code shuffle has been done to separate net_ and dl_ from torrent_ but there's still much to be done. * Removed a couple of dead vars from struct torrent. | Richard Nyberg | 7 | +73 | -34 |
2005-11-29 13:58 | * Removed the heartbeat and btpd_seconds. Note that this breaks the tracker. * Renamed the policy* files to upload* and download*. * The upload (un)choker is now global instead of per torrent. The algorithm is not yet implemented however. To be continued... | Richard Nyberg | 17 | +364 | -459 |
2005-11-27 20:26 | * Get rid of net_bw_hz and run the bw stuff at one hz. * The peer rates are now only updated when data transfer is enabled in the corresponding direction. They are also computed differently from before. The rates are computed in the bw callback once a second. This facilitates later improvements in the choke algorithm. | Richard Nyberg | 8 | +64 | -50 |
2005-11-27 15:43 | More name changes from "cm_" to more appropriate names. | Richard Nyberg | 8 | +149 | -149 |
2005-11-27 12:28 | Rename the list of torrents. | Richard Nyberg | 1 | +7 | -7 |
2005-11-27 12:18 | This is very much a intermediate commit. * Load "test" torrent on start. * Look for content and resume in the right places. | Richard Nyberg | 3 | +12 | -8 |
2005-11-14 20:54 | Use a flag (PF_DO_UNWANT) to indicate that we should send an uninterest message when we no longer have any pending requests. This fixes a bug where two uniterest messages were sent to a peer that was no longer wanted in endgame. | Richard Nyberg | 2 | +11 | -1 |
2005-11-07 14:58 | Just bump version number. | Richard Nyberg | 1 | +1 | -1 |
2005-11-07 14:57 | Step one of many to make the sub systems more modular. This commit gets rid of the global btpd struct. Some fields in the struct got a corresponding global variable whereas some was made static and moved to a module. | Richard Nyberg | 17 | +590 | -519 |
2005-10-10 16:57 | Set version to 0.7. Update CHANGES. | Richard Nyberg | 2 | +8 | -1 |
2005-10-08 19:08 | Add a new net state to get the index and begin fields from piece messages before we read the piece data. This can be used to test for junk earlier. | Richard Nyberg | 3 | +12 | -4 |
2005-10-08 15:31 | Have a peer event for keep alives too. Its only function is to log atm. | Richard Nyberg | 3 | +8 | -1 |
2005-10-08 15:27 | Wait until we don't have any unanswered requests on a peer before sending an uninterest message. | Richard Nyberg | 2 | +24 | -7 |
2005-10-08 15:03 | Log keep alives. | Richard Nyberg | 1 | +3 | -1 |
2005-10-08 14:50 | Accept pieces even if they arrive in a different order than the requests were sent. | Richard Nyberg | 1 | +7 | -5 |
2005-10-08 14:32 | Logging. | Richard Nyberg | 1 | +1 | -3 |
2005-10-08 10:00 | Remove unsent requests from the write queue when we receive a choke. | Richard Nyberg | 1 | +7 | -0 |
2005-10-06 14:09 | Enable all logging if DEBUG is defined. | Richard Nyberg | 1 | +5 | -1 |
2005-10-06 14:01 | More logging: discarded pieces and peer_id. | Richard Nyberg | 1 | +17 | -10 |
2005-10-06 08:16 | #include <limits.h> to be sure to get IOV_MAX. Use the net_state enum and change some state names from NET_ to BTP_. Some minor type fixes. | Richard Nyberg | 4 | +18 | -21 |
2005-10-05 12:01 | Fix two bugs. Add some logging. | Richard Nyberg | 1 | +9 | -3 |
2005-10-05 11:59 | Remove unused constants. | Richard Nyberg | 1 | +0 | -2 |
2005-10-05 08:59 | Code shuffle. | Richard Nyberg | 3 | +19 | -13 |
2005-10-05 08:47 | Put the net state related data in its own sub struct. Remove unneccesary use of struct io_buffer. | Richard Nyberg | 3 | +41 | -39 |
2005-10-05 08:23 | Constify some functions. Remove an unneccesary net state. Pass the char buffer directly to net_state instead of struct io_buf. | Richard Nyberg | 4 | +34 | -37 |
2005-10-04 19:21 | net_state should return ssize_t not int. removed some deug logging. | Richard Nyberg | 1 | +5 | -10 |
2005-10-04 19:14 | Better method of reading data from peers. btpd could send data to peers that had closed the at least one direction of the connection. That feature was probably unneccesary. Removed it for now. | Richard Nyberg | 2 | +80 | -81 |
2005-10-04 17:52 | Rewrite of the code for receiving data from peers. It's not quite how I want it yet, but it's getting there. | Richard Nyberg | 4 | +265 | -448 |
2005-10-01 16:29 | More logging. | Richard Nyberg | 3 | +54 | -16 |
2005-09-30 12:47 | Changes for 0.6. | Richard Nyberg | 1 | +8 | -0 |
2005-09-24 18:59 | In the transition to end game it's likely that we'll send an uniterest message followed by an interest message. Optimize this but not sending those messages in that case. This is better becasue we don't risk to trigger a choke from the receiving peer. | Richard Nyberg | 1 | +6 | -1 |
2005-09-23 10:29 | Send a new request to a peer after sending cancel. | Richard Nyberg | 1 | +24 | -23 |
2005-09-21 19:05 | x | Richard Nyberg | 1 | +1 | -2 |
2005-09-21 10:55 | Bump version to 0.6. | Richard Nyberg | 1 | +1 | -1 |
2005-09-20 19:24 | * Allocate request messages on piece creation. The request objects can be shared by several peers. At least in end game. * Link blocks with the peers we are loading them from and vice versa. * Limit the number of requests / peer in end game too. * Improve end game by using some sort of round robin for block requests. | Richard Nyberg | 6 | +278 | -137 |
2005-09-20 19:04 | Use the piece destructor. | Richard Nyberg | 1 | +2 | -6 |
2005-09-20 18:54 | Add some macros. | Richard Nyberg | 1 | +13 | -0 |
2005-09-10 19:25 | Simplify the autocrap somewhat. Always include the #defines needed to build with glibc. | Richard Nyberg | 1 | +1 | -8 |
2005-08-30 08:18 | Remove a bad assert. The test can be true during normal operation. | Richard Nyberg | 1 | +0 | -1 |
2005-08-12 20:25 | Set an upper limit on how many piece messages to queue for writing to a peer. If more requests arrive they will be ignored. When all pieces have been sent to the peer, in order for it not to wait on the ignored requests, its state will be reset by a choke followed by an unchoke message. | Richard Nyberg | 3 | +45 | -14 |
2005-08-03 21:08 | Only allocate one have message for all peers, instead of one per peer. | Richard Nyberg | 1 | +2 | -1 |
2005-08-02 17:05 | * Rearrange some code. Mostly from net to net_buf and peer. * Use the new net_bufs where it makes sense. * Take advantage of the reference count on net_bufs and only allocate the (un)choke and (un)interest messages once. | Richard Nyberg | 10 | +431 | -380 |
2005-08-02 14:53 | The fix for bitfield in r59 wasn't quite correct. Instead of being sent too early it could now be sent too late. | Richard Nyberg | 3 | +9 | -2 |
2005-07-31 17:42 | Wrong logmask was used. | Richard Nyberg | 1 | +1 | -1 |
2005-07-31 17:03 | Set version to 0.4. | Richard Nyberg | 1 | +1 | -1 |
2005-07-31 17:03 | Add items for 0.4. | Richard Nyberg | 1 | +16 | -0 |
2005-07-30 19:02 | Spelling. | Richard Nyberg | 1 | +1 | -1 |
2005-07-30 18:48 | Removed the info entry in the net_buf. The information can easily be extracted from the buffer data instead. Created functions to do that. | Richard Nyberg | 3 | +71 | -43 |
2005-07-30 18:45 | Better tests. peer_laden is needed beacuse the peer might have gotten new request if the piece was fully downloaded and found to be bad. | Richard Nyberg | 1 | +2 | -2 |
2005-07-30 18:42 | Fix style. Remove unnecessary check for EINTR. | Richard Nyberg | 1 | +7 | -12 |
2005-07-30 18:27 | All files: Each piece must have at least one byte for their block bit array, or they will collide causing great confusion in btpd. The calculation was done wrong so this could happen for small torrents (blocks / piece < 8). | Richard Nyberg | 3 | +24 | -25 |
2005-07-30 10:27 | * Don't hold a net_buf on allocation. Do it when it's really needed instead. * Add function net_unsend to safely remove network buffers from a peer's outq. Use it where needed in peer.c. | Richard Nyberg | 3 | +39 | -35 |
2005-07-29 20:19 | Make sure we don't empty the outq and leave the write callback enabled. | Richard Nyberg | 1 | +10 | -0 |
2005-07-29 19:42 | Remove dead code. | Richard Nyberg | 2 | +0 | -45 |
2005-07-29 19:40 | Rework the outgoing network buffers. The buffers now contain more information on what data they hold, making it unnecessary to have other lists tracking that information. Also they now have a reference count, making it possible to use the same buffer on many peers. | Richard Nyberg | 4 | +204 | -142 |
2005-07-29 10:08 | Missing space. | Richard Nyberg | 1 | +1 | -1 |
2005-07-29 10:07 | Queue the bitfield for sending after the handshake is completed. This fixes a bug where peer could miss pieces btpd got while the peer was in handshake. | Richard Nyberg | 2 | +23 | -4 |
2005-07-29 09:18 | At each bandwidth call the remaining bandwidht counter is set to limit / hz. Since the set hz is (almost) never achieved the denominator is now based on the average hz the last 5 seconds. | Richard Nyberg | 4 | +37 | -3 |
2005-07-23 21:30 | Spelling. | Richard Nyberg | 1 | +1 | -1 |
2005-07-23 21:29 | Use the old simpler bandwidth limiter, but run it at a configurable rate. Let the default be 8 hz for now. | Richard Nyberg | 5 | +73 | -97 |
2005-07-22 16:34 | Set a 60s timeout on writes. If a write times ut the peer in question will be killed. | Richard Nyberg | 1 | +10 | -3 |
2005-07-22 16:20 | Kill a peer when write indicates a closed connection. | Richard Nyberg | 1 | +4 | -0 |
2005-07-22 10:40 | Speling. | Richard Nyberg | 1 | +1 | -1 |
2005-07-22 10:27 | The assert is only valid if we haven't transitioned to end game. | Richard Nyberg | 1 | +5 | -2 |
2005-07-22 10:01 | Remove fixed item. | Richard Nyberg | 1 | +0 | -1 |
2005-07-21 17:01 | Add item for 0.3. | Richard Nyberg | 1 | +1 | -0 |
2005-07-21 16:59 | Code shuffle. | Richard Nyberg | 5 | +90 | -91 |
2005-07-21 16:50 | * Use torrent_get_piece instead of loop. Check for correctness. | Richard Nyberg | 1 | +6 | -5 |
2005-07-21 15:33 | Prepare for release 0.3. | Richard Nyberg | 2 | +15 | -1 |
2005-07-21 15:11 | Clear flag for busy blocks when entering end game. Add test for program correctness. | Richard Nyberg | 1 | +7 | -1 |
2005-07-21 15:09 | No need to test piece_full in end game mode. Added test for program correctness. | Richard Nyberg | 1 | +3 | -1 |
2005-07-21 15:06 | Add tests for correctness. | Richard Nyberg | 1 | +2 | -0 |
2005-07-21 15:05 | Increase the number of requests to pipe to 10. | Richard Nyberg | 1 | +1 | -1 |
2005-07-21 09:29 | The test for if we should call cm_on_undownload or not wasn't totally correct. Since there's a possibility that we've assigned requests to peer and then decreased the wanted level, we could've missed peers with requests but a wanted level of zero. | Richard Nyberg | 1 | +2 | -2 |
2005-07-21 09:23 | Introduce the -d option. | Richard Nyberg | 1 | +40 | -29 |
2005-07-20 21:44 | Missed to update peer->nreqs_out at a couple of places. | Richard Nyberg | 2 | +2 | -0 |
2005-07-20 21:42 | Peers wasn't removed from the list of unattached peers before being added to the torrent list. This bug crept in because this file was based on an earlier version of policy.c. | Richard Nyberg | 1 | +1 | -0 |
2005-07-20 20:57 | Don't try to assign requests if the peer already has enough requests. | Richard Nyberg | 1 | +2 | -2 |
2005-07-20 20:11 | Rework the download algorithm. This isn't tested yet, but it compiles so it must be bug free :) | Richard Nyberg | 10 | +929 | -763 |
2005-07-19 10:49 | Remove -Wall -Werror from the default CFLAGS. Add --with-warn option to configure, making it easy to select between a couple of predefined warning options. | Richard Nyberg | 1 | +21 | -1 |
2005-07-17 20:10 | Use net_read_to_buf in net_generic_read. | Richard Nyberg | 1 | +6 | -11 |
2005-07-17 18:33 | Add net_read_to_buf getting rid of some common code. I should make net_generic_read use a real io_buffer and this function too. | Richard Nyberg | 1 | +20 | -23 |
2005-07-17 18:06 | Make changes in the choke/interest state of a peer visible to the policy on a lower level. | Richard Nyberg | 3 | +52 | -17 |
2005-07-17 15:39 | * Better interface between the net and peer code. The net code now calls the peer code when it has read a full message. This has mostly involved moving code from net.c to peer.c. | Richard Nyberg | 6 | +162 | -96 |
2005-07-07 19:41 | This is version 0.2. | Richard Nyberg | 1 | +1 | -1 |
2005-07-07 19:25 | Add CHANGES. A file describing changes between versions of btpd. | Richard Nyberg | 2 | +16 | -1 |
2005-07-07 16:21 | *) Add one item. *) Don't call names. *) Don't think it's neccessary to include fixing of general bugs. | Richard Nyberg | 1 | +2 | -2 |
2005-07-07 13:21 | Add check so that we don't connect to more peers than we should. | Richard Nyberg | 1 | +2 | -1 |
2005-07-07 13:19 | Write "1 torrent." instead of "1 torrents.". | Richard Nyberg | 1 | +1 | -1 |
2005-07-07 12:55 | The generic reader didn't have a buffer that was large enough to save uncomplete messages. I had forgotten about the four bytes of message length preceding the message. A buffer overflow could occur because of this. Ouch! | Richard Nyberg | 2 | +2 | -1 |
2005-07-07 12:51 | Accept more data from tracker. | Richard Nyberg | 1 | +1 | -1 |
2005-07-06 19:10 | It wasn't safe to modify the list from within the loop. Fixed it. | Richard Nyberg | 1 | +4 | -2 |
2005-07-06 17:14 | Keep peers not attached to a torrent on a list, making it possible to remove peers in mid hand- shake when removing a torrent. | Richard Nyberg | 5 | +18 | -1 |
2005-07-04 19:13 | Remove #if 0'ed code. | Richard Nyberg | 1 | +0 | -57 |
2005-07-04 15:46 | Remove unused label. | Richard Nyberg | 1 | +0 | -1 |
2005-07-04 15:46 | Sanity checks. | Richard Nyberg | 1 | +2 | -0 |
2005-07-04 15:41 | Move increment of btpd.npeers to a more fitting location. | Richard Nyberg | 2 | +1 | -2 |
2005-07-04 15:38 | No need to check for EINTR. | Richard Nyberg | 1 | +3 | -5 |
2005-07-04 06:56 | Must save the old time to be able to calculate the delta. | Richard Nyberg | 1 | +1 | -0 |
2005-07-03 19:38 | Base bandwidth calculations on actual time between data points, instead of the ideal. | Richard Nyberg | 1 | +20 | -8 |
2005-07-03 19:35 | Update btpd.npeers in the right place. | Richard Nyberg | 1 | +2 | -5 |
2005-07-03 19:33 | Don't multiply the index by 6, it's increased by that amount each loop. | Richard Nyberg | 1 | +1 | -1 |
2005-07-03 13:02 | Use compact mode for tracker requests. | Richard Nyberg | 6 | +78 | -35 |
2005-07-03 09:41 | Before, the count of uploaded torrent data was increases by the block size as soon as the message head was written to the network. Now it's increased for each byte of torrent data we've written. | Richard Nyberg | 2 | +16 | -8 |
2005-07-03 09:37 | New algorithm for bandwidth limitation. | Richard Nyberg | 4 | +84 | -2 |
2005-06-28 16:54 | Rename TAILQ to BTPDQ to avoid macro redefinition, which may happen if some other header includes sys/queue.h. | Richard Nyberg | 12 | +177 | -177 |
2005-06-28 16:39 | test(1) uses '=' as the equality operator, not '=='. | Richard Nyberg | 1 | +2 | -2 |
2005-06-24 11:32 | Separate the child struct from worker specific data. | Richard Nyberg | 2 | +13 | -11 |
2005-06-24 10:25 | sprintf -> snprintf Removed two unnecessary assignments. | Richard Nyberg | 1 | +2 | -4 |
2005-06-24 10:13 | * Indicate that this is not version 0.1 any more. * Change email address. * Better tests for curl. | Richard Nyberg | 1 | +8 | -3 |
2005-06-24 10:00 | Changed email address. | Richard Nyberg | 1 | +2 | -1 |
2005-06-24 09:54 | Create main development area. | Richard Nyberg | 0 | +0 | -0 |
2005-06-24 09:51 | Import btpd-0.1. | Richard Nyberg | 37 | +5748 | -0 |