parser: const-correctness for some module utility functions
[sip-router] / ISSUES
1 #
2 # $Id$
3 #
4
5 This is a collection of issues which have shown up
6 since the version 0.8.8 was released. The issues are
7 ordered by numbers of ser versions to which they relate,
8 beginning with the newest release. Issues related to
9 operating systems are summarized in the bottom.
10 --------------------------------------------------------------
11 Desc: tls triggered crash on system with kerberos enabled openssl libs
12 Ser version:  0.10.x, 0.9.x
13 Reason:  there is a bug in the openssl kerberos code (kssl.c): 
14          libc malloc/free/calloc are used instead of the OPENSSL
15          versions. In ser ssl connections move between processes and
16          if normal mallocs are used (instead of ser shm versions) a
17          crash will occur eventually.
18          Quick openssl kerberos support check: 
19              grep OPENSSL_NO_KRB5 openssl/opensslconf.h
20          If the above command returns no result => openssl is compiled with
21          kerberos support.
22 Workaround: use openssl versions not compiled with kerberos support or
23             try a late ser 0.10.x version compiled on the target machine
24             (its very important to compile against the same openssl library
25              as the one on the target machine)
26 CVS status: fixed / workarround enabled
27 --------------------------------------------------------------
28 Desc: ser crashes on startup if a group is specified (-g or group=)
29 Ser version:  <=0.8.12
30 Reason:  bad copy & paste :-)
31 Patch: http://www.mobile-ip.de/~andrei/ser/main_group.patch
32 Workaround: update from cvs or  apply the corresponding patch
33 CVS status: fixed
34 --------------------------------------------------------------
35 Desc: textops search REs like "^From" fail to match on RH8
36 Ser version: all
37 Reason: there is a bug in RH8 libc, this kind of REs will never match
38         in case insensitive mode
39 Test:  compile test/re_test.c (gcc re_test.c -o re_test) and try
40         echo -e "From:\nTo:" |./re_test -v '^From'
41        if your system is ok you should see 1 match, if not (and 
42        your libc has this bug), 0 matches.
43 Workaround: ?upgrade?
44 --------------------------------------------------------------
45 Desc: textops REs match newline in constructs such [^@]
46 Ser version: all 
47 Reason: there is a bug in newer linux libc versions (at least in
48          Debian libc6 2.3.x, Gentoo 1.4 lib 2.3.2, RH8, RH9, Fedora)
49 Test:  compile test/re_test.c (gcc re_test.c -o re_test) and try
50         echo -e "From:\nTo:" |./re_test -v '[^.]+'
51        if your system is ok you should see 2 matches, if not (and 
52        your libc has this bug), only 1 match.
53 Workaround: - use an older or fixed libc6 or avoid [^something]
54              - rewrite [^something] as [^something[:cntrl:]]
55 ---------------------------------------------------------------
56 Desc: memory leaks occurs if SIP requests are processed in which
57       a Via header field occurs in end of header and includes
58       a parameter
59 Ser version: 0.8.10
60 Reason: parameter fragment is not linked to a list when EoH is
61         encountered
62 Patch: http://www.iptel.org/ser/issues/via_ml_0810.patch
63 CVS Status: fixed
64 ---------------------------------------------------------------
65 Desc: ser segfaults on receipt of some messages (occurs
66       rather rarely with a very high number of messages, 
67       typically during stress tests)
68 Ser version: 0.8.10 and before
69 Reason: valid TM label value 0 is considered mistakenly 
70         a special value
71 Workaround: turn syn_branch config option off
72 Patch: http://www.iptel.org/ser/issues/hash_fix.patch
73 CVS Status: fixed
74 ---------------------------------------------------------------
75 Desc: serctl returns "read: Illegal option -s" for "add user"
76 Ser version: 0.8.10 and before
77 Reason: serctl's use of some shell script commands not portable
78 Workaround: download serctl 1.45 and set SUBSCRIBER_COLUMN back
79             to user_id
80 Download: http://cvs.berlios.de/cgi-bin/viewcvs.cgi/*checkout*/ser/sip_router/scripts/sc?rev=1.45
81 CVS Status: fixed
82 ---------------------------------------------------------------
83 Desc: 3261 ACKs for 200s are consumed by stateful processing
84 Ser version: 0.8.10
85 Reason: 200/ACKs which happen to have the same transaction ID
86         as original INVITE were not distinguished from hbh
87         ACKs and consequently absorbed
88 Patch: http://www.iptel.org/ser/issues/tid3261ack.patch
89 Workaround: apply the patch to 0.8.10 sources
90 CVS status: fixed
91 ---------------------------------------------------------------
92 Desc: on sparc machines, usage of mysql library causes a bus error
93 Ser version: 0.8.10
94 Reason: ser is compiled with DBG_QM_MALLOC, which mistakenly uses
95         only alignment of four (ROUNDTO) -- insufficient for sparc
96         boxes, mysql library uses long long
97 Workaround: recompile with DBG_QM_MALLOC turned off or ROUNDTO redefined
98             to 8
99 CVS status: fixed
100 ---------------------------------------------------------------
101 Desc: nonce validation doesn't work correctly on big endian machines.
102 BugId: 498
103 Ser version: 0.8.10
104 Patch: http://iptel.org/~janakj/nonce.c.patch
105 Workaround: Apply the patch to 0.8.10 sources
106 CVS status: fixed
107 ---------------------------------------------------------------
108 Desc: ser 0.8.10 memory leak when an INVITE containing Route
109       header fields is received.
110       Symptoms: ser reports No memory left or crashes with BUG: qm_*: fragm.
111 BugId:n/a
112 Ser version: 0.8.10
113 Patch: http://iptel.org/~janakj/invroute.patch
114 Workaround: Apply the patch to 0.8.10 sources
115 CVS status: fixed
116 ---------------------------------------------------------------
117 Desc: ser 0.8.10 fails to remove consumed verified credentials properly
118       and leaves characters in forwarded messages when consume_credentials
119       is used
120 BugId:n/a
121 Ser version: 0.8.10
122 Module:     http://www.iptel.org/~jiri/ser/auth.tar.gz
123 Workaround: compile the auth module newly from sources above or
124             don't remove credentials (they only harm in terms of
125             packet size)
126 CVS status: fixed
127 ---------------------------------------------------------------
128 Desc: ser 0.8.10 and earlier versions crash if contact list
129       excessively long
130 BugId: n/a
131 Ser version: 0.8.8, 0.8.9, 0.8.10
132 Patch: http://www.iptel.org/ser/security/secalert-002-0_8_10.patch
133 Workaround: apply the patch to 0.8.10 sources
134 CVS status: fixed 
135 ---------------------------------------------------------------
136 Desc:  ser 0.8.10 won't compile with bison 1.75
137 BugId:  n/a
138 Ser version: 0.8.8, 0.8.9, 0.8.10 
139 Patch: 
140  0.8.10 http://www.mobile-ip.de/~andrei/ser/0.8.10/ser-0.8.10-bison-1.75.patch
141  0.8.9  http://www.mobile-ip.de/~andrei/ser/0.8.9/ser-0.8.9-bison-1.75.patch
142 Workaround: update from cvs,  apply the corresponding patch or downgrade bison
143 CVS status: fixed
144 ---------------------------------------------------------------
145
146 =================================================================================
147 * ser 0.8.10 released, all the issues below this are fixed in ser 0.8.10, all the
148 * issues above are not :-)
149 =================================================================================
150
151 Desc:  ser 0.8.9 won't log to stderr or syslog unless dontfork is set
152         (introduced when trying to fix bug 376)
153 BugId:  n/a
154 Ser version: =0.8.9 (0.8.8 is ok)
155 Patch: http://www.mobile-ip.de/~andrei/ser/0.8.9/ser-0.8.9_log.patch
156 Workaround: update from cvs or apply the patch.
157 CVS status: fixed
158 ---------------------------------------------------------------
159 Desc: local domain mismatch resulting in infinite loops
160       (With default configuration and domain names in a request
161       URI's, ser may not match "owned domain" in the
162       script's uri==myself condition, consider the request to
163           be for outside domain, and forward it to itself, resulting
164           in an infinite loop and "482" returned back to UAC.)
165 BugId: n/a
166 Reason: aliases do not support reverse DNS lookups yet
167 Workaround: Start ser with "alias=hostname" in config file
168 CVS status: fixed
169 ---------------------------------------------------------------
170 Desc: sendto problems on FreeBSD
171       (when using tm sendto fails because of bad sockaddr len passed
172         to it)
173 BugId: n/a
174 Workaround:  update from cvs or  apply the following patch: 
175    http://www.mobile-ip.de/~andrei/ser/0.8.9/update_sock_struct_from_ip.patch
176 CVS status:  fixed
177 ---------------------------------------------------------------
178 Desc: full ipv6 addresses (w/o ::) are converted to 0:0:0:0:0:0:0
179       (ser will listen on :: instead of the specified address)
180 BugId: n/a
181 Workaround: use ipv6 addresses w/ :: or compile ser without -DDNS_IP_HACK 
182             (Makefile.defs).
183 CVS status: fixed
184
185 ================================================================================
186 * ser 0.8.9 released, all the issues below this are fixed in ser 0.8.9, all the
187 * issues above are not :-)
188 ================================================================================
189
190 Desc: in default configuration, SER prints '127.0.0.1' in
191       Warning header field of all replies
192 BugId: 372
193 Workaround: use listen=<ip_address> in your configuration file;
194       that will make SER listen only on one interface (and not
195       on '127.0.0.1' in parallel) and advertise correct IP
196       address
197 Bug reason: multiple listening address ignored in message
198       translator
199 CVS status: fixed
200 ---------------------------------------------------------------
201 Desc: serctl add ... returns "user exists"
202 BugId: 374
203 Workaround: either use serweb for adding new users or update
204       the serctl utility from CVS; the fixed version is at
205       http://www.iptel.org/ser/issues/374/
206 Bug reason: phplib_id ignored in sc
207 CVS Status: fixed
208 ---------------------------------------------------------------
209 Desc: SMS, MSILO & JABBER modules fail to load because of unresolved
210 dependency on im.so
211 BugId: 375
212 Workaround: change the makefiles & recompile  
213 Bug reason: removal of RTLD_GLOBAL from dlopen.
214 CVS status: fixed 
215 ---------------------------------------------------------------
216 Desc: when forking & std_error=yes no open FD is closed
217 BugId: 376
218 CVS status: fixed
219 ---------------------------------------------------------------
220 Desc: exec module missing in binary RPM distro
221 BugId: -
222 CVS status: fixed
223 Workaround: compile from source distribution
224 ---------------------------------------------------------------
225 Desc: when debug=3 & iptel.cfg is used mysql module fails in submit_query.
226 Workaround: use debug=9 or use log_stderr
227 Reason: unknown
228 BugId: 377
229 Cvs status: not fixed
230
231
232 ================================================================================
233 * OS-related issues
234 ================================================================================
235
236 ----------------------------------------------------------------
237 Desc:  ser won't run on linux kernels <2.4  (fails with EINVAL when
238       initializing the shared memory)
239 BugId:  n/a
240 Ser version: 0.8.8, 0.8.9, 0.8.10 
241 Workaround: Upgrade to a 2.4.* kernel (older kernels don't support shared 
242             mmaping of /dev/zero ) or recompile ser with SYSV shm instead of
243             mmap (remove -DSHM_MMAP from Makefile.defs)
244 CVS status: n/a
245 ---------------------------------------------------------------
246 Desc: Solaris resolver memory leak
247           (getipnodebyname on Solaris has a memory leak. unpatched
248           solaris 8 installations will fail after processing 
249           ~ 360000 requests)
250 BugId: n/a
251 CVS status: n/a
252 Workaround: patch your Solaris OS
253 ---------------------------------------------------------------