Re: [BUG] fatal: transport 'file' not allowed during submodule add
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Dec 30, 2022, 21:04 UTC
- Message-ID
- <Y69SRs9ifDPagOUo@nand.local>
- In-Reply-To
- <011201d91aca$a5db7800$f1926800$@nexbridge.com>
On Wed, Dec 28, 2022 at 09:42:39AM -0500, rsbecker@nexbridge.com wrote:
Show 30 quoted lines
> > > >-----Original Message----- > >From: Junio C Hamano <jch2355@gmail.com> On Behalf Of Junio C Hamano > On December 27, 2022 10:34 PM, Junio C Hamano wrote: > ><rsbecker@nexbridge.com> writes: > > > >> As of 2.39.0, I am now getting fatal: transport 'file' not allowed > >> when performing a submodule add after a clone -l. The simple reproduce > >> of this > >> is: > >> ... > >> This happens for any submodule add on the same system. Some online > >> research indicates that there was a security patch to git causing > >> this, but I can't find it. This does not seem correct to me or how this > improves > >security. > >> Help please - this is causing some of my workflows to break. > > > >Thanks for reporting, Randall. > > > >This suspiciously sounds like what a1d4f67c (transport: make > `protocol.file.allow` > >be "user" by default, 2022-07-29) is doing deliberately. Taylor, does this > look like a > >corner case the 2.30.6 updates forgot to consider? > > I have tried using 'git config --local protocol.file.allow always' and/or > 'git config --local protocol.allow always' to get past this, without > success.
I couldn't reproduce the symptom you described. Indeed, the behavior of not allowing local-submodules to be cloned without explicitly opting in via the `protocol.file.allow` configuration is intentional.
The patch Junio mentioned, a1d4f67c12 (transport: make `protocol.file.allow` be "user" by default, 2022-07-29) has some examples of why this behavior was changed in the 2.30.6 update.
If you run either `git config --global protocol.file.allow always`, or replace your last submodule add with:
$ git -c protocol.file.allow=always submodule add /path/to/subsrc.git
it should work as expected.
Thanks, Taylor