diff options
-rw-r--r-- | source3/include/printing.h | 1 | ||||
-rw-r--r-- | source3/printing/printing.c | 9 | ||||
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 3 |
3 files changed, 5 insertions, 8 deletions
diff --git a/source3/include/printing.h b/source3/include/printing.h index b5fd98dd85..a16917fe32 100644 --- a/source3/include/printing.h +++ b/source3/include/printing.h @@ -142,6 +142,7 @@ int print_queue_length(struct messaging_context *msg_ctx, int snum, print_status_struct *pstatus); WERROR print_job_start(struct auth_serversupplied_info *server_info, struct messaging_context *msg_ctx, + const char *clientmachine, int snum, const char *docname, const char *filename, struct spoolss_DeviceMode *devmode, uint32_t *_jobid); void print_job_endpage(struct messaging_context *msg_ctx, diff --git a/source3/printing/printing.c b/source3/printing/printing.c index 297fdd1d28..4240ddf330 100644 --- a/source3/printing/printing.c +++ b/source3/printing/printing.c @@ -2685,6 +2685,7 @@ static WERROR print_job_spool_file(int snum, uint32_t jobid, WERROR print_job_start(struct auth_serversupplied_info *server_info, struct messaging_context *msg_ctx, + const char *clientmachine, int snum, const char *docname, const char *filename, struct spoolss_DeviceMode *devmode, uint32_t *_jobid) { @@ -2695,8 +2696,6 @@ WERROR print_job_start(struct auth_serversupplied_info *server_info, struct tdb_print_db *pdb = get_print_db_byname(sharename); int njobs; WERROR werr; - const char *clientname; - char addr[INET6_ADDRSTRLEN]; if (!pdb) { return WERR_INTERNAL_DB_CORRUPTION; @@ -2735,11 +2734,7 @@ WERROR print_job_start(struct auth_serversupplied_info *server_info, fstrcpy(pjob.jobname, docname); - clientname = client_name(smbd_server_fd()); - if (strcmp(clientname, "UNKNOWN") == 0) { - clientname = client_addr(smbd_server_fd(),addr,sizeof(addr)); - } - fstrcpy(pjob.clientmachine, clientname); + fstrcpy(pjob.clientmachine, clientmachine); fstrcpy(pjob.user, lp_printjob_username(snum)); standard_sub_advanced(sharename, server_info->sanitized_username, diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index cdb03ff897..46e47f595f 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -5291,7 +5291,8 @@ WERROR _spoolss_StartDocPrinter(struct pipes_struct *p, return WERR_BADFID; } - werr = print_job_start(p->server_info, p->msg_ctx, snum, + werr = print_job_start(p->server_info, p->msg_ctx, + p->client_id->name, snum, info_1->document_name, info_1->output_file, Printer->devmode, &Printer->jobid); |