[regext] null vs empty string: was Re: rdap mobile app avail

"Marc Blanchet" <marc.blanchet@viagenie.ca> Thu, 29 August 2019 13:43 UTC

Return-Path: <marc.blanchet@viagenie.ca>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4889512007C for <regext@ietfa.amsl.com>; Thu, 29 Aug 2019 06:43:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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=viagenie-ca.20150623.gappssmtp.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 Zwhx2Un3iel1 for <regext@ietfa.amsl.com>; Thu, 29 Aug 2019 06:43:03 -0700 (PDT)
Received: from mail-qt1-x835.google.com (mail-qt1-x835.google.com [IPv6:2607:f8b0:4864:20::835]) (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 86AAD120071 for <regext@ietf.org>; Thu, 29 Aug 2019 06:43:03 -0700 (PDT)
Received: by mail-qt1-x835.google.com with SMTP id b11so3656044qtp.10 for <regext@ietf.org>; Thu, 29 Aug 2019 06:43:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=viagenie-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=2vDb1R60qEN1mo3mUx4XTrgFzY+LwyqpGKlR3KFCxnk=; b=XC0+FmMBMed1dYLW4O/fhnfrjbnyIFZytV4itOUYMFTNgVpQUiBNFFgMy3gSTavA4s CsO3zWNIXhxK46yW5GnRrtZjEzlsvS9wT12bzI8UitLCR22g8amWM3w3YvofF5GpDA9G lFRRil1R4JrRlYXrk2Zg70isOfgjtivtnKIjSZ8WaQmgjhypSGoZM+JXlWTWH83+mXxK snAv2L/pyHQGrpD88wyEpo94p9QRwgoTijVZdad++YSLAsaCHLPnWPQJSg7me1h8mDQW lQUju+xHerAmUse2F5yTl4/x470PreEZANkBq88ubbd3BcZG7or6ZK5NW2wP4VSGQPS+ LJbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=2vDb1R60qEN1mo3mUx4XTrgFzY+LwyqpGKlR3KFCxnk=; b=eRhiUtFDnBh6BRCo2FF8mqptCUMax7SOtYGUEqRuCnNxPBTnT1O5/tairgiCj4mi0r h30XRfDN/zKDteu4wYBw5ReXtVA984YRHOoc6/h773DFsHCnMa3xZS49TYDMfswYCKu3 UWxvML3YGCTWzhWXE/SQlSwLzE/An6aH7nPwfNOucByzwZ0iWRE2NG8dTWiVI5bnkHC4 ARShBtVsaIKY6GUtO4VVom377gNiLCsLvIesBcuDSO9AW3NzfeOm71Jvza3h58TuLrrf aT/WxBNyhYwqbUrwZuMuiYibEMwf//KU694IPq3UoETV6gBi/4paF0s20YE8epBRXjAN B5vw==
X-Gm-Message-State: APjAAAVCgyXNy/ZlpQaceH5TkGb0kvhm9oTRNgR4YDHChaWpNFo9HgeR XEJuU+5TinHsL6UKHAtEizPthfrn3w6qfg==
X-Google-Smtp-Source: APXvYqyo/2Df/LZNz/wU4g+icq6BI8vh+PyAOXpNRD57E/8YVXMIKbeU8Xo+Tm1HhdY3KjfcBNjjZA==
X-Received: by 2002:a0c:f787:: with SMTP id s7mr6303395qvn.18.1567086182453; Thu, 29 Aug 2019 06:43:02 -0700 (PDT)
Received: from [206.123.31.195] (modemcable016.82-162-184.mc.videotron.ca. [184.162.82.16]) by smtp.gmail.com with ESMTPSA id m92sm1313968qte.50.2019.08.29.06.42.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Aug 2019 06:43:00 -0700 (PDT)
From: Marc Blanchet <marc.blanchet@viagenie.ca>
To: Marc Groeneweg <Marc.Groeneweg@sidn.nl>
Cc: regext <regext@ietf.org>
Date: Thu, 29 Aug 2019 09:42:58 -0400
X-Mailer: MailMate (1.12.5r5635)
Message-ID: <05A72760-9669-4FD2-AB05-3C136BC3C2CB@viagenie.ca>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"; markup="markdown"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/gQvPzhSEPaskQGwyKiMxRjjEJZs>
Subject: [regext] null vs empty string: was Re: rdap mobile app avail
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>, <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>, <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Aug 2019 13:43:05 -0000

On 29 Aug 2019, at 4:11, Marc Groeneweg wrote:

> So, we have our implementation live! But how can we make sure (if not 
> ICANN but at least the community) what compliancy means... (e.g. we 
> return a null when we don't have a value and "" when we have an empty 
> string value. The mobile app wants "" in all empty situations... Just 
> an interpretation?).
>

There are many cases. Let’s try to cover them.
a) the server has no value to send. sends empty string as value
b) the server has no value to send. sends null as value
c) the server has no value to send. do not send the member and its value
c) the server has value to send but because of policy (such as GDRP or 
else), the value has to be redacted. In this context, it may want to 
tell the user the data was redacted

I’ve seen all a),b),c) and d).  I’ve only seen b) on your server, 
but that is not the point. let’s try to find the right answer.

As Andy was saying, to me, the server should do c) whenever possible.
However, some members are required by the standard or by policy (icann 
profile). Then either we do a) or b).

I guess RFC7483 and RFC7095 are almost silent on what to do. Except for 
ADR fields:
For ADR member in jCard, RFC7095 says: « Its equivalent in jCard is a 
structured
    property value, which is an array containing one element for each
    text component, with empty/missing text components represented by
    zero-length strings. »

However, some members are redacted and need to be signaled to the user. 
Right now, it is pretty bad, as people are sending all kind of strings 
in caps letter, in one language (en). Given that it is not normalized, I 
can’t find it was redacted and as a client show it nicely. I think we 
need to define some normalized attribute to signal it was redacted.

Marc.