Skip to content
Permalink
wip_sphinx_doc…

Commits on Apr 15, 2019

  1. Add files to generate documentation with Sphinx

    and breathe, to read the doxygen generated files.
    juga0 committed Apr 15, 2019

Commits on Apr 10, 2019

  1. Merge branch 'maint-0.4.0'

    nmathewson committed Apr 10, 2019
  2. Bump version to 0.4.0.4-rc

    nmathewson committed Apr 10, 2019
  3. Merge branch 'maint-0.4.0'

    nmathewson committed Apr 10, 2019
  4. Add changes file for #30040.

    asn-d6 committed Apr 10, 2019
  5. Prevent double free on huge files with 32 bit.

    The function compat_getdelim_ is used for tor_getline if tor is compiled
    on a system that lacks getline and getdelim. These systems should be
    very rare, considering that getdelim is POSIX.
    
    If this system is further a 32 bit architecture, it is possible to
    trigger a double free with huge files.
    
    If bufsiz has been already increased to 2 GB, the next chunk would
    be 4 GB in size, which wraps around to 0 due to 32 bit limitations.
    
    A realloc(*buf, 0) could be imagined as "free(*buf); return malloc(0);"
    which therefore could return NULL. The code in question considers
    that an error, but will keep the value of *buf pointing to already
    freed memory.
    
    The caller of tor_getline() would free the pointer again, therefore
    leading to a double free.
    
    This code can only be triggered in dirserv_read_measured_bandwidths
    with a huge measured bandwith list file on a system that actually
    allows to reach 2 GB of space through realloc.
    
    It is not possible to trigger this on Linux with glibc or other major
    *BSD systems even on unit tests, because these systems cannot reach
    so much memory due to memory fragmentation.
    
    This patch is effectively based on the penetration test report of
    cure53 for curl available at https://cure53.de/pentest-report_curl.pdf
    and explained under section "CRL-01-007 Double-free in aprintf() via
    unsafe size_t multiplication (Medium)".
    stoeckmann authored and asn-d6 committed Apr 10, 2019
  6. Merge branch 'maint-0.4.0'

    teor2345 committed Apr 10, 2019

Commits on Apr 9, 2019

  1. Changes file for bug30041

    nmathewson committed Apr 9, 2019
  2. Check return value of buf_move_to_buf for error.

    If the concatenation of connection buffer and the buffer of linked
    connection exceeds INT_MAX bytes, then buf_move_to_buf returns -1 as an
    error value.
    
    This value is currently casted to size_t (variable n_read) and will
    erroneously lead to an increasement of variable "max_to_read".
    
    This in turn can be used to call connection_buf_read_from_socket to
    store more data inside the buffer than expected and clogging the
    connection buffer.
    
    If the linked connection buffer was able to overflow INT_MAX, the call
    of buf_move_to_buf would have previously internally triggered an integer
    overflow, corrupting the state of the connection buffer.
    
    Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
    stoeckmann authored and nmathewson committed Apr 9, 2019
  3. Protect buffers against INT_MAX datalen overflows.

    Many buffer functions have a hard limit of INT_MAX for datalen, but
    this limitation is not enforced in all functions:
    
    - buf_move_all may exceed that limit with too many chunks
    - buf_move_to_buf exceeds that limit with invalid buf_flushlen argument
    - buf_new_with_data may exceed that limit (unit tests only)
    
    This patch adds some annotations in some buf_pos_t functions to
    guarantee that no out of boundary access could occur even if another
    function lacks safe guards against datalen overflows.
    
    Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
    stoeckmann authored and nmathewson committed Apr 9, 2019
  4. Merge branch 'maint-0.4.0'

    asn-d6 committed Apr 9, 2019
  5. Merge branch 'maint-0.4.0'

    teor2345 committed Apr 9, 2019
  6. manpage: Clarify that Tor does stream isolation between *Port listene…

    …rs by default
    
    cherry-pick of tor-github/pr/841 to maint-0.4.0.
    rl1987 authored and teor2345 committed Apr 9, 2019

Commits on Apr 8, 2019

  1. Detect and suppress an additional gmtime() warning in test_util.c

    Fixes bug 29922; bugfix on 0.2.9.3-alpha when we tried to capture
    all these warnings.  No need to backport any farther than 0.3.5,
    though -- these warnings don't cause test failures before then.
    
    This one was tricky to find because apparently it only happened on
    _some_ windows builds.
    nmathewson committed Apr 8, 2019
  2. Fix SC2006 in minimize.sh

    rl1987 committed Apr 8, 2019

Commits on Apr 6, 2019

  1. practracker: accept 6 extra lines in tortls_nss.c:tor_tls_context_new()

    These lines were added to fix bug 29241.
    teor2345 committed Apr 6, 2019
Older