Hello community,

here is the log from the commit of package rpcbind for openSUSE:Factory checked 
in at 2014-12-16 14:47:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpcbind (Old)
 and      /work/SRC/openSUSE:Factory/.rpcbind.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rpcbind"

Changes:
--------
--- /work/SRC/openSUSE:Factory/rpcbind/rpcbind.changes  2014-11-24 
11:14:26.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rpcbind.new/rpcbind.changes     2014-12-16 
14:47:06.000000000 +0100
@@ -1,0 +2,50 @@
+Fri Dec 12 17:01:44 UTC 2014 - [email protected]
+
+- 0002-rpcinfo_warmstart-no_warning_about_missing_file.patch: fix
+  merge issue causing segfaults on missing file (bnc#909619).
+
+-------------------------------------------------------------------
+Thu Dec 11 13:07:09 CET 2014 - [email protected]
+
+- Split off 0003-systemd-no-dualmode.patch from 
+  0001-systemd-enhancements.patch for easier upstream submission.
+- Split off 0004-systemd-sd_notify.patch from 
+  0001-systemd-enhancements.patch for easier upstream submission.
+- Rename 0001-systemd-enhancements.patch to 0001-systemd-unit-files.patch
+
+-------------------------------------------------------------------
+Tue Dec  9 15:52:01 CET 2014 - [email protected]
+
+- Update to latest rpcbind 0.2.2 upstream release.
+- Following patches are upstream:
+  - 0001-Fix-building-one-systems-w-out-nss.h.patch
+  - 0002-Rename-configure.in-to-configure.ac.patch
+  - 0003-rpcbind-rpcuser-not-being-set-in-Makefile.am.patch
+  - 0004-Silence-a-warning-about-setgroups-being-implicitly-d.patch
+- Adjust following patches:
+  - 0005-Remove-obsolete-function-in6_fillscopeid.patch
+  - 0006-In-init_transport-move-creation-of-COTS-sockets-clos.patch
+  - 0018-configure-check-for-nss.h.patch
+- Obsolete patches:
+  - 0015-When-using-systemd-activation-make-rpcbind-notify-sy.patch
+  - 0016-Notify-systemd-unconditionally.patch
+  - 0012-Support-systemd-activation.patch
+  - 0013-socket-activation-Fix-rpcbind.service-to-use-separat.patch
+  - 0017-Pull-the-sysconfig-file-into-rpcbind.service-and-use.patch
+  - 0025-rpcinfo-warmstat_no-warning-about-missing-file.patch
+  - 0026-systemd-no-default-dep
+  - 0027-socket-before-service.patch
+  - 0028-rpcbind-after-var-run.patch
+  - 0029-rpcbind-sd-notify-stupid-errmsg.patch
+- New patches:
+  - 0001-systemd-enhancements.patch
+  - 0002-rpcinfo_warmstart-no_warning_about_missing_file.patch
+- Disabled patches:
+  - 0008-First-part-of-init_transport-refactoring.patch
+  - 0009-init_transport-move-the-registration-code-into-a-sep.patch
+  - 0010-Fix-the-behavior-when-specifying-the-h-option.patch
+  - 0011-Clean-up-the-way-we-handle-the-h-option-in-init_tran.patch
+  - 0014-When-using-systemd-redirect-syslog-calls-to-the-syst.patch
+  - 0024-rpcinfo-remove-obsolete-function-get_inet_address.patch
+
+-------------------------------------------------------------------

Old:
----
  0001-Fix-building-one-systems-w-out-nss.h.patch
  0002-Rename-configure.in-to-configure.ac.patch
  0003-rpcbind-rpcuser-not-being-set-in-Makefile.am.patch
  0004-Silence-a-warning-about-setgroups-being-implicitly-d.patch
  0012-Support-systemd-activation.patch
  0013-socket-activation-Fix-rpcbind.service-to-use-separat.patch
  0015-When-using-systemd-activation-make-rpcbind-notify-sy.patch
  0016-Notify-systemd-unconditionally.patch
  0017-Pull-the-sysconfig-file-into-rpcbind.service-and-use.patch
  0025-rpcinfo-warmstat_no-warning-about-missing-file.patch
  0026-systemd-no-default-dep
  0027-socket-before-service.patch
  0028-rpcbind-after-var-run.patch
  0029-rpcbind-sd-notify-stupid-errmsg.patch
  rpcbind-0.2.1_rc4.tar.bz2

New:
----
  0001-systemd-unit-files.patch
  0002-rpcinfo_warmstart-no_warning_about_missing_file.patch
  0003-systemd-no-dualmode.patch
  0004-systemd-sd_notify.patch
  rpcbind-0.2.2.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rpcbind.spec ++++++
--- /var/tmp/diff_new_pack.DscvdY/_old  2014-12-16 14:47:08.000000000 +0100
+++ /var/tmp/diff_new_pack.DscvdY/_new  2014-12-16 14:47:08.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           rpcbind
-Version:        0.2.1_rc4
+Version:        0.2.2
 Release:        0
 Summary:        Transport independent RPC portmapper
 License:        BSD-4-Clause
@@ -35,37 +35,25 @@
 BuildRequires:  pkgconfig(libsystemd-daemon)
 PreReq:         %fillup_prereq
 Requires(pre):  /usr/sbin/useradd
-
-# The next three are from upstream, applied directly on top of rc4.
-Patch0:         0001-Fix-building-one-systems-w-out-nss.h.patch
-Patch1:         0002-Rename-configure.in-to-configure.ac.patch
-Patch2:         0003-rpcbind-rpcuser-not-being-set-in-Makefile.am.patch
-Patch3:         0004-Silence-a-warning-about-setgroups-being-implicitly-d.patch
-Patch4:         0005-Remove-obsolete-function-in6_fillscopeid.patch
-Patch5:         0006-In-init_transport-move-creation-of-COTS-sockets-clos.patch
-Patch6:         0007-The-use-of-AI_NUMERICHOST-in-init_transport-is-broke.patch
-Patch7:         0008-First-part-of-init_transport-refactoring.patch
-Patch8:         0009-init_transport-move-the-registration-code-into-a-sep.patch
-Patch9:         0010-Fix-the-behavior-when-specifying-the-h-option.patch
-Patch10:        0011-Clean-up-the-way-we-handle-the-h-option-in-init_tran.patch
-Patch11:        0012-Support-systemd-activation.patch
-Patch12:        0013-socket-activation-Fix-rpcbind.service-to-use-separat.patch
-Patch13:        0014-When-using-systemd-redirect-syslog-calls-to-the-syst.patch
-Patch14:        0015-When-using-systemd-activation-make-rpcbind-notify-sy.patch
-Patch15:        0016-Notify-systemd-unconditionally.patch
-Patch16:        0017-Pull-the-sysconfig-file-into-rpcbind.service-and-use.patch
-Patch17:        0018-configure-check-for-nss.h.patch
-Patch18:        0019-rpcinfo-ip_ping-clean-up-client-ping-create-destroy.patch
-Patch19:        0020-rpcinfo-introduce-new-helper-function-ip_getclient.patch
-Patch20:        0021-rpcinfo-make-t-u-options-support-IPv6-addresses-too.patch
-Patch21:        0022-rpcinfo-remove-obsolete-function-clnt_com_create.patch
-Patch22:        0023-Make-rpcinfo-p-support-IPv6-addresses-too.patch
-Patch23:        0024-rpcinfo-remove-obsolete-function-get_inet_address.patch
-Patch24:        0025-rpcinfo-warmstat_no-warning-about-missing-file.patch
-Patch25:        0026-systemd-no-default-dep
-Patch26:        0027-socket-before-service.patch
-Patch27:        0028-rpcbind-after-var-run.patch
-Patch28:        0029-rpcbind-sd-notify-stupid-errmsg.patch
+Patch1:         0001-systemd-unit-files.patch
+Patch2:         0002-rpcinfo_warmstart-no_warning_about_missing_file.patch
+Patch3:         0003-systemd-no-dualmode.patch
+Patch4:         0004-systemd-sd_notify.patch
+Patch5:         0005-Remove-obsolete-function-in6_fillscopeid.patch
+Patch6:         0006-In-init_transport-move-creation-of-COTS-sockets-clos.patch
+Patch7:         0007-The-use-of-AI_NUMERICHOST-in-init_transport-is-broke.patch
+Patch8:         0008-First-part-of-init_transport-refactoring.patch
+Patch9:         0009-init_transport-move-the-registration-code-into-a-sep.patch
+Patch10:        0010-Fix-the-behavior-when-specifying-the-h-option.patch
+Patch11:        0011-Clean-up-the-way-we-handle-the-h-option-in-init_tran.patch
+Patch14:        0014-When-using-systemd-redirect-syslog-calls-to-the-syst.patch
+Patch18:        0018-configure-check-for-nss.h.patch
+Patch19:        0019-rpcinfo-ip_ping-clean-up-client-ping-create-destroy.patch
+Patch20:        0020-rpcinfo-introduce-new-helper-function-ip_getclient.patch
+Patch21:        0021-rpcinfo-make-t-u-options-support-IPv6-addresses-too.patch
+Patch22:        0022-rpcinfo-remove-obsolete-function-clnt_com_create.patch
+Patch23:        0023-Make-rpcinfo-p-support-IPv6-addresses-too.patch
+Patch24:        0024-rpcinfo-remove-obsolete-function-get_inet_address.patch
 
 %define statefile /var/lib/portmap.state
 %{?systemd_requires}
@@ -81,7 +69,6 @@
 %prep
 %setup -q
 cp %{SOURCE4} .
-%patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
@@ -89,27 +76,18 @@
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
+#%patch8 -p1
+#%patch9 -p1
+#%patch10 -p1
+#%patch11 -p1
+#%patch14 -p1
 %patch18 -p1
 %patch19 -p1
 %patch20 -p1
 %patch21 -p1
 %patch22 -p1
 %patch23 -p1
-%patch24 -p0
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
-%patch28 -p1
+#%patch24 -p0
 
 %build
 autoreconf -fiv

++++++ 0001-systemd-unit-files.patch ++++++
Add systemd unit files

Signed-off-by: Thorsten Kukuk <[email protected]>

--- a/Makefile.am
+++ b/Makefile.am       2014/12/10 13:27:31
@@ -45,6 +45,14 @@
 AM_CPPFLAGS += $(SYSTEMD_CFLAGS) -DSYSTEMD
 
 rpcbind_LDADD += $(SYSTEMD_LIBS)
+
+systemd/rpcbind.service: systemd/rpcbind.service.in Makefile
+       sed -e 's,@bindir\@,$(bindir),g' \
+               < $< > $@ || rm $@
+
+systemdsystemunit_DATA = \
+       systemd/rpcbind.service \
+       systemd/rpcbind.socket
 endif
 
 rpcinfo_SOURCES =       src/rpcinfo.c
--- a/systemd/.gitignore
+++ b/systemd/.gitignore        2014/12/10 13:27:31
@@ -0,0 +1 @@
+rpcbind.service
--- a/systemd/rpcbind.service.in
+++ b/systemd/rpcbind.service.in        2014/12/10 13:27:31
@@ -0,0 +1,16 @@
+[Unit]
+Description=RPC Bind
+Documentation=man:rpcbind(8)
+DefaultDependencies=no
+Requires=rpcbind.socket
+Wants=var-run.mount
+After=var-run.mount
+
+[Service]
+Type=notify
+EnvironmentFile=-/etc/sysconfig/rpcbind
+ExecStart=@bindir@/rpcbind $RPCBIND_OPTIONS -w -f
+
+[Install]
+WantedBy=multi-user.target
+Also=rpcbind.socket
--- a/systemd/rpcbind.socket
+++ b/systemd/rpcbind.socket    2014/12/10 13:27:58
@@ -0,0 +1,18 @@
+[Unit]
+Description=RPCbind Server Activation Socket
+DefaultDependencies=no
+Wants=rpcbind.target
+Before=rpcbind.target
+
+[Socket]
+ListenStream=/run/rpcbind.sock
+
+# RPC netconfig can't handle ipv6/ipv4 dual sockets
+BindIPv6Only=ipv6-only
+ListenStream=0.0.0.0:111
+ListenDatagram=0.0.0.0:111
+ListenStream=[::]:111
+ListenDatagram=[::]:111
+
+[Install]
+WantedBy=sockets.target
++++++ 0002-rpcinfo_warmstart-no_warning_about_missing_file.patch ++++++
From: Thorsten Kukuk <[email protected]>
Subject: rpcinfo: warmstart - no warning about missing file

Don't print an error message on warmstart if the
startup files don't exist.

---
 src/warmstart.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

--- a/src/warmstart.c
+++ b/src/warmstart.c
@@ -106,9 +106,10 @@ read_struct(char *filename, xdrproc_t st
                fprintf(stderr, "rpcbind: using '%s' startup file\n", filename);
 
        if ((fp = fopen(filename, "r")) == NULL) {
-               syslog(LOG_ERR,
-                       "Cannot open '%s' file for reading, errno %d (%s)", 
-                       filename, errno, strerror(errno));
+                if (errno != ENOENT)
+                       syslog(LOG_ERR,
+                          "Cannot open '%s' file for reading, errno %d (%s)",
+                          filename, errno, strerror(errno));
                goto error;
        }
 
++++++ 0003-systemd-no-dualmode.patch ++++++
Systemd will, by default, pass a socket that provides both IPv4 and
IPv6 services. RPC netconfig requires that sockets be either IPv4
or IPv6. Add a warning to rpcbind should the user encounter an issue.

Signed-off-by: Jeff Mahoney <[email protected]>

--- a/src/rpcbind.c
+++ b/src/rpcbind.c     2014/12/10 13:48:28
@@ -50,6 +50,7 @@
 #include <sys/file.h>
 #include <sys/socket.h>
 #include <sys/un.h>
+#include <netinet/in.h>
 #include <rpc/rpc.h>
 #include <rpc/rpc_com.h>
 #ifdef PORTMAP
@@ -277,6 +285,31 @@
 }
 
 /*
+ * Normally systemd will open sockets in dual ipv4/ipv6 mode.
+ * That won't work with netconfig and we'll only match
+ * the ipv6 socket. Convert it to IPV6_V6ONLY and issue
+ * a warning for the user to fix their systemd config.
+ */
+static int
+handle_ipv6_socket(int fd)
+{
+        int opt;
+       socklen_t len = sizeof(opt);
+
+       if (getsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &opt, &len)) {
+                syslog(LOG_ERR, "failed to get ipv6 socket opts: %m");
+                return -1;
+       }
+
+       if (opt) /* socket is already in V6ONLY mode */
+                return 0;
+
+       syslog(LOG_ERR, "systemd has passed an IPv4/IPv6 dual-mode socket.");
+       syslog(LOG_ERR, "Please fix your systemd config by specifying IPv4 and 
IPv6 sockets separately and using BindIPv6Only=ipv6-only.");
+       return -1;
+}
+
+/*
  * Adds the entry into the rpcbind database.
  * If PORTMAP, then for UDP and TCP, it adds the entries for version 2 also
  * Returns 0 if succeeds, else fails
@@ -361,6 +394,9 @@
                        goto error;
                }
 
+               if (sa.sa.sa_family == AF_INET6 && handle_ipv6_socket(fd))
+                       goto error;
+
                /* Copy the address */
                taddr.addr.maxlen = taddr.addr.len = addrlen;
                taddr.addr.buf = malloc(addrlen);
++++++ 0004-systemd-sd_notify.patch ++++++
Always notify systemd that rpcbind is ready and running.

Signed-off-by: Thorsten Kukuk <[email protected]>

--- a/src/rpcbind.c
+++ b/src/rpcbind.c     2014/12/10 13:48:28
@@ -268,6 +269,13 @@
 
        network_init();
 
+#ifdef SYSTEMD
+       /* Try to notify system of successful startup, regardless of whether we
+        * used systemd socket activation or not. When started from the command
+        * line, this should not hurt either.
+        */
+       sd_notify(0, "READY=1");
+#endif
        my_svc_run();
        syslog(LOG_ERR, "svc_run returned unexpectedly");
        rpcbind_abort();
++++++ 0005-Remove-obsolete-function-in6_fillscopeid.patch ++++++
--- /var/tmp/diff_new_pack.DscvdY/_old  2014-12-16 14:47:08.000000000 +0100
+++ /var/tmp/diff_new_pack.DscvdY/_new  2014-12-16 14:47:08.000000000 +0100
@@ -19,7 +19,7 @@
 index 9a5fb69..a6c835b 100644
 --- a/src/util.c
 +++ b/src/util.c
-@@ -71,9 +71,6 @@ static struct sockaddr_in6 *local_in6;
+@@ -71,9 +71,6 @@
  #endif
  
  static int bitmaskcmp __P((void *, void *, void *, int));
@@ -29,7 +29,7 @@
  
  /*
   * For all bits set in "mask", compare the corresponding bits in
-@@ -93,26 +90,6 @@ bitmaskcmp(void *dst, void *src, void *mask, int bytelen)
+@@ -93,28 +90,6 @@
  }
  
  /*
@@ -41,12 +41,14 @@
 -in6_fillscopeid(struct sockaddr_in6 *sin6)
 -{
 -      u_int16_t ifindex;
+-      u_int16_t *addr;
 -
 -        if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
--              ifindex = ntohs(*(u_int16_t *)&sin6->sin6_addr.s6_addr[2]);
+-              addr = (u_int16_t *)&sin6->sin6_addr.s6_addr[2];
+-              ifindex = ntohs(*addr);
 -              if (sin6->sin6_scope_id == 0 && ifindex != 0) {
 -                      sin6->sin6_scope_id = ifindex;
--                      *(u_int16_t *)&sin6->sin6_addr.s6_addr[2] = 0;
+-                      *addr = 0;
 -              }
 -      }
 -}
@@ -56,7 +58,7 @@
   * Find a server address that can be used by `caller' to contact
   * the local service specified by `serv_uaddr'. If `clnt_uaddr' is
   * non-NULL, it is used instead of `caller' as a hint suggesting
-@@ -209,7 +186,6 @@ addrmerge(struct netbuf *caller, char *serv_uaddr, char 
*clnt_uaddr,
+@@ -211,7 +186,6 @@
                         * a link-local address then use the scope id to see
                         * which one.
                         */
@@ -64,6 +66,4 @@
                        if (IN6_IS_ADDR_LINKLOCAL(&SA2SIN6ADDR(ifsa)) &&
                            IN6_IS_ADDR_LINKLOCAL(&SA2SIN6ADDR(caller_sa)) &&
                            IN6_IS_ADDR_LINKLOCAL(&SA2SIN6ADDR(hint_sa))) {
--- 
-1.7.12.4
 

++++++ 0006-In-init_transport-move-creation-of-COTS-sockets-clos.patch ++++++
--- /var/tmp/diff_new_pack.DscvdY/_old  2014-12-16 14:47:08.000000000 +0100
+++ /var/tmp/diff_new_pack.DscvdY/_new  2014-12-16 14:47:08.000000000 +0100
@@ -13,9 +13,9 @@
 index 7ed72bc..f562f7a 100644
 --- a/src/rpcbind.c
 +++ b/src/rpcbind.c
-@@ -309,18 +309,6 @@ init_transport(struct netconfig *nconf)
-       }
- #endif
+@@ -389,18 +389,6 @@
+       if (my_xprt != NULL)
+               goto got_socket;
  
 -      /*
 -       * XXX - using RPC library internal functions. For NC_TPI_CLTS
@@ -29,10 +29,10 @@
 -              }
 -      }
 -
-       if (!__rpc_nconf2sockinfo(nconf, &si)) {
-               syslog(LOG_ERR, "cannot get information for %s",
-                   nconf->nc_netid);
-@@ -487,6 +475,12 @@ init_transport(struct netconfig *nconf)
+       if ((strcmp(nconf->nc_netid, "local") == 0) ||
+           (strcmp(nconf->nc_netid, "unix") == 0)) {
+               memset(&sun, 0, sizeof sun);
+@@ -561,6 +549,12 @@
                if (!checkbind)
                        return 1;
        } else {        /* NC_TPI_COTS */
@@ -45,6 +45,3 @@
                if ((strcmp(nconf->nc_netid, "local") != 0) &&
                    (strcmp(nconf->nc_netid, "unix") != 0)) {
                        if ((aicode = getaddrinfo(NULL, servname, &hints, 
&res))!= 0) {
--- 
-1.7.12.4
-

++++++ 0018-configure-check-for-nss.h.patch ++++++
--- /var/tmp/diff_new_pack.DscvdY/_old  2014-12-16 14:47:08.000000000 +0100
+++ /var/tmp/diff_new_pack.DscvdY/_new  2014-12-16 14:47:08.000000000 +0100
@@ -1,7 +1,4 @@
-From 87b31d8406e6049fb4facfc483f4d8c9339d6f46 Mon Sep 17 00:00:00 2001
-From: Olaf Kirch <[email protected]>
-Date: Tue, 14 Jan 2014 16:40:55 +0100
-Subject: [PATCH 18/24] configure: check for <nss.h>
+configure: check for <nss.h>
 
 There's code in rpcbind that tries to configure nss lookups so that it
 avoids NIS when resolving user names or service names. Unfortunately, this
@@ -13,18 +10,12 @@
  configure.ac | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/configure.ac b/configure.ac
-index 6d91dcd..8cdd08f 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -40,6 +40,7 @@ AC_ARG_WITH([systemdsystemunitdir],
-   fi
- AM_CONDITIONAL(SYSTEMD, [test -n "$with_systemdsystemunitdir" -a 
"x$with_systemdsystemunitdir" != xno ])
+@@ -55,4 +55,6 @@
  
-+AC_CHECK_HEADERS(nss.h)
+ AC_SEARCH_LIBS([pthread_create], [pthread])
  
- AS_IF([test x$enable_libwrap = xyes], [
-       AC_CHECK_LIB([wrap], [hosts_access], ,
--- 
-1.7.12.4
-
++AC_CHECK_HEADERS(nss.h)
++
+ AC_OUTPUT([Makefile])

++++++ rpcbind-0.2.1_rc4.tar.bz2 -> rpcbind-0.2.2.tar.bz2 ++++++
++++ 10113 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/HEAD new/rpcbind-0.2.2/.git/HEAD
--- old/rpcbind-0.2.1_rc4/.git/HEAD     2014-01-23 17:29:28.000000000 +0100
+++ new/rpcbind-0.2.2/.git/HEAD 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-86036582c001e99075f4d74cb3829df39f2a9ddf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/config new/rpcbind-0.2.2/.git/config
--- old/rpcbind-0.2.1_rc4/.git/config   2014-01-23 17:29:13.000000000 +0100
+++ new/rpcbind-0.2.2/.git/config       1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-[core]
-       repositoryformatversion = 0
-       filemode = true
-       bare = false
-       logallrefupdates = true
-[remote "origin"]
-       url = git://git.infradead.org/users/steved/rpcbind.git
-       fetch = +refs/heads/*:refs/remotes/origin/*
-[branch "master"]
-       remote = origin
-       merge = refs/heads/master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/description new/rpcbind-0.2.2/.git/description
--- old/rpcbind-0.2.1_rc4/.git/description      2014-01-23 17:29:10.000000000 
+0100
+++ new/rpcbind-0.2.2/.git/description  1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-Unnamed repository; edit this file 'description' to name the repository.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/gitk.cache new/rpcbind-0.2.2/.git/gitk.cache
--- old/rpcbind-0.2.1_rc4/.git/gitk.cache       2014-01-23 17:29:38.000000000 
+0100
+++ new/rpcbind-0.2.2/.git/gitk.cache   1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-1 1
-b3b031b07cc5909aaf964f9d4cf46f6097769320 
f4aea95069461d06bd8a13e189e1a77e9ca03d75 
{5618b2f89a752e8bacf9f7c847fd99484a9d3bbc 
c4814d539434391df4dfa61551e5e2e96947326d 
86036582c001e99075f4d74cb3829df39f2a9ddf 
e81d689a6a8605cfc3b90a62a357705e180f532c 
c60e2ef90b95380e35076679a71563ff39d73c10 
d94d9d1cddb0757fc2d290c64984276edae51ff2 
1d9fba5b631b517094c85a80f45f6f7ba1665e2a 
baa19e40d997cdd75ceefd99bb5c4677fd4f260f 
a81ad2e02d4bdf4066a987ba7363c3e9dcd33f42 
7c79c279f3f2f80a1cf01707c88c2b29da9aa7ad 
79d890c3982ac007001688b975b4d04c4453d007 
8d7a0708f14b22df100d64bcadfb66598052a950 
135d4cfbe25d012b1343b0fb71be947444e33c6a 
afd71b8fc0df036a884b3af14ddb875674a49a85 
eb36cf198795b09c1ba796044fc99fa40c5a2b33 
68556dc512493868960b367406e04d7169c003a8 
c5e04d3ef1b4d9a24741dc865aaa55b07fe3c89f 
b29ff67243a574a2ffd7ab28c007990ccbddfd77 
96353340fc1e87f29ea551108fad3ff27131998f 
f0ce398219c1d80acb2072386c84ce047e84dabc 
d7ff87010339a0e0f444df4b867e6b860967de43 
93944d5904856b053dfd0f9d95536e243917cec7 
2e80f5f16fdbe93880a61adbd3d5939b4660dc48 
d6e777e547939cdf08c365e8eb8c478dcab6839e 
bdc14d4d867a26010466138ecb37336b1f489dcb 
3d33ad8d37ea2f955a8b06beedade424bc22efbc 
1ee34cfa8cf3ce56f43690eba44215aafb1835a5 
98ca016d5a2fb7a7da9e2332e3c59b123b820477 
9266c745930cd052713e83c7ecb0917c17f33505 
0b847172bb5413d200da01618402897d493f40b1 
49e8a7c963c27ca3face271200b103a5efc50b05 
62a20676c31a1887f8151a5b0ca42932205c4f4b 
3d9f63a9c308b305dfca745dafae63d8f96b313c 
1d92cd58eb471765eba08ec819f7b5ae1d5e96ab 
566f261ff6bae2842e2e64aaf70d2e31acc1efe7 
1a94b830a6b5a248faa6fa0e4b7818d9394f6369 
3e4c74ab527375f37b6633f528e7eab0c363967b 
3942a3b4dcd451a2c41ad95a45f3f1462cb3f133 
da8d47b8d57312405a5de1d183a905f0f3830c78 
b497f8799b3fdd0057b3bc49ad5b1de31d99e598 
a37d65c960f5a3682b3cf5146bc31856fdba632d 
718ab7ebcf913051f901939b8ae4c7ae67ffcafe 
77f7556878d1fe03dc3e285c97dd822db38f618c 
f7d18d511767e892e52932f8c6f6e49755a8e5bc 
592d6b53f1ccf0bb9b7861395df689d1fca901f1 
34e3fdf4d72e222bb2cf884ba000716689a0a932 
ddba830815b26d94c54b7bdecedaa46c36fda46b 
40009ddc661a43883d0f7841f6bbd71e0c9b530a 
a28ded4f011bcc3f75a359f5fe842bf8cd2b00f3 
464d2aed4506a217aa53df9cf0e0144bab5bbfd9 
37117c6984ea5c640a19e6206dfa4b97710b6f37 
24bc988ad64b927c062f2464963151da70c0ce68 
29827c82fbb78725478eaf53b140e14a77fad42f 
c24026e7c2949ede4fc292335df1a08c3f6575fe 
9b1aaa62d44515fa97bc62c00d3eae6c6c3e3c3d 
208ebb96f63907ae24a4ab44bb284f08fdd4e63b 
2d03c93306242fd3a86a4825ad6b6e3a22784ffe 
f4aea95069461d06bd8a13e189e1a77e9ca03d75}
-1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/hooks/applypatch-msg.sample 
new/rpcbind-0.2.2/.git/hooks/applypatch-msg.sample
--- old/rpcbind-0.2.1_rc4/.git/hooks/applypatch-msg.sample      2014-01-23 
17:29:10.000000000 +0100
+++ new/rpcbind-0.2.2/.git/hooks/applypatch-msg.sample  1970-01-01 
01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to check the commit log message taken by
-# applypatch from an e-mail message.
-#
-# The hook should exit with non-zero status after issuing an
-# appropriate message if it wants to stop the commit.  The hook is
-# allowed to edit the commit message file.
-#
-# To enable this hook, rename this file to "applypatch-msg".
-
-. git-sh-setup
-test -x "$GIT_DIR/hooks/commit-msg" &&
-       exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
-:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/hooks/commit-msg.sample 
new/rpcbind-0.2.2/.git/hooks/commit-msg.sample
--- old/rpcbind-0.2.1_rc4/.git/hooks/commit-msg.sample  2014-01-23 
17:29:10.000000000 +0100
+++ new/rpcbind-0.2.2/.git/hooks/commit-msg.sample      1970-01-01 
01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to check the commit log message.
-# Called by "git commit" with one argument, the name of the file
-# that has the commit message.  The hook should exit with non-zero
-# status after issuing an appropriate message if it wants to stop the
-# commit.  The hook is allowed to edit the commit message file.
-#
-# To enable this hook, rename this file to "commit-msg".
-
-# Uncomment the below to add a Signed-off-by line to the message.
-# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
-# hook is more suited to it.
-#
-# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
-# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
-
-# This example catches duplicate Signed-off-by lines.
-
-test "" = "$(grep '^Signed-off-by: ' "$1" |
-        sort | uniq -c | sed -e '/^[   ]*1[    ]/d')" || {
-       echo >&2 Duplicate Signed-off-by lines.
-       exit 1
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/hooks/post-update.sample 
new/rpcbind-0.2.2/.git/hooks/post-update.sample
--- old/rpcbind-0.2.1_rc4/.git/hooks/post-update.sample 2014-01-23 
17:29:10.000000000 +0100
+++ new/rpcbind-0.2.2/.git/hooks/post-update.sample     1970-01-01 
01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to prepare a packed repository for use over
-# dumb transports.
-#
-# To enable this hook, rename this file to "post-update".
-
-exec git update-server-info
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/hooks/pre-applypatch.sample 
new/rpcbind-0.2.2/.git/hooks/pre-applypatch.sample
--- old/rpcbind-0.2.1_rc4/.git/hooks/pre-applypatch.sample      2014-01-23 
17:29:10.000000000 +0100
+++ new/rpcbind-0.2.2/.git/hooks/pre-applypatch.sample  1970-01-01 
01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed
-# by applypatch from an e-mail message.
-#
-# The hook should exit with non-zero status after issuing an
-# appropriate message if it wants to stop the commit.
-#
-# To enable this hook, rename this file to "pre-applypatch".
-
-. git-sh-setup
-test -x "$GIT_DIR/hooks/pre-commit" &&
-       exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"}
-:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/hooks/pre-commit.sample 
new/rpcbind-0.2.2/.git/hooks/pre-commit.sample
--- old/rpcbind-0.2.1_rc4/.git/hooks/pre-commit.sample  2014-01-23 
17:29:10.000000000 +0100
+++ new/rpcbind-0.2.2/.git/hooks/pre-commit.sample      1970-01-01 
01:00:00.000000000 +0100
@@ -1,50 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed.
-# Called by "git commit" with no arguments.  The hook should
-# exit with non-zero status after issuing an appropriate message if
-# it wants to stop the commit.
-#
-# To enable this hook, rename this file to "pre-commit".
-
-if git rev-parse --verify HEAD >/dev/null 2>&1
-then
-       against=HEAD
-else
-       # Initial commit: diff against an empty tree object
-       against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
-fi
-
-# If you want to allow non-ascii filenames set this variable to true.
-allownonascii=$(git config hooks.allownonascii)
-
-# Redirect output to stderr.
-exec 1>&2
-
-# Cross platform projects tend to avoid non-ascii filenames; prevent
-# them from being added to the repository. We exploit the fact that the
-# printable range starts at the space character and ends with tilde.
-if [ "$allownonascii" != "true" ] &&
-       # Note that the use of brackets around a tr range is ok here, (it's
-       # even required, for portability to Solaris 10's /usr/bin/tr), since
-       # the square bracket bytes happen to fall in the designated range.
-       test $(git diff --cached --name-only --diff-filter=A -z $against |
-         LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
-then
-       echo "Error: Attempt to add a non-ascii file name."
-       echo
-       echo "This can cause problems if you want to work"
-       echo "with people on other platforms."
-       echo
-       echo "To be portable it is advisable to rename the file ..."
-       echo
-       echo "If you know what you are doing you can disable this"
-       echo "check using:"
-       echo
-       echo "  git config hooks.allownonascii true"
-       echo
-       exit 1
-fi
-
-# If there are whitespace errors, print the offending file names and fail.
-exec git diff-index --check --cached $against --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/hooks/pre-rebase.sample 
new/rpcbind-0.2.2/.git/hooks/pre-rebase.sample
--- old/rpcbind-0.2.1_rc4/.git/hooks/pre-rebase.sample  2014-01-23 
17:29:10.000000000 +0100
+++ new/rpcbind-0.2.2/.git/hooks/pre-rebase.sample      1970-01-01 
01:00:00.000000000 +0100
@@ -1,169 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2006, 2008 Junio C Hamano
-#
-# The "pre-rebase" hook is run just before "git rebase" starts doing
-# its job, and can prevent the command from running by exiting with
-# non-zero status.
-#
-# The hook is called with the following parameters:
-#
-# $1 -- the upstream the series was forked from.
-# $2 -- the branch being rebased (or empty when rebasing the current branch).
-#
-# This sample shows how to prevent topic branches that are already
-# merged to 'next' branch from getting rebased, because allowing it
-# would result in rebasing already published history.
-
-publish=next
-basebranch="$1"
-if test "$#" = 2
-then
-       topic="refs/heads/$2"
-else
-       topic=`git symbolic-ref HEAD` ||
-       exit 0 ;# we do not interrupt rebasing detached HEAD
-fi
-
-case "$topic" in
-refs/heads/??/*)
-       ;;
-*)
-       exit 0 ;# we do not interrupt others.
-       ;;
-esac
-
-# Now we are dealing with a topic branch being rebased
-# on top of master.  Is it OK to rebase it?
-
-# Does the topic really exist?
-git show-ref -q "$topic" || {
-       echo >&2 "No such branch $topic"
-       exit 1
-}
-
-# Is topic fully merged to master?
-not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
-if test -z "$not_in_master"
-then
-       echo >&2 "$topic is fully merged to master; better remove it."
-       exit 1 ;# we could allow it, but there is no point.
-fi
-
-# Is topic ever merged to next?  If so you should not be rebasing it.
-only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
-only_next_2=`git rev-list ^master           ${publish} | sort`
-if test "$only_next_1" = "$only_next_2"
-then
-       not_in_topic=`git rev-list "^$topic" master`
-       if test -z "$not_in_topic"
-       then
-               echo >&2 "$topic is already up-to-date with master"
-               exit 1 ;# we could allow it, but there is no point.
-       else
-               exit 0
-       fi
-else
-       not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
-       /usr/bin/perl -e '
-               my $topic = $ARGV[0];
-               my $msg = "* $topic has commits already merged to public 
branch:\n";
-               my (%not_in_next) = map {
-                       /^([0-9a-f]+) /;
-                       ($1 => 1);
-               } split(/\n/, $ARGV[1]);
-               for my $elem (map {
-                               /^([0-9a-f]+) (.*)$/;
-                               [$1 => $2];
-                       } split(/\n/, $ARGV[2])) {
-                       if (!exists $not_in_next{$elem->[0]}) {
-                               if ($msg) {
-                                       print STDERR $msg;
-                                       undef $msg;
-                               }
-                               print STDERR " $elem->[1]\n";
-                       }
-               }
-       ' "$topic" "$not_in_next" "$not_in_master"
-       exit 1
-fi
-
-exit 0
-
-################################################################
-
-This sample hook safeguards topic branches that have been
-published from being rewound.
-
-The workflow assumed here is:
-
- * Once a topic branch forks from "master", "master" is never
-   merged into it again (either directly or indirectly).
-
- * Once a topic branch is fully cooked and merged into "master",
-   it is deleted.  If you need to build on top of it to correct
-   earlier mistakes, a new topic branch is created by forking at
-   the tip of the "master".  This is not strictly necessary, but
-   it makes it easier to keep your history simple.
-
- * Whenever you need to test or publish your changes to topic
-   branches, merge them into "next" branch.
-
-The script, being an example, hardcodes the publish branch name
-to be "next", but it is trivial to make it configurable via
-$GIT_DIR/config mechanism.
-
-With this workflow, you would want to know:
-
-(1) ... if a topic branch has ever been merged to "next".  Young
-    topic branches can have stupid mistakes you would rather
-    clean up before publishing, and things that have not been
-    merged into other branches can be easily rebased without
-    affecting other people.  But once it is published, you would
-    not want to rewind it.
-
-(2) ... if a topic branch has been fully merged to "master".
-    Then you can delete it.  More importantly, you should not
-    build on top of it -- other people may already want to
-    change things related to the topic as patches against your
-    "master", so if you need further changes, it is better to
-    fork the topic (perhaps with the same name) afresh from the
-    tip of "master".
-
-Let's look at this example:
-
-                  o---o---o---o---o---o---o---o---o---o "next"
-                 /       /           /           /
-                /   a---a---b A     /           /
-               /   /               /           /
-              /   /   c---c---c---c B         /
-             /   /   /             \         /
-            /   /   /   b---b C     \       /
-           /   /   /   /             \     /
-    ---o---o---o---o---o---o---o---o---o---o---o "master"
-
-
-A, B and C are topic branches.
-
- * A has one fix since it was merged up to "next".
-
- * B has finished.  It has been fully merged up to "master" and "next",
-   and is ready to be deleted.
-
- * C has not merged to "next" at all.
-
-We would want to allow C to be rebased, refuse A, and encourage
-B to be deleted.
-
-To compute (1):
-
-       git rev-list ^master ^topic next
-       git rev-list ^master        next
-
-       if these match, topic has not merged in next at all.
-
-To compute (2):
-
-       git rev-list master..topic
-
-       if this is empty, it is fully merged to "master".
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/hooks/prepare-commit-msg.sample 
new/rpcbind-0.2.2/.git/hooks/prepare-commit-msg.sample
--- old/rpcbind-0.2.1_rc4/.git/hooks/prepare-commit-msg.sample  2014-01-23 
17:29:10.000000000 +0100
+++ new/rpcbind-0.2.2/.git/hooks/prepare-commit-msg.sample      1970-01-01 
01:00:00.000000000 +0100
@@ -1,36 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to prepare the commit log message.
-# Called by "git commit" with the name of the file that has the
-# commit message, followed by the description of the commit
-# message's source.  The hook's purpose is to edit the commit
-# message file.  If the hook fails with a non-zero status,
-# the commit is aborted.
-#
-# To enable this hook, rename this file to "prepare-commit-msg".
-
-# This hook includes three examples.  The first comments out the
-# "Conflicts:" part of a merge commit.
-#
-# The second includes the output of "git diff --name-status -r"
-# into the message, just before the "git status" output.  It is
-# commented because it doesn't cope with --amend or with squashed
-# commits.
-#
-# The third example adds a Signed-off-by line to the message, that can
-# still be edited.  This is rarely a good idea.
-
-case "$2,$3" in
-  merge,)
-    /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; 
print' "$1" ;;
-
-# ,|template,)
-#   /usr/bin/perl -i.bak -pe '
-#      print "\n" . `git diff --cached --name-status -r`
-#       if /^#/ && $first++ == 0' "$1" ;;
-
-  *) ;;
-esac
-
-# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
-# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/hooks/update.sample 
new/rpcbind-0.2.2/.git/hooks/update.sample
--- old/rpcbind-0.2.1_rc4/.git/hooks/update.sample      2014-01-23 
17:29:10.000000000 +0100
+++ new/rpcbind-0.2.2/.git/hooks/update.sample  1970-01-01 01:00:00.000000000 
+0100
@@ -1,128 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to blocks unannotated tags from entering.
-# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
-#
-# To enable this hook, rename this file to "update".
-#
-# Config
-# ------
-# hooks.allowunannotated
-#   This boolean sets whether unannotated tags will be allowed into the
-#   repository.  By default they won't be.
-# hooks.allowdeletetag
-#   This boolean sets whether deleting tags will be allowed in the
-#   repository.  By default they won't be.
-# hooks.allowmodifytag
-#   This boolean sets whether a tag may be modified after creation. By default
-#   it won't be.
-# hooks.allowdeletebranch
-#   This boolean sets whether deleting branches will be allowed in the
-#   repository.  By default they won't be.
-# hooks.denycreatebranch
-#   This boolean sets whether remotely creating branches will be denied
-#   in the repository.  By default this is allowed.
-#
-
-# --- Command line
-refname="$1"
-oldrev="$2"
-newrev="$3"
-
-# --- Safety check
-if [ -z "$GIT_DIR" ]; then
-       echo "Don't run this script from the command line." >&2
-       echo " (if you want, you could supply GIT_DIR then run" >&2
-       echo "  $0 <ref> <oldrev> <newrev>)" >&2
-       exit 1
-fi
-
-if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
-       echo "Usage: $0 <ref> <oldrev> <newrev>" >&2
-       exit 1
-fi
-
-# --- Config
-allowunannotated=$(git config --bool hooks.allowunannotated)
-allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
-denycreatebranch=$(git config --bool hooks.denycreatebranch)
-allowdeletetag=$(git config --bool hooks.allowdeletetag)
-allowmodifytag=$(git config --bool hooks.allowmodifytag)
-
-# check for no description
-projectdesc=$(sed -e '1q' "$GIT_DIR/description")
-case "$projectdesc" in
-"Unnamed repository"* | "")
-       echo "*** Project description file hasn't been set" >&2
-       exit 1
-       ;;
-esac
-
-# --- Check types
-# if $newrev is 0000...0000, it's a commit to delete a ref.
-zero="0000000000000000000000000000000000000000"
-if [ "$newrev" = "$zero" ]; then
-       newrev_type=delete
-else
-       newrev_type=$(git cat-file -t $newrev)
-fi
-
-case "$refname","$newrev_type" in
-       refs/tags/*,commit)
-               # un-annotated tag
-               short_refname=${refname##refs/tags/}
-               if [ "$allowunannotated" != "true" ]; then
-                       echo "*** The un-annotated tag, $short_refname, is not 
allowed in this repository" >&2
-                       echo "*** Use 'git tag [ -a | -s ]' for tags you want 
to propagate." >&2
-                       exit 1
-               fi
-               ;;
-       refs/tags/*,delete)
-               # delete tag
-               if [ "$allowdeletetag" != "true" ]; then
-                       echo "*** Deleting a tag is not allowed in this 
repository" >&2
-                       exit 1
-               fi
-               ;;
-       refs/tags/*,tag)
-               # annotated tag
-               if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > 
/dev/null 2>&1
-               then
-                       echo "*** Tag '$refname' already exists." >&2
-                       echo "*** Modifying a tag is not allowed in this 
repository." >&2
-                       exit 1
-               fi
-               ;;
-       refs/heads/*,commit)
-               # branch
-               if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
-                       echo "*** Creating a branch is not allowed in this 
repository" >&2
-                       exit 1
-               fi
-               ;;
-       refs/heads/*,delete)
-               # delete branch
-               if [ "$allowdeletebranch" != "true" ]; then
-                       echo "*** Deleting a branch is not allowed in this 
repository" >&2
-                       exit 1
-               fi
-               ;;
-       refs/remotes/*,commit)
-               # tracking branch
-               ;;
-       refs/remotes/*,delete)
-               # delete tracking branch
-               if [ "$allowdeletebranch" != "true" ]; then
-                       echo "*** Deleting a tracking branch is not allowed in 
this repository" >&2
-                       exit 1
-               fi
-               ;;
-       *)
-               # Anything else (is there anything else?)
-               echo "*** Update hook: unknown type of update to ref $refname 
of type $newrev_type" >&2
-               exit 1
-               ;;
-esac
-
-# --- Finished
-exit 0
Files old/rpcbind-0.2.1_rc4/.git/index and new/rpcbind-0.2.2/.git/index differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/info/exclude new/rpcbind-0.2.2/.git/info/exclude
--- old/rpcbind-0.2.1_rc4/.git/info/exclude     2014-01-23 17:29:10.000000000 
+0100
+++ new/rpcbind-0.2.2/.git/info/exclude 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-# git ls-files --others --exclude-from=.git/info/exclude
-# Lines that start with '#' are comments.
-# For a project mostly in C, the following would be a good set of
-# exclude patterns (uncomment them if you want to use them):
-# *.[oa]
-# *~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/logs/HEAD new/rpcbind-0.2.2/.git/logs/HEAD
--- old/rpcbind-0.2.1_rc4/.git/logs/HEAD        2014-01-23 17:29:28.000000000 
+0100
+++ new/rpcbind-0.2.2/.git/logs/HEAD    1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-0000000000000000000000000000000000000000 
b3b031b07cc5909aaf964f9d4cf46f6097769320 Olaf Kirch <[email protected]> 1390494554 
+0100   clone: from git://git.infradead.org/users/steved/rpcbind.git
-b3b031b07cc5909aaf964f9d4cf46f6097769320 
86036582c001e99075f4d74cb3829df39f2a9ddf Olaf Kirch <[email protected]> 1390494569 
+0100   checkout: moving from master to rpcbind-0_2_1-rc4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/logs/refs/heads/master 
new/rpcbind-0.2.2/.git/logs/refs/heads/master
--- old/rpcbind-0.2.1_rc4/.git/logs/refs/heads/master   2014-01-23 
17:29:13.000000000 +0100
+++ new/rpcbind-0.2.2/.git/logs/refs/heads/master       1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-0000000000000000000000000000000000000000 
b3b031b07cc5909aaf964f9d4cf46f6097769320 Olaf Kirch <[email protected]> 1390494554 
+0100   clone: from git://git.infradead.org/users/steved/rpcbind.git
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/logs/refs/remotes/origin/HEAD 
new/rpcbind-0.2.2/.git/logs/refs/remotes/origin/HEAD
--- old/rpcbind-0.2.1_rc4/.git/logs/refs/remotes/origin/HEAD    2014-01-23 
17:29:13.000000000 +0100
+++ new/rpcbind-0.2.2/.git/logs/refs/remotes/origin/HEAD        1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-0000000000000000000000000000000000000000 
b3b031b07cc5909aaf964f9d4cf46f6097769320 Olaf Kirch <[email protected]> 1390494554 
+0100   clone: from git://git.infradead.org/users/steved/rpcbind.git
Files 
old/rpcbind-0.2.1_rc4/.git/objects/pack/pack-db89367471103635cc2d62c828ca68b252ffcfcb.idx
 and 
new/rpcbind-0.2.2/.git/objects/pack/pack-db89367471103635cc2d62c828ca68b252ffcfcb.idx
 differ
Files 
old/rpcbind-0.2.1_rc4/.git/objects/pack/pack-db89367471103635cc2d62c828ca68b252ffcfcb.pack
 and 
new/rpcbind-0.2.2/.git/objects/pack/pack-db89367471103635cc2d62c828ca68b252ffcfcb.pack
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/packed-refs new/rpcbind-0.2.2/.git/packed-refs
--- old/rpcbind-0.2.1_rc4/.git/packed-refs      2014-01-23 17:29:13.000000000 
+0100
+++ new/rpcbind-0.2.2/.git/packed-refs  1970-01-01 01:00:00.000000000 +0100
@@ -1,9 +0,0 @@
-# pack-refs with: peeled 
-b3b031b07cc5909aaf964f9d4cf46f6097769320 refs/remotes/origin/master
-34e3fdf4d72e222bb2cf884ba000716689a0a932 refs/tags/rpcbind-0_1_5
-2e80f5f16fdbe93880a61adbd3d5939b4660dc48 refs/tags/rpcbind-0_1_7
-b29ff67243a574a2ffd7ab28c007990ccbddfd77 refs/tags/rpcbind-0_2_0
-eb36cf198795b09c1ba796044fc99fa40c5a2b33 refs/tags/rpcbind-0_2_1-rc1
-79d890c3982ac007001688b975b4d04c4453d007 refs/tags/rpcbind-0_2_1-rc2
-1d9fba5b631b517094c85a80f45f6f7ba1665e2a refs/tags/rpcbind-0_2_1-rc3
-86036582c001e99075f4d74cb3829df39f2a9ddf refs/tags/rpcbind-0_2_1-rc4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/refs/heads/master 
new/rpcbind-0.2.2/.git/refs/heads/master
--- old/rpcbind-0.2.1_rc4/.git/refs/heads/master        2014-01-23 
17:29:13.000000000 +0100
+++ new/rpcbind-0.2.2/.git/refs/heads/master    1970-01-01 01:00:00.000000000 
+0100
@@ -1 +0,0 @@
-b3b031b07cc5909aaf964f9d4cf46f6097769320
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/.git/refs/remotes/origin/HEAD 
new/rpcbind-0.2.2/.git/refs/remotes/origin/HEAD
--- old/rpcbind-0.2.1_rc4/.git/refs/remotes/origin/HEAD 2014-01-23 
17:29:13.000000000 +0100
+++ new/rpcbind-0.2.2/.git/refs/remotes/origin/HEAD     1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-ref: refs/remotes/origin/master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/Makefile.am new/rpcbind-0.2.2/Makefile.am
--- old/rpcbind-0.2.1_rc4/Makefile.am   2014-01-23 17:29:13.000000000 +0100
+++ new/rpcbind-0.2.2/Makefile.am       2014-11-25 21:34:48.000000000 +0100
@@ -1,3 +1,5 @@
+AUTOMAKE_OPTIONS = subdir-objects
+
 AM_CPPFLAGS = \
        -DCHECK_LOCAL \
        -DPORTMAP \
@@ -6,6 +8,7 @@
        -DINET6 \
        -DRPCBIND_STATEDIR="\"$(statedir)\"" \
        -DRPCBIND_USER="\"$(rpcuser)\"" \
+       -DNSS_MODULES="\"$(nss_modules)\"" \
        -D_GNU_SOURCE \
        $(TIRPC_CFLAGS)
 
@@ -38,6 +41,12 @@
        src/warmstart.c
 rpcbind_LDADD = $(TIRPC_LIBS)
 
+if SYSTEMD
+AM_CPPFLAGS += $(SYSTEMD_CFLAGS) -DSYSTEMD
+
+rpcbind_LDADD += $(SYSTEMD_LIBS)
+endif
+
 rpcinfo_SOURCES =       src/rpcinfo.c
 rpcinfo_LDADD   =       $(TIRPC_LIBS)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/configure.ac new/rpcbind-0.2.2/configure.ac
--- old/rpcbind-0.2.1_rc4/configure.ac  1970-01-01 01:00:00.000000000 +0100
+++ new/rpcbind-0.2.2/configure.ac      2014-11-25 21:34:48.000000000 +0100
@@ -0,0 +1,58 @@
+AC_INIT(rpcbind, 0.2.2)
+ 
+AM_INIT_AUTOMAKE
+AC_CONFIG_SRCDIR([src/rpcbind.c])
+AC_PREFIX_DEFAULT(/usr)
+AC_PROG_CC
+
+AC_ARG_ENABLE([libwrap],
+  AS_HELP_STRING([--enable-libwrap], [Enables host name checking through tcpd 
@<:@default=no@:>@]))
+AM_CONDITIONAL(LIBWRAP, test x$enable_libwrap = xyes)
+
+AC_ARG_ENABLE([debug],
+  AS_HELP_STRING([--enable-debug], [Turns on rpcbind debugging 
@<:@default=no@:>@]))
+AM_CONDITIONAL(DEBUG, test x$enable_debug = xyes)
+
+AC_ARG_ENABLE([warmstarts],
+  AS_HELP_STRING([--enable-warmstarts], [Enables Warm Starts 
@<:@default=no@:>@]))
+AM_CONDITIONAL(WARMSTART, test x$enable_warmstarts = xyes)
+
+AC_ARG_WITH([statedir],
+  AS_HELP_STRING([--with-statedir=ARG], [use ARG as state dir 
@<:@default=/tmp@:>@])
+  ,, [with_statedir=/tmp])
+AC_SUBST([statedir], [$with_statedir])
+
+AC_ARG_WITH([rpcuser],
+  AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@])
+  ,, [with_rpcuser=root])
+AC_SUBST([rpcuser], [$with_rpcuser])
+ 
+AC_ARG_WITH([nss_modules],
+  AS_HELP_STRING([--with-nss-modules=NSS_MODULES]
+  , [Sets the nss module search list to the given space-delimited string.
+     For example --with-nss-modules="files altfiles" @<:@default=files@:>@])
+  ,, [with_nss_modules=files])
+AC_SUBST([nss_modules], [$with_nss_modules])
+
+PKG_CHECK_MODULES([TIRPC], [libtirpc])
+
+PKG_PROG_PKG_CONFIG
+AC_ARG_WITH([systemdsystemunitdir],
+  AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd 
service files]),
+  [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir 
systemd)])
+  if test "x$with_systemdsystemunitdir" != xno; then
+    AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
+     PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [],
+          [PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon], [],
+          AC_MSG_ERROR([libsystemd support requested but found]))])
+  fi
+AM_CONDITIONAL(SYSTEMD, [test -n "$with_systemdsystemunitdir" -a 
"x$with_systemdsystemunitdir" != xno ])
+
+AS_IF([test x$enable_libwrap = xyes], [
+       AC_CHECK_LIB([wrap], [hosts_access], ,
+               AC_MSG_ERROR([libwrap support requested but unable to find 
libwrap]))
+])
+
+AC_SEARCH_LIBS([pthread_create], [pthread])
+
+AC_OUTPUT([Makefile])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/configure.in new/rpcbind-0.2.2/configure.in
--- old/rpcbind-0.2.1_rc4/configure.in  2014-01-23 17:29:28.000000000 +0100
+++ new/rpcbind-0.2.2/configure.in      1970-01-01 01:00:00.000000000 +0100
@@ -1,39 +0,0 @@
-AC_INIT(rpcbind, 0.2.0)
- 
-AM_INIT_AUTOMAKE
-AC_CONFIG_SRCDIR([src/rpcbind.c])
-AC_PREFIX_DEFAULT(/usr)
-AC_PROG_CC
-
-AC_ARG_ENABLE([libwrap],
-  AS_HELP_STRING([--enable-libwrap], [Enables host name checking through tcpd 
@<:@default=no@:>@]))
-AM_CONDITIONAL(LIBWRAP, test x$enable_libwrap = xyes)
-
-AC_ARG_ENABLE([debug],
-  AS_HELP_STRING([--enable-debug], [Turns on rpcbind debugging 
@<:@default=no@:>@]))
-AM_CONDITIONAL(DEBUG, test x$enable_debug = xyes)
-
-AC_ARG_ENABLE([warmstarts],
-  AS_HELP_STRING([--enable-warmstarts], [Enables Warm Starts 
@<:@default=no@:>@]))
-AM_CONDITIONAL(WARMSTART, test x$enable_warmstarts = xyes)
-
-AC_ARG_WITH([statedir],
-  AS_HELP_STRING([--with-statedir=ARG], [use ARG as state dir 
@<:@default=/tmp@:>@])
-  ,, [with_statedir=/tmp])
-AC_SUBST([statedir], [$with_statedir])
-
-AC_ARG_WITH([rpcuser],
-  AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@]),
-  ,, [with_rpcuser=root])
-AC_SUBST([rpcuser], [$with_rpcuser])
- 
-PKG_CHECK_MODULES([TIRPC], [libtirpc])
-
-AS_IF([test x$enable_libwrap = xyes], [
-       AC_CHECK_LIB([wrap], [hosts_access], ,
-               AC_MSG_ERROR([libwrap support requested but unable to find 
libwrap]))
-])
-
-AC_SEARCH_LIBS([pthread_create], [pthread])
-
-AC_OUTPUT([Makefile])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/man/rpcinfo.8 new/rpcbind-0.2.2/man/rpcinfo.8
--- old/rpcbind-0.2.1_rc4/man/rpcinfo.8 2014-01-23 17:29:13.000000000 +0100
+++ new/rpcbind-0.2.2/man/rpcinfo.8     2014-11-25 21:34:48.000000000 +0100
@@ -20,8 +20,7 @@
 .Nm "rpcinfo"
 .Fl l
 .Op Fl T Ar transport
-.Ar host Ar prognum
-.Op Ar versnum
+.Ar host Ar prognum Ar versnum
 .Nm "rpcinfo"
 .Op Fl n Ar portnum
 .Fl u
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/missing new/rpcbind-0.2.2/missing
--- old/rpcbind-0.2.1_rc4/missing       1970-01-01 01:00:00.000000000 +0100
+++ new/rpcbind-0.2.2/missing   2014-11-25 21:53:51.000000000 +0100
@@ -0,0 +1,215 @@
+#! /bin/sh
+# Common wrapper for a few potentially missing GNU programs.
+
+scriptversion=2012-06-26.16; # UTC
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <[email protected]>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try '$0 --help' for more information"
+  exit 1
+fi
+
+case $1 in
+
+  --is-lightweight)
+    # Used by our autoconf macros to check whether the available missing
+    # script is modern enough.
+    exit 0
+    ;;
+
+  --run)
+    # Back-compat with the calling convention used by older automake.
+    shift
+    ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+
+Supported PROGRAM values:
+  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
+  bison     yacc      flex         lex       help2man
+
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
+
+Send bug reports to <[email protected]>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch.  This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+  msg="probably too old"
+elif test $st -eq 127; then
+  # Program was missing.
+  msg="missing on your system"
+else
+  # Program was found and executed, but failed.  Give up.
+  exit $st
+fi
+
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+  case $1 in
+    aclocal|automake)
+      echo "The '$1' program is part of the GNU Automake package:"
+      echo "<$gnu_software_URL/automake>"
+      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/autoconf>"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+    autoconf|autom4te|autoheader)
+      echo "The '$1' program is part of the GNU Autoconf package:"
+      echo "<$gnu_software_URL/autoconf/>"
+      echo "It also requires GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+  esac
+}
+
+give_advice ()
+{
+  # Normalize program name to check for.
+  normalized_program=`echo "$1" | sed '
+    s/^gnu-//; t
+    s/^gnu//; t
+    s/^g//; t'`
+
+  printf '%s\n' "'$1' is $msg."
+
+  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  case $normalized_program in
+    autoconf*)
+      echo "You should only need it if you modified 'configure.ac',"
+      echo "or m4 files included by it."
+      program_details 'autoconf'
+      ;;
+    autoheader*)
+      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "$configure_deps."
+      program_details 'autoheader'
+      ;;
+    automake*)
+      echo "You should only need it if you modified 'Makefile.am' or"
+      echo "$configure_deps."
+      program_details 'automake'
+      ;;
+    aclocal*)
+      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "$configure_deps."
+      program_details 'aclocal'
+      ;;
+   autom4te*)
+      echo "You might have modified some maintainer files that require"
+      echo "the 'automa4te' program to be rebuilt."
+      program_details 'autom4te'
+      ;;
+    bison*|yacc*)
+      echo "You should only need it if you modified a '.y' file."
+      echo "You may want to install the GNU Bison package:"
+      echo "<$gnu_software_URL/bison/>"
+      ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
+    help2man*)
+      echo "You should only need it if you modified a dependency" \
+           "of a man page."
+      echo "You may want to install the GNU Help2man package:"
+      echo "<$gnu_software_URL/help2man/>"
+    ;;
+    makeinfo*)
+      echo "You should only need it if you modified a '.texi' file, or"
+      echo "any other file indirectly affecting the aspect of the manual."
+      echo "You might want to install the Texinfo package:"
+      echo "<$gnu_software_URL/texinfo/>"
+      echo "The spurious makeinfo call might also be the consequence of"
+      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+      echo "want to install GNU make:"
+      echo "<$gnu_software_URL/make/>"
+      ;;
+    *)
+      echo "You might have modified some files without having the proper"
+      echo "tools for further handling them.  Check the 'README' file, it"
+      echo "often tells you about the needed prerequisites for installing"
+      echo "this package.  You may also peek at any GNU archive site, in"
+      echo "case some other package contains this missing '$1' program."
+      ;;
+  esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+                       -e '2,$s/^/         /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/src/rpcbind.c new/rpcbind-0.2.2/src/rpcbind.c
--- old/rpcbind-0.2.1_rc4/src/rpcbind.c 2014-01-23 17:29:28.000000000 +0100
+++ new/rpcbind-0.2.2/src/rpcbind.c     2014-11-25 21:34:48.000000000 +0100
@@ -56,18 +56,26 @@
 #include <netinet/in.h>
 #endif
 #include <arpa/inet.h>
+#ifdef SYSTEMD
+#include <systemd/sd-daemon.h>
+#endif
 #include <fcntl.h>
 #include <netdb.h>
 #include <stdio.h>
 #include <netconfig.h>
 #include <stdlib.h>
 #include <unistd.h>
+#include <grp.h>
 #include <syslog.h>
 #include <err.h>
 #include <pwd.h>
 #include <string.h>
 #include <errno.h>
+#ifdef HAVE_NSS_H
 #include <nss.h>
+#else
+static inline void __nss_configure_lookup(const char *db, const char *s) {}
+#endif
 #include "rpcbind.h"
 
 /*#define RPCBIND_DEBUG*/
@@ -86,6 +94,12 @@
 char *rpcbinduser = NULL;
 #endif
 
+#ifdef NSS_MODULES
+char *nss_modules = NSS_MODULES;
+#else
+char *nss_modules = "files";
+#endif
+
 /* who to suid to if -s is given */
 #define RUN_AS  "daemon"
 
@@ -160,7 +174,7 @@
         * Make sure we use the local service file 
         * for service lookkups
         */
-       __nss_configure_lookup("services", "files");
+       __nss_configure_lookup("services", nss_modules);
 
        nc_handle = setnetconfig();     /* open netconfig file */
        if (nc_handle == NULL) {
@@ -226,7 +240,7 @@
                 * Make sure we use the local password file
                 * for these lookups.
                 */
-               __nss_configure_lookup("passwd", "files");
+               __nss_configure_lookup("passwd", nss_modules);
 
                if((p = getpwnam(id)) == NULL) {
                        syslog(LOG_ERR, "cannot get uid of '%s': %m", id);
@@ -285,6 +299,7 @@
        u_int32_t host_addr[4];  /* IPv4 or IPv6 */
        struct sockaddr_un sun;
        mode_t oldmask;
+       int n;
         res = NULL;
 
        if ((nconf->nc_semantics != NC_TPI_CLTS) &&
@@ -303,6 +318,76 @@
                        fprintf(stderr, "[%d] - %s\n", i, *s);
        }
 #endif
+       if (!__rpc_nconf2sockinfo(nconf, &si)) {
+               syslog(LOG_ERR, "cannot get information for %s",
+                   nconf->nc_netid);
+               return (1);
+       }
+
+#ifdef SYSTEMD
+       n = sd_listen_fds(0);
+       if (n < 0) {
+               syslog(LOG_ERR, "failed to acquire systemd sockets: %s", 
strerror(-n));
+               return 1;
+       }
+
+       /* Try to find if one of the systemd sockets we were given match
+        * our netconfig structure. */
+
+       for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + n; fd++) {
+               struct __rpc_sockinfo si_other;
+               union {
+                       struct sockaddr sa;
+                       struct sockaddr_un un;
+                       struct sockaddr_in in4;
+                       struct sockaddr_in6 in6;
+                       struct sockaddr_storage storage;
+               } sa;
+               socklen_t addrlen = sizeof(sa);
+
+               if (!__rpc_fd2sockinfo(fd, &si_other)) {
+                       syslog(LOG_ERR, "cannot get information for fd %i", fd);
+                       return 1;
+               }
+
+               if (si.si_af != si_other.si_af ||
+                    si.si_socktype != si_other.si_socktype ||
+                    si.si_proto != si_other.si_proto)
+                       continue;
+
+               if (getsockname(fd, &sa.sa, &addrlen) < 0) {
+                       syslog(LOG_ERR, "failed to query socket name: %s",
+                               strerror(errno));
+                       goto error;
+               }
+
+               /* Copy the address */
+               taddr.addr.maxlen = taddr.addr.len = addrlen;
+               taddr.addr.buf = malloc(addrlen);
+               if (taddr.addr.buf == NULL) {
+                       syslog(LOG_ERR,
+                               "cannot allocate memory for %s address",
+                               nconf->nc_netid);
+                       goto error;
+               }
+               memcpy(taddr.addr.buf, &sa, addrlen);
+
+               my_xprt = (SVCXPRT *)svc_tli_create(fd, nconf, &taddr,
+                          RPC_MAXDATASIZE, RPC_MAXDATASIZE);
+               if (my_xprt == (SVCXPRT *)NULL) {
+                       syslog(LOG_ERR, "%s: could not create service",
+                               nconf->nc_netid);
+                       goto error;
+               }
+       }
+
+       /*
+        * If none of the systemd sockets matched, we set up the socket in
+        * the normal way:
+        */
+#endif
+       if (my_xprt != NULL)
+               goto got_socket;
 
        /*
         * XXX - using RPC library internal functions. For NC_TPI_CLTS
@@ -316,12 +401,6 @@
                }
        }
 
-       if (!__rpc_nconf2sockinfo(nconf, &si)) {
-               syslog(LOG_ERR, "cannot get information for %s",
-                   nconf->nc_netid);
-               return (1);
-       }
-
        if ((strcmp(nconf->nc_netid, "local") == 0) ||
            (strcmp(nconf->nc_netid, "unix") == 0)) {
                memset(&sun, 0, sizeof sun);
@@ -558,6 +637,7 @@
                        goto error;
                }
        }
+got_socket:
 
 #ifdef PORTMAP
        /*
@@ -722,11 +802,9 @@
        unlink(_PATH_RPCBINDSOCK);
        unlink(RPCBINDDLOCK);
 #ifdef WARMSTART
-       syslog(LOG_ERR,
-               "rpcbind terminating on signal. Restart with \"rpcbind -w\"");
        write_warmstart();      /* Dump yourself */
 #endif
-       exit(2);
+       exit(0); /* exit gracefully */
 }
 
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/rpcbind-0.2.1_rc4/src/util.c new/rpcbind-0.2.2/src/util.c
--- old/rpcbind-0.2.1_rc4/src/util.c    2014-01-23 17:29:13.000000000 +0100
+++ new/rpcbind-0.2.2/src/util.c        2014-11-25 21:34:48.000000000 +0100
@@ -101,12 +101,14 @@
 in6_fillscopeid(struct sockaddr_in6 *sin6)
 {
        u_int16_t ifindex;
+       u_int16_t *addr;
 
         if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
-               ifindex = ntohs(*(u_int16_t *)&sin6->sin6_addr.s6_addr[2]);
+               addr = (u_int16_t *)&sin6->sin6_addr.s6_addr[2];
+               ifindex = ntohs(*addr);
                if (sin6->sin6_scope_id == 0 && ifindex != 0) {
                        sin6->sin6_scope_id = ifindex;
-                       *(u_int16_t *)&sin6->sin6_addr.s6_addr[2] = 0;
+                       *addr = 0;
                }
        }
 }


--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to