tzoupdate - TZO client for (much) any version of UNIX or Linux
Version 1.12  released October 2008
Authors: Michael D. Foley (tzoupdate), Scott Prive (scripts, packaging)


INTRODUCTION

This is an all-new TZO client, portable to nearly any version of UNIX.
This TZO client monitors your Internet IP (even if you are behind a
gateway or border router), and updates TZO's DNS database as-needed.

As this a UNIX command line application, and as there are differences
between versions of UNIX and versions of Linux, installation is done
using your OS's software package manager, or in some cases you
may need to compile the tzoupdate from scratch.

Once the tzoupdate application is installed, the client requires no
maintanance as long as your TZO account is up-to-date (not expired).

IMPORTANT: Be sure you do not use/configure MORE than ONE TZO client at any network site.
This means if you use TZO in your router, you do not need this client (choose only one client).


TZOUPDATE FEATURES

* Tiny system requirements
* Suitable for re-packaging for any UNIX, or custom installs. (SEE INSTALL guide)
* Forced updates every 28 days are built in, to check for account expiration
* Ability to use /tmp for logging
* Functionality is divided between a core library (in C), and a wrapper shell script,
  allowing for easy customization or installs on niche platforms.
* GPL (v2) license (if you make client customizations/moodifications, be sure
   the result complies with TZO Developer Guidelines). 


INSTALLATION, POST-INSTALL CONFIGURATION, TESTING

Please see the INSTALL document. 


TROUBLESHOOTING, READING/PARSING LOGFILES

The following files will exist in /tmp :
tzoip.txt - the tzoupdate cache file, which contains the value of your Internet IP at the moment tzo last updated.
tzolog.txt - output from the most recent execution of tzowrapper.sh.

If there is a FATAL ERROR which can not be resolved automatically by the
client, then the client will create '/tmp/tzo-killfile', which stops the client.
Do not delete tzo-killfile until you review tzolog.txt and fix what caused the error.

For troubleshooting, the following legend (line prefix) is used within the logfile:

PREFIXES USED DURING CHECK IP STAGE
* = informational/verbose
> = client sending info to TZO
< = TZO server response

PREFIXES USED DURING UPDATE STAGE
** = informational/verbose
>> = client sending info to TZO
<< = TZO server response

Using the above, the logfiles can be understood. If you wish, you can use
your own script to monitor and parse these logs, perhaps notifying you when the
IP changes, if the killfile is ever created, etc.

More information on Troubleshooting can be found in INSTALL, or Support under TZO.COM.


SYSTEMS INTEGRATION NOTES

If installing tzoupdate for a third party, please be sure that party has
documentation on the purpose and nature of the TZO client:

1) tzoupdate automatically detects the WAN IP (via outbound gateway).
If you intend to move or decomission this server at a later date,
be sure to disable this TZO client. (Otherwise, you might for example power
on at a repair shop, and cause your domain to 'move' to the wrong IP).

2) If the TZO account ever expires, someone WILL need to intervene and
fix the installation (delete the tzokillfile, and reboot). If you are
installing for a third party and will not be available to renew their TZO
in 1 year, it may be best to subscribe at the 2 or 5 year option.

3) If needed for testing, you can temporarily disable TZO using this command:
touch /tmp/tzo-killfile
This will keep TZO disabled (even through reboots) until that file is removed.



OEM /DEVELOPER NOTES

This Please note that much of the core error-checking functions reside in tzowrapper.sh
as well as tzoupdate. When porting tzoupdate to any platform the error checking (from
both sources) must be preserved. 

Please ensure compliance with the TZO Developer specification before redistributing.
For more details, please see contact TZO Developer Support at devsupport@tzo.com and
see http://www.tzo.com/developer/


PATCHES / USER CONTRIBUTIONS
Contributions are appreciated, and should be sent to devsupport@tzo.com only.
Technical Support questions should be sent to support@tzo.com (include system details).
Feedback and feature requests should go to support@tzo.com
