PERFORCE change 182464 for review

Efstratios Karatzas gpf at FreeBSD.org
Mon Aug 16 13:31:21 UTC 2010


http://p4web.freebsd.org/@@182464?ac=10

Change 182464 by gpf at gpf_desktop on 2010/08/16 13:30:34

	last submit for gsoc:
	
	- I actually replaced all the error messages for NFS specific 
	error codes with the ones provided by the NFSv4 RFC. Although 
	mine were less cryptic, these are a lot shorter and this seems 
	best for some reason (if we take a look at strerror for example).
	If we prefer longer error messages, we can just rollback to a 
	previous version of the *bsm_errno.c files.
	
	- As far as NFS v4 OPEN is concerned, it turns out that my hunch 
	was correct and at the moment, the share_deny var doesn't play a part
	in the process. It might in the future, but for now the way 
	Audit works seems correct; I left a xxx comment there for 
	future reference. I will have to take another look at OPEN in the 
	future anyway
	
	- removed debuging printfs
	
	- @ previous submit I removed some definitions that I shouldn't have;
	put them back in.
	
	special thanks to Rick Macklem 

Affected files ...

.. //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/libbsm/bsm_errno.c#4 edit
.. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/bsm/audit_record.h#4 edit
.. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/security/audit/audit.c#14 edit
.. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/security/audit/audit_bsm_errno.c#4 edit
.. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/security/audit/audit_bsm_klib.c#6 edit

Differences ...

==== //depot/projects/soc2010/gpf_audit/freebsd/src/contrib/openbsm/libbsm/bsm_errno.c#4 (text) ====

@@ -720,315 +720,315 @@
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Operation is not supported") },
+	0, ES("operation not supported") },
 	{ BSM_NFS_ERRNO_TOOSMALL,
 #ifdef NFSERR_TOOSMALL
 	NFSERR_TOOSMALL,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Response to READDIR request exceeds the already set size limit") },
+	0, ES("response limit exceeded") },
 	{ BSM_NFS_ERRNO_SERVERFAULT,
 #ifdef NFSERR_SERVERFAULT
 	NFSERR_SERVERFAULT,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Server side error that does not map to a protocol error value") },
+	0, ES("undefined server error") },
 	{ BSM_NFS_ERRNO_BADTYPE,
 #ifdef NFSERR_BADTYPE
 	NFSERR_BADTYPE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Server does not support creation of this type of object") },
+	0, ES("type invalid for CREATE") },
 	{ BSM_NFS_ERRNO_DELAY,
 #ifdef NFSERR_DELAY
 	NFSERR_DELAY,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Operation was not completed in a timely fashion") },
+	0, ES("file \"busy\" - retry") },
 	{ BSM_NFS_ERRNO_SAME,
 #ifdef NFSERR_SAME
 	NFSERR_SAME,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The attributes compared were the same as in client's request") },
+	0, ES("nverify says attrs same") },
 	{ BSM_NFS_ERRNO_DENIED,
 #ifdef NFSERR_DENIED
 	NFSERR_DENIED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("An attempt to lock a file was denied") },
+	0, ES("lock unavailable") },
 	{ BSM_NFS_ERRNO_EXPIRED,
 #ifdef NFSERR_EXPIRED
 	NFSERR_EXPIRED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Expired lease for the current operation") },
+	0, ES("lock lease expired") },
 	{ BSM_NFS_ERRNO_LOCKED,
 #ifdef NFSERR_LOCKED
 	NFSERR_LOCKED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("READ or WRITE operation attempted on a locked file") },
+	0, ES("I/O failed due to lock") },
 	{ BSM_NFS_ERRNO_GRACE,
 #ifdef NFSERR_GRACE
 	NFSERR_GRACE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The server is in its grace period") },
+	0, ES("in grace period") },
 	{ BSM_NFS_ERRNO_FHEXPIRED,
 #ifdef NFSERR_FHEXPIRED
 	NFSERR_FHEXPIRED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Expired filehandle") },
+	0, ES("filehandle expired") },
 	{ BSM_NFS_ERRNO_SHAREDENIED,
 #ifdef NFSERR_SHAREDENIED
 	NFSERR_SHAREDENIED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("OPEN operation with a share reservation failed due to share conflict") },
