From abe6aff924ed56a36ba6390d692446019bef0f21 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Mon, 26 Nov 2001 03:39:16 +0000 Subject: Merge from appliance-head: when creating a default security descriptor for a printer, save it in ntprinters.tdb instead of recreating it every time it is required. This can save at least one winbind lookup per secdesc creation. Opening a port monitor and viewing the security tab in the properties dialog required the security descriptor to be returned 25 times! (This used to be commit f85c976acc08a16bce6cb4053708485ccdea0d77) --- source3/printing/nt_printing.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'source3/printing/nt_printing.c') diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c index b03f9ff213..ae3c43fd93 100644 --- a/source3/printing/nt_printing.c +++ b/source3/printing/nt_printing.c @@ -3523,7 +3523,7 @@ static SEC_DESC_BUF *construct_default_printer_sdb(TALLOC_CTX *ctx) } if (!psd) { - DEBUG(0,("construct_default_printer_sd: Failed to make SEC_DESC.\n")); + DEBUG(0,("construct_default_printer_sdb: Failed to make SEC_DESC.\n")); return NULL; } @@ -3562,6 +3562,16 @@ BOOL nt_printing_getsec(TALLOC_CTX *ctx, char *printername, SEC_DESC_BUF **secde return False; } + /* Save default security descriptor for later */ + + prs_init(&ps, (uint32)sec_desc_size((*secdesc_ctr)->sec) + + sizeof(SEC_DESC_BUF), ctx, MARSHALL); + + if (sec_io_desc_buf("nt_printing_setsec", secdesc_ctr, &ps, 1)) + tdb_prs_store(tdb_printers, key, &ps); + + prs_mem_free(&ps); + return True; } -- cgit