comparison libpurple/protocols/msn/directconn.h @ 30459:a97d60c15e25

Support old-style Nonce, which should let us use direct connections to aMSN (or msn-pecan?) Refs #247.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sat, 24 Apr 2010 06:41:52 +0000
parents 4e532eedcab4
children 6936ffd13cb9
comparison
equal deleted inserted replaced
30458:1664d74b2e69 30459:a97d60c15e25
51 DC_PROCESS_FALLBACK, 51 DC_PROCESS_FALLBACK,
52 DC_PROCESS_CLOSE 52 DC_PROCESS_CLOSE
53 53
54 } MsnDirectConnProcessResult; 54 } MsnDirectConnProcessResult;
55 55
56 typedef enum
57 {
58 DC_NONCE_PLAIN, /**< No hashing */
59 DC_NONCE_SHA1 /**< First 16 bytes of SHA1 of nonce */
60
61 } MsnDirectConnNonceType;
62
56 typedef struct _MsnDirectConnPacket MsnDirectConnPacket; 63 typedef struct _MsnDirectConnPacket MsnDirectConnPacket;
57 64
58 struct _MsnDirectConnPacket { 65 struct _MsnDirectConnPacket {
59 guint32 length; 66 guint32 length;
60 guchar *data; 67 guchar *data;
69 MsnSlpLink *slplink; /**< The slplink using this direct connection */ 76 MsnSlpLink *slplink; /**< The slplink using this direct connection */
70 MsnSlpCall *slpcall; /**< The slpcall which initiated the direct connection */ 77 MsnSlpCall *slpcall; /**< The slpcall which initiated the direct connection */
71 char *msg_body; /**< The body of message sent by send_connection_info_msg_cb */ 78 char *msg_body; /**< The body of message sent by send_connection_info_msg_cb */
72 MsnSlpMessage *prev_ack; /**< The saved SLP ACK message */ 79 MsnSlpMessage *prev_ack; /**< The saved SLP ACK message */
73 80
74 guchar nonce[16]; /**< The nonce used for direct connection handshake */ 81 MsnDirectConnNonceType nonce_type; /**< The type of nonce hashing */
75 gchar nonce_hash[37]; /**< The hash of nonce */ 82 guchar nonce[16]; /**< The nonce used for handshake */
76 gchar remote_nonce[37]; /**< The remote side's nonce */ 83 gchar nonce_hash[37]; /**< The hash of nonce */
84 gchar remote_nonce[37]; /**< The remote side's nonce */
77 85
78 PurpleNetworkListenData *listen_data; /**< The pending socket creation request */ 86 PurpleNetworkListenData *listen_data; /**< The pending socket creation request */
79 PurpleProxyConnectData *connect_data; /**< The pending connection attempt */ 87 PurpleProxyConnectData *connect_data; /**< The pending connection attempt */
80 int listenfd; /**< The socket we're listening for incoming connections */ 88 int listenfd; /**< The socket we're listening for incoming connections */
81 guint listenfd_handle; /**< The timeout handle for incoming connection */ 89 guint listenfd_handle; /**< The timeout handle for incoming connection */