Merge from vendor branch BIND:
[dragonfly.git] / contrib / amd / ChangeLog
1 1999-10-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2
3         * released snapshot am-utils-6.0.3s1
4
5 1999-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6
7         * amd/amd.c (main): On AIX you must lower the stack size using
8         ulimit() before calling plock.  Otherwise plock will reserve a lot
9         of memory space based on your maximum stack size limit.  Since it
10         is not easily possible to tell what should the limit be, I print a
11         warning before calling plock(). See the manual pages for
12         ulimit(1,3,4) on your AIX system.
13
14         * include/am_defs.h: define default extern for vsnprintf()
15
16         * aux/configure.in: check for extern definition for vsnprintf()
17
18 1999-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
19
20         * amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
21         <njw@ms.com>.  SYMPTOMS: 'occasionally' sublinks do not point to
22         the correct location, but to the top level of the mountpoint and
23         an (error-hook) is seen being mounted in the log file. This causes
24         things to Go Wrong(TM).
25         CAUSE: When evaluating two locations which are requested
26         'practically simultaneously', and the two locations resolve to the
27         same NFS mountpoint (but different sublinks), the later request
28         will be "deferred" and retried after wakeup when the first mount
29         succeeds. To do this, it rewinds the options location string to
30         re-evaluate the location when the mount is retried. However, it
31         shouldn't rewind the options for two reasons: (a) the semantics of
32         the map language say you shouldn't and (b) the NFS mount reference
33         is not reset at the same time, meaning that on the retry it will
34         have an options structure out-of-sync with the mount
35         structure. The "shortcut" code when retrying the mount sees the
36         mount structure is already filled in and does not fully evaluate
37         the options structure.... so if the first location is not the one
38         which ties in with the mountpoint (see ordering in the
39         recreate-by), you're now well messed up.
40
41         * BUGS: mention aix4.3 plock() bug (memory usage blows up and
42         plock fails)
43
44 1999-10-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
45
46         * aux/GNUmakefile: certain files should be copied if they are
47         newer, not also if they are bigger: install-sh, ltconfig,
48         ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
49
50         * minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
51
52 1999-10-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
53
54         * aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
55
56         * aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
57
58 1999-09-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
59
60         *******************************************************************
61         *** Released am-utils-6.0.2                                     ***
62         *******************************************************************
63
64 1999-09-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
65
66         * conf/mount/mount_linux.c (mount_linux): print the updated mount
67         flags.
68
69         * doc/am-utils.texi: document $full_os and $vendor.
70
71         * scripts/amd.conf-sample: examples of $full_os and $vendor.
72
73         * scripts/amd.conf.5: document $full_os and $vendor.
74
75         * amd/conf.c: add support for $full_os and $vendor.
76
77 1999-09-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
78
79         * doc/am-utils.texi (netgrp Selector Function): don't give
80         examples with old single '=' assignment variable.  Use foo:=bar.
81
82         * amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
83         comment describing this complex function.
84
85         * doc/Makefile.am (alldocs): do install-ps last (because distiller
86         is slow) and install-html next to last (because texi2html is also
87         slow).
88
89         * amd/amd.8: Major fixes to the description of the option -t
90         timeout.retransmit.
91
92         * doc/am-utils.texi: better description of "trace" debug option.
93         amd -H (not -v) shows log_options and debug_options.  Major fixes
94         to the description of amd -t timeout.retransmit, and the amd.conf
95         parameters nfs_retransmit_counter and nfs_retry_interval.
96
97         * scripts/amd.conf.5: better description of "trace" debug option.
98         amd -H (not -v) shows log_options and debug_options.  Major fixes
99         to the description of the parameters nfs_retransmit_counter and
100         nfs_retry_interval.
101
102 1999-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
103
104         * doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
105         option, but a mount map option.
106
107         * libamu/xutil.c (switch_to_logfile): log the name of the log file
108         we switched into, after the log file had been [re]opened.
109
110 1999-09-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
111
112         * amd/mapc.c (mapc_reload_map): count and show the number of times
113         a map was reloaded.  Only reload a map if its modify-time was
114         updated.  But amq -f forced a reload no matter what.
115
116         * amd/amd.h: new flag to struct mnt_map to count number of times a
117         map was reloaded.
118
119         * amd/mapc.c (mapc_reload_map): attempt to reload the map without
120         losing current data by reloading into a temp copy, and switching
121         the hashes round only if the reload was successful.  Patch from Jon
122         Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
123         (mapc_sync): mapc_reload_map() always succeeds.
124
125 1999-09-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
126
127         * amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
128         rebind to an LDAP server forever.  Try up to 10 times.
129
130         * fsinfo/fsi_lex.l (yyerror): rework code that will never happen
131
132         * released snapshot am-utils-6.0.2s2
133
134         * aux/configure.in: bumped library version-info to 3:2:1, since
135         some libamu code got changed.
136
137         * libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
138         is better and more secure.  Fix from "David O'Brien"
139         <obrien@NUXI.com>.
140
141         * aux/configure.in: check for vsnprintf.
142
143 1999-09-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
144
145         * aux/macros/linux_headers.m4: use AC_MSG_ERROR.
146
147         * aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
148         not optional.  Make sure ARG is supplied else flag an error.
149
150 1999-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
151
152         * minor port i386-unknown-freebsdelf3.3
153
154         * released snapshot am-utils-6.0.2s1
155
156 1999-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
157
158         * aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
159
160         * include/am_defs.h: extern definition for getitimer().
161
162         * aux/configure.in: use AC_CHECK_EXTERNS.  Look for getitimer()
163         extern.
164
165         * aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
166         that calls AC_CHECK_EXTERN in a loop.  This saves repeated code in
167         configure.
168
169         * aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
170         'int' as the 5th arg to authunix_create().
171
172         * aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
173         size_t for the 6th arg of recvfrom().
174
175         * aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
176         aix4.x systems.
177
178         * libamu/mount_fs.c (print_nfs_args): cast some values to int, to
179         avoid gcc -Wall errors.
180
181         * scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
182         in a struct sockaddr_in.  On Solaris x86 hosts, using pack()
183         results in byte-misaligned values.   Bug fix from Jeffrey C Honig
184         <jch@BSDI.COM>.
185
186         * libamu/mount_fs.c (compute_automounter_mount_flags): turn on
187         automntfs (ignore on bsdi-4.1) flag.
188         (compute_automounter_nfs_args): ditto.
189
190         * aux/acconfig.h: add new flag for automntfs (ignore)
191
192         * aux/configure.in: check for new automntfs flag (bsdi-4.1).
193
194 1999-09-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
195
196         * MIRRORS: added new site in Germany.  Updated status of umn.edu
197         and ferginc.com, who may no longer be mirroring am-utils.
198
199 1999-09-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
200
201         *******************************************************************
202         *** Released am-utils-6.0.1                                     ***
203         *******************************************************************
204
205 1999-09-08  Erez Zadok  <ezk@cs.columbia.edu>
206
207         * aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
208         netexport defined.
209
210         * aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
211         struct netexport defined.
212
213 1999-09-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
214
215         * aux/macros/check_field.m4 (ac_upcase_var_name): include
216         <ifaddrs.h> so we can detect fields within struct ifaddrs.
217
218         * libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
219         getifaddrs() and struct ifaddrs has no ifa_next field.
220
221         * aux/configure.in: check if 'struct ifaddrs' has a field
222         ifa_next.
223
224         * include/amq_defs.h (AMQ_STRLEN): double size of amq string
225         length to 2048 bytes.
226
227         * conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
228         header files and ufs/ufs/ufsmount.h.  Bug reported by <Christos
229         Zoulas> christos@zoulas.com.
230
231         * aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
232         Bug reported by <Christos Zoulas> christos@zoulas.com.
233
234         * aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
235
236 1999-09-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
237
238         * libamu/xutil.c (expand_error): use strerror if available instead
239         of sys_errlist.  Bug reported by <Christos Zoulas>
240         christos@zoulas.com.
241
242         * hlfsd/hlfsd.c (fatal): use strerror if available instead of
243         sys_errlist.
244
245         * amq/amq.c (show_mi): use strerror if available instead of
246         sys_errlist.
247
248         * aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
249         nfs_prot header is used for any future (1.5 etc.) netbsd systems.
250
251         * amq/pawd.c (find_mt): check for type nfsl as well.  Fix from
252         "Andrew J. Korty" <ajk@purdue.edu>
253
254 1999-08-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
255
256         * doc/am-utils.texi (Supported Platforms): updates for redhat
257         systems.
258
259         * INSTALL: updates for redhat systems.
260
261         * libamu/wire.c (getwire_lookup): spell "succeeded" correctly
262
263 1999-08-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
264
265         * scripts/ctl-amd.in: sleep 1 second between killing amd and
266         restarting it, because amq may respond that amd is down, where in
267         fact it is still trying to unmount itself after unmapping itself
268         from the portmapper.
269
270         * aux/config.guess.long: new script to print long version of
271         config.guess output.
272
273         * buildall (host_alias): use long version of config.guess.
274
275 1999-08-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
276
277         * scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
278         scripts.
279
280 1999-08-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
281
282         * released snapshot am-utils-6.0.1s11
283
284         * libamu/xutil.c (expand_error): make sure expanding the string
285         with textual version of errno doesn't overrun the 1024 bytes
286         buffer.
287         (real_plog): null terminate msg, just in case.
288
289         * amq/amq.c (main): don't getopt -M option and don't process it
290         unless ENABLE_AMQ_MOUNT is on.
291
292         * amd/amq_svc.c (amq_program_1): all code that relates to amq -M
293         is conditional on #ifdef ENABLE_AMQ_MOUNT.
294
295         * amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
296         when amq -M code is disabled.  Not taking any chances.
297
298 1999-08-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
299
300         * released snapshot am-utils-6.0.1s10
301
302 Sun Aug 22 16:18:59 1999  Erez Zadok  <ezk@subzero.cs.columbia.edu>
303
304         * libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
305         128.59.16.0), try to shift the network out of zeros (e.g.,
306         128.59.16) and try again.  Irix 6.4 requires short network
307         numbers.
308
309 1999-08-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
310
311         * libamu/wire.c (getwire_lookup): correctly compute subnet using
312         netmask.
313
314         * libamu/mount_fs.c (compute_automounter_nfs_args): require that
315         Amd's own NFS mounts use reserved ports (if possible).  IP packet
316         security fix from Jeffrey C Honig <jch@BSDI.COM>.
317
318         * conf/transp/transp_tli.c (create_autofs_service): use correct
319         autofs_port.  IP packet security fix from Jeffrey C Honig
320         <jch@BSDI.COM>.
321
322         * conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
323         function.  IP packet security fix from Jeffrey C Honig
324         <jch@BSDI.COM>.
325         (create_nfs_service): use bind_resv_port() directly.  ensure that
326         privileged ports are used.  IP packet security fix from Jeffrey C
327         Honig <jch@BSDI.COM>.
328
329         * amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
330         from reserved ports and from a local IP address.  IP packet
331         security fix from Jeffrey C Honig <jch@BSDI.COM>.
332
333         * amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
334         hard-coded 1024.  IP packet security fix from Jeffrey C Honig
335         <jch@BSDI.COM>.
336         (amqproc_mount_1_svc): provide information on the caller making an
337         amq -M request.  IP packet security fix from Jeffrey C Honig
338         <jch@BSDI.COM>.
339
340         * amd/map.c (free_map_if_success): If the program doing an unmount
341         of a program filesystem fails, amd tries to interpret the return
342         code as an errno.  Fix from Jeffrey C Honig <jch@BSDI.COM>.
343
344         * amd/info_nis.c (determine_nis_domain): don't always print
345         warning about NIS domain name not being set, even if NIS is not in
346         use.
347
348 1999-08-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
349
350         * amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
351         (amu_ldap_search): initialize variable err.
352
353 1999-08-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
354
355         * libamu/wire.c: written using getifaddrs() for BSD systems,
356         contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>).
357
358 1999-08-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
359
360         * include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
361
362         * aux/configure.in: check for irs.h and ifaddrs.h.
363         Increase libamu.so --version-info to 3:1:1 since we've changed the
364         source code for the library.
365         Check for getifaddrs() function.
366
367 1999-08-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
368
369         * libamu/mount_fs.c (print_nfs_args): print fields namlen and
370         bsize if they exist.
371
372         * conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
373         and ->bsize fields correctly, if those fields exist.  This is a
374         bug in that amd neglected to set these fields, but told the
375         kernel it is mounting the nfs_args_t structure using mount version
376         3 (which requires both bsize and namlen fields).
377
378         * aux/configure.in: test for two new nfs_args_t fields (used on
379         newer linux with mount versions 2 and 3): bsize and namlen.
380
381         * doc/am-utils.texi (netgrpd Selector Function): document new
382         selector function.
383
384         * amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
385         test if the current host (fully-qualified name) is in the ARG host
386         netgroup.  The netgrp() function uses the short form of a host
387         name.  Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>.
388
389         * doc/am-utils.texi (automount2amd): document new script.
390
391         * scripts/Makefile.am: create, install, and distribute
392         automount2amd perl script and its man page.
393
394         * scripts/automount2amd.8: new man page for automount2amd.
395
396         * scripts/automount2amd.in: new file, contributed a in 1993 by
397         Mike Walker <mike@tab00.larc.nasa.gov>.  Fixed to use addopts for
398         any automount map options specified.
399
400 1999-08-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
401
402         * released snapshot am-utils-6.0.1s9
403
404 1999-08-09  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
405
406         * amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
407         1.
408         (amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
409         (amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
410         (u_int)~0.
411
412         * amd/mapc.c (make_entry_chain): NFS cookies should be
413         monotonically increasing, because Linux 2.3 expects that, even
414         though it is not in the spec (RFC-1094) for NFS V2.
415
416 1999-08-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
417
418         * aux/macros/check_lib_funcs.m4: removed unused macro.
419
420         * aux/macros/linux_headers.m4: new macro to ensure that linux
421         kernel headers match running kernel version.
422
423         * aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
424         amd is configured on linux hosts that run one kernel but have
425         headers for a different version.
426
427         * amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
428         logic which uses nis_isup and has_yp_order.  Make sure it is used
429         correctly , esp. for NIS+ in NIS-compatibility mode.  Bug fix from
430         Peter Breitenlohner <peb@mppmu.mpg.de>.
431
432         * include/am_defs.h: fix conflicts on linux 2.2 systems with older
433         libc5.  Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>.
434
435         * scripts/lostaltmail.in: use sockaddr_in(), not pack() to
436         correctly fill in a struct sockaddr_in.  On Solaris x86 hosts,
437         using pack() results in byte-misaligned values.
438
439 1999-08-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
440
441         * conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
442         mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>.  Also use
443         better macros for case statement.
444
445         * conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
446         unless ldap is actually available.
447
448         * use updated config.guess and config.sub.  Use newer automake
449         that fixes problems with distributing optional libamu files
450         (clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
451         and ualarm.c)
452
453 1999-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
454
455         * minor port i386-unknown-openbsd2.5
456
457 1999-07-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
458
459         * minor ports to freebsdelf 3.[0-2] and 4.0 completed
460
461         * aux/macros/check_nfs_prot_headers.m4: support freebsdelf
462
463         * aux/macros/check_nfs_socket_connection.m4: support freebsdelf
464
465 1999-06-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
466
467         * released snapshot am-utils-6.0.1s8
468
469 1999-06-23  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
470
471         * include/am_defs.h: avoid various header conflicts on
472         RedHat/Linux 6.0 and kernels 2.2.10 or newer.
473
474         * aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
475         kernel 2.2.10)
476
477         * amd/amfs_program.c (amfs_program_exec): make sure logfp is
478         initialized dynamically to stderr if needed.
479
480         * libamu/xutil.c (dplog): make sure logfp is initialized
481         dynamically to stderr if needed.
482         (plog): ditto.
483
484         * amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
485         not initialized.
486
487         * libamu/xutil.c: don't initialize logfp statically to stderr,
488         because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
489         be manipulated like a variable.
490
491         * include/am_defs.h: avoid more conflicts between <linux/fs.h> and
492         <sys/mount.h> on 2.2 linux kernels.
493         include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
494
495 1999-04-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
496
497         * all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
498
499         * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
500         renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
501         won't attempt to add it to the header files to distribute.
502
503 1999-04-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
504
505         * aux/GNUmakefile: invoke aclocal with new --altdir flag.
506
507 1999-04-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
508
509         * minor new port: i386-unknown-netbsd1.4 (ALPHA)
510
511         * aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
512         and <isofs/cd9660/cd9660_mount.h> because they are also included
513         from MOUNT_HEADERS.  Causes multiple inclusion of unprotected
514         headers on netbsd-1.4_ALPHA.
515
516 1999-04-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
517
518         * aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
519         sys_errlist extern doesn't end with [].
520
521         * aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
522
523 1999-04-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
524
525         * newer automake wants texinfo.tex to be in aux/ not doc/
526
527 1999-03-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
528
529         * amd/conf_parse.y: alloca support.
530
531         * fsinfo/fsi_gram.y: alloca support.
532
533         * libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
534         needed.
535
536         * aux/configure.in: test for alloca support.  Needed because bison
537         generates parsers that use alloca, and hpux9 does have alloca and
538         its /bin/cc doesn't support it builtin (the way gcc does).
539
540         * libamu/alloca.c: new file, needed on hpux9 with /bin/cc.  Taken
541         verbatim from bison-1.25.
542
543         * include/am_defs.h: fixed typo #errir -> #error
544
545         * released snapshot am-utils-6.0.1s7
546
547         * README.y2k: more information about am-utils' compatibility, from
548         Paul Balyoz <pbalyoz@sedona.ch.intel.com>.
549
550         * scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
551         compliant format.  Patch from Paul Balyoz
552         <pbalyoz@sedona.ch.intel.com>
553
554         * doc/am-utils.texi (Supported Platforms): hpux10.20 could have
555         nfs v.3 support (with some vendor patches), but it is turned off.
556
557         * aux/macros/os_cflags.m4: use ansi compiler options on hpux.
558
559         * conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
560         confusing am-utils.  10.20 with some patches has incomplete
561         support.  Patch from Jon Peatfield
562         <J.S.Peatfield@damtp.cam.ac.uk>.
563
564 1999-03-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
565
566         * minor port i386-pc-bsdi4.0.1
567
568 1999-03-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
569
570         * doc/am-utils.texi (Supported Platforms): add forgotten listing
571         for powerpc-linux.
572
573 1999-03-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
574
575         * scripts/amd.conf.5: fix typo.  From Jeffrey C Honig
576         <jch@BSDI.COM>.
577
578         * doc/am-utils.texi: document iso9660 options norrip, gens, and
579         extatt.
580         (opts Option): documented dumbtimr and noauto options.  From
581         Jeffrey C Honig <jch@BSDI.COM>.
582
583         * include/am_compat.h: define default strings for options norrip,
584         gens, and extatt.
585
586         * amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
587         extatt.
588
589         * aux/macros/mount_headers.m4: also include
590         <isofs/cd9660/cd9660_mount.h> as needed.
591
592         * aux/configure.in: check for isofs mount options for bsdi4:
593         norrip, gens, and extatt.  Reported by Jeffrey C Honig
594         <jch@BSDI.COM>.
595
596         * aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
597         (bsdi4).
598
599 1999-03-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
600
601         * conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
602
603         * conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
604         for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>.
605
606 1999-03-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
607
608         * get latest copies of config.guess, config.sub, ltconfig, and
609         ltmain.sh from libtool-1.2f.
610
611         * all Makefile.am: don't use continuation lines (using \) for
612         short lists of files.
613
614         * libamu/Makefile.am (DISTCLEANFILES): make distclean should
615         remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
616         Reported by Jeffrey C Honig <jch@BSDI.COM>.
617
618         * fixmount/Makefile.am (DISTCLEANFILES): make distclean should
619         remove checkmount.c.  Reported by Jeffrey C Honig <jch@BSDI.COM>.
620
621         * Makefile.am (DISTCLEANFILES): make distclean should remove
622         amu_nfs_prot.h, config.cache.old, and dbgcf.h.  Reported by
623         Jeffrey C Honig <jch@BSDI.COM>.
624
625 1999-03-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
626
627         * released snapshot am-utils-6.0.1s6
628
629 1999-03-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
630
631         * INSTALL: document freebsdelf.
632
633         * doc/am-utils.texi (Supported Platforms): document freebsdelf.
634
635 1999-03-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
636
637         * minor new ports: i386-unknown-freebsdelf3.1 and
638         i386-unknown-freebsdelf4.0
639
640         * aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
641
642         * aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
643
644         * aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
645
646         * amd/opts.c (eval_opts): changed log level of "executing
647         negated..." message from USER to INFO, as per Guntram Wolski
648         <gwolsk@sei.com>.
649
650 1999-02-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
651
652         * */Makefile.am (LDADD): force linking against an installed
653         libamu.{a,so}.
654
655         * doc/am-utils.texi (addopts Option): document remopts interaction
656         with addopts.
657
658         * amd/am_ops.c (ops_match): if addopts are specified, apply them
659         to the value of remopts as well as opts.
660
661         * amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
662
663 1999-02-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
664
665         * released snapshot am-utils-6.0.1s5
666
667         * conf/mount/mount_linux.c (mount_linux): set default nfs_args
668         options for ac{reg,dir}{min,man} as per the mount-2.8a package,
669         but only if noac option was not used.
670
671 1999-02-05  Erez Zadok  <ezk@retro.cs.columbia.edu>
672
673         * conf/mount/mount_linux.c (mount_linux): print nfs_args again
674         since it was updated.
675         (mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
676         and newer.  Bug was found by Neil Conway
677         <nconway.list@ukaea.org.uk>
678
679 1999-02-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
680
681         * released snapshot am-utils-6.0.1s4
682
683 1999-02-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
684
685         * amq/amq.c (main): don't list -M as a valid amq option unless
686         configure'd with --enable-amq-mount.
687
688 Wed Feb  3 18:11:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
689
690         * amd/nfs_start.c (amd_use_autofs): Define.
691         (mount_automounter): Create autofs service listener only if
692         necessary to avoid unnecessary clashes with e.g. automountd.
693
694         * amd/amd.h (amd_use_autofs): Declare.
695
696         * amd/conf.c (gopt_mount_type): Set amd_use_autofs.
697         (ropt_mount_type): Likewise.
698
699 1999-02-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
700
701         * aux/macros/check_mnt2_nfs_opt.m4:: ditto
702
703         * aux/macros/check_mnt2_cdfs_opt.m4: ditto
704
705         * aux/macros/check_mnt2_gen_opt.m4: ditto
706
707         * aux/macros/check_mnttab_opt.m4: new macro in this file to loop
708         over AC_CHECK_MNTTAB_OPT.  Reduces size of configure script a lot.
709
710         * conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
711         nfs/nfs.h and nfs/nfsmount.h if they exist.  Patch from
712         christos@zoulas.com (Christos Zoulas).
713
714         * amd/info_hesiod.c: some forward declarations.  Patch from
715         christos@zoulas.com (Christos Zoulas).
716
717 1999-01-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
718
719         * libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
720         option if it was already in that state.  Patch from David
721         Wolfskill <dhw@whistle.com>.
722
723 1999-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
724
725         * aux/configure.in: automake nowadays supports LTLIBOBJS (but not
726         LTALLOCA yet).  Substitute value of LIBTOOL_DEPS for libtool
727         rebuild make rules.
728
729         * Makefile.am: new rules to remake libtool (maintainers only)
730
731         * amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
732         if -D trace was used.
733
734 1999-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
735
736         * buildall: all if statements should have an else clause because
737         of Ultrix's /bin/sh.
738
739 1999-01-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
740
741         * amq/amq.c: removed dummy variables.
742
743         * amq/pawd.c: removed dummy variable.s
744
745         * fixmount/fixmount.c (usage): removed dummy variables.
746
747         * fsinfo/fsinfo.c: removed dummy variables.
748
749         * hlfsd/hlfsd.c: removed dummy variables.
750
751         * wire-test/wire-test.c: removed dummy variables.
752
753         * mk-amd-map/mk-amd-map.c: removed dummy variables.
754
755         * doc/texinfo.tex: updates from GNU mirror.
756
757         * aux/GNUmakefile (../doc/texinfo.tex): new rule to update
758         doc/texinfo.tex from GNU mirror.
759
760         * released snapshot am-utils-6.0.1s3
761
762         * Makefile.am (install-snapshot): better snapshot and new
763         install-snapshot and test-snapshot rules (maintainer).
764
765         * amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
766         args may be NULL.
767         Some dlog() entries were not enclosed in #ifdef DEBUG.  Fix from
768         Bill Paul <wpaul@ctr.columbia.edu>
769
770 1999-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
771
772         * check for experimental generic 'ignore' mount flag on freebsd3.
773
774         * Update library -version-info to 3:0:1 (will result in 2.1.0 .so
775         version, which is backwards compatible with older versions.)  Only
776         one new interface was added to libamu.
777
778         * amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
779         that are specific to automounter mounts.
780
781         * aux/configure.in: update libamu.so age and revision since a new
782         interface was added to libamu/mount_fs.c
783         (compute_automounter_mount_flags).
784
785         * libamu/mount_fs.c (compute_automounter_mount_flags): new
786         function to compute generic mount flags that are specific to mount
787         points only.
788
789         * aux/{configure.in,acconfig.h}: add support for generic mount
790         entry ignore option.
791
792         * released snapshot am-utils-6.0.1s2
793
794         * amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
795
796         * libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
797         of knc_semantics from u_long to u_int.
798
799         * aux/macros/check_mount_style.m4: freebsd3 no longer needs a
800         special mount helper.
801
802 1999-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
803
804         * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
805         amu_nfs_conf.h should always be found in $top_builddir.
806
807 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
808
809         * conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
810         to avoid wrong reports from show_fstypes.
811
812         * conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
813
814         * conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
815
816 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
817
818         * BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
819
820 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
821
822         * hlfsd/homedir.c (delay): Cast child to long, adapt format.
823         (hlfsd_getpwent): Likewise for pw_uid.
824
825         * amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
826         format. 
827
828         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
829         tv_sec to int to match format.
830         (get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
831         formats. 
832
833         * amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
834         long, adapt format.
835
836         * include/am_defs.h: Handle __attribute__ if available.  From
837         GNU fileutils 4.0 lib/errors.h.
838
839 Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
840
841         * libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
842         match format.
843
844         * hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
845         adapt format.
846         (nfsproc_lookup_2_svc): Likewise.
847         (nfsproc_readlink_2_svc): Likewise for userid, groupid.
848
849         * hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
850         format.
851
852         * hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
853         format. 
854
855         * amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
856         long, adapt format.
857
858         * amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
859         unsigned long, adapt format.
860         (got_nfs_fh): Likewise.
861         (prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
862         format. 
863         (call_mountd): Likewise, mnt_version also.
864         (mount_nfs_fh): Likewise.
865
866         * amd/ops_autofs.c (autofs_program_1): Cast args to int to match
867         format.
868         (autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
869         unsigned long, adapt formats.
870         (autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
871         (autofs_bgmount): Use long format to match arg.
872         (autofs_lookuppn): Removed superfluous arg.
873
874         * amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
875         format. 
876         (got_portmap): Likewise for port.
877         (recompute_portmap): Likewise for fs->fs_version, mnt_version.
878         (find_nfs_srvr): Likewise for nfs_version.
879
880         * amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
881         format. 
882
883         * amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
884         to unsigned long, adapt format.
885         Cast tvv.tv_sec to int to match format.
886
887         * amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
888         format.
889
890         * amd/map.c (root_fh): Cast pid to long, adapt format.
891         (timeout_mp): Cast time_t to long, adapt format.
892
893         * amd/clock.c (reschedule_timeouts): Use long format, cast time_t
894         arg.
895
896         * amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
897         match format.
898         (amfs_host_fmount): Likewise.
899         (amfs_host_umounted): Likewise.  Removed superfluous arg.
900
901         * amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
902         long, adapt format.
903         (amfs_auto_bgmount): Use long format, cast time_t arg.
904         (amfs_auto_lookuppn): Removed superfluous arg.
905
906         * amd/amd.c (main): Cast geteuid() result to long, adapt format.
907
908         * conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
909         to int to match format.
910
911         * include/am_utils.h: Declare plog, dplog as printf-like.
912
913         * conf/mount/mount_irix6.c (mount_irix): Print type as char *.
914
915 Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
916
917         * amd/info_hesiod.c (hesiod_isup): New function.
918         * amd/mapc.c (maptypes): Add it.
919
920 1999-01-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
921
922         * released snapshot am-utils-6.0.1s1
923
924 1999-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
925
926         * ALL: bump copyright year to 1999.
927
928 Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
929
930         * aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
931         too. 
932
933         * aux/macros/check_mtype_printf_type.m4: Adapt corresponding
934         printf type.
935
936 Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
937
938         * aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
939
940         * conf/nfs_prot/nfs_prot_irix6.h: Likewise.
941
942         * conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
943
944         * conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
945
946         * Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
947         automake.
948
949 Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
950
951         * aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
952         in current automake.
953
954 Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
955
956         * doc/am-utils.texi: Added some missing inter-punctation after
957         @xref, or use @pxref/@ref as appropriate.  Spotted by makeinfo
958         from texinfo 3.12b.
959
960 1999-01-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
961
962         * doc/texinfo.tex: updated off of latest GNU mirror.
963
964 1999-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
965
966         * doc/am-utils.texi (Supported Platforms): update platforms that
967         support NFS v.3.  Nicer postscript printing on double-sided pages.
968
969         * amd/info_hesiod.c: add extern definition for hesiod_init()
970
971 1999-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
972
973         *******************************************************************
974         *** Released am-utils-6.0                                       ***
975         *******************************************************************
976
977 1998-12-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
978
979         * conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
980
981 1998-12-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
982
983         * conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
984         bsdi4 for NFS V3/nfs mounts.
985
986 1998-12-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
987
988         * using latest libtool (1.2e + patches), now supporting shared
989         libraries on many more systems.  Also using latest autoconf and
990         automake (unreleased GNU CVS'd versions.)
991
992         * minor new ports: hppa2.0w-hp-hpux11.00,
993         i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
994
995         * fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
996         have /usr/bin/flex but not libfl.
997
998 1998-12-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
999
1000         * lots of code cleanup, to make sure libamu.so does not use
1001         undefined symbols.  Some system's shared libraries cannot handle
1002         that.
1003
1004 1998-12-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1005
1006         * include/am_defs.h: only defined seteuid extern if function also
1007         exists and is not superceded by setresuid (hpux).
1008
1009         * amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
1010         braces to avoid confusion with nested if-then-else clauses.
1011
1012         * aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
1013         updated from latest versions.
1014
1015 1998-12-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1016
1017         * minor new port: i386-pc-bsdi4.0
1018
1019         * conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
1020         definitions for bsdi4.
1021
1022         * {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
1023         some make programs (bsdi4) do not support VPATH correctly.
1024
1025 1998-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1026
1027         * conf/mount/mount_aix.c: minor code cleanup
1028
1029         * aux/configure.in: check for extern definition to xdr_groups.
1030
1031 1998-12-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1032
1033         * minor new port: powerpc-ibm-aix4.3.1.0
1034
1035         * aux/macros/*.m4: updates for aix 4.3
1036
1037 1998-12-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1038
1039         * minor new port: i386-unknown-openbsd2.4
1040
1041         * aux/configure.in: don't check for xfs on openbsd because
1042         openbsd-2.4 introduces a new file system named xfs, but different
1043         than Irix's XFS.  Sigh.
1044
1045         * minor new port: i386-unknown-freebsd2.2.8
1046
1047 1998-12-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1048
1049         * amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
1050         name match.  Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
1051
1052 1998-11-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1053
1054         * scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
1055         avoid race conditions when shutting down systems running amd.
1056
1057         * Makefile.am: add a dist-hook to change modes of the directories
1058         in the tar file so they are not world writable.
1059
1060         * conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
1061         since it is now finally defined in the header files and
1062         (hopefully) stable.
1063
1064         * amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
1065         is specified in mount options.  freebsd patches from David
1066         O'Brien.
1067
1068         * amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
1069         (main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
1070         amd/get_args.c (get_args): posix: use -1 to check for return from
1071         getopt() (not EOF), as per posix.
1072
1073         * amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
1074         O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree.  Use
1075         real variable whose pointer is on the stack for decoding a long
1076         int.
1077
1078 1998-11-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1079
1080         * scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
1081         chkconfig utility.
1082
1083 1998-11-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1084
1085         * released snapshot am-utils-6.0b2s3
1086
1087         * conf/transp/transp_sockets.c (create_nfs_service): remove C++
1088         style comments.
1089
1090 1998-11-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1091
1092         * released snapshot am-utils-6.0b2s2
1093
1094         * created CVS package
1095
1096         * amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
1097         condition between unmounting and re-mounting an entry, by
1098         increasing the ttl of a looked up entry before unmounting it.
1099         Patch from Mike Mitchell <mcm@unx.sas.com>.
1100
1101         * All files: spell comments and strings.
1102
1103 1998-11-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1104
1105         * aux/configure.in: look for yp_all in libnsl only if yp_all not
1106         already found elsewhere (in libc or other default libraries).
1107         This is so RedHat 5.1 systems could find yp functions in libnsl,
1108         but also so AIX 4.2.1 will NOT include libnsl, because the latter
1109         has broken nis functionality that also exists and works ok in libc.
1110
1111 1998-10-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1112
1113         * amd/amd.c (main): bug fix: swapped arguments to kill(2).  Fix
1114         from Danny Rathjens <dkr@cs.fiu.edu>.
1115
1116 1998-10-28  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
1117
1118         * released snapshot am-utils-6.0b2s1
1119
1120 1998-10-27  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
1121
1122         * aux/macros/*.m4: support bsdi4 as bsdi3.
1123
1124         * aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
1125         2.7 (libraries located in /usr/lib/fn).  This is off until Sun
1126         includes LDAP header information.
1127
1128 1998-10-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1129
1130         *******************************************************************
1131         *** Released am-utils-6.0b1                                     ***
1132         *******************************************************************
1133
1134 1998-10-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1135
1136         * mk-amd-map/mk-amd-map.c (main): use perror not strerror.
1137         (main): set return type to int if no ndbm maps.
1138
1139         * include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
1140         kernels.
1141
1142 1998-10-18  Erez Zadok  <ezk@london.mcl.cs.columbia.edu>
1143
1144         * A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
1145         for netbsd 1.3.2.
1146
1147 1998-10-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1148
1149         * aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
1150         systems put NIS functions there.
1151
1152         * mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
1153         <obrien@NUXI.com> merged in.  Use POSIX -1 return code from
1154         getopt(), not EOF.  Use .db extentions for systems that use it,
1155         instead of .{pag,dir}.
1156
1157 1998-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1158
1159         * wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
1160         amd/amd.c (main): avoid overrunning hostname buffer.  Bug fix from
1161         "David O'Brien" <obrien@NUXI.com>.
1162
1163         * scripts/amd.conf.5: minor typo reported by "David O'Brien"
1164         <obrien@NUXI.com> in .TH section of man page.
1165
1166         * amd/info_nis.c (am_yp_all): don't leak key-val entries.  Patch
1167         from Thomas Richter <richter@chemie.fu-berlin.de>.
1168
1169 1998-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1170
1171         * doc/am-utils.texi (Program Filesystem): minor typo fixed as per
1172         Andreas Stolcke <stolcke@speech.sri.com>.
1173
1174         * minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
1175         and sparc-sun-solaris2.7.
1176
1177         * conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
1178         a 4.4lite kernel, and somethings were removed, such as
1179         INITMOUNTNAMES.
1180
1181         * amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
1182         processing /defaults.  Free temporary opts.  Patch from
1183         dsr@mail.lns.cornell.edu (Daniel S. Riley)
1184
1185         * amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
1186         processing /defaults.  Free temporary opts.  Patch from
1187         dsr@mail.lns.cornell.edu (Daniel S. Riley)
1188
1189         * conf/mtab/mtab_osf.c (read_mtab): patch from
1190          dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
1191          uninitialized memory on Digital Unix.
1192
1193 1998-10-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1194
1195         * aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
1196         systems now use "char *" as their mount type.
1197
1198 1998-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1199
1200         * amd/conf.c (gopt_map_type, ropt_map_type): check if map type
1201         exists.
1202
1203         * amd/mapc.c (mapc_type_exists): function to test if a map of
1204         certain type exists.
1205
1206 1998-10-08  Erez Zadok  <ezk@horatio.mcl.cs.columbia.edu>
1207
1208         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
1209         include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
1210         in RH-5.1 sparc64 between <netinet/in.h> and
1211         <linux/byteorder/generic.h> (2.1 kernels).
1212
1213 1998-09-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1214
1215         * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
1216         5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
1217         from yp_all().
1218
1219 1998-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1220
1221         * conf/mount/mount_linux.c (parse_opts): check for pcfs support
1222         only if autoconfigured.
1223
1224 1998-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1225
1226         * Makefile.am (EXTRA_DIST): distribute README.yk2 file.
1227
1228         * README.y2k: explain y2k compliance status of am-utils.
1229
1230 1998-09-16  Erez Zadok  <ezk@iguana.mcl.cs.columbia.edu>
1231
1232         * amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
1233         amfs_host_umounted): clnt_sperrno() may return a const.
1234
1235 Sat Aug  8 23:28:32 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1236
1237         * aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
1238         Zoulas. Turned on checking for mount options: async, synchronous,
1239         deadthresh, leasterm, nqnfs, and readahead.
1240
1241         * amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
1242         to include prototype definition for nis_isup().
1243
1244 Sun Jul 19 18:50:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1245
1246         * hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
1247
1248 Tue Jul 14 20:34:25 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1249
1250         * released snapshot am-utils-6.0a17s1
1251
1252 Wed Jul  8 21:49:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1253
1254         * aux/macros/host_macros.m4: all x86 hosts should have $arch be
1255         i386, not i[456]86.
1256
1257 Tue Jul  7 18:55:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1258
1259         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
1260         include/am_defs.h: include <linux/posix_types.h> before
1261         <linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
1262         headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
1263         __KERNEL_STRICT_NAMES).
1264
1265         * aux/configure.in: check for <linux/posix_types.h> because it is
1266         need for RedHat 5.1.
1267
1268 Wed Jun 17 00:05:33 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1269
1270         * scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
1271         .in as well, so it doesn't get removed by make clean.
1272
1273 Tue Jun 16 22:00:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1274
1275         * aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
1276         check_mount_type.m4}: redhat 5.1 puts some modules in
1277         /lib/modules/preferred/.
1278
1279 Wed May 13 16:33:57 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1280
1281         * amd/ops_autofs.c (mount_autofs): cast pid to long.
1282
1283 Tue Apr 28 15:12:36 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1284
1285         * conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
1286         conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
1287         avoid amd/am_ops.c (show_fstypes) from erroneously claiming
1288         support.
1289
1290 Fri Apr 24 23:02:11 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1291         
1292         * libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
1293         unconditionally, may be missing on Ultrix V4.3.
1294
1295 Thu Apr 23 20:24:33 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1296
1297         * conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
1298         missing from <sys/mntent.h>.
1299         
1300         * conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
1301         without KERNEL defined here.
1302
1303         * aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
1304         <cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
1305         ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
1306
1307         * amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
1308
1309         * ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
1310         Removed purely local (and obsolete) entry.
1311
1312 Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1313
1314         *******************************************************************
1315         *** Released am-utils-6.0a16                                    ***
1316         *******************************************************************
1317
1318 Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1319
1320         * aux/macros/check_mount_style.m4: define freebsd3 mount style.
1321
1322         * aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
1323
1324         * aux/macros/check_mtype_printf_type.m4,
1325         aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
1326         of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
1327         integers, but I'll keep them as integers and do the mapping in
1328         conf/mount/mount_freebsd3.c
1329
1330         * minor new port to i386-pc-bsdi3.1.
1331
1332         * minor new port to i386-unknown-netbsd1.3.1.
1333
1334         * amd/opts.c: new option addopts:=ARG, which smartly merges ARG
1335         options with whatever the /default ones for a key are.  This
1336         allows adding or overriding /default options individual keys.
1337
1338         * amd/am_ops.c (ops_match): strdup/malloc string assigned to
1339         opt_opts because it'll get free()'d upon next use.
1340         (merge_opts): new function to merge two sets of options.
1341         (ops_match): if addopts option exist, append and merge it to the
1342         current default options.
1343
1344 Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1345
1346         * wire-test/wire-test.c (main): use dynamically allocated returned
1347         string with list of interfaces.
1348
1349         * amd/get_args.c (get_version_string): allocate enough space for
1350         header version string and a list of network interfaces of any
1351         length.
1352
1353         * libamu/wire.c (print_wires): return dynamically allocated string
1354         containing list of networks.  Must be dynamic because some sites
1355         had potentially dozens of network interfaces.  Patch from Matthew
1356         Crosby <mcrosby@ms.com> slightly modified.
1357
1358 Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1359
1360         * conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
1361         irix 5.3 does not have full header definitions for it.
1362
1363         * fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
1364         undefined it when not needed (similar to amd/conf_tok.l)
1365
1366         * hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
1367         of these to unsigned short (because uid_t on some linux systems is
1368         small).
1369
1370         * released snapshot am-utils-6.0a16s10
1371
1372         * doc/am-utils.texi (opts Option): documented resvport mount
1373         option.
1374
1375 Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1376
1377         * doc/am-utils.texi (-D-Option): document behavior of -D info and
1378         especially what it does to hesiod (turn on RES_DEBUG).
1379
1380         * scripts/amd.conf.5: document info debugging option.
1381
1382         * libamu/xutil.c (dbg_opt): parse info debugging option.
1383
1384         * include/am_utils.h (D_INFO): define new trace option.
1385
1386         * Makefile.am (EXTRA_DIST): include list of official mirrors in
1387         distribution.
1388
1389         * libamu/wire.c (SIZE): in the simple case, just compute
1390         sizeof(struct ifreq).
1391
1392 Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1393
1394         * amd/amd.c (daemon_mode): set a temporary secure umask(0022)
1395         before writing log file and restore it afterwards.  Patch from
1396         Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1397
1398         * amd/get_args.c (get_args): 
1399
1400         * doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
1401         file specified by -F is always processed last.
1402
1403         * amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
1404         won't be reused.  Allows startup script to redirect stdout.  Patch
1405         from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1406
1407         * libamu/xutil.c (switch_to_logfile): compare logfile name and
1408         syslog string with correct length.  Patch from Donald Buczek
1409         <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1410
1411         * amd/restart.c (restart): correctly inherit existing NFS V.3
1412         mounts upon restart.  Patch from Donald Buczek
1413         <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1414
1415 Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1416
1417         * using libtool 1.2 and automake 1.3 (with my patches).
1418
1419         * aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
1420         AMU_CFLAGS to avoid conflicts with automake-1.3.
1421
1422 Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1423
1424         * converted to using libtool-1.2.
1425
1426 Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1427
1428         * fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
1429         for loop (ITER) which used to run only to initialize the variable
1430         dd once and then break; with a simple assignment.
1431
1432         * hlfsd/hlfsd.h: cleanup so it compiles with Solaris
1433         /opt/SUNWspro/bin/cc, and use gid_t not int.
1434
1435         * amd/mapc.c (mapc_sync): don't dereference pointer (so it
1436         compiles with Solaris /opt/SUNWspro/bin/cc)
1437
1438 Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1439
1440         * aux/config.{guess,sub}: used from gcc-2.8.1.
1441
1442 Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1443
1444         * released snapshot am-utils-6.0a16s9
1445
1446         * INSTALL, doc/am-utils.texi (Supported Platforms): updated names
1447         based on new output of new config.guess.
1448
1449         * aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
1450
1451         * amd/amd.8,doc/am-utils.texi: document correct usage of default
1452         /etc/amd.conf file.
1453
1454         * fixmount/fixmount.c (inetresport,privsock): use some more
1455         portable code from amq/amq.c.
1456
1457         * amd/get_args.c (get_args): use default /etc/amd.conf file only
1458         if no arguments had been passed to amd.
1459
1460         * fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
1461         ala amq/amq.c so that fixmount will work on both types of systems.
1462
1463         * amq/amq.c (main): do no close tcp socket before running udp try,
1464         because we're not sure if it was opened at all.
1465
1466         * mips-dec-ultrix* port merged in and cleaned up.
1467
1468         * aux/configure.in: up minor shared library revision number, since
1469         it has changed enough.
1470
1471         * hlfsd/hlfsd.c (main): don't check for overlay mount option here,
1472         as it is now done in compute_nfs_args().  Remove ultrix specific
1473         code also because it was moved to compute_nfs_args().
1474
1475         * conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
1476         we have more generic code in print_nfs_args().
1477
1478         * libamu/mount_fs.c (print_nfs_args): print maxlen of
1479         nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
1480         struct knetconfig from nfs_args->knconf.
1481
1482         * aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
1483         headers here, but in try_compile_anyfs.m4.
1484
1485         * aux/macros/type_ufs_args.m4: move test for struct ufs_specific
1486         (for ultrix) here from its own macro.
1487
1488         * aux/macros/type_cdfs_args.m4: move test for struct iso_specific
1489         (for ultrix) here from its own macro.
1490
1491         * amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
1492         for overlay mount option.  Remove code which checks for overlay
1493         option, as it is now done in compute_nfs_args().
1494
1495         * libamu/mount_fs.c (compute_mount_flags): move here code which
1496         checks for overlay mount option which was in amd/amfs_toplvl.c:
1497         mount_amfs_toplvl().
1498
1499 Wed Feb  7 15:35:51 1998  Rainer Orth  <ro@xayide.TechFak.Uni-Bielefeld.DE>
1500
1501         * The following are Rainer's ChangeLog entries for his ultrix
1502         port, added manually. -Erez.
1503
1504         * merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
1505         (mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
1506
1507         * include/am_defs.h: include cdfs specific mount headers
1508         avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
1509
1510         * include/am_compat.h: define several mount options corresponding
1511         to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
1512         noversion, rrip (cdfs), nocache, quota, sync (generic) removed
1513         duplicate MNTTAB_OPT_RO definition
1514
1515         * aux/macros/try_compile_anyfs.m4: include Ultrix specific
1516         ufs/cdfs mount headers
1517
1518         * aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
1519         specific mount headers
1520
1521         * aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
1522         mount types in mount headers (Ultrix)
1523
1524         * aux/configure.in: Ultrix/Digital UNIX specific checks: new
1525         headers, mount structures and fields, filesystem and mount types,
1526         mount flags
1527
1528         * aux/acconfig.h: placeholders for new mount options: quota
1529         (generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
1530         cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
1531         structures
1532
1533         * amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
1534         ufs_args.ufs_flags and has ufs specific pgthresh option
1535
1536         * amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
1537         CDFS mount flags and options
1538
1539         * amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
1540         hlfsd/hlfsd.c (main): store generic mount flags in
1541         nfs_args.gfs_flags, handle separate NFS ro flag
1542
1543         * aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
1544         struct_ufs_specific}.m4: new files; check for Ultrix specific
1545         mount structures
1546
1547         * conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
1548
1549         * aux/macros/type_auth_create_gidlist.m4 (ultrix*):
1550         AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
1551         comment in <rpc/auth.h>
1552
1553         * include/am_defs.h: #define KERNEL to avoid definition of
1554         gt_names[]
1555         conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before <config.h>
1556         to force single definition here
1557
1558         * libamu/mount_fs.c (compute_nfs_args): Ultrix support for
1559         nfs_args.gfs_flags moved to callers
1560         store mount options in nap->optstr
1561
1562         * include/am_defs.h: fix _am_mntent mnt_{type, opts} field
1563         descriptions
1564
1565         * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
1566         include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
1567         definition in prototypes
1568
1569         * aux/macros/mount_headers.m4: include <sys/errno.h> before
1570         AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
1571         definitions
1572
1573         * conf/nfs_prot/nfs_prot_ultrix.h: new file
1574
1575         * aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
1576
1577         * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
1578         aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
1579         inclusion of <rpc/xdr.h>
1580
1581 Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1582
1583         * aux/configure.in: save state of config.cache and confdefs.h
1584         (as dbgcf.h) at various points of the configure.
1585
1586         * aux/macros/save_state.m4: new macro to save state of configure,
1587         esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
1588         cache variables that are known so far.
1589
1590         * released snapshot am-utils-6.0a16s8
1591
1592 1998-03-06  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1593
1594         * fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
1595         it, but only for flex.
1596
1597 Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1598
1599         * hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
1600         to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
1601         to write the dump file.
1602
1603         * doc/am-utils.texi,amd/opts.c: rename all references to nomadic
1604         functions to boolean functions, which is what they really are.
1605
1606         * aux/configure.in: don't look for strcasecmp in libucb at all,
1607         but rather complete it from libamu/strcasecmp.c as needed.
1608
1609 Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1610
1611         * conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
1612
1613         * libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
1614         which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
1615         Schmidt <tschmidt@micron.com>.
1616
1617         * released snapshot am-utils-6.0a16s7
1618
1619         * conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
1620         hppa1.0-hp-hpux11.00.tgz.
1621
1622 Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1623
1624         * converted all sources to use mntent field names, and map mnttab
1625         field names to mntent's.
1626
1627         * include/am_defs.h (mnt_special): map struct mnttab field names
1628         to struct mntent field names.
1629
1630         * aux/macros/check_mount_trap.m4: hpux11's mount trap style is
1631         identical to svr4/solaris2.
1632
1633         * aux/macros/check_mount_style.m4: hpux11's mount style is
1634         identical to svr4/solaris2.
1635
1636         * aux/macros/check_network_transport_type.m4: hpux11 is a TLI
1637         system!
1638
1639         * aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
1640         dereferencing style is same as svr4.
1641
1642         * aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
1643         dereferencing style is same as svr4.
1644
1645         * conf/transp/transp_tli.c (create_nfs_service): if failed to
1646         getnetconfigent() of ticlts, then try udp (hpux11).
1647
1648         * conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
1649         struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
1650         2.5.1 (HP used them).
1651
1652         * amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
1653         because hpux11 doesn't like it. if t_open failed, print error
1654         based on t_errlist, not sys_errlist.
1655
1656 Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1657
1658         * doc/am-utils.texi: lots of documentation fixes from Rainer Orth
1659         <ro@TechFak.Uni-Bielefeld.DE>.
1660
1661 Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk@kosh.cs.columbia.edu>
1662
1663         * fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
1664         later.
1665
1666         * include/am_defs.h: defined the extern for ualarm() if it isn't
1667         found, regardless if the function isn't found in standard
1668         libraries, because otherwise libamu will include it.
1669
1670 1998-02-28  Erez Zadok (per Ron Snyder)  <ezk@short.cvo.roguewave.com>
1671
1672         * initial port to hpux-11 completed.  Compiles cleanly, but
1673         probably does not work, because of missing NFS V.2/3 headers.
1674
1675         * amd/conf_tok.l: cast yytext to char* when passed to strlen and
1676         strdup, for hpux-11's ansi-cc compiler.
1677
1678         * include/am_utils.h: renamed all xfree() to XFREE() to avoid
1679         conflict with hpux-11's system headers.  Also move (voidp) cast
1680         from sources to inside the macro itself.
1681
1682 Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1683
1684         * released snapshot am-utils-6.0a16s6
1685
1686         * amd/info_nis.c (nis_isup): new function to test if NIS is up
1687         without hanging amd.  Used to ensure that amd does not clear the
1688         maps when the expiration period arrived, if the service is down.
1689         Otherwise it would be left with empty maps.  It is better to stay
1690         with possibly old information than none at all.
1691
1692         * amd/mapc.c (mapc_sync): check to see if map service is up.
1693
1694 Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1695
1696         * aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
1697         includes auxiliary library only if needed.
1698
1699 1998-02-22  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1700
1701         * amd/conf_tok.l: undefine ECHO again, so it doesn't get used
1702         later.
1703
1704 Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk@zen.cs.columbia.edu>
1705
1706         * conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
1707         completed.
1708
1709         * conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
1710
1711 Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1712
1713         * doc/am-utils.texi (Network Host Filesystem): correct example for
1714         type:=host map.
1715
1716         * aux/macros/os_cflags.m4: only osf4 should compile with
1717         -D_SOCKADDR_LEN.
1718
1719         * aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
1720         and OSF4.
1721
1722         * BUGS: include a new file listing known bugs.
1723
1724 Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1725
1726         * conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
1727         versions.
1728
1729         * aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
1730         size_t for recvfrom fromlen arg.
1731
1732 Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1733
1734         * scripts/ctl-hlfsd.in: turn -D fork so primary process never
1735         hangs.
1736
1737 Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1738
1739         * include/am_defs.h: don't include <sys/stat.h> and
1740         <linux/stat.h>, just remaining definitions in <statbuf.h>
1741
1742 Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1743
1744         * released snapshot am-utils-6.0a16s5
1745
1746         * conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
1747         mount(2).
1748
1749         * check for <sys/fs/xfs_clnt.h> and include it when needed.
1750
1751         * conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
1752         efs and xfs separately from "ufs".
1753
1754         * amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
1755
1756         * aux/configure.in: look for irix efs and xfs file systems.
1757
1758         * scripts/amd.conf.5: new unmount_on_exit option documented.
1759
1760         * doc/am-utils.texi (unmount_on_exit): new option documented.
1761
1762         * amd/conf.c (gopt_unmount_on_exit): new function to handle new
1763         amd.conf option.
1764
1765         * amd/map.c (umount_exported): if global amd.conf flag
1766         unmount_on_exit is on, then try to unmount all mounted (or
1767         restartable) file systems.
1768
1769         * amd/amd.c: if print_pid option is on, then normally print it to
1770         stdout.  If also pid_file is specified, then print the process ID
1771         into that file.
1772
1773         * amd/get_args.c (get_args): print correct -l option depending if
1774         system supports syslog and/or syslog facilities.  Patch from 
1775         Tom Schmidt <tschmidt@micron.com>.
1776
1777         * doc/am-utils.texi (opts Option): updates for documentation for
1778         new cdfs options defperm, nodefperm, noversion, rrip.
1779
1780         * amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
1781         nodefperm, noversion, rrip.
1782
1783         * conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
1784         on osf.
1785
1786         * aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
1787         expand_cpp_string.m4}: use #error to make failed compilations
1788         fail faster, rather than have the program fail during a run.
1789
1790         * include/am_compat.h: added a few new cdfs options: rrip,
1791         noversion, defperm, and nodefperm (used in OSF).
1792
1793 Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1794
1795         * released snapshot am-utils-6.0a16s4
1796
1797         * doc/am-utils.texi (Global Parameters): update manual for new
1798         amd.conf global variable hesiod_base.
1799
1800         * scripts/amd.conf.5: update man page for new amd.conf global
1801         variable hesiod_base.
1802
1803         * amd/get_args.c (get_args): use /etc/amd.conf file if exists by
1804         default, else try command line options.  Patch from Randall
1805         S. Winchester <rsw@Glue.umd.edu>.
1806
1807 Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1808
1809         * amd/info_hesiod.c (hesiod_search), amd/conf.c
1810         (gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
1811         included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
1812         support a hesiod base name in the amd.conf file.
1813
1814         * doc/am-utils.texi (pid_file Parameter): document new global
1815         amd.conf parameter.
1816
1817         * scripts/amd.conf.5: document new global option pid_file.
1818
1819         * amd/amd.c (daemon_mode): if cannot open pid_file, continue to
1820         run, but print error message.
1821
1822         * amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
1823         init_global_options): Included patch from Randall S. Winchester
1824         <rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
1825
1826         * amd/get_args.c (get_args): correct usage info on amd -t.
1827
1828         * amd/*.c: massive file name and symbol name changes.  All amd
1829         file systems files and symbols are prefix with amfs_*.  Now using
1830         real name of file system: amfs_auto instead of afs, amfs_inherit
1831         instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
1832         clear distinction between amd file system and generic ones like
1833         nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
1834         f/s) and DFS (Distributed f/s).
1835
1836         * amd/amfs_union.c: unionfs for amd is always defined, no need to
1837         #ifdef it.
1838
1839 Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1840
1841         * libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
1842         or off, based on the particular quirks of the OS in question.
1843
1844         * aux/macros/check_nfs_socket_connection.m4: new macro to set the
1845         correct wait of handling un/connected NFS sockets.
1846
1847         * scripts/wait4amd.in: use rlogin instead of rsh.
1848
1849         * amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
1850         -v, always show "nfs3" for NFS V.3.
1851
1852 1998-01-25  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
1853
1854         * lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
1855         more picky than 2.7.2.3 did.
1856
1857 1998-01-24  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
1858
1859         * include/am_utils.h (dlog): amuDebug macros reduced to shorter
1860         forms.
1861
1862 Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk@goat.mcl.cs.columbia.edu>
1863
1864         * released snapshot am-utils-6.0a16s3
1865
1866         * include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
1867         in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
1868         must not, fake a definition for varargs.
1869
1870 Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1871
1872         * README: show how to configure in additional support such as
1873         hesiod using various --enable-* flags.
1874
1875 Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1876
1877         * aux/configure.in: look for strcasecmp(), and replace it if not
1878         available.
1879
1880         * amd/ops_nfsl.c (nfsl_match): host names should be compared using
1881         case insensitive.
1882
1883         * amd/opts.c: for each map variable, define if the comparison
1884         needs to be done case insensitive.
1885
1886         * include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
1887         Patch from Thomas Richter <richter@chemie.fu-berlin.de>
1888
1889 1998-01-14  Erez Zadok  <ezk@irt.cs.columbia.edu>
1890
1891         * aux/configure.in: look for "isofs" as a possible mount type for
1892         cdfs (RedHat Linux).
1893
1894 Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1895
1896         * conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
1897         type if not defined.
1898
1899         * conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
1900         already defined.
1901
1902         * aux/configure.in: look for ext2fs before ufs, b/c some linux
1903         have both.
1904
1905 Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1906
1907         * Makefile.am (snapshot): allow me to install snapshots into the
1908         ftp directory.
1909
1910         * scripts/ctl-hlfsd.in: don't turn on -D mem by default.
1911
1912         * amd/get_args.c (get_args): minor bug in output of amd -H.
1913
1914 Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1915
1916         *******************************************************************
1917         *** Released am-utils-6.0a15                                    ***
1918         *******************************************************************
1919
1920 Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1921
1922         * amd/conf.c (*_browsable_dirs): allow specifying
1923         browsable_dirs=full, which will print *all* entries (other than
1924         /default), including  those with '*' and '/' characters.
1925
1926         * amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
1927         to 1500.
1928
1929         * doc/am-utils.texi: fixed reversed documentation for NFS mount
1930         options vers and proto.
1931
1932         * doc/Makefile.am (install-html): separate target just for
1933         installing html files.  Another new target "alldocs" is just for
1934         installing all files needed for the am-utils home page.
1935
1936         * scripts/amd.conf-sample: updated example for log_file.
1937
1938         * scripts/amd.conf.5: updated for new way to declare new syslog
1939         facility in the log_file option.
1940
1941         * amd/amd.8: updated for new way to declare new syslog facility in
1942         the -l option.
1943
1944         * libamu/xutil.c (get_syslog_facility): allow users to specify the
1945         syslog facility as an appended string to the log device.  Ex. amd
1946         -l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
1947         will use the default LOG_DAEMON facility.
1948
1949         * amd/get_args.c (get_args): updated new syntax for amd -l
1950         syslog:facility.
1951
1952 Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1953
1954         * aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
1955         (intel).
1956
1957         * libamu/wire.c (print_wires): bug fix.  Nullify output buffer
1958         before appending to it, on systems with two or more network
1959         interfaces.
1960
1961         * conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
1962         the mntent for cachefs.
1963
1964         * include/am_defs.h: external definition for strstr() should use
1965         const for both arguments.
1966
1967         * aux/configure.in: add extern definitions for getwd() if missing.
1968
1969         * include/am_defs.h: define the extern for strdup() even if the
1970         function does not exist, for it will be filled in by
1971         libamu/strdup.c
1972
1973         * amq/pawd.c (cluster_server): don't use getccent() if the extern
1974         for it isn't there.  On hpux 10.20, the function is in libc, but
1975         <cluster.h> and struct cct_entry do not exist.
1976
1977         * aux/configure.in: check for an extern for getccent() b/c some
1978         hpux systems don't have it (hpux 10.20).
1979
1980 Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1981
1982         * doc/am-utils.texi (Amq -T option): manual documentation updates
1983         for new amq options -T/-U.
1984
1985         * amq/amq.8: updated man page for new amq options -T/-U.
1986
1987         * amq/amq.c: two new switches to amq. -U will contact amd using
1988         UDP only.  -T will use TCP only.  Normally amq will try TCP and
1989         if that failed, will try UDP.
1990
1991         * doc/am-utils.texi (pawd): manual documentation for pawd.
1992
1993         * amq/pawd.1: new man page for pawd.
1994
1995 Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1996
1997         * amq/pawd.c: a new program, Print Automounter Working Directory,
1998         to print the proper pathname of the cwd or any other pathname,
1999         adjusted for automounter paths, while avoiding mount points.
2000
2001         * aux/macros/localconfig.m4: trivial support for am-utils
2002         maintainers to adjust some of the configuration of am-utils after
2003         it has been auto-configured by putting whatever definitions you
2004         wish in a file called localconfig.h, located in the top build
2005         directory (the same one where config.h is created for you).
2006
2007         * doc/am-utils.texi (Caching Filesystem): updated documents for
2008         cachefs file system.
2009
2010         * amd/ops_cachefs.c: initial cachefs support, for solaris.
2011         type:=cachefs, requires cachedir:=/cache/dir/name to be defined
2012         and initialized with cfsadmin -c.  $rfs is backdir to be cached
2013         from, and $fs is the local mount point of the cachefs.
2014
2015         * conf/mount/mount_svr4.c (mount_svr4): support mounting of
2016         cachefs file systems.
2017
2018         * amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
2019         mnttab type is.
2020
2021 Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2022
2023         * amd/opts.c: added support for new variable $cachedir.
2024
2025         * include/am_utils.h: added opt_cachedir field to struct am_opts.
2026
2027 Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2028
2029         * amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
2030         local hostname does not match $rhost, and if so, also assume
2031         type:=nfs.
2032
2033 Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2034
2035         * updated all source files to add 1998 as a copyright year.
2036
2037         * amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
2038         like type:=linkx if the pathname denoted by $fs exists, and like
2039         type:=nfs if it does not.  A convenient shortcut for the most
2040         popular amd map entry.
2041
2042         * amd/amd.c (main): amd should chdir to / before starting, to
2043         avoid hanging on other NFS server if started elsewhere.
2044
2045         * amd/ops_TEMPLATE.c: added an empty template file for developers
2046         who wish to write new amd pseudo file systems.
2047
2048 Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2049
2050         * hlfsd/homedir.c (plt_init): make function exported, to save on
2051         the unnecessary init_homedir() function which was removed.
2052         (table_add): don't use xmalloc() when you can use strdup()
2053         instead.
2054
2055 Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
2056
2057         * hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
2058         because we will be making more passwd calls afterwards.  On
2059         Solaris 2.5.1, making getpwent() calls after calling endpwent()
2060         results in a memory leak! (and no, even Purify didn't detect
2061         it...)
2062
2063 Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
2064
2065         * hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
2066         automatically allocated address.
2067
2068         * amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
2069         automatically allocated address.
2070
2071         * ALL SOURCES: change every direct call to free() to xfree(), so
2072         it can be mapped to the right debugging function as needed.
2073
2074         * include/am_utils.h: new free() policy.  If debugging memory,
2075         call dxfree(), which will print the file name and line number
2076         where the free occurred and the pointer address.  if only regular
2077         debugging, then free() and reset  the pointer to NULL so it cannot
2078         be used afterwards inadvertently.  If not DEBUG at all, then just
2079         run free().  Three different #define macros set the right mapping.
2080
2081         * libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
2082         be called only when debugging the memory.
2083
2084 Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2085
2086         * wire-test/wire-test.c (main): use xmalloc() not malloc().
2087
2088         * conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
2089         calloc().
2090
2091         * conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
2092
2093         * conf/mount/mount_linux.c (parse_opts): use xmalloc() not
2094         malloc().
2095
2096         * amd/info_ldap.c: use xmalloc() not malloc().
2097
2098         * libamu/xutil.c (xzalloc): new function to allocate memory and
2099         zero its bytes.
2100
2101         * amq/amq.c: amq does not need its own definition of xfree().
2102
2103         * aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
2104         look for function malloc_verify() in libmapmalloc.a, and function
2105         mallinfo() in libmalloc.
2106
2107         * libamu/xutil.c (checkup_mem): do not use mallinfo field
2108         uordbytes, because it does not always exist.  Rather, compute it
2109         from other fields..
2110
2111         * include/am_utils.h: add external definition to xfree() function
2112         used when debugging memory references.
2113
2114 Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2115
2116         * amd/ops_afs.c (afs_readdir_browsable): reduce the number of
2117         bytes heuristically computed to be returned to the kernel.
2118         Otherwise browsable_dirs fails on OpenBSD 2.2.
2119
2120         * amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
2121         mf_private field to AFTER it gets used.
2122
2123 Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2124
2125         * amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
2126         on systems that don't support it.
2127
2128         * include/am_defs.h: add missing extern definition for free().
2129
2130         * aux/configure.in: check for external definition for free().
2131
2132         * libamu/Makefile.am: add to comment a mention of strstr as an
2133         optional function.
2134
2135         * libamu/xutil.c (switch_to_logfile): use openlog() options only
2136         if they exist.
2137
2138         * conf/transp/transp_sockets.c (get_nfs_version): don't use
2139         clnt_spcreateerror if it does not exist.
2140
2141         * aux/configure.in: check for missing functions clnt_create and
2142         clnt_spcreateerror.  Check for missing strstr, and complete
2143         its code.  Check for missing external definition for strstr.
2144
2145         * aux/macros/host_macros.m4: normalize sun3* names.
2146
2147         * Makefile.am: updates for new sunos3 files distributed.
2148
2149         * conf/nfs_prot/nfs_prot_sunos3.h: new file.
2150
2151         * conf/fh_dref/fh_dref_sunos3.h: new file.
2152
2153         * aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
2154
2155         * aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
2156
2157         * doc/am-utils.texi (wire Selector Variable): updated manual for
2158         adjusted variables wire, network, and netnumber, all using the
2159         in_network() function.
2160
2161 Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2162
2163         * amd/opts.c: allow options to be processed by executing arbitrary
2164         functions.  Converted wire, network, and netnumber all to use the
2165         nomadic function in_network.  So from now on they perform a match
2166         against all networks, not just primary.
2167
2168         * initial port to alpha-unknown-linux-gnu, probably works, but
2169         untested yet.
2170
2171         * conf/nfs_prot/nfs_prot_linux.h: add special definitions for
2172         __FD_* macros which for som strange reason do not get included
2173         from <selectbits.h> on redhat alpha linux.  Also turn off usage of
2174         <rpc/des_auth.h> because it is incomplete on the same systems.
2175
2176         * hlfsd/homedir.c (table_add): cast uid field to int, for
2177         comparison.
2178
2179         * include/am_defs.h: more coflicts with redhat alpha linux
2180         "resolved".
2181
2182         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
2183         There's a conflict of definitions on redhat alpha linux between
2184         <netinet/in.h> and <linux/fs.h> which must be avoided.
2185
2186         * aux/configure.in: check for <socketbits.h>, which is in use on
2187         redhat alpha linux.
2188
2189         * doc/am-utils.texi (Selectors): added documentation to describe
2190         the new "!" (negated) nomadic functions.
2191
2192         * amd/opts.c (f_in_network): print debugging info that is correct,
2193         rather than saying that any ARG is on a local network.
2194         (eval_opts): added support for negating nomadic functions, by
2195         prepending "!" to their name.  Example, !exists(/foo/bar).
2196
2197 Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2198
2199         * include/am_compat.h: ensure that all NFS3 systems have the mount
2200         table entries (and amd opts switches) "proto" and "vers".
2201
2202         * hlfsd/homedir.c (table_add): added some debugging info to try
2203         and track down a serious memory leak in hlfsd.
2204
2205 1997-12-18  Erez Zadok  <ezk@t-rex.mcl.cs.columbia.edu>
2206
2207         * libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
2208         you do NOT set the noconn option, and use connected sockets
2209         always.  So I'm now forced not to set it at all, and have the user
2210         specify it as "conn" or "noconn" in their /default entry.  Argh...
2211         Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
2212         buggy (TCP hangs with "short receive" kernel errors).  I'd better
2213         wait until they get it working in their version of the automounter
2214         first.  So I'm putting the "noconn" option back.
2215
2216 Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2217
2218         * libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
2219         nfs_args field maxgrouplist accordingly.
2220
2221         * include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
2222         for mount table entry for maxgroups based on NFS mount option
2223         maxgrp.
2224
2225         * aux/configure.in: put back testing for NFS mount option
2226         "maxgrps".  Added test for mount table entry "maxgroups".
2227
2228         * libamu/mount_fs.c (compute_nfs_args): perform more careful tests
2229         on nfs_proto, because it could be NULL.
2230
2231         * doc/am-utils.texi (Selectors): added example of in_network()
2232         selector.
2233
2234         * aux/macros/check_hide_mount_type.m4: all hpux versions,
2235         including 9.x, should use "ignore" as the mount type to hide from
2236         amd.
2237
2238 Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2239
2240         * include/am_utils.h (NSTREQ): use new macro instead of strncmp()
2241         every where in the sources.
2242
2243 Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2244
2245         * libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
2246         print as much info that is given in struct nfs_args as possible.
2247         useful for detecting internal flags and options, as well as the
2248         file handle used.
2249
2250         * scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
2251         after /etc and before /etc/local.
2252
2253 Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2254
2255         * aux/configure.in, libamu/Makefile.am: added support for linking
2256         with specific versions of libamu.  Upped shared library version of
2257         libamu to 1 (libamu.so.1.0.0)
2258
2259         * include/am_defs.h: added external definition for mkstemp() as
2260         needed.
2261
2262         * minor new port to i386-unknown-netbsd1.3 (BETA version of
2263         netbsd).
2264
2265         * aux/config.guess: don't leave a trailing '.' on the system name
2266         for NetBSD-1.3_BETA and similarly for OpenBSD.
2267
2268         * conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
2269         differences in ypall calling conventions.
2270
2271         * mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
2272         in preference over mktemp(), b/c it is more secure.
2273
2274         * aux/configure.in: check for mkstemp(), a more secure version of
2275         mktemp().
2276
2277 Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2278
2279         * amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
2280         table "vers" option generally do not set the mnttab entry to
2281         "nfs3", but to "nfs" and then they set "vers=3".  Setting it to
2282         "nfs3" works, but it may break some things like "df -t nfs" and
2283         the "quota" program (esp. on Solaris and Irix).  So on those
2284         systems, set it to "nfs".
2285
2286 Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2287
2288         * doc/am-utils.texi (Distrib): updates for new ports, location of
2289         am-utils' home page, and URL cross references (now supported by my
2290         version of texi2html).
2291
2292         * aux/macros/check_mtype_type.m4: also use string type for file
2293         system mount types under nextstep for mount(2).
2294
2295         * aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
2296         integer and string types for file system mount types in mount(2),
2297         but it is better to use string types.
2298
2299         * conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
2300         0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
2301         (EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
2302         works.
2303
2304         * conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
2305         not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
2306         (EPERM) instead of 0 (OK).
2307
2308         * libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
2309         by -D trace (protocol trace).
2310
2311 1997-12-11  Erez Zadok  <ezk@bach.cs.columbia.edu>
2312
2313         * A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
2314         macro based on existence on others, and include <sys/stat.h>.
2315
2316 Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2317
2318         * aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
2319         inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
2320         which this header is broken (it tries to include non-existing
2321         headers).
2322
2323 Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2324
2325         * libamu/mount_fs.c (mnt_flags): support either nfs or generic
2326         mount option for grpid.
2327
2328         * aux/configure.in: turn back on NFS mount option grpid.
2329
2330 Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2331
2332         * doc/Makefile.am (install-ps): added target to install postscript
2333         file in the am-utils' home page, as well as a few other useful
2334         files for the new am-utils Web page.
2335
2336 Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2337
2338         *******************************************************************
2339         *** Released am-utils-6.0a14                                    ***
2340         *******************************************************************
2341
2342 Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2343
2344         * doc/am-utils.texi (Supported Platforms): updated table of new
2345         ports.
2346
2347 Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2348
2349         * libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
2350         options so that they can be printed in logs as needed.
2351
2352         * doc/am-utils.texi (osver Parameter): updated for the correct
2353         usage of the -o/-O options.
2354
2355         * scripts/amd.conf.5: corrected info for -o/-O options.
2356
2357         * amd/amd.8: updated man page for new -O op_sys_name option, and
2358         corrected the usage of the -o op_sys_ver option
2359
2360         * amd/get_args.c (get_args): added new amd option -O to override
2361         OS name.
2362         (get_args): updated usage string.  Removed old -m option.  Added
2363         -o and -O options.
2364
2365         * conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
2366         it is not there.  Reportedly, irix 5.2 does not define it.
2367
2368         * scripts/lostaltmail.in: removed references to unused $hack
2369         variable.
2370
2371         * aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
2372         <metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
2373         for solaris2.5.
2374
2375         * doc/am-utils.texi (Distrib): typo in the subscription
2376         instructions to amd-dev.  Patch from Stefan Vogel
2377         <vogel@physik-rzu.unizh.ch>.
2378
2379 1997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
2380
2381         * NFS3 works on powerpc-ibm-aix4.2.1.0.
2382
2383         * libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
2384         static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
2385         stack of an automatic variable when pointer to it is passed around
2386         several times.
2387
2388 Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2389
2390         * libamu/xutil.c (real_plog): syslog like behavior for normal
2391         logging.  Will not print repeated strings, only a count "last
2392         message repeated N times", but will always print something if
2393         message is repeated more than 100 times.
2394
2395         * scripts/lostaltmail.in: look for lostaltmail.conf files also in
2396         /etc/global, /etc/os, and /etc/local (in that order).
2397
2398 Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2399
2400         * conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
2401         mounts.
2402
2403         * aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
2404         aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
2405
2406         * conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
2407         NFS_SA_DREF macro is a pointer to the structure that used to be
2408         passed to it before.  So now I have to dereference the pointer
2409         before accessing its values.
2410
2411         * hlfsd/hlfsd.c (main): use the new and cleaner
2412         compute_nfs_args() and compute_automounter_nfs_args() functions.
2413
2414         * amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
2415         compute_nfs_args() and compute_automounter_nfs_args() functions.
2416
2417         * amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
2418         and cleaner compute_nfs_args() and compute_automounter_nfs_args()
2419         functions.
2420
2421         * libamu/mount_fs.c (compute_nfs_args): major code cleanup that
2422         relates for struct nfs_args.  A new function sets the numerous
2423         possible flags and fields of nfs_args_t in an orderly fashion.
2424         Code cleaned up, organized, and moved from amd/hlfsd into
2425         libamu.  This saves on overall size of code.
2426         (compute_automounter_nfs_args): A variant of compute_nfs_args()
2427         which sets special options/flags that need to be used when NFS
2428         mounting an automounter's mount point.  Used by hlfsd and amd.
2429
2430         * amq/amq.c (get_secure_amd_client): don't print any more
2431         "get_secure_amd_client: using TCP, port 12345".  It's more
2432         annoying than useful a message, even when assumed to be compiled
2433         under DEBUG only.
2434
2435 Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2436
2437         * aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
2438         mount table entries.  The code used to define the /etc/mnttab name
2439         for file systems based on physical media (disk, cdrom, floppy) to
2440         the generic name, rather than the OS specific name.  For example
2441         autoconf searches for all these types of mount table entries for a
2442         floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
2443         it found any, it hard-coded the mnttab name to "pcfs" rather than
2444         the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
2445         nullfs, unionfs, and umapfs.
2446
2447         * aux/configure.in: also test for xfs (for newer Irix) when
2448         looking for mount type names, numbers, etc of a disk-based ufs.
2449
2450 Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
2451
2452         * amq/amq.c (main): use pmap_ping() to test if remote host is up.
2453         This works better on bsdi2 and bsdi3, because their portmapper
2454         does not appear to like forwarding operations (it is generaly
2455         insecure).
2456
2457 Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2458
2459         *******************************************************************
2460         *** Released am-utils-6.0a13                                    ***
2461         *******************************************************************
2462
2463 Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2464
2465         * conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
2466         struct datum typedef.
2467
2468         * conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
2469         ypall_callback_fxn_t for netbsd.
2470
2471         * aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
2472         the 5th arg to authunix_create(), while before and after they used
2473         gid_t.
2474
2475         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
2476         clnt_create_timed() on older Solaris 2.3 systems that did not have
2477         it.
2478
2479         * conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
2480         kernel only on bsdi2, so do not include it.
2481
2482 Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2483
2484         * hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
2485         messages about resolution of mailboxes based on uid/gid.
2486
2487         * scripts/ctl-hlfsd.in: check for alternate password file in
2488         ${prefix}/etc/passwd and use it in hlfsd's startup.
2489
2490 Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2491
2492         * hlfsd/homedir.c (hlfsd_getpwent): added support for -P
2493         passwdfile option.  If hlfsd is started with -P passwdfile, then
2494         the passwdfile is read and parsed just as a standard unix
2495         passwd(4) file.  Only the username, uid, and homedir fields are
2496         read and checked.  All the rest are ignored.  No NIS/netgroup
2497         support!
2498
2499         * hlfsd/hlfsd.c (main): check if hlfsd is run as root after
2500         parsing command line options, so that usage() can be printed when
2501         -h is invoked.
2502
2503 Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2504
2505         * amd/nfs_start.c (mount_automounter): if autofs service listener
2506         fails to initialize it is OK if using a test amd.
2507
2508         * amd/opts.c (f_in_network): new nomadic function in_network(arg),
2509         which returns TRUE if 'arg' is any one of this host's networks.
2510
2511         * libamu/wire.c (getwire): rewritten parts of function, to store
2512         all networks names and numbers in the order of the interface (not
2513         in reverse).
2514
2515 Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2516
2517         * aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
2518         would have worked had it not been due to AIX's buggy /bin/sh.
2519
2520         * doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
2521         am-utils.ps in the distribution sources.
2522         (html): generate html documentation for
2523         http://www.cs.columbia.edu/~ezk/am-utils/
2524
2525 Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2526
2527         * conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
2528         ypall_callback_fxn_t.  The NetBSD team compiles all sources with
2529         gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
2530
2531         * amd/info_nis.c: allow for override of ypall_callback_fxn_t
2532         function typedef.
2533
2534         * libamu/xutil.c (amu_release_controlling_tty): new function to
2535         release the controlling tty in a clean and sane manner.  No longer
2536         using setpgid() b/c it may not work.  Uses setsid(),
2537         and ioctl() (in order).  This new function is used in amd/amd.c
2538         and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
2539         systems, but on others it is the same as setpgid().
2540
2541 Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2542
2543         * aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
2544         it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
2545         never used, because the configure test for fsname flag wasn't
2546         used.  This fixed a bug in HPUX 10, where syncer and manual mounts
2547         left blank lines in /etc/mnttab.
2548
2549         * aux/configure.in: check for nfs mount option 'fsname'.
2550
2551 Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2552
2553         * amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
2554         mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
2555         hpux-10 will mount amd's mounts points as 'ignore' (by df).
2556
2557         * aux/configure.in: check for NFS mount option 'ignore', useful in
2558         HPUX 10.
2559
2560 Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2561
2562         * aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
2563         mount type and not NFS, for the amd mount points.
2564
2565         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
2566         an RPC timeout as an error, but just an info message.  From
2567         Andreas Stolcke <stolcke@speech.sri.com>
2568
2569         * If the NFS server is down or does not support the portmapper
2570         call (such as certain Novell NFS servers) we mark it as version 2
2571         and we let the nfs code deal with the case that is down.  If when
2572         the server comes back up, it can support NFS V.3 and/or TCP, it
2573         will use those.  From christos@deshaw.com (Christos Zoulas).
2574
2575         * hlfsd/homedir.c (plt_print): various compile time cleanups to
2576         printfs that take a long, but pass an int to print.  From
2577         christos@deshaw.com (Christos Zoulas).
2578
2579         * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
2580         macro to determine if the OS has a bad yp_all(), based on the host
2581         OS name.  So far only irix (all versions) have a bad yp_all, so
2582         they will use am_yp_all() instead (which is slower as it
2583         enumerates manually all of the map's entries).
2584
2585 Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
2586
2587         * amd/info_nis.c (am_yp_all): code for a replacement yp_all that
2588         avoids using a file-descriptor leaking yp_all() on some systems
2589         like irix.
2590
2591 Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
2592
2593         * fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
2594         systems using /usr/bin/flex.
2595
2596         * amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
2597         that have a modified GNU flex which does define yywrap (DU-4.x).
2598
2599 Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2600
2601         * conf/checkmount/checkmount_bsd44.c: include prototype.
2602
2603 Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2604
2605         *******************************************************************
2606         *** Released am-utils-6.0a12                                    ***
2607         *******************************************************************
2608
2609 Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2610
2611         * conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
2612         code in irix6 until it can be tested correctly
2613
2614         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
2615         on clnt_create for 3 seconds, rather than wait for the much longer
2616         default.
2617
2618         * conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
2619         Includes NFS3, untested.
2620
2621 Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2622
2623         * amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
2624         pcfs_args_t if they exist.
2625
2626         * amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
2627         cdfs_args_t if it exists.
2628
2629         * new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
2630         hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
2631
2632 Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2633
2634         * doc/am-utils.texi (wire-test): updated documentation for the new
2635         option.
2636
2637         * wire-test/wire-test.8: updated man page for new option.
2638
2639         * wire-test/wire-test.c (main): added a test for various
2640         combinations of NFS proto/vers to a remote/local host.
2641
2642         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
2643         <isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
2644         freebsd will correctly set mount options for pcfs and cdfs.
2645
2646         * amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
2647         0777 (if field exists).
2648
2649         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
2650         <msdosfs/msdosfsmount.h> if available.
2651
2652         * minor new port: rs6000-ibm-aix4.1.4.0.
2653
2654         * libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
2655         write the "time" field in /etc/mnttab.
2656
2657         * conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
2658         detecting mnt_time field of mntent_t.
2659
2660         * libamu/mtab.c (mnt_free): fixed typo in macro names for
2661         detecting mnt_time field of mntent_t.
2662
2663 Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2664
2665         * conf/mtab/mtab_file.c (lock): Use flock() in preference over
2666         fcntl() to lock the mtab file.
2667
2668 Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2669
2670         * conf/transp/transp_sockets.c (get_nfs_version): define
2671         the try_again goto label only for NFS3.
2672         (pmap_ping): assume timeout failure of clnt_stat.
2673
2674         * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
2675         "groups *".
2676
2677 Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2678
2679         * conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
2680         <dsr@mail.lns.cornell.edu> to make sure that amd works with more
2681         secure portmappers that do not allow forwarding of RPC messages to
2682         other services.
2683
2684         * */Makefile.am: all source files should also depend on the new
2685         include/am_xdr_func.h header.
2686
2687         * include/am_xdr_func.h: new file as part of the code cleanup from
2688         Christos Zoulas <christos@deshaw.com>.
2689
2690         * Lots of fixes from Christos Zoulas <christos@deshaw.com> that
2691         involved missing prototypes, cleaned up ones, and removal of
2692         unused variables.
2693
2694         * libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
2695         statement with only one case is unclean.
2696
2697 Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2698
2699         * amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
2700         0 so that all fields are initialized to zero at first.  This way
2701         SunOS 4.x and other systems don't get /etc/mtab entries with
2702         random integers for the fsck/freq fields. Patch from Andreas
2703         Stolcke <stolcke@speech.sri.com>.
2704
2705 Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
2706
2707         * conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
2708         that the important definition for HOSTNAMESZ will be found.
2709
2710         * amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
2711         (inside the nfs_args structure) if the system uses that macro.
2712         Otherwise systems like SunOS refuse to NFS mount long pathnames
2713         and result in ENAMETOOLONG errno's.
2714
2715 Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2716
2717         * doc/am-utils.texi (Supported Platforms): specify new support for
2718         solaris 2.6, and hlfsd running on 2.5.1 too.
2719
2720 Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
2721
2722         * conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
2723         mount if it is not supported or was turned off.
2724
2725 Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
2726
2727         * conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
2728         again.  Apparently at some previous release SunOS 4 supported was
2729         broken and all nfs mounts resulted in ESTALE.
2730
2731 Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
2732
2733         * conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
2734         solaris 2.6.
2735
2736         * aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
2737         protocol header selection.
2738
2739 Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2740
2741         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
2742         infinite loop.
2743
2744 Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2745
2746         *******************************************************************
2747         *** Released am-utils-6.0a11                                    ***
2748         *******************************************************************
2749
2750 Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2751
2752         * amd/amd.c (main): if plock() succeeded, don't try to display
2753         errno message.   Patch from Chris Metcalf
2754         <metcalf@catfish.lcs.mit.edu.
2755
2756 Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2757
2758         * hlfsd/homedir.c (table_add): make sure duplicate passwd entries
2759         are ignored.   Only the first entry should ever be used, because
2760         that's how lookup in passwd database works.
2761
2762         * conf/transp/transp_sockets.c (get_nfs_version): when determining
2763         if a remote host is up or down, use NFS v.2.  Fix suggested by
2764         Enami Tsugutomo <enami@cv.sony.co.jp>.
2765
2766         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
2767         function to get the best possible NFS version, but also timeout
2768         faster than normal defaults, so remote hosts which are down can be
2769         detected in a reasonable time.
2770         (get_nfs_version): use the new "best" function.
2771
2772 Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2773
2774         *******************************************************************
2775         *** Released am-utils-6.0a10                                    ***
2776         *******************************************************************
2777
2778 Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2779
2780         * conf/transp/transp_tli.c (get_nfs_version): don't use
2781         clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
2782         and earlier).
2783
2784         * aux/configure.in: test for existence of clnt_tp_create_timed(),
2785         since Solaris 2.4 (and possibly earlier) do not have it.
2786
2787 Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
2788
2789         * amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
2790         field if it exists (solaris 2.4's autofs does not have it).
2791
2792 Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2793
2794         * aux/macros/type_auth_create_gidlist.m4: a new test to determine
2795         the correct type to the 5th argument of authunix_create().
2796
2797 Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
2798
2799         * libamu/xdr_func.c (xdr_umntrequest): add test for autofs
2800         structure umntrequest, if it has the field rdevid.  Seems Solaris
2801         2.4 and earlier didn't have it.
2802
2803 Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2804
2805         * hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
2806         can be done before primary process forks.
2807         (main): bug fix: wait a bit to give child a chance to initialize.
2808         Without this, hlfsd got into a busy infinite loop while, never
2809         completing the mount.
2810
2811         * amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
2812         to make amd works when talking to NIS+ servers in NIS
2813         compatibility mode.
2814
2815 Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2816
2817         * amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
2818
2819 Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2820
2821         * amd/conf.c (gopt_fully_qualified_hosts): a new function to
2822         process another new global variable.
2823
2824         * amd/ops_nfs.c (make_nfs_auth): if a new global variable
2825         fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
2826         Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
2827
2828         * amd/conf.c (process_last_regular_map): If the amd.conf file only
2829         has a [global] section (pretty useless IMHO), do not try to
2830         process a map that does not exist.
2831
2832         * scripts/amd.conf.5: fixed typos (repeated 'as' word).
2833
2834         * doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
2835
2836         * amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
2837         structure, so it does not carry over from map entry to another.
2838
2839 Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2840
2841         * amd/amd.c (main): fixed the meaning of the plock option.  A bug
2842         caused it to be reversed.
2843
2844 Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2845
2846         * hlfsd/stubs.c: don't initialize some statics here.  They are
2847         better initialized in hlfsd_init_filehandles().
2848
2849 Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2850
2851         * amd/conf.c (gopt_show_statfs_entries): new function and a global
2852         amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
2853         then all maps flagged as browsable will also show a count of the
2854         number of entries (keys) in that map.
2855
2856         * amd/nfs_subr.c (count_map_entries): new function to count number
2857         of entries in a map.  Now used if browsable is turned on in a map,
2858         to return a count of available keys in a given map.
2859
2860         * hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
2861         confused the file handles for ".", "..", and the symlink, causing
2862         mess.
2863
2864         * aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
2865         but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
2866         with bad memcmp() in libc's (nextstep3).
2867
2868 Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2869
2870         * aux/configure.in: check if autofs_args_t has a field named
2871         addr.  Solaris has it for specifying the address of the daemon,
2872         but Irix does not.  So how does irix tell the kernel the daemon's
2873         address?  I suspect that it is hardcoded to "localhost" using a
2874         "private well-known port" (#define AUTOFS_PORT 2048).
2875
2876         * conf/nfs_prot/nfs_prot_linux.h: added missing autofs
2877         definitions.
2878
2879         * README.autofs: new file listing autofs support notes
2880
2881         * very preliminary autofs code working.  Call it pre-alpha
2882         quality.
2883
2884 Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2885
2886         * amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
2887         "autofs" if system does not support it.
2888
2889         * amd/amd.c (main): log am-utils version string (same as amd -v)
2890         at start of run.
2891
2892         * conf/transp/transp_sockets.c (get_nfs_version): in order to tell
2893         if a remote host is available, try to contact its portmapper and
2894         timeout if no answer is received in 3 seconds.
2895
2896 Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2897
2898         * aux/macros/check_extern.m4 (pattern): use a simpler pattern for
2899         match for external function definitions.  The function could span
2900         multiple lines, so only match the opening parenthesis, not the
2901         closing one too.
2902
2903         * aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
2904         posix mode for nextstep3.  It is broken.
2905
2906         * amd/amd.c (init_global_options): run uname() only if
2907         <sys/utsname.h> and uname(2) exist.
2908
2909         * amd/rpc_fwd.c (fwd_packet): if remote host is down, the
2910         forwarding socket is null, so declare this an error.
2911
2912         * include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
2913         for when a remote host is down.  Try, in order, "host down", "host
2914         unreachable", "invalid argument".
2915
2916         * amd/ops_nfs.c (discard_fh): don't dereference a null pointer
2917         (happens when remote host is down, and fp->fh_fs is NULL).
2918         (prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
2919         and FSF_DOWN.
2920
2921         * amd/sched.c: nobody uses "union wait" any more, or so it
2922         appears, so clean up that code.
2923
2924         * conf/transp/transp_tli.c (get_nfs_version): if remote host is
2925         down, time it out faster than default (3 seconds).
2926         (get_mount_client): free netconfig entry when done with it.
2927
2928         * conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
2929         port to nextstep3 (m68k-next-nextstep3).
2930
2931         * fsinfo/Makefile.am (LDADD): needs to link with libamu in case
2932         system does not have strdup().
2933
2934         * include/am_defs.h: complete external definition for getlogin()
2935         if needed.
2936
2937         * conf/transp/transp_tli.c (get_nfs_version): no need to keep
2938         static versout variable.
2939
2940         * amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
2941         server is probably down.  Don't use sendto() in that case.
2942
2943         * buildall (default): run gmake if found, before trying plain
2944         make.  GNU make is always preferable.
2945
2946 Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2947
2948         * aux/macros/host_macros.m4: cleanup of os_version and os
2949         overrides.  Solaris 2.5.1 for example will come up as solaris2 and
2950         2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
2951         the amd.conf file.
2952
2953 Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2954
2955         *******************************************************************
2956         *** Released am-utils-6.0a9                                     ***
2957         *******************************************************************
2958
2959 Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2960
2961         * conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
2962         (i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
2963         from <ndbm.h> and <sys/resource.h>.
2964
2965         * scripts/amd.conf.5: new map page.
2966
2967         * amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
2968         does not.
2969
2970         * amd/amd.8: updated man page.
2971
2972         * amd/get_args.c (get_args): removed defunct -h option to amd.
2973
2974         * amq/amq.8: updated man page.
2975
2976         * amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
2977         SparcCompiler CC won't complain.
2978
2979         * amd/info_hesiod.c (hesiod_search): small fixes to compile with
2980         hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2981
2982         * aux/macros/opt_ldflags.m4: new option added to configure
2983         --enable-ldflags, to specify -L option for configuring/compiling.
2984         The older one --enable-libs is now to be used only for -l options.
2985
2986         * amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
2987         nc_protoname from nfs_proto if available for all TLI systems, not
2988         just those that have NFS V3.
2989
2990         * amd/info_ldap.c: ldap patches from Leif Johansson
2991         <leifj@matematik.su.se>, adding two new amd.conf ldap variables:
2992         ldap_cache_seconds and ldap_cache_maxmem.
2993
2994         * hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
2995         htons().
2996
2997 Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2998
2999         * amd/nfs_start.c (mount_automounter): register amd with the rpc
3000         program number that may have been overridden by amd.conf.
3001
3002         * libamu/xutil.c (set_amd_program_number, get_amd_program_number):
3003         allow storing and retrieving alternate amd program numbers.
3004
3005         * amd/conf.c (gopt_portmap_program): new function to parse
3006         amd.conf entry portmap_program=1234.
3007
3008         * amq/amq.c (main): allow specifying an alternate rpc program
3009         number for amd via -P prognum.
3010
3011         * new amq RPC to get the process id of the running amd.  This is
3012         used in ctl-amd to quickly find the pid of the amd that is to be
3013         killed.
3014
3015         * expanded shared libraries support.  Using GNU libtool-1.0,
3016         am-utils now builds shared libraries on many platforms that have
3017         support for it and proper compilers/linkers.  See "INSTALL" file
3018         for compatibility chart.
3019
3020 Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3021
3022         * fsinfo/fsi_lex.l: removed code that was in support of very old
3023         versions of flex.  No longer needed.
3024
3025 Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3026
3027         * amd/amd.c (init_global_options): find the kernel architecture
3028         from uname() if possible.
3029
3030 Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3031
3032         * new working port: i386-unknown-openbsd2.1
3033
3034 Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
3035
3036         * working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
3037         structure to actual char[], because the structure was passed to
3038         xdr_fhandle as data and not a pointer.  Surprisingly, gcc
3039         -fpcc-struct-return did not help.
3040         
3041         * conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
3042         definitions for solaris 2.4 have to be different from 2.3, and
3043         different from 2.5.
3044
3045         * libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
3046
3047 Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3048
3049         * conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
3050         types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
3051
3052         * mk-amd-map/mk-amd-map.8: man page taken from bsd44.
3053
3054 Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
3055
3056         * conf/mount/mount_linux.c: made the nfs error mapping code into a
3057         small function.
3058
3059 Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3060
3061         * conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
3062         error mappings from errno numbers to NFS errors.  From Debian
3063         Linux.
3064
3065         * scripts/am-eject.in (fs): new script (taken from Debian Linux
3066         folks) to auto-unmount floppy/cd devices before ejecting them.
3067
3068         * fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
3069         '5' as second arg to show_area_being_processed.  I'm not sure why.
3070
3071         * fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
3072         second arg to show_area_being_processed.  I'm not sure why.
3073
3074         * conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
3075         ensure that you have a buffer in *xopts to strcat onto.
3076         (mount_linux): fixed from Debian folks to ensure that NFS mount
3077         sockets are connected only for kernels prior to 1.3.10 (avoids
3078         hangs for multi-homed hosts).
3079
3080         * amd/mapc.c (make_entry_chain): from Debian folks: don't skip
3081         over amd map keys that have a prefix, and include the prefix in
3082         the returned readdir().
3083
3084         * amd/info_passwd.c (passwd_init, passwd_search): format
3085         enhancements from the Debian Linux folks.  They added
3086         - var0:=pw-prefix:=anydir
3087         - var1:=pw-rhost:=dom3.dom2.dom1
3088         - var2:=pw-user:=user
3089         - var3:=pw-home:=/anydir/dom1/dom2/dom3/user
3090
3091         * new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
3092
3093         * amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
3094         afs_mount timed out, then explicitly forbid further retries after
3095         the timeout.  (afs_bgmount): buf fix from Debian Linux.  Timeout
3096         values (17 and 5) were mistakenly swapped.
3097
3098 Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
3099
3100         * conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
3101         support for Solaris 2.4 (the header files incorrectly define parts
3102         of the NFS V.3 protocol, but the kernel does not support it).
3103
3104 Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3105
3106         * amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
3107         for determining if using old or new hesiod libraries,
3108         respectively.
3109
3110         * amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
3111         V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
3112         they cause hangs of mounts from multi-homed hosts when the return
3113         route is not the same as the outgoing route (esp. on NetBSD
3114         1.2.1).  If "conn" option was supplied, then don't turn on the
3115         "noconn" mount option.  Otherwise default to "noconn" mount
3116         option.
3117
3118         * aux/configure.in: better check for systems that need libgdbm and
3119         <ndbm.h>
3120
3121 Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3122
3123         * hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
3124         mounts are hidden from df(1) on systems that keep mount tables in
3125         kernel, such as osf1.
3126
3127 Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3128
3129         *******************************************************************
3130         *** Released am-utils-6.0a8                                     ***
3131         *******************************************************************
3132
3133 Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
3134
3135         * hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
3136         AF_INET when hlfsd mounts itself, thus getting an errno "protocol
3137         family not supported".
3138
3139 Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3140
3141         * verified that amd on NetBSD 1.2.1 (i386) works, but the OS
3142         itself is flaky.
3143
3144         * verified that amd AIX 3 works w/ the new readdir() code.
3145
3146 Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
3147
3148         * amd/mapc.c (maptypes): changed the default map caching type for
3149         nis and ndbm maps to "MAPC_ALL", so that all possible entries will
3150         be available to amd for browsable_dirs=yes.
3151
3152 Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3153
3154         * amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
3155         afs_readdir into a browsable version and a non-browsable one.
3156         Fixed bugs that resulted in an infinite nfs_readdir loop on the
3157         localhost for some operating systems.
3158
3159 Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3160
3161         * amd/ops_afs.c (afs_readdir): fixed up the browsable code to
3162         comply with nfs_readdir specs.  It was returning all entries at
3163         once, even if there was not enough space in the RPC packet.  Now,
3164         it sends a reasonably sized chunk, and sets static state to resume
3165         it for the next continuation RPC of readdir.
3166
3167         * amd/conf.c (set_conf_kv): fixed bug that resulted in the first
3168         regular map not getting all of the [global] options defaulted from.
3169
3170 Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3171
3172         * amq/amq.c (main): fixed so that portmapper "ping" will only fail
3173         upon an RPC timeout
3174
3175         * scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
3176         amd/hlfsd process to kill.
3177
3178         * amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
3179         determine how to avoid df from seeing amd's toplvl mounts.  Moved
3180         from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
3181         is hidden from df.
3182         (mount_toplvl): fixed df types for irix.
3183
3184 Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
3185
3186         * amq/amq.c (main): fixed bug that caused the 5 second timeout for
3187         TLI amq using udp to be ignored.
3188         (main): if amq cannot contact remote host's portmapper within 5
3189         seconds, timeout and fail faster than the default longer timeout
3190         (this is for non-TLI systems).
3191
3192 Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3193
3194         * amq/amq.c (get_secure_amd_client): if amq cannot contact
3195         remote host's portmapper within 5 seconds, timeout and fail faster
3196         than the default TLI timeout of over 4 minutes.
3197
3198         * amd/am_ops.c (ops_showfstypes): added styles for new bsd44
3199         file systems nullfs, unionfs, and umapfs.
3200         (ops_show1): cleanup code and and reuse this function.
3201         (vops): empty placeholders for nullfs, unionfs, and umapfs.
3202
3203         * amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
3204         bsd44 style file systems.
3205
3206         * fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
3207         sources.
3208
3209         * amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
3210         conflict with systems that define it in <sys/ioctl.h> and also
3211         define a conflicting one via lex.  Newer versions of f/lex are ok.
3212
3213 Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3214
3215         * amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
3216         acdirmin/max and acregmin/max only if they exist.
3217
3218         * aux/configure.in: test for nfs_args fields acdirmin and
3219         acregmin.
3220
3221 Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3222
3223         * aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
3224         "nondev" and commented back in checking for "nodev".  This was a
3225         typo.
3226
3227         * include/am_compat.h: more compatibility options: define "ro"
3228         mnttab option all the time.  Define "overlay" as needed.  Added
3229         more fillers of mnttab options (as per Daniel S. Riley
3230         <dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
3231         acregmin, noac, grpid, nosuid, and actimo.
3232
3233         * libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
3234         per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
3235         the same code for other options in struct opt_tab.
3236
3237 Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3238
3239         * amd/get_args.c (get_args): moved amd.conf file parsing to before
3240         the switching the default log/debug options.  Suggested by
3241         dsr@mail.lns.cornell.edu (Daniel S. Riley).
3242
3243         * aux/update_build_version: new script to record the build version
3244         of amd, along with the rest of the info thet comes up with amd -v.
3245
3246 Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
3247
3248         * aux/macros/os_cflags.m4: new macro, to add additional
3249         compilation options (also used during configuration), based on the
3250         OS and the compiler.  Used for solaris-2.6, osf, and irix6.
3251
3252 Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3253
3254         * amd/conf_tok.l, conf_parse.y: allow values of keys to include
3255         white spaces, if they are double-quoted (key="some value")
3256
3257         * amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
3258         of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
3259
3260 Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3261
3262         *******************************************************************
3263         *** Released am-utils-6.0a7                                     ***
3264         *******************************************************************
3265
3266 Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3267
3268         * include/am_defs.h: fill in extern definition of innetgr() in
3269         case system headers don't.
3270
3271         * aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
3272         will show the full pathname to yacc/bison and f/lex.  Some systems
3273         have older or bad versions of those and this way the user will
3274         know for sure what is being invoked.
3275
3276         * tasks: file populated with todo items.
3277
3278         * scripts/amd2ldif.in: Script to convert amd maps to plain text
3279         LDAP object files.  Contributed by Leif Johansson
3280         <leifj@matematik.su.se>.
3281
3282         * aux/config.guess: added recognition for sun3's running 4.2bsd,
3283         from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
3284
3285         * amd/conf.c: several variables that were local to a map, were
3286         also added to [global], where they apply to all maps.  Each map
3287         can then individually override those defaults.  Flags
3288         affected: browsable_dirs and mount_type.  Options affected:
3289         map_type, map_options, and search_path.
3290
3291         * amd/amd.h: eliminated several global flags each of which took an
3292         int, in favor of one global flags variable used as a bit field.
3293
3294         * amd/amd.c (init_global_options): moved all global variables into
3295         a single struct amu_global_options, so it is easier to add new
3296         ones and/or identify existing ones.
3297
3298         * amd/get_args.c (get_args): removed unused amd -m option.
3299
3300         * amd/conf.c (gopt_cluster): added new amd.conf option for cluster
3301         name, same as amd -C.
3302
3303         * amd/info_ldap.c: LDAP info map functions from Leif Johansson
3304         <leifj@matematik.su.se>.
3305
3306         * amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
3307         amd.conf options for ldap_base and ldap_hostports.
3308
3309         * amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
3310         if the current host is in the ARG host netgroup.
3311
3312         * aux/configure.in: some systems replaced dbm in libc with GNU's
3313         libgdbm, so check for libgdbm, but only if dbm_open is not in
3314         libc already.  This was a recommendation from Tom Schmidt
3315         <tschmidt@micron.com>.
3316
3317         * conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
3318         completed.
3319
3320 Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3321
3322         * port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
3323         V.3.
3324
3325 Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
3326
3327         * port to i386-unknown-freebsd3.0 done and working.  Includes NFS
3328         V.3.
3329
3330         * aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
3331         file handle dereferencing style similar to freebsd22.
3332
3333         * include/am_defs.h: need to include <net/if_var.h> before
3334         <netinet/if_ether.h> on freebsd3.
3335
3336         * conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
3337         for freeBSD 3.0.
3338
3339 Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
3340
3341         * amd/info_nis.c (nis_reload): cast nis' callback function so
3342         picky compilers won't complain.
3343
3344         * libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
3345         gets compiled only if the system has NFS V3 and does not have
3346         xdr_mountres3.
3347
3348 Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3349
3350         * COPYING: put in some legal stuff in this file.
3351
3352 Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
3353
3354         * NFS V3 now works under Irix5, thanks to patches from 
3355         Andreas Stolcke <stolcke@speech.sri.com>.
3356
3357         * conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
3358         version and an irix6 version, since irix5's NFS V3 code is broken
3359         and hacky.
3360
3361         * amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
3362         sizes for some hesiod queries.  Patch from Danny Braniss
3363         <danny@cs.huji.ac.il>.
3364
3365 Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
3366
3367         * amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
3368
3369 Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
3370
3371         * aux/{configure.in,acconfig.h}: added checks for struct
3372         nfs_args's fields proto and sotype (bsdi3).
3373         
3374         * amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
3375         nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
3376         to SOCK_STREAM or SOCK_DGRAM.
3377
3378         * aux/macros/check_mount_style.m4: add case for bsdi3.
3379
3380         * amd/info_hesiod.c: got hesiod support for bsdi3.
3381
3382 Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3383
3384         * aux/configure.in: look for hesiod on libc (bsdi3)
3385
3386         * amd/get_args.c (get_args): reformat usage so it fits in 80
3387         columns.
3388
3389         * scripts/ctl-amd.in: changed directory name for optional tftpboot
3390         map to /tftpboot/.amd.
3391
3392 Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3393
3394         *******************************************************************
3395         *** Released am-utils-6.0a6                                     ***
3396         *******************************************************************
3397
3398 Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3399
3400         * scripts/ctl-amd.in: include -T tag for tftpboot.
3401
3402         * new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
3403         is broken and needs work on the specific nfs_args that irix5 uses
3404         for V3 mounts.
3405
3406 Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3407
3408         * amd/get_args.c (get_args): new options amd -T tag.  A map with
3409         tag=foo matching the -T tag will be processed.  All untagged maps
3410         get processed all the time.
3411
3412 Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3413
3414         * aux/configure.in: need to check for strcasecmp in libucb (ncr2)
3415
3416         * aux/macros/check_os_libs.m4: a new macro to set the usage of
3417         libnsl and libsocket based on the OS.
3418
3419         * libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
3420         defined (problem on osf4).
3421
3422         * conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
3423
3424         * include/am_defs.h, aux/macros/try_compile_nfs.m4,
3425         aux/macros/mount_headers.m4: do include <sys/proc.h> because it
3426         failes on irix5.  Rather, put in the individual
3427         conf/nfs_prot/nfs_prot_*.h headers.
3428
3429         * amd/conf.c: AIX3 doesn't like strdup() being passed a constant
3430         char*, so cast all strdup()'s args to a non-const char*.
3431
3432         * amd/mapc.c (root_newmap): don't try to strdup only a "const
3433         char *".
3434
3435 Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
3436
3437         * conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
3438         sys/errno.h.
3439
3440 Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
3441
3442         * made sure am-utils compiles, links, and runs properly on Irix
3443         6.2 using "cc -32 -Wl,-woff,"
3444
3445         * aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
3446         AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
3447         them to $LIBS.
3448
3449         * aux/configure.in: some cleanup of which libraries are needed.
3450         Espectially ensure that libnsl is included only on Solaris, where
3451         so far it is the only system on which it is absolutely necessary.
3452         Also no longer need to include libc explicitly. 
3453
3454         * amd/amd.c,wire-test/wire-test.c (main): convert IP address to
3455         network-long order before printing it.
3456
3457         * wire-test/wire-test.c (main): also check and report on the IP
3458         address of the local host, since some systems have bad versions of
3459         get_myaddress, or ones that conflict with other versions in
3460         multiple libraries (SunOS 4 and Irix especially).
3461
3462 Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
3463
3464         * scripts/ctl-amd.in: don't use full pathname so killproc() works
3465         better.  Also run bsd44 and irix style ps programs. 
3466
3467         * aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
3468         of library no matter if it was found or not.
3469
3470 Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3471
3472         * aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
3473         for M_* macros, but ensure that <sys/stream.h> is not included at
3474         all so it won't conflict with other M_* macros.
3475
3476 Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
3477
3478         * conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
3479         irix should be "spec" (host:/path), not the dir of the mnt point.
3480
3481         * amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
3482         fixed.  If on, it essentially ignored the setting in a
3483         selector-controlled /defaults if there were 2 or more entries in it.
3484
3485 Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3486
3487         * scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
3488         using BSD style ps, then try SVR4 style ps.
3489
3490         * include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
3491         etc., to avoid conflicts with similar named macros in <ldap.h>.
3492
3493         * aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
3494         support needed for LDAP.  Now the code has to be written mostly in
3495         amd/info_ldap.c.
3496
3497         * Included additional patches from Andreas Stolcke
3498         <stolcke@speech.sri.com> to support using the best possible
3499         combination of NFS version (2,3) and protocol (udp,tcp) for any
3500         given host, since it appears that some Irix versions have NFS V3,
3501         but do not support TCP.
3502
3503         * scripts/ctl-amd.in: updated amd control script to look for and
3504         use amd.conf file.
3505
3506 Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3507
3508         * amd/mapc.c (mapc_create): now, each map in the amd.conf can be
3509         initialized off of a different type, or default to cycling through
3510         all maps until one of them matches.
3511
3512 Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3513
3514         * amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
3515         if browsable_dirs=yes is set in the map section in amd.conf, that
3516         map will return all entries back to a readdir(2).
3517
3518 Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3519
3520         * rudimentary amd.conf file support included.  You may even
3521         override things like os=sos5, to get "backwards" compatibility with
3522         upl102.
3523
3524 Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3525
3526         * amd/conf.c: new file to process amd.conf file.
3527
3528         * amd/get_args.c (get_args): new options -H to print help.
3529
3530         * moved enable_default_selectors to be amd.conf controlled, and
3531         not compiler controlled.
3532
3533         * amd/get_args.c (get_args): new options -F <conf-file> to parse an
3534         amd configuration file.
3535
3536 Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3537
3538         * converted all files that used strcmp() == 0 or != 0  to using
3539         the STREQ() macro.
3540
3541 Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3542
3543         * aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
3544         search for any number of functions in any given library.
3545
3546 Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3547
3548         * amd/mapc.c: Included patch from Leif Johansson
3549         <leifj@matematik.su.se> to ensure that systems without an RE
3550         library can compile.
3551
3552         * libamu/mount_fs.c (mount_fs): Included patch from Andreas
3553         Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
3554         table are properly delimited by a comma.
3555
3556         * amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
3557         Stolcke <stolcke@speech.sri.com>, to allow users to override the
3558         proto= and vers= mount options.
3559
3560 Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
3561
3562         * conf/nfs_prot/nfs_prot_svr4.h: port completed to
3563         i486-ncr-sysv4.3.03.  Assorted source cleanups done.
3564
3565         * include/am_defs.h, aux/macros/mount_headers.m4: don't include
3566         mnttab.h if sys/mnttab.h was already included, because on ncr2,
3567         they contain conflicting entries for struct mnttab.
3568
3569 Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
3570
3571         * aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
3572
3573 Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
3574
3575         * amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
3576
3577         * aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
3578         on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
3579
3580 Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
3581
3582         * aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
3583         nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
3584         better.
3585
3586 Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3587
3588         * amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
3589         NULL, set the maxlen and len fields in netbuf to zero.
3590
3591 Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3592
3593         * scripts/fix-amd-map.in (name): replace all matching patterns on
3594         line.
3595
3596 Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3597
3598         *******************************************************************
3599         *** Released am-utils-6.0a5                                     ***
3600         *******************************************************************
3601
3602 Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3603
3604         * amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
3605         procedure now returns the full string that amd -v returns.
3606
3607         * amd/get_args.c (get_version_string): new function to return
3608         complete version/info string so it could be used more flexibly.
3609
3610         * amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
3611         of Fs types into a string buffer, rather than a FILE*.
3612
3613         * amd/mapc.c (mapc_showtypes): put the list of map types into a
3614         string buffer, rather than a FILE*.
3615
3616 Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3617
3618         * amd/get_args.c (get_args): amd -v also prints user who built
3619         amd, hostname built on, and date of configuration.
3620
3621 Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3622
3623         * scripts/lostaltmail.conf-sample: sample lostaltmail
3624         configuration file.
3625
3626         * scripts/lostaltmail.in: new script lostaltmail used to redeliver
3627         "lost" mail that hlfsd redirected to a temp location because the
3628         primary home file system of the user was full.
3629
3630         * scripts/amd2sun.in: new script amd2sun. Used to convert Sub
3631         automount maps to amd maps.
3632
3633         * scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
3634         stop, or restart hlfsd.
3635         
3636         * scripts/expn.1: man page for expn command.
3637
3638         * scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
3639         restart amd.
3640
3641         * scripts/expn.in: new script expn.  Actually taken from David
3642         Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
3643         script.
3644
3645         * scripts/wait4amd.in: new script wait4amd added.  Waits for amd
3646         to come up on a host, and then runs a command (rsh $hostname by
3647         default).
3648
3649         * scripts/Makefile.am: new directory now holds all shell/perl
3650         scripts that belong to am-utils.
3651
3652         * conf/mount/mount_linux.c (parse_opts): new parser for
3653         linux-specific mounts.  Handles fs-type specific mount-options
3654         correctly.  Currently implemented: msdos, iso9660.
3655
3656         * amd/ops_pcfs.c (pcfs_ops): don't timeout cdfs mounts by default
3657         (fix for linux).
3658
3659         * amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
3660         (fix for linux).
3661
3662         * amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
3663         core dumps upon "ls" of a mount point; an invalid pointer was
3664         being returned and dereferenced.
3665
3666         * port to Linux sparc working!
3667
3668         * hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
3669         failed to write test file, or else the fd will leak.
3670
3671 Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3672
3673         * amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
3674         instead of strcmp().
3675
3676         * Port to Digital Unix 4.0 (OSF) done.
3677
3678         * hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
3679         with dirname() function in <string.h> on OSF systems.
3680
3681         * fsinfo/fsi_util.c (set_ether_if): take out extern definition of
3682         inet_addr().  It should come from <arpa/inet.h> instead.
3683
3684         * conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
3685
3686         * include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
3687         avoid conflicts with DU 4.0 system header.
3688
3689 Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
3690
3691         * libamu/mount_fs.c (mount_fs): pass along NFS version so I can
3692         determine if to include additional options in the mount table file
3693         entry (such as proto=tcp, and vers=3).
3694
3695 Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3696
3697         * libamu/mount_fs.c (mount_fs): include NFS version number in the
3698         mount table options, as well as proto={tcp,udp}.
3699
3700 Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3701
3702         * NFS V3 code ported to most other systems, so it compiles for V2
3703         and V3 NFS systems.
3704
3705         * NFS VERSION 3 support, first pass.  Working for Solaris and
3706         using TCP.
3707
3708 Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3709
3710         * amq/amq.c: many newline characters were missing from various
3711         stderr printfs.
3712
3713 Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3714
3715         * conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
3716         Solaris, which include NFS V3 support.
3717
3718         * conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
3719         *** Released am-utils-6.0a15                                    ***
3720         * conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
3721         protocol version while getting a mount client.
3722
3723         * amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
3724         file handle size, and proper file handle based on the correct NFS
3725         version number.
3726         browsable_dirs=full, which will print *all* entries (other than
3727         * conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
3728         Solaris and other SVR4 systems.
3729
3730         * amd/ops_nfs.c: store NFS file handle version and version
3731         specific handle in struct fh_cache.
3732         (got_nfs_fh): pick the correct RPC reply based on the NFS version
3733         of the server.
3734         (prime_nfs_fhandle_cache): figure out the right NFS file handle
3735         for a node, but now include NFS protocol version information.
3736         (call_mountd): set the correct version for the mount protocol,
3737         based on the NFS protocol version.
3738         (nfs_init): use the NFS protocol generic structure
3739         am_nfs_handle_t.
3740         to 1500.
3741         * include/am_utils.h: new structure am_nfs_handle_t to contain all
3742         possible versions of NFS file handles.
3743         * doc/am-utils.texi: fixed reversed documentation for NFS mount
3744         * amd/srvr_nfs.c (start_ping): ping program performs NFS version
3745         specific pings.
3746         (recompute_portmap): figure out the correct portmap version mount.
3747         (nfs_keepalive): call start_ping() with the correct NFS version.
3748         (find_nfs_srvr): if mount option "vers=" is given, use it.  Get
3749         the NFS server version and verify that it is up.
3750
3751         * conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
3752         function to find the best NFS version for a particular host.
3753         installing html files.  Another new target "alldocs" is just for
3754         * libamu/amu.h: determine what is the highest version of NFS we
3755         should try.
3756
3757         * include/am_utils.h (NFS_VERSION3): added definition for NFS V3
3758         protocol number.
3759         Added field fs_version to struct fserver, so we can now store the
3760         server protocol version.
3761         facility in the log_file option.
3762 Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3763         * libamu/xutil.c (get_syslog_facility): allow users to specify the
3764         * aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
3765         underscores too, so I can test for sub-fields.
3766         will use the default LOG_DAEMON facility.
3767         * libamu/wire.c: use test that checks for sub-fields of struct
3768         ifreq.
3769 Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3770 Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
3771         (intel).
3772         * port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
3773         into smaller files.  M4 macros fixed to test for existence of
3774         file systems using getvfsbyname().
3775         before appending to it, on systems with two or more network
3776         * amd/sched.c (sigchld): signal handler must waitpid() for all
3777         possible children.
3778         the mntent for cachefs.
3779         * hlfsd/homedir.c: signal handler must waitpid() for all possible
3780         children. 
3781         const for both arguments.
3782         * aux/macros/check_restartable_signals.m4: new macro to determine
3783         if need to reinstall signal handlers per OS is better than trying
3784         to figure these out based on system macros.
3785
3786 Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
3787         * amq/pawd.c (cluster_server): don't use getccent() if the extern
3788         * amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
3789         <cluster.h> and struct cct_entry do not exist.
3790         * amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
3791         hpux systems don't have it (hpux 10.20).
3792         * amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
3793         (must be supplied for bsdi 3.0)
3794
3795         * libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
3796         associated new macro) for determining the right way to compute the
3797         size of the interface structure.
3798         for new amq options -T/-U.
3799 Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3800
3801         * aux/configure.in: need to include libc before libnsl if
3802         get_myaddress() is available because on irix libnsl has a buggy
3803         get_myaddress().
3804
3805         * include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
3806         on Irix 6 (an SVR4 variant)
3807         * amq/pawd.c: a new program, Print Automounter Working Directory,
3808 Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3809         * aux/macros/localconfig.m4: trivial support for am-utils
3810         *******************************************************************
3811         *** Released am-utils-6.0a4                                     ***
3812         *******************************************************************
3813         wish in a file called localconfig.h, located in the top build
3814 Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3815         * doc/am-utils.texi (Caching Filesystem): updated documents for
3816         * amd/amq_subr.c (ok_security): turned off insecure code unless
3817         user explicitly runs configure --enable-amq-mount.
3818         * amd/ops_cachefs.c: initial cachefs support, for solaris.
3819         * hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
3820
3821         * amd/nfs_start.c (mount_automounter): use code that separately
3822         creates the NFS and the amq service.  Register tcp and udp
3823         services for amd.
3824         cachefs file systems.
3825         * conf/transp/transp_*.c (create_amq_service): new function to
3826         separately create the amq service for amd.  Simplified prototypes
3827         for create_nfs_service().
3828         mnttab type is.
3829 Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3830 Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3831         *******************************************************************
3832         *** Released am-utils-6.0a3                                     ***
3833         *******************************************************************
3834
3835 Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3836         * amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
3837         * new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
3838         of small changes to support these two.
3839         type:=nfs.
3840 Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
3841         * updated all source files to add 1998 as a copyright year.
3842         * conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
3843         should run if MOUNT_TABLE_ON_FILE, not otherwise.
3844         like type:=linkx if the pathname denoted by $fs exists, and like
3845 Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3846
3847         * hlfsd/hlfsd.c (main): fill in fhsize field if exists
3848         (freebsd-2.2).
3849
3850         * amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
3851         exists (freebsd-2.2).
3852
3853 Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3854         * hlfsd/homedir.c (plt_init): make function exported, to save on
3855         * new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
3856         changed the filehandle type in struct nfs_args from nfsv2fh_t to
3857         u_char.
3858         instead.
3859 Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3860 Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
3861         * SHARED LIBRARIES: too many change to list individually.  Now,
3862         libamu can be built as a shared library, and other programs link
3863         with it.
3864
3865 Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3866
3867         * aux/macros/opt_shared.m4: new macro for setting options for
3868         building shared am-utils libraries.
3869         * amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
3870 Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3871         * ALL SOURCES: change every direct call to free() to xfree(), so
3872         * fixmount/fixrmtab: cleaned up the script.
3873         call dxfree(), which will print the file name and line number
3874         * fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
3875         fixrmtab gets distributed too.
3876
3877         * conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
3878         Added extern for xdr_mountlist().
3879 Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3880         * aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
3881         MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
3882         the sources.
3883
3884 Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3885         calloc().
3886         * fixmount/hlfsd ported to bsd44, hpux, and linux systems.
3887
3888         * aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
3889         malloc().
3890         * conf/fixmount/fixmount_default.c: use lockf() if flock() is
3891         unavailable.
3892         zero its bytes.
3893         * include/am_defs.h: include <string.h> even if don't have
3894         STDC_HEADERS defined (sunos4).
3895         (seteuid): define seteuid() to be setresuid() for systems that
3896         have but not the other (hpux).
3897         * amq/amq.c: amq does not need its own definition of xfree().
3898         * aux/macros/check_extern.m4: test should include <strings.h>.
3899         look for function malloc_verify() in libmapmalloc.a, and function
3900 Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3901
3902         * lib/xutil.c (debug_option): moved from amd/getargs.c to this
3903         more proper file.
3904         uordbytes, because it does not always exist.  Rather, compute it
3905         * include/am_utils.h: put in structure for debug options, for all
3906         progams to use.
3907         used when debugging memory references.
3908         * amd/get_args.c: moved structure for debug options out.
3909 Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3910 Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3911         Otherwise browsable_dirs fails on OpenBSD 2.2.
3912         * ported fixmount.
3913         * amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
3914         * lib/ualarm.c: replacement function for systems that don't have a
3915         ualarm().
3916 Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3917         * ported fsinfo.
3918         * amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
3919 Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3920         * include/am_defs.h: add missing extern definition for free().
3921         * ported mk-amd-map.
3922
3923         * buildall: added -K option to buildall, to run mkconf.
3924         optional function.
3925 Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3926         if they exist.
3927         *******************************************************************
3928         *** Released am-utils-6.0a2                                     ***
3929         *******************************************************************
3930         * aux/configure.in: check for missing functions clnt_create and
3931 Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3932
3933         * all *.[hcyl] files: add copyright line.
3934         * Makefile.am: updates for new sunos3 files distributed.
3935         * aux/macros/check_mount_type.m4: test for mount type for
3936         linux-like systems, by checking for loadable or statically linked
3937         kernel filesystem modules.
3938         * conf/fh_dref/fh_dref_sunos3.h: new file.
3939         * aux/macros/check_mnttab_type.m4: test for mount table entry
3940         for linux-like systems, by checking for loadable or statically
3941         linked kernel filesystem modules.
3942         * aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
3943         * aux/configure.in: pcfs filesystems can use vfat type (linux)
3944         * doc/am-utils.texi (wire Selector Variable): updated manual for
3945         * aux/macros/check_fs_mntent.m4: test for filesystem existence for
3946         linux-like systems, by checking for loadable or statically linked
3947         kernel filesystem modules.
3948         in_network() function.
3949         * conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
3950         9.0 header files.  This should be removed when HPUX 9.0 is deemed
3951         defunct.
3952         functions.  Converted wire, network, and netnumber all to use the
3953         * aux/acconfig.h: set an undefined variable for having an extern
3954         to clnt_sperrno().
3955         against all networks, not just primary.
3956         * include/am_defs.h: define extern for clnt_sperrno() if needed.
3957         * conf/nfs_prot/nfs_prot_linux.h: add special definitions for
3958         * aux/configure.in: test for extern clnt_sperrno().
3959         <rpc/des_auth.h> because it is incomplete on the same systems.
3960         * aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
3961         similar to irix.
3962         * hlfsd/homedir.c (table_add): cast uid field to int, for
3963         * aux/macros/check_mount_style.m4: use mount helper on HPUX.
3964         * include/am_defs.h: more coflicts with redhat alpha linux
3965         * aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
3966         not integer (but may be mapped to one later).
3967         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
3968         * conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
3969         files.  They have mount(2) and vfsmount(2) which don't take same
3970         arguments, and they have string mount types MNTTYPE_* as well as
3971         integer types MOUNT_*.  So I need this new mount function to map
3972         from string types to integer types for the vfsmount() function.
3973         redhat alpha linux.
3974         * conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
3975         vfsmount(), call mount_hpux().
3976         the new "!" (negated) nomadic functions.
3977 Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
3978         rather than saying that any ARG is on a local network.
3979         * lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
3980         both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
3981
3982 Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3983 Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3984         * conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
3985         hpux.
3986
3987         * include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
3988         Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
3989         * aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
3990         wait until they get it working in their version of the automounter
3991         * buildall: added ability to configure using other shells than
3992         /bin/sh, on those systems where /bin/sh is buggy or limited
3993         (HPUX).
3994         maxgrp.
3995         * aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
3996         defined am_nfs_fh, and also test for plain typedef "nfs_fh".
3997         "maxgrps".  Added test for mount table entry "maxgroups".
3998         * aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
3999         reinstated macro.
4000         * libamu/mount_fs.c (compute_nfs_args): perform more careful tests
4001         * aux/configure.in: check for <nfs/export.h>
4002
4003         * include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
4004         including 9.x, should use "ignore" as the mount type to hide from
4005         * aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
4006         exists.
4007
4008         * aux/macros/mount_headers.m4 (define): removed some non-working
4009         (on HPUX) code that attempts to recreate the fhandle_t rather than
4010         load it up from system headers.  Also added some NFS protocol
4011         header inclusion.  include <nfs/export.h> (HPUX) if exists.
4012         every where in the sources.
4013 Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
4014
4015         * aux/macros/mount_headers.m4 (define): Use M4 changequote to
4016         ensure [] brackets are correctly used.
4017         useful for detecting internal flags and options, as well as the
4018         * aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
4019         multi-line M4 inclusions in [].
4020         after /etc and before /etc/local.
4021 Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4022         * aux/configure.in, libamu/Makefile.am: added support for linking
4023         * conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
4024         it exists.
4025
4026         * aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
4027         config.h macro for field f_fstypename of struct statfs.
4028         needed.
4029         * aux/configure.in: testing for field f_fstypename field of struct
4030         statfs (NetBSD).
4031         netbsd).
4032         * aux/acconfig.h: moved all of the "static" definitions out to a
4033         fixed file called include/am_defs.h.  Added to all */Makefile.am
4034         files a dependency on am_defs.h.  Created am_defs.h of course, and
4035         then added #include <amd_defs.h> to all of the source and header
4036         files that required it.
4037         for NetBSD-1.3_BETA and similarly for OpenBSD.
4038 Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
4039         * conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
4040         * aux/acconfig.h: two more externals for xdr functions that may be
4041         implemented by libamu.
4042         mktemp().
4043         * conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
4044         definitions.
4045         * amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
4046 Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4047         "nfs3", but to "nfs" and then they set "vers=3".  Setting it to
4048         * buildall (default): added -D option for turning on even stricker
4049         developer options.
4050         systems, set it to "nfs".
4051         * */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
4052         determine dependencies on optional NFS protocol headers.
4053
4054         * aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
4055
4056         * aux/macros/check_nfs_prot_header.m4: new test to determine what
4057         NFS protocol headers to use. 
4058         system mount types under nextstep for mount(2).
4059         * conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
4060         complete missing system headers for NFS protocol definitions.
4061         integer and string types for file system mount types in mount(2),
4062 Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
4063         (EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
4064         * amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
4065         #ifdef's as needed.
4066
4067         * amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
4068         suitable #ifdef'ed.
4069
4070         * include/am_compat.h: a couple more mnttab options
4071         (timeo/retrans) setting just in case.
4072
4073         * amd/autil.c (host_normalize): make sure hostent->h_name is
4074         passed a non-const char *.
4075
4076         * conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
4077         inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
4078         * {lib,amq,amd}/*.c (many functions): cast xdr_entry to
4079         XDRPROC_T_TYPE.
4080         * libamu/mount_fs.c (mnt_flags): support either nfs or generic
4081         * lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
4082         XDRPROC_T_TYPE.
4083
4084         * lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
4085         XDRPROC_T_TYPE.
4086
4087         * lib/wire.c (getwire): Make sure safe assignment from const to
4088         none is done.
4089         file in the am-utils' home page, as well as a few other useful
4090 Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
4091 Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4092         * aux/macros/expand_cpp_int.m4: new macro for expanding integers.
4093         *******************************************************************
4094         * aux/configure.in: added linux/fs.h support in configure and
4095         several M4 macros.
4096
4097         * conf/mount/mount_linux.c (mount_linux): use macro instead of
4098         "ugly" fixed hex number for mount() arguments.
4099         ports.
4100 Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4101
4102         * amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
4103         turned all of its code always on.  That code always seems to
4104         compile, as long as you have hesiod and libresolv.
4105         * scripts/amd.conf.5: corrected info for -o/-O options.
4106         * amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
4107         of its code always on.
4108         OS name.
4109         * aux/configure.in: removed superfluous test for hs_zone_transfer
4110         function (will never find it because it is an amd-internal
4111         function).
4112         -o and -O options.
4113         * amd/mapc.c (maptypes): must used correct new name for am-utils'
4114         hesiod initialization function: hesiod_am_init.
4115
4116         * amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
4117         hesiod_am_init so as not to conflict with libhesiod's
4118         hesiod_init() function.
4119         variable.
4120         * aux/configure.in: added test and explicit inclusion of
4121         libresolv.a for later resolution of library references with
4122         libhesiod.
4123         <metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
4124         * aux/macros/opt_cppflags.m4: new file.  configure/compile C
4125         preprocessor flags.
4126         * doc/am-utils.texi (Distrib): typo in the subscription
4127         * aux/macros/opt_libs.m4: new file.  configure/compile library
4128         flags.
4129         <vogel@physik-rzu.unizh.ch>.
4130         * Makefile.am (EXTRA_DIST_AUX): include two new macros
4131         opt_cppflags.m4 and opt_libs.m4.
4132 1997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
4133         * aux/configure.in: test for libhesiod needs to additional
4134         libresolv to link completely.  Additional configuration time
4135         options added for setting initial CPPFLAGS and LIBS.
4136
4137 Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4138         * NFS3 works on powerpc-ibm-aix4.2.1.0.
4139
4140         *** Released am-utils-6.0a1                                     ***
4141         static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
4142         stack of an automatic variable when pointer to it is passed around
4143 Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4144
4145         * amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
4146         it works on freebsd, where they map dbm_pagfno a non-existing
4147         macro on purpose, to force you to port the code to Berkeley DB.
4148         * libamu/xutil.c (real_plog): syslog like behavior for normal
4149 Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4150
4151         * amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
4152         actual mount_toplvl, to avoid some possible race conditions.
4153
4154 Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4155
4156         * amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
4157
4158 Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4159
4160         * lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
4161         passed to it before.  So now I have to dereference the pointer
4162         * amd/amd.c (main): fix local address using htonl(). Free up
4163         buffers allocated by netdir_*() functions.
4164
4165 Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4166
4167         * amd/fix-amd-map.in: new script that will convert old-style amd
4168         maps to new one.
4169         compute_nfs_args() and compute_automounter_nfs_args() functions.
4170 Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4171         and cleaner compute_nfs_args() and compute_automounter_nfs_args()
4172         * FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
4173         and replies back to simple nfs/link type mount queries).
4174         relates for struct nfs_args.  A new function sets the numerous
4175         * conf/mtab/mtab_svr4.c: reorganized the code in this file to be
4176         easier to read, and fixed a few bugs with un/setting the lock file
4177         descriptor.
4178         libamu.  This saves on overall size of code.
4179 Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4180         mounting an automounter's mount point.  Used by hlfsd and amd.
4181         * amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
4182         signals in Svr3 systems.  Only stellix ever used this.
4183         * amq/amq.c (get_secure_amd_client): don't print any more
4184         * amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
4185         by DYNAMIC_BUFFERS, since it was not in use.
4186         under DEBUG only.
4187 Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4188
4189         * amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
4190         takes '=' sign as old selector.  Fix your maps.
4191         (deslashify): removed APOLLO code that treated two '//' as one.
4192         for file systems based on physical media (disk, cdrom, floppy) to
4193 Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4194         autoconf searches for all these types of mount table entries for a
4195         * amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
4196         was not used.  It made any submount error fail the whole group.
4197         the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
4198         * amd/ops_nfs.c (make_nfs_auth): removed code dependent on
4199         HAS_NFS_QUALIFIED_NAMES.
4200         (mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
4201         is never on.  So code that was triggered by #ifndef
4202         NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
4203         be fixed later.
4204         Removed all ULTRIX_HACK code.  Ultrix is DEAD!
4205         removed all PRESET_AC code, which was only on for Linux to preset
4206         the attribute cache values (otherwise they default to zero).
4207         (nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
4208         have to fixed up later.
4209         (mount_nfs_fh): removed code that was never included, which
4210         attempted to set the port on which amd's nfs mounts on.  This
4211         isn't supported by the ping algorithm yet.  In any case, it is all
4212         done in nfs_init().
4213
4214         * amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
4215         removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
4216         specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
4217         have to be addressed later.
4218 Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
4219         * amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
4220         on PRECISE_SYMLINKS.
4221         This works better on bsdi2 and bsdi3, because their portmapper
4222         * amd/mapc.c (mapc_meta_search): removed code that depended on
4223         HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
4224         to be rethought.
4225         (mapc_add_kv): ported code to use standard regular expression
4226         (regexp) library.
4227         insecure).
4228         * amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
4229         FLUSH_KERNEL_NAME_CACHE and the macro itself.
4230         *** Released am-utils-6.0a13                                    ***
4231 Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4232 Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4233         * amd/map.c (exported_ap_alloc): removed all code triggered by
4234         SHRINK_EXPORTED_AP and the macro itself.
4235         struct datum typedef.
4236         * amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
4237         in all the time.  Assuming that there is always NIS realod
4238         available.
4239         (yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
4240         function is broken such that it does not release filedescriptors
4241         it created, then you are hosed.  Get a fix for yp_all from your
4242         vendor or switch operating systems.
4243
4244 Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4245         gid_t.
4246         * amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
4247         HAVE_HS_ZONE_TRANSFER.
4248         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
4249 Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4250
4251         * amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
4252         always included.  We should always try to inform the remove mount
4253         daemon of mounts we performed.  If we want an option for this, it
4254         should be a run-time option.
4255
4256         * amd/host_ops.c: removed all that optionally did not make the
4257         directory mount points for amd.
4258
4259         * HOST_EXEC code removed from everywhere.  There is no indication
4260         that it was used anywhere.  If it needs to be used, then a
4261         run-time switch should control it.
4262
4263 Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4264         passwdfile option.  If hlfsd is started with -P passwdfile, then
4265         * amd/*_ops.c: removed all references to mntent_t's fields
4266         mnt_freq and mnt_passno, since they are no longe rused (and never
4267         have been).
4268         read and checked.  All the rest are ignored.  No NIS/netgroup
4269         * amd/am_ops.c: removed function sunos4_match, which was off
4270         anyway.  This was one of the places where an '=' sign was allowed
4271         as an assignment operator (which is now ':=').
4272
4273         * amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
4274         was off anyway.  This was one of the places where an '=' sign was
4275         allowed as an assignment operator (which is now ':=').
4276         -h is invoked.
4277 Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4278 Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4279         * amq/amq.c: ported to am-utils.  Working.
4280
4281         * conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
4282         to be string, as it should be (rather than a string mapped to int
4283         and back mapped to string).
4284         which returns TRUE if 'arg' is any one of this host's networks.
4285 Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4286         all networks names and numbers in the order of the interface (not
4287         * lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
4288 Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4289         * lib/umount_fs.c: split this into three files: default, osf, and
4290         bsd44, that are in conf/umount/umount_*.c.
4291         * aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
4292 Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4293         * doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
4294         * aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
4295         macro to automatically figure out if an external definition for
4296         sys_errlist[] exists.
4297         (html): generate html documentation for
4298         * lib/xutil.c (xfree): removed "#undef free" because it's not
4299         needed there.  Any system that redefines free() needs help.
4300
4301         * conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
4302         was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
4303         in active use anywhere.  If added later, it should be a run-time
4304         configuration option.
4305         ypall_callback_fxn_t.  The NetBSD team compiles all sources with
4306         * conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
4307         be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
4308         in a file in /etc.
4309         function typedef.
4310         * lib/util.c (str3cat): removed _AIX code.  AIX should have a
4311         working realloc, or else find a cleaner solution to this.
4312         (mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
4313         after immediately making directories so that fsck will be able to
4314         fix the filesystem in the event of an immediate crash.  This was
4315         because a bug in UFS which is fixed by now.
4316         * libamu/xutil.c (amu_release_controlling_tty): new function to
4317         * lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
4318         code.  Does not appear to be on and used anywhere.
4319         (dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
4320         and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
4321         * lib/resvport.c: split the binding of reserved ports code to a
4322         separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
4323         from the BSD code.
4324
4325 Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4326
4327         * lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
4328         in by automake and configure, for optional sources that need to be
4329         built as part of libamu.a.
4330
4331         * aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
4332         to LIBOBJS.
4333
4334         * lib/memcmp.c (memcmp): new file added to replace a possible bad
4335         implementation of memcmp.
4336
4337 Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4338
4339         * converted the sources to use memset/memmove/memcmp instead of
4340         bzero/bcopy/bcmp.
4341
4342         * ran all sources through gnu Indent w/ options specified in
4343         aux/amindent.
4344
4345 Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4346
4347         * At this point the initial genration of config.h via autoconf and
4348         some preliminary makefiles via automake is done.  I will not begin
4349         modifying sources, so it's a good time to document from here.
4350
4351 Wed Dec 10 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4352
4353         *******************************************************************
4354         *** Initial ChangeLog Entry                                     ***
4355         *******************************************************************
4356
4357         * amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
4358         mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
4359         hpux-10 will mount amd's mounts points as 'ignore' (by df).
4360
4361         * aux/configure.in: check for NFS mount option 'ignore', useful in
4362         HPUX 10.
4363
4364 Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4365
4366         * aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
4367         mount type and not NFS, for the amd mount points.
4368
4369         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
4370         an RPC timeout as an error, but just an info message.  From
4371         Andreas Stolcke <stolcke@speech.sri.com>
4372
4373         * If the NFS server is down or does not support the portmapper
4374         call (such as certain Novell NFS servers) we mark it as version 2
4375         and we let the nfs code deal with the case that is down.  If when
4376         the server comes back up, it can support NFS V.3 and/or TCP, it
4377         will use those.  From christos@deshaw.com (Christos Zoulas).
4378
4379         * hlfsd/homedir.c (plt_print): various compile time cleanups to
4380         printfs that take a long, but pass an int to print.  From
4381         christos@deshaw.com (Christos Zoulas).
4382
4383         * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
4384         macro to determine if the OS has a bad yp_all(), based on the host
4385         OS name.  So far only irix (all versions) have a bad yp_all, so
4386         they will use am_yp_all() instead (which is slower as it
4387         enumerates manually all of the map's entries).
4388
4389 Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
4390
4391         * amd/info_nis.c (am_yp_all): code for a replacement yp_all that
4392         avoids using a file-descriptor leaking yp_all() on some systems
4393         like irix.
4394
4395 Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
4396
4397         * fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
4398         systems using /usr/bin/flex.
4399
4400         * amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
4401         that have a modified GNU flex which does define yywrap (DU-4.x).
4402
4403 Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4404
4405         * conf/checkmount/checkmount_bsd44.c: include prototype.
4406
4407 Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4408
4409         *******************************************************************
4410         *** Released am-utils-6.0a12                                    ***
4411         *******************************************************************
4412
4413 Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4414
4415         * conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
4416         code in irix6 until it can be tested correctly
4417
4418         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
4419         on clnt_create for 3 seconds, rather than wait for the much longer
4420         default.
4421
4422         * conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
4423         Includes NFS3, untested.
4424
4425 Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4426
4427         * amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
4428         pcfs_args_t if they exist.
4429
4430         * amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
4431         cdfs_args_t if it exists.
4432
4433         * new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
4434         hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
4435
4436 Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4437
4438         * doc/am-utils.texi (wire-test): updated documentation for the new
4439         option.
4440
4441         * wire-test/wire-test.8: updated man page for new option.
4442
4443         * wire-test/wire-test.c (main): added a test for various
4444         combinations of NFS proto/vers to a remote/local host.
4445
4446         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
4447         <isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
4448         freebsd will correctly set mount options for pcfs and cdfs.
4449
4450         * amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
4451         0777 (if field exists).
4452
4453         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
4454         <msdosfs/msdosfsmount.h> if available.
4455
4456         * minor new port: rs6000-ibm-aix4.1.4.0.
4457
4458         * libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
4459         write the "time" field in /etc/mnttab.
4460
4461         * conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
4462         detecting mnt_time field of mntent_t.
4463
4464         * libamu/mtab.c (mnt_free): fixed typo in macro names for
4465         detecting mnt_time field of mntent_t.
4466
4467 Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4468
4469         * conf/mtab/mtab_file.c (lock): Use flock() in preference over
4470         fcntl() to lock the mtab file.
4471
4472 Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4473
4474         * conf/transp/transp_sockets.c (get_nfs_version): define
4475         the try_again goto label only for NFS3.
4476         (pmap_ping): assume timeout failure of clnt_stat.
4477
4478         * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
4479         "groups *".
4480
4481 Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4482
4483         * conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
4484         <dsr@mail.lns.cornell.edu> to make sure that amd works with more
4485         secure portmappers that do not allow forwarding of RPC messages to
4486         other services.
4487
4488         * */Makefile.am: all source files should also depend on the new
4489         include/am_xdr_func.h header.
4490
4491         * include/am_xdr_func.h: new file as part of the code cleanup from
4492         Christos Zoulas <christos@deshaw.com>.
4493
4494         * Lots of fixes from Christos Zoulas <christos@deshaw.com> that
4495         involved missing prototypes, cleaned up ones, and removal of
4496         unused variables.
4497
4498         * libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
4499         statement with only one case is unclean.
4500
4501 Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4502
4503         * amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
4504         0 so that all fields are initialized to zero at first.  This way
4505         SunOS 4.x and other systems don't get /etc/mtab entries with
4506         random integers for the fsck/freq fields. Patch from Andreas
4507         Stolcke <stolcke@speech.sri.com>.
4508
4509 Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
4510
4511         * conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
4512         that the important definition for HOSTNAMESZ will be found.
4513
4514         * amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
4515         (inside the nfs_args structure) if the system uses that macro.
4516         Otherwise systems like SunOS refuse to NFS mount long pathnames
4517         and result in ENAMETOOLONG errno's.
4518
4519 Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4520
4521         * doc/am-utils.texi (Supported Platforms): specify new support for
4522         solaris 2.6, and hlfsd running on 2.5.1 too.
4523
4524 Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
4525
4526         * conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
4527         mount if it is not supported or was turned off.
4528
4529 Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
4530
4531         * conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
4532         again.  Apparently at some previous release SunOS 4 supported was
4533         broken and all nfs mounts resulted in ESTALE.
4534
4535 Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
4536
4537         * conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
4538         solaris 2.6.
4539
4540         * aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
4541         protocol header selection.
4542
4543 Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4544
4545         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
4546         infinite loop.
4547
4548 Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4549
4550         *******************************************************************
4551         *** Released am-utils-6.0a11                                    ***
4552         *******************************************************************
4553
4554 Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4555
4556         * amd/amd.c (main): if plock() succeeded, don't try to display
4557         errno message.   Patch from Chris Metcalf
4558         <metcalf@catfish.lcs.mit.edu.
4559
4560 Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4561
4562         * hlfsd/homedir.c (table_add): make sure duplicate passwd entries
4563         are ignored.   Only the first entry should ever be used, because
4564         that's how lookup in passwd database works.
4565
4566         * conf/transp/transp_sockets.c (get_nfs_version): when determining
4567         if a remote host is up or down, use NFS v.2.  Fix suggested by
4568         Enami Tsugutomo <enami@cv.sony.co.jp>.
4569
4570         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
4571         function to get the best possible NFS version, but also timeout
4572         faster than normal defaults, so remote hosts which are down can be
4573         detected in a reasonable time.
4574         (get_nfs_version): use the new "best" function.
4575
4576 Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4577
4578         *******************************************************************
4579         *** Released am-utils-6.0a10                                    ***
4580         *******************************************************************
4581
4582 Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4583
4584         * conf/transp/transp_tli.c (get_nfs_version): don't use
4585         clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
4586         and earlier).
4587
4588         * aux/configure.in: test for existence of clnt_tp_create_timed(),
4589         since Solaris 2.4 (and possibly earlier) do not have it.
4590
4591 Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4592
4593         * amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
4594         field if it exists (solaris 2.4's autofs does not have it).
4595
4596 Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4597
4598         * aux/macros/type_auth_create_gidlist.m4: a new test to determine
4599         the correct type to the 5th argument of authunix_create().
4600
4601 Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4602
4603         * libamu/xdr_func.c (xdr_umntrequest): add test for autofs
4604         structure umntrequest, if it has the field rdevid.  Seems Solaris
4605         2.4 and earlier didn't have it.
4606
4607 Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4608
4609         * hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
4610         can be done before primary process forks.
4611         (main): bug fix: wait a bit to give child a chance to initialize.
4612         Without this, hlfsd got into a busy infinite loop while, never
4613         completing the mount.
4614
4615         * amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
4616         to make amd works when talking to NIS+ servers in NIS
4617         compatibility mode.
4618
4619 Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4620
4621         * amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
4622
4623 Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4624
4625         * amd/conf.c (gopt_fully_qualified_hosts): a new function to
4626         process another new global variable.
4627
4628         * amd/ops_nfs.c (make_nfs_auth): if a new global variable
4629         fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
4630         Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
4631
4632         * amd/conf.c (process_last_regular_map): If the amd.conf file only
4633         has a [global] section (pretty useless IMHO), do not try to
4634         process a map that does not exist.
4635
4636         * scripts/amd.conf.5: fixed typos (repeated 'as' word).
4637
4638         * doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
4639
4640         * amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
4641         structure, so it does not carry over from map entry to another.
4642
4643 Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4644
4645         * amd/amd.c (main): fixed the meaning of the plock option.  A bug
4646         caused it to be reversed.
4647
4648 Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4649
4650         * hlfsd/stubs.c: don't initialize some statics here.  They are
4651         better initialized in hlfsd_init_filehandles().
4652
4653 Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4654
4655         * amd/conf.c (gopt_show_statfs_entries): new function and a global
4656         amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
4657         then all maps flagged as browsable will also show a count of the
4658         number of entries (keys) in that map.
4659
4660         * amd/nfs_subr.c (count_map_entries): new function to count number
4661         of entries in a map.  Now used if browsable is turned on in a map,
4662         to return a count of available keys in a given map.
4663
4664         * hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
4665         confused the file handles for ".", "..", and the symlink, causing
4666         mess.
4667
4668         * aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
4669         but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
4670         with bad memcmp() in libc's (nextstep3).
4671
4672 Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4673
4674         * aux/configure.in: check if autofs_args_t has a field named
4675         addr.  Solaris has it for specifying the address of the daemon,
4676         but Irix does not.  So how does irix tell the kernel the daemon's
4677         address?  I suspect that it is hardcoded to "localhost" using a
4678         "private well-known port" (#define AUTOFS_PORT 2048).
4679
4680         * conf/nfs_prot/nfs_prot_linux.h: added missing autofs
4681         definitions.
4682
4683         * README.autofs: new file listing autofs support notes
4684
4685         * very preliminary autofs code working.  Call it pre-alpha
4686         quality.
4687
4688 Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4689
4690         * amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
4691         "autofs" if system does not support it.
4692
4693         * amd/amd.c (main): log am-utils version string (same as amd -v)
4694         at start of run.
4695
4696         * conf/transp/transp_sockets.c (get_nfs_version): in order to tell
4697         if a remote host is available, try to contact its portmapper and
4698         timeout if no answer is received in 3 seconds.
4699
4700 Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4701
4702         * aux/macros/check_extern.m4 (pattern): use a simpler pattern for
4703         match for external function definitions.  The function could span
4704         multiple lines, so only match the opening parenthesis, not the
4705         closing one too.
4706
4707         * aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
4708         posix mode for nextstep3.  It is broken.
4709
4710         * amd/amd.c (init_global_options): run uname() only if
4711         <sys/utsname.h> and uname(2) exist.
4712
4713         * amd/rpc_fwd.c (fwd_packet): if remote host is down, the
4714         forwarding socket is null, so declare this an error.
4715
4716         * include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
4717         for when a remote host is down.  Try, in order, "host down", "host
4718         unreachable", "invalid argument".
4719
4720         * amd/ops_nfs.c (discard_fh): don't dereference a null pointer
4721         (happens when remote host is down, and fp->fh_fs is NULL).
4722         (prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
4723         and FSF_DOWN.
4724
4725         * amd/sched.c: nobody uses "union wait" any more, or so it
4726         appears, so clean up that code.
4727
4728         * conf/transp/transp_tli.c (get_nfs_version): if remote host is
4729         down, time it out faster than default (3 seconds).
4730         (get_mount_client): free netconfig entry when done with it.
4731
4732         * conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
4733         port to nextstep3 (m68k-next-nextstep3).
4734
4735         * fsinfo/Makefile.am (LDADD): needs to link with libamu in case
4736         system does not have strdup().
4737
4738         * include/am_defs.h: complete external definition for getlogin()
4739         if needed.
4740
4741         * conf/transp/transp_tli.c (get_nfs_version): no need to keep
4742         static versout variable.
4743
4744         * amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
4745         server is probably down.  Don't use sendto() in that case.
4746
4747         * buildall (default): run gmake if found, before trying plain
4748         make.  GNU make is always preferable.
4749
4750 Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4751
4752         * aux/macros/host_macros.m4: cleanup of os_version and os
4753         overrides.  Solaris 2.5.1 for example will come up as solaris2 and
4754         2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
4755         the amd.conf file.
4756
4757 Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4758
4759         *******************************************************************
4760         *** Released am-utils-6.0a9                                     ***
4761         *******************************************************************
4762
4763 Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4764
4765         * conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
4766         (i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
4767         from <ndbm.h> and <sys/resource.h>.
4768
4769         * scripts/amd.conf.5: new map page.
4770
4771         * amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
4772         does not.
4773
4774         * amd/amd.8: updated man page.
4775
4776         * amd/get_args.c (get_args): removed defunct -h option to amd.
4777
4778         * amq/amq.8: updated man page.
4779
4780         * amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
4781         SparcCompiler CC won't complain.
4782
4783         * amd/info_hesiod.c (hesiod_search): small fixes to compile with
4784         hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
4785
4786         * aux/macros/opt_ldflags.m4: new option added to configure
4787         --enable-ldflags, to specify -L option for configuring/compiling.
4788         The older one --enable-libs is now to be used only for -l options.
4789
4790         * amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
4791         nc_protoname from nfs_proto if available for all TLI systems, not
4792         just those that have NFS V3.
4793
4794         * amd/info_ldap.c: ldap patches from Leif Johansson
4795         <leifj@matematik.su.se>, adding two new amd.conf ldap variables:
4796         ldap_cache_seconds and ldap_cache_maxmem.
4797
4798         * hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
4799         htons().
4800
4801 Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4802
4803         * amd/nfs_start.c (mount_automounter): register amd with the rpc
4804         program number that may have been overridden by amd.conf.
4805
4806         * libamu/xutil.c (set_amd_program_number, get_amd_program_number):
4807         allow storing and retrieving alternate amd program numbers.
4808
4809         * amd/conf.c (gopt_portmap_program): new function to parse
4810         amd.conf entry portmap_program=1234.
4811
4812         * amq/amq.c (main): allow specifying an alternate rpc program
4813         number for amd via -P prognum.
4814
4815         * new amq RPC to get the process id of the running amd.  This is
4816         used in ctl-amd to quickly find the pid of the amd that is to be
4817         killed.
4818
4819         * expanded shared libraries support.  Using GNU libtool-1.0,
4820         am-utils now builds shared libraries on many platforms that have
4821         support for it and proper compilers/linkers.  See "INSTALL" file
4822         for compatibility chart.
4823
4824 Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4825
4826         * fsinfo/fsi_lex.l: removed code that was in support of very old
4827         versions of flex.  No longer needed.
4828
4829 Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4830
4831         * amd/amd.c (init_global_options): find the kernel architecture
4832         from uname() if possible.
4833
4834 Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4835
4836         * new working port: i386-unknown-openbsd2.1
4837
4838 Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4839
4840         * working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
4841         structure to actual char[], because the structure was passed to
4842         xdr_fhandle as data and not a pointer.  Surprisingly, gcc
4843         -fpcc-struct-return did not help.
4844         
4845         * conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
4846         definitions for solaris 2.4 have to be different from 2.3, and
4847         different from 2.5.
4848
4849         * libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
4850
4851 Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4852
4853         * conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
4854         types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
4855
4856         * mk-amd-map/mk-amd-map.8: man page taken from bsd44.
4857
4858 Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
4859
4860         * conf/mount/mount_linux.c: made the nfs error mapping code into a
4861         small function.
4862
4863 Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4864
4865         * conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
4866         error mappings from errno numbers to NFS errors.  From Debian
4867         Linux.
4868
4869         * scripts/am-eject.in (fs): new script (taken from Debian Linux
4870         folks) to auto-unmount floppy/cd devices before ejecting them.
4871
4872         * fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
4873         '5' as second arg to show_area_being_processed.  I'm not sure why.
4874
4875         * fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
4876         second arg to show_area_being_processed.  I'm not sure why.
4877
4878         * conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
4879         ensure that you have a buffer in *xopts to strcat onto.
4880         (mount_linux): fixed from Debian folks to ensure that NFS mount
4881         sockets are connected only for kernels prior to 1.3.10 (avoids
4882         hangs for multi-homed hosts).
4883
4884         * amd/mapc.c (make_entry_chain): from Debian folks: don't skip
4885         over amd map keys that have a prefix, and include the prefix in
4886         the returned readdir().
4887
4888         * amd/info_passwd.c (passwd_init, passwd_search): format
4889         enhancements from the Debian Linux folks.  They added
4890         - var0:=pw-prefix:=anydir
4891         - var1:=pw-rhost:=dom3.dom2.dom1
4892         - var2:=pw-user:=user
4893         - var3:=pw-home:=/anydir/dom1/dom2/dom3/user
4894
4895         * new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
4896
4897         * amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
4898         afs_mount timed out, then explicitly forbid further retries after
4899         the timeout.  (afs_bgmount): buf fix from Debian Linux.  Timeout
4900         values (17 and 5) were mistakenly swapped.
4901
4902 Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4903
4904         * conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
4905         support for Solaris 2.4 (the header files incorrectly define parts
4906         of the NFS V.3 protocol, but the kernel does not support it).
4907
4908 Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4909
4910         * amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
4911         for determining if using old or new hesiod libraries,
4912         respectively.
4913
4914         * amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
4915         V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
4916         they cause hangs of mounts from multi-homed hosts when the return
4917         route is not the same as the outgoing route (esp. on NetBSD
4918         1.2.1).  If "conn" option was supplied, then don't turn on the
4919         "noconn" mount option.  Otherwise default to "noconn" mount
4920         option.
4921
4922         * aux/configure.in: better check for systems that need libgdbm and
4923         <ndbm.h>
4924
4925 Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4926
4927         * hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
4928         mounts are hidden from df(1) on systems that keep mount tables in
4929         kernel, such as osf1.
4930
4931 Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4932
4933         *******************************************************************
4934         *** Released am-utils-6.0a8                                     ***
4935         *******************************************************************
4936
4937 Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
4938
4939         * hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
4940         AF_INET when hlfsd mounts itself, thus getting an errno "protocol
4941         family not supported".
4942
4943 Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4944
4945         * verified that amd on NetBSD 1.2.1 (i386) works, but the OS
4946         itself is flaky.
4947
4948         * verified that amd AIX 3 works w/ the new readdir() code.
4949
4950 Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
4951
4952         * amd/mapc.c (maptypes): changed the default map caching type for
4953         nis and ndbm maps to "MAPC_ALL", so that all possible entries will
4954         be available to amd for browsable_dirs=yes.
4955
4956 Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4957
4958         * amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
4959         afs_readdir into a browsable version and a non-browsable one.
4960         Fixed bugs that resulted in an infinite nfs_readdir loop on the
4961         localhost for some operating systems.
4962
4963 Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4964
4965         * amd/ops_afs.c (afs_readdir): fixed up the browsable code to
4966         comply with nfs_readdir specs.  It was returning all entries at
4967         once, even if there was not enough space in the RPC packet.  Now,
4968         it sends a reasonably sized chunk, and sets static state to resume
4969         it for the next continuation RPC of readdir.
4970
4971         * amd/conf.c (set_conf_kv): fixed bug that resulted in the first
4972         regular map not getting all of the [global] options defaulted from.
4973
4974 Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4975
4976         * amq/amq.c (main): fixed so that portmapper "ping" will only fail
4977         upon an RPC timeout
4978
4979         * scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
4980         amd/hlfsd process to kill.
4981
4982         * amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
4983         determine how to avoid df from seeing amd's toplvl mounts.  Moved
4984         from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
4985         is hidden from df.
4986         (mount_toplvl): fixed df types for irix.
4987
4988 Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
4989
4990         * amq/amq.c (main): fixed bug that caused the 5 second timeout for
4991         TLI amq using udp to be ignored.
4992         (main): if amq cannot contact remote host's portmapper within 5
4993         seconds, timeout and fail faster than the default longer timeout
4994         (this is for non-TLI systems).
4995
4996 Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4997
4998         * amq/amq.c (get_secure_amd_client): if amq cannot contact
4999         remote host's portmapper within 5 seconds, timeout and fail faster
5000         than the default TLI timeout of over 4 minutes.
5001
5002         * amd/am_ops.c (ops_showfstypes): added styles for new bsd44
5003         file systems nullfs, unionfs, and umapfs.
5004         (ops_show1): cleanup code and and reuse this function.
5005         (vops): empty placeholders for nullfs, unionfs, and umapfs.
5006
5007         * amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
5008         bsd44 style file systems.
5009
5010         * fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
5011         sources.
5012
5013         * amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
5014         conflict with systems that define it in <sys/ioctl.h> and also
5015         define a conflicting one via lex.  Newer versions of f/lex are ok.
5016
5017 Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5018
5019         * amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
5020         acdirmin/max and acregmin/max only if they exist.
5021
5022         * aux/configure.in: test for nfs_args fields acdirmin and
5023         acregmin.
5024
5025 Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5026
5027         * aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
5028         "nondev" and commented back in checking for "nodev".  This was a
5029         typo.
5030
5031         * include/am_compat.h: more compatibility options: define "ro"
5032         mnttab option all the time.  Define "overlay" as needed.  Added
5033         more fillers of mnttab options (as per Daniel S. Riley
5034         <dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
5035         acregmin, noac, grpid, nosuid, and actimo.
5036
5037         * libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
5038         per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
5039         the same code for other options in struct opt_tab.
5040
5041 Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5042
5043         * amd/get_args.c (get_args): moved amd.conf file parsing to before
5044         the switching the default log/debug options.  Suggested by
5045         dsr@mail.lns.cornell.edu (Daniel S. Riley).
5046
5047         * aux/update_build_version: new script to record the build version
5048         of amd, along with the rest of the info thet comes up with amd -v.
5049
5050 Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
5051
5052         * aux/macros/os_cflags.m4: new macro, to add additional
5053         compilation options (also used during configuration), based on the
5054         OS and the compiler.  Used for solaris-2.6, osf, and irix6.
5055
5056 Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5057
5058         * amd/conf_tok.l, conf_parse.y: allow values of keys to include
5059         white spaces, if they are double-quoted (key="some value")
5060
5061         * amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
5062         of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
5063
5064 Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5065
5066         *******************************************************************
5067         *** Released am-utils-6.0a7                                     ***
5068         *******************************************************************
5069
5070 Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5071
5072         * include/am_defs.h: fill in extern definition of innetgr() in
5073         case system headers don't.
5074
5075         * aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
5076         will show the full pathname to yacc/bison and f/lex.  Some systems
5077         have older or bad versions of those and this way the user will
5078         know for sure what is being invoked.
5079
5080         * tasks: file populated with todo items.
5081
5082         * scripts/amd2ldif.in: Script to convert amd maps to plain text
5083         LDAP object files.  Contributed by Leif Johansson
5084         <leifj@matematik.su.se>.
5085
5086         * aux/config.guess: added recognition for sun3's running 4.2bsd,
5087         from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
5088
5089         * amd/conf.c: several variables that were local to a map, were
5090         also added to [global], where they apply to all maps.  Each map
5091         can then individually override those defaults.  Flags
5092         affected: browsable_dirs and mount_type.  Options affected:
5093         map_type, map_options, and search_path.
5094
5095         * amd/amd.h: eliminated several global flags each of which took an
5096         int, in favor of one global flags variable used as a bit field.
5097
5098         * amd/amd.c (init_global_options): moved all global variables into
5099         a single struct amu_global_options, so it is easier to add new
5100         ones and/or identify existing ones.
5101
5102         * amd/get_args.c (get_args): removed unused amd -m option.
5103
5104         * amd/conf.c (gopt_cluster): added new amd.conf option for cluster
5105         name, same as amd -C.
5106
5107         * amd/info_ldap.c: LDAP info map functions from Leif Johansson
5108         <leifj@matematik.su.se>.
5109
5110         * amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
5111         amd.conf options for ldap_base and ldap_hostports.
5112
5113         * amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
5114         if the current host is in the ARG host netgroup.
5115
5116         * aux/configure.in: some systems replaced dbm in libc with GNU's
5117         libgdbm, so check for libgdbm, but only if dbm_open is not in
5118         libc already.  This was a recommendation from Tom Schmidt
5119         <tschmidt@micron.com>.
5120
5121         * conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
5122         completed.
5123
5124 Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5125
5126         * port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
5127         V.3.
5128
5129 Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
5130
5131         * port to i386-unknown-freebsd3.0 done and working.  Includes NFS
5132         V.3.
5133
5134         * aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
5135         file handle dereferencing style similar to freebsd22.
5136
5137         * include/am_defs.h: need to include <net/if_var.h> before
5138         <netinet/if_ether.h> on freebsd3.
5139
5140         * conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
5141         for freeBSD 3.0.
5142
5143 Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
5144
5145         * amd/info_nis.c (nis_reload): cast nis' callback function so
5146         picky compilers won't complain.
5147
5148         * libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
5149         gets compiled only if the system has NFS V3 and does not have
5150         xdr_mountres3.
5151
5152 Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5153
5154         * COPYING: put in some legal stuff in this file.
5155
5156 Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
5157
5158         * NFS V3 now works under Irix5, thanks to patches from 
5159         Andreas Stolcke <stolcke@speech.sri.com>.
5160
5161         * conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
5162         version and an irix6 version, since irix5's NFS V3 code is broken
5163         and hacky.
5164
5165         * amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
5166         sizes for some hesiod queries.  Patch from Danny Braniss
5167         <danny@cs.huji.ac.il>.
5168
5169 Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
5170
5171         * amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
5172
5173 Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
5174
5175         * aux/{configure.in,acconfig.h}: added checks for struct
5176         nfs_args's fields proto and sotype (bsdi3).
5177         
5178         * amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
5179         nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
5180         to SOCK_STREAM or SOCK_DGRAM.
5181
5182         * aux/macros/check_mount_style.m4: add case for bsdi3.
5183
5184         * amd/info_hesiod.c: got hesiod support for bsdi3.
5185
5186 Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5187
5188         * aux/configure.in: look for hesiod on libc (bsdi3)
5189
5190         * amd/get_args.c (get_args): reformat usage so it fits in 80
5191         columns.
5192
5193         * scripts/ctl-amd.in: changed directory name for optional tftpboot
5194         map to /tftpboot/.amd.
5195
5196 Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5197
5198         *******************************************************************
5199         *** Released am-utils-6.0a6                                     ***
5200         *******************************************************************
5201
5202 Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5203
5204         * scripts/ctl-amd.in: include -T tag for tftpboot.
5205
5206         * new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
5207         is broken and needs work on the specific nfs_args that irix5 uses
5208         for V3 mounts.
5209
5210 Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5211
5212         * amd/get_args.c (get_args): new options amd -T tag.  A map with
5213         tag=foo matching the -T tag will be processed.  All untagged maps
5214         get processed all the time.
5215
5216 Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5217
5218         * aux/configure.in: need to check for strcasecmp in libucb (ncr2)
5219
5220         * aux/macros/check_os_libs.m4: a new macro to set the usage of
5221         libnsl and libsocket based on the OS.
5222
5223         * libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
5224         defined (problem on osf4).
5225
5226         * conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
5227
5228         * include/am_defs.h, aux/macros/try_compile_nfs.m4,
5229         aux/macros/mount_headers.m4: do include <sys/proc.h> because it
5230         failes on irix5.  Rather, put in the individual
5231         conf/nfs_prot/nfs_prot_*.h headers.
5232
5233         * amd/conf.c: AIX3 doesn't like strdup() being passed a constant
5234         char*, so cast all strdup()'s args to a non-const char*.
5235
5236         * amd/mapc.c (root_newmap): don't try to strdup only a "const
5237         char *".
5238
5239 Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
5240
5241         * conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
5242         sys/errno.h.
5243
5244 Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
5245
5246         * made sure am-utils compiles, links, and runs properly on Irix
5247         6.2 using "cc -32 -Wl,-woff,"
5248
5249         * aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
5250         AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
5251         them to $LIBS.
5252
5253         * aux/configure.in: some cleanup of which libraries are needed.
5254         Espectially ensure that libnsl is included only on Solaris, where
5255         so far it is the only system on which it is absolutely necessary.
5256         Also no longer need to include libc explicitly. 
5257
5258         * amd/amd.c,wire-test/wire-test.c (main): convert IP address to
5259         network-long order before printing it.
5260
5261         * wire-test/wire-test.c (main): also check and report on the IP
5262         address of the local host, since some systems have bad versions of
5263         get_myaddress, or ones that conflict with other versions in
5264         multiple libraries (SunOS 4 and Irix especially).
5265
5266 Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
5267
5268         * scripts/ctl-amd.in: don't use full pathname so killproc() works
5269         better.  Also run bsd44 and irix style ps programs. 
5270
5271         * aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
5272         of library no matter if it was found or not.
5273
5274 Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5275
5276         * aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
5277         for M_* macros, but ensure that <sys/stream.h> is not included at
5278         all so it won't conflict with other M_* macros.
5279
5280 Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
5281
5282         * conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
5283         irix should be "spec" (host:/path), not the dir of the mnt point.
5284
5285         * amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
5286         fixed.  If on, it essentially ignored the setting in a
5287         selector-controlled /defaults if there were 2 or more entries in it.
5288
5289 Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5290
5291         * scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
5292         using BSD style ps, then try SVR4 style ps.
5293
5294         * include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
5295         etc., to avoid conflicts with similar named macros in <ldap.h>.
5296
5297         * aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
5298         support needed for LDAP.  Now the code has to be written mostly in
5299         amd/info_ldap.c.
5300
5301         * Included additional patches from Andreas Stolcke
5302         <stolcke@speech.sri.com> to support using the best possible
5303         combination of NFS version (2,3) and protocol (udp,tcp) for any
5304         given host, since it appears that some Irix versions have NFS V3,
5305         but do not support TCP.
5306
5307         * scripts/ctl-amd.in: updated amd control script to look for and
5308         use amd.conf file.
5309
5310 Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5311
5312         * amd/mapc.c (mapc_create): now, each map in the amd.conf can be
5313         initialized off of a different type, or default to cycling through
5314         all maps until one of them matches.
5315
5316 Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5317
5318         * amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
5319         if browsable_dirs=yes is set in the map section in amd.conf, that
5320         map will return all entries back to a readdir(2).
5321
5322 Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5323
5324         * rudimentary amd.conf file support included.  You may even
5325         override things like os=sos5, to get "backwards" compatibilty with
5326         upl102.
5327
5328 Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5329
5330         * amd/conf.c: new file to process amd.conf file.
5331
5332         * amd/get_args.c (get_args): new options -H to print help.
5333
5334         * moved enable_default_selectors to be amd.conf controlled, and
5335         not compiler controlled.
5336
5337         * amd/get_args.c (get_args): new options -F <conf-file> to parse an
5338         amd configuration file.
5339
5340 Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5341
5342         * converted all files that used strcmp() == 0 or != 0  to using
5343         the STREQ() macro.
5344
5345 Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5346
5347         * aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
5348         search for any number of functions in any given library.
5349
5350 Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5351
5352         * amd/mapc.c: Included patch from Leif Johansson
5353         <leifj@matematik.su.se> to ensure that systems without an RE
5354         library can compile.
5355
5356         * libamu/mount_fs.c (mount_fs): Included patch from Andreas
5357         Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
5358         table are properly delimited by a comma.
5359
5360         * amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
5361         Stolcke <stolcke@speech.sri.com>, to allow users to override the
5362         proto= and vers= mount options.
5363
5364 Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
5365
5366         * conf/nfs_prot/nfs_prot_svr4.h: port completed to
5367         i486-ncr-sysv4.3.03.  Assorted source cleanups done.
5368
5369         * include/am_defs.h, aux/macros/mount_headers.m4: don't include
5370         mnttab.h if sys/mnttab.h was already included, because on ncr2,
5371         they contain conflicting entries for struct mnttab.
5372
5373 Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
5374
5375         * aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
5376
5377 Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
5378
5379         * amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
5380
5381         * aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
5382         on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
5383
5384 Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
5385
5386         * aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
5387         nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
5388         better.
5389
5390 Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5391
5392         * amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
5393         NULL, set the maxlen and len fields in netbuf to zero.
5394
5395 Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5396
5397         * scripts/fix-amd-map.in (name): replace all matching patterns on
5398         line.
5399
5400 Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5401
5402         *******************************************************************
5403         *** Released am-utils-6.0a5                                     ***
5404         *******************************************************************
5405
5406 Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5407
5408         * amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
5409         procedure now returns the full string that amd -v returns.
5410
5411         * amd/get_args.c (get_version_string): new function to return
5412         complete version/info string so it could be used more flexibly.
5413
5414         * amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
5415         of Fs types into a string buffer, rather than a FILE*.
5416
5417         * amd/mapc.c (mapc_showtypes): put the list of map types into a
5418         string buffer, rather than a FILE*.
5419
5420 Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5421
5422         * amd/get_args.c (get_args): amd -v also prints user who built
5423         amd, hostname built on, and date of configuration.
5424
5425 Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5426
5427         * scripts/lostaltmail.conf-sample: sample lostaltmail
5428         configuration file.
5429
5430         * scripts/lostaltmail.in: new script lostaltmail used to redeliver
5431         "lost" mail that hlfsd redirected to a temp location because the
5432         primary home file system of the user was full.
5433
5434         * scripts/amd2sun.in: new script amd2sun. Used to convert Sub
5435         automount maps to amd maps.
5436
5437         * scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
5438         stop, or restart hlfsd.
5439         
5440         * scripts/expn.1: man page for expn command.
5441
5442         * scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
5443         restart amd.
5444
5445         * scripts/expn.in: new script expn.  Actually taken from David
5446         Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
5447         script.
5448
5449         * scripts/wait4amd.in: new script wait4amd added.  Waits for amd
5450         to come up on a host, and then runs a command (rsh $hostname by
5451         default).
5452
5453         * scripts/Makefile.am: new directory now holds all shell/perl
5454         scripts that belong to am-utils.
5455
5456         * conf/mount/mount_linux.c (parse_opts): new parser for
5457         linux-specific mounts.  Handles fs-type specific mount-options
5458         correctly.  Currently implemented: msdos, iso9660.
5459
5460         * amd/ops_pcfs.c (pcfs_ops): don't timeout cdfs mounts by default
5461         (fix for linux).
5462
5463         * amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
5464         (fix for linux).
5465
5466         * amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
5467         core dumps upon "ls" of a mount point; an invalid pointer was
5468         being returned and dereferenced.
5469
5470         * port to Linux sparc working!
5471
5472         * hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
5473         failed to write test file, or else the fd will leak.
5474
5475 Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5476
5477         * amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
5478         instead of strcmp().
5479
5480         * Port to Digital Unix 4.0 (OSF) done.
5481
5482         * hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
5483         with dirname() function in <string.h> on OSF systems.
5484
5485         * fsinfo/fsi_util.c (set_ether_if): take out extern defintion of
5486         inet_addr().  It should come from <arpa/inet.h> instead.
5487
5488         * conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
5489
5490         * include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
5491         avoid conflicts with DU 4.0 system header.
5492
5493 Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
5494
5495         * libamu/mount_fs.c (mount_fs): pass along NFS version so I can
5496         determine if to include additional options in the mount table file
5497         entry (such as proto=tcp, and vers=3).
5498
5499 Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5500
5501         * libamu/mount_fs.c (mount_fs): include NFS version number in the
5502         mount table options, as well as proto={tcp,udp}.
5503
5504 Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5505
5506         * NFS V3 code ported to most other systems, so it compiles for V2
5507         and V3 NFS systems.
5508
5509         * NFS VERSION 3 support, first pass.  Working for Solaris and
5510         using TCP.
5511
5512 Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5513
5514         * amq/amq.c: many newline characters were missing from various
5515         stderr printfs.
5516
5517 Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5518
5519         * conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
5520         Solaris, which include NFS V3 support.
5521
5522         * conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
5523
5524         * conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
5525         protocol version while getting a mount client.
5526
5527         * amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
5528         file handle size, and proper file handle based on the correct NFS
5529         version number.
5530
5531         * conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
5532         Solaris and other SVR4 systems.
5533
5534         * amd/ops_nfs.c: store NFS file handle version and version
5535         specific handle in struct fh_cache.
5536         (got_nfs_fh): pick the correct RPC reply based on the NFS version
5537         of the server.
5538         (prime_nfs_fhandle_cache): figure out the right NFS file handle
5539         for a node, but now include NFS protocol version information.
5540         (call_mountd): set the correct version for the mount protocol,
5541         based on the NFS protocol version.
5542         (nfs_init): use the NFS protocol generic structure
5543         am_nfs_handle_t.
5544
5545         * include/am_utils.h: new structure am_nfs_handle_t to contain all
5546         possible versions of NFS file handles.
5547
5548         * amd/srvr_nfs.c (start_ping): ping program performs NFS version
5549         specific pings.
5550         (recompute_portmap): figure out the correct portmap version mount.
5551         (nfs_keepalive): call start_ping() with the correct NFS version.
5552         (find_nfs_srvr): if mount option "vers=" is given, use it.  Get
5553         the NFS server version and verify that it is up.
5554
5555         * conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
5556         function to find the best NFS version for a particular host.
5557
5558         * libamu/amu.h: determine what is the highest version of NFS we
5559         should try.
5560
5561         * include/am_utils.h (NFS_VERSION3): added definition for NFS V3
5562         protocol number.
5563         Added field fs_version to struct fserver, so we can now store the
5564         server protocol version.
5565
5566 Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5567
5568         * aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
5569         underscores too, so I can test for sub-fields.
5570
5571         * libamu/wire.c: use test that checks for sub-fields of struct
5572         ifreq.
5573
5574 Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
5575
5576         * port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
5577         into smaller files.  M4 macros fixed to test for existence of
5578         file systems using getvfsbyname().
5579
5580         * amd/sched.c (sigchld): signal handler must waitpid() for all
5581         possible children.
5582
5583         * hlfsd/homedir.c: signal handler must waitpid() for all possible
5584         children. 
5585
5586         * aux/macros/check_restartable_signals.m4: new macro to determine
5587         if need to reinstall signal handlers per OS is better than trying
5588         to figure these out based on system macros.
5589
5590 Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
5591
5592         * amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
5593
5594         * amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
5595
5596         * amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
5597         (must be supplied for bsdi 3.0)
5598
5599         * libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
5600         associated new macro) for determining the right way to compute the
5601         size of the interface structure.
5602
5603 Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5604
5605         * aux/configure.in: need to include libc before libnsl if
5606         get_myaddress() is available because on irix libnsl has a buggy
5607         get_myaddress().
5608
5609         * include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
5610         on Irix 6 (an SVR4 variant)
5611
5612 Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5613
5614         *******************************************************************
5615         *** Released am-utils-6.0a4                                     ***
5616         *******************************************************************
5617
5618 Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5619
5620         * amd/amq_subr.c (ok_security): turned off insecure code unless
5621         user explicitly runs configure --enable-amq-mount.
5622
5623         * hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
5624
5625         * amd/nfs_start.c (mount_automounter): use code that separately
5626         creates the NFS and the amq service.  Register tcp and udp
5627         services for amd.
5628
5629         * conf/transp/transp_*.c (create_amq_service): new function to
5630         separately create the amq service for amd.  Simplified prototypes
5631         for create_nfs_service().
5632
5633 Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5634
5635         *******************************************************************
5636         *** Released am-utils-6.0a3                                     ***
5637         *******************************************************************
5638
5639 Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5640
5641         * new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
5642         of small changes to support these two.
5643
5644 Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
5645
5646         * conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
5647         should run if MOUNT_TABLE_ON_FILE, not otherwise.
5648
5649 Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5650
5651         * hlfsd/hlfsd.c (main): fill in fhsize field if exists
5652         (freebsd-2.2).
5653
5654         * amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
5655         exists (freebsd-2.2).
5656
5657 Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5658
5659         * new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
5660         changed the filehandle type in struct nfs_args from nfsv2fh_t to
5661         u_char.
5662
5663 Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5664
5665         * SHARED LIBRARIES: too many change to list individually.  Now,
5666         libamu can be built as a shared library, and other programs link
5667         with it.
5668
5669 Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5670
5671         * aux/macros/opt_shared.m4: new macro for setting options for
5672         building shared am-utils libraries.
5673
5674 Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5675
5676         * fixmount/fixrmtab: cleaned up the script.
5677
5678         * fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
5679         fixrmtab gets distributed too.
5680
5681         * conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
5682         Added extern for xdr_mountlist().
5683
5684         * aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
5685         MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
5686         the sources.
5687
5688 Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5689
5690         * fixmount/hlfsd ported to bsd44, hpux, and linux systems.
5691
5692         * aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
5693
5694         * conf/fixmount/fixmount_default.c: use lockf() if flock() is
5695         unavailable.
5696
5697         * include/am_defs.h: include <string.h> even if don't have
5698         STDC_HEADERS defined (sunos4).
5699         (seteuid): define seteuid() to be setresuid() for systems that
5700         have but not the other (hpux).
5701
5702         * aux/macros/check_extern.m4: test should include <strings.h>.
5703
5704 Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5705
5706         * lib/xutil.c (debug_option): moved from amd/getargs.c to this
5707         more proper file.
5708
5709         * include/am_utils.h: put in structure for debug options, for all
5710         progams to use.
5711
5712         * amd/get_args.c: moved structure for debug options out.
5713
5714 Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5715
5716         * ported fixmount.
5717
5718         * lib/ualarm.c: replacement function for systems that don't have a
5719         ualarm().
5720
5721         * ported fsinfo.
5722
5723 Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5724
5725         * ported mk-amd-map.
5726
5727         * buildall: added -K option to buildall, to run mkconf.
5728
5729 Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5730
5731         *******************************************************************
5732         *** Released am-utils-6.0a2                                     ***
5733         *******************************************************************
5734
5735 Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5736
5737         * all *.[hcyl] files: add copyright line.
5738
5739         * aux/macros/check_mount_type.m4: test for mount type for
5740         linux-like systems, by checking for loadable or statically linked
5741         kernel filesystem modules.
5742
5743         * aux/macros/check_mnttab_type.m4: test for mount table entry
5744         for linux-like systems, by checking for loadable or statically
5745         linked kernel filesystem modules.
5746
5747         * aux/configure.in: pcfs filesystems can use vfat type (linux)
5748
5749         * aux/macros/check_fs_mntent.m4: test for filesystem existence for
5750         linux-like systems, by checking for loadable or statically linked
5751         kernel filesystem modules.
5752
5753         * conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
5754         9.0 header files.  This should be removed when HPUX 9.0 is deemed
5755         defunct.
5756
5757         * aux/acconfig.h: set an undefined variable for having an extern
5758         to clnt_sperrno().
5759
5760         * include/am_defs.h: define extern for clnt_sperrno() if needed.
5761
5762         * aux/configure.in: test for extern clnt_sperrno().
5763
5764         * aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
5765         similar to irix.
5766
5767         * aux/macros/check_mount_style.m4: use mount helper on HPUX.
5768
5769         * aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
5770         not integer (but may be mapped to one later).
5771
5772         * conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
5773         files.  They have mount(2) and vfsmount(2) which don't take same
5774         arguments, and they have string mount types MNTTYPE_* as well as
5775         integer types MOUNT_*.  So I need this new mount function to map
5776         from string types to integer types for the vfsmount() function.
5777
5778         * conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
5779         vfsmount(), call mount_hpux().
5780
5781 Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
5782
5783         * lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
5784         both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
5785
5786 Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5787
5788         * conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
5789         hpux.
5790
5791         * include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
5792
5793         * aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
5794
5795         * buildall: added ability to configure using other shells than
5796         /bin/sh, on those systems where /bin/sh is buggy or limited
5797         (HPUX).
5798
5799         * aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
5800         defined am_nfs_fh, and also test for plain typedef "nfs_fh".
5801
5802         * aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
5803         reinstated macro.
5804
5805         * aux/configure.in: check for <nfs/export.h>
5806
5807         * include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
5808
5809         * aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
5810         exists.
5811
5812         * aux/macros/mount_headers.m4 (define): removed some non-working
5813         (on HPUX) code that attempts to recreate the fhandle_t rather than
5814         load it up from system headers.  Also added some NFS protocol
5815         header inclusion.  include <nfs/export.h> (HPUX) if exists.
5816
5817 Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
5818
5819         * aux/macros/mount_headers.m4 (define): Use M4 changequote to
5820         ensure [] brackets are correctly used.
5821
5822         * aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
5823         multi-line M4 inclusions in [].
5824
5825 Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5826
5827         * conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
5828         it exists.
5829
5830         * aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
5831         config.h macro for field f_fstypename of struct statfs.
5832
5833         * aux/configure.in: testing for field f_fstypename field of struct
5834         statfs (NetBSD).
5835
5836         * aux/acconfig.h: moved all of the "static" definitions out to a
5837         fixed file called include/am_defs.h.  Added to all */Makefile.am
5838         files a dependency on am_defs.h.  Created am_defs.h of course, and
5839         then added #include <amd_defs.h> to all of the source and header
5840         files that required it.
5841
5842 Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
5843
5844         * aux/acconfig.h: two more externals for xdr functions that may be
5845         implemented by libamu.
5846
5847         * conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
5848         definitions.
5849
5850 Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5851
5852         * buildall (default): added -D option for turning on even stricker
5853         developer options.
5854
5855         * */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
5856         determine dependencies on optional NFS protocol headers.
5857
5858         * aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
5859
5860         * aux/macros/check_nfs_prot_header.m4: new test to determine what
5861         NFS protocol headers to use. 
5862
5863         * conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
5864         complete missing system headers for NFS protocol definitions.
5865
5866 Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
5867
5868         * amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
5869         #ifdef's as needed.
5870
5871         * amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
5872         suitable #ifdef'ed.
5873
5874         * include/am_compat.h: a couple more mnttab options
5875         (timeo/retrans) setting just in case.
5876
5877         * amd/autil.c (host_normalize): make sure hostent->h_name is
5878         passed a non-const char *.
5879
5880         * conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
5881
5882         * {lib,amq,amd}/*.c (many functions): cast xdr_entry to
5883         XDRPROC_T_TYPE.
5884
5885         * lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
5886         XDRPROC_T_TYPE.
5887
5888         * lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
5889         XDRPROC_T_TYPE.
5890
5891         * lib/wire.c (getwire): Make sure safe assignment from const to
5892         none is done.
5893
5894 Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
5895
5896         * aux/macros/expand_cpp_int.m4: new macro for expanding integers.
5897
5898         * aux/configure.in: added linux/fs.h support in configure and
5899         several M4 macros.
5900
5901         * conf/mount/mount_linux.c (mount_linux): use macro instead of
5902         "ugly" fixed hex number for mount() arguments.
5903
5904 Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5905
5906         * amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
5907         turned all of its code always on.  That code always seems to
5908         compile, as long as you have hesiod and libresolv.
5909
5910         * amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
5911         of its code always on.
5912
5913         * aux/configure.in: removed superfluous test for hs_zone_transfer
5914         function (will never find it because it is an amd-internal
5915         function).
5916
5917         * amd/mapc.c (maptypes): must used correct new name for am-utils'
5918         hesiod initialization function: hesiod_am_init.
5919
5920         * amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
5921         hesiod_am_init so as not to conflict with libhesiod's
5922         hesiod_init() function.
5923
5924         * aux/configure.in: added test and explicit inclusion of
5925         libresolv.a for later resolution of library references with
5926         libhesiod.
5927
5928         * aux/macros/opt_cppflags.m4: new file.  configure/compile C
5929         preprocessor flags.
5930
5931         * aux/macros/opt_libs.m4: new file.  configure/compile library
5932         flags.
5933
5934         * Makefile.am (EXTRA_DIST_AUX): include two new macros
5935         opt_cppflags.m4 and opt_libs.m4.
5936
5937         * aux/configure.in: test for libhesiod needs to additional
5938         libresolv to link completely.  Additional configuration time
5939         options added for setting initial CPPFLAGS and LIBS.
5940
5941 Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5942
5943         *******************************************************************
5944         *** Released am-utils-6.0a1                                     ***
5945         *******************************************************************
5946
5947 Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5948
5949         * amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
5950         it works on freebsd, where they map dbm_pagfno a non-existing
5951         macro on purpose, to force you to port the code to Berkeley DB.
5952
5953 Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5954
5955         * amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
5956         actual mount_toplvl, to avoid some possible race conditions.
5957
5958 Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5959
5960         * amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
5961
5962 Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5963
5964         * lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
5965
5966         * amd/amd.c (main): fix local address using htonl(). Free up
5967         buffers allocated by netdir_*() functions.
5968
5969 Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5970
5971         * amd/fix-amd-map.in: new script that will convert old-style amd
5972         maps to new one.
5973
5974 Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5975
5976         * FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
5977         and replies back to simple nfs/link type mount queries).
5978
5979         * conf/mtab/mtab_svr4.c: reorganized the code in this file to be
5980         easier to read, and fixed a few bugs with un/setting the lock file
5981         descriptor.
5982
5983 Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5984
5985         * amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
5986         signals in Svr3 systems.  Only stellix ever used this.
5987
5988         * amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
5989         by DYNAMIC_BUFFERS, since it was not in use.
5990
5991 Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5992
5993         * amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
5994         takes '=' sign as old selector.  Fix your maps.
5995         (deslashify): removed APOLLO code that treated two '//' as one.
5996
5997 Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5998
5999         * amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
6000         was not used.  It made any submount error fail the whole group.
6001
6002         * amd/ops_nfs.c (make_nfs_auth): removed code dependent on
6003         HAS_NFS_QUALIFIED_NAMES.
6004         (mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
6005         is never on.  So code that was triggered by #ifndef
6006         NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
6007         be fixed later.
6008         Removed all ULTRIX_HACK code.  Ultrix is DEAD!
6009         removed all PRESET_AC code, which was only on for Linux to preset
6010         the attribute cache values (otherwise they default to zero).
6011         (nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
6012         have to fixed up later.
6013         (mount_nfs_fh): removed code that was never included, which
6014         attempted to set the port on which amd's nfs mounts on.  This
6015         isn't supported by the ping algorithm yet.  In any case, it is all
6016         done in nfs_init().
6017
6018         * amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
6019         removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
6020         specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
6021         have to be addressed later.
6022
6023         * amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
6024         on PRECISE_SYMLINKS.
6025
6026         * amd/mapc.c (mapc_meta_search): removed code that depended on
6027         HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
6028         to be rethought.
6029         (mapc_add_kv): ported code to use standard regular expression
6030         (regexp) library.
6031
6032         * amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
6033         FLUSH_KERNEL_NAME_CACHE and the macro itself.
6034
6035 Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6036
6037         * amd/map.c (exported_ap_alloc): removed all code triggered by
6038         SHRINK_EXPORTED_AP and the macro itself.
6039
6040         * amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
6041         in all the time.  Assuming that there is always NIS realod
6042         available.
6043         (yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
6044         function is broken such that it does not release filedescriptors
6045         it created, then you are hosed.  Get a fix for yp_all from your
6046         vendor or switch operating systems.
6047
6048 Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6049
6050         * amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
6051         HAVE_HS_ZONE_TRANSFER.
6052
6053 Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6054
6055         * amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
6056         always included.  We should always try to inform the remove mount
6057         daemon of mounts we performed.  If we want an option for this, it
6058         should be a run-time option.
6059
6060         * amd/host_ops.c: removed all that optionally did not make the
6061         directory mount points for amd.
6062
6063         * HOST_EXEC code removed from everywhere.  There is no indication
6064         that it was used anywhere.  If it needs to be used, then a
6065         run-time switch should control it.
6066
6067 Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6068
6069         * amd/*_ops.c: removed all references to mntent_t's fields
6070         mnt_freq and mnt_passno, since they are no longe rused (and never
6071         have been).
6072
6073         * amd/am_ops.c: removed function sunos4_match, which was off
6074         anyway.  This was one of the places where an '=' sign was allowed
6075         as an assignment operator (which is now ':=').
6076
6077         * amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
6078         was off anyway.  This was one of the places where an '=' sign was
6079         allowed as an assignment operator (which is now ':=').
6080
6081 Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6082
6083         * amq/amq.c: ported to am-utils.  Working.
6084
6085         * conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
6086         to be string, as it should be (rather than a string mapped to int
6087         and back mapped to string).
6088
6089 Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6090
6091         * lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
6092
6093         * lib/umount_fs.c: split this into three files: default, osf, and
6094         bsd44, that are in conf/umount/umount_*.c.
6095
6096 Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6097
6098         * aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
6099         macro to automatically figure out if an external definition for
6100         sys_errlist[] exists.
6101
6102         * lib/xutil.c (xfree): removed "#undef free" because it's not
6103         needed there.  Any system that redefines free() needs help.
6104
6105         * conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
6106         was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
6107         in active use anywhere.  If added later, it should be a run-time
6108         configuration option.
6109
6110         * conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
6111         be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
6112         in a file in /etc.
6113
6114         * lib/util.c (str3cat): removed _AIX code.  AIX should have a
6115         working realloc, or else find a cleaner solution to this.
6116         (mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
6117         after immediately making directories so that fsck will be able to
6118         fix the filesystem in the event of an immediate crash.  This was
6119         because a bug in UFS which is fixed by now.
6120
6121         * lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
6122         code.  Does not appear to be on and used anywhere.
6123         (dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
6124
6125         * lib/resvport.c: split the binding of reserved ports code to a
6126         separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
6127         from the BSD code.
6128
6129 Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6130
6131         * lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
6132         in by automake and configure, for optional sources that need to be
6133         built as part of libamu.a.
6134
6135         * aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
6136         to LIBOBJS.
6137
6138         * lib/memcmp.c (memcmp): new file added to replace a possible bad
6139         implementation of memcmp.
6140
6141 Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6142
6143         * converted the sources to use memset/memmove/memcmp instead of
6144         bzero/becopy/bcmp.
6145
6146         * ran all sources through gnu Indent w/ options specified in
6147         aux/amindent.
6148
6149 Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6150
6151         * At this point the initial genration of config.h via autoconf and
6152         some preliminary makefiles via automake is done.  I will not begin
6153         modifying sources, so it's a good time to document from here.