1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
Commit Graph

185 Commits

Author SHA1 Message Date
Michael Adam
611b6bfa3b libsmbconf: rename smbconf_init() to smbconf_init_internal().
smbconf_init should be the name of the dispatcher (to be written)

Michael
(This used to be commit 3fb95ab757)
2008-04-13 20:04:43 +02:00
Michael Adam
6c66d5d019 registry: change registry_init_smbconf() to return WERROR instead of bool
Michael
(This used to be commit 7c343c6057)
2008-04-13 15:33:48 +02:00
Michael Adam
bcb19766d6 registry: make registry_init_smbconf() hook the registry ops onto given key.
This still defaults to HKLM\Software\Samba\smbconf, but is interchangeable now.
This allows us to open the libsmbconf registry backend on different registry keys.

Michael
(This used to be commit 8fe1a2f567)
2008-04-13 15:33:47 +02:00
Michael Adam
a3f1b5f150 libsmbconf: don't mark the API as "subject to change" any longer.
At least I hope it won't need many changes anymore...

Michael
(This used to be commit c4e1439ede)
2008-04-11 15:40:02 +02:00
Michael Adam
3201155e00 libsmbconf: testsuite: add test for delete_includes
Michael
(This used to be commit 757601ec83)
2008-04-10 01:29:01 +02:00
Michael Adam
30fedf2855 libsmbconf: return success and count 0 from get_includes when no includes present.
Michael
(This used to be commit 182433be5b)
2008-04-10 01:29:01 +02:00
Michael Adam
87ca447231 libsmbconf: add delete_includes mehtod to the api (and backend implementations)
Michael
(This used to be commit daef50e54d)
2008-04-10 01:29:01 +02:00
Michael Adam
1321dda51b libsmbconf: let set_includes delete the includes paramter when given an empty list
instead of complaining

Michael
(This used to be commit 0dc1fd6859)
2008-04-10 01:29:01 +02:00
Michael Adam
9a3fe1943e libsmbconf: fix crashbug - correctly check for existence of file.
Michael
(This used to be commit dd543cd30c)
2008-04-10 01:29:01 +02:00
Michael Adam
bb91ab6116 libsmbconf: prevent getting/deleting value "includes".
This has to be handled differently (by using get_includes / set_includes)

Michael
(This used to be commit 5a880c6a2f)
2008-04-10 01:29:01 +02:00
Michael Adam
d26daa0234 libsmbconf: consider "include" a forbidden parameter in regisry config again.
It is now taken care of by the special includes handling.

Michael
(This used to be commit 2c8c65d690)
2008-04-10 01:29:00 +02:00
Michael Adam
7bf407c711 libsmbconf: add includes at the end of parameter list in reg_get_share().
Michael
(This used to be commit 9bd06d5737)
2008-04-10 01:29:00 +02:00
Michael Adam
bb39d5c14b libsmbconf: add function smbconf_reg_valname_valid() and use it in get_values()
so "includes" doesn't get listed as a parameter

Michael
(This used to be commit 01c4bd0730)
2008-04-10 01:29:00 +02:00
Michael Adam
1da629537c libsmbconf: refactor get_includes on opened key into smbconf_reg_get_includes_internal()
Michael
(This used to be commit 072a3228a4)
2008-04-10 01:29:00 +02:00
Michael Adam
a7e06ad625 libsmbconf: rename registry_smbconf_valname_forbidden() to smbconf_reg_valname_forbidden()
Michael
(This used to be commit 23fb33fd33)
2008-04-10 01:29:00 +02:00
Michael Adam
b91cdf7183 libsmbconf: make registry_smbconf_valname_forbidden() static
Michael
(This used to be commit 798808174d)
2008-04-10 01:29:00 +02:00
Michael Adam
e06e8084c6 libsmbconf: move registry_smbconf_valname_forbidden() to the registry backend
from util_reg.c - no other callers left

