public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
From: git@ipfire.org
To: ipfire-scm@lists.ipfire.org
Subject: [git.ipfire.org] IPFire 3.x development tree branch, master, updated. b449c308baf63df68ab81a62cbdd89e64da71ab9
Date: Thu, 02 Jun 2016 13:26:36 +0100	[thread overview]
Message-ID: <20160602122637.41EC31078E81@git01.ipfire.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 27240 bytes --]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 3.x development tree".

The branch, master has been updated
       via  b449c308baf63df68ab81a62cbdd89e64da71ab9 (commit)
       via  efb5f792003afb20703801aab2a01bf957f0f5c2 (commit)
       via  1477c2c478b0ab8ad94e6d47ca2bd973fe3c37db (commit)
      from  93d3d8c01de8c0447386669fa33feca60ef40be3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b449c308baf63df68ab81a62cbdd89e64da71ab9
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Thu Jun 2 12:28:54 2016 +0200

    newt: Update to 0.52.19
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit efb5f792003afb20703801aab2a01bf957f0f5c2
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Thu Jun 2 12:32:01 2016 +0200

    nfs-utils: Update to 1.3.3
    
    Many Updates and fixes. See https://www.kernel.org/pub/linux/utils/nfs-utils/1.3.3/1.3.3-Changelog
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 1477c2c478b0ab8ad94e6d47ca2bd973fe3c37db
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Thu Jun 2 12:35:12 2016 +0200

    libnftnl: Update to 1.0.6
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

-----------------------------------------------------------------------

Summary of changes:
 libnftnl/libnftnl.nm                               |  12 +-
 newt/newt.nm                                       |   4 +-
 nfs-utils/nfs-utils.nm                             |   4 +-
 .../nfs-utils-1.2.1-exp-subtree-warn-off.patch     |  12 -
 .../patches/nfs-utils-1.2.1-statdpath-man.patch    |  58 --
 .../nfs-utils-1.2.3-sm-notify-res_init.patch       |  21 -
 .../patches/nfs-utils-1.2.5-idmap-errmsg.patch     |  12 -
 nfs-utils/patches/nfs-utils.1.2.8.rc3.patch        | 592 ---------------------
 8 files changed, 8 insertions(+), 707 deletions(-)
 delete mode 100644 nfs-utils/patches/nfs-utils-1.2.1-exp-subtree-warn-off.patch
 delete mode 100644 nfs-utils/patches/nfs-utils-1.2.1-statdpath-man.patch
 delete mode 100644 nfs-utils/patches/nfs-utils-1.2.3-sm-notify-res_init.patch
 delete mode 100644 nfs-utils/patches/nfs-utils-1.2.5-idmap-errmsg.patch
 delete mode 100644 nfs-utils/patches/nfs-utils.1.2.8.rc3.patch

Difference in files:
diff --git a/libnftnl/libnftnl.nm b/libnftnl/libnftnl.nm
index 77d2e7a..3ad24a9 100644
--- a/libnftnl/libnftnl.nm
+++ b/libnftnl/libnftnl.nm
@@ -4,10 +4,9 @@
 ###############################################################################
 
 name       = libnftnl
-version    = 1.0.3
-snapshot   = 20150531
-release    = 1.%{snapshot}
-thisapp    = %{name}-%{snapshot}
+version    = 1.0.6
+release    = 1
+thisapp    = %{name}-%{version}
 
 groups     = Networking/Tools
 url        = http://netfilter.org/projects/libnftnl
@@ -19,7 +18,7 @@ description
 	libmnl.
 end
 
-source_dl  = http://ftp.netfilter.org/pub/libnftnl/snapshot/
+source_dl  = http://ftp.netfilter.org/pub/libnftnl/
 sources    = %{thisapp}.tar.bz2
 
 build
@@ -31,9 +30,6 @@ build
 		libtool
 	end
 
-	prepare_cmds
-		./autogen.sh
-	end
 end
 
 packages
diff --git a/newt/newt.nm b/newt/newt.nm
index 94ef180..f4695cb 100644
--- a/newt/newt.nm
+++ b/newt/newt.nm
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = newt
-version    = 0.52.13
-release    = 2
+version    = 0.52.19
+release    = 1
 
 groups     = System/Libraries
 url        = https://fedorahosted.org/releases/n/e/newt/
