summaryrefslogtreecommitdiff
path: root/Assistant/Threads/PairListener.hs
Commit message (Collapse)AuthorAge
* include problem PairData in error messageGravatar Joey Hess2017-02-13
| | | | | | | | | | Users occasionally report this error firing, and I can't see why, so include the rejected PairData in the error message. This is safe even if it contains evil escape characters, because showing it displays them in escaped form. This commit was sponsored by Bruno BEAUFILS on Patreon.
* switch away from deprecated recvFromGravatar Joey Hess2016-09-05
| | | | | Network.Socket.ByteString is in network since before 2.4, so no need to adjust bounds.
* removed all uses of undefined from code baseGravatar Joey Hess2015-04-19
| | | | It's a code smell, can lead to hard to diagnose error messages.
* assistant: Improve sanity check for control characters when pairing.Gravatar Joey Hess2015-02-09
|
* update my email address and homepage urlGravatar Joey Hess2015-01-21
|
* Improve local pairing behavior when two computers both try to start the ↵Gravatar Joey Hess2013-11-02
| | | | | | | | | | | | | | | | | pairing process separately. I was able to reproduce something very like this bug by starting pairing separately on both computers under poor network conditions (ie, weak wifi on my front porch). Neither computer showed an alert for the PairReq messages it was seeing (intermittently) from the other. So, I've made a new PairReq message that has not been seen before always make the alert pop up, even if the assistant thinks it is in the middle of its own pairing process (or even another pairing process with a different box on the LAN). (This shouldn't cause a rogue PairAck to disrupt a pairing process part way through.)
* better control character sanity checkGravatar Joey Hess2013-11-02
| | | | | | | | | The msg contains a haskell-escaped string, so control characters in it can also be escaped. So this didn't work before, really. Got rid of the \n check, because current pairing messages actually do contain a \n, after the ssh public key. Don't want to break back-compatability.
* add config page for fsck, and alert with button when a fsck is runningGravatar Joey Hess2013-10-10
|
* only retry every 60 secondsGravatar Joey Hess2013-08-24
| | | | | Retying every second is a bit much, especially given the current leak https://github.com/audreyt/network-multicast/issues/4
* log local pairing messages received when debugging is enabledGravatar Joey Hess2013-06-11
|
* refactor alert button creation codeGravatar Joey Hess2013-04-04
|
* better liftAnnex, avoid using runAnnex undefinedGravatar Joey Hess2013-03-04
|
* webapp: Now allows restarting any threads that crash.Gravatar Joey Hess2013-01-26
|
* rename another 'close'Gravatar Joey Hess2012-11-07
|
* finished XMPP pairing!Gravatar Joey Hess2012-11-05
| | | | | This includes keeping track of which buddies we're pairing with, to know which PairAck are legitimate.
* webapp: When setting up authorized_keys, use GIT_ANNEX_SHELL_DIRECTORY.Gravatar Joey Hess2012-11-05
|
* add buddy list to pairing UIGravatar Joey Hess2012-11-02
|
* where indentationGravatar Joey Hess2012-10-31
|
* finished pushing Assistant monad into all relevant filesGravatar Joey Hess2012-10-30
| | | | All temporary and old functions are removed.
* pushed Assistant monad down into DaemonStatus codeGravatar Joey Hess2012-10-30
| | | | | | Currently have three old versions of functions that more reworking is needed to remove: getDaemonStatusOld, modifyDaemonStatusOld_, and modifyDaemonStatusOld
* cleanup daemonStatus accessorsGravatar Joey Hess2012-10-30
|
* split remaining assistant typesGravatar Joey Hess2012-10-30
|
* split out daemonstatus typesGravatar Joey Hess2012-10-30
|
* Assistant monad, stage 3Gravatar Joey Hess2012-10-29
| | | | | | All toplevel named threads are converted to the Assistant monad. Some utility functions still need to be converted.
* Assistant monad, stage 2.5Gravatar Joey Hess2012-10-29
| | | | | | | | | | Converted several threads to run in the monad. Added a lot of useful combinators for working with the monad. Now the monad includes the name of the thread. Some debugging messages are disabled pending converting other threads.
* avoid pairlistener crashGravatar Joey Hess2012-10-10
| | | | | | | | | | | I noticed this while offline (so that lack of solar power is good for something). Apparently it tries to bind multicast to lo, and that fails. If this happens, catch it, and retry until a real network interface becomes available. It may be that this should tie into the NetWatcher, and rebind whenever an interface comes up. Needs testing..
* hlintGravatar Joey Hess2012-09-13
|
* Remove trailing whitespaceGravatar Richard Hartmann2012-09-11
|
* fixed all pairing alert issuesGravatar Joey Hess2012-09-11
|
* fix combining of pairing alertsGravatar Joey Hess2012-09-11
|
* pairing works!!Gravatar Joey Hess2012-09-11
| | | | | | | | | Finally. Last bug fixes here: Send PairResp with same UUID in the PairReq. Fix off-by-one in code that filters out our own pairing messages. Also reworked the pairing alerts, which are still slightly buggy.
* keep track of the stage we're at in pairingGravatar Joey Hess2012-09-11
| | | | | This avoids us responding to our own pairing messages, as well as ignoring any out of order messages that might be received somehow.
* additional security sanity checks on pairing messagesGravatar Joey Hess2012-09-11
|
* add a UUID to pair requestsGravatar Joey Hess2012-09-11
| | | | | | | Pair requests the the same UUID are part of the same pairing session, which allows us to detect attempts to brute force the shared secret, as that will result in pair requests with the same UUID that are not verified with the right secret.
* handle stale PairAcksGravatar Joey Hess2012-09-11
|
* clean up authorized_keys handlingGravatar Joey Hess2012-09-11
| | | | | Including rollback of adding the key when a pairing response gets canceled by the user.
* pairing probably works now (untested)Gravatar Joey Hess2012-09-10
|
* responding to pair requests *almost* worksGravatar Joey Hess2012-09-10
|
* add an alert while a locally initiated pairing request is in progressGravatar Joey Hess2012-09-09
| | | | Has a button to cancel the request.
* pair request alert tweaksGravatar Joey Hess2012-09-09
|
* update pair request alert when button is pressedGravatar Joey Hess2012-09-09
|
* moved the PairStage inside the Verifiable dataGravatar Joey Hess2012-09-08
|
* add a PairDone messageGravatar Joey Hess2012-09-08
|
* first pass at alert buttonsGravatar Joey Hess2012-09-08
| | | | | | | | | They work fine. But I had to go to a lot of trouble to get Yesod to render routes in a pure function. It may instead make more sense to have each alert have an assocated IO action, and a single route that runs the IO action of a given alert id. I just wish I'd realized that before the past several hours of struggling with something Yesod really doesn't want to allow.
* add remote directory to pair requestGravatar Joey Hess2012-09-08
|
* filter out our own pairing requestsGravatar Joey Hess2012-09-08
| | | | | Due to being multicast, requests sent by one thread are received by the listener in another thread.
* fix build without pairing supportGravatar Joey Hess2012-09-08
|
* added pair listener threadGravatar Joey Hess2012-09-08