Chutney issueshttps://gitlab.torproject.org/tpo/core/chutney/-/issues2020-08-14T12:40:22Zhttps://gitlab.torproject.org/tpo/core/chutney/-/issues/22815Chutney tests for IPv6 only bridges2020-08-14T12:40:22ZteorChutney tests for IPv6 only bridgesWe need an IPv6-only bridge test, so we can test legacy/trac#4847 and make sure there are no regressions.We need an IPv6-only bridge test, so we can test legacy/trac#4847 and make sure there are no regressions.https://gitlab.torproject.org/tpo/core/chutney/-/issues/34037Make chutney check tor's logs for reachability self-test success2020-10-29T15:13:54ZteorMake chutney check tor's logs for reachability self-test successThis ticket is an alternative to legacy/trac#33582 or legacy/trac#33222.
Instead of fixing bridge descriptor uploads, we can check bridge logs to make sure that reachability self-tests have succeeded.
For consistency, we should also do...This ticket is an alternative to legacy/trac#33582 or legacy/trac#33222.
Instead of fixing bridge descriptor uploads, we can check bridge logs to make sure that reachability self-tests have succeeded.
For consistency, we should also do the same checks for relays.
We can only do these tests on authorities, relays, and bridges that are configured with `AssumeReachable 0`. Chutney's current defaults are:
* directory authorities: 1
* bridge authorities: 1
* relays: 0
* bridges: 0
* clients: clients never perform reachability self-tests
Some custom chutney networks may set `AssumeReachable 1` for relays and bridges. So we should make it easy for them to disable these checks.https://gitlab.torproject.org/tpo/core/chutney/-/issues/40006Chutney's logic for bootstrap detection has gotten pretty complex2021-09-16T14:47:26ZNick MathewsonChutney's logic for bootstrap detection has gotten pretty complexI have a hard time understanding the code that checks whether directory information is bootstrapped. I think it might be time to refactor it. It all seems to get called via `getNodeDirInfoStatus()`, but after that it gets pretty hairy.I have a hard time understanding the code that checks whether directory information is bootstrapped. I think it might be time to refactor it. It all seems to get called via `getNodeDirInfoStatus()`, but after that it gets pretty hairy.https://gitlab.torproject.org/tpo/core/chutney/-/issues/11115use argparse for chutney when debian squeeze hits end-of-life2021-11-15T16:52:43ZTracuse argparse for chutney when debian squeeze hits end-of-lifeAs discussed in legacy/trac#10933, this is a reminder ticket for using argparse module to parse arguments in chutney. Currently people might still have Python 2.6 in the system so we will wait until support for debian squeeze ends (2014-...As discussed in legacy/trac#10933, this is a reminder ticket for using argparse module to parse arguments in chutney. Currently people might still have Python 2.6 in the system so we will wait until support for debian squeeze ends (2014-05-04?).
**Trac**:
**Username**: dave2008https://gitlab.torproject.org/tpo/core/chutney/-/issues/16806Chutney/integration tests for DNS server/client functionality2021-11-15T16:52:57ZNick MathewsonChutney/integration tests for DNS server/client functionalityhttps://gitlab.torproject.org/tpo/core/chutney/-/issues/16807Framework for Clients And Relays that Do Bad Things2021-11-15T16:53:02ZNick MathewsonFramework for Clients And Relays that Do Bad ThingsWe need a simple testing framework that pretends to be a client or relay and then breaks the Tor protocols. This won't be trivial, but it will help us make sure that a lot of our countermeasures actually work.We need a simple testing framework that pretends to be a client or relay and then breaks the Tor protocols. This won't be trivial, but it will help us make sure that a lot of our countermeasures actually work.https://gitlab.torproject.org/tpo/core/chutney/-/issues/19019When chutney fails because of ports, tell the user2021-11-15T16:53:51ZteorWhen chutney fails because of ports, tell the userChutney can fail because old tors (or other processes) are already occupying the ports it wants to use.
We should make this more obvious, so developers don't blame tor code.Chutney can fail because old tors (or other processes) are already occupying the ports it wants to use.
We should make this more obvious, so developers don't blame tor code.https://gitlab.torproject.org/tpo/core/chutney/-/issues/19573Use fixedresolver.py from dnslib in chutney2021-11-15T16:53:56ZteorUse fixedresolver.py from dnslib in chutneyTor Exits in chuntey run DNS checks to external addresses.
This is one of the things stopping chutney from working when there is no DNS.
We could redirect DNS queries to fixedresolver.py from Python's dnslib, and that would make sure DN...Tor Exits in chuntey run DNS checks to external addresses.
This is one of the things stopping chutney from working when there is no DNS.
We could redirect DNS queries to fixedresolver.py from Python's dnslib, and that would make sure DNS would all run locally.
(Although we might have to reply with a few different addresses somehow, because tor gets suspicious if every address from DNS is the same.)https://gitlab.torproject.org/tpo/core/chutney/-/issues/20067Chutney should verify IPv6 SOCKSPorts2021-11-15T16:53:57ZteorChutney should verify IPv6 SOCKSPortsChutney will soon verify using client to relay IPv6, but verify only sends traffic to and from tor over IPv4.
We need to test the following:
* IPv6 SOCKSPorts,
* IPv4 and IPv6 SOCKSPorts with IPv6Traffic, and
* ~~IPv6 Exits~~
* Hidden S...Chutney will soon verify using client to relay IPv6, but verify only sends traffic to and from tor over IPv4.
We need to test the following:
* IPv6 SOCKSPorts,
* IPv4 and IPv6 SOCKSPorts with IPv6Traffic, and
* ~~IPv6 Exits~~
* Hidden Services connecting to CHUTNEY_LISTEN_ADDRESS_V6:LISTEN_PORThttps://gitlab.torproject.org/tpo/core/chutney/-/issues/20068Chutney tests for IPv6-only bridge clients2021-11-15T16:54:04ZteorChutney tests for IPv6-only bridge clientsI think this is working already, but we should check that chutney bridge clients are using IPv6, and not falling back to IPv4.I think this is working already, but we should check that chutney bridge clients are using IPv6, and not falling back to IPv4.https://gitlab.torproject.org/tpo/core/chutney/-/issues/20142chutney IPv6 HiddenServicePort tests2021-11-15T16:54:09Zteorchutney IPv6 HiddenServicePort testsWe should test legacy/trac#18357 once it's implemented to make sure we don't accidentally break it.
This requires teaching chutney to listen on IPv6.We should test legacy/trac#18357 once it's implemented to make sure we don't accidentally break it.
This requires teaching chutney to listen on IPv6.https://gitlab.torproject.org/tpo/core/chutney/-/issues/20343Write a setup.py for chutney2021-11-15T16:54:11ZdawuudWrite a setup.py for chutney
I want to use the chutney API for various projects. It would make it much easier to use if it had a proper setup.py
I want to use the chutney API for various projects. It would make it much easier to use if it had a proper setup.pyhttps://gitlab.torproject.org/tpo/core/chutney/-/issues/20655Run the chutney "mixed" network tests in multiple ways2021-11-15T16:54:13ZNick MathewsonRun the chutney "mixed" network tests in multiple waysWhile working on ed25519 handshake thigns, I found that the "mixed" chutney network test was often inadequate for my needs:
* I wanted to try testing with clients and relays that are very old, while keeping the authorities up-to-date...While working on ed25519 handshake thigns, I found that the "mixed" chutney network test was often inadequate for my needs:
* I wanted to try testing with clients and relays that are very old, while keeping the authorities up-to-date.
* I wanted `make test-network-all` to run the "mixed" test multiple times, with multiple older Tor instances.Tor: unspecifiedhttps://gitlab.torproject.org/tpo/core/chutney/-/issues/21543Make chutney use a different base port2021-11-15T16:54:15ZteorMake chutney use a different base portI often want to run multiple chutney networks at once.
It would help if I could specify a different base port (for example, 10000) that would be added to all ports used by chutney.I often want to run multiple chutney networks at once.
It would help if I could specify a different base port (for example, 10000) that would be added to all ports used by chutney.https://gitlab.torproject.org/tpo/core/chutney/-/issues/22135chutney should use python's loggging module2021-11-15T16:54:17ZNick Mathewsonchutney should use python's loggging moduleOur current debug() function is a silly kludge, and our print() statements are not much better. Python has built-in logging in its standard library, and perhaps we should just use that instead.Our current debug() function is a silly kludge, and our print() statements are not much better. Python has built-in logging in its standard library, and perhaps we should just use that instead.https://gitlab.torproject.org/tpo/core/chutney/-/issues/22360chutney's --quiet mode could be quieter2021-11-15T16:55:19Zteorchutney's --quiet mode could be quieterIt would be nice to get it down to just a few lines per run.It would be nice to get it down to just a few lines per run.https://gitlab.torproject.org/tpo/core/chutney/-/issues/26164Create HS network in chutney with client-auth enabled2021-11-15T16:55:23ZGeorge KadianakisCreate HS network in chutney with client-auth enabledTo improve our HS integration tests as part of `make test-network-all` we should make a network template similar to `hs` etc. where the HS is client-auth-protected, and the client needs to use the client auth token to submit data.
This ...To improve our HS integration tests as part of `make test-network-all` we should make a network template similar to `hs` etc. where the HS is client-auth-protected, and the client needs to use the client auth token to submit data.
This might be a bit of a hurdle to setup, since we would need to first start up the HS, so that it generates the client auth tokens, and then we would need to hax the client torrc to make it happen.https://gitlab.torproject.org/tpo/core/chutney/-/issues/26804Create a valid bwfile using a chutney script2021-11-15T16:55:24ZteorCreate a valid bwfile using a chutney scriptWe should write a small chutney script to make a valid bwfile, and put it in the scripts/ directory.We should write a small chutney script to make a valid bwfile, and put it in the scripts/ directory.https://gitlab.torproject.org/tpo/core/chutney/-/issues/25157Chutney should set the same consensus parameters as the public network2022-02-07T19:30:45ZteorChutney should set the same consensus parameters as the public networkOtherwise, some of the code that runs on the public network won't get tested very well before we release it.Otherwise, some of the code that runs on the public network won't get tested very well before we release it.https://gitlab.torproject.org/tpo/core/chutney/-/issues/28228In Chutney's debug mode, dump all tor warning logs to stderr as soon as they ...2022-02-07T19:30:46ZteorIn Chutney's debug mode, dump all tor warning logs to stderr as soon as they appearCurrently we wait until the end, which isn't ideal.Currently we wait until the end, which isn't ideal.