Commit 984052dd authored by Damian Johnson's avatar Damian Johnson
Browse files

Release prep for version 1.4.1.



svn:r24053
parent 57f50f99
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
CHANGE LOG

1/7/11 - version 1.4.1
Platform specific enhancements including BSD compatibility and vastly improved performance on Linux.

    * added: querying the proc contents when able for tor resource and connection samplings to *greatly* reduce arm's resource usage (many thanks to psutil)
    * added: vastly improved BSD compatibility, thanks to patches by Fabian Keil
          o pid resolution via pgrep (all platforms) and sockstat (bsd only)
          o connection resolution via sockstat (all platforms) and procstat (bsd only)
          o autodetecting the path prefix for FreeBSD jails
    * added: displaying summaries of the options on the configuration panel (idea by Sebastian)
    * added: arm cpu usage to the header panel and logs (with an estimate for system call usages)
    * added: testing script for checking connection resolution performance, connection dumps, and the glyph demo
    * added: option to dump arm debug logs (better failsafe option)
    * change: incrementing the uptime field of the header panel each second
    * change: centralizing arm resources in ~/.arm (suggested by Sebastian and also thanks to feedback from rransom)
    * change: using exponential backoff of ps/proc resource resolutions when calls fail or tor isn't running
    * change: reordered resolvers by order of performance
    * change: when tor's man page is unavailable falling back to descriptions provided with arm (often the case with tbb)
    * change: dropping support for graphing of custom ps attributes (feature was never used, kinda pointless, and incompatible with the proc enhancement)
    * fix: providing proper cpu samplings rather than an average over the life of the process
    * fix: expanding relative paths for the authentication cookie (mostly a problem for tbb instances)
    * fix: crashing error when querying hidden service parameters (caught by StrangeCharm, fixed by katmagic and chiiph)
    * fix: initially built diff differed from rebuilt version since it was missing the pycompat (caught by weasel)
    * fix: startup script wasn't handling unusual paths, such as with spaces and dashes (caught by weasel)
    * fix: startup script was forking the final process instead of calling exec (caught by weasel)
    * fix: log entries weren't being bracketed by date dividers when no scroll bars were visible (caught thanks to twur)
    * fix: workaround for config-text providing Log entries regardless of if it matches the default (caught thanks to Trystero)
    * fix: config validation mistakenly thought that Tor stripped spaces from CSV getconf responses (caught by murble)
    * fix: presenting a text input field with python 2.5 would crash (caught by murble)
    * fix: reloading torrc contents when a sighup is issued (caught by StrangeCharm)
    * fix: modifying lsof resolution to work with additional platforms (patch by Fabian Keil)
    * fix: dropping the locale for internal connections (patch by Fabian Keil)
    * fix: labeling connections to our socks port as being client connections (caught by Fabian Keil)
    * fix: skipping internal -> external address translation when the external address is private (caught by Fabian Keil)
    * fix: suppressing superfluous lsof warnings (patch by Hans Schnehl)
    * fix: when the pid was unavailable some resolvers failed to work
    * fix: including udp connection results (needed since exits proxy dns traffic)
    * fix: crashing issue when nickname was undefined but displayed on the connection panel
    * fix: concurrency issue caused the first connection resolution to often not have the pid
    * fix: connection resolution wasn't finding results if tor was running under a different name
    * fix: brought all Linux connection resolvers into parity (established tcp connections only)
    * fix: commands with quoted pipes were being mis-parsed by the sysTools' call function

11/27/10 - version 1.4.0 (r23873)
Introducing a new page for managing tor's configuration, along with several other improvements.

+7 −0
Original line number Diff line number Diff line
@@ -92,6 +92,12 @@ 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

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"

-------------------------------------------------------------------------------

Layout:
@@ -113,6 +119,7 @@ Layout:
    starter.py        - parses and validates commandline parameters
    prereq.py         - checks python version and for required packages
    version.py        - version and last modified information
    test.py           - method for starting tests and demos
    settings.cfg      - attributes loaded for parsing tor related data
    torConfigDesc.txt - fallback descriptions of Tor's configuration options
    uninstall         - removal script
+53 −38
Original line number Diff line number Diff line
TODO

- Roadmap and completed work for next release (1.4.1)
- Roadmap and completed work for next release (1.4.2)
  [ ] refactor panels
      Currently the interface is a bit of a rat's nest (especially the
      controller). The goal is to use better modularization to both simplify
@@ -9,7 +9,7 @@ TODO
      progress - /init and /util are done and /interface is partly done. Known
      bugs are being fixed while refactoring.
      
      [ ] conn panel
      * conn panel
        - expand client connections and note location in circuit (entry-exit)
        - for clients give an option to list all connections, to tell which are
          going through tor and which might be leaking
