[SCM] Samba Shared Repository - branch master updated

Christian Ambach ambi at samba.org
Tue May 24 12:14:01 MDT 2011


The branch, master has been updated
       via  53829fd s3:modules properly terminate enums in nfs4 acl code
       via  425ac2c s3:vfs properly terminate enums in audit modules
      from  9c3e538 Fix bug #8150 - Ban 'dos charset = utf8'

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 53829fd4951fc1189d64ecef1c1f58d21f0fb38b
Author: Christian Ambach <ambi at samba.org>
Date:   Tue May 24 19:01:22 2011 +0200

    s3:modules properly terminate enums in nfs4 acl code
    
    same issue as with the audit modules:
    using a wrong parameter leads to smbd crash as lp_enum()
    will not terminate on last entry of the array
    
    Autobuild-User: Christian Ambach <ambi at samba.org>
    Autobuild-Date: Tue May 24 20:13:39 CEST 2011 on sn-devel-104

commit 425ac2c361fc1712c09b52f2cab0988597bf9b7e
Author: Christian Ambach <ambi at samba.org>
Date:   Tue May 24 17:19:52 2011 +0200

    s3:vfs properly terminate enums in audit modules
    
    without the proper terminations of the enums, invalid arguments
    for the audit modules will lead to a smbd crash as the loop in
    lp_enum() will attempt to access memory behind the array

-----------------------------------------------------------------------

Summary of changes:
 source3/modules/nfs4_acls.c      |    4 +++-
 source3/modules/vfs_audit.c      |    6 ++++--
 source3/modules/vfs_extd_audit.c |    6 ++++--
 source3/modules/vfs_full_audit.c |    6 ++++--
 4 files changed, 15 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/nfs4_acls.c b/source3/modules/nfs4_acls.c
index 91e98f6..c841d83 100644
--- a/source3/modules/nfs4_acls.c
+++ b/source3/modules/nfs4_acls.c
@@ -398,13 +398,15 @@ static int smbacl4_get_vfs_params(
 {
 	static const struct enum_list enum_smbacl4_modes[] = {
 		{ e_simple, "simple" },
-		{ e_special, "special" }
+		{ e_special, "special" },
+		{ -1 , NULL }
 	};
 	static const struct enum_list enum_smbacl4_acedups[] = {
 		{ e_dontcare, "dontcare" },
 		{ e_reject, "reject" },
 		{ e_ignore, "ignore" },
 		{ e_merge, "merge" },
+		{ -1 , NULL }
 	};
 
 	memset(params, 0, sizeof(smbacl4_vfs_params));
diff --git a/source3/modules/vfs_audit.c b/source3/modules/vfs_audit.c
index 349600f..8213baf 100644
--- a/source3/modules/vfs_audit.c
+++ b/source3/modules/vfs_audit.c
@@ -40,7 +40,8 @@ static int audit_syslog_facility(vfs_handle_struct *handle)
 		{ LOG_LOCAL4, "LOCAL4" },
 		{ LOG_LOCAL5, "LOCAL5" },
 		{ LOG_LOCAL6, "LOCAL6" },
-		{ LOG_LOCAL7, "LOCAL7" }
+		{ LOG_LOCAL7, "LOCAL7" },
+		{ -1, NULL}
 	};
 
 	int facility;
@@ -61,7 +62,8 @@ static int audit_syslog_priority(vfs_handle_struct *handle)
 		{ LOG_WARNING, "WARNING" },
 		{ LOG_NOTICE, "NOTICE" },
 		{ LOG_INFO, "INFO" },
-		{ LOG_DEBUG, "DEBUG" }
+		{ LOG_DEBUG, "DEBUG" },
+		{ -1, NULL}
 	};
 
 	int priority;
diff --git a/source3/modules/vfs_extd_audit.c b/source3/modules/vfs_extd_audit.c
index 34a43c7..192b075 100644
--- a/source3/modules/vfs_extd_audit.c
+++ b/source3/modules/vfs_extd_audit.c
@@ -43,7 +43,8 @@ static int audit_syslog_facility(vfs_handle_struct *handle)
 		{ LOG_LOCAL4, "LOCAL4" },
 		{ LOG_LOCAL5, "LOCAL5" },
 		{ LOG_LOCAL6, "LOCAL6" },
-		{ LOG_LOCAL7, "LOCAL7" }
+		{ LOG_LOCAL7, "LOCAL7" },
+		{ -1, NULL}
 	};
 
 	int facility;
@@ -64,7 +65,8 @@ static int audit_syslog_priority(vfs_handle_struct *handle)
 		{ LOG_WARNING, "WARNING" },
 		{ LOG_NOTICE, "NOTICE" },
 		{ LOG_INFO, "INFO" },
-		{ LOG_DEBUG, "DEBUG" }
+		{ LOG_DEBUG, "DEBUG" },
+		{ -1, NULL}
 	};
 
 	int priority;
diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c
index a723a0c..e4d9599 100644
--- a/source3/modules/vfs_full_audit.c
+++ b/source3/modules/vfs_full_audit.c
@@ -355,7 +355,8 @@ static int audit_syslog_facility(vfs_handle_struct *handle)
 		{ LOG_LOCAL4, "LOCAL4" },
 		{ LOG_LOCAL5, "LOCAL5" },
 		{ LOG_LOCAL6, "LOCAL6" },
-		{ LOG_LOCAL7, "LOCAL7" }
+		{ LOG_LOCAL7, "LOCAL7" },
+		{ -1, NULL}
 	};
 
 	int facility;
@@ -375,7 +376,8 @@ static int audit_syslog_priority(vfs_handle_struct *handle)
 		{ LOG_WARNING, "WARNING" },
 		{ LOG_NOTICE, "NOTICE" },
 		{ LOG_INFO, "INFO" },
-		{ LOG_DEBUG, "DEBUG" }
+		{ LOG_DEBUG, "DEBUG" },
+		{ -1, NULL}
 	};
 
 	int priority;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list