|
|
|
@ -38,7 +38,7 @@ |
|
|
|
|
pid = sys_fork();
|
|
|
|
|
--- a/source3/utils/net_rpc.c
|
|
|
|
|
+++ b/source3/utils/net_rpc.c
|
|
|
|
|
@@ -7791,6 +7791,10 @@ int net_rpc_printer(struct net_context *
|
|
|
|
|
@@ -7798,6 +7798,10 @@ int net_rpc_printer(struct net_context *
|
|
|
|
|
{NULL, NULL, 0, NULL, NULL}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -51,7 +51,7 @@ |
|
|
|
|
d_printf(_("Usage:\n"));
|
|
|
|
|
--- a/source3/smbd/reply.c
|
|
|
|
|
+++ b/source3/smbd/reply.c
|
|
|
|
|
@@ -5194,7 +5194,11 @@ void reply_printopen(struct smb_request
|
|
|
|
|
@@ -5196,7 +5196,11 @@ void reply_printopen(struct smb_request
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -64,7 +64,7 @@ |
|
|
|
|
reply_nterror(req, NT_STATUS_ACCESS_DENIED);
|
|
|
|
|
END_PROFILE(SMBsplopen);
|
|
|
|
|
return;
|
|
|
|
|
@@ -5300,7 +5304,10 @@ void reply_printqueue(struct smb_request
|
|
|
|
|
@@ -5302,7 +5306,10 @@ void reply_printqueue(struct smb_request
|
|
|
|
|
is really quite gross and only worked when there was only
|
|
|
|
|
one printer - I think we should now only accept it if they
|
|
|
|
|
get it right (tridge) */
|
|
|
|
@ -212,7 +212,7 @@ |
|
|
|
|
}
|
|
|
|
|
--- a/source3/smbd/server_exit.c
|
|
|
|
|
+++ b/source3/smbd/server_exit.c
|
|
|
|
|
@@ -142,7 +142,9 @@ static void exit_server_common(enum serv
|
|
|
|
|
@@ -141,7 +141,9 @@ static void exit_server_common(enum serv
|
|
|
|
|
rpc_eventlog_shutdown();
|
|
|
|
|
rpc_ntsvcs_shutdown();
|
|
|
|
|
rpc_svcctl_shutdown();
|
|
|
|
@ -224,7 +224,7 @@ |
|
|
|
|
rpc_winreg_shutdown();
|
|
|
|
|
--- a/source3/smbd/open.c
|
|
|
|
|
+++ b/source3/smbd/open.c
|
|
|
|
|
@@ -1556,6 +1556,9 @@ static NTSTATUS open_file_ntcreate(conne
|
|
|
|
|
@@ -1566,6 +1566,9 @@ static NTSTATUS open_file_ntcreate(conne
|
|
|
|
|
* Most of the passed parameters are ignored.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
@ -236,7 +236,7 @@ |
|
|
|
|
}
|
|
|
|
|
--- a/source3/smbd/close.c
|
|
|
|
|
+++ b/source3/smbd/close.c
|
|
|
|
|
@@ -638,6 +638,9 @@ static NTSTATUS close_normal_file(struct
|
|
|
|
|
@@ -643,6 +643,9 @@ static NTSTATUS close_normal_file(struct
|
|
|
|
|
status = ntstatus_keeperror(status, tmp);
|
|
|
|
|
|
|
|
|
|
if (fsp->print_file) {
|
|
|
|
@ -261,7 +261,7 @@ |
|
|
|
|
errno = ret;
|
|
|
|
|
--- a/source3/smbd/smb2_create.c
|
|
|
|
|
+++ b/source3/smbd/smb2_create.c
|
|
|
|
|
@@ -485,7 +485,10 @@ static struct tevent_req *smbd_smb2_crea
|
|
|
|
|
@@ -486,7 +486,10 @@ static struct tevent_req *smbd_smb2_crea
|
|
|
|
|
info = FILE_WAS_OPENED;
|
|
|
|
|
} else if (CAN_PRINT(smb1req->conn)) {
|
|
|
|
|
status = file_new(smb1req, smb1req->conn, &result);
|
|
|
|
@ -303,7 +303,7 @@ |
|
|
|
|
}
|
|
|
|
|
--- a/source3/smbd/process.c
|
|
|
|
|
+++ b/source3/smbd/process.c
|
|
|
|
|
@@ -2475,8 +2475,10 @@ static bool housekeeping_fn(const struct
|
|
|
|
|
@@ -2476,8 +2476,10 @@ static bool housekeeping_fn(const struct
|
|
|
|
|
|
|
|
|
|
change_to_root_user();
|
|
|
|
|
|
|
|
|
@ -327,30 +327,20 @@ |
|
|
|
|
DEBUG(10,("Got message saying pcap was updated. Reloading.\n"));
|
|
|
|
|
change_to_root_user();
|
|
|
|
|
reload_printers(ev_ctx, msg);
|
|
|
|
|
@@ -1211,8 +1213,10 @@ extern void build_options(bool screen);
|
|
|
|
|
if (!W_ERROR_IS_OK(registry_init_full()))
|
|
|
|
|
exit(1);
|
|
|
|
|
|
|
|
|
|
@@ -1231,6 +1233,7 @@ extern void build_options(bool screen);
|
|
|
|
|
* The print backend init also migrates the printing tdb's,
|
|
|
|
|
* this requires a winreg pipe.
|
|
|
|
|
*/
|
|
|
|
|
+#ifdef PRINTER_SUPPORT
|
|
|
|
|
if (!print_backend_init(smbd_messaging_context()))
|
|
|
|
|
exit(1);
|
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
|
|
/* Open the share_info.tdb here, so we don't have to open
|
|
|
|
|
after the fork on every single connection. This is a small
|
|
|
|
|
@@ -1256,6 +1260,7 @@ extern void build_options(bool screen);
|
|
|
|
|
exit(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
+#ifdef PRINTER_SUPPORT
|
|
|
|
|
/* Publish nt printers, this requires a working winreg pipe */
|
|
|
|
|
pcap_cache_reload(server_event_context(), smbd_messaging_context(),
|
|
|
|
|
&reload_printers);
|
|
|
|
|
@@ -1284,6 +1289,7 @@ extern void build_options(bool screen);
|
|
|
|
|
@@ -1262,7 +1265,7 @@ extern void build_options(bool screen);
|
|
|
|
|
smbd_messaging_context());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
-
|
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
|
|
if (!is_daemon) {
|
|
|
|
|
/* inetd mode */
|
|
|
|
|
TALLOC_FREE(frame);
|
|
|
|
|