diff options
-rw-r--r-- | UPGRADE-14.txt | 24 | ||||
-rw-r--r-- | UPGRADE-15.txt | 89 | ||||
-rw-r--r-- | UPGRADE.txt | 17 | ||||
-rw-r--r-- | main/netsock2.c | 16 | ||||
-rw-r--r-- | main/stun.c | 4 |
5 files changed, 54 insertions, 96 deletions
diff --git a/UPGRADE-14.txt b/UPGRADE-14.txt index f8fa7906b..aaf236ba2 100644 --- a/UPGRADE-14.txt +++ b/UPGRADE-14.txt @@ -22,6 +22,30 @@ === UPGRADE-13.txt -- Upgrade info for 12 to 13 =========================================================== +From 14.6.0 to 14.7.0: + +Core: + - ast_app_parse_timelen now returns an error if it encounters extra characters + at the end of the string to be parsed. + +From 14.4.0 to 14.5.0: + +Core: + - Support for embedded modules has been removed. This has not worked in + many years. LOADABLE_MODULES menuselect option is also removed as + loadable module support is now always enabled. + +From 14.3.0 to 14.4.0: + +res_rtp_asterisk: + - The RTP layer of Asterisk now has support for RFC 5761: "Multiplexing RTP + Data and Control Packets on a Single Port." For the PJSIP channel driver, + chan_pjsip, you can set "rtcp_mux = yes" on a PJSIP endpoint in pjsip.conf + to enable the feature. For chan_sip you can set "rtcp_mux = yes" either + globally or on a per-peer basis in sip.conf. + +New in 14.0.0 + ARI: - The policy for when to send "Dial" events has changed. Previously, "Dial" events were sent on the calling channel's topic. However, starting in Asterisk diff --git a/UPGRADE-15.txt b/UPGRADE-15.txt deleted file mode 100644 index 2e5eb1c17..000000000 --- a/UPGRADE-15.txt +++ /dev/null @@ -1,89 +0,0 @@ -=========================================================== -=== -=== Information for upgrading between Asterisk versions -=== -=== These files document all the changes that MUST be taken -=== into account when upgrading between the Asterisk -=== versions listed below. These changes may require that -=== you modify your configuration files, dialplan or (in -=== some cases) source code if you have your own Asterisk -=== modules or patches. These files also include advance -=== notice of any functionality that has been marked as -=== 'deprecated' and may be removed in a future release, -=== along with the suggested replacement functionality. -=== -=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2 -=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4 -=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6 -=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8 -=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10 -=== UPGRADE-11.txt -- Upgrade info for 10 to 11 -=== UPGRADE-12.txt -- Upgrade info for 11 to 12 -=== UPGRADE-13.txt -- Upgrade info for 12 to 13 -=== UPGRADE-14.txt -- Upgrade info for 13 to 14 -=== UPGRADE-15.txt -- Upgrade info for 14 to 15 -=========================================================== - -New in 15.0.0: - -Core: - - The 'Data Retrieval API' has been removed. This API was not actively - maintained, was not added to new modules (such as res_pjsip), and there - exist better alternatives to acquire the same information, such as the - ARI. As a result, the 'DataGet' AMI action as well as the 'data get' - CLI command have been removed. - -Build System: - - '--with-pjproject-bundled' is now the default when running ./configure - It can be disabled with '--without-pjproject-bundled'. - -From 14.6.0 to 14.7.0: - -Core: - - ast_app_parse_timelen now returns an error if it encounters extra characters - at the end of the string to be parsed. - -From 14.4.0 to 14.5.0: - -Core: - - Support for embedded modules has been removed. This has not worked in - many years. LOADABLE_MODULES menuselect option is also removed as - loadable module support is now always enabled. - -From 14.3.0 to 14.4.0: - -res_rtp_asterisk: - - The RTP layer of Asterisk now has support for RFC 5761: "Multiplexing RTP - Data and Control Packets on a Single Port." For the PJSIP channel driver, - chan_pjsip, you can set "rtcp_mux = yes" on a PJSIP endpoint in pjsip.conf - to enable the feature. For chan_sip you can set "rtcp_mux = yes" either - globally or on a per-peer basis in sip.conf. - -New in 14.0.0 - -ARI: - - The policy for when to send "Dial" events has changed. Previously, "Dial" - events were sent on the calling channel's topic. However, starting in Asterisk - 14, if there is no calling channel on which to send the event, the event is - instead sent on the called channel's topic. Note that for the ARI channels - resource's dial operation, this means that the "Dial" events will always be - sent on the called channel's topic. - -Queue: - - When reloading the members of a queue, the members added dynamically (i.e. - added via the CLI command "queue add" or the AMI action "QueueAdd") now have - their ringinuse value updated to the value of the queue. Previously, the - ringinuse value for dynamic members was not updated on reload. - -Queue log: - - New RINGCANCELED event is logged when the caller hangs up while ringing. - The data1 field contains number of miliseconds since start of ringing. - -Channel Drivers: - -chan_dahdi: - - Support for specifying a DAHDI channel using a path under /dev/dahdi - ("by name") has been removed. It was never used. Instead you should - use kernel-level channel number allocation using span assignments. - See the documentation of dahdi-linux and dahdi-tools. - diff --git a/UPGRADE.txt b/UPGRADE.txt index 87eabde2d..30dc5d04c 100644 --- a/UPGRADE.txt +++ b/UPGRADE.txt @@ -21,5 +21,20 @@ === UPGRADE-12.txt -- Upgrade info for 11 to 12 === UPGRADE-13.txt -- Upgrade info for 12 to 13 === UPGRADE-14.txt -- Upgrade info for 13 to 14 -=== UPGRADE-15.txt -- Upgrade info for 14 to 15 =========================================================== + +New in 15.0.0: + +Build System: + - '--with-pjproject-bundled' is now the default when running ./configure + It can be disabled with '--without-pjproject-bundled'. + +Core: + - Multi-stream support has been added so a channel can have multiple + streams of the same type such as audio and video. + + - The 'Data Retrieval API' has been removed. This API was not actively + maintained, was not added to new modules (such as res_pjsip), and there + exist better alternatives to acquire the same information, such as the + ARI. As a result, the 'DataGet' AMI action as well as the 'data get' + CLI command have been removed. diff --git a/main/netsock2.c b/main/netsock2.c index 8fb9c9e56..53a43e041 100644 --- a/main/netsock2.c +++ b/main/netsock2.c @@ -475,8 +475,12 @@ uint32_t ast_sockaddr_ipv4(const struct ast_sockaddr *addr) int ast_sockaddr_is_ipv4(const struct ast_sockaddr *addr) { - return addr->ss.ss_family == AF_INET && - addr->len == sizeof(struct sockaddr_in); + /* + * Test addr->len first to be tolerant of an ast_sockaddr_setnull() + * addr. In that case addr->len might be the only value initialized. + */ + return addr->len == sizeof(struct sockaddr_in) + && addr->ss.ss_family == AF_INET; } int ast_sockaddr_is_ipv4_mapped(const struct ast_sockaddr *addr) @@ -498,8 +502,12 @@ int ast_sockaddr_is_ipv6_link_local(const struct ast_sockaddr *addr) int ast_sockaddr_is_ipv6(const struct ast_sockaddr *addr) { - return addr->ss.ss_family == AF_INET6 && - addr->len == sizeof(struct sockaddr_in6); + /* + * Test addr->len first to be tolerant of an ast_sockaddr_setnull() + * addr. In that case addr->len might be the only value initialized. + */ + return addr->len == sizeof(struct sockaddr_in6) + && addr->ss.ss_family == AF_INET6; } int ast_sockaddr_is_any(const struct ast_sockaddr *addr) diff --git a/main/stun.c b/main/stun.c index 77ced82ae..c103ab8d8 100644 --- a/main/stun.c +++ b/main/stun.c @@ -343,6 +343,8 @@ int ast_stun_handle_packet(int s, struct sockaddr_in *src, unsigned char *data, if (st.username) { append_attr_string(&attr, STUN_USERNAME, st.username, &resplen, &respleft); snprintf(combined, sizeof(combined), "%16s%16s", st.username + 16, st.username); + } else { + combined[0] = '\0'; } append_attr_address(&attr, STUN_MAPPED_ADDRESS, src, &resplen, &respleft); @@ -398,8 +400,6 @@ int ast_stun_request(int s, struct sockaddr_in *dst, stun_req_id(req); reqlen = 0; reqleft = sizeof(req_buf) - sizeof(struct stun_header); - req->msgtype = 0; - req->msglen = 0; attr = (struct stun_attr *) req->ies; if (username) { append_attr_string(&attr, STUN_USERNAME, username, &reqlen, &reqleft); |