svn commit: samba r19813 - in branches/SAMBA_3_0_24/source: lib libsmb rpc_server

jerry at samba.org jerry at samba.org
Tue Nov 21 04:36:23 GMT 2006


Author: jerry
Date: 2006-11-21 04:36:22 +0000 (Tue, 21 Nov 2006)
New Revision: 19813

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

Log:
smbd now compiles again
Modified:
   branches/SAMBA_3_0_24/source/lib/substitute.c
   branches/SAMBA_3_0_24/source/libsmb/clikrb5.c
   branches/SAMBA_3_0_24/source/rpc_server/srv_spoolss_nt.c
   branches/SAMBA_3_0_24/source/rpc_server/srv_srvsvc_nt.c


Changeset:
Modified: branches/SAMBA_3_0_24/source/lib/substitute.c
===================================================================
--- branches/SAMBA_3_0_24/source/lib/substitute.c	2006-11-21 02:23:43 UTC (rev 19812)
+++ branches/SAMBA_3_0_24/source/lib/substitute.c	2006-11-21 04:36:22 UTC (rev 19813)
@@ -769,3 +769,21 @@
 		SAFE_FREE( s );
 	}
 }
+
+/****************************************************************************
+ *  Do some standard substitutions in a string.
+ *  ****************************************************************************/
+
+void standard_sub_conn(connection_struct *conn, char *str, size_t len)
+{
+	char *s;
+
+	s = alloc_sub_advanced(lp_servicename(SNUM(conn)), conn->user, conn->connectpath,
+			       conn->gid, smb_user_name, "", str);
+
+	if ( s ) {
+		strncpy( str, s, len );
+		SAFE_FREE( s );
+	}
+}
+

Modified: branches/SAMBA_3_0_24/source/libsmb/clikrb5.c
===================================================================
--- branches/SAMBA_3_0_24/source/libsmb/clikrb5.c	2006-11-21 02:23:43 UTC (rev 19812)
+++ branches/SAMBA_3_0_24/source/libsmb/clikrb5.c	2006-11-21 04:36:22 UTC (rev 19813)
@@ -852,27 +852,6 @@
 #endif
 }
 
-static int get_kvno_from_ap_req(krb5_ap_req *ap_req)
-{
-#ifdef HAVE_TICKET_POINTER_IN_KRB5_AP_REQ /* MIT */
-	if (ap_req->ticket->enc_part.kvno)
-		return ap_req->ticket->enc_part.kvno;
-#else /* Heimdal */
-	if (ap_req->ticket.enc_part.kvno) 
-		return *ap_req->ticket.enc_part.kvno;
-#endif
-	return 0;
-}
-
-static krb5_enctype get_enctype_from_ap_req(krb5_ap_req *ap_req)
-{
-#ifdef HAVE_ETYPE_IN_ENCRYPTEDDATA /* Heimdal */
-	return ap_req->ticket.enc_part.etype;
-#else /* MIT */
-	return ap_req->ticket->enc_part.enctype;
-#endif
-}
-
 static krb5_error_code
 get_key_from_keytab(krb5_context context,
 		    krb5_const_principal server,

Modified: branches/SAMBA_3_0_24/source/rpc_server/srv_spoolss_nt.c
===================================================================
--- branches/SAMBA_3_0_24/source/rpc_server/srv_spoolss_nt.c	2006-11-21 02:23:43 UTC (rev 19812)
+++ branches/SAMBA_3_0_24/source/rpc_server/srv_spoolss_nt.c	2006-11-21 04:36:22 UTC (rev 19813)
@@ -6029,7 +6029,9 @@
 	SE_PRIV se_printop = SE_PRINT_OPERATOR;
 	BOOL is_print_op = False;
 
-	standard_sub_basic(current_user_info.smb_name, remote_machine,sizeof(remote_machine));
+	standard_sub_basic(current_user_info.smb_name,
+			   current_user_info.domain,
+			   remote_machine,sizeof(remote_machine));
 	
 	slprintf(command, sizeof(command)-1, "%s \"%s\" \"%s\" \"%s\" \"%s\" \"%s\" \"%s\" \"%s\"",
 			cmd, printer->info_2->printername, printer->info_2->sharename,

Modified: branches/SAMBA_3_0_24/source/rpc_server/srv_srvsvc_nt.c
===================================================================
--- branches/SAMBA_3_0_24/source/rpc_server/srv_srvsvc_nt.c	2006-11-21 02:23:43 UTC (rev 19812)
+++ branches/SAMBA_3_0_24/source/rpc_server/srv_srvsvc_nt.c	2006-11-21 04:36:22 UTC (rev 19813)
@@ -184,7 +184,7 @@
 
 	pstrcpy(passwd, "");
 
-	sd = get_share_security(ctx, snum, &sd_size);
+	sd = get_share_security(ctx, lp_servicename(snum), &sd_size);
 
 	init_srv_share_info502(&sh502->info_502, net_name, get_share_type(snum), remark, 0, 0xffffffff, 1, path, passwd, sd, sd_size);
 	init_srv_share_info502_str(&sh502->info_502_str, net_name, remark, path, passwd, sd, sd_size);
@@ -257,7 +257,7 @@
 
 	ZERO_STRUCTP(sh1501);
 
-	sd = get_share_security(ctx, snum, &sd_size);
+	sd = get_share_security(ctx, lp_servicename(snum), &sd_size);
 
 	sh1501->sdb = make_sec_desc_buf(p->mem_ctx, sd_size, sd);
 }
@@ -1469,10 +1469,10 @@
 		SEC_DESC *old_sd;
 		size_t sd_size;
 
-		old_sd = get_share_security(p->mem_ctx, snum, &sd_size);
+		old_sd = get_share_security(p->mem_ctx, lp_servicename(snum), &sd_size);
 
 		if (old_sd && !sec_desc_equal(old_sd, psd)) {
-			if (!set_share_security(p->mem_ctx, share_name, psd))
+			if (!set_share_security(share_name, psd))
 				DEBUG(0,("_srv_net_share_set_info: Failed to change security info in share %s.\n",
 					share_name ));
 		}
@@ -1624,7 +1624,7 @@
 		return WERR_ACCESS_DENIED;
 
 	if (psd) {
-		if (!set_share_security(p->mem_ctx, share_name, psd)) {
+		if (!set_share_security(share_name, psd)) {
 			DEBUG(0,("_srv_net_share_add: Failed to add security info to share %s.\n", share_name ));
 		}
 	}
@@ -1654,6 +1654,7 @@
 	int snum;
 	SE_PRIV se_diskop = SE_DISK_OPERATOR;
 	BOOL is_disk_op;
+	struct share_params *params;	
 
 	DEBUG(5,("_srv_net_share_del: %d\n", __LINE__));
 
@@ -1666,11 +1667,10 @@
 		return WERR_ACCESS_DENIED;
 	}
 
-	snum = find_service(share_name);
-
-	if (snum < 0)
-		return WERR_NO_SUCH_SHARE;
-
+        if (!(params = get_share_params(p->mem_ctx, share_name))) {		
+                return WERR_NO_SUCH_SHARE;
+        }
+	
 	/* No change to printer shares. */
 	if (lp_print_ok(snum))
 		return WERR_ACCESS_DENIED;
@@ -1713,9 +1713,9 @@
 		return WERR_ACCESS_DENIED;
 
 	/* Delete the SD in the database. */
-	delete_share_security(snum);
+	delete_share_security(params);
 
-	lp_killservice(snum);
+	lp_killservice(params->service);
 
 	return WERR_OK;
 }
