chan_lcr: this fixes hanging with app_rxfax and a race condition
[lcr.git] / crypt.cpp
index 92f0c10..b43bcba 100644 (file)
--- a/crypt.cpp
+++ b/crypt.cpp
@@ -140,14 +140,10 @@ the message type is encoded as element
 
 */
 
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/types.h>
+#include "main.h"
 #ifdef CRYPTO
 #include <openssl/rsa.h>
 #endif
-#include "main.h"
 
 
 /* convert key string to binary key vector
@@ -210,7 +206,7 @@ unsigned char *crypt_key(unsigned char *key, int *binary_len)
 /*
  * support routine to get cpu speed
  */
-static unsigned long get_bogomips(void)
+static unsigned int get_bogomips(void)
 {
        FILE *fp;
        char buffer[64], *p;
@@ -248,9 +244,9 @@ static unsigned long get_bogomips(void)
 /*
  * crc 32 stuff
  */
-static unsigned long crc_reflect(unsigned long ref, char ch)
+static unsigned int crc_reflect(unsigned int ref, char ch)
 {
-       unsigned long value = 0;
+       unsigned int value = 0;
        int i;
 
        i = 1;
@@ -264,12 +260,12 @@ static unsigned long crc_reflect(unsigned long ref, char ch)
        return(value);
 }
 
-static unsigned long crc32_table[256];
+static unsigned int crc32_table[256];
 static int crc_initialized = 0;
 
 void crc_init(void)
 {
-       unsigned long ulPolynomial = 0x04c11db7;
+       unsigned int ulPolynomial = 0x04c11db7;
        int i, j;
 
        i = 0;
@@ -288,9 +284,9 @@ void crc_init(void)
        crc_initialized = 1;
 }
 
-unsigned long crc32(unsigned char *data, int len)
+unsigned int crc32(unsigned char *data, int len)
 {
-       unsigned long crc = 0xffffffff;
+       unsigned int crc = 0xffffffff;
 
        if (!crc_initialized)
                FATAL("crc not initialized, exitting...");
@@ -660,7 +656,7 @@ void EndpointAppPBX::cryptman_handler(void)
 void EndpointAppPBX::cr_ident(int message, unsigned char *param, int len)
 {
        unsigned char buf[4], *p;
-       unsigned long bogomips = 0, ran;
+       unsigned int bogomips = 0, ran;
        int l;
 
        l = CM_SIZEOFINF(CM_INFO_RANDOM);
@@ -1576,7 +1572,7 @@ void EndpointAppPBX::cryptman_timeout(int secs)
  */
 int cryptman_encode_bch(unsigned char *data, int len, unsigned char *buf, int buf_len)
 {
-       unsigned long crc;
+       unsigned int crc;
        int overhead = 18;
 
        len--; /* without null-termination */
@@ -1831,7 +1827,7 @@ void EndpointAppPBX::encrypt_shared(void)
                        errstr = "No Remote ID";
                        goto reject;
                }
-               ret = parse_secrets((char *)e_ext.number, (char *)numberrize_callerinfo(port->p_callerinfo.id, port->p_callerinfo.ntype), &auth_pointer, &crypt_pointer, &key_pointer);
+               ret = parse_secrets((char *)e_ext.number, (char *)numberrize_callerinfo(port->p_callerinfo.id, port->p_callerinfo.ntype, options.national, options.international), &auth_pointer, &crypt_pointer, &key_pointer);
        }
        if (!ret)
        {