mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
Remove evil hack which breaks Python bindings.
(This used to be commit 1c179566cb
)
This commit is contained in:
parent
40a90e6a55
commit
dce310ef4e
@ -18,7 +18,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
from samba.irpc import Messaging
|
||||
from samba.messaging import Messaging
|
||||
from unittest import TestCase
|
||||
|
||||
class MessagingTests(TestCase):
|
||||
|
@ -626,3 +626,24 @@ _PUBLIC_ void ndr_print_wrepl_nbt_name(struct ndr_print *ndr, const char *name,
|
||||
ndr_print_string(ndr, name, s);
|
||||
talloc_free(s);
|
||||
}
|
||||
|
||||
_PUBLIC_ enum ndr_err_code ndr_push_nbt_res_rec(struct ndr_push *ndr, int ndr_flags, const struct nbt_res_rec *r)
|
||||
{
|
||||
{
|
||||
uint32_t _flags_save_STRUCT = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_push_align(ndr, 4));
|
||||
NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->name));
|
||||
NDR_CHECK(ndr_push_nbt_qtype(ndr, NDR_SCALARS, r->rr_type));
|
||||
NDR_CHECK(ndr_push_nbt_qclass(ndr, NDR_SCALARS, r->rr_class));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ttl));
|
||||
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->rdata, ((((r->rr_type) == NBT_QTYPE_NETBIOS) && ((r->rdata).data.length == 2))?0:r->rr_type)));
|
||||
NDR_CHECK(ndr_push_nbt_rdata(ndr, NDR_SCALARS, &r->rdata));
|
||||
}
|
||||
if (ndr_flags & NDR_BUFFERS) {
|
||||
}
|
||||
ndr->flags = _flags_save_STRUCT;
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
@ -73,11 +73,11 @@ interface nbt
|
||||
nbt_name_type type;
|
||||
} nbt_name;
|
||||
|
||||
typedef [enum16bit] enum {
|
||||
typedef [public,enum16bit] enum {
|
||||
NBT_QCLASS_IP = 0x01
|
||||
} nbt_qclass;
|
||||
|
||||
typedef [enum16bit] enum {
|
||||
typedef [public,enum16bit] enum {
|
||||
NBT_QTYPE_ADDRESS = 0x0001,
|
||||
NBT_QTYPE_NAMESERVICE = 0x0002,
|
||||
NBT_QTYPE_NULL = 0x000A,
|
||||
@ -160,30 +160,24 @@ interface nbt
|
||||
uint8 data[length];
|
||||
} nbt_rdata_data;
|
||||
|
||||
typedef [nodiscriminant] union {
|
||||
typedef [nodiscriminant,public] union {
|
||||
[case(NBT_QTYPE_NETBIOS)] nbt_rdata_netbios netbios;
|
||||
[case(NBT_QTYPE_STATUS)] nbt_rdata_status status;
|
||||
[default] nbt_rdata_data data;
|
||||
} nbt_rdata;
|
||||
|
||||
/*
|
||||
* this macro works arround the problem
|
||||
* this macro works around the problem
|
||||
* that we need to use nbt_rdata_data
|
||||
* together with NBT_QTYPE_NETBIOS
|
||||
* for WACK replies
|
||||
*/
|
||||
#define NBT_RES_REC_LEVEL(rr_type, rdata) (\
|
||||
(((rr_type) == NBT_QTYPE_NETBIOS) && \
|
||||
talloc_check_name(ndr, "struct ndr_push") && \
|
||||
((rdata).data.length == 2)) \
|
||||
? 0 : rr_type)
|
||||
|
||||
typedef [flag(LIBNDR_PRINT_ARRAY_HEX)] struct {
|
||||
typedef [flag(LIBNDR_PRINT_ARRAY_HEX),nopush] struct {
|
||||
nbt_name name;
|
||||
nbt_qtype rr_type;
|
||||
nbt_qclass rr_class;
|
||||
uint32 ttl;
|
||||
[switch_is(NBT_RES_REC_LEVEL(rr_type, rdata))] nbt_rdata rdata;
|
||||
[switch_is(rr_type)] nbt_rdata rdata;
|
||||
} nbt_res_rec;
|
||||
|
||||
typedef [flag(NDR_NOALIGN|NDR_BIG_ENDIAN|NDR_PAHEX),public] struct {
|
||||
|
Loading…
Reference in New Issue
Block a user