[Neubot] Released Neubot 0.4.2

Simone Basso bassosimone at gmail.com
Mon Sep 19 18:29:51 CEST 2011

                        Released Neubot 0.4.2


Version 0.4.2 is the latest generally-available stable release of
Neubot, distributed for Ubuntu >= 10.04, MacOSX >= 10.6 and
Windows >= XP SP3.  Of course, Neubot 0.4.2 is also available in
source format (.tar.gz and .zip).

This release contains 143 patches.  The diffstat says: 87 files
changed, with 3167 lines inserted and 1392 lines deleted.

Here are the most relevant changes:

    o MacOS: automatic updates in the background.

      This implementation of the automatic updates is very
      generic, in the sense that is based on the standard
      UNIX API and does not leverage MacOS specific facilities,
      such as launchd(8).  I have patches to do that but they
      are not ready for this release and they will go into
      the next one;

    o Win32: disable autostart at the end of the install.

      Because the installer runs with high privileges and
      so starts Neubot with high privileges too.

      (Of course Neubot will autostart each time you login
      on the system and the _only_ difference is that it
      is not started at the end of the installation.)

      I have scheduled some work on the Windows installer
      for the coming weeks.  I hope I will be able to find
      a viable solution for this privileges issue too;

    o Ubuntu: new GUI, based on PyGtk+ and PyWebKit.

      The basic idea is to embed WebKit into a Gtk+ window
      and to point it to Neubot Web UI.  So, now you use
      Neubot's own application instead of opening its Web User
      Interface into the browser.  I think this is more usable
      and clear.


      BTW I have plans to do something similar for MacOS and
      Windows too;

    o database: add OS name and Neubot version to results.

      I've added them because they help data analysis.  The
      version is important because the behavior of the tests
      may change over time, because of changes in the code
      base.  The operating system is important as well, because
      every OS implements TCP/IP in a peculiar way;

    o net: undo the 262144-receive buffer optimization.

      Using a fixed-size buffer penalizes Linux, which has
      very advanced buffer management strategies designed
      for high bandwidth-delay product networks.

      (Having the version number and the OS name in the database
       allows to track the effect of this change quite well);

    o www: if privacy settings are not set, the starting page
      is privacy.html not index.html.

      We are modifying our installers to show privacy policy
      and ask for permission to collect and share/publish.
      The installer will also refuse to install if you don't
      give the permission to collect the results.

      But the work is still in progress, and for now only
      the MacOS installer is ready.  Meanwhile, it will not
      hurt to land users on privacy.html;

    o privacy: do not allow nonsense transitions once you
      have set the permissions.

      There are two different changes here.

      1. Once you have said that your are informed you cannot
         step back and tell Neubot you're not informed.  This is
         pure common sense.

      2. Also, once you've given the permission to collect your
         results you cannot step back.  This is to align with
         installers, that are being modified to allow installation
         only if you read the policy and give the permission to
         collect the results;

    o speedtest: use just one connection, like bittorrent does.

      This is the first step to make the two tests more comparable:
      of course comparing two connections with one _isn't_ fair,
      especially with high bandwidth-delay products or when there
      is more average congestion.

      More work is needed before we can say that the two tests
      stress the network in the same way.  Namely, we need to
      change speedtest to work on a request-response basis, like
      bittorrent does.  So, this is just the first step in the
      right direction.

      (And this is another case where saving the version number
       in the database would be very helpful to track the effects
       of the change.)

    o server: add support for a simple API to assess server state.

      This API is needed to implement a simple Nagios plugin, which
      can say whether the server state is OK or not;

    o nagios-plugin: finalize it.

      Now the plugin uses the abovementioned server API to assess
      server status and return something in the (OK, WARNING, ERROR)

    o more code rationalizations, bug and reliability fixes,
      unit tests.

The release candidates have been tested on Ubuntu 10.04, Windows
XP SP3, Windows 7 and MacOSX 10.6.  The main testing platform has
been my laptop with MacOS 10.6.8.

Packages and source archives available here:


ChangeLog here:


Commit history here:


SHA256sums here:


People that contributed to this release, with patches, testing
and/or feedback:

    Simone Basso
    Marco Scopesi
    Alessio Palmero Aprosio
    Federico Morando
    Juan Carlos De Martin
    Matt Mathis

Thank you for you attention,
Simone <http://www.neubot.org/people#basso>

More information about the Neubot mailing list