[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-test-2528-ga3da677

Volker Lendecke vl at samba.org
Tue Feb 26 20:31:36 GMT 2008


The branch, v3-2-test has been updated
       via  a3da677bf0faed56e6731ee96708a7847a61d118 (commit)
      from  3e1f88c90e4c5721381778062edfe6e681c8eec3 (commit)

http://gitweb.samba.org/?samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit a3da677bf0faed56e6731ee96708a7847a61d118
Author: Andreas Schneider <anschneider at suse.de>
Date:   Fri Feb 22 17:35:53 2008 +0100

    Add variable to define if a share should be hidden.
    
    If you create a share on a Windows machine called foo$ then this share is
    of the type STYPE_DISKTREE. So it is possible to administrate this kind of
    share. Tested on Windows NT and 2003.
    
    In samba we assume that if a share with a $ at the end must be of the type
    STYPE_DISKTREE_HIDDEN. This is wrong, so we need a variable in the config
    to define if the share should be hidden or not.

-----------------------------------------------------------------------

Summary of changes:
 source/param/loadparm.c           |    5 +++++
 source/rpc_server/srv_srvsvc_nt.c |    5 +----
 2 files changed, 6 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/param/loadparm.c b/source/param/loadparm.c
index 86446d5..79c522f 100644
--- a/source/param/loadparm.c
+++ b/source/param/loadparm.c
@@ -420,6 +420,7 @@ typedef struct {
 	bool bRead_only;
 	bool bNo_set_dir;
 	bool bGuest_only;
+	bool bHidden;
 	bool bGuest_ok;
 	bool bPrint_ok;
 	bool bMap_system;
@@ -562,6 +563,7 @@ static service sDefault = {
 	True,			/* bRead_only */
 	True,			/* bNo_set_dir */
 	False,			/* bGuest_only */
+	False,			/* bHidden */
 	False,			/* bGuest_ok */
 	False,			/* bPrint_ok */
 	False,			/* bMap_system */
@@ -971,6 +973,7 @@ static struct parm_struct parm_table[] = {
 	{"inherit owner", P_BOOL, P_LOCAL, &sDefault.bInheritOwner, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE}, 
 	{"guest only", P_BOOL, P_LOCAL, &sDefault.bGuest_only, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE}, 
 	{"only guest", P_BOOL, P_LOCAL, &sDefault.bGuest_only, NULL, NULL, FLAG_HIDE}, 
+	{"hidden", P_BOOL, P_LOCAL, &sDefault.bHidden, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT},
 
 	{"guest ok", P_BOOL, P_LOCAL, &sDefault.bGuest_ok, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT}, 
 	{"public", P_BOOL, P_LOCAL, &sDefault.bGuest_ok, NULL, NULL, FLAG_HIDE}, 
@@ -2137,6 +2140,7 @@ FN_LOCAL_BOOL(lp_readonly, bRead_only)
 FN_LOCAL_BOOL(lp_no_set_dir, bNo_set_dir)
 FN_LOCAL_BOOL(lp_guest_ok, bGuest_ok)
 FN_LOCAL_BOOL(lp_guest_only, bGuest_only)
+FN_LOCAL_BOOL(lp_hidden, bHidden)
 FN_LOCAL_BOOL(lp_print_ok, bPrint_ok)
 FN_LOCAL_BOOL(lp_map_hidden, bMap_hidden)
 FN_LOCAL_BOOL(lp_map_archive, bMap_archive)
@@ -2774,6 +2778,7 @@ static bool lp_add_ipc(const char *ipc_name, bool guest_ok)
 	ServicePtrs[i]->bAvailable = True;
 	ServicePtrs[i]->bRead_only = True;
 	ServicePtrs[i]->bGuest_only = False;
+	ServicePtrs[i]->bHidden = True;
 	ServicePtrs[i]->bGuest_ok = guest_ok;
 	ServicePtrs[i]->bPrint_ok = False;
 	ServicePtrs[i]->bBrowseable = sDefault.bBrowseable;
diff --git a/source/rpc_server/srv_srvsvc_nt.c b/source/rpc_server/srv_srvsvc_nt.c
index 1b877ee..f0680a8 100644
--- a/source/rpc_server/srv_srvsvc_nt.c
+++ b/source/rpc_server/srv_srvsvc_nt.c
@@ -225,9 +225,6 @@ static WERROR net_enum_files( TALLOC_CTX *ctx, const char *username,
  ********************************************************************/
 static uint32 get_share_type(int snum)
 {
-	char *net_name = lp_servicename(snum);
-	int len_net_name = strlen(net_name);
-
 	/* work out the share type */
 	uint32 type = STYPE_DISKTREE;
 
@@ -235,7 +232,7 @@ static uint32 get_share_type(int snum)
 		type = STYPE_PRINTQ;
 	if (strequal(lp_fstype(snum), "IPC"))
 		type = STYPE_IPC;
-	if (net_name[len_net_name-1] == '$')
+	if (lp_hidden(snum))
 		type |= STYPE_HIDDEN;
 
 	return type;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list