diff -u -r -N util-linux-2.11u-nfsv4/mount/nfs_mount4.h util-linux-2.11u-znfsv3-sec/mount/nfs_mount4.h
--- util-linux-2.11u-nfsv4/mount/nfs_mount4.h	2000-10-14 10:20:51.000000000 -0400
+++ util-linux-2.11u-znfsv3-sec/mount/nfs_mount4.h	2002-11-19 18:19:59.000000000 -0500
@@ -36,6 +36,7 @@
 	int		namlen;			/* 2 */
 	unsigned int	bsize;			/* 3 */
 	struct nfs3_fh	root;			/* 4 */
+	int		pseudoflavor;		/* 4 */
 };
 
 /* bits in the flags field */
@@ -51,4 +52,4 @@
 #define NFS_MOUNT_KERBEROS	0x0100	/* 3 */
 #define NFS_MOUNT_NONLM		0x0200	/* 3 */
 #define NFS_MOUNT_BROKEN_SUID	0x0400	/* 4 */
-
+#define NFS_MOUNT_SECFLAVOR	0x2000	/* 4 */
diff -u -r -N util-linux-2.11u-nfsv4/mount/nfsmount.c util-linux-2.11u-znfsv3-sec/mount/nfsmount.c
--- util-linux-2.11u-nfsv4/mount/nfsmount.c	2002-04-05 06:35:53.000000000 -0500
+++ util-linux-2.11u-znfsv3-sec/mount/nfsmount.c	2002-11-19 18:31:50.000000000 -0500
@@ -72,6 +72,16 @@
 #define NFS_FHSIZE 32
 #endif
 
+#define RPC_AUTH_GSS_KRB5	390003
+#define RPC_AUTH_GSS_KRB5I	390004
+#define RPC_AUTH_GSS_KRB5P	390005
+#define RPC_AUTH_GSS_LKEY 	390006
+#define RPC_AUTH_GSS_LKEYI	390007
+#define RPC_AUTH_GSS_LKEYP	390008
+#define RPC_AUTH_GSS_SPKM 	390009
+#define RPC_AUTH_GSS_SPKMI	390010
+#define RPC_AUTH_GSS_SPKMP	390011
+
 static char *nfs_strerror(int stat);
 
 #define MAKE_VERSION(p,q,r)	(65536*(p) + 256*(q) + (r))
@@ -223,6 +233,7 @@
 	time_t t;
 	time_t prevt;
 	time_t timeout;
+	unsigned int pseudoflavor;
 
 	/* The version to try is either specified or 0
 	   In case it is 0 we tell the caller what we tried */
@@ -326,6 +337,7 @@
 	mountport = 0;
 	nfsprog = NFS_PROGRAM;
 	nfsvers = 0;
+	pseudoflavor = 0;
 
 	/* parse options */
 
@@ -389,9 +401,28 @@
 					printf(_("Warning: Option namlen is not supported.\n"));
 			} else if (!strcmp(opt, "addr")) {
 				/* ignore */;
+			} else if (!strcmp(opt, "sec")) {
+				if (!strncmp(opteq+1, "krb5", 4))
+					pseudoflavor = RPC_AUTH_GSS_KRB5;
+				else if (!strncmp(opteq+1, "krb5i", 5))
+					pseudoflavor = RPC_AUTH_GSS_KRB5I;
+				else if (!strncmp(opteq+1, "krb5p", 5))
+					pseudoflavor=RPC_AUTH_GSS_KRB5P;
+				else if (!strncmp(opteq+1, "lkey", 4))
+					pseudoflavor=RPC_AUTH_GSS_LKEY;
+				else if (!strncmp(opteq+1, "lkeyi", 5))
+					pseudoflavor=RPC_AUTH_GSS_LKEYI;
+				else if (!strncmp(opteq+1, "lkeyp", 5))
+					pseudoflavor=RPC_AUTH_GSS_LKEYP;
+				else if (!strncmp(opteq+1, "spkm", 4))
+					pseudoflavor=RPC_AUTH_GSS_SPKM;
+				else if (!strncmp(opteq+1, "spkmi", 5))
+					pseudoflavor=RPC_AUTH_GSS_SPKMI;
+				else if (!strncmp(opteq+1, "spkmp", 5))
+					pseudoflavor=RPC_AUTH_GSS_SPKMP;
 			} else {
 				printf(_("unknown nfs mount parameter: "
-					 "%s=%d\n"), opt, val);
+							"%s=%d\n"), opt, val);
 				goto fail;
 			}
 		} else {
@@ -430,7 +461,7 @@
 			} else {
 				if (!sloppy) {
 					printf(_("unknown nfs mount option: "
-						 "%s%s\n"), val ? "" : "no", opt);
+								"%s%s\n"), val ? "" : "no", opt);
 					goto fail;
 				}
 			}
@@ -472,6 +503,11 @@
 	if (!data.timeo)
 		data.timeo = tcp ? 70 : 7;
 
+	if (pseudoflavor) {
+		data.flags |= NFS_MOUNT_SECFLAVOR;
+		data.pseudoflavor = pseudoflavor;
+	}
+
 #ifdef NFS_MOUNT_DEBUG
 	printf("rsize = %d, wsize = %d, timeo = %d, retrans = %d\n",
 	       data.rsize, data.wsize, data.timeo, data.retrans);
@@ -487,6 +523,8 @@
 	       (data.flags & NFS_MOUNT_POSIX) != 0,
 	       (data.flags & NFS_MOUNT_NOCTO) != 0,
 	       (data.flags & NFS_MOUNT_NOAC) != 0);
+	if (flavor)
+		printf("pseudoflavor = %d\n", pseudoflavor);
 #if NFS_MOUNT_VERSION >= 2
 	printf("tcp = %d\n",
 	       (data.flags & NFS_MOUNT_TCP) != 0);
