summaryrefslogtreecommitdiffstats
path: root/source/smbd/lanman.c
Commit message (Collapse)AuthorAgeFilesLines
* r25387: Sync with 3.2.0 svn treeGerald Carter2007-09-271-62/+75
|
* r24949: Remove some static buffersVolker Lendecke2007-09-041-7/+5
|
* r24809: Consolidate the use of temporary talloc contexts.Volker Lendecke2007-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* r24660: Merge the inbuf/outbuf changesVolker Lendecke2007-08-251-9/+17
|
* r24653: Some trivial 3_2->3_2_0 mergesVolker Lendecke2007-08-241-2/+2
|
* r23967: Memleak fix from Atsushi Nakabayashi <nakabayashi@miraclelinux.com>Volker Lendecke2007-07-191-0/+3
| | | | | | Thanks! Volker
* r23784: use the GPLv3 boilerplate as recommended by the FSF and the license textAndrew Tridgell2007-07-101-2/+1
|
* r23780: Find and fix more GPL2 -> GPL3.Jeremy Allison2007-07-091-1/+1
| | | | Jeremy.
* r23430: Merge r19963 from 3_0:Michael Adam2007-06-121-0/+1
| | | | | | Add 'registry shares = yes' and registry key security descriptors. Michael
* r23173: Convert sessionid.tdb to ctdb. The 3.0.26 patch is a bit larger becauseVolker Lendecke2007-05-281-6/+2
| | | | it brings across the tdb-based list_sessions
* r23055: Rewrite messages.c to use auto-generated marshalling in the tdb. I'mVolker Lendecke2007-05-211-2/+1
| | | | | | | | | | | doing this because for the clustering the marshalling is needed in more than one place, so I wanted a decent routine to marshall a message_rec struct which was not there before. Tridge, this seems about the same speed as it used to be before, the librpc/ndr overhead in my tests was under the noise. Volker
* r22911: Pass a messaging_context to message_send_allVolker Lendecke2007-05-151-1/+2
|
* r22761: This introduces lib/conn_tdb.c with two main functions: ↵Volker Lendecke2007-05-081-1/+2
| | | | | | | | | connections_traverse and connections_forall. This centralizes all the routines that did individual tdb_open("connections.tdb") and direct tdb_traverse. Volker
* r22562: Qucik fix for session memory leak (vl's tallocJeremy Allison2007-04-281-1/+5
| | | | | | fix is probably better in the long run). Jerry - your call whether this makes 3.0.25 or not. Jeremy.
* r22065: First logic change I've found :-(. We were being tooJeremy Allison2007-04-041-9/+24
| | | | | | | | restrictive about strings being NULL. If an info level doesn't use a subformat the subformat string may be missing (null). Add debug statements to help track this. Jeremy
* r22050: Fix a couple of off-by-one errors in the rapJeremy Allison2007-04-031-3/+15
| | | | | | | call patch. Jerry, this works now for displaying shares on Win9x (and hopefully everything else as well :-). Jeremy.
* r22045: As Volker noticed, skip_string's last argument isJeremy Allison2007-04-021-94/+98
| | | | | redundent. Remove it. Jeremy.
* r22044: Remove the only skip_string(...,2) callerVolker Lendecke2007-04-021-1/+1
|
* r22043: Comparing lanman.c with -r22013 is now MUCH easier, thanks! This ↵Volker Lendecke2007-04-021-3/+0
| | | | | | | | | | | | | | looks much easier to review! Damn close to what I had in my tree, just the fn names were slightly different. This removes one unnecessary dupe. Next thing is to get rid of the parameter "n" of skip_string, there is only one (!) caller that does not pass in 1.... Volker
* r22042: Try and clean up my own mess using the API VolkerJeremy Allison2007-04-021-71/+76
| | | | | | | | | | | | | | suggested. I now use : BOOL is_offset_safe(const char *buf_base, size_t buf_len, char *ptr, size_t off) char *get_safe_ptr(const char *buf_base, size_t buf_len, char *ptr, size_t off) char *get_safe_str_ptr(const char *buf_base, size_t buf_len, char *ptr, size_t off) int get_safe_SVAL(const char *buf_base, size_t buf_len, char *ptr, size_t off, int failval) int get_safe_IVAL(const char *buf_base, size_t buf_len, char *ptr, size_t off, int failval) Volker, please criticize and comment. Thanks, Jeremy.
* r22017: After changing 2000 lines of this I think this is needed :-).Jeremy Allison2007-03-311-0/+1
| | | | Jeremy.
* r22014: Make us pass RANDOMIPC test again :-(. This is an ugly check-in,Jeremy Allison2007-03-301-277/+601
| | | | | but I've no option. Jeremy.
* r19810: more merge work....does not compile currently. Working on smbd mergeGerald Carter2006-11-211-15/+34
|
* r19795: * bring the 'enum lsa_SidType', 'struct GUID', & 'structGerald Carter2006-11-191-1/+1
| | | | policy_handle' over from SAMBA_3_0.
* r17879: Make it explicit that we can never pass NULL for buflen or stringlen.Jeremy Allison2006-08-281-6/+2
| | | | | Stanford Checker fix. Jeremy.
* r16254: pulling klocwork fixes for 3.0.23rc3 (current up to r16251)Gerald Carter2006-06-151-5/+9
|
* r13983: Fix Coverity bug # 111Volker Lendecke2006-03-071-0/+1
|
* r13915: Fixed a very interesting class of realloc() bugs found by Coverity.Jeremy Allison2006-03-071-10/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* r13590: * replace all pdb_init_sam[_talloc]() calls with samu_new()Gerald Carter2006-02-211-2/+2
| | | | * replace all pdb_{init,fill}_sam_pw() calls with samu_set_unix()
* r13576: This is the beginnings of moving the SAM_ACCOUNT data structure Gerald Carter2006-02-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | 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......
* r13571: Replace all calls to talloc_free() with thye TALLOC_FREE()Gerald Carter2006-02-201-2/+2
| | | | macro which sets the freed pointer to NULL.
* r13443: Fix the build.Günther Deschner2006-02-101-2/+2
| | | | Guenther
* r13316: Let the carnage begin....Gerald Carter2006-02-031-1240/+1450
| | | | Sync with trunk as off r13315
* r12163: Change lookup_sid and lookup_name to return const char * instead of ↵Volker Lendecke2005-12-101-1/+1
| | | | | | | | char *, use a temporary talloc_ctx for clarity. Volker
* r12051: Merge across the lookup_name and lookup_sid work. Lets see how the ↵Volker Lendecke2005-12-031-5/+5
| | | | | | | | build farm reacts :-) Volker
* r11511: A classic "friday night check-in" :-). This moves muchJeremy Allison2005-11-051-314/+353
| | | | | | | | | | | | | | | | of the Samba4 timezone handling code back into Samba3. Gets rid of "kludge-gmt" and removes the effectiveness of the parameter "time offset" (I can add this back in very easily if needed) - it's no longer being looked at. I'm hoping this will fix the problems people have been having with DST transitions. I'll start comprehensive testing tomorrow, but for now all modifications are done. Splits time get/set functions into srv_XXX and cli_XXX as they need to look at different timezone offsets. Get rid of much of the "efficiency" cruft that was added to Samba back in the day when the C library timezone handling functions were slow. Jeremy.
* r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4Jeremy Allison2005-10-181-2/+2
| | | | | x86_64 box. Jeremy.
* r9290: Some error path cleanups found by Coverity. Whitespace reformatting.Jeremy Allison2005-08-131-232/+277
| | | | | This file need a lot of error path cleanup. Jeremy.
* r9288: Whitespace cleanup and memory leak on error path fix found by Coverity.Jeremy Allison2005-08-121-55/+60
| | | | Jeremy.
* r6279: Convert the RAP enum functions to the pdb_search API. Who is using thisVolker Lendecke2005-04-101-45/+56
| | | | | | nowadays? This looks rather broken, but survives basic tests with 'net'. Volker
* r6225: get rid of warnings from my compiler about nested externsHerb Lewis2005-04-061-3/+3
|
* r5165: BUG 2295: always use get_local_machine_name() rather than digging in ↵Gerald Carter2005-02-011-6/+4
| | | | the gloval variable 'local_machine'
* r4847: Hand over a acb_mask to pdb_setsampwent in load_sampwd_entries(). Günther Deschner2005-01-191-1/+1
| | | | | | | | | | | | | | | | | This allows the ldap-backend to search much more effeciently. Machines will be searched in the ldap_machine_suffix and users in the ldap_users_suffix. (Note that we already use the ldap_group_suffix in ldapsam_setsamgrent for quite some time). Using the specific ldap-bases becomes notably important in large domains: On my testmachine "net rpc trustdom list" has to search through 40k accounts just to list 3 interdomain-trust-accounts, similiar effects show up the non-user query_dispinfo-calls, etc. Also renamed all_machines to only_machines in load_sampwd_entries() since that reflects better what is really meant. Guenther
* r4088: Get medieval on our ass about malloc.... :-). Take control of all our ↵Jeremy Allison2004-12-071-65/+64
| | | | | | | | | allocation functions so we can funnel through some well known functions. Should help greatly with malloc checking. HEAD patch to follow. Jeremy.
* r4083: consolidate printer searches to use find_service rather than for loopsGerald Carter2004-12-061-35/+17
|
* r3848: Fix for bug 2057. Only partially applied the patch, the second part ↵Volker Lendecke2004-11-181-0/+7
| | | | | | | | | | | seems not necessary. I'm using gcc 3.4.1, this does not detect the possibly uninitialized variable. Does anybody know how to get 3.4.1 to warn me? Volker
* r3824: Fix crash in api_RNetShareEnum. ServicePtrs[] may contain invalidVolker Lendecke2004-11-171-0/+4
| | | | | | entries. Happened after rev3708 removed non-existing cups printers. Volker
* r3705: Nobody has commented, so I'll take this as an ack...Volker Lendecke2004-11-121-23/+22
| | | | | | | | | | | | | | | | | abartlet, I'd like to ask you to take a severe look at this! We have solved the problem to find the global groups a user is in twice: Once in auth_util.c and another time for the corresponding samr call. The attached patch unifies these and sends them through the passdb backend (new function pdb_enum_group_memberships). Thus it gives pdb_ldap.c the chance to further optimize the corresponding call if the samba and posix accounts are unified by issuing a specialized ldap query. The parameter to activate this ldapsam behaviour is ldapsam:trusted = yes Volker
* r3682: fix seg fault in lanman printing code caused by uninitialized variableGerald Carter2004-11-111-0/+6
|
* r3049: fixing some calls in the printing code to stanard_sub_basic(); fix ↵Gerald Carter2004-10-181-7/+10
| | | | standard_sub_snum() to use the current user's gid; add some (snum == -1) checks to standard_sub_advanced()