Michael
(This used to be commit 98151fd3e1)
2008-04-10 01:29:00 +02:00
Michael Adam
7f0127a903 libsmbconf: more sanely print multi_sz values in registry backend
Michael
(This used to be commit 382c623948)
2008-04-10 01:28:59 +02:00
Michael Adam
40c60b0917 libsmbconf: testsuite: fix handling of error message/overall status
Michael
(This used to be commit c2d3d56d62)
2008-04-10 01:28:59 +02:00
Michael Adam
70bb9a919b libsmbconf: testsuite: add test_set_get_includes() and use it in registry test
Michael
(This used to be commit 1f64a1b2b4)
2008-04-10 01:28:59 +02:00
Michael Adam
097a056df9 libsmbconf: testsuite: refactor printing of string lists out.
Michael
(This used to be commit 828c729724)
2008-04-10 01:28:59 +02:00
Michael Adam
56c0f28a50 libsmbconf: implement get_includes() and set_includes() for registry backend.
includes are stored per share in a special registry value "includes"
of type multi_sz.

Michael
(This used to be commit 3fee0d79cc)
2008-04-10 01:28:59 +02:00
Michael Adam
8c091a60d4 libsmbconf: testsuite: test get_includes for registry backend
Michael
(This used to be commit 31e68cbe5b)
2008-04-10 01:28:59 +02:00
Michael Adam
07d038652c libsmbconf: testsuite: use the get_global_includes in get_includes test.
Michael
(This used to be commit 2a4b71b105)
2008-04-10 01:28:58 +02:00
Michael Adam
d399778acc libsmbconf: add "_global_" wrappers for get/set_includes.
These use the usual global_check like the other global wrappers.

Michael
(This used to be commit ce1b2f5508)
2008-04-10 01:28:58 +02:00
Michael Adam
f4de1c6ac7 libsmbconf: testsuite: add test for "get_includes" and use it in the text backend test.
Michael
(This used to be commit 1ca5afe58c)
2008-04-10 01:28:58 +02:00
Michael Adam
dde53e5d68 libsmbconf: fill get_includes() in text backed to retrieve includes from cache.
Michael
(This used to be commit 5e253e10b7)
2008-04-10 01:28:58 +02:00
Michael Adam
893ed44762 libsmbconf: testsuite: set the debufg fd to stderr.
...so that we see some debug output

Michael
(This used to be commit 7cfec55ed4)
2008-04-10 01:28:58 +02:00
Michael Adam
e724bfae7a libsmbconf: testsuite: use POPT_COMMON_SAMBA instead of POPT_COMMON_CONFIGFILE
so we can for instance set the debug level on the command line.

Michael
(This used to be commit 94a1923462)
2008-04-10 01:28:58 +02:00
Michael Adam
869e011e0f libsmbconf: testsuite: add talloc_stackframe to main().
Michael
(This used to be commit 8c631ac2f4)
2008-04-10 01:28:58 +02:00
Michael Adam
e251327b5b libsmbconf: testsuite: add support for "--configfile" option.
Michael
(This used to be commit 9f6c909f46)
2008-04-10 01:28:57 +02:00
Michael Adam
b7377c33a3 libsmbconf: add testsuite to the library.
Currently only the init function is tested, more tests to come...

Michael
(This used to be commit bc8dc8626c)
2008-04-10 01:28:57 +02:00
Michael Adam
f5aac0a8d0 libsmbconf: add talloc context to the get_includes methods.
Michael
(This used to be commit ed535b6b30)
2008-04-10 01:28:57 +02:00
Michael Adam
8e97662899 libsmbconf: add get_includes() and set_includes() to the API.
Includes have to get a special treatment, at least for registry.
Includes are not like other smbconf parameters: they are some kind
of metainformation. "include" has two effects when stated twice so
it can not be stored boldly into registry, since there can only be
one value named "include" in registry per key.

I will provide special handling for includes for the registry backend.

This patch provides the necessary methods in the smbconf API.

