Ticket 47521 - Complex filter in a search request doen't work as expected.

Bug Description:  Before the search is executed there is the attempt to simplify filters.
	eg a filter like (&(&(a=x))(&(b=y))) it is reduced to (&(a=x)(b=y)).
	but if there is a simple filter between complex filters it is lost
	eg (&(&(a=x))(c=z)(&(b=y))) is also transformed to (&(a=x)(b=y)).

Fix Description:   if a simple filter is processed and there was a previous complex filter
	flattend, insert the simple filter properly

https://fedorahosted.org/389/ticket/47521

Reviewed by: richM, thanks
Ticket #47585 Replication Failures related to skipped entries due to cleaned rids

https://fedorahosted.org/389/ticket/47585
Reviewed by: nhosoi (Thanks!)
Branch: master
Fix Description: If a change was found in the changelog buffer that is
skipped due to having an unknown replica ID (rid), the entire buffer was
marked as CLC_STATE_NEW_RID.  When the buffer is exhausted and the iterator
code goes to read in the new buffer, it would not read in the new buffer
because it only loads a new buffer if the current buffer state is
CLC_STATE_READY.  I don't know why the entire buffer would be marked as
CLC_STATE_NEW_RID and stop iteration.  It seems to me that just the update
should be skipped, but new buffers should be loaded in order to keep sending
non-skipped updates to the consumer.
It is possible for a CSN with an unknown RID to get into the changelog if
the server with that RID had been removed by cleanruv/cleanallruv.  In that
case, the CSN should be skipped.  It is assumed that the change was already
sent - cleanallruv is supposed to wait until all known changes have been
seen before removing the RID from the RUV - so it is safe to skip it.
Added additional debugging, so that we can better tell why changelog entries
were skipped.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
Ticket 47541 - Replication of the schema may overwrite consumer 'attributetypes' even
                if consumer definition is a superset

Bug Description:  Need to check consumer attributetypes to make sure it doesn't get
                  overwritten if it is a superset.

Fix Description:  First, extended the attribute syntax struct to make it a double
                  linked list.  This allows us to easily look through all the attributeTypes.
                  Then check for supersets by looking at single vs multi-valued, and
                  syntax oid's.  Matching rules are not being evalauated at this time.

https://fedorahosted.org/389/ticket/47541

Reveiwed by: rmeggins(Thanks!)
Ticket 47541 - Fix Jenkins errors

Removed unused variables.

https://fedorahosted.org/389//ticket/47541
Revert "Ticket #47559 hung server - related to sasl and initialize"

This reverts commit da3e4aa40b04094d0e77052b894b0f0c335ea1ef.
Did not fix the problem, and made it worse in some cases
Ticket 47597 - Convert retro changelog plug-in to betxn

Retro cl plugin is already betxn aware.  The template and 20betxn.pl script
needed to be updated to reflect the new default.

https://fedorahosted.org/389/ticket/47597

Reviewed by: richm(Thanks!)
Ticket 47598 - Convert ldbm_back_seq code to be transaction aware

Description: Attempt to retrieve the transaction,  and pass it to the db
             functions, and id2entry.  Also did a little code cleanup.

https://fedorahosted.org/389/ticket/47598

Reviewed by: richm(Thanks!)
Ticket #47596 attrcrypt fails to find unlocked key

https://fedorahosted.org/389/ticket/47596
Reviewed by: nkinder (Thanks!)
Branch: master
Fix Description: There should always be a pre-authenticated slot/token that
has the servers cert and key.  Just loop through all of the slots that the
server's cert is found on, and use the first one that is authenticated.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
Ticket 47529 - Automember plug-in should treat MODRDN operations as ADD operations

Description:  After making the basic config checks, see if the entry applies to the
              automember configurations, and update appropriately.

https://fedorahosted.org/389/ticket/47529

Reviewed by: richm(Thanks!)
Ticket 47599 - Reduce lock scope in retro changelog plug-in

Description:  Change the "changenumber" type to PRUint64. All changes to the static
              changenumbers are now atomic by use of slapi_counters.

              We still need to do the locking in retrocl_po.c as we need to
              serialize the actual updates.

https://fedorahosted.org/389/ticket/47599

