[SCM] Samba Shared Repository - branch v4-0-test updated -
release-4-0-0alpha3-118-g068c973
Andrew Tridgell
tridge at samba.org
Mon Apr 14 09:33:05 GMT 2008
The branch, v4-0-test has been updated
via 068c973dbeed5b0f5ccab4f780ae7db3535f5910 (commit)
via 9b686c138037f613da15168d0722786e00f023e5 (commit)
via 8a222419528153b889cb1a7eae09a155f196b9b5 (commit)
from 2b8cf1b2a447711d123c563dfbd9a54941155267 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test
- Log -----------------------------------------------------------------
commit 068c973dbeed5b0f5ccab4f780ae7db3535f5910
Merge: 9b686c138037f613da15168d0722786e00f023e5 2b8cf1b2a447711d123c563dfbd9a54941155267
Author: Andrew Tridgell <tridge at samba.org>
Date: Mon Apr 14 11:32:04 2008 +0200
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test
commit 9b686c138037f613da15168d0722786e00f023e5
Author: Andrew Tridgell <tridge at samba.org>
Date: Mon Apr 14 11:31:17 2008 +0200
fill in unknown fields in SMB2 READ call
commit 8a222419528153b889cb1a7eae09a155f196b9b5
Author: Andrew Tridgell <tridge at samba.org>
Date: Mon Apr 14 11:30:10 2008 +0200
show what type of idmapping has failed
-----------------------------------------------------------------------
Summary of changes:
source/libcli/raw/interfaces.h | 18 +++++++++++++-----
source/libcli/smb2/read.c | 13 +++++++++----
source/ntvfs/ntvfs_generic.c | 3 ++-
source/smb_server/smb2/fileio.c | 10 +++++++---
source/winbind/idmap.c | 4 ++--
5 files changed, 33 insertions(+), 15 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/libcli/raw/interfaces.h b/source/libcli/raw/interfaces.h
index 3965c58..61441b2 100644
--- a/source/libcli/raw/interfaces.h
+++ b/source/libcli/raw/interfaces.h
@@ -1706,19 +1706,27 @@ union smb_read {
/* static body buffer 48 (0x30) bytes */
/* uint16_t buffer_code; 0x31 = 0x30 + 1 */
- uint16_t _pad;
+ uint8_t _pad;
+ uint8_t reserved;
uint32_t length;
uint64_t offset;
/* struct smb2_handle handle; */
- uint64_t unknown1; /* 0x0000000000000000 */
- uint64_t unknown2; /* 0x0000000000000000 */
+ uint32_t min_count;
+ uint32_t channel;
+ uint32_t remaining;
+ /* the docs give no indication of what
+ these channel variables are for */
+ uint16_t channel_offset;
+ uint16_t channel_length;
} in;
struct {
/* static body buffer 16 (0x10) bytes */
/* uint16_t buffer_code; 0x11 = 0x10 + 1 */
- /* uint16_t data_ofs; */
+ /* uint8_t data_ofs; */
+ /* uint8_t reserved; */
/* uint32_t data_size; */
- uint64_t unknown1; /* 0x0000000000000000 */
+ uint32_t remaining;
+ uint32_t reserved;
/* dynamic body */
DATA_BLOB data;
diff --git a/source/libcli/smb2/read.c b/source/libcli/smb2/read.c
index b61f918..9d40e32 100644
--- a/source/libcli/smb2/read.c
+++ b/source/libcli/smb2/read.c
@@ -33,12 +33,16 @@ struct smb2_request *smb2_read_send(struct smb2_tree *tree, struct smb2_read *io
req = smb2_request_init_tree(tree, SMB2_OP_READ, 0x30, true, 0);
if (req == NULL) return NULL;
- SSVAL(req->out.body, 0x02, 0); /* pad */
+ SCVAL(req->out.body, 0x02, 0); /* pad */
+ SCVAL(req->out.body, 0x03, 0); /* reserved */
SIVAL(req->out.body, 0x04, io->in.length);
SBVAL(req->out.body, 0x08, io->in.offset);
smb2_push_handle(req->out.body+0x10, &io->in.file.handle);
- SBVAL(req->out.body, 0x20, io->in.unknown1);
- SBVAL(req->out.body, 0x28, io->in.unknown2);
+ SIVAL(req->out.body, 0x20, io->in.min_count);
+ SIVAL(req->out.body, 0x24, io->in.channel);
+ SIVAL(req->out.body, 0x28, io->in.remaining);
+ SSVAL(req->out.body, 0x2C, io->in.channel_offset);
+ SSVAL(req->out.body, 0x2E, io->in.channel_length);
smb2_transport_send(req);
@@ -67,7 +71,8 @@ NTSTATUS smb2_read_recv(struct smb2_request *req,
return status;
}
- io->out.unknown1 = BVAL(req->in.body, 0x08);
+ io->out.remaining = IVAL(req->in.body, 0x08);
+ io->out.reserved = IVAL(req->in.body, 0x0C);
return smb2_request_destroy(req);
}
diff --git a/source/ntvfs/ntvfs_generic.c b/source/ntvfs/ntvfs_generic.c
index e1a86c0..fee3269 100644
--- a/source/ntvfs/ntvfs_generic.c
+++ b/source/ntvfs/ntvfs_generic.c
@@ -1214,7 +1214,8 @@ static NTSTATUS ntvfs_map_read_finish(struct ntvfs_module_context *ntvfs,
break;
case RAW_READ_SMB2:
rd->smb2.out.data.length= rd2->generic.out.nread;
- rd->smb2.out.unknown1 = 0;
+ rd->smb2.out.remaining = 0;
+ rd->smb2.out.reserved = 0;
break;
default:
return NT_STATUS_INVALID_LEVEL;
diff --git a/source/smb_server/smb2/fileio.c b/source/smb_server/smb2/fileio.c
index 0e3df56..8f8b4e7 100644
--- a/source/smb_server/smb2/fileio.c
+++ b/source/smb_server/smb2/fileio.c
@@ -167,7 +167,8 @@ static void smb2srv_read_send(struct ntvfs_request *ntvfs)
/* TODO: avoid the memcpy */
SMB2SRV_CHECK(smb2_push_o16s32_blob(&req->out, 0x02, io->smb2.out.data));
- SBVAL(req->out.body, 0x08, io->smb2.out.unknown1);
+ SIVAL(req->out.body, 0x08, io->smb2.out.remaining);
+ SIVAL(req->out.body, 0x0C, io->smb2.out.reserved);
smb2srv_send_reply(req);
}
@@ -185,8 +186,11 @@ void smb2srv_read_recv(struct smb2srv_request *req)
io->smb2.in.length = IVAL(req->in.body, 0x04);
io->smb2.in.offset = BVAL(req->in.body, 0x08);
io->smb2.in.file.ntvfs = smb2srv_pull_handle(req, req->in.body, 0x10);
- io->smb2.in.unknown1 = BVAL(req->in.body, 0x20);
- io->smb2.in.unknown2 = BVAL(req->in.body, 0x28);
+ io->smb2.in.min_count = IVAL(req->in.body, 0x20);
+ io->smb2.in.channel = IVAL(req->in.body, 0x24);
+ io->smb2.in.remaining = IVAL(req->in.body, 0x28);
+ io->smb2.in.channel_offset = SVAL(req->in.body, 0x2C);
+ io->smb2.in.channel_length = SVAL(req->in.body, 0x2E);
SMB2SRV_CHECK_FILE_HANDLE(io->smb2.in.file.ntvfs);
diff --git a/source/winbind/idmap.c b/source/winbind/idmap.c
index 92ac41f..0c72982 100644
--- a/source/winbind/idmap.c
+++ b/source/winbind/idmap.c
@@ -654,7 +654,7 @@ NTSTATUS idmap_xids_to_sids(struct idmap_context *idmap_ctx,
&id[i].sid);
}
if (!NT_STATUS_IS_OK(id[i].status)) {
- DEBUG(1, ("idmapping failed for id[%d]\n", i));
+ DEBUG(1, ("idmapping xid_to_sid failed for id[%d]\n", i));
error_count++;
}
}
@@ -699,7 +699,7 @@ NTSTATUS idmap_sids_to_xids(struct idmap_context *idmap_ctx,
&id[i].unixid);
}
if (!NT_STATUS_IS_OK(id[i].status)) {
- DEBUG(1, ("idmapping failed for id[%d]\n", i));
+ DEBUG(1, ("idmapping sid_to_xid failed for id[%d]\n", i));
error_count++;
}
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list