aboutsummaryrefslogtreecommitdiff
path: root/go.sum
AgeCommit message (Collapse)Author
2026-03-26all: refactoring DoT and DoH to use listen address instead portHEADmaindevShulhan
Using port makes the IP address of DoT and DoH listen on the same address with UDP. If we set ListenAddress to 0.0.0.0 and TLS termination is handled by proxy, this cause DoT and DoH will also listen on all addresses. This behaviour makes the server open DoT and DoH ports to the public, where it should be on local address only.
2026-02-09go.mod: update all dependenciesShulhan
2026-02-03all: add option to set minimum TTLShulhan
In the rescached.cfg, we add option where user can force the minimum TTL in the DNS answer. This option is not a standard and not recommended used in public facing network. It should be used only for personal and private network.
2026-01-26go.mod: update ciigo and pakakeh.go to tipShulhan
Changelog on ciigo, * go.mod: update pakakeh.go to v0.60.3-0.20260115103415-806359d5462f * all: format README with prettier * all: embed CSS and index HTML template using memfs * all: move _example/ directory under _doc/ directory * all: improve default stylesheet * _static: simplify the topbar section * _static: second round for cleaning up styles * all: conform with Lighthouse recommendations * go.mod: update asciidoctor-go module * all: fix test on GoEmbed Changelog on pakakeh.go: * all: use SPDX license header format * lib/test: export the constant for default data file name suffix * lib/test: implement method ExtractInput on Data * lib/git: implement Gitignore * lib/git: add Git type with method IsIgnored * lib/git: implement Equaler interface on Git * lib/http: add second return value, statusCode, to FSHandler * lib/ini: improve error message when parsing variable name * lib/os: add function IsBinaryStream * lib/git: fix ignore pattern with single wildcard '*' * lib/git: add method LogFollow * README: format the file using prettier * lib/git: pass "--" when running LogFollow command * lib/git: expose the API for IgnorePattern * lib/git: handle pattern "**/foo/**" * lib/test: ignore line prefixed with "//" * all: convert license and copyright to use SPDX identifiers * CHANGELOG: record all of the latest changes * README: fix broken link and simplify license section * lib/dns: increase the client default timeout from 6 to 60 seconds * lib/dns: simplify log message for DebugLevelCache * make: increase test timeout to 2m due to lib/email/dkim takes more 60s
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-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-11go.mod: update all dependenciesShulhan
2024-09-07go.mod: update all dependenciesShulhan
2024-07-06go.mod: update all dependenciesShulhan
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-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-04go.mod: update dependenciesShulhan
2023-11-30go.mod: update share module and its dependenciesShulhan
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-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-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-06go.mod: update all dependenciesShulhan
2022-06-09go.mod: update to share module v0.38.0Shulhan
This changes affect the dns Server where all caches related methods has been moved to field Caches.
2022-05-22all: move the documentation under _www/doc directoryShulhan
This also allow the latest/released documentation viewed on the web user interface under /doc path. While at it, reformat HTML and CSS files using js-beautify and JavaScript files using clang-format [1]. [1] https://google.github.io/styleguide/jsguide.html#formatting
2022-05-17all: update share moduleShulhan
345ee16 lib/dns: return the removed record on caches RemoveCachesByRR a44f87f lib/dns: disable JSON marshaling Zone Records field 3f8e9c6 lib/dns: print the field Value on ResourceRecord Stringer instead of rdlen
2022-05-16go.mod: update share moduleShulhan
The latest changes on share module changes type Zone.SOA field type, which affect the zone.d page.
2022-05-13cmd/resolver: implement command to delete record on hosts fileShulhan
The command has the following signature, resolver hosts.d rr delete <name> <domain> Given the hosts name "hosts" and domain "my.hosts" it will delete all records that have domain name "my.hosts" inside the file.
2022-04-19all: refactoring the hosts blocks format and locationShulhan
This changes add new directory called "block.d" under rescached. This directory contains hosts file fetched from URL defined in hosts block configuration. In this way, we did not mixed between user created hosts file and external hosts file. In the configuration file, we changes the hosts block format from single line hosts_block = <URL> into subsection with dynamic name, [block.d "<name>"] name = <name> url = <URL>
2022-04-15all: implement API to remove all cachesShulhan
On the HTTP side, if the query parameter "name" for "DELETE /api/caches" is "all" it will remove all caches. On the resolver side, if the parameter for "caches remove" is "all" it will remove all caches. This changes require latest lib/dns on share module.
2022-04-15all: implement sub command to remove caches by domain nameShulhan
The "caches" command accept second sub command "remove" that accept single domain name to be removed from caches. This changes affect the HTTP API for caches delete to return the removed answer on the response data.
2022-04-12cmd/resolver: use dns.NewClient to create new clientShulhan
2022-04-11go.mod: update to latest share the moduleShulhan
The latest share module move the Watcher and DirWatcher from package io to package memfs, also it simplify watching files on existing MemFS instance using method Watch.
2022-03-14go.mod: update all dependenciesShulhan
2022-02-08go.mod: update module share to v0.34.0Shulhan
Changes, * lib/memfs: skip mount if the Root node has been initialized * lib/http: remove field memfs.Options in ServerOptions
2021-12-21all: move HTTP server option to EnvironmentShulhan
Previously, the options for HTTP server initialized internally, which make it uneasy to changes the default rescached instance when running in development mode. This commit move the HTTP server initialization inside the Environment init method. If its nil, the init will set the default HTTP server options along with the Memfs.
2021-12-19go.mod: update to latest share moduleShulhan
The latest share module remove the ContentEncoding from memfs EmbedOptions. This option turns out break the HTTP content negotiation [1] of accept-encoding header, if the HTTP server does not handle it properly, like in default Go HTTP server that we use on rescached server. Update #10. [1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation
2021-12-04all: sync with latest share moduleShulhan
This changes update the code based on refactoring on lib/dns package on share module.
2021-11-14all: update share moduleShulhan
The update bring new features and enhancements for DNS server. * add support to save and load caches to/from storage rescached now able to save and load caches to local storage upon restart. On POSIX, the caches is stored in /var/cache/rescached/rescached.gob, encoded using gob. Update #9 * remove the fallback name servers (NS) from server options The original idea of fallback NS is to send the query to the one define in resolv.conf, instead of using the one defined by user in ServerOptions NameServers, when an error occured. But, most of error usually caused by network (disconnected, time out), so re-sending query to fallback NS does not have any effect if the network it self is not working. This changes remove the unnecessary and complex fallback NS from server. * do not cache truncated answer Previously only answer with non-zero response code is ignored. This changes ignore also answer where response header is truncated. * lib/dns: make the TCP forwarders as complementary of UDP The TCP forwarders only active when client send the DNS request as TCP. When the server receive that request it should also forward the request as TCP not as UDP to prevent the truncated response. Another use case for TCP is when the response is truncated, the client will send the query back through TCP connection. The server should forward this request using TCP instead of UDP.
2021-11-06all: update module share to v0.31.0Shulhan
2021-07-13go.mod: update to latest share moduleShulhan
Changes affected by update, * lib/http: changes on Endpoint.Call function signature * lib/http: changes on CORS configuration * lib/test: changes on the Assert function signature
2021-01-26Release rescached v4.0.0 (2021-01-25)v4.0.0Shulhan
== New features Rescached now have a web user interface (wui) that can be accessed at http://127.0.0.1:5380. The interface can be used to monitoring caches, managing caches, environment, blocked hosts, internal hosts files, and zone files. == Breaking changes * The `rescached::dir.hosts` now default to "/etc/rescached/hosts.d" * The `rescached::dir.master` now default to "/etc/rescached/zone.d"
2021-01-22_www: display the list of caches in front pageShulhan
When user open the rescached web interface, the front page will render and refresh the list of non-local caches per 10 seconds.
2021-01-20all: rewrite the web user interface and the APIsShulhan
2021-01-12all: update with latest share modulesShulhan
This changes affect how the memfs.New and GoGenenerate called, does not affect the user.
2020-09-08_www/.../Dashboard: display the RR value as JSON stringifyShulhan
While at it, add more DNS RR types for displaying in the dashboard.
2020-09-06all: various changesShulhan
* Add function to search and remove non-local caches * Refactoring no how to create and remove record from hosts file
2020-09-05all: various fixes and clean upsShulhan
* Trim dot "." suffix on RR.Name before creating new one * Decrease the notification from default (5 seconds) to 3 seconds * Use the phrase "zone file" instead of "master file" * Update the SOA fields information to be less technical.
2020-09-04_www: reorder the create record fields on Zone interfaceShulhan
Previously, the fields to create new record is name, type, and value. This commit move the type field to the top so when the type changes, the fields below it also changes according to its type. This is to simplify the field format for PTR record.
2020-09-04_www: create separate form for handling create/update/delete SOA recordShulhan
Since each zone file only allow one SOA record, the form for creating, updating, or deleting the SOA record should be separated from others resource record.
2020-09-02go.mod: update with latest share moduleShulhan
Fix hostname not converted to lowercase when parsing hosts files.
2020-08-25go.mod: update with latest share packageShulhan
Add second parameter to method PopulateCachesByXxx for clearity.
2020-08-23all: replace the internal hosts file with dns.HostsFileShulhan
2020-08-23go.mod: update dependenciesShulhan
Fix multiple empty lines generated when environment saved on file.
2020-08-22all: change "Master" word to "Zone"Shulhan
While at it, * update code with latest dns library * check for empty name servers when updating environment