dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

109 Commits

Author SHA1 Message Date
dvossel cfa021cb17 Consistent SSL/TLS options across conf files
ast_tls_read_conf() is a new api call for handling SSL/TLS options across all conf files.  Before this change, SSL/TLS options were not consistent.  http.conf and manager.conf required the 'ssl' prefix while sip.conf used options with the 'tls' prefix.  While the options had different names in different conf files, they all did the exact same thing.  Now, instead of mixing 'ssl' or 'tls' prefixes to do the same thing depending on what conf file you're in, all SSL/TLS options use the 'tls' prefix.  For example.  'sslenable' in http.conf and manager.conf is now 'tlsenable' which matches what already existed in sip.conf. Since this has the potential to break backwards compatibility, previous options containing the 'ssl' prefix still work, but they are no longer documented in the sample.conf files.  The change is noted in the CHANGES file though.

Review: http://reviewboard.digium.com/r/237/



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@191028 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-29 14:39:48 +00:00
dvossel 1d52218463 TLS/SSL private key option
Adds option to specify a private key .pem file when configuring TLS or SSL in AMI, HTTP, and SIP.  Before this, the certificate file was used for both the public and private key.  It is possible for this file to hold both, but most configurations allow for a separate private key file to be specified.  Clarified in .conf files how these options are to be used.  The current conf files do not explain how the private key is handled at all, so without knowledge of Asterisk's TLS implementation, it would be hard to know for sure what was going on or how to set it up.

Review: http://reviewboard.digium.com/r/234/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190545 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-24 21:22:31 +00:00
tilghman 23d5f93d74 Support HTTP digest authentication for the http manager interface.
(closes issue #10961)
 Reported by: ys
 Patches: 
       digest_auth_r148468_v5.diff uploaded by ys (license 281)
       SVN branch http://svn.digium.com/svn/asterisk/team/group/manager_http_auth
 Tested by: ys, twilson, tilghman
 Review: http://reviewboard.digium.com/r/223/
 Reviewed by: tilghman,russellb,mmichelson


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190349 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-23 20:36:35 +00:00
tilghman ab22019265 Modify headers and macros, according to Russell's suggestions on the -dev list
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187599 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-10 03:55:27 +00:00
tilghman 5352872fe6 Allow browsers to cache images and other static content.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@183865 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-23 23:28:20 +00:00
twilson d2601c379a Fix qualify for TCP peer
(closes issue #14192)
Reported by: pabelanger
Patches: 
      asterisk-bug14192.diff.txt uploaded by jamesgolovich (license 176)
Tested by: jamesgolovich


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@169080 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-17 01:56:36 +00:00
tilghman a41b34a63c Merge ast_str_opaque branch (discontinue usage of ast_str internals)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@163991 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-13 08:36:35 +00:00
eliel 6e243a5434 Janitor, use ARRAY_LEN() when possible.
(closes issue #13990)
Reported by: eliel
Patches:
      array_len.diff uploaded by eliel (license 64)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@161218 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-05 10:31:25 +00:00
kpfleming cc1b2c100f bring over all the fixes for the warnings found by gcc 4.3.x from the 1.4 branch, and add the ones needed for all the new code here too
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@153616 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-02 18:52:13 +00:00
kpfleming 2b799006a1 cleaup of the TCP/TLS socket API:
1) rename 'struct server_args' to 'struct ast_tcptls_session_args', to follow coding guidelines

2) make ast_make_file_from_fd() static and rename it to something that indicates what it really is for (again coding guidelines)

3) rename address variables inside 'struct ast_tcptls_session_args' to be more descriptive (dare i say it... coding guidelines)

4) change ast_tcptls_client_start() to use the new 'remote_address' field of the session args for the destination of the connection, and use the 'local_address' field to bind() the socket to the proper source address, if one is supplied

