summaryrefslogtreecommitdiff
path: root/source3/include/modconf.h
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2003-11-15 00:47:29 +0000
committerSimo Sorce <idra@samba.org>2003-11-15 00:47:29 +0000
commite762e323897cd4ba3445016b6904136264082d25 (patch)
tree2268d5a8a60d321e8ec0a504d9f5510acc99061d /source3/include/modconf.h
parent7301471a6a12244cd398e3c81c310ffc2b663c53 (diff)
downloadsamba-e762e323897cd4ba3445016b6904136264082d25.tar.gz
samba-e762e323897cd4ba3445016b6904136264082d25.tar.bz2
samba-e762e323897cd4ba3445016b6904136264082d25.zip
Split smbldap in a core file and a utility file
Add module support for configuration loading Add a first implementation of config_ldap module to put samba configuration on ldap It worked on my test machine, please try it out and send bugfixes :-) have fun, Simo. INSTRUCTIONS: Just add something like this to your smb.conf file: config backend = config_ldap:ldap://localhost config_ldap:basedn = dc=samba,dc=org the config tree must follow this scheme: ou=foo, dc=samba, dc=org <- global section |- sambaOptionName=log level, ou=foo, ... <- options |- ... |- sambaShareName=testlc, ou=foo, ... == [testlc] |- sambaOptionName=path, sambaShareName=testlc, ou=foo, ... <- option here is a sample ldif: # foo, samba, org dn: ou=foo, dc=samba, dc=org objectClass: organizationalUnit objectClass: sambaConfig ou: foo description: Test Foo # log level, foo, samba, org dn: sambaOptionName=log level, ou=foo, dc=samba, dc=org objectClass: sambaConfigOption sambaOptionName: log level sambaIntegerOption: 10 description: log level 10 is suitable for good debugging # testlc, foo, samba, org dn: sambaShareName=testlc, ou=foo, dc=samba, dc=org objectClass: sambaShare sambaShareName: testlc description: share to test ldap config module actually works # path, testlc, foo, samba, org dn: sambaOptionName=path, sambaShareName=testlc, ou=foo, dc=samba, dc=org objectClass: sambaConfigOption sambaOptionName: path sambaStringOption: /tmp description: Path for share testlc # read only, testlc, foo, samba, org dn: sambaOptionName=read only, sambaShareName=testlc, ou=foo, dc=samba, dc=org objectClass: sambaConfigOption sambaOptionName: read only sambaBoolOption: TRUE description: Share testlc is read only # guest ok, testlc, foo, samba, org dn: sambaOptionName=guest ok, sambaShareName=testlc, ou=foo, dc=samba, dc=org objectClass: sambaConfigOption sambaOptionName: guest ok sambaBoolOption: TRUE description: Guest users are allowed to connect to testlc share (This used to be commit 207968eafc2c2a185e50e2132702d7bab2142aba)
Diffstat (limited to 'source3/include/modconf.h')
-rw-r--r--source3/include/modconf.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/source3/include/modconf.h b/source3/include/modconf.h
new file mode 100644
index 0000000000..f5cc5ef488
--- /dev/null
+++ b/source3/include/modconf.h
@@ -0,0 +1,34 @@
+#ifndef _MODCONF_H_
+#define _MODCONF_H_
+/*
+ Unix SMB/CIFS implementation.
+
+ ModConf headers
+
+ Copyright (C) Simo Sorce 2003
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#define SAMBA_CONFIG_INTERFACE_VERSION 1
+
+/* Filled out by config backends */
+struct config_functions {
+ NTSTATUS (*init)(char *params);
+ NTSTATUS (*load)(BOOL (*sfunc)(const char *),BOOL (*pfunc)(const char *, const char *));
+ NTSTATUS (*close)(void);
+};
+#endif /* _MODCONF_H_ */