1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-17 02:05:21 +03:00

268 Commits

Author SHA1 Message Date
Jeremy Allison
8ddc977c14 Fix bug #7122 - Reading a large browselist fails (server returns invalid values in subsequent SMBtrans replies)
There are two problems:

1). The server is off-by-one in the end of buffer space test.
2). The server returns 0 in the totaldata (smb_vwv1) and totalparams (smb_vwv0)
fields in the second and subsequent SMBtrans replies.

This patch fixes both.

Jeremy.
2010-02-09 15:14:38 -08:00
Stefan Metzmacher
c54e6b19e3 s3:smbd: add a smbd_server_connection pointer to connection_struct
This can be NULL for faked connection structs used in the rpc server
or printing code.

metze
2009-08-07 14:18:14 +02:00
Tim Prouty
5a8d70d465 s3: Change fsp->fsp_name to be an smb_filename struct! 2009-07-20 17:26:56 -07:00
Stefan Metzmacher
c862018008 s3:smbd: move tcon specific globals to struct smbd_server_connection
metze
2009-06-03 17:54:38 +02:00
Stefan Metzmacher
356f0336e5 s3:smbd: move some session specific globals to struct smbd_server_connection
metze
2009-06-03 17:54:37 +02:00
Volker Lendecke
3b0572bf91 Fix smbd crash for close_on_completion
handle_trans() can talloc_free "conn" if the client requests
close_on_completion. "state" is a talloc_child of conn, so it will be gone when
we later free state->data et al.
2009-04-05 14:34:14 +02:00
Stefan Metzmacher
c16c90a1cb s3:smbd: use new simplified snb_signing code in the server
We keep the seqnum/mid mapping in the smb_request structure.

This also moves one global variable into the
smbd_server_connection struct.

metze
2009-03-23 12:21:13 +01:00
Volker Lendecke
bce98d8c03 Convert np_read to tevent_req 2009-03-17 17:31:22 +01:00
Volker Lendecke
89543d6c78 Convert np_write to tevent_req 2009-03-17 17:31:22 +01:00
todd stecher
54c51a66e3 S3: New module interface for SMB message statistics gathering
This changelist allows for the addition of custom performance
monitoring modules through smb.conf. Entrypoints in the main message
processing code have been added to capture the command, subop, ioctl,
identity and message size statistics.
2009-02-09 13:23:44 -08:00
Volker Lendecke
c2fe28ba59 Convert api_rpc_trans_reply to async np_* 2009-01-31 17:50:18 +01:00
Volker Lendecke
b8b6cddb29 Remove some smb fsp knowledge from rpc_server/
np_open/read/write don't have to know about files_struct
2009-01-20 16:41:14 +01:00
Stefan Metzmacher
3dde0cbb76 s3:smbd: move all globals and static variables in globals.[ch]
The goal is to move all this variables into a big context structure.

metze
2009-01-08 12:22:21 +01:00
Volker Lendecke
2719216d60 Consolidate the buffer checks for the reply_trans style functions
This is the one where I found the problem that led to 3.2.5. So if there is one
checkin in the last year that I would like others to review and *understand*,
it is this one :-)

Volker
2008-11-28 09:22:34 +01:00
Volker Lendecke
9da3101e44 Remove the variable "size" from reply_trans
This converts the range checks for the setup[] array to rely on req->wct being
set correctly in init_smb_request. As that already verifies the vwv array to be
in the range of the smb_request inbuf, we don't have to do overflow checks here
anymore.

Jeremy, please check thoroughly! :-)

Thanks,

Volker
2008-11-28 08:23:46 +01:00
Volker Lendecke
114f519233 Fix the offset checks in the trans routines
This fixes a potential crash bug, a client can make us read memory we
should not read. Luckily I got the disp checks right...

