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

61 Commits

Author SHA1 Message Date
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
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
5b99fa5c4f s4:libcli/smb2: only add the 1 byte dynamic buffer padding for non compounded requests
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
Jelmer Vernooij
94069bd274 s4: Use same function signature for convert_* as s3. 2009-03-01 19:55:46 +01:00
Jelmer Vernooij
9ffb6d2d9e Add allow_badcharcnv argument to all conversion function, for
consistency with Samba 3.
2009-03-01 06:33:40 +01:00
Stefan Metzmacher
f023bf94f1 s4:libcli/smb2: fix c++ warning
metze
2009-02-05 18:18:33 +01:00
Jelmer Vernooij
23302413b3 Remove unused include param/param.h. 2008-10-24 16:37:56 +02:00
Jelmer Vernooij
37d885c51a Remove iconv_convenience argument from convert_string{,talloc}() but
make them wrappers around convert_string{,talloc}_convenience().
2008-10-24 14:26:46 +02:00
Jelmer Vernooij
9565999755 Fix include paths to new location of libutil. 2008-10-11 21:31:42 +02:00
Andrew Tridgell
4904882fed - SMB2 uses INVALID_PARAMETER not BUFFER_TOO_SMALL for buffer size
errors

- added a s32o16 buffer function
2008-09-24 18:10:23 -07: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
Andrew Tridgell
11703b2986 fix the overflow/wrap checks in Samba4 for new gcc optimisation behavior
The approach I have used is as set out in
https://www.securecoding.cert.org/confluence/display/seccode/ARR38-C.+Do+not+add+or+subtract+an+integer+to+a+pointer+if+the+resulting+value+does+not+refer+to+an+element+within+the+array
(This used to be commit 92d5fb531db39be655f0cbd2d75b5f675a0a4cfa)
2008-04-17 15:20:39 +02:00
Andrew Tridgell
26b8701321 handle pushing of zero length smb2 strings
(This used to be commit 66d0502228b31533b5d93731128a681992c22eda)
2008-02-18 14:53:48 +11:00
Andrew Tridgell
2e4e06c6e6 fixed handling of zero sized buffers versus NULL buffers in
SMB2. Thanks to Metze for spotting this.
(This used to be commit fbcf3e65b9284e5d1862c98706d7f148a36afe47)
2008-02-16 07:25:38 +11: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
839ab724dc Fixed SMB2 rename operations from Vista clients
We needed a flag in bufinfo to mark packets as SMB2, as it seems that
SMB2 uses a different format for the RenameInformation buffer than SMB
does

