mirror of
https://github.com/cmur2/dyndnsd.git
synced 2025-08-08 08:33:56 +02:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
c3331d19ca | |||
d7b2250923 | |||
b2a408acba | |||
c6c10a5a69 | |||
0c0c2ffffb | |||
f3124d007c |
@@ -23,18 +23,21 @@ case "$1" in
|
|||||||
start)
|
start)
|
||||||
log_daemon_msg "Starting dyndnsd.rb" "dyndnsd"
|
log_daemon_msg "Starting dyndnsd.rb" "dyndnsd"
|
||||||
start-stop-daemon --start --quiet --oknodo --make-pidfile --pidfile "/var/run/dyndnsd.pid" --background --exec $DAEMON -- $DAEMON_OPTS
|
start-stop-daemon --start --quiet --oknodo --make-pidfile --pidfile "/var/run/dyndnsd.pid" --background --exec $DAEMON -- $DAEMON_OPTS
|
||||||
|
log_end_msg $?
|
||||||
;;
|
;;
|
||||||
stop)
|
stop)
|
||||||
log_daemon_msg "Stopping dyndnsd.rb" "dyndnsd"
|
log_daemon_msg "Stopping dyndnsd.rb" "dyndnsd"
|
||||||
start-stop-daemon --stop --quiet --oknodo --pidfile "/var/run/dyndnsd.pid"
|
start-stop-daemon --stop --quiet --oknodo --pidfile "/var/run/dyndnsd.pid"
|
||||||
|
log_end_msg $?
|
||||||
;;
|
;;
|
||||||
restart|force-reload)
|
restart|force-reload)
|
||||||
log_daemon_msg "Restarting dyndnsd.rb" "dyndnsd"
|
log_daemon_msg "Restarting dyndnsd.rb" "dyndnsd"
|
||||||
start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile "/var/run/dyndsd.pid"
|
start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile "/var/run/dyndsd.pid"
|
||||||
start-stop-daemon --start --quiet --oknodo --make-pidfile --pidfile "/var/run/dyndnsd.pid" --background --exec $DAEMON -- $DAEMON_OPTS
|
start-stop-daemon --start --quiet --oknodo --make-pidfile --pidfile "/var/run/dyndnsd.pid" --background --exec $DAEMON -- $DAEMON_OPTS
|
||||||
|
log_end_msg $?
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Usage: $0 {start|stop|restart|force-reload}" >&2
|
log_action_msg "Usage: $0 {start|stop|restart|force-reload}"
|
||||||
exit 1
|
exit 2
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@@ -7,6 +7,7 @@ require 'json'
|
|||||||
require 'yaml'
|
require 'yaml'
|
||||||
require 'rack'
|
require 'rack'
|
||||||
require 'metriks'
|
require 'metriks'
|
||||||
|
require 'metriks/reporter/graphite'
|
||||||
|
|
||||||
require 'dyndnsd/generator/bind'
|
require 'dyndnsd/generator/bind'
|
||||||
require 'dyndnsd/updater/command_with_bind_zone'
|
require 'dyndnsd/updater/command_with_bind_zone'
|
||||||
@@ -189,6 +190,10 @@ module Dyndnsd
|
|||||||
Dyndnsd.logger.info "Quitting..."
|
Dyndnsd.logger.info "Quitting..."
|
||||||
Rack::Handler::WEBrick.shutdown
|
Rack::Handler::WEBrick.shutdown
|
||||||
end
|
end
|
||||||
|
Signal.trap('TERM') do
|
||||||
|
Dyndnsd.logger.info "Quitting..."
|
||||||
|
Rack::Handler::WEBrick.shutdown
|
||||||
|
end
|
||||||
|
|
||||||
Rack::Handler::WEBrick.run app, :Host => config['host'], :Port => config['port']
|
Rack::Handler::WEBrick.run app, :Host => config['host'], :Port => config['port']
|
||||||
end
|
end
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
|
|
||||||
module Dyndnsd
|
module Dyndnsd
|
||||||
VERSION = "1.2.0"
|
VERSION = "1.3.0"
|
||||||
end
|
end
|
||||||
|
@@ -40,7 +40,7 @@ describe Dyndnsd::Daemon do
|
|||||||
last_response.status.should == 405
|
last_response.status.should == 405
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'provides only the /nic/update' do
|
it 'provides only the /nic/update URL' do
|
||||||
authorize 'test', 'secret'
|
authorize 'test', 'secret'
|
||||||
get '/other/url'
|
get '/other/url'
|
||||||
last_response.status.should == 404
|
last_response.status.should == 404
|
||||||
@@ -99,7 +99,7 @@ describe Dyndnsd::Daemon do
|
|||||||
last_response.body.should == 'nohost'
|
last_response.body.should == 'nohost'
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'updates a host on change' do
|
it 'updates a host on IPv4 change' do
|
||||||
authorize 'test', 'secret'
|
authorize 'test', 'secret'
|
||||||
|
|
||||||
get '/nic/update?hostname=foo.example.org&myip=1.2.3.4'
|
get '/nic/update?hostname=foo.example.org&myip=1.2.3.4'
|
||||||
@@ -110,7 +110,7 @@ describe Dyndnsd::Daemon do
|
|||||||
last_response.body.should == 'good 1.2.3.40'
|
last_response.body.should == 'good 1.2.3.40'
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'returns no change' do
|
it 'returns IPv4 no change' do
|
||||||
authorize 'test', 'secret'
|
authorize 'test', 'secret'
|
||||||
|
|
||||||
get '/nic/update?hostname=foo.example.org&myip=1.2.3.4'
|
get '/nic/update?hostname=foo.example.org&myip=1.2.3.4'
|
||||||
@@ -121,7 +121,7 @@ describe Dyndnsd::Daemon do
|
|||||||
last_response.body.should == 'nochg 1.2.3.4'
|
last_response.body.should == 'nochg 1.2.3.4'
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'outputs status per hostname' do
|
it 'outputs IPv4 status per hostname' do
|
||||||
authorize 'test', 'secret'
|
authorize 'test', 'secret'
|
||||||
|
|
||||||
get '/nic/update?hostname=foo.example.org&myip=1.2.3.4'
|
get '/nic/update?hostname=foo.example.org&myip=1.2.3.4'
|
||||||
@@ -133,7 +133,7 @@ describe Dyndnsd::Daemon do
|
|||||||
last_response.body.should == "nochg 1.2.3.4\ngood 1.2.3.4"
|
last_response.body.should == "nochg 1.2.3.4\ngood 1.2.3.4"
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'uses clients remote address if myip not specified' do
|
it 'uses clients remote IPv4 address if myip not specified' do
|
||||||
authorize 'test', 'secret'
|
authorize 'test', 'secret'
|
||||||
get '/nic/update?hostname=foo.example.org'
|
get '/nic/update?hostname=foo.example.org'
|
||||||
last_response.should be_ok
|
last_response.should be_ok
|
||||||
|
Reference in New Issue
Block a user