Fix V4 export access check. Don't apply check_access to V4 at proc level and fix the check in nfs4_MakeCred
which is invoked in V4 operations.

Ported from 1.5.x 8f63f968aacc493029e3b6792325f182829df083

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Signed-off-by: Rong Zeng <rongzeng@us.ibm.com>
1. wbclient interface change.
2. adding support to get group list for RPCSEC_GSS flavor

Ported from 1.5.x 8c6e757b9f147adb505447ef5df1ad7262e037d5

Signed-off-by: Rong Zeng <rongzeng@us.ibm.com>
Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Fix sub-dir mount issue for v3

Mount needs to do permission checking once it has an export entry
matching the mounted path. We actually skip any permission
checking at this time, simply creating root credentials. That may
not be quite right for all scenarios but will do for now.

NFS Illustrated essentially implies mount requests should not be
denied, and that many servers allow AUTH_NULL mount requests.

Note that a sub-dir mount COULD skip into a directory that is
not normally accessible from the client if it mounted the root
of the export.

Ported from 1.5.x 49c3ee946a04074f85f1a85621b7b24425ecd1cb

Signed-off-by: Frank Filz <ffilzlnx@us.ibm.com>

Conflicts:

	src/MainNFSD/nfs_worker_thread.c
	src/Protocols/NFS/mnt_Mnt.c
Add additional export debug and prevent duplicate Export_Ids

Ported from 1.5.x 969f09b31278ee81ec59d24d2a23a91a14715994

Signed-off-by: Frank Filz <ffilz@us.ibm.com>

Conflicts:

	src/Protocols/NFS/nfs_proto_tools.c
	src/include/nfs_exports.h
	src/support/exports.c
	src/support/nfs_export_list.c
Strip out some unused cruft from exports

Ported from 1.5.x 39b355c6d3a0d5252c1c6e6aa474b84d5e1e008c

Signed-off-by: Frank Filz <ffilz@us.ibm.com>

Conflicts:

	src/include/nfs_exports.h
Fix up export permission checking

Order access list checking such that Root_Access does not
grant read/write access. A separate access must grant
some access. If no other access list grants any access,
read access will be granted though.

The access list checking is more unified so the same logic is
used for both IPv4 and IPv6 clients.

nfs_export_check_access now returns the export permission options
that apply to the client. This makes it easier to do proper permission
checking

This rework will make it much easier to implement the EXPORT_CLIENT
stanza that allows more per client permissions.

Remove some more vestiges of NFSv2 support because we need the
EXPORT_OPTION_NFSV2 bit as part of porting effort.

Ported from 1.5.x 0ec84704627133b7138bf6299cf1c7b406fd70b0

Signed-off-by: Frank Filz <ffilz@us.ibm.com>

Conflicts:

	src/MainNFSD/nfs_stat_exporter_thread.c
	src/MainNFSD/nfs_worker_thread.c
	src/Protocols/NFS/nfs4_Compound.c
	src/Protocols/NFS/nfs_Read.c
	src/Protocols/NFS/nfs_Write.c
	src/Protocols/NFS/nfs_proto_tools.c
	src/include/nfs_core.h
	src/include/nfs_exports.h
	src/support/exports.c
	src/support/nfs_export_list.c