On Mon, 15 Sep 2003, Mark Crispin wrote:
> > Where in RFC3501 does it say that the server needs to maintain this
> > trailing-hierarchy-separator convention?
>
> The semantics of hierarchy vis a vis % were discussed in great deal in the
> IMAP WG. You might want to review some of the old messages. As I recall,
> your predecessors in the Cyrus project advocated this behavior.
I have reviewed the mailing list archives of subjects that appeared to be
applicable, and I didn't find much (if any) discussion of trailing
hierarchy separators. Perhaps you could give a reference that favors
this particular behavior.
As it is, I don't see any documentation of it in the current
specification, which is really all that matters. And, FWIW, Cyrus itself
doesn't behave in the way you suggest "my predecessors" advocated
(at least, not in anything close to a recent version). Which, in the end,
doesn't matter, since its a behavior that isn't in the specification
anyway (and is pretty silly to boot).
> If the server does not show foo/ in response to foo/%, that indicates
> to the client that foo does not exist as a level of hierarchy.
No, it doesn't. If a client wants to know what is in the top level of the
hierarchy, it should search do a 'LIST "" "%"'. If it wants to know whats
in the second level of hierarchy, below "foo" it should do
'LIST "" "foo/%"' and so forth.
This is even what is advocated by RFC2683 by clients trying to determine
the hierarchy (and there's even an applicable example in 2683 -- the only
similar example I've been able to find in an RFC):
C: 002 LIST "" Banana/%
S: * LIST () "/" Banana/Apple
S: * LIST ...etc...
S: 002 OK done
I don't see "Banana/" listed here anywhere. Maybe it was confusingly
hidden in the ...etc... part -- or this could be a 'badly behaved'
server that isn't keeping itself consistent. I'd like to think that this
RFC wasn't written to demonstrate bad or incomplete behavior.
> If servers can pick and choose whether or not to show foo/, the result
> would be that the client does not know what is going on and will either
> have to guess or do more work. The result would be that IMAP is a less
> useful protocol.
Then its just too bad that the specification doesn't talk about this at
all. Since because of that we're in a situation where there is wide
deployment of servers that don't show "foo/" in response to a LIST query
of "foo/%".
-Rob
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Rob Siemborski | Andrew Systems Group * Research Systems Programmer
PGP:0x5CE32FCC | Cyert Hall 207 * [EMAIL PROTECTED] * 412.268.7456
-----BEGIN GEEK CODE BLOCK----
Version: 3.12
GCS/IT/CM/PA d- s+: a-- C++++$ ULS++++$ P+++$ L+++(++++) E W+ N o? K-
w O- M-- V-- PS+ PE++ Y+ PGP+ t+@ 5+++ R@ tv-@ b+ DI+++ G e h r- y?
------END GEEK CODE BLOCK-----