Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix bug #7146 - Samba miss-parses authenticated RPC packets. | Jeremy Allison | 2010-02-17 | 1 | -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 Lendecke | 2009-11-03 | 1 | -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 Deschner | 2009-10-01 | 1 | -42/+0 |
| | | | | Guenther | ||||
* | s3-rpc_parse: remove unused prs_string. | Günther Deschner | 2009-09-30 | 1 | -44/+0 |
| | | | | Guenther | ||||
* | s3-rpc_parse: remove unused UNISTR2 struct and init function. | Günther Deschner | 2009-09-30 | 1 | -56/+0 |
| | | | | Guenther | ||||
* | s3-dcerpc: remove more obsolete or duplicate headers. | Günther Deschner | 2009-09-16 | 1 | -1/+1 |
| | | | | Guenther | ||||
* | s3-schannel: remove unused schannel_decode/schannel_encode. | Günther Deschner | 2009-09-16 | 1 | -286/+0 |
| | | | | Guenther | ||||
* | s3-dcerpc: use dcerpc_AuthLevel and remove duplicate set of flags. | Günther Deschner | 2009-09-15 | 1 | -8/+8 |
| | | | | Guenther | ||||
* | s3-schannel: fix Coverity #950 OVERRUN_STATIC. | Günther Deschner | 2009-09-13 | 1 | -1/+1 |
| | | | | Guenther | ||||
* | s3-schannel: remove last schannel hand-marshalling function. | Günther Deschner | 2009-09-11 | 1 | -31/+0 |
| | | | | Guenther | ||||
* | s3-schannel: use NL_AUTH_SIGNATURE for schannel sign & seal (client & server). | Günther Deschner | 2009-09-11 | 1 | -63/+55 |
| | | | | Guenther | ||||
* | s3-schannel: remove unused code. | Günther Deschner | 2009-09-11 | 1 | -63/+0 |
| | | | | Guenther | ||||
* | s3: remove unused RPC_AUTH_SCHANNEL_NEG struct and parsing functions. | Günther Deschner | 2009-09-08 | 1 | -41/+0 |
| | | | | Guenther | ||||
* | s3-rpc_parse: remove more unused code. | Günther Deschner | 2009-07-16 | 1 | -318/+0 |
| | | | | Guenther | ||||
* | Add const to init_rpc_hdr_ba | Volker Lendecke | 2009-07-05 | 1 | -1/+1 |
| | |||||
* | Remove "typedef struct ndr_syntax_id RPC_IFACE;" | Volker Lendecke | 2009-07-05 | 1 | -6/+8 |
| | |||||
* | Rework Samba3 to use new libcli/auth code (partial) | Andrew Bartlett | 2009-04-14 | 1 | -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 Bartlett | 2009-04-07 | 1 | -38/+0 |
| | | | | Signed-off-by: Günther Deschner <gd@samba.org> | ||||
* | s3:rpc_parse: remove unused init_unistr(). | Günther Deschner | 2009-03-26 | 1 | -19/+0 |
| | | | | Guenther | ||||
* | s3-rpc_parse: remove unused smb_io_domsid(). | Günther Deschner | 2009-03-25 | 1 | -38/+0 |
| | | | | Guenther | ||||
* | s3: remove unused rpc_parse/parse_sec.c file. | Günther Deschner | 2009-03-25 | 1 | -436/+0 |
| | | | | Guenther | ||||
* | s3-rpc_parse: remove some unused parsing code. | Günther Deschner | 2009-03-18 | 1 | -338/+0 |
| | | | | Guenther | ||||
* | s3-rpc_parse: remove unused BUFFER5 and UNISTR3. | Günther Deschner | 2009-03-18 | 2 | -142/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove rpc_parse/parse_spoolss.c alltogether. | Günther Deschner | 2009-03-18 | 1 | -29/+0 |
| | | | | | | Good-Bye, last hand-marshalled rpc functions, rest in peace. Guenther | ||||
* | s3-spoolss: remove old spoolss_EnumPrinterDataEx. | Günther Deschner | 2009-03-18 | 1 | -251/+0 |
| | | | | Guenther | ||||
* | s3-rpc_parse: move prs_uint64 to rpc_parse/parse_prs.c. | Günther Deschner | 2009-03-18 | 2 | -24/+24 |
| | | | | Guenther | ||||
* | s3-spoolss: remove custom syntax_spoolss and use the syntax defined in IDL. | Günther Deschner | 2009-03-18 | 1 | -10/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove unused DEVICEMODE parsing and header. | Günther Deschner | 2009-03-17 | 1 | -189/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: move SYSTEMTIME parsing to a more generic place, as suggested. | Günther Deschner | 2009-03-17 | 2 | -43/+42 |
| | | | | Guenther | ||||
* | s3: remove rpc_parse/parse_buffer.c completely. | Günther Deschner | 2009-03-17 | 1 | -509/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old spoolss_EnumPrinterKey. | Günther Deschner | 2009-03-17 | 1 | -53/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old rpccli_spoolss_enumprinterkey wrapper. | Günther Deschner | 2009-03-17 | 1 | -16/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove spoolss_EnumPrinterData. | Günther Deschner | 2009-03-17 | 1 | -79/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove rpccli_spoolss_enumprinterdata. | Günther Deschner | 2009-03-17 | 1 | -15/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old spoolss_SetPrinterData. | Günther Deschner | 2009-03-17 | 1 | -65/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old rpccli_spoolss_setprinterdata wrapper. | Günther Deschner | 2009-03-17 | 1 | -15/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old spoolss_GetPrinterData. | Günther Deschner | 2009-03-17 | 1 | -69/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old rpccli_spoolss_getprinterdata. | Günther Deschner | 2009-03-17 | 1 | -19/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove more unused marshalling code. | Günther Deschner | 2009-03-13 | 1 | -713/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old spoolss_GetPrinter. | Günther Deschner | 2009-03-13 | 1 | -58/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old spoolss_EnumPrinters. | Günther Deschner | 2009-03-13 | 1 | -67/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old enumprinters wrapper. | Günther Deschner | 2009-03-13 | 1 | -25/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old spoolss_GetPrinterDriver2. | Günther Deschner | 2009-03-13 | 1 | -309/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old spoolss_EnumPrinterDrivers. | Günther Deschner | 2009-03-13 | 1 | -72/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old rpccli_spoolss_enumprinterdrivers wrapper. | Günther Deschner | 2009-03-13 | 1 | -20/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old spoolss_GetJob and spoolss_EnumJob. | Günther Deschner | 2009-03-13 | 1 | -310/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old rpccli_spoolss_enumjobs wrapper. | Günther Deschner | 2009-03-13 | 1 | -23/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove more leftovers from old enumports call. | Günther Deschner | 2009-03-07 | 1 | -77/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old spoolss_EnumMonitors. | Günther Deschner | 2009-03-07 | 1 | -130/+0 |
| | | | | Guenther | ||||
* | s3-spoolss: remove old spoolss_EnumPorts. | Günther Deschner | 2009-03-07 | 1 | -126/+0 |
| | | | | Guenther |