svn commit: samba r25921 - in branches/SAMBA_4_0/source: ldap_server scripting/libjs setup

abartlet at samba.org abartlet at samba.org
Sat Nov 10 05:31:27 GMT 2007


Author: abartlet
Date: 2007-11-10 05:31:26 +0000 (Sat, 10 Nov 2007)
New Revision: 25921

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

Log:
Now also listen on ldapi by default in the LDAP server

Create a phpLDAPadmin configuration file example to use ldapi to talk
to Samba4

Andrew Bartlett

Added:
   branches/SAMBA_4_0/source/setup/phpldapadmin-config.php
Modified:
   branches/SAMBA_4_0/source/ldap_server/ldap_server.c
   branches/SAMBA_4_0/source/scripting/libjs/provision.js


Changeset:
Modified: branches/SAMBA_4_0/source/ldap_server/ldap_server.c
===================================================================
--- branches/SAMBA_4_0/source/ldap_server/ldap_server.c	2007-11-09 19:24:51 UTC (rev 25920)
+++ branches/SAMBA_4_0/source/ldap_server/ldap_server.c	2007-11-10 05:31:26 UTC (rev 25921)
@@ -509,6 +509,7 @@
 */
 static void ldapsrv_task_init(struct task_server *task)
 {	
+	char *ldapi_path;
 	struct ldapsrv_service *ldap_service;
 	NTSTATUS status;
 	const struct model_ops *model_ops;
@@ -556,6 +557,19 @@
 		if (!NT_STATUS_IS_OK(status)) goto failed;
 	}
 
+	ldapi_path = private_path(ldap_service, global_loadparm, "ldapi");
+	if (!ldapi_path) {
+		goto failed;
+	}
+
+	status = stream_setup_socket(task->event_ctx, model_ops, &ldap_stream_ops, 
+				     "unix", ldapi_path, NULL, ldap_service);
+	talloc_free(ldapi_path);
+	if (!NT_STATUS_IS_OK(status)) {
+		DEBUG(0,("ldapsrv failed to bind to %s - %s\n",
+			 ldapi_path, nt_errstr(status)));
+	}
+
 	return;
 
 failed:

Modified: branches/SAMBA_4_0/source/scripting/libjs/provision.js
===================================================================
--- branches/SAMBA_4_0/source/scripting/libjs/provision.js	2007-11-09 19:24:51 UTC (rev 25920)
+++ branches/SAMBA_4_0/source/scripting/libjs/provision.js	2007-11-10 05:31:26 UTC (rev 25921)
@@ -162,6 +162,7 @@
 	/* delete the specials */
 	ldb.del("@INDEXLIST");
 	ldb.del("@ATTRIBUTES");
+	ldb.del("@OPTIONS");
 	ldb.del("@MODULES");
 	ldb.del("@PARTITION");
 	ldb.del("@KLUDGEACL");
@@ -393,6 +394,9 @@
 	paths.ldap_config_basedn_ldif = paths.ldapdir + "/" + dnsdomain + "-config.ldif";
 	paths.ldap_schema_basedn_ldif = paths.ldapdir + "/" + dnsdomain + "-schema.ldif";
 
+	paths.s4_ldapi_socket = lp.get("private dir") + "/ldapi";
+	paths.phpldapadminconfig = lp.get("private dir") + "/phpldapadmin-config.php";
+
 	paths.sysvol = lp.get("sysvol", "path");
 
 	if (paths.sysvol == undefined) {
@@ -489,6 +493,9 @@
 	var ldap_path_list = split("/", paths.ldapdir);
 	subobj.LDAPI_URI = "ldapi://" + join("%2F", ldap_path_list) + "%2Fldapi";
 
+	var s4ldap_path_list = split("/", paths.s4_ldapi_socket);
+	subobj.S4_LDAPI_URI = "ldapi://" + join("%2F", s4ldap_path_list);
+
 	subobj.LDAPMANAGERDN = "cn=Manager," + subobj.DOMAINDN;
 
 	subobj.NETLOGONPATH = paths.netlogon;
@@ -794,6 +801,10 @@
 		assert(commit_ok);
 	}
 
+	message("Setting up phpLDAPadmin configuration\n");
+	setup_file("phpldapadmin-config.php", info.message, paths.phpldapadminconfig, subobj);
+	message("Please install the phpLDAPadmin configuration located at " + paths.phpldapadminconfig + " into /etc/phpldapadmin/config.php\n");
+
 	return true;
 }
 

Added: branches/SAMBA_4_0/source/setup/phpldapadmin-config.php
===================================================================
--- branches/SAMBA_4_0/source/setup/phpldapadmin-config.php	2007-11-09 19:24:51 UTC (rev 25920)
+++ branches/SAMBA_4_0/source/setup/phpldapadmin-config.php	2007-11-10 05:31:26 UTC (rev 25921)
@@ -0,0 +1,28 @@
+<?php
+/**
+ * The phpLDAPadmin config file, customised for use with Samba4
+ * This overrides phpLDAPadmin defaults
+ * that are defined in config_default.php.
+ *
+ * DONT change config_default.php, you changes will be lost by the next release
+ * of PLA. Instead change this file - as it will NOT be replaced by a new
+ * version of phpLDAPadmin.
+ */
+
+/*********************************************/
+/* Useful important configuration overrides  */
+/*********************************************/
+
+/* phpLDAPadmin can encrypt the content of sensitive cookies if you set this
+   to a big random string. */
+
+$i=0;
+$ldapservers = new LDAPServers;
+
+/* A convenient name that will appear in the tree viewer and throughout
+   phpLDAPadmin to identify this LDAP server to users. */
+$ldapservers->SetValue($i,'server','name','Samba4 LDAP Server');
+$ldapservers->SetValue($i,'server','host','${S4_LDAPI_URI}');
+$ldapservers->SetValue($i,'server','auth_type','session');
+$ldapservers->SetValue($i,'login','attr','dn');
+?>



More information about the samba-cvs mailing list