- From: Arthur Barstow <art.barstow@nokia.com>
- Date: Wed, 21 Mar 2007 17:35:31 -0400
- To: public-appformats@w3.org
All,
On Mar 21, 2007, at 2:22 PM, ext Marc Silbey wrote:
> As promised I've included our comments and questions below on Access
> Control. The draft looks very good and the below comments are
> minor. I'm
> looking forward to discussing these in further detail.
On March 21 the WAF WG discussed Marc's comments during a Voice
Conference. Below are the minutes from that discussion.
Regards,
Art Barstow
---
Attendees (ordered by first name): Anne van Kesteren, Art Barstow,
Brad Porter, Cameron McCormack, John Hrvatin, Marc Silbey, Marcos
Caceres, Matt Oshry, Thomas Roessler
Scribe: Cameron
Chair: Art
Discussion:
AB: mark sent some comments to the public list today
... use these 45 minutes for those comments
MS: i'm new to standards body work, so if we need more time to go
through the comments, it's cool
... not surprsiing comments, just minor
... i don't know if we want to spend the time here on them? or maybe
the editors can go through them and comment?
AB: we could go through comment by comment, but have brad/anne had a
look?
<art> http://lists.w3.org/Archives/Public/public-appformats/
2007Mar/0011.html
AV: will brad still be an editor?
BP: no matt will be
AV: didn't seem controversial, except the one that said post was
safe
... the most complicated one is 17, which proposed chnages to the
algorithm. thomas had some comments too about how deny/accept works.
... other than that, it's not just for scripts. cross-site xslt or
something could be a use, too.
... that would change comments 1 and 2
... i already made changes to the nonpublished draft. i don't know
about changing "XML" into "resource", should check that.
BP: maybe we can just go through the issues you see
AV: yep
... thomas do you want to tell them?
TR: the ones that jump out at me are that some people can argue post
is as safe as get, and would be useful
... more discussion on how/when resources can be POSTed
... other is comment 11, where you propose a rewording " [...] allow
and block list "
... those lists aren't in the spec now
BP: block should be deny, sorry
TR: that suggests allow/deny statements are on the same level
... but the current approach is as discussed at the F2F at the TP,
process the allow rules, then the deny rules is scoped by the
preceding rule
... [reads out some text from the draft]
... i'd oppose that change, since it amounts to a different
algorithm
AV: can you give a concrete example where it would differ?
TR: the current approach you can say: allow from *.com except
example.com
... then another rule: allow from a.b.example.com except
www.example.com
... but that except www.example.com is scoped to the "allow from
a.b.example.com"
... so the pairs can be treated in arbitrary order, and that maps
back to the syntax considerations that you get in HTTP headers
... and when you combine the headers
AV: since they're in pairs you can simple rename one to deny
TR: i agree
... the proposal goes beyond that, as i read it
... it's not very clear to me, the current wording defines some
terms
... the proposed rewording doesn't do that
MS: we could remove that sentence there
TR: let's have another look at what that says
MS: should be what's in the spec today, but changing except to deny
AV: i definitely got more comments about "except" being more
annoying than "deny"
TR: i can live with that, as long as the hierarchy is clear
MS: remove the allow and block part
AV: a resource that has the AC policy enabled, consists of a list,
which has tuples, each tuple consists of two lists
<matto> tuple
AV: a tuple represents a set of AC rules, within the tuples you have
an allow list and a set of deny domains
... when you request a resource, you go through all the tuples with
the request domain, see if there's a positive match and no negative
match
... no i'm saying it wrong
... the deny clause only applies if there's a positive match first
MS: that'd be secure by default, right?
AV: that you can process the deny and allow rules in any order, is
not correct
... only if the allow clause says it's ok will you check the deny
rules
TR: can we jump to the matching alg in sec 3 in the WD?
... the numbered item 3 is in the inner layer
AV: hmm?
TR: [reads text]
AV: you run the subalgorithm for each AC rule
TR: number 3 is part of that
... why is that neccessarily correct?
AV: i agree we should redo the numbering, it's confusing
<marcsil> * marcsil switch MS for BP starting with "maybe we can
just go through the issues you see"
TR: you can have 3 on either level actually, it doesn't matter
MS: examples would be good, since it's complex
AB: in order for this spec to get out of CR, we should have some
exhaustive test cases too
... satisfied with that comment?
TR: agreement about comment 11
AB: did you have another comment to raise now?
TR: i only see the comment half an hour ago
AV: I do think the alg in 3 is wrong
... because step 2 should only be executed if step 1 was a match
<tlr> ACTION: anne to fix step 2 in the matching algorithm to only
apply if step 1 matched
<trackbot> Created ACTION-74 - Fix step 2 in the matching algorithm
to only apply if step 1 matched [on Anne van Kesteren - due
2007-03-28].
AB: another level of indentation?
AV: probably not, make another variable or something
TR: i'd suggest go away from numbering it all. "if there is a match
for an item from the allow rule set, then 1. ..."
... move it closer to pseudo code
... would marc mind going through the EBNF in comment 12?
MS: i can try!
... i got this from one of the networking guys, who works with EBNF
for a while
... adding the scheme/port specifier, that's so that it's explicit
there
... the first comment on the access item is just adding those
specifiers
AV: currently the port can't be a wildcard
... same for scheme
MS: when we talked about this we got agreement, if you're going to
trust the entire domain, you can probably trust all of the ports on
it
... it made sense to just be more flexible, to say trust the whole
domain regardless of the port
AV: not sure if it makes sense for scheme
... for http vs https it does
... but if you wanted to be secure you'd put in https
MS: if you're trusting any site, you should trust any port on the
server
... similarly for scheme
... just be more flexible
TR: another one: removal of examples that match your additions?
MS: the example is about an error, no you shouldn't block these
examples
AV: hjow is the first one allowed?
... it's already conforming
... the first example in comment 14
<tlr> " We're concerned that allowing "example.*" wildcarding maybe
unnecessarily flexible and lead to mistakes by web developers"
TR: the conforming/nonconforming examples are spread through
... you don't want example.*, but you want to keep overall
asterisks?
MS: confused
... allowing example.*, it's not specific enough
... a web dev using that may be trying to mean something but
unintentionally opens a hole
... the *.* is similar to that
TR: *.* is similar to that, but you are permitting an * as an access
item
MS: that makes sense, but if you're going to allow asterisks plain,
then it's safe enough for anyone
... when getting more granular you get more flexible, but more
dangerous
AV: last part of the domain has to be a label?
MS: i personally think so
... if we can find an example where that's not true, i'm ok in being
convinced otherwise
... i might have a domain and lots of different schemes
AV: you don't always own all of the top level stuff
TR: there's an org that might add to them
... i'm inclined to agree with it
... broad wildcards are easier to understand, makes sense to me
... smoke it out further in last call
AB: any other views?
MS: might be helpful if there are other WGs to run this by
... maybe in LC, but would be good to get input from other folks
AV: does the provided EBNF solve the issue?
... domain should be label?
TR: no it should be domain...
... label has no dot in it
AV: the last part has to be a label, and the last part is labels
separated by dots
... the last part of the domain pattern has to be a label, the rest
is wildcardlabel separated by dots
... i'm wondering if the EBNF is correct
<tlr> [12]http://ietf.org/rfc/rfc1034
[12] http://ietf.org/rfc/rfc1034
<tlr> <domain> ::= <subdomain> | " "
<tlr> <subdomain> ::= <label> | <subdomain> "." <label>
<tlr> <label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]
TR: domain can be a sudomain or a space
... so i guess we should be using subdomain
MS: trying to allow a star-style wildcard, again it should be
flexible
TR: that's not the question here. the EBNF in the comment refers to
domain from RFC1034, which expands to space or subdomain
... i believe you mean subdomain
... it's a label or a concat of a subdomain "." label, according to
the ebnf in rfc1034
... i don't think you're aiming to allow a space character there?
AV: i don't think subdomain is the right one
TR: in your view which one is right?
AV: a new one
TR: back to reqs discussion
<tlr> www.*.example.com
TR: you want to allow such examples?
AV: this was mainly about the top level domain not being empty or *
MS: *.example.com should be ok
TR: do you want to allow wildcard somewhere in the middle?
... i hear anne proposing that the pattern be able to match
www.*.example.com
... and the syntax that marc proposes would not allow that pattern,
but only *.example.com
... wouldn't be able to have an additional prefix
... personally i don't really care either way, slight preference for
whatever is simpler
MS: what do you prefer anne?
AV: you didn't want to allow toplevel domain to be wildcarded
... i thought that would be a required part
... your proposal only allows * before a certain domain?
MS: you should be able to star subdomains
... are we agreeing?
TR: no you're not
AV: you should be able to say person.*.example.org
... the * in the current proposal only allows one level, it's not a
complete wildcard
... only matches a single label, which should be clear from the
matching alg
MS: is the "person" a "www" or really a subdomain?
... when would you use that?
ftp.au.debian.org
CM: debian mirrors have that form
MS: i'm ok with allowing that if there are actually scenarios using
that form of domain
TR: you now are agreeing, anne to propose new EBNF?
... marc, comment 13 is uncontentious, 14 follows on
... the question about 2.1 is well taken
... and anne needs to fix the bnf and the examples
<tlr> ruleset ::= rule (LWS? "," LWS? rule)+
TR: that's the current bnf
... that one is wrong
<tlr> ruleset ::= 1# rule
TR: we originally wrote it like that
... a mistake when transforming it to EBNF
... i agree on 15
... 16, that deny rules take precedence over any allow rules: this
one would again ...
AV: allow/deny rules are paired
TR: 16 would lift that pairing, and i'd rather keep it
MS: we should just clarify that
... it isn't that deny takes precedence over allow?
TR: denies are scoped to one particular allow rule
MS: the comment should clarify that overall, if there is a deny,
then it takes precedence over an allow
AV: by default, access is denied. then go through each tuple. for a
given tuple, if allow rules say it's allowed, only then check the
deny rules in that tuple. if those deny rules say it's denied,
overall access is denied.
MS: right
AV: if the allow rules don't say allow, but the deny rules might
still match, you just go on to the next tuple
MS: "deny rules take precedence over their paried allow rule"?
AB: make it more explicit
AV: more examples
MS: a summary at the top, to make it clear
AB: time check, need to do 2 extra things
... we could continue this discussion next week?
MS: just comment 17 left
TR: i wouldn't object against getting 17 done today
AB: we'll resume this discussion next week
... can do more discussion on public list too
Received on Wednesday, 21 March 2007 21:35:54 UTC