[PATCH] for "testparm should check for invalid vfs objects"
Stefan Metzmacher
metze at samba.org
Tue Aug 21 13:50:27 UTC 2018
Hello Amit,
> I tried using getting vfs_object list as done in smbd_vfs_init(), Since
> I donot have connection_struct i used #define GLOBAL_SECTION_SNUM
> (-1). But values are not retrieved.
Testparm should have the snum for the section it is checking.
do_per_share_checks(int s), 's' is the one you need.
> int test = -1, o=0;
> char **vfs_objects_test = lp_vfs_objects(test);
> while(vfs_objects_test[o]){
> printf("vfs_objects_test=%s\n",vfs_objects_test[o]);
> o++;
> }
Within the loop you need a logic like vfs_init_custom(), you need the
logic that converts the string 'vfs_object' into module_path and
module_name and then the following check:
entry = vfs_find_backend_entry(module_name);
if (!entry) {
NTSTATUS status;
status = smb_load_module("vfs", module_path);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("error probing vfs module '%s': %s\n",
module_path, nt_errstr(status)));
goto fail;
}
entry = vfs_find_backend_entry(module_name);
if (!entry) {
DEBUG(0,("Can't find a vfs module
[%s]\n",vfs_object));
goto fail;
}
}
> Also have do we have any module extracted using 'waf' which can refereed
> as for reference.
It could get a list, but only with internal modules, at buildtime.
If a packager moved some modules to separate rpm/deb packages and those
are not installed, the list would still be wrong.
I hope that helps...
metze
More information about the samba-technical
mailing list