summaryrefslogtreecommitdiff
path: root/source3/smbd
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r14989: Fix from Mathias Dietz <MDIETZ@de.ibm.com>. EPERM can beJeremy Allison1-1/+1
a valid return from getting an xattr. Don't disable if we get it. Jeremy. (This used to be commit 7769b678f22d8ab4aa8aef55966813355bf2ce6d)
2007-10-10r14986: Fix OS/2 directory delete bug found by kukks.Jeremy Allison2-8/+30
(Thanks a lot for all your hard work on this). We were caching the results of *all* directory scans, not just the results that match the client wildcard. This actually made no sense, as only matches on the client wildcard can be returned to the client and so might need to be searched for in the cache. This fixes the directory cache to only cache entries that we return to the client. Jeremy. (This used to be commit c88af597d042390ff11b26fe802b0b10d0faa6ce)
2007-10-10r14954: Fix #3569 based on William Jojo's work. AIX alsoJeremy Allison1-1/+1
has the linear posix locking issue which causes CLEAR_IF_FIRST to cause performance problems. As we know we're in a daemon architecture with long-lived parent we can avoid this in the Samba case. Add a comment explaining this. Jeremy. (This used to be commit 3cd5c3df0d1b98dfa90663973ab13b5d3dbf737e)
2007-10-10r14898: This change is an attempt to improve the quality of the information thatJames Peach3-79/+89
is produced when a process exits abnormally. First, we coalesce the core dumping code so that we greatly improve our odds of being able to produce a core file, even in the case of a memory fault. I've removed duplicates of dump_core() and split it in two to reduce the amount of work needed to actually do the dump. Second, we refactor the exit_server code path to always log an explanation and a stack trace. My goal is to always produce enough log information for us to be able to explain any server exit, though there is a risk that this could produce too much log information on a flaky network. Finally, smbcontrol has gained a smbd fault injection operation to test the changes above. This is only enabled for developer builds. (This used to be commit 56bc02d64498eb3faf89f0c5452b9299daea8e95)
2007-10-10r14883: add 'smbd:sharedelay' option, so that we can speed up BASE-DENY2 in ↵Stefan Metzmacher1-1/+8
make test as done in samba4 metze (This used to be commit b98dd258a74a1e1b4e967e6176a5a92986d03123)
2007-10-10r14855: Various fixes:Gerald Carter1-7/+9
* depreacte 'acl group control' after discussion with Jeremy and implement functionality as part of 'dos filemode' * fix winbindd on a non-member server to expand local groups * prevent code previously only used by smbd from blindly turning _NO_WINBINDD back on (This used to be commit 4ab372f4cab22225716b5c9a9a08f0c1dbc9928d)
2007-10-10r14849: Fix >= that should be >. Too strict conditionJeremy Allison1-2/+2
checked by Volker. Jeremy. (This used to be commit 9a763da07385bf9af437cab8dd680f2e13fca3c3)
2007-10-10r14847: Tell static checkers that exit_server() doesn'tJeremy Allison1-5/+10
return. Jeremy. (This used to be commit 9c5e26a56aaaf1143b43e61d208ddaeb96f2ffcb)
2007-10-10r14790: Fix possible null deref. Coverity #277.Jeremy Allison1-1/+3
Jeremy. (This used to be commit 2454af392a71989ecddb2dbb17a9217658102523)
2007-10-10r14746: Add the Samba4 replacements for opendir/readdir etc. toJeremy Allison1-1/+1
Samba3 - with some 64-bit macro madness. Attempt to fix the broken directory handling in the *BSD-of-the-month club. Jeremy. (This used to be commit fd98427f64f4206c01f16f82fadf24f5863878db)
2007-10-10r14695: Patch from Björn Jacke:Volker Lendecke1-5/+7
- add DMAPI/XDSM support for AIX - find JFS DMAPI libs on Linux when only they are available Volker (This used to be commit b6b72f8c6a03001ae75457c9e7a78e189bea5a3f)
2007-10-10r14669: Remove duplicate source caused by running patch(1) once too often.James Peach1-272/+0
(This used to be commit 0ebbfc867c71002eaf921f4f4d8aa7d7b78973a7)
2007-10-10r14668: Set the FILE_STATUS_OFFLINE bit by observing the events a DMAPI-basedJames Peach4-1/+614
HSM is interested in. Tested on both IRIX and SLES9. (This used to be commit 514a767c57f8194547e5b708ad2573ab9a0719c6)
2007-10-10r14618: add --no-process-group to all server programmsStefan Metzmacher1-2/+5
to make the following possible: timelimit 20000 bin/nmbd -F -S --no-process-group timelimit 20000 bin/smbd -F -S --no-process-group this is needed to 'make test' working without losing child processes metze (This used to be commit c3a9f30e2a12cc852c9fa3a7d161f5c6ee0694ce)
2007-10-10r14602: Fix another logic bug in new oplock handling. JustJeremy Allison1-12/+17
because lck->num_share_modes != 0 doesn't mean that there *are* other valid share modes. They may be all marked "UNUSED" or be deferred open entries. In that case don't downgrade the granted oplock to level2 needlessly - a client can have an exclusive oplock in this case. The original code handled this correctly in the lck->num_share_modes == 0 case but not in the case where there were no valid share modes but lck->num_share_modes != 0. I'll clean up my Samba4 torture tester for this and commit it tomorrow. Jeremy. (This used to be commit 306061c93d9181262298516fefd83444f5a65ce5)
2007-10-10r14600: Refactor capability interface from being IRIX-specific to using onlyJames Peach2-2/+2
the POSIX interface. Note that this removes support for inherited capabilities. This wasn't used, and probably should not be. (This used to be commit 763f4c01488a96aec000c18bca313da37ed1df1b)
2007-10-10r14596: Fix a logic bug with multiple oplock contention.Jeremy Allison1-18/+33
The sad thing is the core of this bug fix is just removing a paranoia "exit_server" call, as the rest of the logic was already correct :-). Lots of comments to explain the logic added. I will look at adding tests to exercise this, might be possible. Jeremy. (This used to be commit c2488db727e1a00f112be7b169de9e6208e311f3)
2007-10-10r14574: Allow use of sendfile as long as the write cache has not been enabledJames Peach1-3/+4
on the particular file we are performing I/O on, irrespective of whether the write cache is globally enabled (This used to be commit 0809e2cb1dfff1cd0e8631b23b415cb2d8a67312)
2007-10-10r14559: Oplocks have changed, process_smb can be static againVolker Lendecke1-3/+2
(This used to be commit 19e9bc03f81d8d000b683cf5c5f478ba25ddeb0d)
2007-10-10r14460: SMBexit closes by pid and vuid. Tested with smbtorture.Jeremy Allison2-4/+4
Jeremy. (This used to be commit 71e81580421225d5b35a25d46a7b6064a826685c)
2007-10-10r14387: Try and fix the coverity issues (#53, #54) with negativeJeremy Allison2-6/+6
sink by ensuring all uses of rpcstr_push are consistent with a size_t dest size arg. Jeremy. (This used to be commit f65d7afe1977d9d85046732842f9643716c15088)
2007-10-10r14357: Try and fix Coverity #169 by making the pointerJeremy Allison1-4/+6
aliasing clearer. This isn't a bug but a code clarification. Jeremy. line, and those below, will be ignored-- M source/smbd/posix_acls.c (This used to be commit b8397c9f33424e0d1ed3ff849e1c99812f978000)
2007-10-10r14336: Try and quieten coverity #53 and #54. Make it obviousJeremy Allison1-2/+2
we're using -1 as a special size_t case by casting. Jeremy. (This used to be commit 415530bd082bf351f5e4c1fd32408f123ed77f85)
2007-10-10r14229: Something Coverity hasn't caught (yet) but I've gottenJeremy Allison1-3/+5
sensitive to null derefs. get_timed_events_timeout() can potentially return NULL. Cope with this. Jeremy. (This used to be commit 04838078723613628b298b7a87622df30432cf64)
2007-10-10r14207: Convert the lp_acl_compatibility() param into an enum.James Peach1-3/+3
(This used to be commit 5429c495c538e416010cf44e1d6fb771770a72ae)
2007-10-10r14170: Paranioa fix for sesssetup.Jeremy Allison1-0/+5
Fix Coverity bug #26. Guard against NULL ref. Jeremy. (This used to be commit c0f906ac8de850f4566b6b3be4e3c7d245e6e252)
2007-10-10r14168: Fix Coverity #219. I think this is a false coverityJeremy Allison1-1/+4
warning as it seems to get confused with assignment and comparison. Clarify the code anyway. Jeremy. (This used to be commit 754818f8cc0849bddf84b7a534cd65e8dcd932ac)
2007-10-10r14130: Remove make_server_info_pac alltogether, make_server_info_info3 doesGünther Deschner1-3/+3
already do what we need. Guenther (This used to be commit 773e33c9717ae04f48983ddc49f7619a97523603)
2007-10-10r14112: * fix checks on return code from register_vuid() which could actuallyGerald Carter2-5/+20
fail and we would still return success in the SMBsesssetup reply :-( * Make sure to create the local token for the server_fino struct in reply_spnego_kerberos() so that register_vuid() does not fail. (how did this ever work?) (This used to be commit 8dafa45b97020d1aceb027a85e18401c965bf402)
2007-10-10r14111: Work around additional typedefs in the gamin implementationJames Peach1-4/+11
of the FAM API. (This used to be commit dc96ce90e50da9a82f941b0b534c0681c8477f5e)
2007-10-10r14075: * add support for long variable names in smb.conf in the form of %(....)Gerald Carter1-4/+9
* add support for %(DomainSID) * replace standard_sub_XXX() functions with wrappers around their alloc_sub_XXX() counterparts * add support for using SIDs in read list, et. al. (anything that is checked by nt_token_contains_name_in_list()) (This used to be commit 71d960250d2c6d01096a03e98884d3f9c395baa0)
2007-10-10r13983: Fix Coverity bug # 111Volker Lendecke1-0/+1
(This used to be commit 08d7fd31ab250bc6ba3922b36aa7b0cfef1e5bf1)
2007-10-10r13980: Fix Coverity bug # 63. Jeremy, could you take a look at this?Volker Lendecke1-5/+16
Thanks, Volker (This used to be commit 49043a756dfa6a973d5605f42068df351a4a9ab5)
2007-10-10r13916: Fix Coverity bug #29. Looks like my code. I wonder how much there is ↵Volker Lendecke1-0/+1
still lurking... Volker (This used to be commit 1345a52794f4f55173ed677af3d0714e88bf17c6)
2007-10-10r13915: Fixed a very interesting class of realloc() bugs found by Coverity.Jeremy Allison6-64/+216
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-10r13771: BUG 3534: ignore lines in the username map file with no right hand ↵Gerald Carter1-2/+4
list rather than bailing out (This used to be commit acff5163ca7be59e01438f7cf63faef9ed54b820)
2007-10-10r13759: As pointed out by Volker, it isn't much good creatingJeremy Allison1-0/+15
a new empty acl in remove_posix_acl if you don't bother to set it on the file in question :-). Jeremy. (This used to be commit 12eccc8fe4ed043698970de42921757eb0448c84)
2007-10-10r13748: Don't reference memory after we just freed it (Doh!).Jeremy Allison1-2/+3
Thanks to tridge's changes to the directory delete on close tests for catching this. Jeremy. (This used to be commit 01ef957d4846191071f95393e6e76e48d4c6aa24)
2007-10-10r13724: Remove unused variable. Bug #3559 fromJeremy Allison1-2/+2
jason@ncac.gwu.edu. Jeremy. (This used to be commit 0295ed3d5c3bb34ef29d01100a6156a754377930)
2007-10-10r13711: * Correctly handle acb_info/acct_flags as uint32 not as uint16.Günther Deschner1-3/+3
* 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-10r13694: Committing patch from Aleksey Fedoseev <aleksey at fedoseev dot net> ↵Volker Lendecke1-1/+1
to NULL out a pointer after talloc_destroy(). Volker (This used to be commit 788e52eb5d17a8f5b41b6ad5244ccf448fc81a36)
2007-10-10r13675: * patch from Bjoern JACKE <samba@j3e.de> to remove theGerald Carter1-15/+4
artificial RO bit on directories in user profiles when profile acls = yes. (This used to be commit b698e83a82f96db4a4a6ffa4b61af50c943deff0)
2007-10-10r13647: Fix for standalone Samba servers and XP clients. RevertsJeremy Allison1-4/+15
part of the PocketPC bugfix. I'm trying to get someone who has a pocketpc to test this. Jeremy. (This used to be commit ce25e6b002f39ba084c3430ca832ad4990cf1994)
2007-10-10r13604: Fix for bug #3512 "use spnego=no" and "server signing=auto" cause ↵Jeremy Allison1-22/+20
client to disconnect after negprot" We missed one case of ignoring "BSRSPYL ". Merge for 3.0.21c. Jeremy. (This used to be commit 7d21cf420fdecaee43408ad5cc192cc0715d95a2)
2007-10-10r13590: * replace all pdb_init_sam[_talloc]() calls with samu_new()Gerald Carter2-3/+5
* replace all pdb_{init,fill}_sam_pw() calls with samu_set_unix() (This used to be commit 6f1afa4acc93a07d0ee9940822d7715acaae634f)
2007-10-10r13576: This is the beginnings of moving the SAM_ACCOUNT data structureGerald Carter2-28/+28
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 Carter13-54/+54
macro which sets the freed pointer to NULL. (This used to be commit b65be8874a2efe5a4b167448960a4fcf6bd995e2)
2007-10-10r13563: Fix bug #3526 found and diagnosed by corinna@vinschen.de.Jeremy Allison1-0/+2
trans2findfirst recognises two info levels *not* recognised by trans2findnext. Add them. Needed for 3.0.21c. Jeremy. (This used to be commit bcb87271d60acd4efe666dd061ea2c09b72fd497)
2007-10-10r13559: Fix bug #3522 reported by Sandeep Tamhankar ↵Jeremy Allison1-6/+0
<sandman@electric-cloud.com>. mkdir foo returns the wrong error message when file foo exists. Jeremy. (This used to be commit c8185e7f94cbcf2125bf0e84db02fb8d19111f60)
2007-10-10r13500: Fix ordering of FD_* arguments.James Peach1-10/+6
(This used to be commit ed619421de024c44f5f05b3c03bb5311ce73830f)