- 30 Apr, 2019 1 commit
-
-
Taylor Yu authored
Split the core reply formatting code out of control_fmt.c into control_proto.c. The remaining code in control_format.c deals with specific subsystems and will eventually move to join those subsystems.
-
- 25 Apr, 2019 13 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
This makes it match control-spec.txt.
-
Nick Mathewson authored
-
Nick Mathewson authored
Now that the legacy handlers are gone, we can simplify the structures and macros here.
-
Nick Mathewson authored
These two presented their own challenge, because of their use of QString, and their distinguished handling of quoted versus non-quoted values.
-
Nick Mathewson authored
This command does not fit perfectly with the others, since its second argument is optional and may contain equal signs. Still, it's probably better to squeeze it into the new metaformat, since doing so allows us to remove several pieces of the old command-parsing machinery.
-
Nick Mathewson authored
Here we get to throw away a LOT of unused code, since most of the old parsing was redundant with kvline.
-
Nick Mathewson authored
-
Nick Mathewson authored
This should let us handle all (or nearly all) of the remaining commands.
-
Nick Mathewson authored
-
Nick Mathewson authored
(This should be all of the command that work nicely with positional arguments only.) Some of these commands should probably treat extra arguments as incorrect, but for now I'm trying to be careful not to break any existing users.
-
Nick Mathewson authored
The first line break in particular was mishandled: it was discarded if no arguments came before it, which made it impossible to distinguish arguments from the first line of the body. To solve this, we need to allocate a copy of the command rather than using NUL to separate it, since we might have "COMMAND\n" as our input. Fixes ticket 29984.
-
Nick Mathewson authored
There _is_ an underlying logic to these commands, but it isn't wholly uniform, given years of tweaks and changes. Fortunately I think there is a superset that will work. This commit adds a parser for some of the most basic cases -- the ones currently handled by getargs_helper() and some of the object-taking ones. Soon will come initial tests; then I'll start using the parser. After that, I'll expand the parser to handle the other cases that come up in the controller protocol.
-
- 12 Apr, 2019 3 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
Use a table-based lookup to find the right command handler. This will serve as the basement for several future improvements, as we improve the API for parsing commands.
-
- 25 Mar, 2019 3 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
Also, split the formatting code shared by control.c and control_events.c into controller_fmt.c.
-
- 24 Jan, 2019 1 commit
-
-
Neel Chauhan authored
-
- 16 Jan, 2019 2 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- 03 Jan, 2019 1 commit
-
-
rl1987 authored
-
- 21 Dec, 2018 1 commit
-
-
Taylor Yu authored
Add a publish-subscribe subsystem to publish messages about changes to origin circuits. Functions in circuitbuild.c and circuitlist.c publish messages to this subsystem. Move circuit event constants out of control.h so that subscribers don't have to include all of control.h to take actions based on messages they receive. Part of ticket 27167.
-
- 20 Dec, 2018 3 commits
-
-
Nick Mathewson authored
This makes it consistent with base64_decode(). Closes ticket 28913.
-
Alexander Færøy authored
This patch adds support for the new STATUS message that PT's can emit from their standard out. The STATUS message uses the `config_line_t` K/V format that was recently added in Tor. See: https://bugs.torproject.org/28846
-
Alexander Færøy authored
This patch changes the LOG pluggable transport message to use the recent K/V parser that landed in Tor. This allows PT's to specify the log severity level as well as the message. A mapping between the PT log severity levels and Tor's log serverity level is provided. See: https://bugs.torproject.org/28846
-
- 18 Dec, 2018 1 commit
-
-
Nick Mathewson authored
This reverts commit 1b855af5.
-
- 17 Dec, 2018 2 commits
-
-
This patch changes our EVENT_TRANSPORT_LOG event to be EVENT_PT_LOG. The new message includes the path to the PT executable instead of the transport name, since one PT binary can include multiple transport they sometimes might need to log messages that are not specific to a given transport. See: https://bugs.torproject.org/28179
-
This patch adds support for the "LOG" protocol message from a pluggable transport. This allows pluggable transport developers to relay log messages from their binary to Tor, which will both emit them as log messages from the Tor process itself, but also pass them on via the control port. See: https://bugs.torproject.org/28180 See: https://bugs.torproject.org/28181 See: https://bugs.torproject.org/28182
-
- 14 Dec, 2018 1 commit
-
-
Nick Mathewson authored
Closes ticket 28843.
-
- 10 Dec, 2018 1 commit
-
-
Taylor Yu authored
Add the bootstrap tag name to the log messages, so people troubleshooting connection problems can look up a symbol instead of a number. Closes ticket 28731.
-
- 30 Nov, 2018 1 commit
-
-
Taylor Yu authored
Part of ticket 27402.
-
- 19 Nov, 2018 1 commit
-
-
Taylor Yu authored
Reset the added bootstrap tracking state introduced by ticket 27169. Fixes bug 28524; bugfix on 0.3.5.1-alpha.
-
- 15 Nov, 2018 2 commits
-
-
Nick Mathewson authored
This patch implements all of 28337, except for the part where we turn off the role if we've been idle for a long time.
-
Nick Mathewson authored
Part of making extra-dormant mode work; closes ticket 28421.
-
- 14 Nov, 2018 1 commit
-
-
Nick Mathewson authored
-
- 05 Nov, 2018 1 commit
-
-
Nick Mathewson authored
-
- 01 Oct, 2018 1 commit
-
-
Nick Mathewson authored
-