svn commit: samba r22802 - in branches: SAMBA_3_0/source	SAMBA_3_0/source/libgpo SAMBA_3_0_26/source	SAMBA_3_0_26/source/libgpo Author: gd
Date: 2007-05-11 15:08:05 +0000 (Fri, 11 May 2007)
New Revision: 22802

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=22802

Log:
Add dummy gpo_apply_security_filtering() call.

Guenther

Added:
   branches/SAMBA_3_0/source/libgpo/gpo_sec.c
   branches/SAMBA_3_0_26/source/libgpo/gpo_sec.c
Modified:
   branches/SAMBA_3_0/source/Makefile.in
   branches/SAMBA_3_0/source/libgpo/gpo_ldap.c
   branches/SAMBA_3_0_26/source/Makefile.in
   branches/SAMBA_3_0_26/source/libgpo/gpo_ldap.c


Changeset:
Modified: branches/SAMBA_3_0/source/Makefile.in
===================================================================
--- branches/SAMBA_3_0/source/Makefile.in	2007-05-11 13:37:51 UTC (rev 22801)
+++ branches/SAMBA_3_0/source/Makefile.in	2007-05-11 15:08:05 UTC (rev 22802)
@@ -299,7 +299,7 @@
 LIBADDNS_OBJ = $(LIBADDNS_OBJ0) $(TALLOC_OBJ)
 
 LIBGPO_OBJ0 = libgpo/gpo_ldap.o libgpo/gpo_parse.o libgpo/gpo_util.o \\
-	      libgpo/gpo_fetch.o libgpo/gpo_filesync.o
+	      libgpo/gpo_fetch.o libgpo/gpo_filesync.o libgpo/gpo_sec.o
 LIBGPO_OBJ = $(LIBGPO_OBJ0)
 
 LIBADS_OBJ = libads/ldap.o libads/ldap_printer.o libads/sasl.o \\

Modified: branches/SAMBA_3_0/source/libgpo/gpo_ldap.c
===================================================================
--- branches/SAMBA_3_0/source/libgpo/gpo_ldap.c	2007-05-11 13:37:51 UTC (rev 22801)
+++ branches/SAMBA_3_0/source/libgpo/gpo_ldap.c	2007-05-11 15:08:05 UTC (rev 22802)
@@ -549,16 +549,23 @@
 			}
 		}
 
-		new_gpo = TALLOC_P(mem_ctx, struct GROUP_POLICY_OBJECT);
+		new_gpo = TALLOC_ZERO_P(mem_ctx, struct GROUP_POLICY_OBJECT);
 		ADS_ERROR_HAVE_NO_MEMORY(new_gpo);
 
-		ZERO_STRUCTP(new_gpo);
-
 		status = ads_get_gpo(ads, mem_ctx, gp_link->link_names[i], NULL, NULL, new_gpo);
 		if (!ADS_ERR_OK(status)) {
+			DEBUG(10,("failed to get gpo: %s\\n", gp_link->link_names[i]));
 			return status;
 		}
 
+		status = ADS_ERROR_NT(gpo_apply_security_filtering(new_gpo, token));
+		if (!ADS_ERR_OK(status)) {
+			DEBUG(10,("skipping GPO \\"%s\\" as object has no access to it\\n", 
+				new_gpo->display_name));
+			TALLOC_FREE(new_gpo);
+			continue;
+		}
+
 		new_gpo->link = link_dn;
 		new_gpo->link_type = link_type; 
 

Added: branches/SAMBA_3_0/source/libgpo/gpo_sec.c
===================================================================
--- branches/SAMBA_3_0/source/libgpo/gpo_sec.c	2007-05-11 13:37:51 UTC (rev 22801)
+++ branches/SAMBA_3_0/source/libgpo/gpo_sec.c	2007-05-11 15:08:05 UTC (rev 22802)
@@ -0,0 +1,30 @@
+/* 
+ *  Unix SMB/CIFS implementation.
+ *  Group Policy Object Support
+ *  Copyright (C) Guenther Deschner 2007
+ *  
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *  
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *  
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "includes.h"
+
+/****************************************************************
+****************************************************************/
+
+NTSTATUS gpo_apply_security_filtering(const struct GROUP_POLICY_OBJECT *gpo, 
+				      const struct GPO_SID_TOKEN *token)
+{
+	return NT_STATUS_OK;
+}