5) in chan_sip, ensure that we pass in the PP address we are bound to when creating outbound (client) connections, so that our connections will appear from the correct address



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@151101 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-19 19:11:28 +00:00
tilghman 95bae85759 Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiating
when a file is invalid from when a file is missing.  This is most important when
we have two configuration files.  Consider the following example:

Old system:
sip.conf     users.conf     Old result               New result
========     ==========     ==========               ==========
Missing      Missing        SIP doesn't load         SIP doesn't load
Missing      OK             SIP doesn't load         SIP doesn't load
Missing      Invalid        SIP doesn't load         SIP doesn't load
OK           Missing        SIP loads                SIP loads
OK           OK             SIP loads                SIP loads
OK           Invalid        SIP loads incompletely   SIP doesn't load
Invalid      Missing        SIP doesn't load         SIP doesn't load
Invalid      OK             SIP doesn't load         SIP doesn't load
Invalid      Invalid        SIP doesn't load         SIP doesn't load

So in the case when users.conf doesn't load because there's a typo that
disrupts the syntax, we may only partially load users, instead of failing with
an error, which may cause some calls not to get processed.  Worse yet, the old
system would do this with no indication that anything was even wrong.

(closes issue #10690)
 Reported by: dtyoo
 Patches: 
       20080716__bug10690.diff.txt uploaded by Corydon76 (license 14)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@142992 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-12 23:30:03 +00:00
seanbright 8cb986b936 Another big chunk of changes from the RSW branch. Bunch of stuff from main/
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@137082 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-10 19:35:50 +00:00
tilghman d328d088cf HTTP module memory leaks
(closes issue #13230)
 Reported by: eliel
 Patches: 
       res_http_post_leak.patch uploaded by eliel (license 64)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135476 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-04 16:34:04 +00:00
twilson ce46696768 Fix mime parsing by re-adding support for passing headers to callback functions
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135235 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-01 21:56:07 +00:00
kpfleming 8e7bccd3c6 Merged revisions 134983 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r134983 | kpfleming | 2008-07-31 17:18:11 -0500 (Thu, 31 Jul 2008) | 3 lines

accomodate users who seem to lack a sense of humor :-)


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135016 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-31 22:28:42 +00:00
bbryant 6a26d91c7e Fix deadlock when unloading res_http_post because the uris lock was still locked.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@134253 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-29 21:23:43 +00:00
bkruse 6e93150ec2 Committing a fix that was introduced a long time
ago (does not affect 1.4), where you would pass
a pointer to the end of a character array, and
ast_uri_decode would do no good.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@133651 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-25 17:21:46 +00:00
twilson 3990fcb8c2 Expose the prefix variable so that it can be used by modules depending on http support
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@127545 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-02 20:28:17 +00:00
bbryant 720a492e88 Updates all usages of ast_tcptls_session_instance to be managed by reference counts so that they only get destroyed when all threads are done using
them, and memory does not get free'd causing strange issues with SIP. 

This code was originally written by russellb in the team/group/issue_11972/ branch.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@123546 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-17 21:46:57 +00:00
bbryant 3342d99a30 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: http://svn.digium.com/svn/asterisk/trunk@118161 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-23 21:19:42 +00:00
rizzo 7fffc70e0c Document the possible presence of multiple variables with the
same name in http queries, which might confuse the manager.

Replace calls to ast_uri_decode() with a local function that also
replaces '+' with ' ', as this is the normal encoding for
spaces in http requests.
This allows passing cli commands to the manager through the
http interface.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@117295 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-20 17:48:43 +00:00
rizzo 3120e6e452 Reverse the check for Cookie: and remove leftover code implementing
the same thing.
Add an ast_debug() call to help debugging the url matching.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@117266 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-20 16:39:39 +00:00
russell 5c269ff813 Merged revisions 114600 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114600 | russell | 2008-04-23 17:18:12 -0500 (Wed, 23 Apr 2008) | 6 lines

Improve some broken cookie parsing code.  Previously, manager login over HTTP
would only work if the mansession_id cookie was first.  Now, the code builds
a list of all of the cookies in the Cookie header.  This fixes a problem
observed by users of the Asterisk GUI.
(closes AST-20)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114601 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-23 22:53:20 +00:00
twilson 03c243323c Re-add HTTP post support by moving to res_http_post.c
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@112426 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-02 15:25:48 +00:00
twilson 5e38bdd8e2 Yeah, simplify that logic a bit...
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@112035 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-31 21:01:59 +00:00
twilson 4bb7658005 Handle blank prefix= in http.conf
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@112033 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-31 20:45:05 +00:00
twilson caab44dbed Fix another little http problem. In making it match coding guidelines, a comparison was dropped
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@111500 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-27 22:10:25 +00:00
twilson 61fc9edc56 Stupid strcasecmp function :-)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@111213 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-26 21:23:29 +00:00
tilghman f0d1cef621 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: http://svn.digium.com/svn/asterisk/trunk@111012 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-26 18:39:06 +00:00
kpfleming 528c99ca21 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: http://svn.digium.com/svn/asterisk/trunk@109912 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-19 16:18:29 +00:00
kpfleming e15e0c31fd clean up code to conform to coding guidelines
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@109909 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-19 15:41:54 +00:00
russell 8672fe3596 Minor change to use Asterisk macros
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@109841 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-19 04:09:55 +00:00
kpfleming 93531c68a2 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: http://svn.digium.com/svn/asterisk/trunk@109762 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-18 22:32:26 +00:00
twilson f12eb74241 Replace minimime with superior GMime library so that the entire contents of an http post are not read into memory.
This does introduce a dependency on the GMime library for handling HTTP POSTs, but it is available in most distros.

