[torspec/master] Clarify multi-line commands in control spec

commit 361171e63145ecaa5c760ad3ec927a0dc9eec83f Author: Nick Mathewson <nickm@torproject.org> Date: Sun Aug 28 19:35:39 2011 -0400 Clarify multi-line commands in control spec --- control-spec.txt | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/control-spec.txt b/control-spec.txt index 2dd9a92..55f7654 100644 --- a/control-spec.txt +++ b/control-spec.txt @@ -103,11 +103,16 @@ 2.2. Commands from controller to Tor - Command = Keyword Arguments CRLF / "+" Keyword Arguments CRLF Data + Command = Keyword Arguments CRLF / "+" Keyword Arguments CRLF CmdData Keyword = 1*ALPHA Arguments = *(SP / VCHAR) - Specific commands and their arguments are described below in section 3. + A command is either a single line containing a Keyword and arguments, or a + multiline command whose initial keyword begins with +, and whose data + section ends with a single "." on a line of its own. (We use a special + character to distinguish multiline commands so that Tor can correctly parse + multi-line commands that it does not recognize.) Specific commands and + their arguments are described below in section 3. 2.3. Replies from Tor to the controller @@ -175,11 +180,11 @@ Address = ip4-address / ip6-address / hostname (XXXX Define these) - ; A "Data" section is a sequence of octets concluded by the terminating + ; A "CmdData" section is a sequence of octets concluded by the terminating ; sequence CRLF "." CRLF. The terminating sequence may not appear in the ; body of the data. Leading periods on lines in the data are escaped with ; an additional leading period as in RFC 2821 section 4.5.2. - Data = *DataLine "." CRLF + CmdData = *DataLine "." CRLF DataLine = CRLF / "." 1*LineItem CRLF / NonDotItem *LineItem CRLF LineItem = NonCR / 1*CR NonCRLF NonDotItem = NonDotCR / 1*CR NonCRLF
participants (1)
-
nickm@torproject.org