/
ChangeLog
6905 lines (4577 loc) · 271 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2009-11-30 Leif Madsen <lmadsen@digium.com>
* Asterisk 1.2.37 released
* AST-2009-010
2009-11-04 Leif Madsen <lmadsen@digium.com>
* Asterisk 1.2.36 released
* AST-2009-008
2009-09-03 Leif Madsen <lmadsen@digium.com>
* Asterisk 1.2.35 released
* AST-2009-006
2009-09-03 19:37 +0000 [r216005-216087] Russell Bryant <russell@digium.com>
* UPGRADE.txt: Fix a typo.
* UPGRADE.txt: Add a note about IAX2 to UPGRADE.txt.
* doc/IAX2-security.pdf (added): Add IAX2 security document related
to AST-2009-006.
2009-09-03 16:57 +0000 [r215958] David Vossel <dvossel@digium.com>
* Makefile, configs/iax.conf.sample, include/asterisk/acl.h, sha1.c
(added), channels/iax2-parser.h, include/asterisk/utils.h, acl.c,
utils.c, include/asterisk/astobj2.h, channels/iax2.h, astobj2.c,
channels/chan_iax2.c, channels/iax2-parser.c,
include/asterisk/sha1.h (added): Merge code associated with
AST-2009-006 (closes issue #12912) Reported by: rathaus Tested
by: tilghman, russell, dvossel, dbrooks
2009-08-18 20:24 +0000 [r212903-212907] Kevin P. Fleming <kpfleming@digium.com>
* sounds/moh/fpm-calm-river.mp3 (removed),
sounds/moh/macroform-cold_day.mp3 (added),
sounds/moh/macroform-robot_dity.mp3 (added), CREDITS, README.fpm
(removed), sounds/moh/fpm-world-mix.mp3 (removed),
sounds/moh/manolo_camp-morning_coffee.mp3 (added),
sounds/moh/LICENSE, README.opsound (added),
sounds/moh/macroform-the_simplicity.mp3 (added),
sounds/moh/reno_project-system.mp3 (added),
sounds/moh/fpm-sunshine.mp3 (removed): Convert this branch to
Opsound music-on-hold. For more details:
http://blogs.digium.com/2009/08/18/asterisk-music-on-hold-changes/
* /: remove extraneous property
2009-06-05 Tilghman Lesher <tlesher@digium.com>
* Asterisk 1.2.34 released
2009-08-10 19:13 +0000 [r211526-211527] Tilghman Lesher <tlesher@digium.com>
* channels/misdn_config.c, frame.c, utils/frame.c,
pbx/pbx_loopback.c, channels/chan_phone.c, apps/app_osplookup.c,
pbx/pbx_spool.c, channels/chan_skinny.c, res/res_agi.c,
indications.c, cli.c, channel.c, cdr.c, apps/app_groupcount.c,
channels/chan_mgcp.c, manager.c, apps/app_adsiprog.c,
apps/app_dial.c, channels/chan_zap.c, channels/chan_sip.c,
apps/app_privacy.c, apps/app_waitforsilence.c,
codecs/codec_speex.c, channels/chan_agent.c, funcs/func_math.c,
apps/app_disa.c, channels/iax2-provision.c, pbx/dundi-parser.c,
apps/app_talkdetect.c, apps/app_queue.c, pbx.c, dnsmgr.c,
apps/app_math.c, Makefile, apps/app_waitforring.c,
apps/app_zapbarge.c, apps/app_cut.c, channels/chan_misdn.c,
acl.c, channels/chan_h323.c, res/res_osp.c, apps/app_macro.c,
apps/app_sms.c, pbx/pbx_dundi.c, pbx/pbx_config.c,
apps/app_verbose.c, apps/app_chanspy.c, apps/app_mixmonitor.c,
apps/app_voicemail.c, channels/chan_vpb.c, apps/app_readfile.c,
muted.c, /, apps/app_meetme.c, res/res_features.c,
apps/app_record.c, apps/app_sayunixtime.c, funcs/func_strings.c,
apps/app_random.c, apps/app_alarmreceiver.c, asterisk.c,
channels/chan_modem.c, channels/chan_iax2.c: AST-2009-005
2009-07-14 14:45 +0000 [r206384] Russell Bryant <russell@digium.com>
* channels/chan_iax2.c: Ensure apathetic replies are sent out on
the proper socket. chan_iax2 supports multiple address bindings.
The send_apathetic_reply() function did not attempt to send its
response on the same socket that the incoming message came in on.
2009-06-05 Leif Madsen <lmadsen@digium.com>
* Asterisk 1.2.33 released
2009-06-04 18:57 +0000 [r199137] David Vossel <dvossel@digium.com>
* channels/chan_iax2.c: Additional updates to AST-2009-001
2009-06-04 David Vossel <dvossel@digium.com>
* channels/chan_iax2.c, apps/app_chanspy.c: Fixes REGAUTH loop
related to AST-2009-001, also addresses a small compile time
error in app_chanspy.c.
2009-04-02 Leif Madsen <lmadsen@digium.com>
* Asterisk 1.2.32 released
2009-04-02 17:02 +0000 [r186056] Tilghman Lesher <tlesher@digium.com>
* channels/chan_sip.c, configs/sip.conf.sample: Fix for
AST-2009-003
2009-01-23 Leif Madsen <lmadsen@digium.com>
* Asterisk 1.2.31.1 released
2009-01-23 19:19 +0000 [r170580] Tilghman Lesher <tlesher@digium.com>
* channels/chan_iax2.c: Updates to AST-2009-001
2009-01-15 01:15 +0000 [r168632] Tilghman Lesher <tlesher@digium.com>
* channels/chan_iax2.c: 1.2 regression on security fix AST-2009-001
2009-01-09 22:10 +0000 [r168197] Kevin P. Fleming <kpfleming@digium.com>
* sounds/LICENSE (added): add license for Allison Smith prompts
(AST-162)
2009-01-06 Leif Madsen <lmadsen@digium.com>
* Asterisk 1.2.31 released
2009-01-06 20:44 +0000 [r167259] Tilghman Lesher <tlesher@digium.com>
* channels/chan_iax2.c: Security fix AST-2009-001.
2008-12-10 Tilghman Lesher <tlesher@digium.com>
* Asterisk 1.2.30.4 released
2008-12-10 21:06 +0000 [r162868] Tilghman Lesher <tlesher@digium.com>
* channels/chan_iax2.c: Fix for AST-2008-012
2008-12-05 20:50 +0000 [r161421] Sean Bright <sean.bright@gmail.com>
* include/asterisk/astobj2.h, astobj2.c: Fix build errors on
FreeBSD (uint -> unsigned int). (closes issue #14006) Reported
by: alphaque Patches: astobj2.h-patch uploaded by alphaque
(license 259) (Slightly modified by seanbright)
2008-12-01 Tilghman Lesher <tlesher@digium.com>
* Asterisk 1.2.30.3 released
2008-11-25 21:37 +0000 [r159245] Tilghman Lesher <tlesher@digium.com>
* channels/chan_iax2.c: Regression fix for last security fix. Set
the iseqno correctly. (closes issue #13918) Reported by:
ffloimair Patches: 20081119__bug13918.diff.txt uploaded by
Corydon76 (license 14) Tested by: ffloimair
2008-08-09 Tilghman Lesher <tlesher@digium.com>
* Asterisk 1.2.30.2 released
2008-08-09 15:24 +0000 [r136945] Tilghman Lesher <tlesher@digium.com>
* include/asterisk/compat.h, include/asterisk/astobj2.h: Regression
fixes for Solaris
2008-07-25 15:00 +0000 [r133577] Russell Bryant <russell@digium.com>
* LICENSE: Fix the IAX2 URI for calling Digium
2008-07-23 Tilghman Lesher <tlesher@digium.com>
* Asterisk 1.2.30.1 released
2008-07-24 03:46 +0000 [r133360] Tilghman Lesher <tlesher@digium.com>
* channels/chan_iax2.c: This part was not correctly patched for
AST-2008-010.
2008-07-22 Russell Bryant <russell@digium.com>
* Asterisk 1.2.30 released
2008-07-22 21:14 +0000 [r132711] Tilghman Lesher <tlesher@digium.com>
* configs/iax.conf.sample, channels/chan_iax2.c: Fixes for
AST-2008-010 and AST-2008-011
2008-06-03 Russell Bryant <russell@digium.com>
* Asterisk 1.2.29 released
2008-06-03 19:30 +0000 [r120109] Joshua Colp <jcolp@digium.com>
* channels/chan_sip.c: Copy the From header into a variable so that
pedantic SIP handling does not try to mess with a NULL pointer.
(AST-2008-008) (closes issue #12607) Reported by: hooi
2008-05-30 12:49 +0000 [r119008-119237] Russell Bryant <russell@digium.com>
* channels/chan_iax2.c: - Instead of only enforcing destination
call number checking on an ACK, check all full frames except for
PING and LAGRQ, which may be sent by older versions too quickly
to contain the destination call number. (As suggested by Tim
Panton on the asterisk-dev list) - Merge changes from
team/russell/iax2-frame-race, which prevents PING and LAGRQ from
being sent before the destination call number is known.
* channels/chan_iax2.c: Merge changes from
team/russell/iax2-another-fix-to-the-fix As described in the
following post to the asterisk-dev mailing list, only enforce
destination call numbers when processing an ACK.
http://lists.digium.com/pipermail/asterisk-dev/2008-May/033217.html
2008-05-21 Russell Bryant <russell@digium.com>
* Asterisk 1.2.28.1 released
2008-05-08 19:14 +0000 [r115564] Russell Bryant <russell@digium.com>
* channels/chan_iax2.c: Fix a race condition that bbryant just
found while doing some IAX2 testing. He was running Asterisk
trunk running IAX2 calls through a few Asterisk boxes, however,
the audio was extremely choppy. We looked at a packet trace and
saw a storm of INVAL and VNAK frames being sent from one box to
another. It turned out that what had happened was that one box
tried to send a CONTROL frame before the 3 way handshake had
completed. So, that frame did not include the destination call
number, because it didn't have it yet. Part of our recent work
for security issues included an additional check to ensure that
frames that are supposed to include the destination call number
have the correct one. This caused the frame to be rejected with
an INVAL. The frame would get retransmitted for forever, rejected
every time ... This race condition exists in all versions that
got the security changes, in theory. However, it is really only
likely that this would cause a problem in Asterisk trunk. There
was a control frame being sent (SRCUPDATE) at the _very_
beginning of the call, which does not exist in 1.2 or 1.4.
However, I am fixing all versions that could potentially be
affected by the introduced race condition. These changes are what
bbryant and I came up with to fix the issue. Instead of simply
dropping control frames that get sent before the handshake is
complete, the code attempts to wait a little while, since in most
cases, the handshake will complete very quickly. If it doesn't
complete after yielding for a little while, then the frame gets
dropped.
2008-05-07 16:22 +0000 [r115511] Russell Bryant <russell@digium.com>
* include/asterisk/dlinkedlists.h (removed), channels/chan_iax2.c:
Remove remnants of dlinkedlists. I didn't actually use them in
the final version of my IAX2 improvements.
2008-05-06 19:54 +0000 [r115421] Jason Parker <jparker@digium.com>
* contrib/scripts/get_ilbc_source.sh: read requires an argument on
some non-bash shells (closes issue #12593) Reported by: bkruse
Patches: getilbc.sh_12593_v1.diff uploaded by bkruse (license
132)
2008-05-05 17:53 +0000 [r115296] Russell Bryant <russell@digium.com>
* Makefile, include/asterisk/astobj2.h (added), astobj2.c (added),
include/asterisk/dlinkedlists.h (added), channels/chan_iax2.c:
Merge changes from team/russell/iax2_find_callno_1.2 These
changes address a critical performance issue introduced in the
latest release. The fix for the latest security issue included a
change that made Asterisk randomly choose call numbers to make
them more difficult to guess by attackers. However, due to some
inefficient (this is by far, an understatement) code, when
Asterisk chose high call numbers, chan_iax2 became unusable after
just a small number of calls. On a small embedded platform, it
would not be able to handle a single call. On my Intel Core 2 Duo
@ 2.33 GHz, I couldn't run more than about 16 IAX2 channels.
Ouch. These changes address some performance issues of the
find_callno() function that have bothered me for a very long
time. On every incoming media frame, it iterated through every
possible call number trying to find a matching active call. This
involved a mutex lock and unlock for each call number checked.
So, if the random call number chosen was 20000, then every media
frame would cause 20000 locks and unlocks. Previously, this
problem was not as obvious since Asterisk always chose the lowest
call number it could. A second container for IAX2 pvt structs has
been added. It is an astobj2 hash table. When we know the remote
side's call number, the pvt goes into the hash table with a hash
value of the remote side's call number. Then, lookups for
incoming media frames are a very fast hash lookup instead of an
absolutely insane array traversal. In a quick test, I was able to
get more than 3600% more IAX2 channels on my machine with these
changes.
2008-04-29 12:52 +0000 [r114822] Kevin P. Fleming <kpfleming@digium.com>
* contrib/scripts/get_ilbc_source.sh: stop script from appending
source code if run multiple times
2008-04-22 Russell Bryant <russell@digium.com>
* Asterisk 1.2.28 released
2008-04-22 22:20 +0000 [r114561] Russell Bryant <russell@digium.com>
* channels/chan_iax2.c: When we receive a full frame that is
supposed to contain our call number, ensure that it has the
correct one. (closes issue #10078) (AST-2008-006)
2008-03-26 19:49 +0000 [r110869-111125] Kevin P. Fleming <kpfleming@digium.com>
* UPGRADE.txt: update UPGRADE notes to document usage of the script
* contrib/scripts/get_ilbc_source.sh (added), codecs/ilbc: add a
script to make getting the iLBC source code simple for end users
* codecs/ilbc/StateConstructW.h (removed), codecs/ilbc/packing.h
(removed), codecs/ilbc/getCBvec.c (removed),
codecs/ilbc/LPCdecode.c (removed), codecs/ilbc/enhancer.c
(removed), codecs/ilbc/lsf.c (removed), codecs/ilbc/iLBC_encode.c
(removed), codecs/ilbc/getCBvec.h (removed),
codecs/ilbc/LPCdecode.h (removed), codecs/ilbc/enhancer.h
(removed), codecs/ilbc/FrameClassify.c (removed),
codecs/ilbc/iLBC_define.h (removed), codecs/ilbc/lsf.h (removed),
codecs/ilbc/iLBC_encode.h (removed), codecs/ilbc/FrameClassify.h
(removed), codecs/ilbc/helpfun.c (removed), codecs/ilbc/doCPLC.c
(removed), codecs/ilbc/anaFilter.c (removed),
codecs/ilbc/helpfun.h (removed), codecs/ilbc/createCB.c
(removed), codecs/ilbc/doCPLC.h (removed),
codecs/ilbc/anaFilter.h (removed), UPGRADE.txt,
codecs/ilbc/iLBC_decode.c (removed), codecs/ilbc/constants.c
(removed), codecs/ilbc/createCB.h (removed),
codecs/ilbc/iLBC_decode.h (removed), codecs/ilbc/constants.h
(removed), codecs/ilbc/iCBSearch.c (removed),
codecs/ilbc/filter.c (removed), codecs/ilbc/gainquant.c
(removed), codecs/ilbc/hpInput.c (removed),
codecs/ilbc/hpOutput.c (removed), codecs/ilbc/iCBSearch.h
(removed), codecs/ilbc/filter.h (removed), codecs/ilbc/hpInput.h
(removed), codecs/ilbc/gainquant.h (removed),
codecs/ilbc/LPCencode.c (removed), codecs/ilbc/hpOutput.h
(removed), codecs/ilbc/StateSearchW.c (removed),
codecs/ilbc/LPCencode.h (removed), codecs/ilbc/StateSearchW.h
(removed), codecs/ilbc/iCBConstruct.c (removed),
codecs/ilbc/syntFilter.c (removed), codecs/ilbc/iCBConstruct.h
(removed), codecs/ilbc/syntFilter.h (removed),
codecs/ilbc/StateConstructW.c (removed), codecs/ilbc/packing.c
(removed): due to licensing restrictions, we cannot distribute
the source code for iLBC encoding and decoding... so remove it,
and add instructions on how the user can obtain it themselves
2008-03-20 21:53 +0000 [r110335] Russell Bryant <russell@digium.com>
* channels/chan_sip.c, channels/chan_iax2.c: Fix some very broken
code that was introduced in 1.2.26 as a part of the security fix.
The dnsmgr is not appropriate here. The dnsmgr takes a pointer to
an address structure that a background thread continuously
updates. However, in these cases, a stack variable was passed.
That means that the dnsmgr thread would be continuously writing
to bogus memory.
2008-03-18 Russell Bryant <russell@digium.com>
* Asterisk 1.2.27 released
2008-03-18 16:27 +0000 [r109488] Terry Wilson <twilson@digium.com>
* include/asterisk/astobj.h: Fix character string being treated as
format string
2008-03-18 15:08 +0000 [r109391] Jason Parker <jparker@digium.com>
* channels/chan_sip.c: Do not return with a successful
authentication if the From header ends up empty. (AST-2008-003)
2008-01-22 Russell Bryant <russell@digium.com>
* Asterisk 1.2.26.2 released
2008-01-07 20:46 +0000 [r96931] Russell Bryant <russell@digium.com>
* configs/extensions.conf.sample: Change misery.digium.com to
pbx.digium.com
2007-12-23 01:30 +0000 [r94661] Tilghman Lesher <tlesher@digium.com>
* channels/chan_sip.c: Fix for fix for security fix (third time's
the charm?)
2007-12-20 Russell Bryant <russell@digium.com>
* Asterisk 1.2.26.1 released
2007-12-20 20:21 +0000 [r94214-94255] Russell Bryant <russell@digium.com>
* channels/chan_iax2.c: Fix another potential seg fault ... (closes
issue #11606) Reported by: dimas
* channels/chan_iax2.c: Fix a couple of places where it's possible
to dereference a NULL pointer.
2007-12-18 Russell Bryant <russell@digium.com>
* Asterisk 1.2.26 released
2007-12-18 18:44 +0000 [r93667-93675] Tilghman Lesher <tlesher@digium.com>
* channels/chan_sip.c, channels/chan_iax2.c: Fixing AST-2007-027
(Closes issue #11119)
2007-11-29 Russell Bryant <russell@digium.com>
* Asterisk 1.2.25 released
2007-11-29 21:10 +0000 [r90170] Tilghman Lesher <tlesher@digium.com>
* cdr/cdr_pgsql.c: Properly escape src and dst fields (Fixes
AST-2007-026)
2007-09-13 18:10 +0000 [r82334] Kevin P. Fleming <kpfleming@digium.com>
* LICENSE: clarify the OpenSSL and OpenH323 license exceptions
2007-08-07 Russell Bryant <russell@digium.com>
* Asterisk 1.2.24 released
2007-08-07 17:44 +0000 [r78370] Russell Bryant <russell@digium.com>
* channels/chan_zap.c: Revert patch committed for issue #9660. It
broke E&M trunks. (closes issue #10360) (closes issue #10364)
2007-08-02 17:56 +0000 [r77942] Steve Murphy <murf@digium.com>
* fskmodem.c: This patch hopefully solves 10141; The user is
running with it, and it doesn't appear to harm asterisk's
operation, and may prevent a crash. I'll store it in 1.2, as we
have shut down support on 1.2, but since I developed the patch
before support finished, and it might affect 1.4 and trunk, I'm
going ahead with it.
2007-07-31 19:19 +0000 [r77842] Steve Murphy <murf@digium.com>
* contrib/scripts/ast_grab_core: This probably isn't super-general,
but it's a first stab at using kill -11 to generate a core file
instead of gcore.
2007-07-30 18:40 +0000 [r77782] Tilghman Lesher <tilghman@mail.jeffandtilghman.com>
* res/res_agi.c: Revert change in revision 71656, even though it
fixed a bug, because many people were depending upon the (broken)
behavior.
2007-07-30 14:50 +0000 [r77767] Joshua Colp <jcolp@digium.com>
* apps/app_macro.c: (closes issue #10334) Reported by: ramonpeek
Pass through the return value from macro_exec through the MacroIf
application.
2007-07-25 00:07 +0000 [r76978] Steve Murphy <murf@digium.com>
* channels/chan_zap.c: this fixes bug 10293, where the error
message because defaultzone or loadzone was not defined was
confusing
2007-07-24 22:11 +0000 [r76934] Tilghman Lesher <tilghman@mail.jeffandtilghman.com>
* include/asterisk/lock.h: Oops, res contains the error code, not
errno. I was wondering why a mutex was reporting "No such file or
directory"...
2007-07-24 Jason Parker <jparker@digium.com>
* Asterisk 1.2.23 released
2007-07-24 16:32 +0000 [r76802] Jason Parker <jparker@digium.com>
* channels/chan_iax2.c: Don't create the Asterisk channel until we
are starting the PBX on it. (ASA-2007-018)
2007-07-23 18:28 +0000 [r76560-76653] Joshua Colp <jcolp@digium.com>
* channels/chan_agent.c: (closes issue #5866) Reported by: tyler Do
not force channel format changes when a generator is present. The
generator may have changed the formats itself and changing them
back would cause issues.
* channels/chan_sip.c: (closes issue #10236) Reported by: homesick
Patches: rpid_1.4_75840.patch uploaded by homesick (license 91)
Accept Remote Party ID on guest calls.
2007-07-22 21:39 +0000 [r76409] Tilghman Lesher <tilghman@mail.jeffandtilghman.com>
* include/asterisk/app.h: We should not use C++ reserved words in
API headers (closes issue #10266)
2007-07-21 02:01 +0000 [r76226] Russell Bryant <russell@digium.com>
* channels/chan_sip.c: Backport a fix for a memory leak that was
fixed in trunk in reivision 76221 by rizzo. The memory used for
the localaddr list was not freed during a configuration reload.
2007-07-20 17:16 +0000 [r76080] Joshua Colp <jcolp@digium.com>
* channels/chan_sip.c: (closes issue #10247) Reported by:
fkasumovic Patches: chan_sip.patch uploaded by fkasumovic
(license #101) Drop any peer realm authentication entries when
reloading so multiple entries do not get added to the peer.
2007-07-19 15:49 +0000 [r75757-75927] Russell Bryant <russell@digium.com>
* channels/chan_iax2.c: When processing full frames, take sequence
number wraparound into account when deciding whether or not we
need to request retransmissions by sending a VNAK. This code
could cause VNAKs to be sent erroneously in some cases, and to
not be sent in other cases when it should have been. (closes
issue #10237, reported and patched by mihai)
* channels/chan_iax2.c: When traversing the queue of frames for
possible retransmission after receiving a VNAK, handle sequence
number wraparound so that all frames that should be retransmitted
actually do get retransmitted. (issue #10227, reported and
patched by mihai)
2007-07-18 20:31 +0000 [r75748] Tilghman Lesher <tilghman@mail.jeffandtilghman.com>
* apps/app_voicemail.c: Store prior to copy (closes issue #10193)
2007-07-18 17:48 +0000 [r75657] Dwayne M. Hubbard <dhubbard@digium.com>
* apps/app_queue.c: removed the word 'pissed' from ast_log(...)
function call for BE-90
2007-07-17 Russell Bryant <russell@digium.com>
* Asterisk 1.2.22 released
2007-07-17 20:57 +0000 [r75440-75449] Russell Bryant <russell@digium.com>
* channels/chan_skinny.c: Properly check for the length in the
skinny packet to prevent an invalid memcpy. (ASA-2007-016)
* channels/iax2-parser.h, channels/chan_iax2.c,
channels/iax2-parser.c: Ensure that when encoding the contents of
an ast_frame into an iax_frame, that the size of the destination
buffer is known in the iax_frame so that code won't write past
the end of the allocated buffer when sending outgoing frames.
(ASA-2007-014)
* channels/chan_iax2.c: After parsing information elements in IAX
frames, set the data length to zero, so that code later on does
not think it has data to copy. (ASA-2007-015)
2007-07-16 20:46 +0000 [r75251-75304] Kevin P. Fleming <kpfleming@digium.com>
* dns.c: provide proper copyright/license attribution for this
structure that was copied from a BSD-licensed header file long,
long ago...
* Makefile: install the LICENSE file along with the music files
* sounds/fpm-world-mix.mp3 (removed), sounds/moh/fpm-calm-river.mp3
(added), Makefile, sounds/moh (added),
sounds/moh/fpm-world-mix.mp3 (added), sounds/moh/LICENSE (added),
sounds/fpm-sunshine.mp3 (removed), sounds/moh/fpm-sunshine.mp3
(added), sounds/fpm-calm-river.mp3 (removed): move FreePlayMusic
files into a subdirectory, and include a license statement for
them
2007-07-13 20:35 +0000 [r75107] Russell Bryant <russell@digium.com>
* res/res_musiconhold.c: Fix a couple potential minor memory leaks.
load_moh_classes() could return without destroying the loaded
configuration.
2007-07-13 20:10 +0000 [r75066] Mark Michelson <mmichelson@digium.com>
* apps/app_chanspy.c: Fixed an issue where chanspy flags were
uninitialized if no options were passed. What triggered this
investigation was an IRC chat where some people's quiet flags
were set while others' weren't even though none of them had
specified the q option.
2007-07-13 20:07 +0000 [r75052-75059] Russell Bryant <russell@digium.com>
* res/res_musiconhold.c: Ensure that adding a user to the list of
users of a specific music on hold class is not done at the same
time as any of the other operations on this list to prevent list
corruption. Using the global moh_data lock for this is not ideal,
but it is what is used to protect these lists everywhere else in
the module, and I am only changing what is necessary to fix the
bug.
* channels/chan_zap.c: (closes issue #9660) Reported by: mmacvicar
Patches submitted by: bbryant, russell Tested by: mmacvicar,
marco, arcivanov, jmhunter, explidous When using a TDM400P (and
probably other analog cards) there was a chance that you could
hang up and pick the phone back up where it has been long enough
to be not considered a flash hook, but too soon such that the
device reports that it is busy and the person on the phone will
only hear silence. This patch makes chan_zap more tolerant of
this and gives the device a couple of seconds to succeed so the
person on the phone happily gets their dialtone.
2007-07-12 15:51 +0000 [r74814] Joshua Colp <jcolp@digium.com>
* res/res_musiconhold.c: Only print out a warning for situations
where it is actually helpful. (issue #10187 reported by denke)
2007-07-11 22:53 +0000 [r74766] Russell Bryant <russell@digium.com>
* channels/chan_iax2.c: The function make_trunk() can fail and
return -1 instead of a valid new call number. Fix the uses of
this function to handle this instead of treating it as the new
call number. This would cause a deadlock and memory corruption.
(possible cause of issue #9614 and others, patch by me)
2007-07-11 21:12 +0000 [r74719] Mark Michelson <mmichelson@digium.com>
* channels/chan_agent.c: The cli command "agent logoff Agent/x
soft" did not work...at all. Now it does. (closes issue #10178,
reported and patched by makoto, with slight modification for 1.4
and trunk by me)
2007-07-11 18:33 +0000 [r74656] Russell Bryant <russell@digium.com>
* res/res_config_odbc.c: Make sure that the ESCAPE immediately
follows the condition that uses LIKE. This fixes realtime
extensions with ODBC. (closes issue #10175, reported by stuarth,
patch by me)
2007-07-11 17:15 +0000 [r74587] Joshua Colp <jcolp@digium.com>
* channels/chan_phone.c, channels/Makefile: Use some Makefile magic
to determine if linux/compiler.h is present. (issue #10174
reported by francesco_r)
2007-07-10 19:57 +0000 [r74373-74427] Jason Parker <jparker@digium.com>
* apps/app_queue.c: Fix an issue where it was possible to have a
service level of over 100% Between the time recalc_holdtime and
update_queue was called, it was possible that the call could have
been hungup. Move both additions to the same place, so this won't
happen. Issue 10158, initial patch by makoto, modified by me.
* channels/chan_agent.c: Fix an issue with wrapuptime not working
when using AgentLogin. Issue 10169, patch by makoto, with a minor
mod by me to not re-break issue 9618
* dns.c: Use res_ndestroy on systems that have it. Otherwise, use
res_nclose. This prevents a memleak on NetBSD - and possibly
others. Issue 10133, patch by me, reported and tested by scw
2007-07-10 Russell Bryant <russell@digium.com>
* Asterisk 1.2.21.1 released
2007-07-10 15:37 +0000 [r74316] Jason Parker <jparker@digium.com>
* apps/app_voicemail.c: Fix a small typo in description in of
Voicemail() application. Issue 10170, patch by casper.
2007-07-10 15:30 +0000 [r74313] Russell Bryant <russell@digium.com>
* res/res_config_odbc.c: Only use ESCAPE when LIKE is used. (issue
#10075, this part reported by jmls on IRC, patch by me)
2007-07-10 14:48 +0000 [r74264] Joshua Colp <jcolp@digium.com>
* app.c: Ensure the group information category exists before trying
to do a string comparison with it. (issue #10171 reported by
mlegas)
2007-07-09 Russell Bryant <russell@digium.com>
* Asterisk 1.2.21 released
2007-07-09 21:00 +0000 [r74165] Russell Bryant <russell@digium.com>
* res/res_musiconhold.c: When the specified class isn't found,
properly fall back to the channel's music class or the default.
(issue #10123, reported by blitzrage, patches from juggie, qwell,
and me)
2007-07-09 20:18 +0000 [r74158] Jason Parker <jparker@digium.com>
* channels/chan_zap.c: Several chan_zap options were not working on
reload because they were arbitrarily disallowed when reloading
some/most PRI options (such as signalling) was disallowed.
Options such as polarityonanswerdelay and answeronpolarityswitch
can safely be changed on a reload. This corrects that behavior.
Issue 9186, patch by tzafrir.
2007-07-06 23:01 +0000 [r73678-73768] Russell Bryant <russell@digium.com>
* channels/chan_sip.c: If a sip_pvt struct has already registered
an extension state callback, remove the old one before adding a
new one. If this isn't done, Asterisk will crash. (issue #10120)
* res/res_config_odbc.c: (closes issue #10075) Reported by: apsaras
Patches submitted by: Corydon76 Tested by: apsaras Fix a problem
with MSSQL 2005 by explicitly stating that '\' is being used as
an escape character.
* channels/chan_sip.c: (closes issue #10125) Reported by: makoto
Patches submitted by: makoto This fixes a crash in chan_sip that
happens when the bindaddr setting is not valid on Asterisk
startup, gets fixed, and then a reload gets issued.
2007-07-06 15:26 +0000 [r73674] Mark Michelson <mmichelson@digium.com>
* channels/chan_agent.c: Fixed a bug wherein agents get stuck busy.
(issue 9618, reported by jiddings, patched by moi) closes issue
#9618
2007-07-05 22:11 +0000 [r73547] Kevin P. Fleming <kpfleming@digium.com>
* channels/chan_sip.c: we shouldn't allow G.723.1 endpoints to use
VAD, just like we don't support it for G.729
2007-07-05 19:15 +0000 [r73315-73466] Joshua Colp <jcolp@digium.com>
* channels/chan_sip.c: Copy language information to the dialog
structure when calling a peer for situations where a PBX may be
started on the dialed channel. (issue #10121 reported by
clegall_proformatique)
* apps/app_chanspy.c, channel.c: Tweak spy locking. (issue #9951
reported by welles)
* channels/chan_local.c: Actually check to make sure a PBX was
started on one of the Local channels instead of blindly assuming
it was. (issue #10112 reported by makoto)
* apps/app_queue.c: Reset ServicelevelPerf variable back to 0 if we
are unable to calculate it each time... otherwise we will get
previous values. (issue #10117 reported by noriyuki)
2007-07-04 14:50 +0000 [r73207-73252] Christian Richter <christian.richter@beronet.com>
* channels/misdn/isdn_lib.c: bchannel configurations like
echocancel and volume control, need to be setuped on inbound
calls too.
* channels/chan_misdn.c: bad bug in overlapdial case, we called
start_pbx multiple times, because the state wasn't changed..
2007-07-03 12:34 +0000 [r73052] Tilghman Lesher <tilghman@mail.jeffandtilghman.com>
* apps/app_dial.c: RetryDial should accept a 0 argument, but it
does not, because atoi does not distinguish between 0 and error
(closes issue #10106)
2007-07-03 08:04 +0000 [r73004] Christian Richter <christian.richter@beronet.com>
* channels/chan_misdn.c: fixed issue, that misdn_l2l1_check could
only be called from mISDN Source channels.. #9449
2007-07-02 17:58 +0000 [r72924] Jason Parker <jparker@digium.com>
* say.c: Fix an issue with playing "oclock" multiple times in
French with 24 hour time format. Issue 10101
2007-07-01 23:51 +0000 [r72805] Russell Bryant <russell@digium.com>
* pbx/pbx_spool.c: When appending lines to call files to keep track
of retries, write a leading newline just in case the original
call file did not have a newline at the end. This fix is in
response to a problem I saw reported on the asterisk-users
mailing list.
2007-06-29 Russell Bryant <russell@digium.com>
* Asterisk 1.2.20 released
2007-06-29 16:30 +0000 [r72629] Russell Bryant <russell@digium.com>
* channels/chan_iax2.c: Backport changes that make chan_iax2 not
start the PBX on an incoming channel until the three-way call
setup is completed. These changes are already in 1.4 and trunk.
2007-06-29 13:08 +0000 [r72585] Christian Richter <christian.richter@beronet.com>
* channels/chan_misdn.c, channels/misdn/isdn_lib.c: check if the
bchannel stack id is already used, if so don't use it a second
time. Also added a release_chan lock, so that the same chan_list
object cannot be freed twice. chan_misdn does not crash anymore
on heavy load with these changes.
2007-06-27 23:24 +0000 [r72378] Joshua Colp <jcolp@digium.com>
* apps/app_mixmonitor.c: Update documentation to clarify variable
usage with MixMonitor. (issue #9494 reported by netoguy)
2007-06-27 23:22 +0000 [r72333-72373] Brett Bryant <bbryant@digium.com>
* asterisk.c: Reinstating patch. This actually fixes the problem,
however I was running a development branch without it and
mistakenly thought it wasn't fixed. Fixes issue #10010, and
#9654: 100% CPU usage caused by an asterisk console losing it's
controlling terminal.
* asterisk.c: Reverted changes for earlier revisions 72259 to
72261. Issue #9654, #10010
2007-06-27 22:43 +0000 [r72327] Joshua Colp <jcolp@digium.com>
* apps/app_queue.c: Fix issue where queue log events might be
missing. (issue #7765 reported by mtryfoss)
2007-06-27 21:06 +0000 [r72267] Russell Bryant <russell@digium.com>
* pbx/pbx_config.c: Fix a minor issue with parsing the priority
number. You could have as much whitespace as you want around a
numeric priority, but you couldn't have any whitespace around a
special priority like "n" or "hint". (issue #10039, reported by
mitheloc, fixed by me)
2007-06-27 20:43 +0000 [r72259] Brett Bryant <bbryant@digium.com>
* asterisk.c: Fixes 100% load when controlling terminal disappears.
Issue #9654, #10010
2007-06-27 20:23 +0000 [r72256] Joshua Colp <jcolp@digium.com>
* channel.c: I may possibly get shot for doing this... but... defer
CDR processing until after the channel has been dealt with. This
should eliminate all of the issues with channels going funky
(SIP/PRI) when you are posting CDRs to a database that is either
slow or unavailable and do not want to enable batching.
2007-06-27 18:40 +0000 [r72184] Jason Parker <jparker@digium.com>
* apps/app_voicemail.c: Fix another problem in voicemail with
missing symbols. Issue 10074, patch by kryptolus, extended to
include #if 0'd blocks (just in case)
2007-06-27 13:22 +0000 [r72040-72099] Christian Richter <christian.richter@beronet.com>
* channels/misdn/isdn_lib.h, channels/chan_misdn.c,
channels/misdn/isdn_msg_parser.c, channels/misdn/isdn_lib.c:
simplified generation for dummy bchannels, also we mark them as
dummies, so they are not used later as real-bchannels, optimized
the RESTART mechanisms, we block a channel now on cause:44, and
send out a RESTART automatically, then on reception of
RESTART_ACKNOWLEDGE we unblock the channel again.
* channels/misdn/isdn_lib.h, channels/misdn/isdn_lib.c: simplified
channel finding and locking a lot. removed unnecessary #ifdefed
areas.
* channels/misdn/isdn_lib.c: isdn_lib.c didn't compile
* channels/misdn/isdn_lib.c: for inbound TE calls, we setup the
bchannel when we get the CONNECT_ACKNOWLEDGE, to make sure mISDN
has everything ready. removed some #if 0 areas which weren't used
anymore.
2007-06-26 17:49 +0000 [r71847] Jason Parker <jparker@digium.com>
* Makefile: Don't try to install an init script that doesn't exist.
Reported to me on #asterisk on Freenode IRC.
2007-06-26 12:25 +0000 [r71656-71750] Tilghman Lesher <tilghman@mail.jeffandtilghman.com>
* apps/app_voicemail.c: Issue 10062 - Trying to move a message
without selecting one first results in memory corruption
* res/res_agi.c: Issue 10035 - handle_exec returns a result
inconsistent with all of the other AGI commands
2007-06-25 01:02 +0000 [r71414] Joshua Colp <jcolp@digium.com>
* channels/chan_sip.c: Ignore other URIs after the first in a 300
Multiple Choice response. (issue #10041 reported by homesick)
2007-06-24 20:04 +0000 [r71358] Russell Bryant <russell@digium.com>
* asterisk.c: Revert the patch from issue 9654 due to an unexpected
side effect
2007-06-24 17:32 +0000 [r71288] Tilghman Lesher <tilghman@mail.jeffandtilghman.com>
* manager.c, db.c: Issue 10043 - There is a legitimate need to be
able to set variables to the empty string.
2007-06-22 16:02 +0000 [r71124] Joshua Colp <jcolp@digium.com>
* res/res_features.c: Send an unhold indication when going off
hold. (issue #10036 reported by speedy)
2007-06-22 14:52 +0000 [r71065] Jason Parker <jparker@digium.com>
* file.c, res/res_agi.c: Fix a few silly usages of ast_playstream()
- it only ever returns 0... Issue 10035
2007-06-22 14:39 +0000 [r71064] Brett Bryant <bbryant@digium.com>
* asterisk.c: Fixed infinite loop when controlling terminal was
lost and return value of input function wasn't checked for
errors. This would cause 100% cpu to be taken up. (closes issue
#9654, issue #10010) Reported by: mnicholson, and eserra Idea for
the patch from mnicholson, patched by me
2007-06-21 22:29 +0000 [r70948] Steve Murphy <murf@digium.com>
* cdr.c: This little fix is in response to bug 10016, but may not
cure it. The code is wrong, clearly. In a situation where you set
the CDR's amaflags, and then ForkCDR, and then set the new CDR's
amaflags to some other value, you will see that all CDRs have had
their amaflags changed. This is not good. So I fixed it.
2007-06-21 21:37 +0000 [r70898] Joshua Colp <jcolp@digium.com>
* apps/app_voicemail.c: Don't explode if the gain option is
specified without a value. (issue #9274 reported by mfarver)
2007-06-21 19:13 +0000 [r70804] Steve Murphy <murf@digium.com>
* cdr/cdr_custom.c: it was pointed out that the cdr_custom config
load could get a lock, and under certain circumstances, would
never release it. I also noted that the situation where more than
one mapping spec was warned about, but did not ignore further
mappings as it had promised. I think I have fixed both
situations.
2007-06-21 13:11 +0000 [r70672] Christian Richter <christian.richter@beronet.com>
* channels/chan_misdn.c, channels/misdn/isdn_lib.c: we activate the
bchannels in TE mode on incoming calls only when we want to
connect the call.
2007-06-20 22:20 +0000 [r70551] Joshua Colp <jcolp@digium.com>
* channels/chan_sip.c: Don't overwrite the configured username
setting upon a REGISTER. (issue #8565 reported by jsmith)
2007-06-20 19:25 +0000 [r70444] Tilghman Lesher <tilghman@mail.jeffandtilghman.com>
* apps/app_dial.c: Issue 9997 - Timelimit times out the wrong
channel
2007-06-20 18:45 +0000 [r70396] Russell Bryant <russell@digium.com>
* channels/chan_zap.c: Fix a problem where an established call
would not be properly disconnected when a PRI disconnect is
received depending on which cause code was received. (issue
#9588, original patch by softins, updated patch from jtexter3,
and some additional feedback from mhardeman)
2007-06-20 15:42 +0000 [r70311-70342] Christian Richter <christian.richter@beronet.com>
* channels/misdn/isdn_lib.c: forgot one place ..
* channels/misdn/isdn_lib.h, channels/chan_misdn.c,
channels/misdn/isdn_lib.c: fixed a bug that was introduced by
copy and paste in the last commit ..bchannels weren't cleaned
properly.
* channels/misdn/isdn_lib.h, channels/chan_misdn.c,
channels/misdn/isdn_lib.c: on receiption of cause:44 we mark the
channel as in use and inform the user about the situation, we
need to test the RESTART stuff then. Also shuffled the
empty_chan_in_stack function after the bchannel cleaning
functions, to avoid race conditions.
2007-06-19 18:07 +0000 [r70053] Steve Murphy <murf@digium.com>
* channel.c: This fixes 9246, where channel variables are not
available in the 'h' exten, on a 'ZOMBIE' channel. The fix is to
consolidate the channel variables during a masquerade, and then
copy the merged variables back onto the clone, so the zombie has
the same vars that the 'original' has.
2007-06-19 17:00 +0000 [r69992] Joshua Colp <jcolp@digium.com>
* rtp.c: Handle the CC field in the RTP header. (issue #9384
reported by DoodleHu)
2007-06-19 16:45 +0000 [r69990] Russell Bryant <russell@digium.com>
* channels/chan_sip.c: Backport fix for crashes related to
subscriptions from 1.4 ... Fix a crash that could occur when
handing device state changes. When the state of a device changes,
the device state thread tells the extension state handling code
that it changed. Then, the extension state code calls the
callback in chan_sip so that it can update subscriptions to that
extension. A pointer to a sip_pvt structure is passed to this
function as the call which needs a NOTIFY sent. However, there
was no locking done to ensure that the pvt struct didn't
disappear during this process. (issue #9946, reported by
tdonahue, patch by me, patch updated to trunk to use the sip_pvt
lock wrappers by eliel)
2007-06-19 16:21 +0000 [r69894-69986] Joshua Colp <jcolp@digium.com>
* channel.c: Update BRIDGEPEER variable if set to the new channel
name when a masquerade happens. (issue #9699 reported by dimas)
* apps/app_meetme.c: Perform an extra hangup check just in case.