summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-09-04s3:smbd: Fix Coverity ID 937, REVERSE_INULLVolker Lendecke1-2/+2
2009-09-04s3:winbind: Fix Coverity ID 940: Resource LeakVolker Lendecke1-0/+1
2009-09-04ldb: ensure we cancel a ldb transactionAndrew Tridgell2-3/+9
When we fail a ldbadd or ldbedit we should cancel the transaction to prevent ldb giving a warning about having a open transaction in the ldb destructor
2009-09-04s4: fixed a missing NULL termination in a attribute list passed to ldb_searchAndrew Tridgell1-1/+1
2009-09-04report the location of the original talloc_free on double freeAndrew Tridgell1-11/+18
When we get a double free abort from talloc it is often hard to work out where the first free came from. This patch takes advantage of the fact that _talloc_free() now takes a location the free was called from to allow the double free abort code to print the location of the first free that conflicts.
2009-09-04wbinfo: fix various valgrind warnings and an invalid free.Günther Deschner1-7/+1
Kai, please check. Guenther
2009-09-04s3-ntlm_auth: fix two segfaults in diagnostics mode.Günther Deschner1-2/+2
Guenther
2009-09-03Hopefully last part of the fix for bug 6651 - smbd SIGSEGV when breaking ↵Jeremy Allison1-2/+2
oplocks. This one is subtle. There is a race condition where a signal can be queued for oplock break, and then the file can be closed by the client before the signal can be processed. Currently if this occurs we panic (we can't match an incoming signal fd with a fsp pointer). Simply log the error (at debug level 10 right now, might be too much) and then return without processing the break request. It looks like there is another race condition with this fix, but here's why it won't happen. If the signal was pending (caused by a kernel oplock break from a local file open), and the client closed the file and then re-opened another file which happened to use the same file descriptor as the file just closed, then theoretically the oplock break requests could be processed on the wrong fd. Here's why this should be very rare.. Processing a pending signal always take precedence over an incoming network request, so as long as the client close request is non-chained then the break signal should always be harmlessly processed *before* the open can be called. If the open is chained onto the close, and the fd on the new open is the same as the old closed fd, then it's possible this race will occur. However, all that will happen is that we'll lose the oplock on this file. A shame, but not a fatal event. Jeremy.
2009-09-03Another part of the fix for bug 6651 - smbd SIGSEGV when breaking oplocks.Jeremy Allison1-2/+6
SA_INFO_QUEUE_COUNT *MUST* be a power of 2, in order for the ring buffer wrap to work correctly at the 32 bit boundary. Thanks to Petr Vandrovec <petr@vandrovec.name> for this.
2009-09-03First attempt to implement dcesrv_drsuapi_DsGetNCChangesAnatoliy Atanasov1-1/+204
So far it returns the ctr6 responce without proper linked attributes support and metadata. A couple of improvements are the filter in the search uses '(uSNChanged>=N)', added extended dn search support, non-replicated attributes are excluded from the result.
2009-09-03Fix the dsdb_syntax_OID_ldb_to_drsuapi functionAnatoliy Atanasov1-1/+51
This replace the dsdb_syntax_FOOBAR_ldb_to_drsuapi function, which was left as a TODO code. Implementation in both added functions is completely identical and probably should differ in the future.
2009-09-03Ignoring generated files:Kamen Mazdrashki1-0/+2
libcli/smb/smb_common_proto.h source4/torture/ntp/proto.h
2009-09-03another large change to the linked_attribute moduleAndrew Tridgell1-20/+64
This one copes with deleted objects where linked attributes have been set on the module. We hit this when we do the ldb wipe at the start of a provision, which trigers linked attribute updates, but for objects that have disappeared. We need to ensure that the linked attribute updates only happen on the right object, and if the object gets re-created (as happens with a provision) then it is not the right object. To cope with this we record the GUID of the object when the operation that triggered the linked attribute update comes in, and then find the DN by suing that GUID when we apply the change in the prepare commit hook.
2009-09-03hook on prepare_commit instead of transaction_endAndrew Tridgell2-8/+11
This allows for safe transaction end aborts
2009-09-03greatly simplify the transaction processing in the partition moduleAndrew Tridgell1-51/+29
Now that ldb is calling prepare commit separately, the job of the partition module on transaction end is much simpler (and more robust!)
2009-09-03show more reasonable object counts during a vampireAndrew Tridgell1-4/+18
We now show the total number of objects we have processed, which gives the user a better idea of how much has been done. A vampire on a large domain can take an hour or more (which needs to be fixed btw, it is a problem with the lack of scalability of the ltdb index code). Watching the same msg for an hour makes you wonder if any progress is being made!
2009-09-03always use prepare_commit in ldb transaction commits if possibleAndrew Tridgell3-6/+51
The reason we need this is to make multi-tdb transactions safe, with the partition module. The linked_attributes and repl_meta_data modules now do extra processing when the transaction ends, and that processing can fail. When it fails we need to cancel the transaction, which we can only do if the hook is on the prepare commit instead of the end transaction call. Otherwise the partition module cannot ensure that no commit has been done on another partition.
2009-09-03added dsdb_find_guid_by_dn()Andrew Tridgell1-1/+21
This will be used by the linked_attribute module
2009-09-03allow setting of the debug level in python from CAndrew Tridgell3-2/+18
2009-09-03change repl_meta_data to process linked_attributes structures in end_transactionAndrew Tridgell1-4/+276
When running at functional level 2 or above, the repl_meta_data module can receive linked attribute structures from the repl replication task. These attributes can come through DRS before the associated objects have been created. To cope with this, we need to process linked attributes in the end_transaction hook.
2009-09-03fixed transaction handling in linked_attributes moduleAndrew Tridgell1-76/+4
We need to call down to the next transaction function when we finish in linked_attributes. This also changes linked_attributes to use the common dsdb_find_dn_by_guid() function
2009-09-03add the the linked attributes elements to the repl structureAndrew Tridgell2-1/+9
This exposes the linked_attributes to the repl_meta_data module
2009-09-03tell the server that we support linked attribute replicationAndrew Tridgell1-6/+1
2009-09-03added dsdb_find_dn_by_guid()Andrew Tridgell1-0/+78
This came from the linked_attributes module, but now the repl_meta_data module needs the same functionality, so move it to a common routine.
2009-09-03fix the ndr print routines for samba4Andrew Tridgell1-0/+15
This uses a hackish #if just for samba4. The proper fix is much more complex.
2009-09-03support config files in the current directoryAndrew Tridgell1-2/+7
2009-09-03Fix for DSSYNC test against Windows 2003Anatoliy Atanasov1-0/+1
2009-09-03s3:libsmb: Attempt to fix bug 6665Volker Lendecke1-0/+6
Before the async libsmb rewrites, we sent tid==0 on negprot. With the rewrite, we send 0xffff. This *should* not matter, but this is one difference in the sniffs I see.
2009-09-02s3-net: allow to exit "net rpc sh" with "q" as well.Günther Deschner1-1/+3
Guenther
2009-09-02s3-netlogon: use WERRORs in NETLOGON_INFO structures.Günther Deschner4-75/+35
Guenther
2009-09-02Do not redefine struprMatt Kraai2-0/+3
Signed-off-by: Günther Deschner <gd@samba.org>
2009-09-02s3-pdb_ldap: Fix bug #4296: Clean up group membership while deleting a user.Günther Deschner1-0/+46
Note that this only is tried with editposix=yes. Guenther
2009-09-02s4-smbtorture: test netr_ServerSetPassword2 against Samba3.Günther Deschner1-0/+1
Guenther
2009-09-02s3-netlogon: implement _netr_ServerPasswordSet2.Günther Deschner1-11/+55
Guenther
2009-09-02s3-netlogon: rework _netr_ServerPasswordSet.Günther Deschner1-62/+123
Guenther
2009-09-02show the full set of command line options for ldb toolsAndrew Tridgell5-29/+6
I always found it hard to remember some of the options. We might as well use popt to give us the full list
2009-09-02s3-netlogon: implement _netr_LogonSamLogonWithFlags().Günther Deschner1-18/+40
Guenther
2009-09-02traverse the ac list in reverse orderAndrew Tridgell1-1/+6
items are added to the linked attribute list using DLIST_ADD(), which means to commit them to the database in the same order they came from the server we need to walk the list backwards when we traverse it
2009-09-02repl_meta_data should only be included when we are a DCAndrew Tridgell1-1/+1
2009-09-02s4:dsdb rewrite the linked_atrributes code to commit in the end_transaction hookAndrew Tridgell1-107/+281
linked attribute changes can come in any order. This means it is possible for a forward link to come over the wire in DRS before the target even exists. To make this work this patch changed the linked attributes module to gather up all the changes it needs to make in a linked list, then execute the changes in the end_transaction hook for the module. During that commit phase we also fix up all the DNs that we got by searching for their GUID, as the objects may have moved after the linked attribute was sent, but before the end of the transaction
2009-09-02move the repl_meta_data module up the ldb module stackAndrew Tridgell1-1/+2
The repl_meta_data module needs to be above the linked_attributes module, to allow linked_attributes to do its magic
2009-09-02wrap the entire vampire operation in a transactionAndrew Tridgell1-13/+24
We want to grab the whole database, or none of it. This is also needed to get linked attributes right
2009-09-02use ldb_cmdline_help() in ldbsearchAndrew Tridgell2-8/+3
2009-09-02added ldb_cmdline_help()Andrew Tridgell1-29/+36
This allows the ldb tools to show their full command line options
2009-09-02add the partition_control control to replication requestsAndrew Tridgell1-0/+22
We know the partition DN from the DRS objects, we need to pass this down the modules below us to ensure they operate on the right partition
2009-09-02change the dsdb_control_current_partition to not include internal variablesAndrew Tridgell2-82/+88
This structures was used in two ways. In one way it held variables that are logically internal to the partition module, and in the other way it was used to pass the partition DN down to other modules. This change makes the structure contain just the dn which is being passed down. This change is part of the support for linked attributes. We will be passing this control down from above the partition module to force which partition a request acts upon. The partition module now only adds this control if it isn't already there.
2009-09-02don't allow two controls to be added with the same OIDAndrew Tridgell1-1/+7
Two controls with the same OID makes no sense, as they may have different data attached
2009-09-02Display ldif formatted versions of all DRS changes at log level 4Andrew Tridgell1-0/+18
This helps a lot with debugging the DRS replication code
2009-09-02Wrap DRS changes in a transactionAndrew Tridgell1-0/+18
We should always apply a whole set of DRS changes or none of them. See [MS-DRSR] 3.3.2
2009-09-02add a ref to the WSPP docsAndrew Tridgell1-0/+1