Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rfc5952#section-4.3 conformance: IPv6 address in lower case #2488

Closed
sergey-safarov opened this issue Sep 29, 2020 · 5 comments
Closed

rfc5952#section-4.3 conformance: IPv6 address in lower case #2488

sergey-safarov opened this issue Sep 29, 2020 · 5 comments

Comments

@sergey-safarov
Copy link
Member

Description

rfc5952#section-4.3

4.3. Lowercase
The characters "a", "b", "c", "d", "e", and "f" in an IPv6 address
MUST be represented in lowercase.

Expected behavior

According to RFC

Actual observed behavior

IPv6 addresses the upper case.

Debugging Data

None

Log Messages

None

SIP Traffic

OPTIONS sip:proxy.example.com;transport=tcp SIP/2.0
Via: SIP/2.0/TCP [2600:1F1C:257:8706:C6BA:A565:1E85:B29E];branch=z9hG4bKa3e9.cac3f2f1000000000000000000000000.0
To: <sip:proxy.example.com;transport=tcp>
From: <sip:proxy@example.com>;tag=897804205b5fb4c6a22d7dcb9cb796fb-733ff025
CSeq: 10 OPTIONS
Call-ID: 29ea7b443fbf87f8-2892@172.22.6.119
Max-Forwards: 70
Content-Length: 0
User-Agent: Kamailio

Possible Solutions

Not known

Additional Information

  • Kamailio Version - output of kamailio -v
[centos@ip-172-22-6-226 ~]$ kamailio -v
version: kamailio 5.5.0-dev2 (x86_64/linux) 60f04b
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 60f04b 
compiled on 04:01:18 Sep 26 2020 with gcc 8.3.1
  • Operating System:
[centos@ip-172-22-6-226 ~]$ cat /etc/os-release 
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"
miconda added a commit that referenced this issue Sep 30, 2020
- can be set to "a" or "A" to specify if hex digits in local computed
ipv6 addresses are lowercase or uppercase. Default is "A" (same format
used so far).
- enables the ability to follow recommedations of RFC5952, section 4.3
- GH #2488
@miconda
Copy link
Member

miconda commented Sep 30, 2020

I added a new core parameter to enable switching to lowercase, see:

However, apart of seeing the listen sockets show now lowercase hex digits if the core param is set accordingly, I haven't done much testing. If you find issues, open new cases in tracker to address them.

@miconda miconda closed this as completed Sep 30, 2020
@sergey-safarov
Copy link
Member Author

How about add ipv6_hex_style = "a" into default kamailio config?
Can I do it?

@miconda
Copy link
Member

miconda commented Sep 30, 2020

It is not yet time for such change, because it is a new addition and not well tested. Moreover, the RFC is about recommendations, is not a real bug. Keep it in mind for changes to be done before next major release, at that moment it can be better to just set the default value in the code.

@sergey-safarov
Copy link
Member Author

I have tested this update.
The current Kamailio behavior as expected.

INVITE sip:+19163120077@example.com SIP/2.0
Record-Route: <sip:[2600:1f18:40ed:da06:ae55:4e63:67e5:e60a];transport=tcp;r2=on;lr=on;ftag=daFBsTkhF>
Record-Route: <sip:3.236.25.4;transport=tcp;r2=on;lr=on;ftag=daFBsTkhF>
Via: SIP/2.0/TCP [2600:1f18:40ed:da06:ae55:4e63:67e5:e60a];branch=z9hG4bK155b.223c92df834dbcc962418d2f49797a80.0;i=89
Via: SIP/2.0/TCP 192.168.2.10:41322;received=91.224.133.8;branch=z9hG4bK.YxTlXA4AD;rport=41322
From: "test" <sip:6157778900@example.com>;tag=daFBsTkhF
To: sip:+19163120077@example.com

As I understand not chance to backport to 5.4, 5.3 and 5.2 branches.

@miconda
Copy link
Member

miconda commented Sep 30, 2020

It is not a fix to a bug, but an implementation of an rfc with recommendations, thus it does not meet backporting policy. After all, how it was so far worked since 2001 when ipv6 support was added to core.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants