1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00
Commit Graph

368 Commits

Author SHA1 Message Date
Günther Deschner
fdf3bd6203 s3-dcerpc: remove unsed auth type defines as seen on the wire.
Guenther
2009-09-15 17:50:00 +02:00
Günther Deschner
d3af0346c8 s3-dcerpc: use dcerpc_AuthLevel and remove duplicate set of flags.
Guenther
2009-09-15 17:49:34 +02:00
Günther Deschner
bea8e5fa60 s3-rpc_client: add dcerpc_transport_t to cli_rpc_pipe_open_schannel().
Guenther
2009-09-11 09:59:04 +02:00
Günther Deschner
032e01e7c1 s3-rpc_client: add dcerpc_transport_t to cli_rpc_pipe_open_spnego_ntlmssp and cli_rpc_pipe_open_ntlmssp.
Guenther
2009-09-11 09:59:04 +02:00
Günther Deschner
87f61a144b s3-rpc_client: add cli_rpc_pipe_open_noauth_transport.
Guenther
2009-09-11 09:59:03 +02:00
Günther Deschner
d258fb4d0d s3-schannel: use NL_AUTH_SIGNATURE for schannel sign & seal (client & server).
Guenther
2009-09-11 03:00:35 +02:00
Günther Deschner
393a1f594d s3-rpc_client: add enum dcerpc_transport_t to rpc_cli_transport struct.
Guenther
2009-09-11 00:26:24 +02:00
Günther Deschner
de0bf36493 s3-rpc_client: use NL_AUTH_MESSAGE in create_schannel_auth_rpc_bind_req().
Guenther
2009-09-08 17:07:02 +02:00
Günther Deschner
5b2b5abf4f s3-schannel: Fix Bug #6697. Interdomain trusts with Windows 2008 R2 DCs.
The Schannel verifier (aka NL_AUTH_SIGNATURE) structure (32 byte) sent from a
W2k8r2 DC is passed in a buffer with the size of a NL_AUTH_SHA2_SIGNATURE (56
byte). We should just ignore the remaining 12 zeroed bytes and proceed.

Guenther
2009-09-08 12:34:10 +02:00
Stefan Metzmacher
dcdefc17b9 s3:rpc_client: add dispatch_send/recv() to struct rpc_pipe_client
metze
2009-07-31 12:49:45 +02:00
Jeremy Allison
5d05d22999 Added prefer_ipv4 bool parameter to resolve_name().
W2K3 DC's can have IPv6 addresses but won't serve
krb5/ldap or cldap on those addresses. Make sure when
we're asking for DC's we prefer IPv4.
If you have an IPv6-only network this prioritizing code
will be a no-op. And if you have a mixed network then you
need to prioritize IPv4 due to W2K3 DC's.
Jeremy.
2009-07-28 11:51:58 -07:00
Volker Lendecke
3532882d02 Lift the event loop in rpc_api_pipe_req() one level into cli_do_rpc_ndr 2009-07-27 16:15:54 +02:00
Volker Lendecke
58fbf7420c Remove "typedef struct ndr_syntax_id RPC_IFACE;" 2009-07-05 23:50:12 +02:00
Volker Lendecke
795b896ab0 Fix a type-punned warning 2009-05-18 07:13:04 +02:00
Andrew Bartlett
53765c81f7 Remove use of talloc_reference in cli_rpc_pipe_open_schannel_with_key() 2009-04-20 16:50:49 +02:00
Andrew Bartlett
baf7274fed Make Samba3 use the new common libcli/auth code
This is particuarly in the netlogon client (but not server at this
stage)
2009-04-14 16:23:44 +10:00
Andrew Bartlett
f28f113d8e Rework Samba3 to use new libcli/auth code (partial)
This commit is mostly to cope with the removal of SamOemHash (replaced
by arcfour_crypt()) and other collisions (such as changed function
arguments compared to Samba3).

We still provide creds_hash3 until Samba3 uses the credentials code in
netlogon server