Modified: branches/SAMBA_3_0_26/source/Makefile.in
===================================================================
--- branches/SAMBA_3_0_26/source/Makefile.in	2007-05-11 13:37:51 UTC (rev 22801)
+++ branches/SAMBA_3_0_26/source/Makefile.in	2007-05-11 15:08:05 UTC (rev 22802)
@@ -280,7 +280,7 @@
 LIBADDNS_OBJ = $(LIBADDNS_OBJ0) $(TALLOC_OBJ)
 
 LIBGPO_OBJ0 = libgpo/gpo_ldap.o libgpo/gpo_parse.o libgpo/gpo_util.o \\
-	      libgpo/gpo_fetch.o libgpo/gpo_filesync.o
+	      libgpo/gpo_fetch.o libgpo/gpo_filesync.o libgpo/gpo_sec.o
 LIBGPO_OBJ = $(LIBGPO_OBJ0)
 
 LIBADS_OBJ = libads/ldap.o libads/ldap_printer.o libads/sasl.o \\

Modified: branches/SAMBA_3_0_26/source/libgpo/gpo_ldap.c
===================================================================
--- branches/SAMBA_3_0_26/source/libgpo/gpo_ldap.c	2007-05-11 13:37:51 UTC (rev 22801)
+++ branches/SAMBA_3_0_26/source/libgpo/gpo_ldap.c	2007-05-11 15:08:05 UTC (rev 22802)
@@ -549,16 +549,23 @@
 			}
 		}
 
-		new_gpo = TALLOC_P(mem_ctx, struct GROUP_POLICY_OBJECT);
+		new_gpo = TALLOC_ZERO_P(mem_ctx, struct GROUP_POLICY_OBJECT);
 		ADS_ERROR_HAVE_NO_MEMORY(new_gpo);
 
-		ZERO_STRUCTP(new_gpo);
-
 		status = ads_get_gpo(ads, mem_ctx, gp_link->link_names[i], NULL, NULL, new_gpo);
 		if (!ADS_ERR_OK(status)) {
+			DEBUG(10,("failed to get gpo: %s\\n", gp_link->link_names[i]));
 			return status;
 		}
 
+		status = ADS_ERROR_NT(gpo_apply_security_filtering(new_gpo, token));
+		if (!ADS_ERR_OK(status)) {
+			DEBUG(10,("skipping GPO \\"%s\\" as object has no access to it\\n", 
+				new_gpo->display_name));
+			TALLOC_FREE(new_gpo);
+			continue;
+		}
+
 		new_gpo->link = link_dn;
 		new_gpo->link_type = link_type; 
 

Added: branches/SAMBA_3_0_26/source/libgpo/gpo_sec.c
===================================================================
--- branches/SAMBA_3_0_26/source/libgpo/gpo_sec.c	2007-05-11 13:37:51 UTC (rev 22801)
+++ branches/SAMBA_3_0_26/source/libgpo/gpo_sec.c	2007-05-11 15:08:05 UTC (rev 22802)
@@ -0,0 +1,30 @@
+/* 
+ *  Unix SMB/CIFS implementation.
+ *  Group Policy Object Support
+ *  Copyright (C) Guenther Deschner 2007
+ *  
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *  
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *  
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "includes.h"
+
+/****************************************************************
+****************************************************************/
+
+NTSTATUS gpo_apply_security_filtering(const struct GROUP_POLICY_OBJECT *gpo, 
+				      const struct GPO_SID_TOKEN *token)
+{
+	return NT_STATUS_OK;
+}

