All of lore.kernel.org
 help / color / mirror / Atom feed
From: Toon Claes <toon@iotcl.com>
To: Christian Couder <christian.couder@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Patrick Steinhardt <ps@pks.im>, Taylor Blau <me@ttaylorr.com>,
	Karthik Nayak <karthik.188@gmail.com>,
	Elijah Newren <newren@gmail.com>,
	Kristoffer Haugsbakk <kristofferhaugsbakk@fastmail.com>
Subject: Re: [PATCH v4 0/8] Auto-configure advertised remotes via URL allowlist
Date: Tue, 09 Jun 2026 14:25:48 +0200	[thread overview]
Message-ID: <877bo7294j.fsf@emacs.iotcl.com> (raw)
In-Reply-To: <CAP8UFD0r96KxU3kW2khJ_MySgtv0ZpU26KR1vNimp_FwigQfXA@mail.gmail.com>

Christian Couder <christian.couder@gmail.com> writes:

>> But I previously mentioned I felt the naming of 'acceptFromServer' and
>> 'acceptFromServerUrl' are a bit confusing. So I'm wondering whether we
>> can consider another proposal:
>>
>> What if 'acceptFromServer' would configure if 'acceptFromServerUrl'
>> should be used? I mean, imagine we put this in the config:
>>
>>     [promisor]
>>         acceptFromServer = Match
>>         acceptFromServerUrl = https://my-org.com/*
>>
>> (we can still argue over naming, but to get the idea)
>>
>> So the value "Match" for 'acceptFromServer' would inform Git to use
>> 'acceptFromServerUrl'. This way precedence isn't a concern no more,
>> because every value for 'acceptFromServer' is mutually exclusive.
>
> In this case I would prefer to remove 'acceptFromServerUrl' entirely
> and to make acceptFromServer accept values like:
>
>     match:https://my-org.com/*
>
> By the way "match" might not be the best term. Maybe something like
> "auto-configure" would be better.

I think that's too complicated. Let's not do that.

>> This has one downside though, you can no longer combine
>> acceptFromServer=KnownUrl with a 'acceptFromServerUrl'. So URLs
>> advertised by the server can no longer fall-through to
>> 'acceptFromServer' if they don't match 'acceptFromServerUrl'. You can
>> argue whether that's a good thing or not.
>
> I think it's a good thing to have this fall-through. It allows setting
> up things like this:
>
> In the global config:
>
> [promisor]
>         acceptFromServerUrl = https://my-org.com/*
>
> In the config of only a few repo that need it:
>
> [promisor]
>         acceptFromServer = knownUrl
>
> This way remotes from my-org.com are accepted in all the repos, while
> other remotes are accepted only if their name and URLs have already
> been configured in the repos that need them.
>
> This allows relatively lenient security for internal repos and more
> strict security for external ones, and I suspect that many users will
> want something like that.
>
> What you suggest doesn't allow that. It could force users to choose
> for each repo between either URL based allowlist or local
> configuration of every remote.

Well yes, that's why I mentioned:

> You can argue whether that's a good thing or not.

If it's intentional and as you mention there's a valid use-case for
this, then I agree with your approach in this series.

> Also I think it's easier to explain that 'acceptFromServerUrl' is a
> different mechanism (that allows auto-configuration, contrary to
> 'acceptFromServer') if these two variables are independent.

True, although naming-wise it doesn't feel like that. But I no longer
gonna keep picking on that, so ignore this comment please. :-)

>> What do you think? If you disagree, I'm fine with the current approach
>> and I think this version looks good.
>
> Thanks for your review and for being fine with the current approach if
> I disagree.

Thanks for explaining, I still agree moving on like this.

