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.



Attachment: 01_emsabp_get_server_GUID.patch
Description: Binary data

_______________________________________________
devel mailing list
[email protected]
http://mailman.openchange.org/listinfo/devel

Reply via email to