Günther Deschner
6f642eb306
librpc: support "packet" for packet level authentication in binding strings
...
Guenther
Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-10-26 11:20:16 +02:00
Stefan Metzmacher
d1c2ad4e16
CVE-2016-2118: librpc: change the default auth level from DCERPC_AUTH_LEVEL_CONNECT to DCERPC_AUTH_LEVEL_INTEGRITY
...
ncacn_ip_tcp:server should get the same protection as ncacn_np:server
if authentication and smb signing is used.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11616
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2016-04-12 19:25:27 +02:00
Andreas Schneider
b3a9b88702
librpc: Fix a possible array out of bounds access
...
Reported by gcc 5.1.1.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2015-12-01 00:38:23 +01:00
Günther Deschner
ddc4c6767a
librpc: prevent invalid NULL pointer derref in dcerpc_binding_get_auth_info().
...
Guenther
Signed-off-by: Günther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Jul 2 02:05:38 CEST 2015 on sn-devel-104
2015-07-02 02:05:37 +02:00
Stefan Metzmacher
c25b5b3579
librpc/rpc: finally maintain only the object guid
...
This has nothing to do with ndr_syntax_id...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-03-25 00:45:29 +01:00
Stefan Metzmacher
5f402dcdf7
librpc/rpc: maintain "abstract_syntax" as string option of dcerpc_binding
...
This should not be mixed with the object guid! They are different things!
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-03-25 00:45:29 +01:00
Stefan Metzmacher
4c98f1651d
librpc/rpc: handle ipv6 addresses without transport in dcerpc_parse_binding()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-03-25 00:45:28 +01:00
Stefan Metzmacher
9f5bf79341
librpc/rpc: add "schannel" => DCERPC_SCHANNEL as ncacn_option
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-03-25 00:45:28 +01:00
Stefan Metzmacher
002a0fb86e
librpc/rpc: use dcerpc_binding_set_string_option(b, "endpoint", NULL) to reset the endpoint
...
We should always go through just one code path to [re]set a value.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-03-25 00:45:28 +01:00
Stefan Metzmacher
7782fbe12b
librpc/rpc: let dcerpc_binding_set_transport() also reset the assoc_group_id
...
This is transport/endpoint specific.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-03-25 00:45:28 +01:00
Stefan Metzmacher
e4997ea8a7
librpc/rpc: finaly make struct dcerpc_binding private
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Thu Feb 13 13:55:47 CET 2014 on sn-devel-104
2014-02-13 13:55:47 +01:00
Stefan Metzmacher
aa8b2d39a2
librpc/rpc: make use of dcerpc_binding_set*() in dcerpc_binding_from_tower()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:15 +01:00
Stefan Metzmacher
f2c058bf2a
librpc/rpc: avoid loosing data with dcerpc_binding_string() -> dcerpc_parse_binding()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:15 +01:00
Stefan Metzmacher
ebc18694a1
librpc/rpc: add dcerpc_binding_[g|s]et_abstract_syntax()
...
For now this is just an alternate wrapper to
access binding->object.
Currently callers are reusing binding->object to store the
abstract syntax id instead of just the object uuid.
Some services on Windows use the same GUID for the
'object' and the 'abstract syntax', but they are completely
different things!
Most services use a null object guid, some reuse the
guid of the abstract syntax and use it like a 'class' object.
But the object guid is only really used by DCOM,
in order to call functions relative to an object instance,
which a dynamically allocated object guid.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:15 +01:00
Stefan Metzmacher
43800553bb
librpc/rpc: allow "assoc_group_id" in dcerpc_binding_[g|s]et_string()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:15 +01:00
Stefan Metzmacher
5ba5430538
librpc/rpc: add dcerpc_binding_[g|s]et_assoc_group_id()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:15 +01:00
Stefan Metzmacher
6ce8d761dc
librpc/rpc: add dcerpc_binding_[g|s]et_transport()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:15 +01:00
Stefan Metzmacher
f066bd7b33
librpc/rpc: add dcerpc_binding_[g|s]et_object()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:15 +01:00
Stefan Metzmacher
8dac96728a
librpc/rpc: add dcerpc_binding_[g|s]et_flags()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
77d0098984
librpc/rpc: add dcerpc_binding_get_auth_info()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
9f5a59eb53
librpc/rpc: simplify dcerpc_parse_binding()
...
We now make a copy of the given string, so that we can mark chunks
inline. Then we call dcerpc_binding_set_string_option() in order
to set the elements.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
ed8adc2920
librpc/rpc: handle ncacn_options in dcerpc_binding_[s|g]et_string_option()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
017338a180
librpc/rpc: set more things via dcerpc_binding_set_string_option()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
05b54f5a33
librpc/rpc: add ncacn_option_by_name()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
afcd5506c9
librpc/rpc: remove dcerpc_binding->localaddress and store it in the options array
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
c327a60a02
librpc/rpc: let derpc_binding_string() add ncacn_options before key=value options
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
e4b246a968
librpc/rpc: handle "localaddress" in dcerpc_binding_[s|g]et_string_option()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
5d22127118
librpc/rpc: keep talloc hierachie sane in dcerpc_parse_binding()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
7c0985bb35
librpc/rpc: add dcerpc_binding_copy_string_option()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
8dfba57c33
librpc/rpc: add dcerpc_binding_set_string_option()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
6557b429ef
librpc/rpc: add dcerpc_binding_get_string_option()
...
This allows get value string of a [key=value] option
of the dcerpc_binding.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
3f40cde3ea
librpc/rpc: only interpret the first option as endpoint if there's no '=' in it.
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
33fa75c615
librpc/rpc: remove the options array in dcerpc_parse_binding() if not needed
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
09c5bd99b1
librpc/rpc: add some talloc checks to dcerpc_binding_string()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-13 11:54:14 +01:00
Stefan Metzmacher
9a084b4ab2
librpc/rpc: add dcerpc_transport_by_name()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-11 16:20:31 +01:00
Stefan Metzmacher
98b08dfb6d
librpc/rpc: simplify dcerpc_binding_build_tower()
...
dcerpc_floor_set_rhs_data() handles the special cases now
and we keep the 'host' part unmodified except
EPM_PROTOCOL_IP addresses. No special '\\' handling anymore.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-11 16:20:31 +01:00
Stefan Metzmacher
d89ff8575d
librpc/rpc: fix dcerpc_floor_set_rhs_data() with NULL data.
...
For EPM_PROTOCOL_IP we can only marshal ipv4 addresses,
everything else gets '0.0.0.0' (4 zero bytes on the wire).
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-11 16:20:31 +01:00
Stefan Metzmacher
b5eb5d97c2
librpc/rpc: handle dcerpc_binding->host == NULL in dcerpc_floor_get_rhs_data()
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-11 16:20:31 +01:00
Stefan Metzmacher
6ab76219cd
librpc/rpc: let dcerpc_floor_get_rhs_data() return 'char *'
...
We don't return any "const char *" values here, so give the caller
a chance to talloc_free() the result.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2014-02-11 16:20:28 +01:00
Stefan Metzmacher
7db1dc13b0
s4:librpc: always try to negotiate DCERPC_PFC_FLAG_SUPPORT_HEADER_SIGN
...
If the gensec backend supports it there's no reason not sign the header.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-01-07 00:27:11 +01:00
Andreas Schneider
e50874606f
librpc: Add NULL check for ndr functions for epm bindings.
...
Reviewed-by: Alexander Bokovoy <ab@samba.org>
2013-02-22 16:36:12 +01:00
Andreas Schneider
426bcdb37c
librpc: Check return codes of ndr functions.
...
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>
2012-12-21 13:56:00 +01:00
Jelmer Vernooij
95ca5fbadd
libndr: Rename ndr64_transfer_syntax and null_ndr_syntax_id so they have a ndr_ prefix.
...
This makes the NDR namespace a bit clearer, in preparation of ABI checking.
2012-03-20 13:54:07 +01:00
Volker Lendecke
8d9cbc7c22
librpc: Add some error checking to dcerpc_floor_pack_rhs_if_version_data
2011-03-27 22:22:12 +02:00
Volker Lendecke
9370c28425
librpc: Fix Coverity ID 2198: NULL_RETURNS
2011-03-27 22:22:12 +02:00
Andreas Schneider
edc26007bf
librpc: Return an error if we a broken floor.
...
Pair-Programmed-With: Simo Sorce <idra@samba.org>
2011-03-24 14:57:13 -04:00
Simo Sorce
95daebe1c3
cleanup: fix some trailing spaces
2011-03-24 14:57:12 -04:00
Andreas Schneider
f534dcdca3
librpc: Added a dcerpc_binding_dup() function.
2011-03-24 14:57:12 -04:00
Andrew Tridgell
5ec284d152
build: moved librpc/rpc/*.c into a rpccommon library
...
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Feb 24 02:42:37 CET 2011 on sn-devel-104
2011-02-24 02:42:37 +01:00
Andreas Schneider
da3e057b6f
librpc: Added support to accept netbios names.
...
If we have a NCACN_NP pipe, the binding host is the netbios name an not
an IP address.
2011-01-27 14:41:40 +01:00