1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-24 15:17:06 +03:00

57 Commits

Author SHA1 Message Date
Steven Danneman
bf1a4b2bc4 s4:libcli:smb2 Rename pending_id to async_id and make 64-bit
Match MS-SMB2 - 2.2.1.1   SMB2 Packet Header - ASYNC
2010-09-22 17:52:53 -07:00
Matt Kraai
d8071e7ed7 Change uint_t to unsigned int in source4
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-02-02 07:18:18 +01:00
Steven Danneman
65a611ec72 s4/libcli: Initialize client PID for SMB2 connections
Set the SMB pid to the Unix pid of the client process.
2009-11-25 12:55:47 -08:00
Stefan Metzmacher
1df883aa39 libcli: move some common SMB and SMB2 stuff into libcli/smb/
This will hold code that's shared between source3 and source4.

metze
2009-08-12 18:28:32 +02:00
Stefan Metzmacher
da737f2447 s4:libcli/smb2: add smb2_transport_credits_set_charge() to change the CreditsCharge value for the next request
metze
2009-07-15 10:57:32 +02:00
Stefan Metzmacher
d153430e32 s4:libcli/smb2: add smb2_transport_credits_ask_num()
metze
2009-06-09 16:49:30 +02:00
Stefan Metzmacher
d777879aaa s4:libcli/smb2: add support sending compounded requests
metze
2009-06-09 16:49:29 +02:00
Volker Lendecke
993bdd87b5 Move SMB2 constants to a separate file 2009-05-11 15:54:24 +02:00
Volker Lendecke
ce8f3528f1 Fix SMB2_CAP_DFS 2009-05-11 15:54:24 +02:00
Zach Loafman
afa71fbad9 s4:smb2: Add lease break support for SMB2.1
Add the structures and marshalling for the lease break variants of the
oplock break / oplock break ack messages.
2009-04-01 08:30:25 -07:00
Zach Loafman
92f3686c96 s4:smb2: Add rudimentary SMB2.1 lease support to libcli
Add the structures, constants, and marshalling for SMB2.1 leases.
2009-03-28 01:01:47 -07:00
Zach Loafman
8595f260eb s4 libcli: Add back Longhorn beta dialect as a constant
Also tweak how the dialect array and count is initialized.
2009-03-18 11:03:33 -07:00
Zach Loafman
6c08e329fa s4 libcli: Add SMB2.1 dialect to libcli
Negotiate 2.1 if possible, leave negotiate results in
transport->negotiate.dialect_revision.
2009-03-17 13:43:27 -07:00
Stefan Metzmacher
476aa1f00d s4:smb2: s/private/private_data
metze
2009-02-02 13:08:49 +01:00
Andrew Tridgell
0cf7175126 we need different error handling for truncated packets in NETPROT and
other SMB2 operations.
2008-09-24 18:58:38 -07:00
Stefan Metzmacher
2a336a63d7 libcli/smb2: add SMB2_CREATE_OPTIONS_NOT_SUPPORTED_MASK
SMB2 returns NOT_SUPPORTED to some more NTCREATE_OPTIONS.

metze
(This used to be commit 3ea08d430370717463ffab44fed9c42db1002d97)
2008-08-14 13:13:51 +02:00
Stefan Metzmacher
35bd7a6378 libcli/smb2: fix per session signing state
metze
(This used to be commit 8bc12dc77a59e792830d96e84a4e8d1b2c651505)
2008-07-28 14:09:45 +02:00
Andrew Tridgell
1c33953ae2 make signing per session in the SMB2 client library
Thanks to Metze for spotting this
(This used to be commit e9fd9b821c04d1cb7b574f539dd8169611e662aa)
2008-06-07 08:30:51 -07:00
Andrew Tridgell
beaa01e403 implemented client side SMB2 signing
This doessn't work against Windows yet, and I've submitted a WSPP
request for clarification of the docs to try and find out
why. Meanwhile this is no worse than what we had, as it only gets used
when the server demands signing, and we didn't work then anyway.
(This used to be commit b788096add3586d7277efcd3bf5ca7f3a604cb7a)
2008-05-30 17:03:54 +10:00
Andrew Tridgell
9c6a35ad9b remember the server time fields on negotiate. Needed for gentest
(This used to be commit 7989ca861dcc700b52be3a47ea5ae8b03fbb9330)
2008-05-20 11:57:43 +10:00
Andrew Tridgell
c7d7577fb9 private -> private_data for struct smb2_request
(This used to be commit 67290e0ad69df2f2fe651249c6550b8e32dd641b)
2008-05-16 15:03:58 +10:00
Stefan Metzmacher
132852f44a libcli/smb2: make it possible to handle incoming oplock requests
metze
(This used to be commit 58189b87eade62b717c2c17c679e482786bf2098)
2008-04-19 01:54:44 +02:00
Andrew Tridgell
b640f475be updated SMB2 code for getinfo according to WSPP docs
- Updated getinfo structures and field names
- also updated the protocol revision number handling to reflect
  new docs
