Author: kharwell
Date: Fri Mar 13 09:48:40 2015
New Revision: 432868

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=432868
Log:
Revert - res_pjsip: Allow configuration of endpoint identifier query order

Due to a break in binary compatibility with some other modules these changes
are being reverted until the issue can be resolved.

ASTERISK-24840
Reported by: Mark Michelson


Modified:
    branches/13/CHANGES
    branches/13/configs/samples/pjsip.conf.sample
    
branches/13/contrib/ast-db-manage/config/versions/45e3f47c6c44_add_pjsip_endpoint_identifier_order.py
    branches/13/include/asterisk/res_pjsip.h
    branches/13/res/res_pjsip.c
    branches/13/res/res_pjsip/config_global.c
    branches/13/res/res_pjsip_endpoint_identifier_anonymous.c
    branches/13/res/res_pjsip_endpoint_identifier_ip.c
    branches/13/res/res_pjsip_endpoint_identifier_user.c

Modified: branches/13/CHANGES
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/CHANGES?view=diff&rev=432868&r1=432867&r2=432868
==============================================================================
--- branches/13/CHANGES (original)
+++ branches/13/CHANGES Fri Mar 13 09:48:40 2015
@@ -25,13 +25,6 @@
    on the channel to a specified endpoint or destination. In the case of SIP
    technologies, this is either a 302 Redirect response to an on-going INVITE
    dialog or a SIP REFER request.
-
-res_pjsip
-------------------
- * A new 'endpoint_identifier_order' option has been added that allows one to
-   set the order by which endpoint identifiers are processed and checked. This
-   option is specified under the 'global' type configuration section.
-
 
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 13.1.0 to Asterisk 13.2.0 ------------

Modified: branches/13/configs/samples/pjsip.conf.sample
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/configs/samples/pjsip.conf.sample?view=diff&rev=432868&r1=432867&r2=432868
==============================================================================
--- branches/13/configs/samples/pjsip.conf.sample (original)
+++ branches/13/configs/samples/pjsip.conf.sample Fri Mar 13 09:48:40 2015
@@ -854,10 +854,6 @@
 ;keep_alive_interval=20 ; The interval (in seconds) at which to send keepalive
                         ; messages on all active connection-oriented transports
                         ; (default: "0")
-;endpoint_identifier_order=ip,username,anonymous
-            ; The order by which endpoint identifiers are given priority.
-            ; Identifier names are derived from res_pjsip_endpoint_identifier_*
-            ; modules. (default: ip,username,anonymous)
 
 
 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip_acl

Modified: 
branches/13/contrib/ast-db-manage/config/versions/45e3f47c6c44_add_pjsip_endpoint_identifier_order.py
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/contrib/ast-db-manage/config/versions/45e3f47c6c44_add_pjsip_endpoint_identifier_order.py?view=diff&rev=432868&r1=432867&r2=432868
==============================================================================
--- 
branches/13/contrib/ast-db-manage/config/versions/45e3f47c6c44_add_pjsip_endpoint_identifier_order.py
 (original)
+++ 
branches/13/contrib/ast-db-manage/config/versions/45e3f47c6c44_add_pjsip_endpoint_identifier_order.py
 Fri Mar 13 09:48:40 2015
@@ -1,21 +1,0 @@
-"""add pjsip endpoint_identifier_order
-
-Revision ID: 45e3f47c6c44
-Revises: 371a3bf4143e
-Create Date: 2015-03-02 09:32:20.632015
-
-"""
-
-# revision identifiers, used by Alembic.
-revision = '45e3f47c6c44'
-down_revision = '371a3bf4143e'
-
-from alembic import op
-import sqlalchemy as sa
-
-
-def upgrade():
-    op.add_column('ps_globals', sa.Column('endpoint_identifier_order', 
sa.String(40)))
-
-def downgrade():
-    op.drop_column('ps_globals', 'endpoint_identifier_order')

