1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
Commit Graph

1142 Commits

Author SHA1 Message Date
Volker Lendecke
929e1d9920 r24809: Consolidate the use of temporary talloc contexts.
This adds the two functions talloc_stackframe() and talloc_tos().

 * When a new talloc stackframe is allocated with talloc_stackframe(), then
 * the TALLOC_CTX returned with talloc_tos() is reset to that new
 * frame. Whenever that stack frame is TALLOC_FREE()'ed, then the reverse
 * happens: The previous talloc_tos() is restored.
 *
 * This API is designed to be robust in the sense that if someone forgets to
 * TALLOC_FREE() a stackframe, then the next outer one correctly cleans up and
 * resets the talloc_tos().

The original motivation for this patch was to get rid of the
sid_string_static & friends buffers. Explicitly passing talloc context
everywhere clutters code too much for my taste, so an implicit
talloc_tos() is introduced here. Many of these static buffers are
replaced by a single static pointer.

The intended use would thus be that low-level functions can rather
freely push stuff to talloc_tos, the upper layers clean up by freeing
the stackframe. The more of these stackframes are used and correctly
freed the more exact the memory cleanup happens.

This patch removes the main_loop_talloc_ctx, tmp_talloc_ctx and
lp_talloc_ctx (did I forget any?)

So, never do a

tmp_ctx = talloc_init("foo");

anymore, instead, use

tmp_ctx = talloc_stackframe()

:-)

Volker
(This used to be commit 6585ea2cb7)
2007-10-10 12:30:24 -05:00
Rafal Szczesniak
a0a32cf5d5 r24771: Use infolevel 25 to set the machine account's password (just like winxp).
This correctly updates pwdLastSet field on win2k3 server.

rafal
(This used to be commit dd6d44c166)
2007-10-10 12:30:19 -05:00
Jeremy Allison
7b24eb65a0 r24759: Comment out the _nonnull calls for 3.2.x, as agreed with tridge.
Leaving the commented out code for now, in case I need to re-test
some stuff.
Jeremy
(This used to be commit 343be04643)
2007-10-10 12:30:18 -05:00
Derrell Lipman
c638a84cb1 r24410: - I got tricked by function naming. Contrary to what seemed obvious to me,
prs_mem_free() is not the function to be called to free memory allocated by
  prs_alloc_mem().  I've added a comment so others may not get bitten too.

- Remove incorrect memory free calls added yesterday to replace SAFE_FREE.
  The memory is actually now on a talloc context, so gets freed by the caller
  when that context is freed.  We don't need to free it iternally.

Derrell
(This used to be commit 2fde343150)
2007-10-10 12:29:41 -05:00
Volker Lendecke
b87c0dde71 r24291: Fix Coverity ID 364
We've checked num_rids != 0 above.
(This used to be commit dab5449f38)
2007-10-10 12:29:25 -05:00
Volker Lendecke
84058d4933 r24067: Fix a type mismatch found by the IBM checker
(This used to be commit 411a1a2037)
2007-10-10 12:29:01 -05:00
Andrew Tridgell
153cfb9c83 r23801: The FSF has moved around a lot. This fixes their Mass Ave address.
(This used to be commit 87c91e4362)
2007-10-10 12:28:27 -05:00
Andrew Tridgell
5e54558c6d r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
(This used to be commit b0132e94fc)
2007-10-10 12:28:22 -05:00
Jeremy Allison
d824b98f80 r23779: Change from v2 or later to v3 or later.
Jeremy.
(This used to be commit 407e6e695b)
2007-10-10 12:28:20 -05:00
Volker Lendecke
4ed5f70eed r23665: Remove two unneeded global variables
(This used to be commit 51a3933b3d)
2007-10-10 12:23:43 -05:00
Günther Deschner
7eb828135b r23627: Allow to pass down the lookup-level to rpccli_lsa_lookup_names().
Guenther
(This used to be commit e9a7512a9f)
2007-10-10 12:23:38 -05:00
Jim McDonough
9c3db7adf3 r23616: Fix bugzilla #4719: must change password is not set from usrmgr.exe.
This was only affecting the newer versions of usrmgr.exe, because they
use a user_info_25 struct.  The password is getting set separately
inside that code, so the password last set time was getting set from the
password change logic.

