Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the go program easier to use as a standalone program: make it a go module, add command line flags and support for ddnskey #59

Open
wants to merge 16 commits into
base: develop
Choose a base branch
from

Conversation

Golit
Copy link

@Golit Golit commented Aug 28, 2020

This pull request will make the go program easier to use as a standalone program.

  • Make the go source a go module since it is easier to use if used independently from the Dockerfile.
  • The pull request removes the necessity of having a config file. All configurations can be passed with command line arguments.
  • Some duplicate code is removed and refactored. Especially all copies of RequestDataExtractor where moved to a single file.
  • Middleware architecture is used to gather user input variables which should make it more flexible.
  • Changed go compiler to 1.14.

nsupdate improvements

  • Commands to nsupdate are now piped to the program.
  • A ddnskey can be passed from the http request to the nsupdate program.
  • All commands send to the nsupdate program can be logged.
  • User input values are escaped before passing them to the nsupdate program.

akune and others added 8 commits April 22, 2020 22:45
* This enables the program to be compiled outside the go source
  directory and makes the project easily usable independently
* Add port configuration value
* Update nsupdate code to use pipe instead of creating a new file
* Add escaping for user input variables
* Add interface for DNS update client implementations
@dstapp
Copy link
Owner

dstapp commented Aug 30, 2020

Hey @Golit thanks for that huge contribution. I'll have a look at it as soon as I find some time for that!

The rest-api does not need to check the shared secret because bind itself
can check it. This change also allows to have different shared secrets for
different zones.

See dstapp#55
* Fix dstapp#7 dstapp#18 by allowing updates by fqdn
* Any record type can be updated by passing query parameter 'type' and
  'value' or 'addr' as a fallback
* Some code cleanup

Closes dstapp#49
Closes dstapp#61
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants