[asterisk-commits] phsultan: trunk r81745 - in /trunk: ./ channels/ include/asterisk/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Sep 6 12:00:59 CDT 2007


Author: phsultan
Date: Thu Sep  6 12:00:58 2007
New Revision: 81745

URL: http://svn.digium.com/view/asterisk?view=rev&rev=81745
Log:
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)
........

Modified:
    trunk/   (props changed)
    trunk/channels/chan_gtalk.c
    trunk/include/asterisk/jabber.h

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/channels/chan_gtalk.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_gtalk.c?view=diff&rev=81745&r1=81744&r2=81745
==============================================================================
--- trunk/channels/chan_gtalk.c (original)
+++ trunk/channels/chan_gtalk.c Thu Sep  6 12:00:58 2007
@@ -111,8 +111,8 @@
 	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_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 @@
 	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 @@
 {
 	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;

Modified: trunk/include/asterisk/jabber.h
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/jabber.h?view=diff&rev=81745&r1=81744&r2=81745
==============================================================================
--- trunk/include/asterisk/jabber.h (original)
+++ trunk/include/asterisk/jabber.h Thu Sep  6 12:00:58 2007
@@ -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_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_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_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 */




More information about the asterisk-commits mailing list