From: Johannes Schindelin Date: Mon, 25 Aug 2008 20:08:20 GMT Subject: Re: [PATCH] "git shell" won't work, need "git-shell" Message-ID: In-Reply-To: <237967ef0808251125q3e50fa04wf0e97ff29298bef2@mail.gmail.com> Hi, On Mon, 25 Aug 2008, Mikael Magnusson wrote: > 2008/8/25 Johannes Schindelin : > > > On Mon, 25 Aug 2008, Paolo Bonzini wrote: > > > >> > That would involve you actually finding out what's happening, > >> > though. > >> > >> He said so: > >> > >> > test:x:1001:1001:,,,:/home/test:/usr/bin/git shell > >> > > >> > just makes ssh loop asking for a password, logging > >> > > >> > "User test not allowed because shell /usr/bin/git shell does not > >> > exist" > > > > Okay, so this means that you cannot pass arguments to the login shell. > > Makes me wonder... I had the impression that bash was called with > > --login. > > When you login, a '-' is prepended in argv[0], ie, bash checks if it's > called "-bash". This is documented in man bash, but I couldn't find it > in man login or man agetty, not sure where else it might be written > down. Thanks! So does this mean that we could check in git.c if there is a leading "-" in argv[0]? If so, then the builtin git-shell should be called by default. At least I do not expect many instances of git being called with argv[0] starting with a "-"... :-) Ciao, Dscho