Andrew Bartlett
2009-04-14 16:23:35 +10:00
Volker Lendecke
1c4027678e Correct sync wrappers in cli_pipe.c 2009-04-06 21:32:08 +02:00
Volker Lendecke
5f753e22f1 Convert rpc_pipe_bind to tevent_req 2009-03-24 13:23:41 +01:00
Volker Lendecke
fa62836839 Convert rpc_cli_transport->trans to tevent_req 2009-03-24 13:23:41 +01:00
Volker Lendecke
8e0d9d002a Convert rpc_cli_transport->write to tevent_req 2009-03-24 13:23:41 +01:00
Volker Lendecke
22badee4bf Convert rpc_cli_transport->read to tevent_req 2009-03-24 13:23:40 +01:00
Volker Lendecke
1724f2ff31 Convert rpc_api_pipe_req to tevent_req 2009-03-24 13:23:40 +01:00
Volker Lendecke
f88990ec7e Convert rpc_api_pipe to tevent_req 2009-03-24 13:23:40 +01:00
Volker Lendecke
545ed5b52e Convert cli_api_pipe to tevent_req 2009-03-24 13:23:40 +01:00
Volker Lendecke
7a429fb369 Convert get_complete_frag to tevent_req 2009-03-24 13:23:40 +01:00
Volker Lendecke
7573bb758e Convert rpc_write to tevent_req 2009-03-24 13:23:40 +01:00
Volker Lendecke
1dd0883458 Convert rpc_read to tevent_req 2009-03-24 13:23:40 +01:00
Günther Deschner
9fdeb7f7b3 s3-spoolss: remove custom syntax_spoolss and use the syntax defined in IDL.
Guenther
2009-03-18 14:18:42 +01:00
Jeremy Allison
f48a345e4a Remove pwd_cache.c, it was doing nothing. Make user_name, domain, and
password talloc'ed strings within the cli_struct.
Jeremy.
2009-03-13 17:49:24 -07:00
Volker Lendecke
0844cca1d5 Replace get_myname() with the talloc version from v3-3-test 2009-02-13 12:15:03 +01:00
Volker Lendecke
d3f9b0fab6 Next step disentangling async_req from NTSTATUS
Now I need to document this :-)
2009-02-02 20:15:03 +01:00
Volker Lendecke
c14b7e648b Split up async_req into a generic and a NTSTATUS specific part 2009-02-01 19:05:39 +01:00
Volker Lendecke
7967d8c779 Move rpc_pipe_open_internal to srv_pipe_hnd.c
This is a smbd-only function
2009-02-01 14:34:23 +01:00
Volker Lendecke
57de60a83f cli_get_pipe_name_from_interface does not really need a talloc_ctx 2009-02-01 14:34:22 +01:00
Volker Lendecke
f6d08849e1 Fix memleaks 2009-01-30 21:29:35 +01:00
Volker Lendecke
aef749b53f pass NULL to prs_give_memory, that is a pointer 2009-01-30 21:29:35 +01:00
Volker Lendecke
22e3004829 Add the "SMBD" rpc transport
The idea of this is that all client utils like smbpasswd and also for example
"net join" do not access our internal databases like passdb and secrets.tdb
directly anymore but pass everything throught the well-established RPC
interfaces.

The way you use this is the following: With rpc_cli_smbd_conn_init() or its
async variant you initialize a "struct rpc_cli_smbd_conn". This structure is
the link to a freshly forked smbd, ready to be used for RPC services. You
should only ever have one such structure in your program. More don't hurt, but
are plainly unnecessary.

If you want to use the SAMR pipe to change a passwort, you connect to that pipe
with rpc_pipe_open_local. Do you normal rpccli_samr calls on that and your
locally forked smbd will connect to passdb for you.

