<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ds.git, branch basecleanup</title>
<subtitle>Unnamed repository; edit this file to name it for gitweb.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/'/>
<entry>
<title>Clean up compiler warnings</title>
<updated>2009-07-07T19:44:50+00:00</updated>
<author>
<name>Rich Megginson</name>
<email>rmeggins@redhat.com</email>
</author>
<published>2009-07-07T19:22:45+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=386ba57d421ee2d59a267d52d63bd88cbf20c435'/>
<id>386ba57d421ee2d59a267d52d63bd88cbf20c435</id>
<content type='text'>
This cleans up all of the compiler warnings produced with -Wall on RHEL/Fedora platforms.
The warnings about the %lld and %llu formats are still produced and cannot be helped.
Reviewed by: nkinder (Thanks!)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This cleans up all of the compiler warnings produced with -Wall on RHEL/Fedora platforms.
The warnings about the %lld and %llu formats are still produced and cannot be helped.
Reviewed by: nkinder (Thanks!)
</pre>
</div>
</content>
</entry>
<entry>
<title>OpenLDAP support</title>
<updated>2009-07-07T14:32:42+00:00</updated>
<author>
<name>Rich Megginson</name>
<email>rmeggins@redhat.com</email>
</author>
<published>2009-07-06T18:11:01+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=209521323f731daad54682fd98715f7b22c88c78'/>
<id>209521323f731daad54682fd98715f7b22c88c78</id>
<content type='text'>
These changes allow the server to be built with OpenLDAP (2.4.17+). A brief summary of the changes:
* #defines not provided by OpenLDAP were copied into slapi-plugin.h and protected with #ifndef blocks
* where it made sense, I created slapi wrapper functions for things like URL and LDIF processing to abstract way the differences in the APIs
* I created a new file utf8.c which contains the UTF8 functions from MozLDAP - this is only compiled when using OpenLDAP
* I tried to clean up the code - use the _ext versions of LDAP functions everywhere since the older versions should be considered deprecated
* I removed some unused code
NOTE that this should still be considered a work in progress since it depends on functionality not yet present in a released version of OpenLDAP, for NSS crypto and for the LDIF public API.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These changes allow the server to be built with OpenLDAP (2.4.17+). A brief summary of the changes:
* #defines not provided by OpenLDAP were copied into slapi-plugin.h and protected with #ifndef blocks
* where it made sense, I created slapi wrapper functions for things like URL and LDIF processing to abstract way the differences in the APIs
* I created a new file utf8.c which contains the UTF8 functions from MozLDAP - this is only compiled when using OpenLDAP
* I tried to clean up the code - use the _ext versions of LDAP functions everywhere since the older versions should be considered deprecated
* I removed some unused code
NOTE that this should still be considered a work in progress since it depends on functionality not yet present in a released version of OpenLDAP, for NSS crypto and for the LDIF public API.
</pre>
</div>
</content>
</entry>
<entry>
<title>509269 Simple paged result crashes/hangs the server</title>
<updated>2009-07-05T21:49:41+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@kiki.usersys.redhat.com</email>
</author>
<published>2009-07-05T21:49:41+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=3116dbec570b65d2d0a1df5bd000f6e63439e8ee'/>
<id>3116dbec570b65d2d0a1df5bd000f6e63439e8ee</id>
<content type='text'>
1) Commit 281f14adb012a54d8b10c9d51dbce6f5c6f3e549 was based on the wrong
   observation and testing.  Backing off the change.
2) Search result set is retrieved from pblock and used for simple paged results.
   When the search result set is released, the address stashed in pblock should
   have been set NULL not to access the address again.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1) Commit 281f14adb012a54d8b10c9d51dbce6f5c6f3e549 was based on the wrong
   observation and testing.  Backing off the change.
2) Search result set is retrieved from pblock and used for simple paged results.
   When the search result set is released, the address stashed in pblock should
   have been set NULL not to access the address again.
