don't crash on setvar (issue #5760)
[asterisk/asterisk.git] / ChangeLog
1 2005-11-15  Russell Bryant <russell@digium.com>
2
3         * manager.c: Don't crash on a SetVar action if the channel name is not set, or variable's value is not set (issue #5760)
4
5         * doc/README.variables: Add application exit status variables
6
7 2005-11-14  Josh Roberson <josh@asteirasgi.com>
8         
9         * manager.c: Fix crash on variable passing from AMI originate (issue #5737)
10
11 2005-11-14  Russell Bryant  <russell@digium.com>
12
13         * many files: Merge doxygen documentation updates. (issue #5605)
14
15         * apps/app_dial.c: Fix typo in RetryDial description.
16
17 2005-11-12  Russell Bryant  <russell@digium.com>
18
19         * channels/chan_oss.c: Fix a typo in an error message.
20
21 2005-11-11  Kevin P. Fleming  <kpfleming@digium.com>
22
23         * Asterisk 1.2.0-rc2 released.
24         
25 2005-11-11  Kevin P. Fleming  <kpfleming@digium.com>
26
27         * channels/chan_sip.c (thread_safe_rand): ensure that threads don't get the same random number (issue #5712)
28
29         * apps/app_voicemail.c (forward_message): correct bugs in message forwarding (issue #5718)
30         (copy_message): use correct path for locking (issue #5704)
31
32         * apps/app_dial.c (wait_for_answer): correct flag copying for automon feature (issue #5720)
33
34         * channels/chan_iax2.c: correct comment
35
36         * apps/app_voicemail.c (close_mailbox): correct previous commit (issue #5663)
37         (vm_change_password): fix password change writing (issue #5721)
38
39         * channels/chan_sip.c (transmit_invite): remove useless debug message; don't try to add OSP tokens to OPTIONS pings
40
41         * apps/app_voicemail.c (close_mailbox): properly remove deleted messages at mailbox close time (issue #5663)
42
43 2005-11-11  Mark Spencer <markster@digium.com>
44
45         * channels/chan_zap.c (zt_bridge): only enable/disable DTMF detection on SUB_REAL channels
46
47 2005-11-10  Kevin P. Fleming  <kpfleming@digium.com>
48
49         * channels/chan_iax2.c: ensure that system headers that provide basic types are included first (issue #5713)
50
51 2005-11-11  Russell Bryant  <russell@digium.com>
52
53         * many files in apps/: Clean up application descriptions. Clarify some wording and make sure they wrap at 80 characters.
54
55 2005-11-10  Mark Spencer <markster@digium.com>
56
57         * rtp.c (ast_rtp_raw_write): use unsigned int for return value from calc_txstamp() (issue #5595)
58         (calc_txstamp): never return a value that was less than zero before being turned into 'unsigned int' (issue #5595)
59
60 2005-11-10  Kevin P. Fleming  <kpfleming@digium.com>
61
62         * include/asterisk/chanspy.h: move spy-related stuff into separate header so chan_h323 can build (issue #5590)
63
64         * include/asterisk/linkedlists.h (AST_LIST_HEAD_SET_NOLOCK): properly initialize tail pointer when list head is directly set (issue #5669)
65
66         * app.c (ast_app_parse_options): ok, so we aren't all perfect... let's make the while loop actually work properly here (issue #5684)
67
68         * apps/app_disa.c (disa_exec): correct password file parsing (issue #5676)
69
70         * apps/app_meetme.c (conf_run): don't restrict admin users from joining a locked conference (issue #5680)
71
72         * channels/chan_misdn.c: include stdio.h (issue #5671)
73         * channels/chan_misdn_config.c: fix prototype warning (issue #5671)
74
75         * pbx.c: remove apps that were deprecated before 1.0 was released (issue #5673)
76
77         * apps/app_striplsd.c, apps/app_substring.c: remove apps that were deprecated before 1.0 was released (issue #5673)
78
79         * include/asterisk/lock.h (PTHREAD_MUTEX_RECURSIVE_NP): work around header problems on Cygwin (issue #5668)
80
81         * pbx/pbx_ael.c: handle switch default cases inside macros properly (issue #5354)
82
83         * configs/voicemail.conf.sample (format): add strong warning about changing format list when mailboxes contain messages (issue #5689)
84
85         * many files: ensure that system headers are included before Asterisk headers (issue #5693)
86
87         * channels/chan_iax2.c (complete_iax2_show_peer): don't return from function without releasing lock (issue #5685)
88
89         * channels/iax2-provision.c (iax_provision_reload): don't leak memory (issue #5700)
90
91         * pbx/pbx_ael.c (handle_macro): don't leak memory (issue #5701)
92         (handle_context): ditto
93
94         * res/res_features.c (load_config): properly initialize referenced variable (issue #5703)
95
96         * apps/app_queue.c (rqm_exec): correct segfault problem (issue #5705)
97         (aqm_exec): ditto
98
99         * app.c (ast_app_parse_options): don't increment 's' until after checking for NULL (related to issue #5630)
100
101         * apps/app_rpt.c: solve a memory leak (config structure was not freed) (issue #5706)
102
103 2005-11-10  Russell Bryant <russell@digium.com>
104
105         * app.c (ast_app_separate_args): Don't consider the open parenthesis as part of the arguments to an option. (issue #5630)
106
107         * many files: Change all references to ast_separate_app_args to ast_app_separate_args
108
109         * many files in apps/: Clean up some application descriptions. Make sure all descriptions in changed files are wrapped at 80 characters.
110
111 2005-11-09  Russell Bryant <russell@digium.com>
112
113         * pbx.c: Clean up descriptions of built-in dialplan applications. Changes include clearer wording and not referring to return values.
114
115 2005-11-09  Kevin P. Fleming  <kpfleming@digium.com>
116
117         * channels/chan_iax2.c (update_registry): don't complain about unspecifed registration expiration intervals, just use the minimum
118
119 2005-11-08  Kevin P. Fleming  <kpfleming@digium.com>
120
121         * Asterisk 1.2.0-rc1 released.
122
123         * include/asterisk/file.h: add test to ensure that stdio.h is included before this file (issue #5658)
124
125         * res/res_odbc.c (odbc_prepare_and_execute): add new API call for use to properly handle prepared statements across server disconnects (issue #5563)
126
127         * pbx.c (pbx_substitute_variables_helper_full): use already-substituted buffer for parsing variable name (issue #5664)
128
129         * channels/chan_zap.c (zt_request): return AST_CAUSE_CONGESTION when a group-channel is requested and the group exists but all channels are busy (issue #3360, related fix)
130         * channels/chan_iax2.c (create_addr): treat UNREACHABLE as AST_CAUSE_UNREGISTERED so that it will generate CHANUNAVAIL from app_dial (issue #3360)
131
132         * res/res_features.c (ast_bridge_call_thread_launch): set SCHED_RR separately from thread creation, so it won't fail when running as non-root (issue #5601, different fix)
133
134         * pbx.c (pbx_builtin_pushvar_helper): add new API function for setting variables that can exist multiple times (issue #2720)
135         * apps/Makefile (APPS): add app_stack (issue #2720)
136         * apps/app_stack.c: new applications (issue #2720)
137
138         * apps/app_meetme.c: fix two audio delay problems related to using non-Zap channels in conferences (issues #3599 and #4252)
139         * configs/meetme.conf.sample: add documentation of new 'audiobuffers' setting to control buffering on incoming audio from non-Zap channels
140
141         * channels/chan_local.c (local_call): move channel variables from incoming to outgoing instead of inheriting them (issue #5604)
142
143         * many files: add explicit include of stdio.h (issue #5650)
144
145 2005-11-07  Kevin P. Fleming  <kpfleming@digium.com>
146
147         * UPGRADE.txt (Parking): add note about new parking behavior (issue #5532)
148
149         * many files: more Cygwin compatibility, and proper getloadavg() prototype/macro (issue #5569)
150
151         * include/asterisk/lock.h (__ast_pthread_mutex_lock): correct build with DETECT_DEADLOCKS defined (issue #5570)
152
153 2005-11-07  Russell Bryant  <russell@digium.com>
154
155         * apps/app_queue.c: upgrade to new arg/option API and implement priority jumping control (issue #5580)
156         * many files: Add missing include of stdio.h, and remove some duplicate and unused header includes
157
158         * include/asterisk/app.h: Increment the arg_index in the options structure to fix applicaiton options that have arguments to them
159
160 2005-11-07  Kevin P. Fleming  <kpfleming@digium.com>
161
162         * cryptostub.c: include necessary headers
163         * include/asterisk/crypto.h: don't include unnecessary headers
164
165         * manager.c (action_setvar): add support for setting global variables (issue #5571)
166
167         * Makefile: correct cross-compilation issue introduced in Cygwin patches (issue #5572)
168
169         * apps/app_voicemail.c: upgrade to new arg/option API and implement priority jumping control (issue #5649)
170
171         * asterisk.c (main): setpriority() failure is not a reason to stop the process (issue #5581)
172
173         * say.c (ast_say_date_with_format_da): say hours properly (issue #5576)
174
175         * manager.c (astman_get_variables): restore old multiple-variable behavior for "Variable" header (issue #5585)
176
177         * many files: don't check for NULL before calling ast_strlen_zero, it can do it itself (issue #5648)
178
179         * pbx.c (handle_show_hints): use proper state-to-string function for hint state (issue #5583)
180
181         * rtp.c: use unsigned format for debug packet output (issue #5595)
182
183         * asterisk.c (main): force a dnsmgr background refresh after all other modules are initialized (issue #5599)
184         * dnsmgr.c: add ability to start a background refresh on demand (issue #5599)
185
186         * apps/app_dial.c (HANDLE_CAUSE): set CDR disposition to match cause code (issue #5602)
187
188         * asterisk.c: support 'runuser' and 'rungroup' options in asterisk.conf (issue #5621)
189
190         * res/Makefile, apps/Makefile, channels/Makefile, Makefile: support WITHOUT_ZAPTEL define to forcibly avoid building Zaptel support (issue #5634)
191
192         * Makefile: various fixes (issue #5633)
193
194         * apps/app_osplookup.c: upgrade to new arg/option API and implement priority jumping control
195
196         * channels/chan_misdn.c: various fixes (issue #5639)
197         * channels/misdn/isdn_lib.c: various fixes (issue #5639)
198
199         * apps/app_playback.c: upgrade to new arg/option API and implement priority jumping control
200
201         * apps/app_privacy.c: upgrade to new arg/option API and implement priority jumping control
202
203         * apps/app_sendtext.c: upgrade to new arg/option API and implement priority jumping control
204
205         * apps/app_transfer.c: upgrade to new arg/option API and implement priority jumping control
206
207         * apps/app_txtcidname.c: upgrade to new arg/option API and implement priority jumping control
208
209         * Makefile: restore function of 'dont-optimize'
210
211         * config.c (config_text_file_load): don't generate log message when stat() fails
212
213         * many files: clean up application documentation to not refer to return values, since they cannot be used in the dialplan (work done by Neil Lewis)
214
215 2005-11-06  Russell Bryant <russell@digium.com>
216
217         * many files: alphabetize options in applicaiton descriptions
218
219         * channels/chan_iax2.c: Use an enum to define iax peer/user flags as well as the pvt structure state.  Use the ast_flags macros for checking or setting the state.
220
221         * sounds.txt: Add missing words from the description of the vm-opts prompt
222
223         * apps/app_externalivr.c: Add a space that fixes building on older versions of gcc
224
225         * many files: Add doxygen updates to categorize modules into groups. Convert a lot of comments over to doxygen style. Add some text giving a basic overview of channels.
226
227         * many files: Update applications to add an exit status variable, make priority jumping optional, and use new args parsing macros
228
229         * pbx.c cdr.c res/res_features.c apps/app_dial.c include/asterisk/cdr.h: Convert some built-in applications to use new args parsing macros.  Change ast_cdr_reset to take a pointer to an ast_flags structure instead of an integer for flags.
230
231         * channels/chan_agent.c: Don't loop forever on an invalid options string
232
233         * apps/app_disa.c apps/app_forkcdr.c: Fix to use correct arguments to ast_cdr_reset
234
235 2005-11-05  Kevin P. Fleming  <kpfleming@digium.com>
236
237         * Makefile: don't rebuild asterisk/build.h unless the asterisk binary is going to be relinked for some other reason (stops spurious recompile/link every time 'make' is issued); clean up variable substitutions to use consistent syntax
238         * asterisk.c: don't include asterisk/build.h (it's unnecessary)
239         * cli.c: don't include asterisk/build.h, use extern references to buildinfo.c
240         * buildinfo.c: new file to hold version info strings
241
242 2005-11-04  Kevin P. Fleming  <kpfleming@digium.com>
243
244         * apps/app_mixmonitor.c (mixmonitor_exec): correct app name in an error message
245
246 2005-11-04  Russell Bryant  <russell@digium.com>
247
248         * channels/chan_iax2.c: Create a function that stores a peer's status in a given buffer.  Use this function in "iax2 show peers" and "iax2 show peer <peername>".  Also, add the peer's status as an option to the IAXPEER dialplan function.
249
250 2005-11-04  Kevin P. Fleming  <kpfleming@digium.com>
251
252         * include/asterisk/compiler.h: don't try to use always_inline on old compilers
253
254 2005-11-03  Russell Bryant  <russell@digium.com>
255
256         * res/res_agi.c: initialize buffer for result so that the contents are always valid in the response to GET FULL VARIABLE
257
258 2005-11-03  Kevin P. Fleming  <kpfleming@digium.com>
259
260         * doc/README.variables: document DYNAMIC_FEATURES
261
262         * res/res_features.c (ast_bridge_call): remove unused variables
263
264         * apps/app_dial.c (dial_exec_full): simplify options and flag usage
265
266         * include/asterisk/app.h: re-work application arg/option parsing APIs for consistent naming, add doxygen docs for option API
267         * many files: update to new APIs
268
269 2005-11-02  Kevin P. Fleming  <kpfleming@digium.com>
270
271         * apps/app_dial.c (dial_exec_full): convert to use API calls for argument/option parsing
272
273         * include/asterisk/channel.h: add doxygen docs for silence generator APIs
274
275         * channel.c (ast_channel_bridge): simplify native-bridge return logic, remove 'unsuccessful' message since it causes too many questions :-)
276
277 2005-11-01  Kevin P. Fleming  <kpfleming@digium.com>
278
279         * stdtime/localtime.c: fix build failure on uClibc systems (issue #5558)
280         * devicestate.c: same
281
282         * many files: make chan_misdn actually build (issue #5566)
283
284         * many files: more Cygwin build system support (issue #4678)
285
286         * apps/app_parkandannounce.c (parkandannounce_exec): supply parent channel to ast_request_and_dial so channel variables can be inherited (issue #5564)
287         * include/asterisk/channel.h: add parent_channel field
288         * channel.c (__ast_request_and_dial): use parent_channel field to inherit variables into new channel
289
290         * apps/app_cut.c (cut_internal): use ast_app_separate_args() instead of open code (issue #5560)
291
292         * apps/app_mixmonitor.c (launch_monitor_thread): ast_strlen_zero can handle NULL input (issue #5561)
293         (mixmonitor_exec): same
294
295         * res/res_features.c (ast_feature_request_and_dial): ensure that channel variables are inherited from the channel placing the call (issue #5499)
296
297         * utils.c (getloadavg): change to using _BSD_SOURCE as the indicator for whether this function is present or not (issue #5549)
298         
299         * include/asterisk/utils.h (ast_slinear_saturated_add): force to be inlined whenever possible
300         (ast_slinear_saturated_multiply): same
301         (ast_slinear_saturated_divide): same
302         (inaddrcmp): same
303         * include/asterisk/strings.h (ast_strlen_zero): force to be inlined whenever possible
304         * include/asterisk/compiler.h (force_inline): add macro to force inlining of functions
305         
306         * app.c (ast_play_and_record): use ast_silence_generator during recording if requested
307         * asterisk.c: add global option to enable silence-during-record (issue #5135)
308         * channel.c (silence_generator_alloc): new
309         (silence_generator_release): new
310         (silence_generator_generate): new
311         (ast_channel_start_silence_generator): new API call to start generating silence on a channel
312         (ast_channel_stop_silence_generator): parallel call to stop silence generation
313         * apps/app_record.c (record_exec): use ast_silence_generator during recording if requested
314
315 2005-11-01  Kevin P. Fleming  <kpfleming@digium.com>
316
317         * Asterisk 1.2.0-beta2 released.
318