If the library is present, then the compile flag for ENABLE_UPLOADS is enabled by default in menuselect.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@109229 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-17 22:10:06 +00:00
russell 7e014c092b Make the default prefix empty, like it was in Asterisk 1.4.
(closes issue #12198, reported by bkruse, patched by me)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@108346 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-12 22:49:26 +00:00
russell f5ce5710ec Rename ast_tcptls_server_instance to session_instance, since this pertains to
server and client usage.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@108295 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-12 22:13:18 +00:00
russell de432dde0b add a destroy API call for a server instance
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@105804 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-04 22:28:03 +00:00
russell c2841b668a More public API name changes to use an appropriate ast_ prefix
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@105785 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-04 22:23:21 +00:00
russell 8ef91aad9e Rename public object server_instance to ast_tcptls_server_instance
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@105773 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-04 22:15:18 +00:00
russell d5b06adda9 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: http://svn.digium.com/svn/asterisk/trunk@104244 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-26 20:02:14 +00:00
russell d6e19bdc91 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: http://svn.digium.com/svn/asterisk/trunk@99085 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-18 22:04:33 +00:00
pari 82ef5c6d36 merging a comment added in 1.4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@98514 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-12 05:13:04 +00:00
russell ab908a2a8b 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: http://svn.digium.com/svn/asterisk/trunk@96717 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-05 22:09:06 +00:00
rizzo 999f881868 remove some unnecessary includes
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89542 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-24 13:48:48 +00:00
rizzo de2db05332 remove a bunch of useless #include "options.h"
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89511 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21 23:09:02 +00:00
rizzo 89d8d78652 move asterisk/paths.h outside asterisk.h and into those files
who really need it.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89466 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-20 23:16:15 +00:00
rizzo 0cc47e4221 another bunch of include removals (errno.h and asterisk/logger.h)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89425 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19 19:09:03 +00:00
rizzo 3136f24f36 trim more redundant headers
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89384 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 16:18:53 +00:00
rizzo 883346d64a 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: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 20:04:58 +00:00
qwell 7756b987a0 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86820 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-22 20:05:18 +00:00