Commit Graph

66 Commits

Author SHA1 Message Date
Simon 011db46f47 Lets test the TOPO! 2022-08-03 23:10:44 +01:00
Simon 236104813b fix conflict with stash 2022-06-19 14:53:37 +01:00
Simon 2baabdbd79
Add switch for server ID validation:
You should add this to [GLOBAL]:

VALIDATE_SERVER_IDS: True

Please set to True if you are part of FreeDMR network.
If you are standalone or private network, You can set it to False if you want.
2022-05-24 18:20:03 +01:00
Simon 33f7064e66
Check top-level server IDs for validity:
Add this to freedmr.cfg [ALIASES]

SERVER_ID_URL: http://downloads.freedmr.uk/downloads/FreeDMR_Hosts.csv
SERVER_ID_FILE: freedmr_hosts.tsv

Also, if you run docker, you may need to map the file outside:

touch /etc/freedmr/json/freedmr_hosts.tsv
chown 54000:54000 /etc/freedmr/json/freedmr_hosts.tsv

then in docker-compose.yml:

- '/etc/freedmr/json/server_ids.tsv:/opt/freedmr/server_ids.tsv'
2022-05-24 12:10:46 +01:00
Simon b0d6dd4a52
Send all data packets to DATA-GATEWAY if configured and enabled 2022-03-27 23:25:01 +01:00
Simon 09560c17e4 Pass over PROXY stanza in freedmr startup 2022-03-10 22:05:31 +00:00
Simon df07cb7da6 add config option for PROXY_CONTROL 2022-03-07 00:08:33 +00:00
Simon 1e23f60fbc
add local_subscriber_file. Fix parrot config in Docker 2022-02-26 16:26:35 +00:00
Simon 3ea552e2db OPtionally, enforce registered DMR IDs.
Also, check peridically (STALE_TIME setting) for new files.

New config option:

ALLOW_UNREG_ID=[True|False] - in MASTER definition

Squashed commit of the following:

commit 082fd63b96c272415a01d5dadc8d38bf0842737d
Author: Simon <simon@gb7fr.org.uk>
Date:   Sat Feb 26 01:40:11 2022 +0000

    Periodic download of alias files

commit cb33388509978686ee6bfc19cddb863379872c7b
Author: Simon <simon@gb7fr.org.uk>
Date:   Thu Feb 24 00:17:38 2022 +0000

    server check id

commit 5428503e17ae32234a58c997037e70abe2a784c7
Author: Simon <simon@gb7fr.org.uk>
Date:   Thu Feb 24 00:16:46 2022 +0000

    server check id

commit 65fcf2eddffa426caacdbf1a59f529c995045fb5
Author: Simon <simon@gb7fr.org.uk>
Date:   Thu Feb 24 00:06:24 2022 +0000

    server check id

commit ea0ea8d6b13ba7e20492f11226de854cecbccc46
Author: Simon <simon@gb7fr.org.uk>
Date:   Wed Feb 23 23:49:07 2022 +0000

    reverse logic

commit 9815210d5adb2ee92d1b9914753d4799988b3415
Author: Simon <simon@gb7fr.org.uk>
Date:   Wed Feb 23 23:24:34 2022 +0000

    reverse logic

commit 0d9945d23fcce62378cace97cdc012c3fdd04276
Author: Simon <simon@gb7fr.org.uk>
Date:   Wed Feb 23 23:23:26 2022 +0000

    reverse logic

commit 54cc752c4cac52e903422b9aae38e61f722c23f1
Author: Simon <simon@gb7fr.org.uk>
Date:   Wed Feb 23 23:20:16 2022 +0000

    reverse logic

commit 182a0e99829ee7383ae72b52d8514aa826e31260
Author: Simon <simon@gb7fr.org.uk>
Date:   Wed Feb 23 23:17:16 2022 +0000

    typo

commit e244c1b20b9c927efb1a95e30ff08d3120a83b7e
Author: Simon <simon@gb7fr.org.uk>
Date:   Wed Feb 23 23:16:28 2022 +0000

    typo

commit ba822143bd97261f1a65fc9d489bc570dea3749d
Author: Simon <simon@gb7fr.org.uk>
Date:   Wed Feb 23 23:12:54 2022 +0000

    further updates to validate_id

commit 8266db1820ee09b3bb3d4731e0cf019df40c638e
Author: Simon <simon@gb7fr.org.uk>
Date:   Tue Feb 22 00:48:31 2022 +0000

    mike

commit 2658e5842c24a4d72d17a46d1792811f2b01bbbc
Author: Simon <simon@gb7fr.org.uk>
Date:   Tue Feb 22 00:46:07 2022 +0000

    int - string trickey