Michael
(This used to be commit e86eb375d9)
2008-04-10 01:28:57 +02:00
Michael Adam
df6b68b073 libsmbconf: activate the verbatim-flag in text backend: store parameters as they come.
with verbatim == true, parameters are stored as they come from the input file,
duplicates are listed multiple times, etc.

Michael
(This used to be commit c65575f831)
2008-04-10 01:28:57 +02:00
Michael Adam
101587eb6e libsmbconf: pass txt_private_data instead of only cache to do_parameter/section
in preparation of using the verbatim flag.

Michael
(This used to be commit c68cd2477c)
2008-04-10 01:28:57 +02:00
Michael Adam
a01e840814 libsmbconf: load file after special initialization
otherwise verbatim parameter can have no effect.

Michael
(This used to be commit 2ff0b693d7)
2008-04-10 01:28:56 +02:00
Michael Adam
3d38f143df libsmbconf: add a "verbatim" parameter to smbconf_init_txt_simple().
Michael
(This used to be commit b9e72b402d)
2008-04-10 01:28:56 +02:00
Michael Adam
0acf338503 libsmbconf: reformat smbconf_format_registry_value() - indentations/tabs
Michael
(This used to be commit b79a33eb2f)
2008-04-10 01:28:56 +02:00
Michael Adam
ec12f0a25a libsmbconf: untangle assignment and test in for-loop condition.
Michael
(This used to be commit 4339caff09)
2008-04-10 01:28:56 +02:00
Michael Adam
3c40c2d7d3 libsmbconf: fix a comment
Michael
(This used to be commit bc1a5bdbd3)
2008-04-10 01:28:56 +02:00
Michael Adam
8c85c10f8a libsmbconf: search from the back when getting parameter from text backend
so we make sure to always deliver the value last read.

Michael
(This used to be commit 2eb5a681e9)
2008-04-10 01:28:56 +02:00
Michael Adam
862608ca1f libsmbconf: add smbconf_reverse_find_in_array() to find last occurence of a string.
Michael
(This used to be commit 25e0fd8478)
2008-04-10 01:28:55 +02:00
Michael Adam
498e5f99d2 libsmbconf: move smbconf_find_in_array() to smbconf_util.c
Michael
(This used to be commit 7af79e60a3)
2008-04-10 01:28:55 +02:00
Michael Adam
015e424bf1 libsmbconf: reorder prototypes in smbconf_private.h
Michael
(This used to be commit 0e932a0981)
2008-04-10 01:28:55 +02:00
Michael Adam
77fce35417 libsmbconf: rename smbconf_txt_find_in_array() to smbconf_find_in_array()
Michael
(This used to be commit 9890f43726)
2008-04-10 01:28:55 +02:00
Michael Adam
36ede8ae54 libsmbconf: move utility functions from main module to new smbconf_util.c
Michael
(This used to be commit e0f6a9d50c)
2008-04-10 01:28:55 +02:00
Michael Adam
24c54ee4fb libsmbconf: move initialization of registry value down after error checks.
Michael
(This used to be commit 2a8029985f)
2008-04-03 15:43:04 +02:00
Michael Adam
3d8727343b libsmbconf: text - pass the cache instead of all private data to pm_process.
Michael
(This used to be commit ee46f0eca6)
2008-03-27 00:32:09 +01:00
Michael Adam
916b30d502 libsmbconf: text - change the cache to be talloced
instead of having it directly as a member in the private data struct.
This makes it easier to flush and initialize the cache.

Michael
(This used to be commit 03efb72b46)
2008-03-27 00:32:09 +01:00
Michael Adam
1c8ad296b9 libsmbconf: in text backend, put flushing of the cache into a helper function.
And use it also in the close operation.

Michael
(This used to be commit 8cb2881249)
2008-03-27 00:32:09 +01:00
Michael Adam
2e83818b3b libsmbconf: add a text backend to libsmbconf based on the params.c parser.
This is a simple implementation of text backend for libsmbconf.
It is read only. It uses the parser from params.c. It loads the
given config file and holds the parsed lists of strings in memory.
Config is only re-read if the time stamp of the config file has changed.
Brilliant performance on large files is not to be expected since the
string lists are not hashed. This might be added in the future.

