Joey Hess
61e06c972f
webapp can now set up gcrypt repos on ssh servers
2013-10-01 13:43:35 -04:00
Joey Hess
d83a244986
UI for making encrypted ssh remotes with gcrypt
...
Improved probing the remote server, so it gathers a list of the
capabilities it has. From that list, we can determine which types
of remotes are supported, and display an appropriate UI.
The new buttons for making gcrypt repos don't work yet, but the old buttons
for unencrypted git repo and encrypted rsync repo have been adapted to the
new data types and are working.
This commit was sponsored by David Schmitt.
2013-09-29 15:14:09 -04:00
Joey Hess
e864c8d033
blind enabling gcrypt repos on rsync.net
...
This pulls off quite a nice trick: When given a path on rsync.net, it
determines if it is an encrypted git repository that the user has
the key to decrypt, and merges with it. This is works even when
the local repository had no idea that the gcrypt remote exists!
(As previously done with local drives.)
This commit sponsored by Pedro Côrte-Real
2013-09-27 16:21:56 -04:00
Joey Hess
b58bb4c8c1
refactor
2013-09-27 01:19:56 -04:00
Joey Hess
7665773593
refactor
2013-09-27 00:27:59 -04:00
Joey Hess
1550759220
enabling rsync.net gcrypt repos
...
Still need to detect when the user is trying to create a repo
that already exists, and jump to the enabling code.
2013-09-26 23:47:30 -04:00
Joey Hess
6b24730179
check if gcrypt is installed
2013-09-26 18:42:54 -04:00
Joey Hess
735ed3b822
prep for enabling remotre gcrypt repos in webapp
2013-09-26 17:26:13 -04:00
Joey Hess
588494cbce
webapp: Support storing encrypted git repositories on rsync.net.
...
Does not yet support re-enabling such a repository though.
This commit was sponsored by Jan Pieper.
2013-09-26 16:43:00 -04:00
Joey Hess
57f5c9f41a
webapp: Fix authorized_keys line added when setting up a rsync remote on a server that also supports git-annex, to not force running git-annex-shell.
2013-07-08 12:51:07 -04:00
Joey Hess
1b395dcb76
webapp: Fix ssh setup with nonstandard port, broken in last release.
2013-07-02 15:46:02 -04:00
Joey Hess
ff4f008591
clean up build warnings with yesod 1.2, while still building with 1.1
2013-06-27 01:15:28 -04:00
Joey Hess
10072157cb
webapp: Fix bug when setting up a remote ssh repo repeatedly on the same server.
...
The ssh setup first runs ssh to the real hostname, to probe if a ssh key is
needed. If one is, it generates a mangled hostname that uses a key. This
mangled hostname was being used to ssh into the server to set up the key.
But if the server already had the key set up, and it was locked down, the
setup would fail. This changes it to use the real hostname when sshing in
to set up the key, which avoids the problem.
Note that it will redundantly set up the key on the ssh server. But it's
the same key; the ssh key generation code uses the key if it already
exists.
2013-06-25 14:46:20 -04:00
Joey Hess
b42fe2283a
remove unnecessary haskell extensions
2013-06-04 21:13:20 -04:00
Joey Hess
1198b5444d
now builds with both yesod 1.2 and 1.1
2013-06-03 18:14:22 -04:00
Joey Hess
31753bad46
add liftH shim between yesod versions, to avoid needing zillions of ifdefs
2013-06-03 13:51:54 -04:00
Joey Hess
79fd677805
WIP yesod 1.2
2013-06-03 11:25:23 -04:00
Joey Hess
69bd8d0462
fix android build
2013-05-06 16:45:49 -04:00
Joey Hess
ad6fee422a
fix warning
2013-05-04 16:36:51 -04:00
Joey Hess
d35132810a
Got removable media mount detection working on Android.
...
Bionic has an amusing stub for `getmntent` that prints out
"FIX ME! implement getmntent()"
But, `/proc/mounts` is there, so I just parse it.
2013-05-04 16:19:25 -04:00
Joey Hess
d994f35937
disable hostname validation and canonicalization on android
2013-05-04 14:26:49 -04:00
Joey Hess
0ae8c82c53
per-IA-item content directories
2013-04-25 23:44:55 -04:00
Joey Hess
8a2d1988d3
expose Control.Monad.join
...
I think I've been looking for that function for some time.
Ie, I remember wanting to collapse Just Nothing to Nothing.
2013-04-22 20:24:53 -04:00
Joey Hess
e92a207df5
webapp: When told to add a git repository on a remote server, and the repository already exists as a non-bare repository, use it, rather than initializing a bare repository in the same directory.
2013-04-22 16:21:37 -04:00
Joey Hess
9a5f421768
detect when unwanted remote is empty and remove it
...
Needs fixes to build when the webapp is disabled.
2013-04-03 17:01:40 -04:00
Joey Hess
6fa0d0ecc8
webapp: Run ssh server probes in a way that will work when the login shell is a monstrosity that should have died 25 years ago, such as csh.
2013-03-29 13:09:30 -04:00
Joey Hess
140774a8c8
webapp: Switch all forms to POST.
2013-03-16 18:48:26 -04:00
Joey Hess
996e899acc
webapp: Encourage user to install git-annex on a server when adding a ssh server, rather than just funneling them through to rsync.
2013-03-16 12:58:59 -04:00
Joey Hess
c94c99942b
make liftAnnex and liftAssistant polymorphic, like liftIO
2013-03-16 00:19:56 -04:00
Joey Hess
9b657a2ccc
webapp: Set locally paired repositories to a lower cost than other network remotes.
2013-03-13 14:10:29 -04:00
Joey Hess
907b0c0d78
better liftAnnex, avoid using runAnnex undefined
2013-03-04 16:36:38 -04:00
Joey Hess
9d6fd5b927
webapp: Display any error message from git init if it fails to create a repository.
2013-02-26 13:04:37 -04:00
Joey Hess
7f7c31df1c
type based git config handling
...
Now there's a Config type, that's extracted from the git config at startup.
Note that laziness means that individual config values are only looked up
and parsed on demand, and so we get implicit memoization for all of them.
So this is not only prettier and more type safe, it optimises several
places that didn't have explicit memoization before. As well as getting rid
of the ugly explicit memoization code.
Not yet done for annex.<remote>.* configuration settings.
2012-12-29 23:10:18 -04:00
Joey Hess
551924e6be
webapp: Allow user to specify the ssh port when setting up a remote.
2012-12-06 17:09:38 -04:00
Joey Hess
4f4209b833
webapp: Added help buttons and links next to fields that require explanations.
2012-12-02 22:33:30 -04:00
Joey Hess
7b032dbbc8
webapp: Fix bad interaction between required fields and modals.
2012-12-02 17:32:54 -04:00
Joey Hess
3dfc9cadb0
simplify
2012-11-25 00:38:11 -04:00
Joey Hess
59733456ed
refactor
2012-11-25 00:27:17 -04:00
Joey Hess
0b8027e527
webapp: When setting up authorized_keys, use GIT_ANNEX_SHELL_DIRECTORY.
2012-11-05 12:35:05 -04:00
Joey Hess
33dbb19d99
webapp: Ensure that rsync special remotes are enabled using the same name they were originally created using.
...
It was creating a new special remote with a different name, unless
the stars perfectly aligned and the names matched.
2012-10-31 16:14:52 -04:00
Joey Hess
7fe077ec24
webapp: Fix creation of rsync.net repositories.
2012-10-31 13:58:31 -04:00
Joey Hess
88d1907278
where indentation
2012-10-31 02:34:03 -04:00
Joey Hess
93ffd47d76
finished pushing Assistant monad into all relevant files
...
All temporary and old functions are removed.
2012-10-30 17:14:51 -04:00
Joey Hess
5d57b28a34
lifted Assistant.Sync into Assistant monad
...
lots of nice cleanups
2012-10-29 16:22:14 -04:00
Joey Hess
4dbdc2b666
Assistant monad, stage 2.5
...
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.
2012-10-29 02:21:04 -04:00
Joey Hess
4e765327ca
Assistant monad, stage 1
...
This adds the Assistant monad, and an AssistantData structure.
So far, none of the assistant's threads run in the monad yet.
2012-10-29 00:15:43 -04:00
Joey Hess
531f1d1446
add XMPP nudge alert, displayed after making a cloud repository
2012-10-27 12:25:29 -04:00
Joey Hess
7ee0ffaeb9
Use USER and HOME environment when set, and only fall back to getpwent, which doesn't work with LDAP or NIS.
2012-10-25 18:17:54 -04:00
Joey Hess
8932acb5d0
redirect to the new repository version of the end form
2012-10-14 16:11:21 -04:00
Joey Hess
f31d292ab1
after setting up a new repo, go to a special version of the configuration page
2012-10-11 17:35:08 -04:00