Modified: branches/13/include/asterisk/res_pjsip.h
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/include/asterisk/res_pjsip.h?view=diff&rev=432868&r1=432867&r2=432868
==============================================================================
--- branches/13/include/asterisk/res_pjsip.h (original)
+++ branches/13/include/asterisk/res_pjsip.h Fri Mar 13 09:48:40 2015
@@ -697,8 +697,6 @@
  * \brief An entity responsible for identifying the source of a SIP message
  */
 struct ast_sip_endpoint_identifier {
-    /*! Name of the endpoint identifier */
-    const char *name;
     /*!
      * \brief Callback used to identify the source of a message.
      * See ast_sip_identify_endpoint for more details
@@ -1883,15 +1881,6 @@
  */
 char *ast_sip_get_debug(void);
 
-/*!
- * \brief Retrieve the global endpoint_identifier_order setting.
- *
- * Specifies the order by which endpoint identifiers should be regarded.
- *
- * \retval the global endpoint_identifier_order value
- */
-char *ast_sip_get_endpoint_identifier_order(void);
-
 /*! \brief Determines whether the res_pjsip module is loaded */
 #define CHECK_PJSIP_MODULE_LOADED()                            \
        do {                                                    \

Modified: branches/13/res/res_pjsip.c
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/res/res_pjsip.c?view=diff&rev=432868&r1=432867&r2=432868
==============================================================================
--- branches/13/res/res_pjsip.c (original)
+++ branches/13/res/res_pjsip.c Fri Mar 13 09:48:40 2015
@@ -36,7 +36,6 @@
 #include "asterisk/uuid.h"
 #include "asterisk/sorcery.h"
 #include "asterisk/file.h"
-#include "asterisk/cli.h"
 
 /*** MODULEINFO
        <depend>pjproject</depend>
@@ -1193,11 +1192,6 @@
                                <configOption name="debug" default="no">
                                        <synopsis>Enable/Disable SIP debug 
logging.  Valid options include yes|no or
                                         a host address</synopsis>
-                               </configOption>
-                               <configOption name="endpoint_identifier_order" 
default="ip,username,anonymous">
-                                       <synopsis>The order by which endpoint 
identifiers are processed and checked.
-                                        Identifier names are usually derived 
from and can be found in the endpoint
-                                        identifier module itself 
(res_pjsip_endpoint_identifier_*)</synopsis>
                                </configOption>
                        </configObject>
                </configFile>
@@ -1964,7 +1958,6 @@
 }
 
 struct endpoint_identifier_list {
-       unsigned int priority;
        struct ast_sip_endpoint_identifier *identifier;
        AST_RWLIST_ENTRY(endpoint_identifier_list) list;
 };
@@ -1973,8 +1966,7 @@
 
 int ast_sip_register_endpoint_identifier(struct ast_sip_endpoint_identifier 
*identifier)
 {
-       char *prev, *current, *identifier_order;
-       struct endpoint_identifier_list *iter, *id_list_item;
+       struct endpoint_identifier_list *id_list_item;
        SCOPED_LOCK(lock, &endpoint_identifiers, AST_RWLIST_WRLOCK, 
AST_RWLIST_UNLOCK);
 
        id_list_item = ast_calloc(1, sizeof(*id_list_item));
@@ -1984,67 +1976,10 @@
        }
        id_list_item->identifier = identifier;
 
-       ast_debug(1, "Register endpoint identifier %s (%p)\n", 
identifier->name, identifier);
-
-       if (ast_strlen_zero(identifier->name)) {
-               /* if an identifier has no name then place in front */
-               AST_RWLIST_INSERT_HEAD(&endpoint_identifiers, id_list_item, 
list);
-               ast_module_ref(ast_module_info->self);
-               return 0;
-       }
-
-       /* see if the name of the identifier is in the global 
endpoint_identifier_order list */
-       identifier_order = prev = current = 
ast_sip_get_endpoint_identifier_order();
-
-       if (ast_strlen_zero(identifier_order)) {
-               AST_RWLIST_INSERT_TAIL(&endpoint_identifiers, id_list_item, 
list);
-               ast_module_ref(ast_module_info->self);
-               ast_free(identifier_order);
-               return 0;
-       }
-
-       id_list_item->priority = 0;
-       while ((current = strchr(current, ','))) {
-               ++id_list_item->priority;
-               if (!strncmp(prev, identifier->name, current - prev)) {
-                       break;
-               }
-               prev = ++current;
-       }
-
-       if (!current) {
-               /* check to see if it the only or last item */
-               if (!strcmp(prev, identifier->name)) {
-                       ++id_list_item->priority;
-               } else {
-                       id_list_item->priority = UINT_MAX;
-               }
-       }
-
-       if (id_list_item->priority == UINT_MAX || 
AST_RWLIST_EMPTY(&endpoint_identifiers)) {
-               /* if not in the endpoint_identifier_order list then consider 
it less in
-                  priority and add it to the end */
-               AST_RWLIST_INSERT_TAIL(&endpoint_identifiers, id_list_item, 
list);
-               ast_module_ref(ast_module_info->self);
-               ast_free(identifier_order);
-               return 0;
-       }
-
-       AST_RWLIST_TRAVERSE_SAFE_BEGIN(&endpoint_identifiers, iter, list) {
-               if (id_list_item->priority < iter->priority) {
-                       AST_RWLIST_INSERT_BEFORE_CURRENT(id_list_item, list);
-                       break;
-               }
-
-               if (!AST_RWLIST_NEXT(iter, list)) {
-                       AST_RWLIST_INSERT_AFTER(&endpoint_identifiers, iter, 
id_list_item, list);
-                       break;
-               }
-       }
-       AST_RWLIST_TRAVERSE_SAFE_END;
+       AST_RWLIST_INSERT_TAIL(&endpoint_identifiers, id_list_item, list);
+       ast_debug(1, "Registered endpoint identifier %p\n", identifier);
 
        ast_module_ref(ast_module_info->self);
-       ast_free(identifier_order);
        return 0;
 }
 
