| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
It's a code smell, can lead to hard to diagnose error messages.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
|
|
|
|
| |
detection of appropriate build flags.
The only thing lost is ./ghci
Speed: make fast used to take 20 seconds here, when rebuilding from
touching Command/Unused.hs. With cabal, it's 29 seconds.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Various things that don't work on Android are just ifdefed out.
* the webapp (needs template haskell for arm)
* --include and --exclude globbing (needs libpcre, which is not ported;
probably I'll make it use the pure haskell glob library instead)
* annex.diskreserve checking (missing sys/statvfs.h)
* timestamp preservation support (yawn)
* S3
* WebDAV
* XMPP
The resulting 17mb binary has been tested on Android, and it is able to,
at least, print its usage message.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This avoids us responding to our own pairing messages, as well
as ignoring any out of order messages that might be received somehow.
|
|
|
|
| |
The PathPiece instance for Text results in a 404 for T.empty.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I'd rather Utility.Ssh, but the SshData type is not sufficiently clean and
generic for Utility.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Due to being multicast, requests sent by one thread are received by the
listener in another thread.
|
| |
|
|
|
|
|
|
| |
The remote computer may not support mDNS. Instead, pass over the uname -a
hostname, and the IP address, and leave best hostname calculation to the
remote side.
|
|
|
|
| |
also, tested on ipv6.. doesn't work
|
|
|
|
|
|
|
|
|
|
| |
Pair requests are sent on all network interfaces, and contain the best
available hostname to use to contact the host on that interface.
Added a pairing in progress page.
Revert "reduce some boilerplate using ghc extensions", because it caused
overlapping instances for Text.
|
|
|
|
|
|
| |
Actually 3 forms in one, this handles the initial passphrase entry, and the
confirmation, and also varys wording if the same user or a different user
is confirming.
|
|
|
|
| |
yet more changes to pairing message data types
|
| |
|
|
|
|
|
|
| |
Only 2 messages are needed to do pairing.
And added a nice Verifiable data type.
|
|
Roughed out a data type that models the whole pairing conversation,
and can be serialized to implement it. And a state machine to run
that conversation. Not yet hooked up to any transport such as multicast
UDP.
|