summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* refactor ref change watchingGravatar Joey Hess2016-12-09
| | | | | | | | | | | | | | | | | | Added to change notification to P2P protocol. Switched to a TBChan so that a single long-running thread can be started, and serve perhaps intermittent requests for change notifications, without buffering all changes in memory. The P2P runner currently starts up a new thread each times it waits for a change, but that should allow later reusing a thread. Although each connection from a peer will still need a new watcher thread to run. The dependency on stm-chans is more or less free; some stuff in yesod uses it, so it was already indirectly pulled in when building with the webapp. This commit was sponsored by Francois Marier on Patreon.
* updateGravatar Joey Hess2016-12-09
|
* git-annex-shell, remotedaemon, git remote: Fix some memory DOS attacks.Gravatar Joey Hess2016-12-09
| | | | | | | | | | | | | | | | | | | | | The attacker could just send a very lot of data, with no \n and it would all be buffered in memory until the kernel killed git-annex or perhaps OOM killed some other more valuable process. This is a low impact security hole, only affecting communication between local git-annex and git-annex-shell on the remote system. (With either able to be the attacker). Only those with the right ssh key can do it. And, there are probably lots of ways to construct git repositories that make git use a lot of memory in various ways, which would have similar impact as this attack. The fix in P2P/IO.hs would have been higher impact, if it had made it to a released version, since it would have allowed DOSing the tor hidden service without needing to authenticate. (The LockContent and NotifyChanges instances may not be really exploitable; since the line is read and ignored, it probably gets read lazily and does not end up staying buffered in memory.)
* debug on error serving peerGravatar Joey Hess2016-12-09
|
* fixGravatar Joey Hess2016-12-09
|
* make clear that log is only updated after successful removalGravatar Joey Hess2016-12-09
| | | | | This does not change behavior, because an exception is thrown on unsuccessful removal. But is clearer.
* typoGravatar Joey Hess2016-12-09
|
* content removal is supposed to succed if the content was already not presentGravatar Joey Hess2016-12-09
|
* improve warning on connection lossGravatar Joey Hess2016-12-09
|
* todoGravatar Joey Hess2016-12-08
|
* more todoGravatar Joey Hess2016-12-08
|
* update progress logs in remotedaemon send/receiveGravatar Joey Hess2016-12-08
|
* avoid remotedaemon outputting misc Messages when runningGravatar Joey Hess2016-12-08
| | | | | | It's a daemon or is communictaing with the assistant over stdio, so should not display checksum messages etc while serving the P2P protocol etc.
* fix memory leakGravatar Joey Hess2016-12-08
| | | | | | | I'm unsure why this fixed it, but it did. Seems to suggest that the memory leak is not due to a bug in my code, but that ghc didn't manage to take full advantage of laziness, or was failing to gc something it could have.
* correctionGravatar Joey Hess2016-12-08
|
* analysisGravatar Joey Hess2016-12-08
|
* profilingGravatar Joey Hess2016-12-08
|
* consistent capsGravatar Joey Hess2016-12-08
|
* commentGravatar Joey Hess2016-12-08
|
* didn't mean to commit this change yetGravatar Joey Hess2016-12-08
|
* commentGravatar Joey Hess2016-12-08
|
* update instructions to work betterGravatar Joey Hess2016-12-08
|
* we have a memory leakGravatar Joey Hess2016-12-08
|
* move byteable to main dep listGravatar Joey Hess2016-12-08
| | | | Only the webapp had pulled it in, but the authtoken code uses it now.
* force sofar calculationGravatar Joey Hess2016-12-08
| | | | | This could avoid a memory leak. It would only happen when the meter didn't look at sofar.
* better format errorGravatar Joey Hess2016-12-08
|
* updateGravatar Joey Hess2016-12-08
|
* move to debugGravatar Joey Hess2016-12-08
|
* convert P2P runners from Maybe to Either StringGravatar Joey Hess2016-12-08
| | | | | | So we get some useful error messages when things fail. This commit was sponsored by Peter Hogg on Patreon.
* fix laziness problem in git relayingGravatar Joey Hess2016-12-08
| | | | | | | | The switch to hGetMetered subtly changed the laziness of how DATA was read, and broke git protocol relaying. Fix by sending received data to the git process's stdin immediately, which ensures that the lazy bytestring is all read from the peer before going on to process the next message from the peer.
* include error message when unable to connect to peerGravatar Joey Hess2016-12-08
|
* updateGravatar Joey Hess2016-12-08
|
* fix build with old ghcGravatar Joey Hess2016-12-08
|
* fix linksGravatar Joey Hess2016-12-07
|
* link to git-annex-metadata-guiGravatar Joey Hess2016-12-07
|
* add git-annex-adaptorGravatar Joey Hess2016-12-07
|
* git-annex-metadata-gui yay!Gravatar Joey Hess2016-12-07
|
* devblogGravatar Joey Hess2016-12-07
|
* todoGravatar Joey Hess2016-12-07
|
* add page for tor special remoteGravatar Joey Hess2016-12-07
|
* updateGravatar Joey Hess2016-12-07
|
* fix math error that caused resumes to always failGravatar Joey Hess2016-12-07
|
* ReadWriteMode not AppendModeGravatar Joey Hess2016-12-07
| | | | AppendMode does not allow seeking..
* add section on tor speedGravatar Joey Hess2016-12-07
|
* open file for append, not write, so resuming worksGravatar Joey Hess2016-12-07
| | | | | WriteMode zeros any existing content, so the seek filled with zeros, and verification failed after download.
* offset meters when resumingGravatar Joey Hess2016-12-07
|
* todoGravatar Joey Hess2016-12-07
|
* Merge branch 'master' into torGravatar Joey Hess2016-12-07
|\
* | more p2p progress metersGravatar Joey Hess2016-12-07
| | | | | | | | | | | | | | | | | | Display progress meter on send and receive from remote. Added a new hGetMetered that can read an exact number of bytes (or less), updating a meter as it goes. This commit was sponsored by Andreas on Patreon.
* | add section on securityGravatar Joey Hess2016-12-07
| |