(This used to be commit 3aaa2e86d94675c6c68d66d75292c3e34bfbc81b)
2008-02-14 17:11:36 +11:00
Andrew Tridgell
e870cfec9f Convert SMB and SMB2 code to use a common buffer handling structure
This converts our SMB and SMB2 code to use a common structure "struct
request_bufinfo" for information on the buffer bounds of a packet,
alignment information and string handling. This allows us to use a
common backend for SMB and SMB2 code, while still using all the same
string and blob handling functions.

Up to now we had been passing a NULL req handle into these common
routines from the SMB2 side of the server, which meant that we failed
any operation which did a bounds checked string extraction (such as a
RenameInformation setinfo call, which is what Vista uses for renaming
files)

There is still some more work to be done on this - for example we can
now remove many of the SMB2 specific buffer handling functions that we
had, and use the SMB ones.
(This used to be commit ca6d9be6cb6a403a81b18fa6e9a6a0518d7f0f68)
2008-02-14 10:12:33 +11:00
Andrew Tridgell
88d2e05227 updated SMB2 create operation to match WSPP.
Adding some defined for various new create options
(This used to be commit d037dc23ced3df6bce98cbf4810fb5f1247336bd)
2008-02-13 15:05:44 +11:00
Andrew Tridgell
e94d710b0b updated SMB2 tcon as per WSPP docs
(This used to be commit 5913e3e549e71affc66c28cacb6563331fb0c790)
2008-02-13 10:13:28 +11:00
Andrew Tridgell
a2505c5a2c updated SMB2 header defines to match WSPP docs
(This used to be commit d2c6ad55eca27f50a38fc6e2a85032eddb3f0aae)
2008-02-12 17:00:35 +11:00
Jelmer Vernooij
61ffa08f4c r24712: No longer expose the 'BOOL' data type in any interfaces.
(This used to be commit 1ce32673d960c8b05b6c1b1b99e1976a402417ae)
2007-10-10 15:02:54 -05:00
Andrew Tridgell
0479a2f1cb r23792: convert Samba4 to GPLv3
There are still a few tidyups of old FSF addresses to come (in both s3
and s4). More commits soon.
(This used to be commit fcf38a38ac691abd0fa51b89dc951a08e89fdafa)
2007-10-10 14:59:12 -05:00
Stefan Metzmacher
bf62b6642c r22866: handle incoming chained smb2 requests in our server code to let
the windows explorer in longhorn beta3 work.

