<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://techblog.beretti.org/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>LDAP geek</title>
  <link>http://techblog.beretti.org/</link>
  <atom:link href="http://techblog.beretti.org/feed/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>en</language>
  <pubDate>Sat, 31 Jul 2010 07:27:44 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Lock table is out of available object entries</title>
    <link>http://techblog.beretti.org/post/2007/01/31/Lock-table-is-out-of-available-object-entries</link>
    <guid isPermaLink="false">urn:md5:72ece83b7920918bb851eae7424ccb56</guid>
    <pubDate>Wed, 31 Jan 2007 14:04:00 +0100</pubDate>
    <dc:creator>François</dc:creator>
        <category>Fedora-DS</category><category>LDAP</category>    
    <description>    &lt;p&gt;Today my Fedora Directory Server indices could not be updated anymore. Every
entry creation requiring an index modification (like adding an
&lt;code&gt;inetOrgPerson&lt;/code&gt; entry, requiring modifying the index of
&lt;code&gt;uid&lt;/code&gt; attribute) would fail with &amp;quot;operation error&amp;quot;. In the ns-slapd
logs there was this message:&lt;/p&gt;
&lt;pre&gt;
[31/Jan/2007:12:01:03 +0100] - libdb: Lock table is out of available object entries
[31/Jan/2007:12:01:03 +0100] - libdb: Lock table is out of available object entries
[31/Jan/2007:12:01:03 +0100] - idl_new.c BAD 50, err=12 Cannot allocate memory
[31/Jan/2007:12:01:03 +0100] - database index operation failed BAD 1130, err=12 Cannot allocate memory
[31/Jan/2007:12:01:03 +0100] - database index operation failed BAD 1140, err=12 Cannot allocate memory
[31/Jan/2007:12:01:03 +0100] - database index operation failed BAD 1230, err=12 Cannot allocate memory
[31/Jan/2007:12:01:03 +0100] - database index operation failed BAD 1030, err=12 Cannot allocate memory
[31/Jan/2007:12:01:03 +0100] - add: attempt to index 12 failed
&lt;/pre&gt;
&lt;p&gt;I tried to modify the &lt;code&gt;DB_CONFIG&lt;/code&gt; files since I was thinking of a
Berkeley DB configuration issue. In fact the problem seemed to be linked with
the presence of temporary data files in the &lt;code&gt;db/&lt;/code&gt; directory.&lt;/p&gt;
&lt;pre&gt;
[root@fedoracore6 slapd-fedoracore6]# ls db/
__db.001        __db.004        DBVERSION       NetscapeRoot/
__db.002        __db.005        guardian        userRoot/
__db.003        DB_CONFIG       log.0000000001
[root@fedoracore6 slapd-fedoracore6]# rm db/log.0000000001
[root@fedoracore6 slapd-fedoracore6]# rm db/__db.00*
&lt;/pre&gt;
&lt;p&gt;After a &lt;code&gt;restart-slapd&lt;/code&gt; the problem was solved.&lt;/p&gt;</description>
    
    
    
          <comments>http://techblog.beretti.org/post/2007/01/31/Lock-table-is-out-of-available-object-entries#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2007/01/31/Lock-table-is-out-of-available-object-entries#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/75744</wfw:commentRss>
      </item>
    
  <item>
    <title>Enabling TLS on a SUN One Directory Server Using OpenSSL</title>
    <link>http://techblog.beretti.org/post/2007/01/22/Enabling-TLS-on-a-SUN-One-Directory-Server-Using-OpenSSL</link>
    <guid isPermaLink="false">urn:md5:fe4dad6fbed1f3eafc220bc7b3e331db</guid>
    <pubDate>Mon, 22 Jan 2007 17:37:00 +0100</pubDate>
    <dc:creator>François</dc:creator>
        <category>LDAP</category><category>TLS</category>    
    <description>    &lt;p&gt;I use OpenSSL here for the certificate authority. SUN DS generate a server
certificate request, that is to be signed with OpenSSL (in my case).&lt;/p&gt;
&lt;p&gt;In SUN One DS administration console, open your LDAP server console, then
choose &amp;quot;Manage Certificates&amp;quot;. Choose a server if not already done, then
generate a server certificate request, using certificate information compatible
with your C.A. information (locality, country, etc.).&lt;/p&gt;
&lt;p&gt;Save it into a file and copy it in your OpenSSL &lt;code&gt;demoCA&lt;/code&gt;
directory under the name &lt;code&gt;newreq.pem&lt;/code&gt;. Edit the file to remove
unexpected lines that the SUN One console often add in the file.&lt;/p&gt;
&lt;p&gt;Then, launch:&lt;/p&gt;
&lt;pre&gt;
# /usr/lib/ssl/misc/CA.sh -sign
&lt;/pre&gt;
&lt;p&gt;This creates a file named &lt;code&gt;newcert.pem&lt;/code&gt;. Import it in the SUN One
console by choosing &amp;quot;Install...&amp;quot; in the &amp;quot;Manage Certificates&amp;quot; tool.&lt;/p&gt;</description>
    
    
    
          <comments>http://techblog.beretti.org/post/2007/01/22/Enabling-TLS-on-a-SUN-One-Directory-Server-Using-OpenSSL#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2007/01/22/Enabling-TLS-on-a-SUN-One-Directory-Server-Using-OpenSSL#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/72906</wfw:commentRss>
      </item>
    
  <item>
    <title>TLS Certificate Authority on Ubuntu Edgy (for OpenLDAP)</title>
    <link>http://techblog.beretti.org/post/2007/01/22/TLS-Certificate-Authority-on-Ubuntu-Edgy-for-OpenLDAP</link>
    <guid isPermaLink="false">urn:md5:b8b58ba480df3d091bb20c5b3e403b68</guid>
    <pubDate>Mon, 22 Jan 2007 09:30:00 +0100</pubDate>
    <dc:creator>François</dc:creator>
        <category>LDAP</category><category>TLS</category>    
    <description>    &lt;p&gt;Here are the steps to build a very simple CA with OpenSSL, to be used with