Reviewed by: richm(Thanks!!)
Revert "Ticket 47599 - Reduce lock scope in retro changelog plug-in"

Wrong branch was pushed.

This reverts commit d708fb290cf5d9be5efe6fd1096f63014ed265d3.
Ticket 47599 - Reduce lock scope in retro changelog plug-in

Description:  Use RW locks for protecting the change numbers.

              We still need to do the locking in retrocl_po.c as we need to
              serialize the actual updates.

https://fedorahosted.org/389/ticket/47599

Reviewed by: richm(Thanks!!)
Ticket #47605 CVE-2013-4485: DoS due to improper handling of ger attr searches

https://fedorahosted.org/389/ticket/47605
Reviewed by: nhosoi (Thanks!)
Branch: master
Fix Description: The traversal of the attr list looking for GER objectclasses
was modifying the same attribute twice, removing the "@" from it.  The second
time, since there was no "@" in the string, the strchr would return NULL, and
the code would not check for it.
The code was simplified and rewritten to use charray_merge_nodup
to build the gerattrs list with unique objectclass values, which I believe was
the intention of the original code.  I also added some error checking to look
for invalid attributes like "@name" "name@" and "name@name@name".
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
bump version to 1.3.3.a1
Ticket 47586 - CI tests: test case for 47490

Bug Description:
	It exists a some test cases for bug 47490. This bug is to
	implemented those test cases into with lib389.

Fix Description:
	The fix implements the following test cases:
		1 - Add OC_A to master
			=> schema replicated
		2 - Add OC_B to consumer
			=> schema NOT replicated
		3 - Add OC_B/OC_C to master
			=> schema replicated
		4 - Add MUST attr to OC_A on master
			=> schema replicated
		5 - Add MUST attr to OC_B on consumer and OC_D to master
			=> schema NOT replicated
		6 - Add MUST attr to OC_B on master
			=> schema replicated
		7 - Add MAY attr to OC_A on master
			=> schema replicated
		8 - Add MAY attr to OC_B on consumer and MAY attr on OC_D to master
			=> schema NOT replicated
		9 - Add MAY attr to OC_B on master
			=> schema not replicated

	It uses a py.fixture to create the topology for the module

https://fedorahosted.org/389/ticket/47586

Reviewed by: Roberto Polli, Rich Megginson (thanks you Roberto and Rich !!)

Platforms tested: F19 (jenkins)

Flag Day: no

Doc impact: no
Ticket 47525 - Allow memberOf to use an alternate config area

Description:  Added support for nsslapd-pluginConfigArea.  If this attribute is set
              the config settings in the plugin entry are ignored, and only the
              shared config entry will apply.

              Registered a preop plugin function to perform config validation on
              the shared config entry.  Then in the modify postop function we
              apply the changes.

https://fedorahosted.org/389/ticket/47525

Reviewed by: richm(Thanks!)
Ticket #381 Recognize compressed log files

https://fedorahosted.org/389/ticket/381
Reviewed by: mreynolds, tbordaz (Thanks!)
Branch: master
Fix Description: Add support for gzip, bzip2, and xz compressed files, based
on the file extension (.gz, .bz2, .xz).  Uses the perl module
IO::Uncompress and the IO::Uncompress::AnyUncompress class.
This also adds support for TAR archives and compressed TAR archives - any file
ending in .tar, .tar.bz2, .tar.gz, .tar.xz, .tgz, .tbz, and .txz.  This
uses the perl module Archive::Tar to unpack and read the files.
Caveats:
1) Assumes all of the regular files in the TAR archive are access logs -
archive members which are not plain files are skipped - results are
undefined if non-access log plain files are processed
2) Assumes the TAR archive members are in the correct order - that is,
the access logs are in date sequential order, with the file "access" last
3) No support for .zip files
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: yes
Ticket 47599 - Reduce lock scope in retro changelog plug-in

Description:  Forgot to add definition of retrocl_cn_lock

https://fedorahosted.org/389/ticket/47599

Reviewed by: richm(Thanks!!)
bump version to 1.3.3.a2
Ticket 47525 - Fix memory leak

Coverity 12411 reported memory leak.

https://fedorahosted.org/389/ticket/47525

Reviewed by: richm(Thanks!)