diff options
| author | Jeff Carr <[email protected]> | 2023-02-18 23:37:11 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2023-02-18 23:37:11 -0600 |
| commit | 041e3a0c6ede6cd96308caf49b2230d5bcb58dac (patch) | |
| tree | 9f0692843849ff034d981fe7ed72883c73719f3b /dynamic-dns-update.go | |
| parent | 4c348438f3b43e3de5c85a5fc8064cd0914f1fa2 (diff) | |
v0.0.2 next step: acutally try to nsupdatev0.0.2
upto the point where DNS update is next.
start displaying real AAAA & naming buttons
add RFC 2136 defining nsupdate. Vixie et al in 1997
Personal thansk to Paul for meeting with me some years back
ready to pull DNS records
starting a checkDNS() function
dampen output. actually track IPs
poll every 2 seconds (netlink is not the right thing here)
ready to start looking for changes
screw everything about logging. I hate log.whatthefuck*(){}
Do you know what I don't care about? log()
You shouldn't care either. Ignore it until you need it
that is what logging is for. building something that works.
So, here you go. a damn log() function in one place
Also, because I'm annoyed today sleep() and exit()
Because, when I want you to sleep or exit, I don't
want to go to the top of a file and declare stupid shit related
to nanoseconds or add "import os.Exit" or whatever the hell
stop wasting my time. life is short.
if he sit tunnelbroker down
add IsRealIP() and IsIPv6()
need a netlink function to trigger on changes (nope)
put the gui plugin's in the debian package for now
set the window title
build a .deb package
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'dynamic-dns-update.go')
| -rw-r--r-- | dynamic-dns-update.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/dynamic-dns-update.go b/dynamic-dns-update.go new file mode 100644 index 0000000..371a374 --- /dev/null +++ b/dynamic-dns-update.go @@ -0,0 +1,32 @@ +package main + +/* + https://pkg.go.dev/github.com/miekg/dns#section-readme + +DYNAMIC UPDATES + +Dynamic updates reuses the DNS message format, but renames three of the sections. Question is Zone, Answer is Prerequisite, Authority is Update, only the Additional is not renamed. See RFC 2136 for the gory details. + +You can set a rather complex set of rules for the existence of absence of certain resource records or names in a zone to specify if resource records should be added or removed. The table from RFC 2136 supplemented with the Go DNS function shows which functions exist to specify the prerequisites. + +3.2.4 - Table Of Metavalues Used In Prerequisite Section + + CLASS TYPE RDATA Meaning Function + -------------------------------------------------------------- + ANY ANY empty Name is in use dns.NameUsed + ANY rrset empty RRset exists (value indep) dns.RRsetUsed + NONE ANY empty Name is not in use dns.NameNotUsed + NONE rrset empty RRset does not exist dns.RRsetNotUsed + zone rrset rr RRset exists (value dep) dns.Used + +The prerequisite section can also be left empty. If you have decided on the prerequisites you can tell what RRs should be added or deleted. The next table shows the options you have and what functions to call. + +3.4.2.6 - Table Of Metavalues Used In Update Section + + CLASS TYPE RDATA Meaning Function + --------------------------------------------------------------- + ANY ANY empty Delete all RRsets from name dns.RemoveName + ANY rrset empty Delete an RRset dns.RemoveRRset + NONE rrset rr Delete an RR from RRset dns.Remove + zone rrset rr Add to an RRset dns.Insert +*/ |
