Mercurial > pidgin.yaz
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 */ |