tzo.com logo
View Entry
Subject tzoupdate C client (Linux/UNIX) documentation - README
Author Scott Prive
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
to install any other Update Client (choose only one client).


TZOUPDATE FEATURES

* Tiny system requirements
* Suitable for re-packaging for any UNIX, or custom installs. (SEE INSTALL)
* Forced updates every 28 days, checks status even when IP is unchanged
* Simple logfile mechanism in /tmp, eliminates need to configure logrotate
* Functionality is divided between a core library (tzoupdate, in C), and
wrapper daemon (tzowrapper.sh) allowing for greater OS/distro portability.
* 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, or http://faq.tzo.com/.


TROUBLESHOOTING, READING/PARSING LOGFILES

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

3) /tmp/tzo-killfile - This special file exists ONLY if there is a fatal error
updating TZO, in which case there is no purpose in retrying the update. For
example, an expired TZO account or mistyped domain name causes this. To fix
things be sure to both fix the cause in /etc/tzoupdate.conf, then delete
tzo-killfile, then restart the client, then review /tmp/tzoipupdate.txt.

Logfiles - for a quick reading of the TZO status, scroll down to the last
few lines of /tmp/tzoipupdate.txt. For greater detail, this legend explains
the format of the logging:

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


SYSTEM NOTIFICATIONS (EMAILS ON ACCOUNT STATUS OR IP CHANGE)
A popular request is for the TZO client to email someone if the TZO update
fails, or emails every time the IP changes. At this time, there would be too
many system-specific variables for this to be a built-in feature. (You can
extend the TZO client using a 'logfile monitoring' script against the
logfile tzoupdate.txt. Look for the word 'FATAL', and if found you can email
yourself the logfile using the shell mailers 'mail' or 'mutt'. Or install
and configure 'logwatch').


More information on tzoupdate 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

Please note that this Update Client requires tzowrapper.sh, 'tzoupdate' and
'tzodetect.sh'. Any install which does not use all 3 files will be prone to
failure. The shell scripts help maintain the client in accordance with TZO
Developer Guidelines and end-user Terms of Service. You may of course 'port'
the functionality and error-checking provided by these scripts to any
other language, so long as that functionality remains intact. Thanks.

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 end-user feature requests should go to support@tzo.com

Copyright 1998-2008, Tzolkin Corporation. All rights reserved.