Commit Graph

440 Commits

Author SHA1 Message Date
Brett Bryant d32c2d6fd9 Add new functionality to http server that requires manager authentication for any path that includes a directory named 'private'. This patch also
requires manager authentication for any POST's being sent to the server as well to help secure uploads.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-23 21:19:42 +00:00
Luigi Rizzo d5c75ee032 + Implement a variant of astman_get_header() to return the first or
last match, and possibly skip empty fields.  The function is useful
  (and used here) when a form submits multiple 'Action' fields to the
  Manager.

  This change slightly modifies the current behaviour, but only in the
  case the user supplies multiple 'Action: ' lines and the first
  ones are empty, so the change is totally harmless.
 
+ Fix style on a couple of "if (displayconnects)" statements;
 
+ Expand a bit the 'Manager Test' interface, to make it slightly
  more user friendly. But also comment that the HTML should not
  be embedded in the C source.
 
None of this stuff needs to be applied to 1.4.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-20 18:07:24 +00:00
Luigi Rizzo 18065a175d Use casts or intermediate variables to remove a number
of platform/compiler-dependent warnings when handing
struct timeval fields, both reading and printing them.

It is a lost battle to handle the different ways struct timeval
is handled on the various platforms and compilers, so try
to be pragmatic and go through int/long which are universally
supported.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-15 10:56:29 +00:00
Olle Johansson 29b1d73567 Add support for codec settings in originate via call file and manager.
This is to enable video and text in originated calls. Development sponsored
by Omnitor AB, Sweden. (http://www.omnitor.se)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 12:32:57 +00:00
Mark Michelson 7daebcd610 Adding support for "urgent" voicemail messages. Messages which are
marked "urgent" are considered to be higher priority than other messages
and so they will be played before any other messages in a user's mailbox.

There are two ways to leave an urgent message. 
1. send the 'U' option to VoiceMail().
2. Set review=yes in voicemail.conf. This will give instructions for 
   a caller to mark a message as urgent after the message has been recorded.

I have tested that this works correctly with file and ODBC storage, and James
Rothenberger (who wrote initial support for this feature) has tested its use
with IMAP storage.

(closes issue #11817)
Reported by: jaroth
	Based on branch http://svn.digium.com/svn/asterisk/team/jrothenberger/asterisk-urgent
Tested by: putnopvut, jaroth



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-09 21:22:42 +00:00
Tilghman Lesher 73581f3905 Optionally display the value of several variables within the Status command.
(Closes issue AST-34)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05 19:33:14 +00:00
Tilghman Lesher b5a127daac Modify TIMEOUT() to be accurate down to the millisecond.
(closes issue #10540)
 Reported by: spendergrass
 Patches: 
       20080417__bug10540.diff.txt uploaded by Corydon76 (license 14)
 Tested by: blitzrage


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-01 23:06:23 +00:00
Russell Bryant c0308de13e Merged revisions 114591 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114591 | russell | 2008-04-23 12:55:31 -0500 (Wed, 23 Apr 2008) | 5 lines

Store the manager session ID explicitly as 4 byte ID instead of a ulong.  The
mansession_id cookie is coded to be limited to 8 characters of hex, and this
could break logins from 64-bit machines in some cases.
(inspired by AST-20)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-23 18:01:00 +00:00
Russell Bryant a3f3613d66 Correct action_ping() and action_events() with regards to Manager 1.1
documentation.  Also, fix a bug in xml_translate().

(closes issue #11649)
Reported by: ys
Patches:
      trunk_manager.c.diff uploaded by ys (license 281)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-22 15:46:01 +00:00
Russell Bryant 0bb3c15606 Merged revisions 114284 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114284 | russell | 2008-04-18 16:48:06 -0500 (Fri, 18 Apr 2008) | 2 lines

Don't destroy a manager session if poll() returns an error of EAGAIN.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114285 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-18 21:51:05 +00:00
Mark Michelson 115d5024a1 Merged revisions 114051 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114051 | mmichelson | 2008-04-10 15:59:49 -0500 (Thu, 10 Apr 2008) | 3 lines

Fix 1.4 build when LOW_MEMORY is enabled.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-10 22:02:32 +00:00
Mark Michelson 2580dfc6fb Merged revisions 112468 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r112468 | mmichelson | 2008-04-02 12:36:04 -0500 (Wed, 02 Apr 2008) | 13 lines

Fix a race condition in the manager. It is possible that a new manager event
could be appended during a brief time when the manager is not waiting for input.
If an event comes during this period, we need to set an indicator that there is an
event pending so that the manager doesn't attempt to wait forever for an event that
already happened.

(closes issue #12354)
Reported by: bamby
Patches:
      manager_race_condition.diff uploaded by bamby (license 430)
	  (comments added by me)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@112469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-02 17:36:49 +00:00
Terry Wilson 1eb31edde2 Re-add HTTP post support by moving to res_http_post.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@112426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-02 15:25:48 +00:00
Tilghman Lesher ef4eff9a9b Add the "config reload <conffile>" command, which allows you to tell Asterisk
to reload any file that references a given configuration file.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26 18:39:06 +00:00
Mark Michelson 43d70915bb This ensures that the manager interface is not enabled by default. Prior to this
change, it was possible to start Asterisk with the manager interface enabled, then
either comment out the enabled option or make manager.conf unopenable and the manager
interface would still be enabled.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26 00:02:31 +00:00
Kevin P. Fleming 75cb5032e6 actually implement HTTP request dispatching based on both URI and method; reduce duplication of data when generating responses using ast_http_error()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109912 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-19 16:18:29 +00:00
Kevin P. Fleming e191b51a08 start the process of changing HTTP request dispatching to do it based on *both* URI and method, so that POST support can move into a module; move http.c's private function prototypes into _private.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 22:32:26 +00:00
Terry Wilson b02bc230af Go through and fix a bunch of places where character strings were being interpreted as format strings. Most of these changes are solely to make compiling with -Wsecurity and -Wformat=2 happy, and were not
actual problems, per se.  I also added format attributes to any printf wrapper functions I found that didn't have them.  -Wsecurity and -Wmissing-format-attribute added to --enable-dev-mode.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 15:43:34 +00:00
Joshua Colp 760fc3403c Make sure values are interpreted as character strings and not format strings.
(AST-2008-004)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 15:13:07 +00:00
Mark Michelson 963a2cec51 Make this compile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-13 21:47:55 +00:00
Mark Michelson d236e3d1b1 Fixing a potential buffer overflow in the manager command ModuleCheck.
Though this overflow is exploitable remotely, we are NOT issuing a security
advisory for this since in order to exploit the overflow, the attacker would
have to establish an authenticated manager session AND have the system privilege.
By gaining this privilege, the attacker already has more powerful weapons at his
disposal than overflowing a buffer with a malformed manager header, so the vulnerability
in this case really lies with the authentication method that allowed the attacker to 
gain the system privilege in the first place.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-13 20:59:00 +00:00
Russell Bryant 8bbef5f996 Rename ast_tcptls_server_instance to session_instance, since this pertains to
server and client usage.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-12 22:13:18 +00:00
Mark Michelson 2ed30d47e8 Adding the Atxfer manager command. With this, you may initiate
an attended transfer over AMI

(closes issue #10585)
Reported by: ornati
Patches:
      atxfer-trunk-r90428.diff uploaded by ornati (license 210)
	  (with modifications from me)
Tested by: putnopvut



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106236 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 22:33:05 +00:00
Mark Michelson 6cf6059402 There are several places in manager.c where BUFSIZ is used for a buffer
which will contain nowhere near that amount of data. This makes these buffers
more reasonably sized.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 23:24:56 +00:00
Tilghman Lesher cfc1df4c1a Whitespace changes only
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 23:04:29 +00:00
Russell Bryant 96e04792bd add a destroy API call for a server instance
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 22:28:03 +00:00
Russell Bryant cc55483858 More public API name changes to use an appropriate ast_ prefix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 22:23:21 +00:00
Russell Bryant efb1e30a38 Rename public object server_instance to ast_tcptls_server_instance
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 22:15:18 +00:00
Tilghman Lesher 133a18478c Merged revisions 104704 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r104704 | tilghman | 2008-02-27 12:15:10 -0600 (Wed, 27 Feb 2008) | 2 lines

Ensure the session ID can't be 0.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-27 18:20:35 +00:00
Russell Bryant 0036cde5f3 Rename version.h to ast_version.h. Next, I will be re-adding version.h as an
automatically generated file like it used to be.  This still needs to be there
for modules that have to check it to compile against multiple asterisk versions.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-26 20:02:14 +00:00
Tilghman Lesher f92a3e119e Move Originate to a separate privilege and require the additional System privilege to call out to a subshell.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-22 22:55:35 +00:00
Kevin P. Fleming 1a6711a42d Merged revisions 104015 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r104015 | kpfleming | 2008-02-21 08:33:51 -0600 (Thu, 21 Feb 2008) | 2 lines

reduce the likelihood that HTTP Manager session ids will consist of primarily '1' bits

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104016 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-21 14:44:04 +00:00
Jason Parker 2aa1c03667 Even more sane permissions. This should be handled via a umask, like in many other places.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-12 20:27:01 +00:00
Jason Parker 7dd21605f3 Use slight more sane permissions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-12 20:02:32 +00:00
Russell Bryant d42f6f7ce5 Fix build on *BSD. These permissions constants are not available there.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103387 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-12 15:16:39 +00:00
Jeff Peeler 16a14a4cd8 Requested changes from Pari, reviewed by Russell.
Added ability to retrieve list of categories in a config file.
Added ability to retrieve the content of a particular category.
Added ability to empty a context.
Created new action to create a new file.
Updated delete action to allow deletion by line number with respect to category.
Added new action insert to add new variable to category at specified line.
Updated action newcat to allow new category to be inserted in file above another existing category.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-12 00:24:36 +00:00
Joshua Colp c81350d6f6 Just some minor coding style cleanup...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-11 18:27:47 +00:00
Tilghman Lesher fa4c9a958b CoreSettings and CoreStatus are missing the terminating "\r\n". Also, some
miscellaneous spacing and initialization issues.
(closes issue #11909)
 Reported by: srt
 Patches: 
       patch-11909-2.diff uploaded by srt (license 378)
 Tested by: srt


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@102190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-03 17:40:48 +00:00
Russell Bryant b995c78c31 Merge changes from team/group/sip-tcptls
This set of changes introduces TCP and TLS support for chan_sip.  There are various
new options in configs/sip.conf.sample that are used to enable these features.  Also,
there is a document, doc/siptls.txt that describes some things in more detail.

This code was implemented by Brett Bryant and James Golovich.  It was reviewed
by Joshua Colp and myself.  A number of other people participated in the testing
of this code, but since it was done outside of the bug tracker, I do not have their
names.  If you were one of them, thanks a lot for the help!

(closes issue #4903, but with completely different code that what exists there.)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 22:04:33 +00:00
Joshua Colp e8dee9f956 Make sure the user's manager secret exists, even if it is blank.
(closes issue #11749)
Reported by: srt


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-14 20:01:19 +00:00
Tilghman Lesher 3968dd1c3d Conversion to load manager.conf into memory did not convert the password
functions correctly.  (Closes issue #11749)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-12 18:12:56 +00:00
Tilghman Lesher 247ca0a827 oops, missed the case of a 0 permission (which should mean everybody is allowed, not nobody)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 00:39:34 +00:00
Tilghman Lesher 857e3412f4 Several manager changes:
1) Add the Dialplan class, for NewExten and VarSet events, which should cut
down on the volume of traffic in the Call class.
2) Permit some commands to be run from multiple classes, such as allowing
DBGet to be run from either the System or the Reporting class.
3) Heavily document each class in the sample config, as there were several
that made no sense to be in the write= line, and two that made no sense to be
in the read= line (since they controlled no permissions there).

(Closes issue #10386)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 00:12:35 +00:00
Joshua Colp 96f5a494cf Move ModuleLoad and ModuleCheck manager commands from loader.c to manager.c. Previously they would get registered twice because of the way manager.c operates.
(closes issue #11699)
Reported by: caio1982
Patches:
      manager_module_commands1.diff uploaded by caio1982 (license 22)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@96858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-07 15:52:55 +00:00
Russell Bryant 54bc2c20b6 Now that the version.h file was getting properly regenerated every time the svn
revision changed, every module that used the version was getting rebuilt after
every svn update.  This severly annoyed me pretty quickly, so I have improved
the situation.

Now, instead of generating version.h, main/version.c is generated.  version.c
includes the version information, as well as a couple of API calls for modules
to retrieve the version.  So now, only version.c will get rebuilt, and the main
asterisk binary relinked, which is must faster than rebuilding http.c, manager.c,
asterisk.c, relinking the asterisk binary, chan_sip.c, func_version.c, res_agi ...

The only minor change in behavior here is that the version information reported by
chan_sip, for example, is the version of the Asterisk core, and not necessarily the
Asterisk version that the chan_sip module came from.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@96717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-05 22:09:06 +00:00
Kevin P. Fleming d756129b1d Merged revisions 94824 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r94824 | kpfleming | 2007-12-26 18:01:47 -0700 (Wed, 26 Dec 2007) | 2 lines

make this comment explain the situation in an even more explicit fashion

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-27 01:03:16 +00:00
Tilghman Lesher 2bed4ec968 Merged revisions 94808 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r94808 | tilghman | 2007-12-26 14:43:38 -0600 (Wed, 26 Dec 2007) | 6 lines

Workaround for what is probably a glibc bug (but we'll see this crop up again
and again, if we don't add the workaround).
Reported by: rolek
Patch by: tilghman
(Closes issue #11601, closes issue #11426)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-26 20:49:35 +00:00
Olle Johansson c92dafd551 Adding a new CLI command for "manager reload", which is important now that
you need to reload after changes. Thanks YS.

Reported by: ys
Patches: 
      trunk93163_manager_reload.c.diff uploaded by ys (license 281)
(related to issue #11414)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-16 13:35:09 +00:00
Olle Johansson 130fe4000a Change manager so that registered accounts are stored in memory. This opens for a
manager realtime implementation.

If you change accounts in manager.conf, you now need to reload to activate the
changes (deletions, additions). This was not the case with 1.4.

Reported by: ys
Patches: 
      trunk93163_manager_reload.c.diff uploaded by ys (license 281)
(closes issue #11414)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-16 13:32:48 +00:00
Mark Michelson 74577dd091 I needed to increment the numbers used on the VERBOSITY_ATLEAST calls by 1.
Thanks to kpfleming for pointing this out.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 19:19:07 +00:00
Mark Michelson 83f152b95c Changed VERBOSITY_LEVEL to VERBOSITY_ATLEAST to be more accurate.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 18:54:48 +00:00
Mark Michelson 4f75e15665 After reading Russell's e-mail to the dev list stating that checking option_verbose is not
equivalent to the check done by ast_verb, I wrote a macro, VERBOSITY_LEVEL, which does this
check. I did a quick look in the source and used this macro in some places where option_verbose
was used.

I also converted some verbose messages in logger.c to use ast_verb instead of ast_verbose.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 18:47:44 +00:00
Olle Johansson 814d0ed4f8 - The Ping Action
- Now use Response: success
        - New header "Ping: pong" :-)

- The Events action
        - Now use Response: Success
        - The new status is reported as "Events: On" or "Events: Off"

- Report if manager is enabled in the reload event

Small cleanups...

From moremanager


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91420 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 15:50:43 +00:00
Olle Johansson 7e38b474d9 Change description of new manager command
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 10:29:02 +00:00
Olle Johansson 5af2cf109e Add manager command for showing all current channels.
Thanks, eliel, for writing the original patch. Modified by me to follow
other manager events and the new "moremanager" style.

(closes issue #11478)
Reported by: eliel
Patches: 
      manager.c.patch uploaded by eliel (license 64)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 10:27:54 +00:00
Tilghman Lesher ce2f670228 Change cdr_manager to use a "CDR" level, rather than the (overcrowded) "call" level.
(Closes issue #11015)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-05 16:46:47 +00:00
Russell Bryant fac7480820 Merged revisions 90348 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90348 | russell | 2007-11-30 13:26:04 -0600 (Fri, 30 Nov 2007) | 8 lines

Change the behavior of ao2_link().  Previously, in inherited a reference.
Now, it automatically increases the reference count to reflect the reference
that is now held by the container.

This was done to be more consistent with ao2_unlink(), which automatically
releases the reference held by the container.  It also makes it so it is
no longer possible for a pointer to be invalid after ao2_link() returns.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-30 19:34:47 +00:00
Kevin P. Fleming c13ed407db restore behavior from the 1.4 branch... manager users created via users.conf should default to *all* permissions, not none
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-29 13:30:50 +00:00
Kevin P. Fleming 57c2bcca86 Merged revisions 90098 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90098 | kpfleming | 2007-11-28 16:30:46 -0600 (Wed, 28 Nov 2007) | 2 lines

it is impossible to set permissions for manager accounts created by users.conf (reported internally, patched by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-28 22:44:38 +00:00
Tilghman Lesher eac58d0fb3 Merged revisions 89536 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89536 | tilghman | 2007-11-23 11:18:26 -0600 (Fri, 23 Nov 2007) | 10 lines

Up until this point, the XML output of the manager has been technically
invalid, due to the repetition of certain parameters in a single event.
This caused various issues for XML parsers, some of which refused to parse
at all, given the invalidity of the rendered XML.  So this commit fixes
the XML output, ensuring that each entity parameter has a unique name, thus
ensuring valid XML.
Reported by: msetim
Patch by: tilghman
(Closes issue #10220)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-23 17:56:56 +00:00
Luigi Rizzo e0ff5fef5c remove a bunch of useless #include "options.h"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 23:09:02 +00:00
Luigi Rizzo a23c055c3d move asterisk/paths.h outside asterisk.h and into those files
who really need it.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-20 23:16:15 +00:00
Luigi Rizzo 915b97d300 move internal function declarations to include/asterisk/_private.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-20 22:18:21 +00:00
Luigi Rizzo 9335ace850 another bunch of include removals (errno.h and asterisk/logger.h)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 19:09:03 +00:00
Luigi Rizzo a0f06d0dd5 start using asterisk/network.h for network related headers.
Also remove some unnecessary includes.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 14:11:53 +00:00
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and
after this commit.

In this change:

use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h

Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.

Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 

For the time being I have left alone second-level directories
(main/db1-ast, etc.).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Mark Michelson fd7b3e7261 Fixing a problem pointed out by Qwell
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 19:51:47 +00:00
Mark Michelson 3107395445 Added some locks that should have been around astman_send_error,
at least according to the comments.

(closes issue #11258, reported and patched by eliel)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 19:41:15 +00:00
Luigi Rizzo 09d9cce1d8 access channel locks through ast_channel_lock/unlock/trylock and not
through ast_mutex primitives.

To detect all occurrences, I have renamed the lock field in struct ast_channel
so it is clear that it shouldn't be used directly.

There are some uses in res/res_features.c (see details of the diff)
that are error prone as they try and lock two channels without
caring about the order (or without explaining why it is safe).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 16:20:47 +00:00
Mark Michelson 6260590ec2 Merged revisions 89288 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89288 | mmichelson | 2007-11-15 08:57:28 -0600 (Thu, 15 Nov 2007) | 3 lines

Undoing previous commit since I realize it was wrong


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 14:58:30 +00:00
Mark Michelson eee4ed80cf Merged revisions 89286 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89286 | mmichelson | 2007-11-15 08:54:10 -0600 (Thu, 15 Nov 2007) | 4 lines

Adding a missing mutex unlock.

(closes issue 11256, reported and patched by ys)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89287 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 14:55:35 +00:00
Luigi Rizzo 7f8ecd2cd3 make the 'name' and 'value' fields in ast_variable const char *
This prevents modifying the strings in the stored variables, 
and catched a few instances where this was actually done.

Given the differences between trunk and 1.4 (and the fact that this
is effectively an API change) it is better to fix 1.4 independently.
These are

chan_sip.c::sip_register()
chan_skinny.c:: near line 2847
config.c:: near line 1774
logger.c::make_components()
res_adsi.c:: near line 1049

I may have missed some instances for modules that do not build here.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 13:18:40 +00:00
Kevin P. Fleming edc78d6023 improve linked-list macros in two ways:
- the *_CURRENT macros no longer need the list head pointer argument
  - add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 05:28:47 +00:00
Jason Parker ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 20:05:18 +00:00
Jason Parker b0f3e6097e Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 18:29:40 +00:00
Russell Bryant 40e7d22cd7 Merged revisions 84742 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84742 | russell | 2007-10-04 20:39:07 -0500 (Thu, 04 Oct 2007) | 3 lines

Fix a copy/paste error in the description of UpdateConfig that was pointed
out by JerJer on #asterisk-dev

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-05 01:40:20 +00:00
Dwayne M. Hubbard 71a0672560 Merged revisions 84274 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84274 | dhubbard | 2007-10-01 16:25:37 -0500 (Mon, 01 Oct 2007) | 1 line

moved get_base_channel() code from action_redirect to ast_channel_masquerade() for issue 7706 and BE-160
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 21:31:16 +00:00
Dwayne M. Hubbard bd5b6cea68 Merged revisions 84018 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84018 | dhubbard | 2007-09-27 18:12:25 -0500 (Thu, 27 Sep 2007) | 1 line

if an Agent is redirected, the base channel should actually be redirected.  This was causing multiple issues, especially issue 7706 and BE-160
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-27 23:18:09 +00:00
Tilghman Lesher 02c997c64c Add the MeetmeList and Reload manager commands, which supplement the need to have Command privilege. (closes issue #10736)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83532 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-22 14:03:48 +00:00
Russell Bryant fc1fdac8f2 Merged revisions 83121 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r83121 | russell | 2007-09-19 10:10:14 -0500 (Wed, 19 Sep 2007) | 4 lines

Fix up another potential race condition.  Do the loop decrementing use count
on events with the eventq protected from being changed.
(reported on IRC by Ivan)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 15:11:12 +00:00
Joshua Colp 25597993d7 Extend manager show connected with additional information.
(closes issue #10757)
Reported by: outtolunc
Patches:
      manager.c.sessionstart.diff uploaded by outtolunc (license 237)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83073 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 13:30:01 +00:00
Jason Parker c7a9ec1691 (issue #10724)
Reported by: eliel
Patches:
      res_features.c.patch uploaded by eliel (license 64)
      res_agi.c.patch uploaded by seanbright (license 71)
      res_musiconhold.c.patch uploaded by seanbright (license 71)
      pbx.c.patch uploaded by moy (license 222)
      logger.c.patch uploaded by moy (license 222)
      frame.c.patch uploaded by moy (license 222)
      manager.c.patch uploaded by moy (license 222)
      http.c.patch uploaded by moy (license 222)
      dnsmgr.c.patch uploaded by moy (license 222)
      res_realtime.c.patch uploaded by eliel (license 64)
      res_odbc.c.patch uploaded by seanbright (license 71)
      res_jabber.c.patch uploaded by eliel (license 64)
      chan_local.c.patch uploaded by eliel (license 64)
      chan_agent.c.patch uploaded by eliel (license 64)
      chan_alsa.c.patch uploaded by eliel (license 64)
      chan_features.c.patch uploaded by eliel (license 64)
      chan_sip.c.patch uploaded by eliel (license 64)
      RollUp.1.patch (includes all of the above patches) uploaded by seanbright (license 71)

Convert many CLI commands to the NEW_CLI format.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-18 22:43:45 +00:00
Russell Bryant c3b4322469 Merged revisions 82867 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r82867 | russell | 2007-09-18 15:56:43 -0500 (Tue, 18 Sep 2007) | 10 lines

Fix a memory leak that can occur on systems under higher load.  The issue is
that when events are appended to the master event queue, they use the number
of active sessions as a use count so it will know when all active sessions
at the time the event happened have consumed it.  However, the handling of
the number of sessions was not properly synchronized, so the use count was
not always correct, causing an event to disappear early, or get stuck in
the event queue for forever.

(closes issue #9238, reported by bweschke, patch from Ivan, modified by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-18 20:59:21 +00:00
Joshua Colp e4c8ac7abd (closes issue #10695)
Reported by: junky
Patches:
      count_showconn.diff uploaded by junky (license 177)
Provide a count of connected users to manager.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-11 13:15:37 +00:00
Steve Murphy b5cd67adc3 This code was in team/murf/bug8684-trunk; it should fix bug 8684 in trunk. I didn't add it to 1.4 yet, because it's not entirely clear to me if this is a bug fix or an enhancement. A lot of files were affected by small changes like ast_variable_new getting an added arg, for the file name the var was defined in; ast_category_new gets added args of filename and lineno; ast_category and ast_variable structures now record file and lineno for each entry; a list of all #include and #execs in a config file (or any of its inclusions are now kept in the ast_config struct; at save time, each entry is put back into its proper file of origin, in order. #include and #exec directives are folded in properly. Headers indicating that the file was generated, are generated also for each included file. Some changes to main/manager.c to take care of file renaming, via the UpdateConfig command. Multiple inclusions of the same file are handled by exploding these into multiple include files, uniquely named. There's probably more, but I can't remember it right now.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-29 20:55:40 +00:00
Tilghman Lesher 56b9568164 Don't reload a configuration file if nothing has changed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 21:09:46 +00:00
Joshua Colp 218241f174 Use the linkedlists.h macros for the manager action list.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-07 22:13:40 +00:00
Russell Bryant 06f618a1ca Remove an XXX comment noting that it would be nice for a declaration to be
inside of a function.  (Yes, it would!)  Replace it with a note that explains
why it can't be done using the way that the AST_THREADSTORAGE macro is
currently defined.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-30 19:31:27 +00:00
Russell Bryant f8483a0d04 Do a massive conversion for using the ast_verb() macro
(closes issue #10277, patches by mvanbaak)

Basically, this changes ...

if (option_verbose > 2)
   ast_verbose(VERBOSE_PREFIX_3, "Something\n");

to ...

ast_verb(3, "Something\n");


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 15:49:18 +00:00
Joshua Colp 2db4e2b19b Move manager users list over to an rwlist.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24 02:59:49 +00:00
Joshua Colp 58004e3741 Don't bother calling AST_RWLIST_EMPTY on a list before AST_RWLIST_TRAVERSE, it's just a double check.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 23:05:18 +00:00
Tilghman Lesher 81bc1d7af5 Merge in ast_strftime branch, which changes timestamps to be accurate to the microsecond, instead of only to the second
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 19:47:20 +00:00
Joshua Colp 97f5ed8be3 Make sure the idText variable is empty, and put it in the right place for the manager ack packet. (issue #10152 reported by srt)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@73932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-09 01:25:00 +00:00
Russell Bryant d2a85e5f64 After some discussion on the asterisk-dev list, we determined that this approach
for extracting application, function, manager, and agi documentation is the wrong
one to take.  The most severe problem is that the output depends on which modules
are loaded as well as compile time options, which both determine which parts are
available.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 23:02:16 +00:00
Russell Bryant 1bb2c2a78f Add a CLI command to dump the built-in manager action documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 18:45:50 +00:00
Russell Bryant 3371051d74 Merged revisions 72926 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r72926 | russell | 2007-07-02 13:18:46 -0500 (Mon, 02 Jul 2007) | 3 lines

Remove a bogus comment and add proper locking to the handler function for the
CLI command to show information on manager actions.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 18:19:21 +00:00
Russell Bryant 408dbc4304 Merge changes from team/russell/http_filetxfer
Handle transferring large files from the built-in http server.  Previously, the
code attempted to malloc a block as large as the file itself.  Now it uses the
sendfile() system call so that the file isn't copied into userspace at all if
it is available.  Otherwise, it just uses a read/write of small chunks at a time.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-29 20:35:09 +00:00
Tilghman Lesher abe50d3e4b Merged revisions 72556 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r72556 | tilghman | 2007-06-28 23:47:11 -0500 (Thu, 28 Jun 2007) | 2 lines

Issue 10055 - Change memory allocation to use the heap for a command, since the output has the potential to overflow the stack (as it did here)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-29 04:56:08 +00:00
Russell Bryant 80166c6de8 Conversions to ast_debug()
(issue #9984, patches from eliel and dimas)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@71338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-24 18:51:41 +00:00
Tilghman Lesher d6c0627c4f Merged revisions 71289 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r71289 | tilghman | 2007-06-24 12:39:34 -0500 (Sun, 24 Jun 2007) | 10 lines

Merged revisions 71288 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r71288 | tilghman | 2007-06-24 12:32:21 -0500 (Sun, 24 Jun 2007) | 2 lines

Issue 10043 - There is a legitimate need to be able to set variables to the empty string.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@71290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-24 17:42:39 +00:00
Jason Parker 7a1c2d94bb Add manager events for RTCP statistics.
Also adds a new "reporting" permission for manager, since it can be incredibly spammy.
  This permission was discussed on the -dev mailing list some months back.

Issue 8613, patch by johann8384, with some minor changes by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@70961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-21 23:07:20 +00:00
Kevin P. Fleming 5fdba27ea2 Merged revisions 69392 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r69392 | kpfleming | 2007-06-14 16:50:40 -0500 (Thu, 14 Jun 2007) | 2 lines

use ast_localtime() in every place localtime_r() was being used

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 22:09:20 +00:00
Brett Bryant bbefe59e9d Couple of manager ssl options weren't loading because of a typo.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 15:43:50 +00:00
Jason Parker bd3de6d0f1 Change displayconnects option in manager.conf to be per-user.
Issue 9932, patch by eliel


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@68831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-11 22:07:50 +00:00
Joshua Colp 21f5078843 Add username completion for manager show user CLI command. (issue #9929 reported by eliel)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@68663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-11 11:59:53 +00:00
Russell Bryant 1d57ccb6f7 Fix a bunch of doxygen errors and document more things
(issue #9842, snuffy)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@68339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-07 23:07:25 +00:00
Tilghman Lesher 9d05ff8ed5 Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 21:20:11 +00:00
Russell Bryant 7b75537684 Minor formatting change to test closing mantis issues through commit tags
(closes issue #9828)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67843 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 20:35:05 +00:00
Russell Bryant 3cc39e0fd0 Minor formatting change to test closing mantis issues through commit tags
(closes issue #9828)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 20:21:31 +00:00
Jason Parker ac8fc3ad2d Make sure we default allowmultiplelogin to on/yes, per the default stated in the config.
Issue 9885, patch by eliel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67398 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-05 17:47:37 +00:00
Russell Bryant 4b3a3fb14c Add a new API call for creating detached threads. Then, go replace all of the
places in the code where the same block of code for creating detached threads
was replicated.  (patch from bbryant)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@65968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 18:30:19 +00:00
Joshua Colp 22cf94111d Merged revisions 65902 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r65902 | file | 2007-05-24 11:27:23 -0400 (Thu, 24 May 2007) | 2 lines

Add the ability to blacklist certain commands from being executed using the Command AMI action. (issue #9240 reported by junky)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@65905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 15:30:06 +00:00
Russell Bryant 7ee1303796 Add an option that lets you only allow one connection at a time for each
manager user.  (issue #8664, reported and original patch by ssokol, patch
updated by bkruse, and further updated by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-17 17:12:23 +00:00
Jason Parker 8b5634e4b4 Merged revisions 63982 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r63982 | qwell | 2007-05-11 15:16:17 -0500 (Fri, 11 May 2007) | 7 lines

Hide manager password from "manager show user foo".

I realize that there are other ways to get this,
 but we really don't need to just show it in plain text so easily.

Issue 9273, patch by junky

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-11 20:16:56 +00:00
Russell Bryant 08d37d451b Merged revisions 63886 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r63886 | russell | 2007-05-11 11:05:43 -0500 (Fri, 11 May 2007) | 6 lines

When MD5 authentication is not possible because there is no challenge present,
either because the Challenge action was never issued, or some other reason,
give a proper error message and return an error instead of claiming that the
user wasn't found.
(reported by jsmith on IRC)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-11 16:21:45 +00:00
Russell Bryant 7c5aab75b0 Merged revisions 63804 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r63804 | russell | 2007-05-10 17:23:42 -0500 (Thu, 10 May 2007) | 4 lines

Strip terminal escape sequences from CLI command output that is going to be
sent out over the manager interface.
(issue #9659, reported by pari, fixed by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-10 22:25:54 +00:00
Russell Bryant 6606166454 Convert spaces to tabs for indentation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-04 19:48:52 +00:00
Olle Johansson 6da70edbcf Add "CoreStatus" - from the moremanager branch.
This can be extended with more information, ideas and patches are welcome, as usual :-)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63031 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-04 13:47:11 +00:00
Olle Johansson 51f99c5265 - Add manager command CoreSettings
- Add missing option to options.h
- Add missing variables to asterisk.h
- Move manager version to manager.h include file


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-04 13:44:50 +00:00
Russell Bryant a751038fbe Merged revisions 61787 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r61787 | russell | 2007-04-24 16:34:53 -0500 (Tue, 24 Apr 2007) | 12 lines

Merged revisions 61786 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61786 | russell | 2007-04-24 16:33:59 -0500 (Tue, 24 Apr 2007) | 4 lines

Don't crash if a manager connection provides a username that exists in
manager.conf but does not have a password, and also requests MD5 
authentication. (ASA-2007-012)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-24 21:37:00 +00:00
Russell Bryant fa9d9af754 When building a JSON encoded string in the GetConfigJSON manager action, escape
the '\' and '"' characters.  (issue #9475, reported by pari, patch by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-23 18:49:19 +00:00
Russell Bryant 97d0661327 Merged revisions 61690 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r61690 | russell | 2007-04-20 13:19:18 -0500 (Fri, 20 Apr 2007) | 4 lines

Fix the UpdateConfig manager action to properly treat "variables" and "objects"
differently (a=b versus a=>b).
(issue #9568, reported by pari, patch by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-20 18:23:24 +00:00
Tilghman Lesher 438beb3a1b Merged revisions 61683 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r61683 | tilghman | 2007-04-18 23:36:20 -0500 (Wed, 18 Apr 2007) | 2 lines

Bug 9557 - simple reason why reading a function always returned NULL

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-19 04:37:29 +00:00
Tilghman Lesher 47dd5a15af Issue 6082 - New DTMF event for manager
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-10 23:55:26 +00:00
Olle Johansson c1d8971831 Add hint to ExtensionStatus AMI event in manager
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-09 19:05:40 +00:00
Russell Bryant 0a9750ef9f Merged revisions 60603 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r60603 | russell | 2007-04-06 15:58:43 -0500 (Fri, 06 Apr 2007) | 13 lines

To be able to achieve the things that we would like to achieve with the
Asterisk GUI project, we need a fully functional HTTP interface with access
to the Asterisk manager interface.  One of the things that was intended to be
a part of this system, but was never actually implemented, was the ability for
the GUI to be able to upload files to Asterisk.  So, this commit adds this in
the most minimally invasive way that we could come up with.

A lot of work on minimime was done by Steve Murphy.  He fixed a lot of bugs in
the parser, and updated it to be thread-safe.  The ability to check
permissions of active manager sessions was added by Dwayne Hubbard.  Then,
hacking this all together and do doing the modifications necessary to the HTTP
interface was done by me.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@60604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-06 21:16:38 +00:00
Russell Bryant 5f629360ec Merged revisions 60137 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r60137 | russell | 2007-04-04 12:40:10 -0500 (Wed, 04 Apr 2007) | 14 lines

Merged revisions 60134 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r60134 | russell | 2007-04-04 12:38:47 -0500 (Wed, 04 Apr 2007) | 6 lines

It is valid to redirect channels via the manager interface that are not in the
UP state.  Instead of checking for that to prevent to ensure a dead channel
doesn't get redirected, just use the ast_check_hangup() API call.
(issue #9457, reported by Callmewind, patch by me)
(related to issue #8977)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@60141 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-04 17:41:37 +00:00
Russell Bryant 53dca1a7e4 Merged revisions 58165 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r58165 | russell | 2007-03-06 18:25:19 -0600 (Tue, 06 Mar 2007) | 12 lines

Merged revisions 58164 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r58164 | russell | 2007-03-06 18:20:13 -0600 (Tue, 06 Mar 2007) | 4 lines

If the channels acquired using the manager Redirect action are not up, then
don't attempt to do anything with them.  It could lead to weird behavior,
including crashes.  (issue #8977)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@58166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-07 00:26:01 +00:00
Olle Johansson e916cf45da Doxygen updates and corrections
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@56648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-24 19:49:11 +00:00
Russell Bryant 0d3a211335 Introduce a new manager action, GetConfigJSON, which is intended to improve
performance of the GUI.  This encodes the configuration into the JSON format
in a manager header, "JSON: ".  The encoded information can be directly used
as a javascript object, so no parsing is needed.  For large configuration
files, this can greatly improve loading times in the GUI. Furthermore, the 
encoding takes up a lot less space when being transmitted than the other 
alternatives.  (Inspired by discussion with Pari)

Here is an example of what you get:
http://localhost:8088/asterisk/rawman?action=getconfigjson&filename=users.conf

Response: Success
JSON: {"general":["hasvoicemail=yes"],"6000":["fullname=russell","secret=1234"]}


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@56323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-23 00:45:04 +00:00
Joshua Colp cd56d84085 Properly handle an error result from a manager action. This could have left the action list permanently locked for reading.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-16 00:10:17 +00:00
Olle Johansson 8ac0fb2bc3 New CLI command "Core show settings" to list some core settings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-14 20:22:20 +00:00
Joshua Colp cd1973e4bc It is with pleasure that I announce the return of rawman support through the HTTP server. (issue #9013 reported by Jynger)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-08 20:39:41 +00:00
Tilghman Lesher 5f3b3d2358 Merged revisions 53246 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r53246 | tilghman | 2007-02-06 01:00:52 -0600 (Tue, 06 Feb 2007) | 10 lines

Merged revisions 53245 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53245 | tilghman | 2007-02-06 00:58:28 -0600 (Tue, 06 Feb 2007) | 2 lines

Issue 8987 - Status could return two responses (mnicholson)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-06 07:07:22 +00:00
Russell Bryant b233892198 Merged revisions 53046 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r53046 | russell | 2007-01-31 15:32:08 -0600 (Wed, 31 Jan 2007) | 11 lines

Merged revisions 53045 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53045 | russell | 2007-01-31 15:25:11 -0600 (Wed, 31 Jan 2007) | 3 lines

Fix a bunch of places where pthread_attr_init() was called, but
pthread_attr_destroy() was not.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-31 21:35:15 +00:00
Russell Bryant 9e1370e6c6 Merged revisions 52688 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r52688 | russell | 2007-01-29 16:55:41 -0600 (Mon, 29 Jan 2007) | 3 lines

Remove a recursive lock of the manager session.  This was pointed out by 
zandbelt in issue #8711.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@52692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-29 22:57:16 +00:00
Russell Bryant 9540b7fcea The changes for trunk are less extensive, but include
- changing the actionlock to a rwlock
 - not locking the session before doing the action callback
The crash issue in 8711 should not be an issue here.


Merged revisions 52611 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r52611 | russell | 2007-01-29 14:39:20 -0600 (Mon, 29 Jan 2007) | 10 lines

The session lock can not be held while calling action callbacks.  If so, then
when the WaitEvent callback gets called, then no event can happen because the
session can't be locked by another thread.  Also, the session needs to be
locked in the HTTP callback when it reads out the output string.  This fixes
the deadlock reported in both 8711 and 8934.
Regarding issue 8711, there still may be an issue.  If there is a second action
requested before the processing of the first action is finished, there could
still be some corruption of the output string buffer used to build the result.
(issue #8711, #8934)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@52613 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-29 20:51:24 +00:00
Joshua Colp 68c1f5338f Close file after we do the translation, and map memory for both reading/writing. (issue #8886 reported by cwegener)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-24 00:22:50 +00:00
Russell Bryant ac884e0c3a Merged revisions 51781 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51781 | russell | 2007-01-23 16:04:01 -0600 (Tue, 23 Jan 2007) | 6 lines

Fix some bugs in process_message().  The manager session lock needs to be held
when sending some sort of response, or calling one of the manager action
callbacks.  This resolves an issue where people using the GUI would get random
crashes when they start clicking around a lot.
(issue #8711, reported and debugged by zandbelt)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-23 22:09:23 +00:00
Russell Bryant 8137080816 Merged revisions 51750 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51750 | russell | 2007-01-23 15:33:15 -0600 (Tue, 23 Jan 2007) | 4 lines

When traversing the list of manager actions, the iterator needs to be
initialized to the list head *after* locking the list.  Also, lock the actions
list in one place it is being accessed where it was not being done.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-23 21:38:31 +00:00
Russell Bryant 606ee0dab4 Break out of the config processing loop for manager.conf once the correct user
has been found so that 'cat' is non-NULL.  This way, users.conf is only checked
when necessary.  (issue #8852, akohlsmith, committed patch a bit different)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19 16:30:00 +00:00
Russell Bryant 0e8bd82efe Fix trunk version of manager support for users.conf. Now it actually pays
attention to the "hasmanager" option.

(Thanks to Anthony L. for pointing out that this was broken!)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-18 18:54:51 +00:00
Russell Bryant 2c5d2168c1 Merged revisions 51233 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51233 | russell | 2007-01-18 11:18:43 -0600 (Thu, 18 Jan 2007) | 3 lines

Make the "hasmanager" option in users.conf actually have an effect.
(issue #8740, LnxPrgr3)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-18 17:33:33 +00:00
Joshua Colp 2964e9eab6 Merged revisions 50895 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r50895 | file | 2007-01-15 11:36:07 -0500 (Mon, 15 Jan 2007) | 2 lines

Move event processing into do_message so that it gets executed again when events are tripped.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@50896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-15 16:40:48 +00:00
Joshua Colp e82a8a1d0a Exit from session loop upon error (ie: they disconnected) and don't do any buffer manipulation in do_message. get_input will handle it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@50629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-12 18:13:50 +00:00
Joshua Colp c64ced140f Merged revisions 50602 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r50602 | file | 2007-01-12 11:42:33 -0500 (Fri, 12 Jan 2007) | 2 lines

We need to check for res being 0 in do_message itself, otherwise our headers will get lost.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@50603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-12 16:47:20 +00:00
Kevin P. Fleming 4a6ed271f5 probably shouldn't leave the mmap'ed file hanging around in memory
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-06 00:02:06 +00:00
Kevin P. Fleming d0f3b18d16 a little more const-ification
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-05 23:58:53 +00:00
Kevin P. Fleming d0542012c0 Merged revisions 49680 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49680 | kpfleming | 2007-01-05 16:52:37 -0600 (Fri, 05 Jan 2007) | 2 lines

don't 'consume' the params list before we try to use it again

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-05 22:53:38 +00:00
Kevin P. Fleming 3d376fca97 use mmap() to read in the results of the manager action for an HTTP request, instead of reading it into a buffer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-05 22:52:16 +00:00
Kevin P. Fleming 87b9abc892 Merged revisions 49676 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49676 | kpfleming | 2007-01-05 16:16:33 -0600 (Fri, 05 Jan 2007) | 2 lines

reduce stack consumption for AMI and AMI/HTTP requests by nearly 20K in most cases

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-05 22:43:18 +00:00
Joshua Colp af3e5903c8 It's pretty difficult to pthread_kill a thread that doesn't exist. (issue #8681 reported by bkruse)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-04 21:40:54 +00:00
Olle Johansson e5b5a92a56 Fix manager too.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-01 19:52:22 +00:00
Kevin P. Fleming adca0ff14b Merged revisions 49006 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49006 | kpfleming | 2006-12-27 16:06:56 -0600 (Wed, 27 Dec 2006) | 2 lines

since these variables all have static duration, none of them need initializers (they default to zero anyway)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-27 22:14:33 +00:00
Russell Bryant 08cfbe97b8 Remove a debug message. If this is still needed for debugging something,
it should be made a LOG_DEBUG message.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48929 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-23 20:08:16 +00:00
Luigi Rizzo 79fb4e4579 Replace ast_build_string with ast_str_*().
On passing remove presumably duplicate code to generate
the message for the manager_hooks:

in the previous version, the message was almost the same as the one sent
to regular sessions, with the exception of the empty line at the end, and
a few (presumably unintentional) differences e.g.  timestamps,
debugging, and lowercase headers for "event" and "privilege".

now we reuse the same message as before.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-18 11:28:37 +00:00
Luigi Rizzo 20b382cfff replace ast_build_string() with ast_str_*() functions.
This makes the code easier to follow and saves some
copies to intermediate buffers.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-16 09:33:31 +00:00
Luigi Rizzo 055abfe9d9 simplify the ast_dynamic_str_*.... routines by
renaming them to ast_str ... and putting the
struct ast_threadstorage pointer into the struct ast_str.

This makes the code a lot more readable.

At this point we can use these routines also to
replace ast_build_string().



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15 23:10:42 +00:00
Luigi Rizzo 4e427d84bd unbreak the output for http session.
Not long ago i replaced lseek() with fseek() but
forgot that filr FILE's you need ftell to
give you the current position.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15 18:37:29 +00:00
Luigi Rizzo 77e986e0d0 properly initialize a malloc'ed buffer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-12 10:36:15 +00:00
Luigi Rizzo 1b45dc4eee normalize the scanning of "general" options in the config file.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-12 10:35:10 +00:00
Luigi Rizzo f6c706c71b make sure the argument to ast_malloc() is > 0.
Long explaination:

The behaviour of the underlying malloc(0) differs depending on the
operating system.  Some return NULL (SysV behaviour); some still
allocate a small chunk of memory and return a valid pointer (e.g.
traditional BSD); some (e.g. FreeBSD 6.x) return a non-null pointer
that causes a memory fault if used, even just for reading.

Given the above variety, better never call malloc(0).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-11 18:11:58 +00:00
Luigi Rizzo 437f4288cd - Generalize the function ssl_setup() so that the certificate info
are passed as an argument.

- Update the code in main/http.c to use the new interface
  (the diff is large but mostly mechanical, due to the name change of
  several variables);

- And since now it is trivial, implement "AMI over TLS", and document
  the possible options in manager.conf

- And since the test client (openssl s_client -connect host:port )
  does not generate \r\n as a line terminator, make get_input()
  also accept just a \n as a line terminator (Mac users: do you
  also need the \r-only version ?)
 
The option parsing in manager.conf is not very efficient, and needs
to be cleaned up and made similar to what we have in http.conf



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-07 16:42:29 +00:00
Steve Murphy cb5e37e56c Merged revisions 47986,47995,47997,48001,48003-48004,48008-48014,48016,48018-48019 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r47986 | oej | 2006-11-24 07:00:19 -0700 (Fri, 24 Nov 2006) | 6 lines

Doxygen update
- Document cause codes
- Document a bit more on channel variables - global, predefined and local
- Fix some doxygen in channel.h. Adding one comment for two definitions does not
  work. They won't be copied to each.

................
r47995 | murf | 2006-11-24 10:40:49 -0700 (Fri, 24 Nov 2006) | 1 line

This fix inspired by a patch supplied in bug 8189, which points out problems with the PLC code
................
r47997 | murf | 2006-11-24 11:17:25 -0700 (Fri, 24 Nov 2006) | 1 line

removed the svnmerge-integrated property from trunk; it's confusing svnmerge in newly created branches
................
r48001 | rizzo | 2006-11-25 02:02:42 -0700 (Sat, 25 Nov 2006) | 5 lines

set pointers to NULL after freeing memory to avoid multiple free()

probably 1.4/1.2 issue as well if someone can look into that.


................
r48003 | oej | 2006-11-25 02:45:57 -0700 (Sat, 25 Nov 2006) | 9 lines

- Adding comment on suspicious memory allocation. Seems like it's never freed, but I don't
  have a clear understanding of the frame allocation/deallocation, so I just mark this
  for investigation. (Reported by Ed Guy). We're trying to see if a free() hurts...

- Doxygen comments on p2p rtp bridge stuff.  I am a bit worried about shortcutting
  rtcp this way, but will need feedback from rtcp gurus. This should work for 
  video calls too, and possibly UDPTL.


................
r48004 | oej | 2006-11-25 02:48:30 -0700 (Sat, 25 Nov 2006) | 2 lines

Changing ERROR to lesser level. Imported from 1.2/1.4

................
r48008 | rizzo | 2006-11-25 10:37:04 -0700 (Sat, 25 Nov 2006) | 7 lines

generalize a bit the functions used to create an tcp socket
and then run a service on it.
The code in manager.c does essentially the same things,
so we will be able to reuse the code in here (probably
moving it to netsock.c or another appropriate library file).


................
r48009 | mattf | 2006-11-25 13:30:04 -0700 (Sat, 25 Nov 2006) | 1 line

Updates to show linkset command
................
r48010 | mattf | 2006-11-25 13:54:38 -0700 (Sat, 25 Nov 2006) | 2 lines

Add ss7 show linkset command

................
r48011 | mattf | 2006-11-25 14:32:33 -0700 (Sat, 25 Nov 2006) | 1 line

Make sure we don't send a group reset on a group larger than 32 CICs
................
r48012 | mattf | 2006-11-25 14:35:23 -0700 (Sat, 25 Nov 2006) | 1 line

bug fix
................
r48013 | mattf | 2006-11-25 14:46:58 -0700 (Sat, 25 Nov 2006) | 1 line

Make compiler happier
................
r48014 | mattf | 2006-11-25 14:50:42 -0700 (Sat, 25 Nov 2006) | 1 line

Little fix so we use the right message
................
r48016 | murf | 2006-11-25 17:15:42 -0700 (Sat, 25 Nov 2006) | 9 lines

Merged revisions 48015 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48015 | murf | 2006-11-25 17:01:34 -0700 (Sat, 25 Nov 2006) | 1 line

A little bit of func_cdr documentation upgrade-- no bug# involved, although 8221 may have inspired it.
........

................
r48018 | murf | 2006-11-25 17:31:13 -0700 (Sat, 25 Nov 2006) | 9 lines

Merged revisions 48017 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48017 | murf | 2006-11-25 17:26:16 -0700 (Sat, 25 Nov 2006) | 1 line

might as well also document the raw values of the flag vars
........

................
r48019 | russell | 2006-11-25 23:55:33 -0700 (Sat, 25 Nov 2006) | 6 lines

- Add some comments on thread storage with a brief explanation of what it is
  as well as what the motivation is for using it.
- Add a comment by the declaration of ast_inet_ntoa() noting that this function
  is not reentrant, and the result of a previous call to the function is no
  longer valid after calling it again.

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-07 16:03:56 +00:00
Luigi Rizzo 605b9a914e remove duplicated code to start the server threads, use
the infrastructure exposed in http.c earlier today.

As a bonus, now we can restart the session on a different
port just reloading the module.

On passing, fix a bug in the handling of 'enabled' in the configuration
file - previously, a missing "enabled=" line in manager.conf meant
"whatever the state was before" instead of a specific value.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-06 20:46:01 +00:00
Luigi Rizzo ce6804c877 Part of the transformations necessary to add TLS support,
as described in
http://lists.digium.com/pipermail/asterisk-dev/2006-December/025213.html

In detail, this commit does the following:

b) change the function get_input() to use fread() instead of read()
   to collect the data. One can still do the ast_wait_for_input() on
   the original descriptor returned by accept().

c) change the function send_string() to work on the FILE *.
   As a side effect, this change now really guarantees that
   we don't spend more than "writetimeout" milliseconds on
   each line sent.

d) modify the function action_command() so that it creates a
   temporary file descriptor to be passed to ast_cli_command(),
   and then read back the data from the temp file and write it
   to the output with send_string(). The code is similar to
   what is done in generic_http_callback() to support AMI-over-HTTP.




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-06 18:45:19 +00:00
Luigi Rizzo 0b798e298d don't use outputstr in the struct mansession, it's just
an extra allocation on a path where we have way too many already.

Unfortunately the AMI-over-HTTP requires multiple copies,
because we need to generate a header, then the raw output to
an intermediate buffer, then convert it to html/xml, and
finally copy everything into a malloc'ed buffer because
that's what the generic_http_callback interface expects.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-28 17:08:19 +00:00
Luigi Rizzo 3dbc33ed4f initialize the dynamic string in a sane way.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-28 15:53:12 +00:00
Luigi Rizzo 29985ff8c3 do not return 500 Internal error if the AMI command provides
no output.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-28 13:08:56 +00:00
Luigi Rizzo 77ae04d7c1 mosty comment and documentation cleanup on waitevent.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-28 12:05:25 +00:00
Luigi Rizzo 0153bdd72c Move the code to purge stale sessions to a function,
to simplify the body of the main loop of the accepting thread.
Rename purge_unused() to purge_events() so one knows what the
function does.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-28 11:20:39 +00:00
Luigi Rizzo 5ce08d37ca Various simplifications of the code:
+ use a wrapper around ast_carefulwrite(), used in two places,
  to make life easier when we decide to use a different interface
  to the socket.

+ put an ast_verbose() message on astman_append on a case that
  should never happen now that we use a temporary file for
  AMI-over-HTTP sessions

+ document and slightly simplify process_events() by removing
  unnecessary parentheses.

+ in get_input(), use ast_wait_for_input() instead of poll().

  We may want to move to a completely non-blocking


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48080 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-28 10:23:25 +00:00
Luigi Rizzo 1c570d9ba0 More informative message on invalid commands.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-28 09:43:44 +00:00
Luigi Rizzo a8e9428317 another normalization of AMI vs HTTP identification.
Should really define a macro IS_AMI(s) so it is clear what
we want to do.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-28 09:39:16 +00:00
Luigi Rizzo d1dcb0de2a always use managerid to determine whether this is an AMI or HTTP session,
and document it.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-28 09:27:37 +00:00
Mark Spencer cc0c154f0e Restore some sense of security to manager
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47912 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-22 05:49:06 +00:00
Luigi Rizzo b3867180cf comments-only change:
document a bit more when manager events are delivered
to the clients.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-18 22:14:20 +00:00
Joshua Colp 980ce017ec Add support for manager hooks, so you could fire off manager events over IRC if you were crazy enough. (issue #5161 reported by anthm with mods by moi)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-06 17:05:04 +00:00
Luigi Rizzo 0bf4235ff1 add a new cli/manager.conf option "debug" to enable/disable
debugging code in the manager.
At the moment the debugging code is very lightweight, if the option
is enabled manager messages also carry a sequence number and
the info where they have been generated e.g.

SequenceNumber: 10
File: chan_sip.c
Line: 11927
Func: handle_response_register

It is not worthwhile having this as a compile time option
right now, because the extra work involved at runtime is
just checking one variable.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-03 18:53:26 +00:00
Tilghman Lesher 10875731ec Merged revisions 47051 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47051 | tilghman | 2006-11-02 17:00:20 -0600 (Thu, 02 Nov 2006) | 2 lines

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/trunk@47052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-02 23:16:09 +00:00
Russell Bryant 59dbf47c91 Fix the new send text manager command. There is no way this could have worked.
- Check the channel name string length to be zero, not non-zero
- Check the message string length to be zero, not non-zero
- unlock the channel *after* calling sendtext


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-31 15:22:28 +00:00
Olle Johansson 1aa8c2cffc Add manager sendtext action. (Issue 6131, ZX81 - thanks!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-31 10:42:22 +00:00
Olle Johansson 692dc8fd80 Issue #3930 - Add manager command for listing dialplan (coded april 2005, in bugtracker since)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-30 21:18:39 +00:00
Russell Bryant 0ca6a42d7e fix various spelling mistakes in comments (issue #8237, jmls)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-26 17:52:15 +00:00
Luigi Rizzo 6b2b63a909 fix a problem that i recently introduced when
the manager receives long commands.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-26 12:47:23 +00:00
Mark Spencer b7517f1231 Fix comment preservation code (thanks murf!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-26 01:38:47 +00:00
Luigi Rizzo a7d5fcd8b8 i really think it is safe to commit this version, that
simplifies the manager queue handling as described in
the comment, and will make a lot easier to make further
work on this code.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-24 17:14:12 +00:00
Luigi Rizzo edd8e11889 minor comment changes, code rearrangement and field renaming
to minimize diffs with future modifications.

The current implementation is problematic for the following reasons:
+ all insertions are O(N) because the event list does not have a tail
  pointer;
+ there is only a single lock protecting both session and users queues.
+ the implementation of the queue itself is not documented.
  I think i have figured it out, more or less, but am unclear on
  whether there is proper locking in place

The rewrite (which i have working locally) uses a tailq so insertions
are O(1), separate locks for the event and session queues, and has
a documented implementation so hopefully we can figure out if/where
bug exist.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-20 11:24:43 +00:00
Olle Johansson e19576388d Doxygen corrections
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-20 08:00:13 +00:00
Luigi Rizzo e7c2295b81 more fixes to comments and very minor code rearrangement.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19 17:26:20 +00:00
Luigi Rizzo 32214ffc02 implement proper XML/HTML formatting of multiple messages
(e.g. the result of waitevent).

Also fix some comments.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19 17:07:08 +00:00
Luigi Rizzo 9934b7f4d2 more documentation of data structure and functions.
Of interest:
+ ast_get_manager_by_name_locked() is now without the ast_
  prefix as it is a local function;

+ unuse_eventqent() renamed to unref_event(), and returns
  the pointer to the next entry.

+ marked with XXX a couple of usages of unref_event()
  because i suspect we are addressing the wrong entry.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19 07:43:43 +00:00
Russell Bryant bd53e7ee4c Extend the thread storage API such that a custom initialization function can
be called for each thread specific object after they are allocated.  Note that
there was already the ability to define a custom cleanup function.  Also, if
the custom cleanup function is used, it *MUST* call free on the thread
specific object at the end.  There is no way to have this magically done that
I can think of because the cleanup function registered with the pthread
implementation will only call the function back with a pointer to the
thread specific object, not the parent ast_threadstorage object.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19 01:00:57 +00:00
Luigi Rizzo 71c67605ca silent warning from a debugging message (which will go away
soon, anyways)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 22:40:02 +00:00
Luigi Rizzo eee51dbd1c remove trailing whitespace
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 21:41:09 +00:00
Luigi Rizzo 9e9edb05ec ouch! remember to unlink temporary files once done with them.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 21:36:20 +00:00
Luigi Rizzo 3c2eaaf1f0 + move output_format variables in the http section of the file;
+ more comments on struct mansession and global variables;
+ small improvements to the session matching code so it supports
  multiple sessions from the same IP



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 21:30:21 +00:00
Luigi Rizzo c046fb40d8 another bunch of comments on the data structures.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 17:53:47 +00:00
Luigi Rizzo a518165207 despite the large changes, this commit only moves functions
around so that functions belonging to the same group are
close to each other.

At the beginning of each group i have added a bit of documentation
to explain what the group does and what is the typical flow - basically,
all i have learned by code inspection over the past few days should
be documented for you to read.

I have not put many doxygen annotations just because i am not
sure what are the proper ones. Hopefully some doxygen experts will jump in.

Next on the plate: try to figure out how "struct eventqent"
are supposed to work.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 17:45:50 +00:00
Luigi Rizzo a18accc09e more comment and formatting fixes, small simplifications
to functions get_input() and session_do()



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 16:52:13 +00:00
Matt O'Gorman 1783aef1e8 rizzo compile then commit, maybe even run it too ^_^
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 16:45:22 +00:00
Luigi Rizzo 71cf14207c comment and cleanup the main thread.
On passing, fix a bug: close the socket if the allocation
of a structure for the new session fails.
(the bugfix is a candidate for 1.4)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 15:49:40 +00:00
Luigi Rizzo eb3767cafe create a new (internal, for the time being) function astman_start_ack()
to start manager responses that need further lines.
This removes a lot of duplicate code from the various handlers
that at the moment build an ActionID string themselves.

Once settled, the function should move to manager.h so
it can be used by other files (chan_agent, chan_iax2, chan_sip,
chan_zap, res_jabber and app_queue).

I am not totally clear if there is a preferred position for
the ActionID: line in a message. Some instances put it at
the end, but one would argue that it is preferable to have
it at the beginning.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 14:21:15 +00:00
Luigi Rizzo df06a40b05 more indentation cleanup from previous commits,
and remove the "busy" field from struct mansession
as it was not used correctly anyways.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 13:42:14 +00:00
Luigi Rizzo 46b5c26399 create proper handlers for "Challenge" and "Login" actions,
rather than use inline code for them.
Things are more readable this way, and also error processing
is more consistent.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 13:23:22 +00:00
Luigi Rizzo becfe17739 fix indentation from a commit of a couple of days ago
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 12:55:12 +00:00
Luigi Rizzo 8e63fb21da another batch of simplifications to authenticate()
(they are committed a bit at a time so it is easier to
revert them in case we find a bug at a later time).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 12:38:24 +00:00
Luigi Rizzo d171c3d864 remove unused fields and unimplemented options.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 11:59:08 +00:00
Luigi Rizzo 998732456f first pass as simplifying authenticate(), avoiding whitespace changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 11:54:06 +00:00
Luigi Rizzo bc66d9b7d8 more code simplifications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 11:43:31 +00:00
Luigi Rizzo c93be15b7e simplify ast_strings_to_mask
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 10:14:58 +00:00
Luigi Rizzo efd87b68ee add a comment to remember that a block of code is
completely redundant.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 08:48:50 +00:00
Luigi Rizzo 2102d73bf4 + move the enum declaration for output formats near the head
of the file, so it can be used from more places;
+ make the declaration of contenttype[] more robust;
+ remove the wrappers around __xml_translate(), since they were
  used only in one place, and rename to xml_translate().
  This allows for a bit of simplifications.
+ document the output produced by the above function.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 06:28:34 +00:00
Luigi Rizzo 3a3b26658e merge xml_translate() and html_translate() into one function since
they do similar things.

Add a small form on top of the html output so request like
http://foo:8088/asterisk/manager will suggest you what to do.

Note: i suspect there is still a bug somewhere in the session matching
code, as sometimes you have to login twice in order for the following
commands to be recognised.

Apart from this, the cli now is basically usable from a web form!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 05:31:54 +00:00
Joshua Colp 17fabe225d Warning be gone!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45398 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-17 21:09:49 +00:00
Luigi Rizzo 3e2a2bfd7e simplify authority_to_str() using ast_build_string()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-17 18:08:51 +00:00
Luigi Rizzo 3abf04cc26 Improve the XML formatting of responses coming from web interface.
Normal responses are sequences of lines of the form "Name: value",
with \r\n as line terminators and an empty line as a response
terminator.

Generi CLI commands, however, do not have such a clean formatting,
and the existing code failed to generate valid XML for them.
Obviously we can only use heuristics here, and we do the following:
- accept either \r or \n as a line terminator, trimming trailing whitespace;
- if a line does not have a ":" in it, assume that from this point on
  we have unformatted data, and use "Opaque-data:" as a name;
- if a line does have a ":" in it, the Name field is not always
  a legal identifier, so replace non-alphanum characters with underscores;

All the above is to be refined as we improve the formatting of
responses from the CLI.

And, all the above ought to go as a comment in the code rather than
just in a commit message...
  


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-17 17:51:34 +00:00
Luigi Rizzo f2d12f4d06 open a temporary file to receive the output from cli commands
invoked through the http interface.

It is not terribly efficient but better than no output at all.
Todo: use a configurable /tmp directory instead of a hardwired one.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-17 17:41:59 +00:00
Luigi Rizzo 0c7e8f99a4 document xml_copy_escape() and add an extra function, namely
replace non-alphanum chars with underscore.
This is useful when building field names in xml formatting.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-17 17:19:31 +00:00
Luigi Rizzo 5f395bf38f + comment some unclear fields of struct mansession;
+ let some commands (Challenge, Login) be processed even if
  already authenticated, as it doesn't harm and prevents some
  incorrect error messages

+ remove custom code for Logoff - the existing handler was ok.

Some indentation fixes may be necessary



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-16 14:00:53 +00:00
Luigi Rizzo 5fda2a874a + comment some unclear requirements for master_eventq
+ remove the need for an snprintf in astman_get_header()
+ fix comment for manager list eventq
+ localize one variable and minor code simplifications.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-16 11:29:22 +00:00
Luigi Rizzo 6d10a245b6 protect access to first_action with actionlock.
Mark with XXX one place (during command execution) where
navigation should be protected with actionlock, but is not
because it would block requests for a long time.

To solve this properly we need to put reference counts in
the struct manager_action.
A suboptimal fix is to copy the record on a search and then
unlock the list while we work on the copy.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45177 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-16 09:33:00 +00:00
Russell Bryant 43f1054d07 Merged revisions 44945 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44945 | russell | 2006-10-12 12:56:32 -0400 (Thu, 12 Oct 2006) | 2 lines

fix a silly typo in a comment that I saw while reading the commit list

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-12 16:57:36 +00:00
Nadi Sarrar 0752be2ec0 Merged revisions 44921 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44921 | nadi | 2006-10-12 14:55:25 +0200 (Do, 12 Okt 2006) | 2 lines

append_event must be called while holding the session lock

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-12 13:04:03 +00:00
Luigi Rizzo 684d1f1698 basically fix indentation of a large function after previous
simplifications. On passing, use a single exit point.

(once done with the cleanup i will merge the changes into 1.4,
if applicable)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-06 21:04:43 +00:00
Luigi Rizzo 35cada23f0 s cannot be null here, so remove the useless test and error-handling block.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-06 20:34:11 +00:00
Luigi Rizzo acd1073909 simplify logic in preparation to reduce indentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-06 20:16:13 +00:00
Luigi Rizzo 3f641c6048 make sure sockets are blocking when they should be blocking.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-06 15:59:57 +00:00
Kevin P. Fleming 3c876af5cf Merged revisions 44378 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44378 | kpfleming | 2006-10-04 14:47:22 -0500 (Wed, 04 Oct 2006) | 4 lines

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/trunk@44379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-04 19:51:38 +00:00
Matt O'Gorman ae8cc3e18b bug #8076 check option_debug before printing to debug channel.
patch provided in bugnote, with minor changes.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-03 15:53:07 +00:00
Tilghman Lesher 2b55678e1f Remove deprecated CLI apps from the core
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-21 21:17:39 +00:00
Tilghman Lesher 4a58847fe2 Remove 1.4 changes from UPGRADE.txt, remove deprecated callerid field, remove deprecated SetGlobalVar app
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-21 20:01:54 +00:00
Tilghman Lesher 70af28270d Constify the result of a config retrieval function, to avoid mutilation (issue 7983).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-20 20:40:39 +00:00
Jason Parker 4c2874b994 Commit the changes from issue #5240.
Original patch by junky, modified by anthonyl, modified again by jcolp (with minor modifications by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-19 22:01:23 +00:00
Jason Parker fc60c151d3 After discussing this with other people, we decided we'd like to try to do this a little differently.
Stay tuned.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-19 19:58:09 +00:00
Anthony LaMantia 3f3402d69e 5240 update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-19 19:28:57 +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
Kevin P. Fleming c2c4f86c72 merge markster's usersconf branch with some slight changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-16 23:53:58 +00:00
Russell Bryant 283bcf4c9f - simplify and improve astmm by using thread storage instead of a dynamic
allocation and free on every call of the function for preparing the string
  that will be appended.  Then, use the ast_dynamic_str() code instead of the
  open coded version that is appended to when waiting for it to be delivered.
- use for loops for list traversals
- convert the manager sessions list to use list macros
- use atomic operations for num_sessions and usecounts
- convert some defines to the equivalent enum


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 19:42:29 +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