@@ -2078,41 +2013,6 @@
        }
        return endpoint;
 }
-
-static char *cli_show_endpoint_identifiers(struct ast_cli_entry *e, int cmd, 
struct ast_cli_args *a)
-{
-#define ENDPOINT_IDENTIFIER_FORMAT "%-20.20s\n"
-       struct endpoint_identifier_list *iter;
-
-       switch (cmd) {
-       case CLI_INIT:
-               e->command = "pjsip show identifiers";
-               e->usage = "Usage: pjsip show identifiers\n"
-                           "      List all registered endpoint identifiers\n";
-               return NULL;
-       case CLI_GENERATE:
-               return NULL;
-       }
-
-       if (a->argc != 3) {
-                return CLI_SHOWUSAGE;
-        }
-
-       ast_cli(a->fd, ENDPOINT_IDENTIFIER_FORMAT, "Identifier Names:");
-       {
-               SCOPED_LOCK(lock, &endpoint_identifiers, AST_RWLIST_RDLOCK, 
AST_RWLIST_UNLOCK);
-               AST_RWLIST_TRAVERSE(&endpoint_identifiers, iter, list) {
-                       ast_cli(a->fd, ENDPOINT_IDENTIFIER_FORMAT,
-                               iter->identifier->name ? iter->identifier->name 
: "name not specified");
-               }
-       }
-       return CLI_SUCCESS;
-#undef ENDPOINT_IDENTIFIER_FORMAT
-}
-
-static struct ast_cli_entry cli_commands[] = {
-        AST_CLI_DEFINE(cli_show_endpoint_identifiers, "List registered 
endpoint identifiers")
-};
 
 AST_RWLIST_HEAD_STATIC(endpoint_formatters, ast_sip_endpoint_formatter);
 
@@ -3450,7 +3350,6 @@
        }
 
        ast_res_pjsip_init_options_handling(0);
-       ast_cli_register_multiple(cli_commands, ARRAY_LEN(cli_commands));
 
        return AST_MODULE_LOAD_SUCCESS;
 }
