summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/proto.h3
-rw-r--r--source3/printing/notify.c13
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c6
3 files changed, 19 insertions, 3 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 5cdb956974..866836f99f 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -4044,6 +4044,9 @@ void notify_printer_byname(struct tevent_context *ev,
struct messaging_context *msg_ctx,
const char *printername, uint32 change,
const char *value);
+void notify_printer_sepfile(struct tevent_context *ev,
+ struct messaging_context *msg_ctx,
+ int snum, const char *sepfile);
/* The following definitions come from printing/pcap.c */
diff --git a/source3/printing/notify.c b/source3/printing/notify.c
index 9f07f6cba6..84a979e1b2 100644
--- a/source3/printing/notify.c
+++ b/source3/printing/notify.c
@@ -577,6 +577,19 @@ void notify_printer_location(struct tevent_context *ev,
snum, strlen(location) + 1, location);
}
+void notify_printer_sepfile(struct tevent_context *ev,
+ struct messaging_context *msg_ctx,
+ int snum, const char *sepfile)
+{
+ const char *sharename = lp_servicename(snum);
+
+ send_notify_field_buffer(
+ ev, msg_ctx,
+ sharename, PRINTER_NOTIFY_TYPE, PRINTER_NOTIFY_FIELD_SEPFILE,
+ snum, strlen(sepfile) + 1, sepfile);
+}
+
+
void notify_printer_byname(struct tevent_context *ev,
struct messaging_context *msg_ctx,
const char *printername, uint32 change,
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index 889c370c39..5f803b6304 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -6245,9 +6245,9 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
buffer.length);
if (!force_update) {
- notify_printer_location(server_event_context(),
- msg_ctx, snum,
- printer->location);
+ notify_printer_sepfile(server_event_context(),
+ msg_ctx, snum,
+ printer->sepfile);
}
}