diff --git a/CHANGELOG.md b/CHANGELOG.md index e26f181..7df48f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ _v6.2.1_ - Fix SIGSEGV error in Units.Merge (issue #151). +_v6.2.2_ + +- Fix another SIGSEGV error in Units.Merge (issue #151). + ## Version 6.1 - Calls now support patched talkgroups. diff --git a/COMPILING.md b/COMPILING.md index 5d3b3c5..199c009 100644 --- a/COMPILING.md +++ b/COMPILING.md @@ -26,13 +26,13 @@ Clone the official repository on your computer and start the build process. When finished, you will find the precompiled versions for various platforms in the `dist` folder. - rdio-scanner-darwin-amd64-v6.2.1.zip - rdio-scanner-darwin-arm64-v6.2.1.zip - rdio-scanner-freebsd-amd64-v6.2.1.zip - rdio-scanner-linux-386-v6.2.1.zip - rdio-scanner-linux-amd64-v6.2.1.zip - rdio-scanner-linux-arm64-v6.2.1.zip - rdio-scanner-linux-arm-v6.2.1.zip - rdio-scanner-windows-amd64-v6.2.1.zip + rdio-scanner-darwin-amd64-v6.2.2.zip + rdio-scanner-darwin-arm64-v6.2.2.zip + rdio-scanner-freebsd-amd64-v6.2.2.zip + rdio-scanner-linux-386-v6.2.2.zip + rdio-scanner-linux-amd64-v6.2.2.zip + rdio-scanner-linux-arm64-v6.2.2.zip + rdio-scanner-linux-arm-v6.2.2.zip + rdio-scanner-windows-amd64-v6.2.2.zip **Happy Rdio scanning !** \ No newline at end of file diff --git a/Makefile b/Makefile index 2cc5c8e..06fcde6 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ app := rdio-scanner date := 2022/03/25 -ver := 6.2.1 +ver := 6.2.2 client := $(wildcard client/*.json client/*.ts) server := $(wildcard server/*.go) diff --git a/client/package.json b/client/package.json index c5c06c6..61a2dd2 100644 --- a/client/package.json +++ b/client/package.json @@ -38,5 +38,5 @@ "build": "ng build --base-href ./ --configuration production", "start": "ng serve" }, - "version": "6.2.1" + "version": "6.2.2" } diff --git a/docs/platforms/darwin.md b/docs/platforms/darwin.md index 711a083..faf0c7e 100644 --- a/docs/platforms/darwin.md +++ b/docs/platforms/darwin.md @@ -42,8 +42,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd rdio@macos ~ % mkdir rdio-scanner rdio@macos ~ % cd rdio-scanner rdio@macos rdio-scanner % unzip \ - > ~/Downloads/rdio-scanner-darwin-arm64-v6.2.1.zip - Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.2.1.zip + > ~/Downloads/rdio-scanner-darwin-arm64-v6.2.2.zip + Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.2.2.zip inflating: rdio-scanner inflating: rdio-scanner.pdf @@ -51,7 +51,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd rdio@macos rdio-scanner % ./rdio-scanner - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 08:38:06 server started 2022/03/25 08:38:06 main interface at http://macos.local:3000 @@ -77,7 +77,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance rdio@macos rdio-scanner % ./rdio-scanner --listen :80 - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 08:48:03 server started 2022/03/25 08:48:03 main interface at http://macos.local @@ -95,7 +95,7 @@ You can use your own SSL certificates that match your domain name with `-ssl_cer > -ssl_key_file mykey.key \ > -ssl_listen :443 - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 08:50:58 server started 2022/03/25 08:50:58 main interface at http://macos.local @@ -132,7 +132,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an rdio@macos rdio-scanner % ./rdio-scanner - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 08:54:08 server started 2022/03/25 08:54:08 main interface at http://macos.local diff --git a/docs/platforms/freebsd.md b/docs/platforms/freebsd.md index d7217f9..a8c3e82 100644 --- a/docs/platforms/freebsd.md +++ b/docs/platforms/freebsd.md @@ -42,8 +42,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd rdio@pc-freebsd:~ $ mkdir rdio-scanner rdio@pc-freebsd:~ $ cd rdio-scanner rdio@pc-freebsd:~/rdio-scanner $ unzip \ - > ~/rdio-scanner-freebsd-amd64-v6.2.1.zip - Archive: ../rdio-scanner-freebsd-amd64-v6.2.1.zip + > ~/rdio-scanner-freebsd-amd64-v6.2.2.zip + Archive: ../rdio-scanner-freebsd-amd64-v6.2.2.zip extracting: rdio-scanner extracting: rdio-scanner.pdf @@ -51,7 +51,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd rdio@pc-freebsd:~/rdio-scanner $ ./rdio-scanner - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 08:16:36 server started 2022/03/25 08:16:36 main interface at http://pc-freebsd:3000 @@ -81,7 +81,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance Password: root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner -listen :80 - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 08:19:38 server started 2022/03/25 08:19:38 main interface at http://pc-freebsd @@ -101,7 +101,7 @@ You can use your own SSL certificates that match your domain name with `-ssl_cer > -ssl_key_file mykey.key \ > -ssl_listen :443 - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 10:34:29 server started 2022/03/25 10:34:29 main interface at http://pc-freebsd @@ -142,7 +142,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an Password: root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 10:38:28 server started 2022/03/25 10:38:29 main interface at http://pc-freebsd diff --git a/docs/platforms/linux.md b/docs/platforms/linux.md index d78e7fa..1a5f181 100644 --- a/docs/platforms/linux.md +++ b/docs/platforms/linux.md @@ -42,8 +42,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd [rdio@pc-linux ~]$ mkdir rdio-scanner [rdio@pc-linux ~]$ cd rdio-scanner [rdio@pc-linux rdio-scanner]$ unzip \ - > ~/Downloads/rdio-scanner-linux-amd64-v6.2.1.zip - Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.2.1.zip + > ~/Downloads/rdio-scanner-linux-amd64-v6.2.2.zip + Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.2.2.zip inflating: rdio-scanner inflating: rdio-scanner.pdf @@ -51,7 +51,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd [rdio@pc-linux rdio-scanner]$ ./rdio-scanner - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 09:11:48 server started 2022/03/25 09:11:48 main interface at http://pc-linux:3000 @@ -78,7 +78,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance [rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner -listen :80 [sudo] password for rdio: - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 09:14:00 server started 2022/03/25 09:14:00 main interface at http://pc-linux @@ -97,7 +97,7 @@ You can use your own SSL certificates that match your domain name with `-ssl_cer > -ssl_listen :443 [sudo] password for rdio: - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 09:16:47 server started 2022/03/25 09:16:47 main interface at http://pc-linux @@ -135,7 +135,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an [rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner [sudo] Mot de passe de rdio : - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 09:20:40 server started 2022/03/25 09:20:40 main interface at http://pc-linux diff --git a/docs/platforms/windows.md b/docs/platforms/windows.md index 94b9ff4..567ee61 100644 --- a/docs/platforms/windows.md +++ b/docs/platforms/windows.md @@ -44,7 +44,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd C:\Users\rdio> cd rdio-scanner C:\Users\rdio\rdio-scanner> tar -xvf ^ - ..\downloads\rdio-scanner-windows-amd64-v6.2.1.zip + ..\downloads\rdio-scanner-windows-amd64-v6.2.2.zip x rdio-scanner.exe x rdio-scanner.pdf @@ -52,7 +52,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd C:\Users\rdio\rdio-scanner>rdio-scanner - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 13:48:48 server started 2022/03/25 13:48:48 main interface at http://pc-windows:3000 @@ -78,7 +78,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance C:\Users\rdio\rdio-scanner>rdio-scanner -listen :80 - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 10:53:31 server started 2022/03/25 10:53:31 main interface at http://pc-windows @@ -96,7 +96,7 @@ You can use your own SSL certificates that match your domain name with `-ssl_cer -ssl_key_file meykey.key ^ -ssl_listen :443 - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 11:05:43 server started 2022/03/25 11:05:43 main interface at http://pc-windows @@ -133,7 +133,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an C:\Users\rdio\rdio-scanner>rdio-scanner - Rdio Scanner v6.2.1 + Rdio Scanner v6.2.2 ---------------------------------- 2022/03/25 11:11:28 server started 2022/03/25 11:11:28 main interface at http://pc-windows diff --git a/server/controller.go b/server/controller.go index 65d0b42..9d943f8 100644 --- a/server/controller.go +++ b/server/controller.go @@ -314,10 +314,9 @@ func (controller *Controller) IngestCall(call *Call) { switch v := call.units.(type) { case *Units: populated = true - if system.Units == nil { - system.Units = NewUnits() + if v != nil { + system.Units.Merge(v) } - system.Units.Merge(v) } } diff --git a/server/parsers.go b/server/parsers.go index 1c44f3a..90cb91c 100644 --- a/server/parsers.go +++ b/server/parsers.go @@ -49,7 +49,7 @@ func ParseSdrTrunkMeta(call *Call, controller *Controller) error { if i > 0 { call.Source = uint(i) - if len(s) == 3 { + if len(s) == 3 && len(s[2]) > 0 { if call.units == nil { call.units = NewUnits() } @@ -255,7 +255,10 @@ func ParseMultipartContent(call *Call, p *multipart.Part, b []byte) { if units == nil { units = NewUnits() } - units.Add(uint(s), t) + switch units := call.units.(type) { + case *Units: + units.Add(uint(s), t) + } } } } @@ -400,13 +403,12 @@ func ParseTrunkRecorderMeta(call *Call, b []byte) error { switch t := v["tag"].(type) { case string: if len(t) > 0 { + if call.units == nil { + call.units = NewUnits() + } switch v := call.units.(type) { case *Units: v.Add(uint(s), t) - default: - var u = NewUnits() - u.Add(uint(s), t) - call.units = u } } } diff --git a/server/version.go b/server/version.go index f8d0d45..737de7a 100644 --- a/server/version.go +++ b/server/version.go @@ -15,4 +15,4 @@ package main -const Version = "6.2.1" +const Version = "6.2.2"