Browse Source

fix nfsv4 with musl

Waldemar Brodkorb 10 years ago
parent
commit
a4b30459ce

+ 62 - 0
package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_auth_gss_h

@@ -0,0 +1,62 @@
+--- librpcsecgss-0.19.orig/include/rpcsecgss/rpc/auth_gss.h	2009-05-13 23:33:08.000000000 +0200
++++ librpcsecgss-0.19/include/rpcsecgss/rpc/auth_gss.h	2014-05-19 15:34:51.506269269 +0200
+@@ -95,34 +95,38 @@ struct rpc_gss_init_res {
+ #define MAXSEQ		0x80000000
+ 
+ /* Prototypes. */
+-__BEGIN_DECLS
+-bool_t	xdr_rpc_gss_cred	__P((XDR *xdrs, struct rpc_gss_cred *p));
+-bool_t	xdr_rpc_gss_init_args	__P((XDR *xdrs, gss_buffer_desc *p));
+-bool_t	xdr_rpc_gss_init_res	__P((XDR *xdrs, struct rpc_gss_init_res *p));
+-bool_t	xdr_rpc_gss_data	__P((XDR *xdrs, xdrproc_t xdr_func,
++#ifdef __cplusplus
++extern "C" {
++#endif
++bool_t	xdr_rpc_gss_cred	(XDR *xdrs, struct rpc_gss_cred *p);
++bool_t	xdr_rpc_gss_init_args	(XDR *xdrs, gss_buffer_desc *p);
++bool_t	xdr_rpc_gss_init_res	(XDR *xdrs, struct rpc_gss_init_res *p);
++bool_t	xdr_rpc_gss_data	(XDR *xdrs, xdrproc_t xdr_func,
+ 				     caddr_t xdr_ptr, gss_ctx_id_t ctx,
+ 				     gss_qop_t qop, rpc_gss_svc_t svc,
+-				     u_int seq));
++				     u_int seq);
+ 
+-AUTH   *authgss_create		__P((CLIENT *, gss_name_t,
+-				     struct rpc_gss_sec *));
+-AUTH   *authgss_create_default	__P((CLIENT *, char *, struct rpc_gss_sec *));
+-bool_t authgss_service		__P((AUTH *auth, int svc));
+-bool_t authgss_get_private_data	__P((AUTH *auth,
+-				     struct authgss_private_data *));
+-bool_t authgss_free_private_data __P((struct authgss_private_data *pd));
++AUTH   *authgss_create		(CLIENT *, gss_name_t,
++				     struct rpc_gss_sec *);
++AUTH   *authgss_create_default	(CLIENT *, char *, struct rpc_gss_sec *);
++bool_t authgss_service		(AUTH *auth, int svc);
++bool_t authgss_get_private_data	(AUTH *auth,
++				     struct authgss_private_data *);
++bool_t authgss_free_private_data (struct authgss_private_data *pd);
+ 
+ 
+ 
+-int     authgss_set_debug_level __P((int new_level));
+-void	authgss_log_err		__P((char *format, ...));
+-void	authgss_log_dbg		__P((char *format, ...));
+-void	authgss_log_status	__P((char *m, OM_uint32 maj_stat,
+-				     OM_uint32 min_stat));
+-void	authgss_perror		__P((int err, char *msg));
+-void	authgss_log_hexdump	__P((const u_char *buf, int len, int offset));
++int     authgss_set_debug_level (int new_level);
++void	authgss_log_err		(char *format, ...);
++void	authgss_log_dbg		(char *format, ...);
++void	authgss_log_status	(char *m, OM_uint32 maj_stat,
++				     OM_uint32 min_stat);
++void	authgss_perror		(int err, char *msg);
++void	authgss_log_hexdump	(const u_char *buf, int len, int offset);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /* Debugging */
+ extern int authgss_debug_level;

+ 90 - 0
package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_auth_h

@@ -0,0 +1,90 @@
+--- librpcsecgss-0.19.orig/include/rpcsecgss/rpc/auth.h	2009-07-29 18:24:50.000000000 +0200
++++ librpcsecgss-0.19/include/rpcsecgss/rpc/auth.h	2014-05-19 15:33:04.338267038 +0200
+@@ -44,7 +44,6 @@
+ 
+ #ifndef _RPC_AUTH_H
+ #define _RPC_AUTH_H
+-#include <sys/cdefs.h>
+ 
+ #define MAX_AUTH_BYTES	400
+ #define MAXNETNAMELEN	255	/* maximum length of network user's name */
+@@ -84,9 +83,13 @@ union des_block {
+ 	char c[8];
+ };
+ typedef union des_block des_block;
+-__BEGIN_DECLS
+-extern bool_t xdr_des_block __P((XDR *, des_block *));
+-__END_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern bool_t xdr_des_block (XDR *, des_block *);
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Authentication info.  Opaque to client.
+@@ -106,24 +109,24 @@ typedef struct __rpc_auth {
+ 	struct	opaque_auth	ah_verf;
+ 	union	des_block	ah_key;
+ 	struct auth_ops {
+-		void	(*ah_nextverf) __P((struct __rpc_auth *));
++		void	(*ah_nextverf) (struct __rpc_auth *);
+ 		/* nextverf & serialize */
+-		int	(*ah_marshal) __P((struct __rpc_auth *, XDR *));
++		int	(*ah_marshal) (struct __rpc_auth *, XDR *);
+ 		/* validate verifier */
+-		int	(*ah_validate) __P((struct __rpc_auth *,
+-			    struct opaque_auth *));
++		int	(*ah_validate) (struct __rpc_auth *,
++			    struct opaque_auth *);
+ 		/* refresh credentials */
+-		int	(*ah_refresh) __P((struct __rpc_auth *));
++		int	(*ah_refresh) (struct __rpc_auth *);
+ 		/* destroy this structure */
+-		void	(*ah_destroy) __P((struct __rpc_auth *));
++		void	(*ah_destroy) (struct __rpc_auth *);
+ 		/* prepare to refresh credentials by destroying gss context */
+-		void	(*ah_prep_refresh) __P((struct __rpc_auth *));
++		void	(*ah_prep_refresh) (struct __rpc_auth *);
+ 		/* returns number of retries remaining for this rpc session */
+-		int	(*ah_get_retries) __P((struct __rpc_auth *));
++		int	(*ah_get_retries) (struct __rpc_auth *);
+ 		/* encode data for wire */
+-		int	(*ah_wrap) __P((struct __rpc_auth *, XDR *, xdrproc_t, caddr_t));
++		int	(*ah_wrap) (struct __rpc_auth *, XDR *, xdrproc_t, caddr_t);
+ 		/* decode data for wire */
+-		int	(*ah_unwrap) __P((struct __rpc_auth *, XDR *, xdrproc_t, caddr_t));
++		int	(*ah_unwrap) (struct __rpc_auth *, XDR *, xdrproc_t, caddr_t);
+ 
+ 	} *ah_ops;
+ 	caddr_t ah_private;
+@@ -210,15 +213,19 @@ int authany_unwrap(struct __rpc_auth *,
+  *	int len;
+  *	int *aup_gids;
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ struct sockaddr_in;
+-extern AUTH *authunix_create		__P((char *, int, int, int, int *));
+-extern AUTH *authunix_create_default	__P((void));
+-extern AUTH *authnone_create		__P((void));
+-extern AUTH *authdes_create		__P((char *, u_int,
+-					    struct sockaddr_in *, des_block *));
+-extern bool_t xdr_opaque_auth		__P((XDR *, struct opaque_auth *));
+-__END_DECLS
++extern AUTH *authunix_create		(char *, int, int, int, int *);
++extern AUTH *authunix_create_default	(void);
++extern AUTH *authnone_create		(void);
++extern AUTH *authdes_create		(char *, u_int,
++					    struct sockaddr_in *, des_block *);
++extern bool_t xdr_opaque_auth		(XDR *, struct opaque_auth *);
++#ifdef __cplusplus
++}
++#endif
+ 
+ #define AUTH_NONE	0		/* no authentication */
+ #define	AUTH_NULL	0		/* backward compatibility */

+ 23 - 5
package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_rpc_h

@@ -1,16 +1,34 @@
 --- librpcsecgss-0.19.orig/include/rpcsecgss/rpc/rpc.h	2009-07-29 18:24:50.000000000 +0200
-+++ librpcsecgss-0.19/include/rpcsecgss/rpc/rpc.h	2013-11-11 21:11:41.000000000 +0100
-@@ -71,13 +71,6 @@
- 
- __BEGIN_DECLS
++++ librpcsecgss-0.19/include/rpcsecgss/rpc/rpc.h	2014-05-19 15:45:28.866420803 +0200
+@@ -67,17 +67,12 @@
+  * defined by <rpc/netdb.h> included in <netdb.h>.
+  */
+ /* routines for parsing /etc/rpc */
+-#include <rpc/netdb.h>		/* structures and routines to parse /etc/rpc */
+-
+-__BEGIN_DECLS
++//#include <rpc/netdb.h>		/* structures and routines to parse /etc/rpc */
  
 -/* Global variables, protected for multi-threaded applications.  */
 -extern fd_set *__rpc_thread_svc_fdset (void) __attribute__ ((__const__));
 -#define svc_fdset (*__rpc_thread_svc_fdset ())
--
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
 -extern struct rpc_createerr *__rpc_thread_createerr (void)
 -     __attribute__ ((__const__));
 -#define get_rpc_createerr() (*__rpc_thread_createerr ())
  /* The people who "engineered" RPC should bee punished for naming the
     data structure and the variable the same.  We cannot always define the
     macro 'rpc_createerr' because this would prevent people from defining
+@@ -94,6 +89,8 @@ extern struct pollfd **__rpc_thread_svc_
+ extern int *__rpc_thread_svc_max_pollfd (void) __attribute__ ((__const__));
+ #define svc_max_pollfd (*__rpc_thread_svc_max_pollfd ())
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* rpc/rpc.h */

+ 28 - 0
package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_svc_auth_h

@@ -0,0 +1,28 @@
+--- librpcsecgss-0.19.orig/include/rpcsecgss/rpc/svc_auth.h	2009-07-29 18:24:50.000000000 +0200
++++ librpcsecgss-0.19/include/rpcsecgss/rpc/svc_auth.h	2014-05-19 15:34:43.714268869 +0200
+@@ -71,7 +71,7 @@ typedef struct svc_authentication_data {
+ /*
+  * Approved way of getting principal of caller
+  */
+-char *svcauth_gss_get_principal	__P((SVCAUTH *auth));
++char *svcauth_gss_get_principal	(SVCAUTH *auth);
+ 
+ /*
+  * Approved way of setting server principal
+@@ -83,10 +83,14 @@ svcauth_gss_set_svc_name(char *principal
+ /*
+  * Server side authenticator
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern enum auth_stat _authenticate(struct svc_req *__rqst,
+ 				    struct rpc_msg *__msg,
+ 				    bool_t *no_dispatch);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_RPC_SVCAUTH_H */

+ 228 - 0
package/librpcsecgss/patches/patch-include_rpcsecgss_rpc_svc_h

@@ -0,0 +1,228 @@
+--- librpcsecgss-0.19.orig/include/rpcsecgss/rpc/svc.h	2009-07-29 18:24:50.000000000 +0200
++++ librpcsecgss-0.19/include/rpcsecgss/rpc/svc.h	2014-05-19 15:39:27.314306687 +0200
+@@ -40,7 +40,6 @@
+ 
+ #ifndef _RPC_SVC_H
+ #define _RPC_SVC_H
+-#include <sys/cdefs.h>
+ #include <rpc/svc_auth.h>
+ 
+ /*
+@@ -79,21 +78,21 @@ typedef struct __rpc_svcxprt {
+ 	u_short		xp_port;	 /* associated port number */
+ 	struct xp_ops {
+ 		/* receive incomming requests */
+-		bool_t	(*xp_recv) __P((struct __rpc_svcxprt *,
+-			    struct rpc_msg *));
++		bool_t	(*xp_recv) (struct __rpc_svcxprt *,
++			    struct rpc_msg *);
+ 		/* get transport status */
+-		enum xprt_stat (*xp_stat) __P((struct __rpc_svcxprt *));
++		enum xprt_stat (*xp_stat) (struct __rpc_svcxprt *);
+ 		/* get arguments */
+-		bool_t	(*xp_getargs) __P((struct __rpc_svcxprt *, xdrproc_t,
+-			    caddr_t));
++		bool_t	(*xp_getargs) (struct __rpc_svcxprt *, xdrproc_t,
++			    caddr_t);
+ 		/* send reply */
+-		bool_t	(*xp_reply) __P((struct __rpc_svcxprt *,
+-			    struct rpc_msg *));
++		bool_t	(*xp_reply) (struct __rpc_svcxprt *,
++			    struct rpc_msg *);
+ 		/* free mem allocated for args */
+-		bool_t	(*xp_freeargs) __P((struct __rpc_svcxprt *, xdrproc_t,
+-			    caddr_t));
++		bool_t	(*xp_freeargs) (struct __rpc_svcxprt *, xdrproc_t,
++			    caddr_t);
+ 		/* destroy this struct */
+-		void	(*xp_destroy) __P((struct __rpc_svcxprt *));
++		void	(*xp_destroy) (struct __rpc_svcxprt *);
+ 	} *xp_ops;
+ 	int		xp_addrlen;	 /* length of remote address */
+ 	struct sockaddr_in xp_raddr;	 /* remote address */
+@@ -179,10 +178,14 @@ struct svc_req {
+  *	void (*dispatch)();
+  *	int protocol;    like TCP or UDP, zero means do not register
+  */
+-__BEGIN_DECLS
+-extern bool_t	svc_register __P((SVCXPRT *, u_long, u_long,
+-		    void (*) __P((struct svc_req *, SVCXPRT *)), int));
+-__END_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern bool_t	svc_register (SVCXPRT *, u_long, u_long,
++		    void (*) (struct svc_req *, SVCXPRT *), int);
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Service un-registration
+@@ -191,9 +194,13 @@ __END_DECLS
+  *	u_long prog;
+  *	u_long vers;
+  */
+-__BEGIN_DECLS
+-extern void	svc_unregister __P((u_long, u_long));
+-__END_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern void	svc_unregister (u_long, u_long);
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Transport registration.
+@@ -201,9 +208,13 @@ __END_DECLS
+  * xprt_register(xprt)
+  *	SVCXPRT *xprt;
+  */
+-__BEGIN_DECLS
+-extern void	xprt_register	__P((SVCXPRT *));
+-__END_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern void	xprt_register	(SVCXPRT *);
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Transport un-register
+@@ -211,9 +222,13 @@ __END_DECLS
+  * xprt_unregister(xprt)
+  *	SVCXPRT *xprt;
+  */
+-__BEGIN_DECLS
+-extern void	xprt_unregister	__P((SVCXPRT *));
+-__END_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern void	xprt_unregister	(SVCXPRT *);
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ 
+@@ -244,16 +259,20 @@ __END_DECLS
+  * deadlock the caller and server processes!
+  */
+ 
+-__BEGIN_DECLS
+-extern bool_t	svc_sendreply	__P((SVCXPRT *, xdrproc_t, char *));
+-extern void	svcerr_decode	__P((SVCXPRT *));
+-extern void	svcerr_weakauth	__P((SVCXPRT *));
+-extern void	svcerr_noproc	__P((SVCXPRT *));
+-extern void	svcerr_progvers	__P((SVCXPRT *, u_long, u_long));
+-extern void	svcerr_auth	__P((SVCXPRT *, enum auth_stat));
+-extern void	svcerr_noprog	__P((SVCXPRT *));
+-extern void	svcerr_systemerr __P((SVCXPRT *));
+-__END_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern bool_t	svc_sendreply	(SVCXPRT *, xdrproc_t, char *);
++extern void	svcerr_decode	(SVCXPRT *);
++extern void	svcerr_weakauth	(SVCXPRT *);
++extern void	svcerr_noproc	(SVCXPRT *);
++extern void	svcerr_progvers	(SVCXPRT *, u_long, u_long);
++extern void	svcerr_auth	(SVCXPRT *, enum auth_stat);
++extern void	svcerr_noprog	(SVCXPRT *);
++extern void	svcerr_systemerr (SVCXPRT *);
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Lowest level dispatching -OR- who owns this process anyway.
+@@ -278,12 +297,16 @@ extern fd_set svc_fdset;
+ extern int svc_fds;
+ #endif /* def FD_SETSIZE */
+ 
+-__BEGIN_DECLS
+-extern void	svc_getreq	__P((int));
+-extern void	svc_getreqset	__P((fd_set *));
+-extern void	svc_getreqset2	__P((fd_set *, int));
+-extern void	svc_run		__P((void));
+-__END_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern void	svc_getreq	(int);
++extern void	svc_getreqset	(fd_set *);
++extern void	svc_getreqset2	(fd_set *, int);
++extern void	svc_run		(void);
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Socket to use on svcxxx_create call to get default socket
+@@ -297,32 +320,48 @@ __END_DECLS
+ /*
+  * Memory based rpc for testing and timing.
+  */
+-__BEGIN_DECLS
+-extern SVCXPRT *svcraw_create __P((void));
+-__END_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern SVCXPRT *svcraw_create (void);
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ /*
+  * Udp based rpc.
+  */
+-__BEGIN_DECLS
+-extern SVCXPRT *svcudp_create __P((int));
+-extern SVCXPRT *svcudp_bufcreate __P((int, u_int, u_int));
+-__END_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern SVCXPRT *svcudp_create (int);
++extern SVCXPRT *svcudp_bufcreate (int, u_int, u_int);
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ /*
+  * Tcp based rpc.
+  */
+-__BEGIN_DECLS
+-extern SVCXPRT *svctcp_create __P((int, u_int, u_int));
+-__END_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern SVCXPRT *svctcp_create (int, u_int, u_int);
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Fd based rpc.
+  */
+-__BEGIN_DECLS
+-extern SVCXPRT *svcfd_create __P((int, u_int, u_int));
+-__END_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern SVCXPRT *svcfd_create (int, u_int, u_int);
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_RPC_SVC_H */

+ 11 - 0
package/librpcsecgss/patches/patch-src_svc_c

@@ -0,0 +1,11 @@
+--- librpcsecgss-0.19.orig/src/svc.c	2009-07-29 18:24:50.000000000 +0200
++++ librpcsecgss-0.19/src/svc.c	2014-05-19 15:40:07.794315889 +0200
+@@ -409,7 +409,7 @@ svc_getreq(rdfds)
+ 	svc_getreqset(&readfds);
+ }
+ 
+-void	svc_getreqset2 __P((fd_set *, int));
++void	svc_getreqset2 (fd_set *, int);
+ 
+ void
+ svc_getreqset(readfds)

+ 11 - 0
package/librpcsecgss/patches/patch-src_svc_run_c

@@ -0,0 +1,11 @@
+--- librpcsecgss-0.19.orig/src/svc_run.c	2009-07-29 18:24:50.000000000 +0200
++++ librpcsecgss-0.19/src/svc_run.c	2014-05-19 15:40:24.146319867 +0200
+@@ -45,7 +45,7 @@ static char *rcsid = "$OpenBSD: svc_run.
+ extern int __svc_fdsetsize;
+ extern fd_set *__svc_fdset;
+ 
+-void svc_getreqset2 __P((fd_set *, int));
++void svc_getreqset2 (fd_set *, int);
+ 
+ void
+ svc_run()

+ 13 - 0
package/librpcsecgss/patches/patch-src_svc_udp_c

@@ -0,0 +1,13 @@
+--- librpcsecgss-0.19.orig/src/svc_udp.c	2009-07-29 18:24:50.000000000 +0200
++++ librpcsecgss-0.19/src/svc_udp.c	2014-05-19 15:39:54.706312812 +0200
+@@ -58,8 +58,8 @@ static enum xprt_stat	svcudp_stat();
+ static bool_t		svcudp_getargs();
+ static bool_t		svcudp_freeargs();
+ static void		svcudp_destroy();
+-static void		cache_set __P((SVCXPRT *, u_long));
+-static int		cache_get __P((SVCXPRT *, struct rpc_msg *, char **, u_long *));
++static void		cache_set (SVCXPRT *, u_long);
++static int		cache_get (SVCXPRT *, struct rpc_msg *, char **, u_long *);
+ 
+ static struct xp_ops svcudp_op = {
+ 	svcudp_recv,

+ 1 - 1
package/nfs-utils/Makefile

@@ -42,7 +42,7 @@ CONFIGURE_ARGS+=	--enable-nfsv4 \
 			--disable-nfsv41 \
 			--with-krb5=${STAGING_TARGET_DIR}/usr \
 			--enable-gss
-CONFIGURE_ENV+=		LIBS="-lrpcsecgss"
+#CONFIGURE_ENV+=		LIBS="-lrpcsecgss"
 else
 CONFIGURE_ARGS+=	--disable-nfsv4 \
 			--disable-nfsv41 \

+ 1 - 1
package/nfs-utils/patches/patch-tools_rpcgen_Makefile_am

@@ -1,5 +1,5 @@
 --- nfs-utils-1.3.0.orig/tools/rpcgen/Makefile.am	2014-03-25 16:12:07.000000000 +0100
-+++ nfs-utils-1.3.0/tools/rpcgen/Makefile.am	2014-05-13 21:22:49.000000000 +0200
++++ nfs-utils-1.3.0/tools/rpcgen/Makefile.am	2014-05-20 11:40:39.333034278 +0200
 @@ -1,7 +1,9 @@
  ## Process this file with automake to produce Makefile.in
  

+ 20 - 0
package/nfs-utils/patches/patch-utils_gssd_Makefile_am

@@ -0,0 +1,20 @@
+--- nfs-utils-1.3.0.orig/utils/gssd/Makefile.am	2014-03-25 16:12:07.000000000 +0100
++++ nfs-utils-1.3.0/utils/gssd/Makefile.am	2014-05-20 12:19:07.116371104 +0200
+@@ -40,7 +40,7 @@ gssd_LDADD =	../../support/nfs/libnfs.a
+ 		$(RPCSECGSS_LIBS) $(KRBLIBS) $(GSSAPI_LIBS)
+ gssd_LDFLAGS = $(KRBLDFLAGS) $(LIBTIRPC)
+ 
+-gssd_CFLAGS = $(AM_CFLAGS) $(CFLAGS) \
++gssd_CFLAGS = $(AM_CFLAGS) \
+ 	      $(RPCSECGSS_CFLAGS) $(KRBCFLAGS) $(GSSAPI_CFLAGS)
+ 
+ svcgssd_SOURCES = \
+@@ -61,7 +61,7 @@ svcgssd_LDADD = \
+ 
+ svcgssd_LDFLAGS = $(KRBLDFLAGS)
+ 
+-svcgssd_CFLAGS = $(AM_CFLAGS) $(CFLAGS) \
++svcgssd_CFLAGS = $(AM_CFLAGS) \
+ 		 $(RPCSECGSS_CFLAGS) $(KRBCFLAGS) $(GSSAPI_CFLAGS)
+ 
+ MAINTAINERCLEANFILES = Makefile.in

+ 11 - 0
package/nfs-utils/patches/patch-utils_gssd_gssd_h

@@ -0,0 +1,11 @@
+--- nfs-utils-1.3.0.orig/utils/gssd/gssd.h	2014-03-25 16:12:07.000000000 +0100
++++ nfs-utils-1.3.0/utils/gssd/gssd.h	2014-05-20 12:41:40.039573389 +0200
+@@ -32,7 +32,7 @@
+ #define _RPC_GSSD_H_
+ 
+ #include <sys/types.h>
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <gssapi/gssapi.h>
+ 
+ #define MAX_FILE_NAMELEN	32

+ 11 - 0
package/nfs-utils/patches/patch-utils_gssd_svcgssd_h

@@ -0,0 +1,11 @@
+--- nfs-utils-1.3.0.orig/utils/gssd/svcgssd.h	2014-03-25 16:12:07.000000000 +0100
++++ nfs-utils-1.3.0/utils/gssd/svcgssd.h	2014-05-20 12:44:06.504736498 +0200
+@@ -32,7 +32,7 @@
+ #define _RPC_SVCGSSD_H_
+ 
+ #include <sys/types.h>
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <gssapi/gssapi.h>
+ 
+ void handle_nullreq(FILE *f);

+ 4 - 4
target/config/Config.in.runtime

@@ -208,8 +208,6 @@ config ADK_SIMPLE_NETWORK_CONFIG
 	help
 	  Manually change network config
 	  
-	  WWW: http://www.openadk.org
-
 menu "eth0 Configuration"
 depends on ADK_SIMPLE_NETWORK_CONFIG
 
@@ -255,7 +253,7 @@ config SIMPLE_NETWORK_CONFIG_ETH0_BRIDGE
 
 config SIMPLE_NETWORK_CONFIG_ETH0_BC
 	depends on SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC_MANUAL || SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE_IP
-	string "eth0 Broadcast"
+	string
 	default "+"
 
 endmenu
@@ -322,7 +320,9 @@ config SIMPLE_NETWORK_CONFIG_ETH1_NM
 
 config SIMPLE_NETWORK_CONFIG_ETH1_GW
 	depends on SIMPLE_NETWORK_CONFIG_ETH1_TYPE_NIC_MANUAL
+	depends on !SIMPLE_NETWORK_CONFIG_ETH0_GW
 	string "eth1 Gateway"
+	default "" if !SIMPLE_NETWORK_CONFIG_ETH0_GW
 	default "192.168.1.1"
 
 config SIMPLE_NETWORK_CONFIG_ETH1_BRIDGE
@@ -332,7 +332,7 @@ config SIMPLE_NETWORK_CONFIG_ETH1_BRIDGE
 
 config SIMPLE_NETWORK_CONFIG_ETH1_BC
 	depends on SIMPLE_NETWORK_CONFIG_ETH1_TYPE_NIC_MANUAL || SIMPLE_NETWORK_CONFIG_ETH1_TYPE_BRIDGE_IP
-	string "eth1 Broadcast"
+	string
 	default "+"
 
 endmenu