summaryrefslogtreecommitdiffstats
path: root/source3/lib
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib')
-rw-r--r--source3/lib/smbd_shim.c18
-rw-r--r--source3/lib/smbd_shim.h2
2 files changed, 20 insertions, 0 deletions
diff --git a/source3/lib/smbd_shim.c b/source3/lib/smbd_shim.c
index d5ad577975..1b5b4e6ca5 100644
--- a/source3/lib/smbd_shim.c
+++ b/source3/lib/smbd_shim.c
@@ -58,6 +58,24 @@ bool change_to_root_user(void)
return false;
}
+bool become_authenticated_pipe_user(struct auth_session_info *session_info)
+{
+ if (shim.become_authenticated_pipe_user) {
+ return shim.become_authenticated_pipe_user(session_info);
+ }
+
+ return false;
+}
+
+bool unbecome_authenticated_pipe_user(void)
+{
+ if (shim.unbecome_authenticated_pipe_user) {
+ return shim.unbecome_authenticated_pipe_user();
+ }
+
+ return false;
+}
+
/**
* The following two functions need to be called from inside the low-level BRL
* code for oplocks correctness in smbd. Since other utility binaries also
diff --git a/source3/lib/smbd_shim.h b/source3/lib/smbd_shim.h
index 1645837f36..f3da585902 100644
--- a/source3/lib/smbd_shim.h
+++ b/source3/lib/smbd_shim.h
@@ -36,6 +36,8 @@ struct smbd_shim
const char *name);
bool (*change_to_root_user)(void);
+ bool (*become_authenticated_pipe_user)(struct auth_session_info *session_info);
+ bool (*unbecome_authenticated_pipe_user)(void);
void (*contend_level2_oplocks_begin)(files_struct *fsp,
enum level2_contention_type type);