| @@ -0,0 +1,37 @@ | ||
| $OpenBSD$ | ||
| --- gw/msg-decl.h.orig Sat May 12 13:44:06 2012 | ||
| +++ gw/msg-decl.h Sun May 13 01:49:28 2012 | ||
| @@ -83,7 +83,7 @@ MSG(sms, | ||
| OCTSTR(receiver) | ||
| OCTSTR(udhdata) | ||
| OCTSTR(msgdata) | ||
| - INTEGER(time) | ||
| + TIME_T(time) | ||
| OCTSTR(smsc_id) | ||
| OCTSTR(smsc_number) | ||
| OCTSTR(foreign_id) | ||
| @@ -109,14 +109,14 @@ MSG(sms, | ||
| VOID(split_parts) | ||
| INTEGER(priority) | ||
| INTEGER(resend_try) | ||
| - INTEGER(resend_time) | ||
| + TIME_T(resend_time) | ||
| OCTSTR(meta_data) | ||
| }) | ||
|
|
||
| MSG(ack, | ||
| { | ||
| INTEGER(nack) | ||
| - INTEGER(time) | ||
| + TIME_T(time) | ||
| UUID(id) | ||
| }) | ||
|
|
||
| @@ -131,6 +131,7 @@ MSG(wdp_datagram, | ||
|
|
||
| #undef MSG | ||
| #undef INTEGER | ||
| +#undef TIME_T | ||
| #undef OCTSTR | ||
| #undef UUID | ||
| #undef VOID |
| @@ -0,0 +1,107 @@ | ||
| $OpenBSD$ | ||
| --- gw/msg.c.orig Sat May 12 13:44:06 2012 | ||
| +++ gw/msg.c Sun May 13 11:44:17 2012 | ||
| @@ -80,12 +80,12 @@ static void append_string(Octstr *os, Octstr *field); | ||
| static void append_uuid(Octstr *os, uuid_t id); | ||
|
|
||
| static int parse_integer(long *i, Octstr *packed, int *off); | ||
| +static int parse_time_t(time_t *i, Octstr *packed, int *off); | ||
| static int parse_string(Octstr **os, Octstr *packed, int *off); | ||
| static int parse_uuid(uuid_t id, Octstr *packed, int *off); | ||
|
|
||
| static char *type_as_str(Msg *msg); | ||
|
|
||
| - | ||
| /********************************************************************** | ||
| * Implementations of the exported functions. | ||
| */ | ||
| @@ -99,6 +99,7 @@ Msg *msg_create_real(enum msg_type type, const char *f | ||
|
|
||
| msg->type = type; | ||
| #define INTEGER(name) p->name = MSG_PARAM_UNDEFINED; | ||
| +#define TIME_T(name) p->name = MSG_PARAM_UNDEFINED; | ||
| #define OCTSTR(name) p->name = NULL; | ||
| #define UUID(name) uuid_generate(p->name); | ||
| #define VOID(name) p->name = NULL; | ||
| @@ -115,6 +116,7 @@ Msg *msg_duplicate(Msg *msg) | ||
| new = msg_create(msg->type); | ||
|
|
||
| #define INTEGER(name) p->name = q->name; | ||
| +#define TIME_T(name) p->name = q->name; | ||
| #define OCTSTR(name) \ | ||
| if (q->name == NULL) p->name = NULL; \ | ||
| else p->name = octstr_duplicate(q->name); | ||
| @@ -135,6 +137,7 @@ void msg_destroy(Msg *msg) | ||
| return; | ||
|
|
||
| #define INTEGER(name) p->name = 0; | ||
| +#define TIME_T(name) p->name = 0; | ||
| #define OCTSTR(name) octstr_destroy(p->name); | ||
| #define UUID(name) uuid_clear(p->name); | ||
| #define VOID(name) | ||
| @@ -157,6 +160,8 @@ void msg_dump(Msg *msg, int level) | ||
| debug("gw.msg", 0, "%*s type: %s", level, "", type_as_str(msg)); | ||
| #define INTEGER(name) \ | ||
| debug("gw.msg", 0, "%*s %s.%s: %ld", level, "", t, #name, (long) p->name); | ||
| +#define TIME_T(name) \ | ||
| + debug("gw.msg", 0, "%*s %s.%s: %ld", level, "", t, #name, (long) p->name); | ||
| #define OCTSTR(name) \ | ||
| debug("gw.msg", 0, "%*s %s.%s:", level, "", t, #name); \ | ||
| octstr_dump(p->name, level + 1); | ||
| @@ -186,6 +191,7 @@ Octstr *msg_pack(Msg *msg) | ||
| append_integer(os, msg->type); | ||
|
|
||
| #define INTEGER(name) append_integer(os, p->name); | ||
| +#define TIME_T(name) append_integer(os, p->name); | ||
| #define OCTSTR(name) append_string(os, p->name); | ||
| #define UUID(name) append_uuid(os, p->name); | ||
| #define VOID(name) | ||
| @@ -221,6 +227,8 @@ Msg *msg_unpack_real(Octstr *os, const char *file, lon | ||
|
|
||
| #define INTEGER(name) \ | ||
| if (parse_integer(&(p->name), os, &off) == -1) goto error; | ||
| +#define TIME_T(name) \ | ||
| + if (parse_time_t(&(p->name), os, &off) == -1) goto error; | ||
| #define OCTSTR(name) \ | ||
| if (parse_string(&(p->name), os, &off) == -1) goto error; | ||
| #define UUID(name) \ | ||
| @@ -248,17 +256,6 @@ error: | ||
| } | ||
|
|
||
|
|
||
| -/* | ||
| - * Wrapper function needed for function pointer forwarding to storage | ||
| - * subsystem. We can't pass the msg_unpack() pre-processor macro, so we | ||
| - * need to wrapp a function arround it. | ||
| - */ | ||
| -inline Msg *msg_unpack_wrapper(Octstr *os) | ||
| -{ | ||
| - return msg_unpack(os); | ||
| -} | ||
| - | ||
| - | ||
| /********************************************************************** | ||
| * Implementations of private functions. | ||
| */ | ||
| @@ -307,6 +304,21 @@ static int parse_integer(long *i, Octstr *packed, int | ||
| return 0; | ||
| } | ||
|
|
||
| +static int parse_time_t(time_t *i, Octstr *packed, int *off) | ||
| +{ | ||
| + unsigned char buf[sizeof(time_t)]; | ||
| + | ||
| + gw_assert(*off >= 0); | ||
| + if (*off + sizeof(time_t) > octstr_len(packed)) { | ||
| + error(0, "Packet too short while unpacking Msg."); | ||
| + return -1; | ||
| + } | ||
| + | ||
| + octstr_get_many_chars((char *)buf, packed, *off, sizeof(time_t)); | ||
| + *i = decode_network_long(buf); | ||
| + *off += sizeof(time_t); | ||
| + return 0; | ||
| +} | ||
|
|
||
| static int parse_string(Octstr **os, Octstr *packed, int *off) | ||
| { |
| @@ -0,0 +1,27 @@ | ||
| $OpenBSD$ | ||
| --- gw/msg.h.orig Sat May 12 13:44:06 2012 | ||
| +++ gw/msg.h Sun May 13 02:37:38 2012 | ||
| @@ -80,6 +80,7 @@ typedef struct { | ||
| enum msg_type type; | ||
|
|
||
| #define INTEGER(name) long name; | ||
| + #define TIME_T(name) time_t name; | ||
| #define OCTSTR(name) Octstr *name; | ||
| #define UUID(name) uuid_t name; | ||
| #define VOID(name) void *name; | ||
| @@ -181,6 +182,14 @@ Octstr *msg_pack(Msg *msg); | ||
| Msg *msg_unpack_real(Octstr *os, const char *file, long line, const char *func); | ||
| #define msg_unpack(os) \ | ||
| gw_claim_area(msg_unpack_real((os), __FILE__, __LINE__, __func__)) | ||
| -Msg *msg_unpack_wrapper(Octstr *os); | ||
| +/* | ||
| + * Wrapper function needed for function pointer forwarding to storage | ||
| + * subsystem. We can't pass the msg_unpack() pre-processor macro, so we | ||
| + * need to wrapp a function arround it. | ||
| +*/ | ||
| +static inline Msg *msg_unpack_wrapper(Octstr *os) | ||
| +{ | ||
| + return msg_unpack(os); | ||
| +} | ||
|
|
||
| #endif |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- gw/shared.c.orig Sat May 12 15:12:15 2012 | ||
| +++ gw/shared.c Sat May 12 15:12:21 2012 | ||
| @@ -61,7 +61,7 @@ | ||
| */ | ||
|
|
||
| #include <errno.h> | ||
| -#include <sys/unistd.h> | ||
| +#include <unistd.h> | ||
| #include <libxml/xmlversion.h> | ||
|
|
||
| #include "gwlib/gwlib.h" |
| @@ -0,0 +1,28 @@ | ||
| $OpenBSD$ | ||
| --- gw/smsbox.c.orig Sat May 19 00:18:49 2012 | ||
| +++ gw/smsbox.c Sat May 19 00:20:15 2012 | ||
| @@ -1294,13 +1294,13 @@ static int obey_request(Octstr **result, URLTranslatio | ||
| octstr_get_cstr(msg->sms.sender)); | ||
|
|
||
| tm = gw_gmtime(msg->sms.time); | ||
| - sprintf(p, "%04d-%02d-%02d %02d:%02d:%02d", | ||
| + snprintf(p, sizeof(p), "%04d-%02d-%02d %02d:%02d:%02d", | ||
| tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, | ||
| tm.tm_hour, tm.tm_min, tm.tm_sec); | ||
| http_header_add(request_headers, "X-Kannel-Time", p); | ||
|
|
||
| tm = gw_gmtime(time(NULL)); | ||
| - sprintf(p, "%04d-%02d-%02d %02d:%02d:%02d", | ||
| + snprintf(p, sizeof(p), "%04d-%02d-%02d %02d:%02d:%02d", | ||
| tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, | ||
| tm.tm_hour, tm.tm_min, tm.tm_sec); | ||
| http_header_add(request_headers, "Date", p); /* HTTP RFC 14.18 */ | ||
| @@ -1447,7 +1447,7 @@ static int obey_request(Octstr **result, URLTranslatio | ||
| } | ||
|
|
||
| tm = gw_gmtime(time(NULL)); | ||
| - sprintf(p, "%04d-%02d-%02d %02d:%02d:%02d", | ||
| + snprintf(p, sizeof(p), "%04d-%02d-%02d %02d:%02d:%02d", | ||
| tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, | ||
| tm.tm_hour, tm.tm_min, tm.tm_sec); | ||
| http_header_add(request_headers, "Date", p); /* HTTP RFC 14.18 */ |
| @@ -0,0 +1,54 @@ | ||
| $OpenBSD$ | ||
| --- gw/smsc/smsc_at.c.orig Sun May 13 03:54:38 2012 | ||
| +++ gw/smsc/smsc_at.c Sun May 13 03:56:14 2012 | ||
| @@ -930,7 +930,7 @@ static int at2_read_delete_message(PrivAT2data* privda | ||
| char cmd[20]; | ||
| int message_count = 0; | ||
|
|
||
| - sprintf(cmd, "AT+CMGR=%d", message_number); | ||
| + snprintf(cmd, sizeof(cmd), "AT+CMGR=%d", message_number); | ||
| /* read one message from memory */ | ||
| at2_write_line(privdata, cmd); | ||
| if (at2_wait_modem_command(privdata, 0, 0, &message_count) != 0) { | ||
| @@ -946,7 +946,7 @@ static int at2_read_delete_message(PrivAT2data* privda | ||
| return 0; | ||
| } | ||
|
|
||
| - sprintf(cmd, "AT+CMGD=%d", message_number); /* delete the message we just read */ | ||
| + snprintf(cmd, sizeof(cmd), "AT+CMGD=%d", message_number); /* delete the message we just read */ | ||
| /* | ||
| * 3 seconds (default timeout of send_modem_command()) is not enough with some | ||
| * modems if the message is large, so we'll give it 7 seconds | ||
| @@ -2242,7 +2242,7 @@ static void at2_send_one_message(PrivAT2data *privdata | ||
| sc[0] = '\0'; | ||
|
|
||
| if (!privdata->modem->no_smsc) | ||
| - strcpy(sc, "00"); | ||
| + strlcpy(sc, "00", sizeof(sc)); | ||
|
|
||
| if (msg_type(msg) == sms) { | ||
| Octstr *pdu; | ||
| @@ -2256,7 +2256,7 @@ static void at2_send_one_message(PrivAT2data *privdata | ||
| /* | ||
| * send the initial command and then wait for > | ||
| */ | ||
| - sprintf(command, "AT+CMGS=%ld", octstr_len(pdu) / 2); | ||
| + snprintf(command, sizeof(command), "AT+CMGS=%ld", octstr_len(pdu) / 2); | ||
|
|
||
| ret = at2_send_modem_command(privdata, command, 5, 1); | ||
| debug("bb.smsc.at2", 0, "AT2[%s]: send command status: %d", | ||
| @@ -2276,12 +2276,12 @@ static void at2_send_one_message(PrivAT2data *privdata | ||
| */ | ||
|
|
||
| if (octstr_compare(privdata->modem->id, octstr_imm("nokiaphone")) != 0) { | ||
| - sprintf(command, "%s%s", sc, octstr_get_cstr(pdu)); | ||
| + snprintf(command, sizeof(command), "%s%s", sc, octstr_get_cstr(pdu)); | ||
| at2_write(privdata, command); | ||
| at2_write_ctrlz(privdata); | ||
| } else { | ||
| /* include the CTRL-Z in the PDU string */ | ||
| - sprintf(command, "%s%s%c", sc, octstr_get_cstr(pdu), 0x1A); | ||
| + snprintf(command, sizeof(command), "%s%s%c", sc, octstr_get_cstr(pdu), 0x1A); | ||
|
|
||
| /* chop PDU into 18-byte-at-a-time pieces to prevent choking | ||
| * of certain GSM Phones (e.g. Nokia 6310, 6230 etc.) */ |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- gw/smsc/smsc.c.orig Sun May 13 11:06:28 2012 | ||
| +++ gw/smsc/smsc.c Sun May 13 11:06:46 2012 | ||
| @@ -115,7 +115,7 @@ SMSCenter *smscenter_construct(void) | ||
|
|
||
| smsc->mutex = mutex_create(); | ||
|
|
||
| - sprintf(smsc->name, "Unknown SMSC"); | ||
| + snprintf(smsc->name, sizeof(smsc->name), "Unknown SMSC"); | ||
| smsc->id = next_id++; | ||
|
|
||
| /* FAKE */ |
| @@ -0,0 +1,48 @@ | ||
| $OpenBSD$ | ||
| --- gw/smsc/smsc_cimd2.c.orig Sun May 13 11:00:33 2012 | ||
| +++ gw/smsc/smsc_cimd2.c Sun May 13 11:01:46 2012 | ||
| @@ -1182,7 +1182,7 @@ static struct packet *packet_create(int operation, int | ||
| packet = gw_malloc(sizeof(*packet)); | ||
| packet->operation = operation; | ||
| packet->seq = seq; | ||
| - sprintf(minpacket, STX_str "%02d:%03d" TAB_str ETX_str, operation, seq); | ||
| + snprintf(minpacket, sizeof(minpacket), STX_str "%02d:%03d" TAB_str ETX_str, operation, seq); | ||
| packet->data = octstr_create(minpacket); | ||
|
|
||
| return packet; | ||
| @@ -1217,7 +1217,7 @@ static void packet_add_parm(struct packet *packet, int | ||
| * The new parameter will come with a new starting TAB. */ | ||
| position = octstr_len(packet->data) - 2; | ||
|
|
||
| - sprintf(parmh, TAB_str "%03d:", parmno); | ||
| + snprintf(parmh, sizeof(parmh), TAB_str "%03d:", parmno); | ||
| octstr_insert_data(packet->data, position, parmh, strlen(parmh)); | ||
| octstr_insert(packet->data, value, position + strlen(parmh)); | ||
| if (copied) | ||
| @@ -1266,7 +1266,7 @@ static void packet_add_int_parm(struct packet *packet, | ||
|
|
||
| gw_assert(parm_in_range(parmno, value)); | ||
|
|
||
| - sprintf(buf, "%ld", value); | ||
| + snprintf(buf, sizeof(buf), "%ld", value); | ||
| valuestr = octstr_create(buf); | ||
| packet_add_parm(packet, P_INT, parmno, valuestr, conn); | ||
| octstr_destroy(valuestr); | ||
| @@ -1296,7 +1296,7 @@ static void packet_set_checksum(struct packet *packet) | ||
| checksum &= 0xff; | ||
| } | ||
|
|
||
| - sprintf(buf, "%02X", checksum); | ||
| + snprintf(buf, sizeof(buf), "%02X", checksum); | ||
| octstr_insert_data(data, len - 1, buf, 2); | ||
| } | ||
|
|
||
| @@ -1308,7 +1308,7 @@ static void packet_set_sequence(struct packet *packet, | ||
| gw_assert(seq >= 0); | ||
| gw_assert(seq < 256); | ||
|
|
||
| - sprintf(buf, "%03d", seq); | ||
| + snprintf(buf, sizeof(buf), "%03d", seq); | ||
|
|
||
| /* Start at 4 to skip the <STX> ZZ: part of the header. */ | ||
| octstr_set_char(packet->data, 4, buf[0]); |
| @@ -0,0 +1,66 @@ | ||
| $OpenBSD$ | ||
| --- gw/smsc/smsc_cimd.c.orig Sun May 13 11:07:22 2012 | ||
| +++ gw/smsc/smsc_cimd.c Sun May 13 11:13:03 2012 | ||
| @@ -134,7 +134,7 @@ static int cimd_open_connection(SMSCenter *smsc) | ||
| smscenter_remove_from_buffer(smsc, smsc->buflen); | ||
|
|
||
| /* send login string */ | ||
| - sprintf(tmpbuff, "%c%s%c%s%c%s%c%s%c%c", | ||
| + snprintf(tmpbuff, sizeof(tmpbuff), "%c%s%c%s%c%s%c%s%c%c", | ||
| 0x02, | ||
| "01", 0x09, | ||
| smsc->cimd_username, 0x09, | ||
| @@ -191,7 +191,7 @@ SMSCenter *cimd_open(char *hostname, int port, char *u | ||
| if (ret < 0) | ||
| goto error; | ||
|
|
||
| - sprintf(smsc->name, "CIMD:%s:%d:%s", smsc->cimd_hostname, | ||
| + snprintf(smsc->name, sizeof(smsc->name), "CIMD:%s:%d:%s", smsc->cimd_hostname, | ||
| smsc->cimd_port, smsc->cimd_username); | ||
| return smsc; | ||
|
|
||
| @@ -238,7 +238,7 @@ int cimd_close(SMSCenter *smsc) | ||
| } | ||
| cbuff = gw_malloc(2 * 1024); | ||
|
|
||
| - sprintf(cbuff, "%c%s%c%s%c%c", 0x02, "02", 0x09, "11", 0x03, 0x0A); | ||
| + snprintf(cbuff, sizeof(cbuff), "%c%s%c%s%c%c", 0x02, "02", 0x09, "11", 0x03, 0x0A); | ||
|
|
||
| sum = write_to_socket(smsc->socket, cbuff); | ||
| if (sum < 0) goto error; | ||
| @@ -281,7 +281,7 @@ int cimd_pending_smsmessage(SMSCenter *smsc) | ||
| tmpbuff = gw_malloc(10 * 1024); | ||
| memset(tmpbuff, 0, 10*1024); | ||
|
|
||
| - sprintf(tmpbuff, "%c%s%c%s%c%c", | ||
| + snprintf(tmpbuff, sizeof(tmpbuff), "%c%s%c%s%c%c", | ||
| 0x02, /* stx */ | ||
| "05", 0x09, /* request for message, tab */ | ||
| "11", /* dummy chksum */ | ||
| @@ -403,7 +403,7 @@ int cimd_submit_msg(SMSCenter *smsc, Msg *msg) | ||
| parse_iso88591_to_cimd(msgtext, tmptext, 10*1024, smsc->alt_charset); | ||
|
|
||
| /* If messages has UDHs, add the magic number 31 to the right spot */ | ||
| - sprintf(tmpbuff, "%c%s%c%s%c%s%c%s%c%s%c%s%c%s%c%c", | ||
| + snprintf(tmpbuff, sizeof(tmpbuff), "%c%s%c%s%c%s%c%s%c%s%c%s%c%s%c%c", | ||
| 0x02, | ||
| "03", 0x09, | ||
| octstr_get_cstr(msg->sms.receiver), 0x09, | ||
| @@ -604,7 +604,7 @@ static int connect_tcpip(SMSCenter *smsc) | ||
| smscenter_remove_from_buffer(smsc, smsc->buflen); | ||
|
|
||
| /* send login string */ | ||
| - sprintf(tmpbuff, "%c%s%c%s%c%s%c%s%c%c", | ||
| + snprintf(tmpbuff, sizeof(tmpbuff), "%c%s%c%s%c%s%c%s%c%c", | ||
| 0x02, | ||
| "01", 0x09, | ||
| smsc->cimd_username, 0x09, | ||
| @@ -650,7 +650,7 @@ static int send_acknowledge(SMSCenter *smsc) | ||
|
|
||
| memset(tmpbuff, 0, sizeof(tmpbuff)); | ||
|
|
||
| - sprintf(tmpbuff, "\2\6\t11\3\n"); | ||
| + snprintf(tmpbuff, sizeof(tmpbuff), "\2\6\t11\3\n"); | ||
|
|
||
| tmpint = write_to_socket(smsc->socket, tmpbuff); | ||
| if (tmpint == -1) { |
| @@ -0,0 +1,21 @@ | ||
| $OpenBSD$ | ||
| --- gw/smsc/smsc_emi.c.orig Sun May 13 11:05:50 2012 | ||
| +++ gw/smsc/smsc_emi.c Sun May 13 11:06:14 2012 | ||
| @@ -539,7 +539,7 @@ static struct emimsg *msg_to_emimsg(Msg *msg, int trn, | ||
|
|
||
| if (msg->sms.validity >= 0) { | ||
| tm = gw_localtime(time(NULL) + msg->sms.validity * 60); | ||
| - sprintf(p, "%02d%02d%02d%02d%02d", | ||
| + snprintf(p, sizeof(p), "%02d%02d%02d%02d%02d", | ||
| tm.tm_mday, tm.tm_mon + 1, tm.tm_year % 100, | ||
| tm.tm_hour, tm.tm_min); | ||
| str = octstr_create(p); | ||
| @@ -549,7 +549,7 @@ static struct emimsg *msg_to_emimsg(Msg *msg, int trn, | ||
| str = octstr_create("1"); | ||
| emimsg->fields[E50_DD] = str; | ||
| tm = gw_localtime(time(NULL) + msg->sms.deferred * 60); | ||
| - sprintf(p, "%02d%02d%02d%02d%02d", | ||
| + snprintf(p, sizeof(p), "%02d%02d%02d%02d%02d", | ||
| tm.tm_mday, tm.tm_mon + 1, tm.tm_year % 100, | ||
| tm.tm_hour, tm.tm_min); | ||
| str = octstr_create(p); |
| @@ -0,0 +1,220 @@ | ||
| $OpenBSD$ | ||
| --- gw/smsc/smsc_emi_x25.c.orig Sun May 13 03:43:14 2012 | ||
| +++ gw/smsc/smsc_emi_x25.c Sun May 13 03:52:14 2012 | ||
| @@ -139,7 +139,7 @@ static int emi_open_connection(SMSCenter *smsc) | ||
| { | ||
| char tmpbuff[1024]; | ||
|
|
||
| - sprintf(tmpbuff, "/dev/%s", smsc->emi_serialdevice); | ||
| + snprintf(tmpbuff, sizeof(tmpbuff), "/dev/%s", smsc->emi_serialdevice); | ||
| smsc->emi_fd = at_dial(tmpbuff, smsc->emi_phonenum, "ATD", 30); | ||
|
|
||
| if (smsc->emi_fd <= 0) | ||
| @@ -170,7 +170,7 @@ SMSCenter *emi_open(char *phonenum, char *serialdevice | ||
| if (emi_open_connection(smsc) < 0) | ||
| goto error; | ||
|
|
||
| - sprintf(smsc->name, "EMI:%s:%s", smsc->emi_phonenum, | ||
| + snprintf(smsc->name, sizeof(smsc->name), "EMI:%s:%s", smsc->emi_phonenum, | ||
| smsc->emi_username); | ||
| return smsc; | ||
|
|
||
| @@ -209,7 +209,7 @@ static int emi_fill_ucp60_login(char *buf, char *OAdC, | ||
| return -1; | ||
| } | ||
|
|
||
| - sprintf(buf, "%s/%c/%c/%c/%s//%s/////", | ||
| + snprintf(buf, sizeof(buf), "%s/%c/%c/%c/%s//%s/////", | ||
| OAdC, /* OAdC: Address code originator */ | ||
| '6', /* OTON: 6 = Abbreviated number (short number alias) */ | ||
| '5', /* ONPI: 5 = Private (TCP/IP address/abbreviated number address) */ | ||
| @@ -246,15 +246,15 @@ static int emi_open_session(SMSCenter *smsc) | ||
| length += 2; /* footer (fixed) */ | ||
| length += 2; /* slashes between header, body, footer */ | ||
|
|
||
| - sprintf(message_header, "%02i/%05i/O/60", | ||
| + snprintf(message_header, sizeof(message_header), "%02i/%05i/O/60", | ||
| (smsc->emi_current_msg_number++ % 100), length); | ||
|
|
||
| /* FOOTER */ | ||
|
|
||
| - sprintf(my_buffer, "%s/%s/", message_header, message_body); | ||
| + snprintf(my_buffer, sizeof(my_buffer), "%s/%s/", message_header, message_body); | ||
| generate_checksum((unsigned char *)my_buffer, (unsigned char *)message_footer); | ||
|
|
||
| - sprintf(message_whole, "\x02%s/%s/%s\x03", message_header, | ||
| + snprintf(message_whole, sizeof(message_whole), "\x02%s/%s/%s\x03", message_header, | ||
| message_body, message_footer); | ||
|
|
||
| debug("bb.sms.emi", 0, "final UCP60 msg: <%s>", message_whole); | ||
| @@ -530,7 +530,7 @@ static int at_dial(char *device, char *phonenum, char | ||
|
|
||
| /* Send AT dial request. */ | ||
| howmanyread = 0; | ||
| - sprintf(tmpbuff, "%s%s\r\n", at_prefix, phonenum); | ||
| + snprintf(tmpbuff, sizeof(tmpbuff), "%s%s\r\n", at_prefix, phonenum); | ||
| ret = write(fd, tmpbuff, strlen(tmpbuff)); /* errors... -mg */ | ||
| memset(&tmpbuff, 0, sizeof(tmpbuff)); | ||
|
|
||
| @@ -837,9 +837,9 @@ static int memorybuffer_has_rawmessage(SMSCenter *smsc | ||
| strncpy(tmpbuff, stx, etx - stx + 1); | ||
| tmpbuff[etx - stx + 1] = '\0'; | ||
| if (auth) | ||
| - sprintf(tmpbuff2, "/%c/%02i/", auth, type); | ||
| + snprintf(tmpbuff2, sizeof(tmpbuff2), "/%c/%02i/", auth, type); | ||
| else | ||
| - sprintf(tmpbuff2, "/%02i/", type); | ||
| + snprintf(tmpbuff2, sizeof(tmpbuff2), "/%02i/", type); | ||
|
|
||
| if (strstr(tmpbuff, tmpbuff2) != NULL) { | ||
| debug("bb.sms.emi", 0, "found message <%c/%02i>...msg <%s>", auth, type, tmpbuff); | ||
| @@ -921,19 +921,19 @@ static int parse_rawmessage_to_msg(SMSCenter *smsc, Ms | ||
| break; | ||
|
|
||
| *rightslash = '\0'; | ||
| - strcpy(emivars[tmpint], leftslash + 1); | ||
| + strlcpy(emivars[tmpint], leftslash + 1, sizeof(emivars[tmpint])); | ||
| leftslash = rightslash; | ||
| } | ||
|
|
||
| if (strcmp(emivars[3], "01") == 0) { | ||
| if (strcmp(emivars[7], "2") == 0) { | ||
| - strcpy(isotext, emivars[8]); | ||
| + strlcpy(isotext, emivars[8], sizeof(isotext)); | ||
| } else if (strcmp(emivars[7], "3") == 0) { | ||
| parse_emi_to_iso88591(emivars[8], isotext, sizeof(isotext), | ||
| smsc->alt_charset); | ||
| } else { | ||
| error(0, "Unknown 01-type EMI SMS (%s)", emivars[7]); | ||
| - strcpy(isotext, ""); | ||
| + strlcpy(isotext, "", sizeof(isotext)); | ||
| } | ||
| } else if (strcmp(emivars[3], "51") == 0) { | ||
| parse_emi_to_iso88591(emivars[24], isotext, sizeof(isotext), | ||
| @@ -943,7 +943,7 @@ static int parse_rawmessage_to_msg(SMSCenter *smsc, Ms | ||
| smsc->alt_charset); | ||
| } else { | ||
| error(0, "HEY WE SHOULD NOT BE HERE!! Type = %s", emivars[3]); | ||
| - strcpy(isotext, ""); | ||
| + strlcpy(isotext, "", sizeof(isotext)); | ||
| } | ||
|
|
||
| *msg = msg_create(sms); | ||
| @@ -998,29 +998,29 @@ static int acknowledge_from_rawmessage(SMSCenter *smsc | ||
| break; | ||
|
|
||
| *rightslash = '\0'; | ||
| - strcpy(emivars[tmpint], leftslash + 1); | ||
| + strlcpy(emivars[tmpint], leftslash + 1, sizeof(emivars[tmpint])); | ||
| leftslash = rightslash; | ||
| } | ||
|
|
||
| /* BODY */ | ||
| - sprintf(isotext, "A//%s:%s", emivars[4], emivars[18]); | ||
| - sprintf(isotext, "A//%s:", emivars[5]); | ||
| + snprintf(isotext, sizeof(isotext), "A//%s:%s", emivars[4], emivars[18]); | ||
| + snprintf(isotext, sizeof(isotext), "A//%s:", emivars[5]); | ||
| is_backup = 0; | ||
|
|
||
| /* HEADER */ | ||
|
|
||
| debug("bb.sms.emi", 0, "acknowledge: type = '%s'", emivars[3]); | ||
|
|
||
| - sprintf(emitext, "%s/%05i/%s/%s", emivars[0], (int) strlen(isotext) + 17, | ||
| + snprintf(emitext, sizeof(emitext), "%s/%05i/%s/%s", emivars[0], (int) strlen(isotext) + 17, | ||
| "R", emivars[3]); | ||
|
|
||
| smsc->emi_current_msg_number = atoi(emivars[0]) + 1; | ||
|
|
||
| /* FOOTER */ | ||
| - sprintf(timestamp, "%s/%s/", emitext, isotext); | ||
| + snprintf(timestamp, sizeof(timestamp), "%s/%s/", emitext, isotext); | ||
| generate_checksum((unsigned char *)timestamp, (unsigned char *)receiver); | ||
|
|
||
| - sprintf(sender, "%c%s/%s/%s%c", 0x02, emitext, isotext, receiver, 0x03); | ||
| + snprintf(sender, sizeof(sender), "%c%s/%s/%s%c", 0x02, emitext, isotext, receiver, 0x03); | ||
| put_data(smsc, sender, strlen(sender), is_backup); | ||
|
|
||
| return msgnbr; | ||
| @@ -1082,24 +1082,24 @@ static int parse_msg_to_rawmessage(SMSCenter *smsc, Ms | ||
| octstr_len(msg->sms.msgdata), | ||
| smsc->alt_charset); | ||
|
|
||
| - strcpy(snumbits, ""); | ||
| + strlcpy(snumbits, "", sizeof(snumbits)); | ||
| mt = '3'; | ||
| - strcpy(mcl, ""); | ||
| + strlcpy(mcl, "", sizeof(mcl)); | ||
| } else { | ||
| octstr_get_many_chars(msgtext, msg->sms.msgdata, 0, octstr_len(msg->sms.msgdata)); | ||
|
|
||
| parse_binary_to_emi(msgtext, my_buffer2, octstr_len(msg->sms.msgdata)); | ||
|
|
||
| - sprintf(snumbits, "%04ld", octstr_len(msg->sms.msgdata)*8); | ||
| + snprintf(snumbits, sizeof(snumbits), "%04ld", octstr_len(msg->sms.msgdata)*8); | ||
| mt = '4'; | ||
| - strcpy(mcl, "1"); | ||
| + strlcpy(mcl, "1", sizeof(mcl)); | ||
| } | ||
|
|
||
| /* XXX Where is DCS ? Is it in XSER like in emi2 ? | ||
| * Please someone encode it with fields_to_dcs | ||
| */ | ||
|
|
||
| - sprintf(message_body, | ||
| + snprintf(message_body, sizeof(message_body), | ||
| "%s/%s/%s/%s/%s//%s////////////%c/%s/%s////%s//////%s//", | ||
| octstr_get_cstr(msg->sms.receiver), | ||
| msg->sms.sender ? octstr_get_cstr(msg->sms.sender) : "", | ||
| @@ -1120,20 +1120,20 @@ static int parse_msg_to_rawmessage(SMSCenter *smsc, Ms | ||
| length += 2; /* footer (fixed) */ | ||
| length += 2; /* slashes between header, body, footer */ | ||
|
|
||
| - sprintf(message_header, "%02i/%05i/%s/%s", (smsc->emi_current_msg_number++ % 100), length, "O", "51"); | ||
| + snprintf(message_header, sizeof(message_header), "%02i/%05i/%s/%s", (smsc->emi_current_msg_number++ % 100), length, "O", "51"); | ||
|
|
||
| /* FOOTER */ | ||
|
|
||
| - sprintf(my_buffer, "%s/%s/", message_header, message_body); | ||
| + snprintf(my_buffer, sizeof(my_buffer), "%s/%s/", message_header, message_body); | ||
| generate_checksum((unsigned char *)my_buffer, (unsigned char *)message_footer); | ||
|
|
||
| - sprintf(message_whole, "%c%s/%s/%s%c", 0x02, message_header, message_body, message_footer, 0x03); | ||
| + snprintf(message_whole, sizeof(message_whole), "%c%s/%s/%s%c", 0x02, message_header, message_body, message_footer, 0x03); | ||
|
|
||
| strncpy(rawmessage, message_whole, rawmessage_length); | ||
|
|
||
| if (smsc->type == SMSC_TYPE_EMI_X25) { | ||
| /* IC3S braindead EMI stack chokes on this... must fix it at the next time... */ | ||
| - strcat(rawmessage, "\r"); | ||
| + strlcat(rawmessage, "\r", sizeof(rawmessage)); | ||
| } | ||
| debug("bb.sms.emi", 0, "emi %d message %s", | ||
| smsc->emi_current_msg_number, rawmessage); | ||
| @@ -1181,7 +1181,7 @@ static int parse_iso88591_to_emi(char *from, char *to, | ||
|
|
||
| for (ptr = from; length > 0; ptr++, length--) { | ||
| tmpchar = char_iso_to_sms(*ptr, alt_charset); | ||
| - sprintf(buf, "%02X", tmpchar); | ||
| + snprintf(buf, sizeof(buf), "%02X", tmpchar); | ||
| strncat(to, buf, 2); | ||
| } | ||
| return 0; | ||
| @@ -1201,7 +1201,7 @@ static int parse_binary_to_emi(char *from, char *to, i | ||
| *to = '\0'; | ||
|
|
||
| for (ptr = from; length > 0; ptr++, length--) { | ||
| - sprintf(buf, "%02X", (unsigned char)*ptr); | ||
| + snprintf(buf, sizeof(buf), "%02X", (unsigned char)*ptr); | ||
| strncat(to, buf, 2); | ||
| } | ||
|
|
||
| @@ -1225,7 +1225,7 @@ static void generate_checksum(const unsigned char *buf | ||
| j -= 256; | ||
| } | ||
|
|
||
| - sprintf((char *)out, "%02X", j); | ||
| + snprintf((char *)out, sizeof((char *)out), "%02X", j); | ||
| } | ||
|
|
||
|
|
| @@ -0,0 +1,48 @@ | ||
| $OpenBSD$ | ||
| --- gw/smsc/smsc_ois.c.orig Sun May 13 11:04:02 2012 | ||
| +++ gw/smsc/smsc_ois.c Sun May 13 11:05:16 2012 | ||
| @@ -244,7 +244,7 @@ SMSCenter *ois_open(int receiveport, const char *hostn | ||
| if (ret < 0) { | ||
| goto error; | ||
| } | ||
| - sprintf(smsc->name, "OIS:TCP/X.25-Translator:localhost:%d:TCP:%.512s:%d", | ||
| + snprintf(smsc->name, sizeof(smsc->name), "OIS:TCP/X.25-Translator:localhost:%d:TCP:%.512s:%d", | ||
| smsc->receive_port, smsc->hostname, smsc->port); | ||
|
|
||
| return smsc; | ||
| @@ -828,7 +828,7 @@ static int ois_submit_sm_invoke(SMSCenter *smsc, const | ||
|
|
||
| /* first part */ | ||
|
|
||
| - sprintf(buffer, "%c%c%04d%.121s%c", | ||
| + snprintf(buffer, sizeof(buffer), "%c%c%04d%.121s%c", | ||
| 'S', /* submit sm invoke */ | ||
| (char)(0x50|count), /* ia5 encoding, first part */ | ||
| ois_counter, | ||
| @@ -843,7 +843,7 @@ static int ois_submit_sm_invoke(SMSCenter *smsc, const | ||
| /* additional parts */ | ||
|
|
||
| for (i = 1; i <= count; ++i) { | ||
| - sprintf(buffer, "%c%c%04d%.121s%c", | ||
| + snprintf(buffer, sizeof(buffer), "%c%c%04d%.121s%c", | ||
| 'S', /* submit sm invoke */ | ||
| (char)(0x60|(count-i)), /* ia5, additional part */ | ||
| ois_counter, | ||
| @@ -1171,7 +1171,7 @@ static int ois_check_deliver_sm_invoke(const char *str | ||
| { | ||
| /* check the additional header */ | ||
|
|
||
| - sprintf(buffer, "%c%c%c%.4s", | ||
| + snprintf(buffer, sizeof(buffer), "%c%c%c%.4s", | ||
| EOL, | ||
| 'M', /* deliver sm invoke */ | ||
| (char)(0x60|count), /* ia5 encoding, additional part */ | ||
| @@ -1355,7 +1355,7 @@ static int ois_deliver_sm_result(SMSCenter *smsc, int | ||
|
|
||
| /* first and only part */ | ||
|
|
||
| - sprintf(buffer, "%c%c%.4s%.121s%c", | ||
| + snprintf(buffer, sizeof(buffer), "%c%c%.4s%.121s%c", | ||
| 'm', /* deliver sm result */ | ||
| (char)(0x50), /* ia5 encoding, the only part */ | ||
| &str[2], |
| @@ -0,0 +1,32 @@ | ||
| $OpenBSD$ | ||
| --- gw/smsc/smsc_sema.c.orig Sun May 13 11:02:14 2012 | ||
| +++ gw/smsc/smsc_sema.c Sun May 13 11:03:33 2012 | ||
| @@ -120,7 +120,7 @@ SMSCenter * sema_open(char* smscnua, char* homenua, | ||
| if(smsc == NULL) | ||
| goto error; | ||
|
|
||
| - sprintf(smsc->name, "SEMA:X28:"); | ||
| + snprintf(smsc->name, sizeof(smsc->name), "SEMA:X28:"); | ||
|
|
||
| smsc->type = SMSC_TYPE_SEMA_X28; | ||
| smsc->sema_smscnua = gw_strdup(smscnua); | ||
| @@ -570,7 +570,7 @@ static int X28_close_send_link(int padfd) | ||
| time_t tstart; | ||
| time(&tstart); | ||
|
|
||
| - sprintf(discnntbuff,"%cCLR\r",0x10); | ||
| + snprintf(discnntbuff,sizeof(discnntbuff),"%cCLR\r",0x10); | ||
| memset(readbuff,0,sizeof(readbuff)); | ||
|
|
||
| /* what ever is the close return, data mode is unreliable now*/ | ||
| @@ -654,8 +654,8 @@ static int X28_open_send_link(int padfd, char *nua) { | ||
| memset(writebuff,0,sizeof(writebuff)); | ||
| memset(readbuff,0,sizeof(readbuff)); | ||
| writeall = readall = 0; | ||
| - sprintf(writebuff, "%s\r", nua); | ||
| - sprintf(smscbuff, "%s COM",nua); | ||
| + snprintf(writebuff, sizeof(writebuff), "%s\r", nua); | ||
| + snprintf(smscbuff, sizeof(smscbuff), "%s COM",nua); | ||
|
|
||
| while((size_t) writeall < strlen(writebuff)){ | ||
| writeonce = -1; |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- gw/smsc/smsc_smpp.c.orig Sun May 13 10:52:22 2012 | ||
| +++ gw/smsc/smsc_smpp.c Sun May 13 10:53:14 2012 | ||
| @@ -977,7 +977,7 @@ static SMPP_PDU *msg_to_pdu(SMPP *smpp, Msg *msg) | ||
| } | ||
|
|
||
|
|
||
| -static int send_enquire_link(SMPP *smpp, Connection *conn, long *last_sent) | ||
| +static int send_enquire_link(SMPP *smpp, Connection *conn, time_t *last_sent) | ||
| { | ||
| SMPP_PDU *pdu; | ||
| Octstr *os; |
| @@ -0,0 +1,41 @@ | ||
| $OpenBSD$ | ||
| --- gw/smsc/smsc_soap.c.orig Sat May 12 13:44:05 2012 | ||
| +++ gw/smsc/smsc_soap.c Sun May 13 03:54:19 2012 | ||
| @@ -1170,7 +1170,7 @@ static void soap_read_response(SMSCConn *conn) | ||
| msgID = msg->sms.id; | ||
| */ | ||
|
|
||
| - sprintf(tmpid,"%lld",msgID); | ||
| + snprintf(tmpid,sizeof(tmpid),"%lld",msgID); | ||
| debug("bb.soap.read_response",0,"SOAP[%s]: ACK - id: %lld", octstr_get_cstr(privdata->name), msgID); | ||
|
|
||
| dlr_add(conn->id, octstr_imm(tmpid), msg); | ||
| @@ -2049,12 +2049,17 @@ static Octstr* soap_convert_token(Msg* msg, Octstr* na | ||
|
|
||
| #define INTEGER(fieldname) \ | ||
| if (!octstr_str_compare(name, #fieldname)) { \ | ||
| - sprintf(buf,"%ld", p->fieldname); \ | ||
| + snprintf(buf,sizeof(buf),"%ld", p->fieldname); \ | ||
| return octstr_create(buf); \ | ||
| } | ||
| +#define TIME_T(fieldname) \ | ||
| + if (!octstr_str_compare(name, #fieldname)) { \ | ||
| + snprintf(buf,sizeof(buf),"%d", p->fieldname); \ | ||
| + return octstr_create(buf); \ | ||
| + } | ||
| #define INT64(fieldname) \ | ||
| if (!octstr_str_compare(name, #fieldname)) { \ | ||
| - sprintf(buf,"%lld", p->fieldname); \ | ||
| + snprintf(buf,sizeof(buf),"%lld", p->fieldname); \ | ||
| return octstr_create(buf); \ | ||
| } | ||
| #define OCTSTR(fieldname) \ | ||
| @@ -2374,7 +2379,7 @@ int soap_map_xml_data(xmlNodePtr xml, List* maps) | ||
| octstr_strip_blanks(temp); | ||
| if (!octstr_str_compare(map->sscan_type,"%s")) { | ||
| /* special processing of %s - this means the whole string, while sscanf stops at spaces */ | ||
| - strcpy(map->store,octstr_get_cstr(temp)); | ||
| + strlcpy(map->store,octstr_get_cstr(temp),sizeof(map->store)); | ||
|
|
||
| ++args; | ||
| } else { |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- gw/wap-appl.c.orig Sun May 13 11:15:24 2012 | ||
| +++ gw/wap-appl.c Sun May 13 11:15:52 2012 | ||
| @@ -549,7 +549,7 @@ static void add_session_id(List *headers, long session | ||
| { | ||
| if (session_id != -1) { | ||
| char buf[40]; | ||
| - sprintf(buf, "%ld", session_id); | ||
| + snprintf(buf, sizeof(buf), "%ld", session_id); | ||
| http_header_add(headers, "X-WAP-Session-ID", buf); | ||
| } | ||
| } |
| @@ -0,0 +1,32 @@ | ||
| $OpenBSD$ | ||
| --- gw/wap_ppg_push_machine.def.orig Sat May 12 13:44:06 2012 | ||
| +++ gw/wap_ppg_push_machine.def Sat May 19 01:46:22 2012 | ||
| @@ -92,8 +92,8 @@ | ||
| * By Aarno Syv�nen for Wapit Ltd, for Wiral Ltd and for Global Networks Inc | ||
| */ | ||
|
|
||
| -#if !defined(MACHINE) | ||
| - #error "Macro MACHINE is missing" | ||
| +#if !defined(MACHINEWSP) | ||
| + #error "Macro MACHINEWSP is missing" | ||
| #elif !defined(INTEGER) | ||
| #error "Macro INTEGER is missing" | ||
| #elif !defined(OCTSTR) | ||
| @@ -108,7 +108,7 @@ | ||
| #error "Macro HTTPHEADER is missing" | ||
| #endif | ||
|
|
||
| -MACHINE(OCTSTR(pi_push_id) /* this id is selected by PI and SHOULD | ||
| +MACHINEWSP(OCTSTR(pi_push_id) /* this id is selected by PI and SHOULD | ||
| include data separating different PIs */ | ||
| INTEGER(push_id) /* this id is generated by Kannel */ | ||
| OPTIONAL_OCTSTR(sender_address) /* PPG address known by PI */ | ||
| @@ -139,7 +139,7 @@ MACHINE(OCTSTR(pi_push_id) /* this id is selecte | ||
| OPTIONAL_OCTSTR(service_name) | ||
| ) | ||
|
|
||
| -#undef MACHINE | ||
| +#undef MACHINEWSP | ||
| #undef INTEGER | ||
| #undef OCTSTR | ||
| #undef OPTIONAL_OCTSTR |
| @@ -0,0 +1,32 @@ | ||
| $OpenBSD$ | ||
| --- gw/wap_ppg_session_machine.def.orig Sat May 12 13:44:06 2012 | ||
| +++ gw/wap_ppg_session_machine.def Sat May 19 01:46:22 2012 | ||
| @@ -61,8 +61,8 @@ | ||
| * By Aarno Syv�nen for Wapit Ltd | ||
| */ | ||
|
|
||
| -#if !defined(MACHINE) | ||
| - #error "Macro MACHINE is missing" | ||
| +#if !defined(MACHINEWSP) | ||
| + #error "Macro MACHINEWSP is missing" | ||
| #elif !defined(ADDRTUPLE) | ||
| #error "Macro ADDRTUPLE is missing" | ||
| #elif !defined(INTEGER) | ||
| @@ -73,7 +73,7 @@ | ||
| #error "Macro CAPABILITIES not defined" | ||
| #endif | ||
|
|
||
| -MACHINE( | ||
| +MACHINEWSP( | ||
| OCTSTR(pi_client_address) /* client address in PAP format */ | ||
| OCTSTR(sender_address) /* PPG's address */ | ||
| ADDRTUPLE(addr_tuple) /* addresses using gw format */ | ||
| @@ -86,7 +86,7 @@ MACHINE( | ||
| delivery method attribute */ | ||
| ) | ||
|
|
||
| -#undef MACHINE | ||
| +#undef MACHINEWSP | ||
| #undef ADDRTUPLE | ||
| #undef INTEGER | ||
| #undef PUSHMACHINES |
| @@ -0,0 +1,39 @@ | ||
| $OpenBSD$ | ||
| --- gw/wap_push_ppg.c.orig Sat May 12 16:56:22 2012 | ||
| +++ gw/wap_push_ppg.c Sat May 12 16:58:31 2012 | ||
| @@ -1320,7 +1320,7 @@ static PPGSessionMachine *session_machine_create(WAPAd | ||
| #define ADDRTUPLE(name) m->name = NULL; | ||
| #define PUSHMACHINES(name) m->name = gwlist_create(); | ||
| #define CAPABILITIES(name) m->name = NULL; | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wap_ppg_session_machine.def" | ||
|
|
||
| m->pi_client_address = octstr_duplicate(e->u.Push_Message.address_value); | ||
| @@ -1352,7 +1352,7 @@ static void session_machine_destroy(void *p) | ||
| #define INTEGER(name) sm->name = 0; | ||
| #define PUSHMACHINES(name) push_machines_list_destroy(sm->name); | ||
| #define CAPABILITIES(name) wsp_cap_destroy_list(sm->name); | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wap_ppg_session_machine.def" | ||
| gw_free(sm); | ||
| } | ||
| @@ -1373,7 +1373,7 @@ static PPGPushMachine *push_machine_create(WAPEvent *e | ||
| #define ADDRTUPLE(name) m->name = NULL; | ||
| #define CAPABILITIES m->name = NULL; | ||
| #define HTTPHEADER(name) m->name = NULL; | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wap_ppg_push_machine.def" | ||
|
|
||
| m->addr_tuple = wap_addr_tuple_duplicate(tuple); | ||
| @@ -1433,7 +1433,7 @@ static void push_machine_destroy(void *p) | ||
| #define ADDRTUPLE(name) wap_addr_tuple_destroy(pm->name); | ||
| #define CAPABILITIES(name) wap_cap_destroy_list(pm->name); | ||
| #define HTTPHEADER(name) http_destroy_headers(pm->name); | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wap_ppg_push_machine.def" | ||
|
|
||
| gw_free(p); |
| @@ -0,0 +1,21 @@ | ||
| $OpenBSD$ | ||
| --- gw/wap_push_ppg.h.orig Sat May 12 16:52:10 2012 | ||
| +++ gw/wap_push_ppg.h Sat May 12 16:52:47 2012 | ||
| @@ -178,7 +178,7 @@ struct PPGSessionMachine { | ||
| #define INTEGER(name) long name; | ||
| #define PUSHMACHINES(name) List *name; | ||
| #define CAPABILITIES(name) List *name; | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wap_ppg_session_machine.def" | ||
| }; | ||
|
|
||
| @@ -189,7 +189,7 @@ struct PPGPushMachine { | ||
| #define ADDRTUPLE(name) WAPAddrTuple *name; | ||
| #define HTTPHEADER(name) List *name; | ||
| #define CAPABILITIES(name) List *name; | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wap_ppg_push_machine.def" | ||
| }; | ||
|
|
| @@ -0,0 +1,34 @@ | ||
| $OpenBSD$ | ||
| --- gwlib/accesslog.c.orig Sat May 12 13:43:54 2012 | ||
| +++ gwlib/accesslog.c Mon May 14 00:24:52 2012 | ||
| @@ -151,7 +151,7 @@ void alog_open(char *fname, int use_localtm, int use_m | ||
| return; | ||
| } | ||
| file = f; | ||
| - strcpy(filename, fname); | ||
| + strlcpy(filename, fname, sizeof(filename)); | ||
| info(0, "Started access logfile `%s'.", filename); | ||
| if (markers) | ||
| alog("Log begins"); | ||
| @@ -186,7 +186,7 @@ static void format(char *buf, const char *fmt) | ||
| else | ||
| tm = gw_gmtime(t); | ||
|
|
||
| - sprintf(p, "%04d-%02d-%02d %02d:%02d:%02d ", | ||
| + snprintf(p, sizeof(prefix), "%04d-%02d-%02d %02d:%02d:%02d ", | ||
| tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, | ||
| tm.tm_hour, tm.tm_min, tm.tm_sec); | ||
| } else { | ||
| @@ -194,10 +194,10 @@ static void format(char *buf, const char *fmt) | ||
| } | ||
|
|
||
| if (strlen(prefix) + strlen(fmt) > FORMAT_SIZE / 2) { | ||
| - sprintf(buf, "%s <OUTPUT message too long>\n", prefix); | ||
| + snprintf(buf, sizeof(prefix), "%s <OUTPUT message too long>\n", prefix); | ||
| return; | ||
| } | ||
| - sprintf(buf, "%s%s\n", prefix, fmt); | ||
| + snprintf(buf, sizeof(prefix), "%s%s\n", prefix, fmt); | ||
| } | ||
|
|
||
|
|
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- gwlib/date.c.orig Sun May 13 11:18:03 2012 | ||
| +++ gwlib/date.c Sun May 13 11:18:23 2012 | ||
| @@ -108,7 +108,7 @@ Octstr *date_format_http(unsigned long unixtime) | ||
| return NULL; | ||
| } | ||
|
|
||
| - sprintf(buffer, "%s, %02d %s %04d %02d:%02d:%02d GMT", | ||
| + snprintf(buffer, sizeof(buffer), "%s, %02d %s %04d %02d:%02d:%02d GMT", | ||
| wkday[tm.tm_wday], tm.tm_mday, monthname[tm.tm_mon], | ||
| tm.tm_year + 1900, tm.tm_hour, tm.tm_min, tm.tm_sec); | ||
|
|
| @@ -0,0 +1,16 @@ | ||
| $OpenBSD$ | ||
| --- gwlib/gw_uuid.c.orig Sat May 19 01:55:36 2012 | ||
| +++ gwlib/gw_uuid.c Sat May 19 01:56:19 2012 | ||
| @@ -561,9 +561,10 @@ void uuid_unpack(const uuid_t in, struct uuid *uu) | ||
| void uuid_unparse(const uuid_t uu, char *out) | ||
| { | ||
| struct uuid uuid; | ||
| - | ||
| + char buf[UUID_STR_LEN + 1]; | ||
| + | ||
| uuid_unpack(uu, &uuid); | ||
| - sprintf(out, | ||
| + snprintf(out, sizeof(buf), | ||
| "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", | ||
| uuid.time_low, uuid.time_mid, uuid.time_hi_and_version, | ||
| uuid.clock_seq >> 8, uuid.clock_seq & 0xFF, |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- gwlib/gwmem-check.c.orig Sat May 19 01:04:29 2012 | ||
| +++ gwlib/gwmem-check.c Sat May 19 01:06:10 2012 | ||
| @@ -334,7 +334,7 @@ static void dump_area(struct area *area) | ||
| p = area->area; | ||
| buf[0] = '\0'; | ||
| for (i = 0; i < area->area_size && i < MAX_DUMP; ++i) | ||
| - sprintf(strchr(buf, '\0'), "%02x ", p[i]); | ||
| + snprintf(strchr(buf, '\0'), sizeof(buf), "%02x ", p[i]); | ||
|
|
||
| debug("gwlib.gwmem", 0, "Contents of area (first %d bytes):", MAX_DUMP); | ||
| debug("gwlib.gwmem", 0, " %s", buf); |
| @@ -0,0 +1,62 @@ | ||
| $OpenBSD$ | ||
| --- gwlib/log.c.orig Sat May 12 13:43:54 2012 | ||
| +++ gwlib/log.c Mon May 14 00:26:04 2012 | ||
| @@ -379,7 +379,7 @@ int log_open(char *filename, int level, enum excl_stat | ||
| logfiles[num_logfiles].file = f; | ||
| logfiles[num_logfiles].minimum_output_level = level; | ||
| logfiles[num_logfiles].exclusive = excl; | ||
| - strcpy(logfiles[num_logfiles].filename, filename); | ||
| + strlcpy(logfiles[num_logfiles].filename, filename, sizeof(logfiles[num_logfiles].filename)); | ||
| ++num_logfiles; | ||
| i = num_logfiles - 1; | ||
| gw_rwlock_unlock(&rwlock); | ||
| @@ -417,7 +417,7 @@ static void format(char *buf, int level, const char *p | ||
| #else | ||
| tm = gw_gmtime(t); | ||
| #endif | ||
| - sprintf(p, "%04d-%02d-%02d %02d:%02d:%02d ", | ||
| + snprintf(p, sizeof(prefix), "%04d-%02d-%02d %02d:%02d:%02d ", | ||
| tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, | ||
| tm.tm_hour, tm.tm_min, tm.tm_sec); | ||
|
|
||
| @@ -425,32 +425,32 @@ static void format(char *buf, int level, const char *p | ||
|
|
||
| /* print PID and thread ID */ | ||
| gwthread_self_ids(&tid, &pid); | ||
| - sprintf(p, "[%ld] [%ld] ", pid, tid); | ||
| + snprintf(p, sizeof(prefix), "[%ld] [%ld] ", pid, tid); | ||
| } else { | ||
| /* thread ID only */ | ||
| tid = gwthread_self(); | ||
| - sprintf(p, "[%ld] ", tid); | ||
| + snprintf(p, sizeof(prefix), "[%ld] ", tid); | ||
| } | ||
|
|
||
| p = strchr(p, '\0'); | ||
| if (level < 0 || level >= tab_size) | ||
| - sprintf(p, "UNKNOWN: "); | ||
| + snprintf(p, sizeof(prefix), "UNKNOWN: "); | ||
| else | ||
| - sprintf(p, "%s", tab[level]); | ||
| + snprintf(p, sizeof(prefix), "%s", tab[level]); | ||
|
|
||
| p = strchr(p, '\0'); | ||
| if (place != NULL && *place != '\0') | ||
| - sprintf(p, "%s: ", place); | ||
| + snprintf(p, sizeof(prefix), "%s: ", place); | ||
|
|
||
| if (strlen(prefix) + strlen(fmt) > FORMAT_SIZE / 2) { | ||
| - sprintf(buf, "%s <OUTPUT message too long>\n", prefix); | ||
| + snprintf(buf, sizeof(prefix), "%s <OUTPUT message too long>\n", prefix); | ||
| return; | ||
| } | ||
|
|
||
| if (e == 0) | ||
| - sprintf(buf, "%s%s\n", prefix, fmt); | ||
| + snprintf(buf, sizeof(prefix), "%s%s\n", prefix, fmt); | ||
| else | ||
| - sprintf(buf, "%s%s\n%sSystem error %d: %s\n", | ||
| + snprintf(buf, sizeof(prefix), "%s%s\n%sSystem error %d: %s\n", | ||
| prefix, fmt, prefix, e, strerror(e)); | ||
| } | ||
|
|
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- gwlib/md5.c.orig Sun May 13 11:17:16 2012 | ||
| +++ gwlib/md5.c Sun May 13 11:17:33 2012 | ||
| @@ -104,7 +104,7 @@ static void md5_digest(char *md5str, unsigned char *di | ||
| int i; | ||
|
|
||
| for (i = 0; i < 16; i++) { | ||
| - sprintf(md5str, "%02x", digest[i]); | ||
| + snprintf(md5str, sizeof(md5str), "%02x", digest[i]); | ||
| md5str += 2; | ||
| } | ||
|
|
| @@ -0,0 +1,83 @@ | ||
| $OpenBSD$ | ||
| --- gwlib/octstr.c.orig Fri May 18 23:09:55 2012 | ||
| +++ gwlib/octstr.c Fri May 18 23:17:40 2012 | ||
| @@ -81,7 +81,7 @@ | ||
| */ | ||
| #if (defined(__linux__) && (defined(__powerpc__) || defined(__s390__) || defined(__x86_64))) || \ | ||
| (defined(__FreeBSD__) && defined(__amd64__)) || \ | ||
| - (defined(DARWIN) && defined(__x86_64__)) | ||
| + (defined(DARWIN) && defined(__x86_64__)) || (defined(OpenBSD) && defined(__amd64__)) | ||
| #define VARGS(x) (x) | ||
| #define VALPARM(y) va_list y | ||
| #define VALST(z) (z) | ||
| @@ -1921,7 +1921,7 @@ void octstr_append_decimal(Octstr *ostr, long value) | ||
| { | ||
| char tmp[128]; | ||
|
|
||
| - sprintf(tmp, "%ld", value); | ||
| + snprintf(tmp, sizeof(tmp), "%ld", value); | ||
| octstr_append_cstr(ostr, tmp); | ||
| } | ||
|
|
||
| @@ -1958,7 +1958,7 @@ static void octstr_dump_debug(const Octstr *ostr, int | ||
| this_line_begins_at = 0; | ||
| for (pos = 0; pos < octstr_len(ostr); ) { | ||
| c = octstr_get_char(ostr, pos); | ||
| - sprintf(p, "%02x ", c); | ||
| + snprintf(p, sizeof(buf), "%02x ", c); | ||
| p = strchr(p, '\0'); | ||
| if (isprint(c)) | ||
| *d++ = c; | ||
| @@ -2027,7 +2027,7 @@ do { \ | ||
| this_line_begins_at = 0; \ | ||
| for (pos = 0; pos < octstr_len(ostr); ) { \ | ||
| c = octstr_get_char(ostr, pos); \ | ||
| - sprintf(p, "%02x ", c); \ | ||
| + snprintf(p, sizeof(buf), "%02x ", c); \ | ||
| p = strchr(p, '\0'); \ | ||
| if (isprint(c)) \ | ||
| *d++ = c; \ | ||
| @@ -2304,28 +2304,28 @@ static void convert(Octstr *os, struct format *format, | ||
| tmpfmt[1] = 'l'; | ||
| tmpfmt[2] = **fmt; | ||
| tmpfmt[3] = '\0'; | ||
| - sprintf(tmpbuf, tmpfmt, u); | ||
| + snprintf(tmpbuf, sizeof(tmpbuf), tmpfmt, u); | ||
| new = octstr_create(tmpbuf); | ||
| break; | ||
|
|
||
| case 'e': | ||
| case 'f': | ||
| case 'g': | ||
| - sprintf(tmpfmt, "%%"); | ||
| + snprintf(tmpfmt, sizeof(tmpfmt), "%%"); | ||
| if (format->minus) | ||
| strcat(tmpfmt, "-"); | ||
| if (format->zero) | ||
| strcat(tmpfmt, "0"); | ||
| if (format->min_width > 0) | ||
| - sprintf(strchr(tmpfmt, '\0'), | ||
| + snprintf(strchr(tmpfmt, '\0'), sizeof(tmpfmt), | ||
| "%ld", format->min_width); | ||
| if (format->has_prec) | ||
| - sprintf(strchr(tmpfmt, '\0'), | ||
| + snprintf(strchr(tmpfmt, '\0'), sizeof(tmpfmt), | ||
| ".%ld", format->prec); | ||
| if (format->type != '\0') | ||
| - sprintf(strchr(tmpfmt, '\0'), | ||
| + snprintf(strchr(tmpfmt, '\0'), sizeof(tmpfmt), | ||
| "%c", (int) format->type); | ||
| - sprintf(strchr(tmpfmt, '\0'), "%c", **fmt); | ||
| + snprintf(strchr(tmpfmt, '\0'), sizeof(tmpfmt), "%c", **fmt); | ||
| snprintf(tmpbuf, sizeof(tmpbuf), | ||
| tmpfmt, va_arg(VALST(args), double)); | ||
| new = octstr_create(tmpbuf); | ||
| @@ -2342,7 +2342,7 @@ static void convert(Octstr *os, struct format *format, | ||
|
|
||
| case 'p': | ||
| p = va_arg(VALST(args), void *); | ||
| - sprintf(tmpfmt, "%p", p); | ||
| + snprintf(tmpfmt, sizeof(tmpfmt), "%p", p); | ||
| new = octstr_create(tmpfmt); | ||
| break; | ||
|
|
| @@ -0,0 +1,21 @@ | ||
| $OpenBSD$ | ||
| --- test/decompile.c.orig Sun May 13 11:27:56 2012 | ||
| +++ test/decompile.c Sun May 13 11:28:45 2012 | ||
| @@ -1626,7 +1626,7 @@ static void CodepageAttrvalueName(WBXML_CODEPAGE page, | ||
| if (*value) | ||
| { | ||
| *value = realloc(*value, strlen(*value) + strlen(CodepageAttrvalueNames[i].m_name) + 1); | ||
| - strcat(*value, CodepageAttrvalueNames[i].m_name); | ||
| + strlcat(*value, CodepageAttrvalueNames[i].m_name, sizeof(*value)); | ||
| } | ||
| else | ||
| { | ||
| @@ -1779,7 +1779,7 @@ static void DumpNode(P_WBXML_NODE node, int indent, BO | ||
| if (node->m_data) | ||
| { | ||
| *value = realloc(*value, strlen(*value) + strlen((char*) node->m_data) + 1); | ||
| - strcat(*value, (char*) node->m_data); | ||
| + strlcat(*value, (char*) node->m_data, sizeof(*value)); | ||
| } | ||
| } | ||
| else |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- test/test_cimd2.c.orig Sun May 13 11:26:36 2012 | ||
| +++ test/test_cimd2.c Sun May 13 11:26:54 2012 | ||
| @@ -321,7 +321,7 @@ static void make_timestamp(unsigned char *buf, time_t | ||
| /* Is there a thread-safe version of gmtime? */ | ||
| struct tm tm = gw_gmtime(fortime); | ||
|
|
||
| - sprintf(buf, "%02d%02d%02d%02d%02d%02d", | ||
| + snprintf(buf, sizeof(buf), "%02d%02d%02d%02d%02d%02d", | ||
| tm.tm_year % 100, tm.tm_mon + 1, tm.tm_mday, | ||
| tm.tm_hour, tm.tm_min, tm.tm_sec); | ||
| } |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- test/test_http.c.orig Sun May 13 11:27:16 2012 | ||
| +++ test/test_http.c Sun May 13 11:27:31 2012 | ||
| @@ -203,7 +203,7 @@ static void client_thread(void *arg) | ||
| succeeded = 0; | ||
| failed = 0; | ||
| reqh = gwlist_create(); | ||
| - sprintf(buf, "%ld", (long) gwthread_self()); | ||
| + snprintf(buf, sizeof(buf), "%ld", (long) gwthread_self()); | ||
| http_header_add(reqh, "X-Thread", buf); | ||
| if (auth_username != NULL && auth_password != NULL) | ||
| http_add_basic_auth(reqh, auth_username, auth_password); |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- test/test_xmlrpc.c.orig Sun May 13 11:25:46 2012 | ||
| +++ test/test_xmlrpc.c Sun May 13 11:26:03 2012 | ||
| @@ -199,7 +199,7 @@ static void client_thread(void *arg) | ||
| failed = 0; | ||
| reqh = gwlist_create(); | ||
|
|
||
| - sprintf(buf, "%ld", (long) gwthread_self()); | ||
| + snprintf(buf, sizeof(buf), "%ld", (long) gwthread_self()); | ||
| http_header_add(reqh, "X-Thread", buf); | ||
| if (auth_username != NULL && auth_password != NULL) | ||
| http_add_basic_auth(reqh, auth_username, auth_password); |
| @@ -0,0 +1,11 @@ | ||
| $OpenBSD$ | ||
| --- utils/run_kannel_box.8.orig Mon May 14 00:49:06 2012 | ||
| +++ utils/run_kannel_box.8 Mon May 14 00:50:30 2012 | ||
| @@ -26,6 +26,4 @@ phones. | ||
| .PP | ||
| For more information, | ||
| see | ||
| -.B http://www.kannel.org | ||
| -or | ||
| -.BR file://usr/doc/kannel/ . | ||
| +.B http://www.kannel.org. |
| @@ -0,0 +1,21 @@ | ||
| $OpenBSD$ | ||
| --- wap/cookies.c.orig Sat May 12 13:44:08 2012 | ||
| +++ wap/cookies.c Sun May 13 11:46:12 2012 | ||
| @@ -569,7 +569,7 @@ static int parse_http_date(const char *expires) | ||
| ti.tm_mday = atoi(buf); | ||
| buf[6] = '\0'; | ||
|
|
||
| - strcpy(month, &buf[3]); | ||
| + strlcpy(month, &buf[3], sizeof(month)); | ||
| ti.tm_year = atoi(&buf[7]); | ||
|
|
||
| /* Prevent wraparound from ambiguity */ | ||
| @@ -620,7 +620,7 @@ static int parse_http_date(const char *expires) | ||
| if (rv - now < 0) { | ||
| /* This is bad - set the delta to 0 so we expire next time around */ | ||
| error(0, "parse_http_date () Expiry time (%s) (delta=%ld) is in the past !", | ||
| - asctime(&ti), rv-now); | ||
| + asctime(&ti), (long)rv-now); | ||
| return 0; | ||
| } | ||
|
|
| @@ -0,0 +1,13 @@ | ||
| $OpenBSD$ | ||
| --- wap/wap_addr.c.orig Sun May 13 02:42:26 2012 | ||
| +++ wap/wap_addr.c Sun May 13 02:43:27 2012 | ||
| @@ -59,6 +59,9 @@ | ||
| */ | ||
|
|
||
| #include <stdlib.h> | ||
| +#include <sys/types.h> | ||
| +#include <sys/socket.h> | ||
| +#include <netinet/in.h> | ||
| #include <arpa/inet.h> | ||
|
|
||
| #include "gwlib/gwlib.h" |
| @@ -0,0 +1,30 @@ | ||
| $OpenBSD$ | ||
| --- wap/wsp.h.orig Sat May 12 16:20:16 2012 | ||
| +++ wap/wsp.h Sat May 12 16:25:25 2012 | ||
| @@ -112,7 +112,7 @@ struct WSPMachine { | ||
| #define REFERER(name) Octstr *name; | ||
| #define MACHINESLIST(name) List *name; | ||
| #define CAPABILITIES(name) List *name; | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wsp_server_session_machine.def" | ||
| }; | ||
|
|
||
| @@ -121,7 +121,7 @@ struct WSPMethodMachine { | ||
| #define INTEGER(name) long name; | ||
| #define ADDRTUPLE(name) WAPAddrTuple *name; | ||
| #define EVENT(name) WAPEvent *name; | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wsp_server_method_machine.def" | ||
| }; | ||
|
|
||
| @@ -129,7 +129,7 @@ struct WSPPushMachine { | ||
| #define INTEGER(name) long name; | ||
| #define ADDRTUPLE(name) WAPAddrTuple *name; | ||
| #define HTTPHEADER(name) List *name; | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wsp_server_push_machine.def" | ||
| }; | ||
|
|
| @@ -0,0 +1,21 @@ | ||
| $OpenBSD$ | ||
| --- wap/wsp_push_client.c.orig Sat May 12 16:37:15 2012 | ||
| +++ wap/wsp_push_client.c Sat May 12 16:37:34 2012 | ||
| @@ -384,7 +384,7 @@ static WSPPushClientMachine *push_client_machine_creat | ||
|
|
||
| #define INTEGER(name) m->name = 0; | ||
| #define HTTPHEADERS(name) m->name = NULL; | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wsp_push_client_machine.def" | ||
|
|
||
| m->state = PUSH_CLIENT_NULL_STATE; | ||
| @@ -406,7 +406,7 @@ static void push_client_machine_destroy(void *a) | ||
|
|
||
| #define INTEGER(name) m->name = 0; | ||
| #define HTTPHEADERS(name) http_destroy_headers(m->name); | ||
| - #define MACHINE(fields) fields; | ||
| + #define MACHINEWSP(fields) fields; | ||
| #include "wsp_push_client_machine.def" | ||
|
|
||
| gw_free(m); |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- wap/wsp_push_client.h.orig Sat May 12 16:30:31 2012 | ||
| +++ wap/wsp_push_client.h Sat May 12 16:30:45 2012 | ||
| @@ -91,7 +91,7 @@ struct WSPPushClientMachine { | ||
| #define INTEGER(name) long name; | ||
| #define HTTPHEADERS(name) List *name; | ||
| #define OCTSTR(name) Octstr *name; | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wsp_push_client_machine.def" | ||
| }; | ||
|
|
| @@ -0,0 +1,25 @@ | ||
| $OpenBSD$ | ||
| --- wap/wsp_push_client_machine.def.orig Sat May 12 16:27:27 2012 | ||
| +++ wap/wsp_push_client_machine.def Sat May 12 16:27:52 2012 | ||
| @@ -64,11 +64,11 @@ | ||
| #error "Macro INTEGER not defined." | ||
| #elif !defined(HTTPHEADERS) | ||
| #error "Macro HTTPHEADERS not defined." | ||
| -#elif !defined(MACHINE) | ||
| - #error "Macro MACHINE is not defined." | ||
| +#elif !defined(MACHINEWSP) | ||
| + #error "Macro MACHINEWSP is not defined." | ||
| #endif | ||
|
|
||
| -MACHINE( | ||
| +MACHINEWSP( | ||
| INTEGER(state) | ||
| INTEGER(client_push_id) | ||
| INTEGER(transaction_id) | ||
| @@ -78,5 +78,5 @@ MACHINE( | ||
|
|
||
| #undef INTEGER | ||
| #undef HTTPHEADERS | ||
| -#undef MACHINE | ||
| +#undef MACHINEWSP | ||
|
|
| @@ -0,0 +1,23 @@ | ||
| $OpenBSD$ | ||
| --- wap/wsp_server_method_machine.def.orig Sat May 12 16:24:36 2012 | ||
| +++ wap/wsp_server_method_machine.def Sat May 12 16:25:06 2012 | ||
| @@ -63,11 +63,11 @@ | ||
| #if !defined(INTEGER) || \ | ||
| !defined(ADDRTUPLE) || \ | ||
| !defined(EVENT) || \ | ||
| - !defined(MACHINE) | ||
| + !defined(MACHINEWSP) | ||
| #error "Some required macro is missing." | ||
| #endif | ||
|
|
||
| -MACHINE( | ||
| +MACHINEWSP( | ||
| INTEGER(transaction_id) | ||
| INTEGER(state) | ||
| ADDRTUPLE(addr_tuple) | ||
| @@ -79,4 +79,4 @@ MACHINE( | ||
| #undef INTEGER | ||
| #undef ADDRTUPLE | ||
| #undef EVENT | ||
| -#undef MACHINE | ||
| +#undef MACHINEWSP |
| @@ -0,0 +1,32 @@ | ||
| $OpenBSD$ | ||
| --- wap/wsp_server_push_machine.def.orig Sat May 12 13:44:08 2012 | ||
| +++ wap/wsp_server_push_machine.def Sat May 19 01:46:22 2012 | ||
| @@ -61,8 +61,8 @@ | ||
| * By Aarno Syv�nen for Wapit Ltd | ||
| */ | ||
|
|
||
| -#if !defined(MACHINE) | ||
| - #error "Definition of macro MACHINE is missing" | ||
| +#if !defined(MACHINEWSP) | ||
| + #error "Definition of macro MACHINEWSP is missing" | ||
| #elif !defined(INTEGER) | ||
| #error "Definition of macro INTEGER is missing" | ||
| #elif !defined(ADDRTUPLE) | ||
| @@ -71,7 +71,7 @@ | ||
| #error "Definition of macro HTTPHEADER is missing" | ||
| #endif | ||
|
|
||
| -MACHINE( | ||
| +MACHINEWSP( | ||
| INTEGER(state) | ||
| INTEGER(server_push_id) | ||
| INTEGER(session_id) | ||
| @@ -80,7 +80,7 @@ MACHINE( | ||
| HTTPHEADER(push_header) | ||
| ) | ||
|
|
||
| -#undef MACHINE | ||
| +#undef MACHINEWSP | ||
| #undef INTEGER | ||
| #undef ADDRTUPLE | ||
| #undef HTTPHEADER |
| @@ -0,0 +1,28 @@ | ||
| $OpenBSD$ | ||
| --- wap/wsp_server_session_machine.def.orig Sat May 12 16:20:49 2012 | ||
| +++ wap/wsp_server_session_machine.def Sat May 12 16:21:16 2012 | ||
| @@ -68,13 +68,13 @@ | ||
| !defined(COOKIES) || \ | ||
| !defined(MACHINESLIST) || \ | ||
| !defined(CAPABILITIES) || \ | ||
| - !defined(MACHINE) || \ | ||
| + !defined(MACHINEWSP) || \ | ||
| !defined(REFERER) | ||
| #error "Some required macro is missing." | ||
| #endif | ||
|
|
||
|
|
||
| -MACHINE( | ||
| +MACHINEWSP( | ||
| INTEGER(state) | ||
| INTEGER(connect_handle) | ||
| INTEGER(resume_handle) | ||
| @@ -100,7 +100,7 @@ MACHINE( | ||
| #undef HTTPHEADERS | ||
| #undef ADDRTUPLE | ||
| #undef MACHINESLIST | ||
| -#undef MACHINE | ||
| +#undef MACHINEWSP | ||
| #undef COOKIES | ||
| #undef CAPABILITIES | ||
| #undef REFERER |
| @@ -0,0 +1,57 @@ | ||
| $OpenBSD$ | ||
| --- wap/wsp_session.c.orig Sat May 12 16:37:59 2012 | ||
| +++ wap/wsp_session.c Sat May 12 16:38:34 2012 | ||
| @@ -494,7 +494,7 @@ static WSPMachine *machine_create(void) { | ||
| #define CAPABILITIES(name) p->name = NULL; | ||
| #define COOKIES(name) p->name = gwlist_create(); | ||
| #define REFERER(name) p->name = NULL; | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wsp_server_session_machine.def" | ||
|
|
||
| p->state = NULL_SESSION; | ||
| @@ -547,7 +547,7 @@ static void machine_destroy(void *pp) { | ||
| #define CAPABILITIES(name) wsp_cap_destroy_list(p->name); | ||
| #define COOKIES(name) cookies_destroy(p->name); | ||
| #define REFERER(name) octstr_destroy(p->name); | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wsp_server_session_machine.def" | ||
| gw_free(p); | ||
| } | ||
| @@ -612,7 +612,7 @@ static WSPMethodMachine *method_machine_create(WSPMach | ||
| #define INTEGER(name) msm->name = 0; | ||
| #define ADDRTUPLE(name) msm->name = NULL; | ||
| #define EVENT(name) msm->name = NULL; | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wsp_server_method_machine.def" | ||
|
|
||
| msm->transaction_id = wtp_handle; | ||
| @@ -641,7 +641,7 @@ static void method_machine_destroy(void *p) { | ||
| #define INTEGER(name) | ||
| #define ADDRTUPLE(name) wap_addr_tuple_destroy(msm->name); | ||
| #define EVENT(name) wap_event_destroy(msm->name); | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wsp_server_method_machine.def" | ||
|
|
||
| gw_free(msm); | ||
| @@ -694,7 +694,7 @@ static WSPPushMachine *push_machine_create(WSPMachine | ||
| #define INTEGER(name) m->name = 0; | ||
| #define ADDRTUPLE(name) m->name = NULL; | ||
| #define HTTPHEADER(name) m->name = http_create_empty_headers(); | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wsp_server_push_machine.def" | ||
|
|
||
| m->server_push_id = pid; | ||
| @@ -720,7 +720,7 @@ static void push_machine_destroy(void *p) | ||
| #define INTEGER(name) | ||
| #define ADDRTUPLE(name) wap_addr_tuple_destroy(m->name); | ||
| #define HTTPHEADER(name) http_destroy_headers(m->name); | ||
| - #define MACHINE(fields) fields | ||
| + #define MACHINEWSP(fields) fields | ||
| #include "wsp_server_push_machine.def" | ||
|
|
||
| gw_free(m); |
| @@ -0,0 +1,21 @@ | ||
| $OpenBSD$ | ||
| --- wap/wtls.c.orig Sat May 12 16:39:08 2012 | ||
| +++ wap/wtls.c Sat May 12 16:39:20 2012 | ||
| @@ -977,7 +977,7 @@ static WTLSMachine *wtls_machine_create(WAPAddrTuple * | ||
| WTLSMachine *wtls_machine; | ||
| wtls_machine = gw_malloc(sizeof(WTLSMachine)); | ||
|
|
||
| -#define MACHINE(field) field | ||
| +#define MACHINEWSP(field) field | ||
| #define ENUM(name) wtls_machine->name = NULL_STATE; | ||
| #define ADDRTUPLE(name) wtls_machine->name = NULL; | ||
| #define INTEGER(name) wtls_machine->name = 0; | ||
| @@ -1011,7 +1011,7 @@ static void wtls_machine_destroy(void *p) | ||
| wtls_machine->mid, (void *)wtls_machine); | ||
| gwlist_delete_equal(wtls_machines, wtls_machine); | ||
|
|
||
| -#define MACHINE(field) field | ||
| +#define MACHINEWSP(field) field | ||
| #define ENUM(name) wtls_machine->name = NULL_STATE; | ||
| #define ADDRTUPLE(name) wap_addr_tuple_destroy(wtls_machine->name); | ||
| #define INTEGER(name) wtls_machine->name = 0; |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- wap/wtls.h.orig Sat May 12 16:39:34 2012 | ||
| +++ wap/wtls.h Sat May 12 16:39:51 2012 | ||
| @@ -95,7 +95,7 @@ struct WTLSMachine { | ||
| #define ADDRTUPLE(name) WAPAddrTuple *name; | ||
| #define INTEGER(name) int name; | ||
| #define OCTSTR(name) Octstr *name; | ||
| -#define MACHINE(field) field | ||
| +#define MACHINEWSP(field) field | ||
| #define PDULIST(name) List *name; | ||
| #include "wtls_machine-decl.h" | ||
| }; |
| @@ -0,0 +1,32 @@ | ||
| $OpenBSD$ | ||
| --- wap/wtls_machine-decl.h.orig Sat May 12 17:20:50 2012 | ||
| +++ wap/wtls_machine-decl.h Sat May 12 17:21:46 2012 | ||
| @@ -83,8 +83,8 @@ | ||
| * | ||
| */ | ||
|
|
||
| -#if !defined(MACHINE) | ||
| -#error "wtls_machine-decl.h: Macro MACHINE is missing." | ||
| +#if !defined(MACHINEWSP) | ||
| +#error "wtls_machine-decl.h: Macro MACHINEWSP is missing." | ||
| #elif !defined(ENUM) | ||
| #error "wtls_machine-decl.h: Macro ENUM is missing." | ||
| #elif !defined(ADDRTUPLE) | ||
| @@ -101,7 +101,7 @@ | ||
| /* Last received packet maybe needs to be hashed according to Alert message in | ||
| case we need to send an alert. */ | ||
|
|
||
| -MACHINE(ENUM(state) | ||
| +MACHINEWSP(ENUM(state) | ||
| ADDRTUPLE(addr_tuple) /* The source address/port and dest address/port */ | ||
| INTEGER(bulk_cipher_algorithm) /* Bulk Cipher Algorithm identifier */ | ||
| INTEGER(cipher_type) /* Cipher type */ | ||
| @@ -138,7 +138,7 @@ MACHINE(ENUM(state) | ||
| OCTSTR(packet_to_send) /* A packet we're preparing to send */ | ||
| ) | ||
|
|
||
| -#undef MACHINE | ||
| +#undef MACHINEWSP | ||
| #undef ENUM | ||
| #undef ADDRTUPLE | ||
| #undef INTEGER |
| @@ -0,0 +1,21 @@ | ||
| $OpenBSD$ | ||
| --- wap/wtp_init.c.orig Sat May 12 16:40:36 2012 | ||
| +++ wap/wtp_init.c Sat May 12 16:40:55 2012 | ||
| @@ -238,7 +238,7 @@ static WTPInitMachine *init_machine_create(WAPAddrTupl | ||
| #define EVENT(name) init_machine->name = NULL; | ||
| #define TIMER(name) init_machine->name = gwtimer_create(queue); | ||
| #define ADDRTUPLE(name) init_machine->name = NULL; | ||
| - #define MACHINE(field) field | ||
| + #define MACHINEWSP(field) field | ||
| #include "wtp_init_machine.def" | ||
|
|
||
| gwlist_append(init_machines, init_machine); | ||
| @@ -273,7 +273,7 @@ static void init_machine_destroy(void *p) | ||
| #define EVENT(name) wap_event_destroy(init_machine->name); | ||
| #define TIMER(name) gwtimer_destroy(init_machine->name); | ||
| #define ADDRTUPLE(name) wap_addr_tuple_destroy(init_machine->name); | ||
| - #define MACHINE(field) field | ||
| + #define MACHINEWSP(field) field | ||
| #include "wtp_init_machine.def" | ||
| gw_free(init_machine); | ||
| } |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- wap/wtp_init.h.orig Sat May 12 16:41:08 2012 | ||
| +++ wap/wtp_init.h Sat May 12 16:41:22 2012 | ||
| @@ -93,7 +93,7 @@ typedef struct WTPInitMachine { | ||
| #define TIMER(name) Timer *name; | ||
| #define ADDRTUPLE(name) WAPAddrTuple *name; | ||
| #define ENUM(name) init_states name; | ||
| - #define MACHINE(field) field | ||
| + #define MACHINEWSP(field) field | ||
| #include "wtp_init_machine.def" | ||
| } WTPInitMachine; | ||
|
|
| @@ -0,0 +1,32 @@ | ||
| $OpenBSD$ | ||
| --- wap/wtp_init_machine.def.orig Sat May 12 16:45:32 2012 | ||
| +++ wap/wtp_init_machine.def Sat May 12 16:45:54 2012 | ||
| @@ -85,8 +85,8 @@ | ||
| */ | ||
|
|
||
|
|
||
| -#if !defined(MACHINE) | ||
| - #error "Macro MACHINE is missing." | ||
| +#if !defined(MACHINEWSP) | ||
| + #error "Macro MACHINEWSP is missing." | ||
| #elif !defined(INTEGER) | ||
| #error "Macro INTEGER is missing." | ||
| #elif !defined(ENUM) | ||
| @@ -99,7 +99,7 @@ | ||
| #error "Macro ADDRTUPLE is missing." | ||
| #endif | ||
|
|
||
| -MACHINE(ENUM(state) | ||
| +MACHINEWSP(ENUM(state) | ||
| INTEGER(tid) /* transaction identifier */ | ||
| ADDRTUPLE(addr_tuple) | ||
| INTEGER(tidnew) /* tidnew flag */ | ||
| @@ -111,7 +111,7 @@ MACHINE(ENUM(state) | ||
| INTEGER(rid) /* are we resending invoke */ | ||
| ) | ||
|
|
||
| -#undef MACHINE | ||
| +#undef MACHINEWSP | ||
| #undef ENUM | ||
| #undef EVENT | ||
| #undef INTEGER |
| @@ -0,0 +1,21 @@ | ||
| $OpenBSD$ | ||
| --- wap/wtp_resp.c.orig Sat May 12 16:41:54 2012 | ||
| +++ wap/wtp_resp.c Sat May 12 16:42:05 2012 | ||
| @@ -600,7 +600,7 @@ static WTPRespMachine *resp_machine_create(WAPAddrTupl | ||
| #define ADDRTUPLE(name) resp_machine->name = NULL; | ||
| #define LIST(name) resp_machine->name = NULL; | ||
| #define SARDATA(name) resp_machine->name = NULL; | ||
| - #define MACHINE(field) field | ||
| + #define MACHINEWSP(field) field | ||
| #include "wtp_resp_machine.def" | ||
|
|
||
| gwlist_append(resp_machines, resp_machine); | ||
| @@ -638,7 +638,7 @@ static void resp_machine_destroy(void * p) | ||
| #define ADDRTUPLE(name) wap_addr_tuple_destroy(resp_machine->name); | ||
| #define LIST(name) gwlist_destroy(resp_machine->name,sar_info_destroy); | ||
| #define SARDATA(name) sardata_destroy(resp_machine->name); | ||
| - #define MACHINE(field) field | ||
| + #define MACHINEWSP(field) field | ||
| #include "wtp_resp_machine.def" | ||
| gw_free(resp_machine); | ||
| } |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- wap/wtp_resp.h.orig Sat May 12 16:42:18 2012 | ||
| +++ wap/wtp_resp.h Sat May 12 16:42:25 2012 | ||
| @@ -121,7 +121,7 @@ struct WTPRespMachine { | ||
| #define EVENT(name) WAPEvent *name; | ||
| #define LIST(name) List *name; | ||
| #define SARDATA(name) WTPSARData *name; | ||
| - #define MACHINE(field) field | ||
| + #define MACHINEWSP(field) field | ||
| #include "wtp_resp_machine.def" | ||
| }; | ||
|
|
| @@ -0,0 +1,32 @@ | ||
| $OpenBSD$ | ||
| --- wap/wtp_resp_machine.def.orig Sat May 12 16:44:34 2012 | ||
| +++ wap/wtp_resp_machine.def Sat May 12 16:45:05 2012 | ||
| @@ -88,8 +88,8 @@ | ||
| * e) packed result message, for greater effectivity | ||
| */ | ||
|
|
||
| -#if !defined(MACHINE) | ||
| - #error "Macro MACHINE is missing." | ||
| +#if !defined(MACHINEWSP) | ||
| + #error "Macro MACHINEWSP is missing." | ||
| #elif !defined(INTEGER) | ||
| #error "Macro INTEGER is missing." | ||
| #elif !defined(ENUM) | ||
| @@ -106,7 +106,7 @@ | ||
| #error "Macro ADDRTUPLE is missing." | ||
| #endif | ||
|
|
||
| -MACHINE(ENUM(state) | ||
| +MACHINEWSP(ENUM(state) | ||
| INTEGER(tid) /* transaction identifier */ | ||
| ADDRTUPLE(addr_tuple) | ||
| INTEGER(tcl) /* transaction class */ | ||
| @@ -128,7 +128,7 @@ MACHINE(ENUM(state) | ||
| SARDATA(sar) /* ! NULL if were we asked for SAR */ | ||
| ) | ||
|
|
||
| -#undef MACHINE | ||
| +#undef MACHINEWSP | ||
| #undef INTEGER | ||
| #undef ENUM | ||
| #undef TIMER |
| @@ -0,0 +1,14 @@ | ||
| $OpenBSD$ | ||
| --- wmlscript/wmlsc.c.orig Sun May 13 03:16:02 2012 | ||
| +++ wmlscript/wmlsc.c Sun May 13 03:17:23 2012 | ||
| @@ -198,8 +198,8 @@ int main(int argc, char *argv[]) | ||
| strerror(errno)); | ||
| exit(1); | ||
| } | ||
| - strcpy(outname, argv[i]); | ||
| - strcat(outname, "c"); | ||
| + strlcpy(outname, argv[i], sizeof(outname)); | ||
| + strlcat(outname, "c", sizeof(outname)); | ||
|
|
||
| ofp = fopen(outname, "wb"); | ||
| if (ofp == NULL) { |
| @@ -0,0 +1,12 @@ | ||
| $OpenBSD$ | ||
| --- wmlscript/wslexer.c.orig Sun May 13 11:58:40 2012 | ||
| +++ wmlscript/wslexer.c Sun May 13 12:16:17 2012 | ||
| @@ -112,6 +112,8 @@ | ||
|
|
||
| /********************* Prototypes for static functions ******************/ | ||
|
|
||
| +int ws_yy_lex(YYSTYPE *yylval, YYLTYPE *yylloc, void *context); | ||
| + | ||
| /* Check whether the identifier `id', `len' is a keyword. If the | ||
| identifier is a keyword, the function returns WS_TRUE and sets the | ||
| keywords token ID to `token_return'. Otherwise the function |
| @@ -0,0 +1,3 @@ | ||
| Kannel is a compact and very powerful open source WAP and SMS gateway, used widely | ||
| across the globe both for serving trillions of short messages (SMS), WAP Push | ||
| service indications and mobile internet connectivity. |
| @@ -0,0 +1,178 @@ | ||
| @comment $OpenBSD$ | ||
| @newgroup _kannel:693 | ||
| @newuser _kannel:693:693:daemon:Kannel:/nonexistent:/sbin/nologin | ||
| @bin bin/decode_emimsg | ||
| bin/gw-config | ||
| @bin bin/mtbatch | ||
| @bin bin/seewbmp | ||
| @bin bin/wmlsc | ||
| @bin bin/wmlsdasm | ||
| include/kannel/ | ||
| include/kannel/gw/ | ||
| include/kannel/gw-config.h | ||
| include/kannel/gw/alt_charsets.h | ||
| include/kannel/gw/bb.h | ||
| include/kannel/gw/bb_smscconn_cb.h | ||
| include/kannel/gw/bb_store.h | ||
| include/kannel/gw/bearerbox.h | ||
| include/kannel/gw/dlr.h | ||
| include/kannel/gw/dlr_p.h | ||
| include/kannel/gw/heartbeat.h | ||
| include/kannel/gw/html.h | ||
| include/kannel/gw/load.h | ||
| include/kannel/gw/meta_data.h | ||
| include/kannel/gw/mime_decompiler.h | ||
| include/kannel/gw/msg-decl.h | ||
| include/kannel/gw/msg.h | ||
| include/kannel/gw/numhash.h | ||
| include/kannel/gw/ota_compiler.h | ||
| include/kannel/gw/ota_prov.h | ||
| include/kannel/gw/ota_prov_attr.h | ||
| include/kannel/gw/shared.h | ||
| include/kannel/gw/sms.h | ||
| include/kannel/gw/smsc/ | ||
| include/kannel/gw/smsc/emimsg.h | ||
| include/kannel/gw/smsc/smasi_pdu.def | ||
| include/kannel/gw/smsc/smasi_pdu.h | ||
| include/kannel/gw/smsc/smpp_pdu.def | ||
| include/kannel/gw/smsc/smpp_pdu.h | ||
| include/kannel/gw/smsc/smpp_pdu_opt.def | ||
| include/kannel/gw/smsc/smsc.h | ||
| include/kannel/gw/smsc/smsc_at.h | ||
| include/kannel/gw/smsc/smsc_p.h | ||
| include/kannel/gw/smsc/smsc_sema.h | ||
| include/kannel/gw/smscconn.h | ||
| include/kannel/gw/smscconn_p.h | ||
| include/kannel/gw/urltrans.h | ||
| include/kannel/gw/wap-appl.h | ||
| include/kannel/gw/wap-error.h | ||
| include/kannel/gw/wap-maps.h | ||
| include/kannel/gw/wap_ppg_push_machine.def | ||
| include/kannel/gw/wap_ppg_session_machine.def | ||
| include/kannel/gw/wap_push_ota.h | ||
| include/kannel/gw/wap_push_pap_compiler.h | ||
| include/kannel/gw/wap_push_pap_mime.h | ||
| include/kannel/gw/wap_push_ppg.h | ||
| include/kannel/gw/wap_push_ppg_pushuser.h | ||
| include/kannel/gw/wap_push_si_compiler.h | ||
| include/kannel/gw/wap_push_sl_compiler.h | ||
| include/kannel/gw/wbxml_tokens.def | ||
| include/kannel/gw/wml_compiler.h | ||
| include/kannel/gw/wml_definitions.h | ||
| include/kannel/gw/xml_definitions.h | ||
| include/kannel/gw/xml_shared.h | ||
| include/kannel/gwlib/ | ||
| include/kannel/gwlib/accesslog.h | ||
| include/kannel/gwlib/cfg.def | ||
| include/kannel/gwlib/cfg.h | ||
| include/kannel/gwlib/charset.h | ||
| include/kannel/gwlib/conn.h | ||
| include/kannel/gwlib/counter.h | ||
| include/kannel/gwlib/date.h | ||
| include/kannel/gwlib/dbpool.h | ||
| include/kannel/gwlib/dbpool_p.h | ||
| include/kannel/gwlib/dict.h | ||
| include/kannel/gwlib/fdset.h | ||
| include/kannel/gwlib/gw-getopt.h | ||
| include/kannel/gwlib/gw-prioqueue.h | ||
| include/kannel/gwlib/gw-rwlock.h | ||
| include/kannel/gwlib/gw_uuid.h | ||
| include/kannel/gwlib/gw_uuid_types.h | ||
| include/kannel/gwlib/gwassert.h | ||
| include/kannel/gwlib/gwlib.h | ||
| include/kannel/gwlib/gwmem.h | ||
| include/kannel/gwlib/gwpoll.h | ||
| include/kannel/gwlib/gwthread.h | ||
| include/kannel/gwlib/html-entities.def | ||
| include/kannel/gwlib/http.h | ||
| include/kannel/gwlib/latin1_to_gsm.h | ||
| include/kannel/gwlib/list.h | ||
| include/kannel/gwlib/log.h | ||
| include/kannel/gwlib/md5.h | ||
| include/kannel/gwlib/mime.h | ||
| include/kannel/gwlib/octstr.h | ||
| include/kannel/gwlib/parse.h | ||
| include/kannel/gwlib/pcre.h | ||
| include/kannel/gwlib/pki.h | ||
| include/kannel/gwlib/protected.h | ||
| include/kannel/gwlib/regex.h | ||
| include/kannel/gwlib/semaphore.h | ||
| include/kannel/gwlib/socket.h | ||
| include/kannel/gwlib/ssl.h | ||
| include/kannel/gwlib/thread.h | ||
| include/kannel/gwlib/utils.h | ||
| include/kannel/gwlib/xmlrpc.h | ||
| include/kannel/wap/ | ||
| include/kannel/wap/cookies.h | ||
| include/kannel/wap/timers.h | ||
| include/kannel/wap/wap.h | ||
| include/kannel/wap/wap_addr.h | ||
| include/kannel/wap/wap_events.def | ||
| include/kannel/wap/wap_events.h | ||
| include/kannel/wap/wsp.h | ||
| include/kannel/wap/wsp_caps.h | ||
| include/kannel/wap/wsp_headers.h | ||
| include/kannel/wap/wsp_pdu.def | ||
| include/kannel/wap/wsp_pdu.h | ||
| include/kannel/wap/wsp_push_client.h | ||
| include/kannel/wap/wsp_push_client_machine.def | ||
| include/kannel/wap/wsp_push_client_states.def | ||
| include/kannel/wap/wsp_server_method_machine.def | ||
| include/kannel/wap/wsp_server_method_states.def | ||
| include/kannel/wap/wsp_server_push_machine.def | ||
| include/kannel/wap/wsp_server_push_states.def | ||
| include/kannel/wap/wsp_server_session_machine.def | ||
| include/kannel/wap/wsp_server_session_states.def | ||
| include/kannel/wap/wsp_strings.def | ||
| include/kannel/wap/wsp_strings.h | ||
| include/kannel/wap/wtls.h | ||
| include/kannel/wap/wtls_machine-decl.h | ||
| include/kannel/wap/wtls_pdu.h | ||
| include/kannel/wap/wtls_pdusupport.h | ||
| include/kannel/wap/wtls_state-decl.h | ||
| include/kannel/wap/wtls_statesupport.h | ||
| include/kannel/wap/wtp.h | ||
| include/kannel/wap/wtp_init.h | ||
| include/kannel/wap/wtp_init_machine.def | ||
| include/kannel/wap/wtp_init_states.def | ||
| include/kannel/wap/wtp_pack.h | ||
| include/kannel/wap/wtp_pdu.def | ||
| include/kannel/wap/wtp_pdu.h | ||
| include/kannel/wap/wtp_resp.h | ||
| include/kannel/wap/wtp_resp_machine.def | ||
| include/kannel/wap/wtp_resp_states.def | ||
| include/kannel/wap/wtp_tid.h | ||
| lib/kannel/ | ||
| lib/kannel/libgw.a | ||
| lib/kannel/libgwlib.a | ||
| lib/kannel/libwap.a | ||
| @man man/man1/mtbatch.1 | ||
| @man man/man1/seewbmp.1 | ||
| @man man/man1/wmlsc.1 | ||
| @man man/man1/wmlsdasm.1 | ||
| @man man/man8/kannel.8 | ||
| @man man/man8/run_kannel_box.8 | ||
| @bin sbin/bearerbox | ||
| sbin/kannelctl | ||
| @bin sbin/run_kannel_box | ||
| @bin sbin/smsbox | ||
| sbin/smsbox_enable | ||
| @bin sbin/wapbox | ||
| sbin/wapbox_enable | ||
| share/doc/pkg-readmes/${FULLPKGNAME} | ||
| share/examples/kannel/ | ||
| @sample ${SYSCONFDIR}/kannel/ | ||
| share/examples/kannel/dlr-mysql.conf | ||
| share/examples/kannel/dlr-sqlite3.conf | ||
| share/examples/kannel/kannel.conf | ||
| @sample ${SYSCONFDIR}/kannel/kannel.conf | ||
| share/examples/kannel/modems.conf | ||
| @sample ${SYSCONFDIR}/kannel/modems.conf | ||
| @sample share/kannel/ | ||
| @mode 770 | ||
| @owner root | ||
| @group _kannel | ||
| @sample /var/log/kannel/ | ||
| @owner _kannel | ||
| @sample /var/spool/kannel/ | ||
| @rcscript ${RCDIR}/kannel |
| @@ -0,0 +1,20 @@ | ||
| $OpenBSD: | ||
|
|
||
| +----------------------------------------------------------------------- | ||
| | Running ${FULLPKGNAME} on OpenBSD | ||
| +----------------------------------------------------------------------- | ||
|
|
||
| Post-installation steps | ||
| ======================= | ||
| 1. Carefully edit ${SYSCONFDIR}/kannel/kannel.conf. | ||
|
|
||
| 2. Enable SMS or/and WAP box | ||
|
|
||
| # ${PREFIX}/sbin/smsbox_enable | ||
| # ${PREFIX}/sbin/wapbox_enable | ||
|
|
||
| 3. Launch kannel with /etc/rc.d/kannel start | ||
|
|
||
| Random hints | ||
| ============ | ||
| Check /var/log/kannel/*.log if something goes wrong. |
| @@ -0,0 +1,23 @@ | ||
| #!/bin/sh | ||
| # | ||
| # $OpenBSD: | ||
|
|
||
| daemon="${TRUEPREFIX}/sbin/bearerbox" | ||
|
|
||
| . /etc/rc.d/rc.subr | ||
|
|
||
| rc_pre() { | ||
| install -d -o _kannel /var/run/kannel | ||
| } | ||
|
|
||
| rc_start() { | ||
| ${rcexec} "${TRUEPREFIX}/sbin/kannelctl start" | ||
| } | ||
|
|
||
| rc_stop() { | ||
| ${rcexec} "${TRUEPREFIX}/sbin/kannelctl stop" | ||
| } | ||
|
|
||
| rc_reload=NO | ||
|
|
||
| rc_cmd $1 |