summaryrefslogtreecommitdiff
path: root/source3/rpc_parse
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r13989: Fix for Coverity bug #45 and associated spoolss RPC_BUFFERJeremy Allison1-7/+22
problems. Ensure that if the parse succeeds on UNMARSHALL we have a valid (although possibly empty) RPC_BUFFER returned. Jeremy. (This used to be commit d319cc9c08bfa865a6431a8631a9c609f589be1f)
2007-10-10r13915: Fixed a very interesting class of realloc() bugs found by Coverity.Jeremy Allison3-31/+25
realloc can return NULL in one of two cases - (1) the realloc failed, (2) realloc succeeded but the new size requested was zero, in which case this is identical to a free() call. The error paths dealing with these two cases should be different, but mostly weren't. Secondly the standard idiom for dealing with realloc when you know the new size is non-zero is the following : tmp = realloc(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } However, there were *many* *many* places in Samba where we were using the old (broken) idiom of : p = realloc(p, size) if (!p) { return error; } which will leak the memory pointed to by p on realloc fail. This commit (hopefully) fixes all these cases by moving to a standard idiom of : p = SMB_REALLOC(p, size) if (!p) { return error; } Where if the realloc returns null due to the realloc failing or size == 0 we *guarentee* that the storage pointed to by p has been freed. This allows me to remove a lot of code that was dealing with the standard (more verbose) method that required a tmp pointer. This is almost always what you want. When a realloc fails you never usually want the old memory, you want to free it and get into your error processing asap. For the 11 remaining cases where we really do need to keep the old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR, which can be used as follows : tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the pointer p, even on size == 0 or realloc fail. All this is done by a hidden extra argument to Realloc(), BOOL free_old_on_error which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR macros (and their array counterparts). It remains to be seen what this will do to our Coverity bug count :-). Jeremy. (This used to be commit 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)
2007-10-10r13878: move PORT_DATA_1 to use static sized UNICODE strings as per MSDNGerald Carter1-23/+12
(This used to be commit c803e1b2afdfc5bd983f046c976c01adebcfa1ad)
2007-10-10r13864: Some cleanup and the samr set security object function client-side.Günther Deschner1-0/+15
Guenther (This used to be commit 0ae3fddf95a95ec8a2f4d52e1276c1721b33ddfd)
2007-10-10r13841: Fix an uninitialized variable warning.Volker Lendecke1-1/+1
Jerry, this just fixes the warning. This routine does not seem to cope well with !UNMARSHALLING. You might want to look... Volker (This used to be commit 2c0c40dfb5da9e901e099295f43032a745e71253)
2007-10-10r13829: From the "It's not pretty but it works" categoryGerald Carter1-0/+100
* Finish prototype of the "add port command" implementation Format is "addportcommand portname deviceURI" * DeviceURI is either - socket://hostname:port/ - lpr://hostname/queue depending on what the client sent in the request (This used to be commit 6d74de7a676b71e83a3c3714743e6380c04e4425)
2007-10-10r13824: * add api table for Xcv TCPMON and LOCALMON calls startingGerald Carter1-5/+23
with the "MonitorUI" call * Fix some parsing errors This gets us to the Add Port Wizard dialog. (This used to be commit a444aa7f0088fb71ff89df8c280209188b33ec3d)
2007-10-10r13815: "Into the blind world let us now descend,"Gerald Carter1-0/+64
Began the poet, his face as pale as death. "I will go first, and you will follow me." --- Adding XcvDataPort() to the spoolss code for remotely add ports. The design is to allow an intuitive means of creating a new CUPS print queue from the Windows 2000/XP APW without hacks like specifying the deviceURI in the location field of the printer properties dialog. Also set 'default devmode = yes' as the new default since it causes no harm and only is executed when you have a NULL devmode anyways. (This used to be commit 123e478ce5b5f63a61d00197332b847e83722468)
2007-10-10r13802: I *knew* ASU on sparc had to be good for *something* ! :-).Jeremy Allison1-3/+3
Fix incorrect size understanding of sid name type (yes it's already correct in the Samba4 IDL :-). Jeremy. (This used to be commit 305a774d2880a57d1ebdf2ecf2d7e0b519695a33)
2007-10-10r13711: * Correctly handle acb_info/acct_flags as uint32 not as uint16.Günther Deschner2-22/+17
* Fix a couple of related parsing issues. * in the info3 reply in a samlogon, return the ACB-flags (instead of returning zero) Guenther (This used to be commit 5b89e8bc24f0fdc8b52d5c9e849aba723df34ea7)
2007-10-10r13585: Sorry Gunther, had to revert this. It's got a bufferJeremy Allison1-43/+0
overrun. Spoke to Jerry about the correct fix. Will add this after. Jeremy. (This used to be commit 33e13aabd3825c59d15dc897536e2ccf8c8f6d5e)
2007-10-10r13581: Correctly parse a non-null terminated, little-endian UCS2 string in theGünther Deschner1-0/+43
PAC_LOGON_NAME structure. This was broken on big-endian machines (Solaris SPARC and ppc). Fixes Bug #3330. Jerry, this should be in 3.0.21c. Guenther (This used to be commit 9732490811f8f02ee547ddc6e2694e1122a3a518)
2007-10-10r13576: This is the beginnings of moving the SAM_ACCOUNT data structureGerald Carter1-2/+2
to make full use of the new talloc() interface. Discussed with Volker and Jeremy. * remove the internal mem_ctx and simply use the talloc() structure as the context. * replace the internal free_fn() with a talloc_destructor() function * remove the unnecessary private nested structure * rename SAM_ACCOUNT to 'struct samu' to indicate the current an upcoming changes. Groups will most likely be replaced with a 'struct samg' in the future. Note that there are now passbd API changes. And for the most part, the wrapper functions remain the same. While this code has been tested on tdb and ldap based Samba PDC's as well as Samba member servers, there are probably still some bugs. The code also needs more testing under valgrind to ensure it's not leaking memory. But it's a start...... (This used to be commit 19b7593972480540283c5bf02c02e5ecd8d2c3f0)
2007-10-10r13571: Replace all calls to talloc_free() with thye TALLOC_FREE()Gerald Carter1-1/+1
macro which sets the freed pointer to NULL. (This used to be commit b65be8874a2efe5a4b167448960a4fcf6bd995e2)
2007-10-10r13522: Add SAMR_GET_USRDOM_PWINFO client-side.Günther Deschner1-4/+5
Guenther (This used to be commit 290a581b7567eab82b18fbadae9aa2ab29e95069)
2007-10-10r13521: Implement LOOKUPNAME3 and 4.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 6ec0e9124a1a7b19c9853b8e26075cbbb8751f10)
2007-10-10r13458: Add parsing functions - but stub internals for lookupnames3 and 4.Jeremy Allison1-2/+296
Jeremy. (This used to be commit f1a362580ae37730dc8393a79f832aed5d0ea4be)
2007-10-10r13455: Prepare to add lookupnames2.Jeremy Allison2-11/+165
Jeremy. (This used to be commit 2274709587bd1f27bea2eacf633182f20cd07b1e)
2007-10-10r13447: Added LSA_LOOKUPSIDS2 and LSA_LOOKUPSIDS3.Jeremy Allison1-2/+241
Jeremy. (This used to be commit a164cfab420a2439dad8fd85f8b4d652087fa6b9)
2007-10-10r13445: We already made the decision whether to include the dominfo andGünther Deschner1-9/+7
changereject. Guenther (This used to be commit 98d3c63e04e1317a0a2f100e89d9be65a98ecc7e)
2007-10-10r13442: Implement samr_chgpasswd_user3 server-side.Günther Deschner1-29/+41
Guenther (This used to be commit f60eddc0a4dfe623e5f115533a62c03810fd5f38)
2007-10-10r13439: Fix NET_SAM_LOGON_EX.Jeremy Allison2-2/+2
Jeremy. (This used to be commit 9437ffc84f4d924ab67f3e16ef507d2aeeeb5f34)
2007-10-10r13433: Get ready to implement NET_SAM_LOGON_EX.Jeremy Allison1-0/+102
Jeremy. (This used to be commit 666b03b4a92800ed704b7f7e4b39f4e01ca47aee)
2007-10-10r13407: Change the credentials code to be more like the Samba4 structure,Jeremy Allison1-1/+0
makes fixes much easier to port. Fix the size of dc->sess_key to be 16 bytes, not 8 bytes - only store 8 bytes in the inter-smbd store in secrets.tdb though. Should fix some uses of the dc->sess_key where we where assuming we could read 16 bytes. Jeremy. (This used to be commit 5b3c2e63c73fee8949108abe19ac7a448a033a7f)
2007-10-10r13399: Get closer to passing RPC-SCHANNEL test.Jeremy Allison1-6/+8
Jeremy. (This used to be commit 8ae70122b79fbe682c227ec2c4e5a72bf58d76de)
2007-10-10r13396: Add in userinfo26, re-enable userinfo25 - took the knowledgeJeremy Allison1-0/+38
from Samba4 on how to decode the 532 byte password buffers. Getting closer to passing samba4 RPC-SCHANNEL test. Jeremy. (This used to be commit 205db6968a26c43dec64c14d8053d8e66807086f)
2007-10-10r13386: Fix parsing of SAMR_Q_CONNECT_ANON.Jeremy Allison1-5/+6
Jeremy. (This used to be commit 6f8334ad31ac773f5c13335f5d8c5bed62987466)
2007-10-10r13350: Implement rpccli_samr_set_domain_info. Weird that it was not around :-)Volker Lendecke1-2/+4
Implement 'net rpc shell account' -- An editor for account policies nt_time_to_unix_abs changed its argument which to me seems wrong, and I could not find a caller that depends on this. So I changed it. Applied some more const in time.c. Volker (This used to be commit fc73690a7000d5a3f0f5ad34461c1f3a87edeac5)
2007-10-10r13316: Let the carnage begin....Gerald Carter6-357/+2747
Sync with trunk as off r13315 (This used to be commit 17e63ac4ed8325c0d44fe62b2442449f3298559f)
2007-10-10r12935: After discussion with Volker fix bug #3397 using a variant of the ↵Alexander Bokovoy1-0/+42
patch by Alex Deiter (tiamat@komi.mts.ru). Introduces level 9 of getuserinfo and allows to successfully install MS SMS2003 on a member of a Samba domain. Also added support for this level in rpcclient. The code for infolevel 9 is modelled upon Samba-TNG by Alex Deiter. Jerry, we need this in 3.0.21b. (This used to be commit 93461646ce2ad6e2f8b11d40ce98722d56a83b43)
2007-10-10r12914: adding query/set ops for security descriptors on services.Gerald Carter1-0/+103
(This used to be commit cefd2d7cb6140b068d66e2383e9acfa4c3c4b4c7)
2007-10-10r12176: fix type mismatch after rpc structure change in rpc_svcctl.hGerald Carter1-1/+1
(This used to be commit ba67d3ae0430abc196d245218556c23002e52076)
2007-10-10r12043: It's amazing the warnings you find when compiling on a 64-bitJeremy Allison2-1/+30
box with gcc4 and -O6... Fix a bunch of C99 dereferencing type-punned pointer will break strict-aliasing rules errors. Also added prs_int32 (not uint32...) as it's needed in one place. Find places where prs_uint32 was being used to marshall/unmarshall a time_t (a big no no on 64-bits). More warning fixes to come. Thanks to Volker for nudging me to compile like this. Jeremy. (This used to be commit c65b752604f8f58abc4e7ae8514dc2c7f086271c)
2007-10-10r11964: rename flag to password_properties in SAM_UNK_INFO_1 because that's whatGünther Deschner1-3/+3
it is. (SAM_UNK_INFO_1 should get a better name as well). Guenther (This used to be commit d94aaeb625c39b6205fe61c274aed57b1399bafc)
2007-10-10r11963: add rpccli_samr_chgpasswd3 from samba4.Günther Deschner1-1/+167
Guenther (This used to be commit 0705fed566efdeab05d605dd239afe67ca5e9811)
2007-10-10r11858: Fill in the clientside TRUSTED_DOMAIN_INFO_EX query.Günther Deschner1-0/+42
Guenther (This used to be commit 02f13dee6d0bbca71a991682bfe214ed8363e818)
2007-10-10r11856: Replace unknown1 with group_attr.Günther Deschner1-4/+4
Can anyone remember why we initialize groups only with 0x03 instead of 0x07 ? Guenther (This used to be commit 3282c7c458d390547fbaca44821eff376e8f9aaa)
2007-10-10r11853: Add Dsr_GetSiteName (handy for experimenting with GPOs).Günther Deschner1-0/+72
Guenther (This used to be commit c54430a7b5e40d3bdf8afdc813eb722c0a3b861e)
2007-10-10r11852: Fill in samr_get_dom_pwinfo based on Samba4.Günther Deschner1-6/+2
Guenther (This used to be commit a8bc4bc902075cfd009dc92674c4560a44a74277)
2007-10-10r11793: Fix the SAMR cache so it works across completely insaneJeremy Allison1-9/+9
client behaviour (ie.: open pipe/open SAMR handle/enumerate 0 - 1024 close SAMR handle, close pipe. open pipe/open SAMR handle/enumerate 1024 - 2048... close SAMR handle, close pipe. And on ad-nausium. Amazing.... probably object-oriented client side programming in action yet again. This change should *massively* improve performance when enumerating users from an LDAP database. Jeremy. (This used to be commit 8ce705d9cc1b6a79d710a10ff38f72a0f1006dda)
2007-10-10r11769: Looking at a performance problem enumerating accounts, wonderedJeremy Allison1-1/+111
if changing to support samr_connect5 might help so quickly coded it up. No it doesn't :-(. Don't merge this for 3.0.21 please. Jeremy. (This used to be commit bff1df678a8948d382f4555e83a1df23146a4b12)
2007-10-10r11760: fix sequential reads in the eventlog; event viewer is behaving ↵Gerald Carter1-1/+1
better now as well but needs more testing (This used to be commit ba2f94aeae1f8e69d53fc360785adf222a8c9c6e)
2007-10-10r11706: Implement dsr_getdcname client code. It's handy: It not only gives ↵Volker Lendecke1-0/+236
you the IP address but also the fqdn of the remote dc and site info. Volker (This used to be commit 62d01ce7e6c14971084c208ab61f379cb172cb22)
2007-10-10r11446: Remove unused fn. Remove unneeded strncpy use.Jeremy Allison1-26/+0
Jeremy. (This used to be commit d202aae3c821f3d78ff063d867bac1f84dca3548)
2007-10-10r11332: eventlog API uses NTSTATUS, not WERROR for return codesGerald Carter1-6/+6
(This used to be commit f5f40633bc3f641a0fef4934375d0d829899b0d7)
2007-10-10r11326: Fix alignment in getdc responseVolker Lendecke1-0/+3
(This used to be commit 9741818d2c54240ef1f38762396828adceb92b2a)
2007-10-10r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4Jeremy Allison3-4/+4
x86_64 box. Jeremy. (This used to be commit d720867a788c735e56d53d63265255830ec21208)
2007-10-10r10782: Only parse the group rid_array in net_user_info3() when num_group is ↵Günther Deschner1-8/+20
> 0. This fixes the PAC parsing for win2k DCs up to SP3. (Where full SIDs are stored in the PAC instead of RIDs). Guenther (This used to be commit 3d5d5ddce2d0c602d985438af996e7af5ccef329)
2007-10-10r10781: merging eventlog and svcctl code from trunkGerald Carter2-1/+5
(This used to be commit f10aa9fb84bfac4f1a22b74d63999668700ffaac)
2007-10-10r10720: Add helper function that does prs alignment on a specified number of ↵Jelmer Vernooij1-0/+18
bytes. (This used to be commit 4576e6843b67c5919823307a196b1582b78fdeaf)