OpenLDAP:&lt;/p&gt;
&lt;h3&gt;Disable private keys ciphering&lt;/h3&gt;
&lt;p&gt;OpenLDAP (AFAIK) needs private keys to be in cleartext. Copy the OpenSSL
&lt;code&gt;CA.sh&lt;/code&gt; file in your working directory:&lt;/p&gt;
&lt;pre&gt;
# cp /usr/lib/ssl/misc/CA.sh CA-nodes.sh
&lt;/pre&gt;
&lt;p&gt;then modify it to add &lt;code&gt;-nodes&lt;/code&gt; in the &lt;code&gt;-newcert)&lt;/code&gt; and
&lt;code&gt;-newreq)&lt;/code&gt; sections:&lt;/p&gt;
&lt;pre&gt;
-newcert)
   # create a certificate
   $REQ -new -nodes -x509 -keyout newreq.pem -out newreq.pem $DAYS
   RET=$?
   echo &amp;quot;Certificate (and private key) is in newreq.pem&amp;quot;
   ;;
-newreq)
   # create a certificate request
   $REQ -new -nodes -keyout newreq.pem -out newreq.pem $DAYS
   RET=$?
   echo &amp;quot;Request (and private key) is in newreq.pem&amp;quot;
   ;;
&lt;/pre&gt;
&lt;h3&gt;Create the CA&lt;/h3&gt;
&lt;pre&gt;
# /usr/lib/ssl/misc/CA.sh -newca
&lt;/pre&gt;
&lt;h3&gt;Generate a server certificate request&lt;/h3&gt;
&lt;pre&gt;
# ./CA-nodes.sh -newreq
&lt;/pre&gt;
&lt;p&gt;Be sure to choose the &lt;acronym title=&quot;Fully Qualified Domain Name&quot;&gt;FQDN&lt;/acronym&gt; of your server as the &lt;code&gt;common
name&lt;/code&gt; of the certificate, the one that will be used from client
applications.&lt;/p&gt;
&lt;h3&gt;Sign the certificate request&lt;/h3&gt;
&lt;pre&gt;
# ./CA-nodes.sh -sign
&lt;/pre&gt;
&lt;h3&gt;Use the newly created certificate files&lt;/h3&gt;
&lt;p&gt;The certificate authority file is &lt;code&gt;./demoCA/cacert.pem&lt;/code&gt;. The
server certificate file is &lt;code&gt;newcert.pem&lt;/code&gt;. The server certificate key
file is &lt;code&gt;newkey.pem&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;
# mkdir /etc/ldap/tls
# cp newcert.pem /etc/ldap/tls/slapd-cert.pem
# cp newkey.pem /etc/ldap/tls/slapd-key.pem
# cp ./demoCA/cacert.pem /etc/ldap/tls/
&lt;/pre&gt;
&lt;p&gt;Modify OpenLDAP' &lt;code&gt;slapd.conf&lt;/code&gt; file to have the following
lines:&lt;/p&gt;
&lt;pre&gt;
TLSCACertificateFile    /etc/ldap/tls/cacert.pem
TLSCertificateFile      /etc/ldap/tls/slapd-cert.pem
TLSCertificateKeyFile   /etc/ldap/tls/slapd-key.pem
&lt;/pre&gt;
&lt;p&gt;You can then test your installation with:&lt;/p&gt;
&lt;pre&gt;
ldapsearch -x -ZZ -h 'your_server_FQDN' -b '' -s base
&lt;/pre&gt;</description>
    
    
    
          <comments>http://techblog.beretti.org/post/2007/01/22/TLS-Certificate-Authority-on-Ubuntu-Edgy-for-OpenLDAP#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2007/01/22/TLS-Certificate-Authority-on-Ubuntu-Edgy-for-OpenLDAP#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/72779</wfw:commentRss>
      </item>
    
  <item>
    <title>LDAP XPCOM for linux</title>
    <link>http://techblog.beretti.org/post/2006/12/06/LDAP-XPCOM-for-linux</link>
    <guid isPermaLink="false">urn:md5:c27b7e71e1a959f0c0eb8eea57d9a8ae</guid>
    <pubDate>Wed, 06 Dec 2006 09:44:00 +0100</pubDate>
    <dc:creator>François</dc:creator>
        <category>LDAP</category><category>Mozilla</category>    
    <description>    &lt;p&gt;I compiled LDAP XPCOM for Linux (see &lt;a href=&quot;http://techblog.beretti.org/post/2006/12/05/Using-LDAP-XPCom-with-standard-XULRunner&quot; hreflang=&quot;en&quot;&gt;Using LDAP XPCom with standard XULRunner&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mozldap.xpt&lt;/code&gt; and &lt;code&gt;libmozldap_stub.so&lt;/code&gt; must be copied
in the &lt;code&gt;components&lt;/code&gt; directory of your xul app.
&lt;code&gt;libmozldap.so&lt;/code&gt;, &lt;code&gt;libldap50.so&lt;/code&gt; and
&lt;code&gt;libprldap50.so&lt;/code&gt; must be copied in the &lt;code&gt;libraries&lt;/code&gt;
directory of your xul app.&lt;/p&gt;</description>
    
          <enclosure url="http://techblog.beretti.org/public/XUL/LDAP%20XPCOM%20binaries%20-%20Linux/libmozldap.so"
      length="54428" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/LDAP%20XPCOM%20binaries%20-%20Linux/libprldap50.so"
      length="14960" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/LDAP%20XPCOM%20binaries%20-%20Linux/libldap50.so"
      length="171308" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/LDAP%20XPCOM%20binaries%20-%20Linux/libmozldap_stub.so"
      length="6160" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/LDAP%20XPCOM%20binaries%20-%20Linux/mozldap.xpt"
      length="4838" type="text/plain" />
    
    
          <comments>http://techblog.beretti.org/post/2006/12/06/LDAP-XPCOM-for-linux#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2006/12/06/LDAP-XPCOM-for-linux#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/61435</wfw:commentRss>
      </item>
    
  <item>
    <title>Using LDAP XPCom with standard XULRunner</title>
    <link>http://techblog.beretti.org/post/2006/12/05/Using-LDAP-XPCom-with-standard-XULRunner</link>
    <guid isPermaLink="false">urn:md5:3c8fc5087c47cb6cb0182f7c56048432</guid>
    <pubDate>Tue, 05 Dec 2006 01:03:00 +0100</pubDate>
    <dc:creator>François</dc:creator>
        <category>LDAP</category><category>Mozilla</category>    
    <description>    &lt;p&gt;Now than we have &lt;a href=&quot;http://techblog.beretti.org/post/2006/12/03/Compiling-XulRunner-with-LDAP-support-on-Windows&quot; hreflang=&quot;en&quot;&gt;built LDAP components&lt;/a&gt;, the aim is to use it in a xulapp with
the standard XULRunner, which has not LDAP support enabled.&lt;/p&gt;
&lt;p&gt;The first idea is to copy mozldap.dll and mozldap.xpt (which can be found in
the &lt;code&gt;components&lt;/code&gt; directory of your LDAP-enabled-xulrunner package)
into the &lt;code&gt;components&lt;/code&gt; directory of your xulapp. The native LDAP SDK
dlls must also be copied. They can be found in the xulrunner root directory:
&lt;code&gt;nsldap32v50.dll&lt;/code&gt; and &lt;code&gt;nsldappr32v50.dll&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The tests I have made show that the interfaces published by the component
are read by xulrunner (example: &lt;code&gt;nsILDAPConnection&lt;/code&gt;). You can see it
by executing this js code:&lt;/p&gt;
&lt;pre&gt;
if (Components.interfaces.nsILDAPConnection)
{
  jsdump(&amp;quot;nsILDAPConnection available&amp;quot;);
}
&lt;/pre&gt;
&lt;p&gt;(I am using a simple jsdump function to log stuff in to the js console, as
explained here: &lt;a href=&quot;http://developer.mozilla.org/en/docs/Debugging_a_XULRunner_Application&quot; hreflang=&quot;en&quot;&gt;Debugging a XULRunner Application&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;But the LDAP components can't be loaded. You can see it by executing this js
code:&lt;/p&gt;
&lt;pre&gt;
if (Components.classes[&amp;quot;@mozilla.org/network/ldap-connection;1&amp;quot;])
{
  jsdump(&amp;quot;ldap-connection available&amp;quot;);
}
&lt;/pre&gt;
&lt;p&gt;This means that the LDAP dlls can't be loaded. Actually, this is perfectly
normal, since they are neither in the &lt;code&gt;xulrunner.exe&lt;/code&gt; directory, nor
in any directory of the system library path.&lt;/p&gt;
&lt;p&gt;The solution is described here: &lt;a href=&quot;http://developer.mozilla.org/en/docs/Using_Dependent_Libraries_In_Extension_Components&quot; hreflang=&quot;en&quot;&gt;Using Dependent Libraries In Extension Components&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As I did not want to have a stub dll named &lt;code&gt;bsmedberg_stub&lt;/code&gt; :-) I
changed the names. Here are the steps I followed:&lt;/p&gt;
&lt;p&gt;Create a subdirectory &lt;code&gt;extensions/ldapstub&lt;/code&gt; in the mozilla source
code directory, containing two files, &lt;code&gt;makefile.in&lt;/code&gt; and
&lt;code&gt;LDAPStubLoader.cpp&lt;/code&gt;. Those files are attached to this post.&lt;/p&gt;
&lt;p&gt;Then change your .mozconfig to add this line:&lt;/p&gt;
&lt;pre&gt;
ac_add_options --enable-extensions=ldapstub
&lt;/pre&gt;
&lt;p&gt;Then, build xulrunner by running:&lt;/p&gt;
&lt;pre&gt;
make -f client.mk build
&lt;/pre&gt;
&lt;p&gt;at the root of your mozilla directory.&lt;/p&gt;
&lt;p&gt;Repackage XULRunner by running:&lt;/p&gt;
&lt;pre&gt;
make -C xpinstall/packager
&lt;/pre&gt;
&lt;p&gt;and extract it somewhere.&lt;/p&gt;
&lt;p&gt;Now, create a subdirectory named &lt;code&gt;libraries&lt;/code&gt; in your xulapp
directory.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;in the &lt;code&gt;components&lt;/code&gt; directory, copy the &lt;code&gt;mozldap.xpt&lt;/code&gt;
and &lt;code&gt;ldapstub.dll&lt;/code&gt;, both found in the &lt;code&gt;components&lt;/code&gt;
directory of XULRunner.&lt;/li&gt;
&lt;li&gt;in the &lt;code&gt;libraries&lt;/code&gt; directory, copy the &lt;code&gt;mozldap.dll&lt;/code&gt;,
&lt;code&gt;nsldap32v50.dll&lt;/code&gt;, and &lt;code&gt;nsldappr32v50.dll&lt;/code&gt; files
(&lt;code&gt;mozldap.dll&lt;/code&gt; can be found in the &lt;code&gt;components&lt;/code&gt; directory
of XULRunner, while &lt;code&gt;nsldap32v50.dll&lt;/code&gt; and
&lt;code&gt;nsldappr32v50.dll&lt;/code&gt; can be found directly in the XULRunner
directory).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Delete your xulapp directory in your user profile, and restart your xulapp
with xulrunner. The LDAP components should be available.&lt;/p&gt;</description>
    
          <enclosure url="http://techblog.beretti.org/public/XUL/makefile.in"
      length="583" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/LDAPStubLoader.cpp"
      length="2070" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/LDAP%20XPCOM%20binaries%20-%20Windows/mozldap_stub.dll"
      length="5632" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/LDAP%20XPCOM%20binaries%20-%20Windows/mozldap.xpt"
      length="4838" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/LDAP%20XPCOM%20binaries%20-%20Windows/mozldap.dll"
      length="32768" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/LDAP%20XPCOM%20binaries%20-%20Windows/nsldappr32v50.dll"
      length="11264" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/LDAP%20XPCOM%20binaries%20-%20Windows/nsldap32v50.dll"
      length="139264" type="text/plain" />
    
    
          <comments>http://techblog.beretti.org/post/2006/12/05/Using-LDAP-XPCom-with-standard-XULRunner#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2006/12/05/Using-LDAP-XPCom-with-standard-XULRunner#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/61171</wfw:commentRss>
      </item>
    
  <item>
    <title>XULRunner with LDAP support for Linux</title>
    <link>http://techblog.beretti.org/post/2006/12/04/XULRunner-with-LDAP-support-for-Linux</link>
    <guid isPermaLink="false">urn:md5:5f19b415f188439bba01fdb8e74eb6ff</guid>
    <pubDate>Mon, 04 Dec 2006 14:28:00 +0100</pubDate>
    <dc:creator>François</dc:creator>
        <category>LDAP</category><category>Mozilla</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://techblog.beretti.org/public/XUL/xulrunner-1.8.0.4.en-US.linux-i686.tar.gz&quot;&gt;
XULRunner for Linux&lt;/a&gt;, compiled with Gtk2 and XFT (and LDAP), on an Ubuntu
Dapper Drake system (don't know if it will work on another system).&lt;/p&gt;</description>
    
          <enclosure url="http://techblog.beretti.org/public/XUL/xulrunner-1.8.0.4.en-US.linux-i686.tar.gz"
      length="7556835" type="application/x-gzip" />
    
    
          <comments>http://techblog.beretti.org/post/2006/12/04/XULRunner-with-LDAP-support-for-Linux#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2006/12/04/XULRunner-with-LDAP-support-for-Linux#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/60852</wfw:commentRss>
      </item>
    
  <item>
    <title>Compiling XulRunner with LDAP support on Windows</title>
    <link>http://techblog.beretti.org/post/2006/12/03/Compiling-XulRunner-with-LDAP-support-on-Windows</link>
    <guid isPermaLink="false">urn:md5:c2b62ed63ef25ce8e8d907c4696dd57f</guid>
    <pubDate>Sun, 03 Dec 2006 15:54:00 +0100</pubDate>
    <dc:creator>François</dc:creator>
        <category>LDAP</category><category>Mozilla</category>    
    <description>    &lt;p&gt;Here are the steps I followed to compile XULRunner on MS Windows (using
MSVC++7.1) with LDAP support enabled.&lt;/p&gt;
&lt;h3&gt;Prerequisites&lt;/h3&gt;
&lt;h4&gt;Cygwin&lt;/h4&gt;
&lt;p&gt;You need the Cygwin environment (a collection of GNU tools used by the build
process). Download the Cygwin installer at &lt;a href=&quot;ftp://ftp.osuosl.org/pub/cygwin/setup.exe&quot; title=&quot;ftp://ftp.osuosl.org/pub/cygwin/setup.exe&quot;&gt;ftp://ftp.osuosl.org/pub/cygwin/set...&lt;/a&gt;.
During the installation, choose the &amp;quot;DOS&amp;quot; style line ending. Install the
following packages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ash -- UNIX-like command line interpreter shell (Base category)&lt;/li&gt;
&lt;li&gt;coreutils -- GNU core utilities (includes fileutils, sh-utils, and
textutils) (Base category)&lt;/li&gt;
&lt;li&gt;diffutils -- file comparison utility (Base category)&lt;/li&gt;
&lt;li&gt;findutils (Base category)&lt;/li&gt;
&lt;li&gt;sed -- a search and replace language (Base category)&lt;/li&gt;
&lt;li&gt;grep -- text search tool (Base category)&lt;/li&gt;
&lt;li&gt;gawk -- pattern matching language (Base and Interpretors categories)&lt;/li&gt;
&lt;li&gt;perl -- a scripting language used to control parts of the build
(Interpreters category)&lt;/li&gt;
&lt;li&gt;patchutils -- a small collection of programs that operate on patch files
(Devel category)&lt;/li&gt;
&lt;li&gt;libiconv -- GNU character set conversion library and utilities (Devel
category)&lt;/li&gt;
&lt;li&gt;unzip -- zip file extraction (Archive category)&lt;/li&gt;
&lt;li&gt;zip -- zip file creation (Archive category)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;XULRunner 1.8.0.4 needs make 3.80, which is not available in the latest
Cygwin installer. You need to get it here: &lt;a href=&quot;http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2&quot; title=&quot;http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2&quot;&gt;http://cygwin.paracoda.com/release/...&lt;/a&gt;,
or from &lt;a href=&quot;http://techblog.beretti.org/public/make-3.80-1.tar.bz2&quot;&gt;my local copy&lt;/a&gt; if the link is
dead. To extract the archive, put it in your root cygwin directory, then launch
a Cygwin window (from the Cygwin icon on your desktop or in the start menu).
Then enter:&lt;/p&gt;
&lt;pre&gt;
cd /
tar xjvf make-3.80-1.tar.bz2
&lt;/pre&gt;
&lt;p&gt;This will install make 3.80 on your cygwin tree. You can check if everything
is ok by running &lt;code&gt;make -v&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;
$ make -v
GNU Make 3.80 
Copyright (C) 2002  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
&lt;/pre&gt;
&lt;p&gt;There is a conflict with the Cygwin linker and the MSVC linker, so you have
to rename the Cygwin linker, which can be found in
&lt;code&gt;%CYGWINBASE%\bin\link.exe&lt;/code&gt;. You can run in Cygwin:&lt;/p&gt;
&lt;pre&gt;
mv /bin/link.exe /bin/link-bak.exe
&lt;/pre&gt;
&lt;h4&gt;GLib and libIDL for VC7.1&lt;/h4&gt;
&lt;p&gt;You need GLib and libIDL compiled with your compiler. I found them here:
&lt;a href=&quot;http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc71/vc71-glib-1.2.10-bin.zip&quot;&gt;
GLib for VC7.1&lt;/a&gt; and &lt;a href=&quot;http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc71/vc71-libIDL-0.6.8-bin.zip&quot;&gt;
libIDL for VC7.1&lt;/a&gt;. Extract them in a directory not included in cygwin. For
example:&lt;/p&gt;
&lt;pre&gt;
C:\moztools-vc71bin\
&lt;/pre&gt;
&lt;p&gt;Make the DLLs executable, by running in Cygwin:&lt;/p&gt;
&lt;pre&gt;
chmod 755 /cygdrive/c/moztools-vc71bin/bin/*
&lt;/pre&gt;
&lt;h4&gt;Netscape Wintools&lt;/h4&gt;
&lt;p&gt;Netscape's Wintools is a collection of tools needed to build Mozilla
software on Windows. You can get it here: &lt;a href=&quot;http://ftp.mozilla.org/pub/mozilla.org/mozilla/source/wintools.zip&quot; title=&quot;http://ftp.mozilla.org/pub/mozilla.org/mozilla/source/wintools.zip&quot;&gt;http://ftp.mozilla.org/pub/mozilla....&lt;/a&gt;.
Extract the archive into a temporary directory, then install it using a
Microsoft command-line window (run &amp;quot;cmd&amp;quot; in the run dialog of the start
menu):&lt;/p&gt;
&lt;pre&gt;
set MOZ_TOOLS=C:\moztools
cd YOURTEMPDIR\buildtools\windows
install.bat
&lt;/pre&gt;
&lt;p&gt;Of course C:\moztools is my case, you can change it (it is created by the
&lt;code&gt;install.bat&lt;/code&gt; program if needed).&lt;/p&gt;
&lt;h3&gt;Get the Mozilla source&lt;/h3&gt;
&lt;p&gt;Get the xulrunner 1.8.0.4 source code here: &lt;a href=&quot;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.4/source/xulrunner-1.8.0.4-source.tar.bz2&quot; title=&quot;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.4/source/xulrunner-1.8.0.4-source.tar.bz2&quot;&gt;
ftp://ftp.mozilla.org/pub/mozilla.o...&lt;/a&gt;. Take care to extract it into a
directory not containing spaces in its path.&lt;/p&gt;
&lt;h3&gt;Configure the build process&lt;/h3&gt;
&lt;p&gt;Once you have extracted the source tarball, you have to configure the build
options. Create a file named .mozconfig at the root of the &amp;quot;mozilla&amp;quot; source
directory, and containing:&lt;/p&gt;
&lt;pre&gt;
. $topsrcdir/xulrunner/config/mozconfig
ac_add_options --enable-ldap
ac_add_options --disable-javaxpcom
&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;--enable-ldap&lt;/code&gt; enables LDAP support, and
&lt;code&gt;--disable-javaxpcom&lt;/code&gt; disables Java XPCom bridge, since it needs a
Java development environment, which I have not.&lt;/p&gt;
&lt;p&gt;Then, create a file initializing your build environment, named for example
env.cmd, and containing:&lt;/p&gt;
&lt;pre&gt;
rem --- Set HOME so that cvs and ssh work correctly
rem --- cvs uses HOME to locate your .cvspass file, and ssh to locate your .ssh file
rem --- if you are using ssh, your HOME should match the home directory specified in /etc/passwd. See http://www.cygwin.com/faq/faq0.html.
set HOME=C:\home

rem --- Set VCVARS to wherever the MSVC vcvars.bat file is found
set VCVARS=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\VCVARS32.BAT

rem --- Set MSSDK to wherever the MS SDK is installed
rem --- The separate SDK is only required for MSVC6
set MSSDK=C:\Program Files\Microsoft Platform SDK

rem --- Set MOZ_TOOLS to wherever you have the moztools packaged installed
set MOZ_TOOLS=C:\moztools

rem --- Set CYGWINBASE to wherever cygwin is installed
rem --- Do not use CYGWIN or else cygserver, cygrunsrv, and other cygwin services will not function properly.
rem --- The CYGWIN variable is also used to sort of change the behaviour of Cygwin.
set CYGWINBASE=C:\cygwin
rem --- Make sure Cygwin does not print out a DOS style path warning
set CYGWIN=nodosfilewarning

rem --- If you are using VC7 or VC7.1, you must set GLIB_PREFIX and LIBIDL_PREFIX
set GLIB_PREFIX=C:\moztools-vc71bin
set LIBIDL_PREFIX=C:\moztools-vc71bin

rem --- Prepend Cygwin path
rem --- This is necessary so that cygwin find is ahead of windows find.exe in the PATH, but cygwin link is  after MSVC link.exe.
rem PATH=%CYGWINBASE%\bin;%PATH%

rem --- Set MSVC environment vars
call &amp;quot;%VCVARS%&amp;quot;

rem --- Prepend SDK paths
rem --- Only required for MSVC6
set PATH=%MSSDK%\bin;%PATH%
set INCLUDE=%MSSDK%\include;%INCLUDE%
set LIB=%MSDDK%\lib;%LIB%

rem --- Add glib/libidl to build environment
rem --- Only needed for VC7 or 7.1
set PATH=%PATH%;%GLIB_PREFIX%;%GLIB_PREFIX%\bin
set INCLUDE=%GLIB_PREFIX%\include;%INCLUDE%
set LIB=%GLIB_PREFIX%\lib;%LIB%

rem -- moztools comes last after glib/libIDL
set PATH=%PATH%;%MOZ_TOOLS%\bin

rem --- Now the PATH variable contains:
rem MS-SDK; MSVC; Cygwin; Windows; glib/libIDL; Moztools

rem --- Typically the last thing the script does is launch a cygwin shell
rem --- WARNING: This may reset your carefully setup path! Check your /etc/profile and ~/.profile files.
bash --login -i
&lt;/pre&gt;
&lt;p&gt;Launch a Cygwin window. In the Cygwin environment, your C hard disk can be
found in the &lt;code&gt;/cygdrive/c/&lt;/code&gt; directory. Run your &lt;code&gt;env.cmd&lt;/code&gt;
script. Then move to your mozilla source directory. On my system it's:&lt;/p&gt;
&lt;pre&gt;
cd /cygdrive/c/mozilla-src/mozilla/
&lt;/pre&gt;
&lt;h3&gt;Build&lt;/h3&gt;
&lt;p&gt;You can launch the build by running:&lt;/p&gt;
&lt;pre&gt;
make -f client.mk build
&lt;/pre&gt;
&lt;p&gt;XULRunner is now being built. You can experience xpidl.exe crashes. In my
case, the reason was that I wasn't using the right Glib and libIDL DLL for my
compiler. Also, don't forget to make your GLib and libIDL executable.&lt;/p&gt;
&lt;h3&gt;Package&lt;/h3&gt;
&lt;p&gt;Now that you have built XULRunner, you can package it by running in the
mozilla directory:&lt;/p&gt;
&lt;pre&gt;
make -C xpinstall/packager
&lt;/pre&gt;
&lt;p&gt;This will create an archive of XULRunner in the &lt;code&gt;dist/&lt;/code&gt;
directory. That you can install on another computer. Here is mine: &lt;a href=&quot;http://techblog.beretti.org/public/XUL/xulrunner-1.8.0.4.en-US.win32.zip&quot; title=&quot;http://techblog.beretti.org/public/XUL/xulrunner-1.8.0.4.en-US.win32.zip&quot;&gt;http://techblog.beretti.org/public/...&lt;/a&gt;.&lt;/p&gt;</description>
    
          <enclosure url="http://techblog.beretti.org/public/XUL/env.cmd"
      length="2252" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/make-3.80-1.tar.bz2"
      length="286814" type="text/plain" />
          <enclosure url="http://techblog.beretti.org/public/XUL/xulrunner-1.8.0.4.en-US.win32.zip"
      length="6490028" type="application/zip" />
    
    
          <comments>http://techblog.beretti.org/post/2006/12/03/Compiling-XulRunner-with-LDAP-support-on-Windows#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2006/12/03/Compiling-XulRunner-with-LDAP-support-on-Windows#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/60690</wfw:commentRss>
      </item>
    
  <item>
    <title>Two strange errors using ADSI (solved, of course)</title>
    <link>http://techblog.beretti.org/post/2006/10/24/Two-strange-errors-using-ADSI-solved-of-course</link>
    <guid isPermaLink="false">urn:md5:568f3afc093fdf541ed926c3551d92da</guid>
    <pubDate>Tue, 24 Oct 2006 17:24:00 +0200</pubDate>
    <dc:creator>François</dc:creator>
            
    <description>    &lt;p&gt;0x8000500C when getting an attribute value&lt;/p&gt;
&lt;pre&gt;
=&amp;gt; delete %WINDOWS%\SchCache\*.sch file
&lt;/pre&gt;
&lt;p&gt;server down when calling ExecuteSearch&lt;/p&gt;
&lt;pre&gt;
=&amp;gt; invalid filter !
&lt;/pre&gt;</description>
    
    
    
          <comments>http://techblog.beretti.org/post/2006/10/24/Two-strange-errors-using-ADSI-solved-of-course#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2006/10/24/Two-strange-errors-using-ADSI-solved-of-course#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/41439</wfw:commentRss>
      </item>
    
  <item>
    <title>Visual Studio macro to build only the project containing the active file</title>
    <link>http://techblog.beretti.org/post/2006/09/12/Visual-Studio-macro-to-build-only-the-project-containing-the-active-file</link>
    <guid isPermaLink="false">urn:md5:589ccc6273ad0afcc14ef64d3e31e3e3</guid>
    <pubDate>Tue, 12 Sep 2006 11:46:00 +0200</pubDate>
    <dc:creator>François</dc:creator>
            
    <description>    &lt;p&gt;Here is the macro VB code :&lt;/p&gt;
&lt;pre&gt;
    Sub BuildCurrentProject()
        Dim MyProj As String
        Dim Solution As String
        Dim item As ProjectItem

        On Error Resume Next

        Solution = DTE.Solution.Properties.Item(&amp;quot;Name&amp;quot;).Value
        Projet = DTE.ActiveDocument.ProjectItem.ContainingProject.Name

        If Projet &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then
            DTE.Windows.Item(DTE.ActiveDocument.Name).Activate()
            DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
            DTE.ActiveWindow.Object.GetItem(Solution + &amp;quot;\&amp;quot; + Projet).Select(vsUISelectionType.vsUISelectionTypeSelect)
            DTE.ExecuteCommand(&amp;quot;Build.BuildOnlyProject&amp;quot;)
        End If

    End Sub
&lt;/pre&gt;</description>
    
    
    
          <comments>http://techblog.beretti.org/post/2006/09/12/Visual-Studio-macro-to-build-only-the-project-containing-the-active-file#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2006/09/12/Visual-Studio-macro-to-build-only-the-project-containing-the-active-file#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/29665</wfw:commentRss>
      </item>
    
  <item>
    <title>Be careful when using T2W or T2OLE</title>
    <link>http://techblog.beretti.org/post/2006/09/05/Be-careful-when-using-T2W-or-T2OLE</link>
    <guid isPermaLink="false">urn:md5:96470a30fcc7ac4c20d868b40a96d62f</guid>
    <pubDate>Tue, 05 Sep 2006 10:52:00 +0200</pubDate>
    <dc:creator>François</dc:creator>
        <category>ADSI</category><category>LDAP</category>    
    <description>    &lt;h3&gt;The problem&lt;/h3&gt;
&lt;p&gt;If you are using ADSI programming interface in your software in C++, you
probably do things like :&lt;/p&gt;
&lt;pre&gt;
USES_CONVERSION;
...
hr = pDSSearch-&amp;gt;ExecuteSearch(...);
hr = pDSSearch-&amp;gt;GetFirstRow(hSearch);
ADS_SEARCH_COLUMN scValue;
while (SUCCEEDED(hr) &amp;amp;&amp;amp; hr != S_ADS_NOMORE_ROWS)
{
        pDSSearch-&amp;gt;GetColumn(hSearch, T2W(_T(&amp;quot;objectClass&amp;quot;)), &amp;amp;scValue);
        ...
}
&lt;/pre&gt;
&lt;p&gt;If you are searching under a node that has thousands of children, you will
probably experience crashes, caused by stack overflow or memory corruption.&lt;/p&gt;
&lt;p&gt;This is explained on a &lt;a href=&quot;http://www.codeguru.com&quot; hreflang=&quot;en&quot;&gt;Code
Guru&lt;/a&gt; article: &lt;a href=&quot;http://www.codeguru.com/forum/showthread.php?t=337247&quot; hreflang=&quot;en&quot;&gt;ATL
String: What's wrong with the USES_CONVERSION macros? How to avoid using
them?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The problem is that USES_CONVERSION macros use _alloca, which allocate
memory on the stack.&lt;/p&gt;
&lt;p&gt;For example, on my system, this simple code crashes when m equals 44390:&lt;/p&gt;
&lt;pre&gt;
#include &amp;quot;stdafx.h&amp;quot;

#include &amp;lt;atlbase.h&amp;gt;

int _tmain(int argc, _TCHAR* argv[])
{
        
        USES_CONVERSION;
        LPWSTR lpszTmp = NULL;
        for (int m=0;m&amp;lt;400000;m++)
        {
                printf(&amp;quot;m: %d\n&amp;quot;, m);
                lpszTmp = T2W(_T(&amp;quot;objectClass&amp;quot;));
        }

        return 0;
}

&lt;/pre&gt;
&lt;p&gt;So when you use these macros, check that they shall not be executed in a big
loop.&lt;/p&gt;
&lt;h3&gt;The solution&lt;/h3&gt;
&lt;p&gt;If you want a safe way to convert strings from and to unicode using ATL, ATL
7.0 provides you with conversion classes, CT2W and CW2T.&lt;/p&gt;
&lt;pre&gt;
CT2W pszAttribute(_T(&amp;quot;objectClass&amp;quot;));
pDSSearch-&amp;gt;GetColumn(hSearch, pszAttribute, &amp;amp;scValue);
&lt;/pre&gt;
&lt;p&gt;This is a safe and simple way. Memory is not allocated on the stack anymore,
the CT2W class allocates it for you and frees it when the instance is
destroyed.&lt;/p&gt;</description>
    
    
    
          <comments>http://techblog.beretti.org/post/2006/09/05/Be-careful-when-using-T2W-or-T2OLE#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2006/09/05/Be-careful-when-using-T2W-or-T2OLE#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/27861</wfw:commentRss>
      </item>
    
  <item>
    <title>Using AjaxTerm on Ubuntu</title>
    <link>http://techblog.beretti.org/post/2006/08/21/Using-AjaxTerm-on-Ubuntu</link>
    <guid isPermaLink="false">urn:md5:13defd529a3efb06ce8791f218d03294</guid>
    <pubDate>Mon, 21 Aug 2006 10:58:00 +0200</pubDate>
    <dc:creator>François</dc:creator>
        <category>Geek</category>    
    <description>&lt;p&gt;&lt;a href=&quot;http://antony.lesuisse.org/qweb/trac/wiki/AjaxTerm&quot; hreflang=&quot;en&quot; title=&quot;AjaxTerm&quot;&gt;AjaxTerm&lt;/a&gt; is a python web server offering a terminal
emulator web application, which allows you to open a session on your server
when the only way you can access it is by HTTP (for example, if a firewall
prevents you from using SSH). Here is how to install it on Ubuntu.&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://antony.lesuisse.org/qweb/trac/wiki/AjaxTerm&quot; hreflang=&quot;en&quot; title=&quot;AjaxTerm&quot;&gt;AjaxTerm&lt;/a&gt; is a python web server offering a terminal
emulator web application, which allows you to open a session on your server
when the only way you can access it is by HTTP (for example, if a firewall
prevents you from using SSH).&lt;/p&gt;
&lt;h3&gt;Downloading and running AjaxTerm&lt;/h3&gt;
&lt;p&gt;Download the latest version on the &lt;a href=&quot;http://antony.lesuisse.org/qweb/trac/wiki/AjaxTerm&quot; hreflang=&quot;en&quot; title=&quot;AjaxTerm&quot;&gt;AjaxTerm website&lt;/a&gt;. Then uncompress the archive and just run the
ajaxterm.py executable file.&lt;/p&gt;
&lt;pre&gt;
wget http://antony.lesuisse.org/qweb/files/Ajaxterm-0.9.tar.gz
tar zxvf Ajaxterm-0.9.tar.gz
cd Ajaxterm-0.9
./ajaxterm.py
&lt;/pre&gt;
&lt;p&gt;AjaxTerm listen for new connection at &lt;a href=&quot;http://localhost:8022/&quot; hreflang=&quot;en&quot; title=&quot;AjaxTerm default listening address&quot;&gt;http://localhost:8022/&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Enabling secure remote access&lt;/h3&gt;
&lt;p&gt;If you want to allow remote access, the most secure way is to use the HTTP
proxy feature of Apache, and SSL.&lt;/p&gt;
&lt;p&gt;Install Apache2 web server, then enable the proxy and ssl modules :&lt;/p&gt;
&lt;pre&gt;
sudo cp /etc/apache2/mods-available/proxy.* /etc/apache2/mods-enabled/
sudo cp /etc/apache2/mods-available/ssl.* /etc/apache2/mods-enabled/
&lt;/pre&gt;
&lt;p&gt;Initialize SSL on Apache :&lt;/p&gt;
&lt;pre&gt;
sudo apache2-ssl-certificate
&lt;/pre&gt;
&lt;p&gt;Then configure your new host :&lt;/p&gt;
&lt;p&gt;sudo vi /etc/apache2/sites-availables/002-AjaxTerm&lt;/p&gt;
&lt;p&gt;In this file, write :&lt;/p&gt;
&lt;pre&gt;
Listen 443
NameVirtualHost *:443

&amp;lt;VirtualHost *:443&amp;gt;
   ServerName localhost
   SSLEngine On
   SSLCertificateKeyFile ssl/apache.pem
   SSLCertificateFile ssl/apache.pem

   ProxyRequests Off
   &amp;lt;Proxy *&amp;gt;
      Order deny,allow
      Allow from all
   &amp;lt;/Proxy&amp;gt;
   ProxyPass /ajaxterm/ http://localhost:8022/
   ProxyPassReverse /ajaxterm/ http://localhost:8022/
&amp;lt;/VirtualHost&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Replace 'localhost' in 'ServerName localhost' with the hostname of your web
server. Enable this host :&lt;/p&gt;
&lt;pre&gt;
sudo cp /etc/apache2/sites-availables/002-AjaxTerm /etc/apache2/sites-enabled/
&lt;/pre&gt;
&lt;p&gt;Then restart Apache 2 to check everything is ok. Youre web terminal emulator
is now ready. You can access it on &lt;a href=&quot;https://hostname/ajaxterm/&quot; hreflang=&quot;en&quot; title=&quot;Your AjaxTerm instance&quot;&gt;https://hostname/ajaxterm/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Remember than ajaxterm.py must be running every time you want to use it.&lt;/p&gt;</description>
    
    
    
          <comments>http://techblog.beretti.org/post/2006/08/21/Using-AjaxTerm-on-Ubuntu#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2006/08/21/Using-AjaxTerm-on-Ubuntu#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/25095</wfw:commentRss>
      </item>
    
  <item>
    <title>Configuring TLS on IBM Tivoli Directory Server 5.2</title>
    <link>http://techblog.beretti.org/post/2006/08/18/Configuring-TLS-on-IBM-Tivoli-Directory-Server-52</link>
    <guid isPermaLink="false">urn:md5:b45a19dfe88587741c7a19831f4a8131</guid>
    <pubDate>Fri, 18 Aug 2006 01:37:00 +0200</pubDate>
    <dc:creator>François</dc:creator>
        <category>GSKit</category><category>ITDS</category><category>LDAP</category><category>TLS</category>    
    <description>&lt;p&gt;I had diffculties to configure TLS on IBM Tivoli Directory Server, because
of the certificate manager provided with GSKit, that did not support .kdb files
used by ITDS. Here is some information on how to configure GSKit to handle .kdb
files, then how to use your newly created certificate with ITDS.&lt;/p&gt;    &lt;h2&gt;Configure GSKit to support .kdb files&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Check that GSKit 7a is installed&lt;/li&gt;
&lt;li&gt;Install the IBM JDK (for example, using the Eclipse development
package)&lt;/li&gt;
&lt;li&gt;Set the JAVA_HOME environment variable to this setup&lt;/li&gt;
&lt;li&gt;Delete the following files in JAVA_HOME/jre if they exist :
&lt;ul&gt;
&lt;li&gt;lib/ext/ibmjsse.jar&lt;/li&gt;
&lt;li&gt;lib/ext/gskikm.jar&lt;/li&gt;
&lt;li&gt;lib/ext/ibmjcaprovider.jar (the ‘a’ is important)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Check that the following files exist in JAVA_HOME/jre :
&lt;ul&gt;
&lt;li&gt;lib/ext/ibmjceprovider.jar&lt;/li&gt;
&lt;li&gt;lib/ext/ibmpkcs.jar (or ibmpkcs11.jar)&lt;/li&gt;
&lt;li&gt;lib/ibmjcefw.jar&lt;/li&gt;
&lt;li&gt;lib/ext/ibmjcefips.jar (optional - for FIPS support)&lt;/li&gt;
&lt;li&gt;lib/security/local_policy.jar&lt;/li&gt;
&lt;li&gt;lib/security/US_export_policy.jar&lt;/li&gt;
&lt;li&gt;lib/ibmpkcs11.jar (or ibmpkcs.jar)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Edit JAVA_HOME/jre/lib/security/java.security to add IBM CMS and IBM JCE
security providers, right after the SUN security provider. Examples :&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;
security.provider.1=sun.security.provider.Sun
security.provider.2=com.ibm.spi.IBMCMSProvider
security.provider.3=com.ibm.crypto.provider.IBMJCE
&lt;/pre&gt;
&lt;pre&gt;
security.provider.1=com.ibm.jsse.IBMJSSEProvider
security.provider.2=com.ibm.spi.IBMCMSProvider
security.provider.3=com.ibm.crypto.provider.IBMJCE
security.provider.2=com.ibm.crypto.provider.IBMJCE
security.provider.4=com.ibm.security.jgss.IBMJGSSProvider
security.provider.5=com.ibm.security.cert.IBMCertPath
&lt;/pre&gt;</description>
    
    
    
          <comments>http://techblog.beretti.org/post/2006/08/18/Configuring-TLS-on-IBM-Tivoli-Directory-Server-52#comment-form</comments>
      <wfw:comment>http://techblog.beretti.org/post/2006/08/18/Configuring-TLS-on-IBM-Tivoli-Directory-Server-52#comment-form</wfw:comment>
      <wfw:commentRss>http://techblog.beretti.org/feed/atom/comments/24697</wfw:commentRss>
      </item>
    
</channel>
</rss>