Michael Adam
ac43937ce4
smbXcli: add the possiblilty to negotiate client capabilites in smb >= 2.2
...
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-03-03 17:03:07 +01:00
Michael Adam
76e6733344
libcli:smb: define SMB2_DHANDLE_FLAG_PERSISTENT
2012-03-03 17:03:06 +01:00
Michael Adam
db632fdd2c
libcli:smb: add new SMB2 share flags
...
* FORCE_LEVELII_OPLOCKS
* ENABLE_HASH_V1
* ENABLE_HASH_V2
* ENCRYPT_DATA
2012-03-03 17:03:06 +01:00
Michael Adam
6f860837e5
libcli:smb: upgrade SMB2_CAP_ALL to include the newly known caps
2012-03-03 17:03:06 +01:00
Michael Adam
8c5d288ecf
libcli:smb: add defines for SMB2.2 share capabilities
...
* continuous avaliability
* cluster
* scaleout
2012-03-03 17:03:06 +01:00
Michael Adam
29eed6359a
libcli:smb: add defines for SMB2.2 global capabilities
...
* multi channel
* persistent handles
* directory leasing
* encryption
2012-03-03 17:03:06 +01:00
Michael Adam
0bdd18efc9
libcli:smb: define DH2Q and DH2C tags for smb2 extra create blobs
...
These are the tags for the SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2
and SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2, the second version
of the SMB2_CREATE_DURABLE_HANDLE_REQUEST (DHnQ) and
SMB2_CREATE_DURABLE_HANDLE_RECONNECT (DHnC), which are only
available for SMB 2.2 (and newer).
2012-03-03 17:03:06 +01:00
Christian Ambach
dc24e229a5
smb2_constants: fix a typo
...
Autobuild-User: Christian Ambach <ambi@samba.org>
Autobuild-Date: Sat Mar 3 09:04:40 CET 2012 on sn-devel-104
2012-03-03 09:04:40 +01:00
Christian Ambach
583a53835b
smb2_constants: add SMB2_WATCH_TREE
2012-03-02 21:47:09 -08:00
Michael Adam
f981257240
libcli/smb/smb2_signing: rename smb2_key_deviration -> smb2_key_derivation
...
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Wed Feb 29 09:01:54 CET 2012 on sn-devel-104
2012-02-29 09:01:54 +01:00
Stefan Metzmacher
c9219fe585
libcli/smb/smbXcli: use smb2_key_deviration() to setup SMB 2.24 keys
...
This uses the key diveration function from "NIST Special Publication 800-108"
in counter mode (section 5.1).
Thanks to Jeremy, Michael and Volker for the debugging!
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed Feb 29 04:54:48 CET 2012 on sn-devel-104
2012-02-29 04:54:46 +01:00
Stefan Metzmacher
39ae4737e0
libcli/smb/smb2_signing: implement aes_cmac_128 based signing for SMB 2.24
...
metze
2012-02-29 03:16:23 +01:00
Stefan Metzmacher
7f5e56971f
libcli/smb/smb2_signing: add smb2_key_deviration()
...
This implements a simplified version of "NIST Special Publication 800-108" section 5.1
using hmac-sha256.
Thanks to Jeremy, Michael and Volker for the debugging!
metze
2012-02-29 03:16:23 +01:00
Stefan Metzmacher
615c41ce12
libcli/smb/smb2_signing: pass down 'protocol' to smb2_signing_[sign|check]_pdu()
...
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Mon Feb 27 14:26:32 CET 2012 on sn-devel-104
2012-02-27 14:26:32 +01:00
Stefan Metzmacher
7309e11ad5
libcli/smb/smb2_signing: rename session_key to signing_key
...
metze
2012-02-27 12:51:34 +01:00
Stefan Metzmacher
910251e8ed
libcli/smb/smbXcli: remove unused if statement from smb2cli_conn_dispatch_incoming()
...
metze
2012-02-27 12:51:34 +01:00
Stefan Metzmacher
a1ef9c761a
libcli/smb/smbXcli: add smb2cli_session_application_key()
...
metze
2012-02-27 12:51:34 +01:00
Stefan Metzmacher
aa4331be9e
libcli/smb/smbXcli: maintain smb2 channel_signing_key separate from the signing_key
...
The signing_key is fix across all channels and is used for session setups
on a channel binding.
Note:
- the last session setup response is signed with the new channel signing key.
- the reauth session setups are signed with the channel signing key.
It's also not needed to remember the main session key.
metze
2012-02-27 12:51:33 +01:00
Stefan Metzmacher
b93f6ac79c
libcli/smb/smbXcli: remove unused checks from smb2cli_session_create_channel()
...
metze
2012-02-27 12:51:33 +01:00
Volker Lendecke
bd6ff4dbab
libcli: Remove a pointless check
...
"n" is size_t, so it is always >=0.
2012-02-25 22:14:38 +01:00
Richard Sharpe
1082532500
Honor SeTakeOwnershiPrivilege when client asks for SEC_STD_WRITE_OWNER but has no permission for that, but token has SeTakeOwnershipPrivilege
...
Autobuild-User: Richard Sharpe <sharpe@samba.org>
Autobuild-Date: Wed Feb 22 19:19:32 CET 2012 on sn-devel-104
2012-02-22 19:19:32 +01:00
Andrew Bartlett
52ac479764
auth: Move the rest of the source4 gensec_ntlmssp code to the top level
...
The ntlmssp_server code will be in common shortly, and aside from a
symbol name or two, moving the client code causes no harm and makes
less mess. We will also get the client code in common very soon.
Andrew Bartlett
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-02-17 10:48:09 +01:00
Andrew Bartlett
674278d5b0
auth/kerberos: Move gse_get_session_key() to common code and use in gensec_gssapi
...
Thie ensures that both code bases use the same logic to determine the use
of NEW_SPNEGO.
Andrew Bartlett
2012-02-17 17:36:38 +11:00
Andrew Bartlett
5ad7665b63
libcli/smb: Convert struct smb_trans_enc_state to talloc
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-01-31 20:17:10 +01:00
Andrew Bartlett
fce53e0e79
s3-libsmb: Remove unused enum smb_trans_enc_type
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-01-31 20:17:10 +01:00
Stefan Metzmacher
f6fb55aeae
libcli/util: fix typo in nt_errs[] for NT_STATUS_NETWORK_SESSION_EXPIRED
...
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Sun Jan 29 14:11:12 CET 2012 on sn-devel-104
2012-01-29 14:11:12 +01:00
Stefan Metzmacher
c543ce1028
libcli/smb: fix smbXcli_negprot(..., PROTOCOL_NT1, PROTOCOL_SMB2_02)
...
The SMB1 negprot request already consumed the SMB2 sequence '0'.
This also happens for the SMB 2.02 case.
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri Jan 27 15:27:41 CET 2012 on sn-devel-104
2012-01-27 15:27:40 +01:00
David Disseldorp
af6bf7714d
lib: use differing NTSTATUS and WERROR struct members
...
This allows the compiler to catch uses of incorrectly typed arguments
for [NT_STATUS|W_ERROR]_IS_OK() and [NT_STATUS|W_ERROR]_EQUAL(). I.e.
WERROR werr;
werr = my_fn(); /* XXX returns WERROR type */
if (NT_STATUS_EQUAL(werr, NT_STATUS_OBJECT_NAME_COLLISION)) {
2012-01-23 12:18:20 -08:00
Andrew Bartlett
e175d25c68
s3-libsmb: Always allow SMB_TRANS_ENC_GSS to be defined
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Sat Jan 21 01:28:54 CET 2012 on sn-devel-104
2012-01-21 01:28:53 +01:00
Andrew Bartlett
58916c047d
s3-libsmb: Remove unused smb_tran_enc_state_gss and gssapi headers
...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-01-20 23:55:55 +01:00
Andrew Bartlett
41ed715d42
s3-libsmb: use struct gensec_security directly
...
This is rather than via a now one-element union.
Andrew Bartlett
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-01-20 23:55:55 +01:00
Andrew Bartlett
06f7105490
s3-libcli Change krb5 smb sealing to call via gensec and gensec_gse
...
This also fixes the support for smb sealing with krb5 in make test, as
this now relies on secrets.tdb rather than /etc/krb5.keytab.
Andrew Bartlett
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-01-20 23:55:54 +01:00
Andrew Bartlett
b69c40ffce
auth/kerberos: Remove unused TALLOC_CTX argument to check_pac_checksum
2012-01-12 18:02:54 +11:00
Jeremy Allison
f15cf9176d
Second part of fix for bug #8673 - NT ACL issue.
...
Ensure we process the entire ACE list instead of returning ACCESS_DENIED
and terminating the walk - ensure we only return the exact bits that cause
the access to be denied. Some of the S3 fileserver needs to know if we
are only denied DELETE access before overriding it by looking at the
containing directory ACL.
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Jan 11 19:24:53 CET 2012 on sn-devel-104
2012-01-11 19:24:53 +01:00
Andrew Bartlett
19deda26d0
krb5: Require krb5_string_to_key be available to build with krb5
2012-01-10 21:50:07 +01:00
Andrew Bartlett
0c6af1e2da
krb5: Require krb5_principal_compare_any_realm be available to build with krb5
2012-01-10 21:50:07 +01:00
Andrew Bartlett
6b2e742d6c
krb5: Require krb5_c_verify_checksum is available to build with krb5
2012-01-10 21:50:07 +01:00
Volker Lendecke
f1432d14a4
libcli/smb: Add smbXcli_conn_samba_suicide
...
This is a pure test tool against Samba servers
2012-01-05 13:09:36 +01:00
Volker Lendecke
48804e40d4
Fix the build without kerberos
...
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Sun Jan 1 23:56:24 CET 2012 on sn-devel-104
2012-01-01 23:56:24 +01:00
Andrew Bartlett
9a085b0b80
auth/kerberos: Move gssapi_parse.c to the top level
...
This will help with writing a gensec module for the s3 gse layer.
Andrew Bartlett
2011-12-28 22:39:19 +11:00
Volker Lendecke
d4e834ec6c
lib: Fix NT_STATUS_ALL_SIDS_FILTERED definition
...
This seems to be more in line with all the other NT_STATUS definitions.
Metze, please check.
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Fri Dec 23 23:19:17 CET 2011 on sn-devel-104
2011-12-23 23:19:17 +01:00
Stefan Metzmacher
2bd2f3880e
libcli/smb: add PROTOCOL_SMB2_24 support
...
metze
2011-12-22 15:58:45 +01:00
Stefan Metzmacher
5bc242f4a2
libcli/smb: add SMB2_DIALECT_REVISION_224
...
This is specified in the new [MS-SMB2] preview document.
metze
2011-12-22 15:58:45 +01:00
Stefan Metzmacher
23a034335c
libcli/util: add NT_STATUS_NETWORK_SESSION_EXPIRED and NT_STATUS_ALL_SIDS_FILTERED
...
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Sat Dec 17 14:24:40 CET 2011 on sn-devel-104
2011-12-17 14:24:40 +01:00
Volker Lendecke
a77b0dd7b8
libcli: Remove an unused variable
...
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Mon Dec 12 23:21:49 CET 2011 on sn-devel-104
2011-12-12 23:21:49 +01:00
Andrew Bartlett
c9d929af8b
s4-lsarpc handle more info levels in SetInfoTrustedDomain calls
...
This uses the very helpful conversion functions written for the s3 lsa server
and places these in common.
Andrew Bartlett
2011-12-12 12:57:07 +01:00
Stefan Metzmacher
13dbef241b
smbXcli: add support for SMBreadBraw
...
metze
2011-11-29 16:00:08 +01:00
Stefan Metzmacher
e450c45e67
smbXcli: add smb1cli_conn_server_{readbraw,writebraw,lockread,writeunlock}()
...
metze
2011-11-29 16:00:08 +01:00
Stefan Metzmacher
51a7201a12
smb1cli_trans: add support for tevent_req_cancel()
...
metze
2011-11-29 16:00:08 +01:00
Stefan Metzmacher
524d06615f
smb1cli_trans: return the status from the server if possible
...
metze
2011-11-29 16:00:08 +01:00
Stefan Metzmacher
f0d8038ed8
smbXcli: rebuild smb1.recv_iov array if we expect more than one response
...
metze
2011-11-29 16:00:07 +01:00
Stefan Metzmacher
8c7e7ee91b
smbXcli: allow up to 10 iovec elements for the bytes in smb1cli_req_create()
...
The smb1cli_trans_* code uses up to 6 elements, which was too much for
the current limit of 5.
metze
2011-11-29 16:00:07 +01:00
Stefan Metzmacher
3453665bcb
smbXcli: s/smb2cli_writev_done/smb2cli_req_writev_done
...
This is a better name and it matches smb1cli_req_writev_done
metze
2011-11-29 16:00:07 +01:00
Stefan Metzmacher
c9ca3bb492
smbXcli: call tevent_queue_stop() for the outgoing queue on disconnect
...
metze
2011-11-29 16:00:07 +01:00
Stefan Metzmacher
91cb09fa0c
smbXcli: use talloc_stackframe() instead of talloc_tos() in smb1cli_conn_signv()
...
metze
2011-11-29 16:00:07 +01:00
Stefan Metzmacher
9f6454af39
libcli/smb: remove unused smb_signing_set_bsrspyl() prototype
...
metze
2011-11-29 16:00:07 +01:00
Volker Lendecke
7491bd78d6
Fix Coverity ID 2638: OVERRUN_STATIC
2011-11-28 14:52:32 +01:00
Volker Lendecke
f094cc3ade
Fix Coverity ID 2639: UNUSED_VALUE
2011-11-28 14:52:31 +01:00
Volker Lendecke
d287fe5399
s3:libsmb: Fix a typo
2011-11-24 19:02:33 +01:00
Stefan Metzmacher
a210d9fa05
s3:smbXcli: keep two fd per connection in order to work with the epoll tevent backend
...
metze
2011-11-24 19:02:33 +01:00
Stefan Metzmacher
da2027faf7
smbXcli: rework smb1cli_trans.c to use smbXcli_conn/smbXcli_req
...
metze
2011-11-24 19:02:32 +01:00
Stefan Metzmacher
c1db4a0d9f
smbXcli: cp source3/libsmb/clitrans.c libcli/smb/smb1cli_trans.c
...
metze
2011-11-24 19:02:32 +01:00
Stefan Metzmacher
bda3d491b4
smbXcli: add smb2cli_req_set_notify_async()
...
That can be used if the caller wants to be notified if
the async interim response arrives.
metze
2011-11-24 19:02:31 +01:00
Stefan Metzmacher
0995d68d59
smbXcli: add support for tevent_req_cancel() on smbXcli_req
...
metze
2011-11-24 19:02:31 +01:00
Stefan Metzmacher
91ffe696aa
smbXcli: fix smb signing for SMBntcancel
...
metze
2011-11-24 19:02:31 +01:00
Stefan Metzmacher
c2a39f4ecd
smbXcli: add smb2cli_session_create_channel()
...
This makes it possible to implement SMB 2.22 Multi-Channel
for testing.
metze
2011-11-24 19:02:31 +01:00
Stefan Metzmacher
99b3d57fc3
s3:smb2cli: make use of smbXcli_session and setup the session key for SMB2 signing
...
metze
2011-11-24 19:02:31 +01:00
Stefan Metzmacher
396d7a7dd3
smbXcli: add support for smb2 signing
...
metze
2011-11-24 19:02:31 +01:00
Stefan Metzmacher
3fd54b57c1
smbXcli: add smbXcli_session infrastructure
...
metze
2011-11-24 19:02:31 +01:00
Stefan Metzmacher
4435dad827
smbXcli: add support for PROTOCOL_SMB2_22 in smbXcli_negprot()
...
metze
2011-11-24 19:02:31 +01:00
Stefan Metzmacher
9d06e0fcc7
smbXcli: add support for SMB2 multi-credit requests
...
metze
2011-11-24 19:02:31 +01:00
Stefan Metzmacher
d533543166
smbXcli: add support for 2.??? negprot and PROTOCOL_SMB2_10
...
metze
2011-11-24 19:02:31 +01:00
Stefan Metzmacher
1cfeb3f8a0
smbXcli: pass client_guid to smbXcli_conn_create()
...
metze
2011-11-24 19:02:31 +01:00
Stefan Metzmacher
ceb063ca7d
smbXcli: add smbXcli_negprot_*
...
This supports negotiation of any SMB1 or SMB2 dialect.
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
b958498c2a
smbXcli: add helper functions to access the negotiated features
...
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
1a0ce02a23
smbXcli: also notify chained requests about broken connections
...
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
4d8e151779
smbXcli: simplify smb1cli_req_chain_submit()
...
We should hang everything on the first request in the chain,
as that's the one that gets added to the pending array.
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
e2912fa853
smbXcli: remove unused smb1cli_have_andx_command()
...
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
fee3a0a657
smbXcli: reorder smb1cli_conn_dispatch_incoming() to avoid too much nesting
...
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
0f194e35a6
smbXcli: rework smb1cli_req_recv() to expose an iov with 3 elements
...
Each smb1cli_req has 3 iov elements
[SMB HDR, SMB Parameter Block, SMB Data Block].
The 'inbuf' is still exposed if the caller requires it
(until we fix all legacy callers).
The can now pass an array of expected [status,wct] combinations,
instead of just one expected min_wct.
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
ce224f4d25
smbXcli: use smb1cli_inbuf_parse_chain() and remember more details per chain response
...
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
7c5651c3f6
smbXcli: add smb1cli_inbuf_parse_chain()
...
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
94cb738dd4
smbXcli: pass hdr to smb1cli_pull_raw_error()
...
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
4529395d3c
smbXcli: add state->smb1.recv_{cmd,status,iov}
...
In the following commits we will need to remember a few more things.
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
5e7cf194d2
smbXcli: split out a smb1cli_req_flags() function
...
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
2a570e6305
smbXcli: set message id to UINT64_MAX for BREAK in smb2cli_req_create()
...
This way the caller can register an oplock handler.
Note that smb2cli_req_compound_submit() will overwrite this
if a request is send over the wire.
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
349977e1a0
s3:smb2cli: replace smb2cli_base.c code with the more generic smbXcli_base.c code
...
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
84806eceb2
smbXcli: rework smb2cli_req to smbXcli_conn/smbXcli_req
...
metze
2011-11-24 19:02:30 +01:00
Stefan Metzmacher
21b5f1c185
libcli/smb: copy smb2cli_req_* code to smbXcli_base.c
...
metze
2011-11-24 19:02:29 +01:00
Stefan Metzmacher
26892a9783
smbXcli: rework smbXcli_base.c to use smbXcli_conn/smbXcli_req
...
This splits the low level smb code from 'struct cli_state'
and makes it much more generic and useful for testing.
metze
2011-11-24 19:02:29 +01:00
Stefan Metzmacher
012dee3803
smbXcli: cp source3/libsmb/async_smb.c libcli/smb/smbXcli_base.c
...
metze
2011-11-24 19:02:29 +01:00
Christian Ambach
53ad886f75
security: add local authority well-known SIDs
...
add the S-1-2 well-known SID family
Autobuild-User: Christian Ambach <ambi@samba.org>
Autobuild-Date: Thu Nov 24 19:01:08 CET 2011 on sn-devel-104
2011-11-24 19:01:08 +01:00
Matthias Dieter Wallnöfer
4cafcf0e6b
libcli/cldap/cldap.c - remove outdated comment
...
Reviewed-by: metze
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Thu Nov 10 20:32:08 CET 2011 on sn-devel-104
2011-11-10 20:32:08 +01:00
Stefan Metzmacher
17f1a97a61
libcli/cldap: fix a crash bug in cldap_socket_recv_dgram() (bug #8593 )
...
After a calling any wrapper of tevent_req_notify_callback(),
e.g. tevent_req_nterror(), tevent_req_done(), tevent_req_nomem(),
a function has to return immediately otherwise it is very likely to
crash, unless in calls tevent_req_defer_callback() before.
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Nov 10 16:31:59 CET 2011 on sn-devel-104
2011-11-10 16:31:59 +01:00
Günther Deschner
6e67073900
waf: convert NDR_NBT into shared library.
...
Guenther
2011-11-03 18:35:09 +01:00
Günther Deschner
768b42f334
nbt: move netlogon_samlogon_response into librpc/ndr/ndr_nbt.h.
...
Guenther
2011-11-03 18:35:08 +01:00
Günther Deschner
0de2bf97ff
nbt: move nbt_string ndr functions to ndr/ndr_nbt.c helper.
...
Guenther
2011-11-03 18:35:08 +01:00
Günther Deschner
72879f491f
nbt: merge in LIBCLI_NDR_NETLOGON helper into NDR_NBT.
...
Guenther
2011-11-03 18:35:08 +01:00
Günther Deschner
2417ea4923
librpc: remove nbt dependency to svcctl.
...
Guenther
2011-11-03 18:35:08 +01:00
Günther Deschner
2ecd50116c
librpc: remove nbt dependency to samr.
...
Guenther
2011-11-03 18:35:08 +01:00