dect
/
asterisk
Archived
13
0
Fork 0

Merged revisions 81743 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81743 | phsultan | 2007-09-06 18:56:29 +0200 (Thu, 06 Sep 2007) | 1 line

Various string length fixes. Removed an unused variable in aji_client structure (context)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81745 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
phsultan 2007-09-06 17:00:58 +00:00
parent ce3fb86cea
commit 54abeb89e1
2 changed files with 23 additions and 11 deletions

View File

@ -111,8 +111,8 @@ struct gtalk_pvt {
time_t laststun;
struct gtalk *parent; /*!< Parent client */
char sid[100];
char us[100];
char them[100];
char us[AJI_MAX_JIDLEN];
char them[AJI_MAX_JIDLEN];
char ring[10]; /*!< Message ID of ring */
iksrule *ringrule; /*!< Rule for matching RING request */
int initiator; /*!< If we're the initiator */
@ -154,8 +154,8 @@ struct gtalk {
struct gtalk_pvt *p;
struct ast_codec_pref prefs;
int amaflags; /*!< AMA Flags */
char user[100];
char context[100];
char user[AJI_MAX_JIDLEN];
char context[AST_MAX_CONTEXT];
char accountcode[AST_MAX_ACCOUNT_CODE]; /*!< Account code */
int capability;
ast_group_t callgroup; /*!< Call group */
@ -1572,7 +1572,7 @@ static int gtalk_show_channels(int fd, int argc, char **argv)
struct gtalk_pvt *p;
struct ast_channel *chan;
int numchans = 0;
char them[100];
char them[AJI_MAX_JIDLEN];
char *jid = NULL;
char *resource = NULL;
@ -1760,7 +1760,7 @@ static int gtalk_load_config(void)
{
char *cat = NULL;
struct ast_config *cfg = NULL;
char context[100];
char context[AST_MAX_CONTEXT];
int allowguest = 1;
struct ast_variable *var;
struct gtalk *member;

View File

@ -49,6 +49,19 @@
#include "asterisk/astobj.h"
#include "asterisk/linkedlists.h"
/*
* As per RFC 3920 - section 3.1, the maximum length for a full Jabber ID
* is 3071 bytes.
* The ABNF syntax for jid :
* jid = [node "@" ] domain [ "/" resource ]
* Each allowable portion of a JID (node identifier, domain identifier,
* and resource identifier) MUST NOT be more than 1023 bytes in length,
* resulting in a maximum total size (including the '@' and '/' separators)
* of 3071 bytes.
*/
#define AJI_MAX_JIDLEN 3071
#define AJI_MAX_RESJIDLEN 1023
enum aji_state {
AJI_DISCONNECTING,
AJI_DISCONNECTED,
@ -82,7 +95,7 @@ struct aji_capabilities {
struct aji_resource {
int status;
char resource[80];
char resource[AJI_MAX_RESJIDLEN];
char *description;
struct aji_version *cap;
int priority;
@ -98,7 +111,7 @@ struct aji_message {
};
struct aji_buddy {
ASTOBJ_COMPONENTS(struct aji_buddy);
ASTOBJ_COMPONENTS_FULL(struct aji_buddy, AJI_MAX_JIDLEN, 1);
char channel[160];
struct aji_resource *resources;
enum aji_btype btype;
@ -116,9 +129,8 @@ struct aji_transport_container {
struct aji_client {
ASTOBJ_COMPONENTS(struct aji_client);
char password[160];
char user[160];
char serverhost[160];
char context[100];
char user[AJI_MAX_JIDLEN];
char serverhost[AJI_MAX_RESJIDLEN];
char statusmessage[256];
char sid[10]; /* Session ID */
char mid[6]; /* Message ID */