1--- net-snmp-5.3.1/agent/mibgroup/host/hr_filesys.c 2005-02-28 04:52:58.000000000 -0800 2+++ net-snmp/agent/mibgroup/host/hr_filesys.c 2006-07-05 23:41:47.000000000 -0700 3@@ -39,15 +39,14 @@ 4 #include <stdlib.h> 5 #endif 6 7-#if defined(bsdi4) || defined(freebsd3) || defined(freebsd4) || defined(freebsd5) 8-#if HAVE_GETFSSTAT 9-#if defined(MFSNAMELEN) 10-#define MOUNT_NFS "nfs" 11+#if defined(bsdi4) || defined(freebsd3) || defined(freebsd4) || defined(freebsd5) || defined(darwin) 12+#if HAVE_GETFSSTAT && defined(MFSNAMELEN) 13 #define MNTTYPE_UFS "ufs" 14 #define BerkelyFS 15 #define MNTTYPE_FFS "ffs" 16 #define MNTTYPE_NFS "nfs" 17 #define MNTTYPE_NFS3 "nfs" 18+#define MNTTYPE_HFS "hfs" 19 #define MNTTYPE_MFS "mfs" 20 #define MNTTYPE_MSDOS "msdos" 21 #define MNTTYPE_LFS "lfs" 22@@ -65,7 +64,6 @@ 23 #define MNTTYPE_CFS "coda" 24 #define MNTTYPE_NTFS "ntfs" 25 #endif 26-#endif 27 #endif /* freebsd3 */ 28 29 #define HRFS_MONOTONICALLY_INCREASING 30@@ -320,6 +318,9 @@ 31 case MOUNT_NFS: 32 fsys_type_id[fsys_type_len - 1] = 14; 33 break; 34+ case MOUNT_HFS: 35+ fsys_type_id[fsys_type_len - 1] = 7; 36+ break; 37 case MOUNT_MFS: 38 fsys_type_id[fsys_type_len - 1] = 8; 39 break; 40@@ -378,12 +379,8 @@ 41 if (mnt_type == NULL) 42 fsys_type_id[fsys_type_len - 1] = 2; /* unknown */ 43 #ifdef MNTTYPE_HFS 44- else if (!strcmp(mnt_type, MNTTYPE_HFS)) 45-#ifdef BerkelyFS 46- fsys_type_id[fsys_type_len - 1] = 3; 47-#else /* SysV */ 48- fsys_type_id[fsys_type_len - 1] = 4; 49-#endif 50+ else if (!strncmp(mnt_type, MNTTYPE_HFS, strlen(MNTTYPE_HFS))) 51+ fsys_type_id[fsys_type_len - 1] = 7; 52 #endif 53 #ifdef MNTTYPE_UFS 54 else if (!strcmp(mnt_type, MNTTYPE_UFS)) 55@@ -624,12 +621,9 @@ 56 int 57 Check_HR_FileSys_NFS (void) 58 { 59-#if HAVE_GETFSSTAT 60-#if defined(MFSNAMELEN) 61- if (!strcmp(HRFS_entry->HRFS_type, MOUNT_NFS)) 62-#else 63- if (HRFS_entry->HRFS_type == MOUNT_NFS) 64-#endif 65+#if HAVE_GETFSSTAT && !defined(MFSNAMELEN) 66+ if ((HRFS_entry->HRFS_type == MOUNT_NFS) || 67+ (HRFS_entry->HRFS_type == MOUNT_AFS)) 68 #else /* HAVE_GETFSSTAT */ 69 if ( HRFS_entry->HRFS_type != NULL && ( 70 #if defined(MNTTYPE_NFS) 71@@ -638,22 +632,25 @@ 72 !strcmp( HRFS_entry->HRFS_type, "nfs") || 73 #endif 74 #if defined(MNTTYPE_NFS3) 75- !strcmp( HRFS_entry->HRFS_type, MNTTYPE_NFS3) || 76+ !strcmp( HRFS_entry->HRFS_type, MNTTYPE_NFS3) || 77 #endif 78 #if defined(MNTTYPE_SMBFS) 79- !strcmp( HRFS_entry->HRFS_type, MNTTYPE_SMBFS) || 80+ !strcmp( HRFS_entry->HRFS_type, MNTTYPE_SMBFS) || 81 #endif 82 #if defined(MNTTYPE_LOFS) 83- !strcmp( HRFS_entry->HRFS_type, MNTTYPE_LOFS) || 84+ !strcmp( HRFS_entry->HRFS_type, MNTTYPE_LOFS) || 85 #endif 86- /* 87- * MVFS is Rational ClearCase's view file system 88- * it is similiar to NFS file systems in that it is mounted 89- * locally or remotely from the ClearCase server 90- */ 91- !strcmp( HRFS_entry->HRFS_type, "mvfs"))) 92+#if defined(MNTTYPE_AFP) 93+ !strcmp( HRFS_entry->HRFS_type, MNTTYPE_AFP) || 94+#endif 95+ /* 96+ * MVFS is Rational ClearCase's view file system 97+ * it is similiar to NFS file systems in that it is mounted 98+ * locally or remotely from the ClearCase server 99+ */ 100+ !strcmp( HRFS_entry->HRFS_type, "mvfs"))) 101 #endif /* HAVE_GETFSSTAT */ 102- return 1; /* NFS file system */ 103+ return 1; /* NFS file system */ 104 105 return 0; /* no NFS file system */ 106 } 107