summaryrefslogtreecommitdiffstats
path: root/ldap/servers/plugins/replication
Commit message (Collapse)AuthorAgeFilesLines
...
* Resolves: 299361Nathan Kinder2007-09-201-6/+117
| | | | Summary: Handle initials and streetAddress attributes when doing a sync total update.
* Resolves: 242551Nathan Kinder2007-09-174-70/+110
| | | | Summary: Performance cleanup of sync code. Improve tombstone search performance.
* Resolves: 243227Nathan Kinder2007-09-125-61/+490
| | | | Summary: Handle syncing add opererations that have a ntuniqueid present.
* Resolves: bug 283041Rich Megginson2007-09-121-20/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Description: MMR: Directory updates on same object Reviewed by: nhosoi (Thanks!) Fix Description: The problem does appear to be concurrency. I think the original intention of the urp fixup code was that it should only be run inside the database lock, so that the database could be restored to a consistent state before the next operation was processed. However, this requires the database code to know when the database is already locked, so that if e.g. a modrdn operation needs to call an internal delete, the database should not be locked again. The flag OP_FLAG_REPL_FIXUP is used to denote both that the operation is such an internal operation, and that the database should not be locked again. There are a couple of cases where these operations can be called from outside of the database lock: urp_fixup_rename_entry is called from multimaster_postop_modrdn and multimaster_postop_delete, both of which are front end post op plugins, not called from within the database lock. Same with urp_fixup_delete_entry and urp_fixup_modify_entry. In other cases, such as urp_fixup_add_entry, and other places where urp_fixup_rename_entry and urp_fixup_modify_entry are called, they are called from a bepostop plugin function, which is called after the original database operation has been processed, within the database lock. So the solution appears to be to move the urp_* functions to the bepostop plugin functions. One of these functions does an internal search - urp_get_min_naming_conflict_entry - but it does not appear that search locks the database, so there was nothing to be done to make it "reentrant". Without this patch, I can crash the server in a matter of minutes (x86_64 rhel5) using the latest Fedora DS 1.1 code. With the patch, the server runs for several hours (maybe longer, I had to stop the test). Also, to really exercise the urp code, I added a rename operation between the add and delete e.g. add("ou=test"); rename("ou=test", "ou=test2"); delete("ou=test2"); The server still runs for several hours with no problems. Platforms tested: RHEL5 x86_64 Flag Day: no Doc impact: no
* Resolves: 207567Nathan Kinder2007-09-042-24/+5
| | | | Summary: Corrected search scope used to find entries to sync in winsync total update protocol.
* Resolves: 212671Nathan Kinder2007-08-301-2/+84
| | | | Summary: Handle syncing multi-valued street attribute to AD.
* Resolves: 207893Nathan Kinder2007-08-272-3/+65
| | | | Summary: Check if passwords are already hashed before sync'ing with AD.
* Resolves: 243221Nathan Kinder2007-08-232-15/+78
| | | | Summary: Trim initials attribute value when sync'ing to AD.
* Resolves: #243488Noriko Hosoi2007-06-112-14/+2
| | | | | | | | Summary: Use mozldap6 ldif_parse_line API Changes: 1) Removed ldif.h from the DS tree. 2) Eliminated the 5-th arg of ldif_parse_line (errmsg) and the errmsg related code.
* Resolves: #237040Noriko Hosoi2007-04-191-191/+0
| | | | Summary: Remove obsolete makefiles
* Resolves: 232050Noriko Hosoi2007-03-153-43/+186
| | | | | | | | Summary: Change format of DBVERSION and guardian files (Comment #6) 1) introduced new strings for DBVERSION 2) added the logic to compare the new DBVERSION strings note: we don't store the current db version string in the replication code any more. Instead, we get it from Berkeley DB header file db.h.
* Resolves: bug 228334Rich Megginson2007-02-121-2/+7
| | | | | | | | | Bug Description: Allow building with bdb 4.4 or later Reviewed by: nkinder (Thanks!) Fix Description: db.m4 already had code to detect and use the correct version of db headers and libraries. There have been some minor api changes since 4.3, so not much code changes were required. Note that this merely allows the server to build and run with db4.4 or later, not to take advantage of the newer features of the API. Platforms tested: FC7 Flag Day: no Doc impact: no
* Resolves: #216512Noriko Hosoi2006-11-211-5/+19
| | | | | Summary: replica initialization: random failure (Comment #1) Change: if acquire_replica is called for replica initialization, log REPLICA_BUSY.
* Resolves: bug 214851Rich Megginson2006-11-151-1/+22
| | | | | | | | | | | | | | | Bug Description: integrating db43 into ds70 Reviewed by: nkinder (Thanks!) Fix Description: I took the original diffs posted by Ulf and merged them in with our code which has changed slightly since the diffs were originally generated. I also put #if directives like the following: #if 1000*DB_VERSION_MAJOR + 100*DB_VERSION_MINOR >= 4300 ... db43 features ... #else ... db42 features ... #endif so that we can use both db42 and db43. Platforms tested: RHEL4/FC5 Flag Day: no Doc impact: no
* Resolves: #214533Noriko Hosoi2006-11-1082-0/+410
| | | | | | | | | | Summary: configure needs to support --with-fhs (Comment #6) Changes: Added the following include next to the end of the copyright block. + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif +
* Resolves: #214728Noriko Hosoi2006-11-101-1/+0
| | | | | Summary: Cleaning up obsolete macros in the build Changes: eliminated macro NSPR20 (Comment #9)
* Resolves: #210947Noriko Hosoi2006-10-251-1/+1
| | | | | Summary: parameterizing the hardcoded paths (phase 3. installed binaries, change log, setup) Comment #23
* Bug: 205456Rich Megginson2006-09-061-1/+1
| | | | | | Description: Enable DS Core build/install on HP-UX Fix Description: remove some bogus adminutil and nsdshttpd stuff from the plugin makefiles Reviewed by: nhosoi (Thanks!)
* 204517 - Cleaned up usage of ber_printf to use new ber typesNathan Kinder2006-09-013-7/+5
|
* 204517 - Use new ber types throughout the server code.Nathan Kinder2006-08-314-45/+47
|
* Bug(s) fixed: 186280Rich Megginson2006-04-119-42/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | Bug Description: ldapserver: Close potential security vulnerabilities in CGI code Reviewed by: Nathan, Noriko, and Pete (Thanks!) Fix Description: Clean up usage of sprintf, strcpy, fgets instead of gets, fixed buffer usage, etc., mostly in the CGI code and other user facing code (i.e. setup). Also, Steve Grubb told me about a GCC trick to force it to check printf style varargs functions, to check the format string against the argument string, for type mismatches, missing arguments, and too many arguments. In the CGI form argument parsing code, we needed to be more careful about checking for bad input - good input is supposed to look like this: name=value&name=value&..... &name=value. I don't think the original code was checking properly for something like name&name=value. There was another place where we were not checking to see if a buffer had enough room before appending a string to it. I had to change a couple of functions to allow passing in the size of the buffer. Fixed some issues raised by Noriko and Nathan. Platforms tested: RHEL4 Flag Day: no Doc impact: no QA impact: should be covered by regular nightly and manual testing New Tests integrated into TET: none
* 185811 - Missing const qualifiers were causing Windows compiler errorsNathan Kinder2006-03-201-4/+4
|
* Bug(s) fixed: 179135Rich Megginson2006-02-233-6/+10
| | | | | | | | | | | | | | | | | | | | | | | Bug Description: memory leaks using ber_scanf when handling bad BER packets Reviewed by: All (Thanks!) Files: https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=123783 Branch: HEAD Fix Description: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=179135#c0 I basically did a search through our code for all calls to ber_scanf, ber_get_stringa, and ber_get_stringal and made sure we properly free any arguments that may have been allocated. There was a bug in the ldapsdk https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=179135 that causes us to free uninitialized memory when trying to clean up the result of ber_get_stringal (or ber_scanf with 'V'). I had to initialize some variables to NULL so that we could properly clean them up, and added some additional clean ups that were missing. Also, in repl_extop.c, we were calling free on an array that we should have been calling ch_array_free on. Yet another lesson in the evils of slapi_ch_free and disabling compiler type checks in general. Platforms tested: Fedora Core 4 Flag Day: no Doc impact: no
* Bug(s) fixed: 181827Nathan Kinder2006-02-202-12/+80
| | | | | | | | | | | | | | | | | | Bug Description: If you delete an attribute from an entry on AD, the attribute doesn't get deleted on the DS side. The replication code doesn't even notice that the entry changed. Reviewed by: Rich, Noriko, Pete (thanks!) Files: see diffs Branch: HEAD, Directory71Branch Fix Description: The dirsync search control passes back deleted attributes with no values. If you try to add a Slapi_Attr with no values to a Slapi_Entry, it doesn't get added. This fix stuffs the deleted attributes into the deleted attributes list in the Slapi_Entry and checks for them when creating the modification operations to be performed on the local entry. Flag Day: no Doc impact: no QA impact: A regression test needs to be added New Tests integrated into TET: none
* The correct naming convention for RHEL isRich Megginson2006-02-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | RHEL4_x86_64_gcc3_OPT.OBJ The makefiles were assuming that if the string 86 was found in uname -m it should use x86 for the arch. However, it should only do this if uname -m is not x86_64. Also, for RHEL/Linux, we do not have to add the NS64TAG just before the _OPT (or _DBG) since it's already in the arch. Other platforms continue to use the other naming convention. The default naming convention for the mozilla components is Linux2.6_x86_64_glibc_PTH_64_OPT.OBJ. I considered using Wan-Teh's instructions about source builds, but that would cause many changes to be made to our makefiles, so I just changed the way we calculate the mozilla OBJDIR name from the regular OBJDIR name. These changes are pretty much the same for adminutil, setuputil, adminserver, and ldapserver. For ldapserver, I had to change nsarch (adminserver changed nsarch in a different way). I also got rid of the 32 bit specific setup stuff. I assume this was due to 32 bit NES admin server, so we can get rid of this for the future, because we will have all native 64 bit apps. I also went ahead and rolled in the gcc4 changes since they are safe for gcc3 as well.
* Bug(s) fixed: 180515Rich Megginson2006-02-081-1/+13
| | | | | | | | | | | | | | Bug Description: Chain BIND requests with chain on update + global pw policy Reviewed by: Nathan, Pete (Thanks!) Fix Description: When using global password policy, we need to chain the BIND request back to a master so that it can update the pw policy op attrs in the user's entry and replicate them to all other servers. The call to config_get_pw_is_global_policy() is expensive (acquires a lock) so we delay it as long as possible. The reason we have to use config_get_pw_is_global_policy() is because the entry distribution plugin interface is poor - we have no way to register an init or start function to get the config, and no way to register a statechange callback to be notified of changes to the global password policy. Platforms tested: Fedora Core 4 Flag Day: no Doc impact: no
* [176293] repl_chain_on_update() logs a message for every modify operationNoriko Hosoi2006-01-161-18/+26
| | | | Checking in Ulf's proposal; should not get connid from pid if the op is internal. (plus the value is just for debug print which is disabled now)
* 174550 - Fixed error message typoNathan Kinder2005-11-291-1/+1
|
* Cannot pass const strings into slapi_str2filter, since it can modifyFedoraDirSvr_20051103_RTCFedoraDirSvr10Rich Megginson2005-11-221-2/+4
| | | | | | | | | | the contents. I'm not sure why we haven't caught this earlier, but I believe it has something to do with the patch to make ds build on Fedora Core 4 with gcc4. To do that, we turn off the -fwriteable-strings argument to gcc. I suppose with it on, it moves those strings to some sort of writeable memory location. With it off, constant strings are definitely in the data section. There was one place in views that used a constant string, and a couple of places in the windows sync code.
* Bug(s) fixed: 172005Rich Megginson2005-10-291-1/+1
| | | | | | | | | | | | | Bug Description: Change ldapserver version to 1.0 Reviewed by: Noriko (Thanks!) Fix Description: This also fixes some lingering build issues involving perldap, which is no longer a separate setup package, but just gets included into DS in a similar manner to nspr, nss, etc. Platforms tested: RHEL4 Flag Day: no Doc impact: no QA impact: should be covered by regular nightly and manual testing New Tests integrated into TET: none
* 163064 - It appears that Active Directory has a problem where it allows ↵Nathan Kinder2005-10-271-2/+5
| | | | duplicate values for system-only multivalued attributes. This change just skips the dscorepropagationdata attibute when receiving a change from DirSync.
* also checkin fix for 170350 onto trunkRich Megginson2005-10-211-7/+29
|
* 170071 - Automatically add grouptype for new groups being synchd to NT4Nathan Kinder2005-10-201-0/+13
|
* 169954 - Moved illegal declaration to the top of code blockNathan Kinder2005-10-061-1/+3
|
* 169954 - Winsync initialization would hang with certain entries. Fixed ↵Nathan Kinder2005-10-061-2/+11
| | | | improper use of ldap_get_next.
* 169388 - Fixed attribute comparision helper function that was causing ↵Nathan Kinder2005-09-281-1/+1
| | | | certain changes to not get synched.
* Fix for #158253: add attributes to the exclusion list for fractional ↵David Boreham2005-05-202-0/+2
| | | | replication. Add an error string returned to clients if an illegal attribute is configured
* Only check the read only status of the consumer for the fractional case if ↵Rich Megginson2005-05-181-1/+2
| | | | the acquire process has been successful thus far.
* Correctly report in the repl agreement status attrs that the repl init ↵Rich Megginson2005-05-181-0/+1
| | | | failed when it failed due to attempting to do fractional replication to another master.
* Fix for 157919: perform fractional consumer check after acquiring the replicaDavid Boreham2005-05-171-16/+19
|
* Fix for #157901 : FMR in windows sync agreement codeDavid Boreham2005-05-161-1/+2
|
* Change NT4 case to send plaintext passwordsDavid Boreham2005-05-121-40/+56
|
* Bug(s) fixed: 157377Rich Megginson2005-05-111-1/+1
| | | | | | | | | | | Bug Description: RL16: Server core dumped while configuring replication agreements Reviewed by: David (Thanks!) Fix Description: The code for handling bad agreements was wrong. It was not returning the correct error code. The result of this is that the client did not receive an appropriate error code/message from the server. The reason for the core dump was that, even though the agreement was not created, the DSE entry was still there, causing the server to become very confused. Returning the correct error code causes the server to refuse to create the bad DSE entry. Platforms tested: RHEL3 Flag Day: no Doc impact: no QA impact: should be covered by regular nightly and manual testing New Tests integrated into TET: none
* Fix for #156449 : mangle 'street' attribute to defeat our schema aliasing it ↵David Boreham2005-05-093-3/+15
| | | | with 'streetaddress'
* Fix for 157021: server doesn't correctly process modifies to windows sync ↵David Boreham2005-05-063-26/+71
| | | | agreements
* Fix for #155591: treat an ruv with no min_csn as pristineDavid Boreham2005-05-063-1/+30
|
* Fix for #157020: convert unicode password to little-endian byte orderDavid Boreham2005-05-061-0/+16
|
* Fixes for windows syncDavid Boreham2005-05-053-16/+108
|
* Allow error on result side to propagate pack to sending sideDavid Boreham2005-05-041-18/+13
|
* Fix for the replication bug found in running reliability 16.Noriko Hosoi2005-05-021-0/+12
| | | | (checked in on behalf of dboreham)