Andrei Pelinescu-Onciul [Fri, 7 Nov 2008 14:53:35 +0000 (14:53 +0000)]
sctp: new config option: sctp_send_retries
- new ser.cfg option sctp_send_retries + doc
Andrei Pelinescu-Onciul [Fri, 7 Nov 2008 14:53:04 +0000 (14:53 +0000)]
sctp: send retries option and unordered fix
- added a new option for forcing send retries by attempting to re-open
the association (useful for example when a peer reboots or performs a
failover to another host, to avoid loosing the current association send
queue)
- fix: SCTP_UNORDERED properly set
Andrei Pelinescu-Onciul [Fri, 7 Nov 2008 14:52:40 +0000 (14:52 +0000)]
sctp: minor spelling & comments changes
Nils Ohlmeier [Wed, 29 Oct 2008 23:03:22 +0000 (23:03 +0000)]
Fixed: IP address in Warning header was not 3261 ABNF compliant
(discovered at SIPit23)
Andrei Pelinescu-Onciul [Thu, 23 Oct 2008 11:22:19 +0000 (11:22 +0000)]
core: typo fix in ip_addr_loopback()
- compiling ser without -DUSE_IPV6 used to fail because of a misplaced
bracket
Andrei Pelinescu-Onciul [Thu, 23 Oct 2008 11:21:59 +0000 (11:21 +0000)]
dns: comment addition
Maxim Sobolev [Tue, 21 Oct 2008 03:21:38 +0000 (03:21 +0000)]
Don't malloc zero-byte string if the replacement string is empty.
Sponsored by: Sippy Software, Inc.
Debugging: mpatrol
Maxim Sobolev [Tue, 21 Oct 2008 03:10:47 +0000 (03:10 +0000)]
In MDStringArray() don't call MD5Update() on empty elements of array. This
doesn't change checksum, but could cause memory copy to be called with
zero length and/or NULL source/destination.
Sponsored by: Sippy Software, Inc.
Debugging: mpatrol
Maxim Sobolev [Tue, 21 Oct 2008 03:05:33 +0000 (03:05 +0000)]
In get_to_uid() throw an error when username is empty. Judging by the
fact that the get_to_uid() is trying to do zero-byte copy and underlying
consumers doing other nasty things such as trying to allocate 0-byte
memory buffer nobody expects this condition to happen.
Sponsored by: Sippy Software, Inc.
Debugging: mpatrol
Andrei Pelinescu-Onciul [Fri, 17 Oct 2008 19:30:07 +0000 (19:30 +0000)]
dns: fix bug when using srv failover, ipv4 and ipv6
- fix crash during ipv4->ipv6 fallback when doing srv failover and when
listening on both ipv4 and ipv6 addresses (the hostname used in the
AAAA fallback lookup was null).
Reported by: Nils Ohlmeier <nils@iptel.org>.
Andrei Pelinescu-Onciul [Thu, 16 Oct 2008 18:02:50 +0000 (18:02 +0000)]
ipv6: avoid using as default socket a loopback addr.
- prefer non-loopback and non-multicast addresses as default sockets for ipv6
Andrei Pelinescu-Onciul [Thu, 16 Oct 2008 15:17:44 +0000 (15:17 +0000)]
core: attempt harder to filter loopback addresses
- on startup detect not only loopback interfaces (e.g. -l lo) but also
ipv4 and ipv6 loopback addresses (e.g. 127.0.0.1, ::1). This helps filtering
them out when choosing the default socket for each of the protocols.
Andrei Pelinescu-Onciul [Wed, 15 Oct 2008 14:13:56 +0000 (14:13 +0000)]
core: don't force a socket if the dst af is different
- get_send_socket() will now ignore a forced send socket if the destination
address family is different from the forced socket (e.g. force ipv6 but
attempt to send to ipv4). A non-obvious example of a scenario triggering
this bug is registering over ipv4 an ipv6 contact.
Reported by: Nils Ohlmeier <nils@iptel.org>
Andrei Pelinescu-Onciul [Wed, 15 Oct 2008 10:27:47 +0000 (10:27 +0000)]
core: fix socket list iteration
- socket list iteration didn't work properly on ser startup when some
of the protocols where compile-time disabled (no support for them compiled).
Symptomps: ser -l lo -f ser.cfg prints a BUG message and doesn't start.
- small socket list related cleanups
Andrei Pelinescu-Onciul [Tue, 14 Oct 2008 14:13:14 +0000 (14:13 +0000)]
sctp: if SCTP support not compiled, next_proto() shouldn't return SCTP
- minor fix: if no SCTP support was compiled, init_proto_order() didn't
remove PROTO_SCTP references and this caused a BUG message on ser start
Miklos Tirpak [Mon, 13 Oct 2008 14:09:18 +0000 (14:09 +0000)]
CFG_READONLY flag is introduced. Variables marked with this flag
can be stored in the configuration framework even if they are read-only.
Andrei Pelinescu-Onciul [Thu, 9 Oct 2008 07:32:59 +0000 (07:32 +0000)]
sctp: if USE_COMP, set comp to none
Andrei Pelinescu-Onciul [Tue, 7 Oct 2008 11:23:49 +0000 (11:23 +0000)]
sctp: more compatibility changes with old sctp versions
- warn about missing sctp sockopt at compile time too
- fow now ignore sctp adaption layer events (not supported by lksctp
1.0.6 which unfortunately is still widely used)
Andrei Pelinescu-Onciul [Tue, 7 Oct 2008 11:23:23 +0000 (11:23 +0000)]
sctp: suggest kernel upgrade if not all the sctp options are supported
Andrei Pelinescu-Onciul [Tue, 7 Oct 2008 11:22:56 +0000 (11:22 +0000)]
sctp: command line options fix
- some sctp options were untreated in the first getopt() switch, causing ser
to immediately abort() if the options were used
Andrei Pelinescu-Onciul [Tue, 7 Oct 2008 11:22:43 +0000 (11:22 +0000)]
sctp: support for older sctp libraries and autoclose fix
- try to compile even if the used sctp library doesn't support all the
sctp socket options that we would like to set, but warn about it both at
compile time and each time ser is started
- ser -V will print a list of unsupported sctp options (due to missing
support in the sctp library/*.h files that ser was compiled against)
- fix: the autoclose sctp socket option was not properly set (paste typo)
Andrei Pelinescu-Onciul [Tue, 7 Oct 2008 11:22:05 +0000 (11:22 +0000)]
sctp: added sctp_enable and sctp auto mode
- added a new ser.cfg option: sctp_enable = 0|1|2. 0 means disable
(equivalent with sctp_disable=yes), 1 enable (sctp_disable=no) and
2 is auto mode (sctp enabled only if supported by the OS).
- sctp is now by default in auto enable mode: enabled if supported by the OS
Andrei Pelinescu-Onciul [Tue, 7 Oct 2008 11:21:32 +0000 (11:21 +0000)]
dns_*_preference updated to include sctp
Andrei Pelinescu-Onciul [Wed, 1 Oct 2008 17:32:36 +0000 (17:32 +0000)]
sctp: set TOS and ignore unsuported socket options
- set TOS
- ignore non-critical unsuported socket options for better compatibility with
older kernels (e.g. 2.6.18 does not support SCTP_FRAGMENT_INTERLEAVE or
SCTP_PARTIAL_DELIVERY_POINT)
Andrei Pelinescu-Onciul [Wed, 1 Oct 2008 17:32:06 +0000 (17:32 +0000)]
sctp: init function for one-to-one sockets
Andrei Pelinescu-Onciul [Wed, 1 Oct 2008 17:30:57 +0000 (17:30 +0000)]
sctp: cleanup
sctp_init_sock() broken into several functions (sctp_init_su,
sctp_init_sock_opt_common, sctp_bind_sock), to allow for code reuse
with a future sctp one-to-one implementation.
Miklos Tirpak [Mon, 15 Sep 2008 15:53:44 +0000 (15:53 +0000)]
enable is renamed to enabled
Miklos Tirpak [Mon, 15 Sep 2008 15:51:44 +0000 (15:51 +0000)]
enable is renamed to enabled (enable is a keyword)
Pavel Kasparek [Mon, 15 Sep 2008 15:25:10 +0000 (15:25 +0000)]
adding debconf options for disabling replication, which were already there but someone deleted them
Pavel Kasparek [Mon, 15 Sep 2008 14:40:47 +0000 (14:40 +0000)]
typo fixed
Pavel Kasparek [Mon, 15 Sep 2008 14:24:10 +0000 (14:24 +0000)]
Debian packaging - another attempt to make compilation and installation of modules work again: reverting back to using of group_include and adding cleaning of saved config and saved module list before every call to make
Pavel Kasparek [Mon, 15 Sep 2008 13:43:57 +0000 (13:43 +0000)]
Debian packaging - added make modules
Pavel Kasparek [Mon, 15 Sep 2008 13:34:00 +0000 (13:34 +0000)]
Debian packaging - replacing using of include_modules by modules
Pavel Kasparek [Mon, 15 Sep 2008 12:56:27 +0000 (12:56 +0000)]
Debian packaging - trying to make modules installation work again, it installs lot of other modules not specified using include_modules=".."
Pavel Kasparek [Mon, 15 Sep 2008 12:03:19 +0000 (12:03 +0000)]
Debian packaging - forgotten " removed
Pavel Kasparek [Mon, 15 Sep 2008 12:01:24 +0000 (12:01 +0000)]
Debian packaging - fixed wrong format of variables assignment
Pavel Kasparek [Mon, 15 Sep 2008 11:57:27 +0000 (11:57 +0000)]
Debian packaging - replacing inclusion of modules by group by listing them individually
Pavel Kasparek [Mon, 15 Sep 2008 10:11:53 +0000 (10:11 +0000)]
Debian packaging changes:
- removing make proper in libs, which is done by main make proper anyway
- adding more modules to list of excluded modules (temporary hack until group inclusion of modules to compile works)
Pavel Kasparek [Mon, 15 Sep 2008 09:25:41 +0000 (09:25 +0000)]
removing avpops module from list of standard modules, as it is unmaintained and all the AVP functionality is already in the core
Pavel Kasparek [Mon, 15 Sep 2008 07:59:25 +0000 (07:59 +0000)]
adding debconf option for enabling/disabling rtp proxy
Miklos Tirpak [Fri, 12 Sep 2008 11:01:19 +0000 (11:01 +0000)]
rtp_proxy.enable configuration option is introduced, the following
values are supported:
"0" -- disable
"1" -- enable
"detect" -- detect whether the UAC or the UAS is behind NAT, and enable
the RTP Proxy when necessary
WARNING: disabling the RTP Proxy runtime may leave the RTP sessions
being proxied unmaintained.
Andrei Pelinescu-Onciul [Wed, 3 Sep 2008 20:17:04 +0000 (20:17 +0000)]
udp_flood sctp portability fix
- compiles now wit -DUSE_SCTP on freebsd 7.0
Andrei Pelinescu-Onciul [Wed, 3 Sep 2008 20:15:43 +0000 (20:15 +0000)]
sctp enabled for freebsd
- ser can now be compiled on freebsd 7.0 with sctp support
(gmake SCTP=1 cfg-defs ; gmake all)
Andrei Pelinescu-Onciul [Wed, 3 Sep 2008 20:14:22 +0000 (20:14 +0000)]
sctp portability fixes
- the code is now more portable
Andrei Pelinescu-Onciul [Wed, 3 Sep 2008 20:13:23 +0000 (20:13 +0000)]
sctp cfg typo fix
- typo fixed in cfg.lex (the options for setting the send or receive buffer
sizes did not work)
Andrei Pelinescu-Onciul [Wed, 27 Aug 2008 08:39:50 +0000 (08:39 +0000)]
multiple connection support
- enabled support for opening multiple connections (-n con_no)
Andrei Pelinescu-Onciul [Wed, 27 Aug 2008 08:39:12 +0000 (08:39 +0000)]
sctp support
- compile with -DUSE_SCTP -lsctp and using -S command line flag will
cause udp_flood to send packets using SCTP.
Andrei Pelinescu-Onciul [Wed, 27 Aug 2008 08:38:08 +0000 (08:38 +0000)]
sctp minor fix
- ancillary data worked only the first time (msg_control was intialized
only once)
Andrei Pelinescu-Onciul [Wed, 27 Aug 2008 08:36:53 +0000 (08:36 +0000)]
sctp support for more notification
- support all relevant notifications, for now just dump some DBG() info
Andrei Pelinescu-Onciul [Wed, 27 Aug 2008 08:35:19 +0000 (08:35 +0000)]
sctp event notification and ancillary info
- debugging: print stream number, ppid, flags, tsn, cumtsn and assoc_id
for each received packet (DBG())
- handle notifications (for now only print info about them)
Jan Janak [Mon, 25 Aug 2008 14:50:51 +0000 (14:50 +0000)]
- fixed wrong tls config name
Jan Janak [Mon, 25 Aug 2008 14:30:35 +0000 (14:30 +0000)]
- use standalone configuration file for tls
Nils Ohlmeier [Sun, 24 Aug 2008 11:49:01 +0000 (11:49 +0000)]
fixed segfault in case of SCTP failover
Nils Ohlmeier [Sat, 23 Aug 2008 22:15:43 +0000 (22:15 +0000)]
fixed wrong function name in error message
Andrei Pelinescu-Onciul [Tue, 19 Aug 2008 18:37:52 +0000 (18:37 +0000)]
command line support for address lists (-l)
Support for specifying and address list for -l (e.g. -l (foo, bar)). For
sctp all the address in the list will be used for multi-homing.
Andrei Pelinescu-Onciul [Mon, 18 Aug 2008 14:56:32 +0000 (14:56 +0000)]
enable sctp multihoming support
- listen on multiple sctp addresses, the primary address being the first
one in the list.
Andrei Pelinescu-Onciul [Mon, 18 Aug 2008 14:55:13 +0000 (14:55 +0000)]
sctp multi-homing config support
- config support for sctp multi-homing (listen on multiple addresses in the
same time).
Format: sctp:(addr1, addr2, addr3)
sctp:(eth0) -> will listen on all eth0 addresses in the same
time
(eth0,lo) -> sctp will listen on all addresses from eth0 & lo
in the same time, while the other protocols will
create different socket for each of the addresses
(e.g.: for udp it would be equivalent with:
listen= udp:eth0 udp:lo)
The first address is always the main one.
Conflicts are resolved automatically, by removing the duplicates. Main
addresses have priority (e.g: sctp:(lo,eth0) sctp:(eth0,eth1) after
duplicate removal will become sctp:(lo) sctp:(eth0,eth1)).
- try to always keep the order in which listen addresses were given in
config (fixes reordering between interface names and hostnames, e.g.
listen= eth0 foo.bar resulted in ip(foo.bar) , ip(eth0) )
Andrei Pelinescu-Onciul [Mon, 18 Aug 2008 14:49:57 +0000 (14:49 +0000)]
init_naptr_proto_prefs sctp fix
- fixed init_naptr_proto_prefs sanity checks
Andrei Pelinescu-Onciul [Mon, 18 Aug 2008 14:47:33 +0000 (14:47 +0000)]
SCTP protocol name support in ser.cfg
- added missing support for SCTP in proto=..., listen a.s.o
Jan Janak [Thu, 14 Aug 2008 13:17:05 +0000 (13:17 +0000)]
Address of serusers mailing list updated
Andrei Pelinescu-Onciul [Wed, 13 Aug 2008 14:49:46 +0000 (14:49 +0000)]
updated .cvsignore
- added the new autogenerated make related files, *.d, *.so, vi .swp a.s.o
Andrei Pelinescu-Onciul [Tue, 12 Aug 2008 09:51:32 +0000 (09:51 +0000)]
- sctp preference support in naptr queries (added a new ser.cfg option:
dns_sctp_pref, see doc/dns.txt for more details)
Andrei Pelinescu-Onciul [Mon, 11 Aug 2008 17:41:16 +0000 (17:41 +0000)]
- sctp support
- added t_relay_to_sctp(). t_replicate_sctp(), t_forward_nonack_sctp()
Andrei Pelinescu-Onciul [Fri, 8 Aug 2008 20:47:53 +0000 (20:47 +0000)]
- core sctp support
Andrei Pelinescu-Onciul [Fri, 8 Aug 2008 20:47:23 +0000 (20:47 +0000)]
- experimental sctp support (one to many)
Andrei Pelinescu-Onciul [Fri, 8 Aug 2008 20:45:40 +0000 (20:45 +0000)]
- support for sctp
Andrei Pelinescu-Onciul [Thu, 7 Aug 2008 13:29:09 +0000 (13:29 +0000)]
- workaround for type declaration conflicts between linux-libc-dev and libc
headers on x86_64 debian (in one place declared as long int and in another as
long long)
Andrei Pelinescu-Onciul [Thu, 7 Aug 2008 13:15:24 +0000 (13:15 +0000)]
- excluded auth_identity from the default compilation list
Andrei Pelinescu-Onciul [Wed, 6 Aug 2008 15:24:27 +0000 (15:24 +0000)]
- magic include reordering to work around type declaration conflicts between
linux-libc-dev and libc headers in debian
Andrei Pelinescu-Onciul [Tue, 29 Jul 2008 12:06:50 +0000 (12:06 +0000)]
- when starting ser in suid mode (e..g -u user), set also the supplementary
groups of the respective user.
Patch from Marcus Better <marcus@better.se>.
Martin Hoffmann [Mon, 28 Jul 2008 14:58:25 +0000 (14:58 +0000)]
Man pages for auth and avp.
Andrei Pelinescu-Onciul [Thu, 17 Jul 2008 13:37:49 +0000 (13:37 +0000)]
- update: nonce_auth_max_drift, auth_extra_checks split into auth_checks_*
Andrei Pelinescu-Onciul [Thu, 17 Jul 2008 10:12:07 +0000 (10:12 +0000)]
- fix: ifdef __CPU_i386 define __CPU_x86
Andrei Pelinescu-Onciul [Thu, 17 Jul 2008 07:51:34 +0000 (07:51 +0000)]
- ser equivalents to time(2) and gettimeofday(2), using internal ser time
(faster then making a syscall, but at least in the gettimeofday case more
imprecise, can be about 0.1-0.2 s off)
Libor Chocholaty [Mon, 14 Jul 2008 13:37:42 +0000 (13:37 +0000)]
added function qm_check\(\) which checks integrity of pkg mem.
If you have a problem with memory you can include qm_check() into lovely places in your code and at these checkpoints
integrity pf pkg memory will be checked.
Andrei Pelinescu-Onciul [Mon, 14 Jul 2008 13:14:11 +0000 (13:14 +0000)]
- makecfg.lst INCLUDES comparison allows now for differences in whitespace
(thank to Pavel Kasparek <pavel@iptel.org>)
Andrei Pelinescu-Onciul [Thu, 10 Jul 2008 17:11:03 +0000 (17:11 +0000)]
- auth update
Andrei Pelinescu-Onciul [Wed, 9 Jul 2008 20:25:05 +0000 (20:25 +0000)]
- update (recent auth changes)
Andrei Pelinescu-Onciul [Wed, 2 Jul 2008 12:07:37 +0000 (12:07 +0000)]
- base64 init and endianness checks on startup
Andrei Pelinescu-Onciul [Tue, 1 Jul 2008 21:56:06 +0000 (21:56 +0000)]
- typo
Andrei Pelinescu-Onciul [Tue, 1 Jul 2008 20:33:20 +0000 (20:33 +0000)]
- added fast base64 and base16 encoders/decoders along with test program and
some results
Andrei Pelinescu-Onciul [Tue, 1 Jul 2008 20:31:55 +0000 (20:31 +0000)]
- moved modules list from config.mak to modules.lst and added modules list
reconfigure targets: make modules-cfg ... (this allows changing the modules
list without triggering a complete recompile)
- added make cfg-defs which would change only the build options, without
modifying the modules list
Martin Hoffmann [Tue, 1 Jul 2008 18:00:31 +0000 (18:00 +0000)]
Don't include stuff in man pages that is marked rule="admin-guide"
Andrei Pelinescu-Onciul [Sat, 28 Jun 2008 20:45:10 +0000 (20:45 +0000)]
- added clean-all and proper-all (like clean and proper but work on all the
modules, not only the one currently configured)
Andrei Pelinescu-Onciul [Sat, 28 Jun 2008 20:16:36 +0000 (20:16 +0000)]
- added install-modules-man and made make install also imake & install the
modules man pages (if present)
- added try_err function to Makefile.shared, for checking and reporting if
a shell command failed (if err_fail is 1 it will also force an error return
from the current makefile subshell)
- install-share, install-utils, install-modules-doc, install-modules-man will
now fail if err_fail=1 (default) and one of the individual file install
fails. Closes SER-389.
Andrei Pelinescu-Onciul [Sat, 28 Jun 2008 17:51:20 +0000 (17:51 +0000)]
- first compile all the code and then install (at the price of slightly
slower make install)
Closes SER-390.
Andrei Pelinescu-Onciul [Sat, 28 Jun 2008 00:36:56 +0000 (00:36 +0000)]
- new files needed by the improved build system
Andrei Pelinescu-Onciul [Sat, 28 Jun 2008 00:35:25 +0000 (00:35 +0000)]
- experimental make cfg /config support: make cfg fore regeneration of the
"build" config, saved in config.mak. This config is used instead of
including Makefile.defs each time. The config is also automatically
generated if missing. The speed improvements are dramatic in most cases:
make proper 15 times faster, make clean 8 times, make with generated
config 2.6 times faster then before, make rebuilding only one file 9 times
faster.
E.g.: make cfg include_modules=mysql CPU=pentium-m BASEDIR=/tmp/ser
make install # builds default ser + mysql, optimized for pentium-m
# and installs in /tmp/ser/usr/local/*
make clean # cleans default modules + mysql
Jan Janak [Thu, 26 Jun 2008 12:33:23 +0000 (12:33 +0000)]
ignore ser tarballs
Jan Janak [Thu, 26 Jun 2008 12:12:42 +0000 (12:12 +0000)]
- .cvsignore with libprint.so.* added
Jan Janak [Thu, 26 Jun 2008 12:11:42 +0000 (12:11 +0000)]
- .cvsignore with libser_presence.so.* added
Jan Janak [Thu, 26 Jun 2008 12:09:12 +0000 (12:09 +0000)]
- adding .cvsignore with libser_cds.so.*
Jan Janak [Thu, 26 Jun 2008 12:06:03 +0000 (12:06 +0000)]
- adding .cvsignore with sercmd
Andrei Pelinescu-Onciul [Thu, 26 Jun 2008 10:08:03 +0000 (10:08 +0000)]
- missing include Makefile.targets
Andrei Pelinescu-Onciul [Thu, 26 Jun 2008 09:08:53 +0000 (09:08 +0000)]
- don't try to autodetect libreadline for a no-build target
(e.g. clean). It uses Makefile.targets to get the list of no code-building
targets.
Andrei Pelinescu-Onciul [Thu, 26 Jun 2008 09:07:35 +0000 (09:07 +0000)]
- don't try to build dependencies or lex/yacc stuff unless it's really
necessary (makefile target != clean,doc,modules, a.s.o ; for the complete
long list see Makefile.targets)
Jan Janak [Thu, 26 Jun 2008 00:54:13 +0000 (00:54 +0000)]
- support for files installed in '*/share/ser'
- replace the path to sql files in ser_mysql.sh during install
- install SQL files for mysql
(to be continued)
Jan Janak [Thu, 26 Jun 2008 00:43:06 +0000 (00:43 +0000)]
- removed version table which is not needed anymore in 2.1
Jan Janak [Thu, 26 Jun 2008 00:27:56 +0000 (00:27 +0000)]
- reindented
Jan Janak [Thu, 26 Jun 2008 00:08:55 +0000 (00:08 +0000)]
More flexible configuration of the path to the source database
templates. There is a new configuration option in the script containing
the default path to the directory containing source database templates. The
value of that option will be updated during make install. Relative pathnames
are converted to absolute pathnames with respect to the location of the
ser_dbtext.sh script.