Hi, As I wrote in my "NSPI server implementation" post, I am to continue with patches to make NSPI implementation more generic.
According to MS docs, every NSPI server identifies itself with a Server GUID, which should be unique. Currently this is implemented in emsabp.c:emsabp_get_server_GUID() function. The problem with current implementation is it works as though current machine is both Domain controller and Exchange (mapi store) in the same time. I.e. it reads "objectGUID" from "CN=<NETBIOS_NAME>,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,<CONFIG_DN>". This entry exists only if current machine is MS Exchange Server also. I did a little research to find out how MS implementation determines what GUID to return. It turns out MS implementation for NSPI reads the guid from: "CN=NTDS Settings,CN=<NETBIOS_NAME>,CN=Servers,CN=Default-First-Site-Name,CN=Sites,<CONFIG_DN>" entry. Which perfectly make sense as such entry exists for servers with Domain Controller role (at least this is what I have found for this entry). And according to [MS-NSPI] docs, NSPI interface is implemented by Global Catalog, which should be a Domain Controller. So, I definitely think that this is the place we should looking for NSPI server GUID. The only concern I have is that Open Change team may want to support NSPI no matter what type of server we are running on? Any thoughts? Other places we may search for proper NSPI server GUID are: - "CN=<NETBIOS_NAME>,CN=Servers,CN=Default-First-Site-Name,CN=Sites,<CONFIG_DN>" - which may be found using filter "(&(objectClass=server)(cn=KMA-UB904))" - "CN=<NETBIOS_NAME>,CN=Computers,<DOMAIN_DN>" or "CN=<NETBIOS_NAME>,OU=Domain Controllers,<DOMAIN_DN>" - which may easily be found using filter like "(&(objectClass=computer)(cn=<NETBIOS_NAME>))" Attached is emsabp_get_server_GUID() implementation "the Microsoft way". Please review. BR, Kamen Mazdrashki Software Engineer Software Development [email protected] CISCO SYSTEMS BULGARIA EOOD 18 Macedonia Blvd. Sofia 1606 Bulgaria Cisco home page Think before you print.
01_emsabp_get_server_GUID.patch
Description: Binary data
_______________________________________________ devel mailing list [email protected] http://mailman.openchange.org/listinfo/devel
