0. Contents of rxdyndns.zip 0.5:
0.1 RXDYNDNS.TXT this text
0.2 RXDYNDNS.CMD simple DynDNS update script for OS/2 REXX
0.3 WATCHPPP.CMD simple OS/2 ppp0 daemon using RXDYNDNS.CMD
0.4 WATCHPPP.ICO a nice icon for WATCHPPP.CMD <PPP0.DAEMON>
1. Prerequisites
1.1 RXSOCK.DLL REXX sockets library from IBM
1.2 ppp0.pid ?:\mptn\etc\ppp0.pid watched by WATCHPPP.CMD
1.3 ifconfig.exe dynamic IP determined by IFCONFIG PPP0
1.4 host.exe used by WATCHPPP.CMD to get host by name
1.5 hostid.exe used by WATCHPPP.CMD to get and set local IP
1.6 HOSTNAME your DynDNS host, e.g. test.dnsalias.org
1.7 USERNAME your DynDNS loginid., e.g. test
1.8 PASSWORD your DynDNS password, e.g. test for test
2. Installation
2.1 Copy WATCHPPP.CMD and RXDYNDNS.CMD to a directory in your PATH.
2.2 Edit WATCHPPP.CMD to reflect your HOSTNAME, USERNAME, PASSWORD.
2.3 Use 'WATCHPPP *' (once) to (re)create a WPS object PPP0.DAEMON.
2.4 Edit PPP0.DAEMON settings as needed (e.g. use WATCHPPP.ICO).
2.5 Create a shadow of PPP0.DAEMON in the start folder <WP_START>.
2.6 Start PPP0.DAEMON manually for the first time (or reboot :-).
2.7 Move object PPP0.DAEMON from the desktop to any other folder.
3. WATCHPPP.CMD
3.1 The shipped version of WATCHPP.CMD updates a DynDNS host with
call RXDYNDNS 'ppp0', 'test.dnsalias.org', 'test', 'test'
3.2 You can edit this script as needed, e.g. start other tasks
as soon as a new IP (= dialup internet connection) is detected.
3.3 You can edit FORCEDIP = 1 to use a new dynamic IP as hostid
(reported by hostid.exe), if your host has no other IP.
3.4 WATCHPPP.CMD can be used as VIO program on the command line or
as PM program (started by CMD.EXE or PMREXX.EXE). At most one
instance of WATCHPPP.CMD can run for any given interface, the
default interface is IFCONFIG = 'ppp0'.
3.5 To start a new PPP0.DAEMON call e.g. WATCHPPP 10 for a poll
cycle of 10 seconds. To kill a running PPP0.DAEMON or to see
the usage text call WATCHPPP without arguments, this sends a
termination request to the running daemon.
3.6 In fact PPP0.DAEMON uses a private REXX queue 'PPP0.DAEMON'
to retrieve the output of ifconfig.exe etc., and terminates
itself if anybody else writes into this queue.
4. RXDYNDNS.CMD
4.1 RXDYNDNS can be used directly on the command line to update
a DynDNS host: RXDYNDNS interface hostname username password,
e.g. try RXDYNDNS ppp0 test.dyndns.org test test
4.2 Please edit the line COPYLEFT = ... in RXDYNDNS.CMD as soon
as you change anything else in this script, because DynDNS
can block erroneous resp. abusive update clients.
4.3 As shipped RXDYNDNS.CMD supports only the DynDNS system of
DynDNS.org for a single host without MX record. Adding more
options should be easy, but please change the COPYLEFT too.
4.4 RXDYNDNS.CMD does not actually handle the DynDNS protocol,
it only displays resp. returns the result of an attempted
update. The caller has to evaluate the result messages as
specified in: http://clients.dyndns.org/devel/codes.php.
4.5 WATCHPPP.CMD simply displays any RXDYNDNS.CMD result, so the
user is responsible for the proper reaction like waiting for
a certain period or correcting invalid WATCHPPP parameters.
5. History
5.1 I've created RXDYNDNS 0.3 because DNSAlias-Net 2.0 had been
removed from the list of "other clients" for unknown reasons.
It's now back again, see http://clients.dyndns.org.
5.2 One problem with DNSAlias-Net 2.0 could be that the author
forgot to update the client's identification (compare 4.2 ;-).
Of course you can use WATCHPPP.CMD with UPDATE.CMD instead of
RXDYNDNS.CMD.
5.3 Please note that B64encode used in DNSAlias-Net 2.0 is not
strictly correct, but DynDNS accepts it anyway. For details
compare results of RXDYNDNS.CMD procedure MIME and B64encode.
5.4 If your domain is something like host.orgdns.org then RXDYNDNS
version 0.4 sends its update requests to members.orgdns.org
instead of members.dyndns.org, see www.orgdns.org.
5.5 Version 0.5 sends "Connection: close" and "Pragma: no-cache"
headers in a HTTP/1.0 GET request, HTTP 1.0 has no "chunked"
replies (see HTTP/1.1 RFC 2616 19.4.6) and is easier to parse.
5.6 This is version 0.5 of RXDYNDNS.CMD, for future updates see
http://frank.ellermann.bei.t-online.de/src/rxdyndns.zip.
Last update: 21 Mar 2002 10:45 by F. Ellermann