Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2011-01-20T03:47:19Zhttps://gitlab.torproject.org/legacy/trac/-/issues/2418Exit policy heading does not line wrap2011-01-20T03:47:19ZTom LowenthalExit policy heading does not line wrapThe heading item on line three on the right indicates the current exit policy. However, if this is longer than the screen, it just runs off, and does not wrap onto a new line. Especially given that the `best-practice' policy from https:/...The heading item on line three on the right indicates the current exit policy. However, if this is longer than the screen, it just runs off, and does not wrap onto a new line. Especially given that the `best-practice' policy from https://blog.torproject.org/blog/tips-running-exit-node-minimal-harassment is rather long, wrapping this text is desirable.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2417Always display help items2011-01-20T04:09:34ZTom LowenthalAlways display help itemsCurrently, there is a small rubric above the graph, indicating some functions that can be activated with hotkeys. One of these brings up the help menu, with some additional functions. However, the short rubric takes up only a small fract...Currently, there is a small rubric above the graph, indicating some functions that can be activated with hotkeys. One of these brings up the help menu, with some additional functions. However, the short rubric takes up only a small fraction of the available horizontal space on that line. A better UI might use that whole line to display as many options as possible, or use a menu-like arrangement along the top of the screen (like the Links browser).Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2416Improve keyboard navigation2011-01-20T04:03:17ZTom LowenthalImprove keyboard navigationCurrently, Arm has an inconsistent interface. Some functions (like <i>nterval) produce a menu that can be traversed with the arrow keys. Some (like graph <b>ounds) sysle through the possible options. Some (like log <e>vents) provide a me...Currently, Arm has an inconsistent interface. Some functions (like <i>nterval) produce a menu that can be traversed with the arrow keys. Some (like graph <b>ounds) sysle through the possible options. Some (like log <e>vents) provide a menu that must be navigated by key-entry. Some standardization would be nice.
A desirable interface* would be a hotkeyable menu. That is, rather like the <i>nterval menu, but with a particular hotkey for each entry, perhaps indicated in bold.
*where possible, admittedly this is difficult with functions like log <e>ventsDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2414Bad torrc Crashes Arm [multiple myfamily entries]2011-01-20T03:28:49ZTom LowenthalBad torrc Crashes Arm [multiple myfamily entries]I tried changing my torrc, adding multiple MyFamily entries of the form:
MyFamily $whateverfp, #somecomment
Tor successfully starts with this torrc. Arm, however, fails to start, with the following trace:
File "/usr/share/arm/starte...I tried changing my torrc, adding multiple MyFamily entries of the form:
MyFamily $whateverfp, #somecomment
Tor successfully starts with this torrc. Arm, however, fails to start, with the following trace:
File "/usr/share/arm/starter.py", line 282, in <module>
interface.controller.startTorMonitor(time.time() - initTime, expandedEvents, param["startup.blindModeEnabled"])
File "/usr/share/arm/interface/controller.py", line 1781, in startTorMonitor
curses.wrapper(drawTorMonitor, startTime, loggedEvents, isBlindMode)
File "/usr/lib/python2.6/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/share/arm/interface/controller.py", line 554, in drawTorMonitor
panels["conn"] = connPanel.ConnPanel(stdscr, conn, isBlindMode)
File "/usr/share/arm/interface/connPanel.py", line 165, in __init__
self.resetOptions()
File "/usr/share/arm/interface/connPanel.py", line 215, in resetOptions
self._resolveFamilyEntries()
File "/usr/share/arm/interface/connPanel.py", line 854, in _resolveFamilyEntries
if familyEntry[0] == "$":Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2354arm crash on e in first screen2011-01-06T16:27:37ZTracarm crash on e in first screenbuilt debian package from most recent svn trunk (r24038)
on a lenny machine with python-minimal
ii python-minimal 2.5.2-3
python -V
Python 2.5.2
press e and
the back trace is:
Traceback (most recent call last):
...built debian package from most recent svn trunk (r24038)
on a lenny machine with python-minimal
ii python-minimal 2.5.2-3
python -V
Python 2.5.2
press e and
the back trace is:
Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 282, in <module>
interface.controller.startTorMonitor(time.time() - initTime, expandedEvents, param["startup.blindModeEnabled"])
File "/usr/share/arm/interface/controller.py", line 1756, 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 "/usr/share/arm/interface/controller.py", line 1075, in drawTorMonitor
eventsInput = panels["control"].getstr(0, 15)
File "/usr/share/arm/util/panel.py", line 362, in getstr
textbox = curses.textpad.Textbox(inputSubwindow, True)
TypeError: __init__() takes exactly 2 arguments (3 given)
**Trac**:
**Username**: murbleDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2323directory src/TorCtl does not exist2010-12-30T15:09:35ZJens Kubiezieldirectory src/TorCtl does not existI cloned the ARM repository today to r23979 and wanted to install the software. So I ran:
`python setup.py install -n --prefix=$HOME/Foo`
The output was:
```
running install
running build
running build_py
creating build
creating build...I cloned the ARM repository today to r23979 and wanted to install the software. So I ran:
`python setup.py install -n --prefix=$HOME/Foo`
The output was:
```
running install
running build
running build_py
creating build
creating build/lib.linux-i686-2.6
creating build/lib.linux-i686-2.6/arm
copying src/prereq.py -> build/lib.linux-i686-2.6/arm
copying src/version.py -> build/lib.linux-i686-2.6/arm
copying src/__init__.py -> build/lib.linux-i686-2.6/arm
copying src/test.py -> build/lib.linux-i686-2.6/arm
copying src/starter.py -> build/lib.linux-i686-2.6/arm
creating build/lib.linux-i686-2.6/arm/interface
copying src/interface/headerPanel.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/configPanel.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/descriptorPopup.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/controller.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/logPanel.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/torrcPanel.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/connPanel.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/__init__.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/fileDescriptorPopup.py -> build/lib.linux-i686-2.6/arm/interface
creating build/lib.linux-i686-2.6/arm/interface/graphing
copying src/interface/graphing/connStats.py -> build/lib.linux-i686-2.6/arm/interface/graphing
copying src/interface/graphing/psStats.py -> build/lib.linux-i686-2.6/arm/interface/graphing
copying src/interface/graphing/bandwidthStats.py -> build/lib.linux-i686-2.6/arm/interface/graphing
copying src/interface/graphing/__init__.py -> build/lib.linux-i686-2.6/arm/interface/graphing
copying src/interface/graphing/graphPanel.py -> build/lib.linux-i686-2.6/arm/interface/graphing
creating build/lib.linux-i686-2.6/arm/util
copying src/util/connections.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/hostnames.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/conf.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/sysTools.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/uiTools.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/torConfig.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/log.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/__init__.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/procTools.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/torTools.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/panel.py -> build/lib.linux-i686-2.6/arm/util
error: package directory 'src/TorCtl' does not exist
```
The `README` says that TorCtl is inluded in ARM, so it should not be necessary to install it.
However if I manually create the directory, a warning is printed and the script finishes its job:
```
package init file 'src/TorCtl/__init__.py' not found (or not a regular file)
```Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/2026ARM exits immediatly after launch2010-10-08T16:23:41ZThomas BenjaminARM exits immediatly after launchI have just installed arm for the first time on my relay. When I run it it immediately exits with the output included in the attachment. I am using no armrc.
Vital statistics:
[root@heydt-benjamin ~]# uname -a
Linux heydt-benjamin.com...I have just installed arm for the first time on my relay. When I run it it immediately exits with the output included in the attachment. I am using no armrc.
Vital statistics:
[root@heydt-benjamin ~]# uname -a
Linux heydt-benjamin.com 2.6.9-023stab048.6-enterprise #1 SMP Mon Nov 17 19:09:18 MSK 2008 i686 i686 i386 GNU/Linux
[root@heydt-benjamin ~]# tor --version
Oct 08 07:55:58.467 [notice] Tor v0.2.2.17-alpha (git-a3f488a88773225a). This is experimental software. Do not rely on it for strong anonymity. (Running on Linux i686)
Tor version 0.2.2.17-alpha (git-a3f488a88773225a).
[root@heydt-benjamin ~]# python --version
Python 2.7
[root@heydt-benjamin ~]# arm --version
arm version 1.3.7 (released October 6, 2010)Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/1800arm bandwidth graph reset by sighups2010-08-04T21:07:26ZDamian Johnsonarm bandwidth graph reset by sighupsarm uses the tor process' uptime to determine if all the values in the state file can be trusted to belong to this tor instance or not. Unfortunately issuing a sighup evidently resets the uptime reported by ps, making arm skip the bandwi...arm uses the tor process' uptime to determine if all the values in the state file can be trusted to belong to this tor instance or not. Unfortunately issuing a sighup evidently resets the uptime reported by ps, making arm skip the bandwidth graph prepopulation for the following day.
Sebastian pointed out this is especially a problem for Debian since it has a sighup issued daily (meaning we'd never prepopulate the bandwidth).Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/1799arm chokes on tabs when used in ExitPolicy lines2010-08-06T04:51:10ZDamian Johnsonarm chokes on tabs when used in ExitPolicy linesvoidzero reports that tabs in the ExitPolicy lines causes a variety of gremlins when determining the exit policy. This includes display issues when parsing the torrc and a crashing issue in the connection panel:
1. Traceback (most rec...voidzero reports that tabs in the ExitPolicy lines causes a variety of gremlins when determining the exit policy. This includes display issues when parsing the torrc and a crashing issue in the connection panel:
1. Traceback (most recent call last):
2. File "init/starter.py", line 178, in <module>
3. interface.controller.startTorMonitor(expandedEvents, param["startup.blindModeEnabled"])
4. File "/home/void/user/arm/interface/controller.py", line 1287, in startTorMonitor
5. curses.wrapper(drawTorMonitor, loggedEvents, isBlindMode)
6. File "/usr/lib/python2.6/curses/wrapper.py", line 44, in wrapper
7. return func(stdscr, *args, **kwds)
8. File "/home/void/user/arm/interface/controller.py", line 377, in drawTorMonitor
9. panels["conn"] = connPanel.ConnPanel(stdscr, conn, isBlindMode)
10. File "/home/void/user/arm/interface/connPanel.py", line 170, in __init__
11. self.reset()
12. File "/home/void/user/arm/interface/connPanel.py", line 336, in reset
13. if SCRUB_PRIVATE_DATA and fIp not in self.fingerprintMappings.keys(): isPrivate = isExitAllowed(fIp, fPort, self.exitPolicy, self.exitRejectPrivate)
14. File "/home/void/user/arm/interface/connPanel.py", line 893, in isExitAllowed
15. maxPort = int(entryPort[entryPort.find("-") + 1:])
16. ValueError: invalid literal for int() with base 10: '22"'Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/1798arm failing to parse certain torrc options2010-08-05T16:16:34ZDamian Johnsonarm failing to parse certain torrc optionsvoidzero reported on irc that when he starts arm it reports:
[ARM-WARN] Unable to validate torrc
This indicates that requesting a couple of the options is causing torctl to return an error response (in this case SocksBindAddress and All...voidzero reported on irc that when he starts arm it reports:
[ARM-WARN] Unable to validate torrc
This indicates that requesting a couple of the options is causing torctl to return an error response (in this case SocksBindAddress and AllowUnverifiedNodes). Most likely these torrc options are special in some way (like hidden service options) and will require a special case.
Also, I should improve the warning by providing the line that it fails on.Damian JohnsonDamian Johnson