s3: Use pipe_struct->client_id->name for pjob.clientmachine
authorVolker Lendecke <vl@samba.org>
Tue, 17 Aug 2010 07:34:27 +0000 (09:34 +0200)
committerVolker Lendecke <vl@samba.org>
Wed, 18 Aug 2010 09:18:24 +0000 (11:18 +0200)
source3/include/printing.h
source3/printing/printing.c
source3/rpc_server/srv_spoolss_nt.c

index b5fd98dd858f0f9d6f890b178dc362b9e1245842..a16917fe32c8646b858b6479c71b59d41952467f 100644 (file)
@@ -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,
index 297fdd1d2851f76dc1c4e8fbdd8b6c798481046a..4240ddf330d8040e27e12082cc5e123a1a33385d 100644 (file)
@@ -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,
index cdb03ff897806a7fb011a5580c65e8e900643bd3..46e47f595f580983529fbca03fe110d5959cc70e 100644 (file)
@@ -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);