<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ds.git/lib, 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>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>Bug Description: Need to address 64-bit compiler warnings - part 1</title>
<updated>2008-10-08T17:29:05+00:00</updated>
<author>
<name>Rich Megginson</name>
<email>rmeggins@redhat.com</email>
</author>
<published>2008-10-08T17:29:05+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=b3797a8704696ed77b69a042e75ce5553e24b68b'/>
<id>b3797a8704696ed77b69a042e75ce5553e24b68b</id>
<content type='text'>
Reviewed by: nhosoi (Thanks!)
Fix Description: The intptr_t and uintptr_t are types which are defined as integer types that are the same size as the pointer (void *) type.  On the platforms we currently support, this is the same as long and unsigned long, respectively (ILP32 and LP64).  However, intptr_t and uintptr_t are more portable.  These can be used to assign a value passed as a void * to get an integer value, then "cast down" to an int or PRBool, and vice versa.  This seems to be a common idiom in other applications where values must be passed as void *.
For the printf/scanf formats, there is a standard header called inttypes.h which defines formats to use for various 64 bit quantities, so that you don't need to figure out if you have to use %lld or %ld for a 64-bit value - you just use PRId64 which is set to the correct value.  I also assumed that size_t is defined as the same size as a pointer so I used the PRIuPTR format macro for size_t.
I removed many unused variables and some unused functions.
I put parentheses around assignments in conditional expressions to tell the compiler not to complain about them.
I cleaned up some #defines that were defined more than once.
I commented out some unused goto labels.
Some of our header files shared among several source files define static variables.  I made it so that those variables are not defined unless a macro is set in the source file.  This avoids a lot of unused variable warnings.
I added some return values to functions that were declared as returning a value but did not return a value.  In all of these cases no one was checking the return value anyway.
I put explicit parentheses around cases like this: expr || expr &amp;&amp; expr - the &amp;&amp; has greater precedence than the ||.  The compiler complains because it wants you to make sure you mean expr || (expr &amp;&amp; expr), not (expr || expr) &amp;&amp; expr.
I cleaned up several places where the compiler was complaining about possible use of uninitialized variables.  There are still a lot of these cases remaining.
There are a lot of warnings like this:
lib/ldaputil/certmap.c:1279: warning: dereferencing type-punned pointer will break strict-aliasing rules
These are due to our use of void ** to pass in addresses of addresses of structures.  Many of these are calls to slapi_ch_free, but many are not - they are cases where we do not know what the type is going to be and may have to cast and modify the structure or pointer.  I started replacing the calls to slapi_ch_free with slapi_ch_free_string, but there are many many more that need to be fixed.
The dblayer code also contains a fix for https://bugzilla.redhat.com/show_bug.cgi?id=463991 - instead of checking for dbenv-&gt;foo_handle to see if a db "feature" is enabled, instead check the flags passed to open the dbenv.  This works for bdb 4.2 through bdb 4.7 and probably other releases as well.
Platforms tested: RHEL5 x86_64, Fedora 8 i386
Flag Day: no
Doc impact: no
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed by: nhosoi (Thanks!)
Fix Description: The intptr_t and uintptr_t are types which are defined as integer types that are the same size as the pointer (void *) type.  On the platforms we currently support, this is the same as long and unsigned long, respectively (ILP32 and LP64).  However, intptr_t and uintptr_t are more portable.  These can be used to assign a value passed as a void * to get an integer value, then "cast down" to an int or PRBool, and vice versa.  This seems to be a common idiom in other applications where values must be passed as void *.
For the printf/scanf formats, there is a standard header called inttypes.h which defines formats to use for various 64 bit quantities, so that you don't need to figure out if you have to use %lld or %ld for a 64-bit value - you just use PRId64 which is set to the correct value.  I also assumed that size_t is defined as the same size as a pointer so I used the PRIuPTR format macro for size_t.
I removed many unused variables and some unused functions.
I put parentheses around assignments in conditional expressions to tell the compiler not to complain about them.
I cleaned up some #defines that were defined more than once.
I commented out some unused goto labels.
Some of our header files shared among several source files define static variables.  I made it so that those variables are not defined unless a macro is set in the source file.  This avoids a lot of unused variable warnings.
I added some return values to functions that were declared as returning a value but did not return a value.  In all of these cases no one was checking the return value anyway.
I put explicit parentheses around cases like this: expr || expr &amp;&amp; expr - the &amp;&amp; has greater precedence than the ||.  The compiler complains because it wants you to make sure you mean expr || (expr &amp;&amp; expr), not (expr || expr) &amp;&amp; expr.
I cleaned up several places where the compiler was complaining about possible use of uninitialized variables.  There are still a lot of these cases remaining.
There are a lot of warnings like this:
lib/ldaputil/certmap.c:1279: warning: dereferencing type-punned pointer will break strict-aliasing rules
These are due to our use of void ** to pass in addresses of addresses of structures.  Many of these are calls to slapi_ch_free, but many are not - they are cases where we do not know what the type is going to be and may have to cast and modify the structure or pointer.  I started replacing the calls to slapi_ch_free with slapi_ch_free_string, but there are many many more that need to be fixed.
The dblayer code also contains a fix for https://bugzilla.redhat.com/show_bug.cgi?id=463991 - instead of checking for dbenv-&gt;foo_handle to see if a db "feature" is enabled, instead check the flags passed to open the dbenv.  This works for bdb 4.2 through bdb 4.7 and probably other releases as well.
Platforms tested: RHEL5 x86_64, Fedora 8 i386
Flag Day: no
Doc impact: no
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolves: #237040</title>
<updated>2007-11-30T18:07:56+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@redhat.com</email>
</author>
<published>2007-11-30T18:07:56+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=3f79ae7c5db6e2c2ce02dcc8724afce76b9ea710'/>
<id>3f79ae7c5db6e2c2ce02dcc8724afce76b9ea710</id>
<content type='text'>
Summary: Remove obsolete makefiles
Description: removing leftover makefiles in the lib directory
	./lib/base/Makefile ./lib/libaccess/Makefile
	./lib/libadmin/Makefile ./lib/libsi18n/Makefile
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: Remove obsolete makefiles
Description: removing leftover makefiles in the lib directory
	./lib/base/Makefile ./lib/libaccess/Makefile
	./lib/libadmin/Makefile ./lib/libsi18n/Makefile
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolves: #188320</title>
<updated>2007-10-18T00:08:38+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@redhat.com</email>
</author>
<published>2007-10-18T00:08:38+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=19cd513a509aa6e45361df774e74f2d39451e08a'/>
<id>19cd513a509aa6e45361df774e74f2d39451e08a</id>
<content type='text'>
Summary: HP-UX: warnings reported by the HP-UX compiler
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: HP-UX: warnings reported by the HP-UX compiler
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolves: #237356</title>
<updated>2007-04-27T23:48:08+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@redhat.com</email>
</author>
<published>2007-04-27T23:48:08+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=53c8d0a8f6b1fd1a52bc08dda160b977ca606006'/>
<id>53c8d0a8f6b1fd1a52bc08dda160b977ca606006</id>
<content type='text'>
Summary: Move DS Admin Code into Admin Server (Comment #9)
Description: Cleaning up unused code
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: Move DS Admin Code into Admin Server (Comment #9)
Description: Cleaning up unused code
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolves: #237356</title>
<updated>2007-04-27T23:00:24+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@redhat.com</email>
</author>
<published>2007-04-27T23:00:24+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=e230e448e4c38ae8725d39dc0157dc95f85aa4e9'/>
<id>e230e448e4c38ae8725d39dc0157dc95f85aa4e9</id>
<content type='text'>
Summary: Move DS Admin Code into Admin Server (Comment #4,#6)
Description:
.DSGW is already a separated module "dsgw"; Removing from ldapserver.
.Removing the independency from lib/libsi18n/gsslapd.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: Move DS Admin Code into Admin Server (Comment #4,#6)
Description:
.DSGW is already a separated module "dsgw"; Removing from ldapserver.
.Removing the independency from lib/libsi18n/gsslapd.h
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolves: #237356</title>
<updated>2007-04-27T22:16:54+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@redhat.com</email>
</author>
<published>2007-04-27T22:16:54+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=237aa2dcedfe62681e32905058af6c068d2958fb'/>
<id>237aa2dcedfe62681e32905058af6c068d2958fb</id>
<content type='text'>
Summary: Move DS Admin Code into Admin Server (Comment #3)
Description: Cleaning up NT code
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: Move DS Admin Code into Admin Server (Comment #3)
Description: Cleaning up NT code
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolves: #237040</title>
<updated>2007-04-19T17:54:45+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@redhat.com</email>
</author>
<published>2007-04-19T17:54:45+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=b22fcdfaf8c7d96826ddc75c2db0ba17e70112df'/>
<id>b22fcdfaf8c7d96826ddc75c2db0ba17e70112df</id>
<content type='text'>
Summary: Remove obsolete makefiles
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: Remove obsolete makefiles
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolves: #214533</title>
<updated>2006-11-10T23:46:05+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@redhat.com</email>
</author>
<published>2006-11-10T23:46:05+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=6679b0968981f8be7c33a7df2c30bb5146f3a6d3'/>
<id>6679b0968981f8be7c33a7df2c30bb5146f3a6d3</id>
<content type='text'>
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 &lt;config.h&gt;
+#endif
+
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;config.h&gt;
+#endif
+
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolves: #214728</title>
<updated>2006-11-10T01:42:39+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@redhat.com</email>
</author>
<published>2006-11-10T01:42:39+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=940762a8e91157028b4dd9e550499d0af6a3291c'/>
<id>940762a8e91157028b4dd9e550499d0af6a3291c</id>
<content type='text'>
Summary: Cleaning up obsolete macros in the build
Changes: eliminated macro MCC_HTTPD (Comment #14)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: Cleaning up obsolete macros in the build
Changes: eliminated macro MCC_HTTPD (Comment #14)
</pre>
</div>
</content>
</entry>
</feed>
