Charles Kerr
2e6443a53d
#1168 : reading past the end of KTorrent's pex added.f strings
2008-08-10 14:58:11 +00:00
Charles Kerr
c6026a3b66
#1143 : crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero
2008-08-06 11:39:30 +00:00
Charles Kerr
74dd613895
#1135 : crashes when adding torrent, with "assert( ( info->pieceSize % tor->blockSize ) == 0 );"
2008-08-05 20:27:40 +00:00
Charles Kerr
b860119cd3
minor text cleanup
2008-08-01 16:43:22 +00:00
Charles Kerr
2eb89eb2a7
(libT) fix some minor warnings foudn by clang's scan-build and reported by m1b
2008-07-17 20:33:34 +00:00
Charles Kerr
16e3803082
small tr_torrentStat() speedup suggested by BentMyWookie
2008-06-17 14:25:23 +00:00
Charles Kerr
6cce27bf54
(rpc) simplify the rpc accessors
2008-06-16 03:47:50 +00:00
Charles Kerr
effb78d674
unify the daemon and gtk client's config files so that you can easily swap back and forth between clients and keep the same torrents and preferences.
2008-06-12 16:25:36 +00:00
Charles Kerr
13424ed977
(libT) add NULL pointer checks to tr_torrentStart(), tr_torrentStop()
2008-06-10 19:25:18 +00:00
Charles Kerr
393ebbc24a
more webseed work.
2008-06-10 02:36:52 +00:00
Charles Kerr
837f997e6c
(libT) new API for webseed statistics: tr_torrentGetWebSpeeds()
2008-06-10 01:38:12 +00:00
Charles Kerr
dce24eb1f0
libT: first cut at implementing the internal peers' request queues as pieces rather than blocks, as discussed with erdgeist and denis, to avoid a couple of nasty CPU bottlenecks.
2008-06-09 22:53:45 +00:00
Charles Kerr
9f2d7c2c67
(libT) if there are webseeds, update the available amount accordingly
2008-06-09 02:38:27 +00:00
Charles Kerr
044bfbad39
add tr_torrentSetDoneDate() too
2008-06-03 19:42:54 +00:00
Charles Kerr
870c4d7650
add tr_torrentSetAddedDate() and tr_torrentSetActivityDate()
2008-06-03 19:22:22 +00:00
Charles Kerr
e1a23350d4
(1) add a doneDate to tr_torrent and tr_stat. (2) save tr_torrent.doneDate and tr_torrent.activityDate between sessions in the .resume file.
2008-06-03 19:16:12 +00:00
Charles Kerr
5db4ca7fa3
#981 : add tr_stat.dateAdded to libT; add "sort by age" to gtk+ client
2008-06-02 04:41:55 +00:00
Charles Kerr
07c1b28e9e
#838 (Adding trackers to existing torrents): add a backend API for this (tr_torrentSetAnnounceList) and implement a GUI for it in the gtk+ client.
2008-06-01 01:40:32 +00:00
Charles Kerr
0a023367b6
fix r5985 oops. I shouldn't make commits when I'm in a hurry.
2008-05-31 15:15:54 +00:00
Charles Kerr
cdf5cb87d6
another tweak for calculating tr_stat.desiredAvailable faster, suggested by BentMyWookie
2008-05-31 05:22:10 +00:00
Charles Kerr
f3db37ab1b
add a couple of more ways to short-circuit the tr_stat.desiredAvailable test in tr_torrentStat(), as suggested by BentMyWookie
2008-05-30 16:49:03 +00:00
Charles Kerr
0705eaa1c0
minor speedups in tr_torrentStat() and in bitfield manipulation
2008-05-30 15:40:46 +00:00
Charles Kerr
ad2146cc24
#972 (partial) Transmission fails to compile with Sun Studio due to funky C code
2008-05-28 13:03:34 +00:00
Charles Kerr
7bfe7cc471
remove unused functions tr_torrentSetActiveCallback() and tr_torrentClearActiveCallback()
2008-05-23 20:33:54 +00:00
Charles Kerr
53d8574b11
* change tr_stat.activityDate's and tr_stat.startedDate's type to time_t, since that's how everyone uses them anyway
...
* add a little more documentation to tr_stat and tr_ctor in transmission.h
2008-05-23 20:04:41 +00:00
Charles Kerr
d18fb68fbc
sine we now have two public ports (peer and rpc), rename "publicPort" as "peerPort"
2008-05-23 16:18:58 +00:00
Charles Kerr
0621c67c41
more cleanup work:
...
(1) kill the pointless "tr_tracker_stat" struct.
(2) kill the unused "tr_torrentRemoveSaved()" function.
(3) kill the redundant "nextManualAnnounceTime" variable.
(4) make the TR_ERROR_IS_* macros private.
2008-05-22 23:11:21 +00:00
Charles Kerr
26b5a16630
(libt) more janitorial work on cleaning up tr_session*() and tr_torrent*() functions: session stats, torrent count, and manual update.
2008-05-22 20:44:41 +00:00
Charles Kerr
dceabc5661
make tr_stat identical in transmission.h and rpc-spec.txt.
2008-05-22 16:59:51 +00:00
Charles Kerr
e406dcc2ab
rename tr_torrentClose() as tr_torrentFree() and make it private. change client code to use tr_torrentRemove() instead. This fixes the confusion between the two methods that led to #954
2008-05-21 17:14:58 +00:00
Charles Kerr
c7b9c8c043
( #954 ) rpc: add "torrent-remove" method. rename tr_torrentDelete() as tr_torrentRemove() for consistency with various parts of the code.
2008-05-20 23:58:59 +00:00
Charles Kerr
2c79888a93
RPC/IPC redesign
2008-05-18 16:44:30 +00:00
Charles Kerr
be9427931a
ipc: add session accessor/mutators.
...
transmission.h: make the session API more consistent.
2008-05-12 16:33:17 +00:00
Charles Kerr
63b82714f8
partial implementation of json-ipc backend: torrent start/stop/close/verify/stat/info, as are getting & setting per-torrent peer limits, upload speeds, and download speeds. this is a work in progress.
2008-05-12 00:41:55 +00:00
Charles Kerr
33839f77be
new utility for iterating through torrents: tr_torrentNext()
2008-05-10 00:19:00 +00:00
Charles Kerr
e19149bbb7
#751 : tear down some of the scaffolding used in tracking down this bug.
2008-05-08 20:30:27 +00:00
Charles Kerr
ed4e902482
#912 : Resume file parsed twice on startup
2008-05-06 01:43:24 +00:00
Charles Kerr
2cd2b35238
fix multitracker problem reported by BentMyWookie
2008-05-05 20:11:03 +00:00
Charles Kerr
d561187227
when one of the trackers in a multitracker list is successful, bump it to the top of the tier.
2008-05-05 19:51:53 +00:00
Charles Kerr
c5eed39275
add #include <limits.h> to pick up INT_MAX
2008-05-05 19:33:29 +00:00
Charles Kerr
643716c6f0
randomize the announce addresses within multitracker tiers
2008-05-05 18:54:19 +00:00
Charles Kerr
2f3eba4b01
#899 : Hangs when clicking verify data twice
2008-04-27 06:34:34 +00:00
Charles Kerr
52ea125c45
#894 : wont start - cp->doneHave <= cp->completeHave
2008-04-24 15:25:01 +00:00
Charles Kerr
19fbb3ef2c
string folding
2008-04-21 15:22:54 +00:00
Charles Kerr
08b27749ba
#890 : be smarter about noticing seeds from tracker & pex
2008-04-19 15:07:59 +00:00
Charles Kerr
87a77ea331
more hacking on the bencoded resume files
2008-04-15 17:00:44 +00:00
Charles Kerr
35502f0559
add more debugging messages for loading progress from the bencoded resume file
2008-04-14 20:30:43 +00:00
Charles Kerr
e4f6b9592d
get tr_ctorSetMetainfoFromHash() working again.
2008-04-14 14:39:13 +00:00
Charles Kerr
afde752dc0
'resume' cleanup
2008-04-14 11:52:50 +00:00
Charles Kerr
c8c84d6bd1
#872 : crash in bitfield code when loading resume files
2008-04-13 14:29:11 +00:00
Charles Kerr
fc866f51f3
minor tr_torrentStat cleanup
2008-04-12 15:56:21 +00:00
Charles Kerr
f12ac60d0a
update a couple of the tr_stat fields based on feedback from BMW
2008-04-11 23:05:14 +00:00
Mitchell Livingston
f34cd7299f
fix incorrect eta value
2008-04-07 05:00:07 +00:00
Mitchell Livingston
2a8b6f8b1f
fix marking the eta of torrents with peers as unavailable
2008-04-07 03:01:57 +00:00
Charles Kerr
69eaaed409
remove a debugging printf
2008-04-06 17:12:15 +00:00
Charles Kerr
9f3f0c03e6
#843 : download eta should consider availability
2008-04-06 14:42:47 +00:00
Charles Kerr
b71a2985b3
#684 : Use XDG basedir spec for configuration and cache files in $HOME
2008-04-05 20:12:11 +00:00
Charles Kerr
eb24ad760d
(1) make tr_torrentRates() faster.
...
(2) new function: tr_torrentGetStatus() for when you need the status but not the overhead of tr_stat
2008-04-01 02:35:04 +00:00
Charles Kerr
3e4168025b
experimental commit to save 1888 bytes from each tr_torrent
2008-03-31 19:34:20 +00:00
Charles Kerr
51a82e70c1
remove `TR_STATUS_DONE' from libtransmission's public API. It's useful as an internal state but not for code calling libtransmission.
2008-03-31 17:59:16 +00:00
Charles Kerr
b3663db916
#811 : fix r5329 error in trunk.
2008-03-24 16:10:04 +00:00
Charles Kerr
2ca35e1ea7
allow NULL as the second argument to tr_torrentFiles()
2008-03-22 18:27:29 +00:00
Charles Kerr
c63b548195
fix bug that caused very large torrents to crash Transmission
2008-03-22 18:10:59 +00:00
Charles Kerr
531dd851ad
more string work before the freeze. (1) use %'d to get thousands' grouping in end-user strings (2) follow HiG capitalization, quotation guidelines (3) fold a few more strings
2008-03-19 20:07:27 +00:00
Charles Kerr
05c6938f5a
changes to message logging: (1) bring back "Torrent hasn't responded yet", but only in the message log. (2) make PEX messages debug. (3) log a message when a torrent reaches completion.
2008-03-18 16:56:01 +00:00
Charles Kerr
913f2843b2
#740 : back out the previous "fix" because it caused an regression in the mac client
2008-03-18 16:26:45 +00:00
Charles Kerr
146b9df023
meh, too early in the morning :)
2008-03-13 11:59:19 +00:00
Charles Kerr
18ab99970b
fix r5243 typo reported by BentMyWookie
2008-03-13 11:57:42 +00:00
Charles Kerr
29f092197f
#138 : per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages
2008-03-13 03:53:18 +00:00
Charles Kerr
e3c1d221fb
#781 : experimental commit on the "failed data" issue.
2008-03-13 00:38:16 +00:00
Charles Kerr
909cb89b43
even more i18n string work, w/more feedback and reading through the transmission.pot file.
2008-03-08 01:43:20 +00:00
Charles Kerr
7200b27a18
lots more i18n string work -- making strings more consistent, folding redundant strings together, etc.
2008-03-07 20:48:36 +00:00
Charles Kerr
5e3dcb5f6f
#751 : more digging to try to figure out where the problem is.
2008-03-06 13:24:44 +00:00
Charles Kerr
84a8592d1d
first cut at adding i18n hooks into libtransmission.
2008-03-04 02:02:25 +00:00
Charles Kerr
6b1001600b
remove scaffolding that was accidentally committed in r5183 a few minutes ago
2008-03-02 19:55:04 +00:00
Charles Kerr
d712545433
don't crash in makemeta when trying to build a torrent from files you don't have read access to. (wereHamster)
2008-03-02 19:42:45 +00:00
Charles Kerr
f00dd3cbd3
possibly-better patch for #740 .
2008-02-27 20:44:46 +00:00
Charles Kerr
82d0cd852a
#740 fix tr_torrentParse() leak when adding duplicate torrents.
2008-02-27 20:16:01 +00:00
Charles Kerr
9ee96fd0dc
add `verify' command to ipc.
2008-02-27 17:38:39 +00:00
Charles Kerr
8cc587a66f
more housekeeping: benc_val_t --> tr_benc
2008-02-26 21:58:58 +00:00
Charles Kerr
58b655338a
libT: add tracker information to tr_stat. gtk: add `tracker' tab to inspector
2008-02-21 07:29:39 +00:00
Charles Kerr
cfe068876e
remove unnecessary #includes
2008-02-19 18:39:49 +00:00
Charles Kerr
4456c2dd90
(gtk) #544 : remove fast-resume cache when appropriate
2008-02-19 05:03:56 +00:00
Charles Kerr
6fb57dcd59
modify "verify local data" to not lose the blocks in incomplete pieces
2008-02-15 16:00:46 +00:00
Charles Kerr
d360607a02
fix a possible crash when deleting a torrent.
2008-02-13 01:22:55 +00:00
Charles Kerr
7cf9f8cc35
#417 : add the libtransmission bits for telling users when they can "Ask Tracker for More Peers"
2008-02-09 17:07:30 +00:00
Charles Kerr
88cfec047f
#666 : pausing in the middle of "verify local data" makes T forget about the nonverified portion
2008-02-01 01:38:55 +00:00
Charles Kerr
0f981db778
#665 : Ratio calculations aren't strictly accurate when re-seeding a torrent
2008-01-29 16:33:29 +00:00
Charles Kerr
b1cd6ecccc
remove unused "max unchoked peers" feature. fix obsolete TR_FLAG_SAVE comment.
2008-01-23 17:06:36 +00:00
Charles Kerr
de515ee339
if the torrent's download path doesn't exist, don't create it -- it's might be a removeable disk that got unplugged.
2008-01-18 19:13:32 +00:00
Charles Kerr
5965d8d1ae
handle tr_torrentClose( NULL ) gracefully.
2008-01-16 17:57:13 +00:00
Charles Kerr
549778dc7e
#589 fix crash that occurred when the next-to-last file in a torrent ended on a piece boundary and the last file had a size of 0 bytes.
2008-01-08 03:08:36 +00:00
Charles Kerr
3cfbb199af
remove unnecessary assertion
2008-01-05 19:01:51 +00:00
Charles Kerr
15ffb4232e
tr_stat.ratio now returns TR_RATIO_INF when appropriate
2008-01-04 19:13:30 +00:00
Charles Kerr
d417fe8a79
speedup calculatePiecePriority(). This should give faster startup for torrents w/lots of files.
2008-01-02 20:37:22 +00:00
Charles Kerr
2b7a82b9a8
fix r4425 oops
2008-01-02 20:34:20 +00:00
Charles Kerr
0e56fa0baf
test code for #575 (m1b's bug)
2008-01-02 18:05:05 +00:00
Charles Kerr
288e2ca814
don't stop the torrent just because of a tracker error
2008-01-01 23:37:50 +00:00
Charles Kerr
ce6c33b7bf
set copyright info to 2008
2008-01-01 17:20:20 +00:00
Charles Kerr
aacb21fdc4
silence a debug message gone wild
2007-12-27 22:33:24 +00:00