@@ -3471,7 +3370,6 @@
 
 static int unload_pjsip(void *data)
 {
-       ast_cli_unregister_multiple(cli_commands, ARRAY_LEN(cli_commands));
        if (memory_pool) {
                pj_pool_release(memory_pool);
                memory_pool = NULL;

Modified: branches/13/res/res_pjsip/config_global.c
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/res/res_pjsip/config_global.c?view=diff&rev=432868&r1=432867&r2=432868
==============================================================================
--- branches/13/res/res_pjsip/config_global.c (original)
+++ branches/13/res/res_pjsip/config_global.c Fri Mar 13 09:48:40 2015
@@ -31,7 +31,6 @@
 #define DEFAULT_USERAGENT_PREFIX "Asterisk PBX"
 #define DEFAULT_OUTBOUND_ENDPOINT "default_outbound_endpoint"
 #define DEFAULT_DEBUG "no"
-#define DEFAULT_ENDPOINT_IDENTIFIER_ORDER "ip,username,anonymous"
 
 static char default_useragent[256];
 
@@ -42,8 +41,6 @@
                AST_STRING_FIELD(default_outbound_endpoint);
                /*! Debug logging yes|no|host */
                AST_STRING_FIELD(debug);
-               /*! Order by which endpoint identifiers are checked (comma 
separated list) */
-               AST_STRING_FIELD(endpoint_identifier_order);
        );
        /* Value to put in Max-Forwards header */
        unsigned int max_forwards;
@@ -126,21 +123,6 @@
        }
 
        res = ast_strdup(cfg->debug);
-       ao2_ref(cfg, -1);
-       return res;
-}
-
-char *ast_sip_get_endpoint_identifier_order(void)
-{
-       char *res;
-       struct global_config *cfg;
-
-       cfg = get_global_cfg();
-       if (!cfg) {
-               return ast_strdup(DEFAULT_ENDPOINT_IDENTIFIER_ORDER);
-       }
-
-       res = ast_strdup(cfg->endpoint_identifier_order);
        ao2_ref(cfg, -1);
        return res;
 }
@@ -246,9 +228,6 @@
                OPT_STRINGFIELD_T, 0, STRFLDSET(struct global_config, 
default_outbound_endpoint));
        ast_sorcery_object_field_register(sorcery, "global", "debug", 
DEFAULT_DEBUG,
                OPT_STRINGFIELD_T, 0, STRFLDSET(struct global_config, debug));
-       ast_sorcery_object_field_register(sorcery, "global", 
"endpoint_identifier_order",
-               DEFAULT_ENDPOINT_IDENTIFIER_ORDER,
-               OPT_STRINGFIELD_T, 0, STRFLDSET(struct global_config, 
endpoint_identifier_order));
        ast_sorcery_object_field_register(sorcery, "global", 
"keep_alive_interval",
                __stringify(DEFAULT_KEEPALIVE_INTERVAL),
                OPT_UINT_T, 0, FLDSET(struct global_config, 
keep_alive_interval));

Modified: branches/13/res/res_pjsip_endpoint_identifier_anonymous.c
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/res/res_pjsip_endpoint_identifier_anonymous.c?view=diff&rev=432868&r1=432867&r2=432868
==============================================================================
--- branches/13/res/res_pjsip_endpoint_identifier_anonymous.c (original)
+++ branches/13/res/res_pjsip_endpoint_identifier_anonymous.c Fri Mar 13 
09:48:40 2015
@@ -103,7 +103,6 @@
 }
 
 static struct ast_sip_endpoint_identifier anonymous_identifier = {
-       .name = "anonymous",
        .identify_endpoint = anonymous_identify,
 };
 

Modified: branches/13/res/res_pjsip_endpoint_identifier_ip.c
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/res/res_pjsip_endpoint_identifier_ip.c?view=diff&rev=432868&r1=432867&r2=432868
==============================================================================
--- branches/13/res/res_pjsip_endpoint_identifier_ip.c (original)
+++ branches/13/res/res_pjsip_endpoint_identifier_ip.c Fri Mar 13 09:48:40 2015
@@ -150,7 +150,6 @@
 }
 
 static struct ast_sip_endpoint_identifier ip_identifier = {
-       .name = "ip",
        .identify_endpoint = ip_identify,
 };
 

Modified: branches/13/res/res_pjsip_endpoint_identifier_user.c
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/res/res_pjsip_endpoint_identifier_user.c?view=diff&rev=432868&r1=432867&r2=432868
==============================================================================
--- branches/13/res/res_pjsip_endpoint_identifier_user.c (original)
+++ branches/13/res/res_pjsip_endpoint_identifier_user.c Fri Mar 13 09:48:40 
2015
@@ -109,7 +109,6 @@
 }
 
 static struct ast_sip_endpoint_identifier username_identifier = {
-       .name = "username",
        .identify_endpoint = username_identify,
 };
 


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to