* Problem accessing git.kernel.org with git v2.33 plus gitproxy @ 2021-08-30 16:11 Kirill A. Shutemov 2021-08-30 16:35 ` Konstantin Ryabitsev ` (3 more replies) 0 siblings, 4 replies; 12+ messages in thread From: Kirill A. Shutemov @ 2021-08-30 16:11 UTC (permalink / raw) To: git; +Cc: Andy Shevchenko, Konstantin Ryabitsev Hi folks, I've stepped on a problem after upgrading git to v2.33.0. git fetch-pack fails with an error: fetch-pack: unexpected disconnect while reading sideband packet It only happens when I access git.kernel.org over git:// (github over git:// works fine) and if there's a gitproxy configured. For test I used a dummy gitproxy: #!/bin/sh -efu socat - "TCP:$1:$2" It is enough to trigger the issue. I'm not sure if it's kernel.org problem or git problem. Has anybody else stepped on the issue? Any clues? -- Kirill A. Shutemov ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem accessing git.kernel.org with git v2.33 plus gitproxy 2021-08-30 16:11 Problem accessing git.kernel.org with git v2.33 plus gitproxy Kirill A. Shutemov @ 2021-08-30 16:35 ` Konstantin Ryabitsev 2021-08-30 17:46 ` Pratyush Yadav ` (2 subsequent siblings) 3 siblings, 0 replies; 12+ messages in thread From: Konstantin Ryabitsev @ 2021-08-30 16:35 UTC (permalink / raw) To: Kirill A. Shutemov; +Cc: git, Andy Shevchenko On Mon, Aug 30, 2021 at 07:11:49PM +0300, Kirill A. Shutemov wrote: > I've stepped on a problem after upgrading git to v2.33.0. git fetch-pack > fails with an error: > > fetch-pack: unexpected disconnect while reading sideband packet > > It only happens when I access git.kernel.org over git:// (github over > git:// works fine) and if there's a gitproxy configured. > > For test I used a dummy gitproxy: > > #!/bin/sh -efu > socat - "TCP:$1:$2" > > It is enough to trigger the issue. > > I'm not sure if it's kernel.org problem or git problem. For the record, the git.kernel.org server-side version is 2.31.1 and it is invoked via the usual xinetd straight to git-daemon with the following flags: server_args = --interpolated-path=/var/lib/git/%H%D --init-timeout=10 --timeout=600 --export-all --syslog --inetd --verbose -K ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem accessing git.kernel.org with git v2.33 plus gitproxy 2021-08-30 16:11 Problem accessing git.kernel.org with git v2.33 plus gitproxy Kirill A. Shutemov 2021-08-30 16:35 ` Konstantin Ryabitsev @ 2021-08-30 17:46 ` Pratyush Yadav 2021-08-30 18:04 ` Kirill A. Shutemov 2021-08-30 18:16 ` Jeff King 3 siblings, 0 replies; 12+ messages in thread From: Pratyush Yadav @ 2021-08-30 17:46 UTC (permalink / raw) To: Kirill A. Shutemov; +Cc: git, Andy Shevchenko, Konstantin Ryabitsev On 30/08/21 07:11PM, Kirill A. Shutemov wrote: > Hi folks, > > I've stepped on a problem after upgrading git to v2.33.0. git fetch-pack > fails with an error: > > fetch-pack: unexpected disconnect while reading sideband packet > > It only happens when I access git.kernel.org over git:// (github over > git:// works fine) and if there's a gitproxy configured. > > For test I used a dummy gitproxy: > > #!/bin/sh -efu > socat - "TCP:$1:$2" > > It is enough to trigger the issue. > > I'm not sure if it's kernel.org problem or git problem. > > Has anybody else stepped on the issue? Any clues? I can reproduce it on my computer at work, which needs to sit behind a proxy. Not too sure what is causing it though. -- Regards, Pratyush Yadav ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem accessing git.kernel.org with git v2.33 plus gitproxy 2021-08-30 16:11 Problem accessing git.kernel.org with git v2.33 plus gitproxy Kirill A. Shutemov 2021-08-30 16:35 ` Konstantin Ryabitsev 2021-08-30 17:46 ` Pratyush Yadav @ 2021-08-30 18:04 ` Kirill A. Shutemov 2021-08-30 18:29 ` Andy Shevchenko 2021-08-30 18:16 ` Jeff King 3 siblings, 1 reply; 12+ messages in thread From: Kirill A. Shutemov @ 2021-08-30 18:04 UTC (permalink / raw) To: git, Jeff King Cc: Andy Shevchenko, Konstantin Ryabitsev, Greg Pflaum, Junio C Hamano On Mon, Aug 30, 2021 at 07:11:50PM +0300, Kirill A. Shutemov wrote: > Hi folks, > > I've stepped on a problem after upgrading git to v2.33.0. git fetch-pack > fails with an error: > > fetch-pack: unexpected disconnect while reading sideband packet > > It only happens when I access git.kernel.org over git:// (github over > git:// works fine) and if there's a gitproxy configured. > > For test I used a dummy gitproxy: > > #!/bin/sh -efu > socat - "TCP:$1:$2" > > It is enough to trigger the issue. > > I'm not sure if it's kernel.org problem or git problem. > > Has anybody else stepped on the issue? Any clues? I've bisected the issue to commit ae1a7eefffe6 ("fetch-pack: signal v2 server that we are done making requests") -- Kirill A. Shutemov ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem accessing git.kernel.org with git v2.33 plus gitproxy 2021-08-30 18:04 ` Kirill A. Shutemov @ 2021-08-30 18:29 ` Andy Shevchenko 2021-08-30 18:30 ` Andy Shevchenko 0 siblings, 1 reply; 12+ messages in thread From: Andy Shevchenko @ 2021-08-30 18:29 UTC (permalink / raw) To: Kirill A. Shutemov Cc: git, Jeff King, Konstantin Ryabitsev, Greg Pflaum, Junio C Hamano On Mon, Aug 30, 2021 at 09:04:33PM +0300, Kirill A. Shutemov wrote: > On Mon, Aug 30, 2021 at 07:11:50PM +0300, Kirill A. Shutemov wrote: > > Hi folks, > > > > I've stepped on a problem after upgrading git to v2.33.0. git fetch-pack > > fails with an error: > > > > fetch-pack: unexpected disconnect while reading sideband packet > > > > It only happens when I access git.kernel.org over git:// (github over > > git:// works fine) and if there's a gitproxy configured. > > > > For test I used a dummy gitproxy: > > > > #!/bin/sh -efu > > socat - "TCP:$1:$2" > > > > It is enough to trigger the issue. > > > > I'm not sure if it's kernel.org problem or git problem. > > > > Has anybody else stepped on the issue? Any clues? > > I've bisected the issue to commit > > ae1a7eefffe6 ("fetch-pack: signal v2 server that we are done making requests") Thanks, Kirill! Are you going to report it to the Git community? -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem accessing git.kernel.org with git v2.33 plus gitproxy 2021-08-30 18:29 ` Andy Shevchenko @ 2021-08-30 18:30 ` Andy Shevchenko 0 siblings, 0 replies; 12+ messages in thread From: Andy Shevchenko @ 2021-08-30 18:30 UTC (permalink / raw) To: Kirill A. Shutemov Cc: git, Jeff King, Konstantin Ryabitsev, Greg Pflaum, Junio C Hamano On Mon, Aug 30, 2021 at 09:29:54PM +0300, Andy Shevchenko wrote: > On Mon, Aug 30, 2021 at 09:04:33PM +0300, Kirill A. Shutemov wrote: > > On Mon, Aug 30, 2021 at 07:11:50PM +0300, Kirill A. Shutemov wrote: > > > Hi folks, > > > > > > I've stepped on a problem after upgrading git to v2.33.0. git fetch-pack > > > fails with an error: > > > > > > fetch-pack: unexpected disconnect while reading sideband packet > > > > > > It only happens when I access git.kernel.org over git:// (github over > > > git:// works fine) and if there's a gitproxy configured. > > > > > > For test I used a dummy gitproxy: > > > > > > #!/bin/sh -efu > > > socat - "TCP:$1:$2" > > > > > > It is enough to trigger the issue. > > > > > > I'm not sure if it's kernel.org problem or git problem. > > > > > > Has anybody else stepped on the issue? Any clues? > > > > I've bisected the issue to commit > > > > ae1a7eefffe6 ("fetch-pack: signal v2 server that we are done making requests") > > Thanks, Kirill! > > Are you going to report it to the Git community? Just realized that this discussion is in the Git community :-) -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem accessing git.kernel.org with git v2.33 plus gitproxy 2021-08-30 16:11 Problem accessing git.kernel.org with git v2.33 plus gitproxy Kirill A. Shutemov ` (2 preceding siblings ...) 2021-08-30 18:04 ` Kirill A. Shutemov @ 2021-08-30 18:16 ` Jeff King 2021-08-30 18:28 ` Kirill A. Shutemov 3 siblings, 1 reply; 12+ messages in thread From: Jeff King @ 2021-08-30 18:16 UTC (permalink / raw) To: Kirill A. Shutemov; +Cc: git, Andy Shevchenko, Konstantin Ryabitsev On Mon, Aug 30, 2021 at 07:11:49PM +0300, Kirill A. Shutemov wrote: > I've stepped on a problem after upgrading git to v2.33.0. git fetch-pack > fails with an error: > > fetch-pack: unexpected disconnect while reading sideband packet > > It only happens when I access git.kernel.org over git:// (github over > git:// works fine) and if there's a gitproxy configured. > > For test I used a dummy gitproxy: > > #!/bin/sh -efu > socat - "TCP:$1:$2" > > It is enough to trigger the issue. > > I'm not sure if it's kernel.org problem or git problem. > > Has anybody else stepped on the issue? Any clues? I can't reproduce the problem here, using core.gitproxy with a script identical to what you showed above. I tried both cloning, and fetching via both git-fetch and git-fetch-pack. Can you show us a more complete example? What does the command that fails look like? What's the repo state before you run it? At what part of the conversation does it fail (before a pack is sent, during, or after)? If you can reproduce it at will and it fails on 2.33 but not earlier, then bisecting might be helpful. -Peff ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem accessing git.kernel.org with git v2.33 plus gitproxy 2021-08-30 18:16 ` Jeff King @ 2021-08-30 18:28 ` Kirill A. Shutemov 2021-08-30 20:37 ` Jeff King 0 siblings, 1 reply; 12+ messages in thread From: Kirill A. Shutemov @ 2021-08-30 18:28 UTC (permalink / raw) To: Jeff King; +Cc: git, Andy Shevchenko, Konstantin Ryabitsev On Mon, Aug 30, 2021 at 02:16:04PM -0400, Jeff King wrote: > On Mon, Aug 30, 2021 at 07:11:49PM +0300, Kirill A. Shutemov wrote: > > > I've stepped on a problem after upgrading git to v2.33.0. git fetch-pack > > fails with an error: > > > > fetch-pack: unexpected disconnect while reading sideband packet > > > > It only happens when I access git.kernel.org over git:// (github over > > git:// works fine) and if there's a gitproxy configured. > > > > For test I used a dummy gitproxy: > > > > #!/bin/sh -efu > > socat - "TCP:$1:$2" > > > > It is enough to trigger the issue. > > > > I'm not sure if it's kernel.org problem or git problem. > > > > Has anybody else stepped on the issue? Any clues? > > I can't reproduce the problem here, using core.gitproxy with a script > identical to what you showed above. I tried both cloning, and fetching > via both git-fetch and git-fetch-pack. Could you try with a kernel repo? git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git I found that not all repos on kernel.org trigger the issue. > Can you show us a more complete example? What does the command that > fails look like? What's the repo state before you run it? At what part > of the conversation does it fail (before a pack is sent, during, or > after)? The last I see sent to the server is "packfile". It is consistent with the bisected commit. Removing close() in do_fetch_pack_v2() helps. > If you can reproduce it at will and it fails on 2.33 but not earlier, > then bisecting might be helpful. I did. See my other mail. -- Kirill A. Shutemov ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem accessing git.kernel.org with git v2.33 plus gitproxy 2021-08-30 18:28 ` Kirill A. Shutemov @ 2021-08-30 20:37 ` Jeff King 2021-08-30 22:42 ` Kirill A. Shutemov 0 siblings, 1 reply; 12+ messages in thread From: Jeff King @ 2021-08-30 20:37 UTC (permalink / raw) To: Kirill A. Shutemov; +Cc: git, Andy Shevchenko, Konstantin Ryabitsev On Mon, Aug 30, 2021 at 09:28:45PM +0300, Kirill A. Shutemov wrote: > > I can't reproduce the problem here, using core.gitproxy with a script > > identical to what you showed above. I tried both cloning, and fetching > > via both git-fetch and git-fetch-pack. > > Could you try with a kernel repo? > > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > > I found that not all repos on kernel.org trigger the issue. Thanks, I was able to reproduce there (but not with git.git). That makes me wonder if it's a race condition of some sort. My reproduction was just: git init git config core.gitproxy /path/to/proxy/script git fetch-pack \ git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git \ refs/heads/master In the meantime, a workaround is: git -c protocol.version=0 fetch-pack ... > > If you can reproduce it at will and it fails on 2.33 but not earlier, > > then bisecting might be helpful. > > I did. See my other mail. Yeah, looks like you found ae1a7eefff (fetch-pack: signal v2 server that we are done making requests, 2021-05-19). I suspected that might be the case. I strace'd the underlying socat, and it does this (numbers on the left are my annotations): select(6, [0 5], [1], [], NULL) = 2 (in [0], out [1]) recvfrom(3, 0x7ffee69f1f50, 519, MSG_DONTWAIT, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable) recvfrom(3, 0x7ffee69f19d0, 519, MSG_DONTWAIT, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable) [0] read(0, "", 8192) = 0 recvfrom(3, 0x7ffee69f19d0, 519, MSG_DONTWAIT, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable) [1] shutdown(5, SHUT_WR) = 0 recvfrom(3, 0x7ffee69f1f50, 519, MSG_DONTWAIT, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable) [2] select(6, [5], [], [], {tv_sec=0, tv_usec=500000}) = 0 (Timeout) recvfrom(3, 0x7ffee69f1f50, 519, MSG_DONTWAIT, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable) [3] shutdown(5, SHUT_RDWR) = 0 recvfrom(3, 0x7ffee69f2240, 519, MSG_DONTWAIT, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable) exit_group(0) = ? Here descriptors 0/1 are the pipes from/to Git, and 5 is the TCP socket connected to the server. The recvfrom() is just noise, I think; socat opens a dgram socketpair(), but doesn't seem to do anything with it. So in [0] we see that Git has hung up half of the pipe, due to the new code in ae1a7eefff. socat then correctly relays the half-duplex shutdown to the server in [1]. At this point it should wait for the server to send the data, and relay it to stdout. And indeed, it does call select() in [2]. But then when it hits the half-second timeout, it shuts down completely! I'm not that familiar with socat, but I've seen the same thing with older versions of netcat: it wants to quit after seeing EOF on stdin. This is useful to prevent deadlock if the server doesn't respond to a half-duplex shutdown. But it's quite the wrong thing to do for a more intelligent protocol. That explains why you see the problem sometimes but not others. It depends how long the server takes before it produces any output, which in turn may depend on things like repo size. You said you didn't see it when fetching from GitHub, but I suspect it is simply that GitHub's server responds a little bit more quickly. In netcat, the fix is to use "-q" (though at least some versions of netcat will wait forever by default these days, so it's not a problem). In socat, it looks like "-t" does the same thing. And indeed, switching the proxy to: socat -t 10 - "TCP:$1:$2" makes the problem go away for me. The 10-second timeout might seem arbitrary, but it should be reliable. Git's server-side has a keep-alive mechanism that sends a packet every 5 seconds, even if no output has been produced yet. So even if the request takes a long time to generate any output, it should be plenty to tell socat that the connection is still live. I am sympathetic that this used to work, and now doesn't. But this proxy case is affected by the problem that ae1a7eefff was solving. The root of the issue is just that "socat" in its default form is not doing the right thing. So I'd prefer not to try to make any change to Git's behavior here. But one option would be to limit it only to ssh, and not git:// proxies (we already don't do that half-duplex shutdown for raw TCP git://, for reasons discussed in that commit message). -Peff ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem accessing git.kernel.org with git v2.33 plus gitproxy 2021-08-30 20:37 ` Jeff King @ 2021-08-30 22:42 ` Kirill A. Shutemov 2021-08-31 6:03 ` Jeff King 0 siblings, 1 reply; 12+ messages in thread From: Kirill A. Shutemov @ 2021-08-30 22:42 UTC (permalink / raw) To: Jeff King; +Cc: git, Andy Shevchenko, Konstantin Ryabitsev On Mon, Aug 30, 2021 at 04:37:50PM -0400, Jeff King wrote: > I am sympathetic that this used to work, and now doesn't. But this proxy > case is affected by the problem that ae1a7eefff was solving. The root of > the issue is just that "socat" in its default form is not doing the > right thing. So I'd prefer not to try to make any change to Git's > behavior here. As a kernel developer I learned hard way that breaking user experience by kernel changes considered a kernel regression, even if userspace "does it wrong"™. I'm not sure what standard of care for Git users is. I'm fine adjusting the proxy script and make my colleagues aware about the issue, but the approach doesn't scale. > But one option would be to limit it only to ssh, and not > git:// proxies (we already don't do that half-duplex shutdown for raw > TCP git://, for reasons discussed in that commit message). I wounder if it's possible to detect the situation, warn the user that gitproxy has to be fixed and retry fetching pack without closing fd[1]. -- Kirill A. Shutemov ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem accessing git.kernel.org with git v2.33 plus gitproxy 2021-08-30 22:42 ` Kirill A. Shutemov @ 2021-08-31 6:03 ` Jeff King 2021-08-31 8:46 ` Andy Shevchenko 0 siblings, 1 reply; 12+ messages in thread From: Jeff King @ 2021-08-31 6:03 UTC (permalink / raw) To: Kirill A. Shutemov; +Cc: git, Andy Shevchenko, Konstantin Ryabitsev On Tue, Aug 31, 2021 at 01:42:15AM +0300, Kirill A. Shutemov wrote: > On Mon, Aug 30, 2021 at 04:37:50PM -0400, Jeff King wrote: > > I am sympathetic that this used to work, and now doesn't. But this proxy > > case is affected by the problem that ae1a7eefff was solving. The root of > > the issue is just that "socat" in its default form is not doing the > > right thing. So I'd prefer not to try to make any change to Git's > > behavior here. > > As a kernel developer I learned hard way that breaking user experience by > kernel changes considered a kernel regression, even if userspace "does it > wrong"™. I'm not sure what standard of care for Git users is. > > I'm fine adjusting the proxy script and make my colleagues aware about the > issue, but the approach doesn't scale. I think we're a little less extreme there than the kernel. Like I said, my preference is to leave Git as-is, but if somebody feels strongly, I don't think it would be that hard to leave core.gitproxy untouched here. I agree it doesn't scale, but my suspicion is that we're talking about an extremely small population here. IMHO we should be considering deprecating git:// entirely (from Git itself, and kernel.org should consider turning it off). In the v2 protocol, there's no advantage to using it over HTTP. > > But one option would be to limit it only to ssh, and not > > git:// proxies (we already don't do that half-duplex shutdown for raw > > TCP git://, for reasons discussed in that commit message). > > I wounder if it's possible to detect the situation, warn the user that > gitproxy has to be fixed and retry fetching pack without closing fd[1]. I don't think it can be easily distinguished from an actual network hangup (or proxy command failure, etc). I would much rather stop doing the close() entirely than add any kind of heuristic retry. -Peff ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem accessing git.kernel.org with git v2.33 plus gitproxy 2021-08-31 6:03 ` Jeff King @ 2021-08-31 8:46 ` Andy Shevchenko 0 siblings, 0 replies; 12+ messages in thread From: Andy Shevchenko @ 2021-08-31 8:46 UTC (permalink / raw) To: Jeff King; +Cc: Kirill A. Shutemov, git, Konstantin Ryabitsev On Tue, Aug 31, 2021 at 02:03:30AM -0400, Jeff King wrote: > On Tue, Aug 31, 2021 at 01:42:15AM +0300, Kirill A. Shutemov wrote: > > On Mon, Aug 30, 2021 at 04:37:50PM -0400, Jeff King wrote: > > > I am sympathetic that this used to work, and now doesn't. But this proxy > > > case is affected by the problem that ae1a7eefff was solving. The root of > > > the issue is just that "socat" in its default form is not doing the > > > right thing. So I'd prefer not to try to make any change to Git's > > > behavior here. > > > > As a kernel developer I learned hard way that breaking user experience by > > kernel changes considered a kernel regression, even if userspace "does it > > wrong"™. I'm not sure what standard of care for Git users is. > > > > I'm fine adjusting the proxy script and make my colleagues aware about the > > issue, but the approach doesn't scale. > > I think we're a little less extreme there than the kernel. Like I said, > my preference is to leave Git as-is, but if somebody feels strongly, I > don't think it would be that hard to leave core.gitproxy untouched here. So far the massive (annoying) Git breakage happened second time to me (*). I would agree with you if it's rare to happen, to me it's like once per ~2 years. So, can you define what the tolerable period of time is when I have to expect a Git breakage next time? (*) First time it was a few years ago when out of a sudden Git started to pull gigabytes of repositories without any need. It was annoying, but tolerable to some extent. Current situation is not better form my user perspective. > I agree it doesn't scale, but my suspicion is that we're talking about > an extremely small population here. IMHO we should be considering > deprecating git:// entirely (from Git itself, and kernel.org should > consider turning it off). In the v2 protocol, there's no advantage to > using it over HTTP. So far don't you need to support current use cases? (Here of course a philosophical question: is a driver moves a car, or the car moves the driver) > > > But one option would be to limit it only to ssh, and not > > > git:// proxies (we already don't do that half-duplex shutdown for raw > > > TCP git://, for reasons discussed in that commit message). > > > > I wounder if it's possible to detect the situation, warn the user that > > gitproxy has to be fixed and retry fetching pack without closing fd[1]. > > I don't think it can be easily distinguished from an actual network > hangup (or proxy command failure, etc). I would much rather stop doing > the close() entirely than add any kind of heuristic retry. -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2021-08-31 8:47 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-08-30 16:11 Problem accessing git.kernel.org with git v2.33 plus gitproxy Kirill A. Shutemov 2021-08-30 16:35 ` Konstantin Ryabitsev 2021-08-30 17:46 ` Pratyush Yadav 2021-08-30 18:04 ` Kirill A. Shutemov 2021-08-30 18:29 ` Andy Shevchenko 2021-08-30 18:30 ` Andy Shevchenko 2021-08-30 18:16 ` Jeff King 2021-08-30 18:28 ` Kirill A. Shutemov 2021-08-30 20:37 ` Jeff King 2021-08-30 22:42 ` Kirill A. Shutemov 2021-08-31 6:03 ` Jeff King 2021-08-31 8:46 ` Andy Shevchenko
Code repositories for project(s) associated with this public inbox https://80x24.org/mirrors/git.git 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 read-only IMAP folder(s) and NNTP newsgroup(s).