12 years ago- Call the per-child process callback functions even if the
Miklos Tirpak [Fri, 8 Feb 2008 17:09:45 +0000 (17:09 +0000)]
- Call the per-child process callback functions even if the
config variables are changed before forking, so the modules/core
will not miss the change.

- fixing a very unlikely bug: when a module kept forking and destroying
new processes runtime (only jabber module does so), and two variables
were changed after the forked process called called cfg_update()
and before exited, and both variables had per-child process callback,
and all the other child processes updated their own local config faster
then this one, the list of the callbacks was not released, thus the
memory was not freed.

12 years ago- Make sure that the global cfg_file variable always contains
Jan Janak [Fri, 8 Feb 2008 05:37:44 +0000 (05:37 +0000)]
- Make sure that the global cfg_file variable always contains
  full absolute pathname.
- Added get_abs_pathname function that can be used to convert
  relative pathnames to absolutes with using the location of
  cfg_file (or another file) as reference.

12 years ago- make default pathnames of certificate files relative to the main
Jan Janak [Fri, 8 Feb 2008 05:36:49 +0000 (05:36 +0000)]
- make default pathnames of certificate files relative to the main
  SER config file

12 years ago- verno++ to reflect the tcp changes
Andrei Pelinescu-Onciul [Tue, 5 Feb 2008 21:47:58 +0000 (21:47 +0000)]
- verno++ to reflect the tcp changes

12 years ago- avoid extra read syscalls (detect short reads) in poll_et or sigio_rt case
Andrei Pelinescu-Onciul [Tue, 5 Feb 2008 21:47:29 +0000 (21:47 +0000)]
- avoid extra read syscalls (detect short reads) in poll_et or sigio_rt case
 (should improve performace)
- if POLLRDHUP or EPOLLRDHUP are supported (linux >= 2.6.17) use them
 and avoid an extra syscall on EOF
- on write error try to see if there's still some data in the socket read
 buffer and try to process it first (if there's no more data do a quick
  connection destroy)

