Hi All,

Attached is a patch of my work in progress in NSPI interface implementation.

Hereafter is a summary of changes I've made so far:

1. emsabp.c:emsabp_init() function uses 'ldb_wrap_connect()' to open .ldb 
databases. Primary motivation for this was to be able to handle extended 
syntaxes correctly (ldb_register_samba_handlers() should be called prior 
opening .ldb file)

2. emsabp.c: emsabp_get_server_GUID() function was a little bit reimplemented. 
The goal was to return the GUID of the current machine, i.e. the machine that 
actually implements NSPI interface. This GUID is to be found as 'objectGUID' 
attribute for "CN=NTDS Settings, 
CN=Servers,CN=Default-First-Site-Name,CN=Sites,&{CONFIGDN}" entry.

3. dcesrv_exchange_nsp.c:dcesrv_NspiDNToMId() changed to use 
'emsabp_ctx->ttdb_ctx' for caching. 
  emsabp.c:emsabp_search_legacyExchangeDN() function changed to search for 
'legacyExchangeDN' attribute in 'domain' partition as this where Exchange 
stores this information - in every mail-enabled user's entry. 
  TODO: I think we should change provisioning scripts to store this attribute 
in 'domain' partition rather than 'Configuration' partition (if it is not done 
yet). I will check this futher.

4. dcesrv_exchange_nsp.c: dcesrv_NspiGetProps() changed to comply to NSPI 
interface specification more closely (ref. [MS-NSPI].pdf - 3.1.4.7).
  Main points are:
    - in case Mid is nou found/invalid, function should behave as though no 
values are found for this Mid
    - should return ErrorsReturned if there is a requested property with no 
value (point 12.)

  emsabp.c: emsabp_fetch_attrs() altered to return MAPI_E_INVALID_BOOKMARK in 
case Mid is not found neither in ttdb_ctx nor in tdb_ctx. This way calling 
functions may recognize "Invalid Mid" without checking it explicitely.


I will continue sending patches for all of you to follow my progress (and 
review what and how is done ;)

Any reviews will be highly appreciated.


BR,
Kamen Mazdrashki
Software Engineer
kamen.mazdras...@postpath.com
CISCO SYSTEMS BULGARIA EOOD
18 Macedonia Blvd. Sofia 1606
Bulgaria
Cisco home page
 

Think before you print.


Attachment: 001_NSPI_Implementation_work_in_progress.patch
Description: Binary data

_______________________________________________
devel mailing list
devel@lists.openchange.org
http://mailman.openchange.org/listinfo/devel

Reply via email to