+	0, ES("share reserve denied") },
 	{ BSM_NFS_ERRNO_WRONGSEC,
 #ifdef NFSERR_WRONGSEC
 	NFSERR_WRONGSEC,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Client's security mechanism does not match server's security policy") },
+	0, ES("wrong security flavor") },
 	{ BSM_NFS_ERRNO_CLIDINUSE,
 #ifdef NFSERR_CLIDINUSE
 	NFSERR_CLIDINUSE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Client id in use by another client") },
+	0, ES("clientid in use") },
 	{ BSM_NFS_ERRNO_RESOURCE,
 #ifdef NFSERR_RESOURCE
 	NFSERR_RESOURCE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Compound procedure exhausted server resources") },
+	0, ES("resource exhaustion") },
 	{ BSM_NFS_ERRNO_MOVED,
 #ifdef NFSERR_MOVED
 	NFSERR_MOVED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The filesystem in question has been relocated elsewhere") },
+	0, ES("filesystem relocated") },
 	{ BSM_NFS_ERRNO_NOFILEHANDLE,
 #ifdef NFSERR_NOFILEHANDLE
 	NFSERR_NOFILEHANDLE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The current filehandle value has not been set") },
+	0, ES("current FH is not set") },
 	{ BSM_NFS_ERRNO_MINORVERMISMATCH,
 #ifdef NFSERR_MINORVERMISMATCH
 	NFSERR_MINORVERMISMATCH,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The request specifies an unsupported minor version") },
+	0, ES("minor vers not supp") },
 	{ BSM_NFS_ERRNO_STALECLIENTID,
 #ifdef NFSERR_STALECLIENTID
 	NFSERR_STALECLIENTID,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Unknown client id") },
+	0, ES("server has rebooted") },
 	{ BSM_NFS_ERRNO_STALESTATEID,
 #ifdef NFSERR_STALESTATEID
 	NFSERR_STALESTATEID,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Stale state id") },
+	0, ES("server has rebooted") },
 	{ BSM_NFS_ERRNO_OLDSTATEID,
 #ifdef NFSERR_OLDSTATEID
 	NFSERR_OLDSTATEID,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The state id designates locking state for a lockowner-file at an earlier time") },
+	0, ES("state is out of sync") },
 	{ BSM_NFS_ERRNO_BADSTATEID,
 #ifdef NFSERR_BADSTATEID
 	NFSERR_BADSTATEID,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The state id does not designate any locking state") },
+	0, ES("incorrect stateid") },
 	{ BSM_NFS_ERRNO_BADSEQID,
 #ifdef NFSERR_BADSEQID
 	NFSERR_BADSEQID,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Bad sequence number used in a locking request") },
+	0, ES("request is out of seq") },
 	{ BSM_NFS_ERRNO_NOTSAME,
 #ifdef NFSERR_NOTSAME
 	NFSERR_NOTSAME,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The attributes compared were not the same as in client's request") },
+	0, ES("verify - attrs not same") },
 	{ BSM_NFS_ERRNO_LOCKRANGE,
 #ifdef NFSERR_LOCKRANGE
 	NFSERR_LOCKRANGE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("A lock request operating on a sub-range of a current lock is not supported") },
+	0, ES("lock range not supported") },
 	{ BSM_NFS_ERRNO_SYMLINK,
 #ifdef NFSERR_SYMLINK
 	NFSERR_SYMLINK,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The current filehandle is a symbolic link") },
+	0, ES("should be file/directory") },
 	{ BSM_NFS_ERRNO_RESTOREFH,
 #ifdef NFSERR_RESTOREFH
 	NFSERR_RESTOREFH,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("RESTOREFH operation lacks a saved filehandle") },
+	0, ES("no saved filehandle") },
 	{ BSM_NFS_ERRNO_LEASEMOVED,
 #ifdef NFSERR_LEASEMOVED
 	NFSERR_LEASEMOVED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The lease beign renewed is associated with a filesystem that has migrated elsewhere") },
+	0, ES("some filesystem moved") },
 	{ BSM_NFS_ERRNO_ATTRNOTSUPP,
 #ifdef NFSERR_ATTRNOTSUPP
 	NFSERR_ATTRNOTSUPP,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The attribute specified is not supported by the server") },
+	0, ES("recommended attr not sup") },
 	{ BSM_NFS_ERRNO_NOGRACE,
 #ifdef NFSERR_NOGRACE
 	NFSERR_NOGRACE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("A reclaim of client state has fallen outside of the server's grace period") },
