TODO
1f531ed6
 $Id$
 
f20a56a2
 ( - todo, x - done)
 
3e8c3475
 release:
5dcfb23d
 - fix -march=..., or compile w/ i386 for the release
e09e5e44
 x resolver should resolve [ipv6]
3e8c3475
 - remove parse_uri debugging info
 - fix DBG("<%.*s>", len, _null_)
e09e5e44
 x add -t, -w, -u -g equivalents to the config file
3e8c3475
 x force add rport : force_rport()
 - kill all the fprintf
 see also tcp & tm
 
 
 
 not so critical:
d31fcdf0
 x replace  remaining mallocs/frees at least in msg_translator.c
b748ffc7
 - add $(INCLUDES) to the Makefiles
d31fcdf0
 x make ser suncc ready
e4067ffb
 - fix parse_cseq!!! (it doesnt parse 1234\n INVITE a.s.o)
49ee1aa0
 x fix 0 parameter module f. call
 x better Via parsing (handle ' ' in uri, eg: foo.bar : 1234 ; received=) and
1f531ed6
  ipv6 addresses ([fec0:aa::01]).
831faabf
 - fix format string vulnerability in log()
ab130758
 - fix alignment access problems (warning on Sun)
49ee1aa0
 x (different way) add request header bitmap field for the modules
c9fc9d63
 - introduce variables & function in the script language (cfg. file)
d31fcdf0
 - ? variable number of params functions in script (no longer limited to 2)?
7ec958f3
 - kill bind_idx
3e8c3475
 x fix bind_address for tcp (in some  way)
f15bede1
 - add conflict in debs/rpms/etc (conflict w/ older ser-mysql, ser-jabber)
 - new packages ser-radius etc
21e0d5c1
 - tcp_destroy (called on ser exit)
4b50480e
 - BUG:?? ipv6 only and try to send to ipv4 => getsendsocket=>0 (send_ipv6=0)
   the reverse is also true
c9fc9d63
 
1f531ed6
 
 High priority:
8aeb47e2
 x- parse_uri should not copy anymore the uri members (and it should not 0
6ee62314
  terminate them anylonger).
caf80ae6
 x fix/replace T_REF/T_UNREF
 x review all the tm locking
f20a56a2
 x if () {} else {}
223ec030
 x plugin interface
c9fc9d63
 x ipv6 support
caf80ae6
 x reply ("response line")
 x drop ACKs for our replies
1f531ed6
 - icmp error handling
caf80ae6
 x add To-tag (for the replies)
 x add User-Agent (for the replies)
1f531ed6
 
 Low priority:
c9fc9d63
 x fix via address someday
8fac7c9d
 - fix listen=0.0.0.0 case
c9fc9d63
 x forward to received= if present
6eb22d94
 - make it easier to register a statically linkable module.
f3f0a4de
 x add support for -u user and -g group (not only -u uid, -g uid)
c9ca45b3
 - change uid/gid after opening the sockets
831faabf
 - exec improvments (add format strings to it)
f20a56a2
 - command line switch for checking the config file syntax
45072d7a
 - config file version (a la sendmail)
caf80ae6
 0 loop detection
1f531ed6
 - cfg. file reload
 - flags for using names or ip adresses in Via ?
 
49ee1aa0
 x handle SIGCHLD, SIGHUP
92d818f3
 - use a  standard lex compatible .lex format (instead of flex)
d31fcdf0
 x try & use native compiler & ld if possible
45072d7a
 
c9fc9d63
 x make install
f3f0a4de
 x init.d scripts (and rc.local? for *BSD or Slackware)
c9fc9d63
 x man page
550bb8c3
 - autoconf scripts
c9fc9d63
 x Debian package build files
 x the same for rpm
550bb8c3
 - the same for FreeBSD and Slackware
 
 
caf80ae6
 x jku: branch hash computation over canonical values
 0 jku: loop checking
0a6afa42
 - jku: try CRC as opposed to MD5
e833d08a
 
 
6ee62314
 x freopen stdin, stdout, stderr to /dev/null
f2f969dd
 - add a section on building ser & configuring it for maximum performance
  (-DF_MALLOC, -DNO_DBG, ... sip_warning=0, a.s.o)
20581c5a
 x add src_port, dst_port, proto to cfg.{y,lex}
8aeb47e2
 x generic locking lib
d31fcdf0
 x convert tm to use new locking lib
e29d027b
 
d31fcdf0
 optimizations:
 - better timer interface with hashes (a la openbsd)
20581c5a
 - change lumps (flags for malloc type, recursive? see COND lumps )
d31fcdf0
 - atomic ops?
 - assembly for some very common used function
 - getsock* cache
 - fd cache for tcp_send
 - dns cache?
 
 
 tcp stuff:
5dcfb23d
 - timeout on long sends
d31fcdf0
 x tcp disable nagle 
4290c43f
 x set TOS to minimize delay
d31fcdf0
 - tcp locking/atomic ops review
80c40124
 - tcp fix simultaneous connects (ser process is blocked until connect timeouts
  => possible DOS)
d31fcdf0
 
d531a5d5
 tm optimizations:
 
 - replace snprintfs int build_uac_request, *_dlg
 - fix the huge param no. in this functions (use structs if neccessary):
   build_uac_request, build_uac_request_dlg, t_uac, t_uac_dlg
5dcfb23d
 - uri2proxy - t_uac_dlg => extra malloc/free (no �roxy needed here)
d531a5d5