Michael
(This used to be commit 4ea5084385)
2008-03-26 14:55:05 +01:00
Michael Adam
a8d7febc7a smbconf: reformat - fix intentation.
This time this won't make me stumble, since there is no
magic in indented function headers here - no automatic
prototype generation... :-)

Michael
(This used to be commit 6d72fc4373)
2008-03-26 11:15:04 +01:00
Michael Adam
9ec7af58c6 registry: fix registry_init_smbconf() to close the registry at the end.
Michael
(This used to be commit f4d87fdbf2)
2008-03-21 23:50:49 +01:00
Michael Adam
a81ed36e86 libsmbconf: add internal open/close handling to registry backend.
This internally keeps track of opened registry in the private data
struct. The first call that really accesses data, opens the registry
and it is kept open until the destructor is called.

This behaviour might be changed in the future.

Michael
(This used to be commit 03e72e1307)
2008-03-21 23:43:52 +01:00
Michael Adam
aa3e4d56cb libsmbconf: add a comment.
Michael
(This used to be commit 513ae78ef7)
2008-03-21 22:55:20 +01:00
Michael Adam
be97af0edb libsmbconf: add private_data section to smbconf_ctx.
This private data should be used by backends.
The token for the registry backend is moved from
the context to the private data section, since
this is registry specific.

Michael
(This used to be commit a02163356b)
2008-03-21 22:52:27 +01:00
Michael Adam
6f7cfeddd6 libsmbconf: add a "path" variable to the conf context.
This is passed to the module init routines.
In case of the registry, this is the path of the
basekey in registry, that is to be used, defaulting
to KEY_SMBCONF (HKLM\software\samba\smbconf), when
NULL is given. This is the only case currently used.

In order to support other keys, registry initialization
for smbconf has to be changed to support different keys.

Michael
(This used to be commit 96434d9dc7)
2008-03-21 18:19:24 +01:00
Michael Adam
40ea88db5e libsmbconf: add structuring comments to the prototypes in the public header.
Michael
(This used to be commit 4f816df276)
2008-03-21 16:45:25 +01:00
Michael Adam
e62cae6638 libsmbconf: adapt a comment to new circumstances
Michael
(This used to be commit 83b9453c88)
2008-03-21 16:42:42 +01:00
Michael Adam
5e1eca34f3 libsmbconf: group together functions in smbconf.c more appropriately
Michael
(This used to be commit e8ed8ad077)
2008-03-21 16:40:20 +01:00
Michael Adam
44dc10d808 libsmbconf: add a comment.
Michael
(This used to be commit 8974b28368)
2008-03-21 16:35:52 +01:00
Michael Adam
890d1d8f78 libsmbconf: move registry implementation to a module of its own.
Michael
(This used to be commit 431b10bfe0)
2008-03-21 16:26:50 +01:00
Michael Adam
8ae2afa3c8 libsmbconf: reformaat - fix some whispacing/tabs
Michael
(This used to be commit 1a5e5bf38f)
2008-03-21 02:29:09 +01:00
Michael Adam
fececde181 libsmbconf: add backend specific init function.
Hide generic init function taking smbconf_ops argument
from public api.

Michael
(This used to be commit b3f6920ccb)
2008-03-21 02:25:56 +01:00
Michael Adam
6c20e83294 libsmbconf: add shutdown handler to smbconf_ops.
Michael
(This used to be commit acbd1f40e0)
2008-03-21 02:25:56 +01:00
Michael Adam
095048f2df libsmbconf: fix comments
Michael
(This used to be commit 24f32d9bd9)
2008-03-21 02:25:56 +01:00
Michael Adam
23b1d721b8 libsmbconf: rename smbconf_close() to smbconf_shutdown().
Michael
(This used to be commit 797b26ad3f)
2008-03-21 02:25:56 +01:00
Michael Adam
adf5bf554c libsmbconf: rename smbconf_open() to smbconf_init().
That's more appropriate.