@@ -1837,20 +1837,20 @@
 		goto error_exit;
 	}
 
-	fsp = open_file_stat(conn, filename, &st);
-	if (!fsp) {
+	nt_status = open_file_stat(conn, filename, &st, &fsp);
+	if ( !NT_STATUS_IS_OK(nt_status)) {
 		/* Perhaps it is a directory */
 		if (errno == EISDIR)
-			fsp = open_directory(conn, filename, &st,
+			nt_status = open_directory(conn, filename, &st,
 					READ_CONTROL_ACCESS,
 					FILE_SHARE_READ|FILE_SHARE_WRITE,
 					FILE_OPEN,
 					0,
-					NULL);
+					NULL, &fsp);
 
-		if (!fsp) {
+		if (!NT_STATUS_IS_OK(nt_status)) {
 			DEBUG(3,("_srv_net_file_query_secdesc: Unable to open file %s\n", filename));
-			r_u->status = WERR_ACCESS_DENIED;
+			r_u->status = ntstatus_to_werror(nt_status);
 			goto error_exit;
 		}
 	}
@@ -1953,21 +1953,21 @@
 	}
 
 
-	fsp = open_file_stat(conn, filename, &st);
+	nt_status = open_file_stat(conn, filename, &st, &fsp);
 
-	if (!fsp) {
+	if ( !NT_STATUS_IS_OK(nt_status) ) {
 		/* Perhaps it is a directory */
 		if (errno == EISDIR)
-			fsp = open_directory(conn, filename, &st,
+			nt_status = open_directory(conn, filename, &st,
 						FILE_READ_ATTRIBUTES,
 						FILE_SHARE_READ|FILE_SHARE_WRITE,
 						FILE_OPEN,
 						0,
-						NULL);
+						NULL, &fsp);
 
-		if (!fsp) {
+		if ( !NT_STATUS_IS_OK(nt_status) ) {
 			DEBUG(3,("_srv_net_file_set_secdesc: Unable to open file %s\n", filename));
-			r_u->status = WERR_ACCESS_DENIED;
+			r_u->status = ntstatus_to_werror(nt_status);
 			goto error_exit;
 		}
 	}



More information about the samba-cvs mailing list