summaryrefslogtreecommitdiff
path: root/usr/src/lib/print
diff options
context:
space:
mode:
authorKeerthi Kondaka <Keerthi.Kondaka@Sun.COM>2009-05-11 19:11:40 -0700
committerKeerthi Kondaka <Keerthi.Kondaka@Sun.COM>2009-05-11 19:11:40 -0700
commit286caa64ad16838107c004ca772b1d153e7c7510 (patch)
treef14007efffccd04b1d7c041ead8bec1b199ae1b4 /usr/src/lib/print
parent1cdd1aaf626935b35809ac56ba35804939a9b4fb (diff)
downloadillumos-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.c11
-rw-r--r--usr/src/lib/print/libpapi-lpd/common/lpd-job.c6
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);