Subject: Re: [scim] [Technical Errata Reported] RFC7644 (4670)

From: Phil Hunt <[email-masked]>
Date: Tue, 10 May 2016 10:50:46 -0700

After some review, I believe this errata report is valid, however the corrective text does not fully address the issue.  

The original text mixed the notion of order or processing vs. order of precedence. I have simplified the introductory sentence and changed the order of items to reflect the text. I believe this correction reflects the way people have implemented the specification.

It should say:
-------
Filters MUST be evaluated using the following order of precedence:
1. Attribute operators (i.e. eq ne co sw ew pr gt ge lt le)
2. Grouping operators
3. Logical operators - where “not” takes precedence over “and”, and which takes precedence over “or”
-------
I have placed grouping operators ahead of logical operators and made attribute operators top priority. In SCIM you cannot use “not” in the middle of an attribute expression.  This processing makes expression like the following work:

filter=userType ne "Employee" and not (emails co "example.com" or
  emails.value co "example.org")

Phil

@independentid
www.independentid.com <http://www.independentid.com/>[email-masked] <mailto:[email-masked]>

> On Apr 15, 2016, at 1:20 PM, RFC Errata System <[email-masked]> wrote:
> 
> The following errata report has been submitted for RFC7644,
> "System for Cross-domain Identity Management: Protocol".
> 
> --------------------------------------
> You may review the report below and at:
> http://www.rfc-editor.org/errata_search.php?rfc=7644&eid=4670
> 
> --------------------------------------
> Type: Technical
> Reported by: Vassilis Michalitsis <[email-masked]>
> 
> Section: 3.4.2.2
> 
> Original Text
> -------------
> Filters MUST be evaluated using the following order of operations, in
>   order of precedence:
> 
>   1.  Grouping operators
> 
>   2.  Logical operators - where "not" takes precedence over "and",
>       which takes precedence over "or"
> 
>   3.  Attribute operators
> 
> Corrected Text
> --------------
> Filters MUST be evaluated using the following order of operations, in
>   order of precedence:
> 
>   1.  Grouping operators
> 
>   2.  Attribute operators
> 
>   3.  Logical operators - where "not" takes precedence over "and",
>       which takes precedence over "or"
> 
> Notes
> -----
> It seems that the precedence of logical and attribute precedence is reversed? The filter filter=title sw "M" and userType eq "Employee" is meant to be interpreted as filter=(title sw "M") and (userType eq "Employee"). 
> This is also the "expected" behaviour consistent with most other languages - with the notable exception of unary "or" which in SCIM is disambiguated as it can only apply to a parenthesized filter expression.
> 
> Instructions:
> -------------
> This erratum is currently posted as "Reported". If necessary, please
> use "Reply All" to discuss whether it should be verified or
> rejected. When a decision is reached, the verifying party (IESG)
> can log in to change the status and edit the report, if necessary. 
> 
> --------------------------------------
> RFC7644 (draft-ietf-scim-api-19)
> --------------------------------------
> Title               : System for Cross-domain Identity Management: Protocol
> Publication Date    : September 2015
> Author(s)           : P. Hunt, Ed., K. Grizzle, M. Ansari, E. Wahlstroem, C. Mortimore
> Category            : PROPOSED STANDARD
> Source              : System for Cross-domain Identity Management
> Area                : Applications and Real-Time
> Stream              : IETF
> Verifying Party     : IESG
> 
> _______________________________________________
> scim mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/scim

---

From: "Leif Johansson" <[email-masked]>
Date: Tue, 10 May 2016 19:55:17 +0200

Others? Should we ask the rfc editor to submit the errata with phils text?

Skickat från min iPhone

> 10 maj 2016 kl. 19:51 skrev Phil Hunt <[email-masked]>:
> 
> www.independentid.com
> [email-masked]

---

From: Kelly Grizzle <[email-masked]>
Date: Wed, 11 May 2016 01:51:19 +0000

I’m happy with Phil’s suggestion.

From: Leif Johansson [mailto:[email-masked]]
Sent: Tuesday, May 10, 2016 12:55 PM
To: Phil Hunt <[email-masked]>
Cc: RFC Errata System <[email-masked]>; Kelly Grizzle <[email-masked]>; [email-masked]; [email-masked]; Chuck Mortimore <[email-masked]>; [email-masked]; [email-masked]; [email-masked]; Morteza Ansari <[email-masked]>; [email-masked]; [email-masked]
Subject: Re: [scim] [Technical Errata Reported] RFC7644 (4670)

Skickat från min iPhone

10 maj 2016 kl. 19:51 skrev Phil Hunt <[email-masked]<mailto:[email-masked]>>:
After some review, I believe this errata report is valid, however the corrective text does not fully address the issue.

It should say:
-------

filter=userType ne "Employee" and not (emails co "example.com<http://example.com>" or

  emails.value co "example.org<http://example.org>")

Phil

@independentid
www.independentid.com<http://www.independentid.com>
[email-masked]<mailto:[email-masked]>

On Apr 15, 2016, at 1:20 PM, RFC Errata System <[email-masked]<mailto:[email-masked]>> wrote:

--------------------------------------
Type: Technical
Reported by: Vassilis Michalitsis <[email-masked]<mailto:[email-masked]>>

Section: 3.4.2.2

Original Text
-------------

  1.  Grouping operators

  3.  Attribute operators

Corrected Text
--------------

  1.  Grouping operators

  2.  Attribute operators

Notes
-----

Instructions:
-------------

_______________________________________________
scim mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/scim