diff options
author | Simo Sorce <idra@samba.org> | 2010-07-06 11:33:15 -0400 |
---|---|---|
committer | Andreas Schneider <asn@samba.org> | 2010-09-15 12:53:42 +0200 |
commit | 5685914344d21e5fdac98c367b3dd1eba555f227 (patch) | |
tree | bc9328e59b1136935157598bf54b31935017ccd4 /source3/smbd | |
parent | 344260d03e9a50bce051e180df75f696e2478228 (diff) | |
download | samba-5685914344d21e5fdac98c367b3dd1eba555f227.tar.gz samba-5685914344d21e5fdac98c367b3dd1eba555f227.tar.bz2 samba-5685914344d21e5fdac98c367b3dd1eba555f227.zip |
s3-rpc_server: Convert rpc_connect_spoolss_pipe into a generic interface.
This way we have one common way to open internal pipes whether they
are shortcircuited or piped to an external process.
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/lanman.c | 63 | ||||
-rw-r--r-- | source3/smbd/reply.c | 7 |
2 files changed, 60 insertions, 10 deletions
diff --git a/source3/smbd/lanman.c b/source3/smbd/lanman.c index 1c7d08db37..fd69d247d2 100644 --- a/source3/smbd/lanman.c +++ b/source3/smbd/lanman.c @@ -825,7 +825,12 @@ static bool api_DosPrintQGetInfo(struct smbd_server_connection *sconn, goto out; } - status = rpc_connect_spoolss_pipe(conn, &cli); + status = rpc_pipe_open_interface(conn, + &ndr_table_spoolss.syntax_id, + conn->server_info, + &conn->sconn->client_id, + conn->sconn->msg_ctx, + &cli); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("api_DosPrintQGetInfo: could not connect to spoolss: %s\n", nt_errstr(status))); @@ -1015,7 +1020,12 @@ static bool api_DosPrintQEnum(struct smbd_server_connection *sconn, return(True); } - status = rpc_connect_spoolss_pipe(conn, &cli); + status = rpc_pipe_open_interface(conn, + &ndr_table_spoolss.syntax_id, + conn->server_info, + &conn->sconn->client_id, + conn->sconn->msg_ctx, + &cli); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("api_DosPrintQEnum: could not connect to spoolss: %s\n", nt_errstr(status))); @@ -3233,7 +3243,12 @@ static bool api_RDosPrintJobDel(struct smbd_server_connection *sconn, ZERO_STRUCT(handle); - status = rpc_connect_spoolss_pipe(conn, &cli); + status = rpc_pipe_open_interface(conn, + &ndr_table_spoolss.syntax_id, + conn->server_info, + &conn->sconn->client_id, + conn->sconn->msg_ctx, + &cli); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("api_RDosPrintJobDel: could not connect to spoolss: %s\n", nt_errstr(status))); @@ -3354,7 +3369,12 @@ static bool api_WPrintQueueCtrl(struct smbd_server_connection *sconn, ZERO_STRUCT(handle); - status = rpc_connect_spoolss_pipe(conn, &cli); + status = rpc_pipe_open_interface(conn, + &ndr_table_spoolss.syntax_id, + conn->server_info, + &conn->sconn->client_id, + conn->sconn->msg_ctx, + &cli); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("api_WPrintQueueCtrl: could not connect to spoolss: %s\n", nt_errstr(status))); @@ -3529,7 +3549,12 @@ static bool api_PrintJobInfo(struct smbd_server_connection *sconn, ZERO_STRUCT(handle); - status = rpc_connect_spoolss_pipe(conn, &cli); + status = rpc_pipe_open_interface(conn, + &ndr_table_spoolss.syntax_id, + conn->server_info, + &conn->sconn->client_id, + conn->sconn->msg_ctx, + &cli); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("api_PrintJobInfo: could not connect to spoolss: %s\n", nt_errstr(status))); @@ -4617,7 +4642,12 @@ static bool api_WPrintJobGetInfo(struct smbd_server_connection *sconn, ZERO_STRUCT(handle); - status = rpc_connect_spoolss_pipe(conn, &cli); + status = rpc_pipe_open_interface(conn, + &ndr_table_spoolss.syntax_id, + conn->server_info, + &conn->sconn->client_id, + conn->sconn->msg_ctx, + &cli); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("api_WPrintJobGetInfo: could not connect to spoolss: %s\n", nt_errstr(status))); @@ -4752,7 +4782,12 @@ static bool api_WPrintJobEnumerate(struct smbd_server_connection *sconn, ZERO_STRUCT(handle); - status = rpc_connect_spoolss_pipe(conn, &cli); + status = rpc_pipe_open_interface(conn, + &ndr_table_spoolss.syntax_id, + conn->server_info, + &conn->sconn->client_id, + conn->sconn->msg_ctx, + &cli); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("api_WPrintJobEnumerate: could not connect to spoolss: %s\n", nt_errstr(status))); @@ -4945,7 +4980,12 @@ static bool api_WPrintDestGetInfo(struct smbd_server_connection *sconn, ZERO_STRUCT(handle); - status = rpc_connect_spoolss_pipe(conn, &cli); + status = rpc_pipe_open_interface(conn, + &ndr_table_spoolss.syntax_id, + conn->server_info, + &conn->sconn->client_id, + conn->sconn->msg_ctx, + &cli); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("api_WPrintDestGetInfo: could not connect to spoolss: %s\n", nt_errstr(status))); @@ -5071,7 +5111,12 @@ static bool api_WPrintDestEnum(struct smbd_server_connection *sconn, queuecnt = 0; - status = rpc_connect_spoolss_pipe(conn, &cli); + status = rpc_pipe_open_interface(conn, + &ndr_table_spoolss.syntax_id, + conn->server_info, + &conn->sconn->client_id, + conn->sconn->msg_ctx, + &cli); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("api_WPrintDestEnum: could not connect to spoolss: %s\n", nt_errstr(status))); diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index df7dac7b09..4ace452ed9 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -5294,7 +5294,12 @@ void reply_printqueue(struct smb_request *req) ZERO_STRUCT(handle); - status = rpc_connect_spoolss_pipe(conn, &cli); + status = rpc_pipe_open_interface(conn, + &ndr_table_spoolss.syntax_id, + conn->server_info, + &conn->sconn->client_id, + conn->sconn->msg_ctx, + &cli); if (!NT_STATUS_IS_OK(status)) { DEBUG(0, ("reply_printqueue: " "could not connect to spoolss: %s\n", |