summaryrefslogtreecommitdiff
path: root/source3/lib/util_sock.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-05-13 08:33:33 +0200
committerStefan Metzmacher <metze@samba.org>2009-05-13 18:27:50 +0200
commitb9f3a78169be962c4f1fce625ca3a291d9f93c7c (patch)
tree19c44f9de3ec0cd421507e967989c3553adc230f /source3/lib/util_sock.c
parentca6ec5ecd78d98ef841981b2ea124b1d772e4ceb (diff)
downloadsamba-b9f3a78169be962c4f1fce625ca3a291d9f93c7c.tar.gz
samba-b9f3a78169be962c4f1fce625ca3a291d9f93c7c.tar.bz2
samba-b9f3a78169be962c4f1fce625ca3a291d9f93c7c.zip
s3:libsmb: move read_smb_send/recv() static in async_smb.c
metze
Diffstat (limited to 'source3/lib/util_sock.c')
-rw-r--r--source3/lib/util_sock.c87
1 files changed, 0 insertions, 87 deletions
diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c
index 92e373b4ea..1d7a82d7a5 100644
--- a/source3/lib/util_sock.c
+++ b/source3/lib/util_sock.c
@@ -1967,93 +1967,6 @@ bool is_myname_or_ipaddr(const char *s)
return false;
}
-/*
- * Read an smb packet asynchronously, discard keepalives
- */
-
-struct read_smb_state {
- struct tevent_context *ev;
- int fd;
- uint8_t *buf;
-};
-
-static ssize_t read_smb_more(uint8_t *buf, size_t buflen, void *private_data);
-static void read_smb_done(struct tevent_req *subreq);
-
-struct tevent_req *read_smb_send(TALLOC_CTX *mem_ctx,
- struct tevent_context *ev,
- int fd)
-{
- struct tevent_req *result, *subreq;
- struct read_smb_state *state;
-
- result = tevent_req_create(mem_ctx, &state, struct read_smb_state);
- if (result == NULL) {
- return NULL;
- }
- state->ev = ev;
- state->fd = fd;
-
- subreq = read_packet_send(state, ev, fd, 4, read_smb_more, NULL);
- if (subreq == NULL) {
- goto fail;
- }
- tevent_req_set_callback(subreq, read_smb_done, result);
- return result;
- fail:
- TALLOC_FREE(result);
- return NULL;
-}
-
-static ssize_t read_smb_more(uint8_t *buf, size_t buflen, void *private_data)
-{
- if (buflen > 4) {
- return 0; /* We've been here, we're done */
- }
- return smb_len_large(buf);
-}
-
-static void read_smb_done(struct tevent_req *subreq)
-{
- struct tevent_req *req = tevent_req_callback_data(
- subreq, struct tevent_req);
- struct read_smb_state *state = tevent_req_data(
- req, struct read_smb_state);
- ssize_t len;
- int err;
-
- len = read_packet_recv(subreq, state, &state->buf, &err);
- TALLOC_FREE(subreq);
- if (len == -1) {
- tevent_req_error(req, err);
- return;
- }
-
- if (CVAL(state->buf, 0) == SMBkeepalive) {
- subreq = read_packet_send(state, state->ev, state->fd, 4,
- read_smb_more, NULL);
- if (tevent_req_nomem(subreq, req)) {
- return;
- }
- tevent_req_set_callback(subreq, read_smb_done, req);
- return;
- }
- tevent_req_done(req);
-}
-
-ssize_t read_smb_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
- uint8_t **pbuf, int *perrno)
-{
- struct read_smb_state *state = tevent_req_data(
- req, struct read_smb_state);
-
- if (tevent_req_is_unix_error(req, perrno)) {
- return -1;
- }
- *pbuf = talloc_move(mem_ctx, &state->buf);
- return talloc_get_size(*pbuf);
-}
-
struct getaddrinfo_state {
const char *node;
const char *service;