#!/usr/bin/perl

P10CFGD(1)

NAME
p10cfgd - remote configuration daemom for Gracilis PackeTen

SYNOPSIS
p10cfgd [IP_PORT]

COPYRIGHT
Copyright (c) 1993 by Colorado Digital Eclectics (CODE)

All rights reserved.

DESCRIPTION
Rmtcfgd is a server program used to send configuration files to a Gracilis PackeTen. It can be run in background or it can be run by inetd. If p10cfgd is to be run by inetd, add the following line to /etc/services

rmtcfg 	1236/tcp	# Remote Configuration of PackeTen

and add the following to /etc/inetd.conf

# Remote configuration service for PackeTen
rmtcfg  stream  tcp  nowait  root  /usr/bin/p10cfgd  p10cfgd

P10cfgd normally does not require the IP_PORT parameter. It listens for connections on IP Port 1236 as a default.

The program will send on a line by line basis the file requested by the client that connects on the IP Port. The only expected input from the client is the file name. When the file has been sent, the connection is closed. The requested file must be in the directory /etc/p10cfgd.

Rmtcfgd maintains a log of its activity in the file /var/log/p10cfgd.log. Program startup and all connections are logged in the file with GMT time stamps. The file is opened in append mode.

The protocol used by the PackeTen is very simple. The PackeTen opens a tcp connection to port 1236 on a host system. Once the connection is made, the PackeTen sends the name of the file it wants to the host. The host then opens the file and sends it line by line to the PackeTen until all lines have been sent. The files to be transfered must be plain text files and each line must have at least one character in addition to the newline at the end. P10cfgd replaces all blank lines with lines that contain two spaces. If you wish to send a blank line, to stop loading of part of a LocalInfo file for example, place an underscore '_' at the begining of the line. The entire contents of the line will be deleted and a blank line will be sent to the client. At the end of the file, the server sends a time command ( time MMDDYYHHMM ) with the UTC time on the server. This will either set the time on the PackeTen or add a time stamp to the LocalInfo file. The server then closes the connection.

The remote configuration command used on the PackeTen is
	rmtcfg <server_host> <filename> [options]
	The valid options are
		-t  <timeout in seconds>  default is 60 sec
		-p  <IP port #>           default is 1236
		-i	                  the file is for LocalInfo
		-h  <secondary server>    if the primary does not answer

The rmtcfg commands would be placed in to the EEPROM on the PackeTen so that they would be executed during a reboot. The information stored in the EEPROM should include enough information to set the PackeTen up to allow communications with the primary and the secondary server. This would include commands to set MYCALL and the IP_ADDRESS, to attach an interface to the channel with the server, routing information and so forth. A sample EEPROM configuration for a PackeTen, empire.wd0fhg.ampr.org [44.32.0.32], that gets its configuration from a remote system winfree.n3eua.ampr.org [44.32.0.2], over a 9600 baud ax25 path would be:

	# first the general setup of the PackeTen
	ee hostname gw.wd0fhg
	ee sitename empire
	ee ipaddr  44.32.0.32
	ee mycall WD0FHG
	# Then we attach a 9600 ax25 interface as ax1
	ee attach sync302 1 hdx ax25 ax1 8192 256 9600 ext ext nrzi
	# and set the default route to send every thing out ax1
	ee route add default ax1 44.32.0.1
	ee password sure-thing
	#
	# Now we will ask for the remainder of the setup
	# from the server winfree.n3eua.ampr.org [44.32.0.2]
	# Note that we have a secondary server available at
	# [44.20.0.195] that would be used if winfree is down.
	# first the Local Information file
	ee com 0 rmtcfg 44.32.0.2 empire.info -i -h 44.20.0.195
	# and then the remaining configuration command file
	ee com 1 rmtcfg 44.32.0.2 empire.cfg -h 44.20.0.195
	#
	ee save
	#	end-of-eeprom setup

Rmtcfgd started life as the simple server program in PERL by Larry Wall and R.L. Schwartz published by ORA,Inc.

ENVIRONMENT
No environment variables are used.

FILES
/etc/p10cfgd/*		- files that can be accessed remotely
/var/log/p10cfgd.log	- p10cfgd log file

AUTHOR
John Conner, WD0FHG,  conner@empire.com
hacked on by Bdale Garbee, N3EUA, bdale@gag.com.

SEE ALSO
Gracilis, Inc. PackeTen Manual and NOS User's Manual

DIAGNOSTICS
Complains if it can't open a file to remote client and to log file.