1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

Add async wb_ping

This commit is contained in:
Volker Lendecke 2009-05-16 12:00:34 +02:00
parent e3bed4848f
commit 340b55a842
4 changed files with 63 additions and 0 deletions

View File

@ -1131,6 +1131,7 @@ WINBINDD_OBJ1 = \
winbindd/winbindd_idmap.o \
winbindd/winbindd_locator.o \
winbindd/winbindd_ndr.o \
winbindd/wb_ping.o \
auth/token_util.o \
../nsswitch/libwbclient/wb_reqtrans.o \
smbd/connection.o

View File

@ -0,0 +1,53 @@
/*
Unix SMB/CIFS implementation.
async implementation of WINBINDD_PING
Copyright (C) Volker Lendecke 2009
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 3 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, see <http://www.gnu.org/licenses/>.
*/
#include "includes.h"
#include "winbindd.h"
struct wb_ping_state {
uint8_t dummy;
};
struct tevent_req *wb_ping_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
struct winbindd_request *request)
{
struct tevent_req *req;
struct wb_ping_state *state;
req = tevent_req_create(mem_ctx, &state, struct wb_ping_state);
if (req == NULL) {
return NULL;
}
tevent_req_done(req);
tevent_req_post(req, ev);
return req;
}
NTSTATUS wb_ping_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
struct winbindd_response **presp)
{
struct winbindd_response *resp;
resp = talloc_zero(mem_ctx, struct winbindd_response);
if (resp == NULL) {
return NT_STATUS_NO_MEMORY;
}
*presp = resp;
return NT_STATUS_OK;
}

View File

@ -516,6 +516,9 @@ struct winbindd_async_dispatch_table {
};
static struct winbindd_async_dispatch_table async_nonpriv_table[] = {
{ WINBINDD_PING, "PING",
wb_ping_send, wb_ping_recv },
{ 0, NULL, NULL, NULL }
};

View File

@ -589,4 +589,10 @@ void set_auth_errors(struct winbindd_response *resp, NTSTATUS result);
void winbindd_wins_byip(struct winbindd_cli_state *state);
void winbindd_wins_byname(struct winbindd_cli_state *state);
struct tevent_req *wb_ping_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
struct winbindd_request *request);
NTSTATUS wb_ping_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
struct winbindd_response **presp);
#endif /* _WINBINDD_PROTO_H_ */