Skip to content

Commit 06b015e

Browse files
committed
Merge branch 'develop'
2 parents a8373db + d4bd04a commit 06b015e

39 files changed

+1373
-1274
lines changed

.github/workflows/deb-build.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ jobs:
2121
- "ubuntu:xenial"
2222
- "ubuntu:bionic"
2323
- "ubuntu:focal"
24-
- "ubuntu:groovy"
2524

2625
steps:
2726
- name: Checkout repo

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.0.10
3+
Version: 1.0.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.0.10, salcock@waikato.ac.nz)
3+
AC_INIT(openli, 1.0.11, salcock@waikato.ac.nz)
44

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

debian/changelog

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,26 @@
1+
openli (1.0.11-1) unstable; urgency=medium
2+
3+
* Improved collector encoding performance by saving and reusing
4+
previously-encoded records that have the exact same layout.
5+
* Improved encoding performance at high packet rates by sending encoded
6+
records to the forwarding thread in batches.
7+
* Mediators will now actively avoid splitting a record across multiple send
8+
calls wherever possible.
9+
* Fixed bug where a collector would simply stop forwarding records for an
10+
LIID on to the mediator for no apparent reason, especially when more
11+
encoder threads were being used.
12+
* Fixed bug where encoding jobs would be lost without being seen by the
13+
encoder thread.
14+
* Fixed performance-related issue where an overwhelmed mediator would never
15+
send data to its handovers.
16+
* Fixed crash in mediator after a handover is disconnected for failing to
17+
send a keep alive response.
18+
* BER encoding optimization has been removed.
19+
* Fix issue where collector memory usage would be extremely high when under
20+
load.
21+
22+
-- Shane Alcock <shane.alcock@waikato.ac.nz> Wed, 21 Jul 2021 10:56:13 +1200
23+
124
openli (1.0.10-1) unstable; urgency=medium
225

326
* Intercepts can now be configured with a start and/or end time (unix

debian/compat

Lines changed: 0 additions & 1 deletion
This file was deleted.

debian/control

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ Source: openli
22
Section: net
33
Priority: optional
44
Maintainer: Shane Alcock <shane.alcock@waikato.ac.nz>
5-
Build-Depends: debhelper (>= 9), dh-autoreconf, dh-systemd (>=1.5),
6-
libtrace4-dev (>= 4.0.14), libyaml-dev, uthash-dev, libwandder2-dev,
5+
Build-Depends: debhelper-compat (= 12), dh-autoreconf, dh-systemd (>=1.5),
6+
libtrace4-dev (>= 4.0.16), libyaml-dev, uthash-dev, libwandder2-dev,
77
libjudy-dev, libzmq3-dev, libgoogle-perftools-dev, libosip2-dev,
88
libssl1.0-dev (>=1.0.2r) | libssl-dev, librabbitmq-dev,
99
libmicrohttpd-dev, libjson-c-dev, libsqlcipher-dev

debian/rules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/make -f
22
%:
33

4-
dh $@ --with=systemd --with autoreconf
4+
dh $@ --with autoreconf
55

66

77
override_dh_auto_configure:

debpkg-setup.sh

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export SOURCENAME=`echo ${GITHUB_REF##*/} | cut -d '-' -f 1`
1111
apt-get update
1212
apt-get install -y equivs devscripts dpkg-dev quilt curl apt-transport-https \
1313
apt-utils ssl-cert ca-certificates gnupg lsb-release debhelper git \
14-
pkg-config
14+
pkg-config sed
1515

1616
DISTRO=$(lsb_release -sc)
1717

@@ -21,8 +21,23 @@ curl -1sLf 'https://dl.cloudsmith.io/public/wand/libtrace/cfg/setup/bash.deb.sh'
2121
curl -1sLf 'https://dl.cloudsmith.io/public/wand/openli/cfg/setup/bash.deb.sh' | bash
2222

2323
case ${DISTRO} in
24-
jessie | xenial | stretch )
24+
xenial )
2525
curl -1sLf 'https://dl.cloudsmith.io/public/wand/dpdk-wand/cfg/setup/bash.deb.sh' | bash
26+
apt-get install -y debhelper dh-systemd -t xenial-backports
27+
sed -i 's/debhelper-compat (= 12)/debhelper (>= 10)/' debian/control
28+
sed -i 's/--with auto/--with=systemd --with auto/' debian/rules
29+
echo "10" > debian/compat
30+
;;
31+
32+
stretch )
33+
curl -1sLf 'https://dl.cloudsmith.io/public/wand/dpdk-wand/cfg/setup/bash.deb.sh' | bash
34+
sed -i 's/debhelper-compat (= 12)/debhelper (>= 10)/' debian/control
35+
sed -i 's/--with auto/--with=systemd --with auto/' debian/rules
36+
echo "10" > debian/compat
37+
;;
38+
39+
bionic )
40+
apt-get install -y debhelper -t bionic-backports
2641
;;
2742
esac
2843

doc/CollectorDoc.md

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -155,28 +155,6 @@ A collector only requires a small amount of configuration: a username and
155155
password that can be used to authenticate against a local RabbitMQ instance,
156156
and a flag to inform the collector that RabbitMQ output is enabled.
157157

158-
### Encoding Methods
159-
OpenLI supports two methods for encoding the intercepted records and meta-data
160-
so that they conform to the ETSI standard. The first method is DER encoding,
161-
whereby all fields are encoded in the most space-efficient way. The advantage
162-
of DER is that there is only one "correct" result for encoding a given input,
163-
so it is less likely to be incompatible with what the receiver is expecting.
164-
However, this encoding method is slower and therefore may limit your
165-
maximum interception capability.
166-
167-
The second method is BER encoding, which allows us to encode numeric values
168-
using a fixed-width field, e.g. every integer consumes eight bytes, regardless
169-
of whether it is a small number or a large one. This is less space-efficient
170-
and relies on the receiver being prepared for fields that consume more space
171-
than they might need, but is much faster for OpenLI to encode because each
172-
record will have a relatively static structure.
173-
174-
OpenLI versions prior to 1.0.9 supported DER encoding only, and this is the
175-
default encoding method as it has been well tested in production deployments.
176-
BER has the potential to be much more efficient, but we recommend doing some
177-
specific testing with your local LEAs before switching over to BER as not all
178-
LEA equipment may be able to decode it.
179-
180158
### Target Identification for VOIP Intercepts
181159
By default, OpenLI does NOT trust the "From:" field in SIP packets when it is
182160
determining whether a SIP packet has been sent by an intercept target. This
@@ -209,8 +187,6 @@ The basic option keys are:
209187
* interceptpointid -- set the interception point ID
210188
* seqtrackerthreads -- set the number of threads to use for sequence number
211189
tracking (defaults to 1).
212-
* encoding -- choose the encoding method to use, either `ber` or
213-
`der` (defaults to `der`).
214190
* encoderthreads -- set the number of threads to use for encoding ETSI
215191
records (defaults to 2).
216192
* forwardingthreads -- set the number of threads to use for forwarding

doc/exampleconfigs/collector-example.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,6 @@ encoderthreads: 2
2828
# mediators. You probably don't need to change this.
2929
forwardingthreads: 1
3030

31-
# The encoding method to use for generating ETSI records. DER is the default
32-
# method. BER is an alternative that should be more efficient, but not all
33-
# LEAs may be able to decode it.
34-
encoding: der
35-
3631
# Set this to yes if you want to override the policy of not trusting the
3732
# contents of the "From:" field in SIP packets (as this field is not
3833
# validated and can be easily spoofed).

0 commit comments

Comments
 (0)