Michael
(This used to be commit d7bd9bb8aa)
2008-03-21 02:25:56 +01:00
Michael Adam
ac7c582ec0 libsmbconf: add open and close operations to the smbconf_ops.
Note: currently, reg_init_smbconf opens the registry, but does
not close it. This has to be changed. so that it is closed.
And then libsmbconf will need these open/close functions

Michael
(This used to be commit 77dbdf82ef)
2008-03-21 02:25:56 +01:00
Michael Adam
2135f7dd61 libsmbconf: introduce a smbconf_ops layer to allow interchangeable backends.
Michael
(This used to be commit a857f643d1)
2008-03-21 02:25:56 +01:00
Michael Adam
f12b10566d libsmbconf: move smbconf_reg_initialize() down to the smbconf operations.
Michael
(This used to be commit f2d605006c)
2008-03-21 02:25:56 +01:00
Michael Adam
d19e308a14 libsmbconf: add existence check for service to smbconf_delete_share().
Michael
(This used to be commit d44c2ef0b7)
2008-03-21 02:25:56 +01:00
Michael Adam
94ef924800 libsmbconf: add existence check for service to smbconf_get_share().
Michael
(This used to be commit 26208d3e96)
2008-03-21 02:25:56 +01:00
Michael Adam
fbd2c552ea libsmbconf: add check for NULL servicename to smbconf_share_exists().
Michael
(This used to be commit 5dac66c82a)
2008-03-21 02:25:56 +01:00
Michael Adam
4c7214aae2 libsmbconf: fix a comment
(This used to be commit 103a37ac8e)
2008-03-21 02:25:56 +01:00
Michael Adam
73f8c1c68c libsmbconf: refactor out registry implementation of smbconf operations.
This leaves most of the api functions mere wrappers except for some
common initial checks.

Michael
(This used to be commit 9448a7a298)
2008-03-21 02:25:55 +01:00
Michael Adam
1e8d72aec9 libsmbconf: refactor autocreation of [global] into a helper function.
Michael
(This used to be commit aeaf66c064)
2008-03-21 02:25:55 +01:00
Michael Adam
7b53c84fe1 libsmbconf: put the smbconf context struct into a private header.
Michael
(This used to be commit a99ee5e536)
2008-03-21 02:25:55 +01:00
Michael Adam
153ed797e6 libsmbconf: change the API to always take the smbconf_ctx parameter first.
..for consistency. Exception: the open/init function, where the smbconf_ctx
is created from the given talloc context.

Michael
(This used to be commit 304dba6cb2)
2008-03-21 02:25:55 +01:00
Michael Adam
fc730cac35 libsmbconf: fix indentation.
Michael
(This used to be commit 7460697ea4)
2008-03-21 02:25:55 +01:00
Michael Adam
7621b4c3d8 libsmbconf: change smbconf_get_seqnum() to smbconf_changed().
The former seqnum is hidden inside a struct smbconf_csn.
And the get_seqnum is united with a changed function that
stores the seqnum inside the given csn.

Michael
(This used to be commit 5b6b90900a)
2008-03-21 02:25:55 +01:00
Michael Adam
77dd53ad5c libsmbconf: fix a comment
Michael
(This used to be commit e6b60f6cad)
2008-03-21 02:25:55 +01:00
Michael Adam
6274929b1e libsmbconf: rename all occurrences of libnet_conf_ to smbconf_ .
Michael
(This used to be commit 097af0309d)
2008-03-17 18:03:02 +01:00
Michael Adam
670418c116 Move libnet_conf to a library lib/smbconf/ of its own, fixing the api.
The libnet_conf code to access the registry based configuration has
become more of a library used in several places in samba (e.g. loadparm)
than an abstraction of "net conf". So I move it to a location lib/smbconf/.

In the same breath, the api is fixed (not generated by make proto anymore).

Michael
(This used to be commit 5315ef41f4)
2008-03-17 18:03:02 +01:00