mirror of https://github.com/asterisk/asterisk
				
				
				
			releases/22
				
					releases/23
				
					releases/21
				
					releases/20
				
					master
				
					20
				
					22
				
					23
				
					certified/18.9
				
					certified/20.7
				
					21
				
					18
				
					revert-1477-taskpool-pjsip
				
					releases/21-pre-reorder
				
					releases/20-pre-reorder
				
					releases/22.5
				
					releases/20.15
				
					releases/21.10
				
					releases/18
				
					releases/certified-18.9
				
					releases/certified-20.7
				
					releases/22.4
				
					releases/21.9
				
					releases/20.14
				
					revert-549-master-issue-548
				
					16
				
					19
				
					releases/19
				
					releases/16
				
					20.2
				
					18.17
				
					20.1
				
					19.8
				
					18.16
				
					16.30
				
					20.0
				
					19.7
				
					18.15
				
					16.29
				
					16.19
				
					19.6
				
					18.14
				
					16.28
				
					development/16/python3
				
					development/16/geolocation
				
					19.5
				
					18.13
				
					16.27
				
					19.4
				
					18.12
				
					16.26
				
					19.3
				
					18.11
				
					16.25
				
					certified/16.8
				
					19.2
				
					18.10
				
					16.24
				
					certified/16.3
				
					19.1
				
					18.9
				
					16.23
				
					19.0
				
					18.8
				
					16.22
				
					16.21
				
					18.7
				
					18.6
				
					16.20
				
					18.5
				
					17.9
				
					13.38
				
					17
				
					13
				
					18.4
				
					16.18
				
					18.3
				
					16.17
				
					18.2
				
					16.16
				
					18.1
				
					16.15
				
					jenkinstest-16
				
					18.0
				
					17.8
				
					16.14
				
					13.37
				
					17.7
				
					16.13
				
					13.36
				
					certified/13.21
				
					17.6
				
					16.12
				
					13.35
				
					17.5
				
					16.11
				
					13.34
				
					17.4
				
					16.10
				
					13.33
				
					17.3
				
					16.9
				
					13.32
				
					17.2
				
					16.8
				
					13.31
				
					17.1
				
					16.7
				
					13.30
				
					17.0
				
					16.6
				
					13.29
				
					16.5
				
					15.7
				
					13.28
				
					15
				
					16.4
				
					13.27
				
					16.3
				
					13.26
				
					16.2
				
					13.25
				
					16.1
				
					13.24
				
					16.0
				
					15.6
				
					13.23
				
					14.7
				
					14
				
					certified/13.18
				
					certified/13.13
				
					certified/11.6
				
					11
				
					certified/13.8
				
					certified/13.1
				
					1.8
				
					certified/1.8.28
				
					12
				
					certified/1.8.15
				
					certified/11.2
				
					10-digiumphones
				
					10
				
					certified/1.8.11
				
					certified/1.8.6
				
					1.6.2
				
					1.4
				
					1.6.1
				
					1.6.0
				
					1.2
				
					1.2-netsec
				
					1.0
				
			
			
				
					
						22.7.0-rc1
					
				
					
						23.1.0-rc1
					
				
					
						21.12.0-rc1
					
				
					
						20.17.0-rc1
					
				
					
						23.0.0
					
				
					
						22.6.0
					
				
					
						21.11.0
					
				
					
						20.16.0
					
				
					
						21.11.0-rc2
					
				
					
						23.0.0-rc2
					
				
					
						22.6.0-rc2
					
				
					
						20.16.0-rc2
					
				
					
						20.15.0
					
				
					
						20.15.0-rc1
					
				
					
						20.15.0-rc2
					
				
					
						20.15.0-rc3
					
				
					
						20.15.1
					
				
					
						20.15.2
					
				
					
						20.16.0-rc1
					
				
					
						21.10.0
					
				
					
						21.10.0-rc1
					
				
					
						21.10.0-rc2
					
				
					
						21.10.0-rc3
					
				
					
						21.10.1
					
				
					
						21.10.2
					
				
					
						21.11.0-rc1
					
				
					
						22.5.0-rc1
					
				
					
						22.5.0-rc2
					
				
					
						22.5.0-rc3
					
				
					
						22.5.0
					
				
					
						22.5.1
					
				
					
						22.5.2
					
				
					
						22.6.0-rc1
					
				
					
						23.0.0-rc1
					
				
					
						18.26.4
					
				
					
						certified-18.9-cert17
					
				
					
						23.0.0-pre1
					
				
					
						certified-20.7-cert7
					
				
					
						certified-18.9-cert16
					
				
					
						18.26.3
					
				
					
						certified-20.7-cert6
					
				
					
						certified-18.9-cert15
					
				
					
						22.4.1
					
				
					
						21.9.1
					
				
					
						20.14.1
					
				
					
						18.26.2
					
				
					
						certified-20.7-cert5
					
				
					
						certified-18.9-cert14
					
				
					
						22.4.0
					
				
					
						21.9.0
					
				
					
						20.14.0
					
				
					
						22.4.0-rc1
					
				
					
						21.9.0-rc1
					
				
					
						20.14.0-rc1
					
				
					
						22.3.0
					
				
					
						21.8.0
					
				
					
						20.13.0
					
				
					
						22.3.0-rc1
					
				
					
						21.8.0-rc1
					
				
					
						20.13.0-rc1
					
				
					
						22.2.0
					
				
					
						21.7.0
					
				
					
						20.12.0
					
				
					
						22.2.0-rc2
					
				
					
						21.7.0-rc2
					
				
					
						20.12.0-rc2
					
				
					
						22.2.0-rc1
					
				
					
						21.7.0-rc1
					
				
					
						20.12.0-rc1
					
				
					
						certified-20.7-cert4
					
				
					
						certified-18.9-cert13
					
				
					
						22.1.1
					
				
					
						21.6.1
					
				
					
						20.11.1
					
				
					
						18.26.1
					
				
					
						22.1.0
					
				
					
						21.6.0
					
				
					
						20.11.0
					
				
					
						18.26.0
					
				
					
						22.1.0-rc1
					
				
					
						21.6.0-rc1
					
				
					
						20.11.0-rc1
					
				
					
						18.26.0-rc1
					
				
					
						18.25.0
					
				
					
						20.10.0
					
				
					
						21.5.0
					
				
					
						22.0.0
					
				
					
						22.0.0-rc2
					
				
					
						21.5.0-rc2
					
				
					
						20.10.0-rc2
					
				
					
						18.25.0-rc2
					
				
					
						22.0.0-rc1
					
				
					
						21.5.0-rc1
					
				
					
						20.10.0-rc1
					
				
					
						18.25.0-rc1
					
				
					
						certified-20.7-cert3
					
				
					
						certified-18.9-cert12
					
				
					
						21.4.3
					
				
					
						20.9.3
					
				
					
						18.24.3
					
				
					
						22.0.0-pre1
					
				
					
						21.4.2
					
				
					
						20.9.2
					
				
					
						18.24.2
					
				
					
						certified-20.7-cert2
					
				
					
						certified-18.9-cert11
					
				
					
						21.4.1
					
				
					
						20.9.1
					
				
					
						18.24.1
					
				
					
						21.4.0
					
				
					
						20.9.0
					
				
					
						18.24.0
					
				
					
						certified-20.7-cert1
					
				
					
						certified-18.9-cert10
					
				
					
						21.4.0-rc1
					
				
					
						20.9.0-rc1
					
				
					
						18.24.0-rc1
					
				
					
						21.3.1
					
				
					
						20.8.1
					
				
					
						18.23.1
					
				
					
						21.3.0
					
				
					
						20.8.0
					
				
					
						18.23.0
					
				
					
						certified-20.7-cert1-rc2
					
				
					
						certified-18.9-cert9
					
				
					
						20.8.0-rc1
					
				
					
						21.3.0-rc1
					
				
					
						18.23.0-rc1
					
				
					
						certified-20.7-cert1-rc1
					
				
					
						certified-20.7-cert1-pre1
					
				
					
						21.2.0
					
				
					
						20.7.0
					
				
					
						18.22.0
					
				
					
						certified-18.9-cert8
					
				
					
						21.2.0-rc2
					
				
					
						20.7.0-rc2
					
				
					
						18.22.0-rc2
					
				
					
						21.2.0-rc1
					
				
					
						20.7.0-rc1
					
				
					
						18.22.0-rc1
					
				
					
						certified-18.9-cert8-rc2
					
				
					
						certified-18.9-cert8-rc1
					
				
					
						21.1.0
					
				
					
						20.6.0
					
				
					
						18.21.0
					
				
					
						21.1.0-rc2
					
				
					
						20.6.0-rc2
					
				
					
						18.21.0-rc2
					
				
					
						21.1.0-rc1
					
				
					
						20.6.0-rc1
					
				
					
						18.21.0-rc1
					
				
					
						21.0.2
					
				
					
						20.5.2
					
				
					
						18.20.2
					
				
					
						certified-18.9-cert7
					
				
					
						certified-18.9-cert6
					
				
					
						21.0.1
					
				
					
						20.5.1
					
				
					
						18.20.1
					
				
					
						21.0.0
					
				
					
						20.5.0
					
				
					
						18.20.0
					
				
					
						21.0.0-rc1
					
				
					
						20.5.0-rc1
					
				
					
						18.20.0-rc1
					
				
					
						21.0.0-pre1
					
				
					
						18.19.0
					
				
					
						20.4.0
					
				
					
						20.4.0-rc2
					
				
					
						18.19.0-rc2
					
				
					
						20.4.0-rc1
					
				
					
						18.19.0-rc1
					
				
					
						20.3.1
					
				
					
						certified-18.9-cert5
					
				
					
						19.8.1
					
				
					
						18.18.1
					
				
					
						16.30.1
					
				
					
						certified-18.9-cert4
					
				
					
						20.3.0
					
				
					
						18.18.0
					
				
					
						20.3.0-rc1
					
				
					
						18.18.0-rc1
					
				
					
						20.2.1
					
				
					
						18.17.1
					
				
					
						20.2.0
					
				
					
						18.17.0
					
				
					
						20.2.0-rc1
					
				
					
						18.17.0-rc1
					
				
					
						certified/18.9-cert4
					
				
					
						20.1.0
					
				
					
						19.8.0
					
				
					
						18.16.0
					
				
					
						16.30.0
					
				
					
						20.1.0-rc2
					
				
					
						19.8.0-rc2
					
				
					
						18.16.0-rc2
					
				
					
						16.30.0-rc2
					
				
					
						20.1.0-rc1
					
				
					
						18.16.0-rc1
					
				
					
						19.8.0-rc1
					
				
					
						16.30.0-rc1
					
				
					
						certified/18.9-cert3
					
				
					
						20.0.1
					
				
					
						19.7.1
					
				
					
						18.15.1
					
				
					
						16.29.1
					
				
					
						19.7.0
					
				
					
						20.0.0
					
				
					
						18.15.0
					
				
					
						16.29.0
					
				
					
						certified/18.9-cert2
					
				
					
						20.0.0-rc2
					
				
					
						19.7.0-rc2
					
				
					
						18.15.0-rc2
					
				
					
						16.29.0-rc2
					
				
					
						20.0.0-rc1
					
				
					
						19.7.0-rc1
					
				
					
						18.15.0-rc1
					
				
					
						16.29.0-rc1
					
				
					
						19.6.0
					
				
					
						18.14.0
					
				
					
						16.28.0
					
				
					
						19.6.0-rc2
					
				
					
						18.14.0-rc2
					
				
					
						16.28.0-rc2
					
				
					
						19.6.0-rc1
					
				
					
						18.14.0-rc1
					
				
					
						16.28.0-rc1
					
				
					
						19.5.0
					
				
					
						18.13.0
					
				
					
						16.27.0
					
				
					
						19.5.0-rc1
					
				
					
						18.13.0-rc1
					
				
					
						16.27.0-rc1
					
				
					
						19.4.1
					
				
					
						18.12.1
					
				
					
						16.26.1
					
				
					
						19.4.0
					
				
					
						18.12.0
					
				
					
						16.26.0
					
				
					
						19.4.0-rc1
					
				
					
						18.12.0-rc1
					
				
					
						16.26.0-rc1
					
				
					
						certified/18.9-cert1
					
				
					
						19.3.3
					
				
					
						18.11.3
					
				
					
						16.25.3
					
				
					
						certified/16.8-cert14
					
				
					
						19.3.2
					
				
					
						18.11.2
					
				
					
						16.25.2
					
				
					
						19.3.1
					
				
					
						18.11.1
					
				
					
						16.25.1
					
				
					
						19.3.0
					
				
					
						18.11.0
					
				
					
						16.25.0
					
				
					
						19.3.0-rc1
					
				
					
						18.11.0-rc1
					
				
					
						16.25.0-rc1
					
				
					
						certified/16.8-cert13
					
				
					
						19.2.1
					
				
					
						18.10.1
					
				
					
						16.24.1
					
				
					
						19.2.0
					
				
					
						18.10.0
					
				
					
						16.24.0
					
				
					
						19.2.0-rc1
					
				
					
						18.10.0-rc1
					
				
					
						16.24.0-rc1
					
				
					
						certified/18.9-cert1-rc1
					
				
					
						19.1.0
					
				
					
						18.9.0
					
				
					
						16.23.0
					
				
					
						19.1.0-rc1
					
				
					
						18.9.0-rc1
					
				
					
						16.23.0-rc1
					
				
					
						19.0.0
					
				
					
						18.8.0
					
				
					
						16.22.0
					
				
					
						certified/16.8-cert12
					
				
					
						19.0.0-rc1
					
				
					
						18.8.0-rc1
					
				
					
						16.22.0-rc1
					
				
					
						16.21.1
					
				
					
						18.7.1
					
				
					
						18.7.0
					
				
					
						16.21.0
					
				
					
						18.7.0-rc3
					
				
					
						16.21.0-rc3
					
				
					
						18.7.0-rc2
					
				
					
						16.21.0-rc2
					
				
					
						18.7.0-rc1
					
				
					
						16.21.0-rc1
					
				
					
						certified/16.8-cert11
					
				
					
						18.6.0
					
				
					
						16.20.0
					
				
					
						18.6.0-rc1
					
				
					
						16.20.0-rc1
					
				
					
						certified/16.8-cert10
					
				
					
						18.5.1
					
				
					
						17.9.4
					
				
					
						16.19.1
					
				
					
						13.38.3
					
				
					
						18.5.0
					
				
					
						16.19.0
					
				
					
						certified/16.8-cert9
					
				
					
						18.5.0-rc1
					
				
					
						16.19.0-rc1
					
				
					
						18.4.0
					
				
					
						16.18.0
					
				
					
						18.4.0-rc1
					
				
					
						16.18.0-rc1
					
				
					
						certified/16.8-cert8
					
				
					
						18.3.0
					
				
					
						16.17.0
					
				
					
						18.3.0-rc2
					
				
					
						16.17.0-rc2
					
				
					
						18.3.0-rc1
					
				
					
						16.17.0-rc1
					
				
					
						certified/16.8-cert7
					
				
					
						18.2.2
					
				
					
						17.9.3
					
				
					
						16.16.2
					
				
					
						certified/16.8-cert6
					
				
					
						18.2.1
					
				
					
						17.9.2
					
				
					
						16.16.1
					
				
					
						13.38.2
					
				
					
						18.2.0
					
				
					
						16.16.0
					
				
					
						18.2.0-rc1
					
				
					
						16.16.0-rc1
					
				
					
						18.1.1
					
				
					
						17.9.1
					
				
					
						16.15.1
					
				
					
						13.38.1
					
				
					
						18.1.0
					
				
					
						17.9.0
					
				
					
						16.15.0
					
				
					
						13.38.0
					
				
					
						18.1.0-rc1
					
				
					
						17.9.0-rc1
					
				
					
						16.15.0-rc1
					
				
					
						13.38.0-rc1
					
				
					
						18.0.1
					
				
					
						17.8.1
					
				
					
						16.14.1
					
				
					
						certified/16.8-cert5
					
				
					
						13.37.1
					
				
					
						certified/16.8-cert4
					
				
					
						certified/16.8-cert4-rc4
					
				
					
						18.0.0
					
				
					
						17.8.0
					
				
					
						16.14.0
					
				
					
						13.37.0
					
				
					
						18.0.0-rc2
					
				
					
						certified/16.8-cert4-rc3
					
				
					
						18.0.0-rc1
					
				
					
						17.8.0-rc1
					
				
					
						16.14.0-rc1
					
				
					
						13.37.0-rc1
					
				
					
						17.7.0
					
				
					
						16.13.0
					
				
					
						13.36.0
					
				
					
						17.7.0-rc2
					
				
					
						16.13.0-rc2
					
				
					
						13.36.0-rc2
					
				
					
						17.7.0-rc1
					
				
					
						16.13.0-rc1
					
				
					
						13.36.0-rc1
					
				
					
						certified/16.8-cert4-rc2
					
				
					
						17.6.0
					
				
					
						16.12.0
					
				
					
						13.35.0
					
				
					
						17.6.0-rc1
					
				
					
						16.12.0-rc1
					
				
					
						13.35.0-rc1
					
				
					
						certified/16.8-cert4-rc1
					
				
					
						certified/16.8-cert3
					
				
					
						17.5.1
					
				
					
						16.11.1
					
				
					
						17.5.0
					
				
					
						16.11.0
					
				
					
						13.34.0
					
				
					
						17.5.0-rc3
					
				
					
						16.11.0-rc3
					
				
					
						13.34.0-rc3
					
				
					
						17.5.0-rc2
					
				
					
						16.11.0-rc2
					
				
					
						13.34.0-rc2
					
				
					
						17.5.0-rc1
					
				
					
						16.11.0-rc1
					
				
					
						13.34.0-rc1
					
				
					
						certified/16.8-cert2
					
				
					
						17.4.0
					
				
					
						16.10.0
					
				
					
						13.33.0
					
				
					
						certified/16.8-cert1
					
				
					
						17.4.0-rc2
					
				
					
						16.10.0-rc2
					
				
					
						13.33.0-rc2
					
				
					
						17.4.0-rc1
					
				
					
						16.10.0-rc1
					
				
					
						13.33.0-rc1
					
				
					
						certified/16.8-cert1-rc5
					
				
					
						certified/16.8-cert1-rc4
					
				
					
						17.3.0
					
				
					
						16.9.0
					
				
					
						13.32.0
					
				
					
						17.3.0-rc1
					
				
					
						16.9.0-rc1
					
				
					
						13.32.0-rc1
					
				
					
						certified/16.8-cert1-rc3
					
				
					
						certified/16.8-cert1-rc2
					
				
					
						certified/16.8-cert1-rc1
					
				
					
						17.2.0
					
				
					
						16.8.0
					
				
					
						13.31.0
					
				
					
						17.2.0-rc2
					
				
					
						16.8.0-rc2
					
				
					
						13.31.0-rc2
					
				
					
						17.2.0-rc1
					
				
					
						16.8.0-rc1
					
				
					
						13.31.0-rc1
					
				
					
						certified/16.3-cert1
					
				
					
						certified/13.21-cert6
					
				
					
						17.1.0
					
				
					
						16.7.0
					
				
					
						13.30.0
					
				
					
						17.1.0-rc2
					
				
					
						16.7.0-rc2
					
				
					
						13.30.0-rc2
					
				
					
						17.1.0-rc1
					
				
					
						16.7.0-rc1
					
				
					
						13.30.0-rc1
					
				
					
						certified/13.21-cert5
					
				
					
						17.0.1
					
				
					
						16.6.2
					
				
					
						13.29.2
					
				
					
						17.0.0
					
				
					
						17.0.0-rc3
					
				
					
						16.6.1
					
				
					
						13.29.1
					
				
					
						16.6.0
					
				
					
						13.29.0
					
				
					
						16.6.0-rc2
					
				
					
						13.29.0-rc2
					
				
					
						17.0.0-rc2
					
				
					
						16.6.0-rc1
					
				
					
						13.29.0-rc1
					
				
					
						16.5.1
					
				
					
						15.7.4
					
				
					
						13.28.1
					
				
					
						17.0.0-rc1
					
				
					
						16.5.0
					
				
					
						13.28.0
					
				
					
						16.5.0-rc1
					
				
					
						13.28.0-rc1
					
				
					
						certified/13.21-cert4
					
				
					
						16.4.1
					
				
					
						15.7.3
					
				
					
						13.27.1
					
				
					
						16.4.0
					
				
					
						13.27.0
					
				
					
						16.4.0-rc1
					
				
					
						13.27.0-rc1
					
				
					
						16.3.0
					
				
					
						13.26.0
					
				
					
						16.3.0-rc1
					
				
					
						13.26.0-rc1
					
				
					
						16.2.1
					
				
					
						15.7.2
					
				
					
						16.2.0
					
				
					
						13.25.0
					
				
					
						13.25.0-rc3
					
				
					
						16.2.0-rc2
					
				
					
						13.25.0-rc2
					
				
					
						16.2.0-rc1
					
				
					
						13.25.0-rc1
					
				
					
						16.1.1
					
				
					
						15.7.1
					
				
					
						13.24.1
					
				
					
						16.1.0
					
				
					
						13.24.0
					
				
					
						15.7.0
					
				
					
						16.1.0-rc1
					
				
					
						15.7.0-rc1
					
				
					
						13.24.0-rc1
					
				
					
						16.0.1
					
				
					
						15.6.2
					
				
					
						16.0.0
					
				
					
						16.0.0-rc3
					
				
					
						certified/13.21-cert3
					
				
					
						15.6.1
					
				
					
						14.7.8
					
				
					
						13.23.1
					
				
					
						16.0.0-rc2
					
				
					
						15.6.0
					
				
					
						13.23.0
					
				
					
						15.6.0-rc1
					
				
					
						13.23.0-rc1
					
				
					
						16.0.0-rc1
					
				
					
						15.5.0
					
				
					
						13.22.0
					
				
					
						15.5.0-rc1
					
				
					
						13.22.0-rc1
					
				
					
						15.4.1
					
				
					
						14.7.7
					
				
					
						certified/13.21-cert2
					
				
					
						certified/13.18-cert4
					
				
					
						13.21.1
					
				
					
						certified/13.21-cert1
					
				
					
						certified/13.21-cert1-rc2
					
				
					
						certified/13.21-cert1-rc1
					
				
					
						15.4.0
					
				
					
						13.21.0
					
				
					
						15.4.0-rc2
					
				
					
						15.4.0-rc1
					
				
					
						13.21.0-rc1
					
				
					
						15.3.0
					
				
					
						13.20.0
					
				
					
						15.3.0-rc2
					
				
					
						13.20.0-rc2
					
				
					
						15.3.0-rc1
					
				
					
						13.20.0-rc1
					
				
					
						15.2.2
					
				
					
						certified/13.18-cert3
					
				
					
						14.7.6
					
				
					
						13.19.2
					
				
					
						13.19.1
					
				
					
						15.2.1
					
				
					
						15.2.0
					
				
					
						13.19.0
					
				
					
						15.2.0-rc2
					
				
					
						13.19.0-rc2
					
				
					
						certified/13.18-cert2
					
				
					
						15.1.5
					
				
					
						14.7.5
					
				
					
						13.18.5
					
				
					
						certified/13.18-cert1
					
				
					
						15.2.0-rc1
					
				
					
						13.19.0-rc1
					
				
					
						certified/13.18-cert1-rc3
					
				
					
						certified/13.13-cert9
					
				
					
						15.1.4
					
				
					
						14.7.4
					
				
					
						13.18.4
					
				
					
						15.1.3
					
				
					
						certified/13.13-cert8
					
				
					
						14.7.3
					
				
					
						13.18.3
					
				
					
						certified/13.18-cert1-rc2
					
				
					
						15.1.2
					
				
					
						14.7.2
					
				
					
						13.18.2
					
				
					
						certified/13.18-cert1-rc1
					
				
					
						certified/13.13-cert7
					
				
					
						15.1.1
					
				
					
						14.7.1
					
				
					
						13.18.1
					
				
					
						15.1.0
					
				
					
						14.7.0
					
				
					
						13.18.0
					
				
					
						15.1.0-rc2
					
				
					
						14.7.0-rc2
					
				
					
						13.18.0-rc2
					
				
					
						15.1.0-rc1
					
				
					
						14.7.0-rc1
					
				
					
						13.18.0-rc1
					
				
					
						15.0.0
					
				
					
						certified/13.13-cert6
					
				
					
						certified/11.6-cert18
					
				
					
						14.6.2
					
				
					
						13.17.2
					
				
					
						11.25.3
					
				
					
						15.0.0-rc1
					
				
					
						14.6.1
					
				
					
						certified/13.13-cert5
					
				
					
						13.17.1
					
				
					
						certified/11.6-cert17
					
				
					
						11.25.2
					
				
					
						15.0.0-beta1
					
				
					
						14.6.0
					
				
					
						13.17.0
					
				
					
						14.6.0-rc1
					
				
					
						13.17.0-rc1
					
				
					
						14.5.0
					
				
					
						13.16.0
					
				
					
						14.5.0-rc2
					
				
					
						13.16.0-rc2
					
				
					
						14.5.0-rc1
					
				
					
						13.16.0-rc1
					
				
					
						certified/13.13-cert4
					
				
					
						14.4.1
					
				
					
						13.15.1
					
				
					
						14.4.0
					
				
					
						13.15.0
					
				
					
						14.4.0-rc3
					
				
					
						13.15.0-rc3
					
				
					
						14.3.1
					
				
					
						13.14.1
					
				
					
						certified/13.13-cert3
					
				
					
						13.15.0-rc2
					
				
					
						14.4.0-rc2
					
				
					
						14.4.0-rc1
					
				
					
						13.15.0-rc1
					
				
					
						certified/13.13-cert2
					
				
					
						14.3.0
					
				
					
						13.14.0
					
				
					
						certified/13.13-cert1
					
				
					
						14.3.0-rc2
					
				
					
						13.14.0-rc2
					
				
					
						certified/13.13-cert1-rc4
					
				
					
						14.3.0-rc1
					
				
					
						13.14.0-rc1
					
				
					
						certified/13.13-cert1-rc3
					
				
					
						certified/13.13-cert1-rc2
					
				
					
						certified/11.6-cert16
					
				
					
						certified/13.8-cert4
					
				
					
						14.2.1
					
				
					
						13.13.1
					
				
					
						11.25.1
					
				
					
						certified/13.13-cert1-rc1
					
				
					
						14.2.0
					
				
					
						13.13.0
					
				
					
						14.2.0-rc2
					
				
					
						13.13.0-rc2
					
				
					
						11.25.0
					
				
					
						14.2.0-rc1
					
				
					
						13.13.0-rc1
					
				
					
						11.25.0-rc1
					
				
					
						14.1.2
					
				
					
						13.12.2
					
				
					
						14.1.1
					
				
					
						13.12.1
					
				
					
						11.24.1
					
				
					
						14.1.0
					
				
					
						13.12.0
					
				
					
						11.24.0
					
				
					
						14.1.0-rc1
					
				
					
						13.12.0-rc1
					
				
					
						11.24.0-rc1
					
				
					
						14.0.2
					
				
					
						14.0.1
					
				
					
						14.0.0
					
				
					
						14.0.0-rc2
					
				
					
						14.0.0-rc1
					
				
					
						13.11.2
					
				
					
						certified/11.6-cert15
					
				
					
						certified/13.8-cert3
					
				
					
						11.23.1
					
				
					
						13.11.1
					
				
					
						13.11.0
					
				
					
						13.11.0-rc2
					
				
					
						14.0.0-beta2
					
				
					
						certified/11.6-cert14
					
				
					
						certified/11.6-cert14-rc2
					
				
					
						certified/13.8-cert2
					
				
					
						certified/13.8-cert2-rc1
					
				
					
						certified/11.6-cert14-rc1
					
				
					
						13.11.0-rc1
					
				
					
						14.0.0-beta1
					
				
					
						11.23.0
					
				
					
						13.10.0
					
				
					
						certified/13.1-cert8
					
				
					
						13.10.0-rc3
					
				
					
						certified/13.8-cert1
					
				
					
						13.10.0-rc2
					
				
					
						11.23.0-rc1
					
				
					
						13.10.0-rc1
					
				
					
						certified/13.8-cert1-rc3
					
				
					
						13.9.1
					
				
					
						13.9.0
					
				
					
						certified/13.8-cert1-rc2
					
				
					
						13.9.0-rc2
					
				
					
						certified/13.1-cert7
					
				
					
						13.9.0-rc1
					
				
					
						certified/13.1-cert6
					
				
					
						13.8.2
					
				
					
						13.8.1
					
				
					
						certified/13.1-cert5
					
				
					
						certified/13.8-cert1-rc1
					
				
					
						13.8.0
					
				
					
						11.22.0
					
				
					
						certified/13.1-cert4
					
				
					
						certified/11.6-cert13
					
				
					
						11.21.2
					
				
					
						13.7.2
					
				
					
						11.20.0
					
				
					
						13.6.0
					
				
					
						13.5.0
					
				
					
						11.19.0
					
				
					
						certified/13.1-cert3-rc1
					
				
					
						13.4.0
					
				
					
						11.18.0
					
				
					
						0.1.0
					
				
					
						0.1.1
					
				
					
						0.1.10
					
				
					
						0.1.11
					
				
					
						0.1.12
					
				
					
						0.1.2
					
				
					
						0.1.3
					
				
					
						0.1.4
					
				
					
						0.1.5
					
				
					
						0.1.6
					
				
					
						0.1.7
					
				
					
						0.1.8
					
				
					
						0.1.9
					
				
					
						0.2.0
					
				
					
						0.3.0
					
				
					
						0.4.0
					
				
					
						0.5.0
					
				
					
						0.7.0
					
				
					
						0.7.1
					
				
					
						0.7.2
					
				
					
						0.9.0
					
				
					
						1.0.0
					
				
					
						1.0.0-rc1
					
				
					
						1.0.0-rc2
					
				
					
						1.0.1
					
				
					
						1.0.10
					
				
					
						1.0.11
					
				
					
						1.0.11.1
					
				
					
						1.0.12
					
				
					
						1.0.2
					
				
					
						1.0.4
					
				
					
						1.0.5
					
				
					
						1.0.6
					
				
					
						1.0.7
					
				
					
						1.0.8
					
				
					
						1.0.9
					
				
					
						1.2.0
					
				
					
						1.2.0-beta1
					
				
					
						1.2.0-beta2
					
				
					
						1.2.0-rc1
					
				
					
						1.2.0-rc2
					
				
					
						1.2.1
					
				
					
						1.2.10
					
				
					
						1.2.10-netsec
					
				
					
						1.2.11
					
				
					
						1.2.11-netsec
					
				
					
						1.2.12
					
				
					
						1.2.12-netsec
					
				
					
						1.2.12.1
					
				
					
						1.2.12.1-netsec
					
				
					
						1.2.13
					
				
					
						1.2.13-netsec
					
				
					
						1.2.14
					
				
					
						1.2.14-netsec
					
				
					
						1.2.15
					
				
					
						1.2.15-netsec
					
				
					
						1.2.16
					
				
					
						1.2.16-netsec
					
				
					
						1.2.17
					
				
					
						1.2.17-netsec
					
				
					
						1.2.18
					
				
					
						1.2.18-netsec
					
				
					
						1.2.19
					
				
					
						1.2.19-netsec
					
				
					
						1.2.2
					
				
					
						1.2.2-netsec
					
				
					
						1.2.20
					
				
					
						1.2.20-netsec
					
				
					
						1.2.21
					
				
					
						1.2.21-netsec
					
				
					
						1.2.21.1
					
				
					
						1.2.21.1-netsec
					
				
					
						1.2.22
					
				
					
						1.2.22-netsec
					
				
					
						1.2.23
					
				
					
						1.2.23-netsec
					
				
					
						1.2.24
					
				
					
						1.2.24-netsec
					
				
					
						1.2.25
					
				
					
						1.2.25-netsec
					
				
					
						1.2.26
					
				
					
						1.2.26-netsec
					
				
					
						1.2.26.1
					
				
					
						1.2.26.1-netsec
					
				
					
						1.2.26.2
					
				
					
						1.2.26.2-netsec
					
				
					
						1.2.27
					
				
					
						1.2.28
					
				
					
						1.2.28.1
					
				
					
						1.2.29
					
				
					
						1.2.3
					
				
					
						1.2.3-netsec
					
				
					
						1.2.30
					
				
					
						1.2.30.1
					
				
					
						1.2.30.2
					
				
					
						1.2.30.3
					
				
					
						1.2.30.4
					
				
					
						1.2.31
					
				
					
						1.2.31.1
					
				
					
						1.2.31.2
					
				
					
						1.2.32
					
				
					
						1.2.33
					
				
					
						1.2.34
					
				
					
						1.2.35
					
				
					
						1.2.36
					
				
					
						1.2.37
					
				
					
						1.2.38
					
				
					
						1.2.39
					
				
					
						1.2.4
					
				
					
						1.2.4-netsec
					
				
					
						1.2.40
					
				
					
						1.2.5
					
				
					
						1.2.5-netsec
					
				
					
						1.2.6
					
				
					
						1.2.6-netsec
					
				
					
						1.2.7
					
				
					
						1.2.7-netsec
					
				
					
						1.2.7.1
					
				
					
						1.2.7.1-netsec
					
				
					
						1.2.8
					
				
					
						1.2.8-netsec
					
				
					
						1.2.9
					
				
					
						1.2.9-netsec
					
				
					
						1.2.9.1
					
				
					
						1.2.9.1-netsec
					
				
					
						1.4.0
					
				
					
						1.4.0-beta1
					
				
					
						1.4.0-beta2
					
				
					
						1.4.0-beta3
					
				
					
						1.4.0-beta4
					
				
					
						1.4.1
					
				
					
						1.4.10
					
				
					
						1.4.10.1
					
				
					
						1.4.11
					
				
					
						1.4.12
					
				
					
						1.4.12.1
					
				
					
						1.4.13
					
				
					
						1.4.14
					
				
					
						1.4.15
					
				
					
						1.4.16
					
				
					
						1.4.16.1
					
				
					
						1.4.16.2
					
				
					
						1.4.17
					
				
					
						1.4.18
					
				
					
						1.4.18.1
					
				
					
						1.4.19
					
				
					
						1.4.19-rc1
					
				
					
						1.4.19-rc2
					
				
					
						1.4.19-rc3
					
				
					
						1.4.19-rc4
					
				
					
						1.4.19.1
					
				
					
						1.4.19.2
					
				
					
						1.4.2
					
				
					
						1.4.20
					
				
					
						1.4.20-rc1
					
				
					
						1.4.20-rc2
					
				
					
						1.4.20-rc3
					
				
					
						1.4.20.1
					
				
					
						1.4.21
					
				
					
						1.4.21-rc1
					
				
					
						1.4.21-rc2
					
				
					
						1.4.21.1
					
				
					
						1.4.21.2
					
				
					
						1.4.22
					
				
					
						1.4.22-rc1
					
				
					
						1.4.22-rc2
					
				
					
						1.4.22-rc3
					
				
					
						1.4.22-rc4
					
				
					
						1.4.22-rc5
					
				
					
						1.4.22.1
					
				
					
						1.4.22.2
					
				
					
						1.4.23
					
				
					
						1.4.23-rc1
					
				
					
						1.4.23-rc2
					
				
					
						1.4.23-rc3
					
				
					
						1.4.23-rc4
					
				
					
						1.4.23-testing
					
				
					
						1.4.23.1
					
				
					
						1.4.23.2
					
				
					
						1.4.24
					
				
					
						1.4.24-rc1
					
				
					
						1.4.24.1
					
				
					
						1.4.25
					
				
					
						1.4.25-rc1
					
				
					
						1.4.25.1
					
				
					
						1.4.26
					
				
					
						1.4.26-rc1
					
				
					
						1.4.26-rc2
					
				
					
						1.4.26-rc3
					
				
					
						1.4.26-rc4
					
				
					
						1.4.26-rc5
					
				
					
						1.4.26-rc6
					
				
					
						1.4.26.1
					
				
					
						1.4.26.2
					
				
					
						1.4.26.3
					
				
					
						1.4.27
					
				
					
						1.4.27-rc1
					
				
					
						1.4.27-rc2
					
				
					
						1.4.27-rc3
					
				
					
						1.4.27-rc4
					
				
					
						1.4.27-rc5
					
				
					
						1.4.27.1
					
				
					
						1.4.28
					
				
					
						1.4.28-rc1
					
				
					
						1.4.29
					
				
					
						1.4.29-rc1
					
				
					
						1.4.29.1
					
				
					
						1.4.3
					
				
					
						1.4.30
					
				
					
						1.4.30-rc1
					
				
					
						1.4.30-rc2
					
				
					
						1.4.30-rc3
					
				
					
						1.4.31
					
				
					
						1.4.31-rc1
					
				
					
						1.4.31-rc2
					
				
					
						1.4.32
					
				
					
						1.4.32-rc1
					
				
					
						1.4.32-rc2
					
				
					
						1.4.33
					
				
					
						1.4.33-rc1
					
				
					
						1.4.33-rc2
					
				
					
						1.4.33.1
					
				
					
						1.4.34
					
				
					
						1.4.34-rc1
					
				
					
						1.4.34-rc2
					
				
					
						1.4.35
					
				
					
						1.4.35-rc1
					
				
					
						1.4.36
					
				
					
						1.4.36-rc1
					
				
					
						1.4.37
					
				
					
						1.4.37-rc1
					
				
					
						1.4.37.1
					
				
					
						1.4.38
					
				
					
						1.4.38-rc1
					
				
					
						1.4.38.1
					
				
					
						1.4.39
					
				
					
						1.4.39-rc1
					
				
					
						1.4.39.1
					
				
					
						1.4.39.2
					
				
					
						1.4.4
					
				
					
						1.4.40
					
				
					
						1.4.40-rc1
					
				
					
						1.4.40-rc2
					
				
					
						1.4.40-rc3
					
				
					
						1.4.40.1
					
				
					
						1.4.40.2
					
				
					
						1.4.41
					
				
					
						1.4.41-rc1
					
				
					
						1.4.41.1
					
				
					
						1.4.41.2
					
				
					
						1.4.42
					
				
					
						1.4.42-rc1
					
				
					
						1.4.42-rc2
					
				
					
						1.4.43
					
				
					
						1.4.44
					
				
					
						1.4.5
					
				
					
						1.4.6
					
				
					
						1.4.7
					
				
					
						1.4.7.1
					
				
					
						1.4.8
					
				
					
						1.4.9
					
				
					
						1.6.0
					
				
					
						1.6.0-beta1
					
				
					
						1.6.0-beta2
					
				
					
						1.6.0-beta3
					
				
					
						1.6.0-beta4
					
				
					
						1.6.0-beta5
					
				
					
						1.6.0-beta6
					
				
					
						1.6.0-beta7
					
				
					
						1.6.0-beta7.1
					
				
					
						1.6.0-beta8
					
				
					
						1.6.0-beta9
					
				
					
						1.6.0-rc1
					
				
					
						1.6.0-rc2
					
				
					
						1.6.0-rc3
					
				
					
						1.6.0-rc4
					
				
					
						1.6.0-rc5
					
				
					
						1.6.0-rc6
					
				
					
						1.6.0.1
					
				
					
						1.6.0.10
					
				
					
						1.6.0.11-rc1
					
				
					
						1.6.0.11-rc2
					
				
					
						1.6.0.12
					
				
					
						1.6.0.13
					
				
					
						1.6.0.13-rc1
					
				
					
						1.6.0.14
					
				
					
						1.6.0.14-rc1
					
				
					
						1.6.0.15
					
				
					
						1.6.0.16
					
				
					
						1.6.0.16-rc1
					
				
					
						1.6.0.16-rc2
					
				
					
						1.6.0.17
					
				
					
						1.6.0.18
					
				
					
						1.6.0.18-rc1
					
				
					
						1.6.0.18-rc2
					
				
					
						1.6.0.18-rc3
					
				
					
						1.6.0.19
					
				
					
						1.6.0.2
					
				
					
						1.6.0.20
					
				
					
						1.6.0.20-rc1
					
				
					
						1.6.0.21
					
				
					
						1.6.0.21-rc1
					
				
					
						1.6.0.22
					
				
					
						1.6.0.23
					
				
					
						1.6.0.23-rc1
					
				
					
						1.6.0.23-rc2
					
				
					
						1.6.0.24
					
				
					
						1.6.0.25
					
				
					
						1.6.0.26
					
				
					
						1.6.0.26-rc1
					
				
					
						1.6.0.27
					
				
					
						1.6.0.27-rc1
					
				
					
						1.6.0.27-rc2
					
				
					
						1.6.0.27-rc3
					
				
					
						1.6.0.28
					
				
					
						1.6.0.28-rc1
					
				
					
						1.6.0.28-rc2
					
				
					
						1.6.0.3
					
				
					
						1.6.0.3-rc1
					
				
					
						1.6.0.3.1
					
				
					
						1.6.0.4-rc1
					
				
					
						1.6.0.4-testing
					
				
					
						1.6.0.5
					
				
					
						1.6.0.6
					
				
					
						1.6.0.6-rc1
					
				
					
						1.6.0.7
					
				
					
						1.6.0.7-rc1
					
				
					
						1.6.0.7-rc2
					
				
					
						1.6.0.8
					
				
					
						1.6.0.9
					
				
					
						1.6.1-beta1
					
				
					
						1.6.1-beta2
					
				
					
						1.6.1-beta3
					
				
					
						1.6.1-beta4
					
				
					
						1.6.1-rc1
					
				
					
						1.6.1.0
					
				
					
						1.6.1.0-rc2
					
				
					
						1.6.1.0-rc3
					
				
					
						1.6.1.0-rc4
					
				
					
						1.6.1.0-rc5
					
				
					
						1.6.1.1
					
				
					
						1.6.1.10
					
				
					
						1.6.1.10-rc1
					
				
					
						1.6.1.10-rc2
					
				
					
						1.6.1.10-rc3
					
				
					
						1.6.1.11
					
				
					
						1.6.1.12
					
				
					
						1.6.1.12-rc1
					
				
					
						1.6.1.13
					
				
					
						1.6.1.13-rc1
					
				
					
						1.6.1.14
					
				
					
						1.6.1.15-rc1
					
				
					
						1.6.1.15-rc2
					
				
					
						1.6.1.16
					
				
					
						1.6.1.17
					
				
					
						1.6.1.18
					
				
					
						1.6.1.18-rc1
					
				
					
						1.6.1.18-rc2
					
				
					
						1.6.1.19
					
				
					
						1.6.1.19-rc1
					
				
					
						1.6.1.19-rc2
					
				
					
						1.6.1.19-rc3
					
				
					
						1.6.1.2
					
				
					
						1.6.1.20
					
				
					
						1.6.1.20-rc1
					
				
					
						1.6.1.20-rc2
					
				
					
						1.6.1.21
					
				
					
						1.6.1.22
					
				
					
						1.6.1.23
					
				
					
						1.6.1.24
					
				
					
						1.6.1.25
					
				
					
						1.6.1.3-rc1
					
				
					
						1.6.1.4
					
				
					
						1.6.1.5
					
				
					
						1.6.1.5-rc1
					
				
					
						1.6.1.6
					
				
					
						1.6.1.7-rc1
					
				
					
						1.6.1.7-rc2
					
				
					
						1.6.1.8
					
				
					
						1.6.1.9
					
				
					
						1.6.2.0
					
				
					
						1.6.2.0-beta1
					
				
					
						1.6.2.0-beta2
					
				
					
						1.6.2.0-beta3
					
				
					
						1.6.2.0-beta4
					
				
					
						1.6.2.0-rc1
					
				
					
						1.6.2.0-rc2
					
				
					
						1.6.2.0-rc3
					
				
					
						1.6.2.0-rc4
					
				
					
						1.6.2.0-rc5
					
				
					
						1.6.2.0-rc6
					
				
					
						1.6.2.0-rc7
					
				
					
						1.6.2.0-rc8
					
				
					
						1.6.2.1
					
				
					
						1.6.2.1-rc1
					
				
					
						1.6.2.10
					
				
					
						1.6.2.10-rc1
					
				
					
						1.6.2.10-rc2
					
				
					
						1.6.2.11
					
				
					
						1.6.2.11-rc1
					
				
					
						1.6.2.11-rc2
					
				
					
						1.6.2.12
					
				
					
						1.6.2.12-rc1
					
				
					
						1.6.2.13
					
				
					
						1.6.2.14
					
				
					
						1.6.2.14-rc1
					
				
					
						1.6.2.15
					
				
					
						1.6.2.15-rc1
					
				
					
						1.6.2.15.1
					
				
					
						1.6.2.16
					
				
					
						1.6.2.16-rc1
					
				
					
						1.6.2.16.1
					
				
					
						1.6.2.16.2
					
				
					
						1.6.2.17
					
				
					
						1.6.2.17-rc1
					
				
					
						1.6.2.17-rc2
					
				
					
						1.6.2.17-rc3
					
				
					
						1.6.2.17.1
					
				
					
						1.6.2.17.2
					
				
					
						1.6.2.17.3
					
				
					
						1.6.2.18
					
				
					
						1.6.2.18-rc1
					
				
					
						1.6.2.18.1
					
				
					
						1.6.2.18.2
					
				
					
						1.6.2.19
					
				
					
						1.6.2.19-rc1
					
				
					
						1.6.2.2
					
				
					
						1.6.2.20
					
				
					
						1.6.2.21
					
				
					
						1.6.2.22
					
				
					
						1.6.2.23
					
				
					
						1.6.2.24
					
				
					
						1.6.2.3-rc1
					
				
					
						1.6.2.3-rc2
					
				
					
						1.6.2.4
					
				
					
						1.6.2.5
					
				
					
						1.6.2.6
					
				
					
						1.6.2.6-rc1
					
				
					
						1.6.2.6-rc2
					
				
					
						1.6.2.7
					
				
					
						1.6.2.7-rc1
					
				
					
						1.6.2.7-rc2
					
				
					
						1.6.2.7-rc3
					
				
					
						1.6.2.8
					
				
					
						1.6.2.8-rc1
					
				
					
						1.6.2.8-rc2
					
				
					
						1.6.2.9
					
				
					
						1.6.2.9-rc1
					
				
					
						1.6.2.9-rc2
					
				
					
						1.6.2.9-rc3
					
				
					
						1.8.0
					
				
					
						1.8.0-beta1
					
				
					
						1.8.0-beta2
					
				
					
						1.8.0-beta3
					
				
					
						1.8.0-beta4
					
				
					
						1.8.0-beta5
					
				
					
						1.8.0-rc1
					
				
					
						1.8.0-rc2
					
				
					
						1.8.0-rc3
					
				
					
						1.8.0-rc4
					
				
					
						1.8.0-rc5
					
				
					
						1.8.1
					
				
					
						1.8.1-rc1
					
				
					
						1.8.1.1
					
				
					
						1.8.1.2
					
				
					
						1.8.10.0
					
				
					
						1.8.10.0-rc1
					
				
					
						1.8.10.0-rc2
					
				
					
						1.8.10.0-rc3
					
				
					
						1.8.10.0-rc4
					
				
					
						1.8.10.1
					
				
					
						1.8.11.0
					
				
					
						1.8.11.0-rc1
					
				
					
						1.8.11.0-rc2
					
				
					
						1.8.11.0-rc3
					
				
					
						1.8.11.1
					
				
					
						1.8.12.0
					
				
					
						1.8.12.0-rc1
					
				
					
						1.8.12.0-rc2
					
				
					
						1.8.12.0-rc3
					
				
					
						1.8.12.1
					
				
					
						1.8.12.2
					
				
					
						1.8.13.0
					
				
					
						1.8.13.0-rc1
					
				
					
						1.8.13.0-rc2
					
				
					
						1.8.13.1
					
				
					
						1.8.14.0
					
				
					
						1.8.14.0-rc1
					
				
					
						1.8.14.0-rc2
					
				
					
						1.8.14.1
					
				
					
						1.8.15-cert4
					
				
					
						1.8.15.0
					
				
					
						1.8.15.0-rc1
					
				
					
						1.8.15.1
					
				
					
						1.8.16.0
					
				
					
						1.8.16.0-rc1
					
				
					
						1.8.16.0-rc2
					
				
					
						1.8.17.0
					
				
					
						1.8.17.0-rc1
					
				
					
						1.8.17.0-rc2
					
				
					
						1.8.17.0-rc3
					
				
					
						1.8.18.0
					
				
					
						1.8.18.0-rc1
					
				
					
						1.8.18.1
					
				
					
						1.8.19.0
					
				
					
						1.8.19.0-rc1
					
				
					
						1.8.19.0-rc2
					
				
					
						1.8.19.0-rc3
					
				
					
						1.8.19.0-tc1
					
				
					
						1.8.19.1
					
				
					
						1.8.2
					
				
					
						1.8.2-rc1
					
				
					
						1.8.2.1
					
				
					
						1.8.2.2
					
				
					
						1.8.2.3
					
				
					
						1.8.2.4
					
				
					
						1.8.20.0
					
				
					
						1.8.20.0-rc1
					
				
					
						1.8.20.0-rc2
					
				
					
						1.8.20.1
					
				
					
						1.8.20.2
					
				
					
						1.8.21.0
					
				
					
						1.8.21.0-rc1
					
				
					
						1.8.21.0-rc2
					
				
					
						1.8.22.0
					
				
					
						1.8.22.0-rc1
					
				
					
						1.8.22.0-rc2
					
				
					
						1.8.23.0
					
				
					
						1.8.23.0-rc1
					
				
					
						1.8.23.0-rc2
					
				
					
						1.8.23.1
					
				
					
						1.8.24.0
					
				
					
						1.8.24.0-rc1
					
				
					
						1.8.24.0-rc2
					
				
					
						1.8.24.1
					
				
					
						1.8.25.0
					
				
					
						1.8.25.0-rc1
					
				
					
						1.8.25.0-rc2
					
				
					
						1.8.26.0
					
				
					
						1.8.26.0-rc1
					
				
					
						1.8.26.0-rc2
					
				
					
						1.8.26.1
					
				
					
						1.8.27.0
					
				
					
						1.8.27.0-rc1
					
				
					
						1.8.27.0-rc2
					
				
					
						1.8.28-cert5
					
				
					
						1.8.28.0
					
				
					
						1.8.28.0-rc1
					
				
					
						1.8.28.1
					
				
					
						1.8.28.2
					
				
					
						1.8.29.0
					
				
					
						1.8.29.0-rc1
					
				
					
						1.8.3
					
				
					
						1.8.3-rc1
					
				
					
						1.8.3-rc2
					
				
					
						1.8.3-rc3
					
				
					
						1.8.3.1
					
				
					
						1.8.3.2
					
				
					
						1.8.3.3
					
				
					
						1.8.30.0
					
				
					
						1.8.30.0-rc1
					
				
					
						1.8.31.0
					
				
					
						1.8.31.0-rc1
					
				
					
						1.8.31.1
					
				
					
						1.8.32.0
					
				
					
						1.8.32.0-rc1
					
				
					
						1.8.32.0-rc2
					
				
					
						1.8.32.1
					
				
					
						1.8.32.2
					
				
					
						1.8.32.3
					
				
					
						1.8.4
					
				
					
						1.8.4-rc1
					
				
					
						1.8.4-rc2
					
				
					
						1.8.4-rc3
					
				
					
						1.8.4.1
					
				
					
						1.8.4.2
					
				
					
						1.8.4.3
					
				
					
						1.8.4.4
					
				
					
						1.8.5-rc1
					
				
					
						1.8.5.0
					
				
					
						1.8.5.1
					
				
					
						1.8.6.0
					
				
					
						1.8.6.0-rc1
					
				
					
						1.8.6.0-rc2
					
				
					
						1.8.6.0-rc3
					
				
					
						1.8.7.0
					
				
					
						1.8.7.0-rc1
					
				
					
						1.8.7.0-rc2
					
				
					
						1.8.7.1
					
				
					
						1.8.7.2
					
				
					
						1.8.8.0
					
				
					
						1.8.8.0-rc1
					
				
					
						1.8.8.0-rc2
					
				
					
						1.8.8.0-rc3
					
				
					
						1.8.8.0-rc4
					
				
					
						1.8.8.0-rc5
					
				
					
						1.8.8.1
					
				
					
						1.8.8.2
					
				
					
						1.8.9.0
					
				
					
						1.8.9.0-rc1
					
				
					
						1.8.9.0-rc2
					
				
					
						1.8.9.0-rc3
					
				
					
						1.8.9.1
					
				
					
						1.8.9.2
					
				
					
						1.8.9.3
					
				
					
						10.0.0
					
				
					
						10.0.0-beta1
					
				
					
						10.0.0-beta2
					
				
					
						10.0.0-rc1
					
				
					
						10.0.0-rc2
					
				
					
						10.0.0-rc3
					
				
					
						10.0.0-rc4
					
				
					
						10.0.1
					
				
					
						10.1.0
					
				
					
						10.1.0-rc1
					
				
					
						10.1.0-rc2
					
				
					
						10.1.1
					
				
					
						10.1.2
					
				
					
						10.1.3
					
				
					
						10.10.0
					
				
					
						10.10.0-digiumphones
					
				
					
						10.10.0-digiumphones-rc1
					
				
					
						10.10.0-digiumphones-rc2
					
				
					
						10.10.0-rc1
					
				
					
						10.10.0-rc2
					
				
					
						10.10.1
					
				
					
						10.10.1-digiumphones
					
				
					
						10.11.0
					
				
					
						10.11.0-digiumphones
					
				
					
						10.11.0-digiumphones-rc1
					
				
					
						10.11.0-digiumphones-rc2
					
				
					
						10.11.0-digiumphones-rc3
					
				
					
						10.11.0-rc1
					
				
					
						10.11.0-rc2
					
				
					
						10.11.0-rc3
					
				
					
						10.11.1
					
				
					
						10.11.1-digiumphones
					
				
					
						10.12.0
					
				
					
						10.12.0-digiumphones
					
				
					
						10.12.0-digiumphones-rc1
					
				
					
						10.12.0-digiumphones-rc2
					
				
					
						10.12.0-rc1
					
				
					
						10.12.0-rc2
					
				
					
						10.12.1
					
				
					
						10.12.1-digiumphones
					
				
					
						10.12.2
					
				
					
						10.12.2-digiumphones
					
				
					
						10.12.3
					
				
					
						10.12.3-digiumphones
					
				
					
						10.12.4
					
				
					
						10.12.4-digiumphones
					
				
					
						10.2.0
					
				
					
						10.2.0-rc1
					
				
					
						10.2.0-rc2
					
				
					
						10.2.0-rc3
					
				
					
						10.2.0-rc4
					
				
					
						10.2.1
					
				
					
						10.3.0
					
				
					
						10.3.0-rc1
					
				
					
						10.3.0-rc2
					
				
					
						10.3.0-rc3
					
				
					
						10.3.1
					
				
					
						10.4.0
					
				
					
						10.4.0-digiumphones-rc1
					
				
					
						10.4.0-digiumphones-rc2
					
				
					
						10.4.0-rc1
					
				
					
						10.4.0-rc2
					
				
					
						10.4.0-rc3
					
				
					
						10.4.1
					
				
					
						10.4.2
					
				
					
						10.5.0
					
				
					
						10.5.0-digiumphones
					
				
					
						10.5.0-digiumphones-rc1
					
				
					
						10.5.0-digiumphones-rc2
					
				
					
						10.5.0-rc1
					
				
					
						10.5.0-rc2
					
				
					
						10.5.1
					
				
					
						10.5.1-digiumphones
					
				
					
						10.5.2
					
				
					
						10.5.2-digiumphones
					
				
					
						10.6.0
					
				
					
						10.6.0-digiumphones
					
				
					
						10.6.0-digiumphones-rc1
					
				
					
						10.6.0-digiumphones-rc2
					
				
					
						10.6.0-rc1
					
				
					
						10.6.0-rc2
					
				
					
						10.6.1
					
				
					
						10.6.1-digiumphones
					
				
					
						10.7.0
					
				
					
						10.7.0-digiumphones
					
				
					
						10.7.0-digiumphones-rc1
					
				
					
						10.7.0-rc1
					
				
					
						10.7.1
					
				
					
						10.7.1-digiumphones
					
				
					
						10.8.0
					
				
					
						10.8.0-digiumphones
					
				
					
						10.8.0-digiumphones-rc1
					
				
					
						10.8.0-digiumphones-rc2
					
				
					
						10.8.0-rc1
					
				
					
						10.8.0-rc2
					
				
					
						10.9.0
					
				
					
						10.9.0-digiumphones
					
				
					
						10.9.0-digiumphones-rc1
					
				
					
						10.9.0-digiumphones-rc2
					
				
					
						10.9.0-digiumphones-rc3
					
				
					
						10.9.0-rc1
					
				
					
						10.9.0-rc2
					
				
					
						10.9.0-rc3
					
				
					
						11.0.0
					
				
					
						11.0.0-beta1
					
				
					
						11.0.0-beta2
					
				
					
						11.0.0-rc1
					
				
					
						11.0.0-rc2
					
				
					
						11.0.1
					
				
					
						11.0.2
					
				
					
						11.1.0
					
				
					
						11.1.0-rc1
					
				
					
						11.1.0-rc2
					
				
					
						11.1.0-rc3
					
				
					
						11.1.1
					
				
					
						11.1.2
					
				
					
						11.10.0
					
				
					
						11.10.0-rc1
					
				
					
						11.10.1
					
				
					
						11.10.2
					
				
					
						11.11.0
					
				
					
						11.11.0-rc1
					
				
					
						11.12.0
					
				
					
						11.12.0-rc1
					
				
					
						11.12.1
					
				
					
						11.13.0
					
				
					
						11.13.0-rc1
					
				
					
						11.13.1
					
				
					
						11.14.0
					
				
					
						11.14.0-rc1
					
				
					
						11.14.0-rc2
					
				
					
						11.14.1
					
				
					
						11.14.2
					
				
					
						11.15.0
					
				
					
						11.15.0-rc1
					
				
					
						11.15.0-rc2
					
				
					
						11.15.1
					
				
					
						11.16.0
					
				
					
						11.16.0-rc1
					
				
					
						11.17.0
					
				
					
						11.17.0-rc1
					
				
					
						11.17.1
					
				
					
						11.18.0-rc1
					
				
					
						11.19.0-rc1
					
				
					
						11.2.0
					
				
					
						11.2.0-rc1
					
				
					
						11.2.0-rc2
					
				
					
						11.2.1
					
				
					
						11.2.2
					
				
					
						11.20.0-rc1
					
				
					
						11.20.0-rc2
					
				
					
						11.20.0-rc3
					
				
					
						11.21.0
					
				
					
						11.21.0-rc1
					
				
					
						11.21.0-rc2
					
				
					
						11.21.0-rc3
					
				
					
						11.21.1
					
				
					
						11.22.0-rc1
					
				
					
						11.3.0
					
				
					
						11.3.0-rc1
					
				
					
						11.3.0-rc2
					
				
					
						11.4.0
					
				
					
						11.4.0-rc1
					
				
					
						11.4.0-rc2
					
				
					
						11.4.0-rc3
					
				
					
						11.5.0
					
				
					
						11.5.0-rc1
					
				
					
						11.5.0-rc2
					
				
					
						11.5.1
					
				
					
						11.6-cert11
					
				
					
						11.6.0
					
				
					
						11.6.0-rc1
					
				
					
						11.6.0-rc2
					
				
					
						11.6.1
					
				
					
						11.7.0
					
				
					
						11.7.0-rc1
					
				
					
						11.7.0-rc2
					
				
					
						11.8.0
					
				
					
						11.8.0-rc1
					
				
					
						11.8.0-rc2
					
				
					
						11.8.0-rc3
					
				
					
						11.8.1
					
				
					
						11.9.0
					
				
					
						11.9.0-rc1
					
				
					
						11.9.0-rc2
					
				
					
						11.9.0-rc3
					
				
					
						12.0.0
					
				
					
						12.0.0-alpha1
					
				
					
						12.0.0-alpha2
					
				
					
						12.0.0-beta1
					
				
					
						12.0.0-beta2
					
				
					
						12.1.0
					
				
					
						12.1.0-rc1
					
				
					
						12.1.0-rc2
					
				
					
						12.1.0-rc3
					
				
					
						12.1.1
					
				
					
						12.2.0
					
				
					
						12.2.0-rc1
					
				
					
						12.2.0-rc2
					
				
					
						12.2.0-rc3
					
				
					
						12.3.0
					
				
					
						12.3.0-rc1
					
				
					
						12.3.0-rc2
					
				
					
						12.3.1
					
				
					
						12.3.2
					
				
					
						12.4.0
					
				
					
						12.4.0-rc1
					
				
					
						12.5.0
					
				
					
						12.5.0-rc1
					
				
					
						12.5.1
					
				
					
						12.6.0
					
				
					
						12.6.0-rc1
					
				
					
						12.6.1
					
				
					
						12.7.0
					
				
					
						12.7.0-rc1
					
				
					
						12.7.0-rc2
					
				
					
						12.7.1
					
				
					
						12.7.2
					
				
					
						12.8.0
					
				
					
						12.8.0-rc1
					
				
					
						12.8.0-rc2
					
				
					
						12.8.1
					
				
					
						12.8.2
					
				
					
						13.0.0
					
				
					
						13.0.0-beta1
					
				
					
						13.0.0-beta2
					
				
					
						13.0.0-beta3
					
				
					
						13.0.1
					
				
					
						13.0.2
					
				
					
						13.1-cert2
					
				
					
						13.1.0
					
				
					
						13.1.0-rc1
					
				
					
						13.1.0-rc2
					
				
					
						13.1.1
					
				
					
						13.2.0
					
				
					
						13.2.0-rc1
					
				
					
						13.2.1
					
				
					
						13.3.0
					
				
					
						13.3.0-rc1
					
				
					
						13.3.1
					
				
					
						13.3.2
					
				
					
						13.4.0-rc1
					
				
					
						13.5.0-rc1
					
				
					
						13.6.0-rc1
					
				
					
						13.6.0-rc2
					
				
					
						13.6.0-rc3
					
				
					
						13.7.0
					
				
					
						13.7.0-rc1
					
				
					
						13.7.0-rc2
					
				
					
						13.7.0-rc3
					
				
					
						13.7.1
					
				
					
						13.8.0-rc1
					
				
					
						certified/1.8.11-cert1
					
				
					
						certified/1.8.11-cert10
					
				
					
						certified/1.8.11-cert2
					
				
					
						certified/1.8.11-cert3-rc1
					
				
					
						certified/1.8.11-cert3-rc2
					
				
					
						certified/1.8.11-cert4
					
				
					
						certified/1.8.11-cert5
					
				
					
						certified/1.8.11-cert5-rc1
					
				
					
						certified/1.8.11-cert5-rc2
					
				
					
						certified/1.8.11-cert6
					
				
					
						certified/1.8.11-cert7
					
				
					
						certified/1.8.11-cert8
					
				
					
						certified/1.8.11-cert9
					
				
					
						certified/1.8.11-cert9-rc1
					
				
					
						certified/1.8.15-cert1
					
				
					
						certified/1.8.15-cert1-rc1
					
				
					
						certified/1.8.15-cert1-rc2
					
				
					
						certified/1.8.15-cert1-rc3
					
				
					
						certified/1.8.15-cert2
					
				
					
						certified/1.8.15-cert3
					
				
					
						certified/1.8.15-cert4
					
				
					
						certified/1.8.15-cert5
					
				
					
						certified/1.8.15-cert6
					
				
					
						certified/1.8.15-cert7
					
				
					
						certified/1.8.28-cert1
					
				
					
						certified/1.8.28-cert1-rc1
					
				
					
						certified/1.8.28-cert2
					
				
					
						certified/1.8.28-cert3
					
				
					
						certified/1.8.28-cert4
					
				
					
						certified/1.8.28-cert5
					
				
					
						certified/1.8.6-cert1
					
				
					
						certified/11.2-cert1
					
				
					
						certified/11.2-cert1-rc1
					
				
					
						certified/11.2-cert1-rc2
					
				
					
						certified/11.2-cert2
					
				
					
						certified/11.2-cert3
					
				
					
						certified/11.6-cert1
					
				
					
						certified/11.6-cert1-rc1
					
				
					
						certified/11.6-cert1-rc2
					
				
					
						certified/11.6-cert10
					
				
					
						certified/11.6-cert11
					
				
					
						certified/11.6-cert12
					
				
					
						certified/11.6-cert2
					
				
					
						certified/11.6-cert3
					
				
					
						certified/11.6-cert4
					
				
					
						certified/11.6-cert5
					
				
					
						certified/11.6-cert6
					
				
					
						certified/11.6-cert7
					
				
					
						certified/11.6-cert8
					
				
					
						certified/11.6-cert9
					
				
					
						certified/13.1-cert1
					
				
					
						certified/13.1-cert1-rc1
					
				
					
						certified/13.1-cert1-rc2
					
				
					
						certified/13.1-cert1-rc3
					
				
					
						certified/13.1-cert2
					
				
					
						certified/13.1-cert3
					
				
			
		${ noResults }
		
	
		
			3261 Commits (40caf0ad9bef07bdfb568a88192c157dd1840100)
		
	
	
		
	
	| Author | SHA1 | Message | Date | 
