File: ddns3.1

package info (click to toggle)
ddns3-client 1.8-5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 148 kB
  • ctags: 125
  • sloc: ansic: 926; makefile: 52; sh: 52
file content (160 lines) | stat: -rw-r--r-- 3,921 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
.TH DDNS3 1 "$Date: 2003/03/20 05:21:59 $"

.SH NAME
ddns3 \- ddns.nu remote update client

.SH SYNOPSIS
.B ddns3 --user
.I user
.B --pass
.I password
.B [
.I options
.B ]
.I command
.B ...

.SH DESCRIPTION
.B ddns3
updates IP-Handles on the ddns.nu remote update server.  This
allows remote automated updates rather than using the website
via a browser.

.SH OPTIONS
.IP "--user user"
Specifies the username to authenticate with.
.IP "--pass password"
Specifies the password to authenticate with.

.IP "--host hostname"
Override the default server hostname to connect to.
The default server hostname is 
.B ns.ddns.nu.
.IP "--port portnumber"
Override the default TCP port to connect to.
The default TCP port for the ddns3 protocol is
.B 2164
.IP "--auth authtype"
Specify what type of authentication protocol to use.
The available types are:
.B plaintext,
.B crypt,
.B md5,
.B ddns,
and
.B strong.
The default type is
.B ddns
which is secure in the sense that the username is sent in 
cleartext, but the password is sent hashed in such a manner
as to defeat replay attacks by utilising a salt sent from
the server.

.SH COMMANDS
.IP "list"
List all IP-Handles and their current values for the account.
You may do this multiple times, for example it is perfectly
legal (and perhaps even useful) to do a
.B list,
followed by a
.B set,
and then another
.B list
to observe the change.
.IP "set handle-name ip-value"
Set an IP-Handle named
.B handle-name
to the IP value
.B ip-value.
Similar to
.B list
you can specify as many such operations on the command line
as you wish and they will be executed in the order specified.
.IP "guess handle-name ip-source"
Set the IP-Handle named
.B handle-name
to the IP value derived from IP seen by the
.B ip-source
end of the update connection.
The 
.B ip-source
is specified as either
.B remote
or
.B local.
Again you may specify multiple
.B guess
commands on the command line and they will be executed in order.

Using the 
.B local
option saves you from having to specify the IP on the command line.
Local guessing usually gets the IP correct as it takes the local
address of the socket making the update connection.  With conventional
routing arrangements this is likely to be the IP you want.

However the
.B remote
option sets the IP-Handle to the IP that the server sees the connection
as originating from.  This is most useful if you are running the client
from behind a NAT gateway which itself is incapable of running the client.
In this case the IP of the NAT gateway is used, rather than the probably
martian IP of the host the client is actually executing on.

.SH DIAGNOSTICS
Useful error messages are produced on stderr, all other runtime output goes
to stdout.

On runtime exception the return value of the process may be useful in scripting:

-1
.RS
The usage message was generated by running the command with no arguments.
.RE
-2
.RS
The argument parser didn't like the command line.
.RE
-3
.RS
A connection could not be established with the update server.
.RE
-4
.RS
Authentication failed.
.RE
-5
.RS
Network errors closing the connection (these can often be ignored).
.RE
-6
.RS
Some kind of internal logic error in the process, like a malloc/free failure.
.RE

The process returns a positive count of the number of commands executed on
the server that generated an error, or zero on error free completion of all
commands.

.SH BUGS
The authentication details should be read from a file to avoid 
their visibility in the process list. There should be support 
for other ddns3 protocol primitives like
.B MOTD
and
.B HELP
for completeness.  The java implementation 
.B jddns3
does this, and is largely command line equivalent.  Short network
writes are unchecked in at least one place.

.SH AUTHOR
Alan Yates <alany@ay.com.au>

.SH VERSION
$Id: ddns3.1,v 1.2 2003/03/20 05:21:59 alany Exp $

.SH "SEE ALSO"
http://www.ddns.nu/

http://www.ddns.nu/files/ddns-v3.txt