Erez Zadok [Thu, 11 Aug 2005 10:44:52 +0000 (10:44 +0000)]
* amd/Makefile.am: f/lex libraries are incompatible with multiple
scanners, so don't link Amd with libl.a/libfl.a.
Daniel Ottavio [Thu, 11 Aug 2005 02:21:46 +0000 (02:21 +0000)]
* amd/sun_map_tok.l: Clean up regular expression so HPUX stops
whining.
Daniel Ottavio [Wed, 10 Aug 2005 01:39:19 +0000 (01:39 +0000)]
* amd/sun_map_parse.y: Moved license below special yacc bracket to
be portable with HPUX's yacc. Clean up externs.
* amd/sun_map_tok.l: Moved license below special lex bracket to be
portable with HPUX's lex. Fixed definitions to allow for a
non-flex lex to parse strings instead of files. Added some casts
to strlcpy usage to silence warnings. Moved the % options because
HPUX was complaining,
Daniel Ottavio [Tue, 9 Aug 2005 03:28:00 +0000 (03:28 +0000)]
* amd/sun_map_tok.l: Applied some definition goop to handle the
ECHO symbol that lex defines. This symbol causes problems on
RedHat-EL-powerPC platforms. Replaced strncpy with strlcpy.
Renamed the function sun_map_yyinput to sun_map_input. This
function is a utility function that is not generated by lex.
Therefore, the 'yy' may cause confusion.
LocalWords: Erez
Erez Zadok [Mon, 8 Aug 2005 19:36:45 +0000 (19:36 +0000)]
* amd/sun_map_tok.l: allocate more output slots so lex scanners
don't run out of memory.
* amd/sun_map_parse.y: declare extern for sun_map_parse().
* libamu/xutil.c (xsnprintf): ensure proper comparisons between
signed and unsigned quantities.
Erez Zadok [Sun, 7 Aug 2005 03:43:19 +0000 (03:43 +0000)]
* libamu/util.c, amd/autil.c (strsplit): moved strsplit() function
from Amd code to to libamu, so sun2amd could use it.
* amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man
page.
(EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files
* amd/sun2amd.8: placeholder for man page.
* amd/sun2amd.c: placeholder for C version of translator from Sun
syntax maps to Amd maps.
* */*.[0-9]: include file name in nroff source comment.
Erez Zadok [Sun, 7 Aug 2005 03:03:41 +0000 (03:03 +0000)]
* ALL: use '0' properly when assigning or passing it to functions.
If in the context pointer, use NULL. If in the context of a
single char (say within a string), the use '0'. This is just to
make the code clearer.
Erez Zadok [Sun, 7 Aug 2005 01:42:34 +0000 (01:42 +0000)]
align
Erez Zadok [Sun, 7 Aug 2005 01:37:26 +0000 (01:37 +0000)]
* m4/macros/header_templates.m4: template for HAVE_MAP_SUN.
* amd/mapc.c (maptypes): add placeholder for Sun-syntax map
methods.
* amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c
* amd/info_sun.c: placeholder for meta info parser to get info
from Sun automount-style /etc/auto_master, possibly following
into multiple info services (via /etc/nsswitch.conf).
Erez Zadok [Sun, 7 Aug 2005 01:25:33 +0000 (01:25 +0000)]
* libamu/xutil.c (xsnprintf): if vsnprintf truncated the output
string to avoid an overflow, print an error. Include some code to
break out any possible infinite loop between plog() and
xsnprintf().
(real_plog): now we can use (carefully) xsnprintf() directly.
Erez Zadok [Sun, 7 Aug 2005 00:58:05 +0000 (00:58 +0000)]
* amd/sun_map.[hc]: cleanup and formatting.
Erez Zadok [Sun, 7 Aug 2005 00:45:41 +0000 (00:45 +0000)]
* amd/sun_map_parse.y: to match the literal string "fstype=" use
double quotes, not single quotes.
Daniel Ottavio [Sun, 7 Aug 2005 00:33:12 +0000 (00:33 +0000)]
up comments, additional sun2amd conversion routines
* amd/get_args.c: replace usage of strlcat with xstrlcat
* include/am_utils.h: added 'extern void xstrlcat()'
* libamu/util.c: Added a xstrlcat() function that wraps the
syscall strlcat() so that string truncations can be logged.
Erez Zadok [Sun, 7 Aug 2005 00:00:12 +0000 (00:00 +0000)]
* amd/get_args.c (get_args): call conf_parse() using conf_in.
* amd/amd.h: use renamed parser symbols (yyparse -> conf_parse;
yyin -> conf_in).
* ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb,
and suggested by the Automake manual. This enhanced parser will
prefix each conflicting yacc/lex symbol with a unique name
produced from INPUT. For example, if INPUT is foo_parse.y, then
yyparse() becomes foo_parse(). This requires that both your .l
and corresponding .y files have the same prefix (e.g., foo_parse.y
and foo_tok.l).
* amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c
source files are built automatically, and therefore should not be
in the distro (IMHO), and should be cleaned upon "make clean".
(amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files.
* ylwrap: new file needed because we have two parsers now.
* amd/sun_map_{parse.y,tok.l}: cleanup and formatting.
Erez Zadok [Sat, 6 Aug 2005 23:28:10 +0000 (23:28 +0000)]
ylwrap is needed b/c we have two parsers
Erez Zadok [Sat, 6 Aug 2005 20:43:18 +0000 (20:43 +0000)]
format/spel changelog
Daniel Ottavio [Sat, 6 Aug 2005 20:18:04 +0000 (20:18 +0000)]
* amd/sun_map.c: new soruce file for Sun style map support, clean up comments
* amd/sun_map_parse.y: new yacc file for parsing Sun style maps,
fix copyright notice, put filename below license
* amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix
copyright notice, put filename below license
Erez Zadok [Sat, 6 Aug 2005 20:00:56 +0000 (20:00 +0000)]
they don't cause symbol conflicts with each other.
enabled. For each entry line that is passed to the function a
copy of the Amd equivalent is returned.
* amd/info_file.c (file_search, file_reload): pass mnt_map to
file_search_or_reload.
(file_search_or_reload): ensure that mnt_map is never NULL.
* amd/info_nis.c (nis_search): call sun_entry2amd() if
sun_map_syntax=yes.
* amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if
sun_map_syntax=yes.
* amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if
sun_map_syntax=yes.
* amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm.
(search_ndbm): call sun_entry2amd() if sun_map_syntax=yes.
* amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if
sun_map_syntax=yes.
* amd/info_exec.c (exec_search): pass mnt_map to
exec_parse_qanswer.
(exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes.
Daniel Ottavio [Sat, 6 Aug 2005 19:45:07 +0000 (19:45 +0000)]
* amd/Makefile.am: Added new files sun_map.h, sun_map.c,
sun_map_parse.y, and sun_map_tok.l. These files add support for
parsing Sun style maps. The yacc/lex files needed custom rules so
they don't cause symbol conflicts with each other.
* amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the
line limit for info services.
* amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN
* amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN,
added support for parsing Sun style maps. The support for Sun
maps is done using the sun_entry2amd() function. This function is
called for each entry line that is read only when Sun parsing is
enabled. For each entry line that is passed to the function a copy of
the Amd equivalent is returned.
* amd/sun_map.h: new header file for Sun style map support
* amd/sun_map.c: new soruce file for Sun style map support
* amd/sun_map_parse.y: new yacc file for parsing Sun style maps
* amd/sun_map_tok.l: new lex file for parsing Sun style maps
Erez Zadok [Sat, 6 Aug 2005 18:58:45 +0000 (18:58 +0000)]
* doc/am-utils.texi (sun_map_syntax Parameter): document new
common parameter.
* scripts/amd.conf.5: selectors_in_defaults is a common parameter,
not just [global]. Use consistent capitalization of Amd/Amq.
Document new sun_map_syntax parameter.
* scripts/amd.conf-sample: properly list all of the parameters
which are common to both the [global] and the per-map sections.
(sun_map_syntax): example of new parameter.
* doc/am-utils.texi (Common Parameters): selectors_in_defaults is
a common parameter, not just [global].
* scripts/amd.conf-sample (sun_map_syntax): example of new flag.
* amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse
sun_map_syntax flag (global or per map).
* amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the
map uses Sun automounter syntax.
Erez Zadok [Sat, 6 Aug 2005 17:17:13 +0000 (17:17 +0000)]
* cvs-server.txt: update instructions after branching 6.1-stable.
Erez Zadok [Wed, 3 Aug 2005 04:15:11 +0000 (04:15 +0000)]
start 6.1.2-rc1
Erez Zadok [Wed, 3 Aug 2005 02:14:26 +0000 (02:14 +0000)]
* libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is
vsprintf, not sprintf.
* conf/umount/umount_osf.c (umount_fs): refer to proper formal
parameter name.
(umount2_fs): pass second arg to umount().
Erez Zadok [Wed, 3 Aug 2005 01:11:15 +0000 (01:11 +0000)]
*******************************************************************
*** Released am-utils-6.1.1 ***
*******************************************************************
Erez Zadok [Wed, 3 Aug 2005 00:35:34 +0000 (00:35 +0000)]
* ALL: remove CVS ID and put actual file name in source.
Erez Zadok [Wed, 3 Aug 2005 00:19:20 +0000 (00:19 +0000)]
* conf/autofs/*.[hc]: proper copyright headers.
Erez Zadok [Wed, 3 Aug 2005 00:01:34 +0000 (00:01 +0000)]
* whitespace reformatting. Remove remaining '%W%' SCCS IDs.
Erez Zadok [Tue, 2 Aug 2005 23:56:00 +0000 (23:56 +0000)]
srvr_nfs.c RCS ID
Erez Zadok [Tue, 2 Aug 2005 23:39:32 +0000 (23:39 +0000)]
proper changelog date format
Erez Zadok [Tue, 2 Aug 2005 22:48:28 +0000 (22:48 +0000)]
* amd/mntfs.c (free_mntfs): don't discard the last reference to an
mntfs that had been mounted already. It won't have the
MFF_RESTARTED flag on, as it gets turned off after the entry is
mounted, but it will have the MFF_RSTKEEP flag on.
* amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs):
show the mntfs's flags.
Erez Zadok [Tue, 2 Aug 2005 01:28:57 +0000 (01:28 +0000)]
* conf/mtab/mtab_linux.c: removed unused code. Cleanup.
(handler): removed this bad signal handler.
(lock_mtab): Redhat's original code set a signal handler called
"handler()" for all non-ALRM signals. The handler called
unlock_mntlist(), plog'ed the signal name, and then exit(1)!
Never, ever, exit() from inside a utility function. This messed
up Amd's careful signal-handling code, and caused Amd to abort
uncleanly only any other "innocent" signal
(even simple SIGUSR1), leaving behind a hung Amd mnt point. That
code should have at least restored the signal handlers' states
upon a successful mtab unlocking. Anyway, that handler was
unnecessary, because will call unlock_mntlist() properly anyway on
exit.
* conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog
message that we're inside the unlock_mntlist function.
* amd/amd.c (main): use new setup_sighandler() for Amd's four main
signals (INT, TERM, HUP, and CHLD).
(main) Add SIGINT and SIGTERM to masked_sigs, used in
nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set
to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we
HAVE_SIGACTION. So this change makes Amd behave consistently.
* include/am_utils.h: extern for new setup_sighandler().
* libamu/xutil.c (setup_sighandler): new utility function to setup
a single signal-handler regardless of what method is supported by
this OS.
(going_down): call unlock_mntlist() when exiting, to ensure that
Amd will remove any leftover mtab lock files, if any.
* amd/restart.c (restart_automounter_nodes): cleanup function.
Erez Zadok [Mon, 1 Aug 2005 21:45:17 +0000 (21:45 +0000)]
* minor new port: i386-pc-linuxoldld-deb3.1.
* configure.in: include <sys/types.h> before <linux/socket.h> to
get the definition of size_t on Debian-3.1r0a.
Erez Zadok [Fri, 29 Jul 2005 10:47:19 +0000 (10:47 +0000)]
* amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent
IP address. First check if it differs from the existing one of
the fserver, and copy only if it changed. If it did change, flush
the fhandle cache to avoid a stale fhandle being reused. This
allows Amd to detect IP address changes even for an fserver that
lost one or more NFS pings, but not enough to be declared totally
down. We handle the "totally down" fserver case in
check_fs_addr_change().
* amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task),
amd/nfs_subr.c (nfs_quick_reply): code clarity.
* conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of
errnos to NFS errors.
* conf/umount/umount_linux.c (umount2_fs): cleanup code. Trying
stat() seems doomed to hang at times, so don't try stat at all,
because umount2() appears to be clever enough to never hang.
Erez Zadok [Tue, 26 Jul 2005 03:31:08 +0000 (03:31 +0000)]
* amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
particular fserver may need forced/lazy unmounts when it's mntfs's
are unmounted.
* amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
the user specified forced_unmounts=yes in amd.conf, and this
fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
forced/lazy unmounts, then try forced/lazy unmounts. This should
allow a hung mount point to be removed.
* amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
detection code to its own function.
(check_fs_addr_change): new function to detect if the IP address
of a downed host has changed, and do various cleanups and fixups
to try and recover as best from that situation (e.g., flushing
various caches). Also set the FSF_FORCE_UNMOUNT flag for the
fserver in question.
(flush_srvr_nfs_cache): pass fserver as argument, so we can
selectively flush the NFS cache for a single fserver (or all of
them, if you pass NULL).
Erez Zadok [Tue, 26 Jul 2005 01:48:12 +0000 (01:48 +0000)]
* libamu/xutil.c (switch_to_logfile): truncate a regular-file log
file if user passed non-zero "truncate_log" flag.
* include/am_utils.h: switch_to_logfile() now takes a 3rd arg.
* amd/get_args.c (get_args): pass "truncate_log" flag as per
amd.conf global settings.
* amd/conf.c (gopt_truncate_log): store global value of
truncate_log flag.
* amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main,
reload): don't truncate log file when calling switch_to_logfile().
* amd/amd.h (CFM_TRUNCATE_LOG): new flag. Fix comment typo.
* NEWS, doc/am-utils.texi (truncate_log Parameter),
scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document
new truncate_log amd.conf parameter.
Erez Zadok [Mon, 25 Jul 2005 23:49:41 +0000 (23:49 +0000)]
* amd/conf.c (gopt_forced_unmounts): check Linux kernel version
and alert if your version may be too old for MNT_FORCE to work
(before 2.4.0) or for MNT_DETACH to work (before 2.6.0).
Otherwise it may be impossible to pin down the exact kernel
version in which we should enable this feature.
* conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned
EBUSY, then don't try to stat(2) before MNT_DETACH because it
could hang.
Erez Zadok [Thu, 21 Jul 2005 05:22:47 +0000 (05:22 +0000)]
* conf/umount/umount_linux.c (umount_fs): cleanup this function,
breaking long "if" statements using "goto out".
* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs):
call new utility function umount2_fs() as needed (EBUSY, EIO, or
ESTALE).
* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs):
define a new utility function to invoke forcible/lazy unmounts
without touching any mtab files. This separate utility function
is useful because it can be called from elsewhere.
* amd/amfs_toplvl.c (amfs_toplvl_init): new function, called
before Amd mounts toplvl mounts, which gives us a hook for cleanup
of a previously dead Amd. In our case, if the user asked for
forced_unmounts, and the OS supports it, then we try forced/lazy
unmounts on any previous toplvl mounts. This is useful if a
previous Amd died and left behind toplvl mount points (this Amd
will clean them up!). WARNING: Don't use forced/lazy unmounts if
you have another valid Amd running, because this code WILL force
those valid toplvl mount points to be detached as well!
* amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally
try forced/lazy unmounts because it will prevent a normal Amd from
terminating and cleaning up properly (self-deadlocking: detached
mounts hang the parent Amd on a stat). Since we already do
unmounts in the background, then try a safer policy: after trying
the normal unmounts a few times (5 sec), escalate and try forced
unmounts a few times (5 more seconds), and if even that failed,
then try the ultimate -- detached unmounts (which always succeed).
This allows Amd to first try and shutdown cleanly, and gradually
try more forcible ways to shutdown. On Linux, this procedure will
cleanly shutdown Amd even if there are processes with their CWD on
Amd's mount points (which normally result in EBUSY).
* Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro.
* conf/umount/umount_aix.c: easier if AIX has its own unmount
helper file.
* m4/macros/check_umount_style.m4: AIX needs its own unmount style
file.
Erez Zadok [Thu, 21 Jul 2005 00:50:02 +0000 (00:50 +0000)]
* doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
Erez Zadok [Wed, 20 Jul 2005 21:43:28 +0000 (21:43 +0000)]
minor NEWS typo
Erez Zadok [Wed, 20 Jul 2005 03:32:30 +0000 (03:32 +0000)]
* conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
forced-unmount flag.
* conf/umount/umount_default.c (umount_fs): if regular umount got
EBUSY, EIO, or ESTALE, then try forced unmount, if supported. Try
umount2 (Solaris) or uvmount (AIX).
* conf/umount/umount_{bsd44,osf}.c (umount_fs): if default
umount() failed with EIO or ESTALE, also try forced unmount.
* amd/autil.c (amfs_mount), amd/amfs_toplvl.c
(amfs_toplvl_umount): enable forced/lazy unmounts only if user
asked for it (and dlog it).
* scripts/amd.conf.5: document new force_unmount global parameter.
* doc/am-utils.texi (forced_unmounts Parameter): document new
global parameter.
* amd/conf.c (gopt_forced_unmounts): process forced_unmounts
option (default "no"). Exit with an error if user specified the
option as "yes" but configure couldn't find support for either the
MNT_FORCE or MNT_DETACH flags.
* scripts/amd.conf-sample (forced_unmounts): example usage of new
option.
* amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts
option.
* m4/macros/header_templates.m4: templates for _DETACH and _FORCE.
* configure.in: check for generic u/mount options "detach" and
"force".
* include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes.
Define AMU_UMOUNT flags for force, detach, and autofs.
* amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH
unmount flags unconditionally. Pass them to UMOUNT_FS().
* conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH
if needed, because some Linux systems don't define them
(presumably because it would be too dangerous to expose these
flags to users).
* amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO,
then assume that we're in trouble, possibly because a previous
mount is hung. So, first try to force a lazy unmount of the old
mount. If the forced unmount worked, then try again to mount the
desired file system. If the forced unmount failed, then don't
retry: just return an error.
* amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c
(amfs_host_umount), amd/ops_cachefs.c (cachefs_umount),
amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount),
amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount),
amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount),
amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c
(umount_fs), conf/umount/umount_default.c (umount_fs),
conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c
(umount_fs): compute and use unmount specific flags.
Erez Zadok [Tue, 19 Jul 2005 00:31:43 +0000 (00:31 +0000)]
also fix speling errors and a typo
Erez Zadok [Tue, 19 Jul 2005 00:06:13 +0000 (00:06 +0000)]
silly whitespace
Erez Zadok [Sat, 16 Jul 2005 17:19:47 +0000 (17:19 +0000)]
* configure.in: better help for users, if nfs_args can't be found.
Erez Zadok [Fri, 15 Jul 2005 18:32:02 +0000 (18:32 +0000)]
* BUGS: more details on AIX's need to install bos.net.nfs.adt
before configuring am-utils (else configure cannot find struct
nfs_args on AIX).
Erez Zadok [Mon, 11 Jul 2005 01:55:28 +0000 (01:55 +0000)]
* amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
address of a down server had changed.
* amd/info_union.c (union_reload): use safer xsnprintf() routine.
Erez Zadok [Sun, 10 Jul 2005 21:41:48 +0000 (21:41 +0000)]
* amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
of a named but down fserver changed (i.e., the previous IP address
is no longer responding). If so, then reset the fserver to the
new IP address, and set the fserver's flags such that the function
will fall through to doing the usual NFS version/proto checks and
pinging. (This should fix one case of bug #308.)
* conf/umount/umount_linux.c (umount_fs): warn if plain umount()
failed, before we try to ignore any errors or try optional
umount2(), possibly with forced/lazy unmount.
(umount_fs): dlog when unmount succeeded.
Erez Zadok [Sat, 9 Jul 2005 19:41:06 +0000 (19:41 +0000)]
* conf/mount/mount_linux.c: add a couple more NFSv2 error codes
that are compatible with NFSv3.
Erez Zadok [Thu, 7 Jul 2005 23:34:23 +0000 (23:34 +0000)]
* m4/macros/header_templates.m4: extern template for strlcat().
* amd/get_args.c (get_version_string): use safer strlcat (or
replacement strlcat). Use new wrapper xsnprintf() function, which
will use the safer vsnprintf() if available, else default to plain
sprintf.
* configure.in: check for existence of strlcat() and its extern,
replacing with libamu/strlcat.c as needed.
* libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro.
* include/am_defs.h: optional strlcat() extern.
* include/am_utils.h: extern for new xvsnprintf().
Check for snprintf function and extern.
Erez Zadok [Thu, 7 Jul 2005 22:29:26 +0000 (22:29 +0000)]
* configure.in: overdue new major libtool shlib version.
Erez Zadok [Wed, 6 Jul 2005 22:51:45 +0000 (22:51 +0000)]
NEWS item
Erez Zadok [Wed, 6 Jul 2005 22:34:26 +0000 (22:34 +0000)]
* conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
aix4_nfs_args_bis.
* Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in
distribution.
* conf/mount/mount_aix.c: mount style for aix 5.x and newer.
* conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x.
* m4/macros/check_mount_style.m4: split mount styles for
aix3.x/4.x and the newer (and better) aix 5.x code.
Erez Zadok [Tue, 5 Jul 2005 17:45:37 +0000 (17:45 +0000)]
* amq/pawd.c (getawd): avoid buffer overflow. Bug fix from Graeme
Wilford <G.Wilford@surrey.ac.uk>.
Erez Zadok [Thu, 30 Jun 2005 14:59:08 +0000 (14:59 +0000)]
NEWS note
Erez Zadok [Thu, 30 Jun 2005 14:58:22 +0000 (14:58 +0000)]
* amd/map.c (get_next_exported_ap): Avoid running off the end of
the exported_ap[] array. Patch from jon+amd-at-spock.org. Fixed
bug #301.
Erez Zadok [Sat, 25 Jun 2005 19:18:35 +0000 (19:18 +0000)]
* Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
Erez Zadok [Sat, 25 Jun 2005 19:03:05 +0000 (19:03 +0000)]
* conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
must come before C code.
Erez Zadok [Sat, 25 Jun 2005 18:15:32 +0000 (18:15 +0000)]
* conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
that's safe (uses locks, handles symlinks to /proc/mounts, etc.).
Patch from Red Hat, which they adapted from mtab_file.c. Minor
fixes to this file.
* m4/macros/check_mnttab_style.m4: Use Linux-specific mount table
handling.
Erez Zadok [Sat, 25 Jun 2005 02:25:36 +0000 (02:25 +0000)]
* conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
copying code.
Erez Zadok [Fri, 24 Jun 2005 00:48:59 +0000 (00:48 +0000)]
* conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
be missing from older hpux10 systems.
Erez Zadok [Fri, 24 Jun 2005 00:30:16 +0000 (00:30 +0000)]
* configure.in: update bug-reporting address to list
https://bugzilla.am-utils.org/ as well as the mailing list.
* Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4
Erez Zadok [Thu, 23 Jun 2005 23:46:03 +0000 (23:46 +0000)]
undo bad macro testing
Erez Zadok [Thu, 23 Jun 2005 21:40:44 +0000 (21:40 +0000)]
improved rpcvers_t macro
Erez Zadok [Thu, 23 Jun 2005 21:05:18 +0000 (21:05 +0000)]
* Makefile.am (EXTRA_DIST_M4): distribue new type_rpcvers_t.m4
macro.
* conf/transp/transp_tli.c (get_nfs_version): always use
rpcvers_t, now that it'll be automatically discovered.
* configure.in: check for rpcvers_t type.
* m4/macros/type_rpcvers_t.m4: new macro to check for type of
rpcvers_t (Some Solaris versions need it).
Erez Zadok [Thu, 23 Jun 2005 20:48:41 +0000 (20:48 +0000)]
* conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
here, but in the actual source files that may need it.
* libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined
already.
Erez Zadok [Thu, 23 Jun 2005 20:46:11 +0000 (20:46 +0000)]
fix typo
Erez Zadok [Thu, 23 Jun 2005 20:02:40 +0000 (20:02 +0000)]
* include/am_defs.h: define extern for sleep(3) if needed.
* m4/macros/header_templates.m4: template for sleep(3) extern.
* configure.in: check for extern for sleep(3), which is missing
from some old (and buggy) versions of gcc's fixinc'ed headers.
* conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct
nfs_args from actual system headers.
* conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis"
structure.
Erez Zadok [Wed, 22 Jun 2005 18:38:06 +0000 (18:38 +0000)]
* BUGS: update Solaris information about use of f/lex and
yacc/bison.
Erez Zadok [Tue, 21 Jun 2005 14:36:10 +0000 (14:36 +0000)]
.ignore update
Erez Zadok [Mon, 20 Jun 2005 19:23:35 +0000 (19:23 +0000)]
* minor new port: i386-pc-linux-suse9.3.
* configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
so u32 is available for <linux/sunrpc/msg_prot.h>.
Erez Zadok [Fri, 17 Jun 2005 00:23:41 +0000 (00:23 +0000)]
* amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
exec maps will always match when users use amd with command line
args (not amd.conf). Using that legacy way, unfortunately, means
that Amd will use it's hard-coded info-service search path, which
doesn't work for everyone. It's much better to use amd.conf and
specify what you want exactly.
Erez Zadok [Wed, 15 Jun 2005 23:09:56 +0000 (23:09 +0000)]
* minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
* m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned
int as the type of recvfrom()'s 6th argument.
* m4/macros/type_yp_order_outorder.m4: linux systems use unsigned
int as the type of yp_order()'s 3rd argument.
Erez Zadok [Wed, 15 Jun 2005 19:55:48 +0000 (19:55 +0000)]
* scripts/amd.conf-sample (map_type): typo, said mount_type
instead of map_type for the 'exec' example.
Erez Zadok [Sat, 11 Jun 2005 14:11:30 +0000 (14:11 +0000)]
*******************************************************************
*** Released am-utils-6.1 ***
*******************************************************************
Erez Zadok [Sat, 4 Jun 2005 16:34:33 +0000 (16:34 +0000)]
* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
only if the user specified them in amd.conf or elsewhere. If they
were not specified, don't do anything, which would let the OS use
its own defaults.
* amd/get_args.c (get_args): negative timeo/retrans are "good" in
that they represent uninitialized values (meaning to let the OS
use it's default values). So only check if user specified a value
equal to zero (invalid).
* amd/amd.h: define AMU_TYPE_NONE so we know when users didn't
specify timeo/retrans at all.
Erez Zadok [Fri, 3 Jun 2005 14:46:35 +0000 (14:46 +0000)]
*******************************************************************
*** Released am-utils-6.1-rc7 ***
*******************************************************************
* m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for
configuring, not just for building. That way the two phases
(configure and compile) are in sync. This fixes getwire() on
OSF/1 systems.
* conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not
defined in system headers.
Erez Zadok [Wed, 1 Jun 2005 21:17:26 +0000 (21:17 +0000)]
* libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
longer needed.
Erez Zadok [Sat, 28 May 2005 19:11:28 +0000 (19:11 +0000)]
* completed set of fixes for irix6.5.
* Minor new ports alpha-unknown-linux-gentoo1.4.16
alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and
sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5. Test
those systems with both cc and gcc, where possible.
Erez Zadok [Sat, 28 May 2005 18:35:54 +0000 (18:35 +0000)]
* include/am_xdr_func.h: remove trailing comma at end of enum
list.
Erez Zadok [Sat, 28 May 2005 18:34:10 +0000 (18:34 +0000)]
* m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
undefined. So give it a dummy value.
Erez Zadok [Sat, 28 May 2005 17:35:46 +0000 (17:35 +0000)]
minor typo
Erez Zadok [Sat, 28 May 2005 17:34:10 +0000 (17:34 +0000)]
* conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
extra parentheses around assignments as "if" expressions (gcc
complains).
* conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions
for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and
xdr_groups.
Erez Zadok [Sat, 28 May 2005 16:44:42 +0000 (16:44 +0000)]
* libamu/alloca.c: remove file from distro.
* configure.in: don't call AC_FUNC_ALLOCA any more.
* include/am_defs.h: remove header fixups for <alloca.h>, now that
we don't need it.
Erez Zadok [Sat, 28 May 2005 16:39:23 +0000 (16:39 +0000)]
* amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
avoid only use of alloca() in am-utils, and to use strdup
explicitly. This way we can avoid using alloca, a feature that's
not portable on various systems.
Erez Zadok [Sat, 28 May 2005 15:54:03 +0000 (15:54 +0000)]
* amq/amq.c: remove unused lint/rcsid cruft.
Erez Zadok [Fri, 27 May 2005 21:26:34 +0000 (21:26 +0000)]
* configure.in: check for <linux/socket.h>, which, if found,
appears to be preferable to <sys/socket.h>. Use it to find
<linux/nfs_mount.h>. On some Linux systems
(Gentoo), both exist but only one must be included, or else you
get redefined structure errors.
* libamu/wire.c (is_network_member): check if masknum is
INADDR_NONE, not "< 0" because it's an unsigned quantity.
* libamu/util.c (xstrlcpy): remove useless test for size_t < 0,
because it's an unsigned quantity.
Erez Zadok [Thu, 26 May 2005 13:45:00 +0000 (13:45 +0000)]
*******************************************************************
*** Released am-utils-6.1-rc6 ***
*******************************************************************
* conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
define an extern for mntctl() if needed.
* ltmain.sh: update from latest libtool-1.5.18, so we can properly
that matches the appropriate libtool M4 macros. This makes
Erez Zadok [Thu, 26 May 2005 13:36:35 +0000 (13:36 +0000)]
* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
missing definition of struct thread_credentials in <sys/vfs.h>
but trying to bring that definition in drags a whole lot of other
messy stuff. So just provide a dummy definition for this
structure.
Erez Zadok [Tue, 24 May 2005 04:45:01 +0000 (04:45 +0000)]
* Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
* m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL.
* m4/macros/check_extern.m4: include <sys/vmount.h> on AIX
systems, so we can find extern definition for mntctl().
* conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: onlu
define an xtern for mntctl() if needed.
* amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++
style comments in C code. Some C compilers don't accept it.
* amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast
of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with
xlC.
* amd/get_args.c: rename symbol conf_file to amu_conf_file to
avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2.
Oh, when will people who develop libraries learn to always prefix
their exported symbols with a library-specific name?
* configure.in: check for mntctl() extern on AIX systems.
* ltmain.sh: update from latst libtool-1.5.18, so we can properly
build on AIX 5.2/5.3 with cc and with gcc.
* m4/macros/libtool.m4: update from latest libtool-1.5.18. This
time, and from now on, we must include libtool.m4 from the libtool
distribution itself. That way we ensure that we use an ltmain.sh
that macthes the appropriate libtool M4 macros. This makes
am-utils no longer dependent on having libtool installed on a
given system on which you run bootstrap.
Erez Zadok [Tue, 24 May 2005 04:44:12 +0000 (04:44 +0000)]
import of libtool 1.5.18 M4 macros
Erez Zadok [Mon, 23 May 2005 19:03:31 +0000 (19:03 +0000)]
* minor new port: i386-pc-linux-deb3.0.
Erez Zadok [Sun, 22 May 2005 23:19:00 +0000 (23:19 +0000)]
* minor new ports: i386-unknown-netbsdelf2.0.2 and
i386-unknown-openbsd3.7.
Erez Zadok [Fri, 20 May 2005 17:05:12 +0000 (17:05 +0000)]
silly unbalanced ifdef
Erez Zadok [Fri, 20 May 2005 14:34:26 +0000 (14:34 +0000)]
* minor new ports: i386-pc-linux-gentoo1.4.16 and
powerpc-unknown-linux-yellowdog2.3.
* include/{mount_headers2.h, am_defs.h}: safer setup before
inclusion of <linux/nfs_mount.h>, which is broken on several
systems.
* configure.in: test for <linux/nfs2.h>. Separate special test
for <linux/nfs_mount.h> because we need to define __KERNEL__ for
that test, as well as optionally define struct nfs2_fh for some
systems (gentoo with 2.4 kernel, yellowdog 2.3, and others).
* config.guess.long: support Gentoo and Yellow Dog Linux distros.
* minor new ports: i386-pc-linux-suse9.2 and
i386-unknown-freebsd5.4.
Erez Zadok [Wed, 18 May 2005 18:12:31 +0000 (18:12 +0000)]
actually commit the change -- duh
Erez Zadok [Wed, 18 May 2005 17:59:41 +0000 (17:59 +0000)]
* amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
Erez Zadok [Wed, 18 May 2005 01:09:36 +0000 (01:09 +0000)]
credit bug when it belongs
Erez Zadok [Wed, 18 May 2005 01:03:19 +0000 (01:03 +0000)]
*******************************************************************
*** Released am-utils-6.1-rc5 ***
*******************************************************************
Erez Zadok [Tue, 17 May 2005 16:48:55 +0000 (16:48 +0000)]
* amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
sending annoying warning for a minor issue.
* amd/nfs_subr.c: check for NULL pointer before dereferencing it.
Ion Badulescu [Tue, 17 May 2005 15:05:23 +0000 (15:05 +0000)]
* amd/nfs_subr.c: check for NULL pointer before dereferencing it
Erez Zadok [Mon, 16 May 2005 23:23:29 +0000 (23:23 +0000)]
start rc5