[Freeswitch-svn] [commit] r3374 - in freeswitch/trunk/libs/libdingaling: . src
Freeswitch SVN
anthm at freeswitch.org
Tue Nov 14 19:15:39 EST 2006
Author: anthm
Date: Tue Nov 14 19:15:38 2006
New Revision: 3374
Modified:
freeswitch/trunk/libs/libdingaling/.update
freeswitch/trunk/libs/libdingaling/src/libdingaling.c
freeswitch/trunk/libs/libdingaling/src/sha1.c
freeswitch/trunk/libs/libdingaling/src/sha1.h
Log:
inherited 64bit bug curses to unsigned long
Modified: freeswitch/trunk/libs/libdingaling/.update
==============================================================================
--- freeswitch/trunk/libs/libdingaling/.update (original)
+++ freeswitch/trunk/libs/libdingaling/.update Tue Nov 14 19:15:38 2006
@@ -1 +1 @@
-Tue Oct 24 13:51:01 CDT 2006
+Tue Nov 14 19:14:29 EST 2006
Modified: freeswitch/trunk/libs/libdingaling/src/libdingaling.c
==============================================================================
--- freeswitch/trunk/libs/libdingaling/src/libdingaling.c (original)
+++ freeswitch/trunk/libs/libdingaling/src/libdingaling.c Tue Nov 14 19:15:38 2006
@@ -973,7 +973,7 @@
sha_context_t sha;
char *p;
int x;
- unsigned char digest[20];
+ unsigned char digest[20] = "";
SHA1Init(&sha);
@@ -995,9 +995,10 @@
switch (type) {
case IKS_NODE_START:
if (handle->state == CS_NEW) {
- char secret[256];
- char hash[256];
- char handshake[512];
+ char secret[256] = "";
+ char hash[256] = "";
+ char handshake[512] = "";
+
snprintf(secret, sizeof(secret), "%s%s", pak->id, handle->password);
sha1_hash(hash, secret);
snprintf(handshake, sizeof(handshake), "<handshake>%s</handshake>", hash);
Modified: freeswitch/trunk/libs/libdingaling/src/sha1.c
==============================================================================
--- freeswitch/trunk/libs/libdingaling/src/sha1.c (original)
+++ freeswitch/trunk/libs/libdingaling/src/sha1.c Tue Nov 14 19:15:38 2006
@@ -92,12 +92,12 @@
/* Hash a single 512-bit block. This is the core of the algorithm. */
-void SHA1Transform(unsigned long state[5], unsigned char buffer[64])
+void SHA1Transform(uint32_t state[5], unsigned char buffer[64])
{
-unsigned long a, b, c, d, e;
+uint32_t a, b, c, d, e;
typedef union {
unsigned char c[64];
- unsigned long l[16];
+ uint32_t l[16];
} CHAR64LONG16;
CHAR64LONG16* block;
#ifdef SHA1HANDSOFF
@@ -161,9 +161,9 @@
/* Run your data through this. */
-void SHA1Update(sha_context_t* context, unsigned char* data, unsigned int len)
+void SHA1Update(sha_context_t* context, unsigned char* data, uint32_t len)
{
-unsigned int i, j;
+uint32_t i, j;
j = (context->count[0] >> 3) & 63;
if ((context->count[0] += len << 3) < (len << 3)) context->count[1]++;
@@ -185,7 +185,7 @@
void SHA1Final(unsigned char digest[20], sha_context_t* context)
{
-unsigned long i, j;
+uint32_t i, j;
unsigned char finalcount[8];
for (i = 0; i < 8; i++) {
Modified: freeswitch/trunk/libs/libdingaling/src/sha1.h
==============================================================================
--- freeswitch/trunk/libs/libdingaling/src/sha1.h (original)
+++ freeswitch/trunk/libs/libdingaling/src/sha1.h Tue Nov 14 19:15:38 2006
@@ -41,15 +41,40 @@
}
#endif
+#undef inline
+#define inline __inline
+
+#ifndef uint32_t
+#ifdef WIN32
+typedef unsigned __int8 uint8_t;
+typedef unsigned __int16 uint16_t;
+typedef unsigned __int32 uint32_t;
+typedef unsigned __int64 uint64_t;
+typedef __int8 int8_t;
+typedef __int16 int16_t;
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned long in_addr_t;
+#else
+#include <limits.h>
+#include <inttypes.h>
+#include <sys/types.h>
+#include <inttypes.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <time.h>
+#endif
+#endif
+
typedef struct {
- unsigned long state[5];
- unsigned long count[2];
+ uint32_t state[5];
+ uint32_t count[2];
unsigned char buffer[64];
} sha_context_t;
-void SHA1Transform(unsigned long state[5], unsigned char buffer[64]);
+void SHA1Transform(uint32_t state[5], unsigned char buffer[64]);
void SHA1Init(sha_context_t* context);
-void SHA1Update(sha_context_t* context, unsigned char* data, unsigned int len);
+void SHA1Update(sha_context_t* context, unsigned char* data, uint32_t len);
void SHA1Final(unsigned char digest[20], sha_context_t* context);
#ifdef __cplusplus
More information about the Freeswitch-svn
mailing list