Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: tinyproxy/tinyproxy
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: tinyproxy/tinyproxy
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ragel
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 13 commits
  • 6 files changed
  • 1 contributor

Commits on Oct 8, 2020

  1. conf: factor out list of regex into separate header

    this allows to include the regexes in another file and apply
    transformations and experiments.
    rofl0r committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    f1f3994 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3eb2386 View commit details
    Browse the repository at this point in the history
  3. conf: remove empty parens group from regex

    using an empty group () is not defined in the posix spec, and as such
    "undefined behaviour", even though it happened to work with both GLIBC
    and MUSL libc, as well as with oniguruma's POSIX compatibility API.
    
    we used this idiom as a trick when refactoring the regex parsing,
    in order not to change the match indices of all the handler functions,
    ignorant that this is not explicitly allowed by the spec.
    
    to make future refactoring easier, we introduce a MGROUP1 macro that's
    added to each match group index, so we have only a single knob to turn
    in case a similar change becomes necessary again.
    rofl0r committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    b07f7a8 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2020

  1. Configuration menu
    Copy the full SHA
    393e51b View commit details
    Browse the repository at this point in the history
  2. conf: remove obsolete whitespace from regex start

    we already deal with leading whitespace before a command in a manual
    way before comparing keywords.
    rofl0r committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    173c5b6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    57f932a View commit details
    Browse the repository at this point in the history
  4. conf: parse regexes case-sensitive

    rather than treating everything as case insensitive, we explicitly
    allow upper/lowercase where it makes sense.
    rofl0r committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    86379b4 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2020

  1. conf: simplify ipv4 regex

    use one matching group rather than 3.
    rofl0r committed Oct 12, 2020
    Configuration menu
    Copy the full SHA
    22f059d View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2020

  1. Configuration menu
    Copy the full SHA
    ae4cbca View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dabfd1a View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2020

  1. conf: shrink back RE_MAX_MATCHES to 16

    with the IPv4 regex simplification from 22f059d
    we're back to max 15 match groups according to re2r analysis
    (the most elaborate regex is the upstream one).
    rofl0r committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    42bb446 View commit details
    Browse the repository at this point in the history
  2. conf: add tool to print regex name/regex pairs as re2r input

    this is currently not included in the build system and needs to be
    compiled by hand.
    rofl0r committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    3a920b7 View commit details
    Browse the repository at this point in the history
  3. conf: speed up parsing 10x by using ragel if available

    conf_regex.rl is generated from the output of conf_regex_print.c using
    re2r (https://github.com/rofl0r/re2r).
    if ragel is available on the build host, it is being used to generate
    finite state machines from the regexes used by the config file parser
    for an impressive speed boost, while only adding moderately to binary
    size.
    a stripped x86_64 tinyproxy binary compiled with -O2 is still only ~100KB.
    rofl0r committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    417c258 View commit details
    Browse the repository at this point in the history
Loading