diff libpurple/protocols/msn/directconn.h @ 30039: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
line wrap: on
line diff
--- a/libpurple/protocols/msn/directconn.h	Sat Apr 24 02:29:34 2010 +0000
+++ b/libpurple/protocols/msn/directconn.h	Sat Apr 24 06:41:52 2010 +0000
@@ -53,6 +53,13 @@
 
 } MsnDirectConnProcessResult;
 
+typedef enum
+{
+	DC_NONCE_PLAIN,     /**< No hashing */
+	DC_NONCE_SHA1       /**< First 16 bytes of SHA1 of nonce */
+
+} MsnDirectConnNonceType;
+
 typedef struct _MsnDirectConnPacket MsnDirectConnPacket;
 
 struct _MsnDirectConnPacket {
@@ -71,9 +78,10 @@
 	char                *msg_body;  /**< The body of message sent by send_connection_info_msg_cb */
 	MsnSlpMessage       *prev_ack;  /**< The saved SLP ACK message */
 
-	guchar  nonce[16];          /**< The nonce used for direct connection handshake */
-	gchar   nonce_hash[37];     /**< The hash of nonce */
-	gchar   remote_nonce[37];   /**< The remote side's nonce */
+	MsnDirectConnNonceType nonce_type;         /**< The type of nonce hashing */
+	guchar                 nonce[16];          /**< The nonce used for handshake */
+	gchar                  nonce_hash[37];     /**< The hash of nonce */
+	gchar                  remote_nonce[37];   /**< The remote side's nonce */
 
 	PurpleNetworkListenData *listen_data;           /**< The pending socket creation request */
 	PurpleProxyConnectData  *connect_data;          /**< The pending connection attempt */