Skip to content

Releases: claranet/go-dnsmasq

v1.3.1

24 Dec 17:19
5efdfad
Compare
Choose a tag to compare
v1.3.1 Pre-release
Pre-release

Fix: concurrent map read and map write

  • There was a write access being made to a map outside a lock. This was sometimes causing an application crash. That access is now made inside a lock;
  • Add -trimpath to Makefile build command;
  • Add command to Makefile to run debug the application including the race condition detector.

v1.3.0

11 Dec 10:52
f542877
Compare
Choose a tag to compare
  • Update all Go dependencies

v1.2.2

10 Dec 15:31
7829761
Compare
Choose a tag to compare
  • With rcache-non-negative enabled, if the first upstream DNS responds with a valid response but whose status is not NOERROR, it will try other upstream servers, if availble

v1.2.1

03 Dec 18:12
2f5ef20
Compare
Choose a tag to compare
  • There were too much log.info messages being written as messages were being produced everytime a query was requested. This produces too much log text for a production run log.info call removed were replaced with log.debug so they will still appear if --verbose is passed

  • Run automatic formatting with go fmt. This is useful so future commits and pull request won't be more polluted than needed by reformatting code

v1.2.0

26 Nov 00:55
8282e0f
Compare
Choose a tag to compare
Implement feature state retention plus more

- Stale retention (optional)
  Add new command line option `--rstale-ttl`.
  If set to >0, a record will stay in cache for StaleTTl seconds.
  If TTL expires and all upstream servers are not available, then
  the state record will be served, if it not older than StaleTTL
  seconds.
  Caveat: If the record in cache is older than StaleTTL, it will still
  be served one last time before being removed from cache.

- Only cache non negative (option)
  Boolean flag rcache-non-negative, if set, will only allow positive
  records to be stored in cache. A positive record is a record whose
  client returned with state: NOERROR.

- Fix: EvictRandom was removing all records in cache. Now removed
  only one.

- Use TTL from response (option)
  Boolean flag rcache-ttl-from-resp, if set, will extract the lowest
  TTL from anwsers in response and use that value, for that record,
  if value > rcache-tll, which is a min value here; and if
  value < rcache-ttl-max, which is max value. If value < rcache-tll,
  rcache-tll will be used; if value > rcache-ttl-max, rcache-tll-max
  will be used.

- Add rcache-tll-max (option)
  See point above.

- Add stats endpoint at http://127.0.0.1:8053
  - /ping will ping-pong that stats endpoint
  - /stats will return current stats in JSON format
  - /dump will dump the current cache table - use with
    caution and for debug only as dumping cache can be
    expensive

- Optimize stats declaration, with name in map to avoid code
  duplication