commit 51479c0c572c75b9a8c9ea19e1aa6c5e3692d5a4
Author: Simon <simon@gb7fr.org.uk>
Date:   Tue Feb 22 00:41:30 2022 +0000

    validate_id

commit 012ea165cebe414800815362d4f9da1b7399bcad
Author: Simon <simon@gb7fr.org.uk>
Date:   Tue Feb 22 00:40:00 2022 +0000

    validate_id

commit eff8b31bb5cadc08093f333afc7cb6a423e05675
Author: Simon <simon@gb7fr.org.uk>
Date:   Tue Feb 22 00:36:46 2022 +0000

    validate_id

commit fb3158c4d0d44663c4e511163b60b5a04f392123
Author: Simon <simon@gb7fr.org.uk>
Date:   Tue Feb 22 00:05:01 2022 +0000

    make sure hblink.py can see sub ids

commit 17111430fd561ebf2a431c615cd7521884a55ccd
Author: Simon <simon@gb7fr.org.uk>
Date:   Mon Feb 21 23:35:32 2022 +0000

    add get_alias

commit e98ea4c7f3d27c7539607a31948249ad1e6feb85
Author: Simon <simon@gb7fr.org.uk>
Date:   Mon Feb 21 23:28:29 2022 +0000

    fix line

commit d027373fb944ea3fa60c5993bd91d114bb935721
Author: Simon <simon@gb7fr.org.uk>
Date:   Mon Feb 21 23:27:01 2022 +0000

    fix isinstance

commit 106e2bcda6bc87f5a00ee9b99dbafdacb79d3d8d
Author: Simon <simon@gb7fr.org.uk>
Date:   Mon Feb 21 23:22:47 2022 +0000

    don't allow login if ID and callsign don't match database
2022-02-26 01:43:28 +00:00
Simon 8f3c0715cb Remove gethostbyname from ALLSTAR config 2022-02-19 19:05:28 +00:00
Simon 84e0978577 Merge branch AMI
Add All Star Link control
2022-02-19 16:19:47 +00:00
Simon 60be554a7d
Add PROTO_VER to config file.
1 : Standard Open Bridge Protocol
2 : Free Bridge Protocol

This is taken as a minimum ver, so if you set "2", ver 1 traffic will not be accepted.

Protocol can be on-the-fly upgraded using BCVE packet
Downgrade is not allowed
2022-01-19 10:44:09 +00:00
Simon c25e1b95a6 Revert "tidy up FreeDMR module and class structure"
This reverts commit 3bbb970198.
2021-12-27 18:12:02 +00:00
Simon 011219ad41 Revert "more tidying up"
This reverts commit 7280f835d7.
2021-12-27 18:11:17 +00:00
Simon 7280f835d7
more tidying up 2021-12-27 14:10:17 +00:00
Simon 3bbb970198
tidy up FreeDMR module and class structure 2021-12-27 01:47:15 +00:00
Simon cdef086995
write subscriber map to/ read subscriber map from disk 2021-12-20 17:22:52 +00:00
Simon 37240c1d52
remove data gateay 2021-11-13 19:38:24 +00:00
Simon 19f49d4e7a
Send inbound unit data to DATA_GATEWAY 2021-11-03 01:51:21 +00:00
Simon 966ea7c5b7 Revert config.py 2021-10-31 12:31:31 +00:00
KF7EEL 8d8ed3ae7d save progress 2021-10-31 10:39:21 +00:00
Eric ecc4a8eb46 testing data routing for GPS 2021-10-31 10:33:01 +00:00
Simon 61013584a2 Add _MASTER_IP to XLXPEER 2021-08-30 17:13:53 +01:00
Simon a8633090e4 Re-resolve DNS on failed peer ready for testing 2021-08-30 17:02:29 +01:00
Simon 89a19ba107 If ANNOUNCEMENT_LANGUAGES is empty, use provided list instead.
Update default configs to reflect this as new default
2021-08-23 01:25:52 +01:00
Simon 422bfd5f53 replace master with corrected merge from hrt 2021-07-23 17:01:16 +01:00
Simon 732942d7c4 Revert "Merge branch 'hrt'"
This reverts commit de9892a1c2, reversing
changes made to dff06fff62.
2021-07-22 21:58:08 +01:00
Simon 10757f52a7 Revert "Need to remove merge marks"
This reverts commit 9cccfca70a.
2021-07-22 21:56:47 +01:00
Simon 9cccfca70a Need to remove merge marks 2021-07-22 16:35:32 +01:00
Simon de9892a1c2 Merge branch 'hrt' 2021-07-22 15:59:49 +01:00
Simon 75ccf3fe3c Clearer logging of BCSQ 2021-07-22 01:26:09 +01:00
Simon dff06fff62 Revert "Use hi-res timer for loop control"
This reverts commit cbd25b924d.
2021-07-21 23:38:10 +01:00
Simon cbd25b924d Use hi-res timer for loop control 2021-07-21 23:37:30 +01:00
Simon 075064a888 Revert "Default IPv6 by environment variable"
This reverts commit fb1032e116.
2021-07-10 00:51:01 +01:00
Simon fb1032e116 Default IPv6 by environment variable 2021-07-09 01:39:52 +01:00
Simon 497fa3143a Make preference for IPv6 when IP: :: more explicit for OBP 2021-07-06 01:12:19 +01:00
Simon 48354372f4 Further support for IPv6 and Dual-Stack in OpenBridge
To enable IPv6 only - put an IPv6 address in IP (bind specific address)
To enable IPv4 only - put IPv4 address in IP or leave blank (default - binds all IPv4)
To enable dual-stack put '::' in IP (Binds all IPv4 and IPv6 address)
2021-06-19 00:47:21 +01:00
Simon 09a3015f77 Don't error on unresolvable hostname in TARGET_IP
Allow null TARGET_IP - Waits for first keepalive to update - use for
endpoints that are on a dynamic or unknown IP

