summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-10-24Merged revisions 46065 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r46065 | russell | 2006-10-23 21:04:14 -0400 (Mon, 23 Oct 2006) | 2 lines Fix the descriptions of some of the MeetMeAdmin options (issue #8098, mflorell) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-24Fix a seg fault on a registration. Line 7706, in parse_register_contact,Russell Bryant
explicitly passes NULL as the "pass" argument to this function. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23Unlike ast_strdup(), ast_strdupa() does not take a NULL pointer as argument,Luigi Rizzo
so fix the places where this might happen. This is also a fix that ought to go into 1.4 [The difference between the two functions is a bit confusing, and in asterisk i believe all string handling functions should be able to handl a NULL string as argument, but changing the API in trunk and not in 1.4 would make backporting harder.] git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23remove a useless check for ocseq = 0.Luigi Rizzo
As discussed on the mailing lists, 0 is a legal value for Cseq, so there is no point to treat it specially. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23get_header() always returns a non-NULL value, so checkingLuigi Rizzo
for NULL is certainly wrong and usually disables the checks that we want to make instead. This commit fixes a number of the above bugs where the result of get_header() is immediately checked for NULL. This is certainly a candidate for merging into 1.4 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23put another duplicated block of code in a function.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46025 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23reformat a statement and comment a potentially wrongLuigi Rizzo
assignement (altering state on an unvalidated message). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23Remove unnecessary casts from const char * to char *,Luigi Rizzo
if necessary by slightly rearranging the code. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46004 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23another use for parse_uri().Luigi Rizzo
On passing, remove a wrong comment (that probably I wrote myself!) and introduce a temporary variable to avoid a misleading cast. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23Merged revisions 45999 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r45999 | russell | 2006-10-23 13:07:45 -0400 (Mon, 23 Oct 2006) | 2 lines don't crash when an incoming message has no "from" (issue #8205, jmls) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23use autodetected support for gethostbyname_rLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23+ make sure parse_uri never returns NULL pointers - thisLuigi Rizzo
simplifies its usage. + add another client for parse_uri, in handling Contact: strings (on passing, document the content of the "fullcontact" field); + in register_verify(), mark with XXX what i believe is another misinterpretation on the URI format when '@' is missing. No code changed here, so no fixes applied. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23After reading better the SIP RFC on sip URI (19.1.1)Luigi Rizzo
fix parse_uri() to interpret a missing userinfo section as a domain-only URI, and comment a wrong interpretation of the above in check_user_full(). The function has been patched to preserve the existing behaviour (in what admittedly is a corner case, but could be received under attacks). Hopefully the From: based matching will go away soon! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23in function get_also_info(), move argument strippingLuigi Rizzo
before splitting around the @, otherwise the refer_to_domain might contain arguments as well, causing failures. I think this is a true bug that ought to be fixed in 1.4 as well. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23start putting the URI parsing code in one place,Luigi Rizzo
introducing the function parse_uri() that splits a URI in its components. Right now use it only in one place, because the custom parsing that is done here and there sometimes has bugs that i want to figure out first. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23put common code in function terminate_uri() so we need toLuigi Rizzo
fix it only in one place. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23More cleanup of check_user_full with no functional changeLuigi Rizzo
apart from a small (but disabled by default) new option. In detail: + introduce a new value for enum check_auth_result, AUTH_DONT_KNOW, used (read below) when a function does not have a conclusive response. Possibly this is the same as AUTH_NOT_FOUND, but need to check further. + move the large blocks (checking in the users list and in the peers list, respectively) from check_user_full() to separate functions. They return AUTH_DONT_KNOW in case they don't find a match, so the caller know that it has to try the next method. There is still some duplication of code here, but i have not tried yet to remove it. + [new option] a new option in sip.conf, match_auth_username, has been introduced, and disabled by default. If set, and the incoming request carries authentication info, the username to match in the users list is taken from there rather than from the From: field. This change is easy to identify, being made of - one line to declare the variable match_auth_username - a block of 15 lines in check_user_full() - one line in sip list settings - two lines for parsing the config file. check_user_full() is now a lot cleaner - basically a sequence of checks that are applied to the request. This will help future work with new matching schemes. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-23Merged revisions 45928 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r45928 | file | 2006-10-22 20:27:39 -0400 (Sun, 22 Oct 2006) | 10 lines Merged revisions 45927 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r45927 | file | 2006-10-22 20:25:28 -0400 (Sun, 22 Oct 2006) | 2 lines Don't leak memory mmmk? ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45929 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-22Merged revisions 45916 via svnmerge from Christian Richter
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r45916 | crichter | 2006-10-22 23:44:46 +0200 (Sun, 22 Oct 2006) | 9 lines Merged revisions 45808 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r45808 | crichter | 2006-10-21 14:35:13 +0200 (Sat, 21 Oct 2006) | 1 line fixed issue, that if chan_misdn is loaded and couldn't be initialized it would cause a segfault after 'reload'. Reported by Drew/Matt thx. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-22more streamlining of check_user_fullLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-22simplify the flow of function check_user_full()Luigi Rizzo
A large block needs reindentation now, but we don't do that because it can be moved to a separate function. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-22put duplicated code in functions.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-22regenerate the configure script and autoconfig.h.in to reflect recent changesRussell Bryant
for https support for the built in http server git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-22Fix a few issues in the previous (disabled) HTTPS code,Luigi Rizzo
and support linux as well (using fopencookie(), which should be available in glibc). Update configure.ac to check for funopen (BSD) and fopencookie(glibc), and while we are at it also for gethostbyname_r (the generated files need to be updated, or you need to run bootstrap.sh yourself). Document the new options in http.conf.sample (names are only tentative, better ones are welcome). At this point we can safely enable the option. Anyone willing to try this on Sun and Apple platforms ? git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-22Implement https support.Luigi Rizzo
The changes are not large. Most of the diff comes from putting the global variables describing an accept session into a structure, so we can reuse the existing code for running multiple accept threads on different ports. Once this is done, and if your system has the funopen() library function (and ssl, of course), it is just a matter of calling the appropriate functions to set up the ssl connection on the existing socket, and everything works on the secure channel now. At the moment, the code is disabled because i have not implemented yet the autoconf code to detect the presence of funopen(), and add -lssl to main/Makefile if ssl libraries are present. And a bit of documentation on the http.conf arguments, too. If you want to manually enable https support, that is very simple (step 0 1 2 will be eventually detected by ./configure, the rest is something you will have to do anyways). 0. make sure your system has funopen(3). FreeBSD does, linux probably does too, not sure about other systems. 1. uncomment the following line in main/http.c // #define DO_SSL /* comment in/out if you want to support ssl */ 2. add -lssl to AST_LIBS in main/Makefile 3. add the following options to http.conf sslenable=yes sslbindport=4433 ; pick one you like sslcert=/tmp/foo.pem ; path to your certificate file. 4. generate a suitable certificate e.g. (example from mini_httpd's Makefile: openssl req -new -x509 -days 365 -nodes -out /tmp/foo.pem -keyout /tmp/foo.pem and here you go: https://localhost:4433/asterisk/manager now works. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-22it is useless and possibly wrong to use ast_cli() to send theLuigi Rizzo
reply back to http clients. Use fprintf/fwrite instead, since we are already using a FILE * to read the input. If you wonder why, this is because it makes it trivial to implement https support (as long as your system has funopen()). And this is what i am going to put in with the next few commits... git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-22Let's have build.h created a bit earlier so that func_version can use it and ↵Joshua Colp
not stop the build on a fresh machine that has never had Asterisk installed on it before... git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-21the default port number was erroneously stored in host order,Luigi Rizzo
and reading from the config file used ntohs instead of htons. this ought to be merged to 1.4 as well. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-21Merged revisions 45817 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r45817 | file | 2006-10-21 14:48:58 -0400 (Sat, 21 Oct 2006) | 2 lines Don't use promotion on Darwin because it doesn't seem to work quite right in all cases, this should solve the unresolved symbol issue people have been seeing. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-21Merged revisions 45818 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r45818 | russell | 2006-10-21 14:49:46 -0400 (Sat, 21 Oct 2006) | 3 lines Add a couple missing unregistrations of manager actions and remove duplicate unregistrations of applications. (issue #8194, jmls) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-20introduce sip_pvt_lock() and sip_pvt_unlock() wrappers toLuigi Rizzo
lock these data structures. This improve readability, and also hides the underlying locking mechanism so it is a lot easier to add diagnostic code, or move the object locks somewhere else, etc. On passing, rename the lock field in sip_pvt to pvt_lock, also for ease of readability. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-20Merged revisions 45775 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r45775 | file | 2006-10-20 15:03:03 -0400 (Fri, 20 Oct 2006) | 2 lines Pass DESTDIR and ASTSBINDIR so that the utilities get installed in the proper location (reported on asterisk-dev mailing list) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-20put the constants for whether methods can create a dialog or not in an enumRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-20minor comment changes, code rearrangement and field renamingLuigi Rizzo
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-20Let's repair the SIP attack shield :-)Olle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-20Doxygen correctionsOlle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19This new function, VERSION(), created via bug report 8176, may help dialplan ↵Steve Murphy
programmers in the future. In the meantime, they can use the algorithm I outline on the bug report notes; If anyone invents something better, I'd hope they post it git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19astman was slightly weirding out over the new Dial and Newcallerid eventsSteve Murphy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19more fixes to comments and very minor code rearrangement.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19Merged revisions 45694 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r45694 | file | 2006-10-19 13:24:40 -0400 (Thu, 19 Oct 2006) | 2 lines Let's remember to unregister JabberStatus too (issue #8184 reported by jmls) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45695 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19Merged revisions 45692 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r45692 | file | 2006-10-19 13:19:47 -0400 (Thu, 19 Oct 2006) | 10 lines Merged revisions 45691 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r45691 | file | 2006-10-19 13:16:37 -0400 (Thu, 19 Oct 2006) | 2 lines Respect language selection when seeing if the file exists (issue #8178 reported by mnicholson) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19implement proper XML/HTML formatting of multiple messagesLuigi Rizzo
(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-19Merged revisions 45678 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r45678 | file | 2006-10-19 12:03:09 -0400 (Thu, 19 Oct 2006) | 2 lines If the jitterbuffer is forced on then we can't partially bridge (reported by wangster on #asterisk-dev) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19move a large block out of do_monitor() and into a function,Luigi Rizzo
to improve readability. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19+ move the definition of netlock as it was not related to theLuigi Rizzo
comment just above; + decouple the struct definition and variable declaration (iflist); git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19more documentation of data structure and functions.Luigi Rizzo
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-19Cleaning up... Removing duplicate (again)Olle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19restore freeing of threadstorage objects without custom cleanup functionsKevin P. Fleming
allow custom threadstorage init functions to return failure use a custom init function for chan_sip's temp_pvt, to improve performance a bit git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19Merge fix to not leak the stringfields of a thread speicif sip_pvt. This alsoRussell Bryant
includes the fix not to leak the actual sip_pvt. Merged revisions 45622 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r45622 | russell | 2006-10-18 20:59:51 -0400 (Wed, 18 Oct 2006) | 2 lines Don't leak the actual thread-specific sip_pvt struct ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19Extend the thread storage API such that a custom initialization function canRussell Bryant
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