aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphsultan <phsultan@f38db490-d61c-443f-a65b-d21fe96a405b>2008-09-09 22:14:40 +0000
committerphsultan <phsultan@f38db490-d61c-443f-a65b-d21fe96a405b>2008-09-09 22:14:40 +0000
commit01f98e120f8f04763e599ab8a845b520efde5b59 (patch)
treeb670e02f3d7b3f219531d04c27f9ac97064f75bd
parenteac66b8cb668408ce8f67a23392d377f08547965 (diff)
Merged revisions 142280 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r142280 | phsultan | 2008-09-10 00:08:56 +0200 (Wed, 10 Sep 2008) | 6 lines 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: http://svn.digium.com/svn/asterisk/branches/1.6.0@142281 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--CHANGES3
-rw-r--r--configs/jabber.conf.sample6
-rw-r--r--res/res_jabber.c13
3 files changed, 14 insertions, 8 deletions
diff --git a/CHANGES b/CHANGES
index 5d027a055..3cadf8f8d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -532,6 +532,9 @@ Miscellaneous New Modules
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
on Linux. If configure is unable to find libcap then you
can use --with-cap to specify the path.
diff --git a/configs/jabber.conf.sample b/configs/jabber.conf.sample
index e817e48d0..6cfb755bd 100644
--- a/configs/jabber.conf.sample
+++ b/configs/jabber.conf.sample
@@ -1,7 +1,9 @@
[general]
;debug=yes ;;Turn on debugging by default.
-;autoprune=yes ;;Auto remove users from buddy list.
-;autoregister=yes ;;Auto register 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.
;[asterisk] ;;label
;type=client ;;Client or Component connection
diff --git a/res/res_jabber.c b/res/res_jabber.c
index 04194de26..ae24d7545 100644
--- a/res/res_jabber.c
+++ b/res/res_jabber.c
@@ -159,7 +159,7 @@ struct aji_client_container clients;
struct aji_capabilities *capabilities = NULL;
/*! \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.
@@ -2076,7 +2076,7 @@ static void aji_pruneregister(struct aji_client *client)
ASTOBJ_RDLOCK(iterator);
/* For an aji_buddy, both AUTOPRUNE and AUTOREGISTER will never
* 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,
"GoodBye. Your status is no longer needed by Asterisk the Open Source PBX"
" so I am no longer subscribing to your presence.\n"));
@@ -2881,7 +2881,7 @@ static int aji_load_config(int reload)
return -1;
/* Reset flags to default value */
- ast_set_flag(&globalflags, AJI_AUTOPRUNE | AJI_AUTOREGISTER);
+ ast_set_flag(&globalflags, AJI_AUTOREGISTER);
if (!cfg) {
ast_log(LOG_WARNING, "No such configuration file %s\n", JABBER_CONFIG);
@@ -2890,12 +2890,13 @@ static int aji_load_config(int reload)
cat = ast_category_browse(cfg, NULL);
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;
- else if (!strcasecmp(var->name, "autoprune"))
+ } else if (!strcasecmp(var->name, "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);
+ }
}
while (cat) {