summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-06-09 11:49:48 +0200
committerJeremy Allison <jra@samba.org>2011-06-10 19:27:05 +0200
commit3dd1ebd21ee99d130f6dd30326ddafe3f00a50d0 (patch)
tree89f7a9ac1c787474161ae1a96d18837897070481
parenta25936f1b1300a76b08a6bd435bd7ccc388279d5 (diff)
downloadsamba-3dd1ebd21ee99d130f6dd30326ddafe3f00a50d0.tar.gz
samba-3dd1ebd21ee99d130f6dd30326ddafe3f00a50d0.tar.bz2
samba-3dd1ebd21ee99d130f6dd30326ddafe3f00a50d0.zip
s3:libsmb/async_smb: add helpers to get and set the seqnum for signing
This will be used for correct signing in [nt]trans[2][s] requests. metze
-rw-r--r--source3/include/async_smb.h2
-rw-r--r--source3/libsmb/async_smb.c14
2 files changed, 16 insertions, 0 deletions
diff --git a/source3/include/async_smb.h b/source3/include/async_smb.h
index a8852b2eea..1685d4985d 100644
--- a/source3/include/async_smb.h
+++ b/source3/include/async_smb.h
@@ -51,6 +51,8 @@ void cli_smb_req_unset_pending(struct tevent_req *req);
bool cli_smb_req_set_pending(struct tevent_req *req);
uint16_t cli_smb_req_mid(struct tevent_req *req);
void cli_smb_req_set_mid(struct tevent_req *req, uint16_t mid);
+uint32_t cli_smb_req_seqnum(struct tevent_req *req);
+void cli_smb_req_set_seqnum(struct tevent_req *req, uint32_t seqnum);
struct tevent_req *cli_smb_send(TALLOC_CTX *mem_ctx, struct event_context *ev,
struct cli_state *cli,
uint8_t smb_command, uint8_t additional_flags,
diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c
index c09a886f5e..145e0aeb55 100644
--- a/source3/libsmb/async_smb.c
+++ b/source3/libsmb/async_smb.c
@@ -270,6 +270,20 @@ void cli_smb_req_set_mid(struct tevent_req *req, uint16_t mid)
state->mid = mid;
}
+uint32_t cli_smb_req_seqnum(struct tevent_req *req)
+{
+ struct cli_smb_state *state = tevent_req_data(
+ req, struct cli_smb_state);
+ return state->seqnum;
+}
+
+void cli_smb_req_set_seqnum(struct tevent_req *req, uint32_t seqnum)
+{
+ struct cli_smb_state *state = tevent_req_data(
+ req, struct cli_smb_state);
+ state->seqnum = seqnum;
+}
+
static size_t iov_len(const struct iovec *iov, int count)
{
size_t result = 0;