summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-06-11s3: Fix starving the echo responderVolker Lendecke1-0/+11
When both the echo responder and the 445 socket want to send stuff to the worker smbd, the select loop is not fair. It always chooses the smaller file descriptor to work on. This can mean that on a busy system the echo responder never gets around to feed its stuff to the parent. This fix chooses the async echo responder socket when both the 445 and the echo responder socket are readable. Yes, it is a very hackish fix which is required *now* I think. The proper fix would be to either assign priorities to fd's in tevent, or the from my point of view better fix would be to make tevent kindof round-robin. Round-robin would mean that whenever a fd has been dealt with, it is taken off the list of interested sockets, and only if no other socket is active, all of the ones waiting are put back. This is a bit like EPOLL_ONESHOT, which I would like to use for this in the epoll case. Although, I need to do some research if maybe epoll already guarantees round-robin, I did not find anything in the docs yet. Volker
2010-06-11s4:rootdse LDB module - use LDB result constantsMatthias Dieter Wallnöfer1-4/+5
2010-06-11s4:passwords.py - set the "dSHeuristics"Matthias Dieter Wallnöfer1-0/+33
As per Nadia's request and abartlet's suggestion the test now also sets the "dSHeuristics" attribute properly to be able to perform the tests also against Windows without further configuration. The code has the neat feature that it undoes the change and resets the behaviour as it was before.
2010-06-11s4:passwords.py - use "self" before "enable_account" to make really sure ↵Matthias Dieter Wallnöfer1-1/+1
which LDB connection should be used
2010-06-11s4:ldap.py - check how the directory server behaves when the ↵Matthias Dieter Wallnöfer1-2/+12
'distinguishedName' attribute wasn't set correctly (On add operations the server does completely ignore it and uses the "header" DN)
2010-06-11s4:ldap.py - check if the "name" of an entry was really ignoredMatthias Dieter Wallnöfer1-2/+7
2010-06-11ldb:ldb_sqlite3 backend - remove a warning which has already been resolvedMatthias Dieter Wallnöfer1-1/+0
2010-06-11ldb:ldb_sqlite3 backend - remove checks which are now done elsewhereMatthias Dieter Wallnöfer1-29/+0
(In SAMBA LDB modules)
2010-06-11Add missing stub functions.Jelmer Vernooij1-0/+9
2010-06-11s4-python: Fix formatting.Jelmer Vernooij7-133/+176
2010-06-11s3:rpc improve handles memory hierarchy and use better name.Simo Sorce3-81/+92
While there also cleanup the code a bit. Signed-off-by: Günther Deschner <gd@samba.org>
2010-06-11s4-smbtorture: rework internals of RPC-SPOOLSS-ACCESS testsuite.Günther Deschner1-71/+181
Guenther
2010-06-11s4/test: use test_libnet_context_init() function to create libnet_contextKamen Mazdrashki2-24/+23
This way we ensure that LIBNET call will be issued against the DC we are testing against
2010-06-11s4/test: fix SEGFAULT in test_group_create when rid is NULLKamen Mazdrashki1-1/+4
Caller of this function may not need group RID and in such case it passes NULL for rid parameter
2010-06-11s4/test-libnet: Helper func to initialize libnet_contextKamen Mazdrashki1-0/+54
and create rpc connections to SAMR and LSA pipes. This function should be used in cases where we need 'deterministic' connection to the DC we are testing against. The problem is that most of the test follow the pattern: 1. Connect to server supplied on command line 2. Create user/group through connection in 1. 3. Use 'fresh' libnet_context to query/alter the object in step 2. In singe-DC environment this work well. But in multiple-DC environment libnet may connect to another DC (step 3), not the one we use in step 1 and 2. This leads to false error - object created in step 2 is not found on DC we are querying in step 3.
2010-06-11s4/test: Call test_user_cleanup with original RDN for the userKamen Mazdrashki1-1/+1
'name' var is changed during the test execution and should contain samAccountName for the user, while test_user_cleanup() expects account RDN to be passed
2010-06-11s4/test: Fix incorrect NTSTATUS comparisonKamen Mazdrashki1-2/+2
In case group already exists, we should get NT_STATUS_GROUP_EXISTS.
2010-06-11s4/test: remove create/delete group implementation in API-CREATEGROUP testKamen Mazdrashki1-110/+3
We already have common implementation for create/delete group in libnet/utils.c
2010-06-11s4/test: Remove duplicated test_opendomain() functionalityKamen Mazdrashki1-54/+1
We already have a nice common test_domain_open() function in libnet/util.c
2010-06-11s4/test: libnet_user tests should use common test_user_cleanupKamen Mazdrashki1-129/+5
implementation instead of not-so-informative test_cleanup()
2010-06-11s4/test: Refactor test_user_cleanup to be more robustKamen Mazdrashki1-12/+84
We always call this function with user's account RDN while samr_LookupNames() searches for samAccountName.
2010-06-11s4/test: remove duplicated commentKamen Mazdrashki1-3/+0
2010-06-10s3:misc make use of server_[event/messaging]_context directlyAndreas Schneider5-15/+16
Untangle these functions from smbd specific dependencies so they can be freely used in multiple servers.
2010-06-10s3:winbindd use common server context functionsSimo Sorce5-55/+3
2010-06-10s3:lib make server contexts genericSimo Sorce6-30/+80
Pair-programmed-with: Andreas Schneider <asn@samba.org>
2010-06-10Fix the build in the non WITH_AIO case (sorry).Jeremy Allison1-0/+20
2010-06-10s3: readd h_errno struct member but rename itBjörn Jacke1-2/+2
as pointed out by metze this is a structure of fixed size, which should not be changed.
2010-06-10Since idtree assigns sequentially, it rarely reaches high numbers.Rusty Russell1-3/+5
But such numbers can be forced with idr_get_new_above(), and that reveals two bugs: 1) Crash in sub_remove() caused by pa array being too short. 2) Shift by more than 32 in _idr_find(), which is undefined, causing the "outside the current tree" optimization to misfire and return NULL.
2010-06-10Implement AIO in SMB2. Doesn't allow cancel calls yet (to be added).Jeremy Allison5-0/+351
Jeremy.
2010-06-10Ensure we correctly setup req->subreq before testing for async. Stops ↵Jeremy Allison1-4/+4
crashes when XX_send functions set async to stop interim replies being sent. Jeremy.
2010-06-10Don't use the autofree context for the globals. This causes child smbd's forkedJeremy Allison3-3/+19
by modules to crash due to destructors being called (found when using the vfs_aio_fork module with smb2). Jeremy.
2010-06-10s3:cleaunp reformatting for readabilitySimo Sorce1-85/+160
2010-06-10s3:cleanup remove trailing spacesSimo Sorce1-11/+11
2010-06-10s3: fix build on HP-UXBjörn Jacke1-1/+6
this struct member h_errno is not used in the HP-UX code paths, it was just there because Solaris has it, too. As h_errno is a function call macro on HP-UX when thread support is enabled we run into trouble here. Just commenting it out should be okay as we don't use it anyway.
2010-06-10s4:ldap.py - add testcase which demonstrates the reset of the "primaryGroupID"Matthias Dieter Wallnöfer1-0/+7
2010-06-10s4:samldb LDB module - fix up the case when the old and new "primaryGroupID" ↵Matthias Dieter Wallnöfer1-7/+7
are the same
2010-06-10s4:samldb LDB module - don't create multiple "ac" module contexts on modify ↵Matthias Dieter Wallnöfer1-12/+6
operations Since we do now run sequentially through all checks we don't need multiple "ac" contexts anymore.
2010-06-10s4:dcesrv_samr_Add/DeleteAliasMember - provide better NTSTATUS return codes ↵Matthias Dieter Wallnöfer1-6/+19
when something didn't work
2010-06-10s4:dcesrv_samr_GetAliasMembership - fix type of counter variablesMatthias Dieter Wallnöfer1-1/+2
2010-06-10s4:dcesrv_samr_DeleteAliasMember - add more braces to fit better the coding ↵Matthias Dieter Wallnöfer1-4/+6
styles
2010-06-10s4:dcesrv_samr_AddAliasMembership - Merge the two error blocks into oneMatthias Dieter Wallnöfer1-6/+3
2010-06-10s4:dcesrv_samr_Add/DelGroupMember - remove the account type checkMatthias Dieter Wallnöfer1-11/+10
MS-SAMR 3.1.5.8 speaks from accounts which are not necessarely only users.
2010-06-10s4:dcesrv_samr_AddGroupMember - also the error code ↵Matthias Dieter Wallnöfer1-0/+1
"LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS" is allowed This is returned when the group is the primary group of the specified entry.
2010-06-10s4:samba_dsdb LDB module - move the "objectclass_attrs" module backMatthias Dieter Wallnöfer1-1/+1
I think it should be lower in order to control also the "instanceType" module.
2010-06-10s4:ldap.py - add a test to demonstrate the 'instanceType' behaviourMatthias Dieter Wallnöfer1-0/+39
2010-06-10s4:instancetype LDB module - prevent all types of "instanceType" manipulationMatthias Dieter Wallnöfer1-0/+16
Also on Windows Server you aren't able to change it.
2010-06-10s3: Fix EnumDomainAliases when no aliases are in LDAPVolker Lendecke1-6/+4
We used to return NT_STATUS_ACCESS_DENIED, now we just return 0 entries, just like W2k8 does. usrmgr.exe was pretty unhappy with the NT_STATUS_ACCESS_DENIED
2010-06-10s3:pdb_ldap: fix bug 7505 - init_sam_from_ldap stores group in sid2uid cacheMichael Adam1-1/+1
2010-06-10s3: Add a dummy test to prove the maxfd calculationVolker Lendecke1-0/+43
To be run in a debugger, there's no way to inspect the internal tevent_select.c maxfd calculation
2010-06-10tevent: Fix maxfd calculation in tevent_selectVolker Lendecke1-1/+2
When doing fd1 = tevent_add_fd(ev, ev, 2, 0, NULL, NULL); fd2 = tevent_add_fd(ev, ev, 3, 0, NULL, NULL); TALLOC_FREE(fd2); fd2 = tevent_add_fd(ev, ev, 1, 0, NULL, NULL); we end up with select_ev->maxfd==1. This is wrong. An alternative fix might be to make select_ev->maxfd an unsigned int and make EVENT_INVALID_MAXFD==UINT_MAX. But in theory we might end up with an fd of UINT_MAX. std_event_add_fd() contains exactly the same piece of code, so I'm directly pushing it. Volker