Fix issue #372, Path from Milan Crha:
authorJulien Kerihuel <j.kerihuel@openchange.org>
Mon, 27 Feb 2012 13:56:01 +0000 (13:56 +0000)
committerJulien Kerihuel <j.kerihuel@openchange.org>
Mon, 27 Feb 2012 13:56:01 +0000 (13:56 +0000)
commit5b1af5dca3c1a64d878e308550fa0ea3f214c9e4
treea1b0a6673ebb6717d116df8f7011a77179f971b1
parent3b5028f29b2514ce5270921900a7c02fb0dd0abd
Fix issue #372, Path from Milan Crha:

Proposing to return enum MAPISTATUS from RfrGetNewDSA,
because not doing so hides network errors, because when
the server is unreachable, then this function returns NULL,
which is later used to build_binding_string, which also returns NULL,
thus the provider_rpc_connection returns status INVALID_ARGUMENT,
thus instead of correct MAPI_E_NETWORK_ERROR as a result of Logon()
caller receives MAPI_E_LOGON_FAILED, thus it's hard to distinguish what to do next,
because this can mean also that password is incorrect.

With unreachable server is returned NT_STATUS_OBJECT_NAME_NOT_FOUND,
which I added to the list of known codes to map to MAPI_E_NETWORK_ERROR.
libmapi/IMSProvider.c
libmapi/libmapi.h