+	0, ES("reclaim outside of grace") },
 	{ BSM_NFS_ERRNO_RECLAIMBAD,
 #ifdef NFSERR_RECLAIMBAD
 	NFSERR_RECLAIMBAD,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Bad reclaim provided by the client") },
+	0, ES("reclaim error at server") },
 	{ BSM_NFS_ERRNO_RECLAIMCONFLICT,
 #ifdef NFSERR_RECLAIMCONFLICT
 	NFSERR_RECLAIMCONFLICT,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The reclaim provided by the client has encountered a conflict") },
+	0, ES("conflict on reclaim") },
 	{ BSM_NFS_ERRNO_BADXDR,
 #ifdef NFSERR_BADXDR
 	NFSERR_BADXDR,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Server encountered a XDR decoding error") },
+	0, ES("XDR decode failed") },
 	{ BSM_NFS_ERRNO_LOCKSHELD,
 #ifdef NFSERR_LOCKSHELD
 	NFSERR_LOCKSHELD,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Locks would exist after the CLOSE operation") },
+	0, ES("file locks held at CLOSE") },
 	{ BSM_NFS_ERRNO_OPENMODE,
 #ifdef NFSERR_OPENMODE
 	NFSERR_OPENMODE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("READ or WRITE or LOCK or SETATTR operation not permitted by the stateid") },
+	0, ES("conflict in OPEN and I/O") },
 	{ BSM_NFS_ERRNO_BADOWNER,
 #ifdef NFSERR_BADOWNER
 	NFSERR_BADOWNER,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("An owner, owner_group, or ACL attribute value can not be translated to local representation") },
+	0, ES("owner translation bad") },
 	{ BSM_NFS_ERRNO_BADCHAR,
 #ifdef NFSERR_BADCHAR
 	NFSERR_BADCHAR,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("A UTF-8 string contains a bad character") },
+	0, ES("utf-8 char not supported") },
 	{ BSM_NFS_ERRNO_BADNAME,
 #ifdef NFSERR_BADNAME
 	NFSERR_BADNAME,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("A name string consists of valid UTF-8 characters but is invalid for current operation") },
+	0, ES("name not supported") },
 	{ BSM_NFS_ERRNO_BADRANGE,
 #ifdef NFSERR_BADRANGE
 	NFSERR_BADRANGE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Bad range for a LOCK, LOCKT or LOCKU operation") },
+	0, ES("lock range not supported") },
 	{ BSM_NFS_ERRNO_LOCKNOTSUPP,
 #ifdef NFSERR_LOCKNOTSUPP
 	NFSERR_LOCKNOTSUPP,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Server does not support atomic upgrade or downgrade of locks") },
+	0, ES("no atomic up/downgrade") },
 	{ BSM_NFS_ERRNO_OPILLEGAL,
 #ifdef NFSERR_OPILLEGAL
 	NFSERR_OPILLEGAL,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Illegal operation value specified") },
+	0, ES("undefined operation") },
 	{ BSM_NFS_ERRNO_DEADLOCK,
 #ifdef NFSERR_DEADLOCK
 	NFSERR_DEADLOCK,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Deadlock detected for a blocking lock request") },
+	0, ES("file locking deadlock") },
 	{ BSM_NFS_ERRNO_FILEOPEN,
 #ifdef NFSERR_FILEOPEN
 	NFSERR_FILEOPEN,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Operation failed because a file involved is currently open") },
+	0, ES("open file blocks op") },
 	{ BSM_NFS_ERRNO_ADMINREVOKED,
 #ifdef NFSERR_ADMINREVOKED
 	NFSERR_ADMINREVOKED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The administrator caused the revocation of lockowner's record locks, share reservations and delegations") },
+	0, ES("lockowner state revoked") },
 	{ BSM_NFS_ERRNO_CBPATHDOWN,
 #ifdef NFSERR_CBPATHDOWN
 	NFSERR_CBPATHDOWN,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("??? NFS error") },
+	0, ES("callback path down") },
 };
 static const int bsm_errnos_count = sizeof(bsm_errnos) / sizeof(bsm_errnos[0]);
 

==== //depot/projects/soc2010/gpf_audit/freebsd/src/sys/bsm/audit_record.h#4 (text) ====

@@ -175,6 +175,11 @@
 
 #define	AUT_TRAILER_MAGIC	0xb105
 
+/* NFS specific stuff */
+#define ND_NFSV2                0x00000004
+#define ND_NFSV3                0x00000008
+#define ND_NFSV4                0x00000010
+
 /* BSM library calls */
 
 __BEGIN_DECLS

==== //depot/projects/soc2010/gpf_audit/freebsd/src/sys/security/audit/audit.c#14 (text) ====

