From bcf0615be578a35bb6ab0f559e370f1b9455f3cd Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 22 Sep 2005 18:35:08 +0000 Subject: r10426: - restructure the winbind server code a bit - remove the echo test stuff - abstract out the used protocol - we have a seperate handler for the samba3 protocol now - the backend can easy do async replies by setting WBSRV_CALL_FLAGS_REPLY_ASYNC in wbsrv_call and then call wbsrv_queue_reply() later metze (This used to be commit 32f3e68a569e9273b8d34fbd797c0a28494e5b6d) --- source4/winbind/wb_samba3_cmd.c | 50 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 source4/winbind/wb_samba3_cmd.c (limited to 'source4/winbind/wb_samba3_cmd.c') diff --git a/source4/winbind/wb_samba3_cmd.c b/source4/winbind/wb_samba3_cmd.c new file mode 100644 index 0000000000..14e9ac9e6d --- /dev/null +++ b/source4/winbind/wb_samba3_cmd.c @@ -0,0 +1,50 @@ +/* + Unix SMB/CIFS implementation. + Main winbindd samba3 server routines + + Copyright (C) Stefan Metzmacher 2005 + Copyright (C) Volker Lendecke 2005 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "includes.h" +#include "smbd/service_stream.h" +#include "nsswitch/winbind_nss_config.h" +#include "nsswitch/winbindd_nss.h" +#include "winbind/wb_server.h" +#include "winbind/wb_samba3_protocol.h" + +NTSTATUS wbsrv_samba3_interface_version(struct wbsrv_samba3_call *s3call) +{ + s3call->response.result = WINBINDD_OK; + s3call->response.data.interface_version = WINBIND_INTERFACE_VERSION; + return NT_STATUS_OK; +} + +NTSTATUS wbsrv_samba3_priv_pipe_dir(struct wbsrv_samba3_call *s3call) +{ + s3call->response.result = WINBINDD_OK; + s3call->response.extra_data = smbd_tmp_path(s3call, + WINBINDD_SAMBA3_PRIVILEGED_SOCKET); + NT_STATUS_HAVE_NO_MEMORY(s3call->response.extra_data); + return NT_STATUS_OK; +} + +NTSTATUS wbsrv_samba3_ping(struct wbsrv_samba3_call *s3call) +{ + s3call->response.result = WINBINDD_OK; + return NT_STATUS_OK; +} -- cgit