GD, this might make the distinction between the _l and _r calls in libnetapi
mostly unnecessary. At least it is intended to do so... :-)
2009-01-30 12:48:00 +01:00
Volker Lendecke
b7094c0b80 Abstract away the transport in cli_pipe.c
Sorry for the monster checkin, I could not really find a way to do this in
steps.
2009-01-22 22:59:54 +01:00
Volker Lendecke
031f246941 Fix a segfault: rpccli_* expect the reply_pdu to always be initialized 2009-01-22 17:54:16 +01:00
Volker Lendecke
3662c2b0f6 cli_get_pipe_name_from_iface does not need the cli_state
I leave the TALLOC_CTX in, we might have to allocate it in the future
2009-01-22 11:38:00 +01:00
Jelmer Vernooij
11a25f9050 Allow calling DCE/RPC server implementations directly using
rpc_pipe_client.
2009-01-21 14:05:51 +01:00
Volker Lendecke
0dbd396862 Add a macro async_req_setup()
This streamlines setting up a multi-step async request a bit
2009-01-18 16:45:07 +01:00
Volker Lendecke
c45b6ec29a Add code to torture the fragmentation code a bit 2009-01-18 15:40:45 +01:00
Volker Lendecke
a158ebbe49 Remove unused functions 2009-01-18 15:40:45 +01:00
Volker Lendecke
28c35b4c04 Make rpc_pipe_bind async 2009-01-18 15:40:45 +01:00
Volker Lendecke
ecb5184ce5 Fix an uninitialized variable 2009-01-18 15:40:45 +01:00
Volker Lendecke
3f9f188877 Remove sync rpc_api_pipe_req 2009-01-18 15:40:45 +01:00
Volker Lendecke
396ed3b363 Add async rpc_api_pipe_req 2009-01-18 15:40:45 +01:00
Volker Lendecke
c655f19e1f Add rpc_write_send/recv 2009-01-18 15:40:44 +01:00
Volker Lendecke
f96335afc0 Remove unused sync functions 2009-01-18 15:40:44 +01:00
Volker Lendecke
f6740aa7ad Make rpc_api_pipe async 2009-01-18 15:40:44 +01:00
Volker Lendecke
761d164420 Rename the async version of get_complete_pdu to get_complete_frag 2009-01-18 15:40:44 +01:00
Volker Lendecke
5e6f3eaae9 Move initialization of the reply prs_struct to rpc_api_pipe 2009-01-18 15:40:44 +01:00
Volker Lendecke
5987c82697 Always check the max send sizein rpc_api_pipe, not just with DEVELOPER 2009-01-18 15:40:44 +01:00
Volker Lendecke
6d47418bc1 Make cli_api_pipe async
Also move the transport switch to this routine
2009-01-18 15:40:43 +01:00
Volker Lendecke
173d6c84a6 Remove sync rpc_read wrapper 2009-01-18 15:40:43 +01:00
Volker Lendecke
5d71fe8043 Make cli_pipe_get_current_pdu async, rename it to get_current_pdu 2009-01-18 15:40:43 +01:00
Volker Lendecke
30413f12b9 Make rpc_read async 2009-01-18 15:40:43 +01:00
Volker Lendecke
9b3c38f4af Slightly simplify the paths after rpc_api_pipe() 2009-01-17 11:27:32 +01:00
Volker Lendecke
8c983af56d Make rpc_read look like a real read call
It doesn't really need to know about prs_structs
2009-01-14 17:08:40 +01:00
Volker Lendecke
e1aeb486e8 Make rpc_read() match the control flow normally used in Samba
Replace do { .. } while () with a while () { .. }
2009-01-14 17:08:40 +01:00
Volker Lendecke
11e3388083 Simplify rpc_read a bit
rpc_read always reads the whole bytes it was asked to read. So it is not really
necessary for it to update the current_pdu_offset, for clarity this can better
be done in the caller.
2009-01-14 17:08:39 +01:00
Volker Lendecke
15dd11b31e Remove an unnecessary size check
rpc_read is only ever called with at most fraglen-RPC_HEADER_SIZE length
2009-01-14 17:08:39 +01:00
Volker Lendecke
274f575b24 Check the fragment size the server has sent us 2009-01-14 17:08:39 +01:00
Volker Lendecke
583d7913c8 Slightly simplify rpc_read: It should not do the resize 2009-01-14 17:08:39 +01:00
Volker Lendecke
87f9f0b01a Always read with offset 0 from a named pipe 2009-01-14 17:08:39 +01:00
Volker Lendecke
ce5eded7e0 Move cli_api_pipe() to its only user cli_pipe.c 2009-01-11 22:53:24 +01:00
Volker Lendecke
19b783cce9 Async wrapper for open_socket_out_send/recv 2009-01-04 16:42:40 +01:00
Volker Lendecke
fafb9ecc61 open_socket_out is always used with SOCK_STREAM, remove argument "type" 2009-01-03 19:22:06 +01:00
Günther Deschner
b883bcd4ff s3: store user session key in cli_rpc_pipe_open_noauth().
Guenther
2008-12-05 14:27:03 +01:00
Günther Deschner
7f8bc6a2d9 errors: share dcerpc error function.
Guenther
2008-10-31 12:42:09 +01:00
Jelmer Vernooij
2d89b52be8 Use separate make variables for libutil and libcrypto. 2008-10-18 14:28:40 +02:00
Jeremy Allison
969a2fc4dd Don't use debug level 1 to log a trivial message.
Jeremy.
2008-10-15 18:07:15 -07:00
Volker Lendecke
29dd253e69 Tiny logic simplification: remove an else branch
(This used to be commit 9c4905ed67)
2008-09-03 13:52:13 +02:00
Günther Deschner
a77c9285b7 fix another build warning.
Guenther
(This used to be commit 43693ce6c6)
2008-08-20 22:07:40 +02:00
Volker Lendecke
a20c498310 Remove unused function rpccli_is_pipe_idx
(This used to be commit 287ffc17a0)
2008-07-21 14:36:31 +02:00
Volker Lendecke
303f98af2f Remove now unused cli_get_pipe_name
(This used to be commit ed4a447103)
2008-07-21 14:36:30 +02:00
Volker Lendecke
346a8d1bdc Remove now unused cli_get_pipe_idx
(This used to be commit e02a550527)
2008-07-21 14:36:29 +02:00
Volker Lendecke
9664f24ecf Remove now unused cli_get_iface
(This used to be commit 2e60701e8d)
2008-07-21 14:36:28 +02:00
Volker Lendecke
798b56edae Refactoring: libnetapi_open_pipe takes an interface instead of pipe_idx
(This used to be commit 726e56c72f)
2008-07-21 14:36:27 +02:00
Volker Lendecke
55f84c05bd Refactoring: Change calling conventions for cli_rpc_pipe_open_krb5
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS
(This used to be commit f2656e5c2e)
2008-07-20 17:37:14 +02:00
Volker Lendecke
99526d391d Refactoring: Change calling conventions for cli_rpc_pipe_open_schannel
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS
(This used to be commit 1fcfca007f)
2008-07-20 17:37:14 +02:00
Volker Lendecke
52ff49600e Refactoring: Change calling conventions for cli_rpc_pipe_open_ntlmssp_auth_schannel
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS
(This used to be commit ff87127baf)
2008-07-20 17:37:13 +02:00
Volker Lendecke
ba2cb35ca5 Refactoring: Change calling conventions for cli_rpc_pipe_open_schannel_with_key
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS
(This used to be commit 78e9c937ff)
2008-07-20 17:37:13 +02:00
Volker Lendecke
44bdc98823 Refactoring: Make get_schannel_session_key_auth_ntlmssp return NTSTATUS
(This used to be commit ab3d80d476)
2008-07-20 17:37:12 +02:00
Volker Lendecke
b8fc15be95 Refactoring: Make get_schannel_session_key return NTSTATUS
(This used to be commit a0793cc853)
2008-07-20 17:37:12 +02:00
Volker Lendecke
1f854d1db7 Refactoring: Make get_schannel_session_key_common return NTSTATUS
(This used to be commit 513e695076)
2008-07-20 17:37:12 +02:00
Volker Lendecke
e0be03d8d5 Refactoring: Change calling conventions for cli_rpc_pipe_open_ntlmssp
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS
(This used to be commit a13f059955)
2008-07-20 17:37:11 +02:00
Volker Lendecke
1335da2a7c Refactoring: Change calling conventions for cli_rpc_pipe_open_noauth
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS
(This used to be commit 9abc9dc4dc)
2008-07-20 17:37:11 +02:00
Volker Lendecke
18fb7e0977 Refactoring: Change calling conventions for cli_rpc_pipe_open
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS
(This used to be commit 6c122457ff)
2008-07-20 17:06:22 +02:00
Volker Lendecke
eb68e95d9a Refactoring: Change calling conventions for rpc_pipe_open_np
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS
(This used to be commit 9249fe9e91)
2008-07-20 17:06:22 +02:00
Volker Lendecke
2e905d2cd1 Allocate rpc_cli->dc in rpccli_netlogon_setup_creds()
The general cli_pipe routines should not have to know about this NETLOGON
speciality.
(This used to be commit d30237598d)
2008-07-20 17:06:21 +02:00
Volker Lendecke
65dfc40a4a Store copies of the syntax ids in rpc_pipe_client
(This used to be commit 848a3497e3)
2008-07-20 17:06:21 +02:00
Volker Lendecke
66669bad43 Simplify pipe_names: we only do ndr_transfer_syntax anyway
(This used to be commit b808403af5)
2008-07-20 17:06:21 +02:00
Volker Lendecke
867b61d0a1 The PIPE_ pipename macros are only used in cli_pipe.c
(This used to be commit 03f7af26f2)
2008-07-19 21:07:14 +02:00
Volker Lendecke
bf6c11fea3 Make the pipe_names[] array static to cli_pipe.c
(This used to be commit ab7ab35059)
2008-07-19 20:40:27 +02:00
Jeremy Allison
799252f635 Fix the non-LDAP, non-krb5 build, fix gcc -O3 warnings.
Jeremy.
(This used to be commit 9e2ab30d3c)
2008-06-26 19:46:18 -07:00
Günther Deschner
92bd665aea rpc_client: let cli_get_session_key() return talloced session key.
Thanks, Volker, for pointing this out.

Guenther
(This used to be commit b47899195e)
2008-06-25 09:51:31 +02:00
Günther Deschner
07f06eec21 rpc_client: add cli_get_session_key().
Guenther
(This used to be commit 93b56755f7)
2008-06-24 23:47:58 +02:00