asterisk/main
George Joseph 93894d53c4 config: bug: fix truncation of included config files on permissions error
ast_config_text_file_save() currently truncates include files as they
are processed.  If a subsequent include file or the main config file has
a permissions error that prevents writing, earlier include files are left
truncated resulting in a frantic search for backups.

This patch causes ast_config_text_file_save to check for write access
on all files before it truncates any of them.

Will be applied 1.8 > trunk.

Tested by: George Joseph
Review: https://reviewboard.asterisk.org/r/3986/
........

Merged revisions 422900 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 422903 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 422904 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 422905 from http://svn.asterisk.org/svn/asterisk/branches/13


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-10 16:07:04 +00:00
..
editline memory leaks: Memory leak cleanup patch by Corey Farrell (first set) 2013-10-23 20:10:30 +00:00
stdtime Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
Makefile main/Makefile: fix compilation error of buildinfo occurring on 'make install' 2014-07-04 15:26:58 +00:00
abstract_jb.c datastores: Audit ast_channel_datastore_remove usage. 2014-07-28 18:58:43 +00:00
acl.c pjsip cli: Change Identify to show CIDR notation instead of netmasks. 2014-06-19 20:13:20 +00:00
adsi.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
alaw.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
aoc.c stasis: Reduce creation of channel snapshots to improve performance 2014-06-13 18:24:49 +00:00
app.c ARI: Fix implicit answer when playback is initiated on unanswered channel 2014-08-21 15:25:25 +00:00
ast_expr2.c Allow the REALTIME() function to report errors back to the caller. 2012-07-11 17:16:50 +00:00
ast_expr2.fl Avoid cppcheck warnings; removing unused vars and a bit of cleanup. 2012-04-17 18:57:40 +00:00
ast_expr2.h Allow the REALTIME() function to report errors back to the caller. 2012-07-11 17:16:50 +00:00
ast_expr2.y Multiple revisions 360356-360357 2012-03-24 02:42:42 +00:00
ast_expr2f.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
asterisk.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
asterisk.dynamics Fix error loading res_monitor. 2014-04-23 15:02:39 +00:00
asterisk.exports.in Add _IO_stdin_used in version-script to fix SIGBUSes on Sparc. 2013-08-22 08:26:55 +00:00
astfd.c Unregister CLI commands on exit 2013-08-20 15:36:10 +00:00
astmm.c MALLOC_DEBUG: Change fence magic number to be completely different from the freed magic number. 2013-09-09 23:29:44 +00:00
astobj2.c astobj2: assert on invalid ref and backtrace cleanup 2014-07-18 17:55:38 +00:00
astobj2_container.c ao2_container node object ignores REF_DEBUG in all places except one 2014-06-25 18:57:04 +00:00
astobj2_container_private.h astobj2: Additional refactoring to push impl specific code down into the impls. 2014-06-20 15:27:43 +00:00
astobj2_hash.c astobj2: Additional refactoring to push impl specific code down into the impls. 2014-06-20 15:27:43 +00:00
astobj2_private.h astobj2: Additional refactoring to push impl specific code down into the impls. 2014-06-20 15:27:43 +00:00
astobj2_rbtree.c astobj2: Additional refactoring to push impl specific code down into the impls. 2014-06-20 15:27:43 +00:00
audiohook.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
autochan.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
autoservice.c autoservice: stop thread on graceful shutdown 2014-06-09 03:50:45 +00:00
backtrace.c Fix memory corruption when trying to get "core show locks". 2013-08-23 18:07:40 +00:00
bridge.c chan_pjsip: Update media translation paths when new SDP negotiated. 2014-08-20 22:52:44 +00:00
bridge_after.c Bridges: Fix feature interruption/unintended kick caused by external actions 2014-08-13 16:24:37 +00:00
bridge_basic.c Stasis: Convey transfer information to applications 2014-08-07 15:30:19 +00:00
bridge_channel.c chan_pjsip: Update media translation paths when new SDP negotiated. 2014-08-20 22:52:44 +00:00
bridge_roles.c ARI: bridges/{bridgeID}/addChannel: add roles parameter 2013-08-05 16:59:13 +00:00
bucket.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
buildinfo.c fix a few small things found by using sparse 2008-10-30 16:49:02 +00:00
callerid.c CallerID: Fix parsing of malformed callerid 2014-08-27 15:39:35 +00:00
ccss.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
cdr.c main/cdr: Copy over location information during a fork 2014-09-06 22:50:24 +00:00
cel.c cel: Make sure channels in extra fields include their unique IDs as well 2014-08-14 19:21:51 +00:00
channel.c chan_pjsip: Update media translation paths when new SDP negotiated. 2014-08-20 22:52:44 +00:00
channel_internal_api.c channel_internal_api.c: Replace some code with ao2_replace(). 2014-08-14 16:01:39 +00:00
chanvars.c ast_free() is null tollerant. 2013-08-28 16:09:12 +00:00
cli.c Call IDs: Fix appearance of call ID in core show channels when NULL 2014-09-05 19:39:04 +00:00
codec.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
codec_builtin.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
config.c config: bug: fix truncation of included config files on permissions error 2014-09-10 16:07:04 +00:00
config_options.c AMI: Allow for command response documentation 2014-07-24 13:00:59 +00:00
core_local.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
core_unreal.c accountcode: Slightly change accountcode propagation. 2014-07-24 22:48:38 +00:00
crypt.c Fix utils directory breakage. 2013-07-04 13:06:15 +00:00
cygload.c Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
data.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
datastore.c This is no longer needed. 2013-06-29 00:18:57 +00:00
db.c core/db: Revert Patch Added In Attempt To Improve I/O Performance 2014-07-24 21:01:37 +00:00
devicestate.c devicestate.c: Minor tweaks 2014-09-05 17:45:03 +00:00
dial.c Dial API: Add a dial option to indicate the dialed channel will replace dialer 2014-09-05 20:22:12 +00:00
dns.c Clean up files that do not end with newlines 2014-08-21 14:52:28 +00:00
dnsmgr.c Migrate a large number of AMI events over to Stasis-Core 2013-05-24 20:44:07 +00:00
dsp.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
ecdisa.h Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
endpoints.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
enum.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
event.c event.c: Fix type mismatch errors in ie_maps[]. 2014-06-27 23:21:44 +00:00
features.c Documentation: doc fixes across various parts of the code for ASTERISK issues 23061,23028,23046,23027 2014-01-17 17:16:14 +00:00
features_config.c feature_config: insure featuregroups and applicationmaps are initialized 2014-07-18 17:40:54 +00:00
file.c chan_pjsip: Update media translation paths when new SDP negotiated. 2014-08-20 22:52:44 +00:00
fixedjitterbuf.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fixedjitterbuf.h Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
format.c chan_iax2: Fix a crash that occurs when using allow=all for an IAX2 peer 2014-08-05 13:59:53 +00:00
format_cache.c Clean up files that do not end with newlines 2014-08-21 14:52:28 +00:00
format_cap.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
format_compatibility.c chan_iax2: Several media format fixes. 2014-08-07 18:51:16 +00:00
frame.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
framehook.c Bridges: Fix feature interruption/unintended kick caused by external actions 2014-08-13 16:24:37 +00:00
fskmodem.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fskmodem_float.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fskmodem_int.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
global_datastores.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
hashtab.c Fix utilities compilation/linking. 2013-08-16 16:26:11 +00:00
heap.c Fix incorrect usages of ast_realloc(). 2013-09-10 18:05:47 +00:00
http.c HTTP: Fix build for gcc 4.10 2014-07-07 01:10:55 +00:00
image.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
indications.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
io.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
jitterbuf.c jitterbuf: Fix memory leak on jitter buffer reset 2013-10-24 19:42:21 +00:00
json.c Multiple revisions 420089-420090,420097 2014-08-05 21:44:09 +00:00
libasteriskssl.c Resolve memory leaks in TLS initialization and TLS client connections 2012-09-14 19:53:43 +00:00
libasteriskssl.exports.in Address OpenSSL initialization issues when using third-party libraries. 2012-01-30 21:21:16 +00:00
loader.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
lock.c Revert -r411073. It didn't help and blew up the system. 2014-03-25 15:47:17 +00:00
logger.c logger: Don't store verbose-magic in the log files. 2014-08-13 07:54:10 +00:00
manager.c Manager: Require read permission for SYSTEM in order to send FullyBooted 2014-09-04 22:05:41 +00:00
manager_bridges.c AMI: Allow for command response documentation 2014-07-24 13:00:59 +00:00
manager_channels.c Improve call forwarding reporting, especially with regards to ARI. 2014-08-18 00:57:01 +00:00
manager_endpoints.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
manager_mwi.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
manager_system.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
md5.c md5: supress some compiler warnings. 2012-04-28 01:33:49 +00:00
media_index.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
message.c main/message: Add a new-line to a DEBUG message 2014-08-22 14:09:07 +00:00
mixmonitor.c Removed quotes from svn:keywords props on a few files. 2013-07-29 17:51:25 +00:00
named_acl.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
netsock.c Move eid functions to utils.c, mark netsock.h deprecated 2014-06-24 02:50:15 +00:00
netsock2.c pjsip cli: Change Identify to show CIDR notation instead of netmasks. 2014-06-19 20:13:20 +00:00
optional_api.c Logger/CLI/etc.: Fix some aesthetic issues; reduce chatty verbose messages 2014-05-28 22:54:12 +00:00
parking.c res_pjsip_refer: Fix bugs involving Parking/PJSIP/transfers 2014-05-22 15:52:30 +00:00
pbx.c Bridges: Fix feature interruption/unintended kick caused by external actions 2014-08-13 16:24:37 +00:00
pickup.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
plc.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
poll.c Merged revisions 285268 via svnmerge from 2010-09-07 19:09:08 +00:00
presencestate.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
privacy.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
rtp_engine.c main/rtp_engine: Format NTP timestamps as unsigned ints 2014-09-06 22:22:34 +00:00
say.c app_voicemail, say: Add support for Japanese Language 2014-06-30 04:00:19 +00:00
sched.c sched: Fix typo and whitespace change. 2014-08-28 00:16:01 +00:00
sdp_srtp.c Recorded merge of revisions 417677 from http://svn.asterisk.org/svn/asterisk/branches/11 2014-06-30 19:51:28 +00:00
security_events.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
sem.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
sha1.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
sip_api.c Don't make chan_sip export global symbols. 2012-10-11 15:49:02 +00:00
slinfactory.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
smoother.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
sorcery.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
sounds_index.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
srv.c Removed #if checks for crazy old versions of OS X. 2013-05-08 20:25:28 +00:00
stasis.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
stasis_bridges.c Stasis: Add information to blind transfer event 2014-08-20 13:06:33 +00:00
stasis_cache.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
stasis_cache_pattern.c stasis: use ao2_t_alloc for certain object allocators 2014-07-18 19:55:24 +00:00
stasis_channels.c Improve call forwarding reporting, especially with regards to ARI. 2014-08-18 00:57:01 +00:00
stasis_endpoints.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
stasis_message.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
stasis_message_router.c stasis: fix call to ao2_t_alloc for stasis_message_router_create 2014-07-18 21:25:14 +00:00
stasis_system.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
strcompat.c Add builtin roundf() for systems lacking it. 2013-01-19 20:54:07 +00:00
strings.c Add support for RFC 4662 resource list subscriptions. 2014-08-07 19:26:32 +00:00
stun.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
syslog.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
taskprocessor.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
tcptls.c tcptls: Avoid compiler warning on non-dev-mode. 2014-08-11 09:55:13 +00:00
tdd.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
term.c Revamp of terminal color codes 2013-02-14 18:47:56 +00:00
test.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
threadpool.c Fix threadpool rapid growth problem. 2013-06-20 16:29:35 +00:00
threadstorage.c Unregister CLI commands on exit 2013-08-20 15:36:10 +00:00
timing.c timing: Improve performance for most timing implementations. 2014-02-07 20:01:45 +00:00
translate.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
udptl.c udptl: Correct FEC to not consider negative sequence numbers as missing 2014-06-26 12:24:25 +00:00
ulaw.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
uri.c uri: Quiet warning about type qualifiers ignored on function return type 2014-08-21 14:42:12 +00:00
utils.c CallerID: Fix parsing of malformed callerid 2014-08-27 15:39:35 +00:00
uuid.c Add an \extref doxygen pointer for libuuid. 2013-04-26 20:32:11 +00:00
xml.c Detect and use xsltCleanupGlobals when available 2013-10-03 18:00:15 +00:00
xmldoc.c xmldocs: Add support for an <example> tag in the Asterisk XML Documentation 2014-07-31 11:49:40 +00:00