<div dir="ltr">Yes I did.  Here's the modified proposal.<div><br></div><div><div>Filename: ExtraRelayDescriptorFields.txt</div><div>Title: Adding X-namespace to extra-info descriptor for key:value pairs</div><div>Author: Virgil Griffith</div><div>Created: 2015-09-30</div><div>Status: Open</div><div><br></div><div><br></div><div>1. Motivation</div><div>We wish to allow developers to build new applications atop relays. Towards this end, we wish to add the ability for users to specify arbitrary new key-value entries under the "X-" namespace to the extra-info descriptor.  The canonical applications for this are adding a bitcoin donation address, networking of tor2web nodes, and display operator information on a Roster[1] page.</div><div><br></div><div><br></div><div>2. Proposal</div><div>Allow optional key-value lines in the relay's torrc file.</div><div><br></div><div>The following would be added to section 2.1.2 of the dir-spec [2]</div><div>(Extra-info document format):</div><div><br></div><div>========================================================</div><div>"X-" CustomKey SP CustomValue NL</div><div><br></div><div>CustomKeyChar = "a"-"z" / "0" - "9" / "-" / "_"</div><div>CustomKey = 1*32 CustomKeyChar</div><div><br></div><div>CustomValueChar = atext / specials </div><div>CustomValue = 1*1024 CustomValueChar</div><div><br></div><div>There can be multiple X-fields, for example...</div><div><br></div><div>X-bitcoin 19mP9FKrXqL46Si58pHdhGKow88SUPy1V8</div><div>X-gravatar <a href="https://s.gravatar.com/avatar/d27fce46c9ac41a41bb52455ae75701d">https://s.gravatar.com/avatar/d27fce46c9ac41a41bb52455ae75701d</a></div><div>X-linkedin <a href="https://www.linkedin.com/in/virgilgr">https://www.linkedin.com/in/virgilgr</a></div><div>X-keybase <a href="http://fncuwbiisyh6ak3i.onion/virgil">http://fncuwbiisyh6ak3i.onion/virgil</a></div><div>X-favoritequote Be excellent to each other.  Party on dudes!</div><div>X-foo bar</div><div><br></div><div>The same CustomKey appearing more than once is disallowed.</div><div>Possible values for CustomValueChar as specified per RFC 2822</div><div>sections 3.2.1 and 3.2.4 [3].</div><div><br></div><div>The sum size accounting for all such custom fields is truncated to 5 kilobytes.</div><div>========================================================</div><div><br></div><div>To mitigate the chance of a malformed torrc file, I additionally propose that the relay descriptor be scanned and if it does not match the specification, that it exit with error telling her torrc file is a likely culprit.</div><div><br></div><div>References</div><div>[1] <a href="http://tor-roster.org">http://tor-roster.org</a></div><div>[2] <a href="https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n700">https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n700</a></div><div>[3] <a href="https://www.ietf.org/rfc/rfc2822.txt">https://www.ietf.org/rfc/rfc2822.txt</a></div><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Sep 30, 2015 at 12:49 PM Virgil Griffith <<a href="mailto:i@virgil.gr">i@virgil.gr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Filename: ExtraRelayDescriptorFields.txt</div><div>Title: Adding x-namespace to relay descriptor for key:value pairs</div><div>Author: Virgil Griffith</div><div>Created: 2015-09-30</div><div>Status: Open</div><div><br></div><div><br></div><div>1. Motivation</div><div>We wish to allow developers to build new applications atop relays. Towards this end, we wish to add the ability for users to specify arbitrary new key-value entries under the "X-" namespace to the router descriptor [1].  The canonical applications for this are adding a bitcoin donation address and networking of tor2web nodes.</div><div><br></div><div><br></div><div>2. Proposal</div><div>Allow optional key-value lines in the relay's torrc file.  These lines will be mirrored in the relay's descriptor which is then published in the directory consensus.</div><div><br></div><div><br></div><div>The following would be added to section 2.1.2 of the dir-spec</div><div>(Extra-info document format):</div><div><br></div><div>========================================================</div><div>"X-" CustomKey SP CustomValue NL</div><div><br></div><div>CustomKeyChar = "a"-"z" / "0" - "9" / "-" / "_"</div><div>CustomKey = 1*32 CustomKeyChar</div><div><br></div><div>CustomValueChar = atext / specials </div><div>CustomValue = 1*1024 CustomValueChar</div><div><br></div><div>Custom fields can appear multiple times, for example...</div><div><br></div><div>X-bitcoin 19mP9FKrXqL46Si58pHdhGKow88SUPy1V8</div><div>X-gravatar <a href="https://s.gravatar.com/avatar/d27fce46c9ac41a41bb52455ae75701d" target="_blank">https://s.gravatar.com/avatar/d27fce46c9ac41a41bb52455ae75701d</a></div><div>X-favoritequote Be excellent to each other.  Party on dudes!</div><div>X-foo bar</div><div><br></div><div>If the same CustomKey appearing more than once is disallowed.</div><div>Possible values for CustomValueChar as specified per RFC 2822.</div><div><br></div><div>The sum size accounting for all such custom fields is truncated to 5 kilobytes.</div><div>========================================================</div><div><br></div><div>To mitigate the chance of a malformed torrc file, I additionally propose that the relay descriptor be scanned and if it does not match the specification, that it exit with error telling her torrc file is a likely culprit.</div></div><div dir="ltr"><div><br></div><div>-V</div></div></blockquote></div>