</pre>
</div>
</content>
</entry>
<entry>
<title>Bug: 509401 - dnaNextValue not updated when dnaMaxValue set to -1</title>
<updated>2009-07-02T15:49:52+00:00</updated>
<author>
<name>Nathan Kinder</name>
<email>nkinder@redhat.com</email>
</author>
<published>2009-07-02T15:49:52+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=fe97a63dcd53bedf7b06435f32630f419da1be79'/>
<id>fe97a63dcd53bedf7b06435f32630f419da1be79</id>
<content type='text'>
When "dnaMaxValue" is set to "-1" or omitted from a range configuration entry
(which defautls to "-1" internally), the "dnaNextValue" attribute is not
updated in the range configuration entry when a value is allocated from that
range.

We were only updating the configuration entry if the new nextvalue was &gt;=
the maxval plus the interval (1).  We need to check if the maxval is -1
specifically, and update the config entry if so.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When "dnaMaxValue" is set to "-1" or omitted from a range configuration entry
(which defautls to "-1" internally), the "dnaNextValue" attribute is not
updated in the range configuration entry when a value is allocated from that
range.

We were only updating the configuration entry if the new nextvalue was &gt;=
the maxval plus the interval (1).  We need to check if the maxval is -1
specifically, and update the config entry if so.
</pre>
</div>
</content>
</entry>
<entry>
<title>509269 Simple paged result crashes/hangs the server</title>
<updated>2009-07-01T22:59:27+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@kiki.usersys.redhat.com</email>
</author>
<published>2009-07-01T22:59:27+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=281f14adb012a54d8b10c9d51dbce6f5c6f3e549'/>
<id>281f14adb012a54d8b10c9d51dbce6f5c6f3e549</id>
<content type='text'>
There was a contention between the connection table cleanup thread (main)
and the search thread.  The cleanup code should have been protected by
the same mutex we do in the paged result code (c_mutex).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There was a contention between the connection table cleanup thread (main)
and the search thread.  The cleanup code should have been protected by
the same mutex we do in the paged result code (c_mutex).
</pre>
</div>
</content>
</entry>
<entry>
<title>506137 ns-slapd hang while group aci performance testing</title>
<updated>2009-06-26T22:18:09+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@kiki.usersys.redhat.com</email>
</author>
<published>2009-06-26T22:18:09+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=cb6e4b71b5544f35414be730d89ca66a944b8bba'/>
<id>cb6e4b71b5544f35414be730d89ca66a944b8bba</id>
<content type='text'>
Bug description: If a group has more than 32767 members (max short),
a variable 'n' declared as short overflows.  The value is used to calculate an
array size to store group member info, which memory is not properly allocated
and it ends up crashing up the server.

Fix description: Replaced the problematic short variable type with integer.
Plus, the each member info was storing a pointer pointing to an element inside
of the array.  When the array is "realloc"ed, it's possible for the addresses
to be relocated.  To solve the problem, the new code stores the index of array
instead of the address.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug description: If a group has more than 32767 members (max short),
a variable 'n' declared as short overflows.  The value is used to calculate an
array size to store group member info, which memory is not properly allocated
and it ends up crashing up the server.

Fix description: Replaced the problematic short variable type with integer.
Plus, the each member info was storing a pointer pointing to an element inside
of the array.  When the array is "realloc"ed, it's possible for the addresses
to be relocated.  To solve the problem, the new code stores the index of array
instead of the address.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add linked attributes plug-in.</title>
<updated>2009-06-25T21:28:56+00:00</updated>
<author>
<name>Nathan Kinder</name>
<email>nkinder@redhat.com</email>
</author>
<published>2009-06-25T21:28:56+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=04efbf04c46a84429c60bd6c624ab6282d9dd913'/>
<id>04efbf04c46a84429c60bd6c624ab6282d9dd913</id>
<content type='text'>
This patch implements a linked attribute plug-in.  Details of the
plug-in features and design are available on the 389 wiki at:

  http://directory.fedoraproject.org/wiki/Linked_Attributes_Design