We also were not parsing a number of fields (like logon hours) from the
user_info_25.  That should also be fixed.
(This used to be commit afabd68b6a)
2007-10-10 12:23:36 -05:00
James Peach
b1ce226af8 r23510: Tidy calls to smb_panic by removing trailing newlines. Print the
failed expression in SMB_ASSERT.
(This used to be commit 171dc060e2)
2007-10-10 12:23:23 -05:00
Jeremy Allison
2e6deee020 r23400: Fix lsa crash bug #4683. The "names" enum struct
in a lookup_sidX reply isn't optional - like the
lookup_sidX query it needs to be defined in the
struct.
All this will go away with PIDL (thank goodness....).
Jerry - I think this is a showstopper to be merged
for 3.0.25b.
I'll be watching the build farm to see if anything broke.
Jeremy.
(This used to be commit 9300b92f7a)
2007-10-10 12:23:13 -05:00
Günther Deschner
1ea5dfae04 r23380: netr_getdcname returns WERROR not NTSTATUS.
Guenther
(This used to be commit 5e75ea7f2b)
2007-10-10 12:23:12 -05:00
Jeremy Allison
227ba79af9 r23342: Stop Coverity from getting confused.
Jeremy.
(This used to be commit 34144c63ad)
2007-10-10 12:23:07 -05:00
Gerald Carter
97a164ba96 r23274: merge CloseEventlog() pidl conversion from 3.0.26 && fix a few init call renames for svcctl in the previous commit
(This used to be commit ebcae48ec1)
2007-10-10 12:23:02 -05:00
Gerald Carter
d99f4f004c r23271: merge service control pidl change for CloseServiceHandle() from SAMBA_3_0_26
(This used to be commit 0b1bc3521f)
2007-10-10 12:23:01 -05:00
Günther Deschner
d8e454664a r23210: Very funny, we thought to use netr_GetDcName (e.g. in winbind) but were using
netr_GetDcAnyName all the time (which is the correct thing to do).

Fix the naming and opcode mixup in all branches.

Guenther
(This used to be commit def6464c87)
2007-10-10 12:22:54 -05:00
Günther Deschner
94e4a468f0 r23127: Fill in some more netlogon dsgetdcname flavours (netr_DsRGetDCNameEx,
netr_DsRGetDCNameEx2) and add new ds request and reply flags, also add some
more WERROR codes.

