*/
-#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
/*
* support routine to get cpu speed
*/
-static unsigned long get_bogomips(void)
+static unsigned int get_bogomips(void)
{
FILE *fp;
char buffer[64], *p;
/*
* 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;
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;
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)
- {
- PERROR("crc not initialized, exitting...");
- exit(-1);
- }
+ FATAL("crc not initialized, exitting...");
while (len--)
crc = (crc >> 8) ^ crc32_table[(crc & 0xFF) ^ *data++];
CM_ST_NAMES
/* give name of state */
-static char *statename(int state)
+static const char *statename(int state)
{
if (state>=0 && state<cm_st_num)
return(cm_st_name[state]);
/* exit process */
apppbx->ea_endpoint->ep_use--;
- memset(args, 0, sizeof(struct auth_args));
- free(args);
+ FREE(args, sizeof(struct auth_args));
amemuse--;
return(NULL);
}
return;
}
- arg = (struct auth_args *)calloc(1, sizeof(struct auth_args));
- if (!arg)
- {
- PERROR("failed to alloc memory.\n");
- e_crypt_keyengine_return = -1;
- return;
- }
-
+ arg = (struct auth_args *)MALLOC(sizeof(struct auth_args));
arg->apppbx = this;
arg->job = job;
e_crypt_keyengine_return = 0;
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);
void EndpointAppPBX::cryptman_message(int message, unsigned char *param, int len)
{
- char *msgtext = "<<UNKNOWN MESSAGE>>";
+ const char *msgtext = "<<UNKNOWN MESSAGE>>";
if (message>=0 && message<cm_msg_num)
msgtext = cm_msg_name[message];
*/
void EndpointAppPBX::cryptman_msg2peer(unsigned char *buf)
{
- struct message *message;
+ struct lcr_msg *message;
unsigned char *p = buf;
int len = 0;
int l;
*/
void EndpointAppPBX::cryptman_msg2crengine(int msg, unsigned char *buf, int len)
{
- struct message *message;
+ struct lcr_msg *message;
if (len > (int)sizeof(message->param.crypt.data))
{
if (options.deb & DEBUG_CRYPT)
{
- char *msgtext = "<<UNKNOWN MESSAGE>>";
+ const char *msgtext = "<<UNKNOWN MESSAGE>>";
if (msg>=0 && msg<cm_msg_num)
msgtext = cm_msg_name[msg];
/* send message to user
*/
-void EndpointAppPBX::cryptman_msg2user(int msg, char *text)
+void EndpointAppPBX::cryptman_msg2user(int msg, const char *text)
{
- struct message *message;
+ struct lcr_msg *message;
/* send message */
- message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_call_id, EPOINT_TO_CALL, MESSAGE_CRYPT);
+ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_CRYPT);
message->param.crypt.type = msg;
if (!text)
text = "";
if (options.deb & DEBUG_CRYPT)
{
- char *msgtext = "<<UNKNOWN MESSAGE>>";
+ const char *msgtext = "<<UNKNOWN MESSAGE>>";
if (msg>=0 && msg<cm_msg_num)
msgtext = cm_msg_name[msg];
*/
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 */
void PmISDN::cryptman_listen_bch(unsigned char *p, int l)
{
int i;
- struct message *message;
+ struct lcr_msg *message;
retry:
if (!l)
*/
void EndpointAppPBX::encrypt_shared(void)
{
- struct message *message;
- char *errstr = "";
+ struct lcr_msg *message;
+ const char *errstr = "";
class Port *port;
int type, key_len;
unsigned char *key;
if (e_crypt != CRYPT_OFF)
{
PDEBUG(DEBUG_EPOINT, "EPOINT(%d) encryption in progress, so we request the current message.\n", ea_endpoint->ep_serial);
- message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_call_id, EPOINT_TO_CALL, MESSAGE_CRYPT);
+ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_CRYPT);
message->param.crypt.type = CU_INFO_REQ;
message_put(message);
return;
}
/* check the key for the call */
- if (port->p_type==PORT_TYPE_DSS1_TE_OUT || port->p_type==PORT_TYPE_DSS1_NT_OUT || port->p_type==PORT_TYPE_SIP_OUT)
- ret = parse_secrets((char *)e_terminal, (char *)port->p_dialinginfo.number, &auth_pointer, &crypt_pointer, &key_pointer);
+ if (port->p_type==PORT_TYPE_DSS1_TE_OUT || port->p_type==PORT_TYPE_DSS1_NT_OUT)
+ ret = parse_secrets((char *)e_ext.number, (char *)port->p_dialinginfo.id, &auth_pointer, &crypt_pointer, &key_pointer);
else
{
if (!port->p_callerinfo.id[0])
errstr = "No Remote ID";
goto reject;
}
- ret = parse_secrets((char *)e_terminal, (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)
{
// SPRINT(e_crypt_display, "Shared Key");
e_crypt = CRYPT_SWAIT;
/* sending activation */
- message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_call_id, EPOINT_TO_CALL, MESSAGE_CRYPT);
+ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_CRYPT);
message->param.crypt.type = CU_ACTS_REQ;
message->param.crypt.len = key_len;
memcpy(message->param.crypt.data, key, key_len);
*/
void EndpointAppPBX::encrypt_keyex(void)
{
- struct message *message;
- char *errstr = "";
+ struct lcr_msg *message;
+ const char *errstr = "";
class Port *port;
/* redisplay current crypt display */
if (e_crypt != CRYPT_OFF)
{
PDEBUG(DEBUG_EPOINT, "EPOINT(%d) encryption in progress, so we request the current message.\n", ea_endpoint->ep_serial);
- message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_call_id, EPOINT_TO_CALL, MESSAGE_CRYPT);
+ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_CRYPT);
message->param.crypt.type = CU_INFO_REQ;
message_put(message);
return;
message_put(message);
e_crypt = CRYPT_KWAIT;
/* sending activation */
- message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_call_id, EPOINT_TO_CALL, MESSAGE_CRYPT);
+ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_CRYPT);
message->param.crypt.type = CU_ACTK_REQ;
message_put(message);
#endif /* CRYPTO */
*/
void EndpointAppPBX::encrypt_off(void)
{
- struct message *message;
+ struct lcr_msg *message;
if (e_crypt!=CRYPT_ON && e_crypt!=CRYPT_OFF)
{
message_put(message);
e_crypt = CRYPT_RELEASE;
/* sending activation */
- message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_call_id, EPOINT_TO_CALL, MESSAGE_CRYPT);
+ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_CRYPT);
message->param.crypt.type = CU_DACT_REQ;
message_put(message);
}
*/
void EndpointAppPBX::encrypt_result(int msg, char *text)
{
- struct message *message;
+ struct lcr_msg *message;
switch(msg)
{
}
}
+