@@ -33,49 +33,46 @@ TODO
        - include an option to show both the internal and external ips for the
          local connection, ie:
          myInternal --> myExternal --> foreign
      [ ] control port interpreter (interactive prompt)
          Panel and startup option (-t maybe?) for providing raw control port
          access along with usability improvements (piggybacking on the arm
          connection):
          - irc like help (ex "/help GETINFO" could provide a summary of
            getinfo commands, partly using the results from
            "GETINFO info/names")
          - tab completion and up/down for previous commands
          - warn and get confirmation if command would disrupt arm (for
            instance 'SETEVENTS')
          - 'safe' option that restricts to read-only access (start with this)
          - issue sighup reset
      [ ] low hanging fruit from the "client mode use cases" below
      [ ] store resources (config and cache) in the home directory (suggestion
          by Sebastian)
      [ ] note TERM="rxvt-unicode" as possible fix when graph isn't visible
          while using screen
      [ ] include short, summary descriptions instead of man contents in
          the listing
      [ ] add warning when arm cpu resource usage is high that the -b flag
          would be suggested (caught by Clete - "arm went from using 30% of
          the CPU time to 1% constant" on a 360MHz machine)
      [ ] deb issue: "one issue I noticed was that, again, the source package
          is not idempotent, that is to say if I unpack the .dsc and build the
          package I end up with a different .diff.gz"
          idea and initial patch by Fabian Keil
      * expand dump (--debug) information
        - os and python versions
        - arm and tor configs (scrubbing private attributes)
      * classify config options as useful (defaultly shown), standard, and
        deprecated (configured to be hidden by default)
      * check tor source for deprecated options like 'group' (are they
        ignored? idea is thanks to NightMonkey)
  * release prep
    * pylint --indent-string="  " --disable=C,R interface/foo.py | less
    * double check __init__.py and README for changes
    * Gentoo notification (contact NightMonkey)
    * ArcLinux notification
    * double check __init__.py and README for added or removed files
    * wait a week, then bump package versions
      * Debian
        Contact: weasel (Peter Palfrader)
        Initial Release: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=603056
        Update Instructions:
          * TBD
      
      * Gentoo
        Contact: NightMonkey (Jesse Adelman)
        Initial Release: https://bugs.gentoo.org/show_bug.cgi?id=341731
        Update Instructions:
          * go to https://bugs.gentoo.org
          * make a generic bug with "net-misc/arm-X.X.X version bump, please"
      
- Roadmap for version 1.4.2
      * ArchLinux
        Contact: Spider.007
        Initial Release: http://aur.archlinux.org/packages.php?ID=44172
        Update Instructions:
          * go to aur.archlinux.org
          * select "Out-of-date" for the package

- Roadmap for version 1.4.3
  [ ] refactor panels
      [ ] controller and popup panels
        - allow arm to resume after restarting tor
            This requires a full move to the torTools controller.
        - provide measurements for startup time, and try to improve bottlenecks
  [ ] menus
      - http://gnosis.cx/publish/programming/charming_python_6.html ?
      - additional options:
        - make update rates configurable via the ui
        - dialog with flag descriptions and other help
        - menu with all torrc options (making them editable/toggleable)
        - improve on performance bottlenecks for startup time and cpu usage
        - intermittent concurrency bugs during shutdown, one possible source:
          https://trac.torproject.org/projects/tor/ticket/2144
  [ ] setup scripts for arm
      [ ] updater (checks for a new tarball and installs it automatically)
        - attempt to verify download signature, providing a warning if unable
@@ -187,6 +184,24 @@ TODO
    * dialog with bridge statuses (idea by mikeperry)
      https://trac.vidalia-project.net/ticket/570
      https://trac.torproject.org/projects/tor/ticket/2068
  * menus
    * http://gnosis.cx/publish/programming/charming_python_6.html ?
    * additional options:
      * make update rates configurable via the ui
      * dialog with flag descriptions and other help
      * menu with all torrc options (making them editable/toggleable)
  * control port interpreter (interactive prompt)
    Panel and startup option (-t maybe?) for providing raw control port
    access along with usability improvements (piggybacking on the arm
    connection):
    * irc like help (ex "/help GETINFO" could provide a summary of
      getinfo commands, partly using the results from
      "GETINFO info/names")
    * tab completion and up/down for previous commands
    * warn and get confirmation if command would disrupt arm (for
      instance 'SETEVENTS')
    * 'safe' option that restricts to read-only access (start with this)
    * issue sighup reset
  * make use of the new process/* GETINFO options
    They'll be available in the next tor release, as per:
    https://trac.torproject.org/projects/tor/ticket/2291
+1 −1
Original line number Diff line number Diff line
@@ -2,5 +2,5 @@
Scripts involved in validating user input, system state, and initializing arm.
"""

__all__ = ["starter", "prereq", "version"]
__all__ = ["starter", "prereq", "version", "test"]
+1 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ config.summary.LearnCircuitBuildTimeout Toggles adaptive timeouts for circuit cr
config.summary.CircuitBuildTimeout Initial timeout for circuit creation
config.summary.CircuitIdleTimeout Timeout for closing circuits that have never been used
config.summary.CircuitStreamTimeout Timeout for shifting streams among circuits
config.summary.ClientOnly Ensures not usage as a relay or directory mirror
config.summary.ClientOnly Ensures that we aren't used as a relay or directory mirror
config.summary.ExcludeNodes Relays or locales never to be used in circuits
config.summary.ExcludeExitNodes Relays or locales never to be used for exits
config.summary.EntryNodes Preferred first hops for circuits
Loading