summaryrefslogtreecommitdiffstats
path: root/librpc/rpc
Commit message (Collapse)AuthorAgeFilesLines
* librpc/rpc: try to use DCERPC_NCA_S_* constants for error mappingsStefan Metzmacher2014-03-281-4/+4
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* librpc/rpc: finally maintain only the object guidStefan Metzmacher2014-03-251-6/+5
| | | | | | | This has nothing to do with ndr_syntax_id... Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* librpc/rpc: maintain "abstract_syntax" as string option of dcerpc_bindingStefan Metzmacher2014-03-251-24/+37
| | | | | | | 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>
* librpc/rpc: handle ipv6 addresses without transport in dcerpc_parse_binding()Stefan Metzmacher2014-03-251-0/+2
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* librpc/rpc: add "schannel" => DCERPC_SCHANNEL as ncacn_optionStefan Metzmacher2014-03-251-0/+1
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* librpc/rpc: use dcerpc_binding_set_string_option(b, "endpoint", NULL) to ↵Stefan Metzmacher2014-03-251-5/+6
| | | | | | | | | 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>
* librpc/rpc: let dcerpc_binding_set_transport() also reset the assoc_group_idStefan Metzmacher2014-03-251-0/+5
| | | | | | | This is transport/endpoint specific. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* librpc: inline CHECK_SYNTAX macro logicDavid Disseldorp2014-03-241-20/+31
| | | | | | | | | | | The CHECK_SYNTAX macro is currently used to compare ndr_syntax_ids and return false on mismatch. Macros affecting control flow are evil! Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Mon Mar 24 21:46:39 CET 2014 on sn-devel-104
* librpc: inline VT CHECK macro logicDavid Disseldorp2014-03-241-20/+32
| | | | | | | | The CHECK macro is currently used to dump error and return false on VT condition check failure. Macros affecting control flow are evil! Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* librpc: split type specific VT checks into helpersDavid Disseldorp2014-03-241-26/+57
| | | | | Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* librpc: dump correct ndr_syntax_id on VT check failureDavid Disseldorp2014-03-241-1/+1
| | | | | Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* librpc/rpc: finaly make struct dcerpc_binding privateStefan Metzmacher2014-02-132-13/+15
| | | | | | | | 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
* librpc/rpc: make use of dcerpc_binding_set*() in dcerpc_binding_from_tower()Stefan Metzmacher2014-02-131-26/+44
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: use dcerpc_binding_get_*() in dcerpc_default_transport_endpoint()Stefan Metzmacher2014-02-131-13/+26
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: avoid loosing data with dcerpc_binding_string() -> ↵Stefan Metzmacher2014-02-131-1/+54
| | | | | | | dcerpc_parse_binding() Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add dcerpc_binding_[g|s]et_abstract_syntax()Stefan Metzmacher2014-02-132-5/+60
| | | | | | | | | | | | | | | | | | | | | | 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>
* librpc/rpc: allow "assoc_group_id" in dcerpc_binding_[g|s]et_string()Stefan Metzmacher2014-02-132-0/+30
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add dcerpc_binding_[g|s]et_assoc_group_id()Stefan Metzmacher2014-02-132-0/+15
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add dcerpc_binding_[g|s]et_transport()Stefan Metzmacher2014-02-132-2/+37
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add dcerpc_binding_[g|s]et_object()Stefan Metzmacher2014-02-132-28/+44
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add dcerpc_binding_[g|s]et_flags()Stefan Metzmacher2014-02-132-0/+22
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add dcerpc_binding_get_auth_info()Stefan Metzmacher2014-02-132-0/+43
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: simplify dcerpc_parse_binding()Stefan Metzmacher2014-02-131-104/+88
| | | | | | | | | 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>
* librpc/rpc: handle ncacn_options in dcerpc_binding_[s|g]et_string_option()Stefan Metzmacher2014-02-131-2/+29
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: set more things via dcerpc_binding_set_string_option()Stefan Metzmacher2014-02-132-0/+122
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add ncacn_option_by_name()Stefan Metzmacher2014-02-131-1/+19
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: remove dcerpc_binding->localaddress and store it in the options ↵Stefan Metzmacher2014-02-132-50/+2
| | | | | | | array Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: let derpc_binding_string() add ncacn_options before key=value ↵Stefan Metzmacher2014-02-131-14/+13
| | | | | | | options Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: handle "localaddress" in dcerpc_binding_[s|g]et_string_option()Stefan Metzmacher2014-02-131-2/+29
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: keep talloc hierachie sane in dcerpc_parse_binding()Stefan Metzmacher2014-02-131-4/+15
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add dcerpc_binding_copy_string_option()Stefan Metzmacher2014-02-132-0/+24
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add dcerpc_binding_set_string_option()Stefan Metzmacher2014-02-132-0/+70
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add dcerpc_binding_get_string_option()Stefan Metzmacher2014-02-132-0/+34
| | | | | | | | 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>
* librpc/rpc: only interpret the first option as endpoint if there's no '=' in it.Stefan Metzmacher2014-02-131-1/+1
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: remove the options array in dcerpc_parse_binding() if not neededStefan Metzmacher2014-02-131-2/+3
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add some talloc checks to dcerpc_binding_string()Stefan Metzmacher2014-02-131-3/+40
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add dcerpc_transport_by_name()Stefan Metzmacher2014-02-112-0/+19
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: simplify dcerpc_binding_build_tower()Stefan Metzmacher2014-02-111-18/+15
| | | | | | | | | 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>
* librpc/rpc: fix dcerpc_floor_set_rhs_data() with NULL data.Stefan Metzmacher2014-02-111-0/+7
| | | | | | | | 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>
* librpc/rpc: handle dcerpc_binding->host == NULL in dcerpc_floor_get_rhs_data()Stefan Metzmacher2014-02-111-4/+16
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: let dcerpc_floor_get_rhs_data() return 'char *'Stefan Metzmacher2014-02-112-2/+2
| | | | | | | | 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>
* librpc/rpc: add dcerpc_sec_verification_trailer_check()Gregor Beck2014-02-112-0/+154
| | | | | | Signed-off-by: Gregor Beck <gbeck@sernet.de> Reviewed-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: add dcerpc_sec_vt_header2_[from_ncacn_packet|equal]()Gregor Beck2014-02-112-0/+79
| | | | | | | | Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Signed-off-by: Gregor Beck <gbeck@sernet.de> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* librpc/rpc: simplify tevent_req_nterror() usage in binding_handle.cStefan Metzmacher2014-01-081-6/+3
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* librpc/rpc: read the full header in dcerpc_read_ncacn_packet_next_vector()Stefan Metzmacher2014-01-071-3/+9
| | | | | | | This helps wireshark reassamble the PDUs generated by socket_wrapper. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* s4:librpc: always try to negotiate DCERPC_PFC_FLAG_SUPPORT_HEADER_SIGNStefan Metzmacher2014-01-072-2/+4
| | | | | | | 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>
* CVE-2013-4408:librpc: check for invalid frag_len within ↵Stefan Metzmacher2013-12-091-0/+9
| | | | | | | | | | | | dcerpc_read_ncacn_packet_next_vector() We should do this explicit instead of relying on tstream_readv_pdu_ask_for_next_vector() to catch the overflow. Bug: https://bugzilla.samba.org/show_bug.cgi?id=10185 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* CVE-2013-4408:librpc: check for invalid frag_len within ↵Stefan Metzmacher2013-12-091-0/+5
| | | | | | | | | dcerpc_read_ncacn_packet_done() Bug: https://bugzilla.samba.org/show_bug.cgi?id=10185 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* librpc/rpc: add dcerpc_binding_handle_auth_info()Stefan Metzmacher2013-10-172-0/+33
| | | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* librpc: add dcerpc_default_transport_endpoint() function.Günther Deschner2013-09-202-0/+58
| | | | | | | Guenther Signed-off-by: Günther Deschner <gd@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>