summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-12-27Release rescached v4.4.4 (2025-12-27)v4.4.4Shulhan
This release mostly chores. **πŸ’§ all: replace golangci-lint with "go vet"** **πŸ’§ all: replace debug package with internal Debug variabel** The [debug.Value] will be removed in the next release of pakakeh.go. **πŸ’§ internal/cmd/gocheck: add internal static analyzers** Instead of using binary fieldalignment and shadow, run them by creating command that call the same Analyzer internally. This analyzers help finding possible panic on httpd.go. **πŸ’§ make: remove build task from install tasks** The build task should be run by user, while install tasks run by root. If we make build depends on install then the binaries will rebuild by user root. **πŸ’§ Makefile: do not run "embed" when building rescached** The embed command should be run once when the assets file in _www changes. **πŸ’§ all: cleaning README and expand the index in documentation** In the README, we remove the EXIT STATUS and AUTHOR sections. Those sections are not informative. In the index, we expand the preamble to include short information about what is rescached. **πŸ’§ make: fix building resolver** Seems like the "go tool doc" subcommand has been removed on latest release of Go.
2025-12-27make: fix building resolverShulhan
Seems like the "go tool doc" subcommand has been removed on latest release of Go.
2025-07-04all: cleaning README and expand the index in documentationShulhan
In the README, we remove the EXIT STATUS and AUTHOR sections. Those sections are not informative. In the index, we expand the preamble to include short information about what is rescached.
2025-06-27Makefile: do not run "embed" when building rescachedShulhan
The embed command should be run once when the assets file in _www changes.
2025-06-13make: remove build task from install tasksShulhan
The build task should be run by user, while install tasks run by root. If we make build depends on install then the binaries will rebuild by user root.
2025-02-08internal/cmd/gocheck: add internal static analyzersShulhan
Instead of using binary fieldalignment and shadow, run them by creating command that call the same Analyzer internally. This analyzers help finding possible panic on httpd.go.
2025-01-26all: replace debug package with internal Debug variabelShulhan
The [debug.Value] will be removed in the next release of pakakeh.go.
2025-01-11go.mod: update all dependenciesShulhan
2025-01-11all: replace golangci-lint with "go vet"Shulhan
2024-09-07Release rescached v4.4.3 (2024-09-07)v4.4.3Shulhan
=== Enhancements * cmd/rescached: add sub command to print the current version Running "rescached version" now will print the program version. * support SVCB record (type 64) and HTTPS record (type 65) The latest update on "lib/dns" package support RFC 9460, SVCB record (type 64) and HTTPS record (type 65). === Chores * all: replace module "share" with "pakakeh.go" The module "share" has been moved to new repository at SourceHut and we rename it to make it more unique instead of common English words "share". * all: move repository to SourceHut The new repository and project page for rescached is at https://sr.ht/~shulhan/rescached .
2024-09-07go.mod: update all dependenciesShulhan
2024-09-07all: all: replace licensing format to REUSE.tomlShulhan
Using ".reuse/dep5" has been deprecated since REUSE v3.2.
2024-07-15_www/doc: update TODO listShulhan
Remove items that has been finished or not related to current implementation.
2024-07-15_www: inform that caches is auto refresh every 10 secondsShulhan
2024-07-15internal/cmd/www: an HTTP server for testing web UIShulhan
The web user interface can be run using existing rescached server by setting the SERVER value in class Rescached (_www/rescached.js).
2024-07-07_www: reformat all files using prettierShulhan
2024-07-06go.mod: update all dependenciesShulhan
2024-03-27go.mod: fix the go module versioningShulhan
Seems like the latest Go require the minor version to be explicitly defined [1][2]. [1] https://github.com/golang/go/issues/65568 [2] https://github.com/golang/go/issues/66175
2024-03-27_AUR: update the submodule to latest commitShulhan
2024-03-27go.mod: update module pakakeh.goShulhan
The latest update on "lib/dns" package support RFC 9460, SVCB record (type 64) and HTTPS record (type 65).
2024-03-27all: comply with lintersShulhan
Fix the code as recommended by linters, for example using context for HTTP client request, using 0600 for file permission, using string concatenation instead of fmt, using "%w" for error, and reorder defer.
2024-03-21cmd/rescached: add sub command to print the current versionShulhan
2024-03-21all: move repository to SourceHutShulhan
2024-03-21all: replace module "share" with "pakakeh.go"Shulhan
The module "share" has been moved to new repository at SourceHut and we rename it to make it more unique instead of common English words "share".
2024-02-04all: apply recommendation from linter reviveShulhan
2024-02-04go.mod: update dependenciesShulhan
2024-02-04_AUR: update AUR packageShulhan
2023-11-30go.mod: update share module and its dependenciesShulhan
2023-11-09Release rescached v4.4.2 (2023-11-10)v4.4.2Shulhan
* all: remove loading system hosts file:: Loading and caching system hosts file (for example, /etc/hosts in POSIX) will leaks internal hosts if the rescached server is open to public. The system hosts file are handled by nssswitch.conf "files" internally so no need to loading it. * cmd/resolver: replace "math/rand" with "crypto/rand":: The random number from "math/rand" is predictable if the seed is known. Even though the random number here is only for generating unique request ID, we still need to prevent this by using more secure random number.
2023-11-09_AUR: update for next releaseShulhan
2023-11-09_sys: update all man pagesShulhan
2023-11-09go.mod: update share and ciigo modulesShulhan
= Release share v0.50.1 (2023-11-05) This release bring many enhancements to "lib/memfs", a library for caching file system in memory. === Enhancements * lib/memfs: return nil in AddChild if file not exist * lib/memfs: quote the path in the returned error * lib/memfs: add method Child to Node * lib/memfs: call the Init method in the embedded file * lib/memfs: include empty directory * lib/memfs: re-scan directory content on Node’s Update = Release share v0.50.0 (2023-10-04) This release bring many enhancements thanks to linters like revive, fieldaligment, and shadow. This release also replace "math/rand.Seed" with "crypto/rand". Since Go 1.20 the "math/rand.Seed" is considered deprecated (the initial value of rand is seeded automatically, not zero). Now, it is the time to replace "math/rand" with more secure random number generator, from "crypto/rand". This changes affect tests in package "lib/email", "lib/http", and "lib/stmp". = Release ciigo v0.10.1 (2023-11-07) In this release, update on asciidoctor-go add new features to parse unordered list with '-' and some bug fixes related to rendering list. The update on share module fix for permission error when scanning using memfs and HTTP redirect for request to directory that does not end with slash.
2023-09-23cmd/resolver: replace "math/rand" with "crypto/rand"Shulhan
The random number from "math/rand" is predictable if the seed is known. Even though the random number here is only for generating unique request ID, we still need to prevent this by using more secure random number.
2023-09-23go.mod: update all dependencies and set Go mod version to 1.20Shulhan
The update on share module affect the following changes, * lib/dns: removing dns.ZoneRecords, replacing it with map[string][]*dns.ResourceRecord * lib/dns: file Name in Zone renamed to Origin * lib/dns: replace call to Caches.InternalPopulate with InternalPopulateZone that accept zone as parameter
2023-09-23Makefile: replace golangci-lint linterShulhan
The golangci-lint become unusable. Even running "make" on the their master branch does not works. Since I use go tip (master) on local, sometimes golangci-lint does not run. This changes replace golangci-lint with "go vet", fieldalignment and shadow (from x/tools), and revive.
2023-09-23all: remove loading system hosts fileShulhan
Loading and caching system hosts file (for example, /etc/hosts in POSIX) will leaks internal hosts if the rescached server is open to public. The system hosts file are handled by nssswitch.conf "files" internally so no need to loading it.
2023-04-01Release rescached v4.4.1 (2023-04-01)v4.4.1Shulhan
=== Enhancements * go.mod: set Go version to 1.19 and update share module The latest share module has several fixes and enhancements regarding DNS library, including * lib/dns: simplify unpackDomainName return value for end * lib/dns: use the packet length to derive current offset * lib/dns: handle zone file with CRLF line ending * lib/dns: allow parsing TXT rdata without quote in zone file * lib/dns: fix parsing SRV record from zone file * lib/dns: fix packing and unpacking resource record HINFO * lib/dns: fix packing, parsing, and saving MINFO resource data * _www/doc: update the index and resolver documentation
2023-04-01all: update go doc commentsShulhan
While at it, use "_" for unused parameter on methods.
2023-04-01all: remove ineffectual assignment to errShulhan
2023-04-01go.mod: set Go version to 1.19 and update share moduleShulhan
The latest share module has several fixes and enhancements regarding DNS library, including * lib/dns: simplify unpackDomainName return value for end * lib/dns: use the packet length to derive current offset * lib/dns: handle zone file with CRLF line ending * lib/dns: allow parsing TXT rdata without quote in zone file * lib/dns: fix parsing SRV record from zone file * lib/dns: fix packing and unpacking resource record HINFO * lib/dns: fix packing, parsing, and saving MINFO resource data
2023-03-03go.mod: update all dependenciesShulhan
2022-08-25_www/doc: update the index and resolver documentationShulhan
While at it, rename the README.adoc to README and made symlink to it as README.adoc.
2022-08-06Release rescached v4.4.0 (2022-08-06)v4.4.0Shulhan
This release refactoring the resolver command as CLI to rescached server. The resolver command now can manage environment, caches, hosts.d, and zone.d in the server; not just query.
2022-08-06_www/doc: format documentation for resolverShulhan
Some block code in the examples are not formatted correctly due to spaces.
2022-08-06_AUR: track latest changes in AUR submoduleShulhan
2022-08-06go.mod: update all dependenciesShulhan
2022-07-11test: wait for server before running the testShulhan
On build.kilabit.info, 2 out 5 building this repository return an error dial tcp 127.0.0.1:5381: connect: connection refused This is due to server is not ready accepting connection while the test for client is already running.
2022-06-12all: un-export HostsFiles and Zones fields on EnvironmentShulhan
Previously those fields exported because web client need it to initialize the content for /hosts.d and /zone.d pages. Since we now have HTTP API for that, web client can call get request to the respective API without depends on the environment.
2022-06-12_www: refactoring, various bug fixes and cleanupsShulhan
On refactoring, - standardize the method names on the rescached.js to match with the Client, for example prefixing block.d operations with Blockd. - use the GET /block.d, GET /hosts.d, GET /zone.d to fetch the resources instead of using GET /environment for all. On bug fixes, - fix updating SOA record on zone.d due to refactoring
2022-06-12all: trim the zone's name from request on HTTP API zone.d record deleteShulhan
When calling API for zone.d record delete, client send the fully qualified domain name on record to be deleted, but caches store only the subdomains internally. This cause the delete action fail, because no internal record match with request.