| Commit message (Collapse) | Author | Age |
| | |
|
| |\ |
|
| | |
| |
| |
| |
| | |
TorCtl.get_router can return None if no descriptor is found; added
a test before using.
|
| |/
|
|
|
|
| |
TorCtl may raise an ErrorReply when we try to close a stream that
is not ours. TorBEL will now catch the exception and log the error
message
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Add metadata to CSV format specification and implementation
(query and export). This allows torbel to know what version
of the CSV format to use, allowing for changes in the future
and backward compatibility.
Not implemented yet for the JSON format.
|
| |
|
|
| |
Missing a negative sign in the index.
|
| | |
|
| |
|
|
|
|
|
| |
Reactor would not properly schedule connectTCP calls when
LoopingCall was used.
Might only be an issue with older Twisted versions (from Lenny, circa
8.1.0), but replacing it with callLater seems to work for now.
|
| |
|
|
|
|
|
|
|
| |
A "narrow" port is a port that a router explicitly rejects
our active tester but could possibly accept other traffic;
e.g., from an exit enclave.
Add a NarrowPorts data field in TorBEL exports. Implement
the check, export, and import functionality.
|
| |
|
|
| |
Used older API revision.
|
| | |
|
| | |
|
| |
|
|
|
| |
We now test all ports regardless of what the router's published
exit policy is. The spec should be updated to reflect this.
|
| |
|
|
|
| |
Makes connecting much simpler using the PROTOCOLINFO controller
functionality.
|
| |
|
|
|
| |
New TorCtl API addition allows checking intege status code instead of
"parsing" e.args :)
|
| |
|
|
| |
it's config.control_auth_secret not config.auth_secret.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
CookieAuthentication and no authentication are now supported.
This changes the TorBEL configuration file syntax, adding two
new keys:
- control_auth_method : one of "password", "cookie", "none".
- control_auth_secret : password for "password", cookie file path for "cookie",
ignored for "none".
And removes the following key:
- control_password
|
| |
|
|
|
| |
- Controller.__init__ initializes tests (binding ports, etc).
- Controller.start() -> Controller.connect()
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The controller no longer creates the log. This is up to the
main application to do so.
- "torbel" is the root logger, all modules get their own
logger under this root which inherits the "torbel" configuration,
including default level, log file, syslog support, etc.
- Support for TorCtl without Python logging support for plog()
is now removed.
- root privileges are dropped in the main application now.
logs are also chown()ed at this point.
- This change also makes the application call Controller.run_tests(),
which is no longer called from Controller.start()
|
| | |
|
| |
|
|
|
| |
- Add user, group configuration keys in dnsel.config
- Implement dropping privs for dnsel.
|
| |
|
|
| |
Reusable.
|
| |
|
|
|
| |
If we get a stale update, don't barf on it. Wait 10 minutes
to try and find a new update.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
If Tor doesn't know about a router we try and build a circuit to,
it will return "552 No such router..." to the controller. Handle
this exception.
|
| | |
|
| |
|
|
|
| |
test random IP addresses that are not known to be Tor exits to
test false positives outside the consensus.
|
| |
|
|
| |
Handles all possible malformed queries.
|
| | |
|
| |
|
|
|
|
| |
To allow an operator to disable type #4 for bandwidth/anti-DoS purposes.
type #3 will also cause DNS cache issues if the server is not queried
directly.
|
| |
|
|
| |
Missing type specifier.
|
| |
|
|
| |
Useful to dnsel config implementation.
|
| |
|
|
|
|
|
|
|
|
| |
Currently checks the current consensus against a smattering
of random IP addresses and random ports as well as the ports
torbel is configured to test. We report on whether TorBEL,
the public TorDNSEL, and a local TorBEL-powered DNSEL server
agree on exit status.
TODO: Test more sources than just the current consensus.
|
| |
|
|
|
|
| |
Automatically update the exit list using the new status file.
Fail if the status file is not available.
TODO: Fail more gracefully.
|
| |
|
|
|
|
| |
Didn't specify the year; it could be inferred but for clarity's
sake it should be explicit. Fixes updating in clients.
Bad news.
|
| |
|
|
|
| |
Was CRITICAL so I would notice when the event occurred. No need
for it anymore.
|
| |
|
|
|
| |
Not ideal. The test results scheme is riddled with race conditions
and needs to be centralized and fixed immediately after GSoC.
|