res_calendar_ews: Relax neon version check to work with 0.30 too.
authorWalter Doekes <walter+asterisk@wjd.nu>
Sun, 12 Oct 2014 07:47:52 +0000 (07:47 +0000)
committerWalter Doekes <walter+asterisk@wjd.nu>
Sun, 12 Oct 2014 07:47:52 +0000 (07:47 +0000)
Allow res_calendar_ews to work not only with libneon-0.29 but also
with 0.30.

ASTERISK-24325 #close
Reported by: Tzafrir Cohen

Review: https://reviewboard.asterisk.org/r/4068/
........

Merged revisions 425286 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 425287 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 425288 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 425289 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@425290 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_calendar_ews.c

index 5108682..c45ac0b 100644 (file)
@@ -907,8 +907,17 @@ static void *ewscal_load_calendar(void *void_data)
 static int load_module(void)
 {
        /* Actualy, 0.29.1 is required (because of NTLM authentication), but this
-        * function does not support matching patch version. */
-       if (ne_version_match(0, 29)) {
+        * function does not support matching patch version.
+        *
+        * The ne_version_match function returns non-zero if the library
+        * version is not of major version major, or the minor version
+        * is less than minor. For neon versions 0.x, every minor
+        * version is assumed to be incompatible with every other minor
+        * version.
+        *
+        * I.e. for version 1.2..1.9 we would do ne_version_match(1, 2)
+        * but for version 0.29 and 0.30 we need two checks. */
+       if (ne_version_match(0, 29) && ne_version_match(0, 30)) {
                ast_log(LOG_ERROR, "Exchange Web Service calendar module require neon >= 0.29.1, but %s is installed.\n", ne_version_string());
                return AST_MODULE_LOAD_DECLINE;
        }