{"thread":{"id":"17487","subject":"Git over HTTPS","startedAt":"2009-02-01T19:55:50Z","lastAt":"2009-02-01T19:55:50Z","messageCount":1,"participants":["Jason Wagner"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"102763","messageId":"20090201195550.9011.qmail@server262.com","threadId":"17487","inReplyTo":null,"subject":"Git over HTTPS","fromName":"Jason Wagner","fromEmail":"jason@nialscorva.net","sentAt":"2009-02-01T19:55:50Z","receivedAt":"2009-02-01T19:55:50Z","isPatch":false,"sender":{"key":"jason@nialscorva.net","avatar":null},"body":"I'm trying to set up a git repository on DAV on Apache, but having some trouble pushing via HTTPS.  I've set everything up according to the documentation-- http.sslVerify=false, .netrc setup, bare repository and update-server-info, etc.  The goal is to have read access available by http, but require authed https to write.  Here's the config I've been using:\n\nAlias /public.git /var/git/public\n<Location /public.git>\n   DAV on\n   Options +Indexes\n#TEST    <LimitExcept GET PROPFIND OPTIONS>\n#TEST       AuthType Basic\n#TEST      AuthName \"Git repository\"\n#TEST       AuthUserFile /var/git/public.git.httpusers\n#TEST       Require valid-user\n#TEST       SSLRequireSSL\n#TEST     </LimitExcept>\n</Location>\n\nI turned off the LimitExcept for testing purposes.  Inside of public is \"logging\", a git init --bare repository.  When testing, I can do the following:\ngit config repository.http.url http://jason@platinum/public.git/logging\ngit config repository.https.url https://jason@platinum/public.git/logging\n\ngit pull http\ngit push http\n# fresh local repository\ngit pull https\n\nWhen I do \"git push https -f --all -v\" after changing a single file, I get:\n\nPushing to https://jason@platinum/public.git/logging\nGetting pack list\nFetching remote heads...\n  refs/\n  refs/heads/\n  refs/tags/\nupdating 'refs/heads/master'\n  from b8339306a895f5f18675116ab202b001cfbb95ce\n  to   00d2d209b62f6f5322e943726b90bbf75f8a940a\n\nThen it freezes until I ctrl-c it.  Sometimes the process stays around afterwards sometimes and needs a kill -9.\n\nIn the apache logs, I see the same requests coming in on both the http and https pushes.  It seems to be locking on\n[01/Feb/2009:14:36:05 -0500] 127.0.0.1 TLSv1 RC4-MD5 \"MKCOL /public.git/logging/refs/ HTTP/1.1\" 321\n\nor \n\n[01/Feb/2009:08:43:51 -0500] 127.0.0.1 TLSv1 RC4-MD5 \"UNLOCK /public.git/logging/info/refs HTTP/1.1\" -\n\nI've done this on both git 1.5.6.6 and 1.6.2 to the same results.  I'm using a fully updated Fedora 9 install on the server machine.  Has anyone run into similar problems or have any suggestions?\n---\nJason Wagner\n"}]}