-- 
Cheers,
Toon

      reply	other threads:[~2026-06-09 12:25 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-23 11:11 [PATCH 0/9] Implement `promisor.storeFields` and `--filter=auto` Christian Couder
2025-12-23 11:11 ` [PATCH 1/9] promisor-remote: refactor initialising field lists Christian Couder
2025-12-23 11:11 ` [PATCH 2/9] promisor-remote: allow a client to store fields Christian Couder
2026-01-07 10:05   ` Patrick Steinhardt
2026-02-04 10:20     ` Christian Couder
2025-12-23 11:11 ` [PATCH 3/9] clone: make filter_options local to cmd_clone() Christian Couder
2025-12-23 11:11 ` [PATCH 4/9] fetch: make filter_options local to cmd_fetch() Christian Couder
2026-01-07 10:05   ` Patrick Steinhardt
2025-12-23 11:11 ` [PATCH 5/9] doc: fetch: document `--filter=<filter-spec>` option Christian Couder
2025-12-26 13:33   ` Jean-Noël AVILA
2026-02-04 11:19     ` Christian Couder
2025-12-23 11:11 ` [PATCH 6/9] list-objects-filter-options: support 'auto' mode for --filter Christian Couder
2026-01-07 10:05   ` Patrick Steinhardt
2026-02-04 10:21     ` Christian Couder
2025-12-23 11:11 ` [PATCH 7/9] list-objects-filter-options: implement auto filter resolution Christian Couder
2026-01-07 10:05   ` Patrick Steinhardt
2026-02-04 10:29     ` Christian Couder
2026-02-11 11:48       ` Patrick Steinhardt
2026-02-12 10:07         ` Christian Couder
2025-12-23 11:11 ` [PATCH 8/9] promisor-remote: keep advertised filter in memory Christian Couder
2026-01-07 10:05   ` Patrick Steinhardt
2026-02-04 10:57     ` Christian Couder
2026-02-11 11:48       ` Patrick Steinhardt
2026-02-11 16:59         ` Junio C Hamano
2026-02-12 10:07           ` Christian Couder
2025-12-23 11:11 ` [PATCH 9/9] fetch-pack: wire up and enable auto filter logic Christian Couder
2026-01-07 10:05   ` Patrick Steinhardt
2026-02-04 11:06     ` Christian Couder
2026-02-04 11:08 ` [PATCH v2 0/8] Implement `promisor.storeFields` and `--filter=auto` Christian Couder
2026-02-04 11:08   ` [PATCH v2 1/8] promisor-remote: refactor initialising field lists Christian Couder
2026-02-04 11:08   ` [PATCH v2 2/8] promisor-remote: allow a client to store fields Christian Couder
2026-02-04 11:08   ` [PATCH v2 3/8] clone: make filter_options local to cmd_clone() Christian Couder
2026-02-04 11:08   ` [PATCH v2 4/8] fetch: make filter_options local to cmd_fetch() Christian Couder
2026-02-04 11:08   ` [PATCH v2 5/8] doc: fetch: document `--filter=<filter-spec>` option Christian Couder
2026-02-11 11:48     ` Patrick Steinhardt
2026-02-12 10:06       ` Christian Couder
2026-02-04 11:08   ` [PATCH v2 6/8] list-objects-filter-options: support 'auto' mode for --filter Christian Couder
2026-02-04 11:08   ` [PATCH v2 7/8] promisor-remote: keep advertised filters in memory Christian Couder
2026-02-04 11:08   ` [PATCH v2 8/8] fetch-pack: wire up and enable auto filter logic Christian Couder
2026-02-11 11:48     ` Patrick Steinhardt
2026-02-12 10:07       ` Christian Couder
2026-02-12 10:08   ` [PATCH v3 0/9] Implement `promisor.storeFields` and `--filter=auto` Christian Couder
2026-02-12 10:08     ` [PATCH v3 1/9] promisor-remote: refactor initialising field lists Christian Couder
2026-02-12 10:08     ` [PATCH v3 2/9] promisor-remote: allow a client to store fields Christian Couder
2026-02-12 10:08     ` [PATCH v3 3/9] clone: make filter_options local to cmd_clone() Christian Couder
2026-02-12 10:08     ` [PATCH v3 4/9] fetch: make filter_options local to cmd_fetch() Christian Couder
2026-02-12 10:08     ` [PATCH v3 5/9] doc: fetch: document `--filter=<filter-spec>` option Christian Couder
2026-02-12 10:08     ` [PATCH v3 6/9] list-objects-filter-options: support 'auto' mode for --filter Christian Couder
2026-02-14  2:35       ` Jeff King
2026-02-16 13:26         ` Christian Couder
2026-02-12 10:08     ` [PATCH v3 7/9] promisor-remote: keep advertised filters in memory Christian Couder
2026-02-12 10:08     ` [PATCH v3 8/9] promisor-remote: change promisor_remote_reply()'s signature Christian Couder
2026-02-13 11:25       ` Patrick Steinhardt
2026-02-12 10:08     ` [PATCH v3 9/9] fetch-pack: wire up and enable auto filter logic Christian Couder
2026-02-13 11:26       ` Patrick Steinhardt
2026-02-13 11:26     ` [PATCH v3 0/9] Implement `promisor.storeFields` and `--filter=auto` Patrick Steinhardt
2026-02-16 13:23     ` [PATCH v4 " Christian Couder
2026-02-16 13:23       ` [PATCH v4 1/9] promisor-remote: refactor initialising field lists Christian Couder
2026-02-16 13:23       ` [PATCH v4 2/9] promisor-remote: allow a client to store fields Christian Couder
2026-02-16 13:23       ` [PATCH v4 3/9] clone: make filter_options local to cmd_clone() Christian Couder
2026-02-16 13:23       ` [PATCH v4 4/9] fetch: make filter_options local to cmd_fetch() Christian Couder
2026-02-16 13:23       ` [PATCH v4 5/9] doc: fetch: document `--filter=<filter-spec>` option Christian Couder
2026-02-16 13:23       ` [PATCH v4 6/9] list-objects-filter-options: support 'auto' mode for --filter Christian Couder
2026-02-16 13:23       ` [PATCH v4 7/9] promisor-remote: keep advertised filters in memory Christian Couder
2026-02-16 13:23       ` [PATCH v4 8/9] promisor-remote: change promisor_remote_reply()'s signature Christian Couder
2026-02-16 13:23       ` [PATCH v4 9/9] fetch-pack: wire up and enable auto filter logic Christian Couder
2026-04-27 12:41 ` [PATCH v2 0/8] Auto-configure advertised remotes via URL allowlist Christian Couder
2026-04-27 12:41   ` [PATCH v2 1/8] t5710: simplify 'mkdir X' followed by 'git -C X init' Christian Couder
2026-04-27 12:41   ` [PATCH v2 2/8] urlmatch: change 'allow_globs' arg to bool Christian Couder
2026-04-27 12:41   ` [PATCH v2 3/8] urlmatch: add url_normalize_pattern() helper Christian Couder
2026-04-27 12:41   ` [PATCH v2 4/8] promisor-remote: add 'local_name' to 'struct promisor_info' Christian Couder
2026-05-04 11:46     ` Toon Claes
2026-04-27 12:41   ` [PATCH v2 5/8] promisor-remote: introduce promisor.acceptFromServerUrl Christian Couder
2026-04-27 12:41   ` [PATCH v2 6/8] promisor-remote: trust known remotes matching acceptFromServerUrl Christian Couder
2026-05-08 12:45     ` Toon Claes
2026-05-19 15:24       ` Christian Couder
2026-05-11 13:10     ` Toon Claes
2026-05-19 15:25       ` Christian Couder
2026-04-27 12:41   ` [PATCH v2 7/8] promisor-remote: auto-configure unknown remotes Christian Couder
2026-05-11 13:06     ` Toon Claes
2026-05-19 15:25       ` Christian Couder
2026-04-27 12:41   ` [PATCH v2 8/8] doc: promisor: improve acceptFromServer entry Christian Couder
2026-04-27 13:00   ` [PATCH v2 0/8] Auto-configure advertised remotes via URL allowlist Christian Couder
2026-05-19 15:38   ` [PATCH v3 " Christian Couder
2026-05-19 15:38     ` [PATCH v3 1/8] t5710: simplify 'mkdir X' followed by 'git -C X init' Christian Couder
2026-05-19 15:38     ` [PATCH v3 2/8] urlmatch: change 'allow_globs' arg to bool Christian Couder
2026-05-19 15:38     ` [PATCH v3 3/8] urlmatch: add url_normalize_pattern() helper Christian Couder
2026-05-19 15:38     ` [PATCH v3 4/8] promisor-remote: add 'local_name' to 'struct promisor_info' Christian Couder
2026-05-20  0:12       ` Junio C Hamano
2026-05-27 15:33         ` Christian Couder
2026-05-19 15:38     ` [PATCH v3 5/8] promisor-remote: introduce promisor.acceptFromServerUrl Christian Couder
2026-05-19 15:38     ` [PATCH v3 6/8] promisor-remote: trust known remotes matching acceptFromServerUrl Christian Couder
2026-05-23 15:17       ` Kristoffer Haugsbakk
2026-05-27 15:37         ` Christian Couder
2026-05-19 15:38     ` [PATCH v3 7/8] promisor-remote: auto-configure unknown remotes Christian Couder
2026-05-19 15:38     ` [PATCH v3 8/8] doc: promisor: improve acceptFromServer entry Christian Couder
2026-05-27 14:08     ` [PATCH v4 0/8] Auto-configure advertised remotes via URL allowlist Christian Couder
2026-05-27 14:08       ` [PATCH v4 1/8] t5710: simplify 'mkdir X' followed by 'git -C X init' Christian Couder
2026-05-27 14:08       ` [PATCH v4 2/8] urlmatch: change 'allow_globs' arg to bool Christian Couder
2026-05-27 14:08       ` [PATCH v4 3/8] urlmatch: add url_normalize_pattern() helper Christian Couder
2026-05-27 14:08       ` [PATCH v4 4/8] promisor-remote: add 'local_name' to 'struct promisor_info' Christian Couder
2026-05-27 14:08       ` [PATCH v4 5/8] promisor-remote: introduce promisor.acceptFromServerUrl Christian Couder
2026-05-27 14:08       ` [PATCH v4 6/8] promisor-remote: trust known remotes matching acceptFromServerUrl Christian Couder
2026-05-27 14:08       ` [PATCH v4 7/8] promisor-remote: auto-configure unknown remotes Christian Couder
2026-05-27 14:08       ` [PATCH v4 8/8] doc: promisor: improve acceptFromServer entry Christian Couder
2026-06-09  8:01       ` [PATCH v4 0/8] Auto-configure advertised remotes via URL allowlist Toon Claes
2026-06-09  8:30         ` Christian Couder
2026-06-09 12:25           ` Toon Claes [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877bo7294j.fsf@emacs.iotcl.com \
    --to=toon@iotcl.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=karthik.188@gmail.com \
    --cc=kristofferhaugsbakk@fastmail.com \
    --cc=me@ttaylorr.com \
    --cc=newren@gmail.com \
    --cc=ps@pks.im \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.