In addition, I encountered a memory leak when testing the new plug-in
with valgrind.  There was a fix to the dse add code for a double free
a few months back, which causes a leak in certain situations.  This
previous fix was for bz#489763.  The proper thing to do is to make
the dse backend add function consume the passed in entry upon success
and leave it for the caller to deal with upon failure.  This is the
way the back-ldbm add function works.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch implements a linked attribute plug-in.  Details of the
plug-in features and design are available on the 389 wiki at:

  http://directory.fedoraproject.org/wiki/Linked_Attributes_Design

In addition, I encountered a memory leak when testing the new plug-in
with valgrind.  There was a fix to the dse add code for a double free
a few months back, which causes a leak in certain situations.  This
previous fix was for bz#489763.  The proper thing to do is to make
the dse backend add function consume the passed in entry upon success
and leave it for the caller to deal with upon failure.  This is the
way the back-ldbm add function works.
</pre>
</div>
</content>
</entry>
<entry>
<title>507460 Access log could mistakenly report notes=U for VLV searches</title>
<updated>2009-06-23T23:46:29+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@kiki.usersys.redhat.com</email>
</author>
<published>2009-06-23T23:46:29+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=6d6630452f742f46519ec16aac4d6943e62ae286'/>
<id>6d6630452f742f46519ec16aac4d6943e62ae286</id>
<content type='text'>
Summary: Access log reports 'notes=U' for VLV indexed searches if there are no records to be found
Fix Description: VLV creates an empty IDL if no matched entries are found.  To do so, VLV code was calling idl_alloc with argument 0, which generated ALLID.  It's changed to call idl_alloc with 1.  It creates a normal empty IDL.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: Access log reports 'notes=U' for VLV indexed searches if there are no records to be found
Fix Description: VLV creates an empty IDL if no matched entries are found.  To do so, VLV code was calling idl_alloc with argument 0, which generated ALLID.  It's changed to call idl_alloc with 1.  It creates a normal empty IDL.
</pre>
</div>
</content>
</entry>
<entry>
<title>504383 PCRE breaks SASL Mapping</title>
<updated>2009-06-23T20:51:14+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@kiki.usersys.redhat.com</email>
</author>
<published>2009-06-23T20:51:14+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=5c3eb36aaa05e9cd4eaa923e337d3b55cf584a39'/>
<id>5c3eb36aaa05e9cd4eaa923e337d3b55cf584a39</id>
<content type='text'>
Fix Description: unescape parenthesis in the regular expression.
E.g., ^u:\(.*\) ==&gt; ^u:(.*)
This unescape is necessary for the new regex code using PCRE
to keep the backward compatibility.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix Description: unescape parenthesis in the regular expression.
E.g., ^u:\(.*\) ==&gt; ^u:(.*)
This unescape is necessary for the new regex code using PCRE
to keep the backward compatibility.
</pre>
</div>
</content>
</entry>
<entry>
<title>initial commit of io function improvements</title>
<updated>2009-06-17T19:32:45+00:00</updated>
<author>
<name>Rich Megginson</name>
<email>rmeggins@redhat.com</email>
</author>
<published>2009-06-09T16:41:50+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=a3ac94486635d18bc2546a26e8ce9b633c2249ea'/>
<id>a3ac94486635d18bc2546a26e8ce9b633c2249ea</id>
<content type='text'>
This patch consolidates the functionality of read_function and secure_read_function into a single read_function that deals with NSPR PRFileDesc objects.  It does the same for write_function and secure_write_function.  Since there is only one write function, there is no need to push a separate secure read/write function to the lber layer - importing the prfd into ssl (SSL_ImportFd) does that.
I've also added some more debugging.
Reviewed by: nkinder (Thanks!)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch consolidates the functionality of read_function and secure_read_function into a single read_function that deals with NSPR PRFileDesc objects.  It does the same for write_function and secure_write_function.  Since there is only one write function, there is no need to push a separate secure read/write function to the lber layer - importing the prfd into ssl (SSL_ImportFd) does that.
I've also added some more debugging.
Reviewed by: nkinder (Thanks!)
</pre>
</div>
</content>
</entry>
</feed>
