Skip to content

Commit cffe9e8

Browse files
committed
Merge branch 'develop'
2 parents 27eec22 + d05b1e4 commit cffe9e8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+4669
-1032
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
OpenLI -- open source ETSI-compliant Lawful Intercept software
22

3-
Version: 1.1.10
3+
Version: 1.1.11
44

55
---------------------------------------------------------------------------
66

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Super primitive configure script
22

3-
AC_INIT([openli],[1.1.10],[[email protected]])
3+
AC_INIT([openli],[1.1.11],[[email protected]])
44

55
AM_INIT_AUTOMAKE([subdir-objects])
66
AC_CONFIG_SRCDIR(src/collector/collector.c)

debian/changelog

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
openli (1.1.11-1) unstable; urgency=medium
2+
3+
* SIP: fix crash when processing an INVITE where the SDP address is
4+
missing but the SDP username is present.
5+
* SIP: add ability to extract target usernames from tel: URIs.
6+
* RADIUS: fix memory leak when RADIUS sessions have multiple usable
7+
identities.
8+
* Collector: add ability to use multiple threads for SIP parsing.
9+
* Collector: merged capabilities of SMS threads into the new SIP parsing
10+
threads. Standalone SMS interception threads now no longer exist.
11+
* Collector: add configuration option to specify a coremap for an
12+
individual input.
13+
* Collector: improved packet processing thread performance by avoiding
14+
fragment offset calculations if the packet is clearly not a fragment.
15+
* Collector: improved encoding performance by pre-encoding certain
16+
members of the IPAddress structure that are likely to occur frequently.
17+
* Collector: improved TCP reassembly performance by replacing regular
18+
sorting of TCP segments with an in-order insertion.
19+
* SIP: improved SIP parsing performance by avoiding CSeq extraction from
20+
responses when there are no relevant unresponded requests.
21+
* Collector: improved TCP reassembly performance by automatically skipping
22+
ACKs without data.
23+
* Collector: fix deadlock on exit problems caused when threads exited in
24+
a bad order.
25+
* SIP: fix crashes when a TCP stream had to be reset due to packet loss.
26+
* Collector: improved packet processing performance by skipping the
27+
static IP intercept code path for IP packets in situations where there
28+
were no static IP intercepts configured.
29+
30+
-- Shane Alcock <[email protected]> Sat, 11 Jan 2025 15:32:04 +1300
31+
132
openli (1.1.10-2) unstable; urgency=medium
233

334
* Add explicit version to libwandder2 dependency to force upgraded

debian/openli-mediator.service

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[Unit]
22
Description=OpenLI mediator daemon
33
After=network.target
4+
Wants=rabbitmq-server.service
45

56
[Service]
67
Type=forking

doc/CollectorDoc.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,8 @@ The basic option keys are:
222222
* gtpthreads -- set the number of threads to use for processing GTP
223223
traffic (defaults to 1, can be set to zero to disable
224224
GTP session tracking).
225-
* smsthreads -- set the number of threads to use for intercepting SMS
226-
messages (defaults to 1, can be set to zero to disable
227-
SMS interception).
225+
* sipthreads -- set the number of threads to use for processing SIP
226+
traffic (defaults to 1, cannot be set to zero).
228227
* emailthreads -- set the number of threads to use for processing email
229228
traffic (defaults to 1, can be set to zero to disable
230229
email interception).

doc/exampleconfigs/collector-example.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ encoderthreads: 2
2929
forwardingthreads: 1
3030

3131
# Number of threads to use for parsing GTP traffic to intercept mobile
32-
# data session. Can be set to zero if the collector will not see GTP traffic.
32+
# data sessions. Can be set to zero if the collector will not see GTP traffic.
3333
gtpthreads: 1
3434

35-
# Number of threads to use for intercepting SMS messages sent over SIP
36-
# Can be set to zero if the collector will not see SMS over SIP.
37-
smsthreads: 1
35+
# Number of threads to use for parsing SIP traffic to intercept voice calls
36+
# and SMS messages over SIP. You must have at least one SIP thread.
37+
sipthreads: 2
3838

