ChangeLog revision 1.5 1 2015-01-17 Christos Zoulas <christos (a] zoulas.com>
2
3 * Move libtool macro functions from m4/macros to m4 and delete
4 the repository copies. Makes am-utils work with libtool-2.4.4
5 and fixes the serial number warnings (raven at themaw.net)
6
7 2014-10-28 Christos Zoulas <christos (a] zoulas.com>
8
9 *******************************************************************
10 *** Released am-utils-6.2 ***
11 *******************************************************************
12
13 * add ylwrap.amd, sick and tired of patching broken ylwrap.
14
15 2014-09-05 Christos Zoulas <christos (a] zoulas.com>
16
17 * factor out the size check for both readdir methods
18 (raven at themaw.net)
19
20 2014-09-03 Christos Zoulas <christos (a] zoulas.com>
21
22 * configure test for 64 bit xdr function (raven at themaw.net)
23
24 2014-09-01 Christos Zoulas <christos (a] zoulas.com>
25
26 * bug fix from raven at themaw.net to prevent writing v3 handle
27 to a v2 structure.
28
29 2014-07-21 Christos Zoulas <christos (a] zoulas.com>
30
31 * fix permission problems with access
32 * auto_nfs_version = 3 now works for me.
33
34 2014-07-20 Christos Zoulas <christos (a] zoulas.com>
35
36 * refresh some autoconf files
37 * force autoconf version since earlier versions don't work
38 * changes from raven at themaw.net to support NFSv3 for automounted
39 toplevel filesystems presented to the list in May. A few bug fixes
40 and integration changes by me. The code now works well enough to
41 mount the filesystem with NFSv3 and automount children but readdir
42 does not work yet (so no listing of automounted filesystems).
43 The new code is not enabled by default. To enable use
44 auto_nfs_version = 3
45 in your configuration file.
46
47 2014-03-26 Christos Zoulas <christos (a] zoulas.com>
48
49 From Ian Kent <ikent (a] redhat.com>
50
51 * use mktemp in scripts/fixrmtab
52 * fix documentatio nits
53 * [linux] Add ext2, ext3, ext4 specific mount options
54 * fix tcpwrappers (hosts.{allow,deny} problems for specific host
55 entries
56
57 2014-03-20 Christos Zoulas <christos (a] zoulas.com>
58
59
60 * don't background autofs umount
61 * avoid fh NULL dereference on umount
62 * handle ENOENT umount return for autofs mounts
63 * fix error message in get_nfs_version
64 * fix debug log deadlock
65 * [linux] retry umount on EBUSY
66 * handle failed umount on exit
67
68 2014-03-09 Christos Zoulas <christos (a] zoulas.com>
69
70 * Remove BSD advertising clause.
71 * Remove expn program which is not used by anything
72
73 2013-12-05 Christos Zoulas <christos (a] zoulas.com>
74
75 * Change the way we handle multiple lex scanners and yacc parsers
76 in a single program. Our old patch to ylwrap does not work anymore
77 because the bison parsers need shared symbols that start with yy
78 and we can't easily select which ones work. So now we use -P and
79 -p to let lex and yacc do the work for us. This requires a patch
80 to ylwrap, but it is smaller.
81
82
83 2013-12-05 Christos Zoulas <christos (a] zoulas.com>
84
85 * Change the way we handle multiple lex scanners and yacc parsers
86 in a single program. Our old patch to ylwrap does not work anymore
87 because the bison parsers need shared symbols that start with yy
88 and we can't easily select which ones work. So now we use -P and
89 -p to let lex and yacc do the work for us. This requires a patch
90 to ylwrap, but it is smaller.
91
92 2013-05-14 Christos Zoulas <christos (a] zoulas.com>
93
94 * update to handle new autoconf and regen files
95
96 2012-11-23 Christos Zoulas <christos (a] zoulas.com>
97
98 * recognize mountport=, noacl options
99 * simplify the bootstrap process, by forcing
100 all the files to be rebuild with autoreconf -f - i
101
102 2012-10-03 Christos Zoulas <christos (a] zoulas.com>
103
104 * add missing ops_nfs4.c to the Makefile.am
105
106 2012-09-14 Christos Zoulas <christos (a] zoulas.com>
107
108 * add locking option handling for lustre
109 * fix noatime, nodiratime, mandlock for linux
110
111 2012-07-25 Christos Zoulas <christos (a] zoulas.com>
112
113 * bug fixes for lustre rhost parsing
114
115 2012-06-27 Christos Zoulas <christos (a] zoulas.com>
116
117 * Disable 1/2-baked sun map support to avoid SIGSEGV
118
119 2012-06-16 Christos Zoulas <christos (a] zoulas.com>
120
121 *******************************************************************
122 *** Released am-utils-6.2-rc1 ***
123 *******************************************************************
124
125 * Fix libtool.m4 to work with later versions of autoconf.
126 * In buildall, use eval so that quoted strings work
127 * Centralize nfs version checking function, and introduce
128 new configuration variable nfs_vers_ping, which is the
129 max version we ping for. This is not documented yet, because
130 there might be a better way separate the max version we can
131 use vs the max version we ping for.
132
133 2012-06-09 Christos Zoulas <christos (a] zoulas.com>
134
135 * fix issue with parsing nfsv4 security option strings
136
137 2012-05-01 Christos Zoulas <christos (a] zoulas.com>
138
139 * Handle EPERM return from v4 file handles
140 in old linux kernels
141
142 2012-03-09 Christos Zoulas <christos (a] zoulas.com>
143
144 * fix linux autofs detection
145 * fix wrong types in new amq mount xdr processing
146
147 2012-01-25 Christos Zoulas <christos (a] zoulas.com>
148
149 * FreeBSD portability fixes
150
151 2012-01-23 Christos Zoulas <christos (a] zoulas.com>
152
153 * Avoid type punned warnings
154
155 2011-12-29 Christos Zoulas <christos (a] zoulas.com>
156
157 * fix bug I introduced in get_nfs_version that caused it to return 0
158 * add direct support for ext{2,3,4}
159
160 2011-12-15 Christos Zoulas <christos (a] zoulas.com>
161
162 * Include <linux/fs.h> on linux, to grab extra mount flags
163 * Add support for lustre
164
165 2011-11-28 Christos Zoulas <christos (a] zoulas.com>
166
167 * For nfsl mounts, match against either the short local
168 host name or the fqdn name.
169
170 2011-10-06 Christos Zoulas <christos (a] zoulas.com>
171
172 * Add NFSv4 support (loosely based on Ramya's code).
173 Currently if the NFSv4 mount fails with ENOENT we fail
174 back to NFSv3, unless -DNO_FALLBACK.
175 * Replace strdup with xstrdup. It is not nice to replace
176 system functions with ones that behave differently.
177 * Add various consistency checks (caller function checks
178 variable for NULL, but callee does not).
179 * Fix error handling in various paths.
180 * Don't check before using XFREE(). free(NULL) works.
181
182 2011-09-15 Christos Zoulas <christos (a] zoulas.com>
183
184 * amq -i addition (prints info about the map files)
185
186 2011-09-14 Christos Zoulas <christos (a] zoulas.com>
187
188 * Solaris OS and compiler fixes from:
189 Hofmann, Frank <Frank.Hofmann (a] morganstanley.com>
190 Sayle, Alex <Alex.Sayle (a] morganstanley.com>
191 - (void)&var generates warnings, removed
192 - __inline is invalid, changed with inline
193 - <sys/socket.h> and other headers have extra dependendcies
194 `
195 2011-08-11 Christos Zoulas <christos (a] zoulas.com>
196
197 * fix potential buffer overflow in expand_error()
198 (Richard Kettlewell). Does not seem to be exploitable.
199
200 * simplify %option parsing to appease ancient flex.
201
202 2011-06-21 Christos Zoulas <christos (a] zoulas.com>
203
204 * add support for linux autofs version 5 (untested)
205
206 2011-06-18 Christos Zoulas <christos (a] zoulas.com>
207
208 * roll back to an older version of libtool that works
209
210 * newer versions of config.guess and config.sub
211
212 * minor fixes to buildall
213
214 2011-05-19 Christos Zoulas <christos (a] zoulas.com>
215
216 * m4/macros/libtool.m4: for AIX AC_LANG_PROGRAM is incorrectly
217 used and the latest autoconf gives an error. For now just
218 quote it.
219
220 * configure.in: Fedora Core 15 and RedHat 6 now don't define
221 af_family_t in <linux/socket.h>, but in <bits/sockaddr.h>.
222 Include <sys/socket.h> so that we get <bits/sockaddr.h>
223 indirectly. This caused the <linux/nfs_mount.h> detection
224 test to fail.
225
226 2010-11-24 Erez Zadok <ezk (a] fsl.cs.sunysb.edu>
227
228 * m4/macros/os_cflags.m4: for linux, define _GNU_SOURCE (to get
229 definitions for O_LARGEFILE and more).
230
231 2010-11-20 Christos Zoulas <christos (a] zoulas.com>
232
233 * Update news items, add release readme, mark as rc1
234
235 * Fix addopts code to work with options that are key=value
236 when the built-in hasmntopt() code is not used. The problem
237 was that the code passed "key=" to hasmntopt not "key".
238
239 2009-12-10 Christos Zoulas <christos (a] zoulas.com>
240
241 * Copy all fields of the am_opts structure
242 When we introduced am_loc we also added a function to
243 create a duplicate of an am_opts structure. As it turns
244 out, that only made a partial copy of the struct and some
245 fields (e.g. opt_cache) was left blank in the new structure.
246 Unfortunately any code that was checking the options
247 through the mntfs structure was mislead by the partial
248 copy: caching was disabled completely, for example, and
249 since browsing relies on caching being enabled it wasn't
250 working either.
251 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
252
253 * Initialize RPC authentication flavor to AUTH_UNIX instead
254 of zero. RHEL 5 uses version 6 of the mount_arg structure
255 that includes the desired RPC authorization flavour.
256 Unfortunately amd initializes that value to zero, meaning
257 AUTH_NULL, resulting in all NFS servers denying operations.
258 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
259
260 * Make sure to remove nodes in the proper order when going
261 down. Depending on what order the nodes got created it's
262 possible that the parent of a node has a bigger am_mapno
263 (index in exported_ap[]) so that it gets freed before
264 its child while the child's am_parent pointer is still
265 pointing to the already freed block of memory.
266 This change makes sure that umount_exported() cleans up
267 all children of a node first before freeing the node.
268 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
269
270 * Fix Linux-specific stuff in ops_tmpfs.c
271 AUTOFS_TMPFS_FS_FLAGS is defined only in the Linux-specific
272 conf_linux.c file, so it cannot be built on Solaris.
273 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
274
275 * Add missing parenthesis to fix defined(XXX
276 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
277
278 * In the previous commit we've already made a change that
279 makes this code unnecessary since the node is returned
280 even if the backing file server is known to be down.
281 Since the code path is unused it should be removed.
282 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
283
284 * amfs_generic_lookup_child() tries to find an alternate
285 file server if it detects that the current one is down.
286 However, in the comparison used to decide if a possible
287 mount is the same as the current one it compares the am_loc
288 pointers instead of the actual mntfs pointers. Since
289 amfs_lookup_one_location() creates a brand new am_loc
290 structure for the returned mntfs structure the am_loc
291 pointer will be different even if the mntfs it's pointing
292 to is the same.
293 This tricks amfs_generic_lookup_child() think it has
294 found an alternate file server while it hasn't and thus
295 starts multiple racing mounts for the very same node and
296 mntfs.
297 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
298
299 * In the new am_loc scheme mounted mntfs structures still
300 have their mf_fo structure left intact. So when restart
301 creates a fake mntfs for an already mounted filesystem it
302 should not free mf_fo right away.
303 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
304
305 * Setting the error flag of the mntfs for which the share
306 is already mounted results in the mount point not being
307 removed when it times out. (Amd considers it an error
308 mntfs and thus umount becomse a no-op.)
309 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
310
311 * Right now AMD sets all timeout values to their defaults
312 even if you explicitly set them to zero. This patch
313 introduces separate flags that store if the respective
314 values have been set and the code path setting default
315 values checks these flags instead of testing the values
316 for zero. [Linux only]
317 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
318
319 * Fix mntfs related lookup/(un)mount race conditions, by
320 introducing a new structure linking an mntfs to a node.
321 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
322
323 * We have to free the buffers allocated by the XDR routines when
324 decoding the mount response after copying them to their final place.
325 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
326
327 2009-12-09 Christos Zoulas <christos (a] zoulas.com>
328
329 * Free continuation in amfs_retry() if we don't call amfs_bgmount()
330 Normally it's amfs_bgmount() which frees the continuation. However, if
331 the mount is already in progress and we're in amfs_retry() for another
332 node we don't try mounting the filesystem once again. Still, we have
333 to free the continuation as we won't get called again and thus would
334 leak the continuation structure and our am_loc references.
335 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
336
337 * Fix use-after-free and double free of mntfs private data
338 ops_nfs.c(nfs_init) does not clear private data pointer after free().
339 This leads to use-after-free and double free in case mount() fails.
340 (found by valgrind)
341 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
342
343 2009-11-23 Christos Zoulas <christos (a] zoulas.com>
344
345 * The temporary filename buffer was leaked in lock_mtab().
346 From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
347
348 2009-10-27 Christos Zoulas <christos (a] zoulas.com>
349
350 * Deal with errno.h->sys/errno.h better
351
352 2009-10-26 Christos Zoulas <christos (a] zoulas.com>
353
354 * Fix issue with autoconf 2.63
355
356 * Fix compile warnings for gcc-4.4.x
357
358 2009-04-15 Christos Zoulas <christos (a] zoulas.com>
359
360 * Share the LDAP connection between different maps to save resources
361 on the LDAP server. (Olaf Flebbe <o.flebbe (a] science-computing.de>)
362
363 2009-03-20 Christos Zoulas <christos (a] zoulas.com>
364
365 * Fix largefile re-definitions
366
367 * Fix compilation error caused in previous patch
368
369 2009-02-19 Christos Zoulas <christos (a] zoulas.com>
370
371 * Add a synchronous unmount amq rpc that will wait for the remote
372 filesystem to be unmounted, or return an error. Enabled by amq -uu
373
374 2009-01-11 Erez Zadok <ezk (a] fsl.cs.sunysb.edu>
375
376 * amd/ops_udf.c: don't define functions/variables which may not be
377 used.
378
379 * amd/ops_tmpfs.c (mount_tmpfs): force gcc not to complain about
380 unused variables.
381
382 * config.guess.long: properly support Fedora Core.
383
384 2009-01-09 Christos Zoulas <christos (a] zoulas.com>
385
386 * Fix nfs mounts on linux 2.6.26 by explicitly initializing context.
387
388 * Treat an empty sublink as an unset sublink; this allows us to
389 say sublink:=; in a spec to override the default. (This produces
390 Bad selector error, but it works. XXX: We need to decide how to
391 unset a selector. I proposed an unset keyword a while ago).
392
393 2009-01-06 Christos Zoulas <christos (a] zoulas.com>
394
395 * re-renerate all generated files with newer versions of the
396 auto-tools.
397
398 * move INSTALL to INSTALL.am-utils to avoid conflicts
399
400 * fix incompatibilities with new m4 and new autoconf.
401
402 * add UDF filesystem support.
403
404 * fix NetBSD nfs file handle detection.
405
406 2009-01-02 Christos Zoulas <christos (a] zoulas.com>
407
408 * add nocasetrans, nojoliet, rrcaseins for cd9660 filesystems
409
410 2008-12-03 Christos Zoulas <christos (a] zoulas.com>
411
412 * allow ldap queries try a comma-separated list of servers given as:
413
414 ldap_hostports = host1:port1,host2,host3:port3
415
416 original patch from Florian Geyer
417
418 2008-09-19 Christos Zoulas <christos (a] zoulas.com>
419
420 * the auth_create gid on NetBSD is int
421
422 * deal with lossage from flex -P
423
424 * fix missing/incorrect prototypes
425
426 2008-09-17 Christos Zoulas <christos (a] zoulas.com>
427
428 * fix manual page section issues (sorting, non-existant)
429
430 * add missing forward declarations
431
432 * avoid null pointer derefs (coverity)
433
434 * more portable endian detection support
435
436 * implement tmpfs support
437
438 * use sizeof var instead of constant
439
440 * fix yyerror declaration and definition
441
442 * fix yy function renaming, and correct some renaming issues.
443
444 * work around automake < 1.9 issue where ylwrap is not being run
445 for a single yacc or lex file.
446
447 * NetBSD
448 - handle headers that need other headers to compile
449 - add exfs and tmpfs specific glue
450 - add options log, noatime, nocoredump, nodevmtime, softdep,
451 symperm, union
452 - NetBSD's new mount system call needs the size of the opaque
453 filesystem specific structure, but passing 0 for now works.
454 We would need to change a lot more code to pass the size from
455 the fs-specific calls, so for now punt.
456 - recvfrom takes socklen_t * on NetBSD
457 - handle newer NetBSD using statvfs
458 - NetBSD calls its ufs ffs
459
460 * Linux
461 - Most recent kernels have trouble with trying to parse the pid
462 hostname and do locking. What before was a silent failure, now
463 there is a warning printed and the mount is rejected. This is
464 the simplest fix:
465 (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479884)
466
467 2007-04-13 Erez Zadok <ezk (a] cs.sunysb.edu>
468
469 * amd/sun_map.c (sun_append_str): When translating '&' from Sun
470 automounter maps, replace it with "${key}" in the Amd map, not
471 with the value of the key at the time. This way '*' maps work
472 too.
473
474 * config.guess.long: don't use -q option to grep because some
475 systems don't support it. Bug fix for solaris.
476
477 2007-03-11 Christos Zoulas <christos (a] zoulas.com>
478
479 * amd/opts.c (expand_op): Don't call xstrlcpy() to truncate a
480 string. It causes spurious xstrlcpy() syslog() errors. Use
481 memcpy() and explicitly terminate the string.
482
483 2007-01-20 Erez Zadok <ezk (a] cs.sunysb.edu>
484
485 * updated copyright year to 2007 on all files.
486
487 2006-12-27 Erez Zadok <ezk (a] cs.sunysb.edu>
488
489 * minor new port: ia64-hp-hpux11.23
490
491 * m4/macros/check_libwrap_severity.m4 (LIBS): also test if caller
492 needs to define rfc931_timeout.
493
494 * amd/sun2amd.c: define rfc931_timeout and allow/deny_severity for
495 libwrap.
496
497 * amd/amq_svc.c: some versions of libwrap require the caller to
498 define rfc931_timeout in addition to allow/deny_severity.
499
500 * amd/amfs_toplvl.c (amfs_toplvl_init): properly detect when
501 forced unmount functionality exists for all systems.
502
503 * libamu/mount_fs.c (compute_nfs_args): reset nfs_args_t->pathconf
504 only if field exists.
505
506 * conf/nfs_prot/nfs_prot_hpux11.h: prevent HPUX 11.23 from
507 including <tiuser> or <sys/tiuser> (TLI definitions are already
508 included from elsewhere).
509
510 * configure.in: detect nfs_args_t->pathconf field.
511
512 2006-11-27 Erez Zadok <ezk (a] cs.sunysb.edu>
513
514 * doc/Makefile.am: properly publish html files using newer
515 text2html.
516
517 2006-11-27 Erez Zadok <ezk (a] shekel.local>
518
519 * doc/Makefile.am: obfuscate emails in ChangeLog before it is
520 published on web site.
521
522 * obfuscate many more emails in the distro, esp. of files which get
523 posted on the am-utils web site.
524
525 2006-11-26 Erez Zadok <ezk (a] shekel.local>
526
527 * minor new port: i386-apple-darwin8.8.1.
528
529 * doc/am-utils.texi: remove obvious URLs used by spammers, and
530 replace them with links to the am-utils web site, which uses PNG
531 images to obfuscate the actual email/mailman URLs.
532
533 2006-10-30 Erez Zadok <ezk (a] cs.sunysb.edu>
534
535 * doc/am-utils.texi (Password maps): minor typo reported by
536 Christoph P. Kukulies.
537
538 2006-10-26 Erez Zadok <ezk (a] cs.sunysb.edu>
539
540 * minor new port: i386-pc-linux-fc6.
541
542 * m4/macros/linux_headers.m4: handle newer Linux kernels which
543 removed UTS_RELEASE from <linux/version.h>.
544
545 2006-10-25 Erez Zadok <ezk (a] cs.sunysb.edu>
546
547 * minor new ports: i386-pc-linux-centos4.4 and
548 powerpc-apple-darwin8.7.0.
549
550 * config.guess.long: recognize CentOS Linux.
551
552 2006-06-20 Erez Zadok <ezk (a] cs.sunysb.edu>
553
554 * minor new port: i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris).
555
556 * config.guess.long: recognize NexentaOS (GNU/OpenSolaris)
557
558 * config.guess, config.sub: updates from latest official GNU
559 distributions.
560
561 2006-05-11 Erez Zadok <ezk (a] cs.sunysb.edu>
562
563 * Minor new ports: i386-unknown-freebsd6.1 (RELEASE),
564 powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9.
565
566 2006-05-10 Erez Zadok <ezk (a] cs.sunysb.edu>
567
568 * libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness
569 problems on IRIX-6.5.
570
571 * conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix
572 signedness problems on IRIX-6.5.
573
574 2006-05-01 Erez Zadok <ezk (a] cs.sunysb.edu>
575
576 * configure.in: check if libc already includes dbm functionality
577 (as in FreeBSD 6), then don't bother to check specific libraries
578 such as libdbm, gdbm, etc.
579
580 2006-04-21 Erez Zadok <ezk (a] cs.sunysb.edu>
581
582 * configure.in: detect G/DBM support via gdbm_compat library
583 (Debian 3.1).
584
585 * minor new port: powerpc-apple-darwin8.5.0
586
587 2006-04-20 Erez Zadok <ezk (a] cs.sunysb.edu>
588
589 * scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi,
590 NEWS: document new nfs_allow_any_interface parameter.
591
592 * include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if
593 not defined, since some systems don't have it.
594
595 2006-04-20 Nick Williams <Nick.Williams (a] morganstanley.com>
596
597 * libamu/wire.c (is_interface_local): new boolena function to
598 determine if address represents any of the local interfaces.
599 (getwire): more properly check if address equals INADDR_LOOPBACK,
600 not if IFF_LOOPBACK is not (the latter isn't as correct).
601
602 * include/am_utils.h: extern for new is_interface_local() function.
603
604 * conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK
605 here but in am_compat.h
606
607 * amd/nfs_prot_svc.c (nfs_program_2): if
608 nfs_allow_any_interface=yes, then allow NFS packets from any local
609 interface (not just 127.0.0.1).
610
611 * amd/conf.c (gopt_nfs_allow_any_interface): implement the new
612 amd.conf parameter nfs_allow_any_interface.
613
614 * amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when
615 al interfaces are acceptable for local NFS packets.
616
617 2006-04-18 Christos Zoulas <christos (a] zoulas.com>
618
619 * amd/opts.c: Add support for optionally specifying the hostname
620 to match against the netgroup in the netgrp and netgrpd selectors.
621
622 2006-04-16 Erez Zadok <ezk (a] cs.sunysb.edu>
623
624 * libamu/mtab.c (hasmntval): fix inverted meaning of error from
625 hasmntvalerr().
626
627 2006-04-14 Erez Zadok <ezk (a] cs.sunysb.edu>
628
629 * libamu/mount_fs.c (compute_nfs_attrcache_flags): use new
630 hasmntvalerr() function to set attribute cache values only if they
631 were set (regardless whether they were set to zero or a non-zero
632 value). Before, we were unable to distinguish between an error to
633 parse an option, and a user who actually wanted to set an
634 attribute-cache value to 0. This now fixes an important
635 performance bug that Amd was turning off the attribute caches even
636 for regular (non-automounter) NFS mounts.
637
638 * libamu/mtab.c (hasmntvalerr): new function to set the value of
639 an option into an integer, but ONLY if that options was set and
640 parsed correctly. This function returns 1 on error, 0 on success
641 (instead of always setting the option value to 0).
642 (hasmntval): wrapper function around hasmntvalerr, which maintains
643 backwards compatibility (always sets option value to 0, even on
644 error to parse the option).
645
646 * amd/nfs_subr.c (fh_to_mp3): use long int printf format for
647 fhh_pid.
648
649 2006-04-05 Christos Zoulas <christos (a] zoulas.com>
650
651 * amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug
652 (Coverity).
653
654 2006-03-27 Erez Zadok <ezk (a] cs.sunysb.edu>
655
656 * doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}:
657 document new nfs_retransmit_counter_toplvl and
658 nfs_retry_interval_toplvl global amd.conf parameters.
659
660 * amd/conf.c (gopt_nfs_retransmit_counter_toplvl,
661 (gopt_nfs_retry_interval_toplvl): parse amd.conf
662 nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global
663 parameters.
664
665 * amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl
666 timeo/retrans parameters for Amd's toplvl mounts, separately from
667 all other UDP or NFS mounts.
668
669 * amd/amd.h: define a new timeo/retrans parameter for toplvl
670 mounts.
671
672 2006-03-22 Erez Zadok <ezk (a] cs.sunysb.edu>
673
674 * minor new port: i386-pc-linux-suse10.1 (beta 8).
675
676 2006-03-21 Christos Zoulas <christos (a] zoulas.com>
677
678 * amd/am_ops.c (merge_opts): Remove useless check found by
679 Coverity; xmalloc never returns NULL.
680
681 2006-03-21 Erez Zadok <ezk (a] cs.sunysb.edu>
682
683 * minor new ports: i386-pc-linux-fc5.
684
685 * amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with
686 openldap-2.3.9), the ldap.h headers deprecate several functions
687 used in this file, such as ldap_unbind. You get compile errors
688 about missing extern definitions. Those externs are still in
689 <ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED. I am
690 turning on that ifdef at the top of info_ldap.c, under the
691 assumption that the functions may be deprecated, but they still
692 work for this (older?) version of the LDAP API. It gets am-utils
693 to compile, but it is not clear if it will work perfectly.
694
695 * libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c
696 (xdr_amq_mount_tree, xdr_amq_mount_tree_p,
697 xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c
698 (show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree,
699 xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree),
700 libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop
701 GCC-4.1 from complaining about "dereferencing type-punned pointer
702 will break strict-aliasing rules" here (but not elsewhere).
703
704 2006-03-20 Christos Zoulas <christos (a] zoulas.com>
705
706 * libamu/wire.c: avoid potential dereferencing of a NULL pointer
707 (Coverity).
708
709 * hlfsd/homedir.c (delay): remove unnecessary check for NULL
710 pointer (Coverity).
711
712 * fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts,
713 analyze_mounts): avoid potential dereferencing of a NULL pointer
714 (Coverity).
715
716 * conf/transp/transp_sockets.c (create_amq_service): avoid
717 potential dereferencing of a NULL pointer (Coverity).
718
719 * amd/sched.c (sigchld): properly check for the end of the waiting
720 process list (Coverity).
721
722 * amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity).
723
724 * amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential
725 dereferencing of a NULL pointer (Coverity).
726
727 * amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before
728 reusing it (memory leak bug detected by Coverity).
729 (amfs_bgmount): avoid potential dereferencing of a NULL pointer
730 (Coverity).
731
732 * amd/am_ops.c (merge_opts): no need to check if newstr is NULL
733 (bug detected by Coverity).
734
735 2006-03-08 Ion Badulescu <ionut (a] moisil.badula.org>
736
737 * amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid
738 comparison was failing.
739
740 2006-03-08 Erez Zadok <ezk (a] cs.sunysb.edu>
741
742 * configure.in: properly test for either <gdbm/ndbm.h> or
743 <gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the
744 same $ac_cv_* variable name). Some systems support one header or
745 another. Patch inspired by work Debian did.
746
747 2006-02-16 Daniel P. Ottavio <ottavio (a] vm.fsl.cs.sunysb.edu>
748
749 * amd/sum_map_tok.l: Fixed a bug in a regular expression that
750 prevented dashes in hostnames. This was posted in BZ by Thomas
751 A. Fine.
752
753 * README.sun2amd: Fixed a typo. Sentence mentions use of autofs
754 type when it should be host type.
755
756 2006-01-04 Erez Zadok <ezk (a] cs.sunysb.edu>
757
758 * doc/am-utils.texi (auto_attrcache Parameter): revise discussion
759 to mention pros and cons of turning on/off this parameter,
760 including impact on Amd's performance, and ways to improve
761 performance while minimizing the window of vulnerability in which
762 kernel may return the wrong (cached) attributes.
763
764 2006-01-02 Erez Zadok <ezk (a] cs.sunysb.edu>
765
766 * updated copyright year to 2006 on all files.
767
768 2005-12-20 Erez Zadok <ezk (a] cs.sunysb.edu>
769
770 * include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register,
771 register_autofs_service): use a consistent prototype for the
772 dispatch function of the autofs service de/registration functions.
773
774 2005-12-03 Erez Zadok <ezk (a] cs.sunysb.edu>
775
776 * minor new ports: i386-unknown-netbsdelf2.1,
777 i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8.
778
779 2005-12-02 Erez Zadok <ezk (a] cs.sunysb.edu>
780
781 * m4/macros/check_field.m4: remove double inclusion of msdosfs
782 headers, which are included in mount_header1.h (netbsd 2.1 doesn't
783 protect <msdosfs/msdosfsmount.h> which causes compile errors).
784
785 2005-11-08 Erez Zadok <ezk (a] cs.sunysb.edu>
786
787 * minor new port: i386-unknown-freebsd6.0 (RELEASE)
788
789 2005-10-26 Erez Zadok <ezk (a] cs.sunysb.edu>
790
791 * amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in
792 Amd, not in pawd (to avoid repeated network RPCs).
793
794 * amq/pawd.c (transform_dir): move repeated path resolution into Amd.
795
796 2005-10-25 Erez Zadok <ezk (a] cs.sunysb.edu>
797
798 * amq/pawd.c (transform_dir): resolve path repeatedly until
799 finished. Bug fix from Jonathan Chen <jon+amd-at-spock.org>.
800 Added safety check to prevent infinite loops.
801
802 2005-10-19 Erez Zadok <ezk (a] cs.sunysb.edu>
803
804 * doc/am-utils.texi (opts Option): document new pcfs options
805 longname, nowin95, shortname, user=N, group=N, mask=N, and
806 dirmask=N.
807
808 * amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname,
809 nowin95, shortname, user=N, group=N, mask=N, and dirmask=N.
810
811 * include/am_compat.h: provide compatibility mnttab string names,
812 if needed, for pcfs mount options longname, nowin95, shortname,
813 user=N, group=N, mask=N, and dirmask=N.
814
815 * include/am_utils.h: extern for hasmntstr().
816
817 * libamu/mtab.c (hasmntstr): new function to return the string
818 value following a mount option, up to the next comma-delimited
819 options.
820
821 * configure.in: check for mnttab and pcfs options longname,
822 nowin95, and shortname.
823
824 * Makefile.am (EXTRA_DIST_M4): distribute new macro
825 check_mnt2_pcfs_opt.m4.
826
827 * m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs
828 mnttab and mount options.
829
830 2005-10-18 Erez Zadok <ezk (a] cs.sunysb.edu>
831
832 * libamu/mount_fs.c (print_nfs_args): print nfs_args->addr
833 correctly, depending if it's a pointer or not.
834
835 * conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also
836 #define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer
837 or an embedded structure, so we can tell how to print it.
838
839 * libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen
840 field, if it exists.
841
842 * configure.in: check for nfs_args->addrlen field.
843
844 * wire-test/wire-test.c (main), libamu/mount_fs.c
845 (print_nfs_args), fixmount/fixmount.c (inetresport,
846 clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c
847 (main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c
848 (amfs_mount): document that as per POSIX, we don't need to set the
849 sa_len/sin_len fields in struct sockaddr/sockaddr_in. The field
850 is used only internally in the kernel. See
851 www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1
852
853 * fixmount/fixmount.c (inetresport): initialize sockaddr_in
854 structure before filling in some fields.
855
856 2005-10-11 Erez Zadok <ezk (a] cs.sunysb.edu>
857
858 * doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and
859 correct mistaken description of nfs_proto.
860
861 2005-10-10 Erez Zadok <ezk (a] cs.sunysb.edu>
862
863 *******************************************************************
864 *** Released am-utils-6.1a1 ***
865 *******************************************************************
866
867 * README.sun2amd: revised.
868
869 2005-10-09 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
870
871 * amd/info_nis.c (nis_search): Bug fix for bugzilla #428; make
872 sure that sun_entry2amd() is not called when yp_match() returns an
873 error, this is done by checking that 'res' is 0. Bug fix (same
874 BZ#); free the output allocated by yp_match() instead of freeing
875 the return value of sun_entry2amd().
876
877 * amd/sun_map.c (sun_entry2amd): Fix a comment.
878
879 * README.sun2amd: Made a first pass at describing the status of
880 the sun2amd feature.
881 Moved the date.
882
883 2005-10-09 Erez Zadok <ezk (a] cs.sunysb.edu>
884
885 * README.sun2amd: place holder.
886
887 * Makefile.am (EXTRA_DIST): distribute new README.sun2amd file.
888
889 2005-10-07 Erez Zadok <ezk (a] cs.sunysb.edu>
890
891 * m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the
892 very end, after the test using getvfsbyname().
893
894 * m4/macros/expand_run_string.m4: if the string value returned is
895 empty, consider it invalid.
896
897 * m4/macros/check_varargs_macros.m4: rewrite macro so it'll
898 try and compile the varargs test, not just cpp it. Some systems
899 pass the old cpp test, but not when you actually try to compile
900 the code (Tru64's cc).
901
902 * conf/autofs/autofs_solaris_v1.h: redefine
903 autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ","").
904 This works everywhere and we avoid linking problems, inline
905 functions, etc.
906
907 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove
908 autofs_strdup_space_hack() function altogether.
909
910 * m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int.
911
912 * configure.in: test for <sys/immu.h> header.
913 Test for pte_t, but only on IRIX6 systems.
914
915 * Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file.
916
917 * m4/macros/type_pte_t.m4: new test for existence of pte_t
918 typedef, needed on some IRIX-6.5/gcc systems.
919
920 * m4/macros/header_templates.m4: add missing templates for
921 HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and
922 HAVE_EXTERN_UALARM.
923
924 * amd/info_exec.c (exec_map_open): break assignment from inside
925 conditional, to work around an IRIX-6.5 cc bug.
926
927 * amd/Makefile.am (amd_LDADD, sun2amd_LDADD): put libaminfo.a
928 before libamu.la. Some linkers (e.g., IRIX-6.5) incorrectly
929 complain about undefined symbols.
930
931 * fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp),
932 libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid
933 comparison between signed and unsigned integers.
934
935 * conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c
936 (autofs_strdup_space_hack): move "space_hack" function from static
937 inline in header, into the only source file that needs it. This
938 is cleaner and also prevents linking problem with some compilers
939 that won't apply CPP macros inside static inline functions (for
940 the strl* functions).
941
942 * amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient
943 code.
944 (transform_dir): call the new, efficient amqproc_pawd_1() routine.
945
946 * amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine.
947
948 * amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD
949 wrapper routine.
950
951 * amd/amq_svc.c (amq_program_1): dispatch point for
952 amqproc_pawd_1_svc.
953
954 * amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching
955 functionality into Amd, where it can be done a lot more
956 efficiently. We don't have to construct and ship a whole export
957 tree from Amd to pawd. We just get a variable-length
958 xdr_wrapstring for the user's path, iterate over the entire export
959 list inside Amd, and return only a matched string if found
960 (otherwise we return "" to indicate that there was no match, and
961 let pawd printf the same string it sent over).
962
963 * amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine
964 the AMQPROC_PAWD RPC.
965
966 2005-10-06 Erez Zadok <ezk (a] cs.sunysb.edu>
967
968 * ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20.
969 Fixes Tru64 bugs when using ksh.
970
971 * amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro
972 into two sections, to workaround a C99 varargs-macro bug in
973 gcc-3.2.2 (RH9).
974
975 * libamu/wire.c (print_wires): convert argument-less xsnprintf to
976 xstrlcpy.
977
978 * include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or
979 HAVE_GCC_VARARGS_MACROS to pass file name and line number to
980 xsnprintf/xvsnprintf.
981
982 * libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on,
983 then also print the source file name and line number that called
984 xsnprintf/xvsnprintf with a buffer that wasn't large enough (most
985 likely an am-utils bug).
986
987 * Makefile.am (EXTRA_DIST_M4): distribute new
988 check_varargs_macros.m4 file.
989
990 * configure.in: execute new AMU_VARARGS_MACROS test.
991
992 * m4/macros/check_varargs_macros.m4: new test to check what style
993 of variable-length argument macros, if any, does the
994 compiler/pre-processor supports.
995
996 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req)
997 conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c,
998 amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c
999 (mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c,
1000 amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main):
1001 use sizeof() instead of fixed SIZEOF_* macros.
1002
1003 * libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h
1004 (DEBUG): if debugging is on, then also print the source file name
1005 and line number that called xstrl* with a buffer that wasn't large
1006 enough (most likely an am-utils bug)
1007
1008 * include/am_compat.h (INADDR_NONE): define in a common location,
1009 if OS doesn't have it, use 0xffffffffU which should work with any
1010 ANSI compiler.
1011
1012 * fixmount/fixmount.c, libamu/wire.c: remove local definition of
1013 INADDR_NONE.
1014
1015 * amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c
1016 (amfs_auto_mount): use common SIZEOF_OPTS in definition and call
1017 to autofs_get_opts.
1018
1019 * amd/amd.h (SIZEOF_OPTS): moved #define to common header.
1020
1021 2005-10-06 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
1022
1023 * amd/opts.c (expand_op): Need to check BUFSPACE for env for
1024 vlen+1. Likewise for cp and strlen(cp)+1.
1025
1026 * amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new
1027 size argument to autofs_get_opts.
1028
1029 2005-10-05 Erez Zadok <ezk (a] cs.sunysb.edu>
1030
1031 * amq/pawd.c (transform_dir): was using UDP only. Now will also
1032 try TCP if UDP failed. Destroy client after use to avoid leftover
1033 TCP sockets in the kernel.
1034
1035 * libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR
1036 from 128 to to 256, because some users have really long option
1037 strings. Suggestion from jon+amd-at-spock.org.
1038
1039 * amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not
1040 just vlen. Bug discovered when started using xstrlcpy().
1041
1042 * ALL: convert from using strcat to the safer xstrlcat, and from
1043 strcpy to safer xstrlcpy.
1044
1045 2005-10-04 Erez Zadok <ezk (a] cs.sunysb.edu>
1046
1047 * hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros.
1048
1049 * hlfsd/hlfsd.c (fatalerror): new function instead of macro.
1050 Easier to use xstrlcat in this new function.
1051
1052 * amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern
1053 from am_utils.h to amd.h, and define its size as a macro that
1054 could be passed to xstrl*().
1055
1056 * ALL: convert from using sprintf to the safer xsnprintf.
1057
1058 * mk-amd-map/Makefile.am (LDADD): link with libamu to get
1059 xsnprintf().
1060
1061 * amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname
1062 extern from am_utils.h to amd.h, and define its size as a macro
1063 that could be passed to xsnprintf().
1064
1065 2005-10-02 Erez Zadok <ezk (a] cs.sunysb.edu>
1066
1067 * libamu/Makefile.am: use strutil.c, not util.c.
1068
1069 * libamu/strutil.c: rename from util.c to explain better purpose
1070 of file. Move xvsnprintf and xsnprintf from xutil.c to this file.
1071
1072 * libamu/xutil.c: explain purpose of file. Move mkdirs/rmdirs
1073 code from old util.c.
1074
1075 2005-10-01 Erez Zadok <ezk (a] cs.sunysb.edu>
1076
1077 * m4/macros/header_templates.m4: templates for FFS.
1078
1079 * m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file
1080 system mount table name via the MOUNT_* mount(2) macros (because
1081 BSD44 keeps the mount table in the kernel).
1082
1083 * configure.in: synchronise order of searching for mnttab entries
1084 and mount names. The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4
1085 efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of
1086 ufs, and ext3 instead of ext2 on Linux).
1087
1088 * include/am_defs.h: include <sys/statvfs.h> if it exists.
1089
1090 * conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs()
1091 and statvfs(), but the latter is preferred, so #define to use
1092 statvfs.
1093
1094 * configure.in: check for statfs(), statvfs(), and
1095 <sys/statvfs.h>.
1096
1097 * config.guess.long: strip trailing '.' on "netbsdelf3.0."
1098 (Beta). Workaround for bug in config.guess.
1099
1100 * config.{guess,sub}: update to latest versions.
1101
1102 2005-09-30 Christos Zoulas <christos (a] zoulas.com>
1103
1104 * fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of
1105 hard-coded value of -1.
1106
1107 * include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB
1108 to 16KB. We can afford it these days.
1109
1110 * libamu/strcasecmp.c (strcasecmp): use unsigned chars in
1111 tolower() to avoid sign/size promotion bugs.
1112
1113 * libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by
1114 default (it's unfriendly). If user really wants to, they can set
1115 it in /etc/syslog.conf.
1116
1117 2005-09-29 Erez Zadok <ezk (a] cs.sunysb.edu>
1118
1119 * amq/pawd.c (find_mt): if the auto mount type is used, pawd could
1120 go into an infinite loop since the mt_directory and mt_mountpoint
1121 fields are the same for auto mounts. Solution: ignore type auto
1122 mounts, similar to toplvl. Bug fix from Jonathan Chen
1123 <jon+amd (a] spock.org>.
1124
1125 * README.attrcache: document test-attrcache script.
1126
1127 * scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache
1128 script.
1129
1130 * configure.in: build scripts/test-attrcache script and chmod it
1131 so it can be executed in place.
1132
1133 * scripts/test-attrcache.in: script to test the NFS attribute
1134 cache using Amd.
1135
1136 2005-09-26 Erez Zadok <ezk (a] cs.sunysb.edu>
1137
1138 * hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc,
1139 nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c
1140 (hlfsd_init): use new clocktime() function.
1141
1142 2005-09-18 Erez Zadok <ezk (a] cs.sunysb.edu>
1143
1144 * README.attrcache: document netbsd's patchs to support noac.
1145
1146 * libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the
1147 code that sets the ac{reg,dir}{min,max} fields so it also sets the
1148 appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN.
1149
1150 * configure.in: check for nfs_args fields acregmax and acdirmax.
1151
1152 * README.attrcache: new file documenting in detail OS bugs
1153 relating to attribute caching, which can affect Amd's reliability
1154 under heavy load.
1155 Update status of freebsd and openbsd.
1156
1157 * doc/Makefile.am: install README.attrcache file as attrache.txt
1158 file on am-utils Web site.
1159
1160 * Makefile.am (EXTRA_DIST): include README.attrcache in distro.
1161
1162 * BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter),
1163 scripts/amd.conf.5, scripts/amd.conf-sample: document attribute
1164 cache bugs on some OSs.
1165
1166 2005-09-17 Erez Zadok <ezk (a] cs.sunysb.edu>
1167
1168 * libamu/xutil.c (clocktime): newly implemented routine. Uses
1169 gettimeofday() each time to return a high-resolution clock time,
1170 and does not "cache" the last time. Returns time in seconds, just
1171 like the old implementation. If passed a non-null argument, will
1172 fill it in with the current time in seconds+microseconds.
1173
1174 * libamu/xutil.c: remove actual declaration of clock_valid, and
1175 another never-used declaration for xclock_valid.
1176
1177 * include/am_utils.h: remove defunct definition of clocktime()
1178 macro and clock_valid variable. Add extern for new definition.
1179
1180 * libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir,
1181 hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add),
1182 hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup),
1183 conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c
1184 (open_locked_mtab), amd/nfs_start.c (do_select, run_rpc),
1185 amd/autil.c (host_normalize): remove defunct clock_valid.
1186
1187 * amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for
1188 node's mtime.
1189 (fh_to_mp3): use new clocktime() to update mtime and get a better
1190 time resolution.
1191
1192 * amd/mapc.c (mapc_reload_map): change prototype from returning
1193 void to returning an int. If reloading was needed and succeeded,
1194 return 1; else return 0.
1195 (mapc_sync): update mtime of parent node if needed. This is a
1196 CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache
1197 when we run "amq -f" manually or when a map is reloaded.
1198
1199 * amd/map.c (new_ttl): update am_ttl and na_atime in one shot.
1200 (init_map): use new clocktime().
1201 (unmount_mp): if the OS doesn't support a "symttl" option, then
1202 update the mtime of the parent node using the clocktime(); but if
1203 the time hasn't gotten changed because of rapid Amd accesses on
1204 systems that don't have a micro-second NFS-client resolution, then
1205 increment mtime by one arbitrarily (this could, on some systems
1206 and under pathological cases, result in mtime's that are in the
1207 future).
1208
1209 * amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime
1210 update of parent dir, to prevent DNLC/dcache from caching the old
1211 entry, which could result in ESTALE errors, bad symlinks, and
1212 more.
1213 (am_mounted): record mount time, and update am_stats at the same
1214 time, using the double-action redone clocktime() routine.
1215 (am_mounted): update parent's mtime from that of the child.
1216 (am_unmounted): when unmounting an entry, update mtime of parent
1217 node.
1218
1219 * amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't
1220 remember it's last non-zero value, save it in a temporary variable
1221 to avoid a TOCTOU problem (between an "if" and a "dlog").
1222
1223 * libamu/xutil.c (show_time_host_and_name),
1224 conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp),
1225 amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout)
1226 (find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c
1227 (nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc),
1228 amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp),
1229 amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind),
1230 amd/info_file.c (file_open), amd/info_exec.c (fgets_timed,
1231 exec_search), amd/clock.c (timeout, softclock), amd/autil.c
1232 (forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry,
1233 amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass
1234 NULL to clocktime().
1235
1236 2005-09-15 Erez Zadok <ezk (a] cs.sunysb.edu>
1237
1238 * amd/nfs_subr.c (nfsproc_getattr_2_svc): initialize 'retry', just
1239 in case.
1240 (fh_to_mp3): increment amd_stats.d_stale counter only if we are
1241 actually returning ESTALE.
1242
1243 * amd/info_exec.c (exec_parse_qanswer), amd/info_file.c
1244 (file_search_or_reload), amd/info_hesiod.c (hesiod_search),
1245 amd/info_ldap.c (amu_ldap_search), amd/info_ndbm.c (search_ndbm),
1246 amd/info_nis.c (nis_search), amd/info_nisplus.c (nisplus_search,
1247 nisplus_search): don't dereference mnt_map->cfm which may be null
1248 if we're not using an amd.conf file.
1249
1250 2005-09-14 Erez Zadok <ezk (a] cs.sunysb.edu>
1251
1252 * libamu/xutil.c (unregister_amq): if failed to de-register Amd
1253 from portmapper, report it under dlog (debugging), not as an
1254 annoying plog that always shows up.
1255
1256 2005-09-13 Erez Zadok <ezk (a] cs.sunysb.edu>
1257
1258 * mk-amd-map/mk-amd-map.c (read_file_file), libamu/util.c
1259 (strsplit), libamu/hasmntopt.c (nextmntopt), amd/sun_map.c
1260 (sun_entry2amd), amd/sun2amd.c (sun2amd_convert_convert),
1261 amd/mapc.c (mapc_add_kv), amd/info_file.c (file_search_or_reload),
1262 amd/info_exec.c (exec_parse_qanswer): cast isspace() and isascii()
1263 arg to unsigned char, which is safer as per Christos.
1264
1265 * amd/sun_map.c (sun_entry2amd): isspace takes an int, not a char.
1266
1267 * configure.in: keep a dummy unused AM_PROG_LEX, because old
1268 Automake (1.6.3) looks for it if you refer to LEX in your
1269 Makefile.am files. Silly thing, fixed in newer versions of
1270 Automake (1.9.2).
1271
1272 2005-09-11 Erez Zadok <ezk (a] cs.sunysb.edu>
1273
1274 * Makefile.am (EXTRA_DIST_M4): add prog_{lex,yacc}.m4 to distro.
1275
1276 * configure.in: use new macros AMU_PROG_YACC and AMU_PROG_LEX.
1277
1278 * m4/macros/prog_yacc.m4: new macro to check if bison/yacc/byacc
1279 exist, but exist with an error if none found.
1280
1281 * m4/macros/prog_lex.m4: new macro to check if f/lex exist, but
1282 exit with an error if not found (am-utils requires f/lex).
1283
1284 2005-09-07 Erez Zadok <ezk (a] cs.sunysb.edu>
1285
1286 * minor new port: powerpc-apple-darwin8.2.0.
1287
1288 * m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t"
1289 but all newer ones (10.4+) use int.
1290
1291 * m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for
1292 6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t.
1293
1294 * minor new port: i386-pc-linux-deb3.1.
1295
1296 2005-09-02 Erez Zadok <ezk (a] cs.sunysb.edu>
1297
1298 * conf/mount/mount_linux.c: If autoconf didn't find any disk-based
1299 file system on this system (probably because /proc isn't mounted),
1300 then provide some default definition for this file to compile.
1301
1302 2005-08-28 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
1303
1304 * amd/sun_map.c (sun_entry2amd) : Wipe out any trailing white
1305 spaces or '\n' before passing strings to the parser.
1306
1307 * amd/amd.h : oops, reverting bad changes
1308
1309 * amd/info_file.c : oops, reverting bad changes
1310
1311 * amd/mapc.c : oops, reverting bad changes
1312
1313 * amd/sun_map_parse.y : oops, reverting bad changes
1314
1315 2005-08-27 Erez Zadok <ezk (a] cs.sunysb.edu>
1316
1317 * libamu/xutil.c: amd_program_number is a u_long now.
1318 (unregister_amq): if pmap_unset failed to de-register Amd from the
1319 portmapper, print an error message.
1320 (get_amd_program_number): returns a u_long now.
1321 (set_amd_program_number): take a u_long now.
1322
1323 * include/am_utils.h: get_amd_program_number() returns u_long now.
1324 set_amd_program_number() takes a u_long now.
1325
1326 * amq/amq.c: amd_program_number is a u_long, not int.
1327
1328 * amd/nfs_start.c (mount_automounter): when registering Amd with
1329 the portmapper (for Amq service), don't fail if just one of TCP or
1330 UDP failed to register, but only if both transports failed. That
1331 way Amq can still contact Amd using the transport that did
1332 register correctly. However, now, if both transports failed to
1333 register, then set amd_state to "Done" so it would shutdown
1334 cleanly.
1335
1336 * conf/transp/transp_{sockets,tli{}.c (amu_svc_register): better
1337 comments.
1338
1339 * libamu/xutil.c: debug_flags should always be initialized to
1340 D_CONTROL (amq,daemon,fork).
1341 (debug_option): allow setting initial immutable debug_flags via
1342 amd.conf; afterward, prevent it (i.e., one tries it via "amq -D").
1343
1344 * Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h,
1345 config.cache.old, and dbgcf.h on "make distclean".
1346 (CLEANFILES): remove dbgcf on plain "make clean".
1347
1348 * amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on
1349 "make distclean".
1350
1351 2005-08-27 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
1352
1353 * amd/info_file.c (file_search_or_reload): Changed the key
1354 variable that is passed to the sun_entry2amd.
1355
1356 * amd/mapc.c (mapc_add_kv): Add support for multiple entries
1357 packed into one line. This is a workaround for handling Sun style
1358 mounts that contains multiple entries on one line: "multi-mount
1359 entries". The sun2amd conversion tools will convert such entries
1360 into type:=auto and pack each of the auto-entries into one line
1361 separated by '\n'. The mapc_add_kv function will now recognize
1362 such entries and add then.
1363
1364 * amd/sun2amd.c (sun2amd_convert): Add print statement that
1365 includes the line number during a parser failure.
1366
1367 * sun_map.c: Fix the AMD_MAP_PREF_KW definition. Fix spelling.
1368 (sun_mountpts2amd): removed this function
1369 (sun_hsfs2amd): added some more comments
1370 (sun_nfs2amd): moved support for multi-mount entries from this
1371 function to sun_multi2amd().
1372 (sun_multi2amd): New function to handle multi-mount entries. This
1373 function will convert the Sun version to an Amd type:=auto. Each
1374 extra auto entry will be appended to the same line separated by a
1375 '\n'.
1376 (sun_entry2amd): Fixed a bug if-statement. This function now
1377 checks for multi-mount entries.
1378
1379 * amd/sun_map.h: Add a fstype member to the sun_mountpt struct.
1380
1381 * amd/sun_map_parse.y: Parser now supports fstype for multi-mount
1382 entries.
1383
1384 * amd/sun_map_tok.l: No longer print the line and column number
1385 when parsing. This is because the parser is handed strings not
1386 files. Therefore, the line number will always be 1. It is now up
1387 to the higher level tools to echo line information during error
1388 when they feed the parser.
1389
1390 2005-08-24 Erez Zadok <ezk (a] cs.sunysb.edu>
1391
1392 * configure.in: wrap all LDAP and HESIOD tests in test whether
1393 --with-OPT was used.
1394
1395 2005-08-20 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
1396
1397 * amd/sun_map.c: Clean up #defines
1398 (sun_entry2amd) : Verify that the key and entry values passed are
1399 not NULL. Free the Sun entry struct when done.
1400
1401 * amd/sun_map.h: Add some "not implemented yet" comments to the
1402 map and mmap structures.
1403
1404 * amd/sun_map_parse.y: Removed automap include functionality, it
1405 will need to be re-implemented using a pre-processor.
1406 Clean up function calls.
1407
1408 2005-08-16 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
1409
1410 * amd/sun2amd.c (sun2amd_convert): If the input line is too long
1411 don't return an error just null terminate and continue. Fix bug:
1412 the map key was not written.
1413
1414 * amd/sun_map.c: Add a new Amd device, and cdfs constant.
1415 (sun_locations2amd): Write the NFS type keyword
1416 for each host of the mount entry. Add a space between each mount
1417 location.
1418 (sun_hsfs2amd): New function to support hsfs to
1419 cdfs.
1420 (sun_nfs2amd): Don't write the nfs type here. Fix
1421 comments.
1422 (sun_entry2amd): Change function parameter var for
1423 clarity. Add support for hsfs.
1424
1425 * amd/sun_map_parse.y (sun_map_parse_read): Reset the entry list
1426 after it has been returned.
1427
1428 2005-08-16 Erez Zadok <ezk (a] cs.sunysb.edu>
1429
1430 * amd/get_args.c (get_args): initialize debug_flags if they've
1431 never been set.
1432
1433 2005-08-15 Erez Zadok <ezk (a] cs.sunysb.edu>
1434
1435 * amd/mapc.c (mapc_create): mapc find takes 4th arg, the mount
1436 point. Now, we can properly initialize the cfm structure of the
1437 mnt_map, so we can have access to the flags (e.g., SUN_MAP_SYNTAX)
1438 inside each info_*.c file.
1439 (mapc_find): takes 4rd arg (mntpt) and passes it to calls to
1440 mapc_create.
1441 (root_newmap): pass NULL as 4th arg (mntpt).
1442
1443 * amd/amfs_generic.c (amfs_parse_defaults): remove ugly hack to
1444 initialize map cfm structure (including flags) so late.
1445
1446 * amd/autil.c (amfs_mkcacheref): pass mount point as 4th arg to
1447 mapc_find.
1448
1449 * amd/amfs_root.c (amfs_root_mount): pass NULL as new 4th arg to
1450 mapc_find.
1451
1452 * amd/amd.h: extern for mapc_find changed to pass the mount point.
1453
1454 * libamu/xutil.c: debug_flags should be unsigned.
1455 (dbg_opt): fix comments for updated debug_flags, add "defaults".
1456 (debug_option): Don't allow "immutable" (D_IMMUTABLE) flags to be
1457 changed, because they could mess Amd's state and only make sense
1458 to be set once when Amd starts. Currently these immutable flags
1459 are "daemon," "fork," "amq," and "mtab." If Amd not compiled with
1460 debugging, set default "control" options (daemon,fork,amq).
1461 (unregister_amq): proper use of D_AMQ.
1462
1463 * include/am_utils.h: define new D_BASIC, D_CONTROL, D_DEFAULT,
1464 D_IMMUTABLE, and D_MASK. Updated definitions of D_ALL and D_TEST.
1465 debug_flags extern should be unsigned.
1466
1467 * scripts/amd.conf-sample (debug_options): mention new "defaults"
1468 option.
1469
1470 * scripts/amd.conf.5,doc/am-utils.texi: document new debug option
1471 "defaults" and properly explain the corrected meanings of
1472 "daemon," "fork," "amq," and their "no" inversions. Better
1473 explain "all" and "test" too. Correct default debug_mtab file to
1474 /tmp/mtab.
1475
1476 * hlfsd/stubs.c (nfsproc_readlink_2_svc): proper use of D_FORK.
1477
1478 * hlfsd/homedir.c (homedir): proper use of D_FORK.
1479
1480 * hlfsd/hlfsd.c (main, hlfsd_init, cleanup): proper use of
1481 D_DAEMON.
1482
1483 * amd/nfs_start.c (mount_automounter): proper use of D_AMQ.
1484
1485 * amd/amd.h (DEBUG_MNTTAB_FILE): change default to /tmp/mtab,
1486 which is more common on more systems (instead of /tmp/mnttab).
1487
1488 * amd/amd.c (main): properly use D_DAEMON.
1489
1490 2005-08-14 Erez Zadok <ezk (a] cs.sunysb.edu>
1491
1492 * libamu/xutil.c (xlog_opt): define new pseudo log_option named
1493 "defaults", which is an alias for "fatal,error,user,warning,info".
1494
1495 * scripts/amd.conf.5, doc/am-utils.texi, amd/amd.8: document new
1496 log_option "defaults".
1497
1498 * amq/amq.8: typo. Arg name for -D is "debug_options" not
1499 "log_options".
1500
1501 * libamu/xutil.c: make xlog_level static, and initialize it to
1502 XLOG_DEFAULT.
1503 (cmdoption): take unsigned int as flags argument, and print any
1504 errors as XLOG_ERROR (which cannot be turned off).
1505 (switch_option): remove old code which disallowed you from turning
1506 off flags that were set when Amd started up. Now, you can turn
1507 any log option on/off at start time or later on (via amq -x),
1508 other than the two mandatory options (fatal+error).
1509
1510 * include/am_utils.h (XLOG_*): remove unused XLOG_DEFSTR. Define
1511 XLOG_MASK to mask out unused flag bits. Define XLOG_DEFAULT to be
1512 what it was before (fatal + error + user + warning + info), but
1513 use the new mask. Remove extern's for xlog_level and
1514 xlog_level_init. Change extern for cmdoption() to take an
1515 unsigned flags argument.
1516
1517 * doc/am-utils.texi, amq/amq.8, scripts/amd.conf.5, amd/amd.8:
1518 document mandatory log options
1519 (fatal+error) which cannot be turned off and are always on by
1520 default. They must be on so that Amd can report crucial errors,
1521 including those related to setting flags on/off.
1522
1523 * hlfsd/hlfsd.c (main): remove hack to initialize log_options.
1524
1525 * wire-test/wire-test.c: remove reference to unused xlog_level.
1526
1527 * amd/mapc.c (mapc_create): 'alloc' flags variable should be
1528 unsigned.
1529
1530 * amd/get_args.c (get_args): no need for hack using
1531 xlog_level_init.
1532
1533 * amd/Makefile.am: separate sources common to amd and sun2amd into
1534 a special, locally-built only, static library called libaminfo.a.
1535
1536 * libamu/xutil.c (real_plog, xsnprintf): call new xvsnprintf()
1537 wrapper function.
1538 (xvsnprintf): new function which already gets a va_list. This was
1539 needed to avoid nesting va_list's (which apparently isn't
1540 allowed).
1541
1542 * include/am_utils.h: prototype for new xvsnprintf wrapper.
1543
1544 * configure.in: sinclude([vers.m4]) version number file.
1545
1546 * vers.m4: new file to separate version number out of
1547 configure.in, useful for nightly snapshot script to generate
1548 nightly version string.
1549
1550 * Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro.
1551
1552 2005-08-14 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
1553
1554 * amd/info_file.c: add key to sun_entry2amd()'s parameters
1555
1556 * amd/info_hesiod.c: add key to sun_entry2amd()'s parameters
1557
1558 * amd/info_ldap.c: add key to sun_entry2amd()'s parameters
1559
1560 * amd/info_ndbm.c: add key to sun_entry2amd()'s parameters
1561
1562 * amd/info_nis.c: add key to sun_entry2amd()'s parameters
1563
1564 * amd/info_nisplus.c: add key to sun_entry2amd()'s parameters
1565
1566 * amd/sun_map.c: New functions to support sun translation to amd.
1567 The function sun_entry2amd's parameters were expanded to include
1568 the key value. sun_entry_2amd() now returns NULL on error.
1569
1570 * amd/sun_map.h: Expand sun_entry2amd's parameters to include key
1571 value.
1572
1573 * amd/sun_map_parse.y: Change how file system types are parsed out
1574 of the list of options for each entry. The previous way was not
1575 working properly so now we just look for the 'fstype' keyword in
1576 each option. If it exists we copy its key value.
1577 Added some comments to sun_map_parse_read().
1578
1579 * amd/amd.h: Added an extern from info_file.c called
1580 file_read_line(). Previously this function was static but is now
1581 used in sun2amd.c.
1582
1583 * amd/info_file.c: Changed the static function read_line() to a
1584 public function called file_read_line(). This function is now
1585 used in sun2amd.c
1586
1587 * amd/sun2amd.8: Filled in the contents of this man page. This is
1588 a conversion utility that converts Sun maps to Amd maps.
1589
1590 * amd/sun2amd.c: Implemented a working version of this utility.
1591
1592 2005-08-11 Erez Zadok <ezk (a] cs.sunysb.edu>
1593
1594 * amd/sun_map_parse.y: instead of using a custom FOO_alloc()
1595 function, use Amd's CALLOC(struct FOO) macro.
1596
1597 * amd/sun_map.h: remove extern definitions to functions no longer
1598 needed.
1599
1600 * amd/sun_map.c: removed superfluous *_alloc() functions, some of
1601 which caused conflicts with same-named symbols in the parser
1602 (since we rename 'yyalloc' to 'sun_map_alloc').
1603
1604 * configure.in: keep AC_INIT on same line, for nightly snapshot
1605 build script.
1606
1607 * amd/Makefile.am: f/lex libraries are incompatible with multiple
1608 scanners, so don't link Amd with libl.a/libfl.a.
1609
1610 2005-08-10 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
1611
1612 * amd/sun_map_tok.l: Clean up regular expression so HPUX stops
1613 whining.
1614
1615 2005-08-09 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
1616
1617 * amd/sun_map_parse.y: Moved license below special yacc bracket to
1618 be portable with HPUX's yacc. Clean up externs.
1619
1620 * amd/sun_map_tok.l: Moved license below special lex bracket to be
1621 portable with HPUX's lex. Fixed definitions to allow for a
1622 non-flex lex to parse strings instead of files. Added some casts
1623 to strlcpy usage to silence warnings. Moved the % options because
1624 HPUX was complaining,
1625
1626 2005-08-08 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
1627
1628 * amd/sun_map_tok.l: Applied some definition goop to handle the
1629 ECHO symbol that lex defines. This symbol causes problems on
1630 RedHat-EL-powerPC platforms. Replaced strncpy with strlcpy.
1631 Renamed the function sun_map_yyinput to sun_map_input. This
1632 function is a utility function that is not generated by lex.
1633 Therefore, the 'yy' may cause confusion.
1634
1635 2005-08-08 Erez Zadok <ezk (a] cs.sunysb.edu>
1636
1637 * amd/sun_map_tok.l: allocate more output slots so lex scanners
1638 don't run out of memory.
1639
1640 * amd/sun_map_parse.y: declare extern for sun_map_parse().
1641
1642 * libamu/xutil.c (xsnprintf): ensure proper comparisons between
1643 signed and unsigned quantities.
1644
1645 2005-08-06 Erez Zadok <ezk (a] cs.sunysb.edu>
1646
1647 * libamu/util.c, amd/autil.c (strsplit): moved strsplit() function
1648 from Amd code to to libamu, so sun2amd could use it.
1649
1650 * amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man
1651 page.
1652 (EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files
1653
1654 * amd/sun2amd.8: placeholder for man page.
1655
1656 * amd/sun2amd.c: placeholder for C version of translator from Sun
1657 syntax maps to Amd maps.
1658
1659 * */*.[0-9]: include file name in nroff source comment.
1660
1661 * ALL: use '0' properly when assigning or passing it to functions.
1662 If in the context pointer, use NULL. If in the context of a
1663 single char (say within a string), the use '\0'. This is just to
1664 make the code clearer.
1665
1666 * m4/macros/header_templates.m4: template for HAVE_MAP_SUN.
1667
1668 * amd/mapc.c (maptypes): add placeholder for Sun-syntax map
1669 methods.
1670
1671 * amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c
1672
1673 * amd/info_sun.c: placeholder for meta info parser to get info
1674 from Sun automount-style /etc/auto_master, possibly following
1675 into multiple info services (via /etc/nsswitch.conf).
1676
1677 * libamu/xutil.c (xsnprintf): if vsnprintf truncated the output
1678 string to avoid an overflow, print an error. Include some code to
1679 break out any possible infinite loop between plog() and
1680 xsnprintf().
1681 (real_plog): now we can use (carefully) xsnprintf() directly.
1682
1683 * amd/sun_map.[hc]: cleanup and formatting.
1684
1685 * amd/sun_map_parse.y: to match the literal string "fstype=" use
1686 double quotes, not single quotes.
1687
1688 * amd/get_args.c (get_args): call conf_parse() using conf_in.
1689
1690 * amd/amd.h: use renamed parser symbols (yyparse -> conf_parse;
1691 yyin -> conf_in).
1692
1693 * ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb,
1694 and suggested by the Automake manual. This enhanced parser will
1695 prefix each conflicting yacc/lex symbol with a unique name
1696 produced from INPUT. For example, if INPUT is foo_parse.y, then
1697 yyparse() becomes foo_parse(). This requires that both your .l
1698 and corresponding .y files have the same prefix (e.g., foo_parse.y
1699 and foo_tok.l).
1700
1701 * amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c
1702 source files are built automatically, and therefore should not be
1703 in the distro (IMHO), and should be cleaned upon "make clean".
1704 (amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files.
1705
1706 * ylwrap: new file needed because we have two parsers now.
1707
1708 * amd/sun_map_{parse.y,tok.l}: cleanup and formatting.
1709
1710 2005-08-06 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
1711
1712 * amd/Makefile.am: Added new files sun_map.h, sun_map.c,
1713 sun_map_parse.y, and sun_map_tok.l. These files add support for
1714 parsing Sun style maps. The yacc/lex files needed custom rules so
1715 they don't cause symbol conflicts with each other.
1716
1717 * amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the
1718 line limit for info services.
1719
1720 * amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN
1721
1722 * amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN,
1723 added support for parsing Sun style maps. The support for Sun
1724 maps is done using the sun_entry2amd() function. This function is
1725 called for each entry line that is read only when Sun parsing is
1726 enabled. For each entry line that is passed to the function a
1727 copy of the Amd equivalent is returned.
1728
1729 * amd/sun_map.h: new header file for Sun style map support
1730
1731 * amd/sun_map.c: new source file for Sun style map support, clean
1732 up comments, additional sun2amd conversion routines
1733
1734 * amd/sun_map_parse.y: new yacc file for parsing Sun style maps,
1735 fix copyright notice, put filename below license.
1736
1737 * amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix
1738 copyright notice, put filename below license.
1739
1740 * amd/get_args.c: replace usage of strlcat with xstrlcat
1741
1742 * include/am_utils.h: added 'extern void xstrlcat()'
1743
1744 * libamu/util.c: Added a xstrlcat() function that wraps the
1745 syscall strlcat() so that string truncations can be logged.
1746
1747 2005-08-06 Erez Zadok <ezk (a] cs.sunysb.edu>
1748
1749 * amd/info_file.c (file_search, file_reload): pass mnt_map to
1750 file_search_or_reload.
1751 (file_search_or_reload): ensure that mnt_map is never NULL.
1752
1753 * amd/info_nis.c (nis_search): call sun_entry2amd() if
1754 sun_map_syntax=yes.
1755
1756 * amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if
1757 sun_map_syntax=yes.
1758
1759 * amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if
1760 sun_map_syntax=yes.
1761
1762 * amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm.
1763 (search_ndbm): call sun_entry2amd() if sun_map_syntax=yes.
1764
1765 * amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if
1766 sun_map_syntax=yes.
1767
1768 * amd/info_exec.c (exec_search): pass mnt_map to
1769 exec_parse_qanswer.
1770 (exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes.
1771
1772 * doc/am-utils.texi (sun_map_syntax Parameter): document new
1773 common parameter.
1774
1775 * scripts/amd.conf.5: selectors_in_defaults is a common parameter,
1776 not just [global]. Use consistent capitalization of Amd/Amq.
1777 Document new sun_map_syntax parameter.
1778
1779 * scripts/amd.conf-sample: properly list all of the parameters
1780 which are common to both the [global] and the per-map sections.
1781 (sun_map_syntax): example of new parameter.
1782
1783 * doc/am-utils.texi (Common Parameters): selectors_in_defaults is
1784 a common parameter, not just [global].
1785
1786 * scripts/amd.conf-sample (sun_map_syntax): example of new flag.
1787
1788 * amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse
1789 sun_map_syntax flag (global or per map).
1790
1791 * amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the
1792 map uses Sun automounter syntax.
1793
1794 * cvs-server.txt: update instructions after branching 6.1-stable.
1795
1796 2005-08-02 Erez Zadok <ezk (a] cs.sunysb.edu>
1797
1798 *******************************************************************
1799 *** Released am-utils-6.1.1 ***
1800 *******************************************************************
1801
1802 * libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is
1803 vsprintf, not sprintf.
1804
1805 * conf/umount/umount_osf.c (umount_fs): refer to proper formal
1806 parameter name.
1807 (umount2_fs): pass second arg to umount().
1808
1809 * ALL: remove CVS ID and put actual file name in source.
1810
1811 * conf/autofs/*.[hc]: proper copyright headers.
1812
1813 * whitespace reformatting. Remove remaining '%W%' SCCS IDs.
1814
1815 * amd/mntfs.c (free_mntfs): don't discard the last reference to an
1816 mntfs that had been mounted already. It won't have the
1817 MFF_RESTARTED flag on, as it gets turned off after the entry is
1818 mounted, but it will have the MFF_RSTKEEP flag on.
1819
1820 * amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs):
1821 show the mntfs's flags.
1822
1823 2005-08-01 Erez Zadok <ezk (a] cs.sunysb.edu>
1824
1825 * conf/mtab/mtab_linux.c: removed unused code. Cleanup.
1826 (handler): removed this bad signal handler.
1827 (lock_mtab): Redhat's original code set a signal handler called
1828 "handler()" for all non-ALRM signals. The handler called
1829 unlock_mntlist(), plog'ed the signal name, and then exit(1)!
1830 Never, ever, exit() from inside a utility function. This messed
1831 up Amd's careful signal-handling code, and caused Amd to abort
1832 uncleanly only any other "innocent" signal
1833 (even simple SIGUSR1), leaving behind a hung Amd mnt point. That
1834 code should have at least restored the signal handlers' states
1835 upon a successful mtab unlocking. Anyway, that handler was
1836 unnecessary, because will call unlock_mntlist() properly anyway on
1837 exit.
1838
1839 * conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog
1840 message that we're inside the unlock_mntlist function.
1841
1842 * amd/amd.c (main): use new setup_sighandler() for Amd's four main
1843 signals (INT, TERM, HUP, and CHLD).
1844 (main) Add SIGINT and SIGTERM to masked_sigs, used in
1845 nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set
1846 to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we
1847 HAVE_SIGACTION. So this change makes Amd behave consistently.
1848
1849 * include/am_utils.h: extern for new setup_sighandler().
1850
1851 * libamu/xutil.c (setup_sighandler): new utility function to setup
1852 a single signal-handler regardless of what method is supported by
1853 this OS.
1854 (going_down): call unlock_mntlist() when exiting, to ensure that
1855 Amd will remove any leftover mtab lock files, if any.
1856
1857 * amd/restart.c (restart_automounter_nodes): cleanup function.
1858
1859 * minor new port: i386-pc-linuxoldld-deb3.1.
1860
1861 * configure.in: include <sys/types.h> before <linux/socket.h> to
1862 get the definition of size_t on Debian-3.1r0a.
1863
1864 2005-07-29 Erez Zadok <ezk (a] cs.sunysb.edu>
1865
1866 * amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent
1867 IP address. First check if it differs from the existing one of
1868 the fserver, and copy only if it changed. If it did change, flush
1869 the fhandle cache to avoid a stale fhandle being reused. This
1870 allows Amd to detect IP address changes even for an fserver that
1871 lost one or more NFS pings, but not enough to be declared totally
1872 down. We handle the "totally down" fserver case in
1873 check_fs_addr_change().
1874
1875 * amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task),
1876 amd/nfs_subr.c (nfs_quick_reply): code clarity.
1877
1878 * conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of
1879 errnos to NFS errors.
1880
1881 * conf/umount/umount_linux.c (umount2_fs): cleanup code. Trying
1882 stat() seems doomed to hang at times, so don't try stat at all,
1883 because umount2() appears to be clever enough to never hang.
1884
1885 2005-07-25 Erez Zadok <ezk (a] cs.sunysb.edu>
1886
1887 * amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
1888 particular fserver may need forced/lazy unmounts when it's mntfs's
1889 are unmounted.
1890
1891 * amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
1892 the user specified forced_unmounts=yes in amd.conf, and this
1893 fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
1894 forced/lazy unmounts, then try forced/lazy unmounts. This should
1895 allow a hung mount point to be removed.
1896
1897 * amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
1898 detection code to its own function.
1899 (check_fs_addr_change): new function to detect if the IP address
1900 of a downed host has changed, and do various cleanups and fixups
1901 to try and recover as best from that situation (e.g., flushing
1902 various caches). Also set the FSF_FORCE_UNMOUNT flag for the
1903 fserver in question.
1904 (flush_srvr_nfs_cache): pass fserver as argument, so we can
1905 selectively flush the NFS cache for a single fserver (or all of
1906 them, if you pass NULL).
1907
1908 * libamu/xutil.c (switch_to_logfile): truncate a regular-file log
1909 file if user passed non-zero "truncate_log" flag.
1910
1911 * include/am_utils.h: switch_to_logfile() now takes a 3rd arg.
1912
1913 * amd/get_args.c (get_args): pass "truncate_log" flag as per
1914 amd.conf global settings.
1915
1916 * amd/conf.c (gopt_truncate_log): store global value of
1917 truncate_log flag.
1918
1919 * amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main,
1920 reload): don't truncate log file when calling switch_to_logfile().
1921
1922 * amd/amd.h (CFM_TRUNCATE_LOG): new flag. Fix comment typo.
1923
1924 * NEWS, doc/am-utils.texi (truncate_log Parameter),
1925 scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document
1926 new truncate_log amd.conf parameter.
1927
1928 * amd/conf.c (gopt_forced_unmounts): check Linux kernel version
1929 and alert if your version may be too old for MNT_FORCE to work
1930 (before 2.4.0) or for MNT_DETACH to work (before 2.6.0).
1931 Otherwise it may be impossible to pin down the exact kernel
1932 version in which we should enable this feature.
1933
1934 * conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned
1935 EBUSY, then don't try to stat(2) before MNT_DETACH because it
1936 could hang.
1937
1938 2005-07-21 Erez Zadok <ezk (a] cs.sunysb.edu>
1939
1940 * conf/umount/umount_linux.c (umount_fs): cleanup this function,
1941 breaking long "if" statements using "goto out".
1942
1943 * conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs):
1944 call new utility function umount2_fs() as needed (EBUSY, EIO, or
1945 ESTALE).
1946
1947 * conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs):
1948 define a new utility function to invoke forcible/lazy unmounts
1949 without touching any mtab files. This separate utility function
1950 is useful because it can be called from elsewhere.
1951
1952 * amd/amfs_toplvl.c (amfs_toplvl_init): new function, called
1953 before Amd mounts toplvl mounts, which gives us a hook for cleanup
1954 of a previously dead Amd. In our case, if the user asked for
1955 forced_unmounts, and the OS supports it, then we try forced/lazy
1956 unmounts on any previous toplvl mounts. This is useful if a
1957 previous Amd died and left behind toplvl mount points (this Amd
1958 will clean them up!). WARNING: Don't use forced/lazy unmounts if
1959 you have another valid Amd running, because this code WILL force
1960 those valid toplvl mount points to be detached as well!
1961
1962 * amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally
1963 try forced/lazy unmounts because it will prevent a normal Amd from
1964 terminating and cleaning up properly (self-deadlocking: detached
1965 mounts hang the parent Amd on a stat). Since we already do
1966 unmounts in the background, then try a safer policy: after trying
1967 the normal unmounts a few times (5 sec), escalate and try forced
1968 unmounts a few times (5 more seconds), and if even that failed,
1969 then try the ultimate -- detached unmounts (which always succeed).
1970 This allows Amd to first try and shutdown cleanly, and gradually
1971 try more forcible ways to shutdown. On Linux, this procedure will
1972 cleanly shutdown Amd even if there are processes with their CWD on
1973 Amd's mount points (which normally result in EBUSY).
1974
1975 2005-07-20 Erez Zadok <ezk (a] cs.sunysb.edu>
1976
1977 * Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro.
1978
1979 * conf/umount/umount_aix.c: easier if AIX has its own unmount
1980 helper file.
1981
1982 * m4/macros/check_umount_style.m4: AIX needs its own unmount style
1983 file.
1984
1985 * doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
1986
1987 2005-07-19 Erez Zadok <ezk (a] cs.sunysb.edu>
1988
1989 * conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
1990 forced-unmount flag.
1991
1992 * conf/umount/umount_default.c (umount_fs): if regular umount got
1993 EBUSY, EIO, or ESTALE, then try forced unmount, if supported. Try
1994 umount2 (Solaris) or uvmount (AIX).
1995
1996 * conf/umount/umount_{bsd44,osf}.c (umount_fs): if default
1997 umount() failed with EIO or ESTALE, also try forced unmount.
1998
1999 2005-07-18 Erez Zadok <ezk (a] cs.sunysb.edu>
2000
2001 * amd/autil.c (amfs_mount), amd/amfs_toplvl.c
2002 (amfs_toplvl_umount): enable forced/lazy unmounts only if user
2003 asked for it (and dlog it).
2004
2005 * scripts/amd.conf.5: document new force_unmount global parameter.
2006
2007 * doc/am-utils.texi (forced_unmounts Parameter): document new
2008 global parameter.
2009
2010 * amd/conf.c (gopt_forced_unmounts): process forced_unmounts
2011 option (default "no"). Exit with an error if user specified the
2012 option as "yes" but configure couldn't find support for either the
2013 MNT_FORCE or MNT_DETACH flags.
2014
2015 * scripts/amd.conf-sample (forced_unmounts): example usage of new
2016 option.
2017
2018 * amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts
2019 option.
2020
2021 * m4/macros/header_templates.m4: templates for _DETACH and _FORCE.
2022
2023 * configure.in: check for generic u/mount options "detach" and
2024 "force".
2025
2026 * include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes.
2027 Define AMU_UMOUNT flags for force, detach, and autofs.
2028
2029 * amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH
2030 unmount flags unconditionally. Pass them to UMOUNT_FS().
2031
2032 * conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH
2033 if needed, because some Linux systems don't define them
2034 (presumably because it would be too dangerous to expose these
2035 flags to users).
2036
2037 * amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO,
2038 then assume that we're in trouble, possibly because a previous
2039 mount is hung. So, first try to force a lazy unmount of the old
2040 mount. If the forced unmount worked, then try again to mount the
2041 desired file system. If the forced unmount failed, then don't
2042 retry: just return an error.
2043
2044 * amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c
2045 (amfs_host_umount), amd/ops_cachefs.c (cachefs_umount),
2046 amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount),
2047 amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount),
2048 amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount),
2049 amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c
2050 (umount_fs), conf/umount/umount_default.c (umount_fs),
2051 conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c
2052 (umount_fs): compute and use unmount specific flags.
2053
2054 2005-07-16 Erez Zadok <ezk (a] cs.sunysb.edu>
2055
2056 * configure.in: better help for users, if nfs_args can't be found.
2057
2058 2005-07-15 Erez Zadok <ezk (a] cs.sunysb.edu>
2059
2060 * BUGS: more details on AIX's need to install bos.net.nfs.adt
2061 before configuring am-utils (else configure cannot find struct
2062 nfs_args on AIX).
2063
2064 2005-07-10 Erez Zadok <ezk (a] cs.sunysb.edu>
2065
2066 * amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
2067 address of a down server had changed.
2068
2069 * amd/info_union.c (union_reload): use safer xsnprintf() routine.
2070
2071 * amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
2072 of a named but down fserver changed (i.e., the previous IP address
2073 is no longer responding). If so, then reset the fserver to the
2074 new IP address, and set the fserver's flags such that the function
2075 will fall through to doing the usual NFS version/proto checks and
2076 pinging. (This should fix one case of bug #308.)
2077
2078 * conf/umount/umount_linux.c (umount_fs): warn if plain umount()
2079 failed, before we try to ignore any errors or try optional
2080 umount2(), possibly with forced/lazy unmount.
2081 (umount_fs): dlog when unmount succeeded.
2082
2083 2005-07-08 Erez Zadok <ezk (a] cs.sunysb.edu>
2084
2085 * conf/mount/mount_linux.c: add a couple more NFSv2 error codes
2086 that are compatible with NFSv3.
2087
2088 2005-07-07 Erez Zadok <ezk (a] cs.sunysb.edu>
2089
2090 * m4/macros/header_templates.m4: extern template for strlcat().
2091
2092 * amd/get_args.c (get_version_string): use safer strlcat (or
2093 replacement strlcat). Use new wrapper xsnprintf() function, which
2094 will use the safer vsnprintf() if available, else default to plain
2095 sprintf.
2096
2097 * configure.in: check for existence of strlcat() and its extern,
2098 replacing with libamu/strlcat.c as needed.
2099
2100 * libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro.
2101
2102 * include/am_defs.h: optional strlcat() extern.
2103
2104 * include/am_utils.h: extern for new xvsnprintf().
2105
2106 * configure.in: overdue new major libtool shlib version.
2107 Check for snprintf function and extern.
2108
2109 2005-07-06 Erez Zadok <ezk (a] cs.sunysb.edu>
2110
2111 * conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
2112 aix4_nfs_args_bis.
2113
2114 * Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in
2115 distribution.
2116
2117 * conf/mount/mount_aix.c: mount style for aix 5.x and newer.
2118
2119 * conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x.
2120
2121 * m4/macros/check_mount_style.m4: split mount styles for
2122 aix3.x/4.x and the newer (and better) aix 5.x code.
2123
2124 2005-07-05 Erez Zadok <ezk (a] cs.sunysb.edu>
2125
2126 * amq/pawd.c (getawd): avoid buffer overflow. Bug fix from Graeme
2127 Wilford <G.Wilford (a] surrey.ac.uk>.
2128
2129 2005-06-30 Erez Zadok <ezk (a] cs.sunysb.edu>
2130
2131 * amd/map.c (get_next_exported_ap): Avoid running off the end of
2132 the exported_ap[] array. Patch from jon+amd-at-spock.org. Fixed
2133 bug #301.
2134
2135 2005-06-25 Erez Zadok <ezk (a] cs.sunysb.edu>
2136
2137 * Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
2138
2139 * conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
2140 must come before C code.
2141
2142 * conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
2143 that's safe (uses locks, handles symlinks to /proc/mounts, etc.).
2144 Patch from Red Hat, which they adapted from mtab_file.c. Minor
2145 fixes to this file.
2146
2147 * m4/macros/check_mnttab_style.m4: Use Linux-specific mount table
2148 handling.
2149
2150 2005-06-24 Erez Zadok <ezk (a] cs.sunysb.edu>
2151
2152 * conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
2153 copying code.
2154
2155 2005-06-23 Erez Zadok <ezk (a] cs.sunysb.edu>
2156
2157 * conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
2158 be missing from older hpux10 systems.
2159
2160 * configure.in: update bug-reporting address to list
2161 https://bugzilla.am-utils.org/ as well as the mailing list.
2162
2163 * Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4
2164 macro.
2165
2166 * conf/transp/transp_tli.c (get_nfs_version): always use
2167 rpcvers_t, now that it'll be automatically discovered.
2168
2169 * configure.in: check for rpcvers_t type.
2170
2171 * m4/macros/type_rpcvers_t.m4: new macro to check for type of
2172 rpcvers_t (Some Solaris versions need it).
2173
2174 * conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
2175 here, but in the actual source files that may need it.
2176
2177 * libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined
2178 already.
2179
2180 * include/am_defs.h: define extern for sleep(3) if needed.
2181
2182 * m4/macros/header_templates.m4: template for sleep(3) extern.
2183
2184 * configure.in: check for extern for sleep(3), which is missing
2185 from some old (and buggy) versions of gcc's fixinc'ed headers.
2186
2187 * conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct
2188 nfs_args from actual system headers.
2189
2190 * conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis"
2191 structure.
2192
2193 2005-06-22 Erez Zadok <ezk (a] cs.sunysb.edu>
2194
2195 * BUGS: update Solaris information about use of f/lex and
2196 yacc/bison.
2197
2198 2005-06-20 Erez Zadok <ezk (a] cs.sunysb.edu>
2199
2200 * minor new port: i386-pc-linux-suse9.3.
2201
2202 2005-06-20 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
2203
2204 * configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
2205 so u32 is available for <linux/sunrpc/msg_prot.h>.
2206
2207 2005-06-16 Erez Zadok <ezk (a] cs.sunysb.edu>
2208
2209 * amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
2210 exec maps will always match when users use amd with command line
2211 args (not amd.conf). Using that legacy way, unfortunately, means
2212 that Amd will use it's hard-coded info-service search path, which
2213 doesn't work for everyone. It's much better to use amd.conf and
2214 specify what you want exactly.
2215
2216 2005-06-15 Erez Zadok <ezk (a] cs.sunysb.edu>
2217
2218 * minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
2219
2220 * m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned
2221 int as the type of recvfrom()'s 6th argument.
2222
2223 * m4/macros/type_yp_order_outorder.m4: linux systems use unsigned
2224 int as the type of yp_order()'s 3rd argument.
2225
2226 2005-06-15 Erez Zadok <ezk (a] cs.sunysb.edu>
2227
2228 * scripts/amd.conf-sample (map_type): typo, said mount_type
2229 instead of map_type for the 'exec' example.
2230
2231 2005-06-11 Erez Zadok <ezk (a] cs.sunysb.edu>
2232
2233 *******************************************************************
2234 *** Released am-utils-6.1 ***
2235 *******************************************************************
2236
2237 2005-06-04 Erez Zadok <ezk (a] cs.sunysb.edu>
2238
2239 * amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
2240 only if the user specified them in amd.conf or elsewhere. If they
2241 were not specified, don't do anything, which would let the OS use
2242 its own defaults.
2243
2244 * amd/get_args.c (get_args): negative timeo/retrans are "good" in
2245 that they represent uninitialized values (meaning to let the OS
2246 use it's default values). So only check if user specified a value
2247 equal to zero (invalid).
2248
2249 * amd/amd.h: define AMU_TYPE_NONE so we know when users didn't
2250 specify timeo/retrans at all.
2251
2252 2005-06-03 Erez Zadok <ezk (a] cs.sunysb.edu>
2253
2254 *******************************************************************
2255 *** Released am-utils-6.1-rc7 ***
2256 *******************************************************************
2257
2258 * m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for
2259 configuring, not just for building. That way the two phases
2260 (configure and compile) are in sync. This fixes getwire() on
2261 OSF/1 systems.
2262
2263 * conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not
2264 defined in system headers.
2265
2266 2005-06-01 Erez Zadok <ezk (a] cs.sunysb.edu>
2267
2268 * libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
2269 longer needed.
2270
2271 2005-05-28 Erez Zadok <ezk (a] cs.sunysb.edu>
2272
2273 * completed set of fixes for irix6.5.
2274
2275 * Minor new ports alpha-unknown-linux-gentoo1.4.16
2276 alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and
2277 sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5. Test
2278 those systems with both cc and gcc, where possible.
2279
2280 * include/am_xdr_func.h: remove trailing comma at end of enum
2281 list.
2282
2283 * m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
2284 undefined. So give it a dummy value.
2285
2286 * libamu/alloca.c: remove file from distro.
2287
2288 * configure.in: don't call AC_FUNC_ALLOCA any more.
2289
2290 * include/am_defs.h: remove header fixups for <alloca.h>, now that
2291 we don't need it.
2292
2293 * amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
2294 avoid only use of alloca() in am-utils, and to use strdup
2295 explicitly. This way we can avoid using alloca, a feature that's
2296 not portable on various systems.
2297
2298 * amq/amq.c: remove unused lint/rcsid cruft.
2299
2300 2005-05-27 Erez Zadok <ezk (a] cs.sunysb.edu>
2301
2302 * conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
2303 extra parentheses around assignments in "if" expressions (gcc
2304 complains).
2305
2306 * conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions
2307 for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and
2308 xdr_groups.
2309
2310 * configure.in: check for <linux/socket.h>, which, if found,
2311 appears to be preferable to <sys/socket.h>. Use it to find
2312 <linux/nfs_mount.h>. On some Linux systems
2313 (Gentoo), both exist but only one must be included, or else you
2314 get redefined structure errors.
2315
2316 * libamu/wire.c (is_network_member): check if masknum is
2317 INADDR_NONE, not "< 0" because it's an unsigned quantity.
2318
2319 * libamu/util.c (xstrlcpy): remove useless test for size_t < 0,
2320 because it's an unsigned quantity.
2321
2322 2005-05-26 Erez Zadok <ezk (a] cs.sunysb.edu>
2323
2324 *******************************************************************
2325 *** Released am-utils-6.1-rc6 ***
2326 *******************************************************************
2327
2328 2005-05-25 Erez Zadok <ezk (a] cs.sunysb.edu>
2329
2330 * conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
2331 missing definition of struct thread_credentials in <sys/vfs.h>
2332 but trying to bring that definition in drags a whole lot of other
2333 messy stuff. So just provide a dummy definition for this
2334 structure.
2335
2336 2005-05-24 Erez Zadok <ezk (a] cs.sunysb.edu>
2337
2338 * Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
2339
2340 * m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL.
2341
2342 * m4/macros/check_extern.m4: include <sys/vmount.h> on AIX
2343 systems, so we can find extern definition for mntctl().
2344
2345 * conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
2346 define an extern for mntctl() if needed.
2347
2348 * amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++
2349 style comments in C code. Some C compilers don't accept it.
2350
2351 * amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast
2352 of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with
2353 xlC.
2354
2355 * amd/get_args.c: rename symbol conf_file to amu_conf_file to
2356 avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2.
2357 Oh, when will people who develop libraries learn to always prefix
2358 their exported symbols with a library-specific name?
2359
2360 * configure.in: check for mntctl() extern on AIX systems.
2361
2362 * ltmain.sh: update from latest libtool-1.5.18, so we can properly
2363 build on AIX 5.2/5.3 with cc and with gcc.
2364
2365 * m4/macros/libtool.m4: update from latest libtool-1.5.18. This
2366 time, and from now on, we must include libtool.m4 from the libtool
2367 distribution itself. That way we ensure that we use an ltmain.sh
2368 that matches the appropriate libtool M4 macros. This makes
2369 am-utils no longer dependent on having libtool installed on a
2370 given system on which you run bootstrap.
2371
2372 2005-05-23 Erez Zadok <ezk (a] cs.sunysb.edu>
2373
2374 * minor new port: i386-pc-linux-deb3.0.
2375
2376 2005-05-22 Erez Zadok <ezk (a] cs.sunysb.edu>
2377
2378 * minor new ports: i386-unknown-netbsdelf2.0.2 and
2379 i386-unknown-openbsd3.7.
2380
2381 2005-05-20 Erez Zadok <ezk (a] cs.sunysb.edu>
2382
2383 * minor new ports: i386-pc-linux-gentoo1.4.16 and
2384 powerpc-unknown-linux-yellowdog2.3.
2385
2386 * include/{mount_headers2.h, am_defs.h}: safer setup before
2387 inclusion of <linux/nfs_mount.h>, which is broken on several
2388 systems.
2389
2390 * configure.in: test for <linux/nfs2.h>. Separate special test
2391 for <linux/nfs_mount.h> because we need to define __KERNEL__ for
2392 that test, as well as optionally define struct nfs2_fh for some
2393 systems (gentoo with 2.4 kernel, yellowdog 2.3, and others).
2394
2395 * config.guess.long: support Gentoo and Yellow Dog Linux distros.
2396
2397 2005-05-18 Erez Zadok <ezk (a] cs.sunysb.edu>
2398
2399 * minor new ports: i386-pc-linux-suse9.2 and
2400 i386-unknown-freebsd5.4.
2401
2402 * amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
2403
2404 2005-05-17 Erez Zadok <ezk (a] cs.sunysb.edu>
2405
2406 *******************************************************************
2407 *** Released am-utils-6.1-rc5 ***
2408 *******************************************************************
2409
2410 * amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
2411 sending annoying warning for a minor issue.
2412
2413 2005-05-17 Ion Badulescu <ionut (a] moisil.badula.org>
2414
2415 * amd/nfs_subr.c: check for NULL pointer before dereferencing it.
2416
2417 2005-05-16 Erez Zadok <ezk (a] cs.sunysb.edu>
2418
2419 * minor new ports: powerpc-apple-darwin7.9.0.
2420
2421 * m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part
2422 from OS name because it's no longer relevant. Also, don't include
2423 the major OS version number in the OS name because that's also
2424 unnecessary (and users can always use $osver in maps).
2425
2426 * amd/nfs_subr.c: use [1] for out-of-band pointer at the end of
2427 struct am_fh, because it's the most portable method. Bug fix
2428 suggestion from Dan Riley <dsr at mail.lns.cornell.edu>. Better
2429 fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the
2430 actual size we use.
2431
2432 * amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used
2433 def_opts to options given in -opts, appended with the /default
2434 options. Bug fix suggestion from Dan Riley <dsr at
2435 mail.lns.cornell.edu>.
2436
2437 2005-05-13 Erez Zadok <ezk (a] cs.sunysb.edu>
2438
2439 *******************************************************************
2440 *** Released am-utils-6.1-rc4 ***
2441 *******************************************************************
2442
2443 2005-05-11 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
2444
2445 * amd/amd.c (main) : fixed memory leak detected by valgrind
2446
2447 * amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by
2448 valgrind
2449
2450 2005-05-11 Erez Zadok <ezk (a] cs.sunysb.edu>
2451
2452 * m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4,
2453 check_nfs_fh_dref.m4, check_nfs_prot_headers.m4,
2454 check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check
2455 for "macosx" as valid OS string, so we compile properly on Darwin
2456 systems.
2457
2458 *******************************************************************
2459 *** Released am-utils-6.1-rc3 ***
2460 *******************************************************************
2461
2462 * rerun bootstrap to get a working configure script that actually
2463 checks for limits.h and dependent linux autofs/nfs headers.
2464
2465 * configure.in: remove redundant check for limits.h.
2466
2467 2005-05-09 Erez Zadok <ezk (a] cs.sunysb.edu>
2468
2469 *******************************************************************
2470 *** Released am-utils-6.1-rc2 ***
2471 *******************************************************************
2472
2473 2005-05-08 Erez Zadok <ezk (a] cs.sunysb.edu>
2474
2475 * amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
2476 old_def_opts variable.
2477
2478 2005-05-08 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
2479
2480 * amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map
2481 entry has a single dash '-', that the default options are reset.
2482 This functionality was somehow lost from earlier releases and
2483 reported by Dan Riley <dsr (a] mail.lns.cornell.edu>.
2484
2485 2005-05-05 Erez Zadok <ezk (a] cs.sunysb.edu>
2486
2487 * config.guess.long: detect SuSE Enterprise Server and call it
2488 "sles" not "suse".
2489
2490 2005-05-02 Erez Zadok <ezk (a] cs.sunysb.edu>
2491
2492 * doc/am-utils.texi (amd): document proper use of
2493 /etc/hosts.allow. Don't spawn a new Amd process because Amd will
2494 get confused if someone else waitpid's on its children (which
2495 often do important un/mount work). Issue reported by Francis
2496 Montagnac <Francis.Montagnac at sophia.inria.fr>.
2497
2498 * minor new ports: powerpc64-unknown-linux-rhel4, and
2499 powerpc64-unknown-linux-sles9.
2500
2501 2005-05-01 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
2502
2503 * amd/amfs_host.c (amfs_host_umount): We do not want to pass
2504 ENOENT as an error because if the directory does not exists our
2505 work is done anyway.
2506
2507 * conf/umount/umount_linux.c (umount_fs): If we are successful or
2508 there was an ENOENT, remove the mount entry from the mtab file.
2509
2510 2005-05-01 Ion Badulescu <ionut (a] moisil.badula.org>
2511
2512 * amd/nfs_subr.c: am_fh definition moved here from amd.h;
2513 restructured to better reflect its duality (old/new filehandles)
2514 (fh_to_mp3): fhh_gen is always used, even for new style f/h
2515 (mp_to_fh): ditto
2516
2517 * amd/amd.h: moved am_fh definition to nfs_subr.c (which is the
2518 only place where it's used)
2519
2520 2005-04-30 Erez Zadok <ezk (a] cs.sunysb.edu>
2521
2522 * m4/macros/host_macros.m4: use sw_vers on Apple machines to find
2523 out more appropriate OS name (macosx) and OS version (10.3.x) than
2524 uname(3) reports.
2525
2526 2005-04-29 Erez Zadok <ezk (a] cs.sunysb.edu>
2527
2528 * config.guess, config.sub, doc/texinfo.tex: updates from latest
2529 official GNU distributions.
2530
2531 * m4/macros/host_macros.m4: for macosx, change architecture value
2532 from "Power Macintosh" to "powerpc".
2533
2534 * libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not
2535 int (it's a size_t).
2536
2537 2005-04-16 Erez Zadok <ezk (a] cs.sunysb.edu>
2538
2539 * scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes
2540 Parameter), scripts/amd.conf-sample: document new
2541 normalize_slashes global configuration parameter.
2542
2543 * amd/opts.c (deslashify, normalize_slash): don't touch trailing
2544 slashes, even if multiples of them, if user said
2545 normalize_slashes=no in amd.conf.
2546
2547 * amd/conf.c (gopt_normalize_slashes): new function to record if
2548 to normalize slashes or not.
2549
2550 * amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to
2551 normalize double-slashes or not ("yes" by default).
2552
2553 * amd/autil.c (am_mounted): pass TRUE when calling mf_mounted.
2554 This is the parent mntfs which does the mf->mf_fo
2555 (am_opts type), and we're passing TRUE here to tell mf_mounted to
2556 actually free the am_opts.
2557
2558 * amd/autil.c (mf_mounted): Be careful when calling free_ops and
2559 XFREE here. Some pseudo file systems like nfsx call this
2560 function, even though it would be called by the lower-level amd
2561 file system functions. nfsx needs to call this function because
2562 of the other actions it takes. So we pass a boolean from the
2563 caller (yes, not so clean workaround) to determine if we should
2564 free or not. If we're not freeing (often because we're called
2565 from a callback function), then just to be sure, we'll zero out
2566 the am_opts structure and set the pointer to NULL. The parent
2567 mntfs node owns this memory and is going to free it with a call to
2568 mf_mounted(mntfs,TRUE).
2569
2570 * amd/amd.h: pass flag to mf_mounted, to free or not to free the
2571 am_opts.
2572
2573 * amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to
2574 tell it not to free the am_opts, to avoid double free.
2575
2576 * include/am_defs.h: include limits.h if found.
2577
2578 * configure.in: check for limits.h. Check for certain Linux
2579 headers such as auto_fs.h after checking for limits.h, and include
2580 the latter if it exists, because some Linux headers depend on
2581 limits.h. This prevents warnings during configure time.
2582
2583 2005-04-12 Erez Zadok <ezk (a] cs.sunysb.edu>
2584
2585 * amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo
2586 values from default global UDP settings, because it can cause
2587 unexpected timeouts in Amd on slow systems. The default that each
2588 OS provides for these toplvl NFS mounts should be OK, or else you
2589 can use the map_options entry.
2590
2591 2005-04-09 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
2592
2593 * amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the
2594 source buffer is treated more as a filehandle than a string.
2595
2596 * amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the
2597 source buffer is treated more as a filehandle than a string.
2598
2599 * amd/opts.c (free_op): No longer need to assign pointer to NULL
2600 after XFREE.
2601
2602 * amd/opts.c (expand_op): Revert back to using strncpy() instead
2603 of xstrlcpy. The code is correct and relies on the semantics of
2604 strncpy.
2605
2606 * libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use
2607 of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or
2608 truncate our concocted "hostname:/path" string prematurely if the
2609 nap->hostname field is ever less than 64 bytes long
2610 (MAXHOSTNAMELEN).
2611
2612 * libamu/util.c (xstrlcpy): Return immediately if len is 0 to
2613 avoid unnecessary work. Log an error and return if len is less
2614 than 0.
2615
2616 2005-04-07 Erez Zadok <ezk (a] cs.sunysb.edu>
2617
2618 * include/am_utils.h (XFREE): XFREE() should nullify the pointer
2619 even when compiling without debugging. It's safer this way.
2620
2621 * libamu/xutil.c (am_set_hostname),
2622 hlfsd/stubs.c (nfsproc_lookup_2_svc),
2623 fsinfo/fsinfo.c (fsi_get_args),
2624 fixmount/fixmount.c (is_same_host, remove_mount, main),
2625 conf/mtab/mtab_isc3.c (mnt_dup, mtab_of),
2626 conf/mount/mount_svr4.c (mount_svr4),
2627 conf/mount/mount_linux.c (setup_loop_device),
2628 conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF),
2629 conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF),
2630 amd/opts.c (expand_op),
2631 amd/ops_nfs.c (mount_nfs_fh),
2632 amd/nfs_subr.c (fh_to_mp3, mp_to_fh),
2633 amd/amfs_host.c (amfs_host_mount),
2634 amd/am_ops.c (merge_opts):
2635 use the new xstrlcpy instead of strncpy.
2636
2637 * conf/checkmount/checkmount_{default,svr4}.c
2638 (fixmount_check_mount): document why NOT to use xstrlcpy.
2639
2640 * libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any
2641 more, just MAXHOSTNAMELEN.
2642
2643 * libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid
2644 recursion, since xstrlcpy may use plog).
2645
2646 * libamu/util.c (xstrlcpy): truncating a string is serious. Use
2647 XLOG_ERROR not XLOG_WARNING.
2648
2649 2005-04-06 Erez Zadok <ezk (a] cs.sunysb.edu>
2650
2651 * include/am_utils.h: external definition for new xstrlcpy
2652 function.
2653
2654 * libamu/util.c (xstrlcpy): new function. Similar to strncpy, but
2655 uses strlcpy to guarantee that the resulting string is null
2656 terminated, and also warn if the resulting string was truncated.
2657
2658 * libamu/xutil.c (get_server_pid): move this function from util.c
2659 which is for general-purpose utilities.
2660
2661 * m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY.
2662
2663 * include/am_defs.h: provide extern definition for strlcpy, if
2664 needed.
2665
2666 * libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro.
2667
2668 * configure.in: search for strlcpy and its extern.
2669
2670 * amq/pawd.c (find_mt): It only handles *some* filesystem types,
2671 so it breaks on direct xfs mounts for example. The fix (from
2672 Christos Zoulas) is simple: We need to exclude toplvl to avoid
2673 infinite recursion, but all other fs's are game.
2674
2675 2005-03-31 Erez Zadok <ezk (a] cs.sunysb.edu>
2676
2677 * amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
2678 copying exactly len bytes, so add null just to be safe.
2679
2680 2005-03-30 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
2681
2682 * amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
2683 to make sure it null terminates.
2684
2685 2005-03-29 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
2686
2687 * amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case
2688 the memset can be removed because strncpy() should padd the
2689 buffer with NULLs anyway.
2690
2691 2005-03-21 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
2692
2693 * include/am_defs.h: Clarify comment.
2694
2695 2005-03-21 Erez Zadok <ezk (a] cs.sunysb.edu>
2696
2697 * include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96
2698 won't complain about a conflict for this definition between
2699 <rpcsvc/nis.h> and <sys/acl.h>.
2700
2701 2005-03-20 Erez Zadok <ezk (a] cs.sunysb.edu>
2702
2703 * amd/readdir.c (amfs_readdir_browsable): use %p, not %lx.
2704
2705 * libamu/mount_fs.c (print_nfs_args): print pointer with %p, not
2706 %lx.
2707
2708 2005-03-18 Erez Zadok <ezk (a] cs.sunysb.edu>
2709
2710 *******************************************************************
2711 *** Released am-utils-6.1-rc1 ***
2712 *******************************************************************
2713
2714 2005-03-18 Erez Zadok <ezk (a] cs.sunysb.edu>
2715
2716 * conf/transp/transp_tli.c (get_nfs_version): use proper type for
2717 versout on Solaris (rpcvcers_t).
2718
2719 * amd/mapc.c (mapc_showtypes): if last map type to print, don't
2720 append newline or comma to it.
2721
2722 * libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer
2723 to %lx because on Solaris 10 sparc gcc-3.4.3 complains about
2724 casting it to an int (size is different).
2725
2726 * configure.in, NEWS: prepare for 6.1-rc1 release.
2727
2728 2005-03-17 Erez Zadok <ezk (a] cs.sunysb.edu>
2729
2730 * scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley
2731 <adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what
2732 the ldap.schema expects.
2733
2734 * amd/map.c (exported_ap_free): We're using a free-list data
2735 structure and re-using malloc'ed objects. So, to be safe, memset
2736 entire structure when it's freed, not just the pointer.
2737 (umount_exported): bug fix to on-exit code. Don't run
2738 am_unmounted() unless unmount_mp() didn't run, since the latter
2739 already calls am_unmounted(). This way we avoid a double-free
2740 bug.
2741
2742 2005-03-15 Erez Zadok <ezk (a] cs.sunysb.edu>
2743
2744 * tasks: updates. Executable maps is supported. NFSv4 and
2745 FreeBSD autofs isn't.
2746
2747 * Makefile.am (EXTRA_DIST): include FAQ in distro.
2748
2749 * doc/Makefile.am (alldocs): install README.lda and README.osx.
2750
2751 * FAQ: new file, better late than never.
2752
2753 2005-03-14 Erez Zadok <ezk (a] cs.sunysb.edu>
2754
2755 * scripts/amd2ldif.in: patch to add the amdMapName attribute to
2756 the amdMapTimestamp object when amd2ldif converts it. This is
2757 necessary if you are using type:=auto mounts and want those
2758 mountmaps looked up through LDAP. Patch from Jim Zajkowski
2759 <jim.zajkowski (a] gmail.com>.
2760
2761 2005-03-12 Erez Zadok <ezk (a] cs.sunysb.edu>
2762
2763 * minor new ports: i386-pc-linux-rhel4.
2764
2765 * minor new ports: powerpc-apple-darwin7.8.0.
2766
2767 2005-03-10 Erez Zadok <ezk (a] cs.sunysb.edu>
2768
2769 * amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's
2770 cleaner.
2771
2772 * ltmain.sh: upgrade from libtool-1.5.6.
2773
2774 * m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for
2775 Linux 2.6 kernel modules, which have a .ko extension, not .o. Now
2776 we can properly detect which file systems exist on Linux 2.6 based
2777 systems (SLES9, RHEL4, Fedora, etc.).
2778
2779 2005-03-09 Erez Zadok <ezk (a] cs.sunysb.edu>
2780
2781 * m4/macros/host_macros.m4: find out what's the OS software
2782 distribution name, if any.
2783
2784 * m4/macros/header_templates.m4: template for DISTRO_NAME.
2785
2786 * amd/get_args.c (get_version_string): print again full_os, os,
2787 osver, and vendor (bug fix).
2788 (get_version_string): print distribution name, if known (e.g.,
2789 rh9, suse8, etc.).
2790
2791 * amd/mapc.c (mapc_showtypes): wrap around list of supported map.
2792
2793 2005-03-08 Erez Zadok <ezk (a] cs.sunysb.edu>
2794
2795 * amd/map.c (umount_exported): when unmounting file systems on
2796 exit (when amd.conf global unmount_on_exit=yes), use unmount_mp()
2797 instead of unmount_node() because the latter always unmounts in
2798 the foreground, whereas the former unmounts in the bg/fg as
2799 needed. Unmounting always in the foreground has two problems: (1)
2800 if the unmount hangs, amd hangs, and (2) for type:=program, the
2801 unmount script is execve'd(!) thus replacing the main amd process,
2802 which never gets to finish up, leaving the amd mount points hung.
2803
2804 * NEWS: mention new feature of executable maps.
2805
2806 * AUTHORS: Acknowledge Erik Kline.
2807
2808 * scripts/amd.conf.5: document executable maps and
2809 exec_map_timeout parameter.
2810
2811 * scripts/amd.conf-sample: examples of an executable map and
2812 exec_map_timeout.
2813
2814 * m4/macros/header_templates.m4: template for HAVE_MAP_EXEC.
2815
2816 * doc/am-utils.texi: document Executable maps and exec_map_timeout
2817 parameter.
2818
2819 * amd/conf.c (gopt_exec_map_timeout): function to parse
2820 exec_map_timeout [global] parameter.
2821
2822 * amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map
2823 timeout to 10 seconds, and a global placeholder for the
2824 configurable value.
2825
2826 * amd/amd.c (init_global_options): initialize default executable
2827 map timeout.
2828
2829 * amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in
2830 tarball.
2831
2832 * configure.in: enable executable maps.
2833
2834 * amd/mapc.c: define executable map functions and behavior.
2835
2836 * amd/info_exec.c: executable map implementation from Erik Kline
2837 <ekline at ekline dot com>, modified, cleaned-up, and fixed.
2838
2839 2005-03-07 Erez Zadok <ezk (a] cs.sunysb.edu>
2840
2841 * amd/info_file.c (file_init_or_mtime): consolidate identical
2842 file_init and file_mtime into one function.
2843
2844 2005-03-05 Erez Zadok <ezk (a] cs.sunysb.edu>
2845
2846 * doc/am-utils.texi (Program Filesystem): if umount/unmount are
2847 not specified, Amd uses "umount ${fs}" by default.
2848
2849 * amd/amfs_program.c (amfs_program_match): if neither unmount nor
2850 umount parameters are specified, use the default userland umount
2851 program with "umount ${fs}". This way type:=program doesn't have
2852 to specify the umount program for basic unmounting actions.
2853 (amfs_program_init): save unmount program string in mf_private
2854 only if it's NULL, not based on mf_refc.
2855
2856 * configure.in: auto-detect name of userland unmount program.
2857
2858 * aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland
2859 unmount program.
2860
2861 * amd/ops_cachefs.c (cachefs_init): save unmount program string in
2862 mf_private only if it's NULL, not based on mf_refc.
2863
2864 * configure.in: don't "discover" inheritance file system any more,
2865 since we don't have the .c file for it.
2866
2867 * amd/get_args.c (get_version_string): hack to still show that we
2868 support the inherit file system in output of amd -v.
2869
2870 2005-03-05 Ion Badulescu <ionut (a] moisil.badula.org>
2871
2872 * amd/amfs_inherit.c: removed, dead code
2873
2874 * amd/Makefile.am,
2875 amd/am_ops.c,
2876 amd/amd.h,
2877 conf/autofs/autofs_linux.h,
2878 conf/autofs/autofs_solaris_v1.h,
2879 conf/autofs/autofs_solaris_v2_v3.h,
2880 m4/macros/header_templates.m4: removed references to amfs_inherit.c
2881
2882 2005-03-05 Erez Zadok <ezk (a] cs.sunysb.edu>
2883
2884 * amd/autil.c (am_mounted): completely rewrite the unmount
2885 no/timeout code to (1) make more sense for odd conditions, and (2)
2886 allow utimeout=N mount options to override FS_NOTIMEOUT default
2887 flags for disk-based file systems such as ufs, pcfs, cdfs, etc.
2888
2889 * libamu/mount_fs.c (mount_fs): use safer XFREE() not free().
2890
2891 * conf/umount/umount_linux.c (umount_fs): strtok is destructive,
2892 so use strdup'ed string.
2893
2894 * conf/mount/mount_linux.c (parse_opts): strtok is destructive, so
2895 use strdup'ed string.
2896
2897 2005-03-04 Erez Zadok <ezk (a] cs.sunysb.edu>
2898
2899 * scripts/amd.conf.5, doc/am-utils.texi (cache_duration
2900 Parameter): clarify actual behavior: this Parameter affects
2901 initial mount timeout as well as the linear backoff what happens
2902 the initial failed EBUSY unmount.
2903
2904 * doc/am-utils.texi (opts Option): better explanation of
2905 utimeout=N mount pseudo-option.
2906
2907 * amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup.
2908
2909 2005-03-02 Daniel P. Ottavio <dottavio (a] ic.sunysb.edu>
2910
2911 * AUTHORS: add Dan Ottavio.
2912
2913 * scripts/amd.conf.5: document new debug_mtab_file option.
2914
2915 * scripts/amd.conf-sample (debug_mtab_file): show example.
2916
2917 * doc/am-utils.texi (debug_mtab_file Parameter): document new
2918 option.
2919
2920 * conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file
2921 doesn't exist by the time Amd tries to exist, return a 0 rather
2922 than hang indefinitely.
2923
2924 * amd/conf.c (gopt_debug_mtab_file): new function to parse
2925 debug_mtab_file option.
2926
2927 * amd/amd.h: placeholder for debug_mtab_file string.
2928 Define default debug_mtab_file to "/tmp/mtab".
2929
2930 * NEWS: document new debug_mtab_file option.
2931
2932 2005-03-02 Erez Zadok <ezk (a] cs.sunysb.edu>
2933
2934 * conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when
2935 users want Amd's NFS service to bind to some arbitrary "localhost"
2936 address, show which address was actually resolved and bound to.
2937
2938 2005-03-01 Erez Zadok <ezk (a] cs.sunysb.edu>
2939
2940 * amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere
2941 (update_nfs_pingval) that initializes the pinger, as well as turns
2942 it on/off as needed, and handles changing its value. This is to
2943 avoid races and other infinite-loop conditions that could result
2944 in ping storms.
2945
2946 * amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a
2947 new file server structure, default the ping value to AM_PINGER
2948 (30sec) and set the FSF_PING_UNINIT flag.
2949
2950 * amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS
2951 pinger had been initialized for a given file server.
2952
2953 * scripts/ctl-amd.in (stop): no need to check if
2954 /var/lock/subsys/amd file exists if you do an rm -f afterward.
2955 Ensure that proper return value is returned from script.
2956
2957 * NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N
2958 so that if N=-1, pings are off; if N=0, pings are set to the
2959 default value (currently 30 seconds).
2960
2961 2005-02-28 Erez Zadok <ezk (a] cs.sunysb.edu>
2962
2963 * amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call
2964 __rpc_get_local_uid to verify if the RPC call through the
2965 local host interface came from UID 0.
2966
2967 * configure.in: look for internal libnsl function
2968 __rpc_get_local_uid (seems to be available on all known TLI
2969 systems, Solaris and HP-UX 11).
2970
2971 * conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary
2972 function for TLI systems (and it violated a array's bounds,
2973 discovered with libumem.so).
2974 (bind_resv_port, bind_resv_port_only_udp, get_autofs_address):
2975 just to be on the safe side, set struct t_bind's qlen field to non
2976 zero (64 by default). This value cannot be zero for TCP
2977 connections, and it's unclear if it's good to have it zero for UDP
2978 connections, so setting it to 64 is safer.
2979
2980 2005-02-27 Erez Zadok <ezk (a] cs.sunysb.edu>
2981
2982 * doc/am-utils.texi (opts Option, Keep-alives): update text on
2983 ping option.
2984
2985 * amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS
2986 server ping values, turn them off, or re-enable them.
2987 (find_nfs_srvr): call update_nfs_pingval() as needed.
2988
2989 * hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal
2990 handler, but use _exit(2) instead.
2991
2992 * amd/amd.c (parent_exit): This signal handler is called during
2993 Amd initialization. The parent forks a child to do all the hard
2994 automounting work, and waits for a SIGQUIT signal from the child.
2995 When the parent gets the signal it's supposed to call this handler
2996 and exit(3), thus completing the daemonizing process. Alas, on
2997 some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't
2998 always terminate the parent process. Worse, the parent process
2999 now refuses to accept any more SIGQUIT signals -- they are
3000 blocked. What's really annoying is that this doesn't happen all
3001 the time, suggesting a race condition somewhere.
3002 (This happens even if I change the logic to use another signal.)
3003 I traced this to something which exit(3) does in addition to
3004 exiting the process, probably some atexit() stuff or other
3005 side-effects related to signal handling. Either way, since at
3006 this stage the parent process just needs to terminate, I'm simply
3007 calling _exit(2). Note also that the OpenGroup doesn't list
3008 exit(3) as a recommended "Base Interface" but they do list
3009 _exit(2) as one. This fix seems to work reliably all the time.
3010
3011 * scripts/wait4amd2die.in: change default to recognize that amd is
3012 down more quickly (check every 3 seconds instead of 5).
3013
3014 2005-02-26 Erez Zadok <ezk (a] cs.sunysb.edu>
3015
3016 * libamu/xutil.c (amu_release_controlling_tty): warn if closing
3017 stdin/stdout/stderr failed. No need for tempfd.
3018
3019 * scripts/ctl-{amd,hlfsd}.in: before running any real program in
3020 these shell scripts, chdir to "/" to avoid possible hangs with
3021 existing NFS mounts. This was causing ctl-amd's forked
3022 grand-child amd process to hang if restartable_mounts=no. Go
3023 figure.
3024
3025 2005-02-25 Erez Zadok <ezk (a] cs.sunysb.edu>
3026
3027 * minor new port ia64-unknown-linux-rhel4
3028
3029 * fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1
3030 (RHEL4 gcc 3.4.3 ia64 compiler complains).
3031
3032 2005-02-24 Erez Zadok <ezk (a] cs.sunysb.edu>
3033
3034 * minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001).
3035
3036 2005-02-23 Erez Zadok <ezk (a] cs.sunysb.edu>
3037
3038 * minor new port: i386-pc-linux-rhel3.
3039
3040 * INSTALL: major update of the compatibility list.
3041
3042 * m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS.
3043
3044 2005-02-22 Erez Zadok <ezk (a] cs.sunysb.edu>
3045
3046 * scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port):
3047 document new preferred_amq_port [global] option.
3048
3049 * scripts/amd.conf-sample (preferred_amq_port): example.
3050
3051 * include/am_utils.h: add preferred_amq_port to prototype.
3052
3053 * conf/transp/transp_tli.c (bind_preferred_amq_port): new function
3054 to bind the Amq RPC service for UDP and TCP to a preferred port
3055 (or to any port if preferred_amq_port==0).
3056 (create_amq_service): decide if to bind to RPC_ANYFD, or to a
3057 requested port.
3058
3059 * conf/transp/transp_sockets.c (create_amq_service): if
3060 preferred_amq_port is greater than 0, then bind to that port for
3061 both UDP and TCP. If preferred_amq_port==0, then bind to any
3062 port.
3063
3064 * amd/nfs_start.c (mount_automounter): pass global
3065 preferred_amq_port value to create_amq_service().
3066
3067 * amd/conf.c (gopt_preferred_amq_port): new function to parse
3068 amd.conf value for preferred_amq_port.
3069
3070 * amd/amd.h: placeholder for preferred_amq_port.
3071
3072 2005-02-21 Erez Zadok <ezk (a] cs.sunysb.edu>
3073
3074 * conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old
3075 bindnfs_port to a more proper name. This function binds the NFS
3076 service to a specified port, and only for UDP.
3077
3078 * conf/transp/transp_tli.c: cleanup some code, rename some
3079 functions, in preparation for RPC amq port specification code.
3080
3081 2005-02-19 Erez Zadok <ezk (a] cs.sunysb.edu>
3082
3083 * */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are
3084 reserved for users to pass them on the command line. Instead, use
3085 autoconf's internal AM_CFLAGS and AM_LDFLAGS.
3086
3087 * depcomp, install-sh, missing, mkinstalldirs: update from latest
3088 versions of Automake 1.9.2.
3089
3090 * m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix
3091 regexp/patsubst M4 commands. Newer versions of autoconf (e.g.,
3092 v2.59) complain about those.
3093
3094 2005-02-17 Erez Zadok <ezk (a] cs.sunysb.edu>
3095
3096 * amd/opts.c (f_xhost): if we don't have hstrerror, just print the
3097 value of h_errno.
3098
3099 * configure.in: include -lresolv if it defines the hstrerror()
3100 function and not already available in existing libraries.
3101
3102 * minor new port: powerpc-apple-darwin7.7.0.
3103
3104 * amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is
3105 later compared against an unsigned quantity (complaint from gcc
3106 3.3 on SuSE 8.2)
3107
3108 * include/am_utils.h: remove unnecessary (and conflicting) extern
3109 for bind_resv_port2(), which is declared as static in
3110 transp_tli.c.
3111
3112 * doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
3113 NEWS: document four new amd.conf options: nfs_retry_interval_udp,
3114 nfs_retransmit_counter_udp nfs_retry_interval_tcp, and
3115 nfs_retransmit_counter_tcp.
3116
3117 * amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on
3118 wether nfs_proto was "udp" or "tcp".
3119
3120 * amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values
3121 from default UDP settings (because toplvl mounts are UDP for now).
3122
3123 * amd/get_args.c (get_args): use parameters to -t option to set
3124 both UDP and TCP timeo/retrans values.
3125
3126 * amd/conf.c: (gopt_nfs_retransmit_counter_udp,
3127 (gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp
3128 (gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP
3129 retrans/timeo parameters separately.
3130 (gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if
3131 specified, use it to set defaults for both UDP and TCP.
3132
3133 * amd/amd.c (init_global_options): initialize default values of
3134 both UDP and TCP retrans/timeo values to -1.
3135
3136 * amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and
3137 timeo values, one for udp mounts and another for tcp mounts.
3138
3139 2005-02-16 Erez Zadok <ezk (a] cs.sunysb.edu>
3140
3141 * README.osx: new file with some instructions for Mac OS-X users,
3142 courtesy Kevin Layer.
3143
3144 * amd/get_args.c (get_args): move call to switch_to_logfile()
3145 after processing -v, so we don't print "no logfile defined; using
3146 stderr" when we're about to print version info and exit anyway.
3147
3148 * minor new port: powerpc-ibm-aix5.3.0.0.
3149
3150 * hlfsd/hlfsd.c (main): rewrite code to avoid negative array
3151 references.
3152
3153 * conf/checkmount/checkmount_aix.c: remove extern definition for
3154 mntctl(), since AIX 5.3 has it in <sys/vmount.h>.
3155
3156 * amd/info_union.c (union_reload): rewrite code to avoid negative
3157 array references.
3158
3159 * amd/opts.c (split_opts, expand_op): rewrite code to avoid
3160 negative array references.
3161
3162 * conf/mtab/mtab_aix.c: remove extern definition for mntctl(),
3163 since AIX 5.3 has it in <sys/vmount.h>.
3164
3165 * libamu/xutil.c (real_plog): rewrite code to avoid negative array
3166 references.
3167
3168 * libamu/wire.c (is_network_member): rearrange code slightly to
3169 avoid negative array references (AIX 5.3 xlC 7.0 compiler
3170 complains about it).
3171
3172 2005-01-26 Erez Zadok <ezk (a] cs.sunysb.edu>
3173
3174 * doc/am-utils.texi (xhost Selector Function): document new
3175 selector function.
3176
3177 * amd/opts.c (f_xhost): new function for use when matching the
3178 "host" selector for the current host's name. This function will
3179 now match the primary host name as well as all known aliases
3180 (CNAMES) that gethostbyname() returns. This function now supports
3181 a new function selector called xhost(ARG); the old host==ARG
3182 selector is unharmed.
3183
3184 2005-01-17 Ion Badulescu <ionut (a] moisil.badula.org>
3185
3186 * NEWS: document the ability to restart old mount points
3187
3188 * amd/map.c (mount_auto_node): force the fileid of the
3189 root to be 1, so that it won't change between restarts; use the
3190 root filesystem's own methods instead of hard-coding the use of
3191 the default methods
3192
3193 * conf/transp/transp_tli.c (create_nfs_service): better cleanup on
3194 error conditions.
3195 (bind_resv_port2): allow the caller to request a certain port.
3196
3197 * conf/transp/transp_sockets.c (bind_resv_port): allow the caller
3198 to request a certain port.
3199 (create_nfs_service): better cleanup on error conditions.
3200
3201 * amd/restart.c (restart_automounter_nodes): new function, takes
3202 care of restarting automounter NFS mount points (autofs will come
3203 later).
3204 (restart): skip all automounter mount points.
3205
3206 * amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle
3207 implementation: if the path to the node is shorter than sizeof(fh)
3208 chars (currently 32 chars for a NFSv2 fh), simply store it inside
3209 the fh. For longer paths, keep the old implementation.
3210
3211 * amd/nfs_start.c (mount_automounter): reorder things so that
3212 restarting the toplvl filesystems occurs before anything else (so
3213 that we can grab all the ports we need before we accidentally use
3214 them for something else).
3215
3216 * amd/mntfs.c (locate_mntfs): remove dead code; add special
3217 handling of restarted toplvl filesystems.
3218
3219 * amd/mapc.c (root_keyiter): fix up a comment.
3220
3221 * amd/map.c (path_to_exported_ap): new function, searches for and
3222 returns a node by the path to it.
3223 (get_root_nfs_fh): remove unnecessary fiddling with the root fh.
3224
3225 * config.guess.long: support Red Hat Enterprise Linux
3226
3227 2005-01-17 Erez Zadok <ezk (a] cs.sunysb.edu>
3228
3229 * libamu/util.c (rmdirs): prevent amd from logging 'Read-only
3230 filesystem' errors when the mount point has an ancestor (i.e. '/')
3231 that is mounted read-only. Patch from David Rage <rage (a] ucl.ac.uk>.
3232
3233 2005-01-17 Ion Badulescu <ionut (a] moisil.badula.org>
3234
3235 * conf/umount/umount_linux.c (umount_fs): Linux doesn't need the
3236 autofs space hack
3237
3238 * conf/umount/umount_default.c (umount_fs): there is no need for
3239 HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c
3240
3241 2005-01-17 Erez Zadok <ezk (a] cs.sunysb.edu>
3242
3243 * doc/am-utils.texi (Automatic Unmounting): document new umount2()
3244 behavior on Linux.
3245
3246 * conf/umount/umount_linux.c (umount_fs): new file. On Linux, if
3247 umount(2) failed with EIO or ESTALE, try umount2(2) with
3248 MNT_FORCE+MNT_DETACH. Based on patch from Christos Zoulas
3249 <christos (a] zoulas.com>.
3250
3251 * m4/macros/check_umount_style.m4: pick new linux umount style.
3252
3253 * Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c
3254 file.
3255
3256 2005-01-16 Erez Zadok <ezk (a] cs.sunysb.edu>
3257
3258 * conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h,
3259 m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution
3260 of "nfs_args" test.
3261
3262 2005-01-13 Erez Zadok <ezk (a] cs.sunysb.edu>
3263
3264 * amd/get_args.c (show_usage): separate function to print usage
3265 string.
3266 (get_args) Call show_usage() from get_args when needed, then exit.
3267
3268 * amd/get_args.c (get_version_string): print also domain, host,
3269 and hostd.
3270 (get_args): print version string at the very end, after all other
3271 values had been initialized. Patch from Christos Zoulas
3272 <christos (a] zoulas.com>.
3273
3274 * conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version),
3275 conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency
3276 in timeouts in the RPC code between socket and TLI
3277 implementations. The clntudp_create timeout has a different
3278 meaning than the clnt_call timeout. Set the timeout of the create
3279 to 2 seconds which means retry if no answer in two seconds, and
3280 the timeout call to 6 seconds, which will give us consistently 2
3281 to 3 pings. This is useful on occasional network UDP loss where a
3282 single packet loss would wrongfully mark a server down. (The TLI
3283 code is the one that had the problem occurs.) Patch from Christos
3284 Zoulas <christos (a] zoulas.com>.
3285
3286 * libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code
3287 compiles even for systems that don't have the nfs_args
3288 ac{reg,dir}{min,max} fields.
3289
3290 * amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe,
3291 add "noac" if amd.conf option auto_attrcache was set to 0. This
3292 should hopefully make the compute_nfs_attrcache_flags patch even
3293 safer.
3294
3295 * libamu/mount_fs.c (compute_nfs_attrcache_flags): separate
3296 function to compute attribute-cache values. This function now
3297 computes attribute-cache flags for BOTH Amd's automount points
3298 (NFS) as well as any normal NFS mount that Amd performs.
3299 (compute_nfs_args, compute_automounter_nfs_args): call
3300 compute_nfs_attrcache_flags to figure out attribute-cache related
3301 flags. Patch from Christos Zoulas <christos (a] zoulas.com>.
3302
3303 * scripts/amd.conf-sample: show examples of new global options
3304 domain_strip and auto_attrcache.
3305
3306 * scripts/amd.conf.5: document new global options domain_strip and
3307 auto_attrcache. Add warning to auto_attrcache use in case of
3308 ESTALE.
3309
3310 * doc/am-utils.texi: minor cleanups and document new global
3311 options domain_strip and auto_attrcache. Add warning to
3312 auto_attrcache use in case of ESTALE.
3313
3314 * amd/conf.c (gopt_auto_attrcache): parse new global amd.conf
3315 option auto_attrcache.
3316 (gopt_domain_strip): parse new global amd.conf option
3317 domain_strip. Part of a patch from Christos Zoulas
3318 <christos (a] zoulas.com>.
3319
3320 * amd/autil.c (host_normalize): don't call domain_strip()
3321 unconditionally, but depend on the new global amd.conf flag
3322 domain_strip.
3323
3324 * amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to
3325 set attribute cache timeout value given other configured global
3326 defaults.
3327 (amfs_toplvl_mount): set automount point attribute cache option
3328 value to "noac" if attrcache=0, else set it to whatever
3329 set_auto_attrcache_timeout() returns.
3330
3331 * amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide
3332 if to strip the domain from the host name or not, default options
3333 set to strip the domain.
3334 Store global value of automount attribute cache timeout value.
3335
3336 * amd/amd.c (init_global_options): add flag to record automount
3337 point attribute cache value.
3338
3339 * amd/amd.c (do_memory_locking): new function to encapsulate all
3340 of the memory-locking functionality, which was in main() before.
3341 Also added a call to madvise(), just in case.
3342 (main): call do_memory_locking() to pin process memory if amd.conf
3343 asked for it, but do so after the main Amd process daemonizes,
3344 because mlock/mlockall is not inherited by fork() by default.
3345 Slightly restructured patch from Jonathan Chen
3346 <jon+amd (a] spock.org>.
3347
3348 * configure.in: check for madvise(2).
3349
3350 * config.guess, config.sub: updates for latest official GNU
3351 versions.
3352
3353 * m4/GNUmakefile: update paths to "make update"
3354
3355 2005-01-12 Erez Zadok <ezk (a] cs.sunysb.edu>
3356
3357 * conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure
3358 that's compatible for HPUX11 as well as NFSv3.
3359
3360 * include/am_defs.h: On AIX 5.2, both <resolv.h> and
3361 <arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc
3362 -D_USE_IRS (so that we get extern definitions for hstrerror() and
3363 others). So undef MAXDNAME before it gets redefined.
3364
3365 * include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in
3366 <sys/acl.h>, which is included in many other header files.
3367 <rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes. So if you're
3368 unlucky enough to include both headers, you get a compile error
3369 because the two symbols conflict. Temp hack: undefine acl.h's
3370 GROUP_OBJ before including nis.h, because we don't need acl.h for
3371 am-utils.
3372
3373 * m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that
3374 certain extern definitions of resolver functions become available.
3375
3376 * amd/opts.c (expand_op): use #define for expand_error string
3377 because some compilers complain about the use of static const
3378 char[] inside a varargs function.
3379
3380 * minor new port i386-unknown-netbsdelf1.6.2.
3381
3382 * new port i386-unknown-netbsdelf2.0.
3383
3384 * minor port i386-unknown-freebsd5.3.
3385
3386 * libamu/mount_fs.c (compute_nfs_args): don't compare
3387 nap->maxgrouplist against NULL but against 0 directly, because on
3388 FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains
3389 about a type mismatch.
3390
3391 * minor port i386-pc-linux-fc3 (Fedora Core 3).
3392
3393 2005-01-11 Erez Zadok <ezk (a] cs.sunysb.edu>
3394
3395 * hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because
3396 FC3 doesn't have proper extern definition for the defunct
3397 sigpause().
3398
3399 * configure.in: look for sigsuspend().
3400
3401 2005-01-01 Erez Zadok <ezk (a] cs.sunysb.edu>
3402
3403 * updated copyright year to 2005 on all files.
3404
3405 2004-11-29 Erez Zadok <ezk (a] cs.sunysb.edu>
3406
3407 * scripts/amd.conf.5: Small fixes to typos in man page, from
3408 Thomas Klausner <tk (a] giga.or.at>.
3409
3410 2004-10-22 Erez Zadok <ezk (a] cs.sunysb.edu>
3411
3412 * ldap.schema: add this file to distribution.
3413
3414 2004-09-15 Erez Zadok <ezk (a] cs.sunysb.edu>
3415
3416 * doc/am-utils.texi: fix old URLs.
3417
3418 2004-09-01 Erez Zadok <ezk (a] cs.sunysb.edu>
3419
3420 * conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between
3421 multiple calls to mntctl(). Patch suggested by Michael van Elst
3422 <M.van.Elst (a] science-computing.de>.
3423
3424 2004-08-07 Erez Zadok <ezk (a] cs.sunysb.edu>
3425
3426 * doc/am-utils.texi (Program Filesystem): document how to get
3427 double slashes in Amd maps.
3428
3429 * amd/opts.c (normalize_slash): support escaped slashes, needed
3430 for SMB mounts. Use '\\\/\\\/' in a string to get a double slash.
3431
3432 2004-08-06 Erez Zadok <ezk (a] cs.sunysb.edu>
3433
3434 * amd/amfs_program.c (amfs_program_match): bug fix. Complain if
3435 both opt_unmount and opt_umount are missing, not when just one of
3436 them is missing.
3437
3438 2004-08-03 Erez Zadok <ezk (a] cs.sunysb.edu>
3439
3440 * amq/pawd.c (find_mt): recognize "linkx" type mounts. Patch from
3441 Hauke Fath <hauke (a] Espresso.Rhein-Neckar.DE>. Support "nfsx" while
3442 we're at it.
3443
3444 * doc/am-utils.texi: mention bugzilla. Fix broken URL HREF's.
3445
3446 2004-08-02 Erez Zadok <ezk (a] cs.sunysb.edu>
3447
3448 * amq/pawd.c (find_mt): recognize "host" type mounts. Patch from
3449 Dan Nelson <dnelson (a] allantgroup.com>.
3450
3451 2004-07-30 Erez Zadok <ezk (a] cs.sunysb.edu>
3452
3453 * doc/am-utils.texi, NEWS: minor typos fixed.
3454
3455 2004-07-30 Erez Zadok <ezk (a] play.cs.columbia.edu>
3456
3457 * include/am_xdr_func.h: cannot have field-less structure; put a
3458 dummy field in.
3459
3460 * conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast
3461 2nd arg of xdr_u_int to a u_int*, not int*.
3462 (autofs_mount_2_req): don't use C++ // comments.
3463
3464 2004-07-30 Erez Zadok <ezk (a] cs.sunysb.edu>
3465
3466 * m4/macros/{try_compile_anyfs,check_field}.m4: include
3467 <fs/msdosfs/msdosfsmount.h> if it exists. Part of a set of
3468 FreeBSD 5 patches from Martin Blapp <mb (a] imp.ch>.
3469
3470 * include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it
3471 exists.
3472
3473 * amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to
3474 0777 by default.
3475
3476 * configure.in: check for pcfs_args_t.dirmask field. Check for
3477 existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5.
3478
3479 2004-07-29 Erez Zadok <ezk (a] cs.sunysb.edu>
3480
3481 * minor new port: i386-pc-linux-fc2 (Fedora Core 2).
3482
3483 * amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
3484 unless the function exists in libldap and the extern is in
3485 <ldap.h>. Recently, openldap removed the extern from ldap.h, but
3486 left the function in libldap, for binary compatibility; however
3487 ldap_enable_cache and related functions have been deprecated (and
3488 no longer listed in the header files), and therefore should be
3489 avoided.
3490
3491 * m4/macros/check_extern_ldap.m4: new macro to check for
3492 LDAP-specific externs. This is separate from check_extern.m4 so
3493 as to avoid breaking the general-purpose macro with LDAP-specific
3494 headers.
3495
3496 * m4/macros/header_templates.m4: extern template for new
3497 HAVE_EXTERN_LDAP_ENABLE_CACHE.
3498
3499 * configure.in: call new check_extern_ldap.m4 macro.
3500
3501 * Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4
3502 macro.
3503
3504 * config.guess.long: distinguish between redhat and fedora-core
3505 releases.
3506
3507 2004-07-23 Erez Zadok <ezk (a] cs.sunysb.edu>
3508
3509 * Minor new port i386-pc-linux-suse8.2: minor new port to SuSE
3510 8.2. This systems' latest GCC (gcc version 3.3 20030226
3511 prerelease) correctly caught a lot of possibly bad comparisons
3512 between signed and unsigned quantities.
3513
3514 * hlfsd/homedir.c (table_add, plt_search): changed first arg of
3515 both functions to u_int.
3516
3517 * hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int.
3518 Changed proto for plt_search arg to u_int.
3519
3520 * amq/amq.c (show_mi, main): change 'i' to u_int.
3521
3522 * amq/pawd.c (find_mlp): change 'i' to u_int.
3523
3524 * amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to
3525 u_int.
3526
3527 * amd/amd.h: change prototype of vreaddir and amfs_error_readdir
3528 to use u_int count parameter.
3529
3530 * amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c
3531 (amfs_error_readdir): change 'count' parameter in proto to u_int.
3532
3533 * amd/amd.h: change proto of amfs_generic_readdir() to use u_int
3534 count parameter.
3535
3536 * amd/readdir.c (make_entry_chain): preflen should be u_int.
3537 (amfs_readdir_browsable): change 'count' to u_int.
3538 (amfs_generic_readdir): change 'count' to u_int.
3539
3540 * amd/amd.h: amu_global_options's portmap_program field should be
3541 u_long, not int (to match RPC conventions). Change am_fh's
3542 fhh_gen field to u_int, to match am_gen field in struct am_node.
3543
3544 * amd/conf.c (gopt_portmap_program): use atol() instead of atoi()
3545 to avoid size differences.
3546
3547 * conf/mount/mount_linux.c (find_unused_loop_device): cast to int
3548 to avoid comparison between chars and integers.
3549
3550 * libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid
3551 comparisons between signed and unsigned integers.
3552
3553 2004-07-13 Erez Zadok <ezk (a] cs.sunysb.edu>
3554
3555 * minor new port: i386-pc-linux-suse9.1.
3556
3557 * include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux,
3558 because SuSE wants __kernel_old_dev_t. Instead, just define it
3559 directly to what they both use: an unsigned short.
3560
3561 2004-05-27 Erez Zadok <ezk (a] cs.sunysb.edu>
3562
3563 * minor new port: i386-unknown-freebsd4.10
3564
3565 2004-04-29 Ion Badulescu <ionut (a] moisil.badula.org>
3566
3567 * amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of
3568 mountpoints for autofs-based sublinks the right way
3569
3570 2004-04-28 Ion Badulescu <ionut (a] moisil.badula.org>
3571
3572 Fixes for various memory management problems discovered by
3573 Rainer's purify run:
3574
3575 * conf/transp/transp_tli.c (check_pmap_up): zero out struct
3576 timeval before using;
3577 (get_nfs_version): ditto
3578
3579 * amd/map.c (umount_exported): make sure we don't try to free the
3580 same am_node multiple times, by setting its corresponding
3581 exported_ap slot to null
3582
3583 * amd/get_args.c (get_version_string): a static pointer is pretty
3584 pointless, make it automatic
3585
3586 * amd/conf.c (gopt_debug_options): remove unnecessary strdup();
3587 (gopt_log_options): ditto
3588 (gopt_print_version): free version string after using it
3589
3590 * amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking
3591 it
3592
3593 * amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro
3594 (amfs_lookup_mntfs): free def_opts on return
3595
3596 * amd/amd.c (daemon_mode): zero out struct sigaction before using
3597 it;
3598 (main): ditto
3599
3600 2004-04-27 Ion Badulescu <ionut (a] moisil.badula.org>
3601
3602 * amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on
3603 the real mount of an autofs-based sublink
3604
3605 2004-04-25 Ion Badulescu <ionut (a] moisil.badula.org>
3606
3607 * amd/map.c (free_map_if_success): avoid dereferencing a pointer
3608 to potentially freed memory
3609
3610 2004-02-26 Erez Zadok <ezk (a] cs.sunysb.edu>
3611
3612 * minor new port: i386-unknown-freebsd5.2.1.
3613
3614 2004-01-30 Ion Badulescu <ion (a] guppy.limebrokerage.com>
3615
3616 * scripts/ctl-hlfsd.in: don't run hlfsd with -D fork
3617
3618 2004-01-25 Erez Zadok <ezk (a] cs.sunysb.edu>
3619
3620 * minor new port: sparc64-unknown-linux-deb3.0
3621
3622 * config.guess.long: recoognize Debian Linux.
3623
3624 2004-01-22 Erez Zadok <ezk (a] cs.sunysb.edu>
3625
3626 * conf/transp/transp_tli.c (amu_get_myaddress): use
3627 htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already
3628 available.
3629
3630 2004-01-21 Erez Zadok <ezk (a] cs.sunysb.edu>
3631
3632 * wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second
3633 parameter to amu_get_myaddress().
3634
3635 * conf/transp/transp_tli.c (amu_get_myaddress): resolve value of
3636 localhost_address amd.conf parameter, if defined (else default to
3637 HOST_SELF_CONNECT).
3638 Removed htonl() around socket address copying (I think it was
3639 wrong) since plog("My IP address is...") in amd.c was printing
3640 addresses wrong on Solaris x86..
3641
3642 * conf/transp/transp_sockets.c (amu_get_myaddress): comment out
3643 old DEBUG code that warns if 127.0.0.1 isn't the same as what
3644 get_myaddress() reports. Add code to resolve value of
3645 localhost_address amd.conf parameter, if defined (else default to
3646 127.0.0.1).
3647
3648 * amd/conf.c (gopt_localhost_address): new function to parse
3649 amd.conf parameter localhost_address.
3650
3651 * amd/amd.h: global field to store amd.conf localhost_address
3652 parameter.
3653
3654 * amd/amd.c (main): call amu_get_myaddress with global option,
3655 which could have been set in amd.conf.
3656
3657 * NEWS, doc/am-utils.texi, scripts/amd.conf-sample,
3658 scripts/amd.conf.5: document new option localhost_address.
3659
3660 2004-01-20 Ion Badulescu <ionut (a] moisil.badula.org>
3661
3662 * amd/conf.c (gopt_nfs_allow_insecure_port): support function for
3663 the new "nfs_allow_insecure_port" amd.conf directive
3664
3665 * amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure
3666 port and drop the request only if the "nfs_allow_insecure_port"
3667 option is not set in amd.conf
3668
3669 * doc/am-utils.texi (Global Parameters): documented the new
3670 amd.conf directive "nfs_allow_insecure_port"
3671
3672 * scripts/amd.conf.5 (nfs_allow_insecure_port): ditto
3673
3674 * scripts/amd.conf-sample (nfs_allow_insecure_port): added the
3675 "nfs_allow_insecure_port" directive
3676
3677 2004-01-20 Erez Zadok <ezk (a] cs.sunysb.edu>
3678
3679 * doc/am-utils.texi: amd-workers is defunct.
3680
3681 2004-01-19 Erez Zadok <ezk (a] cs.sunysb.edu>
3682
3683 * cvs-server.txt: updated instructions
3684
3685 2004-01-18 Erez Zadok <ezk (a] cs.sunysb.edu>
3686
3687 * minor new port: i386-unknown-freebsd5.2.
3688
3689 2004-01-05 Erez Zadok <ezk (a] cs.sunysb.edu>
3690
3691 * MIRRORS.{txt,html}: verify each mirror site, update to new
3692 locations (if found), and remove stale mirrors URLs.
3693
3694 * updated copyright year to 2004 on all files.
3695
3696 2004-01-03 Erez Zadok <ezk (a] cs.sunysb.edu>
3697
3698 * MIRRORS.txt: track status.
3699
3700 * Makefile.am (install-snapshot): new directory to install
3701 snapshots (now that am-utils home page is moved).
3702
3703 2004-01-02 Erez Zadok <ezk (a] cs.sunysb.edu>
3704
3705 * INSTALL, README.autofs: remove forced text-mode.
3706
3707 * doc/am-utils.texi: fix Amd book URL.
3708
3709 * Makefile.am (EXTRA_DIST): include new mirror files in tarball.
3710
3711 * AUTHORS, BUGS, README, README.y2k, configure.in,
3712 doc/am-utils.texi: revisions to use newer URLs for Web site, FTP,
3713 and mailing lists.
3714
3715 * MIRRORS.{html,txt}: updates.
3716
3717 * doc/Makefile.am: install mirror lists officially.
3718
3719 2004-01-01 Erez Zadok <ezk (a] cs.sunysb.edu>
3720
3721 * tasks: things to do after migrating ftp/Web sites.
3722
3723 2003-12-09 Erez Zadok <ezk (a] cs.sunysb.edu>
3724
3725 * fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page. Bug
3726 report from Eric S. Raymond <esr (a] thyrsus.com>.
3727
3728 2003-11-18 Erez Zadok <ezk (a] cs.sunysb.edu>
3729
3730 * Makefile.am (EXTRA_DIST_M4): exclude removed file
3731 m4/macros/struct_nfs_fh3.m4 from distro.
3732
3733 2003-10-24 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
3734
3735 * libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of
3736 FHSIZE3 (may be undefined).
3737
3738 2003-10-24 Ion Badulescu <ion (a] guppy.limebrokerage.com>
3739
3740 Compile fix for Solaris7 with LDAP:
3741
3742 * include/am_defs.h: moved the ldap headers before am_nfs_prot.h
3743 to facilitate using ldap types in it
3744
3745 * conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap
3746 definitions that Sun left out of their headers
3747
3748 2003-10-24 Ion Badulescu <ionut (a] moisil.badula.org>
3749
3750 * conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related
3751 definitions, they are now defined globally
3752
3753 * libamu/xdr_func.c: unconditionally define all xdr functions
3754 needed for NFSv3, but with an am_ prefix to prevent namespace
3755 collisions
3756
3757 * amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c,
3758 libamu/mount_fs.c: added the am_ prefix to all
3759 structures and functions having to do with NFSv3 to prevent
3760 namespace collisions
3761
3762 * include/am_utils.h: moved definition of am_nfs_handle to ...
3763
3764 * include/am_xdr_func.h: ... here. Also define AM_FHSIZE3,
3765 am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3,
3766 am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3,
3767 am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail,
3768 am_LOOKUP3res here; remove cross-platform compile helper macros
3769 AMU_LOOKUP3RES_*.
3770
3771 * include/am_defs.h: include am_xdr_func.h before am_utils.h to
3772 provide definitions for NFS filehandles
3773
3774 * amd/amd.h: removed declaration for xdr_mountres3
3775
3776 * doc/am-utils.text: minor warning fix
3777
3778 * BUGS: document the autoconf warnings when trying to compile
3779 system header files in isolation
3780
3781 2003-10-23 Ion Badulescu <ionut (a] moisil.badula.org>
3782
3783 * m4/macros/struct_nfs_fh3.m4: removed, not needed
3784
3785 * configure.in: check if struct mounta has the optptr field;
3786 removed all NFSv3-related checks, we implement everything
3787 internally now
3788
3789 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't
3790 touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined
3791
3792 2003-10-22 Ion Badulescu <ionut (a] moisil.badula.org>
3793
3794 * m4/macros/struct_nfs_fh3.m4: removed, not used anymore
3795
3796 * libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3
3797 comments
3798
3799 * configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we
3800 always use our own
3801
3802 2003-10-22 Ion Badulescu <ion (a] guppy.limebrokerage.com>
3803
3804 * BUGS: document the limitations of bind mounts on Linux
3805
3806 2003-10-21 Ion Badulescu <ionut (a] moisil.badula.org>
3807
3808 * buildall: added support for -i (make install)
3809
3810 2003-10-16 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
3811
3812 * NEWS: New minor port i386-pc-solaris2.10 (Solaris 10).
3813 * INSTALL: Mention its test status.
3814
3815 2003-10-16 Erez Zadok <ezk (a] cs.sunysb.edu>
3816
3817 * amd/ops_nfs.c (nfs_init): declare as static to match forward
3818 definition at top of file.
3819
3820 * conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h:
3821 added missing definitions for LOOKUP3res, diropargs3, etc.
3822
3823 2003-10-15 Erez Zadok <ezk (a] cs.sunysb.edu>
3824
3825 * libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3),
3826 libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c
3827 (got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache,
3828 webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to
3829 cleanup some inconsistencies with how we treat NFSv3 file handles.
3830 Whenever we need to get data out of a filehandle given to us, we
3831 assume that it uses the OS's native fhandle structure
3832 (often struct nfs_fh3). When we store the fhandle data for our
3833 own use, however, we store it in one of two ways. The first, is
3834 that we use the system's default nfs_fh3 structure; the second is
3835 that we define out own struct am_nfs_fh3 in nfs_prot.h (and go
3836 through an elaborate autoconf song-and-dance to "discover" it as a
3837 native fh3 handle structure). It appears that we do the latter,
3838 instead of using the system's default fhandle structure, simply to
3839 avoid extra malloc's and free's, because whereas nfsv2's fhandle
3840 structure is a simple 32-byte buffer, nfsv3's fhandle structures
3841 often just define a "char *" for the fhandle data, and the caller
3842 must malloc/free the space inside as needed. Our code was never
3843 written with constructor/destructor callbacks for these nfsv3
3844 filehandles. Moreover, we carefully wrote our own am_nfs_fh3
3845 structure so IT JUST SO HAPPENS to align with most (hopefully all)
3846 of the fhandle structures for v3: first four bytes are the length
3847 fields and the next four bytes are the fhandle data. Sigh.
3848 Having this inconsistent use of v3 filehandles can be a real bear,
3849 because we simply cannot avoid using the system's default fhandle
3850 structure indirectly, through things like diropargs3 in
3851 xdr_diropargs3(), which has inside of it a reference to the
3852 system's default nfs_fh3 structure. ANYWAY, the current fix I've
3853 come up with is to generalize the way we dereference field names
3854 within the nfs_fh3 structure (whether ours or the system's) and
3855 the same for the system's LOOKUP3res structure. I'm not pleased
3856 with this fix; I'd rather we don't use our own am_nfs_fh3
3857 structure at all.
3858
3859 * libamu/xdr_func.c (xdr_am_nfs_fh3): always define this
3860 function if we have NFS3, because we often use our own,
3861 incompatible am_nfs_fh3 structure.
3862
3863 * include/am_xdr_func.h: We cannot use the native system's
3864 xdr_nfs_fh3 because we are defining our own incompatible
3865 am_hfs_fh3 structure for some systems.
3866
3867 * include/am_xdr_func.h: Define default values for field names of
3868 struct nfs_fh3 and LOOKUP3res.
3869
3870 * doc/am-utils.texi (debug_options Parameter): minor typo fixed.
3871
3872 * conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields
3873 names for struct nfs_fh3 and LOOKUP3res, so override the default
3874 names here.
3875
3876 * configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before
3877 AMU_STRUCT_NFS_FH3, because the latter depends on the former.
3878
3879 * amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate
3880 and clarify if-the-else clauses.
3881
3882 2003-10-13 Ion Badulescu <ionut (a] moisil.badula.org>
3883
3884 * amd/get_args.c (get_version_string): change "Built by" to
3885 "Configured by", and add a new "Built by" line using the variables
3886 below
3887
3888 * m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and
3889 BUILD_DATE to build_version.h
3890
3891 * amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo
3892 must be initialized even for them, otherwise we lose opt_sublink
3893 (and perhaps other options as well). Report from Rainer Orth.
3894
3895 * amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL
3896 pointer dereferencing was a bit too aggressive and could end up
3897 not processing the sublink option if the filesystem was already
3898 mounted.
3899
3900 2003-10-11 Ion Badulescu <ionut (a] moisil.badula.org>
3901
3902 Fix restarted filesystem by disabling the amfs_inherit filesystem
3903 and moving the restarting logic into the generic code. The old
3904 code is still there, will be removed sometime in the near future.
3905
3906 * amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply
3907 return the pointer to the restarted filesystem
3908 (free_mntfs): check for the MFF_RESTART flag instead of the
3909 amfs_inherit ops
3910
3911 * amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the
3912 filesystem is in use
3913
3914 * amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the
3915 filesystem is not being restarted
3916 (amfs_nfsx_remount): if the filesystem is already mounted,
3917 short-circuit the code and just continue
3918
3919 * amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the
3920 filesystem is not being restarted; remove hack that was used to
3921 work around an amfs_inherit problem
3922
3923 2003-10-09 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
3924
3925 Use WebNFS to obtain file handles for mount(2).
3926
3927 * NEWS: Document WebNFS support.
3928
3929 * configure.in: Check for public mount option.
3930 * include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing.
3931 * doc/am-utils.texi (opts Option): Renamed webnfs to public,
3932 update description.
3933
3934 * amd/amd.h (FSF_WEBNFS): New mntfs flag.
3935 * include/am_utils.h (RPC_XID_WEBNFS): New XID type.
3936
3937 * amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject
3938 WebNFS mount/umount attempts.
3939 * amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh.
3940 (got_nfs_fh_webnfs): New function.
3941 (flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers.
3942 (prime_nfs_fhandle_cache): Likewise.
3943 Remove unconditional return of public file handle for WebNFS, but
3944 get NFS file handles via mountd or WebNFS instead.
3945 (webnfs_lookup): New function.
3946 (nfs_umounted): Don't inform mountd if MFF_WEBNFS.
3947 * amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS
3948 packets.
3949 * amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for
3950 WebNFS servers.
3951 Mention host in info message.
3952 (find_nfs_srvr): Handle public mount option.
3953 Prefer NFSv3/tcp if the client supports it.
3954 Allow port mount option to override default or result from portmap
3955 lookup.
3956
3957 * libamu/xdr_func.c (xdr_diropargs3, xdr_filename3,
3958 xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail,
3959 xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions.
3960 * include/am_xdr_func.h: Declare them.
3961 * configure.in: Check for them.
3962 * conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3
3963 definitions and types.
3964
3965 2003-10-09 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
3966
3967 Support IRIX 6 private mount option.
3968
3969 * configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option
3970 name string.
3971 (AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6).
3972 * aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE,
3973 MNT2_NFS_OPT_PRIVATE): Provide templates.
3974 * include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing.
3975 * doc/am-utils.texi (opts Option): Document it.
3976
3977 2003-10-09 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
3978
3979 * doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist
3980 mount option.
3981
3982 2003-10-09 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
3983
3984 * libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]:
3985 Don't reference removed fh3.
3986
3987 2003-10-09 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
3988
3989 * NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10).
3990
3991 * INSTALL: Mention test status of various ports.
3992 Describe IRIX 6 autofs status.
3993
3994 2003-10-09 Ion Badulescu <ionut (a] moisil.badula.org>
3995
3996 * NEWS: updated
3997
3998 * amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
3999 we've done all the tests and we know we have a valid and mountable
4000 mntfs. Otherwise we could end up dereferencing null pointers.
4001
4002 * amd/amd.h: fixed a copy&paste comment bug
4003
4004 * amd/am_ops.c (ops_match): minor code cleanup
4005
4006 * doc/am-utils.texi: fixed various typos; added warning about the
4007 racy nature of nfsx; removed duplicated listing of debug options;
4008 added paragraph about signals supported by hlfsd; removed the long
4009 list of (maybe) supported platforms since it duplicates the list
4010 in INSTALL.
4011
4012 2003-10-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4013
4014 Simplify FD_SET etc. use.
4015
4016 * include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide
4017 if missing.
4018 (rpc_pending_now, run_rpc): Use them.
4019 * configure.in: Check for fds_bits field in fd_set.
4020 * amd/nfs_start.c (run_rpc): Use it.
4021
4022 2003-10-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4023
4024 Improve RPC XID handling.
4025
4026 * amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid.
4027 Convert xid to/from host/network byte order.
4028
4029 2003-10-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4030
4031 Use NFS V2/V3 file handles instead of mount results.
4032
4033 * include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles
4034 only, not MOUNTPROC_MNT results.
4035 * amd/amfs_host.c (fetch_fhandle): Use local variables to store
4036 MOUNTPROC_MNT results.
4037 * amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t.
4038 * amd/ops_nfs.c (struct fh_cache): New member fh_status.
4039 (got_nfs_fh): Use local variables to store MOUNTPROC_MNT results.
4040 Store MOUNTPROC_MNT errors in fh_status.
4041 (prime_nfs_fhandle_cache): Get fh_error from fh_status.
4042 * hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t.
4043 * libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file
4044 handles straight from new am_nfs_fhandle_t.
4045
4046 2003-10-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4047
4048 * amd/clock.c (CID_ALLOC): Remove unused argument.
4049 (timeout): Likewise.
4050
4051 * amd/ops_nfs.c (FHID_ALLOC): Remove unused argument.
4052 (prime_nfs_fhandle_cache): Likewise.
4053 (call_mountd): Use UDPMSGSIZE instead of magic constant.
4054
4055 * amd/rpc_fwd.c (XID_ALLOC): Remove unused argument.
4056 (fwd_packet): Likewise.
4057 Handle TLOOK error from t_rcvudata().
4058
4059 2003-09-30 Ion Badulescu <ionut (a] moisil.badula.org>
4060
4061 * NEWS: updated
4062
4063 * libamu/mount_fs.c (mount_fs): don't try to recreate the mount
4064 point if the mount fails with ENOENT: in the best case we would be
4065 papering over a bug, and in the worst case we could cause a
4066 deadlock (with autofs). If there are races, they need to be
4067 exposed and fixed properly.
4068
4069 * conf/autofs/autofs_solaris_v1.h,
4070 conf/autofs/autofs_solaris_v2_v3.h,
4071 conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs
4072 semantics don't allow us to mount nfsx directly onto an autofs
4073 mountpoint, so disallow it
4074
4075 * amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check
4076 to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid
4077 map entries...
4078 (amfs_nfsx_cont): amfs_retry does most of the cleanup work for us
4079 in the upper layer, so don't do anything else beside wakeup() on
4080 success
4081 (amfs_nfsx_remount): only create the mountpoints as we need them,
4082 avoids creating them on the wrong filesystem in the case of
4083 hierarchical mounts; fix crash-generating typo (m should really be
4084 mf and I swear I hate single-character variable names)
4085
4086 * amd/amfs_generic.c (amfs_cont): one more dlog
4087 (amfs_bgmount): amazingly enough, even foreground mounts can be
4088 backgrounded (in the case of nfsx), so account for this
4089 possibility and permit retries
4090
4091 * m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define
4092 and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h
4093
4094 * amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on
4095 @AMU_AUTOFS_PROT_HEADER@
4096
4097 2003-09-29 Erez Zadok <ezk (a] urd.fsl.cs.sunysb.edu>
4098
4099 * minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony
4100 PlayStation 2)
4101
4102 * amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects
4103 "char protocols[]" unless MNTTAB_OPT_PROTO is defined.
4104
4105 2003-09-26 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4106
4107 Consolidate alloca support.
4108
4109 * amd/amq_svc.c: Move alloca support ...
4110 * include/am_defs.h: ... here.
4111 * amd/conf_parse.y: Remove alloca support.
4112 * fsinfo/fsi_gram.y: Likewise.
4113
4114 2003-09-25 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4115
4116 Handle Solaris 10.
4117 * m4/macros/check_nfs_prot_headers.m4
4118 (AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for
4119 sunos5.[0-3], solaris 2.[0-3], there were no micro releases.
4120 Explicitly match sunos5*, solaris2* for Solaris 8 and beyond.
4121
4122 * m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for
4123 solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5
4124 micro releases to cope with Solaris 2.5.1.
4125 Explicitly match solaris2*, sunos5*.
4126
4127 2003-09-25 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4128
4129 * amd/amq_svc.c: Provide alloca prerequisites.
4130
4131 * conf/transp/transp_tli.c (register_autofs_service): Fix typo.
4132
4133 2003-09-23 Ion Badulescu <ion (a] opteron.tower-research.com>
4134
4135 * minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat
4136 Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform)
4137
4138 2003-09-22 Ion Badulescu <ionut (a] buggy.badula.org>
4139
4140 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix
4141
4142 2003-09-19 Ion Badulescu <ionut (a] moisil.badula.org>
4143
4144 * amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always
4145 enough, we should lstat() the sublink if it's defined.
4146 (amfs_nfsl_ffserver): ditto
4147 (ALL): Removed some obsolete comments. The nfsl code is now little
4148 more than a very straight-forward switch between link and nfs.
4149
4150 * amd/amfs_link.c (amfs_link_match): more up-to-date explanation
4151 for the prepend-the-dot hack for type link; also, the sublink is
4152 already normalized and absolute, so take advantage of that
4153
4154 * amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is
4155 already normalized and absolute, so take advantage of that
4156
4157 * amd/am_ops.c (ops_match): normalize the sublink here, early into
4158 the matching process
4159
4160 * amd/autil.c (am_mounted): be consistent and accept both
4161 "nounmount" and "noumount" as pseudo mount options (same as
4162 "unmount" and "umount" nearby)
4163
4164 * amd/Makefile.am (build_version.h): fixed dependencies (depends
4165 on amd_OBJECTS, not OBJECTS -- which doesn't even exist)
4166
4167 2003-09-19 Erez Zadok <ezk (a] dhcp8.fsl.cs.sunysb.edu>
4168
4169 * amd/amq_subr.c (amqproc_export_1_svc): force double casting to
4170 avoid gcc-3.3 complaints on Solaris 9 about "dereferencing
4171 type-punned pointer will break strict-aliasing rules".
4172
4173 2003-09-16 Ion Badulescu <ionut (a] moisil.badula.org>
4174
4175 * Released beta version 6.1b4
4176
4177 2003-09-15 Ion Badulescu <ionut (a] moisil.badula.org>
4178
4179 * doc/am-utils.texi (opts Option): removed documentation for old
4180 ignore_portmapper mount option, documented the new webnfs option
4181
4182 * NEWS: webnfs support
4183
4184 * amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs"
4185 (former "ignore_portmapper") mount option is present
4186
4187 * amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public
4188 filehandle (all zeros) if MFF_WEBNFS is set
4189 (nfs_umounted): don't talk to mountd if MFF_WEBNFS is set
4190
4191 * amd/amd.h (MFF_WEBNFS): new flag, obvious meaning
4192
4193 2003-09-13 Ion Badulescu <ionut (a] moisil.badula.org>
4194
4195 * amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the
4196 NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping
4197 to create_ping_payload; renamed nfs_pinged to
4198 nfs_keepalive_callback; renamed nfs_timed_out to
4199 nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port;
4200 made ping_buf and ping_len arrays with one element for each
4201 supported nfs version
4202
4203 * amd/amd.h: renamed nfs_srvr_port() to get_mountd_port()
4204
4205 * amd/amfs_host.c (amfs_host_init): ditto
4206
4207 * amd/ops_nfs.c (call_mountd): ditto
4208
4209 2003-09-03 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4210
4211 * BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h>
4212 patches.
4213
4214 2003-08-31 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
4215
4216 * amd/autil.c (strealloc): don't call malloc_verify() unless it
4217 exists.
4218
4219 * configure.in: move "OPTION PROCESSING" section (opt_debug etc.)
4220 after we figure out PROG_CC and other compiler features, because
4221 some of the option processing macros need a compiler to function.
4222
4223 * libamu/xutil.c: don't define variables that won't be used unless
4224 mallinfo() and malloc_verify() exist.
4225 (real_plog): don't call checkup_mem unless
4226 mallocinfo() and malloc_verify() exist.
4227 (checkup_mem): don't define this function unless mallocinfo() and
4228 malloc_verify() exist.
4229
4230 * m4/macros/opt_debug.m4: check for functions malloc_verify and
4231 mallinfo in general libraries and then in libmapmalloc and
4232 libmalloc. These seem to have disappeared in FreeBSD 5.x.
4233
4234 * libamu/xutil.c (dxfree): print pointer using %p
4235
4236 2003-08-29 Erez Zadok <ezk (a] a-opendarwin.fsl.cs.sunysb.edu>
4237
4238 * configure.in: start 6.1b4-pre officially (belated)
4239
4240 * minor new port: i686-apple-darwin6.6
4241
4242 2003-08-27 Ion Badulescu <ionut (a] moisil.badula.org>
4243
4244 * conf/autofs/autofs_solaris_v1.c: convert relative targets to
4245 absolute paths when using lofs mounts
4246
4247 * conf/autofs/autofs_solaris_v2_v3.c: ditto
4248
4249 * conf/autofs/autofs_linux.c: ditto
4250
4251 2003-08-27 Ion Badulescu <ionut (a] buggy.badula.org>
4252
4253 * README.autofs: added a paragraph about the resource consumption
4254 of auto maps over autofs
4255
4256 * amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of
4257 the MFF_IS_AUTOFS flag from init_mntfs() to
4258 amfs_lookup_one_mntfs(), where it belongs
4259
4260 * amd/mntfs.c (init_mntfs): ditto
4261
4262 2003-08-27 Ion Badulescu <ion (a] guppy.limebrokerage.com>
4263
4264 * amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are
4265 denied a filehandle by the server (used to be EIO)
4266
4267 2003-08-27 Erez Zadok <ezk (a] a-bsdi42.fsl.cs.sunysb.edu>
4268
4269 * conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid.
4270
4271 2003-08-27 Ion Badulescu <ionut (a] moisil.badula.org>
4272
4273 * conf/autofs/autofs_linux.c (autofs_mount_succeeded): force
4274 daemon-initiated timeouts on autofs filesystems, since apparently
4275 they appear as "always busy" to the kernel-based expiration routine
4276
4277 2003-08-26 Ion Badulescu <ionut (a] buggy.badula.org>
4278
4279 * NEWS: updated
4280
4281 * conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove
4282 FS_ON_AUTOFS
4283 (AUTOFS_LINKX_FS_FLAGS): ditto
4284
4285 * conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove
4286 FS_ON_AUTOFS
4287 (AUTOFS_LINKX_FS_FLAGS): ditto
4288
4289 * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove
4290 FS_ON_AUTOFS
4291 (AUTOFS_LINKX_FS_FLAGS): ditto
4292
4293 * amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the
4294 original opt_fs, instead store the new mount point for autofs in a
4295 temporary variable and pass it around. Fixes a problem with the
4296 link side of nfsl.
4297
4298 2003-08-25 Ion Badulescu <ionut (a] moisil.badula.org>
4299
4300 * NEWS: updated
4301
4302 * amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to
4303 initialize the fh_wchan member of the cache entry
4304 (prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t
4305 argument of call_mountd()
4306
4307 * amd/map.c (free_map_if_success): use get_mntfs_wchan for the
4308 wchan_t argument of wakeup()
4309
4310 * amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the
4311 wchan_t argument of wakeup_task() and wakeup()
4312
4313 * amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the
4314 wchan_t argument of nfs_srvr_port()
4315
4316 * amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t
4317 argument of sched_task() and wakeup()
4318 (amfs_retry): minor cleanup
4319 (amfs_bgmount): call nfs_quick_reply on failure
4320
4321 * amd/sched.c (get_mntfs_wchan): new function which calls the
4322 member function get_wchan if defined, otherwise returns the mntfs
4323 pointer itself
4324
4325 * amd/amfs_inherit.c (amfs_inherit_get_wchan): new function,
4326 calls get_mntfs_wchan() on the inherited filesystem
4327
4328 * amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member
4329 of the ops to 0
4330
4331 * amd/amd.h: new function type vget_wchan
4332 (struct mntfs): new member get_wchan which returns the waiting
4333 channel associated with the mntfs (normally itself)
4334
4335 2003-08-22 Ion Badulescu <ion (a] guppy.limebrokerage.com>
4336
4337 * conf/mount/mount_linux.c (parse_opts): minor cleanup
4338
4339 * conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing
4340 break in case autofs_ptype_expire_multi
4341
4342 2003-08-22 Ion Badulescu <ionut (a] moisil.badula.org>
4343
4344 * conf/autofs/autofs_solaris_v1.h: undefine autofs support if
4345 autofs_args_t cannot be determined (hopefully fixes a reported
4346 IRIX 6.5.4 problem).
4347
4348 * conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef
4349 HAVE_FS_AUTOFS / #endif (see above)
4350
4351 * conf/autofs/autofs_linux.h: undefine autofs support if the
4352 necessary header files are not found (fixes a reported RedHat 6.2
4353 Sparc problem).
4354
4355 * conf/autofs/autofs_linux.c: wrap entire file in #ifdef
4356 HAVE_FS_AUTOFS / #endif (see above)
4357
4358 * libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT
4359 if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem).
4360
4361 * amd/map.c (unmount_mp, unmount_exported): move the code that
4362 changes the fattr from NFLNK to NFDIR from unmount_mp to
4363 unmount_exported, it was causing troubles (ESTALE) after failed
4364 unmounts. This is still very very unclean, but it's the same as the
4365 old 6.0 code.
4366
4367 2003-08-22 Nick Williams <Nick.Williams (a] morganstanley.com>
4368
4369 * amd/info_ldap.c (amu_ldap_init): don't try to pass a null
4370 pointer as a string to plog, Solaris (and other OS's) don't like
4371 it and will dump core.
4372
4373 2003-08-13 Ion Badulescu <ion (a] guppy.limebrokerage.com>
4374
4375 * amd/amd.h: introduced two new types, wchan_t and opaque_t, as
4376 aliases of voidp. This makes reading the code easier on the eyes. :)
4377
4378 * ALL: replace various instances of voidp with wchan_t and
4379 opaque_t, as appropriate
4380
4381 2003-08-13 Ion Badulescu <ionut (a] nicu.badula.org>
4382
4383 * NEWS, configure.in: bumped version up to 6.1b4-pre
4384
4385 2003-08-13 Ion Badulescu <ionut (a] moisil.badula.org>
4386
4387 * Released beta version 6.1b3
4388
4389 2003-08-13 Ion Badulescu <ion (a] guppy.limebrokerage.com>
4390
4391 * conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use
4392 symlinks for host mounts; assorted fixes for the symlink mode
4393
4394 2003-08-05 Ion Badulescu <ionut (a] moisil.badula.org>
4395
4396 * conf/umount/umount_default.c (umount_fs): enable space hack
4397 handling for autofs v1
4398
4399 * amd/map.c (get_first_exported_ap, get_next_exported_ap): new
4400 functions that facilitate iterating through the list of
4401 mountpoints
4402
4403 * amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap
4404 and get_next_exported_ap
4405
4406 * conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto
4407
4408 2003-08-04 Erez Zadok <ezk (a] ulkesh.dyn.optonline.net>
4409
4410 * configure.in: check if system stores mount tables in files
4411 (usually in /etc), and configure couldn't find a definition for
4412 either struct mntent or struct mnttab. If so, abort configure
4413 because this could be a new/misconfigured system, or a bug in
4414 am-utils.
4415
4416 2003-08-04 Ion Badulescu <ionut (a] moisil.badula.org>
4417
4418 * conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix
4419 compile warning
4420
4421 2003-08-04 Ion Badulescu <ionut (a] buggy.badula.org>
4422
4423 * conf/autofs/autofs_linux.c (autofs_mount_fs): don't call
4424 ops->mount_fs() for an already mounted filesystem
4425 (autofs_umount_fs): only call ops->umount_fs() if we're holding
4426 the last reference to the filesystem
4427
4428 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4429 (autofs_umount_fs): ditto
4430
4431 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4432 (autofs_umount_fs): ditto
4433
4434 * amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for
4435 already-mounted filesystems
4436 (amfs_cont): only release the autofs_fh if the filesystem is not
4437 mounted; add another comment about the NFS_SCALEDOWN hack
4438 (amfs_bgmount): if the mntfs is already mounted, skip just the
4439 filesystem initialization, but do call mount_node()
4440
4441 * amd/map.c (mount_node): always call autofs_mount_fs(), but only
4442 call ops->mount_fs() if the mntfs is not yet mounted
4443 (unmount_node): always call autofs_umount_fs(), but only call
4444 ops->umount_fs() if the refcount on the mntfs equals 1.
4445
4446 2003-08-02 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
4447
4448 * conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h>
4449 here with the proper workarounds for openbsd3.3 (define MAXQUOTAS,
4450 define dummy struct netexport, and include <ufs/ufs/extattr.h>
4451 wrapped in _KERNEL).
4452
4453 * conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h>
4454 here with the proper workarounds for freebsd5.1 (define dummy
4455 struct ufs_extattr_per_mount).
4456
4457 * conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h>
4458 here with the proper workarounds for bsdi2 (define MAXQUOTAS and
4459 dummy struct netexport).
4460
4461 * include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h>
4462 here, b/c every *BSD system has some sort of problem in including
4463 this header file, which includes ugly workarounds. Inclusion of
4464 this header was already moved out of am_defs.h (used to compile
4465 amd), but we forgot to move it out of mount_headers1.h (used to
4466 configure). The specific inclusion of ufsmount.h is now in the OS
4467 specific nfs_prot.h file.
4468
4469 * configure.in: if configure could not find any definition for
4470 "struct nfs_args", abort configure with an explanatory message.
4471 There's no point in continuing, as this could be a system bug,
4472 buggy am-utils, or a new system to which am-utils wasn't ported to
4473 yet.
4474
4475 * minor new port: i386-pc-solaris2.9
4476
4477 2003-08-01 Ion Badulescu <ionut (a] buggy.badula.org>
4478
4479 * doc/am-utils.texi (NFS-Link Filesystem): make the documentation
4480 match the code (as well as basic logic operations: the negation of
4481 'a or b' is 'not a and not b', not 'not a or not b')
4482
4483 2003-08-01 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
4484
4485 * minor new port: i386-unknown-openbsd3.3.
4486
4487 * m4/macros/check_libwrap_severity.m4: new macro to check if
4488 libwrap includes the integer variables deny_severity and
4489 allow_severity, since some libwrap implementations do and others
4490 don't. The test tries to compile and run a simple empty main()
4491 program, then the same program while defining these two variables:
4492 comparing the results of the two tests, we can tell whether we
4493 should define NEED_LIBWRAP_SEVERITY_VARIABLES.
4494
4495 * Makefile.am (EXTRA_DIST_M4): distribute new macro
4496 check_libwrap_severity.m4.
4497
4498 * m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which
4499 we must define explicitly since we've overridden the
4500 action-if-found in AC_CHECK_LIB(wrap). Also template for
4501 NEED_LIBWRAP_SEVERITY_VARIABLES.
4502
4503 * amd/amq_svc.c: if libwrap does not include the severity
4504 variables, then define and initialize them here.
4505
4506 * amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for
4507 Amd binary. Other am-utils binaries don't need -lwrap.
4508
4509 * configure.in: if libwrap is found, only define it in @WRAPLIB@,
4510 so we don't automatically link every am-utils binary with -lwrap.
4511 Run test for existence of severity variables in libwrap.
4512
4513 2003-07-31 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
4514
4515 * conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid
4516 and gid.
4517
4518 * configure.in: move check for AC_CHECK_LIB(libwrap) as far down
4519 as possible because on modern tcpwrapper systems such as openbsd,
4520 the caller must provide two symbols: deny_severity and
4521 allow_severity, which determine the logging level of rejected and
4522 requested requests, respectively. If this check happens too
4523 early, then $LIBS includes -lwrap, which causes many subsequent
4524 tests that need to run a compiled program to fail with missing
4525 symbols.
4526
4527 * m4/macros/header_templates.m4: fix typo in template for
4528 readdirplus.
4529
4530 * configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3)
4531
4532 * minor new port: i386-unknown-netbsdelf1.6.1.
4533
4534 * configure.in: save state before system-specific tests are run.
4535
4536 * m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just
4537 because the compiled test program failed to run.
4538
4539 2003-08-01 Ion Badulescu <ionut (a] buggy.badula.org>
4540
4541 * NEWS, README.autofs: updated
4542
4543 * libamu/mount_fs.c (mount_fs): added support for the space hack
4544
4545 * doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems
4546 are not expired by default; correct and expand the section
4547 describing the program filesystem
4548
4549 * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add
4550 FS_ON_AUTOFS for supported filesystems
4551
4552 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call
4553 mf->mount_fs()
4554 (autofs_umount_fs): call mf->umount_fs()
4555
4556 * conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add
4557 prototype for malloc()
4558 (AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for
4559 supported filesystems
4560
4561 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support
4562 for the space hack; call mf->mount_fs()
4563 (autofs_umount_fs): add support for the space hack; call
4564 mf->umount_fs()
4565 (autofs_mount_succeeded): add support for the space hack
4566
4567 * conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add
4568 FS_ON_AUTOFS for supported filesystems
4569
4570 * conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to
4571 AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4
4572 (autofs_mounted): host mounts are now supported on all autofs
4573 versions, remove the hack to turn it off on v3
4574 (autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints
4575 as needed
4576 (autofs_umount_fs): call mf->umount_fs(), remove mountpoints on
4577 success
4578 (ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of
4579 '#ifdef autofs_ptype_expire_multi'
4580
4581 * amd/map.c (mount_node): autofs_mount_fs() now calls
4582 mf->mount_fs() internally
4583 (unmount_node): autofs_umount_fs() now calls mf->umount_fs()
4584 internally
4585
4586 * amd/autil.c (am_mounted): minor cleanup
4587
4588 * amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to
4589 nfs_fs_flags
4590
4591 * amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS
4592 flag instead of hardcoding filesystem types
4593 (amfs_bgmount): better mount_type logging
4594
4595 * amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that
4596 this filesystem can be mounted directly onto an autofs mountpoint
4597
4598 2003-07-31 Ion Badulescu <ionut (a] buggy.badula.org>
4599
4600 * amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was
4601 calling amfs_link_ops.umount_fs() for NFS filesystems)
4602 (amfs_nfsl_umounted): remove rmdirs() hack, it is now handled
4603 properly elsewhere
4604 (amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're
4605 using link (not NFS)
4606
4607 2003-07-31 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4608
4609 * README.autofs: Correct IRIX spelling.
4610 AutoFS support exists only on IRIX 6.
4611 Update IRIX 6 status.
4612
4613 Allow AutoFS V1 support to compile on IRIX 6.
4614 * conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add
4615 SVCXPRT * arg.
4616 Remove superfluous \n from dlog messages.
4617 (autofs_unmount_1_req): Likewise.
4618 Switch to get_exported_ap.
4619 (autofs_program_1): Invoke handlers with additional transp arg.
4620 * conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define
4621 autofs_fh_t, struct auto_args doesn't exist on IRIX 6.
4622
4623 * conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support
4624 AutoFS mounts.
4625 [HAVE_FS_LOFS]: Likewise for lofs mounts.
4626
4627 * conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define.
4628 Don't disable AutoFS support any more.
4629
4630 * conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG]
4631 (register_autofs_service): Define autofs_xprt.
4632
4633 * m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update
4634 Solaris 8+ comment to mention AutoFS V4.
4635 (irix6*): Enable AutoFS V1 support on IRIX 6.
4636
4637 2003-07-30 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
4638
4639 * NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation
4640 of autofs_use_lofs.
4641
4642 2003-07-30 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4643
4644 * amd/ops_efs.c (efs_mount): Replace on_autofs arg with
4645 MFF_ON_AUTOFS flag.
4646 (efs_umount): Likewise.
4647
4648 2003-07-30 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
4649
4650 * conf/umount/umount_bsd44.c (umount_fs): convert to new way of
4651 unmounting which takes autofs into account.
4652
4653 2003-07-30 Ion Badulescu <ionut (a] moisil.badula.org>
4654
4655 * ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount
4656 hack; pass a new on_autofs argument to mount/umount function,
4657 based on the MFF_ON_AUTOFS mntfs flag
4658
4659 * NEWS, README.autofs: updated
4660
4661 * scripts/amd.conf.5: document new option autofs_use_lofs
4662
4663 * scripts/amd.conf-sample (autofs_use_lofs): document new option
4664
4665 * m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink
4666 the autofs header as amu_autofs_prot.h instead of slurping it into
4667 aux_conf.h
4668
4669 * libamu/mount_fs.c (mount_fs): removed old stub, renamed
4670 mount_fs2 to mount_fs, added new argument on_autofs
4671
4672 * doc/am-utils.texi (Direct Automount Filesystem): document
4673 problems with nfs direct mounts on modern kernels, document good
4674 autofs support for direct mounts on Solaris
4675 (autofs_use_lofs Parameter): document this new option
4676 (browsable_dirs Parameter): note that mount storms are avoided
4677 when using autofs
4678
4679 * conf/umount/umount_bsd44.c (umount_fs): removed old stub,
4680 renamed umount_fs2 to umount_fs
4681
4682 * conf/umount/umount_osf.c (umount_fs): removed old stub,
4683 renamed umount_fs2 to umount_fs, added new argument on_autofs
4684
4685 * conf/umount/umount_default.c (umount_fs): ditto as above; return
4686 an error on ENOENT instead of faking success
4687
4688 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much
4689 simplified, now only consults the map for existance of the key and
4690 returns success if key is found
4691 (autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is
4692 not on;
4693 (autofs_mount_2_free): implemented
4694 (autofs_unmount_2_req): use get_exported_ap() instead of
4695 referencing export_ap directly
4696 (autofs_mount_succeeded): remove code for replying to lookup
4697 requests, now only mount requests can end up here
4698 (autofs_mount_failed): ditto
4699
4700 * conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed
4701 FS_AUTOFS
4702 (AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4703
4704 * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed
4705 FS_AUTOFS
4706 (AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4707 (AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND
4708
4709 * conf/autofs/autofs_linux.c (autofs_bind_umount): new function,
4710 factored out of autofs_umount_fs()
4711 (autofs_mount_fs): renamed from autofs_link_mount() and expanded
4712 to deal with filesystems mounted indirectly (via lofs/bind
4713 mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag
4714 (autofs_umount_fs): ditto, from autofs_link_umount()
4715
4716 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4717 * (autofs_umount_fs): ditto
4718
4719 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4720 * (autofs_umount_fs): ditto
4721
4722 * amd/opts.c: made fs_static static
4723
4724 * amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount
4725 and nfs_umounted static
4726 (mount_nfs_fh): removed unnecessary arguments
4727
4728 * amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for
4729 the ffserver method, because using NULL causes problems
4730
4731 * amd/ops_cdfs.c (cdfs_ops): ditto
4732
4733 * amd/ops_efs.c (efs_ops): ditto
4734
4735 * amd/ops_lofs.c (lofs_ops): ditto
4736
4737 * amd/ops_pcfs.c (pcfs_ops): ditto
4738
4739 * amd/ops_ufs.c (ufs_ops): ditto
4740
4741 * amd/ops_xfs.c (xfs_ops): ditto
4742
4743 * amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from
4744 map.c
4745
4746 * amd/nfs_start.c: use get_exported_ap() instead of referencing
4747 exported_ap directly
4748
4749 * amd/mntfs.c (locate_mntfs): new function, factored out of
4750 find_mntfs
4751 (locate_mntfs): special-case FS_DIRECT filesystems: for direct
4752 mounts we will have two filesystems mounted on the same m/p
4753 (realloc_mntfs): removed the old EZK hack for failovers
4754
4755 * amd/map.c (get_exported_ap): new function that returns an
4756 exported_ap member by its index
4757 (root_node,exported_ap,exported_ap_size,first_free_map,last_used_map):
4758 made static
4759 (fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c
4760 (get_root_ap): removed unused second argument
4761 (unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported
4762 to catch more cases
4763 (mount_node): call autofs_mount_fs after ops->mount_fs for autofs
4764 nodes
4765 (unmount_node): call autofs_umount_fs before ops->umount_fs for
4766 autofs nodes
4767
4768 * amd/conf.c: new global option "autofs_use_lofs", takes yes/no
4769 values
4770
4771 * amd/autil.c (amfs_mount): take an extra argument (mf)
4772 (amfs_mount): call autofs_compute_mount_flags() for mounts
4773 directly on autofs m/p
4774 (am_unmounted): document and avoid the race between am_umounted()
4775 at shutdown time and amfs_cont()
4776
4777 * amd/amfs_union.c (amfs_union_mounted): use get_exported_ap()
4778 instead of referencing internal map variables directly
4779
4780 * amd/amq_subr.c (amqproc_export_1_svc): ditto
4781
4782 * amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from
4783 nfs_fs_flags
4784 (amfs_toplvl_mount): pass extra argument (mf) to amfs_mount()
4785 (amfs_toplvl_umount): refuse to attempt the unmount if the
4786 mountpoint is not a directory
4787
4788 * amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS
4789 flag into the nfs f/s at the bottom of the stack
4790
4791 * amd/amfs_nfsl.c: call nfs and link member functions through
4792 their respective am_ops structures, not directly
4793
4794 * amd/amfs_linkx.c (amfs_linkx_umount): new static stub
4795
4796 * amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount()
4797 static functions
4798 (amfs_link_mount): removed call to autofs_link_mount()
4799 (amfs_link_umount): removed call to autofs_link_umount()
4800
4801 * amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from
4802 nfs_fs_flags
4803 (do_mount): removed superfluous function arguments
4804
4805 * amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from
4806 nfs_fs_flags
4807
4808 * amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from
4809 nfs_fs_flags
4810 (amfs_auto_mount): pass extra argument (mf) to amfs_mount
4811
4812 * amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to
4813 use lofs-mounts or symlinks when mounting on autofs
4814 (CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS
4815 (VLOOK_LOOKUP): new flag, will merely check if a key exists
4816 (MFF_IS_AUTOFS): renamed from MFF_AUTOFS
4817 (MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly
4818 on an autofs m/p, or indirectly via a lofs mount/symlink
4819 (fh_to_mp2): macro expanded throughout the code and removed
4820 (mntfs): removed mf_real_mount hack
4821 (autofs_mount_fs): renamed from autofs_link_mount
4822 (autofs_umount_fs): renamed from autofs_link_umount
4823 (mount_lofs): exposed
4824 various other cleanups, functions/variables made static and removed
4825
4826 * aux_conf.h.in: removed @am_utils_autofs_style@, it is now
4827 included directly as amu_autofs_prot.h
4828
4829 2003-07-24 Erez Zadok <ezk (a] whitestar.dyn.optonline.net>
4830
4831 * doc/am-utils.texi, scripts/amd.conf.5: document that
4832 use_tcpwrappers is "yes" by default.
4833
4834 * amd/amd.c (init_global_options): set default global options.
4835
4836 * amd/amd.h (CFM_DEFAULT_FLAGS): define default options which
4837 are always on (plock and use_tcpwrappers).
4838
4839 * scripts/amd.conf-sample: reorganize values per option so default
4840 one is listed first.
4841
4842 2003-07-23 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
4843
4844 * tasks: trim old stuff. Discuss new parser.
4845
4846 * amd/conf.c (set_conf_kv): initialize the very first map in conf
4847 file from global defaults. Bug fix which was introduced after
4848 conf.c code restructuring.
4849
4850 2003-07-18 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
4851
4852 * m4/macros/header_templates.m4: template for
4853 HAVE_EXTERN_HOSTS_CTL.
4854
4855 * include/am_defs.h: define extern for hosts_ctl() if needed.
4856
4857 * configure.in (AMU_CHECK_EXTERNS): check for extern definition
4858 for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it).
4859
4860 * m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist.
4861
4862 2003-07-18 Erez Zadok <ezk (a] cs.sunysb.edu>
4863
4864 * hlfsd/hlfsd.h: redundant extern for mboxfile removed.
4865
4866 * amd/amq_svc.c (amq_program_1): only check for tcpwrappers if
4867 amd.conf global option use_tcpwrappers=yes.
4868
4869 * scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers),
4870 doc/am-utils.texi (use_tcpwrappers Parameter): document new
4871 amd.conf global option.
4872
4873 * amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global
4874 option called use_tcpwrappers ("no" by default).
4875
4876 * amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap
4877 code only if both libwrap and tcpd.h exist.
4878 (amq_program_1): log warning when an Amq service client is denied,
4879 and a debug message when a client is allowed.
4880
4881 * amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag.
4882 (AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap.
4883
4884 * include/am_defs.h: include tcpd.h if available and libwrap
4885 available.
4886
4887 * configure.in: check for tcpd.h.
4888
4889 2003-07-18 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
4890
4891 * scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8,
4892 hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command
4893 because it removes useful spaces in between paragraphs. Based on
4894 smaller patch from Philippe Troin <phil (a] fifi.org>.
4895
4896 2003-07-17 Philippe Troin <phil (a] fifi.org>
4897
4898 * amq/amq.8: Document the libwrap/amd behavior.
4899
4900 * amd/amq_svc.c (libwrap_check_client): New function to validate
4901 an amq connection with libwrap.
4902 (amq_program_1): Call libwrap_check_client() and close the
4903 connection if libwrap does not allow it.
4904
4905 * configure.in: Check for the tcp wrappers library.
4906
4907 2003-07-17 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
4908
4909 * amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc,
4910 amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c
4911 (hlfsd_init): cast pointers to void* before casting them to
4912 another type, to avoid gcc-3.3 -Wall warnings.
4913
4914 * fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to
4915 avoid conflict with builtin function in gcc-3.3.
4916
4917 2003-07-17 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4918
4919 * scripts/amd.conf-sample: Remove obsolete comment.
4920
4921 2003-07-16 Erez Zadok <ezk (a] cs.sunysb.edu>
4922
4923 * amd/info_file.c (read_line): check for errors from fgets().
4924 Although rare, they can occur upon disk or network failures.
4925 Patch from Nick Williams <Nick.Williams (a] morganstanley.com>.
4926
4927 2003-07-16 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
4928
4929 * BUGS (Solaris 8): Update patch revisions, mention old autofs
4930 patches, fix filenames and rpcgen command.
4931
4932 2003-07-15 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
4933
4934 * doc/am-utils.texi (map_defaults Parameter): document new
4935 map_defaults option.
4936
4937 * scripts/amd.conf.5: document new map_defaults option.
4938
4939 * scripts/amd.conf-sample (map_type): show examples of new
4940 map_defaults option.
4941
4942 * amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL.
4943
4944 * amd/get_args.c (get_args): call process_all_regular_maps().
4945
4946 * amd/conf.c: keep head and tail of cfm list.
4947 (init_cf_map): reworked reset_cf_map. This one doesn't reset a
4948 globaly reused cfm, but rather just inherits [global] options.
4949 (set_conf_kv): just store global/map options without actually
4950 creating any mnt_map's. Essentially, we now parse the whole
4951 amd.conf file, and then try to process the maps one at a time.
4952 (process_one_regular_map): new function to process one map, just
4953 renamed from process_regular_map.
4954 (process_all_regular_maps): new exported function to process all
4955 maps. No need for hacky process_last_map().
4956 (find_cf_map): new exported function to return a cf_map_t given a
4957 map's mount point (e.g., /home or /net).
4958
4959 * amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf
4960 specificed a map_defaults for a given map. If so, use that
4961 instead of the /defaults that came from the map itself. Also
4962 restructure code a bit so it's not one huge long "if" statement.
4963
4964 HACK ALERT: there's no easy way to find out what the map mount
4965 point is at this point, so I am forced to initialize the
4966 mnt_map->cfm field here for the first time, upon the very first
4967 search for a /defaults entry in this map. This initialization is
4968 much better done in mapc_create(), but it's impossible to do that
4969 there with the current code structure.
4970
4971 * amd/amd.h: struct cf_map becomes linked list. struct mnt_map
4972 includes pointer to cf_map_t, amd.conf defaults and options for a
4973 given map. extern cleanups.
4974
4975 2003-07-15 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
4976
4977 * amd/info_hesiod.c (hesiod_search): It's not possible to have a
4978 key such as ".access" in a hesiod map as that would imply a null
4979 node in the DNS tree. So a lookup for such a key must clearly
4980 fail. With the current info_hesiod.c it does (after calling
4981 hes{,iod}_resolve) but returns an error that confuses some
4982 programs - eg. apache. This patch shortcuts the process and just
4983 returns ENOENT for any key starting with ".". Patch submitted by
4984 by Mark Davies <mark (a] mcs.vuw.ac.nz>.
4985
4986 * include/am_utils.h (CALLOC): redefine macro to use xzalloc, not
4987 fsinfo's own xcalloc.
4988
4989 * fsinfo/fsi_util.c (xcalloc): remove redundant function.
4990
4991 2003-07-14 Erez Zadok <ezk (a] cs.sunysb.edu>
4992
4993 * include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD
4994 xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is
4995 never defined. Define it as needed. Patch from Mark Davies
4996 <mark (a] mcs.vuw.ac.nz>.
4997
4998 2003-07-14 Ion Badulescu <lionut (a] gonzales.badula.org>
4999
5000 * BUGS (Note): document the Solaris 8 bug (the upgrade to autofs
5001 v4 without updating all the header files)
5002
5003 2003-07-13 Ion Badulescu <lionut (a] gonzales.badula.org>
5004
5005 * NEWS, tasks: updated
5006
5007 * amd/amfs_generic.c (free_continuation): free _all_ mntfs's in
5008 the am_mfarray, unconditionally
5009 (amfs_bgmount): call free_mntfs when we're done with a mntfs, call
5010 dup_mntfs when starting processing of a new one; make sure we
5011 always go through 'goto failed' for a failed mntfs; use the error
5012 code returned by autofs_get_fh()
5013
5014 * conf/autofs/autofs_linux.c (autofs_get_fh): return proper error
5015 codes in case of problems
5016
5017 2003-07-13 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
5018
5019 * BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex. In
5020 short, use flex.
5021
5022 2003-07-13 Erez Zadok <ezk (a] a-hpux11.fsl.cs.sunysb.edu>
5023
5024 * fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so
5025 lex scanners don't run out of mem.
5026
5027 2003-07-13 Ion Badulescu <lionut (a] gonzales.badula.org>
5028
5029 * amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the
5030 special provision
5031
5032 * amd/mntfs.c (find_mntfs): compare the filesystem type
5033 (i.e. mf_ops) in addition to mf_info; the special provision
5034 mentioned below is really for any filesystem already mounted on
5035 our mount point, not just for inherited filesystems
5036
5037 2003-07-13 Erez Zadok <ezk (a] whitestar.dyn.optonline.net>
5038
5039 * doc/Makefile.am (install-html): build per-chapter HTML manual,
5040 as well as manual in one big HTML file.
5041
5042 * doc/am-utils.texi: Minor corrections. Ack Ion's autofs work.
5043 Ack maintainers. New section on How to get additionl info,
5044 including the Amd book. Correct stale URLs and Emails.
5045
5046 * amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8,
5047 fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8,
5048 scripts/amd.conf.5, scripts/automount2amd.8,
5049 wire-test/wire-test.8: include references to info pages, proper
5050 authors, am-utils Web page, and amd book.
5051
5052 2003-07-13 Ion Badulescu <lionut (a] gonzales.badula.org>
5053
5054 * amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with
5055 a special provision for inherited filesystems. This unbreaks the
5056 handling of parallel mounts
5057
5058 * amd/amfs_generic.c (amfs_lookup_mntfs): for restarted
5059 filesystems, there can be no alternative mntfs to try to mount
5060
5061 2003-07-13 Erez Zadok <ezk (a] cs.sunysb.edu>
5062
5063 * amd/amd.8: reference am-utils info page in amd man page, as per
5064 Thomas Klausner <wiz (a] danbala.ifoer.tuwien.ac.at>.
5065
5066 * fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use
5067 yywrap() if it doesn't exist.
5068
5069 * amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y,
5070 fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the
5071 newer flex 2.5.31 (beta development). These include resolving
5072 conflicts with yylineno, unput() vs. nounput(), etc.
5073
5074 2003-07-13 Ion Badulescu <lionut (a] gonzales.badula.org>
5075
5076 * amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before
5077 calling assign_error_mntfs()
5078 (amfs_generic_mount_child): ditto
5079
5080 * amd/autil.c (assign_error_mntfs): move the check for
5081 (am_error > 0) up into the caller, it's less confusing that way
5082
5083 * tasks: some updates
5084
5085 * conf/transp/transp_tli.c (check_pmap_up): new function which
5086 detects if the remote portmapper is functional
5087 (amu_clnt_create_best_version): removed
5088 (get_nfs_version): use a much simplified version of the old
5089 amu_clnt_create_best_version(), based on clnt_create_vers() and
5090 its _timed() counterpart
5091
5092 * conf/transp/transp_sockets.c (check_pmap_up): new function which
5093 detects if the remote portmapper is functional
5094 (pmap_ping): deleted
5095 (get_nfs_version): removed calls to pmap_ping, already done by
5096 caller
5097
5098 * amd/srvr_nfs.c: call check_pmap_up() before continuing with
5099 get_nfs_version()
5100
5101 * amd/amfs_generic.c: updated a couple of log messages
5102
5103 * configure.in: detect clnt_create_vers and clnt_create_vers_timed;
5104 changed LIBTOOL versioning to 3:0:0
5105
5106 2003-07-12 Ion Badulescu <lionut (a] gonzales.badula.org>
5107
5108 * conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed
5109 FS_AUTOFS because the host mount cannot be a top level mount
5110 (AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs
5111 doesn't support direct mounts
5112
5113 2003-07-12 Erez Zadok <ezk (a] whitestar.dyn.optonline.net>
5114
5115 * amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp
5116 macros.
5117
5118 2003-07-10 Ion Badulescu <ionut (a] buggy.badula.org>
5119
5120 * include/am_utils.h (dlog): improved version for gcc, using
5121 vararg macros
5122
5123 * amd/rpc_fwd.c (fwd_packet): unused variable when compiling
5124 without debugging
5125
5126 2003-07-10 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
5127
5128 * include/am_utils.h (dlog): change the #define of non-debugging
5129 dlog to "nothing" so that all that'll be left behind is a list of
5130 args in parenthesis (arg,arg,...). GCC and other native C
5131 compilers seem OK with it, even if it doesn't optimize away the
5132 whole debugging line.
5133
5134 * ltmain.sh: was from libtool 1.4.2. updated to libtool 1.4.3,
5135 the latest on RH9 systems (but is not the latest libtool
5136 available). Stay with stable version in preparation for 6.1
5137 release.
5138
5139 * config.{guess,sub}, doc/texinfo.tex: update to latest off of
5140 ftp.gnu.org.
5141
5142 2003-07-09 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
5143
5144 * amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++
5145 style comments: breaks non-C++ compilers (like AIX xlC 6)
5146
5147 2003-07-02 Ion Badulescu <ionut (a] buggy.badula.org>
5148
5149 * doc/am-utils.texi (opts Option): document ignore_portmapper option
5150
5151 * conf/transp/transp_sockets.c (get_nfs_version): better
5152 protocol/version cycling while probing remote server; better log
5153 messages
5154
5155 * amd/srvr_nfs.c (start_ping): improved log message
5156 (find_nfs_srvr): always use requested nfs_version/nfs_proto; make
5157 sure we have a valid NFS port; start the server as "valid, down" if
5158 the remote portmapper tells us the NFS service is not running;
5159 implement the "ignore_portmapper" pseudo-mount option
5160
5161 * amd/rpc_fwd.c (fwd_packet): better debug messages
5162
5163 * amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is
5164 denied; call wakeup even if mountd call fails
5165
5166 * amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN
5167 instead of checking the flags directly
5168 * amd/srvr_amfs_auto.c (free_srvr): ditto
5169
5170 * amd/amfs_generic.c (amfs_bgmount): refined some error/debug
5171 messages
5172
5173 * amd/amd.h (FSRV_ERROR): new macro
5174 (FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a
5175 local filesystem) is always up
5176
5177 2003-06-30 Erez Zadok <ezk (a] cs.sunysb.edu>
5178
5179 * amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or
5180 umount options are present.
5181
5182 * doc/am-utils.texi (Program Filesystem): document alias options
5183 to unmount:=, umount:=.
5184
5185 * amd/opts.c (expansions): initialize opt_umount.
5186 (to_free): initialize opt_umount.
5187
5188 * amd/amfs_program.c (amfs_program_match): ensure that only one of
5189 umount:= or unmount:= options are specified, but that at least one
5190 of them is listed.
5191
5192 * amd/amd.h: support unmount:=XXX as well as umount:=XXX (too
5193 annoying in type:program, when one forgets the 'n' in "unmount").
5194 They are two separate fields, so we can catch mistakes when
5195 someone tries to define both options.
5196
5197 * doc/am-utils.texi (Program Filesystem): explain that both mount
5198 and unmount options must be specified. Correct example to show
5199 both.
5200
5201 2003-06-25 Erez Zadok <ezk (a] cs.sunysb.edu>
5202
5203 * XXX: beginning of new amd.conf option map_defaults: will parse
5204 the option and set remember it in the right places. Need to
5205 document this and actually hook it up with the rest of the code.
5206 Any volunteers? :-)
5207
5208 * scripts/amd.conf-sample (map_defaults): example of map_defaults
5209 amd.conf option.
5210
5211 * amd/conf.c (reset_cf_map): initialize global and per-mount
5212 map_defaults.
5213 (gopt_map_defaults): parse global map_defaults.
5214 (process_regular_option,ropt_map_defaults): parse per-map
5215 map_defaults amd.conf option.
5216
5217 * amd/amd.h: a place to store global and per-mount map_defaults.
5218
5219 * BUGS: more notes about AIX 5.2 problems and how to overcome
5220 them.
5221
5222 2003-06-10 Erez Zadok <ezk (a] cs.sunysb.edu>
5223
5224 * doc/Makefile.am: force version.texi to be rebuilt regardless of
5225 maintainer mode. Silly Automake will not build version.texi if
5226 maintainer mode is off (this is hardcoded into the automake perl
5227 script!). According to the Automake maintainers, users should
5228 always build in CVS trees with maintainer-mode on; but what if I
5229 don't want to?! I don't want to distribute Makefiles with
5230 maintained rules in them to users. The Automake maintainers also
5231 say that "make dist" will rebuild version.texi no matter what. I
5232 find that not to be the case. It failed to run a "make" before
5233 "make dist" because version.texi doesn't exist! Chicken and Egg
5234 situation. So, until Automake deals with version.texi in a more
5235 flexible and friendly manner, I adapted a rule to build
5236 version.texi and inserted it in this Makefile.am.
5237
5238 2003-06-09 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5239
5240 * mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
5241 next best thing to using mkstemp(). Patch from Hendrik Scholz
5242 <hscholz (a] raisdorf.net>.
5243
5244 2003-05-08 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5245
5246 * libamu/mount_fs.c (compute_automounter_mount_flags): use
5247 MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup
5248
5249 * m4/macros/header_templates.m4: added template for
5250 MNT2_GEN_OPT_AUTOMOUNTED
5251
5252 2003-05-01 Ion Badulescu <ionut (a] nicu.badula.org>
5253
5254 * amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/)
5255
5256 2003-04-23 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5257
5258 * conf/transp/transp_sockets.c (create_amq_service): minor cpp
5259 directive indentation and commenting.
5260
5261 2003-04-22 Ion Badulescu <ionut (a] moisil.badula.org>
5262
5263 * conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix
5264 for an RPC library DoS issue (original patch from Martin Blapp,
5265 massaged into something more digestable by me)
5266
5267 2003-04-14 Ion Badulescu <ionut (a] moisil.badula.org>
5268
5269 * conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(),
5270 left over from the recent cleanup
5271
5272 2003-04-13 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5273
5274 * doc/Makefile.am (DVIPS): use proper options for dvips.
5275
5276 * doc/am-utils.texi (opts Option): document new 'unmount' option,
5277 and better explain the 'nounmount' option. Also some misc options
5278 for better generation of html manual.
5279
5280 * doc/Makefile.am (install-html): support newer texi2html 4.0
5281 options, as older options were renamed or changed behavior.
5282
5283 * amd/autil.c (am_mounted): support new 'unmount' option, to allow
5284 all file system mounts to timeout and thus expire. This option is
5285 useful for removable local media such as CD-ROMs, USB drives,
5286 etc. so they can expire when not in use, and get unmounted (such
5287 drives can get work out when they keep spinning). Patch from
5288 Christos Zoulas <christos (a] zoulas.com> (originally from Koji
5289 Imada).
5290
5291 2003-04-10 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5292
5293 * configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
5294 do not get added to Makefiles by default (they are confusing to
5295 users who don't have autotools installed).
5296
5297 2003-04-09 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5298
5299 * amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see
5300 the 2001-05-23 entry) back to the 6.0 code
5301
5302 2003-04-04 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5303
5304 * libamu/xutil.c (switch_to_logfile): don't try to print logfile
5305 if it is null (strlen core dump on solaris). Bug report from John
5306 P. Rouillard <rouilj (a] ieee.org>.
5307
5308 2003-03-31 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5309
5310 * fsinfo/fsinfo.8: typo co-ordinate -> coordinate. Typo report
5311 from Perry E. Metzger" <perry (a] piermont.com>.
5312
5313 2003-03-25 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
5314
5315 * include/am_defs.h: Don't include malloc.h if stdlib.h exists,
5316 because modern systems (e.g., BSD) complain if you use malloc.h
5317 instead of stdlib.h. Let's hope there are no systems out
5318 there that need both.
5319
5320 2003-03-20 Erez Zadok <ezk (a] suse73.fsl.cs.sunysb.edu>
5321
5322 * minor new port: sparc64-unknown-linux-suse7.3.
5323
5324 2003-03-20 Erez Zadok <ezk (a] a-freebsd5.fsl.cs.sunysb.edu>
5325
5326 * minor new port: i386-unknown-freebsd5.0.
5327
5328 * configure.in: detect nfsclient/nfsargs.h.
5329
5330 * conf/nfs_prot/nfs_prot_freebsd3.h: include
5331 <nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
5332
5333 2003-03-15 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5334
5335 * amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
5336 scripts/amd.conf.5, scripts/expn.1: minor spell checking and
5337 extraneous space elimination.
5338
5339 2003-03-07 Ion Badulescu <ionut (a] buggy.badula.org>
5340
5341 * conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file
5342 descriptors if limit exceeded
5343 (autofs_mounted): call autofs_get_mp(); init am_autofs_ttl
5344 (autofs_release_fh): release pending_mounts and pending_umounts
5345 queues
5346 (autofs_timeout_mp): update am_autofs_ttl instead of am_ttl
5347
5348 * amd/mntfs.c (init_mntfs): delete initialization of removed
5349 mf_autofs_fh
5350 (uninit_mntfs): delete call to autofs_release_fh()
5351
5352 * amd/map.c (init_map): init autofs_fh to 0, delete initialization
5353 of removed autofs_data
5354 (free_map): release autofs_fh after unmounting map; delete call to
5355 autofs_free_data()
5356 (umount_exported): call autofs_release_mp() prior to unmounting
5357 autofs f/s
5358 (unmount_mp): ditto
5359 (free_map_if_success): call autofs_get_mp() if unmounting fails
5360 (timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide
5361 timeouts instead of the per-mountpoint am_ttl
5362
5363 * amd/autil.c (am_unmounted): release autofs_fh after unmounting
5364 autofs f/s
5365
5366 * amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting
5367 autofs f/s fails;
5368 (amfs_bgmount): ditto
5369
5370 * amd/amd.h: moved autofs_fh from mntfs to am_node, since it's
5371 more related to the mount point than to the f/s mounted;
5372 added am_autofs_ttl to am_node, for running expirations on entire
5373 filesystems
5374
5375 * conf/autofs/autofs_*: autofs_get_fh() returns int instead of
5376 autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter
5377 instead of autofs_fh_t *, in an effort to not deal with
5378 autofs-specific data structures outside autofs code;
5379 new methods autofs_get_mp() and autofs_release_mp(), which
5380 acquire/release autofs resources to allow clean unmount attempts;
5381 nuke autofs_data_t, never used
5382
5383 * amd/amd.h: prototypes for new and changed autofs functions
5384
5385 2003-03-07 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5386
5387 * amd/nfs_subr.c (do_readlink): eliminate third argument, never used
5388 (nfsproc_getattr_2_svc): reorganize the code a bit
5389
5390 * amd/map.c (mk_fattr): take a nfsfattr * argument instead of an
5391 am_node * argument
5392
5393 * amd/amd.h: changed prototype for mk_fattr()
5394
5395 * amd/autil.c (am_unmounted): when remounting, use the parent
5396 node's lookup_child() and mount_child() operations, not the
5397 generic ones
5398
5399 * amd/amfs_generic.c (amfs_cont): minor code optimization
5400
5401 2003-03-06 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5402
5403 * amd/amfs_auto.c: lots of renames and code moving:
5404 amfs_auto_match() -> amfs_generic_match(), moved to generic;
5405 amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c;
5406 amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic;
5407 amfs_auto_umount() -> amfs_generic_umount(), moved to generic;
5408 free_continuation(): moved to generic, made static;
5409 assign_error_mntfs(): moved to autil.c;
5410 amfs_auto_cont() -> amfs_cont(), moved to generic, made static;
5411 amfs_auto_retry() -> amfs_retry(), moved to generic, made static;
5412 try_mount() + mount_node() -> mount_node(), moved to map.c
5413 amfs_auto_bgmount() -> amfs_bgmount(), moved to generic;
5414 amfs_parse_defaults(): moved to generic;
5415 amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic;
5416 amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic;
5417 amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic;
5418 amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic;
5419 amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic;
5420 next_nonerror_node(): moved to autil.c;
5421 amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir;
5422 amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir;
5423
5424 * amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount()
5425 and moved to autil.c
5426
5427 * amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped
5428 out of amd/amfs_auto.c
5429
5430 * amd/amd.h: struct continuation moved to generic.c; prototypes
5431 for the renamed functions; NumChild renamed to NumChildren
5432
5433 * amd/map.c: collaped unmount_node_wrap() and unmount_node() into
5434 the latter
5435
5436 * amd/mapc.c: key_already_in_chain(): moved to readdir.c;
5437 make_entry_chain(): moved to readdir.c;
5438
5439 * amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to
5440 amfs_generic_find_srvr()
5441
5442 * amd/amfs_*.c: adjustments for the renames above
5443
5444 * amd/ops_*.c: low-level filesystems don't need a find_server()
5445 method
5446
5447 * amd/Makefile.am: added amfs_generic.c and readdir.c
5448
5449 * doc/am-utils.texi: minor clarification for auto maps
5450
5451 2003-03-06 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5452
5453 * amd/amd.h: moved lots and lots of amd-only stuff here, from
5454 include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs
5455 to be function typedefs, not pointer to function typedefs
5456
5457 * include/am_utils.h: see above
5458
5459 * amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for
5460 function typedef changes
5461
5462 2003-03-05 Erez Zadok <ezk (a] cs.sunysb.edu>
5463
5464 * BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6
5465 bug.
5466
5467 2003-02-02 Erez Zadok <ezk (a] siamese.fsl.cs.sunysb.edu>
5468
5469 * NEWS: minor new port: ia64-unknown-linux-rh2.1AS
5470
5471 2003-01-31 Ion Badulescu <ion (a] console.limebrokerage.com>
5472
5473 * m4/macros/os_cflags.m4: rhapsody and darwin are the same
5474
5475 * amd/autil.c (mount_node): vastly simplified, just a wrapper now
5476
5477 * amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted()
5478 hack, we now do it properly in the generic code
5479
5480 * amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_
5481 forking the child; set and reset MFF_MOUNTING here, not in
5482 mount_node(), because the latter might be running in child
5483 context; call am_mounted() after a successful foreground mount
5484
5485 2003-01-29 Ion Badulescu <ionut (a] moisil.badula.org>
5486
5487 * configure.in: new flag --with[out]-ndbm; don't pull in libldap
5488 if building --without-ldap; look for the gdbm/ndbm.h header; make
5489 explicit the dependency between the ndbm headers and libraries;
5490 define NEW_DBM_H as the ndbm header that should be used
5491
5492 * include/am_defs.h: simply include NEW_DBM_H for ndbm stuff,
5493 instead of trying to second-guess configure
5494
5495 * m4/macros/header_templates.m4: new template for NEW_DBM_H
5496
5497 * m4/macros/check_map_funcs.m4:
5498 (ac_upcase_map_name): use the third argument correctly
5499
5500 * ltmain.sh: working version from libtool-1.4.2-7
5501
5502 * buildall: print the entire configure command, including extra
5503 arguments; pass each of the extra arguments separately, not
5504 commingled into one
5505
5506 2003-01-28 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5507
5508 * include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef
5509 DEBUG; it is not used without DEBUG, but it is referenced at
5510 compile time. Bug report from John Kilburg <john (a] physics.unlv.edu>.
5511 (D_ALL): don't include D_XDRTRACE, too verbose and normally
5512 unnecessary
5513
5514 2003-01-28 Erez Zadok <ezk (a] cs.sunysb.edu>
5515
5516 * ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates
5517 from latest official GNU versions.
5518
5519 2003-01-25 Erez Zadok <ezk (a] cs.sunysb.edu>
5520
5521 * BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
5522 vmount).
5523
5524 2003-01-25 Ion Badulescu <ionut (a] moisil.badula.org>
5525
5526 * Released beta version 6.1b2
5527
5528 2003-01-24 Ion Badulescu <ionut (a] moisil.badula.org>
5529
5530 * amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
5531 calling rmdirs() on mountpoint
5532
5533 * amd/amfs_auto.c (amfs_auto_bgmount): ditto
5534
5535 * amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
5536
5537 * doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
5538
5539 * NEWS: "sftlookup" -> "softlookup"
5540
5541 * amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
5542 check for "nosoftlookup" in combination with "soft"
5543
5544 2003-01-23 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5545
5546 * m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
5547 freebsd22 derivative
5548
5549 * NEWS: updated for Darwin changes
5550
5551 * .cvsignore: added A.i386-apple-darwin6.0
5552
5553 * m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
5554 Darwin
5555
5556 2003-01-23 Erez Zadok <ezk (a] cs.sunysb.edu>
5557
5558 * conf/mount/mount_aix.c (mount_aix3): clean back this file from
5559 all the debugging cruft that is no longer needed (and really was
5560 never needed in the first place).
5561
5562 2003-01-10 Erez Zadok <ezk (a] cs.sunysb.edu>
5563
5564 * scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
5565 (map) files for testing basic amd functionality such as whether it
5566 can mount its own mount NFS points.
5567
5568 2002-12-28 Ion Badulescu <ionut (a] moisil.badula.org>
5569
5570 * amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
5571 pings are disabled
5572
5573 * libamu/xdr_func.c (xdr_ftype): use a local enum_t variable
5574 instead of casting the pointer to (enum_t *)
5575 (xdr_mountstat3): ditto
5576 (xdr_nfsstat): ditto
5577
5578 * libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
5579 64-bit big-endian platforms, bug report from Bill Fenner
5580 <fenner (a] research.att.com>
5581
5582 * configure.in: increase library patchlevel
5583
5584 * libamu/xutil.c (amu_release_controlling_tty): close and reopen
5585 file descriptors 0,1,2 before calling setsid()
5586
5587 2002-12-27 Erez Zadok <ezk (a] cs.sunysb.edu>
5588
5589 * updated copyright year to 2003 on all files
5590
5591 2002-12-10 Erez Zadok <ezk (a] localhost.localdomain>
5592
5593 * rename "aux/" subdir into "m4/" so as to avoid problems with
5594 MS-DOS systems (where "AUX" is a reserved name). This required
5595 fixing numerous files.
5596
5597 2002-12-10 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
5598
5599 * configure.in: don't check for bad hasmntopt() function if
5600 hasmntopt() doesn't exist on the system, because we will replace
5601 it with our own version anyway.
5602
5603 * conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
5604 dlog because htonl() returns a u_long.
5605
5606 2002-12-10 Erez Zadok <ezk (a] localhost.localdomain>
5607
5608 * include/am_defs.h: use system's hasmntopt() only if it is found
5609 and it is not buggy.
5610
5611 * libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a
5612 char.
5613
5614 * amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c,
5615 amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c,
5616 libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt()
5617 to amu_hasmntopt(). Don't use hasmntopt() directly any more!
5618
5619 * aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad
5620 hasmntopt() function, which incorrectly finds the option "soft" in
5621 a string "hard,softlookup,ro".
5622
5623 * libamu/hasmntopt.c (hasmntopt): use 'const' on two args to
5624 hasmntopt(), to match what most systems use.
5625
5626 * aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT.
5627
5628 * configure.in: invoke test for bad hasmntopt()
5629
5630 * NEWS: minor new port, i386-pc-linux-rh8.0.
5631 Mention autofs-v4 on solaris9 works.
5632
5633 * bootstrap: remove any autom4te-*.cache directories, now that
5634 autoconf uses a version number for them.
5635
5636 2002-12-09 Ion Badulescu <ionut (a] moisil.badula.org>
5637
5638 Patches from Christos Zoulas:
5639
5640 -1- am_utils.h: add full prototypes
5641 -2- amfs_auto.c make functions static and add prototypes
5642 -3- map.c: kill double free
5643 -5- transp_sockets.c: add full prototypes
5644
5645 2002-12-09 Ion Badulescu <ionut (a] moisil.badula.org>
5646
5647 * NEWS: updated
5648
5649 * doc/am-utils.texi (opts Option): document sftlookup
5650
5651 * conf/autofs/autofs_solaris_v2_v3.c: compile fixes
5652
5653 2002-11-22 Erez Zadok <ezk (a] filer.fsl.cs.sunysb.edu>
5654
5655 * amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is
5656 %ld not %d.
5657
5658 2002-11-21 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5659
5660 * {amd,fsinfo}/Makefile.am: remove special rules for processing
5661 yacc/lex files, now that autoconf/automake properly handle them
5662 better (esp. now that bison 1.75 behaves differently than older
5663 bison versions).
5664
5665 2002-11-21 Erez Zadok <ezk (a] cs.sunysb.edu>
5666
5667 * config.guess.long: updated script so it will properly find the
5668 version number of the new Itanium 2 machines running "Red Hat
5669 Linux Advanced Workstation release 2.1AW (Derry)". The script now
5670 will report ia64-unknown-linux-rh2.1AW.
5671
5672 2002-11-20 Ion Badulescu <ionut (a] moisil.badula.org>
5673
5674 * amfs_auto_bgmount(): almost complete rewrite
5675
5676 * fixed amfs_inherit to do the right thing and not dereference
5677 freed mntfs'es
5678
5679 * #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in
5680 amfs_autofs_lookup_child()
5681
5682 * release the autofs_fh only in one place
5683
5684 * remove the mountpoint only if mf_refc == 1
5685
5686 * print the mntfs type in free_mntfs()
5687
5688 * new pseudo-mount option 'sftlookup' which causes lookups to
5689 mounted shares from downed servers to return EIO; the default
5690 depends on whether the mount is 'hard' or 'soft'
5691
5692 * improved querying of supported NFS versions on the server --
5693 don't even try if it's known to be down
5694
5695 * solaris autofs mount code moved to transp_{sockets,tli}.c
5696
5697 * incipient (non-functional) AIX autofs support
5698
5699 2002-11-11 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5700
5701 * doc/am-utils.texi (Keep-alives): removed outdated info about not
5702 maintaining the state of TCP NFS servers
5703
5704 2002-11-04 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5705
5706 * include/am_utils.h: prototype for ops_search()
5707
5708 * amd/am_ops.c (ops_search): new function for searching the right
5709 set of ops for a given filesystem type
5710
5711 * amd/restart.c (restart): cleanup and split into two functions in
5712 preparation for handling the restart of amd's own mount points
5713 (restart_fake_mntfs): new function, factored out from restart()
5714
5715 2002-11-04 Ion Badulescu <ionut (a] buggy.badula.org>
5716
5717 * amd/ops_cdfs.c (mount_cdfs): remove special code for loop device
5718 (cdfs_umount): ditto
5719
5720 * conf/mount/mount_linux.c (mount_linux): factor it out to
5721 mount_linux_nfs() and mount_linux_nonfs()
5722 (mount_linux_nonfs): generalize loop device support to all
5723 filesystems (not just cdfs); make it automatic for anything that's
5724 a regular file
5725 (parse_opts): deprecate the explicit "loop" mount option
5726 (do_mount_linux): minor cleanup
5727
5728 * conf/umount/umount_default.c (umount_fs2): release loop device
5729 on umount()
5730
5731 2002-11-03 Erez Zadok <ezk@cnm20>
5732
5733 * include/am_defs.h: moved #include of net/if.h above net/route.h,
5734 because on AIX 5.2 if.h is needed for route.h (let's hope it
5735 doesn't break things on other systems).
5736
5737 * include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h
5738 to be defined, but I don't want to move the inclusion of signal.h
5739 this early into this file. Luckily, amd doesn't need the size of
5740 this structure in any other structure that it uses. So we
5741 sidestep it for now.
5742
5743 * conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf',
5744 but I couldn't find its definition anywhere. Luckily, amd doesn't
5745 need the size of this structure in any other structure that it
5746 uses. So we sidestep it for now.
5747
5748 2002-11-02 Erez Zadok <ezk (a] cs.sunysb.edu>
5749
5750 * config.guess, config.sub, doc/texinfo.tex: updates from
5751 the latest GNU distributions (2002-09-05).
5752
5753 2002-10-30 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5754
5755 * conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from
5756 mount.h for NFSOPT_* and NFSMNT_*.
5757 Don't use typedefs that aren't found in system header files.
5758
5759 2002-10-30 Erez Zadok <ezk (a] cs.sunysb.edu>
5760
5761 * Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h.
5762
5763 * conf/nfs_prot/nfs_prot_aix5_2.h: new file.
5764
5765 * aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look
5766 for "struct aux52_nfs_args".
5767
5768 * aux/macros/check_nfs_prot_headers.m4: define new header file for
5769 AIX 5.2.
5770
5771 2002-10-21 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5772
5773 * scripts/amd.conf.5 (ldap_proto_version): document in amd.conf
5774 man page.
5775
5776 * scripts/amd.conf-sample (ldap_proto_version): show example of use
5777
5778 * doc/am-utils.texi (ldap_proto_version Parameter): document new
5779 amd.conf option.
5780
5781 * amd/conf.c (gopt_ldap_proto_version): new conf function to
5782 support ldap_proto_version amd.conf parameter.
5783
5784 * amd/amd.h: field to hold LDAP protocol version.
5785
5786 * amd/amd.c (init_global_options): set default for
5787 ldap_proto_version. ldap_proto_version patch from George Ross
5788 <gdmr (a] dcs.ed.ac.uk> and Tim Colles <timc (a] inf.ed.ac.uk>.
5789
5790 * amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while
5791 unbinding from an LDAP server that may have been restarted. Fix
5792 from George Ross <gdmr (a] dcs.ed.ac.uk>.
5793
5794 2002-09-17 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5795
5796 * remove all autoconf stuff added for sys_nerr
5797
5798 * amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror
5799
5800 * libamu/strerror.c: more explicit text for unknown errno's
5801
5802 2002-10-01 Erez Zadok <ezk (a] cs.sunysb.edu>
5803
5804 * include/am_defs.h: define "extern int sys_err" if needed.
5805
5806 * aux/macros/header_templates.m4: template for
5807 HAVE_EXTERN_SYS_NERR.
5808
5809 * hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c
5810 (show_mi): remove "extern int sys_err"
5811
5812 * configure.in: execute test for "extern int sys_err"
5813
5814 * Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file.
5815
5816 * aux/macros/extern_sys_nerr.m4: new test to check for existence
5817 of "extern int sys_nerr" definition in system headers.
5818
5819 2002-09-17 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5820
5821 * libamu/xutil.c (dbg_opt): bring comments in line with the code
5822
5823 * hlfsd/hlfsd.c (main): use amuDebug() instead of touching
5824 debug_flags directly
5825
5826 * amd/amd.c (main): don't init debug_flags, leave it as zero (no
5827 debugging by default)
5828
5829 2002-09-11 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5830
5831 Debug code sanitization:
5832
5833 - amuDebug() becomes an expression, and explicit if() statements
5834 are added around it throughout the code
5835 - amuDebugNo() goes away (ugh!)
5836 - D_AMQ, D_DAEMON and D_FORK reverse their meaning
5837 - D_ALL contains only options that don't affect amd's functionality
5838
5839 2002-09-04 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5840
5841 * amd/amfs_auto.c (free_continuation): avoid double-free'ing the
5842 mntfs if there was an error/timeout
5843
5844 2002-09-04 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5845
5846 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead
5847 of "return NULL" to signal an error to the upper layers
5848 (amfs_auto_mount): use strdup so the string can be free'd later on
5849 [Debian bug report from Matt Chapman <matthewc (a] cse.unsw.edu.au>]
5850
5851 2002-09-03 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5852
5853 Patches from George Ross <gdmr (a] dcs.ed.ac.uk>:
5854
5855 * amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs,
5856 it will be done in free_continuation(); assorted debugging messages
5857
5858 * amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
5859 timeout to avoid problems with late ping replies
5860
5861 * amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted
5862 debugging messages
5863
5864 * amd/map.c (unmount_node): more verbose debug message
5865
5866 2002-07-29 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5867
5868 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing
5869 de-allocated memory in str3cat
5870 (amfs_auto_lookup_mntfs): check for buffer overflow
5871
5872 2002-07-11 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5873
5874 * scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner
5875 <wiz (a] danbala.ifoer.tuwien.ac.at>.
5876
5877 2002-06-26 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
5878
5879 * doc/Makefile.am (install-html): don't use locally hacked
5880 texi2html features.
5881
5882 * conf/transp/transp_sockets.c (amu_get_myaddress): Most modern
5883 systems should use 127.0.0.1 as the localhost address over which
5884 you can do NFS mounts. In the past we found that some NFS clients
5885 may not allow mounts from localhost. So we used get_myaddress()
5886 and that seemed to work. Alas, on some other systems,
5887 get_myaddress() may return one of the interface addresses at
5888 random, and thus use a less efficient IP address than 127.0.0.1.
5889 The solution is to hard-code 127.0.0.1, but still check if
5890 get_myaddress() returns a different value and warn about it.
5891
5892 * doc/am-utils.texi: don't use ':' in @cindex entries.
5893
5894 2002-06-25 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5895
5896 * Released beta version 6.1b1
5897
5898 2002-06-24 Ion Badulescu <ionut (a] moisil.badula.org>
5899
5900 * aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args
5901
5902 * conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to
5903 aix51_nfs_args, rename unknown fields to u<number>, add the
5904 unknown new field into the middle of the old 4.2 structure
5905
5906 2002-06-24 Ion Badulescu <ion (a] guppy.limebrokerage.com>
5907
5908 * include/am_compat.h: better test for struct netconfig
5909 (!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H)
5910
5911 * aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5912
5913 * buildall: fix 'buildall -b' on hpux9 and aix5.1
5914
5915 2002-06-24 Ion Badulescu <ionut (a] buggy.badula.org>
5916
5917 * INSTALL: updated
5918
5919 * conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix
5920 (autofs_link_umount): ditto
5921
5922 * amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs
5923
5924 2002-06-23 Ion Badulescu <ionut (a] moisil.badula.org>
5925
5926 * conf/autofs/autofs_linux.c: compile fixes for autofs v3
5927
5928 2002-06-23 Ion Badulescu <ionut (a] moisil.badula.org>
5929
5930 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no
5931 expirations needed;
5932 (autofs_timeout_mp): likewise
5933
5934 * conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations
5935 needed;
5936 (autofs_timeout_mp): likewise
5937
5938 * conf/autofs/autofs_linux.c (autofs_mounted): set the first
5939 expiration interval
5940
5941 * amd/autil.c (am_mounted): call autofs_mounted here, instead of
5942 in mf_mounted()
5943
5944 * amd/amd.h (NEVER): moved here from map.c
5945 (autofs_mounted): change argument from mntfs* to am_node*
5946
5947 2002-06-23 Ion Badulescu <lionut (a] gonzales.badula.org>
5948
5949 * conf/autofs/autofs_linux.c (autofs_mounted): set the kernel
5950 timeout on the autofs mountpoint to cache_duration (gopt.am_timeo)
5951 (autofs_timeout_mp): don't update the ttl if we're going down
5952
5953 * amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the
5954 timeout on that particular am_node has expired
5955
5956 * conf/autofs/autofs_linux.c (autofs_timeout_mp): really update
5957 the ttl, as per the comment (compilers are not very good at
5958 translating comments into code...)
5959
5960 * amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path
5961 instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts
5962 between link mounts pointing to the same target
5963
5964 2002-06-23 Ion Badulescu <lionut (a] gonzales.badula.org>
5965
5966 * conf/autofs/autofs_linux.c (send_fail, send_ready): new helper
5967 functions for sending messages back to the kernel
5968 (autofs_expire_one): initial implementation of the kernel-based
5969 expiration handler
5970 (autofs_handle_expire): call autofs_expire_one()
5971 (autofs_handle_expire_multi): ditto
5972 (autofs_umount_succeeded): search pending_umounts, send message
5973 back to the kernel
5974 (autofs_umount_failed): ditto
5975 (autofs_mount_succeeded): tell amd core not to expire autofs entries
5976 (autofs_timeout_mp): expiration function for autofs filesystems
5977 (autofs_timeout_mp_task): helper function for autofs_timeout_mp
5978
5979 * conf/autofs/autofs_linux.h: new struct autofs_pending_umount for
5980 keeping tracking of pending umounts
5981 (autofs_fh_t) rename pending to pending_mounts, add pending_umounts
5982
5983 * conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub
5984
5985 * conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub
5986
5987 * amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs
5988 filesystems
5989
5990 * amd/autil.c (mf_mounted): move here the call autofs_mounted()
5991 from amfs_auto_mounted().
5992
5993 2002-06-22 Erez Zadok <ezk (a] whitestar.dyn.optonline.net>
5994
5995 * amd/nfs_start.c (mount_automounter): Security fix. if user sets
5996 -D noamq, don't even create listening socket. Suggestion by Ed
5997 Ravin <eravin (a] panix.com>.
5998
5999 2002-06-22 Ion Badulescu <lionut (a] gonzales.badula.org>
6000
6001 * hlfsd/homedir.c (homedir): use setgid() instead of setegid()
6002
6003 * ALL: #ifdef cleanups, unify some TLI/socket function prototypes
6004
6005 2002-06-22 Erez Zadok <ezk (a] whitestar.dyn.optonline.net>
6006
6007 * conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support
6008 na_gid and na_uid. NetBSD patch from Jun-ichiro itojun Hagino
6009 <itojun (a] iijlab.net>.
6010
6011 * doc/am-utils.texi (Option): document xlatecookie mount option.
6012
6013 * libamu/mount_fs.c (compute_nfs_args): support "xlatecookie"
6014 NFS mount option. Patch from Matthias Scheler <tron (a] zhadum.de>
6015 for NetBSD.
6016
6017 2002-06-22 Ion Badulescu <ionut (a] edgar.badula.org>
6018
6019 * conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to
6020 AUTOFS_LINK_FS_FLAGS
6021
6022 * conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs
6023 mounts in autofs_link_mount/umount
6024
6025 2002-06-22 Ion Badulescu <lionut (a] gonzales.badula.org>
6026
6027 * configure.in: check for devid inside struct umntrequest
6028
6029 * conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the
6030 new umntrequest structure in v4.
6031 (autofs_unmount_2_req): ditto
6032
6033 * README.autofs: updated for Solaris 2.5/2.5.1
6034
6035 2002-06-22 Erez Zadok <ezk (a] whitestar.dyn.optonline.net>
6036
6037 * configure.in: only define LDAP/Hesiod if both the headers and
6038 the libraries exist, and the user didn't explicitly disable those
6039 maps.
6040
6041 2002-06-22 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6042
6043 * doc/am-utils.texi: fix typos. Can't use ":" in @cindex entries.
6044
6045 2002-06-22 Erez Zadok <ezk (a] whitestar.dyn.optonline.net>
6046
6047 * doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
6048 amd/amd.8, amd/get_args.c (get_args): document amd -A option.
6049
6050 * amd/get_args.c (get_args): support "amd -A arg" option to
6051 override the system's detected architecture. Patch from George
6052 Ross <gdmr (a] dcs.ed.ac.uk>.
6053
6054 * amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
6055 if the system doesn't have it.
6056
6057 * configure.in: detect existence of ldap_enable_cache function,
6058 because it doesn't exist on Solaris 9's latest ldap libraries.
6059
6060 * amd/info_ldap.c: LDAP patches from George Ross
6061 <gdmr (a] dcs.ed.ac.uk>. Rework of old code, support for wildcards in
6062 LDAP queries, and an FD leak fix.
6063
6064 2002-06-22 Ion Badulescu <lionut (a] gonzales.badula.org>
6065
6066 * buildall: use ksh for configure on aix5.1; pass the extra
6067 arguments after "--" to configure, not to make
6068
6069 * Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF
6070
6071 * conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails
6072 with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the
6073 mount with the alternative nfs3_args structure
6074
6075 * conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args
6076 structure, similar to that in aix5.1, for a hack that tries to
6077 compensate for IBM's brain fart
6078
6079 * conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+
6080
6081 * aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
6082
6083 * BUGS: update for direct mounts on Linux; document the brokenness
6084 of /bin/sh on AIX 5.1 and HP-UX 9
6085
6086 * NEWS: aix5.1 port, aix4.3 workaround
6087
6088 2002-06-22 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6089
6090 * ltmain.sh: use libtool 1.4d, needed support for newer AIX.
6091
6092 2002-06-21 Ion Badulescu <ion (a] guppy.limebrokerage.com>
6093
6094 * aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for
6095 all solaris2.6+, not just for 2.[6-8]
6096
6097 * conf/autofs/autofs_default.h: disable autofs if configure
6098 detects it
6099
6100 2002-06-21 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6101
6102 * aux/macros/with_addon.m4: correct M4 quoting.
6103
6104 * aux/macros/cache_check_dynamic.m4: correct M4 quoting.
6105
6106 * bootstrap: show version of autotools being used. Helps
6107 maintainer debugging.
6108
6109 * configure.in: new proper syntax for libtool and
6110 ansi2knr-filtering rules, required by autoconf 1.53 and higher.
6111
6112 2002-06-21 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
6113
6114 * aux/GNUmakefile: new search paths for "update" target.
6115
6116 * config.guess, config.sub, doc/texinfo.tex, ltmain: updates from
6117 the latest GNU distributions.
6118
6119 2002-06-11 Ion Badulescu <ion (a] guppy.limebrokerage.com>
6120
6121 * amd/amfs_auto.c (amfs_auto_lookup_child): split part of this
6122 function into the new amfs_auto_lookup_one_child function; return
6123 null if all ivecs failed to match
6124
6125 2002-05-30 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6126
6127 * config.guess.long: support SuSE version names in long
6128 config.guess format.
6129
6130 2002-05-01 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
6131
6132 * scripts/lostaltmail.in (vrfy_user): unlink temp files if too
6133 small.
6134
6135 2002-04-07 Ion Badulescu <ionut (a] moisil.badula.org>
6136
6137 * hlfsd/hlfsd.c (main): compile fix for --enable-debug=no
6138
6139 2002-03-29 Ion Badulescu <ionut (a] moisil.badula.org>
6140
6141 * README.autofs: solaris 2.5/2.5.1 info, other minor changes
6142
6143 * doc/am-utils.texi (History): document solaris 2.5+ support
6144
6145 * include/am_utils.h: new member in struct mntfs: mfs_real_mount;
6146 autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new
6147 prototype for umount_fs2(); extra argument for UMOUNT_FS()
6148
6149 * hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS()
6150
6151 * libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2()
6152 function; swap mntdir and real_mntdir as necessary for solaris 2.5
6153 autofs support
6154
6155 * conf/umount/umount_default.c (umount_fs2): swap mntdir and
6156 real_mntdir as necessary for solaris 2.5 autofs support
6157
6158 * conf/umount/umount_*.c (umount_fs): wrapper around the new
6159 umount_fs2() function
6160 (umount_fs2): new function which takes the real mountpoint as an
6161 extra argument
6162
6163 * conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be
6164 compiled in
6165
6166 * conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new
6167 function that appends a space at the end of a string (the famous
6168 "Autofs Space Protocol")
6169
6170 * conf/autofs/autofs_solaris_v1.c: almost complete reimplementation
6171
6172 * conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add
6173 system-specific definitions for these macros
6174
6175 * conf/autofs/autofs_linux.c (create_autofs_service): remove hacks
6176 which are now handled properly by more generic code
6177 (autofs_link_umount): complain if umount_fs() fails, rmdir the
6178 mountpoint on success
6179 (autofs_umount_succeeded): remove the rmdirs() code, now handled
6180 by generic code
6181 (autofs_mount_succeeded): ditto
6182
6183 * amd/nfs_start.c (checkup): implement it as an emtpy stub if
6184 DEBUG is not defined
6185 (run_rpc): call autofs_add_fdset() after umount_exported() to
6186 avoid passing invalid file descriptors to select(); use plog()
6187 instead of perror()
6188
6189 * amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp
6190 (uninit_mntfs): free mf_real_mount
6191
6192 * amd/autil.c (am_unmounted): don't remove the mount point if a
6193 remount is pending, also don't make the removal conditional on not
6194 being an autofs mount point
6195
6196 * amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on
6197 mf->mf_real_mount instead of mf->mf_mount
6198
6199 * amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call
6200 rmdirs() on mf->mf_real_mount instead of mf->mf_mount
6201
6202 * amd/amfs_host.c (make_mntpt): change the third argument to be
6203 the mountpoint, not the entire mntfs structure
6204 (do_mount): takes real_mntdir as an extra argument
6205
6206 * amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the
6207 mountpoint here from try_mount(), otherwise the change to mf_flags
6208 is lost for background mounts; remove the mountpoint if we created
6209 it and the mount fails
6210 (amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using
6211 autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined
6212
6213 * amfs_*.c, ops_*.c: initialize autofs_fs_flags using the
6214 AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs
6215 header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument;
6216 mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an
6217 extra argument
6218
6219 * amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes
6220 the real mountpoint as an additional argument
6221
6222 2002-03-28 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6223
6224 * amd/ops_cdfs.c (mount_cdfs): correctly interpret error return
6225 values back from mount_fs(). Return correct error number from
6226 this function.
6227
6228 * conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount
6229 cruft from this function, moved elsewhere.
6230 (mount_linux): prepare for loop-device mounts of ISO images.
6231
6232 2002-03-28 Ion Badulescu <ionut (a] buggy.badula.org>
6233
6234 * libamu/Makefile.am (EXTRA_DIST): added strerror.c
6235
6236 * libamu/strerror.c: strerror() implementation for systems lacking it
6237
6238 * doc/am-utils.texi (History): rewrote the history :) about autofs
6239 support
6240
6241 * conf/autofs/autofs_solaris_v2_v3.c: updated copyright;
6242 (autofs_unmount_2_req): minor cleanup
6243 (create_autofs_service): print log message
6244 (destroy_autofs_service): ditto
6245
6246 * conf/autofs/autofs_linux.c: updated copyright
6247
6248 * amd/nfs_start.c (mount_automounter): move the debug message into
6249 create_autofs_service()
6250
6251 * amd/amd.c (main): call destroy_autofs_service() before
6252 going_down(), not after
6253
6254 * configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap
6255 if the ldap headers are not found
6256
6257 2002-03-28 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6258
6259 * amd/info_ldap.c: patch from "Sebastien Bahloul"
6260 <sebastien.bahloul (a] medasys.org> to fix a simple initialization bug
6261 and change "HE" to HE_ENT so as to compile on HPUX.
6262
6263 2002-02-26 Erez Zadok <ezk (a] t3.fsl.cs.sunysb.edu>
6264
6265 * conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs
6266 atttributes field named "uid". So #define na_uid to it.
6267
6268 2002-02-12 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6269
6270 * scripts/lostaltmail.in: don't verify user if -noverify option
6271 was turned on. fix comment typo.
6272
6273 2002-02-11 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6274
6275 * amd/Makefile.am (TESTS): enable one test script, test1.sh.
6276
6277 * amd/test1.sh: re-commit simple test script.
6278
6279 2002-02-11 Ion Badulescu <ion (a] guppy.limebrokerage.com>
6280
6281 * Released snapshot 6.1a5
6282
6283 * NEWS: Solaris autofs readdir() support, Linux autofs sublink fix
6284
6285 * README: require newer auto-tools, update mailing list address
6286
6287 * README.autofs: major update
6288
6289 * configure.in: version changed to 6.1a5
6290
6291 2002-02-11 Ion Badulescu <ionut (a] moisil.badula.org>
6292
6293 * conf/autofs/autofs_linux.c (autofs_link_mount): don't do a
6294 stat() on the am_link if called from the parent amd, to prevent
6295 deadlocks
6296
6297 * amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the
6298 fstype is not link but we have a sublink (Linux autofs needs this)
6299 (am_mounted): call amfs_link_ops.mount_fs if the fstype is not
6300 link but we have a sublink (Linux autofs needs this)
6301
6302 * amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint,
6303 not the amd entry point
6304
6305 2002-02-09 Ion Badulescu <ionut (a] moisil.badula.org>
6306
6307 * conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom
6308 structure for returning the results from readdir_2()
6309 (xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres,
6310 changed to process our internal format (which is essentially the
6311 NFS readdir format)
6312 (xdr_autofs_getrddirres): not needed, deleted
6313 (xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other
6314 changes to handle amd_rddirres instead of autofs_rddirres
6315 (autofs_lookup_2_req): return AUTOFS_NONE instead of
6316 AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F
6317 (autofs_readdir_2_req): implemented
6318 (autofs_readdir_2_free): not needed, deleted
6319 (autofs_program_2): changes from autofs_rddirres to amd_rddirres
6320 (autofs_get_fh): changed initialization of the fh->map member, it
6321 now gets the mountpoint path because it makes it easier to
6322 implement readdir
6323 (autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around
6324 code touching fh->addr
6325 (destroy_autofs_service): new function, deregister the autofs
6326 service with the portmapper on exit
6327
6328 * conf/autofs/autofs_linux.c (autofs_handle_missing): update
6329 statistics
6330 (destroy_autofs_service): new stub
6331
6332 * amd/mapc.c (mapc_find): fixed indentation
6333
6334 * amd/map.c (find_ap_recursive): renamed from find_ap2(), made
6335 static
6336
6337 * amd/amd.h: removed prototype for find_ap2(), added prototype for
6338 destroy_autofs_service()
6339
6340 * amd/amd.c (main): call destroy_autofs_service() before going
6341 down
6342
6343 2002-02-07 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
6344
6345 * aux/macros/check_field.m4: need also a new version of
6346 AC_CHECK_MEMBERS (plural).
6347
6348 2002-02-06 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
6349
6350 * aux/macros/check_field.m4: include a fixed version of
6351 AC_CHECK_MEMBER. g/cc will fail to check a member if the .member
6352 is itself a data structure, because you cannot compare, in C, a
6353 data structure against NULL; you can compare a native data type
6354 (int, char) or a pointer. Solution: do what I did in my original
6355 member checking macro: try to take the address of the member. You
6356 can always take the address of anything.
6357
6358 2002-01-31 Erez Zadok <ezk (a] localhost.localdomain>
6359
6360 * remove old '%W%' SCCS IDs from all sources.
6361
6362 2002-01-21 Ion Badulescu <ionut (a] moisil.badula.org>
6363
6364 * conf/mount/mount_linux.c (mount_linux): fix breakage introduced
6365 by the loop device mount support. Linux mount takes a real string
6366 as the last argument, unless the mount type is NFS, NCP, or SMB.
6367
6368 2002-01-20 Erez Zadok <ezk (a] localhost.localdomain>
6369
6370 * hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2,
6371 because we made some important changes.
6372
6373 2002-01-20 Ion Badulescu <lionut (a] gonzales.badula.org>
6374
6375 * include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME
6376 by default
6377
6378 * NEWS: document latest changes
6379
6380 * amd/map.c (unmount_mp): same fix as for hlfsd, update the
6381 seconds field in mtime because Linux ignores the useconds field
6382
6383 * hlfsd/homedir.c: made some global vars static
6384 (plt_init): remove all trailing '/' chars from root's home;
6385 use root's home, not the username (silly bugfix)
6386
6387 2002-01-20 Ion Badulescu <lionut (a] gonzales.badula.org>
6388
6389 * hlfsd/homedir.c (homedir): don't special case uid 0 as having /
6390 as home; instead use the root account's home
6391 (plt_init): properly initialize root_home from the root account's
6392 home directory, or as "" if root doesn't exist
6393 (plt_reset): free root_home
6394
6395 2002-01-20 Erez Zadok <ezk (a] localhost.localdomain>
6396
6397 * hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code.
6398 Increment seconds, not microseconds (which are ignored by NFS).
6399 Set symlink owner to euid.
6400
6401 * hlfsd/homedir.c (homedir): pass gid to this function, so we can
6402 also change the effective GID of the process writing to the user's
6403 home dir, as well as the group of the hlfsd symlink.
6404 (homedir): run setegid in the right places.
6405
6406 2002-01-15 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6407
6408 * scripts/redhat-ctl-amd.in: refer to @sbindir@ not
6409 ${prefix}/sbin.
6410
6411 * scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not
6412 ${prefix}/etc. Bug report from "A Braunsdorf"
6413 <ab (a] eas.purdue.edu>.
6414
6415 2002-01-13 Erez Zadok <ezk (a] localhost.localdomain>
6416
6417 * configure.in: only check for clock_gettime if --enable-debug was
6418 used.
6419
6420 * aux/macros/opt_debug.m4: define a cache variable to record value
6421 of debug option used.
6422
6423 * libamu/xutil.c (show_time_host_and_name): do not use
6424 clock_gettime unless debugging was compiled in. This way, if
6425 debugging is not compiled, we don't bother linking with librt,
6426 libpthread, and a whole lot of other libraries that aren't that
6427 necessary (esp. on Linux).
6428
6429 2002-01-12 Erez Zadok <ezk (a] wavy.dyn.optonline.net>
6430
6431 * doc/am-utils.texi (opts Option): document loop option.
6432
6433 * include/am_utils.h: each mounted file system (mntfs) should
6434 optionally store the loop device used in the field mf_loopdev.
6435
6436 * conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some
6437 loop function extern definitions. For now this code is here
6438 because we only support loop devices on Linux.
6439
6440 * conf/mount/mount_linux.c: recognize "loop" as a valid iso9660
6441 mount option.
6442 (parse_opts): when skipping over unknown mount options, skip over
6443 "loop" (since it was given in amd map entry), but not over
6444 loop=/dev/loopX, because the latter will go into /etc/mtab.
6445 (do_mount_linux): override actual cdfs mounted device name
6446 because with loop devices you don't mount the .iso file directly,
6447 but the /dev/loopX device that was setup for it.
6448 (show_loop, is_loop_device, find_unused_loop_device,
6449 setup_loop_device, delete_loop_device): support code for loop
6450 devices.
6451
6452 * amd/ops_cdfs.c (mount_cdfs): pass loop device name to function.
6453 setup loop device before isofs mount, if "loop" option was given,
6454 before actual mount(2).
6455 (cdfs_mount): pass loopdev name to mount_cdfs().
6456 (cdfs_umount): delete/unset loop device after a successful
6457 unmount, if a loop device was used.
6458
6459 * amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL.
6460
6461 * include/am_compat.h: If loop device (header file) exists, define
6462 mount table option MNTTTAB_OPT_LOOP.
6463
6464 * conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE
6465 here until we have a better way to detect /dev/loop devices.
6466
6467 * include/am_defs.h: include <linux/loop.h> if it exists. Define
6468 LARGEFILE support macros, possibly needed for loop devices.
6469 Redefine dev_t apropriately for loop devices.
6470
6471 * configure.in: check for <linux/loop.h>.
6472
6473 2002-01-10 Ion Badulescu <ion (a] guppy.limebrokerage.com>
6474
6475 * conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo
6476 parameter 2 orders of magnitude larger than udp (patch from Trond
6477 Myklebust)
6478
6479 2002-01-09 Erez Zadok <ezk (a] localhost.localdomain>
6480
6481 * aux/macros/linux_headers.m4: properly [quote] a long string in
6482 m4 and use AC_MSG_WARN.
6483
6484 * ALL: put /* comments */ on #else/#endif lines everywhere.
6485
6486 * configure.in, aux/macros/with_addon.m4: due to limitation of
6487 AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of
6488 package for help string.
6489
6490 * doc/am-utils.texi (FSinfo): fixed various texinfo errors in the
6491 FSinfo section of the manual.
6492 (map_reload_interval Parameter): document new amd.conf global
6493 parameter.
6494
6495 * scripts/amd.conf.5 document new global option
6496 map_reload_interval. Sort entries for nfs_vers and nfs_proto
6497 alphabetically.
6498
6499 * amd/nfs_start.c (do_select): increment do_mapc_reload's value by
6500 global map_reload_interval value, not by fixed ONE_HOUR.
6501
6502 * amd/amd.c (main): increment do_mapc_reload's value by global
6503 map_reload_interval value, not by fixed ONE_HOUR.
6504
6505 * scripts/amd.conf-sample (map_reload_interval): usage example
6506
6507 * amd/amd.c (init_global_options): initialize map_reload_interval
6508 to 3600 seconds.
6509
6510 * amd/conf.c (gopt_map_reload_interval): support a new global
6511 amd.conf option map_reload_interval, to determine how often (in
6512 seconds) Amd should check if the map source has changed and then
6513 reload it it. This value was hard-coded to one hour, now it's the
6514 default if not otherwise specified.
6515
6516 * doc/am-utils.texi (plock Parameter): document plock=yes option
6517 as using mlockall(2) if found.
6518
6519 * scripts/amd.conf.5: document -S option as using mlockall(2) if
6520 found.
6521
6522 * include/am_defs.h: include <sys/mman.h> if it exists.
6523
6524 * configure.in: check for mlockall() function. Check for
6525 sys/mman.h.
6526
6527 * amd/amd.c (main): support mlockall() on systems that have it and
6528 don't have plock(3) for plock=yes. On systems that have both,
6529 will try plock() first and then mlockall(), until one of them (if
6530 any) succeeds.
6531
6532 2002-01-09 Erez Zadok <ezk (a] whitestar.dyn.optonline.net>
6533
6534 * aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4,
6535 with_addon.m4 (ac_upcase): fix help string formatting using
6536 AC_HELP_STRING.
6537
6538 * amd/test1.sh: simple test script for "make check". Runs "amd
6539 -v".
6540
6541 * amd/Makefile.am (TESTS): add one simple test script, running
6542 "amd -v" and checking its return value. More tests can be added.
6543
6544 * aux/macros/linux_headers.m4: use AC_MSG_WARN directly.
6545
6546 * aux/macros/*.m4: avoid the cumbersome "changequote" M4 command.
6547 Instead, list bracketed regexp patterns in [[double brackets]].
6548
6549 * aux/macros/header_templates.m4: remove all unnecessary
6550 HAVE_FIELD_* definitions, now that we're using autoconf's new
6551 AC_CHECK_MEMBERS.
6552
6553 * aux/macros/field_mntent_t_mnt_time_string.m4: don't call
6554
6555 * configure.in: use new syntax for AMU_CHECK_FIELD
6556
6557 * aux/macros/check_field.m4: use new and simpler macro
6558 AC_CHECK_MEMBERS. Change all sources to use HAVE_aggregate.member
6559 instead of HAVE_FIELD_aggregate.member.
6560
6561 * aux/amdgrep: simple utility script to egrep the am-utils sources
6562 for any pattern.
6563
6564 * aux/macros/{check_mnttab_style.m4, check_mount_style.m4,
6565 check_umount_style.m4, check_network_transport_type.m4}: use newer
6566 AC_LIBOBJ macros instead of modifying $LIBOBJS directly
6567
6568 * aux/macros/func_bad_memcmp.m4: redefine to use native
6569 AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed.
6570
6571 * fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so
6572 pre-ANSI C compilers will ignore it.
6573
6574 * conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp()
6575 correctly depending on whether it takes a void or a 0.
6576
6577 * configure.in: check if s/getpgrp() takes void or a 0.
6578
6579 2002-01-08 Erez Zadok <ezk (a] whitestar.dyn.optonline.net>
6580
6581 * configure.in: use the newer AC_CONFIG_LINKS instead of
6582 AC_LINK_FILES.
6583
6584 * aux/macros/check_autofs_style.m4, check_checkmount_style.m4,
6585 check_mnttab_style.m4, check_mount_style.m4,
6586 check_network_transport_type.m4, check_umount_style.m4,
6587 check_nfs_prot_headers.m4: removed backward compatible code for
6588 pre-autoconf-2.14.
6589
6590 2002-01-07 Erez Zadok <ezk (a] whitestar.dyn.optonline.net>
6591
6592 * doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since
6593 this Makefile could explicitly chdir to other directories and run
6594 make there.
6595 (install-ps): use ${MAKE} with ${MFLAGS}.
6596
6597 * Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files.
6598 Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile
6599 could explicitly chdir to other directories and run make there.
6600 (install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make".
6601
6602 * configure.in: call AC_PROG_MAKE_SET to check if make program
6603 defines $MAKE variable.
6604
6605 * amd/get_args.c (get_version_string): use new PACKAGE_* macros
6606 and also report the bug-reporting address.
6607
6608 * aux/macros/package_{name,version}.m4, header_templates.m4: using
6609 new PACKAGE_{NAME,VERSION,BUGREPORT} macros.
6610
6611 * aux/macros/name_bugreport.m4: simple macro to print out the
6612 bug-reporting address which was configured in AC_INIT.
6613
6614 * bootstrap: remove new autoconf messages about misuse of
6615 m4_patsubst and m4_regexp (internal GNU M4 macros).
6616
6617 * configure.in: remove old comment above AC_OUTPUT.
6618 Use AC_CONFIG_FILES and AC_OUTPUT separately.
6619 Fix AC_REVISION use.
6620 Add AC_COPYRIGHT.
6621 Use new style for AC_INIT, listing package name, version, and
6622 bug-reporting address.
6623 Call new AMU_PACKAGE_* macros.
6624
6625 * updated copyright year to 2002 on all files
6626
6627 * configure.in: using newly renamed am-utils macros (AMU_*)
6628
6629 * aux/macros/*.m4: renamed ALL am-utils specific macros so they
6630 start with AMU_*, not AC_*. That way it is easier to distinguish
6631 between macros that come with am-utils and those that are part of
6632 Autoconf or Automake. It helps to identify those am-utils macros
6633 that can be removed once there is generic support for them in a
6634 future version of Autoconf.
6635
6636 * bootstrap: run automake --copy
6637 remove autom4te.cache dir before rerunning autoconf
6638
6639 2001-12-13 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6640
6641 * scripts/amd.conf.5: correct title to section 5, not 8. Correct
6642 reversed meaning of nfs_proto and nfs_vers parameters. Typos
6643 reported by Peter Breitenlohner <peb (a] mppmu.mpg.de>.
6644
6645 2001-12-02 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6646
6647 * scripts/ctl-amd.in: run "test" or "[" in front of -x/-f
6648
6649 * scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f
6650
6651 2001-12-02 Ion Badulescu <ionut (a] moisil.badula.org>
6652
6653 * hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in
6654 non-mkstemp code
6655
6656 * scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH
6657 happy
6658
6659 * scripts/ctl-hlfsd.in: ditto (for hlfsd)
6660
6661 * conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we
6662 get from mkstemp(), otherwise samba becomes very unhappy (sigsegv)
6663
6664 * conf/mtab/mtab_mach3.c (rewrite_mtab): ditto
6665
6666 2001-11-29 Ion Badulescu <ion (a] guppy.limebrokerage.com>
6667
6668 * tasks: updated
6669
6670 * NEWS: document the fixed autofs fd leak
6671
6672 * amq/amq.8: better document the -f option
6673
6674 2001-11-29 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6675
6676 * libamu/mount_fs.c (mnt_flags): same this as for nolock option
6677 handling, do for maxgrps.
6678
6679 2001-11-29 Ion Badulescu <ion (a] guppy.limebrokerage.com>
6680
6681 * conf/autofs/autofs_linux.c (hash_init): determine the max number
6682 of fd's at runtime, use it to dynamically scale the hash and list
6683 arrays
6684 (autofs_get_fh): sanity check, don't allow a pipe() fd greater
6685 than autofs_max_fds
6686 (autofs_release_fh): close our end of the pipe here (no clue why
6687 or when it got commented out)
6688 (autofs_mounted): set kernelfd to -1 after closing it
6689
6690 2001-11-28 Philippe Troin <phil (a] fifi.org>
6691
6692 * libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount
6693 opts.
6694 (compute_nfs_args): Added nolock handling.
6695 Adapted from an original patch from Avery Pennarun <apenwarr (a] nit.ca>.
6696
6697 2001-11-27 Erez Zadok <ezk (a] a-hpux11i.fsl.cs.sunysb.edu>
6698
6699 * ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler.
6700 Couldn't use bison/flex because of 32-bit vs. 64-bit binaries
6701 issues. Had to use HP's own yacc/lex.
6702
6703 2001-11-26 Erez Zadok <ezk (a] a-hpux11i.fsl.cs.sunysb.edu>
6704
6705 * */Makefile.am: don't use $(OBJECTS) directly because it is no
6706 longer automatically defined now that Automake has automatic
6707 dependency tracking (which I turn off). Instead, hard-code
6708 minimal dependencies on am-utils' header files to depend on
6709 PROG_OBJECTS (where PROG is the program name being built). This
6710 was discovered by using HP's non-GNU make program.
6711
6712 * amd/nfs_start.c (checkup): cast getpagesize() return val to
6713 long, to avoid conflicts in division of a long by an int (on
6714 hpux11i, with their ANSI/C compiler).
6715
6716 * INSTALL, doc/am-utils.texi: port updates
6717
6718 * minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0,
6719 i386-unknown-freebsd4.4, i386-pc-linux-rh7.2,
6720 ia64-unknown-linux-rh7.1.
6721
6722 * include/am_defs.h: actually declare extern definition for
6723 xdr_callmsg() if it doesn't already exist.
6724
6725 * aux/macros/header_templates.m4: declare template for
6726 HAVE_EXTERN_XDR_CALLMSG.
6727
6728 * configure.in: check for extern definition for xdr_callmsg()
6729 because hpux11 has that function but a bad <rpc/xdr.h> header file
6730 that doesn't define it in the right place.
6731
6732 * libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c
6733 on hpux11 its type is dev_t.
6734
6735 * conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11
6736 yet.
6737
6738 2001-11-16 Erez Zadok <ezk (a] fsl-gw.fsl.cs.sunysb.edu>
6739
6740 * buildall (Usage): separate $cnf_flags and $extra_cnf_flags due
6741 to /bin/sh limitations.
6742
6743 * bootstrap (cmd): turn back on --ignore-deps (this Automake may
6744 have problems)
6745
6746 * libamu/xutil.c: remove __attribute__ format_arg statement for
6747 expand_error() because this function, although taking a
6748 printf-like string, does not use it in a printf function; it only
6749 expands a non-printf amd-special syntax %m.
6750
6751 2001-11-14 Erez Zadok <ezk (a] fsl-gw.fsl.cs.sunysb.edu>
6752
6753 * conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro
6754 before using it because older Linux systems don't define this
6755 (e.g., Red Hat 4.2)
6756
6757 2001-11-13 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6758
6759 * configure.in: convert to using autoconfig 2.52. Use new macros.
6760 AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom
6761 parts of autogenerated config.h.in; increase autoconf
6762 pre-requisite to version 2.50; use AC_DISABLE_SHARED not
6763 AM_DISABLE_SHARED.
6764
6765 * aux/macros/cache_check_dynamic.m4: finally I can use the new
6766 $ECHO_N syntax in macros instead of $ac_n, since I'm using a new
6767 autoconf. Isn't it nice to be such forward looking and having
6768 placed a comment "XXX: use the next line for autoconf-2.14 and
6769 newer"... :-)
6770
6771 * aux/macros/save_state.m4: highlight message with ***'s
6772
6773 * aux/macros/host_macros.m4: use proper M4 quoting ([], not "")
6774
6775 * config.{guess,sub}: upated from latest prep ftp distributions
6776
6777 * depcomp, missing, mkinstalldirs: upated from latest Automake 1.5
6778
6779 * ltmain.sh: updated from latest Libtool 1.4.2
6780
6781 * bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN
6782 called without default to allow cross compiling" warnings. And,
6783 it only took like 3+ years to fix this. But, now it has anoter,
6784 albeit less annoying warning (which the manual says to ignore):
6785 "AC_PROG_LEX invoked multiple times".
6786 When autoheader is run, don't treat the "all clear" message
6787 "config.h.in is update" as an error.
6788
6789 * ltconfig: removed. not needed with latest version of libtool
6790
6791 * aux/macros/header_templates.m4: replaces acconfig.h and defines
6792 all CPP macros we use in this package, including their
6793 accompanying C /* comments */.
6794
6795 * acconfig.h: removed. replaced by new autoconf system to generate
6796 header templates using AH_TEMPLATE macros and such.
6797
6798 * aux/macros/msg.m4: removed. Replaced with new macro
6799 AC_MSG_NOTICE
6800
6801 * Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4. Add
6802 aux/macros/header_templates.m4
6803
6804 * configure.in: early, in host_macros.m4, I'm renaming silly linux
6805 $host_os names such as linux-gnu and lignux to plain "linux".
6806 Alas, RMS finally had his way and libtool will NOT recognize
6807 "linux" as a valid system, only "linux-gnu". Sigh. Rich, I know
6808 you're responsible to Linux's fame. Kudos to you and your
6809 cohorts. But please don't force the rest of us to use those ugly
6810 or long names. Solution: temporarily name $host_os to "linux-gnu"
6811 before calling the AC_PROG_LIBTOOL macro, then name it back to
6812 "linux". (That way I don't have to maintain my own version of
6813 ltmain.sh.
6814
6815 * buildall: force running configure -C (to create and use a local
6816 config.cache file). New default behavior for autoconf is NOT to
6817 use cache files. Yeah, that's gonna fly real well with am-utils,
6818 with its 700+ automatic tests.
6819
6820 * conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of
6821 mktemp, if the former is available.
6822
6823 * conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of
6824 mktemp, if the former is available.
6825
6826 * mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp,
6827 if the former is available.
6828
6829 * aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must
6830 be on a separate line, as per new Autoconf manual, to avoid some
6831 Bourne Shell syntactical bizarreness.
6832
6833 2001-11-13 Erez Zadok <ezk (a] a-rh71i.fsl.cs.suunysb.edu>
6834
6835 * amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long,
6836 for IA64 Linux.
6837
6838 2001-11-12 Ion Badulescu <ionut (a] buggy.badula.org>
6839
6840 * libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer
6841 pointing to '\0' on success, so we need to allow for it. This
6842 fixes the problem with rejecting numerical mount options if they
6843 are the last option in the string.
6844
6845 * configure.in: increased library patchlevel
6846
6847 * NEWS: document the parsing bug
6848
6849 2001-10-29 Ion Badulescu <ionut (a] moisil.badula.org>
6850
6851 * configure.in: bumped version up to 6.1a5-pre
6852
6853 * NEWS: fixed speeling mistaike
6854
6855 2001-10-29 Ion Badulescu <ionut (a] moisil.badula.org>
6856
6857 * released snapshot am-utils-6.1a4
6858
6859 2001-10-26 Ion Badulescu <ionut (a] moisil.badula.org>
6860
6861 These changes fix autofs support for sublinks. While it is not
6862 perfect by any means and is hardly better than non-autofs, at
6863 least it works.
6864
6865 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't
6866 reply if the mount is in progress
6867 (autofs_mount_succeeded): handle both delayed lookups and mounts
6868 (autofs_mount_failed): ditto
6869
6870 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the
6871 original opt_fs if we have a sublink
6872
6873 2001-10-23 Ion Badulescu <ionut (a] moisil.badula.org>
6874
6875 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf
6876 instead of new_mf) which was causing null pointer error when
6877 sublinks were being used
6878
6879 2001-10-22 Ion Badulescu <ionut (a] moisil.badula.org>
6880
6881 * README.autofs: updated
6882
6883 * NEWS: updated
6884
6885 * INSTALL: updated
6886
6887 * AUTHORS: added myself
6888
6889 * doc/am-utils.texi: updated
6890
6891 * conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use
6892 xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile
6893 (autofs_readdir_2_req): cast req->rda_offset to (int), same as
6894 above
6895
6896 2001-10-22 Ion Badulescu <ionut (a] moisil.badula.org>
6897
6898 Autofs direct mounts have been verified to work on Solaris2.[67].
6899
6900 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6901 retrieve the uid and gid from the lookup request
6902 (autofs_mount_2_req): skip the first char in the name (it's a
6903 leading '/') if this is a direct mount
6904
6905 * amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child
6906 and amfs_auto_mount_child for amfs_direct's methods
6907
6908 * amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node
6909 if the mntfs lookup fails
6910
6911 2001-10-21 Ion Badulescu <ionut (a] moisil.badula.org>
6912
6913 * include/am_utils.h (AMF_REMOUNT): new flag, marks the node as
6914 pending a remount
6915 (mntfs): new member mf_fsflags, holds a copy of the filesystem's
6916 fs_flags
6917 (am_ops): new member autofs_fs_flags, holds the filesystem's flags
6918 when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags
6919
6920 * conf/autofs/autofs_linux.c (create_autofs_service): turn on
6921 FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link
6922 (autofs_umount_succeeded): don't rmdir the mountpoint if a remount
6923 is needed [lest the access that triggered the remount will fail]
6924
6925 * amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags
6926 into mf_fsflags on initialization
6927
6928 * amd/autil.c (am_unmounted): start the remounting right away if
6929 the node is marked as needing a remount [fixes the Linux autofs
6930 deadlock when mount/unmount collide]
6931
6932 * amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as
6933 needing a remount if a mount request comes in while we're
6934 unmounting it
6935 (amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags
6936 into mf_fsflags if this is an autofs node
6937
6938 * amd/amfs_*.c, amd/ops_*.c: added initialization for the new
6939 autofs_fs_flags member of am_ops
6940
6941 2001-10-20 Ion Badulescu <ionut (a] moisil.badula.org>
6942
6943 With these changes, Solaris 2.[67] autofs support is finally
6944 functional!
6945
6946 * conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub
6947 (autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres,
6948 xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions
6949 (autofs_lookup_2_req): do an actual lookup here, and tell the
6950 kernel to create a symlink if necessary
6951 (autofs_mount_2_req): no need to am_autofs_data
6952 (autofs_program_2): enable AUTOFS_READDIR
6953 (autofs_link_mount): no code needed here
6954 (autofs_link_umount): return success
6955 (autofs_mount_succeeded): lstat real mount points; don't mark
6956 symlinks as NOTIMEOUT
6957
6958 * amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore
6959
6960 * amd/map.c (init_map): init am_dev and am_rdev to -1
6961 (free_map): free am_mfarray and all mntfs's listed
6962
6963 * amd/autil.c (mf_mounted): move the lstat of the node to the
6964 autofs-specific code
6965
6966 * amd/amfs_link.c (amfs_link_ops): don't background symlink creation
6967
6968 2001-10-18 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
6969
6970 * aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
6971 * BUGS: Explain this.
6972
6973 2001-10-02 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
6974
6975 * doc/am-utils.texi (redhat-ctl-amd): document new script.
6976
6977 * scripts/Makefile.am: build redhat-ctl-amd but do not install it.
6978
6979 * scripts/redhat-ctl-amd.in: new script, useful to correctly
6980 control Amd on Red Hat Linux systems. Script adapted from ctl-amd
6981 and Red Hat's own rc.d script.
6982
6983 2001-10-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
6984
6985 * conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h.
6986 (MNT2_NFS_OPT_AUTO): Disable.
6987 * Makefile.am (EXTRA_DIST_CONF): Reflect new name.
6988 * aux/macros/check_nfs_prot_headers.m4: Use this file for all
6989 Tru64 UNIX V5 and up releases.
6990
6991 2001-09-24 Ion Badulescu <ionut (a] moisil.badula.org>
6992
6993 * include/mount_headers1.h (MFS): define as 1 instead of nothing,
6994 to fix compile problems on OS X (patch from Ahmon Dancy)
6995
6996 * aux/macros/try_compile_anyfs.m4 (MFS): ditto
6997
6998 2001-08-13 Erez Zadok <ezk (a] fsl-gw.fsl.cs.sunysb.edu>
6999
7000 * doc/am-utils.texi (in_network Selector Variable): document
7001 expanded syntax
7002
7003 * libamu/wire.c (is_network_member): support for network/netmask
7004 as well as network/bits syntax in in_network()
7005
7006 2001-08-11 Erez Zadok <ezk (a] a-linux64.fsl.cs.sunysb.edu>
7007
7008 * amq/amq.c (show_mti): print full four digits for year, and print
7009 it in MM/DD/YYYY format, not in YY/MM/DD format.
7010
7011 2001-08-11 Ion Badulescu <lionut (a] gonzales.badula.org>
7012
7013 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
7014 initial attempt to do something useful -- but commented out for now
7015 (autofs_link_mount): create an action structure with a link
7016 request and pass it up
7017 (autofs_mount_2_req): pass the link request to the kernel
7018 (autofs_free_data): new helper function
7019
7020 * conf/autofs/autofs_linux.h: added definition for autofs_data_t
7021
7022 * conf/autofs/autofs_solaris_v2_v3.h: ditto
7023
7024 * amd/map.c (init_map): initialize am_autofs_data
7025 (free_map): call the autofs cleanup function if necessary
7026
7027 * include/am_utils.h (am_node): added private data and cleanup
7028 function for autofs
7029
7030 * tasks: removed some obsolete entries
7031
7032 2001-08-11 Erez Zadok <ezk (a] a-solaris8.fsl.cs.sunysb.edu>
7033
7034 * amd/map.c (free_map_if_success): run autofs_umount_failed() only
7035 if this mount node is of type autofs.
7036
7037 2001-08-11 Ion Badulescu <lionut (a] gonzales.badula.org>
7038
7039 * amd/amd.h: removed mf_array from struct continuation (moved into
7040 am_node)
7041
7042 * include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to
7043 vlookup_child; added vmount_child; added mount_child to the fs_ops
7044 API; added prototypes for amfs_auto_mount_child and
7045 amfs_error_mount_child
7046
7047 * amd/map.c (init_map): initialize am_mfarray to 0
7048
7049 * amd/amfs_*, amd/ops_*: new API function mount_child, old API
7050 function lookuppn renamed to lookup_child
7051
7052 * amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to
7053 amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to
7054 amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to
7055 amfs_auto_mount_child; moved the freeing of the error mntfs in the
7056 newly allocated am_node from lookup_mntfs to mount_child; make
7057 sure lookup_child returns a negative error if the node needs to be
7058 mounted; removed the call to lookuppn3 from lookup_child
7059
7060 * amd/amfs_error.c: added stub implementations of
7061 amfs_error_lookup_child and amfs_error_mount_child
7062
7063 * amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c,
7064 conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c:
7065 call both lookup_child and mount_child, instead of the old
7066 lookuppn API method
7067
7068 2001-07-19 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7069
7070 * amd/get_args.c (get_args): a better way to handle GNU and
7071 non-GNU getopts without strdup-ing the getopt string.
7072
7073 2001-07-04 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7074
7075 * amd/info_ldap.c (amu_ldap_rebind): The first time you called
7076 amu_ldap_init, aldh->ldap is not set. So when amu_ldap_rebind is
7077 called, this function is absolutely sure to return 0. Then
7078 amu_ldap_init return 0 without having opened any LDAP connection.
7079 This is not the correct behavior.
7080 (get_ldap_timestamp, amu_ldap_search): error to free an object
7081 ("entry") that is automatically freed by the library. Patch from
7082 Sebastien Bahloul <sebastien.bahloul (a] mangoosta.fr>.
7083
7084 2001-07-19 Ion Badulescu <ionut (a] moisil.badula.org>
7085
7086 * AUTHORS (variables): added Philippe Troin
7087
7088 * Makefile.am (EXTRA_DIST): added bootstrap
7089
7090 * include/am_compat.h (xfs_args_t): define as u_int if the
7091 filesystem is supported but we can't autodetect the type for
7092 xfs_args_t. This allows Linux to mount xfs filesystems.
7093
7094 2001-07-12 Philippe Troin <phil (a] fifi.org>
7095
7096 * doc/am-utils.texi: Added @dircategory Administration.
7097
7098 2001-07-12 Philippe Troin <phil (a] fifi.org>
7099
7100 * aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH
7101 with only the `yes' and `no' as possible answers.
7102
7103 * configure.in: Added support for disabling LDAP and HESIOD even
7104 if the supporting libraries are found.
7105
7106 * Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file.
7107
7108 2001-07-12 Philippe Troin <phil (a] fifi.org>
7109
7110 * include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV
7111 if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options
7112 and the linux nodev options are different beasts.
7113
7114 * conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV
7115 entry (not really necessary on linux).
7116
7117 2001-07-12 Philippe Troin <phil (a] fifi.org>
7118
7119 * amd/get_args.c (get_args): Prepend "+" to the getopt string if
7120 HAVE_GNU_GETOPT to avoid getting all options (even the ones after
7121 the first non-option argument) slurped in by GNU getopt.
7122
7123 * aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT
7124 if GNU/glibc getopt implementation is detected.
7125
7126 * configure.in: Added call to AC_CHECK_GNU_GETOPT.
7127
7128 * acconfig.h: Document HAVE_GNU_GETOPT.
7129
7130 * Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file.
7131
7132 2001-06-25 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7133
7134 * LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all
7135 am-utils URL references use www.am-utils.org, not the columbia
7136 URL.
7137
7138 2001-06-08 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7139
7140 * conf/transp/transp_sockets.c (create_nfs_service): cast to
7141 u_long to ensure clean compile on freebsd5 and bsdi2.
7142
7143 2001-05-23 Ion Badulescu <ionut (a] moisil.badula.org>
7144
7145 WARNING: WORK IN PROGRESS
7146
7147 It works for me on Linux (both autofs and nfs mounts), for nfs and
7148 link, but I won't make any guarantees outside those.
7149
7150 * amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount
7151 point and the device/fileserver are the same. This is an important
7152 change of philosophy, watch out for memory leaks!
7153
7154 * amd/map.c (get_ap_child): helper function for
7155 amfs_auto_lookuppn, creates a new am_node for key fname, inits it,
7156 and inserts it into all necessary structures
7157
7158 * amd/amfs_auto.c (free_continuation): free unused mntfs's; don't
7159 free any of the removed fields
7160 (amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three
7161 subfunctions, including some code stolen from bgmount; lookuppn
7162 now generates an array of possible mntfs to try mounting, and
7163 bgmount will actually try to mount each of them.
7164 (amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn
7165 (amfs_parse_defaults): new helper function for lookuppn
7166
7167 2001-05-19 Erez Zadok <ezk (a] kosh.dyn.optonline.net>
7168
7169 * conf/mount/mount_linux.c: typo: added comma after '0' element.
7170
7171 2001-05-19 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7172
7173 * conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using
7174 autofs-v4 again
7175 (autofs_get_opts): don't pass pgrp, the kernel will get it
7176 automatically anyway, not to mention that we were passing bogus
7177 data if amd was not daemonized.
7178
7179 * conf/mount/mount_linux.c (linux_nfs_error): don't special case
7180 the 0 result, just put it into the translation list
7181
7182 2001-05-19 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7183
7184 * conf/mount/mount_linux.c (linux_nfs_error): don't report success
7185 (0) as error (NE_IO)!
7186
7187 2001-05-18 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7188
7189 * amd/amfs_host.c (amfs_host_mount): don't fail the mount if at
7190 least one share is already mounted
7191
7192 2001-05-17 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7193
7194 * libamu/util.c (str3cat): updated comment
7195
7196 * include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT
7197
7198 * conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment
7199 (autofs_mounted): disable autofs support for host f/s if version < 4
7200 (create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs
7201 (autofs_umount_succeeded): use rmdirs instead of rmdir
7202 (autofs_mount_failed): ditto
7203
7204 * amd/opts.c (expand_op): align the debugging messages
7205
7206 * amd/map.c (mount_auto_node): use am_node *mp instead of casting
7207 the void *arg; update the comment
7208
7209 * amd/autil.c (am_mounted): check the FS_DIRECT flag instead of
7210 comparing to &amfs_direct_ops
7211 (mount_node): ifs_mount doesn't exist, make note of it in the
7212 comment
7213
7214 * amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags
7215
7216 * amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to
7217 create the mountpoint directory for auto f/s; it is now handled in
7218 autofs_linux.c
7219 (amfs_auto_bgmount): renamed the mpe parameter to mp_error;
7220 renamed dont_retry to retry and reverted its meaning as well;
7221 moved the mp variable up one scope and made use of it throughout
7222 the function;
7223 (amfs_auto_readdir): whitespace
7224 (amfs_auto_readdir_browsable): whitespace, also some debugging
7225
7226 * amd/am_ops.c (vops): updated a comment
7227
7228 * .cvsignore: added A.i386-pc-linux-rh7.[01]
7229
7230 2001-05-01 Ion Badulescu <ionut (a] gonzales.dev.hydraweb.com>
7231
7232 * conf/mount/mount_linux.c: fixed stupid error in the linux
7233 nfs_errormap[], which was mapping ENOENT to success!!!
7234
7235 2001-04-28 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7236
7237 * BUGS: added info about the direct mount problems on Linux and
7238 about the kernel patches on www.am-utils.org.
7239
7240 * conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req):
7241 removed obsolete comment
7242
7243 * amd/autil.c (forcibly_timeout_mp): always log a message when the
7244 forced unmount request is ignored
7245 (mf_mounted): don't lstat unless this is an autofs mount point,
7246 lest we deadlock
7247
7248 * amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add
7249 MFF_MKMNT to the flags, it causes deadlocks later on when
7250 unmounting
7251
7252 2001-04-14 Erez Zadok <ezk (a] whitestar.dyn.optonline.net>
7253
7254 * COPYING: update copyright year
7255
7256 * amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c,
7257 amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c,
7258 amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c,
7259 amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c,
7260 conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c,
7261 conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c,
7262 conf/transp/transp_sockets.c, conf/transp/transp_tli.c,
7263 libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog
7264 messages for clarity, to avoid duplication, to better recognize
7265 what the message means and where it ran, and to fix typos.
7266
7267 * amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of
7268 function's name to the beginning of the function, before any other
7269 messages are logged.
7270
7271 2001-04-14 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7272
7273 * conf/mount/mount_linux.c (do_mount_linux): removed plog() of
7274 binary data
7275
7276 2001-04-05 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7277
7278 * include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS,
7279 MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO
7280 work (needed for MacOS X); removed duplicate definition of NFS.
7281
7282 2001-03-29 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7283
7284 * amd/amd.h, amd/amfs_auto.c, amd/conf.c,
7285 doc/am-utils.texi,
7286 scripts/amd.conf-sample, scripts/amd.conf.5:
7287 renamed selectors_on_default to selectors_in_defaults,
7288 kept the former as a deprecated option;
7289 renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS;
7290 renamed gopt_selectors_on_default() to gopt_selectors_in_defaults()
7291
7292 2001-03-19 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7293
7294 * amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c,
7295 include/am_utils.h: compile fixes for --enable-debug=no
7296
7297 2001-03-15 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7298
7299 * NEWS: updated
7300
7301 * README.autofs: updated
7302
7303 * conf/mount/mount_linux.c (linux_version_code): export the fn
7304
7305 * conf/nfs_prot/nfs_prot_linux.h: ditto
7306
7307 * conf/autofs/autofs_linux.c (create_autofs_service): verify the
7308 kernel version here, and turn off bind_works if the kernel is
7309 older than 2.4.0.
7310 (autofs_link_mount): don't touch bind_works here, it's useless
7311 b/c we're in a child process; remove the mountpoint directory if
7312 the bind mount fails
7313
7314 * amd/opts.c (eval_fs_opts): changed some annoying debugging plogs
7315 into dlogs
7316
7317 * conf/autofs/autofs_linux.c (autofs_link_mount): zero out the
7318 mntent struct before initializing it
7319
7320 2001-03-14 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7321
7322 * conf/mount/mount_linux.c (parse_opts): added support for lofs
7323 (mount_linux): support lofs through bind mounts and/or FiST lofs
7324
7325 * scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to
7326 /var/mail and /usr/spool/mail
7327
7328 * conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if
7329 kernel is newer than 2.4.0
7330 (MNTTYPE_LOFS): ditto
7331
7332 * conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub
7333 (autofs_lookup_failed): removed stub
7334
7335 * conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in
7336 the file, made static;
7337 (autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat()
7338 and friends to determine if bind mounts can be used and to trigger
7339 further cascading mounts; return proper error codes
7340 (autofs_link_umount): distinguish between symlinks and bind mounts
7341 and handle both correctly
7342 (autofs_umount_succeeded): remove call to autofs_link_umount()
7343
7344 * amd/map.c (umount_exported): try to unmount all mount points on
7345 an autofs filesystem; this isn't really needed and will be removed
7346 when we start handling restarting autofs mounts
7347
7348 * amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount,
7349 if necessary
7350
7351 * amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was
7352 causing the wrong mntfs to be selected when using autofs; removed
7353 call to autofs_link_mount() (moved where it belongs, in
7354 amfs_link.c)
7355
7356 * amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner
7357 solution is needed, because background mounting is only necessary
7358 for linux autofs + bind mounts
7359
7360 * amd/amd.h: removed prototype for autofs_lookup_failed (internal
7361 static function for linux autofs); added prototype for
7362 autofs_link_umount
7363
7364 * configure.in: bump up library patchlevel
7365
7366 2001-02-28 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7367
7368 * aux/macros/check_mount_trap.m4,
7369 aux/macros/check_nfs_fh_dref.m4,
7370 aux/macros/check_nfs_prot_headers.m4,
7371 aux/macros/type_recvfrom_fromlen.m4,
7372 aux/macros/type_yp_order_outorder.m4:
7373 Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to
7374 aix[1-3], osf[1-3] and hpux[6-9].
7375
7376 2001-02-28 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7377
7378 * check_mount_style.m4, check_mount_trap.m4,
7379 check_network_transport_type.m4, check_nfs_fh_dref.m4,
7380 check_nfs_prot_headers.m4, check_nfs_sa_dref.m4,
7381 check_nfs_socket_connection.m4, os_cflags.m4,
7382 type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more
7383 cleanup (use [[0-1]] instead of M4 changequote commands).
7384
7385 * Makefile.am: removed unused conf/trap/trap_hpux11.h
7386
7387 2001-02-27 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7388
7389 * aux/macros/check_network_transport_type.m4,
7390 aux/macros/check_mount_style.m4,
7391 aux/macros/check_mount_trap.m4,
7392 aux/macros/check_network_transport_type.m4,
7393 aux/macros/check_nfs_fh_dref.m4,
7394 aux/macros/check_nfs_prot_headers.m4,
7395 aux/macros/check_nfs_sa_dref.m4,
7396 aux/macros/check_nfs_socket_connection.m4,
7397 aux/macros/os_cflags.m4,
7398 aux/macros/type_auth_create_gidlist.m4,
7399 aux/macros/type_recvfrom_fromlen.m4,
7400 aux/macros/type_yp_order_outorder.m4:
7401 Reworked the scripts, so that a new _unknown_ version of a known OS
7402 will use the option for the newest _known_ version of that OS. For
7403 example, when freebsd6 comes out, it will use the stuff for
7404 freebsd5, not the stuff for freebsd2. This makes configure more
7405 likely to succeed on new systems/versions.
7406
7407 * Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr)
7408
7409 2001-02-24 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7410
7411 * Makefile.am (install-snapshot): use a different symlink target
7412 for the experimental snapshots.
7413
7414 2001-02-23 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7415
7416 * Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in
7417 distributions.
7418
7419 2001-02-22 Erez Zadok <ezk (a] earth.cs.columbia.edu>
7420
7421 * released snapshot am-utils-6.1a3
7422
7423 * amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute
7424 get_args.c
7425
7426 2001-02-21 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7427
7428 * libamu/mtab.c: added the functions hasmnteq and haseq to
7429 ease checks for non-numeric values in opt=value strings.
7430 Recoded hasmntval to qualify input as numeric, allow hex and
7431 octal strings on rhs of =, and log when the value is missing
7432 or invalid.
7433
7434 * conf/mount/mount_linux.c: revised mount_linux to use new
7435 hasmnteq function to extract type of non-nfs mounts, and added
7436 a log message to catch possible failure of strdup.
7437
7438 * amd/am_ops.c: revised merge_ops to use new haseq function
7439
7440 * amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to
7441 discover protocol setting.
7442
7443 * include/am_utils.h: added function prototypes for hasmnteq
7444 and haseq
7445
7446 2001-02-19 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7447
7448 * include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid
7449 pulling in unwanted declarations from 2.2.19pre and 2.4.1ac
7450
7451 * include/am_defs.h (_LINUX_NFS3_H): ditto
7452
7453 * conf/nfs_prot/nfs_prot_linux.h: whitespace, comments
7454
7455 2001-02-19 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7456
7457 * aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo"
7458 command.
7459
7460 2001-02-18 Erez Zadok <ezk (a] earth.cs.columbia.edu>
7461
7462 * aux/macros/mount_headers.m4, include/mount_headers[12].h: split
7463 mount_headers.h in two because one relative header (nfs_prot.h)
7464 file cannot be included inside another from the start directory of
7465 the first (it's relative to the directory of the first).
7466
7467 2001-02-09 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7468
7469 * AUTHORS: added Ahmon Dancy <dancy (a] franz.com>
7470
7471 * (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy
7472
7473 * aux/macros/mount_headers.m4: moved all the C code into a
7474 separate file, include/mount_headers.h; the effect is that
7475 configure goes down in size by a factor of 2.5!
7476
7477 * include/mount_headers.h: new file, with C code from
7478 aux/macros/mount_headers.m4
7479
7480 2001-02-01 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7481
7482 * conf/mount/mount_linux.c: made linux_nfs_error() more robust.
7483
7484 2001-02-01 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7485
7486 * released snapshot am-utils-6.1a2
7487
7488 * updated ltmain.sh and ltconfig from latest stable version of
7489 libtool-1.3.5
7490
7491 2001-02-01 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7492
7493 * conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition
7494 of nfs_error here, from mount_linux.c, so that it can actually be
7495 used.
7496
7497 * conf/mount/mount_linux.c: added unused errno 41 to the
7498 nfs_errormap array, lest the following errno's get shifted up by
7499 one!
7500
7501 Sat Jan 13 00:04:38 2001 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
7502
7503 * amd/amd.h (autofs_lookuppn): Fixup whitespace.
7504 * amd/amfs_auto.c (amfs_auto_bgmount): Likewise.
7505 * amd/amfs_error.c: (amfs_error_match): Likewise.
7506 * amd/amfs_host.c (fetch_fhandle): Fixup whitespace. Remove
7507 unnecessary temporary variable.
7508 * amd/info_file.c (read_line): Likewise.
7509 (search_or_reload_file): Likewise.
7510 * amd/info_ldap.c (get_ldap_timestamp): Likewise.
7511 * amd/map.c (get_root_ap): Likewise.
7512 * amd/nfs_prot_svc.c: Likewise.
7513 * amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn,
7514 foofs_readlink, foofs_ffserver): Likewise.
7515 * amd/ops_autofs.c (autofs_bgmount): Likewise.
7516 * amd/ops_lofs.c (lofs_match): Likewise.
7517 * amd/ops_nfs.c (got_nfs_fh): Fixup whitespace.
7518 * amd/ops_xfs.c (xfs_match): Likewise.
7519 * amd/srvr_amfs_auto.c (srvrlog): Line break.
7520 * amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged,
7521 nfs_srvr_port): Fixup whitespace.
7522 * conf/nfs_prot/nfs_prot_bsdi2.h: Likewise.
7523 * conf/nfs_prot/nfs_prot_hpux.h: Likewise.
7524 * conf/nfs_prot/nfs_prot_hpux11.h: Likewise.
7525 * conf/nfs_prot/nfs_prot_irix5.h: Likewise.
7526 * conf/nfs_prot/nfs_prot_irix6.h: Likewise.
7527 * conf/nfs_prot/nfs_prot_nextstep.h: Likewise.
7528 * conf/nfs_prot/nfs_prot_osf2.h: Likewise.
7529 * conf/nfs_prot/nfs_prot_osf4.h: Likewise.
7530 * conf/nfs_prot/nfs_prot_osf5_1.h: Likewise.
7531 * conf/nfs_prot/nfs_prot_sunos3.h: Likewise.
7532 * conf/nfs_prot/nfs_prot_sunos4.h: Likewise.
7533 * conf/nfs_prot/nfs_prot_ultrix.h: Likewise.
7534 * conf/transp/transp_tli.c (get_mount_client): Likewise.
7535 * hlfsd/nfs_prot_svc.c: Likewise.
7536 * include/am_defs.h (sys_errlist): Likewise.
7537 * include/am_utils.h (am_get_progname, am_get_hostname,
7538 amq_program_1): Likewise.
7539 (nfsxprt): Moved declaration.
7540
7541 Fri Jan 12 23:31:45 2001 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
7542
7543 Removed support for amq -M.
7544
7545 * acconfig.h (ENABLE_AMQ_MOUNT): Removed.
7546 * aux/macros/opt_amq_mount.m4: Removed.
7547 * Makefile.am (EXTRA_DIST_AUX): Don't distribute
7548 opt_amq_mount.m4.
7549 * configure.in (AC_OPT_AMQ_MOUNT): Removed invocation.
7550
7551 * amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed.
7552 * amd/amq_svc.c (amq_program_1): Removed amq -M support.
7553 * amq/amq.c (mount_map): Removed.
7554 (main): Removed -M option handling.
7555 Removed transport-type specific CLIENT creation.
7556 (get_secure_amd_client, amq_bind_resv_port, privsock): Removed.
7557
7558 * amq/amq.8: Removed -M documentation.
7559 * doc/am-utils.texi (Top-level Filesystem): Removed amq -M
7560 reference, but retain comment on mount -t amd.
7561 (Controlling Amd): Likewise.
7562
7563 * tasks: Removed this task.
7564
7565 Fri Jan 12 23:18:26 2001 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
7566
7567 * conf/autofs/autofs_*.c: Bump copyright year to 2001.
7568 * hlfsd/hlfsd.h (HLFSD_VERSION): Likewise.
7569
7570 * aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to
7571 solaris_v1, solaris_v2_v3 to reflect that these are AutoFS
7572 protocol version numbers, not solaris versions.
7573 * conf/autofs/autofs_solaris[12].[ch]: Renamed to
7574 autofs_solaris_{v1, 2_v3}.[ch] to reflect this.
7575 * Makefile.am (EXTRA_DIST_CONF): Likewise.
7576
7577 * aux/macros/check_autofs_style.m4: Use solaris2 style for both
7578 versions 2 and 3 of the AutoFS protocol.
7579
7580 Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary
7581 with Solaris 8 mntfs).
7582
7583 * conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres,
7584 xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req,
7585 autofs_postmount_2_req ): Don't define for version 3.
7586 (autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT,
7587 AUTOFS_POSTMOUNT if missing.
7588
7589 * conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support.
7590
7591 * aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch]
7592 files on systems without existing autofs port.
7593 * conf/autofs/autofs_default.[ch]: New files, empty.
7594 * Makefile.am (EXTRA_DIST_CONF): Distribute them.
7595 * INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and
7596 link.
7597
7598 2001-01-12 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7599
7600 * Makefile.am (EXTRA_DIST): distribute new LDAP files.
7601
7602 * README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information,
7603 proposed Schema, and internet draft.
7604
7605 Fri Jan 12 22:27:07 2001 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
7606
7607 * Support Tru64 UNIX V5.1:
7608
7609 * conf/nfs_prot/nfs_prot_osf5_1.h: New file.
7610
7611 * Makefile.am (EXTRA_DIST_CONF): Distribute it.
7612
7613 * aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has
7614 AutoFS, need to disable it until a port exists.
7615
7616 * INSTALL, doc/am-utils.texi (Supported Platforms): Mention new
7617 minor port.
7618
7619 2001-01-09 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7620
7621 * ALL: bump copyright year to 2001.
7622
7623 2001-01-05 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7624
7625 * acconfig.h: correct comments for NODEV/NONDEV mount options
7626
7627 Fri Jan 5 05:12:02 2001 Erez Zadok <ezk (a] subzero.cs.columbia.edu>
7628
7629 * libamu/xdr_func.c: removed ugly casts to "groups*", now that
7630 irix6's nfs_prot.h is fixed.
7631
7632 * conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of
7633 <rpcsvc/mount.h> here so we don't have to include this header.
7634
7635 2001-01-04 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7636
7637 * conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to
7638 struct groups, not the pointer to this struct.
7639
7640 * include/am_xdr_func.h: prototype should take "groups *" as 2nd
7641 arg.
7642
7643 * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change
7644 casting of second arg of xdr_groups to "groups *". It's only
7645 needed for irix6, due to problems with xdr_groups on that platform.
7646 (xdr_groups): prototype should take "groups *" as 2nd arg.
7647
7648 * conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern
7649 definition. Report from Ahmon Dancy <dancy (a] franz.com>.
7650
7651 2000-12-06 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7652
7653 * include/am_defs.h: force non-inclusion of <linux/fs.h> via
7654 <linux/auto_fs.h>
7655
7656 * conf/autofs/autofs_linux.c (autofs_mounted): rename
7657 AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from
7658 previous commit)
7659
7660 * configure.in: fixed libtool version
7661
7662 2000-12-02 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7663
7664 * doc/am-utils.texi (opts Option): document lock/nolock
7665
7666 2000-12-02 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7667
7668 * conf/autofs/autofs_linux.h: added struct autofs_pending_mount;
7669 modified autofs_fh_t to have a linked list of autofs_pending_mount;
7670 added some support for autofs4
7671
7672 * conf/autofs/autofs_linux.c: use a linked list for pending
7673 request, to allow for handling multiple simultaneous request;
7674 incipient non-functional support for autofs4; incipient
7675 non-functional support for bind-mounting
7676
7677 * amd/amd.c (main): print a warning if PROCLOCK is requested but
7678 the O/S doesn't support it
7679
7680 * libamu/mount_fs.c (mnt_flags): allow the use of the "nolock"
7681 option
7682
7683 * include/am_defs.h: don't include <linux/fs.h> on a glibc2
7684 system; include <linux/auto_fs4.h> if it exists, instead of
7685 <linux/auto_fs.h>
7686
7687 * include/am_compat.h: define the "nolock" mnttab option if the
7688 NONLM NFS mount option is defined
7689
7690 * acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND
7691
7692 * configure.in: added detection of the NONLM Linux NFS mount
7693 option; added a clarification for the library versioning rules and
7694 increased the minor level; added detection of <linux/auto_fs4.h>
7695 and the MS_BIND generic mount option
7696
7697 2000-11-29 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7698
7699 * Enabled Solaris 2.7 autofs support (tested, works)
7700
7701 * Updated NEWS, README.autofs
7702
7703 * Updated Makefile's, make dist is now fixed
7704
7705 * Fixed potential memory leak in map.c
7706
7707 * Fixed autofs style detection for solaris 2.[67]
7708
7709 * Added a few casts in autofs_solaris2.c, needed on Solaris 2.7
7710
7711 2000-11-28 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7712
7713 More Solaris 2.[67] work in progress:
7714
7715 * changed the API for the mount/umount methods: fmount/fumount are
7716 gone, and mount/umount now take two arguments (am_node and mntfs)
7717
7718 * changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now
7719 means the mntfs is a filesystem of type autofs, and AMF_AUTOFS
7720 means the am_node is a node on a filesystem of type autofs.
7721
7722 * renamed nfs_program_2_transp to current_transp so it can be used
7723 with autofs
7724
7725 * renamed quick_reply() to nfs_quick_reply()
7726
7727 * added two more autofs methods: autofs_umount_failed() and
7728 autofs_compute_mount_flags() -- it turns out that on sol2.6 the
7729 autofs mounts MUST be overlay'ed
7730
7731 * moved the autofs_mount_succeeded() into am_mounted()
7732
7733 * made amd *not* timeout autofs mounts -- the kernel will do it
7734 for us
7735
7736 * store dev and rdev of a mounted filesystem in the mntfs
7737 structure, to help autofs
7738
7739 * moved the rmdirs() call from uninit_mntfs() to am_umounted(), to
7740 prevent deadlocking with autofs
7741
7742 * amd/Makefile.am: shuffled things around to make
7743 update_build_version be the last thing that runs
7744
7745 2000-11-27 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7746
7747 * split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files
7748 and made configure create a symlink to the appropriate one
7749
7750 * moved the xdr autofs functions from libamu/xdr_func.c into the
7751 system-specific conf/autofs/autofs*.c
7752
7753 * added some more experimental code to the sol2.6 autofs support,
7754 but it's by no means functional
7755
7756 2000-11-27 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7757
7758 * libamu/wire.c (getwire_lookup): truncate the hostname to
7759 MAXHOSTNAMELEN characters.
7760
7761 2000-11-26 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7762
7763 * include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to
7764 256 bytes, not 64. Suggestion form Kris Kennaway
7765 <kris (a] FreeBSD.org>.
7766
7767 2000-11-26 Erez Zadok <ezk (a] dmath5.geometrie.tuwien.ac.at>
7768
7769 * configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount
7770 options kerb, rdirplus, readdirsize, and xlatecookie
7771 (NetBSD-1.5K).
7772
7773 * acconfig.h: recognize NFS mount options rdirplus, readdirsize,
7774 and xlatecookie (NetBSD-1.5K)
7775
7776 2000-11-24 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7777
7778 * amd/srvr_nfs.c: comment on NFS proto search order.
7779
7780 * libamu/xutil.c (real_plog): don't try to write the last byte of
7781 the fmt buf. security suggtion from NetBSD: Thomas Klausner
7782 <wiz (a] danbala.ifoer.tuwien.ac.at>
7783
7784 2000-11-22 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7785
7786 * amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of
7787 fattr.na_fileid, it is now done in map.c when the map is initialized
7788
7789 * amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not
7790 to 0, to avoid cache aliasing problems on Linux (and to follow the
7791 NFS spec!)
7792
7793 2000-11-22 Thomas Klausner <wiz (a] danbala.ifoer.tuwien.ac.at>
7794
7795 * libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf
7796 (security)
7797
7798 * libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use
7799 __attribute__, __format__, and __printf__ for GCC string auditing.
7800
7801 * wire-test/wire-test.8: this is not a section 8L man page.
7802
7803 * libamu/xutil.c (expand_error): don't use sys_nerr on systems
7804 that support strerror().
7805 (dplog): fmt is const
7806 (plog): fmt is const
7807 (real_plog): fmt is const. use new expand_error function with its
7808 new return value. be more careful about running off the end of
7809 char[] fixed size buffers.
7810
7811 * libamu/wire.c (getwire): fix alignment error on alpha using an
7812 extra automatic storage variable ifrpool.
7813
7814 * hlfsd/hlfsd.c (fatal): use proper printf style to plog.
7815
7816 * fsinfo/fsinfo.c (find_username): getlogin() returns a const.
7817
7818 * fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use
7819 vfprintf.
7820
7821 * fsinfo/fsi_lex.l (yyerror): use vfprintf.
7822
7823 * fixmount/fixmount.8: this is not a section 8L man page.
7824
7825 * doc/am-utils.texi (Hesiod maps): fixed typo.
7826
7827 * amd/sched.c (do_task_notify): typo in comment.
7828
7829 * amd/opts.c (expand_op): expand_error[] is a const char *.
7830
7831 * amd/amd.c (main): use proper printf style to plog.
7832
7833 2000-11-22 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7834
7835 * libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize
7836 proplist mnttab flag. Bug fix from Wolfram Klaus
7837 <klaus (a] physik.fu-berlin.de>.
7838
7839 2000-11-19 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7840
7841 * updated config.guess, config.sub, and doc/texinfo.tex from
7842 mirrors
7843
7844 * Makefile.am (update): proper updating of config.* and texinfo
7845 from mirrors.
7846
7847 * aux/macros/check_nfs_prot_headers.m4: newer netbsd systems
7848 reports their system name as "netbsdelf" in config.guess.
7849
7850 2000-11-13 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7851
7852 * doc/am-utils.texi (opts Option): document new mount option
7853 "proplist"
7854
7855 * include/am_compat.h: define amd mount option "proplist" if the
7856 system doesn't recognize it, but the NFS bit flag exists.
7857
7858 * configure.in, acconfig.h: recognize/support "proplist" NFS mount
7859 option in Amd, useful under DU-4.0 to process ACLs over NFS
7860 mounts.
7861
7862 2000-11-10 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7863
7864 * conf/mount/mount_linux.c (mount_linux): removed unnecessary
7865 rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+
7866
7867 2000-10-16 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7868
7869 * scripts/am-eject.in: accept "cdrom" and "floppy" as arguments.
7870
7871 2000-11-05 Ion Badulescu <ionut (a] moisil.dev.hydraweb.com>
7872
7873 Too many changes to list them here. Here's a high level
7874 description:
7875
7876 * Forward-ported the Linux fixes from 6.0.5pre
7877
7878 * Got rid of a mountain of #ifdef DEBUG, replaced with smart
7879 header-file #ifdef's
7880
7881 * and, the grand finale: initial Solaris 2.6 autofs
7882 support. Compiles, mounts, gets requests; all the
7883 infrastructure is in place to actually implement the calls. Linux
7884 autofs might be a bit broken, but only compile-time so it'll be
7885 easy to fix.
7886
7887 2000-11-01 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7888
7889 * MIRRORS (Note): added a mirror at ufl.edu
7890
7891 2000-10-11 Erez Zadok <ezk (a] lorien.dev.hydraweb.com>
7892
7893 * amq/amq.8: synchronize Amq's options with reality
7894
7895 * amq/amq.c (main): synchronize Amq's usage() string with reality
7896
7897 2000-10-10 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7898
7899 * scripts/ctl-amd.in: add targets condrestart (redhat) and
7900 reload.
7901
7902 2000-10-04 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7903
7904 * scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is
7905 defined.
7906
7907 2000-09-18 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7908
7909 * amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not
7910 \a.
7911
7912 2000-09-17 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7913
7914 * include/am_utils.h: removed unused field opt_autopref
7915
7916 * amd/opts.c: removed unused variable $autopref
7917
7918 2000-09-05 Erez Zadok <ezk (a] aladdin.dev.hydraweb.com>
7919
7920 * conf/mtab/mtab_svr4.c (lockfile): function not needed unless
7921 MOUNT_TABLE_ON_FILE is defined.
7922 mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE.
7923 (update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE.
7924
7925 2000-09-03 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7926
7927 * buildall (Usage): typo in usage string
7928
7929 2000-08-25 Erez Zadok <ezk (a] lynn.soscorp.com>
7930
7931 * conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may
7932 is no defined on older Linux systems (kernel 2.0.36)
7933
7934 2000-08-19 Erez Zadok <ezk (a] earth.cs.columbia.edu>
7935
7936 * scripts/amd.conf.5: correct swapped descriptions for ldap_base
7937 and ldap_hostports.
7938
7939 * doc/am-utils.texi: correct swapped descriptions for ldap_base
7940 and ldap_hostports.
7941
7942 * scripts/amd.conf-sample: swap examples for ldap_base and
7943 ldap_hostports.
7944
7945 2000-08-13 Erez Zadok <ezk (a] earth.cs.columbia.edu>
7946
7947 * scripts/amd.conf-sample: -O is CLI equivalent to "os"
7948 amd.conf parameter
7949
7950 2000-07-30 Erez Zadok <ezk (a] earth.cs.columbia.edu>
7951
7952 * scripts/amd.conf-sample (nfs_retransmit_counter): correct
7953 meaning and use of parameter
7954
7955 2000-07-23 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7956
7957 * doc/am-utils.texi: updated URLs to www.am-utils.org.
7958
7959 2000-07-04 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
7960
7961 * doc/am-utils.texi (Supported Platforms): document osf4.0f
7962
7963 2000-06-19 Erez Zadok <ezk (a] vir.cs.columbia.edu>
7964
7965 * doc/am-utils.texi (dollar Selector Variable): document
7966 ${dollar}.
7967
7968 * amd/opts.c: special new variable ${dollar} which expands into a
7969 literal '$' sign. Otherwise there is no way to include a literal
7970 dollar symbol in an amd map.
7971
7972 2000-06-11 Ion Badulescu <ib42 (a] moisil.cs.columbia.edu>
7973
7974 * amd/opts.c (eval_selectors): don't deref opt after it's been
7975 XFREE'd
7976
7977 2000-06-11 Erez Zadok <ezk (a] earth.cs.columbia.edu>
7978
7979 * amd/opts.c: move mount_type expansion until later in the list,
7980 so common variable are "hit" first.
7981
7982 2000-06-11 Ion Badulescu <ib42 (a] moisil.cs.columbia.edu>
7983
7984 * amd/opts.c (split_opts, eval_selectors): split old function
7985 eval_opts into two, one that only splits non-selectors and
7986 assigns the values to fs_static, and one that only evaluates
7987 selectors; also simplified the rather obfuscated logic inside
7988 these functions
7989 (expand_op): made it take a char * instead of a structure from
7990 which it was using only one field (a char *). Also now returns a
7991 char * instead of modifying said structure in place
7992 (expand_opts): deal with the change above
7993 (expand_selectors): renamed from expand_key
7994 (expand_options): new function, expands non-selectors; it's the
7995 complement of expand_selectors, both of which are just wrappers
7996 around expand_op()
7997 (eval_fs_opts): use the new split_opts, eval_selectors to allow
7998 using options (like ${rhost}) in selectors
7999
8000 2000-06-11 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8001
8002 * config.guess.long: munge config.guess' output so that intel
8003 linux appears as i386-pc-linux
8004
8005 Fri Jun 9 16:06:56 2000 Erez Zadok <ezk (a] defiant.dev.hydraweb.com>
8006
8007 * conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken.
8008 Don't use it.
8009
8010 2000-06-09 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
8011
8012 * amd/mapc.c (maptypes): Change default allocation mode to
8013 MAPC_INC where reload support is missing to avoid warning in
8014 mapc_create().
8015
8016 2000-06-09 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8017
8018 * conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for
8019 solaris 2.5 until a full port can be done.
8020
8021 2000-06-07 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8022
8023 * Makefile.am, aux/GNUmakefile: fix maintainer rules to update
8024 config.* and texinfo.tex files.
8025
8026 * amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the
8027 mtime update of the symlinks on the SYMTTL option, but rather
8028 delay unmount of what was looked up using am_timeo_w. Patch from
8029 Nick Williams <Nick.Williams (a] msdw.com>. As Nick says "Basically:
8030 during unmount, increment the parent dir's mtime (fixes
8031 people doing amq -u). During stat, increase the TTL (to fix bad-luck
8032 timeouts), but leave the mtime alone."
8033
8034 (nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir,
8035 nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s.
8036 Patch from Nick Williams <Nick.Williams (a] msdw.com>.
8037
8038 * amd/map.c (unmount_mp): update mtime of amd symlink to further
8039 reduce the chances of race conditions between unmounting and
8040 looking up an entry again. Patch from Nick Williams
8041 <Nick.Williams (a] msdw.com>.
8042
8043 * README: updated instructions
8044
8045 * bootstrap: remove log file before existing
8046
8047 2000-06-06 Erez Zadok <ezk (a] aladdin.dev.hydraweb.com>
8048
8049 * configure.in: no longer using aux/ subdir. don't force autoconf
8050 2.14. comment out (but leave explanation) everything that's needed
8051 for autoconf 2.14, so for now it works with autoconf-2.13, but the
8052 code is ready for 2.14 when it is released. Similar changes to
8053 make code work with automake-1.4, until the next release comes
8054 out.
8055
8056 * libamu/Makefile.am: include definitions that are required in
8057 automake 1.4, but won't be necessary when the next release of
8058 automake comes out (see XXX comments).
8059
8060 * cache_check_dynamic.m4, check_checkmount_style.m4,
8061 check_mnttab_style.m4, check_mount_style.m4,
8062 check_network_transport_type.m4, check_nfs_prot_headers.m4,
8063 check_umount_style.m4: use symlink creation code that works for
8064 both autoconf 2.13 and 2.14 (when the latter comes out).
8065
8066 * bootstrap: new script for maintainers to run to update autoconf,
8067 automake, and libtool related files. Has the same effect as
8068 "buildall -K".
8069
8070 * removed dependencies on CVS versions of autoconf, automake, and
8071 libtool, especially the modified automake I had. This is so that
8072 maintainers could built the auto* files out of the latest released
8073 GNU autoconf, automake, and libtool. However, without my nice
8074 patches to automake, many files that used to live in the aux/
8075 subdir now were moved to the top level source directory: acconfig.h,
8076 acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess,
8077 config.guess.long, config.h.in, config.sub, configure.in, depcomp,
8078 install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs. Also
8079 texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir.
8080
8081 2000-06-05 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8082
8083 * cvs-server.txt: instructions for maintainers to access the CVS
8084 server for am-utils.
8085
8086 2000-06-03 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8087
8088 * amd/restart.c (restart): grr.. passing around initialized
8089 structures is *really* bad habit. memset(mo, 0) so at least we can
8090 test for NULL pointers...
8091
8092 2000-06-02 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8093
8094 * amd/am_ops.c (ops_match): changed XLOG_USER messages about
8095 merging addopts options to the more appropriate XLOG_INFO. Patch
8096 submitted by Tom Schmidt <tschmidt (a] micron.com>.
8097
8098 * config.{guess,sub}: make sure chmod'ed a+rx. Updated from
8099 latest GNU copies.
8100
8101 2000-05-30 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8102
8103 * aux/configure.in: bump up the version to 6.1a2
8104
8105 2000-05-29 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8106
8107 * released snapshot am-utils-6.1a1
8108
8109 2000-05-29 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8110
8111 * amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol
8112 version and store it in the fh
8113 (autofs_get_opts): support protocol version 4
8114
8115 * amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after
8116 releasing it
8117
8118 * conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of
8119 svc_getcaller() to sockaddr_in, to appease glibc 2.2
8120
8121 * amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants
8122 autofs handling and the parent is already handled by autofs,
8123 handle this filesystem as well
8124 (amfs_auto_mount): create the mountpoint for an autofs mount
8125 (amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts
8126
8127 * include/am_utils.h (FS_AUTOFS): new flag signalling that the
8128 filesystem wants autofs handling; toplvl, auto, host and direct
8129 have this flag, at least for now
8130
8131 2000-05-28 Erez Zadok <ezk (a] mulberry.mcl.cs.columbia.edu>
8132
8133 * doc/am-utils.texi (Network Filesystem Group): minor typos
8134
8135 2000-05-28 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8136
8137 * amd/autil.c (am_unmounted): check mp->am_parent before dereferencing
8138
8139 * amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force
8140 version=2 and proto=udp and try again
8141
8142 * amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs
8143 instead of a voidp; handle the NFS_SCALEDOWN case by removing the
8144 cached server entry and re-querying the server
8145
8146 * amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if
8147 statement, assign mnttype from the fs-specific mf_ops->fs_type
8148 instead
8149
8150 * amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's
8151 defined;
8152 (amfs_nfsx_remount): removed superfluous check for fmount_fs -- it
8153 always exists
8154 (amfs_nfsx_umount): removed the hacked am_node -- umounted() now
8155 takes an mntfs; call umounted() only if it's defined
8156
8157 * amd/amfs_auto.c: removed amfs_auto_umounted and moved its
8158 functionality into am_umounted().
8159 (amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs
8160 as needing an "NFS scaledown" and retry the operation
8161
8162 * amd/amfs_*.c: changed all fmount/fumount functions to
8163 mount/umount and made them take an am_node instead of an
8164 mntfs. This is a first step towards an amfs/ops API separation.
8165
8166 * amd/{amfs,ops}_*.c: changed the umounted() function to take an
8167 mntfs instead of an am_node
8168
8169 2000-05-28 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8170
8171 * amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut
8172 up gcc
8173
8174 * aux/macros/check_hide_mount_type.m4: revert to the 6.0 version
8175 which always defines HIDE_MOUNT_TYPE
8176
8177 * amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS
8178 initialization -- now done in init_mntfs()
8179
8180 * amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are
8181 mounting an autofs-style map
8182
8183 * amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ
8184
8185 * amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not
8186 necessarily a string type, so handle the nfs/autofs separation
8187 differently
8188
8189 * amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of
8190 opt_mount_type (now done in ops_match())
8191
8192 * amd/am_ops.c (ops_match): need to initialize opt_mount_type if
8193 it's not initialized yet
8194
8195 2000-05-27 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8196
8197 * libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with
8198 one or two arguments (bsdi3 vs. bsdi4)
8199
8200 2000-05-27 Ion Badulescu <ib42 (a] chestnut.mcl.cs.columbia.edu>
8201
8202 * libamu/xutil.c (amu_release_controlling_tty): removed an unused
8203 variable from the previous patch
8204
8205 2000-05-26 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8206
8207 * aux/macros/check_autofs_style.m4: fixed substitution for default
8208 case
8209
8210 * libamu/xutil.c (amu_release_controlling_tty): close standard
8211 file descriptors, re-open them as /dev/null
8212
8213 * include/am_defs.h: don't try to include both <ndbm.h> and
8214 <db1/ndbm.h>, it really doesn't work
8215
8216 2000-05-16 Ion Badulescu <ib42 (a] earth.cs.columbia.edu>
8217
8218 * hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime
8219 on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from
8220 getattr). This fixes the problem introduced by the Linux nfsv3
8221 patches.
8222
8223 2000-05-12 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8224
8225 * Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h
8226
8227 2000-05-10 Ion Badulescu <ib42 (a] earth.cs.columbia.edu>
8228
8229 * amd/ops_autofs.c (autofs_handle_fdset): call
8230 autofs_lookup_failed instead of autofs_mount_failed, if the name
8231 is not in the map
8232 (autofs_umount_{succeeded,failed}): pass the actual mount point,
8233 not its parent, as it's needed for clean-up;
8234
8235 * amd/autil.c (am_unmounted): notify autofs that the umount
8236 succeeded
8237
8238 * amd/amfs_link.c (amfs_link_[u]mount): autofs link notification
8239 moved elsewhere
8240
8241 2000-05-09 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8242
8243 * amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type
8244 if necessary;
8245 (amfs_auto_mounted): test if opt_mount_type is NULL first
8246 (amfs_auto_mount): revert earlier change
8247
8248 * amd/ops_autofs.c (autofs_mount_failed): remove autofs directory
8249 if mount failed
8250
8251 2000-05-09 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8252
8253 * amd/ops_autofs.c (autofs_link_mount): use am_link as target
8254
8255 * amd/map.c (unmount_mp): release file handle for autofs f/s about
8256 to be unmounted; this leak was preventing the unmount altogether
8257
8258 * amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific
8259 code, was broken
8260 (amfs_auto_bgmount): nfs mounts + sublinks is a valid combination,
8261 handle it
8262
8263 2000-05-07 Ion Badulescu <ib42 (a] moisil.cs.columbia.edu>
8264
8265 * Merged changes from stable branch
8266
8267 2000-04-30 Erez Zadok <ezk (a] beetle.mcl.cs.columbia.edu>
8268
8269 * include/am_defs.h, aux/macros/mount_headers.m4,
8270 aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and
8271 linux/list.h before including linux/fs.h, and define __KERNEL__
8272 for those two headers. All of this to get a couple of definitions
8273 that are needed in the new struct vfsmount.
8274
8275 * aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>.
8276
8277 * include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts
8278 between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by
8279 defining _LINUX_IN_H so it doesn't get included.
8280
8281 2000-04-03 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8282
8283 * minor new ports: i686-pc-linux-gnu-rh6.2,
8284 i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2.
8285
8286 2000-04-03 Erez Zadok <ezk (a] vir.cs.columbia.edu>
8287
8288 * aux/acconfig.h: move all #undef macros above @TOP@, so they can
8289 be recognized by pickier autoconf.
8290
8291 2000-04-03 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8292
8293 * aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n
8294 or \c.
8295
8296 2000-03-25 Erez Zadok <ezk (a] beetle.mcl.cs.columbia.edu>
8297
8298 * include/am_defs.h: ditto
8299
8300 * aux/macros/{mount_headers,try_compile_anyfs}.m4: force
8301 non-inclusion of <linux/string.h>. Breaks build on newer 2.3
8302 kernels.
8303
8304 2000-02-26 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8305
8306 * doc/am-utils.texi (Amq -w option): document new amq -w option.
8307
8308 * amq/amq.8: document new amq -w option.
8309
8310 * amq/amq.c: disable last remains of insecure amq -M code.
8311 (main): add amq -H option to show usage.
8312 (main): new amq -w option, translates getpwd() into an amd path.
8313
8314 2000-02-25 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8315
8316 * libamu/util.c (get_server_pid): new function
8317
8318 * hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE
8319
8320 * conf/transp/transp_sockets.c: removed create_autofs_service
8321
8322 * conf/mount/mount_linux.c: added autofs mount options; split
8323 mount_linux into two functions, itself and do_mount_linux
8324
8325 * aux/macros/check_hide_mount_type.m4: better failover
8326
8327 * aux/configure.in: changed version to 6.1a1; added
8328 AC_CHECK_AUTOFS_STYLE
8329
8330 * aux/aux_conf.h.in: added @am_utils_autofs_style@
8331
8332 * amd/opts.c: added "mount_type" option
8333
8334 * amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs
8335 variables in here; split create_autofs_service into sun and linux
8336 specific functions
8337
8338 * amd/nfs_start.c: removed autofs-specific variables
8339
8340 * amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh
8341 (get_root_ap): renamed root_ap to get_root_ap
8342
8343 * amd/amfs_toplvl.c (amfs_toplvl_ops): replaced
8344 amfs_toplvl_mounted with amfs_auto_mounted
8345 (mount_amfs_toplvl): moved code around, added autofs handling
8346 (amfs_toplvl_mounted): removed
8347
8348 * amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount,
8349 replaced with amfs_nfsl_u?mount
8350
8351 * amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount,
8352 replaced with amfs_link_umount
8353
8354 * amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount,
8355 replaced with amfs_link_u?mount
8356
8357 * amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function
8358 from amfs_toplvl_mounted to amfs_auto_mounted
8359
8360 * all: added autofs hooks throughout the code
8361
8362 * amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed
8363
8364 * README.autofs: linux status update
8365
8366 2000-02-24 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8367
8368 * minor new port: alphaev6-dec-osf5.0
8369
8370 * doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3,
8371 but only for UDP.
8372
8373 * released snapshot am-utils-6.0.4s3
8374
8375 * conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11. Note
8376 that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the
8377 kernel! Must set nfs_proto=udp in amd.conf [global].
8378
8379 * aux/config.guess.long: set and export PATH separately. DU5
8380 /bin/sh doesn't like setting it on the command line in a
8381 back-tick'ed `script`.
8382
8383 2000-02-24 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8384
8385 * Makefile.am: removed struct_nfs_mount_data.m4
8386
8387 * aux/macros/struct_nfs_mount_data.m4: deleted
8388
8389 * aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA
8390
8391 * aux/configure.in: removed check for struct nfs_mount_data
8392
8393 2000-02-24 Ion Badulescu <ib42 (a] beetle.mcl.cs.columbia.edu>
8394
8395 * amd/amfs_auto.c (amfs_auto_bgmount): changed log message to
8396 avoid having 'failed' in a message not indicating a failure
8397 (amfs_auto_lookuppn): ditto
8398
8399 * amd/ops_autofs.c (autofs_bgmount): ditto
8400 (autofs_lookuppn): ditto
8401
8402 2000-02-24 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8403
8404 * added .cvsignore files into the CVS repository.
8405
8406 * remove files which can be regenerated: .in, configure, some
8407 files in aux/, and more.
8408
8409 2000-02-20 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8410
8411 * doc/am-utils.texi (nfs_vers/nfs_proto): description of two
8412 parameters was reversed. Reported by Paul Jenner
8413 <p.jenner (a] eim.surrey.ac.uk>.
8414
8415 2000-02-16 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8416
8417 * released snapshot am-utils-6.0.4s2
8418
8419 * amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such
8420 as inherit, error, and toplvl (failover code).
8421
8422 * amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented)
8423 global options in amd.conf: one to set the NFS version globally
8424 (i.e., nfs_vers=2), and one to set the NFS protocol globally
8425 (i.e., nfs_proto=udp).
8426
8427 * amd/mntfs.c (realloc_mntfs): attempt to fix the failover code,
8428 so when a matching mount entry failed, try the next one.
8429
8430 2000-02-15 Erez Zadok <ezk (a] moisil.cs.columbia.edu>
8431
8432 * amd/amfs_auto.c: a new debug option "readdir" to trace the
8433 progress of the browsable_dirs code.
8434
8435 * conf/mount/mount_linux.c (mount_linux): ensure that the new
8436 linux NFSv3 code works for v2-only machines.
8437
8438 2000-02-14 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8439
8440 * aux/configure.in: cleanup unused dnl entries.
8441
8442 * conf/mount/mount_linux.c (parse_opts): typo: check for string
8443 equality, not string inequality for pcfs and cdfs.
8444
8445 * aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well.
8446
8447 * libamu/mount_fs.c (compute_mount_flags): check for INTR and
8448 NOINTR options as well (intr was never passed to linux mount
8449 syscall).
8450
8451 2000-02-10 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8452
8453 * released snapshot am-utils-6.0.4s1
8454
8455 * aux/GNUmakefile: buildall -k (for maintainers) temporarily now
8456 ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is
8457 obsolete". It is harmless but annoying, and will be fixed when
8458 autoconf and automake in their respective CVS trees are working
8459 and in sync again.
8460
8461 * scripts/amd.conf.5: document -D hrtime,xdrtrace
8462
8463 * all man pages: update copyright to 2000.
8464
8465 * doc/am-utils.texi: update copyright to 2000.
8466
8467 Wed Feb 9 14:22:31 2000 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
8468
8469 * include/am_utils.h (D_XDRTRACE): Define.
8470 (D_TEST): Disable here.
8471
8472 * libamu/xutil.c (dbg_opt): Handle it.
8473
8474 * doc/am-utils.texi (-D-Option): Document it.
8475
8476 * libamu/xdr_func.c: Use it instead of D_TRACE.
8477
8478 * include/am_utils.h (D_HRTIME): Define.
8479
8480 * doc/am-utils.texi (-D-Option): Document it.
8481
8482 * libamu/xutil.c (show_time_host_and_name): Print high-resolution
8483 timestamp if available and activated.
8484
8485 * aux/configure.in (clock_gettime): Check for it in -lrt and
8486 -lposix4.
8487
8488 * hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME
8489 if defined, even for some systems with in kernel mount tables.
8490
8491 2000-02-08 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8492
8493 * aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to
8494 allow compiles against libc5
8495
8496 * aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under
8497 linux when the kernel doesn't support it
8498
8499 * include/am_compat.h: add workaround for linux efs
8500
8501 2000-02-08 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8502
8503 * aux/configure.in: test for ANSI C compiler (before AC_C_CONST).
8504 Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway).
8505
8506 2000-02-07 Ion Badulescu <ionut (a] moisil.cs.columbia.edu>
8507
8508 * libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for
8509 nfs (linux NFSv3).
8510
8511 * include/am_defs.h: avoid reinclusion of some header files under
8512 linux.
8513
8514 * conf/nfs_prot/nfs_prot_linux.h: support NFSv3.
8515
8516 * conf/mount/mount_linux.c (mount_linux): support nfs mount
8517 (implementation) version 4 for NFSv3.
8518
8519 * aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS.
8520
8521 * aux/macros/mount_headers.m4: don't include <linux/fs.h> (may
8522 need to fix the code on other linux machines).
8523
8524 * aux/macros/check_mnttab_type.m4 (ac_safe): ditto.
8525
8526 * aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option
8527 under linux (depends on ac_cv variable, is that a good idea?)
8528
8529 * added NFSv3 support for linux
8530
8531 * aux/{configure.in,acconfig.h}: new option ver3
8532
8533 * aux/macros/mount_headers.m4: commented out inclusion of
8534 linux/fs.h, it's not needed on rh61 (and actually generates
8535 conflicts), we should see if it's still needed on libc5 systems
8536
8537 * aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than
8538 try to have its own (out of date) list of headers and ifdef's and
8539 ...
8540
8541 2000-02-07 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8542
8543 *******************************************************************
8544 *** Released am-utils-6.0.3 ***
8545 *******************************************************************
8546
8547 2000-02-06 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8548
8549 * conf/mount/mount_default.c: dummy empty file to work around a
8550 limitation of automake (it looks for LIBBOBJS in aclocal.m4 and
8551 processes them even if they are optional, enclosed in if/else).
8552
8553 2000-01-29 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8554
8555 * released snapshot am-utils-6.0.3s5
8556
8557 2000-01-25 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8558
8559 * update to use latest version of autoconf, automake, and libtool.
8560
8561 * aux/GNUmakefile (depcomp): "make update" should also update the
8562 depcomp script.
8563
8564 * Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution.
8565
8566 * aux/configure.in: use renamed AC_CHECK_AMU_FS.
8567
8568 * aux/macros/check_amu_fs.m4: renamed macro name and file name to
8569 say AMU_FS, not AM_FS.
8570
8571 * aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because
8572 latest version of autoconf doesn't handle it (bug in 2.14a)
8573
8574 * aux/configure.in: require version 2.14 of autoconf.
8575
8576 * amd/mapc.c (mapc_reload_map): more fixes from Nick Williams.
8577
8578 * doc/am-utils.texi (Automount Filesystem): document type:=auto
8579 map browsability option.
8580
8581 * amd/mapc.c (make_entry_chain): patch from Steven Danz
8582 <sdanz (a] awc.kc.noaa.gov> to allow browsable auto maps.
8583
8584 2000-01-24 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8585
8586 * released snapshot am-utils-6.0.3s4
8587
8588 * amd/mapc.c (mapc_reload_map): fixes to sync maps even if they
8589 are set to mapcache:=sync. Fix from Nick Williams
8590 <Nick.Williams (a] msdw.com>.
8591
8592 2000-01-20 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8593
8594 * released snapshot am-utils-6.0.3s3
8595
8596 * minor port to i386-unknown-netbsd1.4.1
8597
8598 * amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams
8599 <Nick.Williams (a] msdw.com> to fix (or reduce the incidence of) stale
8600 file handles when doing rapid mounts and umounts in succession
8601 such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo"
8602
8603 2000-01-18 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8604
8605 * minor port to i386-pc-bsdi4.1.
8606
8607 2000-01-13 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8608
8609 * libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd)
8610 argument to irs_gen_acc(), which was changed in bsdi 4.1.
8611
8612 2000-01-12 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8613
8614 * amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for
8615 systems with in-kernel mount tables unless this macro is defined
8616 (Solaris 8).
8617
8618 2000-01-01 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8619
8620 * ALL: bump copyright year to 2000.
8621
8622 1999-12-16 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8623
8624 * conf/mount/mount_svr4.c (mount_svr4): optionstr exists on
8625 solaris 7, but should not be used unless MAX_MNTOPT_STR also
8626 exists (solaris 8).
8627
8628 * doc/am-utils.texi (opts Option): document new mount option:
8629 optionstr.
8630
8631 Fri Dec 10 01:31:53 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
8632
8633 * conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to
8634 mount_svr4().
8635 (mount_svr4): Adapt prototype.
8636 * conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so
8637 they are evaluated and show up in Solaris 8 in-kernel mnttab.
8638
8639 * aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2)
8640 option.
8641 * aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template.
8642
8643 1999-12-10 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8644
8645 * released snapshot am-utils-6.0.3s2
8646
8647 1999-12-09 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8648
8649 * doc/am-utils.texi (opts Option): document noexec and nomnttab
8650 (new to Solaris 8).
8651
8652 * Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in
8653 distribution.
8654
8655 * applied fixes from Rainer Orth for Solaris 8.
8656
8657 * libamu/wire.c (getwire): increment the cp pointer in the loop
8658 body, because the ioctl() inside the "for" loop will overwrite the
8659 ifr structure, thus not detecting all of the interfaces. Bug
8660 reported and fixed by Amitha Perera <perera (a] cs.rpi.edu>.
8661
8662 Thu Dec 9 19:09:38 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
8663
8664 * conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if
8665 MOUNT_TABLE_ON_FILE.
8666
8667 * amd/get_args.c (get_args): Initialize mnttab_file_name even for
8668 in-kernel mount table. conf/mtab/mtab_svr4.c (read_mtab) depends
8669 on a non-NULL value.
8670
8671 * amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque
8672 LDAP structure to get error code, but use it directly.
8673 (amu_ldap_search): Likewise.
8674
8675 * conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong
8676 ldap support.
8677 * conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise.
8678
8679 * conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef
8680 nfsstat, already in <nfs/nfs.h>.
8681 * aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris
8682 versions beyond 7.
8683 Allow for micro versions of SunOS 5.[67].
8684
8685 * aux/configure.in: Check for new Solaris 8 Beta Refresh
8686 MS_NOMNTTAB mount(2) option.
8687 * aux/macros/check_mnttab_location.m4: Use it to test for
8688 mntfs-based in-kernel mnttab.
8689
8690 * aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7.
8691
8692 * aux/macros/check_fs_headers.m4: Revert test for duplicate
8693 objects.
8694 * aux/macros/check_fs_mntent.m4: Likewise
8695
8696 * aux/macros/HEADER: Fixed typo.
8697
8698 * include/am_defs.h: Likewise.
8699
8700 1999-12-01 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8701
8702 * aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11)
8703
8704 1999-11-16 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8705
8706 * BUGS: document glibc-2.1 nis file descriptor leak in yp_bind.
8707
8708 * amd/info_ldap.c (string2he): updated function which does not
8709 corrupt strings when called more than once. Patch from
8710 JOHANN.PFEFFERL.JP (a] germany.agfa.com.
8711
8712 1999-11-15 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8713
8714 * MIRRORS (Asia): two new mirrors in Japan.
8715
8716 1999-11-10 Erez Zadok <ezk (a] kosh.cs.columbia.edu>
8717
8718 * doc/am-utils.texi: document new variables for ${uid} and ${gid}.
8719
8720 * amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the
8721 last lookup from the RPC credentials.
8722
8723 * aux/configure.in: upped version-info to 4:0:2 because I've added
8724 a new interface to libamu.
8725
8726 * libamu/misc_rpc.c (getcreds): moved function from hlfsd to here,
8727 so it can be used by amd.
8728
8729 * amd/opts.c: new variables ${uid} and ${gid}.
8730
8731 1999-10-15 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8732
8733 * scripts/ctl-amd.in: add "status" command that tells you if amd
8734 is running on not (same output as RedHat scripts).
8735 Added start_msg and stop_msg targets as they are used on HPUX.
8736 reported by Jon Peatfield <J.S.Peatfield (a] damtp.cam.ac.uk>.
8737
8738 1999-10-13 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8739
8740 * released snapshot am-utils-6.0.3s1
8741
8742 1999-10-12 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8743
8744 * amd/amd.c (main): On AIX you must lower the stack size using
8745 ulimit() before calling plock. Otherwise plock will reserve a lot
8746 of memory space based on your maximum stack size limit. Since it
8747 is not easily possible to tell what should the limit be, I print a
8748 warning before calling plock(). See the manual pages for
8749 ulimit(1,3,4) on your AIX system.
8750
8751 * include/am_defs.h: define default extern for vsnprintf()
8752
8753 * aux/configure.in: check for extern definition for vsnprintf()
8754
8755 1999-10-08 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8756
8757 * amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
8758 <njw (a] ms.com>. SYMPTOMS: 'occasionally' sublinks do not point to
8759 the correct location, but to the top level of the mountpoint and
8760 an (error-hook) is seen being mounted in the log file. This causes
8761 things to Go Wrong(TM).
8762 CAUSE: When evaluating two locations which are requested
8763 'practically simultaneously', and the two locations resolve to the
8764 same NFS mountpoint (but different sublinks), the later request
8765 will be "deferred" and retried after wakeup when the first mount
8766 succeeds. To do this, it rewinds the options location string to
8767 re-evaluate the location when the mount is retried. However, it
8768 shouldn't rewind the options for two reasons: (a) the semantics of
8769 the map language say you shouldn't and (b) the NFS mount reference
8770 is not reset at the same time, meaning that on the retry it will
8771 have an options structure out-of-sync with the mount
8772 structure. The "shortcut" code when retrying the mount sees the
8773 mount structure is already filled in and does not fully evaluate
8774 the options structure.... so if the first location is not the one
8775 which ties in with the mountpoint (see ordering in the
8776 recreate-by), you're now well messed up.
8777
8778 * BUGS: mention aix4.3 plock() bug (memory usage blows up and
8779 plock fails)
8780
8781 1999-10-07 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8782
8783 * aux/GNUmakefile: certain files should be copied if they are
8784 newer, not also if they are bigger: install-sh, ltconfig,
8785 ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
8786
8787 * minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
8788
8789 1999-10-05 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8790
8791 * aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
8792
8793 * aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
8794
8795 1999-09-30 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8796
8797 *******************************************************************
8798 *** Released am-utils-6.0.2 ***
8799 *******************************************************************
8800
8801 1999-09-27 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8802
8803 * conf/mount/mount_linux.c (mount_linux): print the updated mount
8804 flags.
8805
8806 * doc/am-utils.texi: document $full_os and $vendor.
8807
8808 * scripts/amd.conf-sample: examples of $full_os and $vendor.
8809
8810 * scripts/amd.conf.5: document $full_os and $vendor.
8811
8812 * amd/conf.c: add support for $full_os and $vendor.
8813
8814 1999-09-26 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8815
8816 * doc/am-utils.texi (netgrp Selector Function): don't give
8817 examples with old single '=' assignment variable. Use foo:=bar.
8818
8819 * amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
8820 comment describing this complex function.
8821
8822 * doc/Makefile.am (alldocs): do install-ps last (because distiller
8823 is slow) and install-html next to last (because texi2html is also
8824 slow).
8825
8826 * amd/amd.8: Major fixes to the description of the option -t
8827 timeout.retransmit.
8828
8829 * doc/am-utils.texi: better description of "trace" debug option.
8830 amd -H (not -v) shows log_options and debug_options. Major fixes
8831 to the description of amd -t timeout.retransmit, and the amd.conf
8832 parameters nfs_retransmit_counter and nfs_retry_interval.
8833
8834 * scripts/amd.conf.5: better description of "trace" debug option.
8835 amd -H (not -v) shows log_options and debug_options. Major fixes
8836 to the description of the parameters nfs_retransmit_counter and
8837 nfs_retry_interval.
8838
8839 1999-09-25 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8840
8841 * doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
8842 option, but a mount map option.
8843
8844 * libamu/xutil.c (switch_to_logfile): log the name of the log file
8845 we switched into, after the log file had been [re]opened.
8846
8847 1999-09-24 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8848
8849 * amd/mapc.c (mapc_reload_map): count and show the number of times
8850 a map was reloaded. Only reload a map if its modify-time was
8851 updated. But amq -f forced a reload no matter what.
8852
8853 * amd/amd.h: new flag to struct mnt_map to count number of times a
8854 map was reloaded.
8855
8856 * amd/mapc.c (mapc_reload_map): attempt to reload the map without
8857 losing current data by reloading into a temp copy, and switching
8858 the hashes round only if the reload was successful. Patch from Jon
8859 Peatfield <J.S.Peatfield (a] damtp.cam.ac.uk>.
8860 (mapc_sync): mapc_reload_map() always succeeds.
8861
8862 1999-09-22 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8863
8864 * amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
8865 rebind to an LDAP server forever. Try up to 10 times.
8866
8867 * fsinfo/fsi_lex.l (yyerror): rework code that will never happen
8868
8869 * released snapshot am-utils-6.0.2s2
8870
8871 * aux/configure.in: bumped library version-info to 3:2:1, since
8872 some libamu code got changed.
8873
8874 * libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
8875 is better and more secure. Fix from "David O'Brien"
8876 <obrien (a] NUXI.com>.
8877
8878 * aux/configure.in: check for vsnprintf.
8879
8880 1999-09-21 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8881
8882 * aux/macros/linux_headers.m4: use AC_MSG_ERROR.
8883
8884 * aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
8885 not optional. Make sure ARG is supplied else flag an error.
8886
8887 1999-09-18 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8888
8889 * minor port i386-unknown-freebsdelf3.3
8890
8891 * released snapshot am-utils-6.0.2s1
8892
8893 1999-09-17 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8894
8895 * aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
8896
8897 * include/am_defs.h: extern definition for getitimer().
8898
8899 * aux/configure.in: use AC_CHECK_EXTERNS. Look for getitimer()
8900 extern.
8901
8902 * aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
8903 that calls AC_CHECK_EXTERN in a loop. This saves repeated code in
8904 configure.
8905
8906 * aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
8907 'int' as the 5th arg to authunix_create().
8908
8909 * aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
8910 size_t for the 6th arg of recvfrom().
8911
8912 * aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
8913 aix4.x systems.
8914
8915 * libamu/mount_fs.c (print_nfs_args): cast some values to int, to
8916 avoid gcc -Wall errors.
8917
8918 * scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
8919 in a struct sockaddr_in. On Solaris x86 hosts, using pack()
8920 results in byte-misaligned values. Bug fix from Jeffrey C Honig
8921 <jch (a] BSDI.COM>.
8922
8923 * libamu/mount_fs.c (compute_automounter_mount_flags): turn on
8924 automntfs (ignore on bsdi-4.1) flag.
8925 (compute_automounter_nfs_args): ditto.
8926
8927 * aux/acconfig.h: add new flag for automntfs (ignore)
8928
8929 * aux/configure.in: check for new automntfs flag (bsdi-4.1).
8930
8931 1999-09-14 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8932
8933 * MIRRORS: added new site in Germany. Updated status of umn.edu
8934 and ferginc.com, who may no longer be mirroring am-utils.
8935
8936 1999-09-08 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8937
8938 *******************************************************************
8939 *** Released am-utils-6.0.1 ***
8940 *******************************************************************
8941
8942 1999-09-08 Erez Zadok <ezk (a] cs.columbia.edu>
8943
8944 * aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
8945 netexport defined.
8946
8947 * aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
8948 struct netexport defined.
8949
8950 1999-09-07 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8951
8952 * aux/macros/check_field.m4 (ac_upcase_var_name): include
8953 <ifaddrs.h> so we can detect fields within struct ifaddrs.
8954
8955 * libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
8956 getifaddrs() and struct ifaddrs has no ifa_next field.
8957
8958 * aux/configure.in: check if 'struct ifaddrs' has a field
8959 ifa_next.
8960
8961 * include/amq_defs.h (AMQ_STRLEN): double size of amq string
8962 length to 2048 bytes.
8963
8964 * conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
8965 header files and ufs/ufs/ufsmount.h. Bug reported by <Christos
8966 Zoulas> christos (a] zoulas.com.
8967
8968 * aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
8969 Bug reported by <Christos Zoulas> christos (a] zoulas.com.
8970
8971 * aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
8972
8973 1999-09-06 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8974
8975 * libamu/xutil.c (expand_error): use strerror if available instead
8976 of sys_errlist. Bug reported by <Christos Zoulas>
8977 christos (a] zoulas.com.
8978
8979 * hlfsd/hlfsd.c (fatal): use strerror if available instead of
8980 sys_errlist.
8981
8982 * amq/amq.c (show_mi): use strerror if available instead of
8983 sys_errlist.
8984
8985 * aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
8986 nfs_prot header is used for any future (1.5 etc.) netbsd systems.
8987
8988 * amq/pawd.c (find_mt): check for type nfsl as well. Fix from
8989 "Andrew J. Korty" <ajk (a] purdue.edu>
8990
8991 1999-08-29 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
8992
8993 * doc/am-utils.texi (Supported Platforms): updates for redhat
8994 systems.
8995
8996 * INSTALL: updates for redhat systems.
8997
8998 * libamu/wire.c (getwire_lookup): spell "succeeded" correctly
8999
9000 1999-08-28 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9001
9002 * scripts/ctl-amd.in: sleep 1 second between killing amd and
9003 restarting it, because amq may respond that amd is down, where in
9004 fact it is still trying to unmount itself after unmapping itself
9005 from the portmapper.
9006
9007 * aux/config.guess.long: new script to print long version of
9008 config.guess output.
9009
9010 * buildall (host_alias): use long version of config.guess.
9011
9012 1999-08-27 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9013
9014 * scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
9015 scripts.
9016
9017 1999-08-24 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9018
9019 * released snapshot am-utils-6.0.1s11
9020
9021 * libamu/xutil.c (expand_error): make sure expanding the string
9022 with textual version of errno doesn't overrun the 1024 bytes
9023 buffer.
9024 (real_plog): null terminate msg, just in case.
9025
9026 * amq/amq.c (main): don't getopt -M option and don't process it
9027 unless ENABLE_AMQ_MOUNT is on.
9028
9029 * amd/amq_svc.c (amq_program_1): all code that relates to amq -M
9030 is conditional on #ifdef ENABLE_AMQ_MOUNT.
9031
9032 * amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
9033 when amq -M code is disabled. Not taking any chances.
9034
9035 1999-08-23 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9036
9037 * released snapshot am-utils-6.0.1s10
9038
9039 Sun Aug 22 16:18:59 1999 Erez Zadok <ezk (a] subzero.cs.columbia.edu>
9040
9041 * libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
9042 128.59.16.0), try to shift the network out of zeros (e.g.,
9043 128.59.16) and try again. Irix 6.4 requires short network
9044 numbers.
9045
9046 1999-08-22 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9047
9048 * libamu/wire.c (getwire_lookup): correctly compute subnet using
9049 netmask.
9050
9051 * libamu/mount_fs.c (compute_automounter_nfs_args): require that
9052 Amd's own NFS mounts use reserved ports (if possible). IP packet
9053 security fix from Jeffrey C Honig <jch (a] BSDI.COM>.
9054
9055 * conf/transp/transp_tli.c (create_autofs_service): use correct
9056 autofs_port. IP packet security fix from Jeffrey C Honig
9057 <jch (a] BSDI.COM>.
9058
9059 * conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
9060 function. IP packet security fix from Jeffrey C Honig
9061 <jch (a] BSDI.COM>.
9062 (create_nfs_service): use bind_resv_port() directly. ensure that
9063 privileged ports are used. IP packet security fix from Jeffrey C
9064 Honig <jch (a] BSDI.COM>.
9065
9066 * amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
9067 from reserved ports and from a local IP address. IP packet
9068 security fix from Jeffrey C Honig <jch (a] BSDI.COM>.
9069
9070 * amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
9071 hard-coded 1024. IP packet security fix from Jeffrey C Honig
9072 <jch (a] BSDI.COM>.
9073 (amqproc_mount_1_svc): provide information on the caller making an
9074 amq -M request. IP packet security fix from Jeffrey C Honig
9075 <jch (a] BSDI.COM>.
9076
9077 * amd/map.c (free_map_if_success): If the program doing an unmount
9078 of a program filesystem fails, amd tries to interpret the return
9079 code as an errno. Fix from Jeffrey C Honig <jch (a] BSDI.COM>.
9080
9081 * amd/info_nis.c (determine_nis_domain): don't always print
9082 warning about NIS domain name not being set, even if NIS is not in
9083 use.
9084
9085 1999-08-21 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9086
9087 * amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
9088 (amu_ldap_search): initialize variable err.
9089
9090 1999-08-16 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9091
9092 * libamu/wire.c: written using getifaddrs() for BSD systems,
9093 contributed by BSDI, Jeffrey C Honig <jch (a] BSDI.COM>).
9094
9095 1999-08-15 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9096
9097 * include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
9098
9099 * aux/configure.in: check for irs.h and ifaddrs.h.
9100 Increase libamu.so --version-info to 3:1:1 since we've changed the
9101 source code for the library.
9102 Check for getifaddrs() function.
9103
9104 1999-08-14 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9105
9106 * libamu/mount_fs.c (print_nfs_args): print fields namlen and
9107 bsize if they exist.
9108
9109 * conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
9110 and ->bsize fields correctly, if those fields exist. This is a
9111 bug in that amd neglected to set these fields, but told the
9112 kernel it is mounting the nfs_args_t structure using mount version
9113 3 (which requires both bsize and namlen fields).
9114
9115 * aux/configure.in: test for two new nfs_args_t fields (used on
9116 newer linux with mount versions 2 and 3): bsize and namlen.
9117
9118 * doc/am-utils.texi (netgrpd Selector Function): document new
9119 selector function.
9120
9121 * amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
9122 test if the current host (fully-qualified name) is in the ARG host
9123 netgroup. The netgrp() function uses the short form of a host
9124 name. Patch from Christophe Kalt <Christophe-Kalt (a] deshaw.com>.
9125
9126 * doc/am-utils.texi (automount2amd): document new script.
9127
9128 * scripts/Makefile.am: create, install, and distribute
9129 automount2amd perl script and its man page.
9130
9131 * scripts/automount2amd.8: new man page for automount2amd.
9132
9133 * scripts/automount2amd.in: new file, contributed a in 1993 by
9134 Mike Walker <mike (a] tab00.larc.nasa.gov>. Fixed to use addopts for
9135 any automount map options specified.
9136
9137 1999-08-09 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9138
9139 * released snapshot am-utils-6.0.1s9
9140
9141 1999-08-09 Erez Zadok <ezk (a] beetle.mcl.cs.columbia.edu>
9142
9143 * amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
9144 1.
9145 (amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
9146 (amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
9147 (u_int)~0.
9148
9149 * amd/mapc.c (make_entry_chain): NFS cookies should be
9150 monotonically increasing, because Linux 2.3 expects that, even
9151 though it is not in the spec (RFC-1094) for NFS V2.
9152
9153 1999-08-06 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9154
9155 * aux/macros/check_lib_funcs.m4: removed unused macro.
9156
9157 * aux/macros/linux_headers.m4: new macro to ensure that linux
9158 kernel headers match running kernel version.
9159
9160 * aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
9161 amd is configured on linux hosts that run one kernel but have
9162 headers for a different version.
9163
9164 * amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
9165 logic which uses nis_isup and has_yp_order. Make sure it is used
9166 correctly , esp. for NIS+ in NIS-compatibility mode. Bug fix from
9167 Peter Breitenlohner <peb (a] mppmu.mpg.de>.
9168
9169 * include/am_defs.h: fix conflicts on linux 2.2 systems with older
9170 libc5. Bug fix from Peter Breitenlohner <peb (a] mppmu.mpg.de>.
9171
9172 * scripts/lostaltmail.in: use sockaddr_in(), not pack() to
9173 correctly fill in a struct sockaddr_in. On Solaris x86 hosts,
9174 using pack() results in byte-misaligned values.
9175
9176 1999-08-02 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9177
9178 * conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
9179 mounting, as per Dale Talcott <aeh (a] quest.cc.purdue.edu>. Also use
9180 better macros for case statement.
9181
9182 * conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
9183 unless ldap is actually available.
9184
9185 * use updated config.guess and config.sub. Use newer automake
9186 that fixes problems with distributing optional libamu files
9187 (clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
9188 and ualarm.c)
9189
9190 1999-07-19 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9191
9192 * minor port i386-unknown-openbsd2.5
9193
9194 1999-07-17 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9195
9196 * minor ports to freebsdelf 3.[0-2] and 4.0 completed
9197
9198 * aux/macros/check_nfs_prot_headers.m4: support freebsdelf
9199
9200 * aux/macros/check_nfs_socket_connection.m4: support freebsdelf
9201
9202 1999-06-24 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9203
9204 * released snapshot am-utils-6.0.1s8
9205
9206 1999-06-23 Erez Zadok <ezk (a] beetle.mcl.cs.columbia.edu>
9207
9208 * include/am_defs.h: avoid various header conflicts on
9209 RedHat/Linux 6.0 and kernels 2.2.10 or newer.
9210
9211 * aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
9212 kernel 2.2.10)
9213
9214 * amd/amfs_program.c (amfs_program_exec): make sure logfp is
9215 initialized dynamically to stderr if needed.
9216
9217 * libamu/xutil.c (dplog): make sure logfp is initialized
9218 dynamically to stderr if needed.
9219 (plog): ditto.
9220
9221 * amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
9222 not initialized.
9223
9224 * libamu/xutil.c: don't initialize logfp statically to stderr,
9225 because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
9226 be manipulated like a variable.
9227
9228 * include/am_defs.h: avoid more conflicts between <linux/fs.h> and
9229 <sys/mount.h> on 2.2 linux kernels.
9230 include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
9231
9232 1999-04-20 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9233
9234 * all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
9235
9236 * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
9237 renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
9238 won't attempt to add it to the header files to distribute.
9239
9240 1999-04-19 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9241
9242 * aux/GNUmakefile: invoke aclocal with new --altdir flag.
9243
9244 1999-04-16 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9245
9246 * minor new port: i386-unknown-netbsd1.4 (ALPHA)
9247
9248 * aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
9249 and <isofs/cd9660/cd9660_mount.h> because they are also included
9250 from MOUNT_HEADERS. Causes multiple inclusion of unprotected
9251 headers on netbsd-1.4_ALPHA.
9252
9253 1999-04-15 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9254
9255 * aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
9256 sys_errlist extern doesn't end with [].
9257
9258 * aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
9259
9260 1999-04-11 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9261
9262 * newer automake wants texinfo.tex to be in aux/ not doc/
9263
9264 1999-03-30 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9265
9266 * amd/conf_parse.y: alloca support.
9267
9268 * fsinfo/fsi_gram.y: alloca support.
9269
9270 * libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
9271 needed.
9272
9273 * aux/configure.in: test for alloca support. Needed because bison
9274 generates parsers that use alloca, and hpux9 does have alloca and
9275 its /bin/cc doesn't support it builtin (the way gcc does).
9276
9277 * libamu/alloca.c: new file, needed on hpux9 with /bin/cc. Taken
9278 verbatim from bison-1.25.
9279
9280 * include/am_defs.h: fixed typo #errir -> #error
9281
9282 * released snapshot am-utils-6.0.1s7
9283
9284 * README.y2k: more information about am-utils' compatibility, from
9285 Paul Balyoz <pbalyoz (a] sedona.ch.intel.com>.
9286
9287 * scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
9288 compliant format. Patch from Paul Balyoz
9289 <pbalyoz (a] sedona.ch.intel.com>
9290
9291 * doc/am-utils.texi (Supported Platforms): hpux10.20 could have
9292 nfs v.3 support (with some vendor patches), but it is turned off.
9293
9294 * aux/macros/os_cflags.m4: use ansi compiler options on hpux.
9295
9296 * conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
9297 confusing am-utils. 10.20 with some patches has incomplete
9298 support. Patch from Jon Peatfield
9299 <J.S.Peatfield (a] damtp.cam.ac.uk>.
9300
9301 1999-03-24 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9302
9303 * minor port i386-pc-bsdi4.0.1
9304
9305 1999-03-20 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9306
9307 * doc/am-utils.texi (Supported Platforms): add forgotten listing
9308 for powerpc-linux.
9309
9310 1999-03-18 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9311
9312 * scripts/amd.conf.5: fix typo. From Jeffrey C Honig
9313 <jch (a] BSDI.COM>.
9314
9315 * doc/am-utils.texi: document iso9660 options norrip, gens, and
9316 extatt.
9317 (opts Option): documented dumbtimr and noauto options. From
9318 Jeffrey C Honig <jch (a] BSDI.COM>.
9319
9320 * include/am_compat.h: define default strings for options norrip,
9321 gens, and extatt.
9322
9323 * amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
9324 extatt.
9325
9326 * aux/macros/mount_headers.m4: also include
9327 <isofs/cd9660/cd9660_mount.h> as needed.
9328
9329 * aux/configure.in: check for isofs mount options for bsdi4:
9330 norrip, gens, and extatt. Reported by Jeffrey C Honig
9331 <jch (a] BSDI.COM>.
9332
9333 * aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
9334 (bsdi4).
9335
9336 1999-03-17 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9337
9338 * conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
9339
9340 * conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
9341 for bsdi4, as per Jeffrey C Honig <jch (a] BSDI.COM>.
9342
9343 1999-03-15 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9344
9345 * get latest copies of config.guess, config.sub, ltconfig, and
9346 ltmain.sh from libtool-1.2f.
9347
9348 * all Makefile.am: don't use continuation lines (using \) for
9349 short lists of files.
9350
9351 * libamu/Makefile.am (DISTCLEANFILES): make distclean should
9352 remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
9353 Reported by Jeffrey C Honig <jch (a] BSDI.COM>.
9354
9355 * fixmount/Makefile.am (DISTCLEANFILES): make distclean should
9356 remove checkmount.c. Reported by Jeffrey C Honig <jch (a] BSDI.COM>.
9357
9358 * Makefile.am (DISTCLEANFILES): make distclean should remove
9359 amu_nfs_prot.h, config.cache.old, and dbgcf.h. Reported by
9360 Jeffrey C Honig <jch (a] BSDI.COM>.
9361
9362 1999-03-13 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9363
9364 * released snapshot am-utils-6.0.1s6
9365
9366 1999-03-12 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9367
9368 * INSTALL: document freebsdelf.
9369
9370 * doc/am-utils.texi (Supported Platforms): document freebsdelf.
9371
9372 1999-03-08 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9373
9374 * minor new ports: i386-unknown-freebsdelf3.1 and
9375 i386-unknown-freebsdelf4.0
9376
9377 * aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
9378
9379 * aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
9380
9381 * aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
9382
9383 * amd/opts.c (eval_opts): changed log level of "executing
9384 negated..." message from USER to INFO, as per Guntram Wolski
9385 <gwolsk (a] sei.com>.
9386
9387 1999-02-17 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9388
9389 * */Makefile.am (LDADD): force linking against an installed
9390 libamu.{a,so}.
9391
9392 * doc/am-utils.texi (addopts Option): document remopts interaction
9393 with addopts.
9394
9395 * amd/am_ops.c (ops_match): if addopts are specified, apply them
9396 to the value of remopts as well as opts.
9397
9398 * amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
9399
9400 1999-02-05 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9401
9402 * released snapshot am-utils-6.0.1s5
9403
9404 * conf/mount/mount_linux.c (mount_linux): set default nfs_args
9405 options for ac{reg,dir}{min,man} as per the mount-2.8a package,
9406 but only if noac option was not used.
9407
9408 1999-02-05 Erez Zadok <ezk (a] retro.cs.columbia.edu>
9409
9410 * conf/mount/mount_linux.c (mount_linux): print nfs_args again
9411 since it was updated.
9412 (mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
9413 and newer. Bug was found by Neil Conway
9414 <nconway.list (a] ukaea.org.uk>
9415
9416 1999-02-04 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9417
9418 * released snapshot am-utils-6.0.1s4
9419
9420 1999-02-03 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9421
9422 * amq/amq.c (main): don't list -M as a valid amq option unless
9423 configure'd with --enable-amq-mount.
9424
9425 Wed Feb 3 18:11:18 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
9426
9427 * amd/nfs_start.c (amd_use_autofs): Define.
9428 (mount_automounter): Create autofs service listener only if
9429 necessary to avoid unnecessary clashes with e.g. automountd.
9430
9431 * amd/amd.h (amd_use_autofs): Declare.
9432
9433 * amd/conf.c (gopt_mount_type): Set amd_use_autofs.
9434 (ropt_mount_type): Likewise.
9435
9436 1999-02-02 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9437
9438 * aux/macros/check_mnt2_nfs_opt.m4:: ditto
9439
9440 * aux/macros/check_mnt2_cdfs_opt.m4: ditto
9441
9442 * aux/macros/check_mnt2_gen_opt.m4: ditto
9443
9444 * aux/macros/check_mnttab_opt.m4: new macro in this file to loop
9445 over AC_CHECK_MNTTAB_OPT. Reduces size of configure script a lot.
9446
9447 * conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
9448 nfs/nfs.h and nfs/nfsmount.h if they exist. Patch from
9449 christos (a] zoulas.com (Christos Zoulas).
9450
9451 * amd/info_hesiod.c: some forward declarations. Patch from
9452 christos (a] zoulas.com (Christos Zoulas).
9453
9454 1999-01-28 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9455
9456 * libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
9457 option if it was already in that state. Patch from David
9458 Wolfskill <dhw (a] whistle.com>.
9459
9460 1999-01-20 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9461
9462 * aux/configure.in: automake nowadays supports LTLIBOBJS (but not
9463 LTALLOCA yet). Substitute value of LIBTOOL_DEPS for libtool
9464 rebuild make rules.
9465
9466 * Makefile.am: new rules to remake libtool (maintainers only)
9467
9468 * amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
9469 if -D trace was used.
9470
9471 1999-01-18 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9472
9473 * buildall: all if statements should have an else clause because
9474 of Ultrix's /bin/sh.
9475
9476 1999-01-15 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9477
9478 * amq/amq.c: removed dummy variables.
9479
9480 * amq/pawd.c: removed dummy variable.s
9481
9482 * fixmount/fixmount.c (usage): removed dummy variables.
9483
9484 * fsinfo/fsinfo.c: removed dummy variables.
9485
9486 * hlfsd/hlfsd.c: removed dummy variables.
9487
9488 * wire-test/wire-test.c: removed dummy variables.
9489
9490 * mk-amd-map/mk-amd-map.c: removed dummy variables.
9491
9492 * doc/texinfo.tex: updates from GNU mirror.
9493
9494 * aux/GNUmakefile (../doc/texinfo.tex): new rule to update
9495 doc/texinfo.tex from GNU mirror.
9496
9497 * released snapshot am-utils-6.0.1s3
9498
9499 * Makefile.am (install-snapshot): better snapshot and new
9500 install-snapshot and test-snapshot rules (maintainer).
9501
9502 * amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
9503 args may be NULL.
9504 Some dlog() entries were not enclosed in #ifdef DEBUG. Fix from
9505 Bill Paul <wpaul (a] ctr.columbia.edu>
9506
9507 1999-01-13 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9508
9509 * check for experimental generic 'ignore' mount flag on freebsd3.
9510
9511 * Update library -version-info to 3:0:1 (will result in 2.1.0 .so
9512 version, which is backwards compatible with older versions.) Only
9513 one new interface was added to libamu.
9514
9515 * amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
9516 that are specific to automounter mounts.
9517
9518 * aux/configure.in: update libamu.so age and revision since a new
9519 interface was added to libamu/mount_fs.c
9520 (compute_automounter_mount_flags).
9521
9522 * libamu/mount_fs.c (compute_automounter_mount_flags): new
9523 function to compute generic mount flags that are specific to mount
9524 points only.
9525
9526 * aux/{configure.in,acconfig.h}: add support for generic mount
9527 entry ignore option.
9528
9529 * released snapshot am-utils-6.0.1s2
9530
9531 * amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
9532
9533 * libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
9534 of knc_semantics from u_long to u_int.
9535
9536 * aux/macros/check_mount_style.m4: freebsd3 no longer needs a
9537 special mount helper.
9538
9539 1999-01-12 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9540
9541 * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
9542 amu_nfs_conf.h should always be found in $top_builddir.
9543
9544 Tue Jan 12 00:05:42 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
9545
9546 * conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
9547 to avoid wrong reports from show_fstypes.
9548
9549 * conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
9550
9551 * conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
9552
9553 Tue Jan 12 00:05:42 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
9554
9555 * BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
9556
9557 Tue Jan 12 00:05:42 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
9558
9559 * hlfsd/homedir.c (delay): Cast child to long, adapt format.
9560 (hlfsd_getpwent): Likewise for pw_uid.
9561
9562 * amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
9563 format.
9564
9565 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
9566 tv_sec to int to match format.
9567 (get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
9568 formats.
9569
9570 * amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
9571 long, adapt format.
9572
9573 * include/am_defs.h: Handle __attribute__ if available. From
9574 GNU fileutils 4.0 lib/errors.h.
9575
9576 Mon Jan 11 13:46:44 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
9577
9578 * libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
9579 match format.
9580
9581 * hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
9582 adapt format.
9583 (nfsproc_lookup_2_svc): Likewise.
9584 (nfsproc_readlink_2_svc): Likewise for userid, groupid.
9585
9586 * hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9587 format.
9588
9589 * hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
9590 format.
9591
9592 * amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
9593 long, adapt format.
9594
9595 * amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
9596 unsigned long, adapt format.
9597 (got_nfs_fh): Likewise.
9598 (prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
9599 format.
9600 (call_mountd): Likewise, mnt_version also.
9601 (mount_nfs_fh): Likewise.
9602
9603 * amd/ops_autofs.c (autofs_program_1): Cast args to int to match
9604 format.
9605 (autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
9606 unsigned long, adapt formats.
9607 (autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
9608 (autofs_bgmount): Use long format to match arg.
9609 (autofs_lookuppn): Removed superfluous arg.
9610
9611 * amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
9612 format.
9613 (got_portmap): Likewise for port.
9614 (recompute_portmap): Likewise for fs->fs_version, mnt_version.
9615 (find_nfs_srvr): Likewise for nfs_version.
9616
9617 * amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
9618 format.
9619
9620 * amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
9621 to unsigned long, adapt format.
9622 Cast tvv.tv_sec to int to match format.
9623
9624 * amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9625 format.
9626
9627 * amd/map.c (root_fh): Cast pid to long, adapt format.
9628 (timeout_mp): Cast time_t to long, adapt format.
9629
9630 * amd/clock.c (reschedule_timeouts): Use long format, cast time_t
9631 arg.
9632
9633 * amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
9634 match format.
9635 (amfs_host_fmount): Likewise.
9636 (amfs_host_umounted): Likewise. Removed superfluous arg.
9637
9638 * amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
9639 long, adapt format.
9640 (amfs_auto_bgmount): Use long format, cast time_t arg.
9641 (amfs_auto_lookuppn): Removed superfluous arg.
9642
9643 * amd/amd.c (main): Cast geteuid() result to long, adapt format.
9644
9645 * conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
9646 to int to match format.
9647
9648 * include/am_utils.h: Declare plog, dplog as printf-like.
9649
9650 * conf/mount/mount_irix6.c (mount_irix): Print type as char *.
9651
9652 Mon Jan 11 13:46:44 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
9653
9654 * amd/info_hesiod.c (hesiod_isup): New function.
9655 * amd/mapc.c (maptypes): Add it.
9656
9657 1999-01-10 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9658
9659 * released snapshot am-utils-6.0.1s1
9660
9661 1999-01-09 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9662
9663 * ALL: bump copyright year to 1999.
9664
9665 Fri Jan 8 15:24:15 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
9666
9667 * aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
9668 too.
9669
9670 * aux/macros/check_mtype_printf_type.m4: Adapt corresponding
9671 printf type.
9672
9673 Fri Jan 8 15:24:15 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
9674
9675 * aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
9676
9677 * conf/nfs_prot/nfs_prot_irix6.h: Likewise.
9678
9679 * conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
9680
9681 * conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
9682
9683 * Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
9684 automake.
9685
9686 Thu Jan 7 02:55:18 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
9687
9688 * aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
9689 in current automake.
9690
9691 Thu Jan 7 02:55:18 1999 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
9692
9693 * doc/am-utils.texi: Added some missing inter-punctation after
9694 @xref, or use @pxref/@ref as appropriate. Spotted by makeinfo
9695 from texinfo 3.12b.
9696
9697 1999-01-07 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9698
9699 * doc/texinfo.tex: updated off of latest GNU mirror.
9700
9701 1999-01-04 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9702
9703 * doc/am-utils.texi (Supported Platforms): update platforms that
9704 support NFS v.3. Nicer postscript printing on double-sided pages.
9705
9706 * amd/info_hesiod.c: add extern definition for hesiod_init()
9707
9708 1999-01-01 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9709
9710 *******************************************************************
9711 *** Released am-utils-6.0 ***
9712 *******************************************************************
9713
9714 1998-12-28 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9715
9716 * conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
9717
9718 1998-12-27 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9719
9720 * conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
9721 bsdi4 for NFS V3/nfs mounts.
9722
9723 1998-12-26 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9724
9725 * using latest libtool (1.2e + patches), now supporting shared
9726 libraries on many more systems. Also using latest autoconf and
9727 automake (unreleased GNU CVS'd versions.)
9728
9729 * minor new ports: hppa2.0w-hp-hpux11.00,
9730 i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
9731
9732 * fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
9733 have /usr/bin/flex but not libfl.
9734
9735 1998-12-24 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9736
9737 * lots of code cleanup, to make sure libamu.so does not use
9738 undefined symbols. Some system's shared libraries cannot handle
9739 that.
9740
9741 1998-12-23 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9742
9743 * include/am_defs.h: only defined seteuid extern if function also
9744 exists and is not superceded by setresuid (hpux).
9745
9746 * amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
9747 braces to avoid confusion with nested if-then-else clauses.
9748
9749 * aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
9750 updated from latest versions.
9751
9752 1998-12-22 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9753
9754 * minor new port: i386-pc-bsdi4.0
9755
9756 * conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
9757 definitions for bsdi4.
9758
9759 * {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
9760 some make programs (bsdi4) do not support VPATH correctly.
9761
9762 1998-12-16 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9763
9764 * conf/mount/mount_aix.c: minor code cleanup
9765
9766 * aux/configure.in: check for extern definition to xdr_groups.
9767
9768 1998-12-15 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9769
9770 * minor new port: powerpc-ibm-aix4.3.1.0
9771
9772 * aux/macros/*.m4: updates for aix 4.3
9773
9774 1998-12-14 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9775
9776 * minor new port: i386-unknown-openbsd2.4
9777
9778 * aux/configure.in: don't check for xfs on openbsd because
9779 openbsd-2.4 introduces a new file system named xfs, but different
9780 than Irix's XFS. Sigh.
9781
9782 * minor new port: i386-unknown-freebsd2.2.8
9783
9784 1998-12-03 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9785
9786 * amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
9787 name match. Bug fix from Douglas K. Rand" <rand (a] aero.und.edu>.
9788
9789 1998-11-20 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9790
9791 * scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
9792 avoid race conditions when shutting down systems running amd.
9793
9794 * Makefile.am: add a dist-hook to change modes of the directories
9795 in the tar file so they are not world writable.
9796
9797 * conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
9798 since it is now finally defined in the header files and
9799 (hopefully) stable.
9800
9801 * amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
9802 is specified in mount options. freebsd patches from David
9803 O'Brien.
9804
9805 * amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
9806 (main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
9807 amd/get_args.c (get_args): posix: use -1 to check for return from
9808 getopt() (not EOF), as per posix.
9809
9810 * amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
9811 O'Brien" <obrien (a] NUXI.com>, from the FreeBSD source tree. Use
9812 real variable whose pointer is on the stack for decoding a long
9813 int.
9814
9815 1998-11-11 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9816
9817 * scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
9818 chkconfig utility.
9819
9820 1998-11-10 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9821
9822 * released snapshot am-utils-6.0b2s3
9823
9824 * conf/transp/transp_sockets.c (create_nfs_service): remove C++
9825 style comments.
9826
9827 1998-11-04 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9828
9829 * released snapshot am-utils-6.0b2s2
9830
9831 * created CVS package
9832
9833 * amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
9834 condition between unmounting and re-mounting an entry, by
9835 increasing the ttl of a looked up entry before unmounting it.
9836 Patch from Mike Mitchell <mcm (a] unx.sas.com>.
9837
9838 * All files: spell comments and strings.
9839
9840 1998-11-03 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9841
9842 * aux/configure.in: look for yp_all in libnsl only if yp_all not
9843 already found elsewhere (in libc or other default libraries).
9844 This is so RedHat 5.1 systems could find yp functions in libnsl,
9845 but also so AIX 4.2.1 will NOT include libnsl, because the latter
9846 has broken nis functionality that also exists and works ok in libc.
9847
9848 1998-10-29 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9849
9850 * amd/amd.c (main): bug fix: swapped arguments to kill(2). Fix
9851 from Danny Rathjens <dkr (a] cs.fiu.edu>.
9852
9853 1998-10-28 Erez Zadok <ezk (a] spruce.mcl.cs.columbia.edu>
9854
9855 * released snapshot am-utils-6.0b2s1
9856
9857 1998-10-27 Erez Zadok <ezk (a] spruce.mcl.cs.columbia.edu>
9858
9859 * aux/macros/*.m4: support bsdi4 as bsdi3.
9860
9861 * aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
9862 2.7 (libraries located in /usr/lib/fn). This is off until Sun
9863 includes LDAP header information.
9864
9865 1998-10-20 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9866
9867 *******************************************************************
9868 *** Released am-utils-6.0b1 ***
9869 *******************************************************************
9870
9871 1998-10-18 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9872
9873 * mk-amd-map/mk-amd-map.c (main): use perror not strerror.
9874 (main): set return type to int if no ndbm maps.
9875
9876 * include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
9877 kernels.
9878
9879 1998-10-18 Erez Zadok <ezk (a] london.mcl.cs.columbia.edu>
9880
9881 * A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
9882 for netbsd 1.3.2.
9883
9884 1998-10-17 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9885
9886 * aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
9887 systems put NIS functions there.
9888
9889 * mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
9890 <obrien (a] NUXI.com> merged in. Use POSIX -1 return code from
9891 getopt(), not EOF. Use .db extentions for systems that use it,
9892 instead of .{pag,dir}.
9893
9894 1998-10-15 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9895
9896 * wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
9897 amd/amd.c (main): avoid overrunning hostname buffer. Bug fix from
9898 "David O'Brien" <obrien (a] NUXI.com>.
9899
9900 * scripts/amd.conf.5: minor typo reported by "David O'Brien"
9901 <obrien (a] NUXI.com> in .TH section of man page.
9902
9903 * amd/info_nis.c (am_yp_all): don't leak key-val entries. Patch
9904 from Thomas Richter <richter (a] chemie.fu-berlin.de>.
9905
9906 1998-10-12 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9907
9908 * doc/am-utils.texi (Program Filesystem): minor typo fixed as per
9909 Andreas Stolcke <stolcke (a] speech.sri.com>.
9910
9911 * minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
9912 and sparc-sun-solaris2.7.
9913
9914 * conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
9915 a 4.4lite kernel, and somethings were removed, such as
9916 INITMOUNTNAMES.
9917
9918 * amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
9919 processing /defaults. Free temporary opts. Patch from
9920 dsr (a] mail.lns.cornell.edu (Daniel S. Riley)
9921
9922 * amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
9923 processing /defaults. Free temporary opts. Patch from
9924 dsr (a] mail.lns.cornell.edu (Daniel S. Riley)
9925
9926 * conf/mtab/mtab_osf.c (read_mtab): patch from
9927 dsr (a] mail.lns.cornell.edu (Daniel S. Riley) not to access
9928 uninitialized memory on Digital Unix.
9929
9930 1998-10-09 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9931
9932 * aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
9933 systems now use "char *" as their mount type.
9934
9935 1998-10-08 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9936
9937 * amd/conf.c (gopt_map_type, ropt_map_type): check if map type
9938 exists.
9939
9940 * amd/mapc.c (mapc_type_exists): function to test if a map of
9941 certain type exists.
9942
9943 1998-10-08 Erez Zadok <ezk (a] horatio.mcl.cs.columbia.edu>
9944
9945 * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9946 include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
9947 in RH-5.1 sparc64 between <netinet/in.h> and
9948 <linux/byteorder/generic.h> (2.1 kernels).
9949
9950 1998-09-28 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9951
9952 * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
9953 5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
9954 from yp_all().
9955
9956 1998-09-25 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9957
9958 * conf/mount/mount_linux.c (parse_opts): check for pcfs support
9959 only if autoconfigured.
9960
9961 1998-09-18 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9962
9963 * Makefile.am (EXTRA_DIST): distribute README.yk2 file.
9964
9965 * README.y2k: explain y2k compliance status of am-utils.
9966
9967 1998-09-16 Erez Zadok <ezk (a] iguana.mcl.cs.columbia.edu>
9968
9969 * amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
9970 amfs_host_umounted): clnt_sperrno() may return a const.
9971
9972 Sat Aug 8 23:28:32 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9973
9974 * aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
9975 Zoulas. Turned on checking for mount options: async, synchronous,
9976 deadthresh, leasterm, nqnfs, and readahead.
9977
9978 * amd/info_nis.c: patch from christos (a] zoulas.com (Christos Zoulas)
9979 to include prototype definition for nis_isup().
9980
9981 Sun Jul 19 18:50:10 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9982
9983 * hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
9984
9985 Tue Jul 14 20:34:25 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9986
9987 * released snapshot am-utils-6.0a17s1
9988
9989 Wed Jul 8 21:49:15 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9990
9991 * aux/macros/host_macros.m4: all x86 hosts should have $arch be
9992 i386, not i[456]86.
9993
9994 Tue Jul 7 18:55:09 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
9995
9996 * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9997 include/am_defs.h: include <linux/posix_types.h> before
9998 <linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
9999 headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
10000 __KERNEL_STRICT_NAMES).
10001
10002 * aux/configure.in: check for <linux/posix_types.h> because it is
10003 need for RedHat 5.1.
10004
10005 Wed Jun 17 00:05:33 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10006
10007 * scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
10008 .in as well, so it doesn't get removed by make clean.
10009
10010 Tue Jun 16 22:00:15 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10011
10012 * aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
10013 check_mount_type.m4}: redhat 5.1 puts some modules in
10014 /lib/modules/preferred/.
10015
10016 Wed May 13 16:33:57 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10017
10018 * amd/ops_autofs.c (mount_autofs): cast pid to long.
10019
10020 Tue Apr 28 15:12:36 1998 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
10021
10022 * conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
10023 conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
10024 avoid amd/am_ops.c (show_fstypes) from erroneously claiming
10025 support.
10026
10027 Fri Apr 24 23:02:11 1998 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
10028
10029 * libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
10030 unconditionally, may be missing on Ultrix V4.3.
10031
10032 Thu Apr 23 20:24:33 1998 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
10033
10034 * conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
10035 missing from <sys/mntent.h>.
10036
10037 * conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
10038 without KERNEL defined here.
10039
10040 * aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
10041 <cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
10042 ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
10043
10044 * amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
10045
10046 * ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
10047 Removed purely local (and obsolete) entry.
10048
10049 Thu Apr 23 00:22:17 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10050
10051 *******************************************************************
10052 *** Released am-utils-6.0a16 ***
10053 *******************************************************************
10054
10055 Wed Apr 22 01:20:39 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10056
10057 * aux/macros/check_mount_style.m4: define freebsd3 mount style.
10058
10059 * aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
10060
10061 * aux/macros/check_mtype_printf_type.m4,
10062 aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
10063 of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
10064 integers, but I'll keep them as integers and do the mapping in
10065 conf/mount/mount_freebsd3.c
10066
10067 * minor new port to i386-pc-bsdi3.1.
10068
10069 * minor new port to i386-unknown-netbsd1.3.1.
10070
10071 * amd/opts.c: new option addopts:=ARG, which smartly merges ARG
10072 options with whatever the /default ones for a key are. This
10073 allows adding or overriding /default options individual keys.
10074
10075 * amd/am_ops.c (ops_match): strdup/malloc string assigned to
10076 opt_opts because it'll get free()'d upon next use.
10077 (merge_opts): new function to merge two sets of options.
10078 (ops_match): if addopts option exist, append and merge it to the
10079 current default options.
10080
10081 Tue Apr 21 12:54:59 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10082
10083 * wire-test/wire-test.c (main): use dynamically allocated returned
10084 string with list of interfaces.
10085
10086 * amd/get_args.c (get_version_string): allocate enough space for
10087 header version string and a list of network interfaces of any
10088 length.
10089
10090 * libamu/wire.c (print_wires): return dynamically allocated string
10091 containing list of networks. Must be dynamic because some sites
10092 had potentially dozens of network interfaces. Patch from Matthew
10093 Crosby <mcrosby (a] ms.com> slightly modified.
10094
10095 Mon Apr 20 00:37:20 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10096
10097 * conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
10098 irix 5.3 does not have full header definitions for it.
10099
10100 * fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
10101 undefined it when not needed (similar to amd/conf_tok.l)
10102
10103 * hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
10104 of these to unsigned short (because uid_t on some linux systems is
10105 small).
10106
10107 * released snapshot am-utils-6.0a16s10
10108
10109 * doc/am-utils.texi (opts Option): documented resvport mount
10110 option.
10111
10112 Sun Apr 19 18:17:03 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10113
10114 * doc/am-utils.texi (-D-Option): document behavior of -D info and
10115 especially what it does to hesiod (turn on RES_DEBUG).
10116
10117 * scripts/amd.conf.5: document info debugging option.
10118
10119 * libamu/xutil.c (dbg_opt): parse info debugging option.
10120
10121 * include/am_utils.h (D_INFO): define new trace option.
10122
10123 * Makefile.am (EXTRA_DIST): include list of official mirrors in
10124 distribution.
10125
10126 * libamu/wire.c (SIZE): in the simple case, just compute
10127 sizeof(struct ifreq).
10128
10129 Sun Apr 19 16:30:35 1998 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
10130
10131 * amd/amd.c (daemon_mode): set a temporary secure umask(0022)
10132 before writing log file and restore it afterwards. Patch from
10133 Donald Buczek <buczek (a] MPIMG-Berlin-Dahlem.MPG.DE>.
10134
10135 * amd/get_args.c (get_args):
10136
10137 * doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
10138 file specified by -F is always processed last.
10139
10140 * amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
10141 won't be reused. Allows startup script to redirect stdout. Patch
10142 from Donald Buczek <buczek (a] MPIMG-Berlin-Dahlem.MPG.DE>.
10143
10144 * libamu/xutil.c (switch_to_logfile): compare logfile name and
10145 syslog string with correct length. Patch from Donald Buczek
10146 <buczek (a] MPIMG-Berlin-Dahlem.MPG.DE>.
10147
10148 * amd/restart.c (restart): correctly inherit existing NFS V.3
10149 mounts upon restart. Patch from Donald Buczek
10150 <buczek (a] MPIMG-Berlin-Dahlem.MPG.DE>.
10151
10152 Sat Apr 18 19:01:19 1998 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
10153
10154 * using libtool 1.2 and automake 1.3 (with my patches).
10155
10156 * aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
10157 AMU_CFLAGS to avoid conflicts with automake-1.3.
10158
10159 Sun Apr 5 23:09:08 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10160
10161 * converted to using libtool-1.2.
10162
10163 Tue Mar 10 16:52:09 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10164
10165 * fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
10166 for loop (ITER) which used to run only to initialize the variable
10167 dd once and then break; with a simple assignment.
10168
10169 * hlfsd/hlfsd.h: cleanup so it compiles with Solaris
10170 /opt/SUNWspro/bin/cc, and use gid_t not int.
10171
10172 * amd/mapc.c (mapc_sync): don't dereference pointer (so it
10173 compiles with Solaris /opt/SUNWspro/bin/cc)
10174
10175 Sun Mar 8 15:54:22 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10176
10177 * aux/config.{guess,sub}: used from gcc-2.8.1.
10178
10179 Sat Mar 7 15:33:27 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10180
10181 * released snapshot am-utils-6.0a16s9
10182
10183 * INSTALL, doc/am-utils.texi (Supported Platforms): updated names
10184 based on new output of new config.guess.
10185
10186 * aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
10187
10188 * amd/amd.8,doc/am-utils.texi: document correct usage of default
10189 /etc/amd.conf file.
10190
10191 * fixmount/fixmount.c (inetresport,privsock): use some more
10192 portable code from amq/amq.c.
10193
10194 * amd/get_args.c (get_args): use default /etc/amd.conf file only
10195 if no arguments had been passed to amd.
10196
10197 * fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
10198 ala amq/amq.c so that fixmount will work on both types of systems.
10199
10200 * amq/amq.c (main): do no close tcp socket before running udp try,
10201 because we're not sure if it was opened at all.
10202
10203 * mips-dec-ultrix* port merged in and cleaned up.
10204
10205 * aux/configure.in: up minor shared library revision number, since
10206 it has changed enough.
10207
10208 * hlfsd/hlfsd.c (main): don't check for overlay mount option here,
10209 as it is now done in compute_nfs_args(). Remove ultrix specific
10210 code also because it was moved to compute_nfs_args().
10211
10212 * conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
10213 we have more generic code in print_nfs_args().
10214
10215 * libamu/mount_fs.c (print_nfs_args): print maxlen of
10216 nfs_args.addr, and also syncaddr (which is mostly NULL). Print
10217 struct knetconfig from nfs_args->knconf.
10218
10219 * aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
10220 headers here, but in try_compile_anyfs.m4.
10221
10222 * aux/macros/type_ufs_args.m4: move test for struct ufs_specific
10223 (for ultrix) here from its own macro.
10224
10225 * aux/macros/type_cdfs_args.m4: move test for struct iso_specific
10226 (for ultrix) here from its own macro.
10227
10228 * amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
10229 for overlay mount option. Remove code which checks for overlay
10230 option, as it is now done in compute_nfs_args().
10231
10232 * libamu/mount_fs.c (compute_mount_flags): move here code which
10233 checks for overlay mount option which was in amd/amfs_toplvl.c:
10234 mount_amfs_toplvl().
10235
10236 Wed Feb 7 15:35:51 1998 Rainer Orth <ro (a] xayide.TechFak.Uni-Bielefeld.DE>
10237
10238 * The following are Rainer's ChangeLog entries for his ultrix
10239 port, added manually. -Erez.
10240
10241 * merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
10242 (mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
10243
10244 * include/am_defs.h: include cdfs specific mount headers
10245 avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
10246
10247 * include/am_compat.h: define several mount options corresponding
10248 to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
10249 noversion, rrip (cdfs), nocache, quota, sync (generic) removed
10250 duplicate MNTTAB_OPT_RO definition
10251
10252 * aux/macros/try_compile_anyfs.m4: include Ultrix specific
10253 ufs/cdfs mount headers
10254
10255 * aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
10256 specific mount headers
10257
10258 * aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
10259 mount types in mount headers (Ultrix)
10260
10261 * aux/configure.in: Ultrix/Digital UNIX specific checks: new
10262 headers, mount structures and fields, filesystem and mount types,
10263 mount flags
10264
10265 * aux/acconfig.h: placeholders for new mount options: quota
10266 (generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
10267 cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
10268 structures
10269
10270 * amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
10271 ufs_args.ufs_flags and has ufs specific pgthresh option
10272
10273 * amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
10274 CDFS mount flags and options
10275
10276 * amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
10277 hlfsd/hlfsd.c (main): store generic mount flags in
10278 nfs_args.gfs_flags, handle separate NFS ro flag
10279
10280 * aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
10281 struct_ufs_specific}.m4: new files; check for Ultrix specific
10282 mount structures
10283
10284 * conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
10285
10286 * aux/macros/type_auth_create_gidlist.m4 (ultrix*):
10287 AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
10288 comment in <rpc/auth.h>
10289
10290 * include/am_defs.h: #define KERNEL to avoid definition of
10291 gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before
10292 <config.h> to force single definition here
10293
10294 * libamu/mount_fs.c (compute_nfs_args): Ultrix support for
10295 nfs_args.gfs_flags moved to callers store mount options in
10296 nap->optstr
10297
10298 * include/am_defs.h: fix _am_mntent mnt_{type, opts} field
10299 descriptions
10300
10301 * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
10302 include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
10303 definition in prototypes
10304
10305 * aux/macros/mount_headers.m4: include <sys/errno.h> before
10306 AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
10307 definitions
10308
10309 * conf/nfs_prot/nfs_prot_ultrix.h: new file
10310
10311 * aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
10312
10313 * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
10314 aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
10315 inclusion of <rpc/xdr.h>
10316
10317 Sat Mar 7 13:56:05 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10318
10319 * aux/configure.in: save state of config.cache and confdefs.h
10320 (as dbgcf.h) at various points of the configure.
10321
10322 * aux/macros/save_state.m4: new macro to save state of configure,
10323 esp. useful in long ones. Saves confdefs.h and write $ac_cv_*
10324 cache variables that are known so far.
10325
10326 * released snapshot am-utils-6.0a16s8
10327
10328 1998-03-06 Erez Zadok <ezk (a] mercer.psl.cs.columbia.edu>
10329
10330 * fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
10331 it, but only for flex.
10332
10333 Fri Mar 6 17:23:17 1998 Erez Zadok <ezk (a] chestnut.mcl.cs.columbia.edu>
10334
10335 * hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
10336 to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
10337 to write the dump file.
10338
10339 * doc/am-utils.texi,amd/opts.c: rename all references to nomadic
10340 functions to boolean functions, which is what they really are.
10341
10342 * aux/configure.in: don't look for strcasecmp in libucb at all,
10343 but rather complete it from libamu/strcasecmp.c as needed.
10344
10345 Fri Mar 6 03:29:20 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10346
10347 * conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
10348
10349 * libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
10350 which defines IFF_ROUTE instead of IFF_LOOPBACK. Patch from Tom
10351 Schmidt <tschmidt (a] micron.com>.
10352
10353 * released snapshot am-utils-6.0a16s7
10354
10355 * conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
10356 hppa1.0-hp-hpux11.00.tgz.
10357
10358 Thu Mar 5 21:59:03 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10359
10360 * converted all sources to use mntent field names, and map mnttab
10361 field names to mntent's.
10362
10363 * include/am_defs.h (mnt_special): map struct mnttab field names
10364 to struct mntent field names.
10365
10366 * aux/macros/check_mount_trap.m4: hpux11's mount trap style is
10367 identical to svr4/solaris2.
10368
10369 * aux/macros/check_mount_style.m4: hpux11's mount style is
10370 identical to svr4/solaris2.
10371
10372 * aux/macros/check_network_transport_type.m4: hpux11 is a TLI
10373 system!
10374
10375 * aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
10376 dereferencing style is same as svr4.
10377
10378 * aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
10379 dereferencing style is same as svr4.
10380
10381 * conf/transp/transp_tli.c (create_nfs_service): if failed to
10382 getnetconfigent() of ticlts, then try udp (hpux11).
10383
10384 * conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
10385 struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
10386 2.5.1 (HP used them).
10387
10388 * amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
10389 because hpux11 doesn't like it. if t_open failed, print error
10390 based on t_errlist, not sys_errlist.
10391
10392 Wed Mar 4 22:01:55 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10393
10394 * doc/am-utils.texi: lots of documentation fixes from Rainer Orth
10395 <ro (a] TechFak.Uni-Bielefeld.DE>.
10396
10397 Sat Feb 28 22:16:35 1998 Erez Zadok <ezk (a] kosh.cs.columbia.edu>
10398
10399 * fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
10400 later.
10401
10402 * include/am_defs.h: defined the extern for ualarm() if it isn't
10403 found, regardless if the function isn't found in standard
10404 libraries, because otherwise libamu will include it.
10405
10406 1998-02-28 Erez Zadok (per Ron Snyder) <ezk (a] short.cvo.roguewave.com>
10407
10408 * initial port to hpux-11 completed. Compiles cleanly, but
10409 probably does not work, because of missing NFS V.2/3 headers.
10410
10411 * amd/conf_tok.l: cast yytext to char* when passed to strlen and
10412 strdup, for hpux-11's ansi-cc compiler.
10413
10414 * include/am_utils.h: renamed all xfree() to XFREE() to avoid
10415 conflict with hpux-11's system headers. Also move (voidp) cast
10416 from sources to inside the macro itself.
10417
10418 Sat Feb 28 13:44:21 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10419
10420 * released snapshot am-utils-6.0a16s6
10421
10422 * amd/info_nis.c (nis_isup): new function to test if NIS is up
10423 without hanging amd. Used to ensure that amd does not clear the
10424 maps when the expiration period arrived, if the service is down.
10425 Otherwise it would be left with empty maps. It is better to stay
10426 with possibly old information than none at all.
10427
10428 * amd/mapc.c (mapc_sync): check to see if map service is up.
10429
10430 Tue Feb 24 02:19:42 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10431
10432 * aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
10433 includes auxiliary library only if needed.
10434
10435 1998-02-22 Erez Zadok <ezk (a] mercer.psl.cs.columbia.edu>
10436
10437 * amd/conf_tok.l: undefine ECHO again, so it doesn't get used
10438 later.
10439
10440 Sun Feb 22 01:41:08 1998 Erez Zadok <ezk (a] zen.cs.columbia.edu>
10441
10442 * conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
10443 completed.
10444
10445 * conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
10446
10447 Sat Feb 21 19:45:48 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10448
10449 * doc/am-utils.texi (Network Host Filesystem): correct example for
10450 type:=host map.
10451
10452 * aux/macros/os_cflags.m4: only osf4 should compile with
10453 -D_SOCKADDR_LEN.
10454
10455 * aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
10456 and OSF4.
10457
10458 * BUGS: include a new file listing known bugs.
10459
10460 Sat Feb 21 03:50:48 1998 Erez Zadok <ezk (a] mercer.psl.cs.columbia.edu>
10461
10462 * conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
10463 versions.
10464
10465 * aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
10466 size_t for recvfrom fromlen arg.
10467
10468 Sat Feb 21 03:33:59 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10469
10470 * scripts/ctl-hlfsd.in: turn -D fork so primary process never
10471 hangs.
10472
10473 Sat Feb 21 02:45:51 1998 Erez Zadok <ezk (a] mercer.psl.cs.columbia.edu>
10474
10475 * include/am_defs.h: don't include <sys/stat.h> and
10476 <linux/stat.h>, just remaining definitions in <statbuf.h>
10477
10478 Thu Jan 29 00:44:28 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10479
10480 * released snapshot am-utils-6.0a16s5
10481
10482 * conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
10483 mount(2).
10484
10485 * check for <sys/fs/xfs_clnt.h> and include it when needed.
10486
10487 * conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
10488 efs and xfs separately from "ufs".
10489
10490 * amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
10491
10492 * aux/configure.in: look for irix efs and xfs file systems.
10493
10494 * scripts/amd.conf.5: new unmount_on_exit option documented.
10495
10496 * doc/am-utils.texi (unmount_on_exit): new option documented.
10497
10498 * amd/conf.c (gopt_unmount_on_exit): new function to handle new
10499 amd.conf option.
10500
10501 * amd/map.c (umount_exported): if global amd.conf flag
10502 unmount_on_exit is on, then try to unmount all mounted (or
10503 restartable) file systems.
10504
10505 * amd/amd.c: if print_pid option is on, then normally print it to
10506 stdout. If also pid_file is specified, then print the process ID
10507 into that file.
10508
10509 * amd/get_args.c (get_args): print correct -l option depending if
10510 system supports syslog and/or syslog facilities. Patch from
10511 Tom Schmidt <tschmidt (a] micron.com>.
10512
10513 * doc/am-utils.texi (opts Option): updates for documentation for
10514 new cdfs options defperm, nodefperm, noversion, rrip.
10515
10516 * amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
10517 nodefperm, noversion, rrip.
10518
10519 * conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
10520 on osf.
10521
10522 * aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
10523 expand_cpp_string.m4}: use #error to make failed compilations
10524 fail faster, rather than have the program fail during a run.
10525
10526 * include/am_compat.h: added a few new cdfs options: rrip,
10527 noversion, defperm, and nodefperm (used in OSF).
10528
10529 Wed Jan 28 20:24:09 1998 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
10530
10531 * released snapshot am-utils-6.0a16s4
10532
10533 * doc/am-utils.texi (Global Parameters): update manual for new
10534 amd.conf global variable hesiod_base.
10535
10536 * scripts/amd.conf.5: update man page for new amd.conf global
10537 variable hesiod_base.
10538
10539 * amd/get_args.c (get_args): use /etc/amd.conf file if exists by
10540 default, else try command line options. Patch from Randall
10541 S. Winchester <rsw (a] Glue.umd.edu>.
10542
10543 Wed Jan 28 12:20:56 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10544
10545 * amd/info_hesiod.c (hesiod_search), amd/conf.c
10546 (gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
10547 included patch from Randall S. Winchester <rsw (a] Glue.umd.edu>, to
10548 support a hesiod base name in the amd.conf file.
10549
10550 * doc/am-utils.texi (pid_file Parameter): document new global
10551 amd.conf parameter.
10552
10553 * scripts/amd.conf.5: document new global option pid_file.
10554
10555 * amd/amd.c (daemon_mode): if cannot open pid_file, continue to
10556 run, but print error message.
10557
10558 * amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
10559 init_global_options): Included patch from Randall S. Winchester
10560 <rsw (a] Glue.umd.edu>, to support pid files in the amd.conf file.
10561
10562 * amd/get_args.c (get_args): correct usage info on amd -t.
10563
10564 * amd/*.c: massive file name and symbol name changes. All amd
10565 file systems files and symbols are prefix with amfs_*. Now using
10566 real name of file system: amfs_auto instead of afs, amfs_inherit
10567 instead of ifs, amfs_linkx instead of sfsx, etc. This will enable
10568 clear distinction between amd file system and generic ones like
10569 nfs/ufs/pcfs/hsfs. Also, now we can implement true afs (Andrew
10570 f/s) and DFS (Distributed f/s).
10571
10572 * amd/amfs_union.c: unionfs for amd is always defined, no need to
10573 #ifdef it.
10574
10575 Mon Jan 26 16:51:38 1998 Erez Zadok <ezk (a] chestnut.mcl.cs.columbia.edu>
10576
10577 * libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
10578 or off, based on the particular quirks of the OS in question.
10579
10580 * aux/macros/check_nfs_socket_connection.m4: new macro to set the
10581 correct wait of handling un/connected NFS sockets.
10582
10583 * scripts/wait4amd.in: use rlogin instead of rsh.
10584
10585 * amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
10586 -v, always show "nfs3" for NFS V.3.
10587
10588 1998-01-25 Erez Zadok <ezk (a] snoopy.cs.columbia.edu>
10589
10590 * lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
10591 more picky than 2.7.2.3 did.
10592
10593 1998-01-24 Erez Zadok <ezk (a] snoopy.cs.columbia.edu>
10594
10595 * include/am_utils.h (dlog): amuDebug macros reduced to shorter
10596 forms.
10597
10598 Fri Jan 23 18:38:30 1998 Erez Zadok <ezk (a] goat.mcl.cs.columbia.edu>
10599
10600 * released snapshot am-utils-6.0a16s3
10601
10602 * include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
10603 in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
10604 must not, fake a definition for varargs.
10605
10606 Fri Jan 16 10:16:40 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10607
10608 * README: show how to configure in additional support such as
10609 hesiod using various --enable-* flags.
10610
10611 Wed Jan 14 15:13:02 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10612
10613 * aux/configure.in: look for strcasecmp(), and replace it if not
10614 available.
10615
10616 * amd/ops_nfsl.c (nfsl_match): host names should be compared using
10617 case insensitive.
10618
10619 * amd/opts.c: for each map variable, define if the comparison
10620 needs to be done case insensitive.
10621
10622 * include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
10623 Patch from Thomas Richter <richter (a] chemie.fu-berlin.de>
10624
10625 1998-01-14 Erez Zadok <ezk (a] irt.cs.columbia.edu>
10626
10627 * aux/configure.in: look for "isofs" as a possible mount type for
10628 cdfs (RedHat Linux).
10629
10630 Wed Jan 14 02:07:05 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10631
10632 * conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
10633 type if not defined.
10634
10635 * conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
10636 already defined.
10637
10638 * aux/configure.in: look for ext2fs before ufs, b/c some linux
10639 have both.
10640
10641 Mon Jan 12 15:43:20 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10642
10643 * Makefile.am (snapshot): allow me to install snapshots into the
10644 ftp directory.
10645
10646 * scripts/ctl-hlfsd.in: don't turn on -D mem by default.
10647
10648 * amd/get_args.c (get_args): minor bug in output of amd -H.
10649
10650 Mon Jan 12 03:05:06 1998 Erez Zadok <ezk (a] chestnut.mcl.cs.columbia.edu>
10651
10652 *******************************************************************
10653 *** Released am-utils-6.0a15 ***
10654 *******************************************************************
10655
10656 Sun Jan 11 15:06:34 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10657
10658 * amd/conf.c (*_browsable_dirs): allow specifying
10659 browsable_dirs=full, which will print *all* entries (other than
10660 /default), including those with '*' and '/' characters.
10661
10662 * amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
10663 to 1500.
10664
10665 * doc/am-utils.texi: fixed reversed documentation for NFS mount
10666 options vers and proto.
10667
10668 * doc/Makefile.am (install-html): separate target just for
10669 installing html files. Another new target "alldocs" is just for
10670 installing all files needed for the am-utils home page.
10671
10672 * scripts/amd.conf-sample: updated example for log_file.
10673
10674 * scripts/amd.conf.5: updated for new way to declare new syslog
10675 facility in the log_file option.
10676
10677 * amd/amd.8: updated for new way to declare new syslog facility in
10678 the -l option.
10679
10680 * libamu/xutil.c (get_syslog_facility): allow users to specify the
10681 syslog facility as an appended string to the log device. Ex. amd
10682 -l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
10683 will use the default LOG_DAEMON facility.
10684
10685 * amd/get_args.c (get_args): updated new syntax for amd -l
10686 syslog:facility.
10687
10688 Thu Jan 8 04:05:10 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10689
10690 * aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
10691 (intel).
10692
10693 * libamu/wire.c (print_wires): bug fix. Nullify output buffer
10694 before appending to it, on systems with two or more network
10695 interfaces.
10696
10697 * conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
10698 the mntent for cachefs.
10699
10700 * include/am_defs.h: external definition for strstr() should use
10701 const for both arguments.
10702
10703 * aux/configure.in: add extern definitions for getwd() if missing.
10704
10705 * include/am_defs.h: define the extern for strdup() even if the
10706 function does not exist, for it will be filled in by
10707 libamu/strdup.c
10708
10709 * amq/pawd.c (cluster_server): don't use getccent() if the extern
10710 for it isn't there. On hpux 10.20, the function is in libc, but
10711 <cluster.h> and struct cct_entry do not exist.
10712
10713 * aux/configure.in: check for an extern for getccent() b/c some
10714 hpux systems don't have it (hpux 10.20).
10715
10716 Wed Jan 7 00:09:19 1998 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
10717
10718 * doc/am-utils.texi (Amq -T option): manual documentation updates
10719 for new amq options -T/-U.
10720
10721 * amq/amq.8: updated man page for new amq options -T/-U.
10722
10723 * amq/amq.c: two new switches to amq. -U will contact amd using
10724 UDP only. -T will use TCP only. Normally amq will try TCP and
10725 if that failed, will try UDP.
10726
10727 * doc/am-utils.texi (pawd): manual documentation for pawd.
10728
10729 * amq/pawd.1: new man page for pawd.
10730
10731 Tue Jan 6 04:21:59 1998 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
10732
10733 * amq/pawd.c: a new program, Print Automounter Working Directory,
10734 to print the proper pathname of the cwd or any other pathname,
10735 adjusted for automounter paths, while avoiding mount points.
10736
10737 * aux/macros/localconfig.m4: trivial support for am-utils
10738 maintainers to adjust some of the configuration of am-utils after
10739 it has been auto-configured by putting whatever definitions you
10740 wish in a file called localconfig.h, located in the top build
10741 directory (the same one where config.h is created for you).
10742
10743 * doc/am-utils.texi (Caching Filesystem): updated documents for
10744 cachefs file system.
10745
10746 * amd/ops_cachefs.c: initial cachefs support, for solaris.
10747 type:=cachefs, requires cachedir:=/cache/dir/name to be defined
10748 and initialized with cfsadmin -c. $rfs is backdir to be cached
10749 from, and $fs is the local mount point of the cachefs.
10750
10751 * conf/mount/mount_svr4.c (mount_svr4): support mounting of
10752 cachefs file systems.
10753
10754 * amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
10755 mnttab type is.
10756
10757 Mon Jan 5 23:22:49 1998 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
10758
10759 * amd/opts.c: added support for new variable $cachedir.
10760
10761 * include/am_utils.h: added opt_cachedir field to struct am_opts.
10762
10763 Sat Jan 3 01:43:57 1998 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
10764
10765 * amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
10766 local hostname does not match $rhost, and if so, also assume
10767 type:=nfs.
10768
10769 Fri Jan 2 01:00:40 1998 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
10770
10771 * updated all source files to add 1998 as a copyright year.
10772
10773 * amd/ops_nfsl.c: new amd meta file system "type:=nfsl". Behaves
10774 like type:=linkx if the pathname denoted by $fs exists, and like
10775 type:=nfs if it does not. A convenient shortcut for the most
10776 popular amd map entry.
10777
10778 * amd/amd.c (main): amd should chdir to / before starting, to
10779 avoid hanging on other NFS server if started elsewhere.
10780
10781 * amd/ops_TEMPLATE.c: added an empty template file for developers
10782 who wish to write new amd pseudo file systems.
10783
10784 Thu Jan 1 00:27:28 1998 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10785
10786 * hlfsd/homedir.c (plt_init): make function exported, to save on
10787 the unnecessary init_homedir() function which was removed.
10788 (table_add): don't use xmalloc() when you can use strdup()
10789 instead.
10790
10791 Thu Jan 1 00:15:58 1998 Erez Zadok <ezk (a] chestnut.mcl.cs.columbia.edu>
10792
10793 * hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
10794 because we will be making more passwd calls afterwards. On
10795 Solaris 2.5.1, making getpwent() calls after calling endpwent()
10796 results in a memory leak! (and no, even Purify didn't detect
10797 it...)
10798
10799 Tue Dec 23 18:23:47 1997 Erez Zadok <ezk (a] chestnut.mcl.cs.columbia.edu>
10800
10801 * hlfsd/hlfsd.c (main): Bug fix. Don't try to free() an
10802 automatically allocated address.
10803
10804 * amd/ops_afs.c (mount_toplvl): Bug fix. Don't try to free() an
10805 automatically allocated address.
10806
10807 * ALL SOURCES: change every direct call to free() to xfree(), so
10808 it can be mapped to the right debugging function as needed.
10809
10810 * include/am_utils.h: new free() policy. If debugging memory,
10811 call dxfree(), which will print the file name and line number
10812 where the free occurred and the pointer address. if only regular
10813 debugging, then free() and reset the pointer to NULL so it cannot
10814 be used afterwards inadvertently. If not DEBUG at all, then just
10815 run free(). Three different #define macros set the right mapping.
10816
10817 * libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
10818 be called only when debugging the memory.
10819
10820 Tue Dec 23 04:24:28 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10821
10822 * wire-test/wire-test.c (main): use xmalloc() not malloc().
10823
10824 * conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
10825 calloc().
10826
10827 * conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
10828
10829 * conf/mount/mount_linux.c (parse_opts): use xmalloc() not
10830 malloc().
10831
10832 * amd/info_ldap.c: use xmalloc() not malloc().
10833
10834 * libamu/xutil.c (xzalloc): new function to allocate memory and
10835 zero its bytes.
10836
10837 * amq/amq.c: amq does not need its own definition of xfree().
10838
10839 * aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
10840 look for function malloc_verify() in libmapmalloc.a, and function
10841 mallinfo() in libmalloc.
10842
10843 * libamu/xutil.c (checkup_mem): do not use mallinfo field
10844 uordbytes, because it does not always exist. Rather, compute it
10845 from other fields..
10846
10847 * include/am_utils.h: add external definition to xfree() function
10848 used when debugging memory references.
10849
10850 Mon Dec 22 03:01:30 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10851
10852 * amd/ops_afs.c (afs_readdir_browsable): reduce the number of
10853 bytes heuristically computed to be returned to the kernel.
10854 Otherwise browsable_dirs fails on OpenBSD 2.2.
10855
10856 * amd/mntfs.c (uninit_mntfs): bug fix. Moved freeing of
10857 mf_private field to AFTER it gets used.
10858
10859 Sat Dec 20 00:51:21 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10860
10861 * amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
10862 on systems that don't support it.
10863
10864 * include/am_defs.h: add missing extern definition for free().
10865
10866 * aux/configure.in: check for external definition for free().
10867
10868 * libamu/Makefile.am: add to comment a mention of strstr as an
10869 optional function.
10870
10871 * libamu/xutil.c (switch_to_logfile): use openlog() options only
10872 if they exist.
10873
10874 * conf/transp/transp_sockets.c (get_nfs_version): don't use
10875 clnt_spcreateerror if it does not exist.
10876
10877 * aux/configure.in: check for missing functions clnt_create and
10878 clnt_spcreateerror. Check for missing strstr, and complete
10879 its code. Check for missing external definition for strstr.
10880
10881 * aux/macros/host_macros.m4: normalize sun3* names.
10882
10883 * Makefile.am: updates for new sunos3 files distributed.
10884
10885 * conf/nfs_prot/nfs_prot_sunos3.h: new file.
10886
10887 * conf/fh_dref/fh_dref_sunos3.h: new file.
10888
10889 * aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
10890
10891 * aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
10892
10893 * doc/am-utils.texi (wire Selector Variable): updated manual for
10894 adjusted variables wire, network, and netnumber, all using the
10895 in_network() function.
10896
10897 Fri Dec 19 04:37:36 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10898
10899 * amd/opts.c: allow options to be processed by executing arbitrary
10900 functions. Converted wire, network, and netnumber all to use the
10901 nomadic function in_network. So from now on they perform a match
10902 against all networks, not just primary.
10903
10904 * initial port to alpha-unknown-linux-gnu, probably works, but
10905 untested yet.
10906
10907 * conf/nfs_prot/nfs_prot_linux.h: add special definitions for
10908 __FD_* macros which for som strange reason do not get included
10909 from <selectbits.h> on redhat alpha linux. Also turn off usage of
10910 <rpc/des_auth.h> because it is incomplete on the same systems.
10911
10912 * hlfsd/homedir.c (table_add): cast uid field to int, for
10913 comparison.
10914
10915 * include/am_defs.h: more coflicts with redhat alpha linux
10916 "resolved".
10917
10918 * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
10919 There's a conflict of definitions on redhat alpha linux between
10920 <netinet/in.h> and <linux/fs.h> which must be avoided.
10921
10922 * aux/configure.in: check for <socketbits.h>, which is in use on
10923 redhat alpha linux.
10924
10925 * doc/am-utils.texi (Selectors): added documentation to describe
10926 the new "!" (negated) nomadic functions.
10927
10928 * amd/opts.c (f_in_network): print debugging info that is correct,
10929 rather than saying that any ARG is on a local network.
10930 (eval_opts): added support for negating nomadic functions, by
10931 prepending "!" to their name. Example, !exists(/foo/bar).
10932
10933 Thu Dec 18 20:57:19 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10934
10935 * include/am_compat.h: ensure that all NFS3 systems have the mount
10936 table entries (and amd opts switches) "proto" and "vers".
10937
10938 * hlfsd/homedir.c (table_add): added some debugging info to try
10939 and track down a serious memory leak in hlfsd.
10940
10941 1997-12-18 Erez Zadok <ezk (a] t-rex.mcl.cs.columbia.edu>
10942
10943 * libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
10944 you do NOT set the noconn option, and use connected sockets
10945 always. So I'm now forced not to set it at all, and have the user
10946 specify it as "conn" or "noconn" in their /default entry. Argh...
10947 Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
10948 buggy (TCP hangs with "short receive" kernel errors). I'd better
10949 wait until they get it working in their version of the automounter
10950 first. So I'm putting the "noconn" option back.
10951
10952 Thu Dec 18 02:39:39 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10953
10954 * libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
10955 nfs_args field maxgrouplist accordingly.
10956
10957 * include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
10958 for mount table entry for maxgroups based on NFS mount option
10959 maxgrp.
10960
10961 * aux/configure.in: put back testing for NFS mount option
10962 "maxgrps". Added test for mount table entry "maxgroups".
10963
10964 * libamu/mount_fs.c (compute_nfs_args): perform more careful tests
10965 on nfs_proto, because it could be NULL.
10966
10967 * doc/am-utils.texi (Selectors): added example of in_network()
10968 selector.
10969
10970 * aux/macros/check_hide_mount_type.m4: all hpux versions,
10971 including 9.x, should use "ignore" as the mount type to hide from
10972 amd.
10973
10974 Wed Dec 17 13:09:21 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10975
10976 * include/am_utils.h (NSTREQ): use new macro instead of strncmp()
10977 every where in the sources.
10978
10979 Wed Dec 17 01:15:01 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
10980
10981 * libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
10982 print as much info that is given in struct nfs_args as possible.
10983 useful for detecting internal flags and options, as well as the
10984 file handle used.
10985
10986 * scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
10987 after /etc and before /etc/local.
10988
10989 Tue Dec 16 18:51:36 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
10990
10991 * aux/configure.in, libamu/Makefile.am: added support for linking
10992 with specific versions of libamu. Upped shared library version of
10993 libamu to 1 (libamu.so.1.0.0)
10994
10995 * include/am_defs.h: added external definition for mkstemp() as
10996 needed.
10997
10998 * minor new port to i386-unknown-netbsd1.3 (BETA version of
10999 netbsd).
11000
11001 * aux/config.guess: don't leave a trailing '.' on the system name
11002 for NetBSD-1.3_BETA and similarly for OpenBSD.
11003
11004 * conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
11005 differences in ypall calling conventions.
11006
11007 * mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
11008 in preference over mktemp(), b/c it is more secure.
11009
11010 * aux/configure.in: check for mkstemp(), a more secure version of
11011 mktemp().
11012
11013 Mon Dec 15 02:32:14 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11014
11015 * amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
11016 table "vers" option generally do not set the mnttab entry to
11017 "nfs3", but to "nfs" and then they set "vers=3". Setting it to
11018 "nfs3" works, but it may break some things like "df -t nfs" and
11019 the "quota" program (esp. on Solaris and Irix). So on those
11020 systems, set it to "nfs".
11021
11022 Sat Dec 13 01:36:27 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11023
11024 * doc/am-utils.texi (Distrib): updates for new ports, location of
11025 am-utils' home page, and URL cross references (now supported by my
11026 version of texi2html).
11027
11028 * aux/macros/check_mtype_type.m4: also use string type for file
11029 system mount types under nextstep for mount(2).
11030
11031 * aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
11032 integer and string types for file system mount types in mount(2),
11033 but it is better to use string types.
11034
11035 * conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
11036 0, not 1! Otherwise, all NFS calls (esp. mount) return errno 1
11037 (EPERM) instead of 0 (OK). Fixes m68k-next-nextstep3 which now
11038 works.
11039
11040 * conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
11041 not 1! Otherwise, all NFS calls (esp. mount) return errno 1
11042 (EPERM) instead of 0 (OK).
11043
11044 * libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
11045 by -D trace (protocol trace).
11046
11047 1997-12-11 Erez Zadok <ezk (a] bach.cs.columbia.edu>
11048
11049 * A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
11050 macro based on existence on others, and include <sys/stat.h>.
11051
11052 Thu Dec 11 14:14:38 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11053
11054 * aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
11055 inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
11056 which this header is broken (it tries to include non-existing
11057 headers).
11058
11059 Wed Dec 10 16:09:07 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11060
11061 * libamu/mount_fs.c (mnt_flags): support either nfs or generic
11062 mount option for grpid.
11063
11064 * aux/configure.in: turn back on NFS mount option grpid.
11065
11066 Sat Dec 6 04:36:05 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11067
11068 * doc/Makefile.am (install-ps): added target to install postscript
11069 file in the am-utils' home page, as well as a few other useful
11070 files for the new am-utils Web page.
11071
11072 Mon Nov 17 05:22:56 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11073
11074 *******************************************************************
11075 *** Released am-utils-6.0a14 ***
11076 *******************************************************************
11077
11078 Sun Nov 16 21:56:16 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11079
11080 * doc/am-utils.texi (Supported Platforms): updated table of new
11081 ports.
11082
11083 Sat Nov 15 06:36:27 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11084
11085 * libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
11086 options so that they can be printed in logs as needed.
11087
11088 * doc/am-utils.texi (osver Parameter): updated for the correct
11089 usage of the -o/-O options.
11090
11091 * scripts/amd.conf.5: corrected info for -o/-O options.
11092
11093 * amd/amd.8: updated man page for new -O op_sys_name option, and
11094 corrected the usage of the -o op_sys_ver option
11095
11096 * amd/get_args.c (get_args): added new amd option -O to override
11097 OS name.
11098 (get_args): updated usage string. Removed old -m option. Added
11099 -o and -O options.
11100
11101 * conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
11102 it is not there. Reportedly, irix 5.2 does not define it.
11103
11104 * scripts/lostaltmail.in: removed references to unused $hack
11105 variable.
11106
11107 * aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
11108 <metcalf (a] cag.lcs.mit.edu> to correctly set the nfs_prot headers
11109 for solaris2.5.
11110
11111 * doc/am-utils.texi (Distrib): typo in the subscription
11112 instructions to amd-dev. Patch from Stefan Vogel
11113 <vogel (a] physik-rzu.unizh.ch>.
11114
11115 1997-11-15 Erez Zadok <ezk (a] amtrak.cs.columbia.edu>
11116
11117 * NFS3 works on powerpc-ibm-aix4.2.1.0.
11118
11119 * libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
11120 static. Some compilers (gcc from egcs on aix 4.2.1) corrupt the
11121 stack of an automatic variable when pointer to it is passed around
11122 several times.
11123
11124 Fri Nov 14 20:09:28 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11125
11126 * libamu/xutil.c (real_plog): syslog like behavior for normal
11127 logging. Will not print repeated strings, only a count "last
11128 message repeated N times", but will always print something if
11129 message is repeated more than 100 times.
11130
11131 * scripts/lostaltmail.in: look for lostaltmail.conf files also in
11132 /etc/global, /etc/os, and /etc/local (in that order).
11133
11134 Mon Nov 10 03:03:17 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
11135
11136 * conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
11137 mounts.
11138
11139 * aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
11140 aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
11141
11142 * conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
11143 NFS_SA_DREF macro is a pointer to the structure that used to be
11144 passed to it before. So now I have to dereference the pointer
11145 before accessing its values.
11146
11147 * hlfsd/hlfsd.c (main): use the new and cleaner
11148 compute_nfs_args() and compute_automounter_nfs_args() functions.
11149
11150 * amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
11151 compute_nfs_args() and compute_automounter_nfs_args() functions.
11152
11153 * amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION. Use the new
11154 and cleaner compute_nfs_args() and compute_automounter_nfs_args()
11155 functions.
11156
11157 * libamu/mount_fs.c (compute_nfs_args): major code cleanup that
11158 relates for struct nfs_args. A new function sets the numerous
11159 possible flags and fields of nfs_args_t in an orderly fashion.
11160 Code cleaned up, organized, and moved from amd/hlfsd into
11161 libamu. This saves on overall size of code.
11162 (compute_automounter_nfs_args): A variant of compute_nfs_args()
11163 which sets special options/flags that need to be used when NFS
11164 mounting an automounter's mount point. Used by hlfsd and amd.
11165
11166 * amq/amq.c (get_secure_amd_client): don't print any more
11167 "get_secure_amd_client: using TCP, port 12345". It's more
11168 annoying than useful a message, even when assumed to be compiled
11169 under DEBUG only.
11170
11171 Thu Oct 30 14:33:38 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11172
11173 * aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
11174 mount table entries. The code used to define the /etc/mnttab name
11175 for file systems based on physical media (disk, cdrom, floppy) to
11176 the generic name, rather than the OS specific name. For example
11177 autoconf searches for all these types of mount table entries for a
11178 floppy based file system: vfat pcfs pc msdos msdosfs fat. But if
11179 it found any, it hard-coded the mnttab name to "pcfs" rather than
11180 the actual name found! Same for ufs, cdfs, pcfs, tmpfs, lofs,
11181 nullfs, unionfs, and umapfs.
11182
11183 * aux/configure.in: also test for xfs (for newer Irix) when
11184 looking for mount type names, numbers, etc of a disk-based ufs.
11185
11186 Sun Oct 26 19:32:57 1997 Erez Zadok <ezk (a] defiant.soscorp.com>
11187
11188 * amq/amq.c (main): use pmap_ping() to test if remote host is up.
11189 This works better on bsdi2 and bsdi3, because their portmapper
11190 does not appear to like forwarding operations (it is generaly
11191 insecure).
11192
11193 Sat Oct 25 04:55:56 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11194
11195 *******************************************************************
11196 *** Released am-utils-6.0a13 ***
11197 *******************************************************************
11198
11199 Fri Oct 24 05:04:37 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11200
11201 * conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
11202 struct datum typedef.
11203
11204 * conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
11205 ypall_callback_fxn_t for netbsd.
11206
11207 * aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
11208 the 5th arg to authunix_create(), while before and after they used
11209 gid_t.
11210
11211 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
11212 clnt_create_timed() on older Solaris 2.3 systems that did not have
11213 it.
11214
11215 * conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
11216 kernel only on bsdi2, so do not include it.
11217
11218 Fri Oct 24 00:29:42 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
11219
11220 * hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
11221 messages about resolution of mailboxes based on uid/gid.
11222
11223 * scripts/ctl-hlfsd.in: check for alternate password file in
11224 ${prefix}/etc/passwd and use it in hlfsd's startup.
11225
11226 Thu Oct 23 22:48:50 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
11227
11228 * hlfsd/homedir.c (hlfsd_getpwent): added support for -P
11229 passwdfile option. If hlfsd is started with -P passwdfile, then
11230 the passwdfile is read and parsed just as a standard unix
11231 passwd(4) file. Only the username, uid, and homedir fields are
11232 read and checked. All the rest are ignored. No NIS/netgroup
11233 support!
11234
11235 * hlfsd/hlfsd.c (main): check if hlfsd is run as root after
11236 parsing command line options, so that usage() can be printed when
11237 -h is invoked.
11238
11239 Wed Oct 22 00:16:39 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
11240
11241 * amd/nfs_start.c (mount_automounter): if autofs service listener
11242 fails to initialize it is OK if using a test amd.
11243
11244 * amd/opts.c (f_in_network): new nomadic function in_network(arg),
11245 which returns TRUE if 'arg' is any one of this host's networks.
11246
11247 * libamu/wire.c (getwire): rewritten parts of function, to store
11248 all networks names and numbers in the order of the interface (not
11249 in reverse).
11250
11251 Mon Oct 20 01:59:25 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11252
11253 * aux/configure.in: don't add ops_ufs.o on AIX twice. My code
11254 would have worked had it not been due to AIX's buggy /bin/sh.
11255
11256 * doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
11257 am-utils.ps in the distribution sources.
11258 (html): generate html documentation for
11259 http://www.am-utils.org
11260
11261 Sun Oct 19 12:35:49 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11262
11263 * conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
11264 ypall_callback_fxn_t. The NetBSD team compiles all sources with
11265 gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
11266
11267 * amd/info_nis.c: allow for override of ypall_callback_fxn_t
11268 function typedef.
11269
11270 * libamu/xutil.c (amu_release_controlling_tty): new function to
11271 release the controlling tty in a clean and sane manner. No longer
11272 using setpgid() b/c it may not work. Uses setsid(),
11273 and ioctl() (in order). This new function is used in amd/amd.c
11274 and hlfsd/hlfsd.c. Also avoid setpgrp(), because it works on some
11275 systems, but on others it is the same as setpgid().
11276
11277 Sat Oct 18 23:42:40 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11278
11279 * aux/acconfig.h: check for nfs mount option 'fsname'. Code for
11280 it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
11281 never used, because the configure test for fsname flag wasn't
11282 used. This fixed a bug in HPUX 10, where syncer and manual mounts
11283 left blank lines in /etc/mnttab.
11284
11285 * aux/configure.in: check for nfs mount option 'fsname'.
11286
11287 Fri Oct 17 13:30:27 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11288
11289 * amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
11290 mount flags of toplvl mounts. Important esp. for HPUX 10. Now
11291 hpux-10 will mount amd's mounts points as 'ignore' (by df).
11292
11293 * aux/configure.in: check for NFS mount option 'ignore', useful in
11294 HPUX 10.
11295
11296 Thu Oct 16 03:28:33 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11297
11298 * aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
11299 mount type and not NFS, for the amd mount points.
11300
11301 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
11302 an RPC timeout as an error, but just an info message. From
11303 Andreas Stolcke <stolcke (a] speech.sri.com>
11304
11305 * If the NFS server is down or does not support the portmapper
11306 call (such as certain Novell NFS servers) we mark it as version 2
11307 and we let the nfs code deal with the case that is down. If when
11308 the server comes back up, it can support NFS V.3 and/or TCP, it
11309 will use those. From christos (a] deshaw.com (Christos Zoulas).
11310
11311 * hlfsd/homedir.c (plt_print): various compile time cleanups to
11312 printfs that take a long, but pass an int to print. From
11313 christos (a] deshaw.com (Christos Zoulas).
11314
11315 * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
11316 macro to determine if the OS has a bad yp_all(), based on the host
11317 OS name. So far only irix (all versions) have a bad yp_all, so
11318 they will use am_yp_all() instead (which is slower as it
11319 enumerates manually all of the map's entries).
11320
11321 Thu Oct 16 03:14:37 1997 Erez Zadok <ezk (a] subzero.cs.columbia.edu>
11322
11323 * amd/info_nis.c (am_yp_all): code for a replacement yp_all that
11324 avoids using a file-descriptor leaking yp_all() on some systems
11325 like irix.
11326
11327 Wed Oct 15 21:52:35 1997 Erez Zadok <ezk>
11328
11329 * fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
11330 systems using /usr/bin/flex.
11331
11332 * amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
11333 that have a modified GNU flex which does define yywrap (DU-4.x).
11334
11335 Fri Sep 26 14:25:29 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11336
11337 * conf/checkmount/checkmount_bsd44.c: include prototype.
11338
11339 Fri Sep 26 01:26:24 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11340
11341 *******************************************************************
11342 *** Released am-utils-6.0a12 ***
11343 *******************************************************************
11344
11345 Fri Sep 26 00:13:48 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11346
11347 * conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
11348 code in irix6 until it can be tested correctly
11349
11350 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
11351 on clnt_create for 3 seconds, rather than wait for the much longer
11352 default.
11353
11354 * conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
11355 Includes NFS3, untested.
11356
11357 Thu Sep 25 11:03:11 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11358
11359 * amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
11360 pcfs_args_t if they exist.
11361
11362 * amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
11363 cdfs_args_t if it exists.
11364
11365 * new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
11366 hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
11367
11368 Wed Sep 24 00:48:05 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11369
11370 * doc/am-utils.texi (wire-test): updated documentation for the new
11371 option.
11372
11373 * wire-test/wire-test.8: updated man page for new option.
11374
11375 * wire-test/wire-test.c (main): added a test for various
11376 combinations of NFS proto/vers to a remote/local host.
11377
11378 * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
11379 <isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
11380 freebsd will correctly set mount options for pcfs and cdfs.
11381
11382 * amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
11383 0777 (if field exists).
11384
11385 * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
11386 <msdosfs/msdosfsmount.h> if available.
11387
11388 * minor new port: rs6000-ibm-aix4.1.4.0.
11389
11390 * libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
11391 write the "time" field in /etc/mnttab.
11392
11393 * conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
11394 detecting mnt_time field of mntent_t.
11395
11396 * libamu/mtab.c (mnt_free): fixed typo in macro names for
11397 detecting mnt_time field of mntent_t.
11398
11399 Tue Sep 23 15:30:03 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11400
11401 * conf/mtab/mtab_file.c (lock): Use flock() in preference over
11402 fcntl() to lock the mtab file.
11403
11404 Mon Sep 22 23:04:58 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11405
11406 * conf/transp/transp_sockets.c (get_nfs_version): define
11407 the try_again goto label only for NFS3.
11408 (pmap_ping): assume timeout failure of clnt_stat.
11409
11410 * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
11411 "groups *".
11412
11413 Mon Sep 22 20:34:33 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
11414
11415 * conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
11416 <dsr (a] mail.lns.cornell.edu> to make sure that amd works with more
11417 secure portmappers that do not allow forwarding of RPC messages to
11418 other services.
11419
11420 * */Makefile.am: all source files should also depend on the new
11421 include/am_xdr_func.h header.
11422
11423 * include/am_xdr_func.h: new file as part of the code cleanup from
11424 Christos Zoulas <christos (a] deshaw.com>.
11425
11426 * Lots of fixes from Christos Zoulas <christos (a] deshaw.com> that
11427 involved missing prototypes, cleaned up ones, and removal of
11428 unused variables.
11429
11430 * libamu/xdr_func.c (xdr_mountres3): some code cleanup. A switch
11431 statement with only one case is unclean.
11432
11433 Mon Sep 22 17:26:38 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11434
11435 * amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
11436 0 so that all fields are initialized to zero at first. This way
11437 SunOS 4.x and other systems don't get /etc/mtab entries with
11438 random integers for the fsck/freq fields. Patch from Andreas
11439 Stolcke <stolcke (a] speech.sri.com>.
11440
11441 Mon Sep 22 00:34:19 1997 Erez Zadok <ezk (a] americas.psl.cs.columbia.edu>
11442
11443 * conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
11444 that the important definition for HOSTNAMESZ will be found.
11445
11446 * amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
11447 (inside the nfs_args structure) if the system uses that macro.
11448 Otherwise systems like SunOS refuse to NFS mount long pathnames
11449 and result in ENAMETOOLONG errno's.
11450
11451 Wed Sep 17 04:56:11 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11452
11453 * doc/am-utils.texi (Supported Platforms): specify new support for
11454 solaris 2.6, and hlfsd running on 2.5.1 too.
11455
11456 Wed Sep 17 03:55:02 1997 Erez Zadok <ezk (a] amsterdam.psl.cs.columbia.edu>
11457
11458 * conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
11459 mount if it is not supported or was turned off.
11460
11461 Wed Sep 17 03:19:36 1997 Erez Zadok <ezk (a] americas.psl.cs.columbia.edu>
11462
11463 * conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
11464 again. Apparently at some previous release SunOS 4 supported was
11465 broken and all nfs mounts resulted in ESTALE.
11466
11467 Wed Sep 17 00:26:25 1997 Erez Zadok <ezk (a] amsterdam.psl.cs.columbia.edu>
11468
11469 * conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
11470 solaris 2.6.
11471
11472 * aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
11473 protocol header selection.
11474
11475 Sat Sep 13 14:31:51 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11476
11477 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
11478 infinite loop.
11479
11480 Sun Sep 7 18:23:23 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11481
11482 *******************************************************************
11483 *** Released am-utils-6.0a11 ***
11484 *******************************************************************
11485
11486 Fri Sep 5 11:55:10 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11487
11488 * amd/amd.c (main): if plock() succeeded, don't try to display
11489 errno message. Patch from Chris Metcalf
11490 <metcalf (a] catfish.lcs.mit.edu.
11491
11492 Thu Sep 4 19:17:58 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11493
11494 * hlfsd/homedir.c (table_add): make sure duplicate passwd entries
11495 are ignored. Only the first entry should ever be used, because
11496 that's how lookup in passwd database works.
11497
11498 * conf/transp/transp_sockets.c (get_nfs_version): when determining
11499 if a remote host is up or down, use NFS v.2. Fix suggested by
11500 Enami Tsugutomo <enami (a] cv.sony.co.jp>.
11501
11502 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
11503 function to get the best possible NFS version, but also timeout
11504 faster than normal defaults, so remote hosts which are down can be
11505 detected in a reasonable time.
11506 (get_nfs_version): use the new "best" function.
11507
11508 Tue Sep 2 00:41:00 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11509
11510 *******************************************************************
11511 *** Released am-utils-6.0a10 ***
11512 *******************************************************************
11513
11514 Mon Sep 1 15:39:51 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11515
11516 * conf/transp/transp_tli.c (get_nfs_version): don't use
11517 clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
11518 and earlier).
11519
11520 * aux/configure.in: test for existence of clnt_tp_create_timed(),
11521 since Solaris 2.4 (and possibly earlier) do not have it.
11522
11523 Mon Sep 1 15:23:18 1997 Erez Zadok <ezk (a] felix.psl.cs.columbia.edu>
11524
11525 * amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
11526 field if it exists (solaris 2.4's autofs does not have it).
11527
11528 Mon Sep 1 14:45:09 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11529
11530 * aux/macros/type_auth_create_gidlist.m4: a new test to determine
11531 the correct type to the 5th argument of authunix_create().
11532
11533 Mon Sep 1 03:44:32 1997 Erez Zadok <ezk (a] felix.psl.cs.columbia.edu>
11534
11535 * libamu/xdr_func.c (xdr_umntrequest): add test for autofs
11536 structure umntrequest, if it has the field rdevid. Seems Solaris
11537 2.4 and earlier didn't have it.
11538
11539 Mon Sep 1 01:10:53 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11540
11541 * hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
11542 can be done before primary process forks.
11543 (main): bug fix: wait a bit to give child a chance to initialize.
11544 Without this, hlfsd got into a busy infinite loop while, never
11545 completing the mount.
11546
11547 * amd/info_nis.c: patch from Jason Thorpe <thorpej (a] nas.nasa.gov>
11548 to make amd works when talking to NIS+ servers in NIS
11549 compatibility mode.
11550
11551 Mon Sep 1 00:46:56 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
11552
11553 * amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
11554
11555 Sun Aug 31 20:20:40 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
11556
11557 * amd/conf.c (gopt_fully_qualified_hosts): a new function to
11558 process another new global variable.
11559
11560 * amd/ops_nfs.c (make_nfs_auth): if a new global variable
11561 fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
11562 Patch from Chris Metcalf <metcalf (a] catfish.lcs.mit.edu>.
11563
11564 * amd/conf.c (process_last_regular_map): If the amd.conf file only
11565 has a [global] section (pretty useless IMHO), do not try to
11566 process a map that does not exist.
11567
11568 * scripts/amd.conf.5: fixed typos (repeated 'as' word).
11569
11570 * doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
11571
11572 * amd/conf.c (reset_cf_map): Bug fix. Reset 'tag' field of cfm
11573 structure, so it does not carry over from map entry to another.
11574
11575 Sat Aug 30 18:39:21 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
11576
11577 * amd/amd.c (main): fixed the meaning of the plock option. A bug
11578 caused it to be reversed.
11579
11580 Sat Aug 30 15:13:18 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11581
11582 * hlfsd/stubs.c: don't initialize some statics here. They are
11583 better initialized in hlfsd_init_filehandles().
11584
11585 Fri Aug 22 14:47:16 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11586
11587 * amd/conf.c (gopt_show_statfs_entries): new function and a global
11588 amd.conf key show_statfs_entries. Defaults to 'no'. If 'yes',
11589 then all maps flagged as browsable will also show a count of the
11590 number of entries (keys) in that map.
11591
11592 * amd/nfs_subr.c (count_map_entries): new function to count number
11593 of entries in a map. Now used if browsable is turned on in a map,
11594 to return a count of available keys in a given map.
11595
11596 * hlfsd/stubs.c (eq_fh): use correct memcmp(). BUG fixed! hlfsd
11597 confused the file handles for ".", "..", and the symlink, causing
11598 mess.
11599
11600 * aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
11601 but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
11602 with bad memcmp() in libc's (nextstep3).
11603
11604 Thu Aug 21 17:38:41 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11605
11606 * aux/configure.in: check if autofs_args_t has a field named
11607 addr. Solaris has it for specifying the address of the daemon,
11608 but Irix does not. So how does irix tell the kernel the daemon's
11609 address? I suspect that it is hardcoded to "localhost" using a
11610 "private well-known port" (#define AUTOFS_PORT 2048).
11611
11612 * conf/nfs_prot/nfs_prot_linux.h: added missing autofs
11613 definitions.
11614
11615 * README.autofs: new file listing autofs support notes
11616
11617 * very preliminary autofs code working. Call it pre-alpha
11618 quality.
11619
11620 Sun Aug 17 02:25:09 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11621
11622 * amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
11623 "autofs" if system does not support it.
11624
11625 * amd/amd.c (main): log am-utils version string (same as amd -v)
11626 at start of run.
11627
11628 * conf/transp/transp_sockets.c (get_nfs_version): in order to tell
11629 if a remote host is available, try to contact its portmapper and
11630 timeout if no answer is received in 3 seconds.
11631
11632 Thu Aug 14 16:12:04 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11633
11634 * aux/macros/check_extern.m4 (pattern): use a simpler pattern for
11635 match for external function definitions. The function could span
11636 multiple lines, so only match the opening parenthesis, not the
11637 closing one too.
11638
11639 * aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
11640 posix mode for nextstep3. It is broken.
11641
11642 * amd/amd.c (init_global_options): run uname() only if
11643 <sys/utsname.h> and uname(2) exist.
11644
11645 * amd/rpc_fwd.c (fwd_packet): if remote host is down, the
11646 forwarding socket is null, so declare this an error.
11647
11648 * include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
11649 for when a remote host is down. Try, in order, "host down", "host
11650 unreachable", "invalid argument".
11651
11652 * amd/ops_nfs.c (discard_fh): don't dereference a null pointer
11653 (happens when remote host is down, and fp->fh_fs is NULL).
11654 (prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
11655 and FSF_DOWN.
11656
11657 * amd/sched.c: nobody uses "union wait" any more, or so it
11658 appears, so clean up that code.
11659
11660 * conf/transp/transp_tli.c (get_nfs_version): if remote host is
11661 down, time it out faster than default (3 seconds).
11662 (get_mount_client): free netconfig entry when done with it.
11663
11664 * conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
11665 port to nextstep3 (m68k-next-nextstep3).
11666
11667 * fsinfo/Makefile.am (LDADD): needs to link with libamu in case
11668 system does not have strdup().
11669
11670 * include/am_defs.h: complete external definition for getlogin()
11671 if needed.
11672
11673 * conf/transp/transp_tli.c (get_nfs_version): no need to keep
11674 static versout variable.
11675
11676 * amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
11677 server is probably down. Don't use sendto() in that case.
11678
11679 * buildall (default): run gmake if found, before trying plain
11680 make. GNU make is always preferable.
11681
11682 Tue Aug 12 21:23:58 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11683
11684 * aux/macros/host_macros.m4: cleanup of os_version and os
11685 overrides. Solaris 2.5.1 for example will come up as solaris2 and
11686 2.5.1, rather than sunos5 and 5.5.1. Both can be overridden in
11687 the amd.conf file.
11688
11689 Fri Aug 8 14:37:30 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11690
11691 *******************************************************************
11692 *** Released am-utils-6.0a9 ***
11693 *******************************************************************
11694
11695 Thu Aug 7 00:52:14 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11696
11697 * conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
11698 (i486-ncr-sysv4.3.03) headers. Needed to complete missing stuff
11699 from <ndbm.h> and <sys/resource.h>.
11700
11701 * scripts/amd.conf.5: new map page.
11702
11703 * amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
11704 does not.
11705
11706 * amd/amd.8: updated man page.
11707
11708 * amd/get_args.c (get_args): removed defunct -h option to amd.
11709
11710 * amq/amq.8: updated man page.
11711
11712 * amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
11713 SparcCompiler CC won't complain.
11714
11715 * amd/info_hesiod.c (hesiod_search): small fixes to compile with
11716 hesiod-1.3, as per Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>.
11717
11718 * aux/macros/opt_ldflags.m4: new option added to configure
11719 --enable-ldflags, to specify -L option for configuring/compiling.
11720 The older one --enable-libs is now to be used only for -l options.
11721
11722 * amd/ops_nfs.c (mount_nfs_fh): bug fixed. Should initialize
11723 nc_protoname from nfs_proto if available for all TLI systems, not
11724 just those that have NFS V3.
11725
11726 * amd/info_ldap.c: ldap patches from Leif Johansson
11727 <leifj (a] matematik.su.se>, adding two new amd.conf ldap variables:
11728 ldap_cache_seconds and ldap_cache_maxmem.
11729
11730 * hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
11731 htons().
11732
11733 Sun Aug 3 17:20:05 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11734
11735 * amd/nfs_start.c (mount_automounter): register amd with the rpc
11736 program number that may have been overridden by amd.conf.
11737
11738 * libamu/xutil.c (set_amd_program_number, get_amd_program_number):
11739 allow storing and retrieving alternate amd program numbers.
11740
11741 * amd/conf.c (gopt_portmap_program): new function to parse
11742 amd.conf entry portmap_program=1234.
11743
11744 * amq/amq.c (main): allow specifying an alternate rpc program
11745 number for amd via -P prognum.
11746
11747 * new amq RPC to get the process id of the running amd. This is
11748 used in ctl-amd to quickly find the pid of the amd that is to be
11749 killed.
11750
11751 * expanded shared libraries support. Using GNU libtool-1.0,
11752 am-utils now builds shared libraries on many platforms that have
11753 support for it and proper compilers/linkers. See "INSTALL" file
11754 for compatibility chart.
11755
11756 Thu Jul 31 13:07:23 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11757
11758 * fsinfo/fsi_lex.l: removed code that was in support of very old
11759 versions of flex. No longer needed.
11760
11761 Tue Jul 29 12:00:13 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11762
11763 * amd/amd.c (init_global_options): find the kernel architecture
11764 from uname() if possible.
11765
11766 Mon Jul 28 03:53:59 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11767
11768 * new working port: i386-unknown-openbsd2.1
11769
11770 Fri Jul 25 03:16:31 1997 Erez Zadok <ezk (a] felix.psl.cs.columbia.edu>
11771
11772 * working port: sparc-sun-solaris2.4. Had to fix fhandle_t from
11773 structure to actual char[], because the structure was passed to
11774 xdr_fhandle as data and not a pointer. Surprisingly, gcc
11775 -fpcc-struct-return did not help.
11776
11777 * conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
11778 definitions for solaris 2.4 have to be different from 2.3, and
11779 different from 2.5.
11780
11781 * libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
11782
11783 Thu Jul 24 16:22:39 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11784
11785 * conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
11786 types, not ==. Fix from Christos Zoulas <christos (a] deshaw.com>.
11787
11788 * mk-amd-map/mk-amd-map.8: man page taken from bsd44.
11789
11790 Thu Jul 24 00:01:55 1997 Erez Zadok <ezk (a] moisil.cs.columbia.edu>
11791
11792 * conf/mount/mount_linux.c: made the nfs error mapping code into a
11793 small function.
11794
11795 Wed Jul 23 16:11:49 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11796
11797 * conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
11798 error mappings from errno numbers to NFS errors. From Debian
11799 Linux.
11800
11801 * scripts/am-eject.in (fs): new script (taken from Debian Linux
11802 folks) to auto-unmount floppy/cd devices before ejecting them.
11803
11804 * fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
11805 '5' as second arg to show_area_being_processed. I'm not sure why.
11806
11807 * fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
11808 second arg to show_area_being_processed. I'm not sure why.
11809
11810 * conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
11811 ensure that you have a buffer in *xopts to strcat onto.
11812 (mount_linux): fixed from Debian folks to ensure that NFS mount
11813 sockets are connected only for kernels prior to 1.3.10 (avoids
11814 hangs for multi-homed hosts).
11815
11816 * amd/mapc.c (make_entry_chain): from Debian folks: don't skip
11817 over amd map keys that have a prefix, and include the prefix in
11818 the returned readdir().
11819
11820 * amd/info_passwd.c (passwd_init, passwd_search): format
11821 enhancements from the Debian Linux folks. They added
11822 - var0:=pw-prefix:=anydir
11823 - var1:=pw-rhost:=dom3.dom2.dom1
11824 - var2:=pw-user:=user
11825 - var3:=pw-home:=/anydir/dom1/dom2/dom3/user
11826
11827 * new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
11828
11829 * amd/ops_afs.c (afs_retry): patches from Debian Linux. If
11830 afs_mount timed out, then explicitly forbid further retries after
11831 the timeout. (afs_bgmount): bug fix from Debian Linux. Timeout
11832 values (17 and 5) were mistakenly swapped.
11833
11834 Wed Jul 23 15:53:25 1997 Erez Zadok <ezk (a] felix.psl.cs.columbia.edu>
11835
11836 * conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
11837 support for Solaris 2.4 (the header files incorrectly define parts
11838 of the NFS V.3 protocol, but the kernel does not support it).
11839
11840 Wed Jul 23 00:07:12 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11841
11842 * amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
11843 for determining if using old or new hesiod libraries,
11844 respectively.
11845
11846 * amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
11847 V.3 then use non-connected sockets (both TCP and UDP). Otherwise
11848 they cause hangs of mounts from multi-homed hosts when the return
11849 route is not the same as the outgoing route (esp. on NetBSD
11850 1.2.1). If "conn" option was supplied, then don't turn on the
11851 "noconn" mount option. Otherwise default to "noconn" mount
11852 option.
11853
11854 * aux/configure.in: better check for systems that need libgdbm and
11855 <ndbm.h>
11856
11857 Tue Jul 22 04:02:05 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11858
11859 * hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
11860 mounts are hidden from df(1) on systems that keep mount tables in
11861 kernel, such as osf1.
11862
11863 Tue Jul 22 02:26:55 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11864
11865 *******************************************************************
11866 *** Released am-utils-6.0a8 ***
11867 *******************************************************************
11868
11869 Mon Jul 21 21:33:19 1997 Erez Zadok <ezk (a] stone.mcl.cs.columbia.edu>
11870
11871 * hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
11872 AF_INET when hlfsd mounts itself, thus getting an errno "protocol
11873 family not supported".
11874
11875 Mon Jul 21 20:46:59 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11876
11877 * verified that amd on NetBSD 1.2.1 (i386) works, but the OS
11878 itself is flaky.
11879
11880 * verified that amd AIX 3 works w/ the new readdir() code.
11881
11882 Mon Jul 21 18:59:30 1997 Erez Zadok <ezk (a] chestnut.mcl.cs.columbia.edu>
11883
11884 * amd/mapc.c (maptypes): changed the default map caching type for
11885 nis and ndbm maps to "MAPC_ALL", so that all possible entries will
11886 be available to amd for browsable_dirs=yes.
11887
11888 Mon Jul 21 18:04:16 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11889
11890 * amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
11891 afs_readdir into a browsable version and a non-browsable one.
11892 Fixed bugs that resulted in an infinite nfs_readdir loop on the
11893 localhost for some operating systems.
11894
11895 Sat Jul 19 19:38:38 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11896
11897 * amd/ops_afs.c (afs_readdir): fixed up the browsable code to
11898 comply with nfs_readdir specs. It was returning all entries at
11899 once, even if there was not enough space in the RPC packet. Now,
11900 it sends a reasonably sized chunk, and sets static state to resume
11901 it for the next continuation RPC of readdir.
11902
11903 * amd/conf.c (set_conf_kv): fixed bug that resulted in the first
11904 regular map not getting all of the [global] options defaulted from.
11905
11906 Fri Jul 18 00:45:12 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11907
11908 * amq/amq.c (main): fixed so that portmapper "ping" will only fail
11909 upon an RPC timeout
11910
11911 * scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
11912 amd/hlfsd process to kill.
11913
11914 * amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
11915 determine how to avoid df from seeing amd's toplvl mounts. Moved
11916 from libamu/mount_fs.c and include/am_utils.h. Ensure that hlfsd
11917 is hidden from df.
11918 (mount_toplvl): fixed df types for irix.
11919
11920 Thu Jul 17 21:59:45 1997 Erez Zadok <ezk (a] americas.psl.cs.columbia.edu>
11921
11922 * amq/amq.c (main): fixed bug that caused the 5 second timeout for
11923 TLI amq using udp to be ignored.
11924 (main): if amq cannot contact remote host's portmapper within 5
11925 seconds, timeout and fail faster than the default longer timeout
11926 (this is for non-TLI systems).
11927
11928 Thu Jul 17 17:08:13 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11929
11930 * amq/amq.c (get_secure_amd_client): if amq cannot contact
11931 remote host's portmapper within 5 seconds, timeout and fail faster
11932 than the default TLI timeout of over 4 minutes.
11933
11934 * amd/am_ops.c (ops_showfstypes): added styles for new bsd44
11935 file systems nullfs, unionfs, and umapfs.
11936 (ops_show1): cleanup code and and reuse this function.
11937 (vops): empty placeholders for nullfs, unionfs, and umapfs.
11938
11939 * amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
11940 bsd44 style file systems.
11941
11942 * fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
11943 sources.
11944
11945 * amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
11946 conflict with systems that define it in <sys/ioctl.h> and also
11947 define a conflicting one via lex. Newer versions of f/lex are ok.
11948
11949 Wed Jul 16 00:17:45 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11950
11951 * amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
11952 acdirmin/max and acregmin/max only if they exist.
11953
11954 * aux/configure.in: test for nfs_args fields acdirmin and
11955 acregmin.
11956
11957 Tue Jul 15 17:24:09 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11958
11959 * aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
11960 "nondev" and commented back in checking for "nodev". This was a
11961 typo.
11962
11963 * include/am_compat.h: more compatibility options: define "ro"
11964 mnttab option all the time. Define "overlay" as needed. Added
11965 more fillers of mnttab options (as per Daniel S. Riley
11966 <dsr (a] mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
11967 acregmin, noac, grpid, nosuid, and actimo.
11968
11969 * libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
11970 per dsr (a] mail.lns.cornell.edu (Daniel S. Riley). Then cleaned up
11971 the same code for other options in struct opt_tab.
11972
11973 Mon Jul 14 22:36:37 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11974
11975 * amd/get_args.c (get_args): moved amd.conf file parsing to before
11976 the switching the default log/debug options. Suggested by
11977 dsr (a] mail.lns.cornell.edu (Daniel S. Riley).
11978
11979 * aux/update_build_version: new script to record the build version
11980 of amd, along with the rest of the info thet comes up with amd -v.
11981
11982 Sun Jul 13 00:30:24 1997 Erez Zadok <ezk (a] decca.damtp.cam.ac.uk>
11983
11984 * aux/macros/os_cflags.m4: new macro, to add additional
11985 compilation options (also used during configuration), based on the
11986 OS and the compiler. Used for solaris-2.6, osf, and irix6.
11987
11988 Fri Jul 11 10:15:11 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11989
11990 * amd/conf_tok.l, conf_parse.y: allow values of keys to include
11991 white spaces, if they are double-quoted (key="some value")
11992
11993 * amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
11994 of hesiod from Danny Braniss <danny (a] cs.huji.ac.il>.
11995
11996 Fri Jul 11 02:16:06 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
11997
11998 *******************************************************************
11999 *** Released am-utils-6.0a7 ***
12000 *******************************************************************
12001
12002 Thu Jul 10 12:19:25 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12003
12004 * include/am_defs.h: fill in extern definition of innetgr() in
12005 case system headers don't.
12006
12007 * aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
12008 will show the full pathname to yacc/bison and f/lex. Some systems
12009 have older or bad versions of those and this way the user will
12010 know for sure what is being invoked.
12011
12012 * tasks: file populated with todo items.
12013
12014 * scripts/amd2ldif.in: Script to convert amd maps to plain text
12015 LDAP object files. Contributed by Leif Johansson
12016 <leifj (a] matematik.su.se>.
12017
12018 * aux/config.guess: added recognition for sun3's running 4.2bsd,
12019 from Tom Schmidt <tschmidt (a] micron.com>. Fixed one small typo.
12020
12021 * amd/conf.c: several variables that were local to a map, were
12022 also added to [global], where they apply to all maps. Each map
12023 can then individually override those defaults. Flags
12024 affected: browsable_dirs and mount_type. Options affected:
12025 map_type, map_options, and search_path.
12026
12027 * amd/amd.h: eliminated several global flags each of which took an
12028 int, in favor of one global flags variable used as a bit field.
12029
12030 * amd/amd.c (init_global_options): moved all global variables into
12031 a single struct amu_global_options, so it is easier to add new
12032 ones and/or identify existing ones.
12033
12034 * amd/get_args.c (get_args): removed unused amd -m option.
12035
12036 * amd/conf.c (gopt_cluster): added new amd.conf option for cluster
12037 name, same as amd -C.
12038
12039 * amd/info_ldap.c: LDAP info map functions from Leif Johansson
12040 <leifj (a] matematik.su.se>.
12041
12042 * amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
12043 amd.conf options for ldap_base and ldap_hostports.
12044
12045 * amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
12046 if the current host is in the ARG host netgroup.
12047
12048 * aux/configure.in: some systems replaced dbm in libc with GNU's
12049 libgdbm, so check for libgdbm, but only if dbm_open is not in
12050 libc already. This was a recommendation from Tom Schmidt
12051 <tschmidt (a] micron.com>.
12052
12053 * conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
12054 completed.
12055
12056 Wed Jul 9 18:14:59 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12057
12058 * port to sparc-unknown-netbsd1.2E done, not tested. Includes NFS
12059 V.3.
12060
12061 Tue Jul 8 17:35:07 1997 Erez Zadok <ezk (a] elk.mcl.cs.columbia.edu>
12062
12063 * port to i386-unknown-freebsd3.0 done and working. Includes NFS
12064 V.3.
12065
12066 * aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
12067 file handle dereferencing style similar to freebsd22.
12068
12069 * include/am_defs.h: need to include <net/if_var.h> before
12070 <netinet/if_ether.h> on freebsd3.
12071
12072 * conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
12073 for freeBSD 3.0.
12074
12075 Tue Jul 8 16:53:41 1997 Erez Zadok <ezk (a] moisil.cs.columbia.edu>
12076
12077 * amd/info_nis.c (nis_reload): cast nis' callback function so
12078 picky compilers won't complain.
12079
12080 * libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
12081 gets compiled only if the system has NFS V3 and does not have
12082 xdr_mountres3.
12083
12084 Tue Jul 8 12:42:03 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12085
12086 * COPYING: put in some legal stuff in this file.
12087
12088 Mon Jul 7 19:10:44 1997 Erez Zadok <ezk (a] prometheus.soscorp.com>
12089
12090 * NFS V3 now works under Irix5, thanks to patches from
12091 Andreas Stolcke <stolcke (a] speech.sri.com>.
12092
12093 * conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
12094 version and an irix6 version, since irix5's NFS V3 code is broken
12095 and hacky.
12096
12097 * amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
12098 sizes for some hesiod queries. Patch from Danny Braniss
12099 <danny (a] cs.huji.ac.il>.
12100
12101 Mon Jul 7 19:04:14 1997 Erez Zadok <ezk (a] glory.soscorp.com>
12102
12103 * amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
12104
12105 Sun Jul 6 14:22:24 1997 Erez Zadok <ezk (a] glory.soscorp.com>
12106
12107 * aux/{configure.in,acconfig.h}: added checks for struct
12108 nfs_args's fields proto and sotype (bsdi3).
12109
12110 * amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
12111 nfs_args.flags for bsdi3. Set field proto to 0. Set sotype field
12112 to SOCK_STREAM or SOCK_DGRAM.
12113
12114 * aux/macros/check_mount_style.m4: add case for bsdi3.
12115
12116 * amd/info_hesiod.c: got hesiod support for bsdi3.
12117
12118 Sun Jul 6 11:14:47 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12119
12120 * aux/configure.in: look for hesiod on libc (bsdi3)
12121
12122 * amd/get_args.c (get_args): reformat usage so it fits in 80
12123 columns.
12124
12125 * scripts/ctl-amd.in: changed directory name for optional tftpboot
12126 map to /tftpboot/.amd.
12127
12128 Sat Jul 5 17:46:45 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12129
12130 *******************************************************************
12131 *** Released am-utils-6.0a6 ***
12132 *******************************************************************
12133
12134 Sat Jul 5 03:17:09 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12135
12136 * scripts/ctl-amd.in: include -T tag for tftpboot.
12137
12138 * new port: mips-sgi-irix5.3. Compiled with gcc, but NFS V3 code
12139 is broken and needs work on the specific nfs_args that irix5 uses
12140 for V3 mounts.
12141
12142 Sat Jul 5 01:44:25 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12143
12144 * amd/get_args.c (get_args): new options amd -T tag. A map with
12145 tag=foo matching the -T tag will be processed. All untagged maps
12146 get processed all the time.
12147
12148 Fri Jul 4 16:19:26 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12149
12150 * aux/configure.in: need to check for strcasecmp in libucb (ncr2)
12151
12152 * aux/macros/check_os_libs.m4: a new macro to set the usage of
12153 libnsl and libsocket based on the OS.
12154
12155 * libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
12156 defined (problem on osf4).
12157
12158 * conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
12159
12160 * include/am_defs.h, aux/macros/try_compile_nfs.m4,
12161 aux/macros/mount_headers.m4: do include <sys/proc.h> because it
12162 failes on irix5. Rather, put in the individual
12163 conf/nfs_prot/nfs_prot_*.h headers.
12164
12165 * amd/conf.c: AIX3 doesn't like strdup() being passed a constant
12166 char*, so cast all strdup()'s args to a non-const char*.
12167
12168 * amd/mapc.c (root_newmap): don't try to strdup only a "const
12169 char *".
12170
12171 Fri Jul 4 15:47:10 1997 Erez Zadok <ezk (a] americas.psl.cs.columbia.edu>
12172
12173 * conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
12174 sys/errno.h.
12175
12176 Thu Jul 3 17:49:00 1997 Erez Zadok <ezk (a] prometheus.soscorp.com>
12177
12178 * made sure am-utils compiles, links, and runs properly on Irix
12179 6.2 using "cc -32 -Wl,-woff,"
12180
12181 * aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
12182 AC_CHECK_LIB. If OTHER-LIBRARIES are defined and used, then add
12183 them to $LIBS.
12184
12185 * aux/configure.in: some cleanup of which libraries are needed.
12186 Espectially ensure that libnsl is included only on Solaris, where
12187 so far it is the only system on which it is absolutely necessary.
12188 Also no longer need to include libc explicitly.
12189
12190 * amd/amd.c,wire-test/wire-test.c (main): convert IP address to
12191 network-long order before printing it.
12192
12193 * wire-test/wire-test.c (main): also check and report on the IP
12194 address of the local host, since some systems have bad versions of
12195 get_myaddress, or ones that conflict with other versions in
12196 multiple libraries (SunOS 4 and Irix especially).
12197
12198 Wed Jul 2 18:19:02 1997 Erez Zadok <ezk (a] starblazers.soscorp.com>
12199
12200 * scripts/ctl-amd.in: don't use full pathname so killproc() works
12201 better. Also run bsd44 and irix style ps programs.
12202
12203 * aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
12204 of library no matter if it was found or not.
12205
12206 Wed Jul 2 02:11:48 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12207
12208 * aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
12209 for M_* macros, but ensure that <sys/stream.h> is not included at
12210 all so it won't conflict with other M_* macros.
12211
12212 Tue Jul 1 21:16:51 1997 Erez Zadok <ezk (a] mako.cs.columbia.edu>
12213
12214 * conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
12215 irix should be "spec" (host:/path), not the dir of the mnt point.
12216
12217 * amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
12218 fixed. If on, it essentially ignored the setting in a
12219 selector-controlled /defaults if there were 2 or more entries in it.
12220
12221 Tue Jul 1 12:23:38 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12222
12223 * scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
12224 using BSD style ps, then try SVR4 style ps.
12225
12226 * include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
12227 etc., to avoid conflicts with similar named macros in <ldap.h>.
12228
12229 * aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
12230 support needed for LDAP. Now the code has to be written mostly in
12231 amd/info_ldap.c.
12232
12233 * Included additional patches from Andreas Stolcke
12234 <stolcke (a] speech.sri.com> to support using the best possible
12235 combination of NFS version (2,3) and protocol (udp,tcp) for any
12236 given host, since it appears that some Irix versions have NFS V3,
12237 but do not support TCP.
12238
12239 * scripts/ctl-amd.in: updated amd control script to look for and
12240 use amd.conf file.
12241
12242 Tue Jul 1 00:28:23 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12243
12244 * amd/mapc.c (mapc_create): now, each map in the amd.conf can be
12245 initialized off of a different type, or default to cycling through
12246 all maps until one of them matches.
12247
12248 Mon Jun 30 20:49:13 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12249
12250 * amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
12251 if browsable_dirs=yes is set in the map section in amd.conf, that
12252 map will return all entries back to a readdir(2).
12253
12254 Sun Jun 29 16:22:11 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12255
12256 * rudimentary amd.conf file support included. You may even
12257 override things like os=sos5, to get "backwards" compatibility with
12258 upl102.
12259
12260 Sat Jun 28 13:35:02 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12261
12262 * amd/conf.c: new file to process amd.conf file.
12263
12264 * amd/get_args.c (get_args): new options -H to print help.
12265
12266 * moved enable_default_selectors to be amd.conf controlled, and
12267 not compiler controlled.
12268
12269 * amd/get_args.c (get_args): new options -F <conf-file> to parse an
12270 amd configuration file.
12271
12272 Wed Jun 25 23:15:42 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12273
12274 * converted all files that used strcmp() == 0 or != 0 to using
12275 the STREQ() macro.
12276
12277 Mon Jun 23 22:31:14 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12278
12279 * aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
12280 search for any number of functions in any given library.
12281
12282 Mon Jun 23 01:04:23 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12283
12284 * amd/mapc.c: Included patch from Leif Johansson
12285 <leifj (a] matematik.su.se> to ensure that systems without an RE
12286 library can compile.
12287
12288 * libamu/mount_fs.c (mount_fs): Included patch from Andreas
12289 Stolcke <stolcke (a] speech.sri.com>, to ensure that mount options on
12290 table are properly delimited by a comma.
12291
12292 * amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
12293 Stolcke <stolcke (a] speech.sri.com>, to allow users to override the
12294 proto= and vers= mount options.
12295
12296 Sun Jun 22 01:00:11 1997 Eric Dana (edana (a] ncr2.bgs.com)
12297
12298 * conf/nfs_prot/nfs_prot_svr4.h: port completed to
12299 i486-ncr-sysv4.3.03. Assorted source cleanups done.
12300
12301 * include/am_defs.h, aux/macros/mount_headers.m4: don't include
12302 mnttab.h if sys/mnttab.h was already included, because on ncr2,
12303 they contain conflicting entries for struct mnttab.
12304
12305 Sat Jun 21 23:52:15 1997 Eric Dana (edana (a] ncr2.bgs.com)
12306
12307 * aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
12308
12309 Fri Jun 20 06:14:17 1997 Erez Zadok <ezk>
12310
12311 * amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
12312
12313 * aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
12314 on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
12315
12316 Wed Jun 18 18:59:49 1997 Erez Zadok <ezk (a] defiant.soscorp.com>
12317
12318 * aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
12319 nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
12320 better.
12321
12322 Tue Jun 10 17:06:58 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12323
12324 * amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
12325 NULL, set the maxlen and len fields in netbuf to zero.
12326
12327 Wed May 28 22:52:28 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12328
12329 * scripts/fix-amd-map.in (name): replace all matching patterns on
12330 line.
12331
12332 Sun May 25 19:33:41 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12333
12334 *******************************************************************
12335 *** Released am-utils-6.0a5 ***
12336 *******************************************************************
12337
12338 Sun May 25 13:37:24 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12339
12340 * amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
12341 procedure now returns the full string that amd -v returns.
12342
12343 * amd/get_args.c (get_version_string): new function to return
12344 complete version/info string so it could be used more flexibly.
12345
12346 * amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
12347 of Fs types into a string buffer, rather than a FILE*.
12348
12349 * amd/mapc.c (mapc_showtypes): put the list of map types into a
12350 string buffer, rather than a FILE*.
12351
12352 Sun May 25 01:25:36 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12353
12354 * amd/get_args.c (get_args): amd -v also prints user who built
12355 amd, hostname built on, and date of configuration.
12356
12357 Sat May 24 13:40:50 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12358
12359 * scripts/lostaltmail.conf-sample: sample lostaltmail
12360 configuration file.
12361
12362 * scripts/lostaltmail.in: new script lostaltmail used to redeliver
12363 "lost" mail that hlfsd redirected to a temp location because the
12364 primary home file system of the user was full.
12365
12366 * scripts/amd2sun.in: new script amd2sun. Used to convert Sub
12367 automount maps to amd maps.
12368
12369 * scripts/ctl-hlfsd.in: new script ctl-hlfsd. Used to start,
12370 stop, or restart hlfsd.
12371
12372 * scripts/expn.1: man page for expn command.
12373
12374 * scripts/ctl-amd.in: new script ctl-amd. Used to start, stop, or
12375 restart amd.
12376
12377 * scripts/expn.in: new script expn. Actually taken from David
12378 Muir Sharnoff <muir (a] idiom.com>. Used by hlfsd's mail re-delivery
12379 script.
12380
12381 * scripts/wait4amd.in: new script wait4amd added. Waits for amd
12382 to come up on a host, and then runs a command (rsh $hostname by
12383 default).
12384
12385 * scripts/Makefile.am: new directory now holds all shell/perl
12386 scripts that belong to am-utils.
12387
12388 * conf/mount/mount_linux.c (parse_opts): new parser for
12389 linux-specific mounts. Handles fs-type specific mount-options
12390 correctly. Currently implemented: msdos, iso9660.
12391
12392 * amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default
12393 (fix for linux).
12394
12395 * amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
12396 (fix for linux).
12397
12398 * amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
12399 core dumps upon "ls" of a mount point; an invalid pointer was
12400 being returned and dereferenced.
12401
12402 * port to Linux sparc working!
12403
12404 * hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
12405 failed to write test file, or else the fd will leak.
12406
12407 Sun May 18 00:42:41 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12408
12409 * amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
12410 instead of strcmp().
12411
12412 * Port to Digital Unix 4.0 (OSF) done.
12413
12414 * hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
12415 with dirname() function in <string.h> on OSF systems.
12416
12417 * fsinfo/fsi_util.c (set_ether_if): take out extern definition of
12418 inet_addr(). It should come from <arpa/inet.h> instead.
12419
12420 * conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
12421
12422 * include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
12423 avoid conflicts with DU 4.0 system header.
12424
12425 Thu May 15 22:49:12 1997 Erez Zadok <ezk (a] subzero.cs.columbia.edu>
12426
12427 * libamu/mount_fs.c (mount_fs): pass along NFS version so I can
12428 determine if to include additional options in the mount table file
12429 entry (such as proto=tcp, and vers=3).
12430
12431 Thu May 15 00:42:12 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12432
12433 * libamu/mount_fs.c (mount_fs): include NFS version number in the
12434 mount table options, as well as proto={tcp,udp}.
12435
12436 Wed May 14 14:30:19 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12437
12438 * NFS V3 code ported to most other systems, so it compiles for V2
12439 and V3 NFS systems.
12440
12441 * NFS VERSION 3 support, first pass. Working for Solaris and
12442 using TCP.
12443
12444 Sun May 11 01:14:29 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12445
12446 * amq/amq.c: many newline characters were missing from various
12447 stderr printfs.
12448
12449 Sat May 10 13:09:06 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12450
12451 * conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
12452 Solaris, which include NFS V3 support.
12453
12454 * conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
12455
12456 * conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
12457 protocol version while getting a mount client.
12458
12459 * amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
12460 file handle size, and proper file handle based on the correct NFS
12461 version number.
12462
12463 * conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
12464 Solaris and other SVR4 systems.
12465
12466 * amd/ops_nfs.c: store NFS file handle version and version
12467 specific handle in struct fh_cache.
12468 (got_nfs_fh): pick the correct RPC reply based on the NFS version
12469 of the server.
12470 (prime_nfs_fhandle_cache): figure out the right NFS file handle
12471 for a node, but now include NFS protocol version information.
12472 (call_mountd): set the correct version for the mount protocol,
12473 based on the NFS protocol version.
12474 (nfs_init): use the NFS protocol generic structure
12475 am_nfs_handle_t.
12476
12477 * include/am_utils.h: new structure am_nfs_handle_t to contain all
12478 possible versions of NFS file handles.
12479
12480 * amd/srvr_nfs.c (start_ping): ping program performs NFS version
12481 specific pings.
12482 (recompute_portmap): figure out the correct portmap version mount.
12483 (nfs_keepalive): call start_ping() with the correct NFS version.
12484 (find_nfs_srvr): if mount option "vers=" is given, use it. Get
12485 the NFS server version and verify that it is up.
12486
12487 * conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
12488 function to find the best NFS version for a particular host.
12489
12490 * libamu/amu.h: determine what is the highest version of NFS we
12491 should try.
12492
12493 * include/am_utils.h (NFS_VERSION3): added definition for NFS V3
12494 protocol number.
12495 Added field fs_version to struct fserver, so we can now store the
12496 server protocol version.
12497
12498 Fri May 9 01:09:45 1997 Erez Zadok <ezk (a] lorien.cs.columbia.edu>
12499
12500 * aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
12501 underscores too, so I can test for sub-fields.
12502
12503 * libamu/wire.c: use test that checks for sub-fields of struct
12504 ifreq.
12505
12506 Sat May 6 10:20:17 2000 Erez Zadok <ezk (a] glory.soscorp.com>
12507
12508 * port to BSD/OS 3.0 completed! Many xdr_ functions were broken
12509 into smaller files. M4 macros fixed to test for existence of
12510 file systems using getvfsbyname().
12511
12512 * amd/sched.c (sigchld): signal handler must waitpid() for all
12513 possible children.
12514
12515 * hlfsd/homedir.c: signal handler must waitpid() for all possible
12516 children.
12517
12518 * aux/macros/check_restartable_signals.m4: new macro to determine
12519 if need to reinstall signal handlers per OS is better than trying
12520 to figure these out based on system macros.
12521
12522 Fri May 5 19:23:28 2000 Erez Zadok <ezk (a] glory.soscorp.com>
12523
12524 * amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
12525
12526 * amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
12527
12528 * amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
12529 (must be supplied for bsdi 3.0)
12530
12531 * libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
12532 associated new macro) for determining the right way to compute the
12533 size of the interface structure.
12534
12535 Fri Apr 11 15:56:13 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12536
12537 * aux/configure.in: need to include libc before libnsl if
12538 get_myaddress() is available because on irix libnsl has a buggy
12539 get_myaddress().
12540
12541 * include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
12542 on Irix 6 (an SVR4 variant)
12543
12544 Thu Mar 27 02:28:40 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12545
12546 *******************************************************************
12547 *** Released am-utils-6.0a4 ***
12548 *******************************************************************
12549
12550 Wed Mar 26 21:15:36 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12551
12552 * amd/amq_subr.c (ok_security): turned off insecure code unless
12553 user explicitly runs configure --enable-amq-mount.
12554
12555 * hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
12556
12557 * amd/nfs_start.c (mount_automounter): use code that separately
12558 creates the NFS and the amq service. Register tcp and udp
12559 services for amd.
12560
12561 * conf/transp/transp_*.c (create_amq_service): new function to
12562 separately create the amq service for amd. Simplified prototypes
12563 for create_nfs_service().
12564
12565 Wed Mar 19 20:40:56 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12566
12567 *******************************************************************
12568 *** Released am-utils-6.0a3 ***
12569 *******************************************************************
12570
12571 Wed Mar 19 17:49:18 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12572
12573 * new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0. Lots
12574 of small changes to support these two.
12575
12576 Wed Mar 19 14:33:30 1997 Erez Zadok <ezk (a] grande.cs.columbia.edu>
12577
12578 * conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
12579 should run if MOUNT_TABLE_ON_FILE, not otherwise.
12580
12581 Mon Mar 17 22:02:43 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12582
12583 * hlfsd/hlfsd.c (main): fill in fhsize field if exists
12584 (freebsd-2.2).
12585
12586 * amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
12587 exists (freebsd-2.2).
12588
12589 Sat Mar 15 19:37:48 1997 Erez "HWank1" Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12590
12591 * new port: i386-unknown-freebsd2.2. FreeBSD 2.2 and higher
12592 changed the filehandle type in struct nfs_args from nfsv2fh_t to
12593 u_char.
12594
12595 Sat Mar 14 10:11:03 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12596
12597 * SHARED LIBRARIES: too many changes to list individually. Now,
12598 libamu can be built as a shared library, and other programs link
12599 with it.
12600
12601 Tue Mar 11 22:24:09 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12602
12603 * aux/macros/opt_shared.m4: new macro for setting options for
12604 building shared am-utils libraries.
12605
12606 Sun Mar 9 19:17:46 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12607
12608 * fixmount/fixrmtab: cleaned up the script.
12609
12610 * fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
12611 fixrmtab gets distributed too.
12612
12613 * conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
12614 Added extern for xdr_mountlist().
12615
12616 * aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
12617 MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
12618 the sources.
12619
12620 Sat Mar 8 00:23:58 1997 Erez Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12621
12622 * fixmount/hlfsd ported to bsd44, hpux, and linux systems.
12623
12624 * aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
12625
12626 * conf/fixmount/fixmount_default.c: use lockf() if flock() is
12627 unavailable.
12628
12629 * include/am_defs.h: include <string.h> even if don't have
12630 STDC_HEADERS defined (sunos4).
12631 (seteuid): define seteuid() to be setresuid() for systems that
12632 have but not the other (hpux).
12633
12634 * aux/macros/check_extern.m4: test should include <strings.h>.
12635
12636 Tue Mar 4 17:16:52 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12637
12638 * lib/xutil.c (debug_option): moved from amd/getargs.c to this
12639 more proper file.
12640
12641 * include/am_utils.h: put in structure for debug options, for all
12642 progams to use.
12643
12644 * amd/get_args.c: moved structure for debug options out.
12645
12646 Sun Mar 2 00:13:07 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12647
12648 * ported fixmount.
12649
12650 * lib/ualarm.c: replacement function for systems that don't have a
12651 ualarm().
12652
12653 * ported fsinfo.
12654
12655 Sun Mar 1 10:23:34 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12656
12657 * ported mk-amd-map.
12658
12659 * buildall: added -K option to buildall, to run mkconf.
12660
12661 Fri Feb 28 01:10:25 1997 Erez "HWank1" Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12662
12663 *******************************************************************
12664 *** Released am-utils-6.0a2 ***
12665 *******************************************************************
12666
12667 Thu Feb 27 13:58:59 1997 Erez "HWank1" Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12668
12669 * all *.[hcyl] files: add copyright line.
12670
12671 * aux/macros/check_mount_type.m4: test for mount type for
12672 linux-like systems, by checking for loadable or statically linked
12673 kernel filesystem modules.
12674
12675 * aux/macros/check_mnttab_type.m4: test for mount table entry
12676 for linux-like systems, by checking for loadable or statically
12677 linked kernel filesystem modules.
12678
12679 * aux/configure.in: pcfs filesystems can use vfat type (linux)
12680
12681 * aux/macros/check_fs_mntent.m4: test for filesystem existence for
12682 linux-like systems, by checking for loadable or statically linked
12683 kernel filesystem modules.
12684
12685 * conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
12686 9.0 header files. This should be removed when HPUX 9.0 is deemed
12687 defunct.
12688
12689 * aux/acconfig.h: set an undefined variable for having an extern
12690 to clnt_sperrno().
12691
12692 * include/am_defs.h: define extern for clnt_sperrno() if needed.
12693
12694 * aux/configure.in: test for extern clnt_sperrno().
12695
12696 * aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
12697 similar to irix.
12698
12699 * aux/macros/check_mount_style.m4: use mount helper on HPUX.
12700
12701 * aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
12702 not integer (but may be mapped to one later).
12703
12704 * conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
12705 files. They have mount(2) and vfsmount(2) which don't take same
12706 arguments, and they have string mount types MNTTYPE_* as well as
12707 integer types MOUNT_*. So I need this new mount function to map
12708 from string types to integer types for the vfsmount() function.
12709
12710 * conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
12711 vfsmount(), call mount_hpux().
12712
12713 Thu Feb 27 03:34:14 1997 Erez "HWank1" Zadok <ezk (a] okeeffe.cs.columbia.edu>
12714
12715 * lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
12716 both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
12717
12718 Thu Feb 27 00:26:00 1997 Erez "HWank1" Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12719
12720 * conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
12721 hpux.
12722
12723 * include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
12724
12725 * aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
12726
12727 * buildall: added ability to configure using other shells than
12728 /bin/sh, on those systems where /bin/sh is buggy or limited
12729 (HPUX).
12730
12731 * aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
12732 defined am_nfs_fh, and also test for plain typedef "nfs_fh".
12733
12734 * aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
12735 reinstated macro.
12736
12737 * aux/configure.in: check for <nfs/export.h>
12738
12739 * include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
12740
12741 * aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
12742 exists.
12743
12744 * aux/macros/mount_headers.m4 (define): removed some non-working
12745 (on HPUX) code that attempts to recreate the fhandle_t rather than
12746 load it up from system headers. Also added some NFS protocol
12747 header inclusion. include <nfs/export.h> (HPUX) if exists.
12748
12749 Wed Feb 26 00:32:35 1997 Erez "HWank1" Zadok <ezk (a] okeeffe.cs.columbia.edu>
12750
12751 * aux/macros/mount_headers.m4 (define): Use M4 changequote to
12752 ensure [] brackets are correctly used.
12753
12754 * aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
12755 multi-line M4 inclusions in [].
12756
12757 Tue Feb 25 22:19:44 1997 Erez "HWank1" Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12758
12759 * conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
12760 it exists.
12761
12762 * aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
12763 config.h macro for field f_fstypename of struct statfs.
12764
12765 * aux/configure.in: testing for field f_fstypename field of struct
12766 statfs (NetBSD).
12767
12768 * aux/acconfig.h: moved all of the "static" definitions out to a
12769 fixed file called include/am_defs.h. Added to all */Makefile.am
12770 files a dependency on am_defs.h. Created am_defs.h of course, and
12771 then added #include <amd_defs.h> to all of the source and header
12772 files that required it.
12773
12774 Mon Feb 24 01:27:02 1997 Erez Zadok <ezk (a] defiant.soscorp.com>
12775
12776 * aux/acconfig.h: two more externals for xdr functions that may be
12777 implemented by libamu.
12778
12779 * conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
12780 definitions.
12781
12782 Sun Feb 23 15:25:26 1997 Erez "HWank1" Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12783
12784 * buildall (default): added -D option for turning on even stricker
12785 developer options.
12786
12787 * */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
12788 determine dependencies on optional NFS protocol headers.
12789
12790 * aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
12791
12792 * aux/macros/check_nfs_prot_header.m4: new test to determine what
12793 NFS protocol headers to use.
12794
12795 * conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
12796 complete missing system headers for NFS protocol definitions.
12797
12798 Sun Feb 16 15:58:42 1997 Erez "HWank1" Zadok <ezk (a] vir.cs.columbia.edu>
12799
12800 * amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
12801 #ifdef's as needed.
12802
12803 * amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
12804 suitable #ifdef'ed.
12805
12806 * include/am_compat.h: a couple more mnttab options
12807 (timeo/retrans) setting just in case.
12808
12809 * amd/autil.c (host_normalize): make sure hostent->h_name is
12810 passed a non-const char *.
12811
12812 * conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
12813
12814 * {lib,amq,amd}/*.c (many functions): cast xdr_entry to
12815 XDRPROC_T_TYPE.
12816
12817 * lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
12818 XDRPROC_T_TYPE.
12819
12820 * lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
12821 XDRPROC_T_TYPE.
12822
12823 * lib/wire.c (getwire): Make sure safe assignment from const to
12824 none is done.
12825
12826 Sat Feb 15 19:38:51 1997 Erez "HWank1" Zadok <ezk (a] vir.cs.columbia.edu>
12827
12828 * aux/macros/expand_cpp_int.m4: new macro for expanding integers.
12829
12830 * aux/configure.in: added linux/fs.h support in configure and
12831 several M4 macros.
12832
12833 * conf/mount/mount_linux.c (mount_linux): use macro instead of
12834 "ugly" fixed hex number for mount() arguments.
12835
12836 Sat Feb 15 02:09:47 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12837
12838 * amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
12839 turned all of its code always on. That code always seems to
12840 compile, as long as you have hesiod and libresolv.
12841
12842 * amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
12843 of its code always on.
12844
12845 * aux/configure.in: removed superfluous test for hs_zone_transfer
12846 function (will never find it because it is an amd-internal
12847 function).
12848
12849 * amd/mapc.c (maptypes): must used correct new name for am-utils'
12850 hesiod initialization function: hesiod_am_init.
12851
12852 * amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
12853 hesiod_am_init so as not to conflict with libhesiod's
12854 hesiod_init() function.
12855
12856 * aux/configure.in: added test and explicit inclusion of
12857 libresolv.a for later resolution of library references with
12858 libhesiod.
12859
12860 * aux/macros/opt_cppflags.m4: new file. configure/compile C
12861 preprocessor flags.
12862
12863 * aux/macros/opt_libs.m4: new file. configure/compile library
12864 flags.
12865
12866 * Makefile.am (EXTRA_DIST_AUX): include two new macros
12867 opt_cppflags.m4 and opt_libs.m4.
12868
12869 * aux/configure.in: test for libhesiod needs to additional
12870 libresolv to link completely. Additional configuration time
12871 options added for setting initial CPPFLAGS and LIBS.
12872
12873 Tue Feb 10 02:15:40 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12874
12875 *******************************************************************
12876 *** Released am-utils-6.0a1 ***
12877 *******************************************************************
12878
12879 Thu Feb 6 02:55:19 1997 Erez "HWank1" Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
12880
12881 * amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
12882 it works on freebsd, where they map dbm_pagfno a non-existing
12883 macro on purpose, to force you to port the code to Berkeley DB.
12884
12885 Fri Jan 31 01:35:09 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12886
12887 * amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
12888 actual mount_toplvl, to avoid some possible race conditions.
12889
12890 Thu Jan 30 02:31:49 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12891
12892 * amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
12893
12894 Wed Jan 29 18:25:07 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12895
12896 * lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
12897
12898 * amd/amd.c (main): fix local address using htonl(). Free up
12899 buffers allocated by netdir_*() functions.
12900
12901 Wed Jan 22 23:53:24 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12902
12903 * amd/fix-amd-map.in: new script that will convert old-style amd
12904 maps to new one.
12905
12906 Tue Jan 21 01:18:16 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12907
12908 * FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
12909 and replies back to simple nfs/link type mount queries).
12910
12911 * conf/mtab/mtab_svr4.c: reorganized the code in this file to be
12912 easier to read, and fixed a few bugs with un/setting the lock file
12913 descriptor.
12914
12915 Wed Jan 8 15:27:49 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12916
12917 * amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
12918 signals in Svr3 systems. Only stellix ever used this.
12919
12920 * amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
12921 by DYNAMIC_BUFFERS, since it was not in use.
12922
12923 Tue Jan 7 00:45:59 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12924
12925 * amd/opts.c (eval_opts): removed AMD_COMPAT code. Amd no longer
12926 takes '=' sign as old selector. Fix your maps.
12927 (deslashify): removed APOLLO code that treated two '//' as one.
12928
12929 Sun Jan 5 01:25:09 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12930
12931 * amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
12932 was not used. It made any submount error fail the whole group.
12933
12934 * amd/ops_nfs.c (make_nfs_auth): removed code dependent on
12935 HAS_NFS_QUALIFIED_NAMES.
12936 (mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
12937 is never on. So code that was triggered by #ifndef
12938 NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
12939 be fixed later.
12940 Removed all ULTRIX_HACK code. Ultrix is DEAD!
12941 removed all PRESET_AC code, which was only on for Linux to preset
12942 the attribute cache values (otherwise they default to zero).
12943 (nfs_umounted): revobed KICK_KERNEL code (IRIX systems). Will
12944 have to fixed up later.
12945 (mount_nfs_fh): removed code that was never included, which
12946 attempted to set the port on which amd's nfs mounts on. This
12947 isn't supported by the ping algorithm yet. In any case, it is all
12948 done in nfs_init().
12949
12950 * amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
12951 removed HAS_TCP_NFS code. The whole use of NFS V.3 with TCP or
12952 specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
12953 have to be addressed later.
12954
12955 * amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
12956 on PRECISE_SYMLINKS.
12957
12958 * amd/mapc.c (mapc_meta_search): removed code that depended on
12959 HAS_DEPOT. It is known buggy code. The whole DEPOT support needs
12960 to be rethought.
12961 (mapc_add_kv): ported code to use standard regular expression
12962 (regexp) library.
12963
12964 * amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
12965 FLUSH_KERNEL_NAME_CACHE and the macro itself.
12966
12967 Sat Jan 4 15:46:58 1997 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12968
12969 * amd/map.c (exported_ap_alloc): removed all code triggered by
12970 SHRINK_EXPORTED_AP and the macro itself.
12971
12972 * amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
12973 in all the time. Assuming that there is always NIS realod
12974 available.
12975 (yp_all_fixed): removed code for BROKEN_YP_ALL. If your yp_all()
12976 function is broken such that it does not release filedescriptors
12977 it created, then you are hosed. Get a fix for yp_all from your
12978 vendor or switch operating systems.
12979
12980 Tue Dec 31 15:34:36 1996 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12981
12982 * amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
12983 HAVE_HS_ZONE_TRANSFER.
12984
12985 Mon Dec 30 17:33:23 1996 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
12986
12987 * amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
12988 always included. We should always try to inform the remove mount
12989 daemon of mounts we performed. If we want an option for this, it
12990 should be a run-time option.
12991
12992 * amd/host_ops.c: removed all that optionally did not make the
12993 directory mount points for amd.
12994
12995 * HOST_EXEC code removed from everywhere. There is no indication
12996 that it was used anywhere. If it needs to be used, then a
12997 run-time switch should control it.
12998
12999 Thu Dec 26 00:06:52 1996 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
13000
13001 * amd/*_ops.c: removed all references to mntent_t's fields
13002 mnt_freq and mnt_passno, since they are no longe rused (and never
13003 have been).
13004
13005 * amd/am_ops.c: removed function sunos4_match, which was off
13006 anyway. This was one of the places where an '=' sign was allowed
13007 as an assignment operator (which is now ':=').
13008
13009 * amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
13010 was off anyway. This was one of the places where an '=' sign was
13011 allowed as an assignment operator (which is now ':=').
13012
13013 Tue Dec 24 01:53:52 1996 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
13014
13015 * amq/amq.c: ported to am-utils. Working.
13016
13017 * conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
13018 to be string, as it should be (rather than a string mapped to int
13019 and back mapped to string).
13020
13021 Sun Dec 22 13:26:05 1996 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
13022
13023 * lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
13024
13025 * lib/umount_fs.c: split this into three files: default, osf, and
13026 bsd44, that are in conf/umount/umount_*.c.
13027
13028 Thu Dec 19 17:33:46 1996 Erez "HWank1" Zadok <ezk (a] lorien.cs.columbia.edu>
13029
13030 * aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
13031 macro to automatically figure out if an external definition for
13032 sys_errlist[] exists.
13033
13034 * lib/xutil.c (xfree): removed "#undef free" because it's not
13035 needed there. Any system that redefines free() needs help.
13036
13037 * conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
13038 was dependent on REWRITE_MTAB_IN_PLACE. It does not appear to be
13039 in active use anywhere. If added later, it should be a run-time
13040 configuration option.
13041
13042 * conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
13043 be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
13044 in a file in /etc.
13045
13046 * lib/util.c (str3cat): removed _AIX code. AIX should have a
13047 working realloc, or else find a cleaner solution to this.
13048 (mkdirs): removed SUNOS4_WORKAROUND code. This was to do a sync()
13049 after immediately making directories so that fsck will be able to
13050 fix the filesystem in the event of an immediate crash. This was
13051 because a bug in UFS which is fixed by now.
13052
13053 * lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
13054 code. Does not appear to be on and used anywhere.
13055 (dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
13056
13057 * lib/resvport.c: split the binding of reserved ports code to a
13058 separate file. A #define (HAVE_T_OPEN) separates the TLI (SVR4)
13059 from the BSD code.
13060
13061 Thu Dec 19 02:08:35 1996 Erez "HWank1" Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
13062
13063 * lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
13064 in by automake and configure, for optional sources that need to be
13065 built as part of libamu.a.
13066
13067 * aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
13068 to LIBOBJS.
13069
13070 * lib/memcmp.c (memcmp): new file added to replace a possible bad
13071 implementation of memcmp.
13072
13073 Wed Dec 18 22:20:23 1996 Erez "HWank1" Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
13074
13075 * converted the sources to use memset/memmove/memcmp instead of
13076 bzero/bcopy/bcmp.
13077
13078 * ran all sources through gnu Indent w/ options specified in
13079 aux/amindent.
13080
13081 Wed Dec 11 22:19:29 1996 Erez "HWank1" Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
13082
13083 * At this point the initial generation of config.h via autoconf and
13084 some preliminary makefiles via automake is done. I will not begin
13085 modifying sources, so it's a good time to document from here.
13086
13087 Wed Dec 10 22:19:29 1996 Erez "HWank1" Zadok <ezk (a] shekel.mcl.cs.columbia.edu>
13088
13089 *******************************************************************
13090 *** Initial ChangeLog Entry ***
13091 *******************************************************************
13092