Commit Graph

1591 Commits

Author SHA1 Message Date
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
Joshua Colp
0ff90f87c5 Merged revisions 45595 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r45595 | file | 2006-10-18 17:03:34 -0400 (Wed, 18 Oct 2006) | 2 lines

Don't modify things if we are using vfork as this is very bad and may cause unexpected behavior (issue #7970 reported by Nick Gavrikov)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 21:05:52 +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
Luigi Rizzo
fbe6c86b0b introduce uri_decode() so that '+' are translated into ' '
(e.g. browsers do this when they encode input strings from a form).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 05:27:22 +00:00
Luigi Rizzo
d1058df18f various code simplifications to reduce nesting depth,
minor optimizations to avoid extra calls of strlen(),
and some variable localization.

One feature worth backporting is the move of ast_variables_destroy()
to a different place in handle_uri() to avoid leaking memory
in case a uri is not found.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 04:05:56 +00:00
Joshua Colp
bb8926d50c Merged revisions 45452 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r45452 | file | 2006-10-17 23:02:08 -0400 (Tue, 17 Oct 2006) | 2 lines

Don't segfault if you're using a channel driver that doesn't turn RTCP on

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 03:03:37 +00:00
Russell Bryant
40b8afd54f Merged revisions 45441 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r45441 | russell | 2006-10-17 22:41:36 -0400 (Tue, 17 Oct 2006) | 7 lines

Don't attempt to access private data members of the pthread_mutex_t object,
because this does not work on all linux systems.  Instead, just access
the reentrancy field in the ast_mutex_info struct when DEBUG_THREADS is
enabled.  If DEBUG_CHANNEL_LOCKS is enabled, the developer probably has
DEBUG_THREADS on as well.
(issue #8139, me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-18 02:46:39 +00:00
Kevin P. Fleming
696f9ed677 Merged revisions 45408 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r45408 | kpfleming | 2006-10-17 17:24:10 -0500 (Tue, 17 Oct 2006) | 3 lines

optimize the 'quick response' code a bit more... no more malloc() or memset() for each response
expand stringfields API a bit to allow reusing the stringfield pool on a structure when needed, and remove some unnecessary code when the structure was being freed

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-17 22:24:45 +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
Luigi Rizzo
97fc34d450 comment some functions, and more small code simplifications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-16 08:38:35 +00:00
Luigi Rizzo
250ad2ad7e fix indentation of a large block after changes in previous commit
(basically whitespace only).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-16 06:55:14 +00:00
Luigi Rizzo
9146e44403 simplify string parsing routines using ast_skip_*() functions.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-16 06:30:51 +00:00
Luigi Rizzo
895eb4fd73 don't forget to close a descriptor on a malloc failure.
On passing, small rearrangement of the code to reduce indentation.

There is a bit more cleanup planned for this file, so a merge to 1.4
will be done when it is all done.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-15 20:54:15 +00:00
Luigi Rizzo
9a3cef21ac typo: serer -> server
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-15 20:37:42 +00:00
Kevin P. Fleming
dc3ddc165b Merged revisions 45125 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r45125 | kpfleming | 2006-10-13 18:02:48 -0500 (Fri, 13 Oct 2006) | 7 lines

------------------------------------------------------------------------
r45119 | kpfleming | 2006-10-13 17:57:42 -0500 (Fri, 13 Oct 2006) | 2 lines

don't drop the entire permit/deny list when an attempt is made to add an invalid entry (BE-92)

------------------------------------------------------------------------

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-13 23:03:36 +00:00
Joshua Colp
4cf4255267 Merged revisions 45031 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r45031 | file | 2006-10-13 11:53:22 -0400 (Fri, 13 Oct 2006) | 10 lines

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

........
r45030 | file | 2006-10-13 11:49:53 -0400 (Fri, 13 Oct 2006) | 2 lines

Pass the right value to usleep for sleeping, and always add the background refresh item back into the scheduler if enabled since it is deleted during reload. (issue #8142 reported by p_lindheimer)

........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-13 15:56:17 +00:00
Kevin P. Fleming
0638096e5c Merged revisions 45027 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r45027 | kpfleming | 2006-10-13 10:41:14 -0500 (Fri, 13 Oct 2006) | 2 lines

use a configure script test for PMTU discovery control instead of just assuming it's available on Linux

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-13 15:47:42 +00:00
Kevin P. Fleming
035aeb82e4 Merged revisions 44956 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r44956 | kpfleming | 2006-10-12 13:38:51 -0500 (Thu, 12 Oct 2006) | 10 lines

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

........
r44955 | kpfleming | 2006-10-12 13:31:26 -0500 (Thu, 12 Oct 2006) | 2 lines

ensure that IAX2 and SIP sockets allow UDP fragmentation when running on Linux (thanks to Brian Candler on the asterisk-dev list for the tip)

........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-12 18:43:52 +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
Jason Parker
7173b2cf2e Merged revisions 44888 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44888 | qwell | 2006-10-11 11:57:06 -0500 (Wed, 11 Oct 2006) | 3 lines

These are already set by the parent Makefile..
There is no need to have this here (it doesn't actually work anyways).

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-11 16:57:59 +00:00
Paul Cadach
500353e095 Extend CALLERID() function for "pres" and "ton" values
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-07 14:45:49 +00:00
Joshua Colp
62e6417b21 Merged revisions 44628 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44628 | file | 2006-10-06 17:08:54 -0400 (Fri, 06 Oct 2006) | 2 lines

Remove the seqno check for RFC2833, the handler is smart enough to not need it.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-06 21:10:42 +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
Joshua Colp
85625f3505 Merged revisions 44605 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44605 | file | 2006-10-06 14:46:28 -0400 (Fri, 06 Oct 2006) | 2 lines

When the sequence number rolls over then reset the recorded sequence number for DTMF (issue #8106 reported by bungalow)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-06 18:47:49 +00:00