免费SS | 加入收藏 | 设为首页 | 我要投稿 | 赞助本站 | RSS


您当前的位置:首页 > 免费翻墙软件

Tor is released: bugfixes and DoS prevention

时间:2018-02-12  来源:torproject  作者:nickm ★推荐请点击G+1→

Hi!  There's a new alpha release available for download.  If you build Tor from source, you can download the source code for from the usual place on the website.  Packages should be available over the coming weeks, with a new alpha Tor Browser release some time in February.Xvh免费翻墙网

Remember, this is an alpha release: you should only run this if you'd like to find and report more bugs than usual.Xvh免费翻墙网

Tor is the second alpha in the 0.3.3.x series. It introduces a mechanism to handle the high loads that many relay operators have been reporting recently. It also fixes several bugs in older releases. If this new code proves reliable, we plan to backport it to older supported release series.Xvh免费翻墙网

Changes in version - 2018-02-10

  • Major features (denial-of-service mitigation):
    • Give relays some defenses against the recent network overload. We start with three defenses (default parameters in parentheses). First: if a single client address makes too many concurrent connections (>100), hang up on further connections. Second: if a single client address makes circuits too quickly (more than 3 per second, with an allowed burst of 90) while also having too many connections open (3), refuse new create cells for the next while (1-2 hours). Third: if a client asks to establish a rendezvous point to you directly, ignore the request. These defenses can be manually controlled by new torrc options, but relays will also take guidance from consensus parameters, so there's no need to configure anything manually. Implements ticket 24902.
  • Major bugfixes (netflow padding):
    • Stop adding unneeded channel padding right after we finish flushing to a connection that has been trying to flush for many seconds. Instead, treat all partial or complete flushes as activity on the channel, which will defer the time until we need to add padding. This fix should resolve confusing and scary log messages like "Channel padding timeout scheduled 221453ms in the past." Fixes bug 22212; bugfix on


  • Major bugfixes (protocol versions):
    • Add Link protocol version 5 to the supported protocols list. Fixes bug 25070; bugfix on
  • Major bugfixes (scheduler, consensus):
    • The scheduler subsystem was failing to promptly notice changes in consensus parameters, making it harder to switch schedulers network-wide. Fixes bug 24975; bugfix on
  • Minor features (denial-of-service avoidance):
    • Make our OOM handler aware of the geoip client history cache so it doesn't fill up the memory. This check is important for IPv6 and our DoS mitigation subsystem. Closes ticket 25122.
  • Minor features (directory authority):
    • When directory authorities are unable to add signatures to a pending consensus, log the reason why. Closes ticket 24849.
  • Minor features (geoip):
    • Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2 Country database.
  • Minor features (logging, diagnostic):
    • When logging a failure to create an onion service's descriptor, also log what the problem with the descriptor was. Diagnostic for ticket 24972.
  • Minor bugfix (channel connection):
    • Use the actual observed address of an incoming relay connection, not the canonical address of the relay from its descriptor, when making decisions about how to handle the incoming connection. Fixes bug 24952; bugfix on Patch by "ffmancera".
  • Minor bugfix (directory authority):
    • Directory authorities, when refusing a descriptor from a rejected relay, now explicitly tell the relay (in its logs) to set a valid ContactInfo address and contact the bad-relays@ mailing list. Fixes bug 25170; bugfix on
  • Minor bugfixes (all versions of Tor):
    • Use the "misspell" tool to detect and fix typos throughout the source code. Fixes bug 23650; bugfix on various versions of Tor. Patch from Deepesh Pathak.
  • Minor bugfixes (circuit, cannibalization):
    • Don't cannibalize preemptively-built circuits if we no longer recognize their first hop. This situation can happen if our Guard relay went off the consensus after the circuit was created. Fixes bug 24469; bugfix on 0.0.6.
  • Minor bugfixes (correctness):
    • Remove a nonworking, unnecessary check to see whether a circuit hop's identity digest was set when the circuit failed. Fixes bug 24927; bugfix on
  • Minor bugfixes (logging):
    • Don't treat inability to store a cached consensus object as a bug: it can happen normally when we are out of disk space. Fixes bug 24859; bugfix on
    • Fix a (mostly harmless) race condition when invoking LOG_PROTOCOL_WARN message from a subthread while the torrc options are changing. Fixes bug 23954; bugfix on
  • Minor bugfixes (onion services):
    • Remove a BUG() statement when a client fetches an onion descriptor that has a lower revision counter than the one in its cache. This can happen in normal circumstances due to HSDir desync. Fixes bug 24976; bugfix on
    • If we are configured to offer a single onion service, don't log long-term established one hop rendezvous points in the heartbeat. Fixes bug 25116; bugfix on
  • Minor bugfixes (performance):
    • Avoid calling protocol_list_supports_protocol() from inside tight loops when running with cached routerinfo_t objects. Instead, summarize the relevant protocols as flags in the routerinfo_t, as we do for routerstatus_t objects. This change simplifies our code a little, and saves a large amount of short-term memory allocation operations. Fixes bug 25008; bugfix on
  • Minor bugfixes (Rust FFI):
    • Fix a minor memory leak which would happen whenever the C code would call the Rust implementation of protover_get_supported_protocols(). This was due to the C version returning a static string, whereas the Rust version newly allocated a CString to pass accross the FFI boundary. Consequently, the C code was not expecting to need to free() what it was given. Fixes bug 25127; bugfix on
  • Minor bugfixes (scheduler, KIST):
    • Avoid adding the same channel twice in the KIST scheduler pending list, which would waste CPU cycles. Fixes bug 24700; bugfix on
  • Minor bugfixes (unit test, monotonic time):
    • Increase a constant (1msec to 10msec) in the monotonic time test that makes sure the nsec/usec/msec times read are synchronized. This change was needed to accommodate slow systems like armel or when the clock_gettime() is not a VDSO on the running kernel. Fixes bug 25113; bugfix on
  • Minor bugfixes (v3 onion services):
    • Look at the "HSRend" protocol version, not the "HSDir" protocol version, when deciding whether a consensus entry can support the v3 onion service protocol as a rendezvous point. Fixes bug 25105; bugfix on
  • Code simplification and refactoring:
    • Remove the unused nodelist_recompute_all_hsdir_indices(). Closes ticket 25108.
    • Remove a series of counters used to track circuit extend attempts and connection status but that in reality we aren't using for anything other than stats logged by a SIGUSR1 signal. Closes ticket 25163.
  • Documentation (man page):
    • The HiddenServiceVersion torrc option accepts only one number: either version 2 or 3. Closes ticket 25026; bugfix on




欢迎评论:免登录,输入验证码即可匿名评论 共有条评论
用户名: 密码:
验证码: 匿名发表


VPN Turbo免费无限流量VPN代理网络加速器
VPN Turbo免费无限流量


Across the Great Firewall, you can reach every corner in the world!





650 Castro Street, Suite 120-219 Mountain View, CA, USA, 94041

本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。