Commit Graph

149 Commits

Author SHA1 Message Date
Tilghman Lesher
c257ffeed0 Lose the CAP_NET_ADMIN at every fork, instead of at startup. Otherwise, if
Asterisk runs as a non-root user and the administrator does a 'restart now',
Asterisk loses the ability to set QOS on packets.
(closes issue #14004)
 Reported by: nemo
 Patches: 
       20090105__bug14004.diff.txt uploaded by Corydon76 (license 14)
 Tested by: Corydon76


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@172438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-29 22:54:29 +00:00
Russell Bryant
b28fcc36f2 Make this compile for mvanbaak
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@168198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-09 22:14:38 +00:00
Russell Bryant
acd0af78ea Re-work ref count handling of MoH classes using astobj2 to resolve crashes.
(closes issue #13566)
Reported by: igorcarneiro
Tested by: russell
Review: http://reviewboard.digium.com/r/106/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@166262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-22 14:45:27 +00:00
Jeff Peeler
e0bec5d67d (closes issue #13480)
Reported by: tzafrir

Replace a bunch of if defined checks for Zaptel/DAHDI through several new defines in dahdi_compat.h. This removes a lot of code duplication. Example from bug:

#ifdef HAVE_ZAPTEL
  fd = open("/dev/zap/pseudo", O_RDWR);
#else
  fd = open("/dev/dahdi/pseudo", O_RDWR);
#endif

is replaced with:
  fd = open(DAHDI_FILE_PSEUDO, O_RDRW);



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@165991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-19 19:48:00 +00:00
Russell Bryant
0d24c2ed92 Set the process group ID on the MOH process so that all children will get killed
(closes issue #14099)
Reported by: caspy
Patches:
      res_musiconhold.c.patch.killpg.try2 uploaded by caspy (license 645)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@165661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-18 18:52:18 +00:00
Russell Bryant
c6f1387e73 Don't try to change working directory if a directory was not configured.
(closes issue #14089)
Reported by: caspy


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@164605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-16 14:28:10 +00:00
Jeff Peeler
dda2438b03 Oops, inverted logic for a strcasecmp check. Pointed out by mmichelson, thanks!
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@162926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-10 22:52:51 +00:00
Jeff Peeler
90efa9de78 (closes issue #13229)
Reported by: clegall_proformatique

Ensure that moh_generate does not return prematurely before local_ast_moh_stop is called. Also, the sleep in mp3_spawn now only occurs for http locations since it seems to have been added originally only for failing media streams.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@162874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-10 22:04:18 +00:00
Kevin P. Fleming
add5ff5b05 fix a bunch of potential problems found by gcc 4.3.x, primarily bare strings being passed to printf()-like functions and ignored results from read()/write() and friends
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@153337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-01 18:22:39 +00:00
Jeff Peeler
a2266547c6 fixed dahdi compatability header from assuming either dahdi or zaptel is installed (may not have either)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-13 18:57:24 +00:00
Jeff Peeler
f9818af8dd Adds DAHDI support alongside Zaptel. DAHDI usage favored, but all Zap stuff should continue working. Release announcement to follow.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 19:08:20 +00:00
Jason Parker
00415742a5 Switch to using ast_random() rather than just rand().
This does not fix the bug reported, but I believe it is correct.

(from issue #12446)
Patches:
      bug_12446.diff uploaded by snuffy (license 35)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@115418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-06 19:34:58 +00:00
Jason Parker
02bd4cbebc Fix reload/unload for res_musiconhold module.
(closes issue #11575)
Reported by: sunder
Patches:
      M11575_14_rev3.diff uploaded by junky (license 177)
      bug11575_trunk.diff.txt uploaded by jamesgolovich (license 176)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-23 18:28:44 +00:00
Russell Bryant
e4ed5a76f1 Trivial change to read the number of samples from a frame before calling ast_write()
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-22 19:45:00 +00:00
Tilghman Lesher
0dc35f4e26 MOH usage information needs a terminating newline, or else
"asterisk -rx 'help moh reload'" will hang.  Reported via
-dev list, fixed by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-19 13:49:50 +00:00
Joshua Colp
ba782ce5f9 Add sanity checking for position resuming. We *have* to make sure that the position does not exceed the total number of files present, and we have to make sure that the position's filename is the same as previous. These values can change if a music class is reloaded and give unpredictable behavior.
(closes issue #11663)
Reported by: junky


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@110035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-19 19:11:33 +00:00
Jason Parker
503ca9f30c Fix a potential segfault if chan (or chan->music_state) is NULL.
Closes issue #12210, credit to edantie for pointing this out.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@108682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-14 14:29:05 +00:00
Russell Bryant
6e74f69b51 Fix init_classes() so that classes that actually do have files loaded aren't
treated as empty, and immediately destroyed ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 20:18:49 +00:00
Russell Bryant
3946288786 If someone were to delete the files used by an existing MOH class, and then
issue a reload, further use of that class could result in a crash due to
dividing by zero.  This set of changes fixes up some places to prevent this
from happening.

(closes issue #10948)
Reported by: jcomellas
Patches:
      res_musiconhold_division_by_zero.patch uploaded by jcomellas (license 282)
	  Additional changes added by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 18:20:07 +00:00
Joshua Colp
27a869e423 Fix randomness. save_pos was being set to 0 initially instead of -1, causing it to jump to position 0 when moh started.
(closes issue #10859)
Reported by: jamesgolovich
Patches:
      asterisk-mohpos2.diff.txt uploaded by jamesgolovich (license 176)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 13:57:42 +00:00
Russell Bryant
6e01a4ddaf (closes issue #10419)
Reported by: mustardman
Patches:
      asterisk-mohposition.diff.txt uploaded by jamesgolovich (license 176)

This patch fixes a few problems with music on hold.
 * Fix issues with starting at the beginning of a file when it shouldn't.
 * Fix the inuse counter to be decremented even if the class had not been
   set to be deleted when not in use anymore
 * Don't arbitrarily limit the number of MOH files to 255


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-27 16:16:25 +00:00
Russell Bryant
e24788d06f Fix a little race condition that could cause a crash if two channels had MOH
stopped at the same time that were using a class that had been marked for
deletion when its use count hits zero.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 22:32:33 +00:00
Russell Bryant
3301d70848 This patch fixes a bug where reloading the module with "module reload" did not
delete classes from memory that were no longer in the config.  This patch fixes
that problem as well as another one.  Previously, if you reloaded MOH using the
"moh reload" CLI command, which behaved differently than "module reload ...",
MOH had to be stopped on every channel and started again immediately.  However,
there was no way to tell what class was being used, so they would all fall back
to the default class.

(closes issue #10139)
Reported by: blitzrage
Patches: 
      asterisk-10139-advanced.diff.txt uploaded by jamesgolovich (license 176)
Tested by: jamesgolovich


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 22:24:25 +00:00
Russell Bryant
aa44ffb5c3 Merged revisions 75107 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75107 | russell | 2007-07-13 15:35:22 -0500 (Fri, 13 Jul 2007) | 3 lines

Fix a couple potential minor memory leaks.  load_moh_classes() could return
without destroying the loaded configuration.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-13 20:36:16 +00:00
Russell Bryant
e7afb1e237 Merged revisions 75059 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75059 | russell | 2007-07-13 15:07:21 -0500 (Fri, 13 Jul 2007) | 6 lines

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.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-13 20:10:40 +00:00
Joshua Colp
54b08bfe83 Merged revisions 74814 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r74814 | file | 2007-07-12 12:51:24 -0300 (Thu, 12 Jul 2007) | 2 lines

Only print out a warning for situations where it is actually helpful. (issue #10187 reported by denke)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-12 15:53:55 +00:00
Russell Bryant
3ddbe8e0b6 fix an uninitialized variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-10 16:00:11 +00:00
Russell Bryant
b4960ab566 (closes issue #10123)
Reported by: blitzrage
Patches submitted by: juggie, qwell, me
Tested by: blitzrage

When trying to find a music on hold class to use, try all of the options,
instead of only the first one that is set.  Also, change the MusicOnHold
applications to not hang up on the channel when a class can not be found.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-09 20:53:46 +00:00
Joshua Colp
9b42bff145 Merged revisions 53084 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53084 | file | 2007-02-01 15:03:10 -0600 (Thu, 01 Feb 2007) | 2 lines

Return previous behavior of having MOH pick up where it was left off. (issue #8672 reported by sinistermidget)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-01 21:11:28 +00:00
Joshua Colp
3290b0d37a Merged revisions 51512 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r51512 | file | 2007-01-22 20:41:35 -0500 (Mon, 22 Jan 2007) | 2 lines

Yield before reading from zaptel timing source under Solaris so that other threads get a chance to do things. (issue #7875 reported by bob)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@51513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-23 01:45:04 +00:00
Tilghman Lesher
cb95f19c3f Merged revisions 48374 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r48374 | tilghman | 2006-12-10 18:33:59 -0600 (Sun, 10 Dec 2006) | 5 lines

When doing a fork() and exec(), two problems existed (Issue 8086):
1) Ignored signals stayed ignored after the exec().
2) Signals could possibly fire between the fork() and exec(), causing Asterisk
signal handlers within the child to execute, which caused nasty race conditions.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-11 00:47:21 +00:00
Russell Bryant
34384acbc9 Merged revisions 48356 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r48356 | russell | 2006-12-07 13:14:13 -0500 (Thu, 07 Dec 2006) | 3 lines

Ensure that the file position is not incremented beyond the total number of
files available for playback.  (issue #8539, ulogic)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-07 18:17:28 +00:00
Tilghman Lesher
76d002db24 Merged revisions 48045 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r48045 | tilghman | 2006-11-27 11:15:54 -0600 (Mon, 27 Nov 2006) | 2 lines

Random MOH wasn't really random (bug 8381)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-27 17:20:37 +00:00
Russell Bryant
798bb964d1 Merged revisions 47238 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r47238 | russell | 2006-11-06 20:22:58 -0500 (Mon, 06 Nov 2006) | 5 lines

If random order is enabled for files mode music on hold, set a random initial
position, instead of always starting at the first file, and doing the random
operation only when switching to the next file.
(bug reported by John Lange on the asterisk-dev mailing list)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@47239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-07 01:25:10 +00:00
Tilghman Lesher
e05a2752e8 Reverse change of "show" to "list" and make several other commands more consistent with "category verb arguments"
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@47051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-02 23:00:20 +00:00
Russell Bryant
96e43ebee7 Merged revisions 46964 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r46964 | russell | 2006-11-02 12:47:56 -0500 (Thu, 02 Nov 2006) | 3 lines

ignore files in a music on hold directory that begin with '.'
(issue #8249, cboie)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@46965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-02 17:49:54 +00:00
Russell Bryant
d7f9b5f912 We should always be using _exit() after a fork() or vfork() instead of exit().
This is because exit() does some extra cleanup which in some implementations
of vfork(), for example, can actually modify the state of the parent process,
causing very weird bugs or crashes.  (issue #7971, Nick Gavrikov)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@46363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-27 17:39:31 +00:00
Kevin P. Fleming
ff05bf15c8 update thread creation code a bit
reduce standard thread stack size slightly to allow the pthreads library to allocate the stack+data and not overflow a power-of-2 allocation in the kernel and waste memory/address space
add a new stack size for 'background' threads (those that don't handle PBX calls) when LOW_MEMORY is defined


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@44378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-04 19:47:22 +00:00
Joshua Colp
d2d4833b79 Put in missing \ns on the end of ast_logs (issue #7936 reported by wojtekka)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@43933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-28 18:05:43 +00:00
Kevin P. Fleming
8b79aba992 do this fix properly :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-19 23:08:35 +00:00
Matthew Fredrickson
33ddb53663 Various updates from PCadach's chan_h323-live branch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-19 21:07:49 +00:00
Kevin P. Fleming
fcb999c01c merge qwell's CLI verbification work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18 19:54:18 +00:00
Jason Parker
2a3aaa9818 Fix a small typo I found.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-24 21:30:34 +00:00
Kevin P. Fleming
0a27d8bfe5 merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 02:11:39 +00:00
Joshua Colp
2410854b3c Merged revisions 38825 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38825 | file | 2006-08-03 15:54:02 -0400 (Thu, 03 Aug 2006) | 2 lines

Treat the file as invalid if we have no valid formats for it (issue #7643 reported by KNK)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-03 19:55:05 +00:00
Joshua Colp
bec319415f Merged revisions 38654 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38654 | file | 2006-08-01 15:20:05 -0400 (Tue, 01 Aug 2006) | 2 lines

Close the stream when file based MOH stop. This won't get rid of their position in the file but it will cause the translation path to be setup again. (issue #7634 reported by asimpson)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-01 19:21:30 +00:00
Kevin P. Fleming
6d0742fc16 merge Russell's 'hold_handling' branch, finally implementing music-on-hold handling the way it was decided at AstriDevCon Europe 2006 (and the way people really want it to be)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19 20:44:39 +00:00
Kevin P. Fleming
f761d2f6f0 prepare Asterisk for new zaptel.h/tonezone.h installation locations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-05 16:44:41 +00:00
Kevin P. Fleming
e61d3d91f3 The Eurostar Commit! (it's amazing how much work you can get done on a 150 minute train ride from Paris to London <G>)
support the new location for zaptel.h and tonezone.h
use the dependency information output by menuselect to build Makefile rules for each module for header files and libraries
combine the common rules into a top-level Makefile.rules file
remove all (now) unnecessary stuff from subdir Makefiles
change translator API so that the newpvt() callback returns an int instead of a pointer (it no longer allocates memory)
alphabetize --with-<foo> options in configure script
enhance Net-SNMP support in configure script to provide a --with-netsnmp option
fix support for --with-pq so that if pg-config is not found when --with-pq is specified, an error will be generated
add 'optional package' usage to modules now that menuselect can output it
allow res_snmp to build by default, since the new loader changes coming soon will solve the function naming problem (and users can disable it via menuselect anyway)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-24 19:43:31 +00:00
Kevin P. Fleming
b31b0be819 various minor portability fixes (mostly from tholo for OpenBSD)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-09 20:26:25 +00:00