diff --git a/i2p2www/spec/proposals/167-service-records.rst b/i2p2www/spec/proposals/167-service-records.rst index e432980d0a9159c8d10517deee5c025b818d568d..3d14e8985cdf2d179ba8aef94737f1a6d5ff8df2 100644 --- a/i2p2www/spec/proposals/167-service-records.rst +++ b/i2p2www/spec/proposals/167-service-records.rst @@ -5,9 +5,9 @@ Service Records in LS2 :author: zzz :created: 2024-06-22 :thread: http://zzz.i2p/topics/3641 - :lastupdated: 2024-06-28 + :lastupdated: 2025-01-02 :status: Open - :target: 0.9.65 + :target: 0.9.66 .. contents:: @@ -30,8 +30,8 @@ Other possible applications: DNS, GNS, key servers, certificate authorities, tim bittorrent, cryptocurrencies, other peer-to-peer applications. -Related Proposals -================== +Related Proposals and Alternatives +================================== Service Lists -------------- @@ -72,13 +72,15 @@ MX Records SRV records are simply a generic version of MX records for any service. "_smtp._tcp" is the "MX" record. There is no need for MX records if we have SRV records, and MX records -alone does not provide a generic record for any service. +alone do not provide a generic record for any service. Design ====== -Service records are placed in the (currently unused) options section in LS2 [LS2]_. +Service records are placed in the options section in LS2 [LS2]_. +The options section is currently unused, however it will be used when +the tunnel bandwidth proposal [Prop168]_ is implemented. Not supported for LS1. To lookup a service address for a specific hostname or b32, the router fetches the @@ -132,6 +134,10 @@ Defined as follows: Examples `````````` +In LS2 for aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.b32.i2p, pointing to one SMTP server: + +"_smtp._tcp" "1 86400 0 0 25 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.b32.i2p" + In LS2 for aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.b32.i2p, pointing to two SMTP servers: "_smtp._tcp" "1 86400 0 0 25 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.b32.i2p,86400 1 0 25 cccccccccccccccccccccccccccccccccccccccccccc.b32.i2p" @@ -193,6 +199,11 @@ See Recommendations section below. Additional MessageStatusMessage and/or HostReplyMessage error codes related to service lookup may be required and must be added to the [I2CP]_ document. +Possible implementation: Extend HostLookupMessage to add request for +LS2 options for hash, hostname, and destination (request types 2-4). +Extend HostReplyMessage to add the options mapping if requested. +Extend HostReplyMessage with additional error codes. + Configuration is implementation-dependent. We may define standard I2CP options for i2ptunnel and SAM, to be documented in [I2CP-OPTIONS]_. @@ -345,6 +356,9 @@ References .. [Prop123] {{ proposal_url('123') }} +.. [Prop168] + {{ proposal_url('168') }} + .. [REGISTRY] http://www.dns-sd.org/ServiceTypes.html