Julien; there are some interesting conclusions in this message. I'm looking at why mapiproxy gives me a DCERPC bind failure when I fill in the realm of the specified credentials.
Part of the reason is that when I fill in the realm, kerberos can be used. The other part of the reason is that kerberos fails; and I think the answer is in these two packets: Internet Protocol, Src: 10.42.0.139 (10.42.0.139), Dst: 10.42.0.1 (10.42.0.1) Transmission Control Protocol, Src Port: 14992 (14992), Dst Port: indigo-server (1176), Seq: 1449, Ack: 1, Len: 1178 DCE RPC Bind, Fragment: Single, FragLen: 2626, Call: 1 Version: 5 Version (minor): 0 Packet type: Bind (11) Packet Flags: 0x03 0... .... = Object: Not set .0.. .... = Maybe: Not set ..0. .... = Did Not Execute: Not set ...0 .... = Multiplex: Not set .... 0... = Reserved: Not set .... .0.. = Cancel Pending: Not set .... ..1. = Last Frag: Set .... ...1 = First Frag: Set Data Representation: 10000000 Byte order: Little-endian (1) Character: ASCII (0) Floating-point: IEEE (0) Frag Length: 2626 Auth Length: 2546 Call ID: 1 Max Xmit Frag: 5840 Max Recv Frag: 5840 Assoc Group: 0x00000000 Num Ctx Items: 1 Ctx Item[1]: ID:0 Context ID: 0 Num Trans Items: 1 Abstract Syntax: NSPI V56.0 Interface: NSPI UUID: f5cc5a18-4264-101a-8c59-08002b2f8426 Interface Ver: 56 Interface Ver Minor: 0 Transfer Syntax[1]: 8a885d04-1ceb-11c9-9fe8-08002b104860 V2 Transfer Syntax: 8a885d04-1ceb-11c9-9fe8-08002b104860 ver: 2 Auth type: SPNEGO (9) Auth level: Connect (2) Auth pad len: 0 Auth Rsrvd: 0 Auth Context ID: 1804289383 GSS-API Generic Security Service Application Program Interface OID: 1.3.6.1.5.5.2 (SPNEGO - Simple Protected Negotiation) SPNEGO negTokenInit mechTypes: 3 items Item: 1.2.840.48018.1.2.2 (MS KRB5 - Microsoft Kerberos 5) Item: 1.2.840.113554.1.2.2 (KRB5 - Kerberos 5) Item: 1.3.6.1.4.1.311.2.2.10 (NTLMSSP - Microsoft NTLM Security Support Provider) mechToken: 6E8209AC308209A8A003020105A10302010EA20703050020... krb5_blob: 6E8209AC308209A8A003020105A10302010EA20703050020... Kerberos AP-REQ Pvno: 5 MSG Type: AP-REQ (14) Padding: 0 APOptions: 20000000 (Mutual required) .0.. .... .... .... .... .... .... .... = Use Session Key: Do NOT use the session key to encrypt the ticket ..1. .... .... .... .... .... .... .... = Mutual required: MUTUAL authentication is REQUIRED Ticket Tkt-vno: 5 Realm: GALAXY.TEST.DBAMSYSTEMS.LOCAL Server Name (Service and Host): host/NOVA Name-type: Service and Host (3) Name: host Name: NOVA enc-part rc4-hmac Encryption type: rc4-hmac (23) Kvno: 3 enc-part: 698584C26468DF341CAB69BEDD44716634A2828C8BFEC2E0... Authenticator rc4-hmac Encryption type: rc4-hmac (23) Authenticator data: 27942591FDA2996D02B4D1947120C01EC6ED15E0295861C9... NOTE: that for kerberos it is trying to talk to NOVA which is the main DC and real mail server; but also note that theRfrGetNewDSA call returns machine "star.galaxy.test.dbamsystems.local" which is also a DC and used to be the mail server. Now in the response below note the failure: error_code: KRB5KRB_AP_ERR_MODIFIED (41) which (according to google) relates to the kerberos name in the response packet being for star.galaxy.dbamsystems.local Internet Protocol, Src: 10.42.0.1 (10.42.0.1), Dst: 10.42.0.139 (10.42.0.139) Transmission Control Protocol, Src Port: indigo-server (1176), Dst Port: 14992 (14992), Seq: 1, Ack: 2627, Len: 249 DCE RPC Bind_ack, Fragment: Single, FragLen: 249, Call: 1 Version: 5 Version (minor): 0 Packet type: Bind_ack (12) Packet Flags: 0x03 0... .... = Object: Not set .0.. .... = Maybe: Not set ..0. .... = Did Not Execute: Not set ...0 .... = Multiplex: Not set .... 0... = Reserved: Not set .... .0.. = Cancel Pending: Not set .... ..1. = Last Frag: Set .... ...1 = First Frag: Set Data Representation: 10000000 Byte order: Little-endian (1)rela Character: ASCII (0) Floating-point: IEEE (0) Frag Length: 249 Auth Length: 181 Call ID: 1 Max Xmit Frag: 5840 Max Recv Frag: 5840 Assoc Group: 0x00018a5e Scndry Addr len: 5 Scndry Addr: 1025 Num results: 1 Context ID[1] Ack result: Acceptance (0) Transfer Syntax: 8a885d04-1ceb-11c9-9fe8-08002b104860 Syntax ver: 2 Auth type: SPNEGO (9)rela Auth level: Connect (2) Auth pad len: 0 Auth Rsrvd: 0 Auth Context ID: 1804289383 GSS-API Generic Security Service Application Program Interface SPNEGO negTokenTarg negResult: accept-incomplete (1) supportedMech: 1.2.840.48018.1.2.2 (MS KRB5 - Microsoft Kerberos 5) responseToken: 60819406092A864886F71201020203007E8184308181A003... krb5_blob: 60819406092A864886F71201020203007E8184308181A003... KRB5 OID: 1.2.840.113554.1.2.2 (KRB5 - Kerberos 5) krb5_tok_id: KRB5_ERROR (0x0003) Kerberos KRB-ERROR Pvno: 5 MSG Type: KRB-ERROR (30) stime: 2009-04-02 15:46:49 (UTC) susec: 664879 error_code: KRB5KRB_AP_ERR_MODIFIED (41) Realm: GALAXY.TEST.DBAMSYSTEMS.LOCAL Server Name (Service and Host): host/star.galaxy.test.dbamsystems.local Name-type: Service and Host (3) Name: host Name: star.galaxy.test.dbamsystems.local In control-panel/Mail when I get the failure, it replaces the mapi-proxy name I inserted and replaces it with NOVA, the real mail server. [How did it know to do this?] BUT, if I tell mapiproxy that the next-hop binding should be star (returned by RfrGetNewDSA from nova) instead of nova (the real mail server) then I don't get the kerberos error and everything works absolutely fine! So I think one conclusion is that mapiproxy could perhaps follow the RfrGetNewDSA result for the binding? My network seemed to get this way because I moved the domain exchange server from one DC to another DC. The other question is how did Control-panel/Mail know to fallback to Nova (and why not star?) when the krb bind was failing? Sam _______________________________________________ devel mailing list devel@lists.openchange.org http://mailman.openchange.org/listinfo/devel