|---|---|---|---|
|  | 2415a14ce9 | Add X.509 subject alternative name support to TLS certificate verification. This way one X.509 certificate can be used for hosts that can be reached under multiple DNS names or for multiple hosts. Signed-off-by: Maciej Szmigiero <mail@maciej.szmigiero.name> ASTERISK-25063 #close Change-Id: I13302c80490a0b44c43f1b45376c9bd7b15a538f | 11 years ago | 
|  | 1ba7845851 | Merge "sorcery: Add API to insert/remove a wizard to/from an object type's list" | 11 years ago | 
|  | 478fb4a388 | MALLOC_DEBUG: Replace WRAP_LIBC_MALLOC with ASTMM_LIBC. There are 3 ways that calls directly to standard allocator functions can be dealt with: 1. Block their use, cause them to generate an error. This is the default. 2. Replace them with the Asterisk equivalent function calls. 3. Leave them alone. This change allows one of these 3 options to be selected by any source. The source just needs to define ASTMM_LIBC to ASTMM_BLOCK, ASTMM_REDIRECT, or ASTMM_IGNORE to use option 1, 2 or 3 respectively. Normally ASTMM_BLOCK is the correct option, so it is default when ASTMM_LIBC is not defined. In some cases when building 3rd party code it is desirable to have it use Asterisk functions, without changing the whole source - ASTMM_REDIRECT accomplishes this. When using 3rd party libraries sometimes a static inline function will make use of malloc or free. In these cases it may be unsafe to replace the allocator in the header, as it's possible the memory could be freed by the library using standard allocators. For those cases ASTMM_IGNORE is needed. Change-Id: I8afef4bc7f3b93914263ae27d3a5858b69663fc7 | 11 years ago | 
|  | 57386dcb67 | Allow command-line options to override asterisk.conf. Previous versions of Asterisk processed command-line options before processing asterisk.conf. This meant that if an option was set in asterisk.conf, it could not be overridden with the equivelent command line option. This change causes Asterisk to process the command-line twice. First it processes options that are needed to load asterisk.conf, then it processes the remaining options after the config is read. This changes the function of -X slightly. Previously using -X without disabling execincludes in asterisk.conf caused #exec to be usable in any config. Now -X only enables #exec for the load of asterisk.conf, if it is wanted in the rest of the system it must be enabled with execincludes in asterisk.conf. Updated 'asterisk -h' and 'man asterisk' to reflect the limited function of -X. ASTERISK-25042 #close Reported by: Corey Farrell Change-Id: I1450d45c15b4467274b871914d893ed4f6564cd7 | 11 years ago | 
|  | 52407088f8 | sorcery: Add API to insert/remove a wizard to/from an object type's list Currently you can 'apply' a wizard to an object type but the wizard always goes at the end of the object type's wizard list. This patch adds a new ast_sorcery_insert_wizard_mapping function that allows you to insert a wizard anyplace in the list. I.E. You could add a caching wizard to an object type and place it before all wizards. ast_sorcery_get_wizard_mapping_count and ast_sorcery_get_wizard_mapping were added to allow examination of the mapping list. ast_sorcery_remove_mapping was added to remove a mapping by name. As part of this patch, the object type's wizard list was converted from an ao2_container to an AST_VECTOR_RW. A new test was added to test_sorcery for this capability. ASTERISK-25044 #close Change-Id: I9d2469a9296b2698082c0989e25e6848dc403b57 | 11 years ago | 
|  | 87d8b36755 | vector:  Add REMOVE, ADD_SORTED and RESET macros Based on feedback from Corey Farrell and Y Ateya, a few new macros have been added... AST_VECTOR_REMOVE which takes a parameter to indicate if order should be preserved. AST_VECTOR_ADD_SORTED which adds an element to a sorted vector. AST_VECTOR_RESET which cleans all elements from the vector leaving the storage intact. Change-Id: I41d32dbdf7137e0557134efeff9f9f1064b58d14 | 11 years ago | 
|  | 2d4dc0c963 | Fix error's produced by astmm.h when standard allocators are used. astmm.h includes defines that are meant to cause error's when standard allocators (malloc, calloc, free, etc) are used. It actually only causes a warning, which is not always caught on certain sources. In modules this unknown symbol is not detected until runtime, where the module fails to load. This modifies the define's so that using one of the blocked functions will cause a compile error regardless of CFLAGS. Moved spandsp header includes to before asterisk.h so the static inline functions can continue using malloc and free. Although these functions are never called and optimized away, the updated replacement macro's would still cause a failure. Change-Id: I532640aca0913ba9da3b18c04a0f010ca1715af5 | 11 years ago | 
|  | 009b44172d | Merge "res_pjsip_exten_state: Fix race condition between sending NOTIFY and termination" | 11 years ago | 
|  | 6bb80e7657 | Merge "vector:  Additional enhancements and fixes" | 11 years ago | 
|  | e33682cae2 | res_pjsip_exten_state: Fix race condition between sending NOTIFY and termination The res_pjsip_exten_state module currently has a race condition between processing the extension state callback from the PBX core and processing the subscription shutdown callback from res_pjsip_pubsub. There is currently no synchronization between the two. This can present a problem as while the SIP subscription will remain valid the tree it points to may not. This is in particular a problem as a task to send a NOTIFY may get queued which will try to use the tree that may no longer be valid. This change does the following to fix this problem: 1. All access to the subscription tree is done within the task that sends the NOTIFY to ensure that no other thread is modifying or destroying the tree. This task executes on the serializer for the subscriptions. 2. A reference to the subscription serializer is kept to ensure it remains valid for the lifetime of the extension state subscription. 3. The NOTIFY task has been changed so it will no longer attempt to send a NOTIFY if the subscription has already been terminated. ASTERISK-25057 #close Reported by: Matt Jordan Change-Id: I0b3cd2fac5be8d9b3dc5e693aaa79846eeaf5643 | 11 years ago | 
|  | f451af65c4 | Merge topics 'ASTERISK-25049', 'ASTERISK-25056' * changes: CLI: Enable automatic references to modules. Modules: Make ast_module_info->self available to auxiliary sources. | 11 years ago | 
|  | c886be5df2 | vector:  Additional enhancements and fixes After using the new vector stuff for real I found... A bug in AST_VECTOR_INSERT_AT that could cause a seg fault. The callbacks needed to be closer to ao2_callback in behavior WRT to CMP_MATCH and CMP_STOP behavior and the ability to return a vector of matched entries. A pre-existing issue with APPEND and REPLACE was also fixed. I also added a new macro to test.h that acts like ast_test_validate but also accepts a return code variable and a cleanup label. As well as printing the error, it sets the rc variable to AST_TEST_FAIL and does a goto to the specified label on error. I had a local version of this in test_vector so I just moved it. ASTERISK-25045 Change-Id: I05e5e47fd02f61964be13b7e8942bab5d61b29cc | 11 years ago | 
|  | df6c1d755f | CLI: Enable automatic references to modules. * Pass module to ast_cli_register and ast_cli_register_multiple. * Add a module reference before executing any CLI callback, remove the reference when complete. ASTERISK-25049 #close Reported by: Corey Farrell Change-Id: I7aafc7c9f2b912918f28fe51d51e9e8a755750e3 | 11 years ago | 
|  | a8bfa9e104 | Modules: Make ast_module_info->self available to auxiliary sources. ast_module_info->self is often needed to register items with the core. Many modules have ad-hoc code to make this pointer available to auxiliary sources. This change updates the module build process to make the needed information available to all sources in a module. ASTERISK-25056 #close Reported by: Corey Farrell Change-Id: I18c8cd58fbcb1b708425f6757becaeca9fa91815 | 11 years ago | 
|  | 6d5941297b | vector:  Traversal, retrieval, insert and locking enhancements Renamed AST_VECTOR_INSERT to AST_VECTOR_REPLACE because it really does replace not insert. The few users of AST_VECTOR_INSERT were refactored. Because these are macros, there should be no ABI compatibility issues. Added AST_VECTOR_INSERT_AT that actually inserts an element into the vector at a specific index pushing existing elements to the right. Added AST_VECTOR_GET_CMP that can retrieve from the vector based on a user-provided compare function. Added AST_VECTOR_CALLBACK function that will execute a function for each element in the vector. Similar to ao2_callback and ao2_callback_data functions although the vector callback can take a variable number of arguments. This should allow easy migration to a vector where a container might be too heavy. Added read/write locked vector and lock manipulation macros. Added unit tests. ASTERISK-25045 #close Change-Id: I2e07ecc709d2f5f91bcab8904e5e9340609b00e0 | 11 years ago | 
|  | 12809721d1 | Merge "Remove unneeded uses of optional_api providers." | 11 years ago | 
|  | 305ce3defd | Update configure.ac/Makefile for clang Created autoconf/ast_check_raii.m4: contains AST_CHECK_RAII which checks compiler requirements for RAII: gcc: -fnested-functions support clang: -fblocks (and if required -lBlocksRuntime) The original check was implemented in configure.ac and now has it's own file. This function also sets C_COMPILER_FAMILY to either gcc or clang for use by makefile Created autoconf/ast_check_strsep_array_bounds.m4 (contains AST_CHECK_STRSEP_ARRAY_BOUNDS): which checks if clang is able to handle the optimized strsep & strcmp functions (linux). If not, the standard libc implementation should be used instead. Clang + the optimized macro's work with: strsep(char *, char []), but not with strsepo(char *, char *). Instead of replacing all the occurences throughout the source code, not using the optimized macro version seemed easier See 'define __strcmp_gc(s1, s2, l2) in bits/string2.h': llvm-comment: Normally, this array-bounds warning are suppressed for macros, so that unused paths like the one that accesses __s1[3] are not warned about. But if you preprocess manually, and feed the result to another instance of clang, it will warn about all the possible forks of this particular if statement. Instead of switching of this optimization, another solution would be to run the preproces- sing step with -frewrite-includes, which should preserve enough information so that clang should still be able to suppress the diag- nostic at the compile step later on. See also "https://llvm.org/bugs/show_bug.cgi?id=20144" See also "https://llvm.org/bugs/show_bug.cgi?id=11536" Makefile.rules: If C_COMPILER_FAMILY=clang then add two warning suppressions: -Wno-unused-value -Wno-parentheses-equality In an earlier review (reviewboard: 4550 and 4554), they were deemed a nuisace and less than benefitial. configure.ac: Added AST_CHECK_RAII() see earlier Added AST_CHECK_STRSEP_ARRAY_BOUNDS() see earlier Removed moved content ASTERISK-24917 Change-Id: I12ea29d3bda2254ad3908e279b7effbbac6a97cb | 11 years ago | 
|  | c3ec5da156 | Remove unneeded uses of optional_api providers. A few cases exist where headers of optional_api provders are included but not needed. This causes unneeded calls to ast_optional_api_use. * Don't include optional_api.h from sip_api.h. * Move 'struct ast_channel_monitor' to channel.h. * Don't include monitor.h from chan_sip.c, channel.c or features.c. The move of struct ast_channel_monitor is needed since channel.c depends on it. This has no effect on users of monitor.h since channel.h is included from monitor.h. ASTERISK-25051 #close Reported by: Corey Farrell Change-Id: I53ea65a9fc9693c89f8bcfd6120649bfcfbc3478 | 11 years ago | 
|  | 7ff3b2d479 | include/asterisk/channel.h: Fix typo Change-Id: Ie584b85e16a94c255e60d0b1732ef9686464fef3 | 11 years ago | 
|  | 5d0c182885 | res_fax: allow 2400 transmission rate according to v.27ter standard A previous set of patches (see: ASTERISK-22790 & ASTERISK-23231) made it so a v.27 modem was not allowed to have a minimum transmission rate of 2400 bits per second. This reverts all or some of those patches since according to the v.27ter standard a rate of 2400 bits per second is also supported. One of the original patches also added 9600 bits per second support for v.27. This patch also removes that since v.27ter only supports 2400/4800 bits per second. Also, since Asterisk specifically supports v.27ter the enum was renamed to better reflect this. ASTERISK-24955 #close Reported by: Matt Jordan Change-Id: I4b9dfb6bf7eff08463ab47ee1a74224f27cae733 | 11 years ago | 
|  | 57cbb4bc8d | Merge "Astobj2: Add ao2_weakproxy_ref_object function." | 11 years ago | 
|  | c9c03998cc | Astobj2: Add ao2_weakproxy_ref_object function. This function allows code to run ao2_ref against the real object associated with a weakproxy. It is useful when all of the following conditions are true: * You have a pointer to weakproxy. * You do not have or need a pointer to the real object. * You need to ensure the real object exists and is not destroyed during a process. In this case it's wasteful to store a pointer to the real object just for the sake of releasing it later. Change-Id: I38a319b83314de75be74207a8771aab269bcca46 | 11 years ago | 
|  | 4f1db2070d | res_pjsip_outbound_registration: Don't fail on delayed processing. Odd behaviors have been observed during outbound registrations. The most common problem witnessed has been one where a request with authentication credentials cannot be created after receiving a 401 response. Other behaviors include apparently processing an incorrect SIP response. Inspecting the code led to an apparent issue with regards to how we handle transactions in outbound registration code. When a response to a REGISTER arrives, we save a pointer to the transaction and then push a task onto the registration serializer. Between the time that we save the pointer and push the task, it's possible for the transaction to be destroyed due to a timeout. It's also possible for the address to be reused by the transaction layer for a new transaction. To allow for authentication of a REGISTER request to be authenticated after the transaction has timed out, we now hold a reference to the original REGISTER request instead of the transaction. The function for creating a request with authentication has been altered to take the original request instead of the transaction where the original request was sent. ASTERISK-25020 Reported by Mark Michelson Change-Id: I756c19ab05ada5d0503175db9676acf87c686d0a | 11 years ago | 
|  | 5c1d07baf0 | Astobj2: Allow reference debugging to be enabled/disabled by config. * The REF_DEBUG compiler flag no longer has any effect on code that uses Astobj2. It is used to determine if reference debugging is enabled by default. Reference debugging can be enabled or disabled in asterisk.conf. * Caller information is provided in logger errors for ao2 bad magic numbers. * Optimizes AO2 by merging internal functions with the public counterpart. This was possible now that we no longer require a dual ABI. ASTERISK-24974 #close Reported by: Corey Farrell Change-Id: Icf3552721fe999365ba8a8cf00a965aa6b897cc1 | 11 years ago | 
|  | 5ae61cf1eb | Merge "New AMI Command Output Format" | 11 years ago | 
|  | 09c7c678a3 | Fix/Update clang-RAII macro implementation - When you need to refer to 'variable XXX' outside a block, it needs to be declared as '__block XXX', otherwise it will not be available with- in the block, making updating that variable hard to do, and ast_free lead to issues. - Removed the #error message because it creates complications when compiling external projects against asterisk For example when using a different compiler than the one used to compile asterisk. The warning/error should be generated during the configure process not the compilation process ASTERISK-24917 Change-Id: I12091228090e90831bf2b498293858f46ea7a8c2 | 11 years ago | 
|  | 2f418c052e | New AMI Command Output Format This change modifies how the the output from a CLI command is sent to a client over AMI. Output from the CLI command is now sent as a series of zero-or-more Output: headers. Additionally, commands that fail to execute (eg: no such command, invalid syntax etc.) now cause an Error response instead of Success. If the command executed successfully, but the manager unable to provide the output the reason will be included in the Message: header. Otherwise it will contain 'Command output follows'. Depends on a new version of starpy (> 1.0.2) that supports the new output format. See pull-request https://github.com/asterisk/starpy/pull/34 ASTERISK-24730 Change-Id: I6718d95490f0a6b3f171c1a5cdad9207f9a44888 | 11 years ago | 
|  | b1deedf0dc | Merge "pjsip_options:  Fix non-qualified contacts showing as unavailable" | 11 years ago | 
|  | 298faf7c50 | pjsip_options:  Fix non-qualified contacts showing as unavailable The "Add qualify_timeout processing and eventing" patch introduced an issue where contacts that had qualify_frequency set to 0 were showing Unavailable instead Unknown. This patch checks for qualify_frequency=0 and create an "Unknown" contact_status with an RTT = 0. Previously, the lack of contact_status implied Unknown but since we're now changing endpoint state based on contact_status, I've had to add new UNKNOWN status so that changes could trigger the appropriate contact_status observers. ASTERISK-24977: #close Change-Id: Ifcbc01533ce57f0e4e584b89a395326e098b8fe7 | 11 years ago | 
|  | c1d44ff043 | Fix issue with AST_THREADSTORAGE_RAW when DEBUG_THREADLOCALS is enabled. When DEBUG_THREADLOCALS is enabled it causes the threadlocal cleanup to be
called as a function.  This causes a compile error with raw threadstorage as
it uses NULL for cleanup.  This fix uses a macro that provides NULL when
DEBUG_THREADLOCALS is disabled, and replaces the call to "c_cleanup(data);"
with "{};" when DEBUG_THREADLOCALS is enabled.
ASTERISK-24975 #close
Reported by: Ashley Sanders
Change-Id: I3ef7428ee402816d9fcefa1b3b95830c00d5c402 | 11 years ago | 
|  | 8435a0cdff | Merge "Detect potential forwarding loops based on count." | 11 years ago | 
|  | aae45acbda | Detect potential forwarding loops based on count. A potential problem that can arise is the following: * Bob's phone is programmed to automatically forward to Carol. * Carol's phone is programmed to automatically forward to Bob. * Alice calls Bob. If left unchecked, this results in an endless loops of call forwards that would eventually result in some sort of fiery crash. Asterisk's method of solving this issue was to track which interfaces had been dialed. If a destination were dialed a second time, then the attempt to call that destination would fail since a loop was detected. The problem with this method is that call forwarding has evolved. Some SIP phones allow for a user to manually forward an incoming call to an ad-hoc destination. This can mean that: * There are legitimate use cases where a device may be dialed multiple times, or * There can be human error when forwarding calls. This change removes the old method of detecting forwarding loops in favor of keeping a count of the number of destinations a channel has dialed on a particular branch of a call. If the number exceeds the set number of max forwards, then the call fails. This approach has the following advantages over the old: * It is much simpler. * It can detect loops involving local channels. * It is user configurable. The only disadvantage it has is that in the case where there is a legitimate forwarding loop present, it takes longer to detect it. However, the forwarding loop is still properly detected and the call is cleaned up as it should be. Address review feedback on gerrit. * Correct "mfgium" to "Digium" * Decrement max forwards by one in the case where allocation of the max forwards datastore is required. * Remove irrelevant code change from pjsip_global_headers.c ASTERISK-24958 #close Change-Id: Ia7e4b7cd3bccfbd34d9a859838356931bba56c23 | 11 years ago | 
|  | bb347fa594 | Merge topic 'ASTERISK-24863' * changes: res_pjsip: Add global option to limit the maximum time for initial qualifies pjsip_options: Add qualify_timeout processing and eventing res_pjsip: Refactor endpt_send_request to include transaction timeout | 11 years ago | 
|  | c6ed681638 | res_pjsip: Add global option to limit the maximum time for initial qualifies Currently when Asterisk starts initial qualifies of contacts are spread out randomly between 0 and qualify_timeout to prevent network and system overload. If a contact's qualify_frequency is 5 minutes however, that contact may be unavailable to accept calls for the entire 5 minutes after startup. So while staggering the initial qualifies is a good idea, basing the time on qualify_timeout could leave contacts unavailable for too long. This patch adds a new global parameter "max_initial_qualify_time" that sets the maximum time for the initial qualifies. This way you could make sure that all your contacts are initialy, randomly qualified within say 30 seconds but still have the contact's ongoing qualifies at a 5 minute interval. If max_initial_qualify_time is > 0, the formula is initial_interval = min(max_initial_interval, qualify_timeout * random(). If not set, qualify_timeout is used. The default is "0" (disabled). ASTERISK-24863 #close Change-Id: Ib80498aa1ea9923277bef51d6a9015c9c79740f4 Tested-by: George Joseph <george.joseph@fairview5.com> | 11 years ago | 
|  | 51886c68dc | pjsip_options: Add qualify_timeout processing and eventing This is the second follow-on to https://reviewboard.asterisk.org/r/4572/ and the discussion at http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html The basic issues are that changes in contact status don't cause events to be emitted for the associated endpoint. Only dynamic contact add/delete actions update the endpoint. Also, the qualify timeout is fixed by pjsip at 32 seconds which is a long time. This patch makes use of the new transaction timeout feature in r4585 and provides the following capabilities... 1. A new aor/contact variable 'qualify_timeout' has been added that allows the user to specify the maximum time in milliseconds to wait for a response to an OPTIONS message. The default is 3000ms. When the timer expires, the contact is marked unavailable. 2. Contact status changes are now propagated up to the endpoint as follows... When any contact is 'Available', the endpoint is marked as 'Reachable'. When all contacts are 'Unavailable', the endpoint is marked as 'Unreachable'. The existing endpoint events are generated appropriately. ASTERISK-24863 #close Change-Id: Id0ce0528e58014da1324856ea537e7765466044a Tested-by: Dmitriy Serov Tested-by: George Joseph <george.joseph@fairview5.com> | 11 years ago | 
|  | ab6382cafd | res_pjsip: Refactor endpt_send_request to include transaction timeout This is the first follow-on to https://reviewboard.asterisk.org/r/4572/ and the discussion at http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html Since we currently have no control over pjproject transaction timeout, this patch pulls the pjsip_endpt_send_request function out of pjproject and into res_pjsip/endpt_send_transaction in order to implement that capability. Now when the transaction is initiated, we also schedule our own pj_timer with our own desired timeout. If the transaction completes before either timeout, pjproject cancels its timer, and calls our tsx callback where we cancel our timer and run the app callback. If the pjproject timer times out first, pjproject calls our tsx callback where we cancel our timer and run the app callback. If our timer times out first, we terminate the transaction which causes pjproject to cancel its timer and call our tsx callback where we run the app callback. Regardless of the scenario, pjproject is calling the tsx callback inside the group_lock and there are checks in the callback to make sure it doesn't run twice. As part of this patch ast_sip_send_out_of_dialog_request was created to replace its similarly named private function. It takes a new timeout argument in milliseconds (<= 0 to disable the timeout). ASTERISK-24863 #close Reported-by: George Joseph <george.joseph@fairview5.com> Tested-by: George Joseph <george.joseph@fairview5.com> Change-Id: I0778dc730d9689c5147a444a04aee3c1026bf747 | 11 years ago | 
|  | a3cec44a0a | res_pjsip: Add external PJSIP resolver implementation using core DNS API. This change adds the following: 1. A query set implementation. This is an API that allows queries to be executed in parallel and once all have completed a callback is invoked. 2. Unit tests for the query set implementation. 3. An external PJSIP resolver which uses the DNS core API to do NAPTR, SRV, AAAA, and A lookups. For the resolver it will do NAPTR, SRV, and AAAA/A lookups in parallel. If NAPTR or SRV are available it will then do more queries. And so on. Preference is NAPTR > SRV > AAAA/A, with IPv6 preferred over IPv4. For transport it will prefer TLS > TCP > UDP if no explicit transport has been provided. Configured transports on the system are taken into account to eliminate resolved addresses which have no hope of completing. ASTERISK-24947 #close Reported by: Joshua Colp Change-Id: I56cb03ce4f9d3d600776f36928e0b3e379b5d71e | 11 years ago | 
|  | cb6bf3094e | astobj2: Add support for weakproxy objects. This implements "weak" references. The weakproxy object is a real ao2 with normal reference counting of its own. When a weakproxy is pointed to a normal object they hold references to each other. The normal object is automatically freed when a single reference remains (the weakproxy). The weakproxy also supports subscriptions that will notify callbacks when it does not point to any real object. ASTERISK-24936 #close Reported by: Corey Farrell Change-Id: Ib9f73c02262488d314d9d9d62f58165b9ec43c67 | 11 years ago | 
|  | 755563f0f3 | Merge "git migration: Refactor the ASTERISK_FILE_VERSION macro" | 11 years ago | 
|  | fbc8ddfe63 | Optional API: Fix handling of sources that are both provider and user. OPTIONAL_API has conditionals to define AST_OPTIONAL_API and AST_OPTIONAL_API_ATTR differently based on if AST_API_MODULE is defined. Unfortunately this is inside the include protection block, so only the first status of AST_API_MODULE is respected. For example res_monitor is an optional API provider, but uses func_periodic_hook. This makes func_periodic_hook non-optional to res_monitor. This changes optional_api.h so that AST_OPTIONAL_API and AST_OPTIONAL_API_ATTR is redefined every time the header is included. ASTERISK-17608 #close Reported by: Warren Selby Change-Id: I8fcf2a5e7b481893e17484ecde4f172c9ffb5679 | 11 years ago | 
|  | 4a58261694 | git migration: Refactor the ASTERISK_FILE_VERSION macro Git does not support the ability to replace a token with a version
string during check-in. While it does have support for replacing a
token on clone, this is somewhat sub-optimal: the token is replaced
with the object hash, which is not particularly easy for human
consumption. What's more, in practice, the source file version was often
not terribly useful. Generally, when triaging bugs, the overall version
of Asterisk is far more useful than an individual SVN version of a file. As a
result, this patch removes Asterisk's support for showing source file
versions.
Specifically, it does the following:
* Rename ASTERISK_FILE_VERSION macro to ASTERISK_REGISTER_FILE, and
  remove passing the version in with the macro. Other facilities
  than 'core show file version' make use of the file names, such as
  setting a debug level only on a specific file. As such, the act of
  registering source files with the Asterisk core still has use. The
  macro rename now reflects the new macro purpose.
* main/asterisk:
  - Refactor the file_version structure to reflect that it no longer
    tracks a version field.
  - Remove the "core show file version" CLI command. Without the file
    version, it is no longer useful.
  - Remove the ast_file_version_find function. The file version is no
    longer tracked.
  - Rename ast_register_file_version/ast_unregister_file_version to
    ast_register_file/ast_unregister_file, respectively.
* main/manager: Remove value from the Version key of the ModuleCheck
  Action. The actual key itself has not been removed, as doing so would
  absolutely constitute a backwards incompatible change. However, since
  the file version is no longer tracked, there is no need to attempt to
  include it in the Version key.
* UPGRADE: Add notes for:
  - Modification to the ModuleCheck AMI Action
  - Removal of the "core show file version" CLI command
Change-Id: I6cf0ff280e1668bf4957dc21f32a5ff43444a40e | 11 years ago | 
|  | b35e184d41 | Add .gitignore and .gitreview files Add the .gitignore and .gitreview files to the asterisk repo. NB: You can add local ignores to the .git/info/exclude file without having to do a commit. Common ignore patterns are in the top-level .gitignore file. Subdirectory-specific ignore patterns are in their own .gitignore files. Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69 Tested-by: George Joseph | 11 years ago | 
|  | c499cabf53 | chan_pjsip/res_pjsip/bridge_softmix/core: Improve translation path choices. With this patch, chan_pjsip/res_pjsip now sets the native formats to the codecs negotiated by a call. * The changes in chan_pjsip.c and res_pjsip_sdp_rtp.c set the native formats to include all the negotiated audio codecs instead of only the initial preferred audio codec and later the currently received audio codec. * The audio frame handling in channel.c:ast_read() is more streamlined and will automatically adjust to changes in received frame formats. The new policy is to remove translation and pass the new frame format to the receiver except if the translation was to a signed linear format. A more long winded version is commented in ast_read() along with some caveats. * The audio frame handling in channel.c:ast_write() is more streamlined and will automatically adjust any needed translation to changes in the frame formats sent. Frame formats sent can change for many reasons such as a recording is being played back or the bridged peer changed the format it sends. Since it is a normal expectation that sent formats can change, the codec mismatch warning message is demoted to a debug message. * Removed the short circuit check in channel.c:ast_channel_make_compatible_helper(). Two party bridges need to make channels compatible with each other. However, transfers and moving channels among bridges can result in otherwise compatible channels having sub-optimal translation paths if the make compatible check is short circuited. A result of forcing the reevaluation of channel compatibility is that the asterisk.conf:transcode_via_slin and codecs.conf:genericplc options take effect consistently now. It is unfortunate that these two options are enabled by default and negate some of the benefits to the changes in channel.c:ast_read() by forcing translation through signed linear on a two party bridge. * Improved the softmix bridge technology to better control the translation of frames to the bridge. All of the incoming translation is now normally handled by ast_read() instead of splitting any translation steps between ast_read() and the slin factory. If any frame comes in with an unexpected format then the translation path in ast_read() is updated for the next frame and the slin factory handles the current frame translation. This is the final patch in a series of patches aimed at improving translation path choices. The other patches are on the following reviews: https://reviewboard.asterisk.org/r/4600/ https://reviewboard.asterisk.org/r/4605/ ASTERISK-24841 #close Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/4609/ ........ Merged revisions 434671 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434672 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 8bae18ab93 | res_pjsip: Add an 'auto' option for DTMF Mode This patch adds support for automatically detecting the type of DTMF that a PJSIP endpoint supports. When the 'dtmf_mode' endpoint option is set to 'auto', the channel created for an endpoint will attempt to determine if RFC 4733 DTMF is supported. If so, it will use that DTMF type. If not, the DTMF type for the channel will be set to inband. Review: https://reviewboard.asterisk.org/r/4438 ASTERISK-24706 #close Reported by: yaron nahum patches: yaron_patch_3_Feb.diff submitted by yaron nahum (License 6676) ........ Merged revisions 434637 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434638 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | c08ebc6eeb | Reduce duplication of common DNS code. The NAPTR and SRV branches were worked on independently and resulted in some code being duplicated in each. Since both have been merged into trunk now, this patch reduces the duplication by factoring out common code into its own source files. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434490 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | ea0098724e | clang compiler warnings: Fix autological comparisons This fixes autological comparison warnings in the following: * chan_skinny: letohl may return a signed or unsigned value, depending on the macro chosen * func_curl: Provide a specific cast to CURLoption to prevent mismatch * cel: Fix enum comparisons where the enum can never be negative * enum: Fix comparison of return result of dn_expand, which returns a signed int value * event: Fix enum comparisons where the enum can never be negative * indications: tone_data.freq1 and freq2 are unsigned, and hence can never be negative * presencestate: Use the actual enum value for INVALID state * security_events: Fix enum comparisons where the enum can never be negative * udptl: Don't bother to check if the return value from encode_length is less than 0, as it returns an unsigned int * translate: Since the parameters are unsigned int, don't bother checking to see if they are negative. The cast to unsigned int would already blow past the matrix bounds. * res_pjsip_exten_state: Use a temporary value to cache the return of ast_hint_presence_state * res_stasis_playback: Fix enum comparisons where the enum can never be negative * res_stasis_recording: Add an enum value for the case where the recording operation is in error; fix enum comparisons * resource_bridges: Use enum value as opposed to -1 * resource_channels: Use enum value as opposed to -1 Review: https://reviewboard.asterisk.org/r/4533 ASTERISK-24917 Reported by: dkdegroot patches: rb4533.patch submitted by dkdegroot (License 6600) ........ Merged revisions 434469 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 434470 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434471 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 09df34d880 | Bridging: Eliminate the unnecessary make channel compatible with bridge operation. When a channel enters the bridging system it is first made compatible with the bridge and then the bridge technology makes the channel compatible with the technology. For all but the DAHDI native and softmix bridge technologies the make channel compatible with the bridge step is an effective noop because the other technologies allow all audio formats. For the DAHDI native bridge technology it doesn't matter because it is not an initial bridge technology and chan_dahdi allows only one native format per channel. For the softmix bridge technology, it is a noop at best and harmful at worst because the wrong translation path could be setup if the channel's native formats allow more than one audio format. This is an intermediate patch for a series of patches aimed at improving translation path choices. * Removed code dealing with the unnecessary step of making the channel compatible with the bridge. ASTERISK-24841 Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/4600/ ........ Merged revisions 434424 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434430 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | e48f2e7897 | build: Fixes for gcc 5 compilation These are fixes for compilation under gcc 5.0...
chan_sip.c:    In parse_request needed to make 'lim' unsigned.
inline_api.h:  Needed to add a check for '__GNUC_STDC_INLINE__' to detect C99 
               inline semantics (same as clang).
ccss.c:        In ast_cc_set_parm, needed to fix weird comparison.
dsp.c:         Needed to work around a possible compiler bug.  It was throwing 
               an array-bounds error but neither
               sgriepentrog, rmudgett nor I could figure out why.
manager.c:     In action_atxfer, needed to correct an array allocation.
This patch will go to 11, 13, trunk.
Review: https://reviewboard.asterisk.org/r/4581/
Reported-by: Jeffrey Ollie
Tested-by: George Joseph
ASTERISK-24932 #close
........
Merged revisions 434113 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434114 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434115 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 0a26602b8c | Merge NAPTR support into trunk. This adds NAPTR record allocation and sorting, as well as unit tests that verify that NAPTR records are parsed and sorted correctly. Review: https://reviewboard.asterisk.org/r/4542 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434068 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 6e5efe04bd | pjsip: resolve compatibility problem with ast_sip_session A change in r430179 inserted a variable near the top of a structure caused a problem when running DPMA in a version of Asterisk compiled across the change. This patch moves the new variable to the end of the structure, eliminating the problem. Review: https://reviewboard.asterisk.org/r/4574/ ........ Merged revisions 433944 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433945 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 39824e3d01 | dns: Add support for SRV record parsing and sorting. This change adds support for parsing SRV records and consuming their values in an easy fashion. It also adds automatic sorting of SRV records according to RFC 2782. Tests have also been included which cover parsing, sorting, and off-nominal cases where the record is corrupted. ASTERISK-24931 #close Reported by: Joshua Colp Review: https://reviewboard.asterisk.org/r/4528/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433889 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 8d12288d8a | Fix an ABI compatibility issue with ast_log_safe for modules. Binary modules are sometimes built against the latest release of Asterisk in each branch, and need to be compatible with all releases of that branch. This change ensures that utils.h only uses ast_log_safe from the core. For modules and utilities ast_log is used instead. Review: https://reviewboard.asterisk.org/r/4548/ ........ Merged revisions 433772 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 433773 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433774 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | ce59fabd5c | clang compiler warnings: Fix invalid enum conversion This patch fixes some invalid enum conversion warnings caught by clang. In particular: * chan_sip: Several functions mixed usage of the st_refresher_param enum and st_refresher enum. This patch corrects the functions to use the right enum. * chan_pjsip: Fixed mixed usage of ast_sip_session_t38state and ast_t38_state. * strings: Fixed incorrect usage of AO2 flags with strings container. * res_stasis: Change a return enumeration to stasis_app_user_event_res. Review: https://reviewboard.asterisk.org/r/4535 ASTERISK-24917 Reported by: dkdegroot patches: rb4535.patch submitted by dkdegroot (License 6600) ........ Merged revisions 433746 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 433747 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433748 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 0b62e41654 | Add stateful PJSIP response API call, and use it for out-of-dialog responses. Asterisk had an issue where retransmissions of MESSAGE requests resulted in Asterisk processing the retransmission as if it were a new MESSAGE request. This patch fixes the issue by creating a transaction in PJSIP on the incoming request. This way, if a retransmission arrives, the PJSIP transaction layer will resend the response and Asterisk will not ever see the retransmission. ASTERISK-24920 #close Reported by Mark Michelson Review: https://reviewboard.asterisk.org/r/4532/ ........ Merged revisions 433619 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433620 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 10458d2878 | Fix link error for utils/aelparse. Use the standard ast_log instead of ast_log_safe for STANDALONE programs. Review: https://reviewboard.asterisk.org/r/4538/ ........ Merged revisions 433549 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 433550 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433551 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 28e3bd0af7 | Improved and portable ast_log recursion avoidance This introduces a new logger routine ast_log_safe. This routine should be used for all error messages in code that can be run as a result of ast_log. ast_log_safe does nothing if run recursively. All error logging in astobj2.c, strings.c and utils.h have been switched to ast_log_safe. This required adding support for raw threadstorage. This provides direct access to the void* pointer in threadstorage. In ast_log_safe, NULL is used to signify that this thread is not already running ast_log_safe, (void*)1 when it is already running. This was done since it's critical that ast_log_safe do nothing that could log during recursion checking. ASTERISK-24155 #close Reported by: Timo Teräs Review: https://reviewboard.asterisk.org/r/4502/ ........ Merged revisions 433522 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 433523 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433524 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 3ddd92902a | Replace most uses of ast_register_atexit with ast_register_cleanup. Since 'core stop now' and 'core restart now' do not stop modules, it is unsafe for most of the core to run cleanups. Originally all cleanups used ast_register_atexit, and were only changed when it was shown to be unsafe. ast_register_atexit is now used only when absolutely required to prevent corruption and close child processes. Exceptions that need to use ast_register_atexit: * CDR: Flush records. * res_musiconhold: Kill external applications. * AstDB: Close the DB. * canary_exit: Kill canary process. ASTERISK-24142 #close Reported by: David Brillert ASTERISK-24683 #close Reported by: Peter Katzmann ASTERISK-24805 #close Reported by: Badalian Vyacheslav ASTERISK-24881 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4500/ Review: https://reviewboard.asterisk.org/r/4501/ ........ Merged revisions 433495 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 433497 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433498 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | ab674f67b5 | app_confbridge: file playback blocks dtmf Attempting to execute DTMF in a confbridge while file playback (prompt, announcement, etc) is occurring is not allowed. You have to wait until the sound file has completed before entering DTMF. This patch fixes it so that app_confbridge now monitors for dtmf key presses during menu driven file playback. If a key is pressed playback stops and it executes the matched menu option. ASTERISK-24864 #close Reported by: Steve Pitts Review: https://reviewboard.asterisk.org/r/4510/ ........ Merged revisions 433445 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 433446 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433447 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | abf3e40902 | dns: Add core DNS API + unit tests and res_resolver_unbound module + unit tests. This change adds an abstracted core DNS API which resembles the API described here[1]. The API provides a pluggable mechanism for resolvers and also a consistent view for records. Both synchronous and asynchronous queries are supported. This change also adds a res_resolver_unbound module which uses the libunbound library to provide resolution. Unit tests have also been written for all of the above to confirm the API and functionality. ASTERISK-24834 #close Reported by: Matt Jordan ASTERISK-24836 #close Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/4474/ Review: https://reviewboard.asterisk.org/r/4512/ [1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+DNS+API git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433370 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 4c2fc5b811 | chan_pjsip: Add "rpid_immediate" option to prevent unnecessary "180 Ringing" messages. Incoming PJSIP call legs that have not been answered yet send unnecessary "180 Ringing" or "183 Progress" messages every time a connected line update happens. If the outgoing channel is also PJSIP then the incoming channel will always send a "180 Ringing" or "183 Progress" message when the outgoing channel sends the INVITE. Consequences of these unnecessary messages: * The caller can start hearing ringback before the far end even gets the call. * Many phones tend to grab the first connected line information and refuse to update the display if it changes. The first information is not likely to be correct if the call goes to an endpoint not under the control of the first Asterisk box. When connected line first went into Asterisk in v1.8, chan_sip received an undocumented option "rpid_immediate" that defaults to disabled. When enabled, the option immediately passes connected line update information to the caller in "180 Ringing" or "183 Progress" messages as described above. * Added "rpid_immediate" option to prevent unnecessary "180 Ringing" or "183 Progress" messages. The default is "no" to disable sending the unnecessary messages. ASTERISK-24781 #close Reported by: Richard Mudgett Review: https://reviewboard.asterisk.org/r/4473/ ........ Merged revisions 433338 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433339 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 8c65c9167e | Various: bugfixes found via chaos Using DEBUG_CHAOS several instances of a null pointer crash, and one uninitialized variable were uncovered and fixed. Also added details on why Asterisk failed to initialize. Review: https://reviewboard.asterisk.org/r/4468/ ........ Merged revisions 433064 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433065 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | f25b265329 | core: Introduce chaos into memory allocations Locate potential crashes by exercising seldom used code paths. This patch introduces a new define DEBUG_CHAOS, and mechanism to randomly return an error condition from functions that will seldom do so. Functions that handle the allocation of memory get the first treatment. Review: https://reviewboard.asterisk.org/r/4463/ ........ Merged revisions 433060 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433063 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 803a916334 | res_pjsip: Allow configuration of endpoint identifier query order Updated some documentation stating that endpoint identifiers registered without a name are place at the front of the lookup list. Also renamed register method 'ast_sip_register_endpoint_identifier_by_name' to 'ast_sip_register_endpoint_identifier_with_name' ASTERISK-24840 Reported by: Mark Michelson ........ Merged revisions 433031 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433032 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | aef7278af6 | res_pjsip: Allow configuration of endpoint identifier query order This patch fixes previously reverted code that caused binary incompatibility problems with some modules. And like the original patch it makes sure that no matter what order the endpoint identifier modules were loaded, priority is given based on the ones specified in the new global 'endpoint_identifier_order' option. ASTERISK-24840 Reported by: Mark Michelson Review: https://reviewboard.asterisk.org/r/4489/ ........ Merged revisions 433028 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433029 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | d42c6adb1a | Revert - res_pjsip: Allow configuration of endpoint identifier query order Due to a break in binary compatibility with some other modules these changes are being reverted until the issue can be resolved. ASTERISK-24840 Reported by: Mark Michelson ........ Merged revisions 432868 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432869 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | c08fd275bf | Logger: Convert 'struct ast_callid' to unsigned int. Switch logger callid's from AO2 objects to simple integers. This helps in two ways. Copying integers is faster than referencing AO2 objects, so this will result in a small reduction in logger overhead. This also erases the possibility of an infinate loop caused by an invalid callid in threadstorage. ASTERISK-24833 #comment Committed callid conversion to trunk. Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4466/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432834 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 29304d10a0 | Add support for the clang compiler; update RAII_VAR to use BlocksRuntime RAII_VAR, which is used extensively in Asterisk to manage reference counted resources, uses a GCC extension to automatically invoke a cleanup function when a variable loses scope. While this functionality is incredibly useful and has prevented a large number of memory leaks, it also prevents Asterisk from being compiled with clang. This patch updates the RAII_VAR macro such that it can be compiled with clang. It makes use of the BlocksRuntime, which allows for a closure to be created that performs the actual cleanup. Note that this does not attempt to address the numerous warnings that the clang compiler catches in Asterisk. Much thanks for this patch goes to: * The folks on StackOverflow who asked this question and Leushenko for providing the answer that formed the basis of this code: http://stackoverflow.com/questions/24959440/rewrite-gcc-cleanup-macro-with-nested-function-for-clang * Diederik de Groot, who has been extremely patient in working on getting this patch into Asterisk. Review: https://reviewboard.asterisk.org/r/4370/ ASTERISK-24133 ASTERISK-23666 ASTERISK-20399 ASTERISK-20850 #close Reported by: Diederik de Groot patches: RAII_CLANG.patch uploaded by Diederik de Groot (License 6600) ........ Merged revisions 432807 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 432808 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432809 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 4115e327ac | res_pjsip: Move internal init/destroy prototypes to private header file. Done as a separate commit from a finding in https://reviewboard.asterisk.org/r/4467/ ........ Merged revisions 432787 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432788 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 89b65f5dda | res_pjsip: Fix pjsip.conf type=global object default value handling. When a type=global section is not defined in pjsip.conf the global defaults are not applied. As a result the mandatory Max-Forwards header is not added to SIP messages for res_pjsip/chan_pjsip. The handling of pjsip.conf type=global objects has several problems: 1) If the global object is missing the defaults are not applied. 2) If the global object is missing the default_outbound_endpoint's default value is not returned by ast_sip_global_default_outbound_endpoint(). 3) Defines are needed so default values only need to be changed in one place. * Added a sorcery instance observer callback to check if there were any type=global sections loaded. If there were more than one then issue an error message. If there were none then apply the global defaults. * Fixed ast_sip_global_default_outbound_endpoint() to return the documented default when no type=global object is defined. * Made defines for the global default values. * Increased the default_useragent[] size because SVN version strings can get lengthy and 128 characters may not be enough. * Fixed an off-nominal code path ref leak in global_alloc() if the string fields fail to initialize. * Eliminated RAII_VAR in get_global_cfg() and ast_sip_global_default_outbound_endpoint(). ASTERISK-24807 #close Reported by: Anatoli Review: https://reviewboard.asterisk.org/r/4467/ ........ Merged revisions 432766 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432767 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | e7ee83ea90 | res_pjsip_refer: Fix occasional unexpected BYE sent after receiving a REFER. A race condition happened between initiating a transfer and requesting that a dialog termination be delayed. Occasionally, the transferrer channels would exit the bridge and hangup before the dialog termination delay was requested. * Made request dialog termination delay before initiating the transfer action. If the transfer fails then cancel the delayed dialog termination request. ASTERISK-24755 #close Reported by: John Bigelow Review: https://reviewboard.asterisk.org/r/4460/ ........ Merged revisions 432668 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432669 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 1ce529d30e | res_pjsip: allow configuration of endpoint identifier query order It's possible to have a scenario that will create a conflict between endpoint identifiers. For instance an incoming call could be identified by two different endpoint identifiers and the one chosen depended upon which identifier module loaded first. This of course causes problems when, for example, the incoming call is expected to be identified by username, but instead is identified by ip. This patch adds a new 'global' option to res_pjsip called 'endpoint_identifier_order'. It is a comma separated list of endpoint identifier names that specifies the order by which identifiers are processed and checked. ASTERISK-24840 #close Reported by: Mark Michelson Review: https://reviewboard.asterisk.org/r/4455/ ........ Merged revisions 432638 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432639 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | b85cb7ea1b | app: Add functions to swap voicemail function table for testing purposes ........ Merged revisions 432556 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432573 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 9e841e4fb6 | ARI: Fix crash if integer values used in JSON payload 'variables' object. Sending the following ARI commands caused Asterisk to crash if the JSON
body 'variables' object passes values of types other than strings.
POST /ari/channels
POST /ari/channels/{channelid}
PUT /ari/endpoints/sendMessage
PUT /ari/endpoints/{tech}/{resource}/sendMessage
* Eliminated RAII_VAR usage in ast_ari_channels_originate_with_id(),
ast_ari_channels_originate(), ast_ari_endpoints_send_message(), and
ast_ari_endpoints_send_message_to_endpoint().
ASTERISK-24751 #close
Reported by:  jeffrey putnam
Review: https://reviewboard.asterisk.org/r/4447/
........
Merged revisions 432404 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432405 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | d79670b269 | Dial API: add self destruct option when complete This patch adds a self-destruction option to the dial api. The usefulness of this is mostly when using async mode to spawn a separate thread used to handle the new call, while the calling thread is allowed to go on about other business. The only alternative to this option would be the calling thread spawning a new thread, or hanging around itself waiting to destroy the dial struct after completion. Example of use (minus error checking): struct ast_dial *dial = ast_dial_create(); ast_dial_append(dial, "PJSIP", "200", NULL); ast_dial_option_global_enable(dial, AST_DIAL_OPTION_ANSWER_EXEC, "Echo"); ast_dial_option_global_enable(dial, AST_DIAL_OPTION_SELF_DESTROY, NULL); ast_dial_run(dial, NULL, 1); The dial_run call will return almost immediately after spawning the new thread to run and monitor the dial. If the call is answered, it is placed into the echo app. When completed, it will call ast_dial_destroy() on the dial structure. Note that any allocations made to pass values to ast_dial_set_user_data() or dial options must be free'd in a state callback function on any of: AST_DIAL_RESULT_UNASWERED, AST_DIAL_RESULT_ANSWERED, AST_DIAL_RESULT_HANGUP, or AST_DIAL_RESULT_TIMEOUT. Review: https://reviewboard.asterisk.org/r/4443/ ........ Merged revisions 432385 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432386 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 57525c3cf2 | config.h: Use real parameter names for ast_variable_new() define. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432220 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | ce50fa314a | asterisk/lock.h: Fix syntax errors for non-gcc OSX with 64-bit integers. Add a couple of missing closing brackets / parenthesis. ASTERISK-24814 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4436/ ........ Merged revisions 432054 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 432055 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432056 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | a4774ceaa5 | Create work around for scheduler leaks during shutdown. * Added ast_sched_clean_by_callback for cleanup of scheduled events that have not yet fired. * Run all pending peercnt_remove_cb and replace_callno events in chan_iax2. Cleanup of replace_callno events is only run 11, since it no longer releases any references or allocations in 13+. ASTERISK-24451 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4425/ ........ Merged revisions 431916 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 431917 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431918 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 29f66b0429 | ARI/PJSIP: Add the ability to redirect (transfer) a channel in a Stasis app This patch adds a new feature to ARI to redirect a channel to another server,
and fixes a few bugs in PJSIP's handling of the Transfer dialplan
application/ARI redirect capability.
*New Feature*
A new operation has been added to the ARI channels resource, redirect. With
this, a channel in a Stasis application can be redirected to another endpoint
of the same underlying channel technology.
*Bug fixes*
In the process of writing this new feature, two bugs were fixed in the PJSIP
stack:
(1) The existing .transfer channel callback had the limitation that it could
    only transfer channels to a SIP URI, i.e., you had to pass
    'PJSIP/sip:foo@my_provider.com' to the dialplan application. While this is
    still supported, it is somewhat unintuitive - particularly in a world full
    of endpoints. As such, we now also support specifying the PJSIP endpoint to
    transfer to.
(2) res_pjsip_multihomed was, unfortunately, trying to 'help' a 302 redirect by
    updating its Contact header. Alas, that resulted in the forwarding
    destination set by the dialplan application/ARI resource/whatever being
    rewritten with very incorrect information. Hence, we now don't bother
    updating an outgoing response if it is a 302. Since this took a looong time
    to find, some additional debug statements have been added to those modules
    that update the Contact headers.
Review: https://reviewboard.asterisk.org/r/4316/
ASTERISK-24015 #close
Reported by: Private Name
ASTERISK-24703 #close
Reported by: Matt Jordan
........
Merged revisions 431717 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431718 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | e2d3215b83 | HTTP: Stop accepting requests on final system shutdown. There are three CLI commands to stop and restart Asterisk each. 1) core stop/restart now - Hangup all calls and stop or restart Asterisk. New channels are prevented while the shutdown request is pending. 2) core stop/restart gracefully - Stop or restart Asterisk when there are no calls remaining in the system. New channels are prevented while the shutdown request is pending. 3) core stop/restart when convenient - Stop or restart Asterisk when there are no calls in the system. New calls are not prevented while the shutdown request is pending. ARI has made stopping/restarting Asterisk more problematic. While a shutdown request is pending it is desirable to continue to process ARI HTTP requests for current calls. To handle the current calls while a shutdown request is pending, a new committed to shutdown phase is needed so ARI applications can deal with the calls until the system is fully committed to shutdown. * Added a new shutdown committed phase so ARI applications can deal with calls until the final committed to shutdown phase is reached. * Made refuse new HTTP requests when the system has reached the final system shutdown phase. Starting anything while the system is actively releasing resources and unloading modules is not a good thing. * Split the bridging framework shutdown to not cleanup the global bridging containers when shutting down in a hurry. This is similar to how other modules prevent crashes on rapid system shutdown. * Moved ast_begin_shutdown(), ast_cancel_shutdown(), and ast_shutting_down(). You should not have to include channel.h just to access these system functions. ASTERISK-24752 #close Reported by: Matthew Jordan Review: https://reviewboard.asterisk.org/r/4399/ ........ Merged revisions 431692 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431694 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 8cc50b1ebc | Enable REF_DEBUG for ast_module_ref / ast_module_unref. Add ast_module_shutdown_ref for use by modules that can only be unloaded during graceful shutdown. When REF_DEBUG is enabled: * Add an empty ao2 object to struct ast_module. * Allocate ao2 object when the module is loaded. * Perform an ao2_ref in each place where mod->usecount is manipulated. * ao2_cleanup on module unload. ASTERISK-24479 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4141/ ........ Merged revisions 431662 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 431663 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431672 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 6a76740b83 | HTTP: For httpd server, need option to define server name for security purposes Added a new config property [servername] to the http.conf file; updated the http server to use the new property when sending responses, for showing http status through the CLI and when reporting status through the 'httpstatus' webpage. In this version, [servername] is uncommented by default. ASTERISK-24316 #close Reported By: Andrew Nagy Review: https://reviewboard.asterisk.org/r/4374/ ........ Merged revisions 431471 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431484 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 388d691f34 | stasis transfer: fix stasis bridge push race part two When swapping a Local channel in place of one already in a bridge (to complete a bridge attended transfer), the channel that was swapped out can actually be hung up before the stasis bridge push callback executes on the independant transfer thread. This results in the stasis app loop dropping out and removing the control that has the the app name which the local replacement channel needs so it can re-enter stasis. To avoid this race condition a new push_peek callback has been added, and called from the ast_bridge_impart thread before it launches the independant thread that will complete the transfer. Now the stasis push_peek callback can copy the stasis app name before the swap channel can hang up. ASTERISK-24649 Review: https://reviewboard.asterisk.org/r/4382/ ........ Merged revisions 431450 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431451 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 965777ccfc | Various fixes for OS X This patch addresses compilation errors on OS X. It's been a while, so there's quite a few things. * Fixed __attribute__ decls in route.h to be portable. * Fixed htonll and ntohll to work when they are defined as macros. * Replaced sem_t usage with our ast_sem wrapper. * Added ast_sem_timedwait to our ast_sem wrapper. * Fixed some GCC 4.9 warnings using sig*set() functions. * Fixed some format strings for portability. * Fixed compilation issues with res_timing_kqueue (although tests still fail on OS X). * Fixed menuconfig /sbin/launchd detection, which disables res_timing_kqueue on OS X). ASTERISK-24539 #close Reported by: George Joseph ASTERISK-24544 #close Reported by: George Joseph Review: https://reviewboard.asterisk.org/r/4327/ ........ Merged revisions 431092 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431093 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | ca02121ef7 | Investigate and fix memory leaks in Asterisk Fixed memory leaks that were found in Asterisk. ASTERISK-24693 #close Reported by: Kevin Harwell Review: https://reviewboard.asterisk.org/r/4347/ ........ Merged revisions 430999 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431010 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 49cbfa7de6 | Fix typo's (retrieve, specified, address). ........ Merged revisions 430996 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 430998 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431000 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 9bff4eeca3 | Bridge core: Pass a ref with the swap channel when joining a bridge. When code imparts a channel into a bridge to swap with another channel, a ref needs to be held on the swap channel to ensure that it cannot dissapear before finding it in the bridge. * The ast_bridge_join() swap channel parameter now always steals a ref for the swap channel. This is the only change to the bridge framework's public API semantics. * bridge_channel_internal_join() now requires the bridge_channel->swap channel to pass in a ref. ASTERISK-24649 Reported by: John Bigelow Review: https://reviewboard.asterisk.org/r/4354/ ........ Merged revisions 430975 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430976 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 023fa0f9e8 | Add support for the ca_list_path option for PJSIP transports. This allows for a path to be specified that has a collection of CA certificates in it. ASTERISK-24575 #close Reported by cloos Patches: pj-ca-path-trunk.diff uploaded by cloos (License #5956) Review: https://reviewboard.asterisk.org/r/4344 ........ Merged revisions 430709 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430713 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 0e631a541d | chan_pjsip: Add configure check for 'pjsip_get_dest_info' function. The 'pjsip_get_dest_info' function is used to determine if the signaling transport of the dialog is secure or not. This function was added in PJSIP 2.3 and does not exist in earlier versions. This configure check allows Asterisk to build and run with older versions at the loss of the 'secure' argument for the PJSIP CHANNEL dialplan function. Usage of this argument will require upgrading to PJSIP 2.3. ASTERISK-24665 #close Reported by: Mark Michelson Review: https://reviewboard.asterisk.org/r/4329/ ........ Merged revisions 430546 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430547 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 4dd6b6ff59 | AMI: Revert non-backwards compatible changes from earlier commit. * Reverted the change to astman_send_listack() to not use the listflag parameter and always set the value to "Start" so the start capitalization is consistent. Unfortunately changing the case of a returned value is not a backward compatible change so for now FAXSessions is going to have to remain inconsistent with all of the other AMI list actions. * Reverted the minor protocol error fix in action_getconfig() when no requested categories are found. Each line needs to be formatted as "Header: text". Caught by the testsuite. ASTERISK-24049 ........ Merged revisions 430528 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430529 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | c7ea108e02 | Revert -r430452 It needs to be redone for the next major AMI version change instead. ASTERISK-24049 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430509 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 9065488ddd | main/syslog: Allow dynamic logs, such as security events, to log to the syslog The security event log uses a dynamic log level (SECURITY) that is registered with the Asterisk logging core. Unfortunately, the syslog would ignore log statements that had a dynamic log level associated with them. Because the syslog cannot handle ad hoc dynamic log levels, this patch treats any dynamic log entries sent to the syslog as logs with a level of NOTICE. ASTERISK-20744 #close Reported by: Michael Keuter Tested by: Michael L. Young, Jacek Konieczny patches: asterisk-20744-syslog-dynamic-logging_trunk.diff uploaded by Michael L. Young (license 5026) ........ Merged revisions 430506 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 430507 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430508 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | ef34a05f21 | AMI: Remove no longer used parameter from astman_send_listack(). Follow-up issue to -r430435 from reviewboard review. ASTERISK-24049 Review: https://reviewboard.asterisk.org/r/4315/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430452 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 52a7cdb101 | AMI: Make AMI actions that generate event lists consistent. * Made the following AMI actions use list API calls for consistency: Agents BridgeInfo BridgeList BridgeTechnologyList ConfbridgeLIst ConfbridgeLIstRooms CoreShowChannels DAHDIShowChannels DBGet DeviceStateList ExtensionStateList FAXSessions Hangup IAXpeerlist IAXpeers IAXregistry MeetmeList MeetmeListRooms MWIGet ParkedCalls Parkinglots PJSIPShowEndpoint PJSIPShowEndpoints PJSIPShowRegistrationsInbound PJSIPShowRegistrationsOutbound PJSIPShowResourceLists PJSIPShowSubscriptionsInbound PJSIPShowSubscriptionsOutbound PresenceStateList PRIShowSpans QueueStatus QueueSummary ShowDialPlan SIPpeers SIPpeerstatus SIPshowregistry SKINNYdevices SKINNYlines Status VoicemailUsersList * Incremented the AMI version to 2.7.0. * Changed astman_send_listack() to not use the listflag parameter and always set the value to "Start" so the start capitalization is consistent. i.e., The FAXSessions used "Start" while the rest of the system used "start". The corresponding complete event always used "Complete". * Fixed ami_show_resource_lists() "PJSIPShowResourceLists" to output the AMI ActionID for all of its list events. * Fixed off-nominal AMI protocol error in manager_bridge_info(), manager_parking_status_single_lot(), and manager_parking_status_all_lots(). Use of astman_send_error() after responding to the original AMI action request violates the action response pattern by sending two responses. * Fixed minor protocol error in action_getconfig() when no requested categories are found. Each line needs to be formatted as "Header: text". * Fixed off-nominal memory leak in manager_build_parked_call_string(). * Eliminated unnecessary use of RAII_VAR() in ami_subscription_detail(). ASTERISK-24049 #close Reported by: Jonathan Rose Review: https://reviewboard.asterisk.org/r/4315/ ........ Merged revisions 430434 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430435 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 77ee23210d | res_fax: Add T.38 negotiation timeout option This change makes the T.38 negotiation timeout configurable via 't38timeout' in res_fax.conf or FAXOPT(t38timeout). It was previously hard coded to be 5000 milliseconds. This change also handles T.38 switch failures by aborting the fax since in the case where this can happen, both sides have agreed to switch to T.38 and Asterisk is unable to do so. Review: https://reviewboard.asterisk.org/r/4320/ ........ Merged revisions 430415 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 430416 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430417 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 56de48107f | config: Add option to NOT preserve effective context when changing a template Let's say you have a template T with variable VAR1 = ON and you have a context C(T) that doesn't specify VAR1. If you read C, the effective value of VAR1 is ON. Now you change T VAR1 to OFF and call ast_config_text_file_save. The current behavior is that the file gets re-written with T/VAR1=OFF but C/VAR1=ON is added. Personally, I think this is a bug. It's preserving the effective state of C even though I didn't specify C/VAR1 in th first place. I believe the behavior should be that if I didn't specify C/VAR1 originally, then the effective value of C/VAR1 should continue to follow the inherited state. Now, if I DID explicitly specify C/VAR1, the it should be preserved even if the template changes. Even though I think the existing behavior is a bug, it's been that way forever so I'm not changing it. Instead, I've created ast_config_text_file_save2() that takes a bitmask of flags, one of which is to preserve the effective context (the current behavior). The original ast_config_text_file_save calls *2 with the preserve flag. If you want the new behavior, call *2 directly without a flag. I've also updated Manager UpdateConfig with a new parameter 'PreserveEffectiveContext' whose default is 'yes'. If you want the new behavior with UpdateConfig, set 'PreserveEffectiveContext: no'. Tested-by: George Joseph Review: https://reviewboard.asterisk.org/r/4297/ ........ Merged revisions 430295 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430296 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | f7cf988a82 | pjsip: Add 'PJSIP_AOR' and 'PJSIP_CONTACT' dialplan functions. The PJSIP_AOR dialplan function allows inspection of configured AORs including what contacts are currently bound to them. The PJSIP_CONTACT dialplan function allows inspection of contacts in existence. These can include both externally added (by way of registration) or permanent ones. ASTERISK-24341 Reported by: xrobau Review: https://reviewboard.asterisk.org/r/4308/ ........ Merged revisions 430179 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430180 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | bbd9ff122e | queue_log: Post QUEUESTART entry when Asterisk fully boots. The QUEUESTART log entry has historically acted like a fully booted event for the queue_log file. When the QUEUESTART entry was posted to the log was broken by the change made by ASTERISK-15863. * Made post the QUEUESTART queue_log entry when Asterisk fully boots. This restores the intent of that log entry and happens after realtime has had a chance to load. AST-1444 #close Reported by: Denis Martinez Review: https://reviewboard.asterisk.org/r/4282/ ........ Merged revisions 430009 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 430010 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430011 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 0c38276d6e | presencestate: Allow channel drivers to provide presence state information This patch adds the ability for channel drivers to supply presence information in a similar manner to device state. The patch does not provide any channel driver implementations, but it does provide the core infrastructure necessary for channel drivers to provide such information. The core handles multiple providers of presence state information. Ordering of presence state is as follows: INVALID < NOT_SET < AVAILABLE < UNAVAILABLE < CHAT < AWAY < XA < DND Each provider can trump the previous if it provides a presence state that supercedes a previous one. Review: https://reviewboard.asterisk.org/r/4050 ASTERISK-24363 #close Reported by: Gareth Palmer patches: chan_presencestate-428146.patch uploaded by Gareth Palmer (License 5169) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@429967 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 6472568bc6 | loader: Move definition of ast_module_reload from _private.h to module.h No functionality change. Just move the definition of ast_module_reload from _private.h to module.h so it can be public. Also removed the include of _private.h from manager.c since ast_module_load was the only reason for including it. Tested-by: George Joseph Review: https://reviewboard.asterisk.org/r/4251/ ........ Merged revisions 429542 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@429543 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 308c1b41dd | DEBUG_THREADS: Fix regression and lock tracking initialization problems. This patch started with David Lee's patch at https://reviewboard.asterisk.org/r/2826/ and includes a regression fix introduced by the ASTERISK-22455 patch. The initialization of a mutex's lock tracking structure was not protected in a critical section. This is fine for any mutex that is explicitly initialized, but a static mutex may have its lock tracking double initialized if multiple threads attempt the first lock simultaneously. * Added a global mutex to properly serialize initialization of the lock tracking structure. The painful global lock can be mitigated by adding a double checked lock flag as discussed on the original review request. * Defer lock tracking initialization until first use. * Don't be "helpful" and initialize an uninitialized lock when DEBUG_THREADS is enabled. Debug code is not supposed to fix or change normal code behavior. We don't need a lock initialization race that would force a re-setup of lock tracking. Lock tracking already handles initialization on first use. * Properly handle allocation failures of the lock tracking structure. * No need to initialize tracking data in __ast_pthread_mutex_destroy() just to turn around and destroy it. The regression introduced by ASTERISK-22455 is the result of manipulating a pthread_mutex_t struct outside of the pthread library code. The pthread_mutex_t struct seems to have a global linked list pointer member that can get changed by other threads. Therefore, saving and restoring the contents of a pthread_mutex_t struct is a bad thing. Thanks to Thomas Airmont for finding this obscure regression. * Don't overwrite the struct ast_lock_track.reentr_mutex member to restore tracking data in __ast_cond_wait() and __ast_cond_timedwait(). The pthread_mutex_t struct must be treated as a read-only opaque variable. Miscellaneous other items fixed by this patch: * Match ast_suspend_lock_info() with ast_restore_lock_info() in __ast_cond_timedwait(). * Made some uninitialized lock sanity checks return EINVAL and try a DO_THREAD_CRASH. * Fix bad canlog initialization expressions. ASTERISK-24614 #close Reported by: Thomas Airmont Review: https://reviewboard.asterisk.org/r/4247/ Review: https://reviewboard.asterisk.org/r/2826/ ........ Merged revisions 429539 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@429541 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago |