git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* push problem with anonymous access
@ 2011-07-01 22:32 Michele Marcionelli
  2011-07-02 15:19 ` Tay Ray Chuan
  0 siblings, 1 reply; 4+ messages in thread
From: Michele Marcionelli @ 2011-07-01 22:32 UTC (permalink / raw)
  To: git

Dear all

I configured apache as described on the man page:

SetEnv GIT_PROJECT_ROOT /var/www/vhosts/git/root
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /scratch/local/app/git/current/libexec/git-core/git-http-backend/

And then the following 2 repositories (also as described in the page):

# (1) authentication for both reads and writes
<LocationMatch /git/math/private_test.git>
   AuthType Basic
   AuthName "Git Access"
   Require user admin
   AuthUserFile /var/www/vhosts/git/htpasswd
</LocationMatch>

# (2) anonymous read access but authenticated write access
<LocationMatch "/git/math/public_test.git/git-receive-pack$">
   AuthType Basic
   AuthName "Git Access"
   Require user admin
   AuthUserFile /var/www/vhosts/git/htpasswd
</LocationMatch>

Now: with the repository (1) I can do everything, clone & push. With the repository (2) I can only clone and when I try to push as follow:

export GIT_SSL_NO_VERIFY=true
git clone https://git.math.ethz.ch/git/math/public_test.git
cd public_test
echo foo >> TODO
git commit TODO -m bar
git push

I get followin errors to "stderr":
error: Cannot access URL https://git.math.ethz.ch/git/math/public_test.git/, return code 22
fatal: git-http-push failed

An to the apache access_log & error_log files:
==> /var/log/httpd/git-ssl.access_log <==
85.1.201.213 - - [02/Jul/2011:00:13:32 +0200] "GET /git/math/public_test.git/info/refs?service=git-receive-pack HTTP/1.1" 403 - "-" "git/1.7.5.4"
85.1.201.213 - - [02/Jul/2011:00:13:33 +0200] "GET /git/math/public_test.git/info/refs HTTP/1.1" 200 59 "-" "git/1.7.5.4"
85.1.201.213 - - [02/Jul/2011:00:13:33 +0200] "GET /git/math/public_test.git/HEAD HTTP/1.1" 200 23 "-" "git/1.7.5.4"
85.1.201.213 - - [02/Jul/2011:00:13:33 +0200] "PROPFIND /git/math/public_test.git/ HTTP/1.1" 404 - "-" "git/1.7.5.4"
==> /var/log/httpd/git-ssl.error_log <==
[Sat Jul 02 00:13:33 2011] [error] [client 85.1.201.213] Request not supported: '/var/www/vhosts/git/root/math/public_test.git/'

Any Idea?

Thx, Michele


--
Michele Marcionelli · mm@ethz.ch · +41 44 632 6193
* Please consider the environment before printing

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: push problem with anonymous access
  2011-07-01 22:32 Michele Marcionelli
@ 2011-07-02 15:19 ` Tay Ray Chuan
  0 siblings, 0 replies; 4+ messages in thread
From: Tay Ray Chuan @ 2011-07-02 15:19 UTC (permalink / raw)
  To: Michele Marcionelli; +Cc: git

On Sat, Jul 2, 2011 at 6:32 AM, Michele Marcionelli
<michele.marcionelli@math.ethz.ch> wrote:
> ==> /var/log/httpd/git-ssl.access_log <==
> 85.1.201.213 - - [02/Jul/2011:00:13:32 +0200] "GET /git/math/public_test.git/info/refs?service=git-receive-pack HTTP/1.1" 403 - "-" "git/1.7.5.4"

Try

  $ git clone https://<user>:<pwd>@git.math.ethz.ch/git/math/public_test.git

or put it in ~/.netrc.

-- 
Cheers,
Ray Chuan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: push problem with anonymous access
@ 2011-07-04  7:13 Michele Marcionelli
  2011-07-04 10:02 ` Michele Marcionelli
  0 siblings, 1 reply; 4+ messages in thread
From: Michele Marcionelli @ 2011-07-04  7:13 UTC (permalink / raw)
  To: Tay Ray Chuan; +Cc: git

Hi Ray

I tried as you suggested (even if to clone I don't need a password):

$ git clone https://michele:******@git.math.ethz.ch/git/math/public_test.git
==>
Cloning into public_test...
remote: Counting objects: 15, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 15 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (15/15), done.

And in the apache logs:
129.132.147.190 - - [04/Jul/2011:08:14:40 +0200] "GET /git/math/public_test.git/info/refs?service=git-upload-pack HTTP/1.1" 200 264 "-" "git/1.7.5.4"
129.132.147.190 - - [04/Jul/2011:08:14:40 +0200] "POST /git/math/public_test.git/git-upload-pack HTTP/1.1" 200 1688 "-" "git/1.7.5.4"

But the when I push (and here is my problem):
$ cd public_test
$ echo foo >> TODO
$ git commit TODO -m bar
$ git push
==>
error: Cannot access URL https://michele:******@git.math.ethz.ch/git/math/public_test.git/, return code 22
fatal: git-http-push failed

I get following in the apache logs:

==> /var/log/httpd/git-ssl.access_log <==
129.132.147.190 - - [04/Jul/2011:08:17:45 +0200] "GET /git/math/public_test.git/info/refs?service=git-receive-pack HTTP/1.1" 403 - "-" "git/1.7.5.4"
129.132.147.190 - - [04/Jul/2011:08:17:45 +0200] "GET /git/math/public_test.git/info/refs HTTP/1.1" 200 59 "-" "git/1.7.5.4"
==> /var/log/httpd/git-ssl.error_log <==
[Mon Jul 04 08:17:45 2011] [error] [client 129.132.147.190] Service not enabled: 'receive-pack'
==> /var/log/httpd/git-ssl.access_log <==
129.132.147.190 - - [04/Jul/2011:08:17:45 +0200] "GET /git/math/public_test.git/HEAD HTTP/1.1" 200 23 "-" "git/1.7.5.4"
129.132.147.190 - - [04/Jul/2011:08:17:46 +0200] "PROPFIND /git/math/public_test.git/ HTTP/1.1" 404 - "-" "git/1.7.5.4"
==> /var/log/httpd/git-ssl.error_log <==
[Mon Jul 04 08:17:46 2011] [error] [client 129.132.147.190] Request not supported: '/var/www/vhosts/git/root/math/public_test.git/'


The problem that I see is that in the configuration (see also the "man git-http-backend") you have this

    <LocationMatch "^/git/.*/git-receive-pack$">

and "git push" do following request:

    /git/whatever/info/refs?service=git-receive-pack

which is not matched by the "LocationMarch".

Thx, Michele

PS: I'm not using WebDAV, since it is not documented in the man page.


On Jul 2, 2011, at 17:19 , Tay Ray Chuan wrote:

> On Sat, Jul 2, 2011 at 6:32 AM, Michele Marcionelli
> <michele.marcionelli <at> math.ethz.ch> wrote:
>> ==> /var/log/httpd/git-ssl.access_log <==
>> 85.1.201.213 - - [02/Jul/2011:00:13:32 +0200] "GET
> /git/math/public_test.git/info/refs?service=git-receive-pack HTTP/1.1" 403 - "-" "git/1.7.5.4"
> 
> Try
> 
>  $ git clone https://<user>:<pwd>@git.math.ethz.ch/git/math/public_test.git
> 
> or put it in ~/.netrc.
> 
> -- 
> Cheers,
> Ray Chuan

--
Michele Marcionelli · mm@ethz.ch · +41 44 632 6193
* Please consider the environment before printing

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: push problem with anonymous access
  2011-07-04  7:13 push problem with anonymous access Michele Marcionelli
@ 2011-07-04 10:02 ` Michele Marcionelli
  0 siblings, 0 replies; 4+ messages in thread
From: Michele Marcionelli @ 2011-07-04 10:02 UTC (permalink / raw)
  To: git; +Cc: Tay Ray Chuan

I found out something: with these 2 lines in "public_test.git/config":

[http]
    receivepack = true

Now I can push and the log files looks like this:
==> /var/log/httpd/git-ssl.access_log <==
129.132.147.190 - - [04/Jul/2011:11:26:57 +0200] "GET /git/math/public_test.git/info/refs?service=git-receive-pack HTTP/1.1" 200 153 "-" "git/1.7.5.4"
129.132.147.190 - - [04/Jul/2011:11:26:57 +0200] "POST /git/math/public_test.git/git-receive-pack HTTP/1.1" 406 - "-" "git/1.7.5.4"
129.132.147.190 - michele [04/Jul/2011:11:26:57 +0200] "POST /git/math/public_test.git/git-receive-pack HTTP/1.1" 200 52 "-" "git/1.7.5.4"
==> /var/log/httpd/git-ssl.error_log <==
[Mon Jul 04 11:26:57 2011] [error] [client 129.132.147.190] no acceptable variant: /var/www/error/HTTP_UNAUTHORIZED.html.var

So 2 questions:
1) it is ok to set "receivepack = true"? It's not dangerous?
2) I still get an error 406 (see second line)... is that normal?
3) shouldn't somebody include this information in some official FAQ or in the man page of git-http-backend?

Regards,
Michele


On Jul 4, 2011, at 9:13 , Michele Marcionelli wrote:

> Hi Ray
> 
> I tried as you suggested (even if to clone I don't need a password):
> 
> $ git clone https://michele:******@git.math.ethz.ch/git/math/public_test.git
> ==>
> Cloning into public_test...
> remote: Counting objects: 15, done.
> remote: Compressing objects: 100% (7/7), done.
> remote: Total 15 (delta 0), reused 0 (delta 0)
> Unpacking objects: 100% (15/15), done.
> 
> And in the apache logs:
> 129.132.147.190 - - [04/Jul/2011:08:14:40 +0200] "GET /git/math/public_test.git/info/refs?service=git-upload-pack HTTP/1.1" 200 264 "-" "git/1.7.5.4"
> 129.132.147.190 - - [04/Jul/2011:08:14:40 +0200] "POST /git/math/public_test.git/git-upload-pack HTTP/1.1" 200 1688 "-" "git/1.7.5.4"
> 
> But the when I push (and here is my problem):
> $ cd public_test
> $ echo foo >> TODO
> $ git commit TODO -m bar
> $ git push
> ==>
> error: Cannot access URL https://michele:******@git.math.ethz.ch/git/math/public_test.git/, return code 22
> fatal: git-http-push failed
> 
> I get following in the apache logs:
> 
> ==> /var/log/httpd/git-ssl.access_log <==
> 129.132.147.190 - - [04/Jul/2011:08:17:45 +0200] "GET /git/math/public_test.git/info/refs?service=git-receive-pack HTTP/1.1" 403 - "-" "git/1.7.5.4"
> 129.132.147.190 - - [04/Jul/2011:08:17:45 +0200] "GET /git/math/public_test.git/info/refs HTTP/1.1" 200 59 "-" "git/1.7.5.4"
> ==> /var/log/httpd/git-ssl.error_log <==
> [Mon Jul 04 08:17:45 2011] [error] [client 129.132.147.190] Service not enabled: 'receive-pack'
> ==> /var/log/httpd/git-ssl.access_log <==
> 129.132.147.190 - - [04/Jul/2011:08:17:45 +0200] "GET /git/math/public_test.git/HEAD HTTP/1.1" 200 23 "-" "git/1.7.5.4"
> 129.132.147.190 - - [04/Jul/2011:08:17:46 +0200] "PROPFIND /git/math/public_test.git/ HTTP/1.1" 404 - "-" "git/1.7.5.4"
> ==> /var/log/httpd/git-ssl.error_log <==
> [Mon Jul 04 08:17:46 2011] [error] [client 129.132.147.190] Request not supported: '/var/www/vhosts/git/root/math/public_test.git/'
> 
> 
> The problem that I see is that in the configuration (see also the "man git-http-backend") you have this
> 
>    <LocationMatch "^/git/.*/git-receive-pack$">
> 
> and "git push" do following request:
> 
>    /git/whatever/info/refs?service=git-receive-pack
> 
> which is not matched by the "LocationMarch".
> 
> Thx, Michele
> 
> PS: I'm not using WebDAV, since it is not documented in the man page.
> 
> 
> On Jul 2, 2011, at 17:19 , Tay Ray Chuan wrote:
> 
>> On Sat, Jul 2, 2011 at 6:32 AM, Michele Marcionelli
>> <michele.marcionelli <at> math.ethz.ch> wrote:
>>> ==> /var/log/httpd/git-ssl.access_log <==
>>> 85.1.201.213 - - [02/Jul/2011:00:13:32 +0200] "GET
>> /git/math/public_test.git/info/refs?service=git-receive-pack HTTP/1.1" 403 - "-" "git/1.7.5.4"
>> 
>> Try
>> 
>> $ git clone https://<user>:<pwd>@git.math.ethz.ch/git/math/public_test.git
>> 
>> or put it in ~/.netrc.
>> 
>> -- 
>> Cheers,
>> Ray Chuan
> 
> --
> Michele Marcionelli · mm@ethz.ch · +41 44 632 6193
> * Please consider the environment before printing
> 
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
Michele Marcionelli · mm@ethz.ch · +41 44 632 6193
* Please consider the environment before printing

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-07-04 10:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-04  7:13 push problem with anonymous access Michele Marcionelli
2011-07-04 10:02 ` Michele Marcionelli
  -- strict thread matches above, loose matches on Subject: below --
2011-07-01 22:32 Michele Marcionelli
2011-07-02 15:19 ` Tay Ray Chuan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).