[Asterisk-code-review] pbx dundi: DUNDi weight paramteter not processed correctly (asterisk[master])
Sean Bright
asteriskteam at digium.com
Tue Feb 21 15:12:35 CST 2017
Sean Bright has uploaded a new change for review. ( https://gerrit.asterisk.org/5054 )
Change subject: pbx_dundi: DUNDi weight paramteter not processed correctly
......................................................................
pbx_dundi: DUNDi weight paramteter not processed correctly
The DUNDi weight field is not always converted from network byte order
to host byte order. This can result in incorrect weight values and
incorrect selection of DUNDi destinations.
ASTERISK-18731 #close
Reported by: Peter Racz
Patches:
dundi_weight.patch (license #6290) patch uploaded by Peter Racz
Change-Id: Iba3e1a700ff539db57211a7bbc26f7b22ea9a1be
---
M pbx/pbx_dundi.c
1 file changed, 4 insertions(+), 4 deletions(-)
git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/54/5054/1
diff --git a/pbx/pbx_dundi.c b/pbx/pbx_dundi.c
index 50a9160..58086aa 100644
--- a/pbx/pbx_dundi.c
+++ b/pbx/pbx_dundi.c
@@ -992,9 +992,9 @@
sizeof(trans->parent->dr[trans->parent->respcount].tech));
trans->parent->respcount++;
ast_clear_flag_nonstd(trans->parent->hmd, DUNDI_HINT_DONT_ASK);
- } else if (trans->parent->dr[z].weight > ies->answers[x]->weight) {
+ } else if (trans->parent->dr[z].weight > ntohs(ies->answers[x]->weight)) {
/* Update weight if appropriate */
- trans->parent->dr[z].weight = ies->answers[x]->weight;
+ trans->parent->dr[z].weight = ntohs(ies->answers[x]->weight);
}
} else
ast_log(LOG_NOTICE, "Dropping excessive answers in precache for %s@%s\n",
@@ -1762,9 +1762,9 @@
sizeof(trans->parent->dr[trans->parent->respcount].tech));
trans->parent->respcount++;
ast_clear_flag_nonstd(trans->parent->hmd, DUNDI_HINT_DONT_ASK);
- } else if (trans->parent->dr[z].weight > ies.answers[x]->weight) {
+ } else if (trans->parent->dr[z].weight > ntohs(ies.answers[x]->weight)) {
/* Update weight if appropriate */
- trans->parent->dr[z].weight = ies.answers[x]->weight;
+ trans->parent->dr[z].weight = ntohs(ies.answers[x]->weight);
}
} else
ast_log(LOG_NOTICE, "Dropping excessive answers to request for %s@%s\n",
--
To view, visit https://gerrit.asterisk.org/5054
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iba3e1a700ff539db57211a7bbc26f7b22ea9a1be
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Sean Bright <sean.bright at gmail.com>
More information about the asterisk-code-review
mailing list