diff --git a/nfs-utils/nfs-utils.nm b/nfs-utils/nfs-utils.nm
index 85f1efc..07ac64c 100644
--- a/nfs-utils/nfs-utils.nm
+++ b/nfs-utils/nfs-utils.nm
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = nfs-utils
-version    = 1.2.7
-release    = 2
+version    = 1.3.3
+release    = 1
 
 groups     = Networking/Tools
 url        = http://nfs.sourceforge.net/
diff --git a/nfs-utils/patches/nfs-utils-1.2.1-exp-subtree-warn-off.patch b/nfs-utils/patches/nfs-utils-1.2.1-exp-subtree-warn-off.patch
deleted file mode 100644
index 14e376c..0000000
--- a/nfs-utils/patches/nfs-utils-1.2.1-exp-subtree-warn-off.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up nfs-utils-1.2.1/support/nfs/exports.c.orig nfs-utils-1.2.1/support/nfs/exports.c
---- nfs-utils-1.2.1/support/nfs/exports.c.orig	2010-01-15 10:48:49.631894982 -0500
-+++ nfs-utils-1.2.1/support/nfs/exports.c	2010-01-15 11:05:02.009874055 -0500
-@@ -483,7 +483,7 @@ static void fix_pseudoflavor_flags(struc
- static int
- parseopts(char *cp, struct exportent *ep, int warn, int *had_subtree_opt_ptr)
- {
--	int	had_subtree_opt = 0;
-+	int	had_subtree_opt = 1;
- 	char 	*flname = efname?efname:"command line";
- 	int	flline = efp?efp->x_line:0;
- 	unsigned int active = 0;
diff --git a/nfs-utils/patches/nfs-utils-1.2.1-statdpath-man.patch b/nfs-utils/patches/nfs-utils-1.2.1-statdpath-man.patch
deleted file mode 100644
index 8c2e0e2..0000000
--- a/nfs-utils/patches/nfs-utils-1.2.1-statdpath-man.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff -up nfs-utils-1.2.1/utils/statd/sm-notify.man.save nfs-utils-1.2.1/utils/statd/sm-notify.man
---- nfs-utils-1.2.1/utils/statd/sm-notify.man.save	2010-01-15 11:10:25.096874609 -0500
-+++ nfs-utils-1.2.1/utils/statd/sm-notify.man	2010-01-15 11:14:12.636873981 -0500
-@@ -186,7 +186,7 @@ where NSM state information resides.
- If this option is not specified,
- .B sm-notify
- uses
--.I /var/lib/nfs
-+.I /var/lib/nfs/statd
- by default.
- .IP
- After starting,
-@@ -287,13 +287,13 @@ Currently, the
- command supports sending notification only via datagram transport protocols.
- .SH FILES
- .TP 2.5i
--.I /var/lib/nfs/sm
-+.I /var/lib/nfs/statd/sm
- directory containing monitor list
- .TP 2.5i
--.I /var/lib/nfs/sm.bak
-+.I /var/lib/nfs/statd/sm.bak
- directory containing notify list
- .TP 2.5i
--.I /var/lib/nfs/state
-+.I /var/lib/nfs/statd/state
- NSM state number for this host
- .TP 2.5i
- .I /proc/sys/fs/nfs/nsm_local_state
-diff -up nfs-utils-1.2.1/utils/statd/statd.man.save nfs-utils-1.2.1/utils/statd/statd.man
---- nfs-utils-1.2.1/utils/statd/statd.man.save	2010-01-15 11:10:25.098906325 -0500
-+++ nfs-utils-1.2.1/utils/statd/statd.man	2010-01-15 11:11:03.874769717 -0500
-@@ -232,7 +232,7 @@ where NSM state information resides.
- If this option is not specified,
- .B rpc.statd
- uses
--.I /var/lib/nfs
-+.I /var/lib/nfs/statd
- by default.
- .IP
- After starting,
-@@ -368,13 +368,13 @@ As long as at least one network transpor
- will operate.
- .SH FILES
- .TP 2.5i
--.I /var/lib/nfs/sm
-+.I /var/lib/nfs/statd/sm
- directory containing monitor list
- .TP 2.5i
--.I /var/lib/nfs/sm.bak
-+.I /var/lib/nfs/statd/sm.bak
- directory containing notify list
- .TP 2.5i
--.I /var/lib/nfs/state
-+.I /var/lib/nfs/statd/state
- NSM state number for this host
- .TP 2.5i
- .I /var/run/run.statd.pid
diff --git a/nfs-utils/patches/nfs-utils-1.2.3-sm-notify-res_init.patch b/nfs-utils/patches/nfs-utils-1.2.3-sm-notify-res_init.patch
deleted file mode 100644
index 3ce55eb..0000000
--- a/nfs-utils/patches/nfs-utils-1.2.3-sm-notify-res_init.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up nfs-utils-1.2.3/utils/statd/sm-notify.c.orig nfs-utils-1.2.3/utils/statd/sm-notify.c
---- nfs-utils-1.2.3/utils/statd/sm-notify.c.orig	2010-09-28 08:24:16.000000000 -0400
-+++ nfs-utils-1.2.3/utils/statd/sm-notify.c	2010-10-15 16:44:43.487119601 -0400
-@@ -28,6 +28,9 @@
- #include <netdb.h>
- #include <errno.h>
- #include <grp.h>
-+#include <netinet/in.h>
-+#include <arpa/nameser.h>
-+#include <resolv.h>
- 
- #include "sockaddr.h"
- #include "xlog.h"
-@@ -84,6 +87,7 @@ smn_lookup(const char *name)
- 	};
- 	int error;
- 
-+	res_init();
- 	error = getaddrinfo(name, NULL, &hint, &ai);
- 	if (error != 0) {
- 		xlog(D_GENERAL, "getaddrinfo(3): %s", gai_strerror(error));
diff --git a/nfs-utils/patches/nfs-utils-1.2.5-idmap-errmsg.patch b/nfs-utils/patches/nfs-utils-1.2.5-idmap-errmsg.patch
deleted file mode 100644
index 8e00ed7..0000000
--- a/nfs-utils/patches/nfs-utils-1.2.5-idmap-errmsg.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up nfs-utils-1.2.5/utils/nfsidmap/nfsidmap.c.orig nfs-utils-1.2.5/utils/nfsidmap/nfsidmap.c
---- nfs-utils-1.2.5/utils/nfsidmap/nfsidmap.c.orig	2011-12-13 15:01:26.311660000 -0500
-+++ nfs-utils-1.2.5/utils/nfsidmap/nfsidmap.c	2011-12-13 15:32:48.167354000 -0500
-@@ -261,7 +261,7 @@ int main(int argc, char **argv)
- 
- 	xlog_stderr(0);
- 	if ((argc - optind) != 2) {
--		xlog_err("Bad arg count. Check /etc/request-key.conf");
-+		xlog_err("Bad arg count. Check /etc/request-key.d/id_resolver.conf");
- 		xlog_warn(usage, progname);
- 		return 1;
- 	}
diff --git a/nfs-utils/patches/nfs-utils.1.2.8.rc3.patch b/nfs-utils/patches/nfs-utils.1.2.8.rc3.patch
deleted file mode 100644
index 7c332cc..0000000
--- a/nfs-utils/patches/nfs-utils.1.2.8.rc3.patch
+++ /dev/null
@@ -1,592 +0,0 @@
-diff --git a/support/export/rmtab.c b/support/export/rmtab.c
-index 31c0f50..d16b3b3 100644
---- a/support/export/rmtab.c
-+++ b/support/export/rmtab.c
-@@ -1,7 +1,7 @@
- /*
-- * support/export/rmntab.c
-+ * support/export/rmtab.c
-  *
-- * Interface to the rmnt file.
-+ * Interface to the rmtab file.
-  *
-  */
- 
-@@ -12,7 +12,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <errno.h>
--#include "xmalloc.h"
-+
- #include "misc.h"
- #include "nfslib.h"
- #include "exportfs.h"
-diff --git a/support/export/xtab.c b/support/export/xtab.c
-index 2a43193..e953071 100644
---- a/support/export/xtab.c
-+++ b/support/export/xtab.c
-@@ -14,7 +14,7 @@
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
--#include "xmalloc.h"
-+
- #include "nfslib.h"
- #include "exportfs.h"
- #include "xio.h"
-diff --git a/support/nfs/cacheio.c b/support/nfs/cacheio.c
-index e641c45..61e07a8 100644
---- a/support/nfs/cacheio.c
-+++ b/support/nfs/cacheio.c
-@@ -162,11 +162,16 @@ int qword_eol(FILE *f)
- {
- 	int err;
- 
--	fprintf(f,"\n");
--	err = fflush(f);
--	if (err) {
--		xlog_warn("qword_eol: fflush failed: errno %d (%s)",
-+	err = fprintf(f,"\n");
-+	if (err < 0) {
-+		xlog_warn("qword_eol: fprintf failed: errno %d (%s)",
- 			    errno, strerror(errno));
-+	} else {
-+		err = fflush(f);
-+		if (err) {
-+			xlog_warn("qword_eol: fflush failed: errno %d (%s)",
-+				  errno, strerror(errno));
-+		}
- 	}
- 	/*
- 	 * We must send one line (and one line only) in a single write
-diff --git a/utils/gssd/gssd_proc.c b/utils/gssd/gssd_proc.c
-index ec251fa..d01ba2f 100644
---- a/utils/gssd/gssd_proc.c
-+++ b/utils/gssd/gssd_proc.c
-@@ -52,6 +52,7 @@
- #include <sys/socket.h>
- #include <arpa/inet.h>
- #include <sys/fsuid.h>
-+#include <sys/resource.h>
- 
- #include <stdio.h>
- #include <stdlib.h>
-@@ -250,21 +251,10 @@ read_service_info(char *info_file_name, char **servicename, char **servername,
- 	if ((p = strstr(buf, "port")) != NULL)
- 		sscanf(p, "port: %127s\n", port);
- 
--	/* check service, program, and version */
--	if (memcmp(service, "nfs", 3) != 0)
--		return -1;
-+	/* get program, and version numbers */
- 	*prog = atoi(program + 1); /* skip open paren */
- 	*vers = atoi(version);
- 
--	if (strlen(service) == 3 ) {
--		if ((*prog != 100003) || ((*vers != 2) && (*vers != 3) &&
--		    (*vers != 4)))
--			goto fail;
--	} else if (memcmp(service, "nfs4_cb", 7) == 0) {
--		if (*vers != 1)
--			goto fail;
--	}
--
- 	if (!addrstr_to_sockaddr(addr, address, port))
- 		goto fail;
- 
-@@ -398,10 +388,10 @@ process_clnt_dir_files(struct clnt_info * clp)
- static int
- get_poll_index(int *ind)
- {
--	int i;
-+	unsigned int i;
- 
- 	*ind = -1;
--	for (i=0; i<FD_ALLOC_BLOCK; i++) {
-+	for (i=0; i<pollsize; i++) {
- 		if (pollarray[i].events == 0) {
- 			*ind = i;
- 			break;
-@@ -483,9 +473,13 @@ fail_keep_client:
- void
- init_client_list(void)
- {
-+	struct rlimit rlim;
- 	TAILQ_INIT(&clnt_list);
- 	/* Eventually plan to grow/shrink poll array: */
- 	pollsize = FD_ALLOC_BLOCK;
-+	if (getrlimit(RLIMIT_NOFILE, &rlim) < 0 &&
-+	    rlim.rlim_cur != RLIM_INFINITY)
-+		pollsize = rlim.rlim_cur;
- 	pollarray = calloc(pollsize, sizeof(struct pollfd));
- }
- 
-@@ -567,9 +561,8 @@ process_pipedir(char *pipe_name)
- 
- 	update_old_clients(namelist, j, pipe_name);
- 	for (i=0; i < j; i++) {
--		if (i < FD_ALLOC_BLOCK
--				&& !strncmp(namelist[i]->d_name, "clnt", 4)
--				&& !find_client(namelist[i]->d_name, pipe_name))
-+		if (!strncmp(namelist[i]->d_name, "clnt", 4)
-+		    && !find_client(namelist[i]->d_name, pipe_name))
- 			process_clnt_dir(namelist[i]->d_name, pipe_name);
- 		free(namelist[i]);
- 	}
-@@ -962,12 +955,6 @@ process_krb5_upcall(struct clnt_info *clp, uid_t uid, int fd, char *tgtname,
- 
- 	printerr(1, "handling krb5 upcall (%s)\n", clp->dirname);
- 
--	if (tgtname) {
--		if (clp->servicename) {
--			free(clp->servicename);
--			clp->servicename = strdup(tgtname);
--		}
--	}
- 	token.length = 0;
- 	token.value = NULL;
- 	memset(&pd, 0, sizeof(struct authgss_private_data));
-@@ -1016,7 +1003,8 @@ process_krb5_upcall(struct clnt_info *clp, uid_t uid, int fd, char *tgtname,
- 			int success = 0;
- 			do {
- 				gssd_refresh_krb5_machine_credential(clp->servername,
--								     NULL, service);
-+								     NULL, service,
-+								     tgtname);
- 				/*
- 				 * Get a list of credential cache names and try each
- 				 * of them until one works or we've tried them all
-diff --git a/utils/gssd/krb5_util.c b/utils/gssd/krb5_util.c
-index 60ba594..aeb8f70 100644
---- a/utils/gssd/krb5_util.c
-+++ b/utils/gssd/krb5_util.c
-@@ -774,12 +774,16 @@ gssd_search_krb5_keytab(krb5_context context, krb5_keytab kt,
- }
- 
- /*
-- * Find a keytab entry to use for a given target hostname.
-+ * Find a keytab entry to use for a given target realm.
-  * Tries to find the most appropriate keytab to use given the
-  * name of the host we are trying to connect with.
-+ *
-+ * Note: the tgtname contains a hostname in the realm that we
-+ * are authenticating to. It may, or may not be the same as
-+ * the server hostname.
-  */
- static int
--find_keytab_entry(krb5_context context, krb5_keytab kt, const char *hostname,
-+find_keytab_entry(krb5_context context, krb5_keytab kt, const char *tgtname,
- 		  krb5_keytab_entry *kte, const char **svcnames)
- {
- 	krb5_error_code code;
-@@ -795,7 +799,7 @@ find_keytab_entry(krb5_context context, krb5_keytab kt, const char *hostname,
- 
- 
- 	/* Get full target hostname */
--	retval = get_full_hostname(hostname, targethostname,
-+	retval = get_full_hostname(tgtname, targethostname,
- 				   sizeof(targethostname));
- 	if (retval)
- 		goto out;
-@@ -1128,7 +1132,7 @@ gssd_get_krb5_machine_cred_list(char ***list)
- 		if (ple->ccname) {
- 			/* Make sure cred is up-to-date before returning it */
- 			retval = gssd_refresh_krb5_machine_credential(NULL, ple,
--				NULL);
-+				NULL, NULL);
- 			if (retval)
- 				continue;
- 			if (i + 1 > listsize) {
-@@ -1219,7 +1223,8 @@ gssd_destroy_krb5_machine_creds(void)
- int
- gssd_refresh_krb5_machine_credential(char *hostname,
- 				     struct gssd_k5_kt_princ *ple, 
--					 char *service)
-+					 char *service,
-+					 char *tgtname)
- {
- 	krb5_error_code code = 0;
- 	krb5_context context;
-@@ -1258,7 +1263,10 @@ gssd_refresh_krb5_machine_credential(char *hostname,
- 	if (ple == NULL) {
- 		krb5_keytab_entry kte;
- 
--		code = find_keytab_entry(context, kt, hostname, &kte, svcnames);
-+		if (tgtname == NULL)
-+			tgtname = hostname;
-+
-+		code = find_keytab_entry(context, kt, tgtname, &kte, svcnames);
- 		if (code) {
- 			printerr(0, "ERROR: %s: no usable keytab entry found "
- 				 "in keytab %s for connection with host %s\n",
-diff --git a/utils/gssd/krb5_util.h b/utils/gssd/krb5_util.h
-index cd6e107..9f41625 100644
---- a/utils/gssd/krb5_util.h
-+++ b/utils/gssd/krb5_util.h
-@@ -31,7 +31,8 @@ void gssd_setup_krb5_machine_gss_ccache(char *servername);
- void gssd_destroy_krb5_machine_creds(void);
- int  gssd_refresh_krb5_machine_credential(char *hostname,
- 					  struct gssd_k5_kt_princ *ple, 
--					  char *service);
-+					  char *service,
-+					  char *tgtname);
- char *gssd_k5_err_msg(krb5_context context, krb5_error_code code);
- void gssd_k5_get_default_realm(char **def_realm);
- 
-diff --git a/utils/gssd/svcgssd_krb5.c b/utils/gssd/svcgssd_krb5.c
-index 6c34faf..1d44d34 100644
---- a/utils/gssd/svcgssd_krb5.c
-+++ b/utils/gssd/svcgssd_krb5.c
-@@ -38,6 +38,7 @@
- 
- #include <stdio.h>
- #include <errno.h>
-+#include <ctype.h>
- #include <gssapi/gssapi.h>
- #include <krb5.h>
- 
-@@ -98,6 +99,12 @@ parse_enctypes(char *enctypes)
- 	if (n == 0)
- 		return ENOENT;
- 
-+	/* Skip pass any non digits */
-+	while (*enctypes && isdigit(*enctypes) == 0)
-+		enctypes++;
-+	if (*enctypes == '\0')
-+		return EINVAL;
-+
- 	/* Allocate space for enctypes array */
- 	if ((parsed_enctypes = (int *) calloc(n, sizeof(int))) == NULL) {
- 		return ENOMEM;
-diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
-index e80efb4..beba9c4 100644
---- a/utils/idmapd/idmapd.c
-+++ b/utils/idmapd/idmapd.c
-@@ -145,7 +145,6 @@ static void svrreopen(int, short, void *);
- static int  nfsopen(struct idmap_client *);
- static void nfscb(int, short, void *);
- static void nfsdcb(int, short, void *);
--static int  validateascii(char *, u_int32_t);
- static int  addfield(char **, ssize_t *, char *);
- static int  getfield(char **, char *, size_t);
- 
-@@ -425,7 +424,8 @@ dirscancb(int UNUSED(fd), short UNUSED(which), void *data)
- 			    pipefsdir, ents[i]->d_name);
- 
- 			if ((ic->ic_dirfd = open(path, O_RDONLY, 0)) == -1) {
--				xlog_warn("dirscancb: open(%s): %s", path, strerror(errno));
-+				if (verbose > 0)
-+					xlog_warn("dirscancb: open(%s): %s", path, strerror(errno));
- 				free(ic);
- 				goto out;
- 			}
-@@ -642,6 +642,8 @@ out:
- static void
- imconv(struct idmap_client *ic, struct idmap_msg *im)
- {
-+	u_int32_t len;
-+
- 	switch (im->im_conv) {
- 	case IDMAP_CONV_IDTONAME:
- 		idtonameres(im);
-@@ -652,10 +654,10 @@ imconv(struct idmap_client *ic, struct idmap_msg *im)
- 			    im->im_id, im->im_name);
- 		break;
- 	case IDMAP_CONV_NAMETOID:
--		if (validateascii(im->im_name, sizeof(im->im_name)) == -1) {
--			im->im_status |= IDMAP_STATUS_INVALIDMSG;
-+		len = strnlen(im->im_name, IDMAP_NAMESZ - 1);
-+		/* Check for NULL termination just to be careful */
-+		if (im->im_name[len+1] != '\0')
- 			return;
--		}
- 		nametoidres(im);
- 		if (verbose > 1)
- 			xlog_warn("%s %s: (%s) name \"%s\" -> id \"%d\"",
-@@ -855,25 +857,6 @@ nametoidres(struct idmap_msg *im)
- }
- 
- static int
--validateascii(char *string, u_int32_t len)
--{
--	u_int32_t i;
--
--	for (i = 0; i < len; i++) {
--		if (string[i] == '\0')
--			break;
--
--		if (string[i] & 0x80)
--			return (-1);
--	}
--
--	if ((i >= len) || string[i] != '\0')
--		return (-1);
--
--	return (i + 1);
--}
--
--static int
- addfield(char **bpp, ssize_t *bsizp, char *fld)
- {
- 	char ch, *bp = *bpp;
-diff --git a/utils/mount/error.c b/utils/mount/error.c
-index 83ad1d2..f8fc13f 100644
---- a/utils/mount/error.c
-+++ b/utils/mount/error.c
-@@ -225,7 +225,7 @@ void mount_error(const char *spec, const char *mount_point, int error)
- 	case ENOENT:
- 		if (spec)
- 			nfs_error(_("%s: mounting %s failed, "
--				"reason given by server:\n  %s"),
-+				"reason given by server: %s"),
- 				progname, spec, strerror(error));
- 		else
- 			nfs_error(_("%s: mount point %s does not exist"),
-diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
-index 9b4197b..8ee3024 100644
---- a/utils/mount/stropts.c
-+++ b/utils/mount/stropts.c
-@@ -666,6 +666,7 @@ static int nfs_try_mount_v3v2(struct nfsmount_info *mi)
- 		case EOPNOTSUPP:
- 		case EHOSTUNREACH:
- 		case ETIMEDOUT:
-+		case EACCES:
- 			continue;
- 		default:
- 			goto out;
-@@ -761,6 +762,7 @@ static int nfs_try_mount_v4(struct nfsmount_info *mi)
- 		case ECONNREFUSED:
- 		case EHOSTUNREACH:
- 		case ETIMEDOUT:
-+		case EACCES:
- 			continue;
- 		default:
- 			goto out;
-diff --git a/utils/mountd/auth.c b/utils/mountd/auth.c
-index 508040a..330cab5 100644
---- a/utils/mountd/auth.c
-+++ b/utils/mountd/auth.c
-@@ -10,10 +10,12 @@
- #include <config.h>
- #endif
- 
-+#include <sys/types.h>
- #include <sys/stat.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <errno.h>
-+#include <fcntl.h>
- #include <unistd.h>
- 
- #include "sockaddr.h"
-@@ -21,7 +23,6 @@
- #include "nfslib.h"
- #include "exportfs.h"
- #include "mountd.h"
--#include "xmalloc.h"
- #include "v4root.h"
- 
- enum auth_error
-diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
-index e950ec6..45012be 100644
---- a/utils/mountd/cache.c
-+++ b/utils/mountd/cache.c
-@@ -29,7 +29,6 @@
- #include "nfslib.h"
- #include "exportfs.h"
- #include "mountd.h"
--#include "xmalloc.h"
- #include "fsloc.h"
- #include "pseudoflavors.h"
- 
-@@ -109,12 +108,10 @@ static void auth_unix_ip(FILE *f)
- 		struct addrinfo *ai = NULL;
- 
- 		ai = client_resolve(tmp->ai_addr);
--		if (ai == NULL)
--			goto out;
--		client = client_compose(ai);
--		freeaddrinfo(ai);
--		if (!client)
--			goto out;
-+		if (ai) {
-+			client = client_compose(ai);
-+			freeaddrinfo(ai);
-+		}
- 	}
- 	qword_print(f, "nfsd");
- 	qword_print(f, ipaddr);
-@@ -127,7 +124,6 @@ static void auth_unix_ip(FILE *f)
- 	xlog(D_CALL, "auth_unix_ip: client %p '%s'", client, client?client: "DEFAULT");
- 
- 	free(client);
--out:
- 	freeaddrinfo(tmp);
- 
- }
-@@ -347,6 +343,30 @@ static char *next_mnt(void **v, char *p)
- 	return me->mnt_dir;
- }
- 
-+static int is_subdirectory(char *child, char *parent)
-+{
-+	size_t l = strlen(parent);
-+
-+	if (strcmp(parent, "/") == 0)
-+		return 1;
-+
-+	return strcmp(child, parent) == 0
-+		|| (strncmp(child, parent, l) == 0 && child[l] == '/');
-+}
-+
-+static int path_matches(nfs_export *exp, char *path)
-+{
-+	if (exp->m_export.e_flags & NFSEXP_CROSSMOUNT)
-+		return is_subdirectory(path, exp->m_export.e_path);
-+	return strcmp(path, exp->m_export.e_path) == 0;
-+}
-+
-+static int
-+export_matches(nfs_export *exp, char *dom, char *path, struct addrinfo *ai)
-+{
-+	return path_matches(exp, path) && client_matches(exp, dom, ai);
-+}
-+
- /* True iff e1 is a child of e2 and e2 has crossmnt set: */
- static bool subexport(struct exportent *e1, struct exportent *e2)
- {
-@@ -354,8 +374,7 @@ static bool subexport(struct exportent *e1, struct exportent *e2)
- 	size_t l2 = strlen(p2);
- 
- 	return e2->e_flags & NFSEXP_CROSSMOUNT
--	       && strncmp(p1, p2, l2) == 0
--	       && p1[l2] == '/';
-+		&& is_subdirectory(p1, p2);
- }
- 
- struct parsed_fsid {
-@@ -756,27 +775,6 @@ static int dump_to_cache(FILE *f, char *domain, char *path, struct exportent *ex
- 	return qword_eol(f);
- }
- 
--static int is_subdirectory(char *child, char *parent)
--{
--	size_t l = strlen(parent);
--
--	return strcmp(child, parent) == 0
--		|| (strncmp(child, parent, l) == 0 && child[l] == '/');
--}
--
--static int path_matches(nfs_export *exp, char *path)
--{
--	if (exp->m_export.e_flags & NFSEXP_CROSSMOUNT)
--		return is_subdirectory(path, exp->m_export.e_path);
--	return strcmp(path, exp->m_export.e_path) == 0;
--}
--
--static int
--export_matches(nfs_export *exp, char *dom, char *path, struct addrinfo *ai)
--{
--	return path_matches(exp, path) && client_matches(exp, dom, ai);
--}
--
- static nfs_export *
- lookup_export(char *dom, char *path, struct addrinfo *ai)
- {
-@@ -830,6 +828,7 @@ lookup_export(char *dom, char *path, struct addrinfo *ai)
- 
- #ifdef HAVE_NFS_PLUGIN_H
- #include <dlfcn.h>
-+#include <link.h>
- #include <nfs-plugin.h>
- 
- /*
-@@ -1094,6 +1093,7 @@ static struct exportent *lookup_junction(char *dom, const char *pathname,
- 		struct addrinfo *ai)
- {
- 	struct exportent *exp;
-+	struct link_map *map;
- 	void *handle;
- 
- 	handle = dlopen("libnfsjunct.so", RTLD_NOW);
-@@ -1101,6 +1101,11 @@ static struct exportent *lookup_junction(char *dom, const char *pathname,
- 		xlog(D_GENERAL, "%s: dlopen: %s", __func__, dlerror());
- 		return NULL;
- 	}
-+
-+	if (dlinfo(handle, RTLD_DI_LINKMAP, &map) == 0)
-+		xlog(D_GENERAL, "%s: loaded plug-in %s",
-+			__func__, map->l_name);
-+
- 	(void)dlerror();	/* Clear any error */
- 
- 	exp = invoke_junction_ops(handle, dom, pathname, ai);
-diff --git a/utils/nfsdcltrack/nfsdcltrack.c b/utils/nfsdcltrack/nfsdcltrack.c
-index 9801b9c..4334340 100644
---- a/utils/nfsdcltrack/nfsdcltrack.c
-+++ b/utils/nfsdcltrack/nfsdcltrack.c
-@@ -379,6 +379,17 @@ cltrack_legacy_gracedone(void)
- 	while ((entry = readdir(v4recovery))) {
- 		int len;
- 
-+		/* skip "." and ".." */
-+		if (entry->d_name[0] == '.') {
-+			switch (entry->d_name[1]) {
-+			case '\0':
-+				continue;
-+			case '.':
-+				if (entry->d_name[2] == '\0')
-+					continue;
-+			}
-+		}
-+
- 		/* borrow the clientid blob for this */
- 		len = snprintf((char *)blob, sizeof(blob), "%s/%s", dirname,
- 				entry->d_name);
-diff --git a/utils/statd/rmtcall.c b/utils/statd/rmtcall.c
-index 4ecb03c..fd576d9 100644
---- a/utils/statd/rmtcall.c
-+++ b/utils/statd/rmtcall.c
-@@ -68,21 +68,19 @@ statd_get_socket(void)
- {
- 	struct sockaddr_in	sin;
- 	struct servent *se;
--	int loopcnt = 100;
-+	const int loopcnt = 100;
-+	int i, tmp_sockets[loopcnt];
- 
- 	if (sockfd >= 0)
- 		return sockfd;
- 
--	while (loopcnt-- > 0) {
--
--		if (sockfd >= 0) close(sockfd);
-+	for (i = 0; i < loopcnt; ++i) {
- 
- 		if ((sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
- 			xlog(L_ERROR, "%s: Can't create socket: %m", __func__);
--			return -1;
-+			break;
- 		}
- 
--
- 		memset(&sin, 0, sizeof(sin));
- 		sin.sin_family = AF_INET;
- 		sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
-@@ -96,7 +94,16 @@ statd_get_socket(void)
- 		if (se == NULL)
- 			break;
- 		/* rather not use that port, try again */
-+
-+		tmp_sockets[i] = sockfd;
- 	}
-+
-+	while (--i >= 0)
-+		close(tmp_sockets[i]);
-+
-+	if (sockfd < 0)
-+		return -1;
-+
- 	FD_SET(sockfd, &SVC_FDSET);
- 	return sockfd;
- }


hooks/post-receive
--
IPFire 3.x development tree

                 reply	other threads:[~2016-06-02 12:26 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160602122637.41EC31078E81@git01.ipfire.org \
    --to=git@ipfire.org \
    --cc=ipfire-scm@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox