diff options
author | Matthew Wild <mwild1@gmail.com> | 2010-02-25 18:03:15 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2010-02-25 18:03:15 +0000 |
commit | 52d66e52676c48d453fa286be2c5587dce80afb4 (patch) | |
tree | 5e79f55f6555de26e604310a6654a494d163e913 | |
parent | 43052f325355c2c5b03540119f08c38022e0a452 (diff) | |
parent | cc932b9c970f5119b7a1ae08111814ff085b9f6d (diff) | |
download | prosody-52d66e52676c48d453fa286be2c5587dce80afb4.tar.gz prosody-52d66e52676c48d453fa286be2c5587dce80afb4.zip |
Merge with 0.6
-rw-r--r-- | core/s2smanager.lua | 4 | ||||
-rw-r--r-- | tests/test_core_s2smanager.lua | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/core/s2smanager.lua b/core/s2smanager.lua index 875a6bdc..16ede7b6 100644 --- a/core/s2smanager.lua +++ b/core/s2smanager.lua @@ -48,7 +48,9 @@ local incoming_s2s = incoming_s2s; module "s2smanager" -local function compare_srv_priorities(a,b) return a.priority < b.priority or a.weight < b.weight; end +function compare_srv_priorities(a,b) + return a.priority < b.priority or (a.priority == b.priority and a.weight > b.weight); +end local function bounce_sendq(session, reason) local sendq = session.sendq; diff --git a/tests/test_core_s2smanager.lua b/tests/test_core_s2smanager.lua index 8635ed24..6a7ebcd0 100644 --- a/tests/test_core_s2smanager.lua +++ b/tests/test_core_s2smanager.lua @@ -30,18 +30,18 @@ function compare_srv_priorities(csp) assert_equal(csp(r3, r2), false); assert_equal(csp(r3, r3), false); assert_equal(csp(r3, r4), false); - assert_equal(csp(r3, r5), true); + assert_equal(csp(r3, r5), false); assert_equal(csp(r4, r1), false); assert_equal(csp(r4, r2), false); assert_equal(csp(r4, r3), false); assert_equal(csp(r4, r4), false); - assert_equal(csp(r4, r5), true); + assert_equal(csp(r4, r5), false); assert_equal(csp(r5, r1), false); assert_equal(csp(r5, r2), false); - assert_equal(csp(r5, r3), false); - assert_equal(csp(r5, r4), false); + assert_equal(csp(r5, r3), true); + assert_equal(csp(r5, r4), true); assert_equal(csp(r5, r5), false); end |