[asterisk-commits] branch oej/securertp-trunk r33372 - in
/team/oej/securertp-trunk: ./ apps/ cd...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Fri Jun 9 14:12:11 MST 2006
Author: oej
Date: Fri Jun 9 16:12:11 2006
New Revision: 33372
URL: http://svn.digium.com/view/asterisk?rev=33372&view=rev
Log:
Reset, resolve, go
Modified:
team/oej/securertp-trunk/ (props changed)
team/oej/securertp-trunk/abstract_jb.c
team/oej/securertp-trunk/apps/app_followme.c
team/oej/securertp-trunk/apps/app_voicemail.c
team/oej/securertp-trunk/asterisk.c
team/oej/securertp-trunk/cdr/cdr_csv.c
team/oej/securertp-trunk/cdr/cdr_custom.c
team/oej/securertp-trunk/cdr/cdr_radius.c
team/oej/securertp-trunk/channels/chan_sip.c
team/oej/securertp-trunk/codecs/gsm/src/preprocess.c
team/oej/securertp-trunk/include/asterisk.h
team/oej/securertp-trunk/include/asterisk/endian.h
team/oej/securertp-trunk/include/asterisk/rtp.h
team/oej/securertp-trunk/include/asterisk/stringfields.h
team/oej/securertp-trunk/logger.c
team/oej/securertp-trunk/pbx/Makefile
team/oej/securertp-trunk/pbx/ael/ael.flex
team/oej/securertp-trunk/pbx/ael/ael_lex.c
team/oej/securertp-trunk/plc.c
team/oej/securertp-trunk/res/res_musiconhold.c
team/oej/securertp-trunk/rtp.c
Propchange: team/oej/securertp-trunk/
------------------------------------------------------------------------------
automerge = http://edvina.net/training/
Propchange: team/oej/securertp-trunk/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Jun 9 16:12:11 2006
@@ -1,1 +1,1 @@
-/trunk:1-33341
+/trunk:1-33370
Modified: team/oej/securertp-trunk/abstract_jb.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/abstract_jb.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/abstract_jb.c (original)
+++ team/oej/securertp-trunk/abstract_jb.c Fri Jun 9 16:12:11 2006
@@ -32,7 +32,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <limits.h>
#include "asterisk/frame.h"
#include "asterisk/channel.h"
Modified: team/oej/securertp-trunk/apps/app_followme.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/apps/app_followme.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/apps/app_followme.c (original)
+++ team/oej/securertp-trunk/apps/app_followme.c Fri Jun 9 16:12:11 2006
@@ -92,12 +92,12 @@
unsigned int active; /*!< Profile is active (1), or disabled (0). */
char takecall[20]; /*!< Digit mapping to take a call */
char nextindp[20]; /*!< Digit mapping to decline a call */
- char callfromprompt[AST_CONFIG_MAX_PATH];
- char norecordingprompt[AST_CONFIG_MAX_PATH];
- char optionsprompt[AST_CONFIG_MAX_PATH];
- char plsholdprompt[AST_CONFIG_MAX_PATH];
- char statusprompt[AST_CONFIG_MAX_PATH];
- char sorryprompt[AST_CONFIG_MAX_PATH];
+ char callfromprompt[PATH_MAX];
+ char norecordingprompt[PATH_MAX];
+ char optionsprompt[PATH_MAX];
+ char plsholdprompt[PATH_MAX];
+ char statusprompt[PATH_MAX];
+ char sorryprompt[PATH_MAX];
AST_LIST_HEAD_NOLOCK(numbers, number) numbers; /*!< Head of the list of follow-me numbers */
AST_LIST_HEAD_NOLOCK(blnumbers, number) blnumbers; /*!< Head of the list of black-listed numbers */
@@ -115,12 +115,12 @@
struct ast_channel *outbound;
char takecall[20]; /*!< Digit mapping to take a call */
char nextindp[20]; /*!< Digit mapping to decline a call */
- char callfromprompt[AST_CONFIG_MAX_PATH];
- char norecordingprompt[AST_CONFIG_MAX_PATH];
- char optionsprompt[AST_CONFIG_MAX_PATH];
- char plsholdprompt[AST_CONFIG_MAX_PATH];
- char statusprompt[AST_CONFIG_MAX_PATH];
- char sorryprompt[AST_CONFIG_MAX_PATH];
+ char callfromprompt[PATH_MAX];
+ char norecordingprompt[PATH_MAX];
+ char optionsprompt[PATH_MAX];
+ char plsholdprompt[PATH_MAX];
+ char statusprompt[PATH_MAX];
+ char sorryprompt[PATH_MAX];
struct ast_flags followmeflags;
};
@@ -156,12 +156,12 @@
static const char *defaultmoh = "default"; /*!< Default Music-On-Hold Class */
static char takecall[20] = "1", nextindp[20] = "2";
-static char callfromprompt[AST_CONFIG_MAX_PATH] = "followme/call-from";
-static char norecordingprompt[AST_CONFIG_MAX_PATH] = "followme/no-recording";
-static char optionsprompt[AST_CONFIG_MAX_PATH] = "followme/followme-options";
-static char plsholdprompt[AST_CONFIG_MAX_PATH] = "followme/pls-hold-while-try";
-static char statusprompt[AST_CONFIG_MAX_PATH] = "followme/followme-status";
-static char sorryprompt[AST_CONFIG_MAX_PATH] = "followme/followme-sorry";
+static char callfromprompt[PATH_MAX] = "followme/call-from";
+static char norecordingprompt[PATH_MAX] = "followme/no-recording";
+static char optionsprompt[PATH_MAX] = "followme/followme-options";
+static char plsholdprompt[PATH_MAX] = "followme/pls-hold-while-try";
+static char statusprompt[PATH_MAX] = "followme/followme-status";
+static char sorryprompt[PATH_MAX] = "followme/followme-sorry";
static AST_LIST_HEAD_STATIC(followmes, ast_call_followme);
Modified: team/oej/securertp-trunk/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/apps/app_voicemail.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/apps/app_voicemail.c (original)
+++ team/oej/securertp-trunk/apps/app_voicemail.c Fri Jun 9 16:12:11 2006
@@ -309,7 +309,7 @@
#define DELETE(a,b,c) (vm_delete(c))
#endif
-static char VM_SPOOL_DIR[AST_CONFIG_MAX_PATH];
+static char VM_SPOOL_DIR[PATH_MAX];
static char ext_pass_cmd[128];
@@ -651,8 +651,8 @@
char inbuf[256];
char orig[256];
char currcontext[256] ="";
- char tmpin[AST_CONFIG_MAX_PATH];
- char tmpout[AST_CONFIG_MAX_PATH];
+ char tmpin[PATH_MAX];
+ char tmpout[PATH_MAX];
struct stat statbuf;
if (!change_password_realtime(vmu, newpassword))
Modified: team/oej/securertp-trunk/asterisk.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/asterisk.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/asterisk.c (original)
+++ team/oej/securertp-trunk/asterisk.c Fri Jun 9 16:12:11 2006
@@ -199,26 +199,26 @@
static int ast_el_read_history(char *);
static int ast_el_write_history(char *);
-char ast_config_AST_CONFIG_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_CONFIG_FILE[AST_CONFIG_MAX_PATH];
-char ast_config_AST_MODULE_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_SPOOL_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_MONITOR_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_VAR_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_DATA_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_LOG_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_AGI_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_DB[AST_CONFIG_MAX_PATH];
-char ast_config_AST_KEY_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_PID[AST_CONFIG_MAX_PATH];
-char ast_config_AST_SOCKET[AST_CONFIG_MAX_PATH];
-char ast_config_AST_RUN_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_RUN_USER[AST_CONFIG_MAX_PATH];
-char ast_config_AST_RUN_GROUP[AST_CONFIG_MAX_PATH];
-char ast_config_AST_CTL_PERMISSIONS[AST_CONFIG_MAX_PATH];
-char ast_config_AST_CTL_OWNER[AST_CONFIG_MAX_PATH] = "\0";
-char ast_config_AST_CTL_GROUP[AST_CONFIG_MAX_PATH] = "\0";
-char ast_config_AST_CTL[AST_CONFIG_MAX_PATH] = "asterisk.ctl";
+char ast_config_AST_CONFIG_DIR[PATH_MAX];
+char ast_config_AST_CONFIG_FILE[PATH_MAX];
+char ast_config_AST_MODULE_DIR[PATH_MAX];
+char ast_config_AST_SPOOL_DIR[PATH_MAX];
+char ast_config_AST_MONITOR_DIR[PATH_MAX];
+char ast_config_AST_VAR_DIR[PATH_MAX];
+char ast_config_AST_DATA_DIR[PATH_MAX];
+char ast_config_AST_LOG_DIR[PATH_MAX];
+char ast_config_AST_AGI_DIR[PATH_MAX];
+char ast_config_AST_DB[PATH_MAX];
+char ast_config_AST_KEY_DIR[PATH_MAX];
+char ast_config_AST_PID[PATH_MAX];
+char ast_config_AST_SOCKET[PATH_MAX];
+char ast_config_AST_RUN_DIR[PATH_MAX];
+char ast_config_AST_RUN_USER[PATH_MAX];
+char ast_config_AST_RUN_GROUP[PATH_MAX];
+char ast_config_AST_CTL_PERMISSIONS[PATH_MAX];
+char ast_config_AST_CTL_OWNER[PATH_MAX] = "\0";
+char ast_config_AST_CTL_GROUP[PATH_MAX] = "\0";
+char ast_config_AST_CTL[PATH_MAX] = "asterisk.ctl";
char ast_config_AST_SYSTEM_NAME[20] = "";
extern const char *ast_build_hostname;
@@ -657,7 +657,7 @@
/* Close file descriptors and launch system command */
for (x = STDERR_FILENO + 1; x < 4096; x++)
close(x);
- execl("/bin/sh", "/bin/sh", "-c", s, NULL);
+ execl("/bin/sh", "/bin/sh", "-c", s, (char *) NULL);
exit(1);
} else if (pid > 0) {
for(;;) {
Modified: team/oej/securertp-trunk/cdr/cdr_csv.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/cdr/cdr_csv.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/cdr/cdr_csv.c (original)
+++ team/oej/securertp-trunk/cdr/cdr_csv.c Fri Jun 9 16:12:11 2006
@@ -261,7 +261,7 @@
static int writefile(char *s, char *acc)
{
- char tmp[AST_CONFIG_MAX_PATH];
+ char tmp[PATH_MAX];
FILE *f;
if (strchr(acc, '/') || (acc[0] == '.')) {
ast_log(LOG_WARNING, "Account code '%s' insecure for writing file\n", acc);
@@ -282,7 +282,7 @@
{
/* Make sure we have a big enough buf */
char buf[1024];
- char csvmaster[AST_CONFIG_MAX_PATH];
+ char csvmaster[PATH_MAX];
snprintf(csvmaster, sizeof(csvmaster),"%s/%s/%s", ast_config_AST_LOG_DIR, CSV_LOG_DIR, CSV_MASTER);
#if 0
printf("[CDR] %s ('%s' -> '%s') Dur: %ds Bill: %ds Disp: %s Flags: %s Account: [%s]\n", cdr->channel, cdr->src, cdr->dst, cdr->duration, cdr->billsec, ast_cdr_disp2str(cdr->disposition), ast_cdr_flags2str(cdr->amaflags), cdr->accountcode);
Modified: team/oej/securertp-trunk/cdr/cdr_custom.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/cdr/cdr_custom.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/cdr/cdr_custom.c (original)
+++ team/oej/securertp-trunk/cdr/cdr_custom.c Fri Jun 9 16:12:11 2006
@@ -63,7 +63,7 @@
static FILE *mf = NULL;
-static char master[AST_CONFIG_MAX_PATH];
+static char master[PATH_MAX];
static char format[1024]="";
static int load_config(int reload)
Modified: team/oej/securertp-trunk/cdr/cdr_radius.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/cdr/cdr_radius.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/cdr/cdr_radius.c (original)
+++ team/oej/securertp-trunk/cdr/cdr_radius.c Fri Jun 9 16:12:11 2006
@@ -88,7 +88,7 @@
static char *name = "radius";
static char *cdr_config = "cdr.conf";
-static char radiuscfg[AST_CONFIG_MAX_PATH] = "/etc/radiusclient-ng/radiusclient.conf";
+static char radiuscfg[PATH_MAX] = "/etc/radiusclient-ng/radiusclient.conf";
static struct ast_flags global_flags = { RADIUS_FLAG_USEGMTIME | RADIUS_FLAG_LOGUNIQUEID | RADIUS_FLAG_LOGUSERFIELD };
Modified: team/oej/securertp-trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/channels/chan_sip.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/channels/chan_sip.c (original)
+++ team/oej/securertp-trunk/channels/chan_sip.c Fri Jun 9 16:12:11 2006
@@ -1730,6 +1730,8 @@
if (p->owner) {
ast_log(LOG_WARNING, "Autodestruct on dialog '%s' with owner in place (Method: %s)\n", p->callid, sip_methods[p->method].text);
ast_queue_hangup(p->owner);
+ } else if (p->refer) {
+ transmit_request_with_auth(p, SIP_BYE, 0, XMIT_RELIABLE, 1);
} else {
sip_destroy(p);
}
@@ -2921,12 +2923,13 @@
if (ast_test_flag(&p->flags[0], SIP_DEFER_BYE_ON_TRANSFER)) {
if (option_debug >3)
- ast_log(LOG_DEBUG, "SIP Transfer: Not hanging up right now... Rescheduling hangup.\n");
+ ast_log(LOG_DEBUG, "SIP Transfer: Not hanging up right now... Rescheduling hangup for %s.\n", p->callid);
if (p->autokillid > -1)
sip_cancel_destroy(p);
sip_scheddestroy(p, 32000);
ast_clear_flag(&p->flags[0], SIP_DEFER_BYE_ON_TRANSFER); /* Really hang up next time */
ast_clear_flag(&p->flags[0], SIP_NEEDDESTROY);
+ p->owner->tech_pvt = NULL;
p->owner = NULL; /* Owner will be gone after we return, so take it away */
return 0;
}
@@ -3144,7 +3147,7 @@
ast_mutex_lock(&p->lock);
append_history(p, "Masq", "Old channel: %s\n", oldchan->name);
- append_history(p, "Masq (cont)", "...new owner: %s\n", p->owner->name);
+ append_history(p, "Masq (cont)", "...new owner: %s\n", newchan->name);
if (p->owner != oldchan)
ast_log(LOG_WARNING, "old channel wasn't %p but was %p\n", oldchan, p->owner);
else {
@@ -3153,16 +3156,6 @@
}
if (option_debug > 2)
ast_log(LOG_DEBUG, "SIP Fixup: New owner for dialogue %s: %s (Old parent: %s)\n", p->callid, p->owner->name, oldchan->name);
- if (p->refer) {
- if (option_debug > 2) {
- if (oldchan->tech_pvt) {
- struct sip_pvt *old = oldchan->tech_pvt;
- ast_log(LOG_DEBUG, "Releasing connection between %s and pvt %s\n", oldchan->name, old->callid);
- } else
- ast_log(LOG_DEBUG, "Hmmm. No sip_pvt to release for %s\n", oldchan->name);
- }
- oldchan->tech_pvt = NULL; /* Release connection between old channel and it's pvt so we can hang up in peace */
- }
ast_mutex_unlock(&p->lock);
return ret;
@@ -10968,15 +10961,17 @@
/* They got the notify, this is the end */
if (p->owner) {
if (!p->refer) {
- ast_log(LOG_WARNING, "Notify answer on an owned channel?\n");
+ ast_log(LOG_WARNING, "Notify answer on an owned channel? - %s\n", p->owner->name);
ast_queue_hangup(p->owner);
}
} else {
if (p->subscribed == NONE)
ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);
}
- } else if (sipmethod == SIP_REGISTER)
+ } else if (sipmethod == SIP_REGISTER)
res = handle_response_register(p, resp, rest, req, ignore, seqno);
+ else if (sipmethod == SIP_BYE)
+ ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);
break;
case 202: /* Transfer accepted */
if (sipmethod == SIP_REFER)
@@ -11171,7 +11166,7 @@
if (ast_test_flag(req, SIP_PKT_DEBUG))
ast_verbose("SIP Response message for INCOMING dialog %s arrived\n", msg);
- if (resp == 200) {
+ if (sipmethod == SIP_INVITE && resp == 200) {
/* Tags in early session is replaced by the tag in 200 OK, which is
the final reply to our INVITE */
char tag[128];
@@ -11191,14 +11186,16 @@
/* They got the notify, this is the end */
if (p->owner) {
ast_log(LOG_WARNING, "Notify answer on an owned channel?\n");
- ast_queue_hangup(p->owner);
+ //ast_queue_hangup(p->owner);
} else {
- if (!p->subscribed)
+ if (!p->subscribed && !p->refer)
ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);
}
- /* Wait for 487, then destroy */
- } else if (sipmethod == SIP_MESSAGE)
+ } else if (sipmethod == SIP_BYE)
+ ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);
+ else if (sipmethod == SIP_MESSAGE)
/* We successfully transmitted a message */
+ /* XXX Why destroy this pvt after message transfer? Bad */
ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);
break;
case 202: /* Transfer accepted */
@@ -11226,6 +11223,8 @@
if (sipmethod == SIP_INVITE) {
/* Re-invite failed */
handle_response_invite(p, resp, rest, req, seqno);
+ } else if (sipmethod == SIP_BYE) {
+ ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);
} else if (sipdebug) {
ast_log (LOG_DEBUG, "Remote host can't match request %s to call '%s'. Giving up\n", sip_methods[sipmethod].text, p->callid);
}
Modified: team/oej/securertp-trunk/codecs/gsm/src/preprocess.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/codecs/gsm/src/preprocess.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/codecs/gsm/src/preprocess.c (original)
+++ team/oej/securertp-trunk/codecs/gsm/src/preprocess.c Fri Jun 9 16:12:11 2006
@@ -36,19 +36,13 @@
word * s,
word * so ) /* [0..159] IN/OUT */
{
-
- word z1 = S->z1;
- longword L_z2 = S->L_z2;
- word mp = S->mp;
-
+ word z1 = S->z1;
+ longword L_z2 = S->L_z2;
+ word mp = S->mp;
word s1;
-
-
word SO;
-
ulongword utmp; /* for L_ADD */
-
- register int k = 160;
+ register int k = 160;
while (k--) {
Modified: team/oej/securertp-trunk/include/asterisk.h
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/include/asterisk.h?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/include/asterisk.h (original)
+++ team/oej/securertp-trunk/include/asterisk.h Fri Jun 9 16:12:11 2006
@@ -22,32 +22,32 @@
#include "asterisk/compat.h"
+#include <limits.h>
+
#define DEFAULT_LANGUAGE "en"
#define DEFAULT_SAMPLE_RATE 8000
#define DEFAULT_SAMPLES_PER_MS ((DEFAULT_SAMPLE_RATE)/1000)
-#define AST_CONFIG_MAX_PATH 255
-
/* provided in asterisk.c */
-extern char ast_config_AST_CONFIG_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_CONFIG_FILE[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_MODULE_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_SPOOL_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_MONITOR_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_VAR_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_DATA_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_LOG_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_AGI_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_DB[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_KEY_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_PID[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_SOCKET[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_RUN_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_CTL_PERMISSIONS[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_CTL_OWNER[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_CTL_GROUP[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_CTL[AST_CONFIG_MAX_PATH];
+extern char ast_config_AST_CONFIG_DIR[PATH_MAX];
+extern char ast_config_AST_CONFIG_FILE[PATH_MAX];
+extern char ast_config_AST_MODULE_DIR[PATH_MAX];
+extern char ast_config_AST_SPOOL_DIR[PATH_MAX];
+extern char ast_config_AST_MONITOR_DIR[PATH_MAX];
+extern char ast_config_AST_VAR_DIR[PATH_MAX];
+extern char ast_config_AST_DATA_DIR[PATH_MAX];
+extern char ast_config_AST_LOG_DIR[PATH_MAX];
+extern char ast_config_AST_AGI_DIR[PATH_MAX];
+extern char ast_config_AST_DB[PATH_MAX];
+extern char ast_config_AST_KEY_DIR[PATH_MAX];
+extern char ast_config_AST_PID[PATH_MAX];
+extern char ast_config_AST_SOCKET[PATH_MAX];
+extern char ast_config_AST_RUN_DIR[PATH_MAX];
+extern char ast_config_AST_CTL_PERMISSIONS[PATH_MAX];
+extern char ast_config_AST_CTL_OWNER[PATH_MAX];
+extern char ast_config_AST_CTL_GROUP[PATH_MAX];
+extern char ast_config_AST_CTL[PATH_MAX];
extern char ast_config_AST_SYSTEM_NAME[20];
int ast_set_priority(int); /*!< Provided by asterisk.c */
Modified: team/oej/securertp-trunk/include/asterisk/endian.h
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/include/asterisk/endian.h?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/include/asterisk/endian.h (original)
+++ team/oej/securertp-trunk/include/asterisk/endian.h Fri Jun 9 16:12:11 2006
@@ -33,9 +33,6 @@
#ifdef __linux__
#include <endian.h>
#elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__)
-#if defined(__OpenBSD__)
-#include <machine/types.h>
-#endif /* __OpenBSD__ */
#include <machine/endian.h>
#define __BYTE_ORDER BYTE_ORDER
#define __LITTLE_ENDIAN LITTLE_ENDIAN
Modified: team/oej/securertp-trunk/include/asterisk/rtp.h
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/include/asterisk/rtp.h?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/include/asterisk/rtp.h (original)
+++ team/oej/securertp-trunk/include/asterisk/rtp.h Fri Jun 9 16:12:11 2006
@@ -133,13 +133,6 @@
};
-/*! \brief The value of each payload format mapping: */
-struct rtpPayloadType {
- int isAstFormat; /*!< whether the following code is an AST_FORMAT */
- int code;
-};
-
-/*!
* \brief Get the amount of space required to hold an RTP session
* \return number of bytes required
*/
Modified: team/oej/securertp-trunk/include/asterisk/stringfields.h
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/include/asterisk/stringfields.h?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/include/asterisk/stringfields.h (original)
+++ team/oej/securertp-trunk/include/asterisk/stringfields.h Fri Jun 9 16:12:11 2006
@@ -171,7 +171,7 @@
\brief Declare a string field
\param name The field name
*/
-#define AST_STRING_FIELD(name) const ast_string_field name;
+#define AST_STRING_FIELD(name) const ast_string_field name
/*!
\brief Declare the fields needed in a structure
@@ -181,7 +181,7 @@
ast_string_field __begin_field[0]; \
field_list \
ast_string_field __end_field[0]; \
- struct ast_string_field_mgr __field_mgr;
+ struct ast_string_field_mgr __field_mgr
/*!
\brief Get the number of string fields in a structure
Modified: team/oej/securertp-trunk/logger.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/logger.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/logger.c (original)
+++ team/oej/securertp-trunk/logger.c Fri Jun 9 16:12:11 2006
@@ -378,8 +378,8 @@
int reload_logger(int rotate)
{
- char old[AST_CONFIG_MAX_PATH] = "";
- char new[AST_CONFIG_MAX_PATH];
+ char old[PATH_MAX] = "";
+ char new[PATH_MAX];
int event_rotate = rotate, queue_rotate = rotate;
struct logchannel *f;
FILE *myf;
Modified: team/oej/securertp-trunk/pbx/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/pbx/Makefile?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/pbx/Makefile (original)
+++ team/oej/securertp-trunk/pbx/Makefile Fri Jun 9 16:12:11 2006
@@ -65,7 +65,7 @@
$(CC) $(CFLAGS) -I. -c -o ael/aelbison.o ael/ael.tab.c
ael/ael_lex.c:
- (cd ael; flex ael.flex)
+ (cd ael; flex ael.flex; sed -i -e "/begin standard C headers/i#include \"asterisk.h\"" ael_lex.c)
ael/ael.tab.c ael/ael.tab.h:
(cd ael; bison -v -d ael.y)
Modified: team/oej/securertp-trunk/pbx/ael/ael.flex
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/pbx/ael/ael.flex?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/pbx/ael/ael.flex (original)
+++ team/oej/securertp-trunk/pbx/ael/ael.flex Fri Jun 9 16:12:11 2006
@@ -56,8 +56,6 @@
%option bison-locations
%{
-#include "asterisk.h"
-
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <sys/types.h>
@@ -65,6 +63,7 @@
#include <unistd.h>
#include "asterisk/logger.h"
+#include "asterisk/utils.h"
#include "ael/ael.tab.h"
#include "asterisk/ael_structs.h"
@@ -402,13 +401,10 @@
if ( !error ) { /* valid file name */
*p2 = 0;
/* relative vs. absolute */
- if ( *(p1+1) != '/' ) {
- /* XXX must check overflows */
- strcpy(fnamebuf,ast_config_AST_CONFIG_DIR);
- strcat(fnamebuf,"/");
- strcat(fnamebuf,p1+1);
- } else
- strcpy(fnamebuf,p1+1);
+ if (*(p1+1) != '/')
+ snprintf(fnamebuf, sizeof(fnamebuf), "%s/%s", ast_config_AST_CONFIG_DIR, p1 + 1);
+ else
+ ast_copy_string(fnamebuf, p1 + 1, sizeof(fnamebuf));
in1 = fopen( fnamebuf, "r" );
if ( ! in1 ) {
ast_log(LOG_ERROR,"File=%s, line=%d, column=%d: Couldn't find the include file: %s; ignoring the Include directive!\n", my_file, my_lineno, my_col, fnamebuf);
Modified: team/oej/securertp-trunk/pbx/ael/ael_lex.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/pbx/ael/ael_lex.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/pbx/ael/ael_lex.c (original)
+++ team/oej/securertp-trunk/pbx/ael/ael_lex.c Fri Jun 9 16:12:11 2006
@@ -16,6 +16,7 @@
/* First, we deal with platform-specific or compiler-specific issues. */
+#include "asterisk.h"
/* begin standard C headers. */
#include <stdio.h>
#include <string.h>
@@ -672,8 +673,6 @@
* bison-locations is probably not needed.
*/
#line 59 "ael.flex"
-#include "asterisk.h"
-
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <sys/types.h>
@@ -681,6 +680,7 @@
#include <unistd.h>
#include "asterisk/logger.h"
+#include "asterisk/utils.h"
#include "ael/ael.tab.h"
#include "asterisk/ael_structs.h"
@@ -778,7 +778,7 @@
#define STORE_POS
#define STORE_LOC
#endif
-#line 779 "ael_lex.c"
+#line 781 "ael_lex.c"
#define INITIAL 0
#define paren 1
@@ -1018,10 +1018,10 @@
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 171 "ael.flex"
-
-
-#line 1022 "ael_lex.c"
+#line 173 "ael.flex"
+
+
+#line 1024 "ael_lex.c"
yylval = yylval_param;
@@ -1112,218 +1112,218 @@
case 1:
YY_RULE_SETUP
-#line 173 "ael.flex"
+#line 175 "ael.flex"
{ STORE_POS; return LC;}
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 174 "ael.flex"
+#line 176 "ael.flex"
{ STORE_POS; return RC;}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 175 "ael.flex"
+#line 177 "ael.flex"
{ STORE_POS; return LP;}
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 176 "ael.flex"
+#line 178 "ael.flex"
{ STORE_POS; return RP;}
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 177 "ael.flex"
+#line 179 "ael.flex"
{ STORE_POS; return SEMI;}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 178 "ael.flex"
+#line 180 "ael.flex"
{ STORE_POS; return EQ;}
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 179 "ael.flex"
+#line 181 "ael.flex"
{ STORE_POS; return COMMA;}
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 180 "ael.flex"
+#line 182 "ael.flex"
{ STORE_POS; return COLON;}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 181 "ael.flex"
+#line 183 "ael.flex"
{ STORE_POS; return AMPER;}
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 182 "ael.flex"
+#line 184 "ael.flex"
{ STORE_POS; return BAR;}
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 183 "ael.flex"
+#line 185 "ael.flex"
{ STORE_POS; return EXTENMARK;}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 184 "ael.flex"
+#line 186 "ael.flex"
{ STORE_POS; return AT;}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 185 "ael.flex"
+#line 187 "ael.flex"
{/*comment*/}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 186 "ael.flex"
+#line 188 "ael.flex"
{ STORE_POS; return KW_CONTEXT;}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 187 "ael.flex"
+#line 189 "ael.flex"
{ STORE_POS; return KW_ABSTRACT;}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 188 "ael.flex"
+#line 190 "ael.flex"
{ STORE_POS; return KW_MACRO;};
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 189 "ael.flex"
+#line 191 "ael.flex"
{ STORE_POS; return KW_GLOBALS;}
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 190 "ael.flex"
+#line 192 "ael.flex"
{ STORE_POS; return KW_IGNOREPAT;}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 191 "ael.flex"
+#line 193 "ael.flex"
{ STORE_POS; return KW_SWITCH;}
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 192 "ael.flex"
+#line 194 "ael.flex"
{ STORE_POS; return KW_IF;}
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 193 "ael.flex"
+#line 195 "ael.flex"
{ STORE_POS; return KW_IFTIME;}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 194 "ael.flex"
+#line 196 "ael.flex"
{ STORE_POS; return KW_RANDOM;}
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 195 "ael.flex"
+#line 197 "ael.flex"
{ STORE_POS; return KW_REGEXTEN;}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 196 "ael.flex"
+#line 198 "ael.flex"
{ STORE_POS; return KW_HINT;}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 197 "ael.flex"
+#line 199 "ael.flex"
{ STORE_POS; return KW_ELSE;}
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 198 "ael.flex"
+#line 200 "ael.flex"
{ STORE_POS; return KW_GOTO;}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 199 "ael.flex"
+#line 201 "ael.flex"
{ STORE_POS; return KW_JUMP;}
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 200 "ael.flex"
+#line 202 "ael.flex"
{ STORE_POS; return KW_RETURN;}
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 201 "ael.flex"
+#line 203 "ael.flex"
{ STORE_POS; return KW_BREAK;}
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 202 "ael.flex"
+#line 204 "ael.flex"
{ STORE_POS; return KW_CONTINUE;}
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 203 "ael.flex"
+#line 205 "ael.flex"
{ STORE_POS; return KW_FOR;}
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 204 "ael.flex"
+#line 206 "ael.flex"
{ STORE_POS; return KW_WHILE;}
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 205 "ael.flex"
+#line 207 "ael.flex"
{ STORE_POS; return KW_CASE;}
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 206 "ael.flex"
+#line 208 "ael.flex"
{ STORE_POS; return KW_DEFAULT;}
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 207 "ael.flex"
+#line 209 "ael.flex"
{ STORE_POS; return KW_PATTERN;}
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 208 "ael.flex"
+#line 210 "ael.flex"
{ STORE_POS; return KW_CATCH;}
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 209 "ael.flex"
+#line 211 "ael.flex"
{ STORE_POS; return KW_SWITCHES;}
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 210 "ael.flex"
+#line 212 "ael.flex"
{ STORE_POS; return KW_ESWITCHES;}
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 211 "ael.flex"
+#line 213 "ael.flex"
{ STORE_POS; return KW_INCLUDES;}
YY_BREAK
case 40:
/* rule 40 can match eol */
YY_RULE_SETUP
-#line 213 "ael.flex"
+#line 215 "ael.flex"
{ my_lineno++; my_col = 1; }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 214 "ael.flex"
+#line 216 "ael.flex"
{ my_col += yyleng; }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 215 "ael.flex"
+#line 217 "ael.flex"
{ my_col += (yyleng*8)-(my_col%8); }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 217 "ael.flex"
+#line 219 "ael.flex"
{
STORE_POS;
yylval->str = strdup(yytext);
@@ -1341,7 +1341,7 @@
case 44:
/* rule 44 can match eol */
YY_RULE_SETUP
-#line 233 "ael.flex"
+#line 235 "ael.flex"
{
if ( pbcpop(')') ) { /* error */
STORE_LOC;
@@ -1367,7 +1367,7 @@
case 45:
/* rule 45 can match eol */
YY_RULE_SETUP
-#line 255 "ael.flex"
+#line 257 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '(')
@@ -1379,7 +1379,7 @@
case 46:
/* rule 46 can match eol */
YY_RULE_SETUP
-#line 263 "ael.flex"
+#line 265 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c)) { /* error */
@@ -1404,7 +1404,7 @@
case 47:
/* rule 47 can match eol */
YY_RULE_SETUP
-#line 285 "ael.flex"
+#line 287 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '(')
@@ -1416,7 +1416,7 @@
case 48:
/* rule 48 can match eol */
YY_RULE_SETUP
-#line 293 "ael.flex"
+#line 295 "ael.flex"
{
if ( pbcpop(')') ) { /* error */
STORE_LOC;
@@ -1444,7 +1444,7 @@
case 49:
/* rule 49 can match eol */
YY_RULE_SETUP
-#line 317 "ael.flex"
+#line 319 "ael.flex"
{
if( parencount != 0) { /* printf("Folding in a comma!\n"); */
yymore();
@@ -1462,7 +1462,7 @@
case 50:
/* rule 50 can match eol */
YY_RULE_SETUP
-#line 331 "ael.flex"
+#line 333 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */
@@ -1483,7 +1483,7 @@
case 51:
/* rule 51 can match eol */
YY_RULE_SETUP
-#line 348 "ael.flex"
+#line 350 "ael.flex"
{
char c = yytext[yyleng-1];
yymore();
@@ -1493,7 +1493,7 @@
case 52:
/* rule 52 can match eol */
YY_RULE_SETUP
-#line 354 "ael.flex"
+#line 356 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */
@@ -1509,7 +1509,7 @@
case 53:
/* rule 53 can match eol */
YY_RULE_SETUP
-#line 366 "ael.flex"
+#line 368 "ael.flex"
{
STORE_LOC;
yylval->str = strdup(yytext);
@@ -1522,7 +1522,7 @@
case 54:
/* rule 54 can match eol */
YY_RULE_SETUP
-#line 375 "ael.flex"
+#line 377 "ael.flex"
{
FILE *in1;
char fnamebuf[1024],*p1,*p2;
@@ -1550,13 +1550,10 @@
if ( !error ) { /* valid file name */
*p2 = 0;
/* relative vs. absolute */
- if ( *(p1+1) != '/' ) {
- /* XXX must check overflows */
- strcpy(fnamebuf,ast_config_AST_CONFIG_DIR);
- strcat(fnamebuf,"/");
- strcat(fnamebuf,p1+1);
- } else
- strcpy(fnamebuf,p1+1);
+ if (*(p1+1) != '/')
+ snprintf(fnamebuf, sizeof(fnamebuf), "%s/%s", ast_config_AST_CONFIG_DIR, p1 + 1);
+ else
+ ast_copy_string(fnamebuf, p1 + 1, sizeof(fnamebuf));
in1 = fopen( fnamebuf, "r" );
if ( ! in1 ) {
ast_log(LOG_ERROR,"File=%s, line=%d, column=%d: Couldn't find the include file: %s; ignoring the Include directive!\n", my_file, my_lineno, my_col, fnamebuf);
@@ -1589,7 +1586,7 @@
case YY_STATE_EOF(paren):
case YY_STATE_EOF(semic):
case YY_STATE_EOF(argg):
-#line 437 "ael.flex"
+#line 436 "ael.flex"
{
if ( --include_stack_index < 0 ) {
yyterminate();
@@ -1605,10 +1602,10 @@
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 450 "ael.flex"
+#line 449 "ael.flex"
ECHO;
YY_BREAK
-#line 1609 "ael_lex.c"
+#line 1608 "ael_lex.c"
case YY_END_OF_BUFFER:
{
@@ -2738,7 +2735,7 @@
#define YYTABLES_NAME "yytables"
-#line 450 "ael.flex"
+#line 449 "ael.flex"
Modified: team/oej/securertp-trunk/plc.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/plc.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/plc.c (original)
+++ team/oej/securertp-trunk/plc.c Fri Jun 9 16:12:11 2006
@@ -37,7 +37,6 @@
#include <stdlib.h>
#include <string.h>
#include <math.h>
-#include <limits.h>
#include "asterisk/plc.h"
Modified: team/oej/securertp-trunk/res/res_musiconhold.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/res/res_musiconhold.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/res/res_musiconhold.c (original)
+++ team/oej/securertp-trunk/res/res_musiconhold.c Fri Jun 9 16:12:11 2006
@@ -752,7 +752,7 @@
DIR *files_DIR;
struct dirent *files_dirent;
- char path[512];
+ char path[PATH_MAX];
char filepath[PATH_MAX];
char *ext;
struct stat statbuf;
@@ -770,7 +770,7 @@
class->total_files = 0;
dirnamelen = strlen(class->dir) + 2;
- getcwd(path, 512);
+ getcwd(path, sizeof(path));
chdir(class->dir);
while ((files_dirent = readdir(files_DIR))) {
/* The file name must be at least long enough to have the file type extension */
Modified: team/oej/securertp-trunk/rtp.c
URL: http://svn.digium.com/view/asterisk/team/oej/securertp-trunk/rtp.c?rev=33372&r1=33371&r2=33372&view=diff
==============================================================================
--- team/oej/securertp-trunk/rtp.c (original)
+++ team/oej/securertp-trunk/rtp.c Fri Jun 9 16:12:11 2006
@@ -92,6 +92,18 @@
struct ast_srtp_res *g_srtp_res;
struct ast_srtp_policy_res *g_policy_res;
+
+/*!
+ * \brief Structure representing a RTP session.
+ *
+ * RTP session is defined on page 9 of RFC 3550: "An association among a set of participants communicating with RTP. A participant may be involved in multiple RTP sessions at the same time [...]"
+ *
+ */
+/*! \brief The value of each payload format mapping: */
+struct rtpPayloadType {
+ int isAstFormat; /*!< whether the following code is an AST_FORMAT */
+ int code;
+};
/*! \brief RTP session description */
struct ast_rtp {
More information about the asterisk-commits
mailing list