[scim] Filtering against Null Attribute Values

Shelley <randomshelley@gmail.com> Tue, 22 September 2020 18:11 UTC

Return-Path: <randomshelley@gmail.com>
X-Original-To: scim@ietfa.amsl.com
Delivered-To: scim@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 852D93A18CC for <scim@ietfa.amsl.com>; Tue, 22 Sep 2020 11:11:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KgSNsb9WoI59 for <scim@ietfa.amsl.com>; Tue, 22 Sep 2020 11:11:08 -0700 (PDT)
Received: from mail-vs1-xe2d.google.com (mail-vs1-xe2d.google.com [IPv6:2607:f8b0:4864:20::e2d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B78E93A18CD for <scim@ietf.org>; Tue, 22 Sep 2020 11:11:07 -0700 (PDT)
Received: by mail-vs1-xe2d.google.com with SMTP id e2so10852533vsr.7 for <scim@ietf.org>; Tue, 22 Sep 2020 11:11:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=VMV3mre9JNsnfB+N0fXCL0HZ4jWN0tj0hferwHI9giM=; b=dko94xZApUADOxMMGyRHrGMqST+ZZcDQfXYEqOQLeqIRpvWer0byUuHxVP/+mv/m6Z MkUaZshWAQ6pi1Dbnk/MLs1juy0n+07Z7L60ggllqPj5N918NQdO+dkzibQrul2tDWcg CPFsebBvwR+9Ag2CqwoywzsR7w66r5jAHaA4vMaBSH024j4yw1TKMMtdlSmmxEWFtuhW H3wVPIEQqAgqENOgaKKXfd5mQAEC/VlHmIYZl0KMDeq0dfzftEonWIMtBAQaS/rRcg5w Bc0Mip3FO2yjglFBGTujl95/bp+eboMYJmW1pumrzHTgaWLk6g6jvVkP5rfxAEz5im5N HTEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=VMV3mre9JNsnfB+N0fXCL0HZ4jWN0tj0hferwHI9giM=; b=c9qOWjx03Ph3Ci9c7HcJ0ucmKpAYG4dT72qvclp3UgRZHO8/Cr47H3vifZuwuVsGJP cv91Zb7PZu5j9mjrs7rifTI2DvQMa2aAz2oY3FQaYsLr/Cgld95LCA08JPufMBiLryzB lNZ5fvxKwiK6BNIS/6JsWDblIvmuOMn9/mKug8RWnWXf6Zina5o7augatHVLJW2uT8X0 SV2cHHhc/xdXvWAg5zF3Co5qMT+2avAJbFwmHXsevxE1+3bM++xuv7ALnJqGhC949fsD Fe4gc8TZaT9UzdD+nUN1n9ubEiiioOaUmjH2+UqdGylxAaNNZXPyj1luTNzXYZ+Hr/am TvJQ==
X-Gm-Message-State: AOAM533kMNx2kMToSH/izjFtYTviV2tJFWoxGO47Y91J9SjCVW+dGBqW f6q+lDtNhtJFpdajcbwajdnIIet7aIKbcPmytAdb1UMa7wXQ9A==
X-Google-Smtp-Source: ABdhPJzBa4epYAhTfZG0LCGOCyx/tpa2AfWLckyXA7pI/Mxp2HxdQWMsnDRaOfwcZ7sAvz8uBRCgpIYrwg2WUgG4REA=
X-Received: by 2002:a67:69c7:: with SMTP id e190mr4613308vsc.15.1600798266474; Tue, 22 Sep 2020 11:11:06 -0700 (PDT)
MIME-Version: 1.0
From: Shelley <randomshelley@gmail.com>
Date: Tue, 22 Sep 2020 13:10:55 -0500
Message-ID: <CAGUsYPx0Fxj_jWfOpjQA0KzgNWy-+XA4Z8Okfo0u4vpVnkW2dQ@mail.gmail.com>
To: scim@ietf.org
Content-Type: multipart/alternative; boundary="00000000000007c48505afeae484"
Archived-At: <https://mailarchive.ietf.org/arch/msg/scim/bXgbZZZ2Z3KxKMCieCj0qRnnCeI>
Subject: [scim] Filtering against Null Attribute Values
X-BeenThere: scim@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Simple Cloud Identity Management BOF <scim.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/scim>, <mailto:scim-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/scim/>
List-Post: <mailto:scim@ietf.org>
List-Help: <mailto:scim-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/scim>, <mailto:scim-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 22 Sep 2020 18:11:10 -0000

Do the SCIM specifications prescribe any special behavior for filtering and
sorting by attributes that are null/unspecified?

For instance, given an optional user extension attribute for "age" and the
following filters:

   - filter=age lt 18
   - filter=age gt 18

Would either of these filters return a user resource with no specified age,
such that nulls have a prescribed ordering? Or, would both of these filters
exclude all users without specified ages? (And, if it's the latter, what
effect is negation intended to have on the filter?)

This question applies to filters, matching resources during PATCH, sorting,
and other attribute operators as well (e.g. would not (displayName co
"test") match users without display names?).

Thanks in advance for any clarifications!