Opened 10 days ago

Last modified 8 days ago

#28334 assigned defect

Nyx configurashion editor does not work with options' values properly

Reported by: wagon Owned by: atagar
Priority: Medium Milestone:
Component: Core Tor/Nyx Version: Tor:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


Nyx 2.0.4 at Linux.

The first problem exist with all options: if I select some option, then press Enter (so, start editing it), and then press ESC, all old values for the option are erased (value becomes none). This behavior confuses users, because normally ESC should keep old version of values. To my opinion, if I really need to make it none I should manually remove old values (or press ctrl+u) and then press Enter.

The second problem exist with options which have very long list of values. For example, you can consider torrc with a long list of SocksPort options or a long list of values for ExcludeNodes option. If you select such option in configuration editor (press Enter), only the first part of values' list will be shown. Other lengthy part of values list will not be printed and will not be accessible for editing (it is considered as non-existing). I guess it is related to the problem of line splitting (#28297). Since the first part of accessible values may end at any character (when end of line is reached), if I don't do anything, but just print Enter, I may get an error

Unacceptable option value: Invalid SocksPort configuration (press any key)

As nyx gives to Tor wrong option values, there are many warnings in a log file of tor itself, e.g.:

Controller gave us config lines that didn't validate: Invalid SocksPort configuration

Thus, if you accidentally press Enter on any option with too long list of values, you get trapped in inescapable situation: ESC will erase all old values, Enter will change them too (possibly with some errors). It is impossible to preserve status quo.

Child Tickets

Change History (1)

comment:1 Changed 8 days ago by wagon

I confirm this problem also for current Nyx version from git.

Note: See TracTickets for help on using tickets.