git-annex/doc/bugs/Creating_a_WebDAV_repo_under_OpenBSD.mdwn
Joey Hess e213ef310f git-annex (5.20140717) unstable; urgency=high
* Fix minor FD leak in journal code. Closes: #754608
  * direct: Fix handling of case where a work tree subdirectory cannot
    be written to due to permissions.
  * migrate: Avoid re-checksumming when migrating from hashE to hash backend.
  * uninit: Avoid failing final removal in some direct mode repositories
    due to file modes.
  * S3: Deal with AWS ACL configurations that do not allow creating or
    checking the location of a bucket, but only reading and writing content to
    it.
  * resolvemerge: New plumbing command that runs the automatic merge conflict
    resolver.
  * Deal with change in git 2.0 that made indirect mode merge conflict
    resolution leave behind old files.
  * sync: Fix git sync with local git remotes even when they don't have an
    annex.uuid set. (The assistant already did so.)
  * Set gcrypt-publish-participants when setting up a gcrypt repository,
    to avoid unncessary passphrase prompts.
    This is a security/usability tradeoff. To avoid exposing the gpg key
    ids who can decrypt the repository, users can unset
    gcrypt-publish-participants.
  * Install nautilus hooks even when ~/.local/share/nautilus/ does not yet
    exist, since it is not automatically created for Gnome 3 users.
  * Windows: Move .vbs files out of git\bin, to avoid that being in the
    PATH, which caused some weird breakage. (Thanks, divB)
  * Windows: Fix locking issue that prevented the webapp starting
    (since 5.20140707).

# imported from the archive
2014-07-17 11:27:25 -04:00

53 lines
2.3 KiB
Markdown

### Please describe the problem.
When creating a https webdav repository under openbsd it complains that /etc/ssl/certs doesn't exist. This is true considering all certs are stored in /etc/ssl/cert.pem.
After /etc/ssl/certs is created it complains about that the certificate has an unknown CA, for obvious reasons.
A workaround is to symlink /etc/ssl/cert.pem in /etc/ssl/certs
### What steps will reproduce the problem?
See below
### What version of git-annex are you using? On what operating system?
5.20140129 under OpenBSD 5.4
### Please provide any additional information below.
[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
WEBDAV_USERNAME=<username> WEBDAV_PASSWORD=<password> git annex initremote box.com type=webdav url=https://dav.box.com/dav/Documents chunksize=100mb encryption=hybrid keyid=<key> mac=HMACSHA512
initremote box.com (encryption setup) (hybrid cipher with gpg key <key>) (testing WebDAV server...)
git-annex: WebDAV failed to write file: /etc/ssl/certs/: getDirectoryContents: does not exist (No such file or directory): user error
failed
git-annex: initremote: 1 failed
# End of transcript or log.
"""]]
> This needs to be fixed in the haskell certificate library.
> I have filed a bug there:
> <https://github.com/vincenthz/hs-certificate/issues/26>
>
> Patch would probably be pretty simple. Based on description, something like
> this:
[[!format patch """
diff --git a/System/Certificate/X509/Unix.hs b/System/Certificate/X509/Unix.hs
index 8463465..74316e9 100644
--- a/System/Certificate/X509/Unix.hs
+++ b/System/Certificate/X509/Unix.hs
@@ -50,7 +50,7 @@ listDirectoryCerts path = (map (path </>) . filter isCert <$> getDirectoryConten
isCert x = (not $ isPrefixOf "." x) && (not $ isHashedFile x)
getSystemCertificateStore :: IO CertificateStore
-getSystemCertificateStore = makeCertificateStore . concat <$> (getSystemPath >>= listDirectoryCerts >>= mapM readCertificates)
+getSystemCertificateStore = makeCertificateStore <$> readCertificates "/etc/ssl/cert.pem"
getSystemPath :: IO FilePath
getSystemPath = E.catch (getEnv envPathOverride) inDefault
"""]]
>
> [[closing|done]] as no changes to git-annex can fix this. --[[Joey]]