@@ -60,12 +60,10 @@
 #include <sys/unistd.h>
 #include <sys/vnode.h>
 
-/* XXX gpf: for debuging */
-#include <sys/types.h>
-
 #include <bsm/audit.h>
 #include <bsm/audit_internal.h>
 #include <bsm/audit_kevents.h>
+#include <bsm/audit_record.h>
 
 #include <netinet/in.h>
 #include <netinet/in_pcb.h>
@@ -823,10 +821,6 @@
 	error = audit_nfs_proc_to_event(proc, &event, nfsprot);
 	if (error)
 		return;
-
-	/* XXXgpf: for debugging, nevermind */
-	printf("audit_nfs_enter: procedure = %d\n"
-	       "audit_nfs_enter: event = %d\n", proc, event);
 	
 	/*
 	 * Check which audit mask to use; either the kernel non-attributable
@@ -844,7 +838,6 @@
 	 */
 	class = au_event_class(event);
 	if (au_preselect(event, class, aumask, AU_PRS_BOTH)) {
-		printf("audit_nfs_enter: select it!\n\n");
 		/*
 		 * If we're out of space and need to suspend unprivileged
 		 * processes, do that here rather than trying to allocate

==== //depot/projects/soc2010/gpf_audit/freebsd/src/sys/security/audit/audit_bsm_errno.c#4 (text+ko) ====

@@ -722,315 +722,315 @@
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Operation is not supported") },
+	0, ES("operation not supported") },
 	{ BSM_NFS_ERRNO_TOOSMALL,
 #ifdef NFSERR_TOOSMALL
 	NFSERR_TOOSMALL,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Response to READDIR request exceeds the already set size limit") },
+	0, ES("response limit exceeded") },
 	{ BSM_NFS_ERRNO_SERVERFAULT,
 #ifdef NFSERR_SERVERFAULT
 	NFSERR_SERVERFAULT,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Server side error that does not map to a protocol error value") },
+	0, ES("undefined server error") },
 	{ BSM_NFS_ERRNO_BADTYPE,
 #ifdef NFSERR_BADTYPE
 	NFSERR_BADTYPE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Server does not support creation of this type of object") },
+	0, ES("type invalid for CREATE") },
 	{ BSM_NFS_ERRNO_DELAY,
 #ifdef NFSERR_DELAY
 	NFSERR_DELAY,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Operation was not completed in a timely fashion") },
+	0, ES("file \"busy\" - retry") },
 	{ BSM_NFS_ERRNO_SAME,
 #ifdef NFSERR_SAME
 	NFSERR_SAME,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The attributes compared were the same as in client's request") },
+	0, ES("nverify says attrs same") },
 	{ BSM_NFS_ERRNO_DENIED,
 #ifdef NFSERR_DENIED
 	NFSERR_DENIED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("An attempt to lock a file was denied") },
+	0, ES("lock unavailable") },
 	{ BSM_NFS_ERRNO_EXPIRED,
 #ifdef NFSERR_EXPIRED
 	NFSERR_EXPIRED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Expired lease for the current operation") },
+	0, ES("lock lease expired") },
 	{ BSM_NFS_ERRNO_LOCKED,
 #ifdef NFSERR_LOCKED
 	NFSERR_LOCKED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("READ or WRITE operation attempted on a locked file") },
+	0, ES("I/O failed due to lock") },
 	{ BSM_NFS_ERRNO_GRACE,
 #ifdef NFSERR_GRACE
 	NFSERR_GRACE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The server is in its grace period") },
+	0, ES("in grace period") },
 	{ BSM_NFS_ERRNO_FHEXPIRED,
 #ifdef NFSERR_FHEXPIRED
 	NFSERR_FHEXPIRED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Expired filehandle") },
+	0, ES("filehandle expired") },
 	{ BSM_NFS_ERRNO_SHAREDENIED,
 #ifdef NFSERR_SHAREDENIED
 	NFSERR_SHAREDENIED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("OPEN operation with a share reservation failed due to share conflict") },
+	0, ES("share reserve denied") },
 	{ BSM_NFS_ERRNO_WRONGSEC,
 #ifdef NFSERR_WRONGSEC
 	NFSERR_WRONGSEC,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Client's security mechanism does not match server's security policy") },
+	0, ES("wrong security flavor") },
 	{ BSM_NFS_ERRNO_CLIDINUSE,
 #ifdef NFSERR_CLIDINUSE
 	NFSERR_CLIDINUSE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Client id in use by another client") },
+	0, ES("clientid in use") },
 	{ BSM_NFS_ERRNO_RESOURCE,
 #ifdef NFSERR_RESOURCE
 	NFSERR_RESOURCE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Compound procedure exhausted server resources") },
+	0, ES("resource exhaustion") },
 	{ BSM_NFS_ERRNO_MOVED,
 #ifdef NFSERR_MOVED
 	NFSERR_MOVED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The filesystem in question has been relocated elsewhere") },
+	0, ES("filesystem relocated") },
 	{ BSM_NFS_ERRNO_NOFILEHANDLE,
 #ifdef NFSERR_NOFILEHANDLE
 	NFSERR_NOFILEHANDLE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The current filehandle value has not been set") },
+	0, ES("current FH is not set") },
 	{ BSM_NFS_ERRNO_MINORVERMISMATCH,
 #ifdef NFSERR_MINORVERMISMATCH
 	NFSERR_MINORVERMISMATCH,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The request specifies an unsupported minor version") },
+	0, ES("minor vers not supp") },
 	{ BSM_NFS_ERRNO_STALECLIENTID,
 #ifdef NFSERR_STALECLIENTID
 	NFSERR_STALECLIENTID,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Unknown client id") },
+	0, ES("server has rebooted") },
 	{ BSM_NFS_ERRNO_STALESTATEID,
 #ifdef NFSERR_STALESTATEID
 	NFSERR_STALESTATEID,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Stale state id") },
+	0, ES("server has rebooted") },
 	{ BSM_NFS_ERRNO_OLDSTATEID,
 #ifdef NFSERR_OLDSTATEID
 	NFSERR_OLDSTATEID,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The state id designates locking state for a lockowner-file at an earlier time") },
+	0, ES("state is out of sync") },
 	{ BSM_NFS_ERRNO_BADSTATEID,
 #ifdef NFSERR_BADSTATEID
 	NFSERR_BADSTATEID,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The state id does not designate any locking state") },
+	0, ES("incorrect stateid") },
 	{ BSM_NFS_ERRNO_BADSEQID,
 #ifdef NFSERR_BADSEQID
 	NFSERR_BADSEQID,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Bad sequence number used in a locking request") },
+	0, ES("request is out of seq") },
 	{ BSM_NFS_ERRNO_NOTSAME,
 #ifdef NFSERR_NOTSAME
 	NFSERR_NOTSAME,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The attributes compared were not the same as in client's request") },
+	0, ES("verify - attrs not same") },
 	{ BSM_NFS_ERRNO_LOCKRANGE,
 #ifdef NFSERR_LOCKRANGE
 	NFSERR_LOCKRANGE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("A lock request operating on a sub-range of a current lock is not supported") },
+	0, ES("lock range not supported") },
 	{ BSM_NFS_ERRNO_SYMLINK,
 #ifdef NFSERR_SYMLINK
 	NFSERR_SYMLINK,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The current filehandle is a symbolic link") },
+	0, ES("should be file/directory") },
 	{ BSM_NFS_ERRNO_RESTOREFH,
 #ifdef NFSERR_RESTOREFH
 	NFSERR_RESTOREFH,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("RESTOREFH operation lacks a saved filehandle") },
+	0, ES("no saved filehandle") },
 	{ BSM_NFS_ERRNO_LEASEMOVED,
 #ifdef NFSERR_LEASEMOVED
 	NFSERR_LEASEMOVED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The lease beign renewed is associated with a filesystem that has migrated elsewhere") },
+	0, ES("some filesystem moved") },
 	{ BSM_NFS_ERRNO_ATTRNOTSUPP,
 #ifdef NFSERR_ATTRNOTSUPP
 	NFSERR_ATTRNOTSUPP,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The attribute specified is not supported by the server") },
+	0, ES("recommended attr not sup") },
 	{ BSM_NFS_ERRNO_NOGRACE,
 #ifdef NFSERR_NOGRACE
 	NFSERR_NOGRACE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("A reclaim of client state has fallen outside of the server's grace period") },
+	0, ES("reclaim outside of grace") },
 	{ BSM_NFS_ERRNO_RECLAIMBAD,
 #ifdef NFSERR_RECLAIMBAD
 	NFSERR_RECLAIMBAD,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Bad reclaim provided by the client") },
+	0, ES("reclaim error at server") },
 	{ BSM_NFS_ERRNO_RECLAIMCONFLICT,
 #ifdef NFSERR_RECLAIMCONFLICT
 	NFSERR_RECLAIMCONFLICT,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The reclaim provided by the client has encountered a conflict") },
+	0, ES("conflict on reclaim") },
 	{ BSM_NFS_ERRNO_BADXDR,
 #ifdef NFSERR_BADXDR
 	NFSERR_BADXDR,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Server encountered a XDR decoding error") },
+	0, ES("XDR decode failed") },
 	{ BSM_NFS_ERRNO_LOCKSHELD,
 #ifdef NFSERR_LOCKSHELD
 	NFSERR_LOCKSHELD,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Locks would exist after the CLOSE operation") },
+	0, ES("file locks held at CLOSE") },
 	{ BSM_NFS_ERRNO_OPENMODE,
 #ifdef NFSERR_OPENMODE
 	NFSERR_OPENMODE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("READ or WRITE or LOCK or SETATTR operation not permitted by the stateid") },
+	0, ES("conflict in OPEN and I/O") },
 	{ BSM_NFS_ERRNO_BADOWNER,
 #ifdef NFSERR_BADOWNER
 	NFSERR_BADOWNER,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("An owner, owner_group, or ACL attribute value can not be translated to local representation") },
+	0, ES("owner translation bad") },
 	{ BSM_NFS_ERRNO_BADCHAR,
 #ifdef NFSERR_BADCHAR
 	NFSERR_BADCHAR,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("A UTF-8 string contains a bad character") },
+	0, ES("utf-8 char not supported") },
 	{ BSM_NFS_ERRNO_BADNAME,
 #ifdef NFSERR_BADNAME
 	NFSERR_BADNAME,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("A name string consists of valid UTF-8 characters but is invalid for current operation") },
+	0, ES("name not supported") },
 	{ BSM_NFS_ERRNO_BADRANGE,
 #ifdef NFSERR_BADRANGE
 	NFSERR_BADRANGE,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Bad range for a LOCK, LOCKT or LOCKU operation") },
+	0, ES("lock range not supported") },
 	{ BSM_NFS_ERRNO_LOCKNOTSUPP,
 #ifdef NFSERR_LOCKNOTSUPP
 	NFSERR_LOCKNOTSUPP,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Server does not support atomic upgrade or downgrade of locks") },
+	0, ES("no atomic up/downgrade") },
 	{ BSM_NFS_ERRNO_OPILLEGAL,
 #ifdef NFSERR_OPILLEGAL
 	NFSERR_OPILLEGAL,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Illegal operation value specified") },
+	0, ES("undefined operation") },
 	{ BSM_NFS_ERRNO_DEADLOCK,
 #ifdef NFSERR_DEADLOCK
 	NFSERR_DEADLOCK,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Deadlock detected for a blocking lock request") },
+	0, ES("file locking deadlock") },
 	{ BSM_NFS_ERRNO_FILEOPEN,
 #ifdef NFSERR_FILEOPEN
 	NFSERR_FILEOPEN,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("Operation failed because a file involved is currently open") },
+	0, ES("open file blocks op") },
 	{ BSM_NFS_ERRNO_ADMINREVOKED,
 #ifdef NFSERR_ADMINREVOKED
 	NFSERR_ADMINREVOKED,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("The administrator caused the revocation of lockowner's record locks, share reservations and delegations") },
+	0, ES("lockowner state revoked") },
 	{ BSM_NFS_ERRNO_CBPATHDOWN,
 #ifdef NFSERR_CBPATHDOWN
 	NFSERR_CBPATHDOWN,
 #else
 	ERRNO_NO_LOCAL_MAPPING,
 #endif
-	0, ES("??? NFS error") },
+	0, ES("callback path down") },
 };
 static const int bsm_errnos_count = sizeof(bsm_errnos) / sizeof(bsm_errnos[0]);
 

==== //depot/projects/soc2010/gpf_audit/freebsd/src/sys/security/audit/audit_bsm_klib.c#6 (text) ====

@@ -342,8 +342,9 @@
 	
 	/*
 	 * Need to check only those flags we care about.
-	 * XXXgpf: Actually, the deny bits are ignored when 
-	 * determining a specific event type
+	 * XXXgpf: As it turns out, POSIX clients (including FreeBSD's
+	 * client) will always provide DENY_NONE; ignore deny bits 
+	 * when determining a specific event type
 	 */
 	oflags = oflags & (NFS_READACCESS | NFS_WRITEACCESS | NFS_READDENY 
 				| NFS_WRITEDENY | NFS_CREATE | NFS_TRUNC);


More information about the p4-projects mailing list