Thank you for your input so far. All the alternatives seem to work-around the issue but not fulfill our needs.
We have debugged a little using
gdb
. We noticed that the value ofmsg->rcv->bind_address->address_str
is correct before callingdo_action
. Afterwards, it is wrong.Before:
s = "172.20.21.3" len = 11
After:
s = "217.116.120.247" len = 11 (sic!)
We took a closer look (step by step) and the problem seems to be using
ip_addr2a
. It returns a pointer to a local staticchar[]
. This is assigned to the original struct ofaddress_str
inside ofparsing_hepv3_message
.Later, when
ip_addr2a
is called again for xlog, then the same address is used again and hence the value ofaddress_str.s
is overwriten.A quick look at the git history for the functions did not show any relevant changes to my untrained eyes.
As the jump from 5.1/5.4 (debian jessie) to 5.5/5.8 (debian bookworm) is kind of huge, maybe this is related to changes in the compiler?
ok, it can be related to the struct pack, need to check it the union works correct. What is the compiler ?
https://github.com/kamailio/kamailio/blob/master/src/core/ip_addr.h#L74-L80
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.