summaryrefslogtreecommitdiff
path: root/source3/rpc_server
AgeCommit message (Collapse)AuthorFilesLines
2010-02-18More fixes for bug #7146 - Samba miss-parses authenticated RPC packets.Jeremy Allison1-16/+31
Alignment space calculations are tricky :-). Jeremy.
2010-02-19s3-spoolss: add support for _spoolss_SetPrinter level 8.Günther Deschner1-1/+65
Guenther
2010-02-18More fixes for bug #7146 - Samba miss-parses authenticated RPC packets.Jeremy Allison1-14/+16
Ensure we calculate the space correctly (including the ss_padding_len) when constructing reply packets. Jeremy.
2010-02-18s3-spoolss: Fix _spoolss_EnumPrinters servername handling.Günther Deschner1-1/+1
Guenther
2010-02-18s3-spoolss: fix return code of spoolss_DeletePrinter.Günther Deschner1-1/+1
When the printer has been removed by the "deleteprinter command", we need to check if it is still there and then fail, not fail if we successfully removed it (found by RPC-SPOOLSS-PRINTER). Guenther
2010-02-18s3-spoolss: in spoolss_EnumPrinters r->in.server is a *unique* pointer!Günther Deschner1-3/+5
Guenther
2010-02-18s3-spoolss: more AddPrinter{Ex} checks.Günther Deschner1-0/+18
Windows will allow to add a non-shared printer that is returned by EnumPrinters. Samba has no notion of non-shared local printers yet, so just make sure to behave like we do elsewhere: a printer autoloaded by samba or added to samba is shared. Guenther
2010-02-18s3-spoolss: add some printer info validation for AddPrinter calls.Günther Deschner1-0/+22
Guenther
2010-02-17Fix bug #7146 - Samba miss-parses authenticated RPC packets.Jeremy Allison1-120/+311
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
2010-02-16s3:rpc streamline memory handlingSimo Sorce1-13/+5
2010-02-15spoolss: disable GetPrinterDriver level 101 (as called by XP).Günther Deschner1-2/+6
We still dont get the marshalling right, disable and XP will just fall back to level 6. Guenther
2010-02-14s3-rpc: convert wkssvc to use TYPESAFE_QSORT()Andrew Tridgell1-10/+4
2010-02-11spoolss: allow to set server architecture via parametric option.Günther Deschner1-2/+2
This allows to set "spoolss:architecture = 'Windows x64'" for debugging purpose. Guenther
2010-02-11s3-spoolss: implement spoolss_EnumJobs level 3.Günther Deschner1-0/+76
Level 3 has been added with NT 4.0 and Windows 7 (at least 64bit version) makes use of it in order to display queued jobs. Windows 7 will *not* fall back to level 2 if we just return WERR_UNKNOWN_LEVEL, instead there will be no printjobs displayed at all. Guenther
2010-02-09Missed one check on the memcpy for bug #7063.Jeremy Allison1-1/+1
Jeremy.
2010-02-09Second part of fix for bug 7063 - Samba 3.4.5 on ubuntu 8.04 64 bit - Core ↵Jeremy Allison1-1/+4
dumps. Ensure we have no naked memcpy calls. This isn't a crash bug (it's already checked in the data_blob_talloc_zero() above, but I want to get into the pattern of having all memcpy's covered by safety checks. Jeremy.
2010-02-02Fix bug 7063 - Samba 3.4.5 on ubuntu 8.04 64 bit - Core dumps.Jeremy Allison1-2/+9
Reported and found by Martin Hochreiter <linuxbox@wavenet.at>. Ensure we copy the right amount of registry data into the outgoing buffer. Jeremy.
2010-01-31s3: Fix some DEBUG messagesVolker Lendecke1-3/+3
2010-01-19s3-spoolss: stricter name checks when opening back-channel notify connection.Günther Deschner1-7/+13
Make sure to always check if the name the client passed in spoolss_RemoteFindFirstPrinterChangeNotifyEx is not one of our names. Guenther
2010-01-10s3: Use sid_check_is_domain instead of a direct sid_equalVolker Lendecke1-3/+6
2010-01-10s3: Replace most calls to sid_append_rid() by sid_compose()Volker Lendecke2-6/+5
2010-01-10s3: Remove the typedef for "auth_serversupplied_info"Volker Lendecke1-1/+1
2010-01-10s3: Remove the typedef for "auth_usersupplied_info"Volker Lendecke1-1/+1
2010-01-07s3: Lock down some srvsvc calls according to what w2k3 seems to doVolker Lendecke1-0/+21
2010-01-06Second part of the fix for bug #7020 - smbd using 2G memory.Jeremy Allison1-0/+7
There was a second leak in the processing of the out_data.frag prs_struct. It needs freeing once the current pdu has been returned asynchronously. Jeremy.
2009-12-22s3:ntlmssp: only include ntlmssp.h where actually neededAndrew Bartlett1-0/+1
Andrew Bartlett
2009-12-15s3: Fix _samr_GetAliasMembership for results with 0 ridsVolker Lendecke1-0/+8
2009-12-10s3-spoolss: fix enumprinter key client and server.Günther Deschner1-2/+11
Guenther
2009-12-08s3-spoolss: use SPOOLSS_ARCHITECTURE_ALL in driver enum server code.Günther Deschner1-1/+1
Guenther
2009-12-08s3-spoolss: cleanup _spoolss_EnumPrinterDrivers().Günther Deschner1-139/+6
Guenther
2009-12-08s3-spoolss: remove unused architecture from fill_printer_driver_info1().Günther Deschner1-5/+3
Guenther
2009-12-08s3-spoolss: remove ridiculous amount of duplicate driver code.Günther Deschner1-436/+44
Guenther
2009-12-08s3-spoolss: fully support level 8 drivers.Günther Deschner1-0/+305
Guenther
2009-12-08s3-spoolss: use driver level info8 everywhere in spoolss server internally.Günther Deschner1-68/+78
Guenther
2009-12-07s3-spoolss: let _spoolss_DeletePrinterData call into ↵Günther Deschner1-38/+5
_spoolss_DeletePrinterDataEx. Guenther
2009-12-07s3-spoolss: let _spoolss_SetPrinterData call into _spoolss_SetPrinterDataEx.Günther Deschner1-74/+30
Guenther
2009-12-07s3-spoolss: let _spoolss_GetPrinterData call into _spoolss_GetPrinterDataEx.Günther Deschner1-101/+44
Guenther
2009-12-07s3-winreg: fill in some inline comments.Günther Deschner1-10/+38
Guenther
2009-12-07s3-winreg: remove trailing whitespace.Günther Deschner1-40/+40
Guenther
2009-12-06s3: Fix a const discard warningVolker Lendecke1-7/+9
2009-12-06s3: talloc_array_length deals file with a NULL argumentVolker Lendecke1-3/+3
2009-12-06s3: Small simplification: qsort deals fine with just one entryVolker Lendecke1-7/+2
2009-12-06s3: Simplify usr_info_cmp by calling timeval_compare()Volker Lendecke1-3/+1
2009-12-06s3: Complete support for NetWkstaGetInfo/NetWkstaEnumUsersIan Puleston1-22/+380
2009-12-06s3: First cut at _wkssvc_NetWkstaEnumUsersVolker Lendecke1-3/+52
This needs access checks!
2009-12-06s3: Support NetWkstaGetInfo 101 and 102Volker Lendecke1-15/+113
2009-12-03s3-spoolss: handle SEC_FLAG_MAXIMUM_ALLOWED in spoolss_OpenPrinterEx.Günther Deschner1-0/+4
In case someone (smbtorture4) requests SEC_FLAG_MAXIMUM_ALLOWED, translate it to a request of PRINTER_ACCESS_ADMINISTER. Guenther
2009-12-02samba-spoolss: use spoolss_StringArray2 in spoolss_EnumPrinterKey.Günther Deschner1-1/+1
This should finally resolve the endian issues we were seeing on sparc and is much cleaner for spoolss clients and servers. Guenther
2009-11-30s3-spoolss: fix fstrings in convert_devicemode() function.Günther Deschner1-2/+5
Guenther
2009-11-27s3-spoolss: simplify _spoolss_EnumPrinterKey a little more.Günther Deschner1-14/+6
Guenther