Commit e8e88922 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

Merge branch 'maint-0.2.1' into master

parents 7b716878 69706f99
Loading
Loading
Loading
Loading
+22 −1
Changes for ChangeLog: 22 added lines, 1 removed line.
Original line number Diff line number Diff line
Changes in version 0.2.2.1-alpha - 2009-07-2?
Changes in version 0.2.2.1-alpha - 2009-0?-??
  o Major features:
    - Add support for dynamic OpenSSL hardware crypto acceleration engines
      via new AccelName and AccelDir options.
@@ -51,6 +51,27 @@ Changes in version 0.2.2.1-alpha - 2009-07-2?
      controllers.


Changes in version 0.2.1.19 - 2009-07-28
  o Major bugfixes:
    - Make accessing hidden services on 0.2.1.x work right
      again. Bugfix on 0.2.1.3-alpha; workaround for bug 1038.

  o Minor features:
    - When a relay/bridge is writing out its identity key fingerprint to
      the "fingerprint" file and to its logs, write it without spaces. Now
      it will look like the fingerprints in our bridges documentation,
      and confuse fewer users.

  o Minor bugfixes:
    - Relays no longer publish a new server descriptor if they change
      their MaxAdvertisedBandwidth config option but it doesn't end up
      changing their advertised bandwidth numbers. Bugfix on 0.2.0.28-rc;
      fixes bug 1026. Patch from Sebastian.
    - Avoid leaking memory every time we get a create cell but we have
      so many already queued that we refuse it. Bugfix on 0.2.0.19-alpha;
      fixes bug 1034. Reported by BarkerJr.


Changes in version 0.2.1.18 - 2009-07-24
  o Build fixes:
    - Add LIBS=-lrt to Makefile.am so the Tor RPMs use a static libevent.
+6 −0
Changes for debian/changelog: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
tor (0.2.1.18-1) unstable; urgency=low

  * New upstream version.

 -- Peter Palfrader <weasel@debian.org>  Sat, 25 Jul 2009 11:15:11 +0200

tor (0.2.1.17-rc-1) experimental; urgency=low

  * New upstream version.
+5 −2
Changes for doc/spec/tor-spec.txt: 5 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -660,8 +660,11 @@ see tor-design.pdf.
   is speaking v2 of the link protocol or later, the OR relays the cell as a
   RELAY_EARLY cell.  Otherwise, it relays it as a RELAY cell.

   If a node ever receives more than 8 RELAY_EARLY cells on a given circuit,
   it SHOULD close the circuit.
   If a node ever receives more than 8 RELAY_EARLY cells on a given
   outbound circuit, it SHOULD close the circuit. (For historical reasons,
   we don't limit the number of inbound RELAY_EARLY cells; they should
   be harmless anyway because clients won't accept extend requests. See
   bug 1038.)

   When speaking v2 of the link protocol or later, clients MUST only send
   EXTEND cells inside RELAY_EARLY cells.  Clients SHOULD send the first ~8
+2 −6
Changes for src/or/command.c: 2 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -395,12 +395,8 @@ command_process_relay_cell(cell_t *cell, or_connection_t *conn)
   * gotten no more than MAX_RELAY_EARLY_CELLS_PER_CIRCUIT of them. */
  if (cell->command == CELL_RELAY_EARLY) {
    if (direction == CELL_DIRECTION_IN) {
      log_fn(LOG_PROTOCOL_WARN, LD_OR,
             "Received an inbound RELAY_EARLY cell on circuit %d from %s:%d."
             "  Closing circuit.",
             cell->circ_id, conn->_base.address, conn->_base.port);
      circuit_mark_for_close(circ, END_CIRC_REASON_TORPROTOCOL);
      return;
      /* XXX Allow an unlimited number of inbound relay_early cells for
       * now, for hidden service compatibility. See bug 1038. -RD */
    } else {
      or_circuit_t *or_circ = TO_OR_CIRCUIT(circ);
      if (or_circ->remaining_relay_early_cells == 0) {
+28 −7
Changes for src/or/config.c: 28 added lines, 7 removed lines.
Original line number Diff line number Diff line
@@ -1219,6 +1219,30 @@ options_need_geoip_info(or_options_t *options, const char **reason_out)
  return bridge_usage || routerset_usage;
}

/** Return the bandwidthrate that we are going to report to the authorities
 * based on the config options. */
int
get_effective_bwrate(or_options_t *options)
{
  int bw = (int)options->BandwidthRate;
  if (bw > options->MaxAdvertisedBandwidth)
    bw = (int)options->MaxAdvertisedBandwidth;
  if (options->RelayBandwidthRate > 0 && bw > options->RelayBandwidthRate)
    bw = (int)options->RelayBandwidthRate;
  return bw;
}

/** Return the bandwidthburst that we are going to report to the authorities
 * based on the config options. */
int
get_effective_bwburst(or_options_t *options)
{
  int bw = (int)options->BandwidthBurst;
  if (options->RelayBandwidthBurst > 0 && bw > options->RelayBandwidthBurst)
    bw = (int)options->RelayBandwidthBurst;
  return bw;
}

/** Fetch the active option list, and take actions based on it. All of the
 * things we do should survive being done repeatedly.  If present,
 * <b>old_options</b> contains the previous value of the options.
@@ -3810,9 +3834,7 @@ options_transition_affects_descriptor(or_options_t *old_options,
                                      or_options_t *new_options)
{
  /* XXX We can be smarter here. If your DirPort isn't being
   * published and you just turned it off, no need to republish. If
   * you changed your bandwidthrate but maxadvertisedbandwidth still
   * trumps, no need to republish. Etc. */
   * published and you just turned it off, no need to republish. Etc. */
  if (!opt_streq(old_options->DataDirectory, new_options->DataDirectory) ||
      !opt_streq(old_options->Nickname,new_options->Nickname) ||
      !opt_streq(old_options->Address,new_options->Address) ||
@@ -3825,10 +3847,9 @@ options_transition_affects_descriptor(or_options_t *old_options,
      old_options->NoPublish != new_options->NoPublish ||
      old_options->_PublishServerDescriptor !=
        new_options->_PublishServerDescriptor ||
      old_options->BandwidthRate != new_options->BandwidthRate ||
      old_options->BandwidthBurst != new_options->BandwidthBurst ||
      old_options->MaxAdvertisedBandwidth !=
        new_options->MaxAdvertisedBandwidth ||
      get_effective_bwrate(old_options) != get_effective_bwrate(new_options) ||
      get_effective_bwburst(old_options) !=
        get_effective_bwburst(new_options) ||
      !opt_streq(old_options->ContactInfo, new_options->ContactInfo) ||
      !opt_streq(old_options->MyFamily, new_options->MyFamily) ||
      !opt_streq(old_options->AccountingStart, new_options->AccountingStart) ||
Loading