]> git.decadent.org.uk Git - nfs-utils.git/commitdiff
Merge branch 'upstream'
authorBen Hutchings <ben@decadent.org.uk>
Wed, 14 Jul 2010 01:38:03 +0000 (02:38 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 14 Jul 2010 01:38:03 +0000 (02:38 +0100)
Conflicts:
configure

39 files changed:
debian/README.Debian.nfsv4 [new file with mode: 0644]
debian/bzero.patch [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/etc.exports [new file with mode: 0644]
debian/etc.exports.md5sum [new file with mode: 0644]
debian/idmapd.conf [new file with mode: 0644]
debian/idmapd.conf.md5sum [new file with mode: 0644]
debian/nfs-common.default [new file with mode: 0644]
debian/nfs-common.default.md5sum [new file with mode: 0644]
debian/nfs-common.dirs [new file with mode: 0644]
debian/nfs-common.init [new file with mode: 0644]
debian/nfs-common.install [new file with mode: 0644]
debian/nfs-common.links [new file with mode: 0644]
debian/nfs-common.manpages [new file with mode: 0644]
debian/nfs-common.postinst [new file with mode: 0644]
debian/nfs-common.postrm [new file with mode: 0644]
debian/nfs-common.prerm [new file with mode: 0644]
debian/nfs-kernel-server.NEWS [new file with mode: 0644]
debian/nfs-kernel-server.default [new file with mode: 0644]
debian/nfs-kernel-server.default.md5sum [new file with mode: 0644]
debian/nfs-kernel-server.dirs [new file with mode: 0644]
debian/nfs-kernel-server.init [new file with mode: 0644]
debian/nfs-kernel-server.install [new file with mode: 0644]
debian/nfs-kernel-server.links [new file with mode: 0644]
debian/nfs-kernel-server.manpages [new file with mode: 0644]
debian/nfs-kernel-server.postinst [new file with mode: 0644]
debian/nfs-kernel-server.postrm [new file with mode: 0644]
debian/nfs-kernel-server.prerm [new file with mode: 0644]
debian/nhfsstone.dirs [new file with mode: 0644]
debian/nhfsstone.install [new file with mode: 0644]
debian/rules [new file with mode: 0755]
gokk [new file with mode: 0644]
utils/exportfs/exports.man
utils/mountd/mountd.c
utils/rquotad/rquota.h [new file with mode: 0644]
utils/rquotad/rquota_xdr.c [new file with mode: 0644]

diff --git a/debian/README.Debian.nfsv4 b/debian/README.Debian.nfsv4
new file mode 100644 (file)
index 0000000..9d3adc8
--- /dev/null
@@ -0,0 +1,51 @@
+NFSv4 in Debian
+===============
+
+NFSv4 support in Debian is rather new, and not fully supported yet. If you want
+to experiment, make sure you have:
+
+ - a recent 2.6 kernel on both client and server; newer is better. You might even
+   want to use CITI's patch set from http://www.citi.umich.edu/projects/nfsv4/linux/ .
+ - a recent enough version of nfs-utils on both client and server (you probably
+   have on at least one of them, since you're reading this file!).
+ - a patched mount, which will hopefully enter the archive soon at the time of
+   writing -- otherwise, you'll have to enable the patch in the Debian package
+   yourself and rebuild it. (It is not enabled by default, since the current version
+   of the patch breaks mounting against NFSv2-only servers, such as nfs-user-server.)
+
+The export structure might be a bit confusing if you're already familiar with
+NFSv2 or NFSv3. The biggest difference is that you will need to export an explicit
+root of your pseudofilesystem, like this /etc/exports fragment:
+
+  /nfs4                   hostname(rw,sync,fsid=0,crossmnt)
+
+(It doesn't need to be named "nfs4".) Then you can mount other volumes under that,
+like:
+
+  /nfs4/music             hostname(rw,sync)
+  /nfs4/movies            hostname(rw,sync)
+
+Then your client can mount shares like this:
+
+  mount -t nfs4 server:/music /mnt/music
+
+Since you might not have everything under one root, you might want /nfs4/* on the
+server to be bind mounts, ie.:
+
+  mount --bind /srv/music /nfs4/music
+
+or in /etc/fstab:
+
+  /srv/music /nfs4/music none bind 0 0
+  
+If you do not wish to use host-based authentication, you can specify "gss/krb5"
+instead of a hostname to get Kerberos-based authentication instead. For this, 
+you will need an "nfs/hostname@REALM" entry in /etc/krb5.keytab, as well as
+rpc.gssd running on both the client and the server (enable it manually in
+/etc/default/nfs-common if the autodetection fails).
+
+If you use "gss/krb5i", you will also get integrity (ie. authentication), and
+with "gss/krb5p", you'll also get privacy (ie.  encryption). Make sure your
+kernel supports this; not all kernels do.
+
+ -- Steinar H. Gunderson <sesse@debian.org>, Wed, 05 Apr 2006 18:09:47 +0200
diff --git a/debian/bzero.patch b/debian/bzero.patch
new file mode 100644 (file)
index 0000000..0c7eac7
--- /dev/null
@@ -0,0 +1,11 @@
+--- nfs-utils-1.0.9.orig/support/nfs/svc_socket.c
++++ nfs-utils-1.0.9/support/nfs/svc_socket.c
+@@ -35,6 +35,8 @@
+ # define __close(f)           close ((f))
+ #endif
++#define __bzero(d,n)          memset((d),'\0',(n))
++
+ static int
+ svc_socket (u_long number, int type, int protocol, int reuse)
+ {
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..855d961
--- /dev/null
@@ -0,0 +1,1017 @@
+nfs-utils (1:1.0.9-12) unstable; urgency=low
+
+  * Really remove dependency on sysvinit.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Tue,  5 Sep 2006 13:59:29 +0200
+
+nfs-utils (1:1.0.9-11) unstable; urgency=low
+
+  * In the exports man page, document that there might be sensitive non-root
+    gids as well as uids, for instance gid staff. (Closes: #385377)
+  * Remove unnecessary dependency on sysvinit, in line with the Ubuntu
+    packages.
+  * Change the versioned build-dependency on librpcsecgss-dev (>= 0.14-2)
+    to a build-conflict on 0.14-1, as that is the only version, and it's
+    easier for backports and other distributions without the new version of
+    librpcsecgss.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Thu, 31 Aug 2006 01:53:45 +0200
+
+nfs-utils (1:1.0.9-10) unstable; urgency=low
+
+  * The -n option (short option for --no-tcp) to rpc.mountd was set
+    to take a parameter, even though --no-tcp doesn't take any, the
+    parameter is never used and the help doesn't mention any. Remove
+    the colon after 'n' in the getopt string to fix it.
+  * Add a versioned dependency from nfs-common to libnfsidmap1 (>= 0.16-3)
+    temporarily, to work around #384688.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sat, 26 Aug 2006 03:29:09 +0200
+
+nfs-utils (1:1.0.9-9) unstable; urgency=medium
+
+  * Patched svc_socket.c to define __bzero only on ia64.
+    Closes: #384552.
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Fri, 25 Aug 2006 11:45:07 +1000
+
+nfs-utils (1:1.0.9-8) unstable; urgency=medium
+
+  * In the init scripts, don't attempt to use pid files; the daemons don't
+    leave them, and --make-pidfile gives wrong pid files since all the daemons
+    fork by themselves. Thus, multiple invocations of "start" could leave
+    multiple daemons lying around, which could cause all sorts of problems.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Thu, 17 Aug 2006 17:24:11 +0200
+
+nfs-utils (1:1.0.9-7) unstable; urgency=low
+
+  * New sourceful upload to force rebuild against librpcsecgss3, to get all
+    architectures in sync and make sure rpc.gssd actually has a proper library
+    to link against.
+  * Build-depend against librpcsecgss-dev (>= 0.14-2), since that's when
+    the package name bump happened.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sat, 12 Aug 2006 19:55:35 +0200
+
+nfs-utils (1:1.0.9-6) unstable; urgency=low
+
+  * Enable idmapd by default if we find an /etc/exports file, as NFSv4 exports
+    need idmapd. (See the init script for the complete reasoning). Also start
+    nfs-common on initial installation of nfs-kernel-server, as we don't want
+    to reboot or restart nfs-common manually just to get idmapd working the
+    first time. (Closes: #381366)
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Mon,  7 Aug 2006 21:27:37 +0200
+
+nfs-utils (1:1.0.9-5) unstable; urgency=low
+
+  * Put rpc.svcgssd back into place; removing it was obviously not what
+    upstream intended to do after all. (Closes: #378686)
+    * Add rpc.svcgssd to nfs-kernel-server.install.
+    * Add the svcgssd(8) man page, as well as the rpc.svcgssd(8) symlink.
+    * Add NEED_SVCGSSD and RPCSECGSSDOPTS options to nfs-kernel-server.default.
+    * Start and rpc.svcgssd in the nfs-kernel-server init script. Currently,
+      no autodetection is done; you'll need to enable it manually. (We can't
+      start it regardless, since it bombs out if there is no adequate nfs/*
+      entry in the keytab.)
+  * Remove obsolete RPCGSSDOPTS option from the nfs-kernel-server init script.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Wed, 19 Jul 2006 14:06:33 +0200
+
+nfs-utils (1:1.0.9-4) unstable; urgency=low
+
+  * Remove versioned dependency on coreutils, as we don't use it indirectly,
+    only via ucf (so the dependency should be there). This makes the package
+    somewhat easier to backport to sarge.
+  * Remove the word "Debian" from our patch against the exports(5) man page,
+    as Debian is not the only distribution using these packages.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sun, 16 Jul 2006 01:59:13 +0200
+
+nfs-utils (1:1.0.9-3) unstable; urgency=low
+
+  * Don't automatically assume that the kernel is modular if /sbin/modprobe
+    is available, check for /proc/modules as well; patch from Nicolas
+    Trecourt. (Closes: #377685)
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Thu, 13 Jul 2006 21:39:08 +0200
+
+nfs-utils (1:1.0.9-2) unstable; urgency=low
+
+  * Merge changes from 1.0.9-1 and 1.0.9pre1-4:
+    * Disable mount.nfs once again; it's not ready for regular use according
+      to upstream.
+    * Revert mount options patch to mount.nfs; it's irrelevant as long as we
+      don't install the binary.
+  * Install the new rpcdebug program.
+  * Remove the {mount,umount}.nfs manpages.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sun,  9 Jul 2006 00:16:54 +0200
+
+nfs-utils (1:1.0.9-1) unstable; urgency=high
+
+  * Updated co-mantainer mail address.
+  * New upstream release.
+    - Added 'mount.nfs' utility which can be used as a mount helper
+      to mount nfs filesystems. It does not yet support 'user' mounts.
+    - Makefile/autoconf tidyups
+    - No compiles with no warnings
+    - deleted debian/* at request of debian maintainer
+    - deleted assorted other unused files
+    - mountd can be run multi-threaded for configurations with many hundreds
+      of clients (mountd -t 20).  Default is single-threaded
+    - Support for selection NFS version to be exported, and protocol to
+      use.  This requires kernel patches that should be in linux 2.6.19.
+    - Use 65534 rather than -2 for default anon.  This makes no difference in many
+      cases, but is important in some.
+    - New utility 'rpcdebug' for controlled kernel 'debug' options for nfs and nfsd.
+    - nfsstat reports NFSv4 operation statistics that should be available in
+      linux 2.6.18.
+    - assorted other fixes
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Sat, 08 Jul 2006 14:26:40 +1000
+
+nfs-utils (1:1.0.8+1.0.9pre1-4) unstable; urgency=low
+
+  * Back out having separate mount.nfs; this is in line with upstream, who
+    wants to delay this to 1.0.10. 
+    * No longer install {mount,umount}.{nfs,nfs4} to /sbin.
+    * Revert patch applied in -3.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sat,  8 Jul 2006 16:43:38 +0200
+
+nfs-utils (1:1.0.8+1.0.9pre1-3) unstable; urgency=high
+
+  * Add patch from upstream to check for common mount options like "user"
+    or "noauto". (Closes: #376839)
+  * Remove obsolete copying of config.{sub,guess} in debian/rules.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Fri,  7 Jul 2006 21:12:06 +0200
+
+nfs-utils (1:1.0.8+1.0.9pre1-2) unstable; urgency=low
+
+  * Provide LSB dependency information in the nfs-common and nfs-kernel-server
+    init scripts; replaces the obsolete chkconfig info. (Closes: #376976)
+  * Update the long descriptions.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Thu,  6 Jul 2006 19:37:58 +0200
+
+nfs-utils (1:1.0.8+1.0.9pre1-1) unstable; urgency=low
+
+  * New upstream release.
+    * debian/ directory removed from upstream; no need to repack or do ugly
+      hacks in debian/rules anymore.
+    * Obsoletes most Debian-specific patches, as they are already included
+      upstream. For reference, the patches that are still Debian-specific are:
+      * Use 65534 instead of -2 for anonuid, update manpage accordingly.
+      * Debian-specific information in exports man page.
+      * Don't use -rpath for gssd.
+      * Hardcode default mapping in svcgssd. Adjust patch to use uid/gid 
+        65534 instead of -2, for consistency; also remove double error
+        message. 
+      * Spelling fixes in nfsstat, showmount and statd man pages.
+    * Supports options to bind to specific IPs. (Closes: #246939, #312720)
+    * Include mount.nfs and friends, which will over time take over the job of
+      doing NFS mounting from util-linux.
+  * Complete sync with Ubuntu:
+    * Pull in changes to use LSB display functions in init scripts; adapted
+      to give output more like what was already in Debian, to fix a few bugs,
+      and use plain echo in "status" targets, where using LSB functions makes
+      no sense.
+    * Depend on lsb-base from nfs-common and nfs-kernel-server.
+  * Init script updates:
+    * Document "status" option in the nfs-common init script's help message.
+    * Drop "set -e"; it makes error checking wrt. the LSB functions harder.
+    * Drop obsolete "cd /".
+    * Fix syntax errors in "status" target.
+    * In the "status" target, don't check that the output of pidof matches the
+      pidfiles for gssd and idmapd, as they fork after start and thus get a
+      different pid.
+  * Include gss_clnt_send_err and gss_destroy_creds binaries.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Tue,  4 Jul 2006 18:55:51 +0200
+
+nfs-utils (1:1.0.8-10) unstable; urgency=high
+
+  * Added nfs-common dependency on coreutils (>= 5.93-1). The readlink
+    option -e was introduced since version 5.91 of coreutils. Closes:
+    #376285.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 02 Jul 2006 09:53:16 +1000
+
+nfs-utils (1:1.0.8-9) unstable; urgency=high
+
+  * svcgssd_proc.c: Temporary patch to do default mapping if we get an
+    error while trying to map a gss principal to the appropriate uid/gid.
+    This currently returns hardcoded values. Closes: #376258.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Sat, 01 Jul 2006 22:30:11 +1000
+
+nfs-utils (1:1.0.8-8) unstable; urgency=low
+
+  * Include yet more ucf md5sums for /etc/default/nfs-common and
+    /etc/default/nfs-kernel-server (/etc/exports was already OK); this time,
+    I've gone through the entire 1.0.7 series programmatically, so hopefully
+    there should finally be none left.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Wed, 14 Jun 2006 10:47:23 +0200
+
+nfs-utils (1:1.0.8-7) unstable; urgency=low
+
+  * For some odd reason (ie. human error) this package has branched into two
+    different versions from 1:1.0.8-5 on. This package rejoins the two branches.
+    The changelog from the other 1:1.0.8-5 (which was probably never accepted
+    except as part of 1:1.0.8-6) is repeated for convenience and automated bug
+    closing below:
+  * Patch nfs-common and nfs-kernel-server init scripts to make them more LSB
+    compatible, fixing issues with heartbeat2; based on patches by Kilian
+    CAVALOTTI. (Closes: #371084, #371085)
+    * Add --oknodo to start-stop-daemon in start targets, to make a second
+      "start" invocation return exit status 0.
+    * Add status targets to the two init scripts, with correct output and
+      exit codes.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Thu, 08 Jun 2006 17:31:28 +0200
+
+nfs-utils (1:1.0.8-5) unstable; urgency=low
+
+  * Make nfs-kernel-server depend on at least version 1.0.8 of nfs-common;
+    lots of stuff will break with an upstream version mismatch.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Wed,  7 Jun 2006 01:13:28 +0200
+
+nfs-utils (1:1.0.8-4) unstable; urgency=low
+
+  * Fix a few spelling errors in the man pages; patches from A Costa.
+    (Closes: #370561, #370562, #370563)
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Tue,  6 Jun 2006 11:59:28 +0200
+
+nfs-utils (1:1.0.8-3) unstable; urgency=low
+
+  * The "what the heck, I uploaded an outdated 1:1.0.8-1 release without
+    the pkg-config fix and some other changes" release.
+  * Tweaks to debian/rules:
+    * Drop --sourcedir=debian/tmp from dh_install so we can also install files
+      directly from the debian/ directory.
+    * Minimize direct uses of install; move all the ucf installation into the
+      debhelper .install files.
+    * Remove some obsolete comments.
+  * Remove empty (modulo #DEBHELPER# tokens) nhfsstone.{postinst,prerm}
+    scripts.
+  * Clear out obsolete (pre-sarge) debconf and rc.d purging from postinst
+    script. (Same as in 1:1.0.7-10, but for nfs-kernel-server too, not just
+    nfs-common.) Minor style cleanup.
+  * Include the md5sum for /etc/default/nfs-kernel-server from 1:1.0.7-13, 
+    to make ucf not complain when upgrading from that version.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sat,  3 Jun 2006 11:00:14 +0200
+
+nfs-utils (1:1.0.8-2) unstable; urgency=low
+
+  * Added missing dependency on pkg-config.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Fri, 02 Jun 2006 19:08:11 +1000
+
+nfs-utils (1:1.0.8-1) unstable; urgency=low
+
+  * New upstream version. (Closes: #364902)
+    * Repack without the debian/ directory; remove ugly hacks in
+      debian/rules that as a result are no longer needed. This also makes
+      the permissions in debian/ right.
+    * Forward-port all relevant patches from the old Debian diff.
+    * rpc.svcgssd no longer exists (it's consolidated into rpc.gssd); remove
+      all references to it in from the debian/ directory.
+    * Build-depend on libgssapi-dev and librpcsecgss-dev, as both as now
+      needed to build nfs-utils.
+    * Give DESTDIR instead of install_prefix to "make install" (install_prefix
+      no longer works).
+  * No longer handle gssapi_mech.conf via ucf; it is now managed by the
+    librpcsecgss package. Remove all references to it in debian/rules.
+  * We no longer need to run autoconf as a part of debian/rules; its results
+    are parts of the diff instead, as per usual packaging practices.
+    * Drop the build-dependency on autoconf2.13 and autotools-dev.
+    * No longer rm various autotools-generated files in the clean target.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Thu,  1 Jun 2006 01:59:39 +0200
+
+nfs-utils (1:1.0.7-19) unstable; urgency=low
+
+  * Include the md5sum for /etc/default/nfs-common from 1:1.0.7-15, to
+    make ucf not complain when upgrading from that version. (Closes: #368982)
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sat, 27 May 2006 12:54:50 +0200
+
+nfs-utils (1:1.0.7-18) unstable; urgency=low
+
+  * Make /etc/exports, /etc/default/nfs-{common,kernel-server},
+    /etc/idmapd.conf and /etc/gssapi_mech.conf be managed by ucf
+    instead of being conffiles. (Closes: #353501)
+    * Make directories /usr/share/nfs-{common,kernel-server}/conffiles,
+      and install files in there at debian/rules time. At the same time,
+      install the files with install instead of cp.
+    * Call ucf at postinst time to get the files in.
+    * Correspondingly, call ucf at purge time to remove them as needed (code
+      snippets lifted from autofs).
+    * Make nfs-common and nfs-kernel-server depend on ucf.
+    * Remove the call to dh_installinit -- since it was already not modifying
+      postinst/postrm/prerm scripts due to being called with -n (I must admit
+      I don't know why, but I assume this has a good reason :-) ) and we now
+      install the init script ourself (because we don't want dh_installinit
+      to install our .default files to /etc), it doesn't do anything useful
+      for us.
+    * Include .md5sum files with MD5 checksums of previous defaults shipped,
+      to ease the transition into ucf; at the moment, only checksums from
+      1:1.0.7-17 (the last non-ucf version) and 1:1.0.6-3.1 (the version
+      shipped in sarge) are included, but I think that should actually cover
+      all the defaults shipped in the period between as well.
+    * Install the .md5sum files in debian/rules.
+  * Remove call to dh_installexamples in debian/rules; we don't install any
+    examples.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Mon, 22 May 2006 01:44:33 +0200
+
+nfs-utils (1:1.0.7-17) unstable; urgency=low
+
+  * The umounting of rpc_pipefs is non-critical and will fail if there are
+    any active NFS mounts during, say, a restart. Thus, send its stderr to
+    /dev/null, and ignore its error status.
+  * Build-Depend on perl, as it's used in debian/rules.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sun, 14 May 2006 18:22:19 +0200
+
+nfs-utils (1:1.0.7-16) unstable; urgency=high
+
+  * urgency=high; fixes an RC bug.
+  * If one upgraded from 1:1.0.7-13, /var/lib/nfs might never be set as owned
+    by statd. Bump the version check, so everything before this version gets
+    chowned properly. (Closes: #367009)
+  * Add more detailed explanations and links to the Debian wiki for
+    /etc/defaults/nfs-{common,kernel-server}. (Closes: #366989, #366990)
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sat, 13 May 2006 16:06:08 +0200
+
+nfs-utils (1:1.0.7-15) unstable; urgency=low
+
+  * /var/lib/nfs/state is not a directory; it shouldn't really be mkdir-ed
+    or chowned (unless it already exists, in which case it should be
+    chowned). However, /var/lib/nfs should be owned by statd, so it can
+    create the file there. (Really Closes: #366654)
+  * umount /var/lib/nfs/rpc_pipefs on /etc/init.d/nfs-common stop; not doing
+    so could prevent purging of nfs-common.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Thu, 11 May 2006 12:42:13 +0200
+
+nfs-utils (1:1.0.7-14) unstable; urgency=high
+
+  * urgency=high; fixes RC bugs (or at least, bugs that should have been RC).
+  * Add /var/lib/nfs/state to nfs-common.dirs, since we chown it in the
+    postinst. This would prevent nfs-common from configuring on initial
+    install. (Closes: #366654)
+  * Grep after "init_nf(sd|<tab>)" instead of "init_nfsd" in kallsyms, to work
+    around some odd symbol mangling problems on some alpha kernels.
+    (Closes: #363932)
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Wed, 10 May 2006 22:00:59 +0200
+
+nfs-utils (1:1.0.7-13) unstable; urgency=low
+
+  * Up the Standards-Version to 3.7.2; no changes needed.
+  * Tidy up after the /home/statd mess if there was a chance the user ever
+    had 1:1.0.7-10 installed; based on patch from Oskar Liljeblad.
+    (Closes: #366182)
+  * Fix the version check for the chown-ing of /var/lib/nfs/sm etc.; I
+    forgot to include the epoch, so only new installs ever got statd running
+    as non-root. (Due to this, the version number to test against is of course
+    also bumped.)
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sat,  6 May 2006 01:50:10 +0200
+
+nfs-utils (1:1.0.7-12) unstable; urgency=low
+
+  * Move the home directory again (by request), this time to /var/lib/nfs.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Wed,  3 May 2006 21:27:18 +0200
+
+nfs-utils (1:1.0.7-11) unstable; urgency=low
+
+  * When creating statd user, create it with a home directory of /nonexistant;
+    it doesn't really require a home directory. (Closes: #365514, #365721)
+  * Fix the signal number for USR1 (actually, use the name instead) in
+    nhfsrun. (Closes: #365657)
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Wed,  3 May 2006 19:51:17 +0200
+
+nfs-utils (1:1.0.7-10) unstable; urgency=low
+
+  * Intermediate 1.0.7 release, waiting for librpcsecgss to be uploaded into
+    Debian so we can upload 1.0.8.
+  * Clarify what the NEED_* options in /etc/default/nfs-common mean.
+    (Closes: #364625)
+  * Make /var/lib/nfs/{sm,sm.bak,state,rpc_pipefs} be owned by a new "statd"
+    user (created in postinst), causing rpc.statd to be run as that user
+    instead of root. (Closes: #240689)
+    * Make nfs-common depend on adduser.
+  * Clear out obsolete (pre-sarge) debconf and rc.d purging from postinst
+    script.
+  * Use invoke-rc.d in nfs-common and nfs-kernel-server prerms instead of
+    calling the /etc/init.d script directly; fixes two lintian warnings.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Thu, 27 Apr 2006 00:32:27 +0200
+
+nfs-utils (1:1.0.7-9) unstable; urgency=low
+
+  * When checking for nfsd support in the kernel, check for init_nfsd
+    (which is a function) rather than nfsd_version (which is a variable);
+    kernels compiled without CONFIG_KALLSYMS_ALL=y have only the former.
+    (Closes: #361026)
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Thu,  6 Apr 2006 13:31:48 +0200
+
+nfs-utils (1:1.0.7-8) unstable; urgency=low
+
+  * Don't complain about missing sync/async for a read-only export.
+    (Closes: #265409)
+  * Implement --state-directory-path for rpc.mountd; most code borrowed
+    from rpc.statd. (Closes: #352387)
+    * Update mountd.man accordingly.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Wed,  5 Apr 2006 22:54:09 +0200
+
+nfs-utils (1:1.0.7-7) unstable; urgency=high
+
+  * urgency=high, fixes an RC bug.
+  * Let the init script test for kernel support before trying to start
+    nfs-kernel-server. (Closes: #360420)
+  * Include help on how to activate /etc/exports changes; text from
+    Martin Pool. (Closes: #239286)
+  * Document sync option in exports man page. (Closes: #297135)
+  * Give an example in /etc/exports. (Closes: #345460)
+  * Write a mini-HOWTO on how to get NFSv4 up and running. (Closes: #294468)
+    * Install it in debian/rules.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Wed,  5 Apr 2006 18:15:20 +0200
+
+nfs-utils (1:1.0.7-6) unstable; urgency=low
+
+  * Let the man-page fixup script in debian/rules look for the man pages in
+    the right place.
+  * Modprobe nfs4 along with nfs in the nfs-common init script. Also modprobe
+    rpcsec_gss_krb5 before we start gssd.
+  * Implement autodetection for NEED_IDMAPD and NEED_GSSD, based on /etc/fstab.
+  * Add a note to the top of /etc/defaults/nfs-common that the default is to
+    autodetect.
+  * Move /var/lib/nfs/rpc_pipefs from nfs-kernel-server.dirs to
+    nfs-common.dirs; it's needed by the client as well.
+  * Let dh_install install from debian/tmp/ instead of debian/tmp; it fixes
+    minor aesthetic issues in the build log.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sat,  1 Apr 2006 02:46:53 +0200
+
+nfs-utils (1:1.0.7-5) unstable; urgency=low
+
+  * Non-non-maintainer-upload this time, it seems. :-)
+  * Don't let the init script fail if there wasn't any lockd threads to kill;
+    this could cause the package to fail configuration.
+  * Move to debhelper compatibility level 5.
+    * Use dh_install instead of dh_movefiles (actually a combination was used
+      earlier). Move stuff from *.files accordingly into *.install.
+    * mkdir debian/tmp manually before doing make install, and remove it
+      in the clean target.
+    * Use straight cp -a instead of dh_install for the files that _don't_
+      come from debian/tmp/ (the two /etc files).
+    * Fix the "fixups" part in debian/rules to reflect the behaviour of
+      dh_install compared to dh_movefiles (ie. don't rm lots of stuff in
+      debian/tmp, etc.).
+    * Make a debian/nfs-kernel-server.install listing explicitly the files
+      we want in that package; with dh_movefiles everything from make install
+      was implicitly put there. This has the side effect that the man pages
+      for rpc.gssd and idmap.conf are no longer put in nfs-kernel-server, but
+      in nfs-common, where they should be.
+    * Use dh_installman to install the manpages, to make sure they're in the
+      right place (and move the manpage lists from *.files to *.manpages
+      accordingly). List the rpc.* variants of the manpages in *.links,
+      instead of assuming dh_compress (!) will make them for us. Bonus points
+      for then not including the nonsensical rpc.* variants, such as
+      rpc.idmapd.conf(5).
+    * Don't mv lockd, statd and showmount manually from /usr/sbin to /sbin;
+      let the .install file do it for us.
+    * Remove *.conffiles; debhelper now sets everything in /etc as conffiles
+      automatically.
+    * Extend the debian/rules rm hack to the files we removed in this version
+      (ick).
+    * In debian/control, make nfs-common replace nfs-kernel-server
+      (<< 1:1.0.7-5), since the idmapd manpage switched packages.
+  * Remove old cruft in debian/rules file:
+    * Remove non-used dh_* programs.
+    * Remove obsolete source and diff targets.
+    * Remove SETGCC hack.
+  * Don't set rpath for rpc.gssd and rpc.svcgssd (fixes lintian warnings).
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Tue, 28 Mar 2006 02:57:23 +0200
+
+nfs-utils (1:1.0.7-4) unstable; urgency=low
+
+  * Ack NMU. Thanks Steinar H. Gunderson.
+    Closes: #239230, #245449, #246904, #247473, #248300, #252081,
+    #287026, #294928, #303497, #310940, #323460, #326663, #332047,
+    #337836, #338292, #359024.
+  * Added Steinar H. Gunderson and Daniel Baumann as uploaders.
+  * Added homepage to package descriptions.
+  * Set Standards-Version to 3.6.2.
+  * Fixed outdated-autotools-helper-file.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Mon, 27 Mar 2006 13:22:51 +1100
+
+nfs-utils (1:1.0.7-3.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Set u+w on all files in debian/, so dch etc. actually works.
+  * Add /var/lib/nfs/v4recovery to nfs-kernel-server.dirs. (Closes: #337836).
+  * Add /var/lib/nfs/rpc_pipefs to nfs-kernel-server.dirs. (Closes: #310940).
+  * Fix problems with exportfs -o when there are multiple entries of the same
+    type for the same path that match a given client; patch from Fumihiko
+    Kakuma. (Closes: #245449)
+  * Start nfs-kernel-server even if /etc/exports is empty, as long as it
+    exists; patch from Alexis Huxley. (Closes: #246904) This patch also
+    happens to fix and thus Closes: #338292.
+  * When stopping daemons, do it even if they do not run as root; based on a
+    patch from Andreas Schmidt. (Closes: #247473)
+  * SIGKILL kernel lockd thread on stop, to make the kernel release all its
+    locks; patch from Jeffrey Layton. (Closes: #252081)
+  * Flush the kernel export table on stop; patch from Jeffrey Layton
+    (Closes: #248300).
+  * Change default root-squashed uid from -2 to 65534; the former changes
+    depending of the size of uid_t, and we want it to match the user "nobody"
+    (which has uid 65534). (Closes: #323460)
+  * Remove dependency on debconf, as it's no longer used. Also, don't run
+    dh_installdebconf anymore. (Closes: #332047)
+  * Check for /sbin/modprobe before using it, for non-modular kernels;
+    patch from Vincent Crvt. (Closes: #294928)
+  * Replaced the rather emtpy nhfsstone long description by the one from
+    its manpage. (Closes: #303497)
+  * Don't ship upstream README anymore, as it's not relevant for our users.
+    (Closes: #326663)
+  * Add the ability to start nfs-kernel-server niced; patch from Kimmo
+    Tervinen. (Closes: #287026)
+  * Escape '#' when writing export entries, so they are not mistakenly parsed
+    as comments when re-reading them. (Closes: #239230)
+  * Also Closes: #359024 automatically by recompiling package.
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sun, 26 Mar 2006 14:57:50 +0200
+
+nfs-utils (1:1.0.7-3) unstable; urgency=medium
+
+  * New maintainer, closes: #303559.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Fri, 08 Apr 2005 11:25:17 +1000
+
+nfs-utils (1:1.0.7-2) unstable; urgency=low
+
+  * Orphaning package.
+  * Upstream CVS sync:
+    > Support "no_acl" export option, for the few specially patched
+      kernels that understand it.  (Closes: #253824)
+    > Fix FTBTS on amd64.  (Closes: #297729)
+    > Update config.{guess,sub}.  (Closes: #300552)
+
+ -- Chip Salzenberg <chip@debian.org>  Thu,  7 Apr 2005 09:07:24 -0400
+
+nfs-utils (1:1.0.7-1) unstable; urgency=medium
+
+  * Acknowledge NMU; thanks to joeyh.  (closes: #287053)
+  * New upstream version:
+    > Add support for NFSv4.
+    > Ignore SIGPIPE, fixing a remote DOS.  Note that the previous
+      NMU already fixed this bug.  (CAN-2004-1014)
+    > At long last, fix "erroneous SM_UNMON" warnings.  (closes: #165744)
+
+ -- Chip Salzenberg <chip@debian.org>  Tue, 11 Jan 2005 23:31:05 -0500
+
+nfs-utils (1:1.0.6-3) unstable; urgency=medium
+
+  * Remove obsolete debconf-related files in debian/rules, because source
+    diffs don't implement removals.  (closes: #239331)
+
+ -- Chip Salzenberg <chip@debian.org>  Wed, 24 Mar 2004 18:09:21 -0500
+
+nfs-utils (1:1.0.6-2) unstable; urgency=medium
+
+  * Upstream CVS sync.
+  * Urgency "medium" to get debconf fix into testing.
+  * Remove debconf warning notes in favor of nfs-kernel-server.NEWS.
+    (closes: #228365)
+  * Make /etc/exports a conffile.  (closes: #224557)
+  * Clean up /var/lib/nfs in postrm.
+  * Test kernel version in init script; all kernels from 2.4 forward
+    have a lockd thread, and don't need rpc.lockd.  Probe older kernels
+    by checking for lockd-related symbols.  When in doubt, go ahead and
+    run rpc.lockd; if it's not needed, it exits.  (closes: #205867)
+  * Don't bother removing nfs-server's init links; it's long dead.
+
+ -- Chip Salzenberg <chip@debian.org>  Thu, 18 Mar 2004 17:06:00 -0500
+
+nfs-utils (1:1.0.6-1) unstable; urgency=low
+
+  * New upstream version:
+    > Workaround glibc bug with large fd rlimits.
+  * Japanese debconf translation from Kenshi Muto <kmuto@debian.org>.
+    (closes: #209370)
+
+ -- Chip Salzenberg <chip@debian.org>  Fri, 12 Sep 2003 12:47:58 -0400
+
+nfs-utils (1:1.0.5-3) unstable; urgency=high
+
+  * Upstream CVS sync:
+    > Fix crash on invalid reverse DNS.  (closes: #209318)
+
+ -- Chip Salzenberg <chip@debian.org>  Tue,  9 Sep 2003 14:02:46 -0400
+
+nfs-utils (1:1.0.5-2) unstable; urgency=low
+
+  * Upstream CVS sync:
+    > Improve support for 2.6.0 /proc interface.
+  * Use po-debconf.  Patch from Andre Luis Lopes <andrelop@ig.com.br>,
+    with improved French from Christian Perrier <bubulle@debian.org>.
+    (closes: #187866, #202196)
+
+ -- Chip Salzenberg <chip@debian.org>  Wed, 20 Aug 2003 17:03:44 -0400
+
+nfs-utils (1:1.0.5-1) unstable; urgency=high
+
+  * New upstream version:
+    > Don't use freed memory.  (closes: #201311, #201598, #201873)
+    > Fix mountd -o arg.  (closes: #197355)
+  
+ -- Chip Salzenberg <chip@debian.org>  Thu, 24 Jul 2003 15:40:12 -0400
+
+nfs-utils (1:1.0.3-2) unstable; urgency=high
+
+  * Upstream CVS sync:
+    > Fix one-byte buffer overflow in logging code.
+
+ -- Chip Salzenberg <chip@debian.org>  Tue, 10 Jun 2003 11:11:56 -0400
+
+nfs-utils (1:1.0.3-1) unstable; urgency=low
+
+  * New upstream version:
+    > Support reading and writing export cache in /proc/rpc/*/channel,
+      as current syscall interface may not survive into 2.6 on all archs.
+
+ -- Chip Salzenberg <chip@debian.org>  Wed, 26 Mar 2003 11:38:52 -0500
+
+nfs-utils (1:1.0.2-2) unstable; urgency=medium
+
+  * Upstream CVS sync:
+    > Fix one-byte buffer overflow with no apparent security implications.
+      (It's a readlink on a path that should be writable only to root.)
+  * Make nfs-{common,kernel-server} depend on sysvinit 2.80-1 for invoke-rc.d.
+  * Make nfs-common depend on debconf (long overdue).
+  * Fix package description to name nfs-user-server as an alternative, rather
+    than "nfs-server" (which no longer exists).
+
+ -- Chip Salzenberg <chip@debian.org>  Wed, 12 Feb 2003 21:27:24 -0500
+
+nfs-utils (1:1.0.2-1) unstable; urgency=high
+
+  * New upstream version:
+    > Allow program stdin to be a non-INET socket.  (closes: #142557)
+  * Start nfs-common after nfs-kernel-server so that the server is running
+    when statd restarts; without this change, a rebooting server may make
+    clients lose mounts.  (This postinst removes bad rc.d links from old
+    packages.)  From Philippe Troin <phil@fifi.org>.  (closes: #160800)
+  * Make init scripts exit with non-zero status when daemons don't start.
+  * Add titles to templates where I forgot them.  (closes: #158489)
+  * Add /etc/default/{nfs-common,nfs-kernel-server} so setting random
+    parameters doesn't require editing init scripts.  (closes: #131539)
+  * Split templates into separate files, and add French templates.
+    (closes: #134630)
+  * Use invoke-rc.d to avoid premature daemon starts.  (closes: 158574)
+  * Change priority of nfs-kernel-server to 'optional'.
+
+ -- Chip Salzenberg <chip@debian.org>  Sun, 15 Sep 2002 22:00:27 -0400
+
+nfs-utils (1:1.0.1-1) unstable; urgency=low
+
+  * New upstream version:
+    > BIG CHANGE: Exports default to "sync", that is, synchronous writes.
+      This is safer but MUCH SLOWER than the old default of "async".
+      All exports should be marked as either "sync" or "async" to avoid a
+      warning from exportfs.
+  * Patches from CVS through 2002-08-26.
+  * Let init script start statd on a specific port.  (closes: #144344)
+  * Fix typo in debconf message about tcpwrappers.  (closes: #128709)
+  * Fix typo in rpc.nfsd(8).  (closes: #152556)
+  * Add Russian templates.  (closes: #136599, #136932)
+
+ -- Chip Salzenberg <chip@debian.org>  Mon, 26 Aug 2002 12:17:57 -0400
+
+nfs-utils (1:1.0-2) unstable; urgency=low
+
+  * Fail an export if its mapping option is unsupported.  (closes: #85678)
+
+ -- Chip Salzenberg <chip@debian.org>  Wed,  2 Jan 2002 15:52:37 -0800
+
+nfs-utils (1:1.0-1) unstable; urgency=medium
+
+  * New upstream version.  (Version number is only change.)
+  * Urgency "medium" so woody users see the pretty new version number.
+    (Yeah, it's shallow... but, doggone it, this is mature code.)
+
+ -- Chip Salzenberg <chip@debian.org>  Wed, 26 Dec 2001 20:21:15 -0800
+
+nfs-utils (1:0.3.3-6) unstable; urgency=high
+
+  * Upstream fixes:
+    > Ignore case when comparing host names.
+    > Use all addresses of multi-homed hosts in export processing.
+    > When reading /proc/fs/nfs/exports, assume noasync and nowgather;
+      older kernels did so, while newer kernels report them explicitly.
+    > Remove man page refs to "hosts_allow(5)".  (closes: #122540)
+    > In exports.5: Emphasize the need for options to immediately follow
+      client names.  Explain that wildcards don't usually work on addresses,
+      but may work when reverse DNS fails. (closes: #118040, #116039)
+
+ -- Chip Salzenberg <chip@debian.org>  Wed, 26 Dec 2001 18:54:35 -0800
+
+nfs-utils (1:0.3.3-5) unstable; urgency=high
+
+  * Keep NFS fully operational during upgrade.  (closes: #76544)
+  * When calling update-rc.d, send stdout to /dev/null, but not stderr.
+
+ -- Chip Salzenberg <chip@debian.org>  Thu, 13 Dec 2001 18:50:47 -0800
+
+nfs-utils (1:0.3.3-4) unstable; urgency=high
+
+  * High priority due to changes in previous version.
+  * Upstream fixes:
+    > Close filehandles in nfsd before spawing kernel threads.  This is a
+      workaround for a kernel bug.  (closes: #121213)
+    > Document that both host names *and* addresses are checked with tcpwrappers.
+      This is a doc update, not a change.  (closes: #108493)
+    > Don't assume that strings starting with digits are IP addresses;
+      host names are allowed to start with digits.  (closes: #68977)
+  * German template for nfs-common.  (closes: #120939)
+
+ -- Chip Salzenberg <chip@debian.org>  Mon, 26 Nov 2001 11:50:43 -0800
+
+nfs-utils (1:0.3.3-3) unstable; urgency=low
+
+  * Upstream fixes:
+    > Accept obsolete mount option "crossmnt" for parsing old xtab files
+      after upgrade.  (closes: #78801)
+    > Put filenames into more error messages.
+  * Stop debconf before starting nfsd to avoid a hang.  Kernel threads
+    like nfsd aren't supposed to inherit open files from the programs that
+    start them, but nfsd does.  See debconf tutorial.  (closes: #115817)
+  * Rebuild with current glibc.  (closes: #119545)
+  * Carefully account for ownership of /var/lib/nfs/*.  (closes: #117258)
+  * Warn about statd using tcpwrappers.  (closes: #92666)
+  * Only warn about mountd's tcpwrappers name change if the old name
+    appears in the tcpwrapper config files.
+  * German template for nfs-kernel-server.  (closes: #117196)
+
+ -- Chip Salzenberg <chip@debian.org>  Wed, 21 Nov 2001 18:30:36 -0800
+
+nfs-utils (1:0.3.3-2) unstable; urgency=high
+
+  * The "Test It Before Release, Stupid" release.
+  * Repair total failure of rpc.mountd.  (closes: #115095)
+
+ -- Chip Salzenberg <chip@debian.org>  Thu, 11 Oct 2001 13:03:45 -0700
+
+nfs-utils (1:0.3.3-1) unstable; urgency=medium
+
+  * The "Life Goes On" release.
+  * New upstream version.  (closes: #113042)
+    > Avoid DNS when unexporting... important for shutdown.
+    > Recognize double-quote and \octal quoting in pathnames.
+    > Print pathnames with \octal quoting as necessary.
+  * Depend on a version of glibc that restores rpcinfo to its rightful
+    place.  (closes: #102400)
+  * Fix pathname in mountd doc.  (closes: #112088)
+  * debian/nfs-kernel-server.postinst: Remove rc.d symlinks to old
+    nfs-server init script, which doesn't realize when it's been removed.
+    (closes: #97099)
+  * Warn users about "rpc.mountd" -> "mountd" in /etc/hosts.{allow,deny}.
+    This marks my first use of debconf!  W00T!  (closes: #92671)
+
+ -- Chip Salzenberg <chip@debian.org>  Mon,  8 Oct 2001 15:04:08 -0700
+
+nfs-utils (1:0.3.2-2) unstable; urgency=low
+
+  * Rebuild with new libc.  (closes: #97252, #97455, #99829, #100317)
+  * Fix typo in nfs-kernel-server init script.  (closes: #100380)
+  * Start all daemons in root directory.
+  
+ -- Chip Salzenberg <chip@debian.org>  Fri, 15 Jun 2001 15:57:18 -0700
+
+nfs-utils (1:0.3.2-1) unstable; urgency=low
+
+  * Upstream changes to statd:
+    > Recognize long options.
+    > On startup, close std{in,out,err}.
+    > Updated man page.
+  * Let debhelper handle doc symlinks.  (closes: #74094)
+  * Rename upstream changelog, per policy.
+  * Get rid of suidregister call.
+
+ -- Chip Salzenberg <chip@debian.org>  Sun,  1 Apr 2001 19:21:26 -0700
+
+nfs-utils (1:0.3.1-1) unstable; urgency=medium
+
+  * New upstream version.
+  * Incorporate (but not all) Bug Party changes by David LaBissoniere
+    <labiss@usit.net>:
+    > Mention upstream source and license in copyright file.  (closes: #79997)
+    > Add Build-Depends for debhelper and libwrap0-dev.  (closes: #84131)
+
+ -- Chip Salzenberg <chip@debian.org>  Mon, 26 Feb 2001 16:51:15 -0800
+
+nfs-utils (1:0.3-2) unstable; urgency=low
+
+  * Upstream:
+    > Don't modify socket buffer sizes.
+
+ -- Chip Salzenberg <chip@debian.org>  Mon, 12 Feb 2001 20:46:22 -0800
+
+nfs-utils (1:0.3-1) unstable; urgency=low
+
+  * New upstream.
+
+ -- Chip Salzenberg <chip@debian.org>  Sun, 28 Jan 2001 18:13:59 -0800
+
+nfs-utils (1:0.2.1-5) unstable; urgency=low
+
+  * Fix statd callback protection ("--secure-statd") to
+     1. work with current kernels as far as possible, and
+     2. allow for Trond's recent NFS patches, which change the
+        static callback RPC procedure.
+  * Store return values of getc and getopt in int variables:
+    they can return EOF, which requires an int. (From NMU)
+  
+ -- Chip Salzenberg <chip@debian.org>  Sat, 20 Jan 2001 20:03:07 -0800
+
+nfs-utils (1:0.2.1-4) unstable; urgency=medium
+
+  * Warn about common errors in /etc/exports.  (closes: #66421)
+  * Fix line numbers in messages about /etc/exports.  (closes: #59734)
+  * Let nhfsstone replace files from old server packages.  (closes: #59261)
+
+ -- Chip Salzenberg <chip@valinux.com>  Sun,  3 Dec 2000 14:41:13 -0800
+
+nfs-utils (1:0.2.1-3) unstable; urgency=low
+
+  * Add portmap dependency. (closes: #75639)
+  * Upstream:
+    > mountd: New option "-n/--no-tcp".
+
+ -- Chip Salzenberg <chip@valinux.com>  Sun, 19 Nov 2000 09:22:19 -0800
+
+nfs-utils (1:0.2.1-2) unstable; urgency=high
+
+  * On shutdown, kill user-mode lockd, not kernel-mode lockd thread.
+  * Big upstream fix:
+     > statd: Repair memory leaks and corruptions.
+  * Other upstream patches:
+     > exportfs: Support CIDR netmasks (e.g. "1.2.3.4/24").
+     > statd: Fix callbacks to local lockd; Be paranoid about IP addresses
+       when doing callbacks to local lockd; Add debugging features; Make
+       logs more readable.
+
+ -- Chip Salzenberg <chip@valinux.com>  Thu,  2 Nov 2000 18:10:36 -0800
+
+nfs-utils (1:0.2.1-1) unstable; urgency=low
+
+  * New upstream w/minor fixes.
+
+ -- Chip Salzenberg <chip@valinux.com>  Mon,  2 Oct 2000 17:32:00 -0700
+
+nfs-utils (1:0.2-1) unstable; urgency=low
+
+  * New upstream version number.
+  * Minor fixes.
+
+ -- Chip Salzenberg <chip@valinux.com>  Tue,  5 Sep 2000 11:30:00 -0700
+
+nfs-utils (1:0.1.9.1-2) unstable; urgency=medium
+
+  * Upstream addition of tcpwrapper support in statd and mountd.
+  * Upstream fixes from H.J. Lu and Neil Brown.
+  * Run exportfs first during startup (again).
+
+ -- Chip Salzenberg <chip@valinux.com>  Sat, 26 Aug 2000 17:30:00 -0700
+
+nfs-utils (1:0.1.9.1-1) frozen unstable; urgency=high
+
+  * New upstream version, fixes more logging errors.
+  * Fix Debian distribution list.
+
+ -- Chip Salzenberg <chip@valinux.com>  Wed,  5 Jul 2000 15:00:00 -0800
+
+nfs-utils (1:0.1.8.2-2) unstable; urgency=high
+
+  * Fix serious logging error in statd.
+
+ -- Chip Salzenberg <chip@valinux.com>  Wed, 28 Jun 2000 23:00:00 -0800
+
+nfs-utils (1:0.1.8.2-1) unstable; urgency=low
+
+  * New upstream version.
+  * During startup, start daemons before running exportfs.
+
+ -- Chip Salzenberg <chip@valinux.com>  Wed, 28 Jun 2000 15:00:00 -0800
+
+nfs-utils (1:0.1.8.1-1) unstable; urgency=medium
+
+  * New upstream version.
+  * Chdir to / before spawning daemons. (closes: #60837, #64857)
+  * Follow policy for init messages. (closes: #59184, #65519)
+
+ -- Chip Salzenberg <chip@valinux.com>  Mon, 12 Jun 2000 22:30:00 -0800
+
+nfs-utils (1:0.1.8-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Chip Salzenberg <chip@valinux.com>  Sun,  4 Jun 2000 13:30:00 -0800
+
+nfs-utils (1:0.1.7.1-1) unstable; urgency=medium
+
+  * New upstream version.
+  * Use fewer sockets in mountd by sharing RPC transports,
+    even when it is run without '-p'.
+
+ -- Chip Salzenberg <chip@valinux.com>  Sat, 29 Apr 2000 20:45:00 -0800
+
+nfs-utils (1:0.1.6-3) frozen unstable; urgency=medium
+
+  * Fix kernel server shutdown order: mountd, nfsd, exportfs.
+  * Upstream:  Fix 'mountd -p'.  Use fewer UDP sockets
+    by sharing RPC transports.  Display more mount flags.
+
+ -- Chip Salzenberg <chip@valinux.com>  Mon, 13 Mar 2000 14:45:00 -0800
+
+nfs-utils (1:0.1.6-2) frozen unstable; urgency=medium
+
+  * Split off nhfsstone into its own package, since it has
+    helper scripts and most people won't use it.
+  * Also include nhfsstone's helpers: nhfs{run,nums,graph}.
+  * Install man page for nhfsstone. (closes: #55194)
+  * Always run lockd on non-module kernels. (closes: #57841)
+  * Make init scripts config files. (closes: #55193)
+  * Handle "force-reload" in nfs-common's init script. (ditto)
+  * Fix line numbers in error messages. (closes: #57717)
+  * Write man page for rpc.lockd. (closes: #55192)
+  * Fix typo in exports(5) man page. (closes: #46933)
+  * Add /usr/doc -> /usr/share doc links. (closes: #54983)
+  * Add copyright file. (closes: #55195)
+  * Refresh sources from upstream.
+  * Refine dependencies.
+
+ -- Chip Salzenberg <chip@valinux.com>  Sat, 26 Feb 2000 02:00:00 -0800
+
+nfs-utils (1:0.1.6-1) unstable; urgency=high
+
+  * New upstream version.
+  * Make nfs-kernel-server conflict with and replace knfs.
+
+ -- Chip Salzenberg <chip@valinux.com>  Wed, 12 Jan 2000 19:30:00 -0800
+
+nfs-utils (1:0.1.5-2) unstable; urgency=high
+
+  * Rename packages to "nfs-common" and "nfs-kernel-server".
+    (Previous package names were only temporary anyway.)
+  * Prepend "1:" to version, to override existing nfs-common.
+  * Remove rpc.rquotad -- it's already packaged in "quota".
+
+ -- Chip Salzenberg <chip@valinux.com>  Wed, 29 Dec 1999 17:00:00 -0800
+
+nfs-utils (0.1.5-1) unstable; urgency=medium
+
+  * New upstream version.
+  * Allow for some kernels not requiring rpc.lockd.
+
+ -- Chip Salzenberg <chip@valinux.com>  Sun, 19 Dec 1999 11:40:00 -0800
+
+nfs-utils (0.1.4-1) unstable; urgency=low
+
+  * New upstream version.
+  * Don't disable NFSv3 by default.
+
+ -- Chip Salzenberg <chip@valinux.com>  Fri, 10 Dec 1999 23:00:00 -0800
+
+nfs-utils (0.1.3-2) unstable; urgency=low
+
+  * Conflict with standard NFS packages.
+
+ -- Chip Salzenberg <chip@valinux.com>  Fri,  3 Dec 1999 22:00:00 -0800
+
+nfs-utils (0.1.3-1) unstable; urgency=low
+
+  * New upstream version.
+  * Start following CVS tree at SourceForge.
+
+ -- Chip Salzenberg <chip@valinux.com>  Fri,  3 Dec 1999 20:00:00 -0800
+
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..71a8050
--- /dev/null
@@ -0,0 +1,57 @@
+Source: nfs-utils
+Priority: standard
+Section: net
+Maintainer: Anibal Monsalve Salazar <anibal@debian.org>
+Uploaders: Steinar H. Gunderson <sesse@debian.org>, Daniel Baumann <daniel@debian.org>
+Build-Depends: debhelper (>= 5), libwrap0-dev, libevent-dev, libnfsidmap-dev, libkrb5-dev, libgssapi-dev, librpcsecgss-dev, perl, pkg-config
+Build-Conflicts: librpcsecgss-dev (= 0.14-1)
+Standards-Version: 3.7.2
+
+Package: nfs-kernel-server
+Priority: optional
+Architecture: any
+Depends: nfs-common (>= 1:1.0.8-1), ucf, lsb-base (>= 1.3-9ubuntu3), ${shlibs:Depends}
+Provides: knfs, nfs-server
+Conflicts: knfs, nfs-server
+Replaces: knfs, nfs-server
+Description: Kernel NFS server support
+ Use this package if you want to use the kernel-mode NFS server.
+ The user-mode NFS server in the "nfs-user-server" package is slower
+ and less featureful but easier to debug than the kernel-mode server.
+ .
+ Upstream: SourceForge project "nfs", CVS module nfs-utils.
+ .
+  Homepage: http://nfs.sourceforge.net/
+
+Package: nfs-common
+Architecture: any
+Depends: portmap, adduser, ucf, lsb-base (>= 1.3-9ubuntu3), ${shlibs:Depends}, libnfsidmap1 (>= 0.16-3)
+Provides: nfs-client
+Conflicts: nfs-client
+Replaces: nfs-client, nfs-kernel-server (<< 1:1.0.7-5)
+Description: NFS support files common to client and server
+ Use this package on any machine that uses NFS, either as client or
+ server.  Programs included: lockd, statd, showmount, nfsstat, gssd
+ and idmapd.
+ .
+ Upstream: SourceForge project "nfs", CVS module nfs-utils.
+ .
+  Homepage: http://nfs.sourceforge.net/
+
+Package: nhfsstone
+Priority: extra
+Architecture: any
+Depends: nfs-common, ${shlibs:Depends}
+Replaces: nfs-kernel-server
+Description: NFS benchmark program
+ nhfsstone (pronounced n-f-s-stone, the "h" is silent) is used on a
+ NFS client to generate an artificial load with a particular mix of
+ NFS operations. It reports the average response time of the server
+ in milliseconds per call and the load in calls per second. The
+ program adjusts its calling patterns based on the client's kernel
+ NFS statistics and the elapsed time. Load can be generated over a
+ given time or number of NFS calls.
+ .
+ Upstream: SourceForge project "nfs", CVS module nfs-utils.
+ .
+  Homepage: http://nfs.sourceforge.net/
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..7dd1c08
--- /dev/null
@@ -0,0 +1,11 @@
+This package was debianized by Chip Salzenberg <chip@debian.org> on Fri,  3 Dec 1999 20:00:00 -0800
+
+It was downloaded from http://sourceforge.net/projects/nfs/
+
+View individual source files for respective authors.
+
+
+You are free to distribute this software under the terms of
+the GNU General Public License, version 2 or later.
+On Debian systems, the complete text of the GNU General Public
+License can be found in the file /usr/share/common-licenses/GPL.
diff --git a/debian/etc.exports b/debian/etc.exports
new file mode 100644 (file)
index 0000000..4bb425b
--- /dev/null
@@ -0,0 +1,10 @@
+# /etc/exports: the access control list for filesystems which may be exported
+#              to NFS clients.  See exports(5).
+#
+# Example for NFSv2 and NFSv3:
+# /srv/homes       hostname1(rw,sync) hostname2(ro,sync)
+#
+# Example for NFSv4:
+# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt)
+# /srv/nfs4/homes  gss/krb5i(rw,sync)
+#
diff --git a/debian/etc.exports.md5sum b/debian/etc.exports.md5sum
new file mode 100644 (file)
index 0000000..d6ceaeb
--- /dev/null
@@ -0,0 +1,2 @@
+fa071681b8e7f4eff1d6f5c4f43bf1d8  nfs-utils-1.0.6/debian/etc.exports
+d9037825e2fbe4e58d6176e7297830cb  nfs-utils-1.0.7/debian/etc.exports
diff --git a/debian/idmapd.conf b/debian/idmapd.conf
new file mode 100644 (file)
index 0000000..8325982
--- /dev/null
@@ -0,0 +1,10 @@
+[General]
+
+Verbosity = 0
+Pipefs-Directory = /var/lib/nfs/rpc_pipefs
+Domain = localdomain
+
+[Mapping]
+
+Nobody-User = nobody
+Nobody-Group = nogroup
diff --git a/debian/idmapd.conf.md5sum b/debian/idmapd.conf.md5sum
new file mode 100644 (file)
index 0000000..6c05a8b
--- /dev/null
@@ -0,0 +1 @@
+3e94f238294cc61b047e7ae50115dffc  nfs-utils-1.0.7/debian/idmapd.conf
diff --git a/debian/nfs-common.default b/debian/nfs-common.default
new file mode 100644 (file)
index 0000000..5eba0b5
--- /dev/null
@@ -0,0 +1,20 @@
+# If you do not set values for the NEED_ options, they will be attempted
+# autodetected; this should be sufficient for most people. Valid alternatives
+# for the NEED_ options are "yes" and "no".
+
+# Options for rpc.statd.
+#   Should rpc.statd listen on a specific port? This is especially useful
+#   when you have a port-based firewall. To use a fixed port, set this
+#   this variable to a statd argument like: "--port 4000 --outgoing-port 4001".
+#   For more information, see rpc.statd(8) or http://wiki.debian.org/?SecuringNFS
+STATDOPTS=
+
+# Some kernels need a separate lockd daemon; most don't. Set this if you
+# want to force an explicit choice for some reason.
+NEED_LOCKD=
+
+# Do you want to start the idmapd daemon? It is only needed for NFSv4.
+NEED_IDMAPD=
+
+# Do you want to start the gssd daemon? It is required for Kerberos mounts.
+NEED_GSSD=
diff --git a/debian/nfs-common.default.md5sum b/debian/nfs-common.default.md5sum
new file mode 100644 (file)
index 0000000..dfe4aa0
--- /dev/null
@@ -0,0 +1,7 @@
+9409842759091e981d65a210e3e914cb  nfs-utils-1.0.6/debian/nfs-common.default
+e9765a19f6be408eb8a8afa0ee9677b9  nfs-utils-1.0.7-2/debian/nfs-common.default
+04d838e3d6ce19ac7d0246740128e4a0  nfs-utils-1.0.7-6/debian/nfs-common.default
+e460b95b3b808e55ec7dcba8e605ab14  nfs-utils-1.0.7-10/debian/nfs-common.default
+bf979c79c0eca8c114c5388bf7225b4f  nfs-utils-1.0.7-16/debian/nfs-common.default
+d41d8cd98f00b204e9800998ecf8427e  nfs-utils-1.0.7-18/debian/nfs-common.default
+
diff --git a/debian/nfs-common.dirs b/debian/nfs-common.dirs
new file mode 100644 (file)
index 0000000..795c6e7
--- /dev/null
@@ -0,0 +1,8 @@
+etc/init.d
+sbin
+usr/sbin
+var/lib/nfs
+var/lib/nfs/sm
+var/lib/nfs/sm.bak
+var/lib/nfs/rpc_pipefs
+usr/share/nfs-common/conffiles
diff --git a/debian/nfs-common.init b/debian/nfs-common.init
new file mode 100644 (file)
index 0000000..a930976
--- /dev/null
@@ -0,0 +1,289 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides:          nfs-common
+# Required-Start:    $time
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: NFS support files common to client and server
+# Description:       NFS is a popular protocol for file sharing across
+#                   TCP/IP networks. This service provides various
+#                    support functions for NFS mounts.
+### END INIT INFO
+
+# What is this?
+DESC="NFS common utilities"
+
+# Read config
+DEFAULTFILE=/etc/default/nfs-common
+PREFIX=
+NEED_LOCKD=
+NEED_IDMAPD=
+NEED_GSSD=
+PIPEFS_MOUNTPOINT=/var/lib/nfs/rpc_pipefs
+RPCGSSDOPTS=
+if [ -f $DEFAULTFILE ]; then
+    . $DEFAULTFILE
+fi
+
+. /lib/lsb/init-functions
+
+# Determine whether lockd daemon is required.
+case "$NEED_LOCKD" in
+yes|no)        ;;
+*)  case `uname -r` in
+    '' | [01].* | 2.[0123].* )
+       # Older kernels may or may not need a lockd daemon.
+       # We must assume they do, unless we can prove otherwise.
+       # (A false positive here results only in a harmless message.)
+       NEED_LOCKD=yes
+       if test -f /proc/ksyms
+       then
+           grep -q lockdctl /proc/ksyms || NEED_LOCKD=no
+       fi
+       ;;
+
+    *)  # Modern kernels (>= 2.4) start a lockd thread automatically.
+       NEED_LOCKD=no
+       ;;
+    esac
+    ;;
+esac
+
+#
+# Parse the fstab file, and determine whether we need idmapd and gssd. (The
+# /etc/defaults settings, if any, will override our autodetection.) This code
+# is partially adapted from the mountnfs.sh script in the sysvinit package.
+#
+AUTO_NEED_IDMAPD=no
+AUTO_NEED_GSSD=no
+
+exec 9<&0 </etc/fstab
+
+while read DEV MTPT FSTYPE OPTS REST
+do
+    if [ "$FSTYPE" = "nfs4" ]; then
+        AUTO_NEED_IDMAPD=yes
+    fi
+    case "$OPTS" in
+        sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5i,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
+           AUTO_NEED_GSSD=yes
+       ;;
+    esac
+done
+
+exec 0<&9 9<&-
+
+#
+# We also need idmapd if we run an NFSv4 server. It's fairly difficult
+# to autodetect whether there are NFSv4 exports or not, and idmapd is not a
+# particularily heavy daemon, so we auto-enable it if we find an /etc/exports
+# file. This does not mean that there are NFSv4 or other mounts active (or
+# even that nfs-kernel-server is installed), but it matches what the "start"
+# condition in nfs-kernel-server's init script does, which has a value in
+# itself.
+#
+if [ -f /etc/exports ]; then
+    AUTO_NEED_IDMAPD=yes
+fi
+
+
+case "$NEED_IDMAPD" in
+    yes|no)    
+        ;;
+    *)
+        NEED_IDMAPD=$AUTO_NEED_IDMAPD
+       ;;
+esac
+
+case "$NEED_GSSD" in
+    yes|no)    
+        ;;
+    *)
+        NEED_GSSD=$AUTO_NEED_GSSD
+       ;;
+esac
+
+# Exit if required binaries are missing.
+[ -x $PREFIX/sbin/rpc.statd ] || exit 0
+[ -x $PREFIX/sbin/rpc.lockd ] || [ "$NEED_LOCKD"  = no ] || exit 0
+[ -x /usr/sbin/rpc.idmapd   ] || [ "$NEED_IDMAPD" = no ] || exit 0
+[ -x /usr/sbin/rpc.gssd     ] || [ "$NEED_GSSD"   = no ] || exit 0
+
+do_modprobe() {
+    modprobe -q "$1" || true
+}
+
+do_mount() {
+    if ! grep -E -qs "$1\$" /proc/filesystems
+    then
+       return 1
+    fi
+    if ! mountpoint -q "$2"
+    then
+       mount -t "$1" "$1" "$2"
+       return
+    fi
+    return 0
+}
+
+do_umount() {
+    if mountpoint -q "$1"
+    then
+       umount "$1"
+    fi
+    return 0
+}
+
+# See how we were called.
+case "$1" in
+  start)
+       log_daemon_msg "Starting $DESC"
+
+       log_progress_msg "statd"
+       start-stop-daemon --start --oknodo --quiet \
+           --exec $PREFIX/sbin/rpc.statd -- $STATDOPTS
+       if [ $? != 0 ]; then
+           log_end_msg $?
+           exit $?
+       fi
+
+       if [ "$NEED_LOCKD" = yes ]
+       then
+           log_progress_msg "lockd"
+           start-stop-daemon --start --oknodo --quiet \
+               --exec $PREFIX/sbin/rpc.lockd
+           if [ $? != 0 ]; then
+               log_end_msg $?
+               exit $?
+            fi
+       fi
+       if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]
+       then
+           do_modprobe nfs
+           do_modprobe nfs4
+           if do_mount rpc_pipefs $PIPEFS_MOUNTPOINT
+           then
+               if [ "$NEED_IDMAPD" = yes ]
+               then
+                   log_progress_msg "idmapd"
+                   start-stop-daemon --start --oknodo --quiet \
+                           --exec /usr/sbin/rpc.idmapd
+                   if [ $? != 0 ]; then
+                       log_end_msg $?
+                       exit $?
+                    fi
+               fi
+               if [ "$NEED_GSSD" = yes ]
+               then
+                   do_modprobe rpcsec_gss_krb5
+                   log_progress_msg "gssd"
+                   start-stop-daemon --start --oknodo --quiet \
+                           --exec /usr/sbin/rpc.gssd -- $RPCGSSDOPTS
+                   if [ $? != 0 ]; then
+                       log_end_msg $?
+                       exit $?
+                    fi
+               fi
+           fi
+       fi
+       log_end_msg 0
+       ;;
+
+  stop)
+       log_daemon_msg "Stopping $DESC"
+
+       if [ "$NEED_GSSD" = yes ]
+       then
+           log_progress_msg "gssd"
+           start-stop-daemon --stop --oknodo --quiet \
+                   --name rpc.gssd
+           if [ $? != 0 ]; then
+                log_end_msg $?
+                exit $?
+            fi
+       fi
+       if [ "$NEED_IDMAPD" = yes ]
+       then
+           log_progress_msg "idmapd"
+           start-stop-daemon --stop --oknodo --quiet \
+               --name rpc.idmapd
+           if [ $? != 0 ]; then
+                log_end_msg $?
+                exit $?
+            fi
+       fi
+       if [ "$NEED_LOCKD" = yes ]
+       then
+           log_progress_msg "lockd"
+           start-stop-daemon --stop --oknodo --quiet \
+               --name rpc.lockd
+           if [ $? != 0 ]; then
+                log_end_msg $?
+                exit $?
+            fi
+       else
+           pkill -KILL -u root -x lockd || true
+       fi
+       log_progress_msg "statd"
+       start-stop-daemon --stop --oknodo --quiet \
+           --name rpc.statd
+       if [ $? != 0 ]; then
+            log_end_msg $?
+            exit $?
+        fi
+       do_umount $PIPEFS_MOUNTPOINT 2>/dev/null || true
+       log_end_msg 0
+       ;;
+
+  status)
+       if ! pidof rpc.statd >/dev/null
+       then
+           echo "rpc.statd not running"
+           exit 3
+       fi
+
+       if [ "$NEED_GSSD" = yes ]
+       then
+            if ! pidof rpc.gssd >/dev/null
+           then
+               echo "rpc.statd running, but rpc.gssd halted"
+               exit 3
+           fi
+       fi
+
+       if [ "$NEED_LOCKD" = yes ]
+       then
+           if ! pidof rpc.lockd >/dev/null
+           then
+               echo "rpc.statd running, but rpc.lockd halted"
+               exit 3
+           fi
+       fi
+           
+       if [ "$NEED_IDMAPD" = yes ]
+       then
+            if ! pidof rpc.idmapd >/dev/null
+           then
+               echo "rpc.statd running, but rpc.idmapd halted"
+               exit 3
+           fi
+       fi
+
+       echo "rpc.statd running"
+       exit 0
+       ;;
+
+  restart | force-reload)
+       $0 stop
+       sleep 1
+       $0 start
+       ;;
+
+  *)
+       log_success_msg "Usage: nfs-common {start|stop|status|restart}"
+       exit 1
+       ;;
+esac
+
+exit 0
diff --git a/debian/nfs-common.install b/debian/nfs-common.install
new file mode 100644 (file)
index 0000000..e329d93
--- /dev/null
@@ -0,0 +1,13 @@
+debian/tmp/usr/sbin/rpc.lockd sbin/
+debian/tmp/usr/sbin/rpc.statd sbin/
+debian/tmp/usr/sbin/showmount sbin/
+debian/tmp/usr/sbin/nfsstat
+debian/tmp/usr/sbin/rpc.gssd
+debian/tmp/usr/sbin/rpc.idmapd
+debian/tmp/usr/sbin/gss_clnt_send_err
+debian/tmp/usr/sbin/gss_destroy_creds
+debian/tmp/usr/sbin/rpcdebug
+debian/idmapd.conf usr/share/nfs-common/conffiles/
+debian/idmapd.conf.md5sum usr/share/nfs-common/conffiles/
+debian/nfs-common.default usr/share/nfs-common/conffiles/
+debian/nfs-common.default.md5sum usr/share/nfs-common/conffiles/
diff --git a/debian/nfs-common.links b/debian/nfs-common.links
new file mode 100644 (file)
index 0000000..5532df3
--- /dev/null
@@ -0,0 +1,4 @@
+/usr/share/man/man8/gssd.8 /usr/share/man/man8/rpc.gssd.8
+/usr/share/man/man8/lockd.8 /usr/share/man/man8/rpc.lockd.8
+/usr/share/man/man8/statd.8 /usr/share/man/man8/rpc.statd.8
+/usr/share/man/man8/idmapd.8 /usr/share/man/man8/rpc.idmapd.8
diff --git a/debian/nfs-common.manpages b/debian/nfs-common.manpages
new file mode 100644 (file)
index 0000000..c17c5e7
--- /dev/null
@@ -0,0 +1,9 @@
+debian/tmp/usr/share/man/man5/idmapd.conf*
+debian/tmp/usr/share/man/man8/gssd.8
+debian/tmp/usr/share/man/man8/idmapd.8
+debian/tmp/usr/share/man/man8/lockd.8
+debian/tmp/usr/share/man/man8/statd.8
+debian/tmp/usr/share/man/man8/nfsstat*
+debian/tmp/usr/share/man/man8/showmount*
+debian/tmp/usr/share/man/man8/idmapd*
+debian/tmp/usr/share/man/man8/rpcdebug.8
diff --git a/debian/nfs-common.postinst b/debian/nfs-common.postinst
new file mode 100644 (file)
index 0000000..2b83861
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh -e
+
+#DEBHELPER#
+
+case "$1" in
+    configure)
+       ucf --three-way /usr/share/nfs-common/conffiles/idmapd.conf /etc/idmapd.conf
+       ucf --three-way /usr/share/nfs-common/conffiles/nfs-common.default /etc/default/nfs-common
+
+       update-rc.d nfs-common defaults 21 79 >/dev/null
+
+       if ! getent passwd statd >/dev/null; then
+           adduser --system --home /var/lib/nfs --no-create-home statd
+       fi
+       if dpkg --compare-versions "$2" ge 1:1.0.7-10 && dpkg --compare-versions "$2" lt 1:1.0.7-13; then
+            usermod --home /var/lib/nfs statd || true
+            if [ -d /home/statd ]; then
+                rmdir --ignore-fail-on-non-empty /home/statd
+            fi
+       fi
+       if [ "$2" = "" ] || dpkg --compare-versions "$2" lt 1:1.0.7-16; then
+           chown statd /var/lib/nfs/sm \
+               /var/lib/nfs/sm.bak \
+               /var/lib/nfs/rpc_pipefs \
+               /var/lib/nfs
+            if [ -f /var/lib/nfs/state ]; then
+               chown statd /var/lib/nfs/state
+            fi
+       fi
+    ;;
+esac
+
+act="restart"
+[ "$1:$2" = "configure:" ] && act="start"
+invoke-rc.d nfs-common $act
diff --git a/debian/nfs-common.postrm b/debian/nfs-common.postrm
new file mode 100644 (file)
index 0000000..267bb7a
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+#DEBHELPER#
+
+case "$1" in
+    purge)
+       update-rc.d nfs-common remove >/dev/null
+
+       for FILE in /etc/default/nfs-common /etc/idmapd.conf; do
+           # Taken from the ucf example postrm
+           for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist;  do
+               rm -f $FILE$ext
+           done
+           rm -f $FILE
+           if [ -x /usr/bin/ucf ]; then
+               ucf --purge $FILE
+           fi
+       done
+
+       rm -f /var/lib/nfs/state    \
+             /var/lib/nfs/sm/*     \
+             /var/lib/nfs/sm.bak/*
+       ;;
+esac
diff --git a/debian/nfs-common.prerm b/debian/nfs-common.prerm
new file mode 100644 (file)
index 0000000..c3c15ba
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+#DEBHELPER#
+
+case "$1" in
+    remove|purge)
+       [ -x /etc/init.d/nfs-common ] &&
+           invoke-rc.d nfs-common stop
+       ;;
+esac
+
+if [ "$1" != upgrade ]
+then
+    rm -f /var/lib/nfs/sm/*      \
+          /var/lib/nfs/sm.bak/*  \
+          /var/lib/nfs/state
+fi
+
+exit 0
diff --git a/debian/nfs-kernel-server.NEWS b/debian/nfs-kernel-server.NEWS
new file mode 100644 (file)
index 0000000..dcea315
--- /dev/null
@@ -0,0 +1,8 @@
+nfs-utils (1:1.0.1-1) unstable; urgency=low
+
+  * Exports default to "sync", that is, synchronous writes.
+    This is safer but MUCH SLOWER than the old default of "async".
+    All exports should be marked as either "sync" or "async" to
+    avoid a warning from exportfs.
+
+ -- Chip Salzenberg <chip@debian.org>  Mon, 26 Aug 2002 12:17:57 -0400
diff --git a/debian/nfs-kernel-server.default b/debian/nfs-kernel-server.default
new file mode 100644 (file)
index 0000000..365f616
--- /dev/null
@@ -0,0 +1,18 @@
+# Number of servers to start up
+RPCNFSDCOUNT=8
+
+# Runtime priority of server (see nice(1))
+RPCNFSDPRIORITY=0
+
+# Options for rpc.mountd.
+# If you have a port-based firewall, you might want to set up
+# a fixed port here using the --port option. For more information, 
+# see rpc.mountd(8) or http://wiki.debian.org/?SecuringNFS
+RPCMOUNTDOPTS=
+
+# Do you want to start the svcgssd daemon? It is only required for Kerberos
+# exports. Valid alternatives are "yes" and "no"; the default is "no".
+NEED_SVCGSSD=
+
+# Options for rpc.svcgssd.
+RPCSVCGSSDOPTS=
diff --git a/debian/nfs-kernel-server.default.md5sum b/debian/nfs-kernel-server.default.md5sum
new file mode 100644 (file)
index 0000000..3271518
--- /dev/null
@@ -0,0 +1,4 @@
+226f8fdd37b11c59d73e2f378e22b0d0  nfs-utils-1.0.6/debian/nfs-kernel-server.default
+04755047c69d355d9d103c6f10017ec6  nfs-utils-1.0.7-2/debian/nfs-kernel-server.default
+41cb37d01bbfacaf4bfbe0f62b18284f  nfs-utils-1.0.7-4/debian/nfs-kernel-server.default
+41388b5bb60d7ad1b1281b975dc07ce9  nfs-utils-1.0.7-16/debian/nfs-kernel-server.default
diff --git a/debian/nfs-kernel-server.dirs b/debian/nfs-kernel-server.dirs
new file mode 100644 (file)
index 0000000..7d336b9
--- /dev/null
@@ -0,0 +1,5 @@
+etc/init.d
+usr/sbin
+var/lib/nfs
+var/lib/nfs/v4recovery
+usr/share/nfs-kernel-server/conffiles
diff --git a/debian/nfs-kernel-server.init b/debian/nfs-kernel-server.init
new file mode 100644 (file)
index 0000000..81bd3f2
--- /dev/null
@@ -0,0 +1,204 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides:          nfs-kernel-server
+# Required-Start:    $portmap $time
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Kernel NFS server support
+# Description:       NFS is a popular protocol for file sharing across
+#                   TCP/IP networks. This service provides NFS server
+#                    functionality, which is configured via the
+#                    /etc/exports file.
+### END INIT INFO
+
+# What is this?
+DESC="NFS kernel daemon"
+PREFIX=/usr
+
+# Exit if required binaries are missing.
+[ -x $PREFIX/sbin/rpc.nfsd    ] || exit 0
+[ -x $PREFIX/sbin/rpc.mountd  ] || exit 0
+[ -x $PREFIX/sbin/exportfs    ] || exit 0
+
+# Read config
+DEFAULTFILE=/etc/default/nfs-kernel-server
+RPCNFSDCOUNT=8
+RPCNFSDPRIORITY=0
+RPCMOUNTDOPTS=
+NEED_SVCGSSD=no
+RPCSVCGSSDOPTS=
+PROCNFSD_MOUNTPOINT=/proc/fs/nfsd
+if [ -f $DEFAULTFILE ]; then
+    . $DEFAULTFILE
+fi
+
+. /lib/lsb/init-functions
+
+do_modprobe() {
+    if [ -x /sbin/modprobe -a -f /proc/modules ]
+    then
+        modprobe -q "$1" || true
+    fi
+}
+
+do_mount() {
+    if ! grep -E -qs "$1\$" /proc/filesystems
+    then
+       return 1
+    fi
+    if ! mountpoint -q "$2"
+    then
+       mount -t "$1" "$1" "$2"
+       return
+    fi
+    return 0
+}
+
+# See how we were called.
+case "$1" in
+  start)
+       if [ -f /etc/exports ]
+       then
+               do_modprobe nfsd
+
+               # See if our running kernel supports the NFS kernel server
+               if [ -f /proc/kallsyms ] && ! grep -qE 'init_nf(sd|     )' /proc/kallsyms; then
+                       log_warning_msg "Not starting $DESC: no support in current kernel."
+                       exit 0
+               fi
+               
+               do_mount nfsd $PROCNFSD_MOUNTPOINT || NEED_SVCGSSD=no
+               log_begin_msg "Exporting directories for $DESC..."
+               $PREFIX/sbin/exportfs -r
+               if [ $? != 0 ]; then
+                       log_end_msg $?
+                       exit $?
+               fi
+               log_end_msg 0
+
+               log_daemon_msg "Starting $DESC"
+               log_progress_msg "nfsd"
+               start-stop-daemon --start --oknodo --quiet \
+                   --nicelevel $RPCNFSDPRIORITY \
+                   --exec $PREFIX/sbin/rpc.nfsd -- $RPCNFSDCOUNT
+               if [ $? != 0 ]; then
+                       log_end_msg $?
+                       exit $?
+               fi
+
+               # make sure 127.0.0.1 is a valid source for requests
+               ClearAddr=
+               if [ -f /proc/net/rpc/auth.unix.ip/channel ]
+               then
+                   fgrep -qs 127.0.0.1 /proc/net/rpc/auth.unix.ip/content || {
+                       echo "nfsd 127.0.0.1 2147483647 localhost" >/proc/net/rpc/auth.unix.ip/channel
+                       ClearAddr=yes
+                   }
+               fi
+
+               $PREFIX/bin/rpcinfo -u localhost nfs 3 >/dev/null 2>&1 ||
+                   RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3"
+
+               [ -z "$ClearAddr" ] || echo "nfsd 127.0.0.1 1" >/proc/net/rpc/auth.unix.ip/channel
+       
+               if [ "$NEED_SVCGSSD" = "yes" ]; then
+                       log_progress_msg "svcgssd"
+                       start-stop-daemon --start --oknodo --quiet \
+                           --exec $PREFIX/sbin/rpc.svcgssd -- $RPCSVCGSSDOPTS
+                       if [ $? != 0 ]; then
+                               log_end_msg $?
+                               exit $?
+                       fi
+               fi
+
+               log_progress_msg "mountd"
+               start-stop-daemon --start --oknodo --quiet \
+                   --exec $PREFIX/sbin/rpc.mountd -- $RPCMOUNTDOPTS
+               if [ $? != 0 ]; then
+                       log_end_msg $?
+                       exit $?
+               fi
+
+               log_end_msg 0
+       else
+               log_warning_msg "Not starting $DESC: no exports."
+       fi
+       ;;
+
+  stop)
+       log_daemon_msg "Stopping $DESC"
+       
+       log_progress_msg "mountd"
+       start-stop-daemon --stop --oknodo --quiet \
+           --name rpc.mountd --user 0
+       if [ $? != 0 ]; then
+               log_end_msg $?
+               exit $?
+       fi
+               
+       if [ "$NEED_SVCGSSD" = "yes" ]; then
+               log_progress_msg "svcgssd"
+               start-stop-daemon --stop --oknodo --quiet \
+                   --name rpc.svcgssd --user 0
+               if [ $? != 0 ]; then
+                       log_end_msg $?
+                       exit $?
+               fi
+       fi
+
+       log_progress_msg "nfsd"
+       start-stop-daemon --stop --oknodo --quiet \
+           --name nfsd --user 0 --signal 2
+       if [ $? != 0 ]; then
+               log_end_msg $?
+               exit $?
+       fi
+
+       log_end_msg 0
+
+       log_begin_msg "Unexporting directories for $DESC..."
+       $PREFIX/sbin/exportfs -au
+       if [ $? != 0 ]; then
+               log_end_msg $?
+               exit $?
+       fi
+       log_end_msg 0
+
+       if mountpoint -q /proc/nfs/nfsd
+       then
+           $PREFIX/sbin/exportfs -f
+       fi
+       ;;
+
+  status)
+       if pidof nfsd >/dev/null
+       then
+           echo "nfsd running"
+           exit 0
+       else
+           echo "nfsd not running"
+           exit 3
+       fi
+       ;;
+
+  reload | force-reload)
+       log_begin_msg "Re-exporting directories for $DESC..."
+       $PREFIX/sbin/exportfs -r
+       log_end_msg $?
+       exit $?
+       ;;
+
+  restart)
+       $0 stop
+       sleep 1
+       $0 start
+       ;;
+
+  *)
+       log_success_msg "Usage: nfs-kernel-server {start|stop|status|reload|force-reload|restart}"
+       exit 1
+       ;;
+esac
+
+exit 0
diff --git a/debian/nfs-kernel-server.install b/debian/nfs-kernel-server.install
new file mode 100644 (file)
index 0000000..e815651
--- /dev/null
@@ -0,0 +1,8 @@
+debian/tmp/usr/sbin/exportfs
+debian/tmp/usr/sbin/rpc.mountd
+debian/tmp/usr/sbin/rpc.nfsd
+debian/tmp/usr/sbin/rpc.svcgssd
+debian/nfs-kernel-server.default /usr/share/nfs-kernel-server/conffiles/
+debian/etc.exports /usr/share/nfs-kernel-server/conffiles/
+debian/nfs-kernel-server.default.md5sum /usr/share/nfs-kernel-server/conffiles/
+debian/etc.exports.md5sum /usr/share/nfs-kernel-server/conffiles/
diff --git a/debian/nfs-kernel-server.links b/debian/nfs-kernel-server.links
new file mode 100644 (file)
index 0000000..0f4d882
--- /dev/null
@@ -0,0 +1,3 @@
+/usr/share/man/man8/mountd.8 /usr/share/man/man8/rpc.mountd.8
+/usr/share/man/man8/nfsd.8 /usr/share/man/man8/rpc.nfsd.8
+/usr/share/man/man8/svcgssd.8 /usr/share/man/man8/rpc.svcgssd.8
diff --git a/debian/nfs-kernel-server.manpages b/debian/nfs-kernel-server.manpages
new file mode 100644 (file)
index 0000000..f8edbae
--- /dev/null
@@ -0,0 +1,6 @@
+debian/tmp/usr/share/man/man5/exports.5
+debian/tmp/usr/share/man/man7/nfsd.7
+debian/tmp/usr/share/man/man8/mountd.8
+debian/tmp/usr/share/man/man8/exportfs.8
+debian/tmp/usr/share/man/man8/nfsd.8
+debian/tmp/usr/share/man/man8/svcgssd.8
diff --git a/debian/nfs-kernel-server.postinst b/debian/nfs-kernel-server.postinst
new file mode 100644 (file)
index 0000000..5788144
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh -e
+
+#DEBHELPER#
+
+case "$1" in
+    configure)
+       ucf --three-way /usr/share/nfs-kernel-server/conffiles/etc.exports /etc/exports
+       ucf --three-way /usr/share/nfs-kernel-server/conffiles/nfs-kernel-server.default /etc/default/nfs-kernel-server
+
+       for f in /var/lib/nfs/etab  \
+                /var/lib/nfs/rmtab \
+                /var/lib/nfs/xtab; do
+           [ -e $f ] || touch $f
+       done
+
+       update-rc.d nfs-kernel-server defaults 20 80 >/dev/null
+    ;;
+esac
+
+act="restart"
+[ "$1:$2" = "configure:" ] && act="start"
+[ "$1:$2" = "configure:" ] && invoke-rc.d nfs-common start
+invoke-rc.d nfs-kernel-server $act
diff --git a/debian/nfs-kernel-server.postrm b/debian/nfs-kernel-server.postrm
new file mode 100644 (file)
index 0000000..4a79162
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+#DEBHELPER#
+
+case "$1" in
+    purge)
+       update-rc.d nfs-kernel-server remove >/dev/null
+
+       for FILE in /etc/default/nfs-kernel-server /etc/exports; do
+           # Taken from the ucf example postrm
+           for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist;  do
+               rm -f $FILE$ext
+           done
+           rm -f $FILE
+           if [ -x /usr/bin/ucf ]; then
+               ucf --purge $FILE
+           fi
+       done
+
+       rm -f /var/lib/nfs/etab  \
+              /var/lib/nfs/rmtab \
+              /var/lib/nfs/xtab
+       ;;
+esac
+
diff --git a/debian/nfs-kernel-server.prerm b/debian/nfs-kernel-server.prerm
new file mode 100644 (file)
index 0000000..80878e6
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+#DEBHELPER#
+
+case "$1" in
+    remove|purge)
+       [ -x /etc/init.d/nfs-kernel-server ] &&
+           invoke-rc.d nfs-kernel-server stop
+       ;;
+esac
+
+if [ "$1" != upgrade ]
+then
+    rm -f /var/lib/nfs/etab   \
+          /var/lib/nfs/rmtab  \
+          /var/lib/nfs/xtab
+fi
+
+exit 0
diff --git a/debian/nhfsstone.dirs b/debian/nhfsstone.dirs
new file mode 100644 (file)
index 0000000..236670a
--- /dev/null
@@ -0,0 +1 @@
+usr/sbin
diff --git a/debian/nhfsstone.install b/debian/nhfsstone.install
new file mode 100644 (file)
index 0000000..27d18c5
--- /dev/null
@@ -0,0 +1,2 @@
+debian/tmp/usr/sbin/nhfs*
+debian/tmp/usr/share/man/man8/nhfs*
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..f3532ed
--- /dev/null
@@ -0,0 +1,67 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
+
+export DH_VERBOSE=1
+
+DEB_BUILD_GNU_TYPE     := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_GNU_TYPE      := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_HOST_ARCH          := $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_HOST_ARCH_OS       := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+
+# Temporary root
+DEBTMP := $(shell pwd)/debian/tmp
+
+build: build-stamp
+build-stamp:
+       dh_testdir
+ifeq ($(DEB_HOST_ARCH),ia64)
+       patch -p1 < debian/bzero.patch
+endif
+       CFLAGS="-g -Wall" ./configure \
+               --mandir='$${prefix}/share/man' \
+               --enable-secure-statd 
+       $(MAKE)
+       touch build-stamp
+
+clean:
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp
+       rm -rf $(DEBTMP)
+       -$(MAKE) distclean
+       dh_clean
+
+binary-indep: build
+binary-arch: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k
+       dh_installdirs
+       mkdir $(DEBTMP)
+       $(MAKE) DESTDIR='$(DEBTMP)' install
+       dh_install
+       
+       # Fix up the manpages
+       for f in lockd statd showmount; do \
+         perl -pi -e "s#/usr(/sbin/(rpc\\.)?$$f)#\$$1#g" \
+           debian/tmp/usr/share/man/man8/$$f.8; \
+       done;
+       
+       dh_installdocs -A
+       dh_installdocs -pnfs-common debian/README.Debian.nfsv4
+       install -m 0755 debian/nfs-common.init debian/nfs-common/etc/init.d/nfs-common
+       install -m 0755 debian/nfs-kernel-server.init debian/nfs-kernel-server/etc/init.d/nfs-kernel-server
+       dh_installman
+       dh_link
+       dh_installchangelogs ChangeLog
+       dh_strip
+       dh_compress
+       dh_fixperms
+       dh_installdeb
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary
diff --git a/gokk b/gokk
new file mode 100644 (file)
index 0000000..ff5ba19
--- /dev/null
+++ b/gokk
@@ -0,0 +1,1161 @@
+==22638== Omega-beta4b, An instant memory leak detector.
+==22638== Copyright (C) 2006, and GNU GPL'd, by Bryan Meredith.
+==22638== Using LibVEX rev 1606, a library for dynamic binary translation.
+==22638== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
+==22638== Using valgrind-3.2.0-Debian, a dynamic binary instrumentation framework.
+==22638== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
+==22638== For more details, rerun with: -v
+==22638== 
+--22638-- DWARF2 CFI reader: unhandled CFI instruction 0:50
+--22638-- DWARF2 CFI reader: unhandled CFI instruction 0:50
+==22638== 
+==22638== 
+==22638== 
+==22638== Omega Leak Summary
+==22638== ==================
+==22638== Loss Record 1: Leaked 8 (0x8) bytes in 1 block
+==22638==    at 0x401CE8B: realloc (vg_replace_malloc.c:306)
+==22638==    by 0x403E05A: add_mechanism (g_initialize.c:112)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638==  Block allocated
+==22638==    at 0x401CE62: realloc (vg_replace_malloc.c:306)
+==22638==    by 0x403E05A: add_mechanism (g_initialize.c:112)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638== Loss Record 2: Leaked 8 (0x8) bytes in 1 block
+==22638==    at 0x403E10E: add_mechanism (g_initialize.c:144)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x404D055: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405CD23: gss_create_empty_oid_set (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405A46A: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22638==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638== The following blocks only have circular references from other blocks
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405A522: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22638==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405A48E: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22638==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405A4FD: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22638==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405A4B3: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22638==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405A543: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22638==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405A4D8: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22638==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22638==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22638==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405A564: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22638==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x404D0C5: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405A588: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22638==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405A588: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22638==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22638==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22638==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22638==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22638==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22638==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22638==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22638==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22638==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22638==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22638==  Block allocated
+==22638==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22638==    by 0x403DD03: gss_indicate_mechs (g_indicate_mechs.c:86)
+==22638==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22638==    by 0x804AB55: main (gssd.c:148)
+==22638== 
+==22639== 
+==22639== 
+==22639== 
+==22639== Omega Leak Summary
+==22639== ==================
+==22639== Loss Record 1: Leaked 8 (0x8) bytes in 1 block
+==22639==    at 0x401CE8B: realloc (vg_replace_malloc.c:306)
+==22639==    by 0x403E05A: add_mechanism (g_initialize.c:112)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639==  Block allocated
+==22639==    at 0x401CE62: realloc (vg_replace_malloc.c:306)
+==22639==    by 0x403E05A: add_mechanism (g_initialize.c:112)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639== Loss Record 2: Leaked 8 (0x8) bytes in 1 block
+==22639==    at 0x403E10E: add_mechanism (g_initialize.c:144)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x404D055: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405CD23: gss_create_empty_oid_set (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405A46A: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22639==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639== Loss Record 3: Leaked 168 (0xA8) bytes in 1 block
+==22639==    at 0x400B319: (within /lib/ld-2.3.6.so)
+==22639==    by 0x400B07F: (within /lib/ld-2.3.6.so)
+==22639==    by 0x40D39B3: profile_open_file (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40D793E: profile_init (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CA9EC: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CAA89: krb5_os_init_context (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B1DD3: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804DA57: gssd_refresh_krb5_machine_creds (krb5_util.c:683)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40D0F04: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40D39B3: profile_open_file (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40D793E: profile_init (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CA9EC: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CAA89: krb5_os_init_context (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B1DD3: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804DA57: gssd_refresh_krb5_machine_creds (krb5_util.c:683)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 4: Leaked 192 (0xC0) bytes in 8 blocks
+==22639==    at 0x401C0CC: calloc (vg_replace_malloc.c:279)
+==22639==    by 0x40A1C8E: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Blocks allocated
+==22639==    at 0x401C0A3: calloc (vg_replace_malloc.c:279)
+==22639==    by 0x40A1C8E: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 5: Leaked 196 (0xC4) bytes in 7 blocks
+==22639==    at 0x40A22C6: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Blocks allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40A1C5F: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 6: Leaked 91 (0x5B) bytes in 7 blocks
+==22639==    at 0x40A22C6: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Blocks allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40A1DB2: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 7: Leaked 168 (0xA8) bytes in 7 blocks
+==22639==    at 0x40A22C6: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Blocks allocated
+==22639==    at 0x401C0A3: calloc (vg_replace_malloc.c:279)
+==22639==    by 0x40A1C8E: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 8: Leaked 136 (0x88) bytes in 14 blocks
+==22639==    at 0x40A22C6: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Blocks allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40A1F20: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 9: Leaked 72 (0x48) bytes in 7 blocks
+==22639==    at 0x40A22C6: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Blocks allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40A2111: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 10: Leaked 28 (0x1C) bytes in 1 block
+==22639==    at 0x804D8A4: gssd_process_krb5_keytab (krb5_util.c:578)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40A1C5F: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 11: Leaked 13 (0xD) bytes in 1 block
+==22639==    at 0x804D8A4: gssd_process_krb5_keytab (krb5_util.c:578)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40A1DB2: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 12: Leaked 24 (0x18) bytes in 1 block
+==22639==    at 0x804D8A4: gssd_process_krb5_keytab (krb5_util.c:578)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Block allocated
+==22639==    at 0x401C0A3: calloc (vg_replace_malloc.c:279)
+==22639==    by 0x40A1C8E: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 13: Leaked 20 (0x14) bytes in 2 blocks
+==22639==    at 0x804D8A4: gssd_process_krb5_keytab (krb5_util.c:578)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Blocks allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40A1F20: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 14: Leaked 24 (0x18) bytes in 1 block
+==22639==    at 0x804D8A4: gssd_process_krb5_keytab (krb5_util.c:578)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40A2111: krb5_ktfileint_internal_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A21E1: krb5_ktfileint_read_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A229E: krb5_ktfile_get_next (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40A0C18: krb5_kt_next_entry (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D83E: gssd_process_krb5_keytab (krb5_util.c:480)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 15: Leaked 1210 (0x4BA) bytes in 2 blocks
+==22639==    at 0x401C0CC: calloc (vg_replace_malloc.c:279)
+==22639==    by 0x40084A3: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4004B58: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4006772: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4223B2F: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x400B43E: (within /lib/ld-2.3.6.so)
+==22639==    by 0x422359E: _dl_open (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x4225DCC: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x400B43E: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4225E2D: __libc_dlopen_mode (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41FFBDC: __nss_lookup_function (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6BFA: (within /lib/tls/libc-2.3.6.so)
+==22639==  Blocks allocated
+==22639==    at 0x401C0A3: calloc (vg_replace_malloc.c:279)
+==22639==    by 0x40084A3: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4004B58: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4006772: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4223B2F: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x400B43E: (within /lib/ld-2.3.6.so)
+==22639==    by 0x422359E: _dl_open (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x4225DCC: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x400B43E: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4225E2D: __libc_dlopen_mode (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41FFBDC: __nss_lookup_function (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6BFA: (within /lib/tls/libc-2.3.6.so)
+==22639== 
+==22639== Loss Record 16: Leaked 336 (0x150) bytes in 2 blocks
+==22639==    at 0x401C0CC: calloc (vg_replace_malloc.c:279)
+==22639==    by 0x400CC6D: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4223FAE: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x400B43E: (within /lib/ld-2.3.6.so)
+==22639==    by 0x422359E: _dl_open (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x4225DCC: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x400B43E: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4225E2D: __libc_dlopen_mode (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41FFBDC: __nss_lookup_function (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6BFA: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==  Blocks allocated
+==22639==    at 0x401C0A3: calloc (vg_replace_malloc.c:279)
+==22639==    by 0x400CC6D: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4223FAE: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x400B43E: (within /lib/ld-2.3.6.so)
+==22639==    by 0x422359E: _dl_open (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x4225DCC: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x400B43E: (within /lib/ld-2.3.6.so)
+==22639==    by 0x4225E2D: __libc_dlopen_mode (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41FFBDC: __nss_lookup_function (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6BFA: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639== Loss Record 17: Leaked 16 (0x10) bytes in 1 block
+==22639==    at 0x41D634A: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D227: gssd_get_single_krb5_cred (krb5_util.c:360)
+==22639==    by 0x804DBCD: gssd_refresh_krb5_machine_creds (krb5_util.c:731)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x41ECCBB: tsearch (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41FF99E: __nss_lookup_function (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6BFA: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639== Loss Record 18: Leaked 8 (0x8) bytes in 1 block
+==22639==    at 0x41D634A: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D227: gssd_get_single_krb5_cred (krb5_util.c:360)
+==22639==    by 0x804DBCD: gssd_refresh_krb5_machine_creds (krb5_util.c:731)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x41FF9DD: __nss_lookup_function (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6BFA: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639== Loss Record 19: Leaked 36 (0x24) bytes in 1 block
+==22639==    at 0x41D7C35: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D227: gssd_get_single_krb5_cred (krb5_util.c:360)
+==22639==    by 0x804DBCD: gssd_refresh_krb5_machine_creds (krb5_util.c:731)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x41FFE29: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x42006DA: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6E65: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639== Loss Record 20: Leaked 48 (0x30) bytes in 1 block
+==22639==    at 0x40CBF21: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D227: gssd_get_single_krb5_cred (krb5_util.c:360)
+==22639==    by 0x804DBCD: gssd_refresh_krb5_machine_creds (krb5_util.c:731)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x41D626D: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D227: gssd_get_single_krb5_cred (krb5_util.c:360)
+==22639== 
+==22639== Loss Record 21: Leaked 3 (0x3) bytes in 1 block
+==22639==    at 0x40B8253: krb5_principal_compare (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE72D: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFEE7: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D227: gssd_get_single_krb5_cred (krb5_util.c:360)
+==22639==    by 0x804DBCD: gssd_refresh_krb5_machine_creds (krb5_util.c:731)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x408058B: asn1buf_remove_charstring (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4074459: asn1_decode_generalstring (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4074D45: asn1_decode_principal_name (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4079477: asn1_decode_kdc_rep (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4082C6E: decode_krb5_as_rep (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE521: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D227: gssd_get_single_krb5_cred (krb5_util.c:360)
+==22639==    by 0x804DBCD: gssd_refresh_krb5_machine_creds (krb5_util.c:731)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639== Loss Record 22: Leaked 6 (0x6) bytes in 1 block
+==22639==    at 0x40B8253: krb5_principal_compare (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE761: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFEE7: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D227: gssd_get_single_krb5_cred (krb5_util.c:360)
+==22639==    by 0x804DBCD: gssd_refresh_krb5_machine_creds (krb5_util.c:731)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x408058B: asn1buf_remove_charstring (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4074459: asn1_decode_generalstring (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4074D45: asn1_decode_principal_name (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x407A863: asn1_decode_enc_kdc_rep_part (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4082B6C: decode_krb5_enc_kdc_rep_part (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B2311: krb5_kdc_rep_decrypt_proc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE657: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFEC6: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D227: gssd_get_single_krb5_cred (krb5_util.c:360)
+==22639==    by 0x804DBCD: gssd_refresh_krb5_machine_creds (krb5_util.c:731)
+==22639== 
+==22639== Loss Record 23: Leaked 6 (0x6) bytes in 1 block
+==22639==    at 0x40B8253: krb5_principal_compare (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE781: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFEE7: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D227: gssd_get_single_krb5_cred (krb5_util.c:360)
+==22639==    by 0x804DBCD: gssd_refresh_krb5_machine_creds (krb5_util.c:731)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x408058B: asn1buf_remove_charstring (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4074459: asn1_decode_generalstring (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4074D45: asn1_decode_principal_name (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4075EF1: asn1_decode_ticket (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4079563: asn1_decode_kdc_rep (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4082C6E: decode_krb5_as_rep (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE521: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D227: gssd_get_single_krb5_cred (krb5_util.c:360)
+==22639==    by 0x804DBCD: gssd_refresh_krb5_machine_creds (krb5_util.c:731)
+==22639== 
+==22639== Loss Record 24: Leaked 256 (0x100) bytes in 1 block
+==22639==    at 0x401C0CC: calloc (vg_replace_malloc.c:279)
+==22639==    by 0x804B982: init_client_list (gssd_proc.c:335)
+==22639==    by 0x804AE4D: gssd_run (gssd_main_loop.c:117)
+==22639==    by 0x804ABE5: main (gssd.c:161)
+==22639==  Block allocated
+==22639==    at 0x401C0A3: calloc (vg_replace_malloc.c:279)
+==22639==    by 0x804B982: init_client_list (gssd_proc.c:335)
+==22639==    by 0x804AE4D: gssd_run (gssd_main_loop.c:117)
+==22639==    by 0x804ABE5: main (gssd.c:161)
+==22639== 
+==22639== The following blocks only have circular references from other blocks
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405A522: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22639==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405A48E: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22639==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405A4FD: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22639==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405A4B3: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22639==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405A543: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22639==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405A4D8: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22639==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22639==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22639==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405A564: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22639==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x404D0C5: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405A588: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22639==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x404D138: (within /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405CC6A: gss_add_oid_set_member (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405A588: krb5_gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x405D0FA: gss_inquire_names_for_mech (in /usr/lib/libgssapi_krb5.so.2.2)
+==22639==    by 0x403ECC9: gss_inquire_names_for_mech (g_inq_names.c:55)
+==22639==    by 0x403E0B9: add_mechanism (g_initialize.c:127)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22639==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22639==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22639==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22639==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x403EE79: gss_add_mech_name_type (g_mechname.c:79)
+==22639==    by 0x403E0F9: add_mechanism (g_initialize.c:132)
+==22639==    by 0x403E443: linux_initialize (g_initialize.c:343)
+==22639==    by 0x403E14C: gss_initialize (g_initialize.c:158)
+==22639==    by 0x403DBDC: gss_indicate_mechs (g_indicate_mechs.c:54)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x403DD03: gss_indicate_mechs (g_indicate_mechs.c:86)
+==22639==    by 0x804A6CF: gssd_check_mechs (gss_util.c:234)
+==22639==    by 0x804AB55: main (gssd.c:148)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x418E4F8: strndup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x804D719: gssd_process_krb5_keytab (krb5_util.c:519)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40AAAB3: krb5_copy_principal (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D781: gssd_process_krb5_keytab (krb5_util.c:538)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40AAB11: krb5_copy_principal (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D781: gssd_process_krb5_keytab (krb5_util.c:538)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x42006B1: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6E65: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x42006B1: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6E65: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x41FF9DD: __nss_lookup_function (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6BFA: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x41A2150: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41A396C: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41A2295: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41A2B29: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41A0F89: gmtime_r (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x407F3C9: asn1_encode_generaltime (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x408BE7A: asn1_encode_kerberos_time (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x408FFEC: asn1_encode_kdc_req_body (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4090372: asn1_encode_kdc_req (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x4089180: encode_krb5_as_req (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE446: (within /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40AAA7F: krb5_copy_principal (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D781: gssd_process_krb5_keytab (krb5_util.c:538)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40AAB11: krb5_copy_principal (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D781: gssd_process_krb5_keytab (krb5_util.c:538)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x40AABE9: krb5_copy_principal (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x804D781: gssd_process_krb5_keytab (krb5_util.c:538)
+==22639==    by 0x804DB3B: gssd_refresh_krb5_machine_creds (krb5_util.c:703)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x41FFB08: __nss_lookup_function (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6BFA: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x42006B1: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6E65: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x42006B1: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6E65: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x42006B1: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6E65: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x42006B1: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6E65: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x42006B1: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6E65: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x42006B1: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6E65: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x42006B1: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6E65: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x42006B1: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D6E65: (within /lib/tls/libc-2.3.6.so)
+==22639==    by 0x41D7908: getaddrinfo (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x40CBDCC: krb5int_add_host_to_list (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC234: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC5C7: krb5int_locate_server (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CC8BB: krb5_locate_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40CE4D6: krb5_sendto_kdc (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AE48E: (within /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40AFA97: krb5_get_init_creds (in /usr/lib/libkrb5.so.3.2)
+==22639==    by 0x40B00DC: krb5_get_init_creds_keytab (in /usr/lib/libkrb5.so.3.2)
+==22639== 
+==22639==  Block allocated
+==22639==    at 0x401CD64: malloc (vg_replace_malloc.c:149)
+==22639==    by 0x418E48F: strdup (in /lib/tls/libc-2.3.6.so)
+==22639==    by 0x804D33B: gssd_get_single_krb5_cred (krb5_util.c:386)
+==22639==    by 0x804DBCD: gssd_refresh_krb5_machine_creds (krb5_util.c:731)
+==22639==    by 0x804ABE0: main (gssd.c:159)
+==22639== 
index 7aa60fc0b132d3e38992d5aca16a9201aa34709c..5800b56325a352d885cbc5eb0a1fac85e2e01efb 100644 (file)
@@ -29,6 +29,9 @@ double quotes. You can also specify spaces or other unusual character in
 the export name using a backslash followed by the character code as three
 octal digits.
 .PP
+To apply changes to this file, run exportfs -ra or /etc/init.d/nfs-kernel-server
+reload (the latter being a distribution-specific extension).
+.PP
 .SS Machine Name Formats
 NFS clients may be specified in a number of ways:
 .IP "single host
@@ -402,8 +405,11 @@ Here's the complete list of mapping options:
 .TP
 .IR root_squash
 Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does
-not apply to any other uids that might be equally sensitive, such as user
-.IR bin .
+not apply to any other uids or gids that might be equally sensitive, such as
+user
+.IR bin 
+or group
+.IR staff .
 .TP
 .IR no_root_squash
 Turn off root squashing. This option is mainly useful for diskless clients.
index c1d18d4cebc9b37b1f227d7de33fe1aaf4ccfaaf..f40d3673792e39551d331c32ece94873118a531a 100644 (file)
@@ -558,7 +558,7 @@ main(int argc, char **argv)
 
        /* Parse the command line options and arguments. */
        opterr = 0;
-       while ((c = getopt_long(argc, argv, "o:n:Fd:f:p:P:hH:N:V:vs:t:", longopts, NULL)) != EOF)
+       while ((c = getopt_long(argc, argv, "o:nFd:f:p:P:hH:N:V:vs:t:", longopts, NULL)) != EOF)
                switch (c) {
                case 'o':
                        descriptors = atoi(optarg);
diff --git a/utils/rquotad/rquota.h b/utils/rquotad/rquota.h
new file mode 100644 (file)
index 0000000..09048f3
--- /dev/null
@@ -0,0 +1,155 @@
+/*
+ * Please do not edit this file.
+ * It was generated using rpcgen.
+ */
+
+#ifndef _RQUOTA_H_RPCGEN
+#define _RQUOTA_H_RPCGEN
+
+#include <rpc/rpc.h>
+
+#ifndef IXDR_GET_INT32
+#define IXDR_GET_INT32(buf) IXDR_GET_LONG((buf))
+#endif
+#ifndef IXDR_PUT_INT32
+#define IXDR_PUT_INT32(buf, v) IXDR_PUT_LONG((buf), (v))
+#endif
+#ifndef IXDR_GET_U_INT32
+#define IXDR_GET_U_INT32(buf) IXDR_GET_U_LONG((buf))
+#endif
+#ifndef IXDR_PUT_U_INT32
+#define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_U_LONG((buf), (v))
+#endif
+#define RQ_PATHLEN 1024
+
+struct getquota_args {
+       char *gqa_pathp;
+       int gqa_uid;
+};
+typedef struct getquota_args getquota_args;
+#ifdef __cplusplus 
+extern "C" bool_t xdr_getquota_args(XDR *, getquota_args*);
+#elif __STDC__ 
+extern  bool_t xdr_getquota_args(XDR *, getquota_args*);
+#else /* Old Style C */ 
+bool_t xdr_getquota_args();
+#endif /* Old Style C */ 
+
+
+struct ext_getquota_args {
+       char *gqa_pathp;
+       int gqa_type;
+       int gqa_id;
+};
+typedef struct ext_getquota_args ext_getquota_args;
+#ifdef __cplusplus 
+extern "C" bool_t xdr_ext_getquota_args(XDR *, ext_getquota_args*);
+#elif __STDC__ 
+extern  bool_t xdr_ext_getquota_args(XDR *, ext_getquota_args*);
+#else /* Old Style C */ 
+bool_t xdr_ext_getquota_args();
+#endif /* Old Style C */ 
+
+
+struct rquota {
+       int rq_bsize;
+       bool_t rq_active;
+       u_int rq_bhardlimit;
+       u_int rq_bsoftlimit;
+       u_int rq_curblocks;
+       u_int rq_fhardlimit;
+       u_int rq_fsoftlimit;
+       u_int rq_curfiles;
+       u_int rq_btimeleft;
+       u_int rq_ftimeleft;
+};
+typedef struct rquota rquota;
+#ifdef __cplusplus 
+extern "C" bool_t xdr_rquota(XDR *, rquota*);
+#elif __STDC__ 
+extern  bool_t xdr_rquota(XDR *, rquota*);
+#else /* Old Style C */ 
+bool_t xdr_rquota();
+#endif /* Old Style C */ 
+
+
+enum gqr_status {
+       Q_OK = 1,
+       Q_NOQUOTA = 2,
+       Q_EPERM = 3,
+};
+typedef enum gqr_status gqr_status;
+#ifdef __cplusplus 
+extern "C" bool_t xdr_gqr_status(XDR *, gqr_status*);
+#elif __STDC__ 
+extern  bool_t xdr_gqr_status(XDR *, gqr_status*);
+#else /* Old Style C */ 
+bool_t xdr_gqr_status();
+#endif /* Old Style C */ 
+
+
+struct getquota_rslt {
+       gqr_status status;
+       union {
+               rquota gqr_rquota;
+       } getquota_rslt_u;
+};
+typedef struct getquota_rslt getquota_rslt;
+#ifdef __cplusplus 
+extern "C" bool_t xdr_getquota_rslt(XDR *, getquota_rslt*);
+#elif __STDC__ 
+extern  bool_t xdr_getquota_rslt(XDR *, getquota_rslt*);
+#else /* Old Style C */ 
+bool_t xdr_getquota_rslt();
+#endif /* Old Style C */ 
+
+
+#define RQUOTAPROG ((u_int32_t)100011)
+#define RQUOTAVERS ((u_int32_t)1)
+
+#ifdef __cplusplus
+#define RQUOTAPROC_GETQUOTA ((u_int32_t)1)
+extern "C" getquota_rslt * rquotaproc_getquota_1(getquota_args *, CLIENT *);
+extern "C" getquota_rslt * rquotaproc_getquota_1_svc(getquota_args *, struct svc_req *);
+#define RQUOTAPROC_GETACTIVEQUOTA ((u_int32_t)2)
+extern "C" getquota_rslt * rquotaproc_getactivequota_1(getquota_args *, CLIENT *);
+extern "C" getquota_rslt * rquotaproc_getactivequota_1_svc(getquota_args *, struct svc_req *);
+
+#elif __STDC__
+#define RQUOTAPROC_GETQUOTA ((u_int32_t)1)
+extern  getquota_rslt * rquotaproc_getquota_1(getquota_args *, CLIENT *);
+extern  getquota_rslt * rquotaproc_getquota_1_svc(getquota_args *, struct svc_req *);
+#define RQUOTAPROC_GETACTIVEQUOTA ((u_int32_t)2)
+extern  getquota_rslt * rquotaproc_getactivequota_1(getquota_args *, CLIENT *);
+extern  getquota_rslt * rquotaproc_getactivequota_1_svc(getquota_args *, struct svc_req *);
+
+#else /* Old Style C */ 
+#define RQUOTAPROC_GETQUOTA ((u_int32_t)1)
+extern  getquota_rslt * rquotaproc_getquota_1();
+extern  getquota_rslt * rquotaproc_getquota_1_svc();
+#define RQUOTAPROC_GETACTIVEQUOTA ((u_int32_t)2)
+extern  getquota_rslt * rquotaproc_getactivequota_1();
+extern  getquota_rslt * rquotaproc_getactivequota_1_svc();
+#endif /* Old Style C */ 
+#define EXT_RQUOTAVERS ((u_int32_t)2)
+
+#ifdef __cplusplus
+extern "C" getquota_rslt * rquotaproc_getquota_2(ext_getquota_args *, CLIENT *);
+extern "C" getquota_rslt * rquotaproc_getquota_2_svc(ext_getquota_args *, struct svc_req *);
+extern "C" getquota_rslt * rquotaproc_getactivequota_2(ext_getquota_args *, CLIENT *);
+extern "C" getquota_rslt * rquotaproc_getactivequota_2_svc(ext_getquota_args *, struct svc_req *);
+
+#elif __STDC__
+extern  getquota_rslt * rquotaproc_getquota_2(ext_getquota_args *, CLIENT *);
+extern  getquota_rslt * rquotaproc_getquota_2_svc(ext_getquota_args *, struct svc_req *);
+extern  getquota_rslt * rquotaproc_getactivequota_2(ext_getquota_args *, CLIENT *);
+extern  getquota_rslt * rquotaproc_getactivequota_2_svc(ext_getquota_args *, struct svc_req *);
+
+#else /* Old Style C */ 
+extern  getquota_rslt * rquotaproc_getquota_2();
+extern  getquota_rslt * rquotaproc_getquota_2_svc();
+extern  getquota_rslt * rquotaproc_getactivequota_2();
+extern  getquota_rslt * rquotaproc_getactivequota_2_svc();
+#endif /* Old Style C */ 
+
+#endif /* !_RQUOTA_H_RPCGEN */
diff --git a/utils/rquotad/rquota_xdr.c b/utils/rquotad/rquota_xdr.c
new file mode 100644 (file)
index 0000000..f5a28a2
--- /dev/null
@@ -0,0 +1,215 @@
+/*
+ * Please do not edit this file.
+ * It was generated using rpcgen.
+ */
+
+#include "rquota.h"
+
+bool_t
+xdr_getquota_args(xdrs, objp)
+       XDR *xdrs;
+       getquota_args *objp;
+{
+
+        if (!xdr_string(xdrs, &objp->gqa_pathp, RQ_PATHLEN)) {
+                return (FALSE);
+        }
+        if (!xdr_int(xdrs, &objp->gqa_uid)) {
+                return (FALSE);
+        }
+       return (TRUE);
+}
+
+bool_t
+xdr_ext_getquota_args(xdrs, objp)
+       XDR *xdrs;
+       ext_getquota_args *objp;
+{
+
+        if (!xdr_string(xdrs, &objp->gqa_pathp, RQ_PATHLEN)) {
+                return (FALSE);
+        }
+        if (!xdr_int(xdrs, &objp->gqa_type)) {
+                return (FALSE);
+        }
+        if (!xdr_int(xdrs, &objp->gqa_id)) {
+                return (FALSE);
+        }
+       return (TRUE);
+}
+
+bool_t
+xdr_rquota(xdrs, objp)
+       XDR *xdrs;
+       rquota *objp;
+{
+
+
+        if (xdrs->x_op == XDR_ENCODE) {
+               int32_t *buf = XDR_INLINE(xdrs,10 * BYTES_PER_XDR_UNIT);
+               if (buf == NULL) {
+                if (!xdr_int(xdrs, &objp->rq_bsize)) {
+                        return (FALSE);
+                }
+                if (!xdr_bool(xdrs, &objp->rq_active)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_bhardlimit)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_bsoftlimit)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_curblocks)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_fhardlimit)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_fsoftlimit)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_curfiles)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_btimeleft)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_ftimeleft)) {
+                        return (FALSE);
+                }
+
+         }
+         else {
+                (void) IXDR_PUT_INT32(buf,objp->rq_bsize);
+                (void) IXDR_PUT_BOOL(buf,objp->rq_active);
+                (void) IXDR_PUT_U_INT32(buf,objp->rq_bhardlimit);
+                (void) IXDR_PUT_U_INT32(buf,objp->rq_bsoftlimit);
+                (void) IXDR_PUT_U_INT32(buf,objp->rq_curblocks);
+                (void) IXDR_PUT_U_INT32(buf,objp->rq_fhardlimit);
+                (void) IXDR_PUT_U_INT32(buf,objp->rq_fsoftlimit);
+                (void) IXDR_PUT_U_INT32(buf,objp->rq_curfiles);
+                (void) IXDR_PUT_U_INT32(buf,objp->rq_btimeleft);
+                (void) IXDR_PUT_U_INT32(buf,objp->rq_ftimeleft);
+         }
+
+        return (TRUE);
+       } else if (xdrs->x_op == XDR_DECODE) {
+               int32_t *buf = XDR_INLINE(xdrs,10 * BYTES_PER_XDR_UNIT);
+               if (buf == NULL) {
+                if (!xdr_int(xdrs, &objp->rq_bsize)) {
+                        return (FALSE);
+                }
+                if (!xdr_bool(xdrs, &objp->rq_active)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_bhardlimit)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_bsoftlimit)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_curblocks)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_fhardlimit)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_fsoftlimit)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_curfiles)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_btimeleft)) {
+                        return (FALSE);
+                }
+                if (!xdr_u_int(xdrs, &objp->rq_ftimeleft)) {
+                        return (FALSE);
+                }
+
+         }
+         else {
+                objp->rq_bsize = IXDR_GET_INT32(buf);
+                objp->rq_active = IXDR_GET_BOOL(buf);
+                objp->rq_bhardlimit = IXDR_GET_U_INT32(buf);
+                objp->rq_bsoftlimit = IXDR_GET_U_INT32(buf);
+                objp->rq_curblocks = IXDR_GET_U_INT32(buf);
+                objp->rq_fhardlimit = IXDR_GET_U_INT32(buf);
+                objp->rq_fsoftlimit = IXDR_GET_U_INT32(buf);
+                objp->rq_curfiles = IXDR_GET_U_INT32(buf);
+                objp->rq_btimeleft = IXDR_GET_U_INT32(buf);
+                objp->rq_ftimeleft = IXDR_GET_U_INT32(buf);
+         }
+        return(TRUE);
+       }
+
+        if (!xdr_int(xdrs, &objp->rq_bsize)) {
+                return (FALSE);
+        }
+        if (!xdr_bool(xdrs, &objp->rq_active)) {
+                return (FALSE);
+        }
+        if (!xdr_u_int(xdrs, &objp->rq_bhardlimit)) {
+                return (FALSE);
+        }
+        if (!xdr_u_int(xdrs, &objp->rq_bsoftlimit)) {
+                return (FALSE);
+        }
+        if (!xdr_u_int(xdrs, &objp->rq_curblocks)) {
+                return (FALSE);
+        }
+        if (!xdr_u_int(xdrs, &objp->rq_fhardlimit)) {
+                return (FALSE);
+        }
+        if (!xdr_u_int(xdrs, &objp->rq_fsoftlimit)) {
+                return (FALSE);
+        }
+        if (!xdr_u_int(xdrs, &objp->rq_curfiles)) {
+                return (FALSE);
+        }
+        if (!xdr_u_int(xdrs, &objp->rq_btimeleft)) {
+                return (FALSE);
+        }
+        if (!xdr_u_int(xdrs, &objp->rq_ftimeleft)) {
+                return (FALSE);
+        }
+       return (TRUE);
+}
+
+bool_t
+xdr_gqr_status(xdrs, objp)
+       XDR *xdrs;
+       gqr_status *objp;
+{
+
+        if (!xdr_enum(xdrs, (enum_t *)objp)) {
+                return (FALSE);
+        }
+       return (TRUE);
+}
+
+bool_t
+xdr_getquota_rslt(xdrs, objp)
+       XDR *xdrs;
+       getquota_rslt *objp;
+{
+
+        if (!xdr_gqr_status(xdrs, &objp->status)) {
+                return (FALSE);
+        }
+       switch (objp->status) {
+       case Q_OK:
+                if (!xdr_rquota(xdrs, &objp->getquota_rslt_u.gqr_rquota)) {
+                        return (FALSE);
+                }
+               break;
+       case Q_NOQUOTA:
+               break;
+       case Q_EPERM:
+               break;
+       default:
+               return (FALSE);
+       }
+       return (TRUE);
+}