Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2016-03-13T01:27:12Zhttps://gitlab.torproject.org/legacy/trac/-/issues/18131Bandwidth history2016-03-13T01:27:12ZTracBandwidth historyI got an Arm-Notice and dont know how to handle it. How do I read the bandwidth history?
"Read the last day of bandwidth history from the state file"
**Trac**:
**Username**: TinkerbeardI got an Arm-Notice and dont know how to handle it. How do I read the bandwidth history?
"Read the last day of bandwidth history from the state file"
**Trac**:
**Username**: TinkerbeardDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/9679Man page warnings after 2.4.x nightly update to Tor2016-03-13T01:27:33ZTracMan page warnings after 2.4.x nightly update to TorAfter upgrading to the 2.4.x nightly of Tor, there's two new warnings in the TOR/ARM NOTICE section.
```
12:46:33 [ARM_NOTICE] Unrecognized category in the man page: GENERAL OPTIONS
12:46:33 [ARM_NOTICE] Unrecognized category in the m...After upgrading to the 2.4.x nightly of Tor, there's two new warnings in the TOR/ARM NOTICE section.
```
12:46:33 [ARM_NOTICE] Unrecognized category in the man page: GENERAL OPTIONS
12:46:33 [ARM_NOTICE] Unrecognized category in the man page: COMMAND-LINE OPTIONS
```
**Trac**:
**Username**: OneST8Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/9222Torrc's bandwidth entries are more flexible than documented2016-03-13T01:28:21ZDamian JohnsonTorrc's bandwidth entries are more flexible than documentedAccording to the tor man page the permitted format for bandwidth entries is pretty simple...
```
RelayBandwidthRate N bytes|KB|MB|GB
```
Arm parses these to check if the torrc is out of sync with tor's actual state (ie, that the user e...According to the tor man page the permitted format for bandwidth entries is pretty simple...
```
RelayBandwidthRate N bytes|KB|MB|GB
```
Arm parses these to check if the torrc is out of sync with tor's actual state (ie, that the user edited their configuration without restarting or issuing a sighup). However, a user inadvertently found that tor is actually more flexible on these lines that what the man page documents...
```
12:54 < atagar> What is the exact torrc lines that you have?
12:55 < Urban_core> RelayBandwidthRate 250Kbytes # Throttle traffic to 100KB/s (800Kbps)
12:55 < Urban_core> RelayBandwidthBurst 350Kbytes # But allow bursts up to 200KB/s (1600Kbps)
```
Once this is fixed in the tor man page please assign this to the arm component and I'll fix it on my end.https://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/4901Arm install fails if torctl in path2016-03-13T01:38:45ZDamian JohnsonArm install fails if torctl in pathWhen you run arm's install script it...
- checks if TorCtl is available and, if not, prompts the user to get a copy
- copies all the modules, including TorCtl, to the installation destination
If the user has python-torctl installed then...When you run arm's install script it...
- checks if TorCtl is available and, if not, prompts the user to get a copy
- copies all the modules, including TorCtl, to the installation destination
If the user has python-torctl installed then we skip fetching a local copy of torctl (since it's already available externally), then setup.py fails to copy a 'src/TorCtl' module since it's not contained within arm itself.
Issue caught by DustyDingoDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/4964Resource starvation causes arm to overwhelm server2016-03-13T01:39:37ZTracResource starvation causes arm to overwhelm serverI'm running a fast relay/exit node and as part of an audit, I ran a DoS attack upon the server which starved system resources.
Once the process was complete, it caused arm to use 51% of system ram, approx 760mb, and 99% of available CPU...I'm running a fast relay/exit node and as part of an audit, I ran a DoS attack upon the server which starved system resources.
Once the process was complete, it caused arm to use 51% of system ram, approx 760mb, and 99% of available CPU power.
The chart attached shows CPU during and after the DoS attack, and after 7.04am the light blue shows arm's affect on the server.
A second attachment is (unhelpfully a screenshot) of top showing the resources arm is using.
**Trac**:
**Username**: kerruptDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/5003Connection resolver chokes on UDP connections, on OS X 10.6.82016-03-13T01:40:54ZTracConnection resolver chokes on UDP connections, on OS X 10.6.8A default arm installation doesn't show me any connections, and gives me the error message as well:
`We were unable to use any of your system's resolvers to get tor's connections. This is fine, but means that the connections page will b...A default arm installation doesn't show me any connections, and gives me the error message as well:
`We were unable to use any of your system's resolvers to get tor's connections. This is fine, but means that the connections page will be empty. This is usually permissions related so if you would like to fix this then run arm with the same user as tor (ie, "sudo -u <tor user> arm").`
Here is the log line:
`2/1/2012 19:54:42 [DEBUG] system call: lsof -wnPi | egrep "^tor *26419.*((UDP.*)|(\(ESTABLISHED\)))" (runtime: 0.02)`
I fixed it by replacing the LSOF command, using the attached patch.
**Trac**:
**Username**: mphippsDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/5061Arm missing CIRC_MINOR, SIGNAL, CONF_CHANGED2016-03-13T01:41:20ZDamian JohnsonArm missing CIRC_MINOR, SIGNAL, CONF_CHANGEDNew tor versions have added several event types that TorCtl does not have handlers for. The result is that arm gives a notice that it's missing these handlers.
This is really a TorCtl issue, but I've pretty much forked it in arm due to ...New tor versions have added several event types that TorCtl does not have handlers for. The result is that arm gives a notice that it's missing these handlers.
This is really a TorCtl issue, but I've pretty much forked it in arm due to multiple unmerged patches so I should just add support to my fork.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/5270When pre-populating logs arm only look at the very first log config option2016-03-13T01:46:53ZSebastian HahnWhen pre-populating logs arm only look at the very first log config optionConnecting to a Tor started like this:
```
./tor log "debug file /bla" log "notice file /blub"
```
arm will show debug info in its log view, but connecting to a tor started like this:
```
./tor log "notice file /blub" log "debug file /bl...Connecting to a Tor started like this:
```
./tor log "debug file /bla" log "notice file /blub"
```
arm will show debug info in its log view, but connecting to a tor started like this:
```
./tor log "notice file /blub" log "debug file /bla"
```
arm will show notice logs. Not sure what the appropriate behaviour is in either case, but having it like it is currently surely is wrong.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/5678Arm crashes if it lacks write permissons for home directory2016-03-13T01:47:09ZDamian JohnsonArm crashes if it lacks write permissons for home directoryArm defaults to putting its data directory in '~/.arm'. However, in at least one reported case they lacked write permissions there resulting in...
```
Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 543, in <...Arm defaults to putting its data directory in '~/.arm'. However, in at least one reported case they lacked write permissions there resulting in...
```
Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 543, in <module>
cli.controller.startTorMonitor(time.time() - initTime)
File "/usr/share/arm/cli/controller.py", line 683, in startTorMonitor
curses.wrapper(drawTorMonitor, startTime)
File "/usr/lib/python2.6/curses/wrapper.py", line 44, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/share/arm/cli/controller.py", line 778, in drawTorMonitor
cli.wizard.showWizard()
File "/usr/share/arm/cli/wizard.py", line 313, in showWizard
relaySelection = RelayType.RESUME if manager.isTorrcAvailable() else RelayType.RELAY
File "/usr/share/arm/cli/controller.py", line 482, in isTorrcAvailable
torrcLoc = self.getTorrcPath()
File "/usr/share/arm/cli/controller.py", line 474, in getTorrcPath
return self._controller.getDataDirectory() + "torrc"
File "/usr/share/arm/cli/controller.py", line 401, in getDataDirectory
if not os.path.exists(dataDir): os.makedirs(dataDir)
File "/usr/lib/python2.6/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/home/ubuntu/.arm/'
```
We should make arm fall back to not having a data directory at all. This means making the getDataDirectory() callers accept a None response...
```
atagar@morrigan:~/Desktop/arm$ grep -R "getDataDirectory(" ./*
./release_rpm/src/cli/wizard.py: dataDir = cli.controller.getController().getDataDirectory()
./release_rpm/src/cli/wizard.py: dataDir = cli.controller.getController().getDataDirectory()
./release_rpm/src/cli/controller.py: def getDataDirectory(self):
./release_rpm/src/cli/controller.py: return self._controller.getDataDirectory() + "torrc"
./src/cli/wizard.py: dataDir = cli.controller.getController().getDataDirectory()
./src/cli/wizard.py: dataDir = cli.controller.getController().getDataDirectory()
./src/cli/controller.py: def getDataDirectory(self):
./src/cli/controller.py: return self._controller.getDataDirectory() + "torrc"
```
Bug reported by MoPac.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/5842Expanded ORPort confuses arm2016-03-13T01:49:30ZDamian JohnsonExpanded ORPort confuses armProposal 186 greatly expands the ORPort option, so it's no longer simply just a single port number (it might have addresses, multiple ports, special attributes, etc).
This change breaks arm's GETCONF calls to figure out the ORPort. We s...Proposal 186 greatly expands the ORPort option, so it's no longer simply just a single port number (it might have addresses, multiple ports, special attributes, etc).
This change breaks arm's GETCONF calls to figure out the ORPort. We should figure out how arm wants to handle and display information about these new capabilities.
On tor's side, implementation for this was added in...
5f0a8dcd2cfcbafc3deb3a6717808b607a459dac
According to the man page this stuff doesn't yet seem to be documented which is pesky...
https://www.torproject.org/docs/tor-manual-dev.html
Issue caught by swalker.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/6881Can't connect to sockets with password auth2016-03-13T01:54:05ZTracCan't connect to sockets with password auth>arm --debug
Unable to use socket '/home/localadmin/.tor/control': Unable to authenticate: no passphrase provided
>cat ~/.arm/log
Arm 1.4.5.0 Debug Dump, 22:45:15 09/17/2012 (EDT)
Python Version: 2.7.3
Platform: Linux (Ubuntu 12.04 pre...>arm --debug
Unable to use socket '/home/localadmin/.tor/control': Unable to authenticate: no passphrase provided
>cat ~/.arm/log
Arm 1.4.5.0 Debug Dump, 22:45:15 09/17/2012 (EDT)
Python Version: 2.7.3
Platform: Linux (Ubuntu 12.04 precise)
--------------------------------------------------------------------------------
9/17/2012 22:45:15 [DEBUG] system call: ps -A co command (runtime: 0.01)
>tor --version
Sep 17 22:46:00.606 [notice] Tor v0.2.3.22-rc (git-4a0c70a817797420) running on Linux.
Tor version 0.2.3.22-rc (git-4a0c70a817797420).
vidalia version 0.2.20
**Trac**:
**Username**: btb@bitrate.netDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/6907arm simply assumes it is connecting to a local tor instance (which is not nec...2016-03-13T01:54:27ZTracarm simply assumes it is connecting to a local tor instance (which is not necessarily always the case)It looks like arm simply assumes to connect to a local tor instance:
- the hostname and kernel version displayed in arm's interface is not from the relay (it is from localhost).
The following warnings are also caused by this assumption...It looks like arm simply assumes to connect to a local tor instance:
- the hostname and kernel version displayed in arm's interface is not from the relay (it is from localhost).
The following warnings are also caused by this assumption:
```
[ARM_WARN] The torrc differs from what tor's using. You can issue a sighup to reload the torrc values by pressing x.
- torrc values differ
[ARM_WARN] Unable to read tor's log file: /var/log/tor/log on lines: 2, 3, 4, 6, 7, 8, 9, 10
```
Maybe arm could try to detect if it is connecting to a local tor instance by comparing the IP from the '-i' parameter with locally configured IP adresses?
An alternative method and probably easier and more reliable: If the pid (gathered via 'GETINFO process/pid') does not match one of the pids returned by 'pidof tor' it is probably not a local tor instance.
What do you think?
**Trac**:
**Username**: cypherpunkxDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/6908installing arm from debian repo: dependency issues? (arch: arm)2016-03-13T01:55:22ZTracinstalling arm from debian repo: dependency issues? (arch: arm)from /etc/apt/sources.lst
```
deb http://deb.torproject.org/torproject.org squeeze main
deb http://deb.torproject.org/torproject.org experimental-squeeze main
```
```
aptitude install tor-arm
The following NEW packages will be i...from /etc/apt/sources.lst
```
deb http://deb.torproject.org/torproject.org squeeze main
deb http://deb.torproject.org/torproject.org experimental-squeeze main
```
```
aptitude install tor-arm
The following NEW packages will be installed:
python-support{a} tor-arm{b}
0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 340 kB of archives. After unpacking 1,451 kB will be used.
The following packages have unmet dependencies:
tor-arm: Depends: python-torctl (>= 20110618git-1~bpo60+1) which is a virtual package.
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) tor-arm [Not Installed]
Accept this solution? [Y/n/q/?]
```
**Trac**:
**Username**: cypherpunkxDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/7611Man page parser out of date2016-03-13T01:55:37ZDamian JohnsonMan page parser out of dateIt looks like arm's man page parser is having issues with tor's new man page. We should update the parser, preferably moving it to arm as we do so.
> 12/1/2012 20:41:56 [NOTICE] Unrecognized category in the man page: COMMAND-LINE OPTION...It looks like arm's man page parser is having issues with tor's new man page. We should update the parser, preferably moving it to arm as we do so.
> 12/1/2012 20:41:56 [NOTICE] Unrecognized category in the man page: COMMAND-LINE OPTIONS
> 12/1/2012 20:41:56 [NOTICE] Unrecognized category in the man page: GENERAL OPTIONSDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/7709DisableDebuggerAttachment when running as root2016-03-13T01:56:29ZproperDisableDebuggerAttachment when running as rootArm shows the DisableDebuggerAttachment related notice, even when running as root.Arm shows the DisableDebuggerAttachment related notice, even when running as root.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/8015arm torrc parsing comments wrongly2016-03-13T01:56:42ZSathyanarayanan Gunasekaranarm torrc parsing comments wronglyI have this in my log -
```
08:55:41 [ARM_WARN] The torrc differs from what tor's using. You can issue a sighup to reload the torrc values by pressing x.
- torrc value differs on line: 117
```
and in my torrc -
```
│ 115 ## Se...I have this in my log -
```
08:55:41 [ARM_WARN] The torrc differs from what tor's using. You can issue a sighup to reload the torrc values by pressing x.
- torrc value differs on line: 117
```
and in my torrc -
```
│ 115 ## Set a maximum of 4 gigabytes each way per period.
│ 116 AccountingMax 1000 GB (1073741824000)
│ 117 ## Each period starts daily at midnight (AccountingMax is per day)
│ 118 #AccountingStart day 00:00
```Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/8046arm no longer shows inbound connects or control connection2016-03-13T01:56:55ZTracarm no longer shows inbound connects or control connectionAfter upgrading to latest git arm no longer shows inbound connects or control connection.
**Trac**:
**Username**: drforbinAfter upgrading to latest git arm no longer shows inbound connects or control connection.
**Trac**:
**Username**: drforbinDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/8473zero connections treated as a socket listing error2016-03-13T01:57:36ZTraczero connections treated as a socket listing errorIf I connect arm to my client-only tor node that's been idle for some time and has no connections open, arm gets confused and thinks there's a socket listing problem.
```
[ARM_NOTICE] Unable to query connections with sockstat (bsd), tryi...If I connect arm to my client-only tor node that's been idle for some time and has no connections open, arm gets confused and thinks there's a socket listing problem.
```
[ARM_NOTICE] Unable to query connections with sockstat (bsd), trying procstat (bsd)
[ARM_NOTICE] Unable to query connections with procstat (bsd), trying lsof
[ARM_NOTICE] We were unable to use any of your system's resolvers to get tor's connections. This is fine, but means that the connections page will be empty. This is usually permissions related so if you would like to fix this then run arm with the same user as tor (ie, "sudo -u <tor user> arm").
```
**Trac**:
**Username**: ultramageDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/8687Issue with RelayBandwidthBurst handling2016-03-13T01:57:52ZDamian JohnsonIssue with RelayBandwidthBurst handlingMiłosz reports...
```
I think I've spotted a mistake in arm. It would seem that the RelayBandwidthBurst setting from torrc is interpreted as a rate (so a setting of 2MB is shown as 16Mbit/s, for example), but, as I've recently learned, ...Miłosz reports...
```
I think I've spotted a mistake in arm. It would seem that the RelayBandwidthBurst setting from torrc is interpreted as a rate (so a setting of 2MB is shown as 16Mbit/s, for example), but, as I've recently learned, that is not what the setting actually defines.
What it does define is something along the lines of a "credit limit" - the bandwidth bucket grows with RelayBandwidthRate until it hits RelayBandwidthBurst. It is the maximum amount of data that can be transferred in a single "burst", rather than the maximum bandwidth. For a less incompetent explanation than my own, see https://trac.torproject.org/projects/tor/ticket/3630#comment:14
This seems to be a common misconception within the tor community (even to the point where some comments in tor's source code indicate it!).
```Damian JohnsonDamian Johnson