Commit e249dc8f authored by Damian Johnson's avatar Damian Johnson
Browse files

Arm release 1.4.5

parents edcde437 bd14fded
Loading
Loading
Loading
Loading
+28 −4
Original line number Diff line number Diff line
CHANGE LOG

4/28/12 - version 1.4.5
Software isn't perfect and arm is no exception. This is a bugfix release that corrects most issues that users have reported over the last several months. This does not include any new features, but includes changes that are important for continued interoperability with tor.

    * fix: unrecognized authentication methods (like 'SAFECOOKIE') would make arm crash (caught by E)
    * fix: providing users a log message when DisableDebuggerAttachment breaks us
    * fix: crashing issue when parsing tor log entries from leap years (fix by Sebastian, https://trac.torproject.org/projects/tor/ticket/5265)
    * fix: major terminal glitches related to the import of the readline module (caught by Stephan Seitz)
    * fix: adding OSX (and probably BSD) support for pwd lookups (thanks to Sebastian, https://trac.torproject.org/projects/tor/ticket/4236)
    * fix: unnecessary validation warnings for DirReqStatistics with new tor versions (caught by Sebastian, https://trac.torproject.org/projects/tor/ticket/4237)
    * fix: better validation for path component of circuit-staus output (https://trac.torproject.org/projects/tor/ticket/5267)
    * fix: checking that the auth cookie is 32 bytes before reading (caught by rransom, https://trac.torproject.org/projects/tor/ticket/4305)
    * fix: tor process detection on Mac/FreeBSD/OpenBSD broken due to different variant of ps (caught thanks to a test system from Jordi Espasa Clofent)
    * fix: using only lsof for OpenBSD connection queries (caught thanks to a test system from Jordi Espasa Clofent)
    * fix: torrc validation was case sensitive (caught by koolfy, thanks to help from Runa, https://trac.torproject.org/projects/tor/ticket/4601)
    * fix: torrc validation warned of special deb Logging default (caught by koolfy, thanks to help from Sebastian and Runa, https://trac.torproject.org/projects/tor/ticket/4602)
    * fix: snapshot handler had buggy path handling (caught by Jeff Bonner, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=646080)
    * fix: specifying python version requirement in rpm dependencies (caught by unSpawn, thanks to help from Juan Orti Alcaine)
    * fix: proc utils didn't account for big-endian architectures (caught by swalker, https://trac.torproject.org/projects/tor/ticket/4777)
    * fix: 'enter' on the connection page was mislabeled (patch by twilde, https://trac.torproject.org/projects/tor/ticket/4621)
    * fix: reproduced an ACS failure, noting it in the README and adding a config option to partly work around it (thanks to help from rransom)
    * fix: circuit listing would fail to be updated if connection information was unavailable
    * fix: errors in checking the auth cookie size prevented alternate authentication methods from being attempted

9/25/11 - version 1.4.4 (881c67a)
Besides the normal bug fixes and minor features, this release introduces the control port interpretor. This is a new page or standalone prompt that gives raw control port access with several usability improvements (tab completion, history, irc style help, interpretor commands, etc).

@@ -24,6 +47,7 @@ Besides the normal bug fixes and minor features, this release introduces the con
    * fix: appending path prefix to auth cookie path (caught by sid77)
    * fix: skipping log parsing if misformatted (caught by Sjon)
    * fix: incorrect armrc path in man page (caught by dererk)
    * fix: trying all authentication methods rather than just the first (caught by arma, https://trac.torproject.org/projects/tor/ticket/3958)
    * fix: toning down the warning when all connection resolvers fail (suggested by Sebastian)
    * fix: quitting wizard when the user presses 'q' instead of just esc (suggested by monochromec, https://trac.torproject.org/projects/tor/ticket/3995)
    * fix: quitting could cause unclean curses shutdown
@@ -37,10 +61,10 @@ Besides the normal bug fixes and minor features, this release introduces the con
    * fix: listener wasn't registering GUARD events
    * fix: dropping nonexistent ORCONN attributes
    * fix: clarifying the missing torrc message
    * fix (9/29/11): dropping gtk/cagraph requirements (caught by monochromec, vinc3nt, and Bill White)
    * fix (9/29/11): crash from esc in interpretor panel prompt (caught by Sebastian, https://trac.torproject.org/projects/tor/ticket/4098)
    * fix (9/29/11): deduplicating 'Circuit build timeout' and 'looks like we don't need to wait so long' messages (patch by StrangeCharm, https://trac.torproject.org/projects/tor/ticket/4096)
    * fix (9/29/11): forcing redraw on ctrl+L reguardless of need (caught by np, https://trac.torproject.org/projects/tor/ticket/2830)
    * fix (9/29/11, edcde43): dropping gtk/cagraph requirements (caught by monochromec, vinc3nt, and Bill White)
    * fix (9/29/11, edcde43): crash from esc in interpretor panel prompt (caught by Sebastian, https://trac.torproject.org/projects/tor/ticket/4098)
    * fix (9/29/11, edcde43): deduplicating 'Circuit build timeout' and 'looks like we don't need to wait so long' messages (patch by StrangeCharm, https://trac.torproject.org/projects/tor/ticket/4096)
    * fix (9/29/11, edcde43): forcing redraw on ctrl+L reguardless of need (caught by np, https://trac.torproject.org/projects/tor/ticket/2830)

7/16/11 - version 1.4.3 (6cf4836)
This completes the codebase refactoring project that's been a year in the works and provides numerous performance and usability improvements. Most notably this includes a setup wizard for new relays, menuing interface, gui prototype, substantial performance improvements, and support for Mac OSX.
+14 −1
Original line number Diff line number Diff line
@@ -99,12 +99,25 @@ pid belongs to the open control port. If it's running as a different user (such
as being in a chroot jail) then it's probably failing due to permission issues.
Arm still runs, just no connection listing or ps stats.

> The bandwidth graph showing up
> The bandwidth graph isn't showing up

Some terminals, most notably screen sessions on Gentoo, appear to have a bug
where highlighted spaces aren't rendered. A reported workaround is to set:
  TERM="rxvt-unicode"

> There's borders like 'mwqqqqqqqqj'

If you're getting something that looks like...
http://www.atagar.com/arm/images/acs_display_failure.png

then you're encountering a bug between ncurses and your terminal where
alternate character support (ACS) is unavailable. For more information see...
http://invisible-island.net/ncurses/ncurses.faq.html#no_line_drawing

Unfortunately there doesn't seem to be a way for arm to automatically detect
and correct this. To work around some of the issues set this in your armrc...
features.acsSupport false

> When I press enter in the connection panel to get details some of the
information is either missing or outdated. Why is this?

+5 −1
Original line number Diff line number Diff line
@@ -28,6 +28,10 @@ queries.useProc true
# Renders the interface with color if set and the terminal supports it
features.colorInterface true

# Uses ACS (alternate character support) to display nice borders. This may not
# work on all terminals.
features.acsSupport true

# Replaces all colored content (ie, anything that isn't white) with this
# color. Valid options are:
# none, red, green, yellow, blue, cyan, magenta, black, white
@@ -273,7 +277,7 @@ log.torGetInfoCache NONE
log.torGetConf DEBUG
log.torGetConfCache NONE
log.torSetConf INFO
log.torEventTypeUnrecognized NOTICE
log.torEventTypeUnrecognized INFO
log.torPrefixPathInvalid NOTICE
log.procCallMade DEBUG
log.sysCallMade DEBUG
+97 −98
Original line number Diff line number Diff line
@@ -308,7 +308,7 @@ class ConnectionPanel(panel.Panel, threading.Thread):
    options.append(("down arrow", "scroll down a line", None))
    options.append(("page up", "scroll up a page", None))
    options.append(("page down", "scroll down a page", None))
    options.append(("enter", "edit configuration option", None))
    options.append(("enter", "show connection details", None))
    options.append(("d", "raw consensus descriptor", None))
    
    if self.isClientsAllowed():
@@ -419,7 +419,6 @@ class ConnectionPanel(panel.Panel, threading.Thread):
    connResolver = connections.getResolver("tor")
    currentResolutionCount = connResolver.getResolutionCount()
    
    if self._lastResourceFetch != currentResolutionCount:
    self.valsLock.acquire()
    
    newEntries = [] # the new results we'll display
+33 −16
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ CONFIG = {"startup.events": "N3",
          "features.graph.bw.prepopulate": True,
          "wizard.default": {},
          "log.startTime": log.INFO,
          "log.torEventTypeUnrecognized": log.NOTICE,
          "log.torEventTypeUnrecognized": log.INFO,
          "log.configEntryUndefined": log.NOTICE,
          "log.unknownTorPid": log.WARN}

@@ -341,6 +341,11 @@ class Controller:
      panelImpl.setTop(occupiedContent)
      occupiedContent += panelImpl.getHeight()
    
    # apparently curses may cache display contents unless we explicitely
    # request a redraw here...
    # https://trac.torproject.org/projects/tor/ticket/2830#comment:9
    if force: self._screen.clear()
    
    for panelImpl in displayPanels:
      panelImpl.redraw(force)
    
@@ -545,6 +550,10 @@ class TorManager:
    
    if authType == TorCtl.AUTH_TYPE.COOKIE:
      try:
        authCookieSize = os.path.getsize(authValue)
        if authCookieSize != 32:
          raise IOError("authentication cookie '%s' is the wrong size (%i bytes instead of 32)" % (authValue, authCookieSize))
        
        torctlConn.authenticate(authValue)
        torTools.getConn().init(torctlConn)
      except Exception, exc:
@@ -654,6 +663,14 @@ def startTorMonitor(startTime):
  torTools.REQ_EVENTS["BW"] = "bandwidth graph won't function"
  
  if not CONFIG["startup.blindModeEnabled"]:
    # The DisableDebuggerAttachment will prevent our connection panel from really
    # functioning. It'll have circuits, but little else. If this is the case then
    # notify the user and tell them what they can do to fix it.
    
    if conn.getOption("DisableDebuggerAttachment") == "1":
      log.log(log.NOTICE, "Tor is preventing system utilities like netstat and lsof from working. This means that arm can't provide you with connection information. You can change this by adding 'DisableDebuggerAttachment 0' to your torrc and restarting tor. For more information see...\nhttps://trac.torproject.org/3313")
      connections.getResolver("tor").setPaused(True)
    else:
      torTools.REQ_EVENTS["CIRC"] = "may cause issues in identifying client connections"
      
      # Configures connection resoultions. This is paused/unpaused according to
Loading