summaryrefslogtreecommitdiff
path: root/source3/rpc_server/spoolss/srv_spoolss_nt.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_server/spoolss/srv_spoolss_nt.c')
-rw-r--r--source3/rpc_server/spoolss/srv_spoolss_nt.c368
1 files changed, 184 insertions, 184 deletions
diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c b/source3/rpc_server/spoolss/srv_spoolss_nt.c
index d2552ae47b..a303a7a321 100644
--- a/source3/rpc_server/spoolss/srv_spoolss_nt.c
+++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c
@@ -453,7 +453,7 @@ static WERROR delete_printer_handle(struct pipes_struct *p, struct policy_handle
done on the handle already */
result = winreg_delete_printer_key(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
Printer->sharename,
"");
@@ -462,7 +462,7 @@ static WERROR delete_printer_handle(struct pipes_struct *p, struct policy_handle
return WERR_BADFID;
}
- result = delete_printer_hook(p->mem_ctx, p->server_info->security_token,
+ result = delete_printer_hook(p->mem_ctx, p->session_info->security_token,
Printer->sharename, p->msg_ctx);
if (!W_ERROR_IS_OK(result)) {
return result;
@@ -540,7 +540,7 @@ static void prune_printername_cache(void)
****************************************************************************/
static WERROR set_printer_hnd_name(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
struct printer_handle *Printer,
const char *handlename)
@@ -675,7 +675,7 @@ static WERROR set_printer_hnd_name(TALLOC_CTX *mem_ctx,
}
result = winreg_get_printer(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
sname,
&info2);
@@ -761,7 +761,7 @@ static WERROR open_printer_hnd(struct pipes_struct *p,
}
result = set_printer_hnd_name(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
new_printer, name);
if (!W_ERROR_IS_OK(result)) {
@@ -1522,7 +1522,7 @@ void do_drv_upgrade_printer(struct messaging_context *msg,
DATA_BLOB *data)
{
TALLOC_CTX *tmp_ctx;
- struct auth_serversupplied_info *server_info = NULL;
+ struct auth_serversupplied_info *session_info = NULL;
struct spoolss_PrinterInfo2 *pinfo2;
NTSTATUS status;
WERROR result;
@@ -1533,10 +1533,10 @@ void do_drv_upgrade_printer(struct messaging_context *msg,
tmp_ctx = talloc_new(NULL);
if (!tmp_ctx) return;
- status = make_server_info_system(tmp_ctx, &server_info);
+ status = make_session_info_system(tmp_ctx, &session_info);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("do_drv_upgrade_printer: "
- "Could not create system server_info\n"));
+ "Could not create system session_info\n"));
goto done;
}
@@ -1561,7 +1561,7 @@ void do_drv_upgrade_printer(struct messaging_context *msg,
continue;
}
- result = winreg_get_printer(tmp_ctx, server_info, msg,
+ result = winreg_get_printer(tmp_ctx, session_info, msg,
lp_const_servicename(snum),
&pinfo2);
@@ -1581,7 +1581,7 @@ void do_drv_upgrade_printer(struct messaging_context *msg,
/* all we care about currently is the change_id */
result = winreg_printer_update_changeid(tmp_ctx,
- server_info,
+ session_info,
msg,
pinfo2->printername);
@@ -1801,14 +1801,14 @@ WERROR _spoolss_OpenPrinterEx(struct pipes_struct *p,
/* if the user is not root, doesn't have SE_PRINT_OPERATOR privilege,
and not a printer admin, then fail */
- if ((p->server_info->utok.uid != sec_initial_uid()) &&
- !security_token_has_privilege(p->server_info->security_token, SEC_PRIV_PRINT_OPERATOR) &&
- !nt_token_check_sid(&global_sid_Builtin_Print_Operators, p->server_info->security_token) &&
+ if ((p->session_info->utok.uid != sec_initial_uid()) &&
+ !security_token_has_privilege(p->session_info->security_token, SEC_PRIV_PRINT_OPERATOR) &&
+ !nt_token_check_sid(&global_sid_Builtin_Print_Operators, p->session_info->security_token) &&
!token_contains_name_in_list(
- uidtoname(p->server_info->utok.uid),
- p->server_info->info3->base.domain.string,
+ uidtoname(p->session_info->utok.uid),
+ p->session_info->info3->base.domain.string,
NULL,
- p->server_info->security_token,
+ p->session_info->security_token,
lp_printer_admin(snum))) {
close_printer_handle(p, r->out.handle);
ZERO_STRUCTP(r->out.handle);
@@ -1873,9 +1873,9 @@ WERROR _spoolss_OpenPrinterEx(struct pipes_struct *p,
return WERR_ACCESS_DENIED;
}
- if (!user_ok_token(uidtoname(p->server_info->utok.uid), NULL,
- p->server_info->security_token, snum) ||
- !print_access_check(p->server_info,
+ if (!user_ok_token(uidtoname(p->session_info->utok.uid), NULL,
+ p->session_info->security_token, snum) ||
+ !print_access_check(p->session_info,
p->msg_ctx,
snum,
r->in.access_mask)) {
@@ -1901,7 +1901,7 @@ WERROR _spoolss_OpenPrinterEx(struct pipes_struct *p,
? "PRINTER_ACCESS_ADMINISTER" : "PRINTER_ACCESS_USE" ));
winreg_create_printer(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum));
@@ -1992,7 +1992,7 @@ WERROR _spoolss_DeletePrinter(struct pipes_struct *p,
if (get_printer_snum(p, r->in.handle, &snum, NULL)) {
winreg_delete_printer_key(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum),
"");
@@ -2049,13 +2049,13 @@ WERROR _spoolss_DeletePrinterDriver(struct pipes_struct *p,
/* if the user is not root, doesn't have SE_PRINT_OPERATOR privilege,
and not a printer admin, then fail */
- if ( (p->server_info->utok.uid != sec_initial_uid())
- && !security_token_has_privilege(p->server_info->security_token, SEC_PRIV_PRINT_OPERATOR)
+ if ( (p->session_info->utok.uid != sec_initial_uid())
+ && !security_token_has_privilege(p->session_info->security_token, SEC_PRIV_PRINT_OPERATOR)
&& !token_contains_name_in_list(
- uidtoname(p->server_info->utok.uid),
- p->server_info->info3->base.domain.string,
+ uidtoname(p->session_info->utok.uid),
+ p->session_info->info3->base.domain.string,
NULL,
- p->server_info->security_token,
+ p->session_info->security_token,
lp_printer_admin(-1)) )
{
return WERR_ACCESS_DENIED;
@@ -2067,7 +2067,7 @@ WERROR _spoolss_DeletePrinterDriver(struct pipes_struct *p,
return WERR_INVALID_ENVIRONMENT;
status = winreg_get_driver(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
r->in.architecture, r->in.driver,
version, &info);
@@ -2078,7 +2078,7 @@ WERROR _spoolss_DeletePrinterDriver(struct pipes_struct *p,
version = 3;
status = winreg_get_driver(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
r->in.architecture,
r->in.driver,
@@ -2097,7 +2097,7 @@ WERROR _spoolss_DeletePrinterDriver(struct pipes_struct *p,
}
if (printer_driver_in_use(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
info)) {
status = WERR_PRINTER_DRIVER_IN_USE;
@@ -2106,7 +2106,7 @@ WERROR _spoolss_DeletePrinterDriver(struct pipes_struct *p,
if (version == 2) {
status = winreg_get_driver(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
r->in.architecture,
r->in.driver, 3, &info_win2k);
@@ -2115,7 +2115,7 @@ WERROR _spoolss_DeletePrinterDriver(struct pipes_struct *p,
/* remove the Win2k driver first*/
status = winreg_del_driver(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
info_win2k, 3);
talloc_free(info_win2k);
@@ -2128,7 +2128,7 @@ WERROR _spoolss_DeletePrinterDriver(struct pipes_struct *p,
}
status = winreg_del_driver(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
info, version);
@@ -2154,13 +2154,13 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p,
/* if the user is not root, doesn't have SE_PRINT_OPERATOR privilege,
and not a printer admin, then fail */
- if ( (p->server_info->utok.uid != sec_initial_uid())
- && !security_token_has_privilege(p->server_info->security_token, SEC_PRIV_PRINT_OPERATOR)
+ if ( (p->session_info->utok.uid != sec_initial_uid())
+ && !security_token_has_privilege(p->session_info->security_token, SEC_PRIV_PRINT_OPERATOR)
&& !token_contains_name_in_list(
- uidtoname(p->server_info->utok.uid),
- p->server_info->info3->base.domain.string,
+ uidtoname(p->session_info->utok.uid),
+ p->session_info->info3->base.domain.string,
NULL,
- p->server_info->security_token, lp_printer_admin(-1)) )
+ p->session_info->security_token, lp_printer_admin(-1)) )
{
return WERR_ACCESS_DENIED;
}
@@ -2175,7 +2175,7 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p,
version = r->in.version;
status = winreg_get_driver(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
r->in.architecture,
r->in.driver,
@@ -2197,7 +2197,7 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p,
version = 3;
status = winreg_get_driver(info,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
r->in.architecture,
r->in.driver,
@@ -2209,7 +2209,7 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p,
}
if (printer_driver_in_use(info,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
info)) {
status = WERR_PRINTER_DRIVER_IN_USE;
@@ -2235,7 +2235,7 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p,
if (delete_files &&
(r->in.delete_flags & DPD_DELETE_ALL_FILES) &&
printer_driver_files_in_use(info,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
info)) {
/* no idea of the correct error here */
@@ -2248,7 +2248,7 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p,
if ( (version == 2) && ((r->in.delete_flags & DPD_DELETE_SPECIFIC_VERSION) != DPD_DELETE_SPECIFIC_VERSION) ) {
status = winreg_get_driver(info,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
r->in.architecture,
r->in.driver, 3, &info_win2k);
@@ -2257,7 +2257,7 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p,
if (delete_files &&
(r->in.delete_flags & DPD_DELETE_ALL_FILES) &&
printer_driver_files_in_use(info,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
info_win2k)) {
/* no idea of the correct error here */
@@ -2270,7 +2270,7 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p,
/* remove the Win2k driver first*/
status = winreg_del_driver(info,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
info_win2k,
3);
@@ -2287,14 +2287,14 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p,
* because the driver doesn not exist any more
*/
if (delete_files) {
- delete_driver_files(get_server_info_system(),
+ delete_driver_files(get_session_info_system(),
info_win2k);
}
}
}
status = winreg_del_driver(info,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
info,
version);
@@ -2308,7 +2308,7 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p,
* because the driver doesn not exist any more
*/
if (delete_files) {
- delete_driver_files(get_server_info_system(), info);
+ delete_driver_files(get_session_info_system(), info);
}
done:
@@ -3560,9 +3560,9 @@ static WERROR printserver_notify_info(struct pipes_struct *p,
continue; /* skip */
}
- /* Maybe we should use the SYSTEM server_info here... */
+ /* Maybe we should use the SYSTEM session_info here... */
result = winreg_get_printer(mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_servicename(snum),
&pinfo2);
@@ -3646,9 +3646,9 @@ static WERROR printer_notify_info(struct pipes_struct *p,
get_printer_snum(p, hnd, &snum, NULL);
- /* Maybe we should use the SYSTEM server_info here... */
+ /* Maybe we should use the SYSTEM session_info here... */
result = winreg_get_printer(mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_servicename(snum), &pinfo2);
if (!W_ERROR_IS_OK(result)) {
@@ -3823,7 +3823,7 @@ static void compose_devicemode_devicename(struct spoolss_DeviceMode *dm,
********************************************************************/
static WERROR construct_printer_info0(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
struct spoolss_PrinterInfo2 *info2,
const char *servername,
@@ -3896,7 +3896,7 @@ static WERROR construct_printer_info0(TALLOC_CTX *mem_ctx,
r->high_part_total_bytes = 0x0;
/* ChangeID in milliseconds*/
- winreg_printer_get_changeid(mem_ctx, server_info, msg_ctx,
+ winreg_printer_get_changeid(mem_ctx, session_info, msg_ctx,
info2->sharename, &r->change_id);
r->last_error = WERR_OK;
@@ -4151,18 +4151,18 @@ static WERROR construct_printer_info7(TALLOC_CTX *mem_ctx,
struct spoolss_PrinterInfo7 *r,
int snum)
{
- struct auth_serversupplied_info *server_info;
+ struct auth_serversupplied_info *session_info;
struct GUID guid;
NTSTATUS status;
- status = make_server_info_system(mem_ctx, &server_info);
+ status = make_session_info_system(mem_ctx, &session_info);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("construct_printer_info7: "
- "Could not create system server_info\n"));
+ "Could not create system session_info\n"));
return WERR_NOMEM;
}
- if (is_printer_published(mem_ctx, server_info, msg_ctx,
+ if (is_printer_published(mem_ctx, session_info, msg_ctx,
servername,
lp_servicename(snum), &guid, NULL)) {
r->guid = talloc_strdup_upper(mem_ctx, GUID_string2(mem_ctx, &guid));
@@ -4173,7 +4173,7 @@ static WERROR construct_printer_info7(TALLOC_CTX *mem_ctx,
}
W_ERROR_HAVE_NO_MEMORY(r->guid);
- TALLOC_FREE(server_info);
+ TALLOC_FREE(session_info);
return WERR_OK;
}
@@ -4220,7 +4220,7 @@ static bool snum_is_shared_printer(int snum)
********************************************************************/
static WERROR enum_all_printers_info_level(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
const char *servername,
uint32_t level,
@@ -4252,7 +4252,7 @@ static WERROR enum_all_printers_info_level(TALLOC_CTX *mem_ctx,
printer, snum));
result = winreg_create_printer(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer);
if (!W_ERROR_IS_OK(result)) {
@@ -4267,7 +4267,7 @@ static WERROR enum_all_printers_info_level(TALLOC_CTX *mem_ctx,
goto out;
}
- result = winreg_get_printer(mem_ctx, server_info, msg_ctx,
+ result = winreg_get_printer(mem_ctx, session_info, msg_ctx,
printer, &info2);
if (!W_ERROR_IS_OK(result)) {
goto out;
@@ -4275,7 +4275,7 @@ static WERROR enum_all_printers_info_level(TALLOC_CTX *mem_ctx,
switch (level) {
case 0:
- result = construct_printer_info0(info, server_info,
+ result = construct_printer_info0(info, session_info,
msg_ctx, info2,
servername,
&info[count].info0, snum);
@@ -4332,7 +4332,7 @@ static WERROR enum_all_printers_info_level(TALLOC_CTX *mem_ctx,
********************************************************************/
static WERROR enumprinters_level0(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
uint32_t flags,
const char *servername,
@@ -4341,7 +4341,7 @@ static WERROR enumprinters_level0(TALLOC_CTX *mem_ctx,
{
DEBUG(4,("enum_all_printers_info_0\n"));
- return enum_all_printers_info_level(mem_ctx, server_info, msg_ctx,
+ return enum_all_printers_info_level(mem_ctx, session_info, msg_ctx,
servername, 0, flags, info, count);
}
@@ -4350,7 +4350,7 @@ static WERROR enumprinters_level0(TALLOC_CTX *mem_ctx,
********************************************************************/
static WERROR enum_all_printers_info_1(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
const char *servername,
uint32_t flags,
@@ -4359,7 +4359,7 @@ static WERROR enum_all_printers_info_1(TALLOC_CTX *mem_ctx,
{
DEBUG(4,("enum_all_printers_info_1\n"));
- return enum_all_printers_info_level(mem_ctx, server_info, msg_ctx,
+ return enum_all_printers_info_level(mem_ctx, session_info, msg_ctx,
servername, 1, flags, info, count);
}
@@ -4368,7 +4368,7 @@ static WERROR enum_all_printers_info_1(TALLOC_CTX *mem_ctx,
*********************************************************************/
static WERROR enum_all_printers_info_1_local(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
const char *servername,
union spoolss_PrinterInfo **info,
@@ -4376,7 +4376,7 @@ static WERROR enum_all_printers_info_1_local(TALLOC_CTX *mem_ctx,
{
DEBUG(4,("enum_all_printers_info_1_local\n"));
- return enum_all_printers_info_1(mem_ctx, server_info, msg_ctx,
+ return enum_all_printers_info_1(mem_ctx, session_info, msg_ctx,
servername, PRINTER_ENUM_ICON8, info, count);
}
@@ -4385,7 +4385,7 @@ static WERROR enum_all_printers_info_1_local(TALLOC_CTX *mem_ctx,
*********************************************************************/
static WERROR enum_all_printers_info_1_name(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
const char *servername,
union spoolss_PrinterInfo **info,
@@ -4403,7 +4403,7 @@ static WERROR enum_all_printers_info_1_name(TALLOC_CTX *mem_ctx,
return WERR_INVALID_NAME;
}
- return enum_all_printers_info_1(mem_ctx, server_info, msg_ctx,
+ return enum_all_printers_info_1(mem_ctx, session_info, msg_ctx,
servername, PRINTER_ENUM_ICON8, info, count);
}
@@ -4412,7 +4412,7 @@ static WERROR enum_all_printers_info_1_name(TALLOC_CTX *mem_ctx,
*********************************************************************/
static WERROR enum_all_printers_info_1_network(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
const char *servername,
union spoolss_PrinterInfo **info,
@@ -4438,7 +4438,7 @@ static WERROR enum_all_printers_info_1_network(TALLOC_CTX *mem_ctx,
return WERR_CAN_NOT_COMPLETE;
}
- return enum_all_printers_info_1(mem_ctx, server_info, msg_ctx,
+ return enum_all_printers_info_1(mem_ctx, session_info, msg_ctx,
servername, PRINTER_ENUM_NAME, info, count);
}
@@ -4449,7 +4449,7 @@ static WERROR enum_all_printers_info_1_network(TALLOC_CTX *mem_ctx,
********************************************************************/
static WERROR enum_all_printers_info_2(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
const char *servername,
union spoolss_PrinterInfo **info,
@@ -4457,7 +4457,7 @@ static WERROR enum_all_printers_info_2(TALLOC_CTX *mem_ctx,
{
DEBUG(4,("enum_all_printers_info_2\n"));
- return enum_all_printers_info_level(mem_ctx, server_info, msg_ctx,
+ return enum_all_printers_info_level(mem_ctx, session_info, msg_ctx,
servername, 2, 0, info, count);
}
@@ -4466,7 +4466,7 @@ static WERROR enum_all_printers_info_2(TALLOC_CTX *mem_ctx,
********************************************************************/
static WERROR enumprinters_level1(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
uint32_t flags,
const char *servername,
@@ -4476,18 +4476,18 @@ static WERROR enumprinters_level1(TALLOC_CTX *mem_ctx,
/* Not all the flags are equals */
if (flags & PRINTER_ENUM_LOCAL) {
- return enum_all_printers_info_1_local(mem_ctx, server_info,
+ return enum_all_printers_info_1_local(mem_ctx, session_info,
msg_ctx, servername, info, count);
}
if (flags & PRINTER_ENUM_NAME) {
- return enum_all_printers_info_1_name(mem_ctx, server_info,
+ return enum_all_printers_info_1_name(mem_ctx, session_info,
msg_ctx, servername, info,
count);
}
if (flags & PRINTER_ENUM_NETWORK) {
- return enum_all_printers_info_1_network(mem_ctx, server_info,
+ return enum_all_printers_info_1_network(mem_ctx, session_info,
msg_ctx, servername, info,
count);
}
@@ -4500,7 +4500,7 @@ static WERROR enumprinters_level1(TALLOC_CTX *mem_ctx,
********************************************************************/
static WERROR enumprinters_level2(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
uint32_t flags,
const char *servername,
@@ -4509,7 +4509,7 @@ static WERROR enumprinters_level2(TALLOC_CTX *mem_ctx,
{
if (flags & PRINTER_ENUM_LOCAL) {
- return enum_all_printers_info_2(mem_ctx, server_info, msg_ctx,
+ return enum_all_printers_info_2(mem_ctx, session_info, msg_ctx,
servername,
info, count);
}
@@ -4519,7 +4519,7 @@ static WERROR enumprinters_level2(TALLOC_CTX *mem_ctx,
return WERR_INVALID_NAME;
}
- return enum_all_printers_info_2(mem_ctx, server_info, msg_ctx,
+ return enum_all_printers_info_2(mem_ctx, session_info, msg_ctx,
servername,
info, count);
}
@@ -4536,7 +4536,7 @@ static WERROR enumprinters_level2(TALLOC_CTX *mem_ctx,
********************************************************************/
static WERROR enumprinters_level4(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
uint32_t flags,
const char *servername,
@@ -4545,7 +4545,7 @@ static WERROR enumprinters_level4(TALLOC_CTX *mem_ctx,
{
DEBUG(4,("enum_all_printers_info_4\n"));
- return enum_all_printers_info_level(mem_ctx, server_info, msg_ctx,
+ return enum_all_printers_info_level(mem_ctx, session_info, msg_ctx,
servername, 4, flags, info, count);
}
@@ -4555,7 +4555,7 @@ static WERROR enumprinters_level4(TALLOC_CTX *mem_ctx,
********************************************************************/
static WERROR enumprinters_level5(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
uint32_t flags,
const char *servername,
@@ -4564,7 +4564,7 @@ static WERROR enumprinters_level5(TALLOC_CTX *mem_ctx,
{
DEBUG(4,("enum_all_printers_info_5\n"));
- return enum_all_printers_info_level(mem_ctx, server_info, msg_ctx,
+ return enum_all_printers_info_level(mem_ctx, session_info, msg_ctx,
servername, 5, flags, info, count);
}
@@ -4575,7 +4575,7 @@ static WERROR enumprinters_level5(TALLOC_CTX *mem_ctx,
WERROR _spoolss_EnumPrinters(struct pipes_struct *p,
struct spoolss_EnumPrinters *r)
{
- const struct auth_serversupplied_info *server_info = get_server_info_system();
+ const struct auth_serversupplied_info *session_info = get_session_info_system();
WERROR result;
/* that's an [in out] buffer */
@@ -4609,31 +4609,31 @@ WERROR _spoolss_EnumPrinters(struct pipes_struct *p,
switch (r->in.level) {
case 0:
- result = enumprinters_level0(p->mem_ctx, server_info,
+ result = enumprinters_level0(p->mem_ctx, session_info,
p->msg_ctx, r->in.flags,
r->in.server,
r->out.info, r->out.count);
break;
case 1:
- result = enumprinters_level1(p->mem_ctx, server_info,
+ result = enumprinters_level1(p->mem_ctx, session_info,
p->msg_ctx, r->in.flags,
r->in.server,
r->out.info, r->out.count);
break;
case 2:
- result = enumprinters_level2(p->mem_ctx, server_info,
+ result = enumprinters_level2(p->mem_ctx, session_info,
p->msg_ctx, r->in.flags,
r->in.server,
r->out.info, r->out.count);
break;
case 4:
- result = enumprinters_level4(p->mem_ctx, server_info,
+ result = enumprinters_level4(p->mem_ctx, session_info,
p->msg_ctx, r->in.flags,
r->in.server,
r->out.info, r->out.count);
break;
case 5:
- result = enumprinters_level5(p->mem_ctx, server_info,
+ result = enumprinters_level5(p->mem_ctx, session_info,
p->msg_ctx, r->in.flags,
r->in.server,
r->out.info, r->out.count);
@@ -4685,7 +4685,7 @@ WERROR _spoolss_GetPrinter(struct pipes_struct *p,
}
result = winreg_get_printer(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum),
&info2);
@@ -4696,7 +4696,7 @@ WERROR _spoolss_GetPrinter(struct pipes_struct *p,
switch (r->in.level) {
case 0:
result = construct_printer_info0(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
info2,
Printer->servername,
@@ -5445,7 +5445,7 @@ static WERROR fill_printer_driver_info101(TALLOC_CTX *mem_ctx,
********************************************************************/
static WERROR construct_printer_driver_info_level(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
uint32_t level,
union spoolss_DriverInfo *r,
@@ -5463,7 +5463,7 @@ static WERROR construct_printer_driver_info_level(TALLOC_CTX *mem_ctx,
}
result = winreg_get_printer(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
lp_const_servicename(snum),
&pinfo2);
@@ -5475,7 +5475,7 @@ static WERROR construct_printer_driver_info_level(TALLOC_CTX *mem_ctx,
return WERR_INVALID_PRINTER_NAME;
}
- result = winreg_get_driver(mem_ctx, server_info, msg_ctx,
+ result = winreg_get_driver(mem_ctx, session_info, msg_ctx,
architecture,
pinfo2->drivername, version, &driver);
@@ -5494,7 +5494,7 @@ static WERROR construct_printer_driver_info_level(TALLOC_CTX *mem_ctx,
/* Yes - try again with a WinNT driver. */
version = 2;
- result = winreg_get_driver(mem_ctx, server_info, msg_ctx,
+ result = winreg_get_driver(mem_ctx, session_info, msg_ctx,
architecture,
pinfo2->drivername,
version, &driver);
@@ -5578,7 +5578,7 @@ WERROR _spoolss_GetPrinterDriver2(struct pipes_struct *p,
}
result = construct_printer_driver_info_level(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
r->in.level, r->out.info,
snum, printer->servername,
@@ -5694,7 +5694,7 @@ WERROR _spoolss_StartDocPrinter(struct pipes_struct *p,
return WERR_BADFID;
}
- werr = print_job_start(p->server_info,
+ werr = print_job_start(p->session_info,
p->msg_ctx,
p->client_id->name,
snum,
@@ -5797,7 +5797,7 @@ WERROR _spoolss_WritePrinter(struct pipes_struct *p,
static WERROR control_printer(struct policy_handle *handle, uint32_t command,
struct pipes_struct *p)
{
- const struct auth_serversupplied_info *server_info = p->server_info;
+ const struct auth_serversupplied_info *session_info = p->session_info;
int snum;
WERROR errcode = WERR_BADFUNC;
struct printer_handle *Printer = find_printer_index_by_hnd(p, handle);
@@ -5813,14 +5813,14 @@ static WERROR control_printer(struct policy_handle *handle, uint32_t command,
switch (command) {
case SPOOLSS_PRINTER_CONTROL_PAUSE:
- errcode = print_queue_pause(server_info, p->msg_ctx, snum);
+ errcode = print_queue_pause(session_info, p->msg_ctx, snum);
break;
case SPOOLSS_PRINTER_CONTROL_RESUME:
case SPOOLSS_PRINTER_CONTROL_UNPAUSE:
- errcode = print_queue_resume(server_info, p->msg_ctx, snum);
+ errcode = print_queue_resume(session_info, p->msg_ctx, snum);
break;
case SPOOLSS_PRINTER_CONTROL_PURGE:
- errcode = print_queue_purge(server_info, p->msg_ctx, snum);
+ errcode = print_queue_purge(session_info, p->msg_ctx, snum);
break;
default:
return WERR_UNKNOWN_LEVEL;
@@ -5856,7 +5856,7 @@ WERROR _spoolss_AbortPrinter(struct pipes_struct *p,
return WERR_SPL_NO_STARTDOC;
}
- errcode = print_job_delete(p->server_info,
+ errcode = print_job_delete(p->session_info,
p->msg_ctx,
snum,
Printer->jobid);
@@ -5910,7 +5910,7 @@ static WERROR update_printer_sec(struct policy_handle *handle,
/* NT seems to like setting the security descriptor even though
nothing may have actually changed. */
result = winreg_get_printer_secdesc(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
printer,
&old_secdesc);
@@ -5962,7 +5962,7 @@ static WERROR update_printer_sec(struct policy_handle *handle,
}
result = winreg_set_printer_secdesc(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
printer,
new_secdesc);
@@ -6156,7 +6156,7 @@ static bool add_printer_hook(TALLOC_CTX *ctx, struct security_token *token,
}
static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
int snum,
struct spoolss_SetPrinterInfo2 *printer,
@@ -6173,7 +6173,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
if (force_update || !strequal(printer->drivername, old_printer->drivername)) {
push_reg_sz(mem_ctx, &buffer, printer->drivername);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6195,7 +6195,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
if (force_update || !strequal(printer->comment, old_printer->comment)) {
push_reg_sz(mem_ctx, &buffer, printer->comment);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6214,7 +6214,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
if (force_update || !strequal(printer->sharename, old_printer->sharename)) {
push_reg_sz(mem_ctx, &buffer, printer->sharename);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6243,7 +6243,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
push_reg_sz(mem_ctx, &buffer, p);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6261,7 +6261,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
if (force_update || !strequal(printer->portname, old_printer->portname)) {
push_reg_sz(mem_ctx, &buffer, printer->portname);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6280,7 +6280,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
if (force_update || !strequal(printer->location, old_printer->location)) {
push_reg_sz(mem_ctx, &buffer, printer->location);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6300,7 +6300,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
if (force_update || !strequal(printer->sepfile, old_printer->sepfile)) {
push_reg_sz(mem_ctx, &buffer, printer->sepfile);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6321,7 +6321,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
buffer = data_blob_talloc(mem_ctx, NULL, 4);
SIVAL(buffer.data, 0, printer->starttime);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6335,7 +6335,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
buffer = data_blob_talloc(mem_ctx, NULL, 4);
SIVAL(buffer.data, 0, printer->untiltime);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6349,7 +6349,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
buffer = data_blob_talloc(mem_ctx, NULL, 4);
SIVAL(buffer.data, 0, printer->priority);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6364,7 +6364,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
SIVAL(buffer.data, 0, (printer->attributes &
PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS));
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6388,7 +6388,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
}
push_reg_sz(mem_ctx, &buffer, spooling);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6400,7 +6400,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
push_reg_sz(mem_ctx, &buffer, global_myname());
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6422,7 +6422,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
push_reg_sz(mem_ctx, &buffer, longname);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6435,7 +6435,7 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx,
global_myname(), printer->sharename);
push_reg_sz(mem_ctx, &buffer, uncname);
winreg_set_printer_dataex(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
printer->sharename,
SPOOL_DSSPOOLER_KEY,
@@ -6484,7 +6484,7 @@ static WERROR update_printer(struct pipes_struct *p,
}
result = winreg_get_printer(tmp_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum),
&old_printer);
@@ -6519,7 +6519,7 @@ static WERROR update_printer(struct pipes_struct *p,
!strequal(printer->location, old_printer->location)) )
{
/* add_printer_hook() will call reload_services() */
- if (!add_printer_hook(tmp_ctx, p->server_info->security_token,
+ if (!add_printer_hook(tmp_ctx, p->session_info->security_token,
printer, p->client_id->addr,
p->msg_ctx)) {
result = WERR_ACCESS_DENIED;
@@ -6528,7 +6528,7 @@ static WERROR update_printer(struct pipes_struct *p,
}
update_dsspooler(tmp_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
snum,
printer,
@@ -6540,7 +6540,7 @@ static WERROR update_printer(struct pipes_struct *p,
printer_mask &= ~SPOOLSS_PRINTER_INFO_DEVMODE;
}
result = winreg_update_printer(tmp_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
printer->sharename,
printer_mask,
@@ -6581,7 +6581,7 @@ static WERROR publish_or_unpublish_printer(struct pipes_struct *p,
return WERR_BADFID;
result = winreg_get_printer(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_servicename(snum),
&pinfo2);
@@ -6590,7 +6590,7 @@ static WERROR publish_or_unpublish_printer(struct pipes_struct *p,
}
nt_printer_publish(pinfo2,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
pinfo2,
info7->action);
@@ -6630,7 +6630,7 @@ static WERROR update_printer_devmode(struct pipes_struct *p,
}
return winreg_update_printer(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum),
info2_mask,
@@ -7044,7 +7044,7 @@ WERROR _spoolss_EnumJobs(struct pipes_struct *p,
}
result = winreg_get_printer(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum),
&pinfo2);
@@ -7141,7 +7141,7 @@ static WERROR spoolss_setjob_1(TALLOC_CTX *mem_ctx,
WERROR _spoolss_SetJob(struct pipes_struct *p,
struct spoolss_SetJob *r)
{
- const struct auth_serversupplied_info *server_info = p->server_info;
+ const struct auth_serversupplied_info *session_info = p->session_info;
int snum;
WERROR errcode = WERR_BADFUNC;
@@ -7156,21 +7156,21 @@ WERROR _spoolss_SetJob(struct pipes_struct *p,
switch (r->in.command) {
case SPOOLSS_JOB_CONTROL_CANCEL:
case SPOOLSS_JOB_CONTROL_DELETE:
- errcode = print_job_delete(server_info, p->msg_ctx,
+ errcode = print_job_delete(session_info, p->msg_ctx,
snum, r->in.job_id);
if (W_ERROR_EQUAL(errcode, WERR_PRINTER_HAS_JOBS_QUEUED)) {
errcode = WERR_OK;
}
break;
case SPOOLSS_JOB_CONTROL_PAUSE:
- if (print_job_pause(server_info, p->msg_ctx,
+ if (print_job_pause(session_info, p->msg_ctx,
snum, r->in.job_id, &errcode)) {
errcode = WERR_OK;
}
break;
case SPOOLSS_JOB_CONTROL_RESTART:
case SPOOLSS_JOB_CONTROL_RESUME:
- if (print_job_resume(server_info, p->msg_ctx,
+ if (print_job_resume(session_info, p->msg_ctx,
snum, r->in.job_id, &errcode)) {
errcode = WERR_OK;
}
@@ -7212,7 +7212,7 @@ WERROR _spoolss_SetJob(struct pipes_struct *p,
****************************************************************************/
static WERROR enumprinterdrivers_level_by_architecture(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
const char *servername,
const char *architecture,
@@ -7233,7 +7233,7 @@ static WERROR enumprinterdrivers_level_by_architecture(TALLOC_CTX *mem_ctx,
*info_p = NULL;
for (version=0; version<DRIVER_MAX_VERSION; version++) {
- result = winreg_get_driver_list(mem_ctx, server_info, msg_ctx,
+ result = winreg_get_driver_list(mem_ctx, session_info, msg_ctx,
architecture, version,
&num_drivers, &drivers);
if (!W_ERROR_IS_OK(result)) {
@@ -7258,7 +7258,7 @@ static WERROR enumprinterdrivers_level_by_architecture(TALLOC_CTX *mem_ctx,
for (i = 0; i < num_drivers; i++) {
DEBUG(5, ("\tdriver: [%s]\n", drivers[i]));
- result = winreg_get_driver(mem_ctx, server_info,
+ result = winreg_get_driver(mem_ctx, session_info,
msg_ctx,
architecture, drivers[i],
version, &driver);
@@ -7330,7 +7330,7 @@ static WERROR enumprinterdrivers_level_by_architecture(TALLOC_CTX *mem_ctx,
****************************************************************************/
static WERROR enumprinterdrivers_level(TALLOC_CTX *mem_ctx,
- const struct auth_serversupplied_info *server_info,
+ const struct auth_serversupplied_info *session_info,
struct messaging_context *msg_ctx,
const char *servername,
const char *architecture,
@@ -7349,7 +7349,7 @@ static WERROR enumprinterdrivers_level(TALLOC_CTX *mem_ctx,
uint32_t count = 0;
result = enumprinterdrivers_level_by_architecture(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
servername,
archi_table[a].long_archi,
@@ -7370,7 +7370,7 @@ static WERROR enumprinterdrivers_level(TALLOC_CTX *mem_ctx,
}
return enumprinterdrivers_level_by_architecture(mem_ctx,
- server_info,
+ session_info,
msg_ctx,
servername,
architecture,
@@ -7408,7 +7408,7 @@ WERROR _spoolss_EnumPrinterDrivers(struct pipes_struct *p,
}
result = enumprinterdrivers_level(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
cservername,
r->in.environment,
@@ -7455,7 +7455,7 @@ WERROR _spoolss_EnumForms(struct pipes_struct *p,
switch (r->in.level) {
case 1:
result = winreg_printer_enumforms1(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
r->out.count,
r->out.info);
@@ -7505,7 +7505,7 @@ WERROR _spoolss_GetForm(struct pipes_struct *p,
switch (r->in.level) {
case 1:
result = winreg_printer_getform1(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
r->in.form_name,
&r->out.info->info1);
@@ -7836,7 +7836,7 @@ static WERROR spoolss_addprinterex_level_2(struct pipes_struct *p,
trying to add a printer like this --jerry */
if (*lp_addprinter_cmd() ) {
- if ( !add_printer_hook(p->mem_ctx, p->server_info->security_token,
+ if ( !add_printer_hook(p->mem_ctx, p->session_info->security_token,
info2, p->client_id->addr,
p->msg_ctx) ) {
return WERR_ACCESS_DENIED;
@@ -7853,7 +7853,7 @@ static WERROR spoolss_addprinterex_level_2(struct pipes_struct *p,
}
/* you must be a printer admin to add a new printer */
- if (!print_access_check(p->server_info,
+ if (!print_access_check(p->session_info,
p->msg_ctx,
snum,
PRINTER_ACCESS_ADMINISTER)) {
@@ -7873,14 +7873,14 @@ static WERROR spoolss_addprinterex_level_2(struct pipes_struct *p,
}
update_dsspooler(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
0,
info2,
NULL);
err = winreg_update_printer(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
info2->sharename,
info2_mask,
@@ -8007,7 +8007,7 @@ WERROR _spoolss_AddPrinterDriverEx(struct pipes_struct *p,
}
err = winreg_add_driver(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
r->in.info_ctr,
&driver_name,
@@ -8427,12 +8427,12 @@ WERROR _spoolss_AddForm(struct pipes_struct *p,
/* if the user is not root, doesn't have SE_PRINT_OPERATOR privilege,
and not a printer admin, then fail */
- if ((p->server_info->utok.uid != sec_initial_uid()) &&
- !security_token_has_privilege(p->server_info->security_token, SEC_PRIV_PRINT_OPERATOR) &&
- !token_contains_name_in_list(uidtoname(p->server_info->utok.uid),
- p->server_info->info3->base.domain.string,
+ if ((p->session_info->utok.uid != sec_initial_uid()) &&
+ !security_token_has_privilege(p->session_info->security_token, SEC_PRIV_PRINT_OPERATOR) &&
+ !token_contains_name_in_list(uidtoname(p->session_info->utok.uid),
+ p->session_info->info3->base.domain.string,
NULL,
- p->server_info->security_token,
+ p->session_info->security_token,
lp_printer_admin(snum))) {
DEBUG(2,("_spoolss_Addform: denied by insufficient permissions.\n"));
return WERR_ACCESS_DENIED;
@@ -8448,7 +8448,7 @@ WERROR _spoolss_AddForm(struct pipes_struct *p,
}
status = winreg_printer_addform1(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
form);
if (!W_ERROR_IS_OK(status)) {
@@ -8464,7 +8464,7 @@ WERROR _spoolss_AddForm(struct pipes_struct *p,
}
status = winreg_printer_update_changeid(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum));
if (!W_ERROR_IS_OK(status)) {
@@ -8495,19 +8495,19 @@ WERROR _spoolss_DeleteForm(struct pipes_struct *p,
return WERR_BADFID;
}
- if ((p->server_info->utok.uid != sec_initial_uid()) &&
- !security_token_has_privilege(p->server_info->security_token, SEC_PRIV_PRINT_OPERATOR) &&
- !token_contains_name_in_list(uidtoname(p->server_info->utok.uid),
- p->server_info->info3->base.domain.string,
+ if ((p->session_info->utok.uid != sec_initial_uid()) &&
+ !security_token_has_privilege(p->session_info->security_token, SEC_PRIV_PRINT_OPERATOR) &&
+ !token_contains_name_in_list(uidtoname(p->session_info->utok.uid),
+ p->session_info->info3->base.domain.string,
NULL,
- p->server_info->security_token,
+ p->session_info->security_token,
lp_printer_admin(snum))) {
DEBUG(2,("_spoolss_DeleteForm: denied by insufficient permissions.\n"));
return WERR_ACCESS_DENIED;
}
status = winreg_printer_deleteform1(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
form_name);
if (!W_ERROR_IS_OK(status)) {
@@ -8523,7 +8523,7 @@ WERROR _spoolss_DeleteForm(struct pipes_struct *p,
}
status = winreg_printer_update_changeid(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum));
if (!W_ERROR_IS_OK(status)) {
@@ -8559,19 +8559,19 @@ WERROR _spoolss_SetForm(struct pipes_struct *p,
/* if the user is not root, doesn't have SE_PRINT_OPERATOR privilege,
and not a printer admin, then fail */
- if ((p->server_info->utok.uid != sec_initial_uid()) &&
- !security_token_has_privilege(p->server_info->security_token, SEC_PRIV_PRINT_OPERATOR) &&
- !token_contains_name_in_list(uidtoname(p->server_info->utok.uid),
- p->server_info->info3->base.domain.string,
+ if ((p->session_info->utok.uid != sec_initial_uid()) &&
+ !security_token_has_privilege(p->session_info->security_token, SEC_PRIV_PRINT_OPERATOR) &&
+ !token_contains_name_in_list(uidtoname(p->session_info->utok.uid),
+ p->session_info->info3->base.domain.string,
NULL,
- p->server_info->security_token,
+ p->session_info->security_token,
lp_printer_admin(snum))) {
DEBUG(2,("_spoolss_Setform: denied by insufficient permissions.\n"));
return WERR_ACCESS_DENIED;
}
status = winreg_printer_setform1(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
form_name,
form);
@@ -8588,7 +8588,7 @@ WERROR _spoolss_SetForm(struct pipes_struct *p,
}
status = winreg_printer_update_changeid(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum));
if (!W_ERROR_IS_OK(status)) {
@@ -9082,7 +9082,7 @@ WERROR _spoolss_GetJob(struct pipes_struct *p,
}
result = winreg_get_printer(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum),
&pinfo2);
@@ -9209,7 +9209,7 @@ WERROR _spoolss_GetPrinterDataEx(struct pipes_struct *p,
uint32_t changeid = 0;
result = winreg_printer_get_changeid(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
printer,
&changeid);
@@ -9224,7 +9224,7 @@ WERROR _spoolss_GetPrinterDataEx(struct pipes_struct *p,
}
result = winreg_get_printer_dataex(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
printer,
r->in.key_name,
@@ -9299,7 +9299,7 @@ WERROR _spoolss_SetPrinterDataEx(struct pipes_struct *p,
}
result = winreg_get_printer(Printer,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_servicename(snum),
&pinfo2);
@@ -9318,7 +9318,7 @@ WERROR _spoolss_SetPrinterDataEx(struct pipes_struct *p,
/* save the registry data */
result = winreg_set_printer_dataex(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
pinfo2->sharename,
r->in.key_name,
@@ -9344,7 +9344,7 @@ WERROR _spoolss_SetPrinterDataEx(struct pipes_struct *p,
* this is right. --jerry
*/
winreg_set_printer_dataex(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
pinfo2->sharename,
str,
@@ -9355,7 +9355,7 @@ WERROR _spoolss_SetPrinterDataEx(struct pipes_struct *p,
}
result = winreg_printer_update_changeid(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum));
@@ -9403,14 +9403,14 @@ WERROR _spoolss_DeletePrinterDataEx(struct pipes_struct *p,
printer = lp_const_servicename(snum);
status = winreg_delete_printer_dataex(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
printer,
r->in.key_name,
r->in.value_name);
if (W_ERROR_IS_OK(status)) {
status = winreg_printer_update_changeid(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
printer);
}
@@ -9445,7 +9445,7 @@ WERROR _spoolss_EnumPrinterKey(struct pipes_struct *p,
}
result = winreg_enum_printer_key(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum),
r->in.key_name,
@@ -9519,13 +9519,13 @@ WERROR _spoolss_DeletePrinterKey(struct pipes_struct *p,
/* delete the key and all subkeys */
status = winreg_delete_printer_key(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
printer,
r->in.key_name);
if (W_ERROR_IS_OK(status)) {
status = winreg_printer_update_changeid(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
printer);
}
@@ -9576,7 +9576,7 @@ WERROR _spoolss_EnumPrinterDataEx(struct pipes_struct *p,
/* now look for a match on the key name */
result = winreg_enum_printer_dataex(p->mem_ctx,
- get_server_info_system(),
+ get_session_info_system(),
p->msg_ctx,
lp_const_servicename(snum),
r->in.key_name,
@@ -9984,14 +9984,14 @@ WERROR _spoolss_XcvData(struct pipes_struct *p,
switch ( Printer->printer_type ) {
case SPLHND_PORTMON_TCP:
werror = process_xcvtcp_command(p->mem_ctx,
- p->server_info->security_token,
+ p->session_info->security_token,
r->in.function_name,
&r->in.in_data, &out_data,
r->out.needed);
break;
case SPLHND_PORTMON_LOCAL:
werror = process_xcvlocal_command(p->mem_ctx,
- p->server_info->security_token,
+ p->session_info->security_token,
r->in.function_name,
&r->in.in_data, &out_data,
r->out.needed);