| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-02-01 | Release rescached v2.1.0 (2019-02-01)v2.1.0 | Shulhan | |
| == New Features - Change default parent nameservers to Cloudflare DNS. We believe in Cloudflare! Please read Cloudflare DNS policy for more information, https://developers.cloudflare.com/1.1.1.1/commitment-to-privacy/privacy-policy/privacy-policy/ == Enhancements - Improve response performance. Previously we can serve around 93k request per second (RPS). The new enhancement increase the RPS to around 115k. == Bug Fixes - Fix the example certificate and key for DNS over HTTPS - Fix the hosts.block destination file in script to update blocked host file - Fix response with different query type that may not get pruned | |||
| 2019-02-01 | cmd/rescached: write heap profile when debugging runtime | Shulhan | |
| While at it, make the debugRuntime only run if debug value in options is greater than or equal to 2. | |||
| 2019-02-01 | go.mod: update package "share" to v0.3.0 | Shulhan | |
| 2019-01-29 | rescached: do not remove cached requests if one is fail | Shulhan | |
| There are many possibilities that can cause one request failed, we cannot just assume that one failed request responsible for the rest of request. | |||
| 2019-01-29 | rescached: add more unit test for some methods | Shulhan | |
| The unit test only for New, WritePID, LoadMasterDir, LoadHostsDir, and processRequest with UDP. | |||
| 2019-01-29 | cmd/rescached: add function to debug runtime memory allocation | Shulhan | |
| This commit also remove HTTP profiling. | |||
| 2019-01-29 | rescached: remove manual HTTP Flush | Shulhan | |
| This cause memory race condition when processing DNS over HTTPS | |||
| 2019-01-29 | rescached: remove request pool FreeRequest statement | Shulhan | |
| 2019-01-29 | rescached: fix logging prefix to match with its method | Shulhan | |
| 2019-01-29 | rescached: split the process request into its own method | Shulhan | |
| This is to simplify testing process request without using channel. | |||
| 2019-01-29 | response: renama checkExpiration to isExpired | Shulhan | |
| 2019-01-29 | rescached: move loading system hosts file to cmd/rescached | Shulhan | |
| The New function should only initialize the server, not loading any data from OS. | |||
| 2019-01-29 | cacheworker: print pruned record only on debug mode | Shulhan | |
| Also, print total number of pruned records at the end of pruning. | |||
| 2019-01-29 | cachesrequest: sort the content by map's keys on String | Shulhan | |
| 2019-01-29 | all: change default parent nameservers to Cloudflare DNS | Shulhan | |
| We believe in Cloudflare! Please read Cloudflare DNS policy for more information, https://developers.cloudflare.com/1.1.1.1/commitment-to-privacy/privacy-policy/privacy-policy/ | |||
| 2019-01-29 | rescached: check and initialize options with default value if its invalid | Shulhan | |
| Since the Options may always be correct, the New function does not need to return an error anymore. | |||
| 2019-01-28 | cmd/rescached: move loading hosts and master directory to library | Shulhan | |
| 2019-01-28 | Update changelog for next release | Shulhan | |
| 2019-01-28 | all: fix the example certificate and key for DNS over HTTPS | Shulhan | |
| Previously, the Common Name (CN) for certificate is not a valid local domain name, because we tested it using IP address instead of domain name. This commit use the "localhost" in certificate CN and in configuration for DoH in browser. | |||
| 2019-01-28 | makefile: run linter on build | Shulhan | |
| 2019-01-26 | all: fix capitalized errors string | Shulhan | |
| 2019-01-26 | cmd/resolver: simplify if-else condition on main | Shulhan | |
| 2019-01-26 | cmd/rescached: add package name to non-importable packages | Shulhan | |
| This is a fix for `goimports` warnings. | |||
| 2019-01-26 | cacheworker: replace "for select" with "for range" | Shulhan | |
| 2019-01-26 | all: suppress linter warnings on long lines | Shulhan | |
| 2019-01-26 | all: suppress linter warnings on known global variables | Shulhan | |
| 2019-01-26 | cachesrequest: fix mispelling on String comment | Shulhan | |
| 2019-01-26 | caches: pre-allocated keys using map length | Shulhan | |
| 2019-01-26 | options: set default listen address to loopback address and timeout to 5 | Shulhan | |
| While at it, minimize global constants usage if they only used once along program. | |||
| 2019-01-26 | rescached: check for nil Options | Shulhan | |
| This is good practice, even if we knew that is not possible, because cmd/rescached will always pass the Options from parsing config file. | |||
| 2019-01-26 | cmd/rescached: remove type config, use rescached.Options directly | Shulhan | |
| 2019-01-24 | cacheworker: remove updateQueue, call cacheWorker.update directly | Shulhan | |
| 2019-01-24 | caches: replace sync.Map with plain map and Mutex | Shulhan | |
| The benchmark output give better performance using plain map with Mutex rather than using sync.Map. | |||
| 2019-01-24 | cachesrequest: replace sync.Map with Go plain map with Mutex | Shulhan | |
| Using plain map with Mutex give better performance than sync.Map. Benchmark using dnstrace with sync.Map result in ~93k requests per second while plain map result in ~100k requests per second. | |||
| 2019-01-24 | cacheworker: add unit test for cacheWorker | Shulhan | |
| 2019-01-24 | caches: implement Stringer interface on caches | Shulhan | |
| 2019-01-24 | cacheslist: implement Stringer interface on cachesList | Shulhan | |
| 2019-01-24 | listrequest: replace items method with String | Shulhan | |
| 2019-01-24 | cachesrequest: replace items method with String | Shulhan | |
| The initial usage of items is to test the content of cachesRequest, which also can be checked by converting the content into String. | |||
| 2019-01-24 | scripts: update list of blocked hosts | Shulhan | |
| 2019-01-23 | scripts: update the hosts.block destination file | Shulhan | |
| 2019-01-23 | cacheworker: remove queue for pruning response in cache | Shulhan | |
| Instead of using channel, we call the remove function directly, which minimize number of channel used on program. | |||
| 2019-01-23 | cacheworker: check for nil "res" parameter on remove | Shulhan | |
| 2019-01-23 | cacheworker: add message to list if its contains other type | Shulhan | |
| 2019-01-23 | listresponse: print the response using String method of response | Shulhan | |
| This affect how the test assertion on listResponse work, instead of comparing each item in list, we compare them with the output of String. | |||
| 2019-01-22 | cacheworker: rename add() method to upsert() | Shulhan | |
| This change also rename the addQueue field to upsertQueue to reflect the process inside the channel and inside the function. | |||
| 2019-01-22 | cacheworker: check for empty msg parameter on add() | Shulhan | |
| 2019-01-22 | cacheworker: remove unused cacheThreshold field | Shulhan | |
| The field cacheThreshold is only used to initialize the cachesList. | |||
| 2019-01-20 | cachesrequest: add unit test for all methods | Shulhan | |
| 2019-01-20 | cachesrequest: check for empty key and req on push parameters | Shulhan | |