12 years ago- automatically "listen" for POLLRDHUP or EPOLLRDHUP if supported (linux
Andrei Pelinescu-Onciul [Tue, 5 Feb 2008 21:37:28 +0000 (21:37 +0000)]
- automatically "listen" for POLLRDHUP or EPOLLRDHUP if supported (linux

12 years ago- uses spaces instead of tabs, otherwise gmake refuses to process it
Jan Janak [Tue, 5 Feb 2008 06:46:44 +0000 (06:46 +0000)]
- uses spaces instead of tabs, otherwise gmake refuses to process it

12 years ago- server-side database functions added
Jan Janak [Mon, 4 Feb 2008 22:46:27 +0000 (22:46 +0000)]
- server-side database functions added

12 years agoMake a difference between non-existing variable, and not readable variable
Miklos Tirpak [Mon, 4 Feb 2008 16:37:55 +0000 (16:37 +0000)]
Make a difference between non-existing variable, and not readable variable
when the value cannot be retrieved. (reported by Vladimir Marek)

12 years agotypo fixed
Miklos Tirpak [Mon, 4 Feb 2008 16:07:44 +0000 (16:07 +0000)]
typo fixed

12 years ago- fixed wrong request method check, discovered by Jan Andres
Jan Janak [Mon, 4 Feb 2008 14:11:37 +0000 (14:11 +0000)]
- fixed wrong request method check, discovered by Jan Andres

12 years ago- fixed wrong variable used in get_to_uid, reported by
Jan Janak [Mon, 4 Feb 2008 13:54:47 +0000 (13:54 +0000)]
- fixed wrong variable used in get_to_uid, reported by
  Jan Andres

12 years ago- added misssing get_to_uid, reported by Jan Andres
Jan Janak [Mon, 4 Feb 2008 10:19:21 +0000 (10:19 +0000)]
- added misssing get_to_uid, reported by Jan Andres

12 years ago- obsolete scripts and utilities removed
Jan Janak [Sat, 2 Feb 2008 13:21:09 +0000 (13:21 +0000)]
- obsolete scripts and utilities removed
  closes SER-308

12 years ago- removed duplicated doxygen comment
Jan Janak [Sat, 2 Feb 2008 13:00:09 +0000 (13:00 +0000)]
- removed duplicated doxygen comment

12 years ago- doxygen comment moved to the header file
Jan Janak [Sat, 2 Feb 2008 12:26:59 +0000 (12:26 +0000)]
- doxygen comment moved to the header file

12 years ago- get_to_uid modified to retrieve the UID from the Request-URI for
Jan Janak [Sat, 2 Feb 2008 12:24:41 +0000 (12:24 +0000)]
- get_to_uid modified to retrieve the UID from the Request-URI for
  non-REGISTER requests, and from the To header for REGISTER requests.
  Closes SER-234

12 years ago- fixed testing of return value of fix_param
Jan Janak [Fri, 1 Feb 2008 18:42:58 +0000 (18:42 +0000)]
- fixed testing of return value of fix_param
  closes SER-323

12 years agocut'n'paste errors fixed
Pavel Kasparek [Fri, 1 Feb 2008 14:50:14 +0000 (14:50 +0000)]
cut'n'paste errors fixed

13 years agoadded denconf option to set usrloc db_mode option
Pavel Kasparek [Fri, 1 Feb 2008 14:13:09 +0000 (14:13 +0000)]
added denconf option to set usrloc db_mode option

13 years agoadded a note about running ser as root in case core dumps are needed
Pavel Kasparek [Fri, 1 Feb 2008 14:05:10 +0000 (14:05 +0000)]
added a note about running ser as root in case core dumps are needed

13 years ago- split of db url for accounting from provisoning data in ser-oob.cfg
Pavel Kasparek [Fri, 1 Feb 2008 07:50:04 +0000 (07:50 +0000)]
- split of db url for accounting from provisoning data in ser-oob.cfg
- added debconf options to configure it

13 years agocorrecting wrong goto label
Miklos Tirpak [Thu, 31 Jan 2008 16:22:09 +0000 (16:22 +0000)]
correcting wrong goto label

13 years ago- check the integer range even if a fixup function is defined
Miklos Tirpak [Thu, 31 Jan 2008 16:16:54 +0000 (16:16 +0000)]
- check the integer range even if a fixup function is defined
- min and max values can be the same

13 years agotesting and fixing str and string configuration variables with NULL values
Miklos Tirpak [Wed, 30 Jan 2008 11:48:39 +0000 (11:48 +0000)]
testing and fixing str and string configuration variables with NULL values

13 years agostr2sint() function is moved to ut.h
Miklos Tirpak [Wed, 30 Jan 2008 09:46:04 +0000 (09:46 +0000)]
str2sint() function is moved to ut.h

13 years ago- added macro STR_EQ
Jan Janak [Tue, 29 Jan 2008 08:14:27 +0000 (08:14 +0000)]
- added macro STR_EQ
- doxygen documentation added

13 years ago- enable java autobrief and other configuration changes
Jan Janak [Mon, 28 Jan 2008 16:42:44 +0000 (16:42 +0000)]
- enable java autobrief and other configuration changes

13 years ago- rejecting config declarations with conflicting group name
Miklos Tirpak [Mon, 28 Jan 2008 15:35:56 +0000 (15:35 +0000)]
- rejecting config declarations with conflicting group name
- cfg_declare_int() is extended with min/max support

13 years agochanging the syntax of cfg_register_ctx() function
Miklos Tirpak [Mon, 28 Jan 2008 12:54:58 +0000 (12:54 +0000)]
changing the syntax of cfg_register_ctx() function
(The context handle must be ready when the on_declare()
callbacks are called, and it may happen that the callback
is executed before cfg_register_ctx() returns.)

13 years ago- #define CFG_INPUT_SHIFT is used instead of a hardwired value
Miklos Tirpak [Mon, 28 Jan 2008 12:23:11 +0000 (12:23 +0000)]
- #define CFG_INPUT_SHIFT is used instead of a hardwired value
  (patch from Tomas Mandys)
- convert_val() can convert between all the supported types:
  string, str, int (slightly modified patch from Tomas Mandys)
- two new wrappers, cfg_set_now_str() and cfg_set_delayed_str()
- signed integer values in select calls are fixed
- bug fiexed in cfg_lookup_var()

13 years ago- documenting the script syntax of the variable declaration
Miklos Tirpak [Thu, 24 Jan 2008 15:57:31 +0000 (15:57 +0000)]
- documenting the script syntax of the variable declaration
- printing an error message if the variable cannot be declared

13 years ago- configuration variables can be declared in the script:
Miklos Tirpak [Thu, 24 Jan 2008 15:36:56 +0000 (15:36 +0000)]
- configuration variables can be declared in the script:
<group_name>.<var_name> = <value> [descr <description>]
- free the list of cfg groups during exit

It is possible to declare new config variables in the script,
and retrieve them via select calls. The variables behave the same
way as the core or module variables, they are constant during
message processing, and they can be modified by the cfg drivers,
for example via RPC calls.

gateway.destination = "" descr "IP addr of the gateway"
gateway.enabled = 1 descr "enable/disable the gateway"

route[0] {
if (@cfg_get.gateway.enabled == 1) {

13 years agoSER-324 fix: dont throw away terminating zero from payload
Jiri Kuthan [Wed, 23 Jan 2008 21:02:06 +0000 (21:02 +0000)]
SER-324 fix: dont throw away terminating zero from payload

13 years ago- error messages that generate too much noise turned
Jan Janak [Mon, 21 Jan 2008 13:07:24 +0000 (13:07 +0000)]
- error messages that generate too much noise turned
  into debugging messages

13 years ago- fix: io_wait* :- safe delete for select, poll & sigiort (sigiort was
Andrei Pelinescu-Onciul [Mon, 21 Jan 2008 13:00:35 +0000 (13:00 +0000)]
- fix: io_wait* :-  safe delete for select, poll & sigiort (sigiort was
 affected only if it did fallback to poll)
                 - select fd array size

13 years ago- reordered included header files for better detection of missing headers
Jan Janak [Wed, 16 Jan 2008 14:13:54 +0000 (14:13 +0000)]
- reordered included header files for better detection of missing headers

13 years agoWhen searching list of records from dns cache entry which has already expired, use...
Michal Matyska [Tue, 15 Jan 2008 15:14:53 +0000 (15:14 +0000)]
When searching list of records from dns cache entry which has already expired, use the last valid timestamp when checking expiration time of the records.
It can happen when the entry was retrieved just before it expires. It can also expire before the next round of server lookup with SRV failover.

13 years agosorry forgot the definition of the new DB_NE operator
Nils Ohlmeier [Mon, 14 Jan 2008 12:48:00 +0000 (12:48 +0000)]
sorry forgot the definition of the new DB_NE operator

13 years ago - tcp optimization: in tcp_reader try reading from a fd immediately after
Andrei Pelinescu-Onciul [Sat, 12 Jan 2008 15:17:40 +0000 (15:17 +0000)]
 - tcp optimization: in tcp_reader try reading from a fd immediately after
  receiving it (since it receives it only if there's data waiting on it =>
  avoids a few sys calls before starting readingi or for a bad connect attempt)

13 years ago@cfg_get.<group_name>.<var_name> is documented
Miklos Tirpak [Fri, 11 Jan 2008 16:41:51 +0000 (16:41 +0000)]
@cfg_get.<group_name>.<var_name> is documented

13 years agoconfiguration values can be retrieved in the script via selects:
Miklos Tirpak [Fri, 11 Jan 2008 16:38:52 +0000 (16:38 +0000)]
configuration values can be retrieved in the script via selects:

13 years agoIntroducing CONSUME_ALL flag: all the subsequent parameters are
Miklos Tirpak [Fri, 11 Jan 2008 16:30:30 +0000 (16:30 +0000)]
Introducing CONSUME_ALL flag: all the subsequent parameters are
accepted without resolving or checking them
Can be used to implement selects with more than one parameter

13 years agocfg_get_by_name() returns an error instead of the incorrect value
Miklos Tirpak [Fri, 11 Jan 2008 15:15:19 +0000 (15:15 +0000)]
cfg_get_by_name() returns an error instead of the incorrect value
if a fix-up function is defined

13 years ago- fix: io_watch_add moved to the end of CONN_QUEUED_WRITE
Andrei Pelinescu-Onciul [Thu, 10 Jan 2008 15:18:45 +0000 (15:18 +0000)]
- fix: io_watch_add moved to the end of CONN_QUEUED_WRITE
 (so that if sigio_rt is used and the io_watch_add call ends up in
  the connection destruction via handle_io() the code is still safe)

13 years ago- EPOLLET doesn't need checking for previous IO events
Andrei Pelinescu-Onciul [Thu, 10 Jan 2008 15:16:34 +0000 (15:16 +0000)]
- EPOLLET doesn't need checking for previous IO events
 (this also fixes io_watch_chg possible invocation of handle_io which would
  lead to ugly problems inside tcp handle_tcpconn_ev)

13 years agoadded dependency to bison and flex to build dependencies
Pavel Kasparek [Tue, 8 Jan 2008 16:35:13 +0000 (16:35 +0000)]
added dependency to bison and flex to build dependencies

13 years ago- tcp: fix local timer intialization (proper prev_ticks init.)
Andrei Pelinescu-Onciul [Tue, 8 Jan 2008 13:11:30 +0000 (13:11 +0000)]
- tcp: fix local timer intialization (proper prev_ticks init.)

13 years agofixes SER-345 - patch accepted
Michal Matyska [Mon, 7 Jan 2008 12:45:30 +0000 (12:45 +0000)]
fixes SER-345 - patch accepted

13 years ago- if select is unfixable print just the part of text which was parsed
Michal Matyska [Mon, 7 Jan 2008 12:33:52 +0000 (12:33 +0000)]
- if select is unfixable print just the part of text which was parsed

13 years ago- fix (redesign) how credentials realm is extracted from msg / fixed at startup
Michal Matyska [Mon, 7 Jan 2008 12:14:11 +0000 (12:14 +0000)]
- fix (redesign) how credentials realm is extracted from msg / fixed at startup
reported by Alfred E. Heggestad
When compiling with gcc-3.4.3 on solaris/sparc I get some warnings:
select_core.c: In function `get_credentials':
select_core.c:896: warning: cast to pointer from integer of different size
select_core.c: In function `select_auth':
select_core.c:950: warning: cast from pointer to integer of different size
select_core.c: In function `select_auth_param':
select_core.c:963: warning: cast from pointer to integer of different size

- when select is unresolvable during fixing print its name in the error message to easily correct script

13 years agoRestoring the original core configuration during exiting that
Miklos Tirpak [Thu, 3 Jan 2008 10:30:55 +0000 (10:30 +0000)]
Restoring the original core configuration during exiting that
makes the config variables available for farther function calls.
Closes SER-349

13 years ago- tcp alias replace improvement/fix
Andrei Pelinescu-Onciul [Fri, 28 Dec 2007 20:43:32 +0000 (20:43 +0000)]
- tcp alias replace improvement/fix
- more debugging fixes

13 years ago- tcp fix: flags changed & membars() before derefs, more sanity checks and
Andrei Pelinescu-Onciul [Fri, 28 Dec 2007 10:06:23 +0000 (10:06 +0000)]
- tcp fix: flags changed & membars() before derefs, more sanity checks and
 alias debugging

13 years ago- fix: signed/unsigned comparisons (tcp_send)
Andrei Pelinescu-Onciul [Sat, 22 Dec 2007 18:13:29 +0000 (18:13 +0000)]
- fix: signed/unsigned comparisons (tcp_send)

13 years ago- fix: partial writes were not taken into account
Andrei Pelinescu-Onciul [Sat, 22 Dec 2007 17:49:03 +0000 (17:49 +0000)]
- fix: partial writes were not taken into account

13 years ago- fix: tcp fd cache: don't cache own fd in a tcp_reader
Andrei Pelinescu-Onciul [Sat, 22 Dec 2007 08:11:14 +0000 (08:11 +0000)]
- fix: tcp fd cache: don't cache own fd in a tcp_reader
- various cleanups/better error messages

13 years agoincluded some extra comments about usrloc/db_mode
Jiri Kuthan [Sat, 22 Dec 2007 00:56:30 +0000 (00:56 +0000)]
included some extra comments about usrloc/db_mode

13 years ago- fixes:
Andrei Pelinescu-Onciul [Fri, 21 Dec 2007 23:27:13 +0000 (23:27 +0000)]
- fixes:
        - on io_watch_add overwrite error don't delete the previous fd hash
           entry + more error debugging info
        - return proper len on pending connect (instead of -1)
        - tcp_reader: always check if a connection was marked as bad and if
          so release it immediately + error checks for io_watch_*

13 years ago- tcp: support for pending connects: add a connection immediately to the
Andrei Pelinescu-Onciul [Fri, 21 Dec 2007 17:58:07 +0000 (17:58 +0000)]
- tcp: support for pending connects: add a connection immediately to the
connection hash (before even attempting the connect sys call) and just queue
possible writes. When the connection completes update the connection info &
aliases and send the queued data. This avoids parallel connects when the
intial connect takes too long (highly experimental, on by default)

13 years agochanged default rtp proxy control socket port to 22222 in Debian package spec, for...
Pavel Kasparek [Thu, 20 Dec 2007 14:49:39 +0000 (14:49 +0000)]
changed default rtp proxy control socket port to 22222 in Debian package spec, for ser-oob package

13 years agoadded fixation of path to *.sql files in to Debian package spec rules
Pavel Kasparek [Thu, 20 Dec 2007 14:21:19 +0000 (14:21 +0000)]
added fixation of path to *.sql files in to Debian package spec rules

13 years agotypos fixed in Debian package spec
Pavel Kasparek [Thu, 20 Dec 2007 12:35:46 +0000 (12:35 +0000)]
typos fixed in Debian package spec

13 years agoadded a meta-package ser-ai1 to Debian package spec
Pavel Kasparek [Thu, 20 Dec 2007 12:09:37 +0000 (12:09 +0000)]
added a meta-package ser-ai1 to Debian package spec

13 years agoisplit DOMAIN so that option processing works even for requests with
Jiri Kuthan [Tue, 18 Dec 2007 10:56:03 +0000 (10:56 +0000)]
isplit DOMAIN so that option processing works even for requests with
IP address in request URI (otherwise such requests would be discarded
by anti-relay policy before they made it to OPTIONS)

13 years ago- fix: do not perform rev dns. when comparing an ip with a string or avp
Andrei Pelinescu-Onciul [Mon, 17 Dec 2007 17:51:04 +0000 (17:51 +0000)]
- fix: do not perform rev dns. when comparing an ip with a string or avp
 (in the script), if rev_dns is not set

13 years ago- tcp: - try to destroy a conenction on error asap, even if it's referenced
Andrei Pelinescu-Onciul [Fri, 14 Dec 2007 01:50:39 +0000 (01:50 +0000)]
- tcp: - try to destroy a conenction on error asap, even if it's referenced
         (in this case destroy it partially - close fds a.s.o)
       - changed refcnt usage

13 years ago- tcp: - try to close connections faster even if still referenced
Andrei Pelinescu-Onciul [Fri, 14 Dec 2007 01:40:12 +0000 (01:40 +0000)]
- tcp: - try to close connections faster even if still referenced
       - changed refcnt usage (on 0 refcnt free, experimental)

13 years ago- io_watch_chg fix for EPOLL_ET: handle possible pre-existing IO events
Andrei Pelinescu-Onciul [Thu, 13 Dec 2007 18:05:39 +0000 (18:05 +0000)]
- io_watch_chg fix for EPOLL_ET: handle possible pre-existing IO events

13 years agoDestination blacklist parameters have been updated to the config
Miklos Tirpak [Thu, 13 Dec 2007 15:29:55 +0000 (15:29 +0000)]
Destination blacklist parameters have been updated to the config
framework, the following variables are changeable runtime:

- use_dst_blacklist
- dst_blacklist_expire
- dst_blacklist_mem

13 years agoindex added to missed_calls table
Karel Kozlik [Thu, 13 Dec 2007 15:08:18 +0000 (15:08 +0000)]
index added to missed_calls table

13 years agoadding two more indexes to acc table
Karel Kozlik [Thu, 13 Dec 2007 13:13:25 +0000 (13:13 +0000)]
adding two more indexes to acc table

13 years agoThe help function returns also the type of the parameter.
Miklos Tirpak [Thu, 13 Dec 2007 11:21:05 +0000 (11:21 +0000)]
The help function returns also the type of the parameter.

13 years ago- tcp: close connection immediately if the write buf. timeouts (timeout fixes)
Andrei Pelinescu-Onciul [Wed, 12 Dec 2007 19:11:25 +0000 (19:11 +0000)]
- tcp: close connection immediately if the write buf. timeouts (timeout fixes)
 + some cleanups

13 years agocfg_get_group_*() is introduced:
Miklos Tirpak [Wed, 12 Dec 2007 16:41:51 +0000 (16:41 +0000)]
cfg_get_group_*() is introduced:
  returns the list of declared groups

cfg_diff_*() is introduced:
  returns the pending configuration changes

13 years agoAttribute "datetime_created" made visible in serweb as read-only
Karel Kozlik [Wed, 12 Dec 2007 14:27:26 +0000 (14:27 +0000)]
Attribute "datetime_created" made visible in serweb as read-only

13 years agoNew section is added to the documentation of the configuration framework:
Miklos Tirpak [Wed, 12 Dec 2007 10:12:55 +0000 (10:12 +0000)]
New section is added to the documentation of the configuration framework:
Modules that fork a new process running in an endless loop are
supposed to periodicaly refresh their own local configuration.

13 years ago- local_timer cleanup (always use local_timer*, don't mix them with timer_*)
Andrei Pelinescu-Onciul [Tue, 11 Dec 2007 20:11:01 +0000 (20:11 +0000)]
- local_timer cleanup (always use local_timer*, don't mix them with timer_*)
- tcp fix: clear the write watch flag after  empting the write buffers

13 years ago- io_wait fixes:
Andrei Pelinescu-Onciul [Tue, 11 Dec 2007 18:19:58 +0000 (18:19 +0000)]
- io_wait fixes:
     - use the correct flags fo sigio_rt's sigio_band
     - call handle_io for POLLERR & POLLHUP even if not specified among
     the watched events
- tcp: - handle POLLERR & POLLHUP (same way as POLLIN)

13 years ago- Updating the local configuration in the child processes that are
Miklos Tirpak [Tue, 11 Dec 2007 16:15:55 +0000 (16:15 +0000)]
- Updating the local configuration in the child processes that are
forked by modules.

- Per-child process config destroy function is introduced:
should be called when a child process exists, but SER continues
running, not needed to be called otherwise.

13 years agoadded installation of *.sql files for script to Debian package
Pavel Kasparek [Mon, 10 Dec 2007 13:20:58 +0000 (13:20 +0000)]
added installation of *.sql files for script to Debian package

13 years ago- fix for script numeric compares on 64 bit big endian systems
Andrei Pelinescu-Onciul [Sun, 9 Dec 2007 13:15:24 +0000 (13:15 +0000)]
- fix for script numeric compares on 64 bit big endian systems

13 years agodocumenting the configuration framework
Miklos Tirpak [Fri, 7 Dec 2007 16:32:57 +0000 (16:32 +0000)]
documenting the configuration framework

13 years ago- solaris: - use isainfo -n for arch. detection (compile time)
Andrei Pelinescu-Onciul [Thu, 6 Dec 2007 12:22:28 +0000 (12:22 +0000)]
- solaris: - use isainfo -n for arch. detection (compile time)
           - detect/support sun4v
           - compile by default on 64 bits on sparc64

13 years ago- freebsd accept filter fix (it works now)
Andrei Pelinescu-Onciul [Thu, 6 Dec 2007 12:14:47 +0000 (12:14 +0000)]
- freebsd accept filter fix (it works now)

13 years ago- freebsd compile fixes (use struct __res_state* instead of res_state + some
Andrei Pelinescu-Onciul [Thu, 6 Dec 2007 00:07:56 +0000 (00:07 +0000)]
- freebsd compile fixes (use struct __res_state* instead of res_state + some

13 years agofixes to compile on Mac OS X
Nils Ohlmeier [Wed, 5 Dec 2007 23:13:03 +0000 (23:13 +0000)]
fixes to compile on Mac OS X

13 years agofixed typo to fix compilation on OS X
Nils Ohlmeier [Wed, 5 Dec 2007 22:04:41 +0000 (22:04 +0000)]
fixed typo to fix compilation on OS X

13 years ago- close all the unneeded fds in child processes (=> significantly less fds
Andrei Pelinescu-Onciul [Wed, 5 Dec 2007 20:26:58 +0000 (20:26 +0000)]
- close all the unneeded fds in child processes (=> significantly less fds

13 years agoModifying the return value of cfg_set* functions, in order to make
Miklos Tirpak [Wed, 5 Dec 2007 16:30:57 +0000 (16:30 +0000)]
Modifying the return value of cfg_set* functions, in order to make
a difference between variable not found and error cases.

13 years ago- cfg_core.c and cfg_core.h are added to the repository as a placeholder
Miklos Tirpak [Wed, 5 Dec 2007 16:21:36 +0000 (16:21 +0000)]
- cfg_core.c and cfg_core.h are added to the repository as a placeholder
of the core configuration.

- debug level is switched to the new config variable type. From now,
it is changeble runtime.

13 years agoInitialize and destory the configuration framework in main.c,
Miklos Tirpak [Wed, 5 Dec 2007 15:51:24 +0000 (15:51 +0000)]
Initialize and destory the configuration framework in main.c,
and update the local config within the child processes at the
beginning of each loop.

TODO: The local config must be updated in all the modules that
fork a new process implementing an endless loop.

13 years agoLet the config framework compiled together with SER core
Miklos Tirpak [Wed, 5 Dec 2007 15:32:55 +0000 (15:32 +0000)]
Let the config framework compiled together with SER core

13 years agoImplementing a configuration framework, that can be used by SER core,
Miklos Tirpak [Wed, 5 Dec 2007 15:22:01 +0000 (15:22 +0000)]
Implementing a configuration framework, that can be used by SER core,
and by the modules, to get and set internal variables on-the-fly, and
eliminate SER restarts whenever it is possible.

The core and the modules can declare configuration variables, and can
retrieve the value of the variables at any time without performance
overhead. The framework makes sure that the variables do not change
during the SIP message processing, the child processes see a snapshot
of the variables with constant values. The variable, that is changed by
a cfg driver module, will be automatically replaced by the framework
the next time a SIP message is started to be processed.

The drivers can change the value of all the variables by names with or
without the need of commit. That means a kind of transaction support,
the framework can keep track of the changes (per driver) until they
are committed or rolled-back.

13 years ago- tcp support for queueing writes: if some data cannot be written immediately
Andrei Pelinescu-Onciul [Tue, 4 Dec 2007 20:25:29 +0000 (20:25 +0000)]
- tcp support for queueing writes: if some data cannot be written immediately
 on the socket (socket buffers full or still connecting), the data will be
 queued and written at a latter time (max. queue size per socket is controlled
 by tcp_conn_wq_max, timeout by tcp_send_timeout and total queued bytes / max.
 mem. used by tcp_wq_max). By default disabled (experimental), to enable it
  use tcp_buf_write=yes in ser.cfg. To compile without queueing support

13 years ago- io_wait support for write
Andrei Pelinescu-Onciul [Thu, 29 Nov 2007 21:01:45 +0000 (21:01 +0000)]
- io_wait support for write
- io_wait: added io_watch_chg(..)
- updated tcp code to the io_wait api changes

13 years ago- set default tcp options
Andrei Pelinescu-Onciul [Wed, 28 Nov 2007 21:24:32 +0000 (21:24 +0000)]
- set default tcp options

13 years ago- advanced tcp options support:
Andrei Pelinescu-Onciul [Wed, 28 Nov 2007 19:20:47 +0000 (19:20 +0000)]
- advanced tcp options support:
    - support for defering tcp accepts until some data is received
    (linux & freebsd), default off. See NEWS: tcp_defer_accept.
    - support for delaying the final ACK from the 3-way handshake until some
    data is sent (the ACK will come with the 1st data segment). Default on
     when supported (linux only). See NEWS: tcp_delayed_ack.
    - support for limiting the number of retransmitted SYNs (linux only,
     see NEW: tcp_syncnt)
    - support for limiting the lifetime of orphaned sockets in FIN_WAIT2
      (linux only, see NEWS: tcp_linger2)
    - keepalive support, see NEWS: tcp_keepalive (default on), tcp_keepidle,
      tcp_keepintvl and tcp_keepcnt

- the FD cache can now be turned off from ser.cfg (see NEW: tcp_fd_cache)

13 years ago- fix: don't extend the timeout on tcp_send() if the connection is handled
Andrei Pelinescu-Onciul [Wed, 28 Nov 2007 13:39:55 +0000 (13:39 +0000)]
- fix: don't extend the timeout on tcp_send() if the connection is handled
 by a tcp_reader process

13 years ago- for tcp read processes, reuse the read fd for sending
Andrei Pelinescu-Onciul [Tue, 27 Nov 2007 21:05:32 +0000 (21:05 +0000)]
- for tcp read processes, reuse the read fd for sending
- keep a tcp send fd cache (experimental)
(performance improvement)