Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2020-06-13T01:10:34Zhttps://gitlab.torproject.org/legacy/trac/-/issues/4471Arm crashes with 'ControlPort auto'2020-06-13T01:10:34ZDamian JohnsonArm crashes with 'ControlPort auto'Arm assumes querying 'GETCONF ControlPort' either provides an int or fails. The new 'auto' argument breaks this assumption, causing a stacktrace...
```
cba@cluster3:~$ sudo arm --interface 127.0.0.1:46632
Traceback (most recent call las...Arm assumes querying 'GETCONF ControlPort' either provides an int or fails. The new 'auto' argument breaks this assumption, causing a stacktrace...
```
cba@cluster3:~$ sudo arm --interface 127.0.0.1:46632
Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 390, in <module>
interface.controller.startTorMonitor(time.time() - initTime, expandedEvents, param["startup.blindModeEnabled"])
File "/usr/share/arm/interface/controller.py", line 1918, in startTorMonitor
curses.wrapper(drawTorMonitor, startTime, loggedEvents, isBlindMode)
File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/share/arm/interface/controller.py", line 458, in drawTorMonitor
torPid = torTools.getConn().getMyPid()
File "/usr/share/arm/util/torTools.py", line 839, in getMyPid
return self._getRelayAttr("pid", None)
File "/usr/share/arm/util/torTools.py", line 1647, in _getRelayAttr
result = getPid(int(self.getOption("ControlPort", 9051)), self.getOption("PidFile"))
ValueError: invalid literal for int() with base 10: 'auto'
```
On first glance there's four spots that need to be fixed...
```
atagar@morrigan:~/Desktop/arm$ grep -R "getOption(\"ControlPort" src/
src/cli/headerPanel.py: self.vals["tor/controlPort"] = conn.getOption("ControlPort", "0")
src/cli/connections/connEntry.py: myCtlPort = conn.getOption("ControlPort")
src/cli/graphing/connStats.py: self.controlPort = conn.getOption("ControlPort", "0")
src/util/torTools.py: result = getPid(int(self.getOption("ControlPort", 9051)), self.getOption("PidFile"))
```
The change should be an isdigit check on the response and, if it fails, use the default value (the second argument in the getOption call or None if undefined).
This was caught by PurplePeter.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/4305arm should check the length of authentication-cookie files2011-10-27T05:21:24ZRobert Ransomarm should check the length of authentication-cookie filesDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/4281Usage popup not unique clients2019-01-11T18:46:46ZDamian JohnsonUsage popup not unique clientsThe usage popup either shows the number of client connections we've had per a locale or exit connections per port. For the client counts this isn't very useful since it counts *each* connection that a person makes so it's more of an acti...The usage popup either shows the number of client connections we've had per a locale or exit connections per port. For the client counts this isn't very useful since it counts *each* connection that a person makes so it's more of an activity metric rather than showing how many people are using you.
I should only count each source ip once.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/4237arm warning when used with tor master2020-06-13T14:13:49ZSebastian Hahnarm warning when used with tor masterwhen used with current master, arm prints this warning:
```
[ARM_WARN] The torrc differ from what tor's using. You can issue a sighup to reload the torrc values by pressing x.
- configuration value is missing from the torrc: DirReqSt...when used with current master, arm prints this warning:
```
[ARM_WARN] The torrc differ from what tor's using. You can issue a sighup to reload the torrc values by pressing x.
- configuration value is missing from the torrc: DirReqStat
```}
Also there's a typo here, it should be "The torrc differS from what" I think.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/4236pwdx isn't available on OS X2011-10-15T21:20:06ZSebastian Hahnpwdx isn't available on OS XWhen starting arm and connecting to a tor process that used a relative path for torrc, arm complains it can't find the torrc:
```
[ARM_WARN] Unable to load torrc (querying tor's pwd failed because the pwdx call failed: 'pwdx' is unavail...When starting arm and connecting to a tor process that used a relative path for torrc, arm complains it can't find the torrc:
```
[ARM_WARN] Unable to load torrc (querying tor's pwd failed because the pwdx call failed: 'pwdx' is unavailable)
```
Instead, on OS X you can use this (quite possibly something more elegant is possible too, but didn't see it in lsof's manpage at first glance):
```
lsof -a -p $PID -d cwd -Fn | cut -c2- | grep -v $PID
```Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/4098Arm crashes when TAKEOWNERSHIP command is issued in panel mode2011-09-28T14:40:06ZSebastian HahnArm crashes when TAKEOWNERSHIP command is issued in panel modeLet me know if more is needed to reproduce:
```
Traceback (most recent call last):
File "./src/starter.py", line 543, in <module>
cli.controller.startTorMonitor(time.time() - initTime)
File "/Downloads/arm/src/cli/controller.py"...Let me know if more is needed to reproduce:
```
Traceback (most recent call last):
File "./src/starter.py", line 543, in <module>
cli.controller.startTorMonitor(time.time() - initTime)
File "/Downloads/arm/src/cli/controller.py", line 683, in startTorMonitor
curses.wrapper(drawTorMonitor, startTime)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/Downloads/arm/src/cli/controller.py", line 784, in drawTorMonitor
isKeystrokeConsumed = panelImpl.handleKey(key)
File "/Downloads/arm/src/cli/interpretorPanel.py", line 96, in handleKey
self.prompt()
File "/Downloads/arm/src/cli/interpretorPanel.py", line 73, in prompt
input, isDone = input.strip(), False
AttributeError: 'NoneType' object has no attribute 'strip'
```Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/4096Deduplicate a larger selection of log entries2011-09-26T14:16:38ZTom LowenthalDeduplicate a larger selection of log entriesMany of Tor's log entries contain slight variation, as in:
> "Flobbed %s widgets. Reticulating splines"
Although the text of these entries is different, users may reasonably expect arm to deduplicate them.
This is a tracking ticket fo...Many of Tor's log entries contain slight variation, as in:
> "Flobbed %s widgets. Reticulating splines"
Although the text of these entries is different, users may reasonably expect arm to deduplicate them.
This is a tracking ticket for additions to the list of pattens matched to deduplicate logs in arm.Tom LowenthalTom Lowenthalhttps://gitlab.torproject.org/legacy/trac/-/issues/4092Arm should recognise similar Tor log entries and treat them as duplicates2011-09-24T20:53:16ZTom LowenthalArm should recognise similar Tor log entries and treat them as duplicatesMany of Tor's log entries are similar modulo the inclusion of a specific number. These entries should be treated like duplicates despite being different. Ideally, Arm's file of regular expressions for log entries should be updated with Tor.Many of Tor's log entries are similar modulo the inclusion of a specific number. These entries should be treated like duplicates despite being different. Ideally, Arm's file of regular expressions for log entries should be updated with Tor.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/3995Add quit option to wizard2011-09-24T21:00:27ZTracAdd quit option to wizardAdd a quit option (similar to the one on the main screen) to the tor invocation wizard.
At the moment, the only option to quit the wizard that is invoked when arm doesn't detect a running tor instance is via ctrl-c. q/q similar to the ...Add a quit option (similar to the one on the main screen) to the tor invocation wizard.
At the moment, the only option to quit the wizard that is invoked when arm doesn't detect a running tor instance is via ctrl-c. q/q similar to the main interface would be great.
**Trac**:
**Username**: monochromecDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/3614When using arm to configure tor, arm wipes /etc/tor/torrc2011-07-20T14:47:38ZRuna SandvikWhen using arm to configure tor, arm wipes /etc/tor/torrcI am running Debian Squeeze on the DreamPlug, version 0.2.1.29 of tor from deb.torproject.org, and version 1.4.2.4 (released April 21, 2011) of arm from squeeze-backports.
When using arm to configure tor, arm wipes /etc/tor/torrc comple...I am running Debian Squeeze on the DreamPlug, version 0.2.1.29 of tor from deb.torproject.org, and version 1.4.2.4 (released April 21, 2011) of arm from squeeze-backports.
When using arm to configure tor, arm wipes /etc/tor/torrc completely. I have tried to write to the existing configuration file, as well as create a new one. In both cases, the configuration file is empty after arm reports that it has saved the config.
This is what I do:
Go to page three, select Nickname, hit enter, type 'foobar', hit enter, press 'w', choose "Save", and confirm that I want to save to /etc/tor/torrc. I then see a message from arm telling me that the config has been saved. The result is that /etc/tor/torrc is completely empty.
The same thing happens if I choose "Save As..." and write /etc/tor/torrc.test instead. The file is created, but it is empty.
I have tried to edit src/interface/controller.py with the following on line 1773:
```
log.log(log.ERR, "attempting to save the following... %s" % "\n".join(configLines))
```
... but I still get an empty config file. Same result when moving the line above to line 1759 in controller.pyDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/3396custom resolver2011-06-13T15:45:00ZTraccustom resolverI am running arm on GNU/Linux in the context of a user that is neither root nor the user of the tor instance that is monitored. Obviously all available connection resolver fail.
I think it is feasible to get the arm user to be able to w...I am running arm on GNU/Linux in the context of a user that is neither root nor the user of the tor instance that is monitored. Obviously all available connection resolver fail.
I think it is feasible to get the arm user to be able to write an own connection resolver. This could be achieved by adding a new option in armrc that links to a user provided file that implements the listener.
I would solve my problem then by writing one that executes sudo -u my-tor-user netstat -np etc. - with the sudo being a NONPASSWD-command via /etc/sudoers.
**Trac**:
**Username**: toruser32Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/3394"New Identity" feature for arm2011-06-17T11:15:57ZTrac"New Identity" feature for armI am using arm to monitor my tor relays. Whilst the bandwith graphs look great, I am missing one essential feature: the "New Identity" button. Can you add this?
Thank you
**Trac**:
**Username**: toruser32I am using arm to monitor my tor relays. Whilst the bandwith graphs look great, I am missing one essential feature: the "New Identity" button. Can you add this?
Thank you
**Trac**:
**Username**: toruser32Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/3391add arm to the official tor deb repository2016-03-13T01:32:08ZTracadd arm to the official tor deb repositoryRight now, the arm download page (http://www.atagar.com/arm/download.php) links to the official debian repositories.
Is there any chance to get arm integrated in the official tor deb repository (http://deb.torproject.org/torproject.org)...Right now, the arm download page (http://www.atagar.com/arm/download.php) links to the official debian repositories.
Is there any chance to get arm integrated in the official tor deb repository (http://deb.torproject.org/torproject.org). This would allow users in protected environments that only trust the torproject repository to obtain and update arm easily. On top of that, as debian stable is updated only once in two years, the regular arm who do not want to struggle with installing arm manually, will pretty much lack ahind upstream.
Thank you
**Trac**:
**Username**: toruser32Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/3128"AttributeError: 'NoneType' object has no attribute 'getDetails'" by trying t...2011-05-10T02:09:48ZGeorge Kadianakis"AttributeError: 'NoneType' object has no attribute 'getDetails'" by trying to select a connection, when there are no connectionsHi,
if the connection tab is empty (for example, when bootstrapping a new relay) and I press "Enter" inside it, arm crashes and I get this trace:
Traceback (most recent call last):
File "./src/starter.py", line 398, in <module>
c...Hi,
if the connection tab is empty (for example, when bootstrapping a new relay) and I press "Enter" inside it, arm crashes and I get this trace:
Traceback (most recent call last):
File "./src/starter.py", line 398, in <module>
cli.controller.startTorMonitor(time.time() - initTime, expandedEvents, param["startup.blindModeEnabled"])
File "/home/user/arm/src/cli/controller.py", line 1441, in startTorMonitor
curses.wrapper(drawTorMonitor, startTime, loggedEvents, isBlindMode)
File "/usr/lib/python2.5/curses/wrapper.py", line 44, in wrapper
return func(stdscr, *args, **kwds)
File "/home/user/arm/src/cli/controller.py", line 1429, in drawTorMonitor
panels["conn"].handleKey(key)
File "/home/user/arm/src/cli/connections/connPanel.py", line 153, in handleKey
self.redraw(True)
File "/home/user/arm/src/util/panel.py", line 355, in redraw
self.draw(self.maxX - 1, self.maxY)
File "/home/user/arm/src/cli/connections/connPanel.py", line 231, in draw
drawEntries = cursorSelection.getDetails(width)
AttributeError: 'NoneType' object has no attribute 'getDetails'
Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
File "/home/user/arm/src/util/connections.py", line 457, in run
File "/usr/lib/python2.5/threading.py", line 115, in release
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
Exception in thread conn (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
File "/home/user/arm/src/cli/connections/connPanel.py", line 187, in run
File "/usr/lib/python2.5/threading.py", line 115, in release
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
Exception in thread header (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
File "/home/user/arm/src/cli/headerPanel.py", line 286, in run
File "/usr/lib/python2.5/threading.py", line 115, in release
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
It's nothing important but I felt like I should report it.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2830Arm should redraw on CTRL-L2011-10-03T02:59:09ZTracArm should redraw on CTRL-LIn some conditions arm fails to redraw itself properly. In particular when used in combination with dtach for instance. Being able to simply hit CTRL-L to redraw is the expected improvement.
As a workaround resizing the window fixes the...In some conditions arm fails to redraw itself properly. In particular when used in combination with dtach for instance. Being able to simply hit CTRL-L to redraw is the expected improvement.
As a workaround resizing the window fixes the issue most of the time. This is inconvenient in particular in conjunction with a tiling window manager.
**Trac**:
**Username**: npDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2778arm Unhandled exception: sys.excepthook2011-04-10T16:41:00Ztagnaqarm Unhandled exception: sys.excepthookarm
Password:
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Exception in thread TorLoop (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/lib/...arm
Password:
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Exception in thread TorLoop (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
File "/usr/lib/python2.6/threading.py", line 484, in run
File "/usr/share/arm/TorCtl/TorCtl.py", line 673, in _loop
File "/usr/share/arm/TorCtl/TorCtl.py", line 826, in _read_reply
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
Unfortunately I can't provide a reproducer because arm was running for a while and I saw that message after closing it.
arm version:
tor-arm 1.4.1.2-1
(debian package)Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2776arm doesn't update IP address on change2011-04-10T16:39:48Ztagnaqarm doesn't update IP address on changeThe second line in the arm interface shows some basic information about the relay:
<nickname> - <ip-address>:<ORPort> ...
If the IP address of the relay changes, which can be seen in the tor log file as:
Our IP Address has changed from ...The second line in the arm interface shows some basic information about the relay:
<nickname> - <ip-address>:<ORPort> ...
If the IP address of the relay changes, which can be seen in the tor log file as:
Our IP Address has changed from ... to ...; rebuilding descriptor (source: ...).
the arm interface still shows the old IP address.
used version:
tor-arm 1.4.1.2-1
(debian package)Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2501Useless warning on arm startup2011-04-10T16:36:43ZTracUseless warning on arm startupI am using arm on several relays. On all relays arm gives out this warning on startup
12:39:28 [ARM_WARN] The torrc differ from what tor's using. You can issue a sighup to reload the torrc values by pressing x.
- configuration value ...I am using arm on several relays. On all relays arm gives out this warning on startup
12:39:28 [ARM_WARN] The torrc differ from what tor's using. You can issue a sighup to reload the torrc values by pressing x.
- configuration value is missing from the torrc:
tor is using the same torrc that arm is complaining.
**Trac**:
**Username**: torlandDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2427"Hide duplicates" should hide similar log entries with different parameters2011-01-24T05:15:22ZTom Lowenthal"Hide duplicates" should hide similar log entries with different parametersArm has the facility to hide duplicate log entries. However, the feature currently only removes log entries whose text is exactly identical. Many log entries produce slightly different text for the same basic entry. For instance:
Possib...Arm has the facility to hide duplicate log entries. However, the feature currently only removes log entries whose text is exactly identical. Many log entries produce slightly different text for the same basic entry. For instance:
Possible replay detected! We received an INTRODUCE2 cell with same first part of Diffie-Hellman handshake <t> seconds ago. Dropping cell.
and,
Error launching circuit to node <name> for service <address>.
will produce different text, depending on the specific parameters, but are essentially the same. The second example is especially prone to appearing many times if the connection is interrupted.
Arm should groups these types of entries, and hide them, whether or not the text is exactly identical.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2419Customisable header2011-01-20T04:16:51ZTom LowenthalCustomisable headerCurrently, arm's header consists of three lines, on two sides, containing a fixed selection of information. It would be fun to customize this info, picking and choosing what to display, and in which columns. The parameters for this could...Currently, arm's header consists of three lines, on two sides, containing a fixed selection of information. It would be fun to customize this info, picking and choosing what to display, and in which columns. The parameters for this could be stored in ~/.arm/conf in a plain-text format.Damian JohnsonDamian Johnson