<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
<blockquote cite="mid200512011726.03093.hartmut.woehrle@mail.pcom.de"
 type="cite">
  <pre wrap="">But what exactly happens at the NT PDC???
  </pre>
</blockquote>
This is documented a little in the admin guide:<br>
<a class="moz-txt-link-freetext" href="http://www.redhat.com/docs/manuals/dir-server/ag/7.1/sync.html#2859334">http://www.redhat.com/docs/manuals/dir-server/ag/7.1/sync.html#2859334</a><br>
<br>
quoting: <br>
<br>
<span
 style="color: rgb(0, 0, 0); font-style: normal; font-weight: bold; text-decoration: none; text-transform: none; vertical-align: baseline;">NT4
LDAP Service.</span>
This is a special LDAP server application that must be installed on the
primary domain controller for NT4 sync. It is only used for NT4 and is
not needed for Active Directory deployments. The purpose of the NT4
LDAP Service is to provide a similar view of users and groups as is
available via LDAP from Active Directory. This allows almost all of the
Directory Server Windows Sync code to be the same for both Active
Directory and NT4.<br>
<br>
How it works may give you some better insight:<br>
<br>
NT4, unlike AD, does not support LDAP. It does however have an API<br>
that allows an application running on the PDC to read and write the NTLM<br>
user database. This is called the 'NetXXX api' because many of the
functions<br>
have names like 'NetUserEnum()'.<br>
What the NTDS does is to 'reflect' that API as an LDAP <br>
server. It does this using ApacheDS (chosen because it gives us a
working<br>
LDAP server that can be quickly customized, and because it will run
without<br>
huge testing effort on an old platform like NT4), and a custom ApacheDS
back-end.<br>
The back-end provides a shim between the ApacheDS internal database
interface<br>
and the NetXXX api. It does this using a combination of C++ to talk
directly<br>
to the API, and then a swig-generated shim to JNI which in turn is
driven<br>
by a simple Java class in the custom back end.<br>
<br>
The top level goal for the NTDS is to 'emulate' AD on NT4.<br>
The idea was to code the winsync part of FDS to speak to<br>
AD alone, and do all the NT4 weirdness on the NT side.<br>
It turns out to be hard/impossible to do that 100% (some schema<br>
is quite different for example). So you will see some 'if (nt4) ... '<br>
code in FDS winsync, but not a whole lot.<br>
<br>
<br>
<br>
<br>
</body>
</html>