Support IPv6 for OBP - to listen IPv6 set IP: :: or other valid ipv6 address

IPv6 addresses can be used in TARGET_IP or will be resolved from DNS

Note, might cause confusion if the target has an IPv6 address and we don't
take note of this and specify ipv4 explicitly if needs be.

IPv6 Needs some testing :-)
2021-06-18 01:52:13 +01:00
Simon 3385b89bce Add automatic downloading of tgid file from FreeDMR website to use
with HBMonitor etc.
2021-05-31 23:48:05 +01:00
Simon 4ef08cbe5e Fix error in tobytes() 2021-05-30 16:15:25 +01:00
Simon 52da820554 Send SERVER_ID not NETWORK_ID in packets on OBP. 2021-05-30 02:46:52 +01:00
Simon 428f470436 Fix XLXPEER and PEER not working 2021-05-26 19:42:34 +01:00
Simon 25bd7db348 Allow loading if multiple languages and selection both via
default in config file and OPTIONS.

Remove ANNOUNCEMENT_LANGUAGE from [GLOBAL]
Replace with ANNOUNCEMENT_LANGUAGES - Comma Separated list

Current list:

ANNOUNCEMENT_LANGUAGES: en_GB,en_GB_2,en_US,es_ES,es_ES_2,fr_FR,de_DE,dk_DK,it_IT,no_NO,pl_PL,se_SE

Add:

ANNOUNCEMENT_LANGUAGE to MASTER definition. If using GENERATOR, this becomes
the template default.

To change via OPTIONS add LANG=<language code>

take codes from list above
2021-05-14 00:07:11 +01:00
Simon b77d2b72ad Add support for SERVER_ID 2021-05-04 21:18:50 +01:00
Simon 53c1958aec Dynamic IP update:
Using BCKA (Extended OBP KeepAlives):

When an authenticated keepalive is received from a different IP but
on the same port, we update the IP for the OpenBridge. This means, we can
handle dynamic IP seamlessly!
2021-04-04 18:39:16 +01:00
Simon dda0470ff2 New option - ENHANCED_OBP
Extends OpenBridge protocol

Added authenticated KeepAlives to protocol.
2021-04-04 18:19:28 +01:00
Simon b719a55e4c Add GENERATOR: N in MASTER deifnition
If GENERATOR is set to more than 1, the master definiton
is used as a template to generate N systems with sequential ports,
starting at the port listed in the defintion.

For example:

for N = 2:

G7RZU-0 - port 54000
G7RZU-1 - port 54001
2021-02-21 14:33:53 +00:00
Simon 1babf7e18a Add RELAX_CHECKS to OPENBRIDGE definitions
This disables source IP and port checking
to make OBP play nice with Docker.

Note, it *really* is a good idea to use a PASSPHRASE with this!
2021-02-20 22:02:44 +00:00
Simon 67db3f1acd Outline of language file support
Move sql.close() into SQL thread
2021-01-27 19:49:02 +00:00
Simon f8bd5b00df Allow null passphrase for MASTER logins
New config options for this in GLOBAL config section

If pashphrase is null and this option is set, login will always succeed
2021-01-23 11:43:56 +00:00