whoispp-response type: The application/whoispp-response Content-type
Registers a MIME type that carries Whois++ server answers, the other half of a Whois++ transaction in mail.
Daigle, L. and P. Faltstrom, "The application/whoispp-response Content-type", RFC 2958, DOI 10.17487/RFC2958, October 2000, <https://www.rfc-editor.org/info/rfc2958>.
@misc{rfc2958,
series = {Request for Comments},
number = 2958,
howpublished = {RFC 2958},
publisher = {RFC Editor},
doi = {10.17487/RFC2958},
url = {https://www.rfc-editor.org/info/rfc2958},
author = {L. Daigle and P. Faltstrom},
title = {{The application/whoispp-response Content-type}},
pagetotal = 6,
year = 2000,
month = oct,
} RFC text
Contents
Network Working Group L. Daigle
Request for Comments: 2958 Thinking Cat Enterprises
Category: Informational P. Faltstrom
Cisco Systems Inc.
October 2000
The application/whoispp-response Content-type
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract
This document defines the expression of Whois++ protocol (RFC1835)
responses within MIME (Multipurpose Internet Mail Extensions)
(RFC2046) media types. The intention of this document, in
conjunction with RFC 2957 is to enable MIME-enabled mail software,
and other systems using Internet media types, to carry out Whois++
transactions.
1. MIME Registration Information
To: iana@isi.edu Subject: Registration of MIME media type
application/whoispp-response
MIME Type name: Application
MIME subtype name: whoispp-response
Required parameters: none
Optional parameters: none
Encoding considerations: Any valid MIME encodings may be used
Security considerations: This content-type contains purely
descriptive information (i.e., no directives). There are security
considerations with regards to the appropriateness (privacy) of
information provided through the use of this content-type, and the
authenticity of the information so-provided. This content-type
provides no native mechanisms for authentication.
Published specification: this document
Person & email address to contact for further information:
Leslie L. Daigle
leslie@thinkingcat.com
Intended usage: common
2. whoispp-response Syntax
The following grammar, which uses ABNF-like notation as defined in
[RFC2234], defines a subset of responses expected from a Whois++
server upon receipt of a valid Whois++ query. As such, it describes
the expected structure of a whoispp-response media type object.
N.B.: As outlined in the ABNF definition, rule names and string
literals are in the US-ASCII character set, and are case-insensitive.
server = goodmessage mnl output mnl endmessage nl
/ badmessage nl endmessage nl
output = full / abridged / summary / handle
full = 0*(full-record / server-to-ask)
abridged = 0*(abridged-record / server-to-ask)
summary = summary-record
handle = 0*(handle-record / server-to-ask)
full-record = "# FULL " template serverhandle localhandle
system-nl
1*(fulldata system-nl)
"# END" system-nl
abridged-record = "# ABRIDGED " template serverhandle localhandle
system-nl
abridgeddata
"# END" system-nl
summary-record = "# SUMMARY " serverhandle system-nl
summarydata
"# END" system-nl
handle-record = "# HANDLE " template serverhandle localhandle
system-nl
server-to-ask = "# SERVER-TO-ASK " serverhandle system-nl
server-to-askdata
"# END" system-nl
fulldata = " " attributename ": " attributevalue
abridgeddata = " " 0*( attributevalue / tab )
summarydata = " Matches: " number system-nl
[" Referrals: " number system-nl]
" Templates: " template 0*( system-nl "-"
template)
server-to-ask-data = " Server-Handle:" serverhandle system-nl
" Host-Name: " hostname system-nl
" Host-Port: " number system-nl
[" Protocol: " prot system-nl]
0*(" " labelstring ": " labelstring system-nl)
attributename = 1*attrbyte
attrbyte = <%d33-127 except specialbyte>
attributevalue = longstring
template = labelstring
serverhandle = labelstring
localhandle = labelstring
hostname = labelstring
prot = labelstring
longstring = bytestring 0*( nl ( "+" / "-" ) bytestring )
bytestring = 0*charbyte
labelstring = 0*restrictedbyte
restrictedbyte = <%d32-%d255 except specialbyte>
charbyte = <%d32-%d255 except nl>
specialbyte = ":" / " " / tab / nl
tab = %d09
mnl = 1*system-nl
system-nl = nl [ 1*(message nl) ]
nl = %d13 %d10
message = [1*( messagestart "-" bytestring nl)]
messagestart " " bytestring nl
messagestart = "% " digit digit digit
goodmessage = [1*( goodmessagestart "-" bytestring nl)]
goodmessagestart " " bytestring nl
goodmessagestart= "% 200"
messagestart = "% " digit digit digit
badmessage = [1*( badmessagestart "-" bytestring nl)]
badmessagestart " " bytestring nl
badmessagestart = "% 5" digit digit
endmessage = endmessageclose
endmessageclose = [endmessagestart " " bytestring nl]
byemessage
endmessagestart = "% 226"
byemessage = byemessagestart " " bytestring nl
endmessagestart = "% 203"
number = 1*( digit )
digit = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7"
/ "8" / "9"
3. Security Considerations
Security issues are discussed in section 1.
4. References
[ALVE95] Alvestrand H., "Tags for the Identification of Languages",
RFC 1766, March 1995.
[RFC2234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997.
[RFC2957] Daigle, L. and P. Faltstrom, "The application/whoispp-query
Content-Type", RFC 2957, October 2000.
[RFC1835] Deutsch, P., Schoultz R., Faltstrom P. and C. Weider,
"Architecture of the WHOIS++ service", RFC 1835, August
1995.
[HARR85] Harrenstein, K., Stahl, M. and E. Feinler, "NICNAME/WHOIS",
RFC 954, October 1985.
[POST82] Postel J., "Simple Mail Transfer Protocol", STD 10, RFC
821, August 1982.
[IIIR] Weider C. and P. Deutsch, "A Vision of an Integrated
Internet Information Service", RFC 1727, December 1994.
[WINDX] Weider, C., Fullton J. and S. Spero, "Architecture of the
Whois++ Index Service", RFC 1913, February 1996.
5. Authors' Addresses
Leslie L. Daigle
Thinking Cat Enterprises
Email: leslie@thinkingcat.com
Patrik Faltstrom
Cisco Systems Inc
170 W Tasman Drive SJ-13/2
San Jose CA 95134
USA
EMail: paf@cisco.com
URL: http://www.cisco.com
6. Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
AI ELI5
On this page
§1What the Type Is For
RFC 2958 defines how responses of the Whois++ protocol (RFC 1835) are expressed as a MIME media type (RFC 2046). Together with RFC 2957, which defines the query type, it is meant to let MIME-enabled mail software and other systems that use Internet media types carry out Whois++ transactions.
The questions have their own label in the sister memo. This memo labels the answers that come back.
§2The MIME Registration
Section 1 is a registration template addressed to IANA. The type name is application and the subtype is whoispp-response. There are no required or optional parameters, any valid MIME encodings may be used, the published specification is the RFC itself, and the intended usage is common.
This is the form that gets the new label added to the official list of labels.
§3Response Structure
The grammar uses the ABNF-like notation of RFC 2234 and defines a subset of the responses expected from a Whois++ server after a valid query. A server response is either a good message, then the output, then an end message, or a bad message followed by an end message. Lines end with CR LF.
The output is one of four forms, matching the query's format constraint: full, abridged, summary or handle. Full, abridged and handle output can also include server-to-ask records that refer the client to another server.
Each record is a block that starts with a marker line and ends with an END line. The markers are the words FULL, ABRIDGED, SUMMARY, HANDLE and SERVER-TO-ASK, each written after a hash sign. Full records hold attribute name and value lines; a summary record reports Matches, an optional Referrals count and the templates; a server-to-ask record gives the server handle, host name, host port and optionally a protocol.
An answer is a stack of cards. Each card starts with a title line, lists its facts, and ends with a line saying END.
server = goodmessage mnl output mnl endmessage nl
/ badmessage nl endmessage nl
output = full / abridged / summary / handle
full-record = "# FULL " template serverhandle localhandle
system-nl
1*(fulldata system-nl)
"# END" system-nl
summary-record = "# SUMMARY " serverhandle system-nl
summarydata
"# END" system-nl§4Status Messages
Response lines that start with % and a three-digit number carry status messages, which may be several lines long. A good response begins with a % 200 message, while a bad response begins with a message starting % 5 followed by two digits. The grammar also lists % 226 and % 203 as start markers for the closing messages.
The syntax allows such messages to appear between records, so a client can separate data lines from status lines by the leading %.
Lines beginning with a percent sign are notes from the server, like "all good" at the start or a goodbye at the end.
§5Security Considerations
The type carries purely descriptive information with no directives. The RFC notes concerns about the appropriateness (privacy) of the information provided and about its authenticity, and says the content type provides no native mechanisms for authentication.
The label does not prove an answer is true or that it is safe to share, so those checks have to happen elsewhere.