############################################################################### # The Software RDATED.NLM is copyrighted (C) 1995 Fachhochschule Hamburg. # # It is distributed free of charge. You are not allowed to charge for # # redistribution. Do not remove any part of this package if you redistribute. # # # # The included Package RDATE.ZIP is copyrighted (C) 1992, 1993 Murkworks Inc. # # and allows you to synchronize all your NetWare servers to your RDATED server# # # # The included LINUX Software is distributed under the Gnu Public License. # ############################################################################### Requirements for Installation: At least one NetWare Server 3.1x or 4.xx with CLIB.NLM rev G or higher and TCPIP loaded. A valid file SYS:ETC/SERVICES. A example file can be copied from SYS:ETC/SAMPLE/SERVICES. A valid setting of the TIMEZONE Variable (see later) Needed resources: RDATED needs, if loaded with all 4 protocols (Daytime and Time, TCP and UDP), about 30 kB of server memory. In this case it takes about 0.07% processor load while waiting for a connection. During connection (max. 1 second) load goes up to about 0.6%. What does RDATED.NLM do: This Software emulates the UNIX time and daytime service, defind in RFC 867 (Daytime) and RFC 868 (Time). Daytime listens on TCP and / or UDP Port 13 for a connection and answers - without looking at an incoming message - with a string, containing Date and Time of the local site. The content of this string is undefined, but we use the following form, which is used by the most UNIX hosts: Thu Apr 20 13:33:57 MET (DST) 1995 The information about daylight saving time (DST) is only given, if running on a NetWare 4.xx server during summertime periode. NetWare 3.xx doesn't support that function. Timezone depends on your setting in the SET TMEZONE server command (see later). Time listens on TCP and / or UDP Port 37 for a connection and answers - without looking at an incoming message - with a 32-bit time value containing the seconds from 1 January 1900 UTC (GMT). Note: Some UNIX derivates, for example ULTRIX from DEC only use UDP for the time protocol (Port 37) by default. Enhancements over the standard: The standard time protocol answers emmediatly after request. So does every UNIX server I know. This has one main disadvantage: because the resoloution of the UNIX time and the NetWare time is only one second. So the setting is not very accurate. Even an accurate time may cause a toggle of one second with each new setting. Our NLM waits with its answer until a new second begins. In this wayyou have to wait up to 0.999 seconds for an answer, but time is more accurate and toggles nearly never accoure. ("Nearly" is for setting time of NetWare 4.xx servers. Due to the internal time calculation there may be some fragments of seconds offset.) I M P O R T A N T : ################### Setting of the NetWare TIMEZONE variable. The Netware TIMEZONE variable is quite different to the UNIX Timezones. Under NetWare 3.1x it must be set before loading CLIB. CLIB of 4.xx reads this variable again after new setting. Under UNIX you may set a standard timezone or use the format GMT+n, where n is the number of hours, your timezone is before or after GMT (UTC). In this way central Europe has CET (or MET) whichis equivalent to GMT+1. In Netware the three letters are not used. You can set it to everything you want. The format is for example MET-1MEST. The only thing NetWares CLIB uses for time calculation is the number and the existens of the letters behind that number. But the number has a different meaning compared to UNIX: it says, how many hours to add to your local time, to get UTC (GMT). So GMT+1 under UNIX is equivalent to MET-1 under NetWare. Caution, the Manual of NetWare 3.xx and 4.0x is wrong in this chapter for all times east of Greenich, but the NetWare 4.xx installation program sets the right value depending on your country. If there exist any letter(s), regardless which, after the Number, CLIB calculates daylight saving offset. CLIB for 3.1x uses hardcoded date when to swich and an offset of one hour. CLIB of 4.xx uses the variables defined during install. Installation: 1. Copy the RDATED.NLM to SYS:SYSTEM 2. Make shure TIMEZONE is set correctly 3. Make shure, that you have entries for time and or daytime in SYS:ETC/SERVICES 4. Load RDATED. Configuration: RDATED istalls only those time services, which are entered in the SYS:ETC/SERVICES file. In the following example: # # @(#)services 1.12 88/02/07 SMI # # Network services, Internet style # This file is never consulted when the yellow pages are running # This means it is only read at startup of TCP/IP # daytime 13/udp daytime 13/tcp time 37/tcp timserver time 37/udp timserver all 4 services are created. If you remark out the two entries for udp, only time and daytime for tcp will be avilable. If you remark or delete all entries for daytime, only time will be registered and so on. Note to reload RDATED.NLM that changes become valid. The Server Program is now ready to run. You may use tcpcon to look for the newly registered services. To view the UDP services you can use TCPCON of a 4.xx server. TCPCON of 3.1x supports only tcp. Status screen: RDATED.NLM has a status screen which shows you every incoming request with the requestion date / time, the internet address and the requested service. Typing e or E in this screen will terminate the program. Stopping RDATED: Typing e or E in the RDATED screen will terminate the program and destroy the corresponding screen. You may use the UNLOAD command as well. Client Installation: NetWare: NetWare 4: In a NetWare 4 Network only one Server should be synchrinized by an external program. This could be done by a radio clock or Murkworks RDATE.NLM But make shure, that that server which has either the radio clock or the RDATE.NLM running is defind as reference server (not primary server). NetWare 3.1x and mixed: Install RDATED.NLM on one server, preferred with a radio clock on it. Install Mukworks RDATE.NLM on all additional Servers and point them to your RDATED's servers Internet address. Define synchronization times not too short. I think once ore twice a day is enough. If you use a UNIX Server (not our NLM) as Time standart, only set your time if the difference is more than one second (the Murkworks RDATE.NLM allows souch configuration). Our RDATED.NLM is accourate to 0.01 seconds, so you can use 1 second increment too. Example: As an recommanded example on a mixed network with 3 NetWare 4.xx servers and 5 NetWare 3.1x serwers, you could put a rodio clock into one 4.xx server and define it as reference server. Load RDATED on that server, optional on additional 4.xx servers and Murkworks Rdate on all 3.1x servers, but not on any 4.xx server. Alternativly put the radio clock into one of the 3.1x servers and load RDATED on it. Load Murkworks RDATE on all other 3.1x servers and only one 4.xx server. Define that 4.xx server with RDATE on it as reference server. load options of Murkworks RDATE.NLM : load rdate [/c] [/p nn] [/u] [/v nn] [/q] servername ... Where Means /c Just check the time and report the difference Does not set the file server time. /p nn Continually poll the server every nn minutes and update the server time accordingly. The nlm may be unloaded with the UNLOAD command. /u Use UDP instead of TCP /v nn Don't change the server time unless the time difference is more than nn seconds. /m nn Don't change the server time if the time difference is greater than nn seconds. (default is 3660 seconds). /q Don't report when the time has been changed on the server. servername The IP name or IP address of the host(s) running the time server, you may specify multiple servers. If the /p option is not used, the NLM unloads itself when it is done. Recommended example for use with our RDATED.NLM : load rdate /p 720 /q /v 1 timeserver1.domain.com timeserver2.domain.com The RDATE NLM will poll the timeserver once every 12 hours and update the time if the server is off by more than 1 second. A message will not appear on the screen when the time has changed. (this example only) If timeserver1 is unavailable the NLM will ask timeserver2 With a UNIX Timesource you should use: load rdate /p 720 /q /v 2 timeserver1.domain.com timeserver2.domain.com The RDATE NLM will poll the timeserver once every 12 hours and update the time if the server is off by more than 2 seconds. A message will not appear on the screen when the time has changed. (this example only) If timeserver1 is unavailable the NLM will ask timeserver2 timeserver1.domain.com and timeserver2.domain.com must be in your sys:etc/hosts file. If not, use dotted numbers instead. Setting UNIX clients: The network time protocol is a UNIX standard, so your UNIX should have a command to set the time. Look at your man pages. Unix System V for example has a rdate command. Linux is by default without souch command. I include a LINUX RDATE package (rdate-1.gz) which you can use to set the time of LINUX. Look at the enclosed dokumentation. This package is in Gzip format. Unzipping with gzip will bring a .tar file. You should unpack under LINUX only, to get the full length UNIX file names. This Linux rdate command requires the Internet Address of the server in named format (no dotted numbers). Send any comments or error reports to: Klaus.Arpe@etech.fh-hamburg.de We are NetWare Professional Developers An "nur" deutschsprachige Leser: Aus Zeitmangel ist mir im Moment keine deutsche šbersetzung m”glich. Vielleicht sp„ter -- oder jemand hilft mir dabei.