diff options
| author | Keerthi Kondaka <Keerthi.Kondaka@Sun.COM> | 2009-05-11 19:11:40 -0700 |
|---|---|---|
| committer | Keerthi Kondaka <Keerthi.Kondaka@Sun.COM> | 2009-05-11 19:11:40 -0700 |
| commit | 286caa64ad16838107c004ca772b1d153e7c7510 (patch) | |
| tree | f14007efffccd04b1d7c041ead8bec1b199ae1b4 /usr/src/lib/print | |
| parent | 1cdd1aaf626935b35809ac56ba35804939a9b4fb (diff) | |
| download | illumos-joyent-286caa64ad16838107c004ca772b1d153e7c7510.tar.gz | |
6795878 Cascading banner page produces lp@ instead of user@
Diffstat (limited to 'usr/src/lib/print')
| -rw-r--r-- | usr/src/lib/print/libipp-listener/common/print-job.c | 11 | ||||
| -rw-r--r-- | usr/src/lib/print/libpapi-lpd/common/lpd-job.c | 6 |
2 files changed, 16 insertions, 1 deletions
diff --git a/usr/src/lib/print/libipp-listener/common/print-job.c b/usr/src/lib/print/libipp-listener/common/print-job.c index 4b95f32819..59e00322ad 100644 --- a/usr/src/lib/print/libipp-listener/common/print-job.c +++ b/usr/src/lib/print/libipp-listener/common/print-job.c @@ -87,9 +87,18 @@ ipp_print_job(papi_service_t svc, papi_attribute_t **request, /* copy any job-attributes-group attributes for the PAPI call */ if (papiAttributeListGetCollection(request, NULL, - "job-attributes-group", &operational) == PAPI_OK) + "job-attributes-group", &operational) == PAPI_OK) { + char *user = NULL; + copy_attributes(&job_attributes, operational); + if (papiAttributeListGetString(operational, NULL, + "requesting-user-name", &user) == PAPI_OK) { + papiAttributeListAddString(&job_attributes, + PAPI_ATTR_REPLACE, "requesting-user-name", user); + } + } + /* Set "job-originating-host-name" attribute if not set */ papiAttributeListGetString(job_attributes, NULL, "job-originating-host-name", &host); diff --git a/usr/src/lib/print/libpapi-lpd/common/lpd-job.c b/usr/src/lib/print/libpapi-lpd/common/lpd-job.c index 86223f5e54..c958a51e06 100644 --- a/usr/src/lib/print/libpapi-lpd/common/lpd-job.c +++ b/usr/src/lib/print/libpapi-lpd/common/lpd-job.c @@ -161,6 +161,7 @@ lpd_add_rfc1179_attributes(service_t *svc, papi_attribute_t **attributes, char *user = "nobody"; uid_t uid = getuid(); struct passwd *pw; + char *h1; if (svc == NULL) return (PAPI_BAD_REQUEST); @@ -170,6 +171,11 @@ lpd_add_rfc1179_attributes(service_t *svc, papi_attribute_t **attributes, return (PAPI_OK); gethostname(host, sizeof (host)); + if (papiAttributeListGetString(attributes, NULL, + "job-originating-host-name", &h1) == PAPI_OK) { + papiAttributeListAddString(&attributes, PAPI_ATTR_APPEND, + "job-host", h1); + } add_lpd_control_line(metadata, 'H', host); papiAttributeListAddString(used, PAPI_ATTR_EXCL, "job-originating-host-name", host); |
