svn commit: samba r13086 - branches/SAMBA_3_0/source/rpc_server trunk/source/rpc_server

jerry at samba.org jerry at samba.org
Mon Jan 23 14:47:56 GMT 2006


Author: jerry
Date: 2006-01-23 14:47:55 +0000 (Mon, 23 Jan 2006)
New Revision: 13086

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=13086

Log:
hooking max connections into 'add share' as well (although the WinXP UI doesn't give you a way to set the value on add
Modified:
   branches/SAMBA_3_0/source/rpc_server/srv_srvsvc_nt.c
   trunk/source/rpc_server/srv_srvsvc_nt.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_server/srv_srvsvc_nt.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_srvsvc_nt.c	2006-01-23 14:34:26 UTC (rev 13085)
+++ branches/SAMBA_3_0/source/rpc_server/srv_srvsvc_nt.c	2006-01-23 14:47:55 UTC (rev 13086)
@@ -1711,7 +1711,8 @@
 }
 
 /*******************************************************************
- Net share add. Call 'add_share_command "sharename" "pathname" "comment" "read only = xxx"'
+ Net share add. Call 'add_share_command "sharename" "pathname" 
+ "comment" "max connections = "
 ********************************************************************/
 
 WERROR _srv_net_share_add(pipes_struct *p, SRV_Q_NET_SHARE_ADD *q_u, SRV_R_NET_SHARE_ADD *r_u)
@@ -1728,6 +1729,7 @@
 	SEC_DESC *psd = NULL;
 	SE_PRIV se_diskop = SE_DISK_OPERATOR;
 	BOOL is_disk_op;
+	int max_connections = 0;
 
 	DEBUG(5,("_srv_net_share_add: %d\n", __LINE__));
 
@@ -1756,6 +1758,7 @@
 		unistr2_to_ascii(share_name, &q_u->info.share.info2.info_2_str.uni_netname, sizeof(share_name));
 		unistr2_to_ascii(comment, &q_u->info.share.info2.info_2_str.uni_remark, sizeof(share_name));
 		unistr2_to_ascii(pathname, &q_u->info.share.info2.info_2_str.uni_path, sizeof(share_name));
+		max_connections = (q_u->info.share.info2.info_2.max_uses == 0xffffffff) ? 0 : q_u->info.share.info2.info_2.max_uses;
 		type = q_u->info.share.info2.info_2.type;
 		break;
 	case 501:
@@ -1792,9 +1795,8 @@
 		return WERR_INVALID_NAME;
 	}
 
-	if ( strequal(share_name,"IPC$") 
-		|| ( lp_enable_asu_support() && strequal(share_name,"ADMIN$") )
-		|| strequal(share_name,"global") )
+	if ( strequal(share_name,"IPC$") || strequal(share_name,"global")
+		|| ( lp_enable_asu_support() && strequal(share_name,"ADMIN$") ) )
 	{
 		return WERR_ACCESS_DENIED;
 	}
@@ -1818,8 +1820,13 @@
 	string_replace(path, '"', ' ');
 	string_replace(comment, '"', ' ');
 
-	slprintf(command, sizeof(command)-1, "%s \"%s\" \"%s\" \"%s\" \"%s\"",
-			lp_add_share_cmd(), dyn_CONFIGFILE, share_name, path, comment);
+	slprintf(command, sizeof(command)-1, "%s \"%s\" \"%s\" \"%s\" \"%s\" %d",
+			lp_add_share_cmd(), 
+			dyn_CONFIGFILE, 
+			share_name, 
+			path, 
+			comment, 
+			max_connections);
 			
 	DEBUG(10,("_srv_net_share_add: Running [%s]\n", command ));
 	

Modified: trunk/source/rpc_server/srv_srvsvc_nt.c
===================================================================
--- trunk/source/rpc_server/srv_srvsvc_nt.c	2006-01-23 14:34:26 UTC (rev 13085)
+++ trunk/source/rpc_server/srv_srvsvc_nt.c	2006-01-23 14:47:55 UTC (rev 13086)
@@ -1517,7 +1517,8 @@
 }
 
 /*******************************************************************
- Net share add. Call 'add_share_command "sharename" "pathname" "comment" "read only = xxx"'
+ Net share add. Call 'add_share_command "sharename" "pathname" 
+ "comment" "max connections = "
 ********************************************************************/
 
 WERROR _srv_net_share_add(pipes_struct *p, SRV_Q_NET_SHARE_ADD *q_u, SRV_R_NET_SHARE_ADD *r_u)
@@ -1534,6 +1535,7 @@
 	SEC_DESC *psd = NULL;
 	SE_PRIV se_diskop = SE_DISK_OPERATOR;
 	BOOL is_disk_op;
+	int max_connections = 0;
 
 	DEBUG(5,("_srv_net_share_add: %d\n", __LINE__));
 
@@ -1562,6 +1564,7 @@
 		unistr2_to_ascii(share_name, &q_u->info.share.info2.info_2_str.uni_netname, sizeof(share_name));
 		unistr2_to_ascii(comment, &q_u->info.share.info2.info_2_str.uni_remark, sizeof(share_name));
 		unistr2_to_ascii(pathname, &q_u->info.share.info2.info_2_str.uni_path, sizeof(share_name));
+		max_connections = (q_u->info.share.info2.info_2.max_uses == 0xffffffff) ? 0 : q_u->info.share.info2.info_2.max_uses;
 		type = q_u->info.share.info2.info_2.type;
 		break;
 	case 501:
@@ -1598,9 +1601,8 @@
 		return WERR_INVALID_NAME;
 	}
 
-	if ( strequal(share_name,"IPC$") 
-		|| ( lp_enable_asu_support() && strequal(share_name,"ADMIN$") )
-		|| strequal(share_name,"global") )
+	if ( strequal(share_name,"IPC$") || strequal(share_name,"global")
+		|| ( lp_enable_asu_support() && strequal(share_name,"ADMIN$") ) )
 	{
 		return WERR_ACCESS_DENIED;
 	}
@@ -1624,8 +1626,13 @@
 	string_replace(path, '"', ' ');
 	string_replace(comment, '"', ' ');
 
-	slprintf(command, sizeof(command)-1, "%s \"%s\" \"%s\" \"%s\" \"%s\"",
-			lp_add_share_cmd(), dyn_CONFIGFILE, share_name, path, comment);
+	slprintf(command, sizeof(command)-1, "%s \"%s\" \"%s\" \"%s\" \"%s\" %d",
+			lp_add_share_cmd(), 
+			dyn_CONFIGFILE, 
+			share_name, 
+			path, 
+			comment, 
+			max_connections);
 			
 	DEBUG(10,("_srv_net_share_add: Running [%s]\n", command ));
 	



More information about the samba-cvs mailing list