OK, so maybe what I am doing is very odd. In the older versions of Samba, I used to define file smb.conf that was very minimal: [global] include .../smb.conf.global config file .../smb.conf.%U [public] guest ok = yes read only = yes ... in the smb.conf.users: [global] include .../smb.conf.global [homes] ... [public] read only = no ... In newer versions this still *sort of* works, but the homes share does not show up from the config file. I believe that the problem is located in param/loadparam.c:do_section: If I define the [homes] share in smb.conf.base then it works correctly. If I define the [homes] share in smb.conf.users as browsable = yes then it shows up as "homes" The code in do_section looks like it will blindly add sections without trapping the special names HOMES_NAME. I believe that somewhere there should be a call to smbd/service.c:find_service(), but I am not sure where it should be. I suspect this bug exists for "printers" as well.
This should be fixed in 3.0.11. There was an issue with variable expansion in include files that I think will correct this. Please test and reopen if necessary,
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.