Also handle the fact that SMB2 clients give the full path to the
target file in the rename, not a relative path
(This used to be commit 52d7972d95ddc19d22a4187b4d4428a6c3ed32d5)
2008-02-14 12:30:31 +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
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
d891c0c74a r26429: Avoid use of global_smb_iconv_convenience.
(This used to be commit d37136b7abfbba75ef2e5ab855eb3382b9648b8c)
2007-12-21 05:49:56 +01:00
Jelmer Vernooij
39ee38d9c1 r26316: Use contexts for conversion functions.
(This used to be commit f6420d933b5b011d428974f3a2a57edf19e6f482)
2007-12-21 05:48:30 +01:00
Jelmer Vernooij
2151cde580 r25554: Convert last instances of BOOL, True and False to the standard types.
(This used to be commit 566aa14139510788548a874e9213d91317f83ca9)
2007-10-10 15:07:55 -05:00
Jelmer Vernooij
98b57d5eb6 r25035: Fix some more warnings, use service pointer rather than service number in more places.
(This used to be commit df9cebcb97e20564359097148665bd519f31bc6f)
2007-10-10 15:05:43 -05:00
Jelmer Vernooij
dccf3f99e4 r25027: Fix more warnings.
(This used to be commit 5085c53fcfade614e83d21fc2c1a5bc43bb2a729)
2007-10-10 15:05:41 -05:00
Jelmer Vernooij
cd962355ab r25000: Fix some more C++ compatibility warnings.
(This used to be commit 08bb1ef643ab906f1645cf6f32763dc73b1884e4)
2007-10-10 15:05:27 -05:00
Jelmer Vernooij
6cf69fee18 r24994: Fix some C++ warnings.
(This used to be commit 925abf74fa1ed5ae726bae8781ec549302786b39)
2007-10-10 15:05:26 -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
Jelmer Vernooij
0329d755a7 r17930: Merge noinclude branch:
* Move dlinklist.h, smb.h to subsystem-specific directories
 * Clean up ads.h and move what is left of it to dsdb/
   (only place where it's used)
(This used to be commit f7afa1cb77f3cfa7020b57de12e6003db7cfcc42)
2007-10-10 14:16:54 -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
7c810db7da r16873: - grow the buffer with the correct size, we maybe had 1 byte preallocated
- body_size doesn't contain the preallocated byte so don't remove it

metze
(This used to be commit 3cf50e26b7dc11d85c46ef81a36c74acf97085c0)
2007-10-10 14:09:55 -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
Stefan Metzmacher
7dc22bf3e0 r16566: add pull function for a site32/offset32 blob
metze
(This used to be commit 81702c36c28e9e32860c5d91887d2ad2121ce306)
2007-10-10 14:09:35 -05:00
Stefan Metzmacher
1911475976 r15770: when there's a dynamic body, we need to send the first byte even if the
dynamic size if 0

metze
(This used to be commit c7e8e79d75fd53fa37e9220e5bc9cac7ab574ff6)
2007-10-10 14:08:16 -05:00
Stefan Metzmacher
6885c6253e r15744: convert_string_talloc() handles src_len == 0 as error
but it's valid in this case

metze
(This used to be commit 92c19b1ba4e89bd1e973e084b254087c98ceac18)
2007-10-10 14:08:12 -05:00
Stefan Metzmacher
dc86ab3e45 r15532: add a BOOL body_dynamic_present, because the body_dynamic_size can be 0
also if the dynamic flag should be set

metze
(This used to be commit 7829100e1ee79f4f5d24004af221288e19c09b3e)
2007-10-10 14:05:54 -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
Andrew Tridgell
baa62e5637 r14434: use the right enum type
(This used to be commit 507def57cb83a3e12a3c8d60eb833fe47e9ec9e8)
2007-10-10 13:57:24 -05:00
Jelmer Vernooij
d4de4c2d21 r12608: Remove some unused #include lines.
(This used to be commit 70e7449318aa0e9d2639c76730a7d1683b2f4981)
2007-10-10 13:49:03 -05:00
Andrew Tridgell
d5f37ecf94 r11780: it turns out that the MxAc tag isn't a security descriptor, its a
request that the server return its own MxAc blob which contains the
maximum allowed access_mask for the returned file handle
(This used to be commit c0288aa8cd46ca384074f89430c226d725c39475)
2007-10-10 13:46:26 -05:00
Andrew Tridgell
c8c7fb2492 r11775: added support for creating files on SMB2 with initial EA lists and an ACL
(This used to be commit ff197092988cee64742f83df23c43ae664a196f9)
2007-10-10 13:46:25 -05:00
Andrew Tridgell
2ff21db535 r11771: - split out the setinfo blob construction in the libcli/raw code
- added a smb2_setinfo call

- added smb2_setinfo_file*() calls
(This used to be commit da0b6fb93683331134ef2f4abd8707e0c3fc6d9d)
2007-10-10 13:46:24 -05:00
Andrew Tridgell
fe996e8ac6 r11754: make the SMB2 blob push routines take offsets, so they fit better with
the rest of the packet construction code
(This used to be commit 387ec2b17ff30a1c040b460b498c8fa7d8770593)
2007-10-10 13:46:23 -05:00
Andrew Tridgell
1c71db99aa r11751: fixed the req->out.size calculation (it needs to be the complete
request size, including dynamic portion)
(This used to be commit 1b5cdf92cc7793b08d7c46ef00d4ff696b31c15e)
2007-10-10 13:46:22 -05:00
Stefan Metzmacher
fb90bebab6 r11743: - push the length at the correct offset
- let us push empty strings

metze
(This used to be commit 17c4b6298d757f2e53fe764608504bf737005cbe)
2007-10-10 13:46:20 -05:00
Stefan Metzmacher
ed069c1771 r11742: fix pushing of 0 length blobs
metze
(This used to be commit e985ab117c6afb2ea575b55bfaa97b0795ec5745)
2007-10-10 13:46:20 -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
Stefan Metzmacher
de5d71aebe r11722: make the smb2_push/pull functions take a smb2_request_buffer
and the pull ones also a TALLOC_CTX, then we can reuse this functions
in the server later

metze
(This used to be commit 9b616516cae269f0870e9b9a9cecd8ee3f0a9095)
2007-10-10 13:46:18 -05:00