CVS update: samba4/source/ntvfs

Stefan Metzmacher metze at metzemix.de
Thu Nov 27 12:37:44 GMT 2003


Jelmer Vernooij wrote:

>> /* the ntvfs operations structure - contains function pointers to
>>    the backend implementations of each operation */
>> struct ntvfs_ops {
>>+	int version;
>>	const char *name;
>>	enum ntvfs_type type;
>>    
>>
>
>  
>
>> 	/* initial setup */
>>    
>>
>Isn't that what the ntvfs_interface_version function is supposed to
>be used for? A backend can check only the sizes of the structs it uses
>and ignore the other ones.
>  
>
Hi Jelmer,tridge,

hmm, should we really let the module decide that?

I think the module should be able to check the sizes and then decide 
which funtions it want to register.
But a module can also not check for sizes and just register it's 
functions for an old samba version.
And then we segfault. (tridge I know that segfaulting is good to find 
bugs:-) but I think this is no bug! and we should check this)

also we should check the the version in

ntvfs_interface_version()

because if the module tries to test the sizes and pass the wrong struct 
we'll segfault in the ntvfs_interface_version() if the struct has grown!

-- 

metze

-------------------------------------------
Stefan (metze) Metzmacher <metze at metzemix.de>





More information about the samba-technical mailing list