mirror of
https://github.com/samba-team/samba.git
synced 2025-03-05 20:58:40 +03:00
added a define for the DCERPC little-endian data representation flag
(This used to be commit 691f9c1c4448fb54846fcfffeca43601bcd44138)
This commit is contained in:
parent
6ba28732ec
commit
b3b10bce33
@ -170,6 +170,9 @@ interface dcerpc
|
||||
const uint8 DCERPC_FRAG_LEN_OFFSET = 8;
|
||||
const uint8 DCERPC_AUTH_LEN_OFFSET = 10;
|
||||
|
||||
/* little-endian flag */
|
||||
const uint8 DCERPC_DREP_LE = 0x10;
|
||||
|
||||
typedef [public] struct {
|
||||
uint8 rpc_vers; /* RPC version */
|
||||
uint8 rpc_vers_minor; /* Minor version */
|
||||
|
@ -68,7 +68,7 @@ void dcerpc_pipe_close(struct dcerpc_pipe *p)
|
||||
decode */
|
||||
void dcerpc_set_frag_length(DATA_BLOB *blob, uint16 v)
|
||||
{
|
||||
if (CVAL(blob->data,DCERPC_DREP_OFFSET) & 0x10) {
|
||||
if (CVAL(blob->data,DCERPC_DREP_OFFSET) & DCERPC_DREP_LE) {
|
||||
SSVAL(blob->data, DCERPC_FRAG_LEN_OFFSET, v);
|
||||
} else {
|
||||
RSSVAL(blob->data, DCERPC_FRAG_LEN_OFFSET, v);
|
||||
@ -77,7 +77,7 @@ void dcerpc_set_frag_length(DATA_BLOB *blob, uint16 v)
|
||||
|
||||
uint16 dcerpc_get_frag_length(DATA_BLOB *blob)
|
||||
{
|
||||
if (CVAL(blob->data,DCERPC_DREP_OFFSET) & 0x10) {
|
||||
if (CVAL(blob->data,DCERPC_DREP_OFFSET) & DCERPC_DREP_LE) {
|
||||
return SVAL(blob->data, DCERPC_FRAG_LEN_OFFSET);
|
||||
} else {
|
||||
return RSVAL(blob->data, DCERPC_FRAG_LEN_OFFSET);
|
||||
@ -86,7 +86,7 @@ uint16 dcerpc_get_frag_length(DATA_BLOB *blob)
|
||||
|
||||
void dcerpc_set_auth_length(DATA_BLOB *blob, uint16 v)
|
||||
{
|
||||
if (CVAL(blob->data,DCERPC_DREP_OFFSET) & 0x10) {
|
||||
if (CVAL(blob->data,DCERPC_DREP_OFFSET) & DCERPC_DREP_LE) {
|
||||
SSVAL(blob->data, DCERPC_AUTH_LEN_OFFSET, v);
|
||||
} else {
|
||||
RSSVAL(blob->data, DCERPC_AUTH_LEN_OFFSET, v);
|
||||
@ -108,7 +108,7 @@ static NTSTATUS dcerpc_pull(DATA_BLOB *blob, TALLOC_CTX *mem_ctx,
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
if (! (CVAL(blob, DCERPC_DREP_OFFSET) & 0x10)) {
|
||||
if (! (CVAL(blob, DCERPC_DREP_OFFSET) & DCERPC_DREP_LE)) {
|
||||
ndr->flags |= DCERPC_PULL_BIGENDIAN;
|
||||
}
|
||||
|
||||
@ -137,7 +137,7 @@ static NTSTATUS dcerpc_pull_request_sign(struct dcerpc_pipe *p,
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
if (! (CVAL(blob, DCERPC_DREP_OFFSET) & 0x10)) {
|
||||
if (! (CVAL(blob, DCERPC_DREP_OFFSET) & DCERPC_DREP_LE)) {
|
||||
ndr->flags |= DCERPC_PULL_BIGENDIAN;
|
||||
}
|
||||
|
||||
@ -169,7 +169,7 @@ static NTSTATUS dcerpc_pull_request_sign(struct dcerpc_pipe *p,
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
if (! (CVAL(blob, DCERPC_DREP_OFFSET) & 0x10)) {
|
||||
if (! (CVAL(blob, DCERPC_DREP_OFFSET) & DCERPC_DREP_LE)) {
|
||||
ndr->flags |= DCERPC_PULL_BIGENDIAN;
|
||||
}
|
||||
|
||||
@ -306,7 +306,7 @@ static void init_dcerpc_hdr(struct dcerpc_pipe *p, struct dcerpc_packet *pkt)
|
||||
if (p->flags & DCERPC_PUSH_BIGENDIAN) {
|
||||
pkt->drep[0] = 0;
|
||||
} else {
|
||||
pkt->drep[0] = 0x10;
|
||||
pkt->drep[0] = DCERPC_DREP_LE;
|
||||
}
|
||||
pkt->drep[1] = 0;
|
||||
pkt->drep[2] = 0;
|
||||
@ -599,7 +599,7 @@ NTSTATUS dcerpc_request(struct dcerpc_pipe *p,
|
||||
*stub_data_out = payload;
|
||||
}
|
||||
|
||||
if (!(pkt.drep[0] & 0x10)) {
|
||||
if (!(pkt.drep[0] & DCERPC_DREP_LE)) {
|
||||
p->flags |= DCERPC_PULL_BIGENDIAN;
|
||||
} else {
|
||||
p->flags &= ~DCERPC_PULL_BIGENDIAN;
|
||||
|
Loading…
x
Reference in New Issue
Block a user