CVS update: samba/source/rpc_client
tridge at samba.anu.edu.au
Tue Nov 10 01:00:20 GMT 1998
That looks really great!
There are a few of things that need changing before production use
1) for the first release I think the dl stuff should only be enabled
if you use configure with --with-dynamic-vfs. Your internal structures
will be used in either case, it just won't enable loading of external
modules. For me the big win with this stuff is the much better
internal structure of the code, with the dynamic loading being a nice
2) You can't initialise default_vfs_ops in the way you do because many
compilers won't accept it. The problem is that system prototypes will
conflict with the types of the pointers in that structure,
particularly for functions like open(). I think we will need small
stubs like this:
int sys_open(const char *name, int flags, mode_t mode)
return open(name, flags, mode);
then you will be able to use sys_open in default_vfs_ops without any
problems. I know this adds one more function call, but I doubt that
will be significant.
3) the SSL stuff in vfs_write_data looks wrong. SSL only applies to
sockets, and the vfs stuff only applies ot files. This indicates that
there is still some entanglement in the code with socket vs. file
issues. The problem was probably caused by transfer_file() which tries
to be a smart transfer function for file->socket and socket->file. I
think we will need to split it and have separate functions for the two
directions. Or get rid of it completely.
Finally, if you are looking for a really useful example module then I
think a module that does CR/LF conversion would be very popular! We've
wanted that for a while, but it was just too messy to put in the main
code. Now we have a clean way of getting it in.
More information about the samba-technical