Volker
(cherry picked from commit 64a1d80851da5b05e70ec6c96f6e9bd473748369)
(cherry picked from commit f04c5650a3aeca23591ddc781c4b297caaf9bb3f)
2008-11-27 17:19:01 +01:00
Volker Lendecke
8315677ca3 Do not write into inbuf for the transs request
Instead, fix up the outbuf in send_xx_reply. In those routines, we know
what we are returning.
2008-11-08 10:42:29 +01:00
Volker Lendecke
7a35506bb8 Remove direct inbuf refs from send_trans_reply 2008-11-08 10:42:29 +01:00
Volker Lendecke
c2a280ac63 Pass smb_request to send_trans_reply to match with send_[nt]trans[2]_reply 2008-11-02 21:20:41 +01:00
Volker Lendecke
77f52d903f Use "vwv" in trans parsing 2008-11-02 17:46:08 +01:00
Volker Lendecke
2bab73a18d Remove a bunch of direct inbuf references by adding "vwv" to smb_request 2008-11-02 16:58:19 +01:00
Volker Lendecke
a31fab8156 Simplify params of srvstr_pull_buf_talloc()
Now that "req" is available everywhere, use it. Rename srvstr_pull_buf_talloc()
to srvstr_pull_req()
2008-11-02 09:22:40 +01:00
Volker Lendecke
7bdb571ec4 Remove a bunch of direct inbuf references by adding "buf" to smb_request 2008-11-01 19:41:08 +01:00
Volker Lendecke
ac126ea818 Use "struct files_struct" for pipes instead of smb_np_struct 2008-10-13 20:59:32 +02:00
Volker Lendecke
200b0deaef Fix some nonempty blank lines 2008-10-11 09:02:18 +02:00
Volker Lendecke
96a5d169dd Fix a typo 2008-10-09 12:06:38 +02:00
Volker Lendecke
cf9665016f Let send_trans_reply work on only the inbuf
It does not really need the whole smb_request
(This used to be commit d3facf4cbdb2915168e91d64c2d8320f67524df8)
2008-06-28 10:38:51 +02:00
Volker Lendecke
d62563342e Remove connection_struct->mem_ctx, connection_struct is its own parent
(This used to be commit 559180f7d30606d1999399d954ceedc798c669a4)
2008-05-05 11:23:13 +02:00
Jeremy Allison
86e59c50f1 Rewrite the wrap checks to deal with gcc 4.x optimisations.
Karolin, please pull once Volker has reviewed. Thanks.
Jeremy.
(This used to be commit 09852899cadc48abe2f2651ecbceaf881198e648)
2008-04-07 21:11:16 -07:00
Jeremy Allison
29562987c3 Now conn is part of smb_request, we don't need it as
an extra parameter. This cleans up quite a few places
we were passing it around without needing it.
Jeremy.
(This used to be commit 8f36def18e9f980e8db522e1de41e80cfd5f466e)
2008-01-04 15:37:24 -08:00
Jeremy Allison
9254bb4ef1 Refactor the crypto code after a very helpful conversation
with Volker. Mostly making sure we have data on the incoming
packet type, not stored in the smb header.
Jeremy.
(This used to be commit c4e5a505043965eec77b5bb9bc60957e8f3b97c8)
2008-01-04 12:56:23 -08:00
Jeremy Allison
09fcb233a3 Don't need an fstring here, we can talloc.
Jeremy.
(This used to be commit 3f6cc826378729c9157ea68e7cf5c7b584bbb585)
2007-12-10 15:31:05 -08:00
Jeremy Allison
0e9a1c24a0 Fix crash bug with vl's new trans handling in old transs
calls. Make this look like the (working) transs2 handling
(replace inbuf, not write to outbuf - outbuf isn't allocated
yet so you get a null deref).
Jeremy.
(This used to be commit f04e37a630f8e7538d670d34db4ea7fc7c0b50a3)
2007-12-04 12:53:21 -08:00
Jeremy Allison
30191d1a57 RIP BOOL. Convert BOOL -> bool. I found a few interesting
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
(This used to be commit f35a266b3cbb3e5fa6a86be60f34fe340a3ca71f)
2007-10-18 17:40:25 -07:00
Jeremy Allison
327ca9167e r25103: Ensure we don't return unwritten memory (valgrind caught).
Jeremy.
(This used to be commit b3f0d39d11fa18b7bfef6cec88efaf4a2be2d6e0)
2007-10-10 12:30:40 -05:00
Volker Lendecke
23998e1da8 r24320: Fix the wct checks in reply_trans2 and the reply_trans calls
No idea what I've been smoking here.