3939
# Number of threads to use for parsing email traffic (SMTP, IMAP, and POP3).
4040
# Can be set to zero if the collector will not see email traffic, or you are

rpm/openli.spec

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Name: openli
2-
Version: 1.1.10
3-
Release: 2%{?dist}
2+
Version: 1.1.11
3+
Release: 1%{?dist}
44
Summary: Software for performing ETSI-compliant lawful intercept
55

66
License: GPLv3
@@ -284,6 +284,9 @@ fi
284284

285285

286286
%changelog
287+
* Wed Nov 20 2024 Shane Alcock <[email protected]> - 1.1.11-1
288+
- Updated for 1.1.11 release
289+
287290
* Mon Nov 4 2024 Shane Alcock <[email protected]> - 1.1.10-1
288291
- Updated for 1.1.10 release
289292

src/Makefile.am

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ openlicollector_SOURCES=collector/collector.c configparser.c configparser.h \
4949
collector/alushim_parser.c collector/alushim_parser.h \
5050
collector/cisco_parser.c collector/cisco_parser.h \
5151
collector/ipiri.c collector/ipiri.h \
52-
collector/collector_sync_voip.c \
53-
collector/collector_sync_voip.h collector/export_shared.h \
52+
collector/export_shared.h \
5453
collector/reassembler.h collector/reassembler.c \
5554
collector/collector_publish.c collector/collector_publish.h \
5655
collector/encoder_worker.c collector/encoder_worker.h \
@@ -73,11 +72,14 @@ openlicollector_SOURCES=collector/collector.c configparser.c configparser.h \
7372
collector/etsiencoding/ipmmiri.c \
7473
collector/etsiencoding/epsiri.c collector/epsiri.h \
7574
collector/etsiencoding/epscc.c collector/epscc.h \
76-
collector/sms_worker.c collector/sms_worker.h \
75+
collector/sip_worker.c collector/sip_worker.h \
76+
collector/sip_update_state.c \
7777
collector/gtp_worker.c collector/gtp_worker.h \
78-
collector/gtp.h \
78+
collector/gtp.h collector/sms_masking.c \
7979
collector/location.c collector/location.h \
8080
collector/collector_util.c collector/collector_util.h \
81+
collector/sip_worker_redirection.c \
82+
collector/sip_worker_redirection.h \
8183
$(PLUGIN_SRCS)
8284

8385
openlicollector_LDADD = @ADD_LIBS@ -L$(abs_top_srcdir)/extlib/libpatricia/.libs

src/collector/accessplugins/radius.c

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1638,14 +1638,25 @@ static access_session_t *radius_update_session_state(access_plugin_t *p,
16381638
}
16391639

16401640
if (raddata->msgtype == RADIUS_CODE_ACCOUNT_REQUEST) {
1641+
reqid = DERIVE_REQUEST_ID(raddata, raddata->msgtype);
1642+
1643+
if (raddata->savedreq) {
1644+
if (raddata->savedreq->reqid == reqid) {
1645+
goto usessupdate;
1646+
}
1647+
release_attribute_list(&(glob->freeattrs),
1648+
raddata->savedreq->attrs);
1649+
release_saved_request(&(glob->freeaccreqs), raddata->savedreq);
1650+
raddata->savedreq = NULL;
1651+
}
1652+
16411653
if (glob->freeaccreqs == NULL) {
16421654
req = (radius_saved_req_t *)malloc(
16431655
sizeof(radius_saved_req_t));
16441656
} else {
16451657
req = glob->freeaccreqs;
16461658
glob->freeaccreqs = req->next;
16471659
}
1648-
reqid = DERIVE_REQUEST_ID(raddata, raddata->msgtype);
16491660

16501661
req->reqid = reqid;
16511662
req->statustype = raddata->accttype;
@@ -1736,6 +1747,7 @@ static access_session_t *radius_update_session_state(access_plugin_t *p,
17361747
}
17371748
}
17381749

1750+
usessupdate:
17391751
JLG(pval, raduser->sessions, raddata->acctsess_hash);
17401752
if (pval == NULL) {
17411753
usess = calloc(1, sizeof(radius_user_session_t));

0 commit comments

Comments
 (0)