metze
(This used to be commit 2390c9f24daccec917608cac0870890cdc73cb1c)
2007-10-10 14:52:26 -05:00
Andrew Tridgell
30ee8beb93 r18301: I discovered how to load the warnings from a build farm build into
emacs compile mode (hint, paste to a file, and compile as "cat
filename").

This allowed me to fix nearly all the warnings for a IA_64 SuSE build
very quickly.
(This used to be commit eba6c84efff735bb0ca941ac4b755ce2b0591667)
2007-10-10 14:18:04 -05:00
Stefan Metzmacher
a5bafffd66 r17083: - implement SMB2 Cancel in the client
- the 0xffffffffffffffff seqnum is reserved for SMB2 Break (oplock breaks)
  so don't use it in a request. we should someday try to test this...

metze
(This used to be commit 730cdc4475822e28cb400116641294a7f98ad0b5)
2007-10-10 14:10:11 -05:00
Stefan Metzmacher
73b066281e r17081: add idle handler support to the smb2 client lib too
metze
(This used to be commit 1f48e7dca6a06078f3655a7f7a8f109bd6c0cb8e)
2007-10-10 14:10:11 -05:00
Stefan Metzmacher
6acd9aed93 r16734: the 2 bytes after the opcode and before the flags,
is no padding...

the following patch is needed for vista beta2 to connect to samba4

metze
(This used to be commit 58baae8fc463cd2c4e4ce532c153ad80313b03eb)
2007-10-10 14:09:42 -05:00
Stefan Metzmacher
bd0dcebe36 r16705: fix a bug found by valgrind...
as we setup the 1 padding byte for non present dynamic part,
we need to overwrite it when we're getting a real dynamic part,
so we need to remove the buf->size +=1 when we do the first
push to the dynamic part (when buf->dynamic is still but->body + buf->body_fixed)

metze
(This used to be commit f309209629ad1b63a76fc06163a3eeb07dce4c86)
2007-10-10 14:09:39 -05:00
Jelmer Vernooij
0eddf14b30 r15191: Avoid uint_t as it's not standard.
(This used to be commit 7af59357b94e3819415b3a9257be0ced745ce130)
2007-10-10 14:04:15 -05:00
Jelmer Vernooij
5b0051e032 r14511: Install more headers
(This used to be commit e1f896948fad8cf5a1aec300865c250c5721ee7d)
2007-10-10 13:57:35 -05:00
Jelmer Vernooij
63d718e243 r12696: Reduce the size of include/structs.h
(This used to be commit 63917616016133c623fc6ff59454bc313ee7dd8f)
2007-10-10 13:49:40 -05:00
Jelmer Vernooij
78c50015bb r12694: Move some headers to the directory of the subsystem they belong to.
(This used to be commit c722f665c90103f3ed57621c460e32ad33e7a8a3)
2007-10-10 13:49:39 -05:00
Jelmer Vernooij
2cd5ca7d25 r12542: Move some more prototypes out to seperate headers
(This used to be commit 0aca5fd5130d980d07398f3291d294202aefe3c2)
2007-10-10 13:47:55 -05:00
Andrew Tridgell
6615907b94 r11980: ronnie worked out that opcode 0xb in SMB2 is in fact ioctl, and that
it only appeared to be like a SMBtrans request as it was being called
with function 0x11c017 which is "named pipe read write"

I wonder if this means we could do DCE/RPC over SMB using ntioctl
calls as well?
(This used to be commit f2b8857797328be64b0b85e875ae6d108e2aeaaa)
2007-10-10 13:46:53 -05:00
Andrew Tridgell
1e935fcbde r11906: opcode 13 appears to be keepalive. Metze guessed this one :-)
(This used to be commit afe2323dc10748b97e6b30dc0c783dbe04446d8c)
2007-10-10 13:46:47 -05:00
Andrew Tridgell
1e3583475f r11905: added SMB2_FLUSH as opcode 7. Thanks to metze and volker for help
brainstorming this one.
(This used to be commit a969ad592ae4cd8f7c66b1df4763fdc70328c967)
2007-10-10 13:46:47 -05:00
Andrew Tridgell
a399cd3cea r11901: added smb2_logoff() support (metze correctly guessed opcode 2 was
logoff)
(This used to be commit 6884ce66f2881eba834b419370f74111852fe022)
2007-10-10 13:46:45 -05:00
Andrew Tridgell
310fa87509 r11888: - added SMB2 trans support
- added session key to SMB2

- renamed 'unknown2' in create to 'impersonation'
(This used to be commit aef915f312a78bf8a4123f7c40fcd14ff293d934)
2007-10-10 13:46:41 -05:00
Andrew Tridgell
94ae534128 r11752: setup the dynamic pointer for incoming packets too
(This used to be commit 583f3c415ea33ddf5f4065a66f6fae49ab48455e)
2007-10-10 13:46:22 -05:00
Stefan Metzmacher
e9eb560685 r11741: - the buffer code (first 2 bytes in the SMB2 body) seem to be the length
of the fixed body part, and +1 if there's a dynamic part
- there're 3 types of dynamic blobs
  with uint16_t offset/uint16_t size
  with uint16_t offset/uint32_t size
  with uint32_t offset/uint32_t size /* aligned to 8 bytes */
- strings are transmitted in UTF-16 with no termination and
  packet into a uint16/uint16 blob

metze
(This used to be commit 79103c51e5c752fbdb4d25a0047b65002828df89)
2007-10-10 13:46:20 -05:00
Andrew Tridgell
67a85b3f1b r11697: - added a generic SMB2 getinfo call
- added a SMB2-SCANGETINFO test for scanning for available info levels

- added names for the info levels I recognise to smb2.h
(This used to be commit fe5986067e2aaca039d70393ccc8761434f18fe6)
2007-10-10 13:46:15 -05:00
Andrew Tridgell
a1562e2380 r11696: added a few more opcode names
(This used to be commit 2a45476e94a248733333df29da57513bd114f213)
2007-10-10 13:46:14 -05:00
Andrew Tridgell
2b7ee2ceee r11692: added a full composite (async) spnego session setup for SMB2. This
simplies the torture code a lot.
(This used to be commit 7bf1046fbb7fd83fecb2fa645628ba9a17aab037)
2007-10-10 13:46:14 -05:00