Disable autoprune by default.

(closes issue #13411)
Reported by: caio1982
Patches:
      res_jabber_autoprune1.diff uploaded by caio1982 (license 22)
Tested by: caio1982

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.2
Philippe Sultan 17 years ago
parent 3226c29cd6
commit 7ea67a07ee

@ -805,6 +805,9 @@ Miscellaneous New Modules
Miscellaneous Miscellaneous
------------- -------------
* res_jabber: autoprune has been disabled by default, to avoid misconfiguration
that would end up being interpreted as a bug once Asterisk started removing
the contacts from a user list.
* Ability to use libcap to set high ToS bits when non-root * Ability to use libcap to set high ToS bits when non-root
on Linux. If configure is unable to find libcap then you on Linux. If configure is unable to find libcap then you
can use --with-cap to specify the path. can use --with-cap to specify the path.

@ -1,6 +1,8 @@
[general] [general]
;debug=yes ;;Turn on debugging by default. ;debug=yes ;;Turn on debugging by default.
;autoprune=yes ;;Auto remove users from buddy list. ;autoprune=yes ;;Auto remove users from buddy list. Depending on your
;;setup (ie, using your personal Gtalk account for a test)
;;you might lose your contacts list. Default is 'no'.
;autoregister=yes ;;Auto register users from buddy list. ;autoregister=yes ;;Auto register users from buddy list.
;[asterisk] ;;label ;[asterisk] ;;label

@ -159,7 +159,7 @@ struct aji_client_container clients;
struct aji_capabilities *capabilities = NULL; struct aji_capabilities *capabilities = NULL;
/*! \brief Global flags, initialized to default values */ /*! \brief Global flags, initialized to default values */
static struct ast_flags globalflags = { AJI_AUTOPRUNE | AJI_AUTOREGISTER }; static struct ast_flags globalflags = { AJI_AUTOREGISTER };
/*! /*!
* \brief Deletes the aji_client data structure. * \brief Deletes the aji_client data structure.
@ -2076,7 +2076,7 @@ static void aji_pruneregister(struct aji_client *client)
ASTOBJ_RDLOCK(iterator); ASTOBJ_RDLOCK(iterator);
/* For an aji_buddy, both AUTOPRUNE and AUTOREGISTER will never /* For an aji_buddy, both AUTOPRUNE and AUTOREGISTER will never
* be called at the same time */ * be called at the same time */
if (ast_test_flag(&iterator->flags, AJI_AUTOPRUNE)) { if (ast_test_flag(&iterator->flags, AJI_AUTOPRUNE)) { /* If autoprune is set on jabber.conf */
res = ast_aji_send(client, iks_make_s10n(IKS_TYPE_UNSUBSCRIBE, iterator->name, res = ast_aji_send(client, iks_make_s10n(IKS_TYPE_UNSUBSCRIBE, iterator->name,
"GoodBye. Your status is no longer needed by Asterisk the Open Source PBX" "GoodBye. Your status is no longer needed by Asterisk the Open Source PBX"
" so I am no longer subscribing to your presence.\n")); " so I am no longer subscribing to your presence.\n"));
@ -2881,7 +2881,7 @@ static int aji_load_config(int reload)
return -1; return -1;
/* Reset flags to default value */ /* Reset flags to default value */
ast_set_flag(&globalflags, AJI_AUTOPRUNE | AJI_AUTOREGISTER); ast_set_flag(&globalflags, AJI_AUTOREGISTER);
if (!cfg) { if (!cfg) {
ast_log(LOG_WARNING, "No such configuration file %s\n", JABBER_CONFIG); ast_log(LOG_WARNING, "No such configuration file %s\n", JABBER_CONFIG);
@ -2890,13 +2890,14 @@ static int aji_load_config(int reload)
cat = ast_category_browse(cfg, NULL); cat = ast_category_browse(cfg, NULL);
for (var = ast_variable_browse(cfg, "general"); var; var = var->next) { for (var = ast_variable_browse(cfg, "general"); var; var = var->next) {
if (!strcasecmp(var->name, "debug")) if (!strcasecmp(var->name, "debug")) {
debug = (ast_false(ast_variable_retrieve(cfg, "general", "debug"))) ? 0 : 1; debug = (ast_false(ast_variable_retrieve(cfg, "general", "debug"))) ? 0 : 1;
else if (!strcasecmp(var->name, "autoprune")) } else if (!strcasecmp(var->name, "autoprune")) {
ast_set2_flag(&globalflags, ast_true(var->value), AJI_AUTOPRUNE); ast_set2_flag(&globalflags, ast_true(var->value), AJI_AUTOPRUNE);
else if (!strcasecmp(var->name, "autoregister")) } else if (!strcasecmp(var->name, "autoregister")) {
ast_set2_flag(&globalflags, ast_true(var->value), AJI_AUTOREGISTER); ast_set2_flag(&globalflags, ast_true(var->value), AJI_AUTOREGISTER);
} }
}
while (cat) { while (cat) {
if (strcasecmp(cat, "general")) { if (strcasecmp(cat, "general")) {

Loading…
Cancel
Save