just checking this smb.conf loading stuff a bit more. the parameters _are_ loaded up correctly. _however_, a service connection (see make_connection()) is created, in the Connection[] array, when an SMBtcon_and_X occurs. and, guess what: reloading all of the services from the smb.conf file _doesn't_ force an update in the Connection[] array. therefore, once a connection to a service is made, that's it until the connection is broken. this is quite a pain for an IPC$ connection, for example. more later. comments welcome. luke
Luke wrote:> and, guess what: reloading all of the services from the smb.conf file > _doesn't_ force an update in the Connection[] array. therefore, once a > connection to a service is made, that's it until the connection is broken.Yep, this was a deliberate choice when I did the code. Apart from the fact that its quite hard to dynamically update current connections I thought that it wasn't a good idea as it could lead to data loss. For example, if the new smb.conf removes some share entirely while someone has it open then you would need to immediately shutdown that share. As SMB doesn't have a mechanism for telling the client "you're about to be disconnected" it would have to be done abruptly. This means any open files would be immediately closed. This could easily cause corruption in some applications and would certainly cause nasty errors to be displayed on the client machine. So the auto-reload of smb.conf really only affects new connections to the server. If you want more than that then you need to kill and restart smbd. Cheers, Andrew