a daemon that updates dynamic DNS entries under a number of DNS services
- Go 95.7%
- HTML 1.7%
- NSIS 1.6%
- Just 0.6%
- Shell 0.3%
- Other 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Two ways a record could be published somewhere other than where it was meant to go, both settled by reading ddclient. A hostname outside the zone it is filed under is a typo that does not announce itself. The record is named by what is left when the zone is taken off the end, so home.example.net under example.com asks the provider to create home.example.net.example.com, and providers oblige. ddclient refuses it — "hostname does not end with the zone" — and so does updyn now, when the service is bound, naming the record that would have been created. Zones and hostnames are compared without regard to case, because DNS names are, and a trailing dot is punctuation. The matchers could also read success out of a reply the server had marked as an error, because a rule was tried before the status was looked at. A rule may still explain a failure — a body naming the credential beats "401" — but it may no longer report success while the server reports an error. ddclient will not even read a body that arrived with a failing status: `next if !header_ok($reply)` guards sixty-one of its handlers. Removes WordMatcher.StatusFirst, which existed for this and was set by nobody; the rule it asked for is now the only rule there is. |
||
| cmd/updyn | ||
| internal | ||
| packaging | ||
| .gitignore | ||
| .golangci.yml | ||
| .goreleaser.yaml | ||
| go.mod | ||
| go.sum | ||
| Justfile | ||
| LICENSE | ||
| updyn.example.yaml | ||