Guenther
(This used to be commit 37ae7f4197)
2007-10-10 12:22:48 -05:00
Jeremy Allison
08be930169 r23122: Fix bug #4655. We marshall the enumdataex correctly,
but W2K3 doesn't follow our rules when sending data to
us. Ensure we look for the data at the correct offsets
when reading the data.
Too late for 3.0.25a - don't merge.
Jeremy.
(This used to be commit a871191395)
2007-10-10 12:22:48 -05:00
Volker Lendecke
2945490a0f r23091: Add rpccli_netlogon_sam_network_logon_ex, fix its parsing. This does not
use the credential chain and only works over netlogon, but it would
allow multiple outstanding auth requests for a single workstation
account.
(This used to be commit 123290d094)
2007-10-10 12:22:44 -05:00
Jeremy Allison
71ee55f98d r23080: Fix bug #4637 - we hads missed some cases where
we were calling PRS_ALLOC_MEM with zero count.
Jeremy.
(This used to be commit 9a10736e6f)
2007-10-10 12:22:43 -05:00
Gerald Carter
d34f6bb969 r22852: merge fixes for CVE-2007-2446 and CVE-2007-2447 to all branches
(This used to be commit f65214be68)
2007-10-10 12:22:02 -05:00
Volker Lendecke
b4a7b7a888 r22844: Introduce const DATA_BLOB data_blob_null = { NULL, 0, NULL }; and
replace all data_blob(NULL, 0) calls.
(This used to be commit 3d3d61687e)
2007-10-10 12:22:01 -05:00
Jeremy Allison
92999cee8d r22676: Fix zero alloc with create_rpc_blob().
Jeremy.
(This used to be commit c73963a60a)
2007-10-10 12:19:54 -05:00
Jeremy Allison
32b9beb164 r22673: Fix for Jerry's reversion. We still need to check size
before talloc.
Jeremy.
(This used to be commit 9e4c6ab739)
2007-10-10 12:19:54 -05:00
Gerald Carter
a127d5331a r22630: Revert svn r22576 (parse change to enum_aliasmem(). Original code was correct
(This used to be commit cf11b43149)
2007-10-10 12:19:50 -05:00
Jeremy Allison
79de0ad946 r22588: Make all uses of TALLOC_MEMDUP consistent.
Jeremy.
(This used to be commit 8ad13718af)
2007-10-10 12:19:48 -05:00
Jeremy Allison
61f95f1f97 r22585: Get us into a consistent state with TALLOC_ZERO_ARRAY also.
Jeremy.
(This used to be commit c622fb8536)
2007-10-10 12:19:47 -05:00
Jeremy Allison
138668d5d2 r22577: Change all of parse/*.c to use standard form. Fix some
marshalling bugs.
Jeremy.
(This used to be commit 3df99006f8)
2007-10-10 12:19:46 -05:00
Jeremy Allison
571845991e r22576: Fix marshalling bug in aliasmem.
Jeremy.
(This used to be commit 415c476f72)
2007-10-10 12:19:45 -05:00
Jeremy Allison
4ab6a8ebb7 r22564: Move the _strict -> _zeronull functions into lib/util.c
and out of talloc at tridge's request.
Jeremy.
(This used to be commit da78488b86)
2007-10-10 12:19:45 -05:00
Jeremy Allison
12ba88574b r22542: Move over to using the _strict varients of the talloc
calls. No functional changes. Looks bigger than it is :-).
Jeremy.
(This used to be commit f6fa3080fe)
2007-10-10 12:19:44 -05:00
Jeremy Allison
62683646dc r22163: Pure reformatting. I hate 4 space tabstops :-).
Jeremy.
(This used to be commit 99abe96b2b)
2007-10-10 12:19:18 -05:00
Gerald Carter
a1e72969d5 r22104: BUG 4439: Fix the object picket on x64 WIndopws XP/2003.
Enable the DsRoleGetPrimaryDomainInfo() server code.
Tested by Win2000/XP/2003/Vista (x86) and WinXP (x64)
(This used to be commit eab9ca7e7d)
2007-10-10 12:19:12 -05:00
Jeremy Allison
7f8d89bc54 r22062: Fix the parsing of info level 3. Flags is not a flags
field, but an offset. Fixed 64-bit display of ACLs on
printers.
Jeremy.
(This used to be commit 0c8949ff5d)
2007-10-10 12:19:07 -05:00
Jelmer Vernooij
0389cad7c4 r22055: Port the endpoint mapper (and functions it requires) to Samba 3.
(This used to be commit ad98126187)
2007-10-10 12:19:06 -05:00
Stefan Metzmacher
bc2b6436d0 r22009: change TDB_DATA from char * to unsigned char *
and fix all compiler warnings in the users

metze
(This used to be commit 3a28443079)
2007-10-10 12:19:00 -05:00
Stefan Metzmacher
56ba447668 r22001: change prototype of dump_data(), so that it takes unsigned char * now,
which matches what samba4 has.

also fix all the callers to prevent compiler warnings

metze
(This used to be commit fa322f0cc9)
2007-10-10 12:18:59 -05:00
Stefan Metzmacher
a806037b87 r21987: split tdb_prs_*() functions in version which take a keystr and a TDB_DATA key
metze
(This used to be commit 724c6fa337)
2007-10-10 12:18:56 -05:00
Gerald Carter
2b52e35770 r21507: Fix some "cannot access LDAP when no root" bugs.
The two culprits were

* pdb_get_account_policy()
* pdb_get_group_sid()
(This used to be commit 6a69caf690)
2007-10-10 12:18:09 -05:00
Günther Deschner
216c5c51c5 r21393: Fix typo.
Guenther
(This used to be commit 7bbb3409a5)
2007-10-10 12:18:01 -05:00
Jeremy Allison
6663fa6bdc r21346: FIXME ! Our parsing here is wrong I think,
but for a level3 it makes no sense for
ptr_sec_desc to be NULL. JRA. Based on
a Vista sniff from Martin Zielinski <mz@seh.de>.
Jerry - part of the Vista patchset.
Jeremy.
(This used to be commit 60e26a9039)
2007-10-10 12:17:57 -05:00
Jeremy Allison
68ddb42c66 r21096: Fix formatting.
Jeremy
(This used to be commit b35fa5168e)
2007-10-10 12:17:36 -05:00
Gerald Carter
cf629dc495 r20904: This is a placeholder fix. Apparently Windows 2000
is sharing the IDL for the SAMR pipe with Windows 2003
but returning NT_STATUS_NOT_SUPPORTED rather than a DCE/RCE
fault.  We need to catch this in the general sense
by looking at the returned PDU size.  But this immediate
change fixes password changes via pam_winbind against Windows 2000
DCs.
(This used to be commit a3602cc6d4)
2007-10-10 12:17:18 -05:00
Herb Lewis
e59e787b48 r20269: merge -r20264:20267 from SAMBA_3_0_24
more no previous prototype warnings
(This used to be commit 41be182f78)
2007-10-10 12:16:38 -05:00
Volker Lendecke
f799df03d4 r19288: tdb_prs_store is right now used to store printer and share security
descriptors. Both databases are long-lived and not frequently written, so I
think storing it deserves a tdb transaction.

Volker
(This used to be commit 2d4b5f5727)
2007-10-10 12:15:28 -05:00
Günther Deschner
7b84b133fe r19161: Add NET_GETANYDCNAME (getdcname only gives the PDC while getanydcname
gives just any DC), also make sure to set timeouts in rpcclient
accordingly so that we actually get the DC's reply.

Guenther
(This used to be commit 6091c8152a)
2007-10-10 12:15:18 -05:00
Günther Deschner
adc299bd08 r19143: getdcname on the NETLOGON pipe returns WERROR, not NTSTATUS.
Guenther
(This used to be commit 44e228ac79)
2007-10-10 12:15:16 -05:00