Thanks to Stefan for closely looking
(This used to be commit 708f5af2e8c10d9a0d0027e3c31fa23689e746b8)
2007-10-10 12:29:28 -05:00
Volker Lendecke
b0ed26faf0 r24244: Complete the conversion of reply_trans[s]
Remove reply_prep/post_legacy from send_trans_replies
(This used to be commit c08366f840ead5aba7199cf0b058587055b4d98e)
2007-10-10 12:29:20 -05:00
Volker Lendecke
d274724ebb r24243: Remove reply_prep_legacy from api_reply
(This used to be commit b01664b43b0bd94bb59dec57480d2be954a7298a)
2007-10-10 12:29:20 -05:00
Volker Lendecke
43a77ab149 r24242: Remove reply_prep_legacy from api_rpc_trans_reply
(This used to be commit 160f65946af9b3e1609b0efb211edc81514fb36f)
2007-10-10 12:29:20 -05:00
Volker Lendecke
40f6afcea2 r24241: Remove reply_prep_legacy from api_WNPHS and api_SNPHS
(This used to be commit 8702450e91943b1097ae3c8979d60b6962a69632)
2007-10-10 12:29:20 -05:00
Volker Lendecke
b8de67a2f2 r24240: Push down reply_prep_legacy one level inside api_fd_reply
(This used to be commit 0bb95639d6b49b18f2a7f1131f54239355097119)
2007-10-10 12:29:20 -05:00
Volker Lendecke
fbe15d8db9 r24239: Push reply_prep_legacy into api_fd_reply
(This used to be commit e2a96497928ab959e36639fef2d493640bb6e951)
2007-10-10 12:29:20 -05:00
Volker Lendecke
bcd0bf8e5e r24238: Push down reply_prep_legacy one level
(This used to be commit a6a2d97facf95c7997f3d12457f2811b3b7bde1b)
2007-10-10 12:29:19 -05:00
Volker Lendecke
d57a88a994 r24237: Add send_trans_reply_new
(This used to be commit f0598b3ca0ee04e31855c3e54f3198e6fd968737)
2007-10-10 12:29:19 -05:00
Volker Lendecke
97a817dceb r24236: Push reply_prep_legacy() into named_pipe()
(This used to be commit b38f9347e81364d224e5ca00609099a74410e99c)
2007-10-10 12:29:19 -05:00
Volker Lendecke
3bb9f20bc3 r24235: Make handle_trans reply to errors itself
(This used to be commit 06d0c74b74754c55f4c8ef0899bda08476e7dd4b)
2007-10-10 12:29:19 -05:00
Volker Lendecke
abc519ff43 r24234: Reformatting -- SCNR
(This used to be commit 040d6d5db6d929f1612b1b0dc762b7f55c956740)
2007-10-10 12:29:19 -05:00
Volker Lendecke
e41528c3f4 r24233: Push reply_prep_legacy into handle_trans
(This used to be commit dc27c3c668f86d008c27b8a749f5726287ba54a5)
2007-10-10 12:29:19 -05:00
Volker Lendecke
0cfea6de67 r24232: Push down reply_prep_legacy inside reply_transs
(This used to be commit 511f8bc030a9a16c2e793ce5d06577608e101de4)
2007-10-10 12:29:18 -05:00
Volker Lendecke
1d3c1de502 r24231: Push allocating InBuffer/OutBuffer into reply_transs
(This used to be commit 74ae19cca6dd15b65deffbf464cfd0e485da8611)
2007-10-10 12:29:18 -05:00