summaryrefslogtreecommitdiffstats
path: root/source3/rpc_parse
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug #7146 - Samba miss-parses authenticated RPC packets.Jeremy Allison2010-02-171-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Parts of the Samba RPC client and server code misinterpret authenticated packets. DCE authenticated packets actually look like this : +--------------------------+ |header | | ... frag_len (packet len)| | ... auth_len | +--------------------------+ | | | Data payload | ... .... | | +--------------------------+ | | | auth_pad_len bytes | +--------------------------+ | | | Auth footer | | auth_pad_len value | +--------------------------+ | | | Auth payload | | (auth_len bytes long) | +--------------------------+ That's right. The pad bytes come *before* the footer specifying how many pad bytes there are. In order to read this you must seek to the end of the packet and subtract the auth_len (in the packet header) and the auth footer length (a known value). The client and server code gets this right (mostly) in 3.0.x -> 3.4.x so long as the pad alignment is on an 8 byte boundary (there are some special cases in the code for this). Tridge discovered there are some (DRS replication) cases where on 64-bit machines where the pad alignment is on a 16-byte boundary. This breaks the existing S3 hand-optimized rpc code. This patch removes all the special cases in client and server code, and allows the pad alignment for generated packets to be specified by changing a constant in include/local.h (this doesn't affect received packets, the new code always handles them correctly whatever pad alignment is used). This patch also works correctly with rpcclient using sign+seal from the 3.4.x and 3.3.x builds (testing with 3.0.x and 3.2.x to follow) so even as a server it should still work with older libsmbclient and winbindd code. Jeremy
* s3: Remove debug_ctx()Volker Lendecke2009-11-031-1/+1
| | | | | | | | smbd just crashed on me: In a debug message I called a routine preparing a string that itself used debug_ctx. The outer routine also used it after the inner routine had returned. It was still referencing the talloc context that the outer debug_ctx() had given us, which the inner DEBUG had already freed.
* s3: add perfcount idl and generated files.Günther Deschner2009-10-011-42/+0
| | | | Guenther
* s3-rpc_parse: remove unused prs_string.Günther Deschner2009-09-301-44/+0
| | | | Guenther
* s3-rpc_parse: remove unused UNISTR2 struct and init function.Günther Deschner2009-09-301-56/+0
| | | | Guenther
* s3-dcerpc: remove more obsolete or duplicate headers.Günther Deschner2009-09-161-1/+1
| | | | Guenther
* s3-schannel: remove unused schannel_decode/schannel_encode.Günther Deschner2009-09-161-286/+0
| | | | Guenther
* s3-dcerpc: use dcerpc_AuthLevel and remove duplicate set of flags.Günther Deschner2009-09-151-8/+8
| | | | Guenther
* s3-schannel: fix Coverity #950 OVERRUN_STATIC.Günther Deschner2009-09-131-1/+1
| | | | Guenther
* s3-schannel: remove last schannel hand-marshalling function.Günther Deschner2009-09-111-31/+0
| | | | Guenther
* s3-schannel: use NL_AUTH_SIGNATURE for schannel sign & seal (client & server).Günther Deschner2009-09-111-63/+55
| | | | Guenther
* s3-schannel: remove unused code.Günther Deschner2009-09-111-63/+0
| | | | Guenther
* s3: remove unused RPC_AUTH_SCHANNEL_NEG struct and parsing functions.Günther Deschner2009-09-081-41/+0
| | | | Guenther
* s3-rpc_parse: remove more unused code.Günther Deschner2009-07-161-318/+0
| | | | Guenther
* Add const to init_rpc_hdr_baVolker Lendecke2009-07-051-1/+1
|
* Remove "typedef struct ndr_syntax_id RPC_IFACE;"Volker Lendecke2009-07-051-6/+8
|
* Rework Samba3 to use new libcli/auth code (partial)Andrew Bartlett2009-04-141-6/+6
| | | | | | | | | | | 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
* s3:rpc_parse remove unused prs_unistr2()Andrew Bartlett2009-04-071-38/+0
| | | | Signed-off-by: Günther Deschner <gd@samba.org>
* s3:rpc_parse: remove unused init_unistr().Günther Deschner2009-03-261-19/+0
| | | | Guenther
* s3-rpc_parse: remove unused smb_io_domsid().Günther Deschner2009-03-251-38/+0
| | | | Guenther
* s3: remove unused rpc_parse/parse_sec.c file.Günther Deschner2009-03-251-436/+0
| | | | Guenther
* s3-rpc_parse: remove some unused parsing code.Günther Deschner2009-03-181-338/+0
| | | | Guenther
* s3-rpc_parse: remove unused BUFFER5 and UNISTR3.Günther Deschner2009-03-182-142/+0
| | | | Guenther
* s3-spoolss: remove rpc_parse/parse_spoolss.c alltogether.Günther Deschner2009-03-181-29/+0
| | | | | | Good-Bye, last hand-marshalled rpc functions, rest in peace. Guenther
* s3-spoolss: remove old spoolss_EnumPrinterDataEx.Günther Deschner2009-03-181-251/+0
| | | | Guenther
* s3-rpc_parse: move prs_uint64 to rpc_parse/parse_prs.c.Günther Deschner2009-03-182-24/+24
| | | | Guenther
* s3-spoolss: remove custom syntax_spoolss and use the syntax defined in IDL.Günther Deschner2009-03-181-10/+0
| | | | Guenther
* s3-spoolss: remove unused DEVICEMODE parsing and header.Günther Deschner2009-03-171-189/+0
| | | | Guenther
* s3-spoolss: move SYSTEMTIME parsing to a more generic place, as suggested.Günther Deschner2009-03-172-43/+42
| | | | Guenther
* s3: remove rpc_parse/parse_buffer.c completely.Günther Deschner2009-03-171-509/+0
| | | | Guenther
* s3-spoolss: remove old spoolss_EnumPrinterKey.Günther Deschner2009-03-171-53/+0
| | | | Guenther
* s3-spoolss: remove old rpccli_spoolss_enumprinterkey wrapper.Günther Deschner2009-03-171-16/+0
| | | | Guenther
* s3-spoolss: remove spoolss_EnumPrinterData.Günther Deschner2009-03-171-79/+0
| | | | Guenther
* s3-spoolss: remove rpccli_spoolss_enumprinterdata.Günther Deschner2009-03-171-15/+0
| | | | Guenther
* s3-spoolss: remove old spoolss_SetPrinterData.Günther Deschner2009-03-171-65/+0
| | | | Guenther
* s3-spoolss: remove old rpccli_spoolss_setprinterdata wrapper.Günther Deschner2009-03-171-15/+0
| | | | Guenther
* s3-spoolss: remove old spoolss_GetPrinterData.Günther Deschner2009-03-171-69/+0
| | | | Guenther
* s3-spoolss: remove old rpccli_spoolss_getprinterdata.Günther Deschner2009-03-171-19/+0
| | | | Guenther
* s3-spoolss: remove more unused marshalling code.Günther Deschner2009-03-131-713/+0
| | | | Guenther
* s3-spoolss: remove old spoolss_GetPrinter.Günther Deschner2009-03-131-58/+0
| | | | Guenther
* s3-spoolss: remove old spoolss_EnumPrinters.Günther Deschner2009-03-131-67/+0
| | | | Guenther
* s3-spoolss: remove old enumprinters wrapper.Günther Deschner2009-03-131-25/+0
| | | | Guenther
* s3-spoolss: remove old spoolss_GetPrinterDriver2.Günther Deschner2009-03-131-309/+0
| | | | Guenther
* s3-spoolss: remove old spoolss_EnumPrinterDrivers.Günther Deschner2009-03-131-72/+0
| | | | Guenther
* s3-spoolss: remove old rpccli_spoolss_enumprinterdrivers wrapper.Günther Deschner2009-03-131-20/+0
| | | | Guenther
* s3-spoolss: remove old spoolss_GetJob and spoolss_EnumJob.Günther Deschner2009-03-131-310/+0
| | | | Guenther
* s3-spoolss: remove old rpccli_spoolss_enumjobs wrapper.Günther Deschner2009-03-131-23/+0
| | | | Guenther
* s3-spoolss: remove more leftovers from old enumports call.Günther Deschner2009-03-071-77/+0
| | | | Guenther
* s3-spoolss: remove old spoolss_EnumMonitors.Günther Deschner2009-03-071-130/+0
| | | | Guenther
* s3-spoolss: remove old spoolss_EnumPorts.Günther Deschner2009-03-071-126/+0
| | | | Guenther