From 014d8038b7a04be9a1fae7c8c5cd36c7bfce829b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20P=C3=A9rez?= Date: Sun, 15 Mar 2026 14:29:33 -0300 Subject: [PATCH] chore: add credits --- README.md | 2 +- adn-parrot.py | 22 +++++++++++++-- adn-server.py | 21 ++++++++++++++- src/adn_server/__init__.py | 27 ++++++++++++++----- src/adn_server/application/__init__.py | 21 ++++++++++++++- .../application/bridge_use_cases.py | 22 ++++++++++++++- src/adn_server/application/ident_use_cases.py | 21 ++++++++++++++- .../application/playback_use_cases.py | 22 +++++++++++++-- src/adn_server/application/ports.py | 21 ++++++++++++++- .../application/reporting_use_cases.py | 21 ++++++++++++++- src/adn_server/application/voice_use_cases.py | 22 ++++++++++++++- src/adn_server/domain/__init__.py | 21 ++++++++++++++- src/adn_server/domain/entities.py | 21 ++++++++++++++- src/adn_server/domain/errors.py | 21 ++++++++++++++- src/adn_server/domain/result.py | 21 ++++++++++++++- src/adn_server/domain/value_objects.py | 21 ++++++++++++++- src/adn_server/infrastructure/__init__.py | 21 ++++++++++++++- .../infrastructure/bridge_router_impl.py | 21 ++++++++++++++- .../infrastructure/config_loader.py | 22 ++++++++++++++- .../infrastructure/config_normalizer.py | 22 ++++++++++++++- .../infrastructure/hbp_constants.py | 21 ++++++++++++++- .../infrastructure/logging_config.py | 21 ++++++++++++++- .../infrastructure/persistence/__init__.py | 21 ++++++++++++++- .../persistence/alias_loader.py | 21 ++++++++++++++- .../infrastructure/persistence/keys_store.py | 21 ++++++++++++++- .../persistence/sub_map_store.py | 21 ++++++++++++++- .../infrastructure/security/__init__.py | 21 ++++++++++++++- .../security/password_crypto.py | 21 ++++++++++++++- .../security/password_download.py | 21 ++++++++++++++- .../security/user_passwords_loader.py | 21 ++++++++++++++- .../twisted_adapters/__init__.py | 21 ++++++++++++++- .../twisted_adapters/report_server.py | 21 ++++++++++++++- .../twisted_adapters/udp_hbp.py | 22 ++++++++++++++- .../infrastructure/voice/__init__.py | 21 ++++++++++++++- .../infrastructure/voice/ambe_reader.py | 21 ++++++++++++++- .../infrastructure/voice/pkt_gen.py | 21 ++++++++++++++- .../infrastructure/voice/recording.py | 21 ++++++++++++++- .../infrastructure/voice/tts_ambe.py | 22 ++++++++++++++- .../infrastructure/voice/tts_engine.py | 22 ++++++++++++++- .../infrastructure/voice/voice_map.py | 21 ++++++++++++++- src/adn_server/main.py | 25 +++++++++++++++-- src/adn_server/parrot_main.py | 25 ++++++++++++++--- 42 files changed, 833 insertions(+), 53 deletions(-) diff --git a/README.md b/README.md index 55fb0e3..4beeaca 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Clean Architecture rewrite of the ADN DMR conference bridge. Same behaviour as t ## License -GPL v3. Derived from ADN DMR Server / HBlink. +GPL v3. Derived from FreeDMR / HBlink. ## Requirements diff --git a/adn-parrot.py b/adn-parrot.py index ddcfa4d..e39dc7d 100644 --- a/adn-parrot.py +++ b/adn-parrot.py @@ -1,8 +1,26 @@ #!/usr/bin/env python3 # ADN DMR Parrot (playback) - launcher script -# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS & Mike Zingman, N4IRR # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# GPLv3. Derived from playback.py / ADN DMR Server / HBlink. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """ Run the ADN DMR Parrot (playback) from the project root. diff --git a/adn-server.py b/adn-server.py index 22e64a7..cd86c9f 100644 --- a/adn-server.py +++ b/adn-server.py @@ -1,7 +1,26 @@ #!/usr/bin/env python3 # ADN DMR Peer Server - launcher script (like monitor/monitor.py) # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# GPLv3. Derived from ADN DMR Server / HBlink. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """ Run the ADN DMR Peer Server from the project root. diff --git a/src/adn_server/__init__.py b/src/adn_server/__init__.py index e74e34c..c5f7dbe 100644 --- a/src/adn_server/__init__.py +++ b/src/adn_server/__init__.py @@ -14,12 +14,25 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . # -# Derived from: ADN DMR Server / HBlink (bridge_master.py, hblink.py): -# Copyright (C) 2026 Joaquin Madrid Belando, EA5GVK -# Copyright (C) 2025 Esteban Mackay, HP3ICC -# Copyright (C) 2025 Bruno Farias, CS8ABG -# Copyright (C) 2020-2023 Simon Adlem, G7RZU -# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS -# Original works and this derivative are under GPLv3. +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2026 Joaquin Madrid Belando, EA5GVK +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """ADN DMR Peer Server — conference bridge (rewrite of bridge_master).""" diff --git a/src/adn_server/application/__init__.py b/src/adn_server/application/__init__.py index a0973d6..c7e41fd 100644 --- a/src/adn_server/application/__init__.py +++ b/src/adn_server/application/__init__.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - application layer # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### from .ports import ( ConfigLoader, diff --git a/src/adn_server/application/bridge_use_cases.py b/src/adn_server/application/bridge_use_cases.py index dbd97c0..d3084ca 100644 --- a/src/adn_server/application/bridge_use_cases.py +++ b/src/adn_server/application/bridge_use_cases.py @@ -1,6 +1,26 @@ # ADN DMR Peer Server - bridge use cases # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2026 Joaquin Madrid Belando, EA5GVK +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Bridge management: rule_timer, make_single_bridge, make_static_tg, etc. Orchestrates BridgeRouter.""" diff --git a/src/adn_server/application/ident_use_cases.py b/src/adn_server/application/ident_use_cases.py index cfc020f..68118f2 100644 --- a/src/adn_server/application/ident_use_cases.py +++ b/src/adn_server/application/ident_use_cases.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - voice ident use cases # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink (threadIdent, ident). GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Voice ident: periodic ident on MASTER systems (VOICE_IDENT, slot 2 idle 30s).""" diff --git a/src/adn_server/application/playback_use_cases.py b/src/adn_server/application/playback_use_cases.py index 5d1a7bc..1a1b8ab 100644 --- a/src/adn_server/application/playback_use_cases.py +++ b/src/adn_server/application/playback_use_cases.py @@ -1,7 +1,25 @@ # ADN DMR Peer Server - playback (parrot) use case -# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS & Mike Zingman, N4IRR # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from playback.py. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Exact port of playback.py dmrd_received: record group voice, then play back with new stream ID.""" diff --git a/src/adn_server/application/ports.py b/src/adn_server/application/ports.py index 453c70b..b583f66 100644 --- a/src/adn_server/application/ports.py +++ b/src/adn_server/application/ports.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - application ports # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Abstract ports (interfaces) for infrastructure adapters.""" diff --git a/src/adn_server/application/reporting_use_cases.py b/src/adn_server/application/reporting_use_cases.py index c440dcf..eb20227 100644 --- a/src/adn_server/application/reporting_use_cases.py +++ b/src/adn_server/application/reporting_use_cases.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - reporting use cases # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Reporting: send config/bridge to TCP clients, KA reporting. Orchestrates ReportSender.""" diff --git a/src/adn_server/application/voice_use_cases.py b/src/adn_server/application/voice_use_cases.py index 97ad220..9626eeb 100644 --- a/src/adn_server/application/voice_use_cases.py +++ b/src/adn_server/application/voice_use_cases.py @@ -1,6 +1,26 @@ # ADN DMR Peer Server - voice use cases # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2026 Joaquin Madrid Belando, EA5GVK +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Voice/AMBE/TTS: scheduled announcements, TTS announcements, playback. Orchestrates VoiceProvider.""" diff --git a/src/adn_server/domain/__init__.py b/src/adn_server/domain/__init__.py index e97dd96..1c2a6f1 100644 --- a/src/adn_server/domain/__init__.py +++ b/src/adn_server/domain/__init__.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - domain layer # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### from .entities import BridgeEntry, StreamState, SystemConfig from .value_objects import DmrId, TgId, Slot, CallType, bytes_3, bytes_4, int_id, ID_MIN, ID_MAX, PEER_MAX diff --git a/src/adn_server/domain/entities.py b/src/adn_server/domain/entities.py index c7a5849..d22b62c 100644 --- a/src/adn_server/domain/entities.py +++ b/src/adn_server/domain/entities.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - domain entities # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Domain entities: bridge entry, stream state, system config (mirror legacy BRIDGES/STATUS/CONFIG).""" diff --git a/src/adn_server/domain/errors.py b/src/adn_server/domain/errors.py index c8700fc..1275c20 100644 --- a/src/adn_server/domain/errors.py +++ b/src/adn_server/domain/errors.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - domain errors # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Domain errors for the ADN DMR Peer Server.""" diff --git a/src/adn_server/domain/result.py b/src/adn_server/domain/result.py index 9266c57..1ef89ed 100644 --- a/src/adn_server/domain/result.py +++ b/src/adn_server/domain/result.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - result type # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Result type for functional error handling (Success/Fail).""" diff --git a/src/adn_server/domain/value_objects.py b/src/adn_server/domain/value_objects.py index 95cdbd9..960672a 100644 --- a/src/adn_server/domain/value_objects.py +++ b/src/adn_server/domain/value_objects.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - value objects # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Value objects: DMR IDs, slot, call type, etc. (mirror legacy const and types).""" diff --git a/src/adn_server/infrastructure/__init__.py b/src/adn_server/infrastructure/__init__.py index 3cbd95e..2b287c9 100644 --- a/src/adn_server/infrastructure/__init__.py +++ b/src/adn_server/infrastructure/__init__.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - infrastructure layer # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### from .config_loader import YamlConfigLoader from .logging_config import setup_logging diff --git a/src/adn_server/infrastructure/bridge_router_impl.py b/src/adn_server/infrastructure/bridge_router_impl.py index 89c5557..98e7d0c 100644 --- a/src/adn_server/infrastructure/bridge_router_impl.py +++ b/src/adn_server/infrastructure/bridge_router_impl.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - bridge router implementation # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """In-memory BRIDGES and ACL check (legacy acl_check).""" diff --git a/src/adn_server/infrastructure/config_loader.py b/src/adn_server/infrastructure/config_loader.py index f4506bf..add04d7 100644 --- a/src/adn_server/infrastructure/config_loader.py +++ b/src/adn_server/infrastructure/config_loader.py @@ -1,6 +1,26 @@ # ADN DMR Peer Server - YAML config loader # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2026 Joaquin Madrid Belando, EA5GVK +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Load config from YAML at project root; same semantic structure as legacy INI.""" diff --git a/src/adn_server/infrastructure/config_normalizer.py b/src/adn_server/infrastructure/config_normalizer.py index ae4abd9..56c941f 100644 --- a/src/adn_server/infrastructure/config_normalizer.py +++ b/src/adn_server/infrastructure/config_normalizer.py @@ -1,6 +1,26 @@ # ADN DMR Peer Server - config normalization helpers # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2026 Joaquin Madrid Belando, EA5GVK +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Shared config normalization: PEER, OBP, MASTER runtime state. Used by main.py and parrot_main.py.""" diff --git a/src/adn_server/infrastructure/hbp_constants.py b/src/adn_server/infrastructure/hbp_constants.py index e30db62..98fd47c 100644 --- a/src/adn_server/infrastructure/hbp_constants.py +++ b/src/adn_server/infrastructure/hbp_constants.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - HBP protocol constants # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink (const.py). GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Homebrew protocol opcodes and frame types (legacy const.py).""" diff --git a/src/adn_server/infrastructure/logging_config.py b/src/adn_server/infrastructure/logging_config.py index 95d4fde..f615380 100644 --- a/src/adn_server/infrastructure/logging_config.py +++ b/src/adn_server/infrastructure/logging_config.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - logging setup # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Configure logging (same format/handlers as legacy log.config_logging).""" diff --git a/src/adn_server/infrastructure/persistence/__init__.py b/src/adn_server/infrastructure/persistence/__init__.py index 195cfa4..4141da1 100644 --- a/src/adn_server/infrastructure/persistence/__init__.py +++ b/src/adn_server/infrastructure/persistence/__init__.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - persistence # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### from .sub_map_store import PickleSubMapStore from .keys_store import JsonKeysStore diff --git a/src/adn_server/infrastructure/persistence/alias_loader.py b/src/adn_server/infrastructure/persistence/alias_loader.py index 258c05f..c49f201 100644 --- a/src/adn_server/infrastructure/persistence/alias_loader.py +++ b/src/adn_server/infrastructure/persistence/alias_loader.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - alias loader # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Load alias dicts (peer_ids, subscriber_ids, talkgroup_ids, etc.). Legacy mk_aliases.""" diff --git a/src/adn_server/infrastructure/persistence/keys_store.py b/src/adn_server/infrastructure/persistence/keys_store.py index dca4463..336d05d 100644 --- a/src/adn_server/infrastructure/persistence/keys_store.py +++ b/src/adn_server/infrastructure/persistence/keys_store.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - keys JSON store # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Load/save keys from JSON (legacy utils.load_json/save_json).""" diff --git a/src/adn_server/infrastructure/persistence/sub_map_store.py b/src/adn_server/infrastructure/persistence/sub_map_store.py index 32a70c2..3305858 100644 --- a/src/adn_server/infrastructure/persistence/sub_map_store.py +++ b/src/adn_server/infrastructure/persistence/sub_map_store.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - SUB_MAP persistence # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Load/save SUB_MAP (pickle): bytes_3(peer) -> (callsign, slot, time).""" diff --git a/src/adn_server/infrastructure/security/__init__.py b/src/adn_server/infrastructure/security/__init__.py index 0e8888c..796cf19 100644 --- a/src/adn_server/infrastructure/security/__init__.py +++ b/src/adn_server/infrastructure/security/__init__.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - security # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### from .password_download import DefaultSecurityDownloader, StubSecurityDownloader diff --git a/src/adn_server/infrastructure/security/password_crypto.py b/src/adn_server/infrastructure/security/password_crypto.py index dfc5f8c..fb2aba7 100644 --- a/src/adn_server/infrastructure/security/password_crypto.py +++ b/src/adn_server/infrastructure/security/password_crypto.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - password encryption (legacy password_crypto) # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Fernet-based encrypt/decrypt for stored passwords. Legacy password_crypto.""" diff --git a/src/adn_server/infrastructure/security/password_download.py b/src/adn_server/infrastructure/security/password_download.py index 787a7f3..fdce35e 100644 --- a/src/adn_server/infrastructure/security/password_download.py +++ b/src/adn_server/infrastructure/security/password_download.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - security downloads (legacy security_downloader) # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Central security server: download encryption key and user passwords. Legacy init_security_downloads, periodic_password_download.""" diff --git a/src/adn_server/infrastructure/security/user_passwords_loader.py b/src/adn_server/infrastructure/security/user_passwords_loader.py index 1430b41..c90df70 100644 --- a/src/adn_server/infrastructure/security/user_passwords_loader.py +++ b/src/adn_server/infrastructure/security/user_passwords_loader.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - load and decrypt user passwords (legacy hblink load_user_passwords, get_user_password) # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Load user_passwords.json, decrypt with password_crypto; expose get_user_password(radio_id) for auth.""" diff --git a/src/adn_server/infrastructure/twisted_adapters/__init__.py b/src/adn_server/infrastructure/twisted_adapters/__init__.py index ef761ca..3922106 100644 --- a/src/adn_server/infrastructure/twisted_adapters/__init__.py +++ b/src/adn_server/infrastructure/twisted_adapters/__init__.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - Twisted adapters # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### from .report_server import ReportServerFactory, REPORT_OPCODES from .udp_hbp import HBPProtocolFactory diff --git a/src/adn_server/infrastructure/twisted_adapters/report_server.py b/src/adn_server/infrastructure/twisted_adapters/report_server.py index 9900754..89a8933 100644 --- a/src/adn_server/infrastructure/twisted_adapters/report_server.py +++ b/src/adn_server/infrastructure/twisted_adapters/report_server.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - TCP report server # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Report server: CONFIG_SND, BRIDGE_SND, BRDG_EVENT (legacy reportFactory, bridgeReportFactory).""" diff --git a/src/adn_server/infrastructure/twisted_adapters/udp_hbp.py b/src/adn_server/infrastructure/twisted_adapters/udp_hbp.py index f0b80a3..d5b0634 100644 --- a/src/adn_server/infrastructure/twisted_adapters/udp_hbp.py +++ b/src/adn_server/infrastructure/twisted_adapters/udp_hbp.py @@ -1,6 +1,26 @@ # ADN DMR Peer Server - UDP HBP protocol # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink (hblink.py). GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2026 Joaquin Madrid Belando, EA5GVK +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### # Source of truth: adn-dmr-server hblink.py master_datagramReceived / HBSYSTEM. """UDP HBP: direct port from hblink.py. MASTER uses same logic, log strings and packet handling as legacy.""" diff --git a/src/adn_server/infrastructure/voice/__init__.py b/src/adn_server/infrastructure/voice/__init__.py index 6bff2df..7665b99 100644 --- a/src/adn_server/infrastructure/voice/__init__.py +++ b/src/adn_server/infrastructure/voice/__init__.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - voice infrastructure # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### from .ambe_reader import DefaultVoiceProvider, ReadAMBE, StubVoiceProvider from .pkt_gen import pkt_gen diff --git a/src/adn_server/infrastructure/voice/ambe_reader.py b/src/adn_server/infrastructure/voice/ambe_reader.py index 7349d99..b0e1ac5 100644 --- a/src/adn_server/infrastructure/voice/ambe_reader.py +++ b/src/adn_server/infrastructure/voice/ambe_reader.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - AMBE reader and default voice provider # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink (read_ambe.py, mk_voice). GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """AMBE word loading (readAMBE) and VoiceProvider that uses it + pkt_gen.""" diff --git a/src/adn_server/infrastructure/voice/pkt_gen.py b/src/adn_server/infrastructure/voice/pkt_gen.py index 74c15d8..37cb4ab 100644 --- a/src/adn_server/infrastructure/voice/pkt_gen.py +++ b/src/adn_server/infrastructure/voice/pkt_gen.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - voice packet generator (legacy mk_voice.pkt_gen) # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink (mk_voice.py). GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Generate HBP DMRD voice packets for a phrase. Legacy mk_voice.pkt_gen.""" diff --git a/src/adn_server/infrastructure/voice/recording.py b/src/adn_server/infrastructure/voice/recording.py index a723fc9..e5dc82d 100644 --- a/src/adn_server/infrastructure/voice/recording.py +++ b/src/adn_server/infrastructure/voice/recording.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - voice recording (legacy _handleRecording, _saveRecording) # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Record DMR voice to AMBE file when RECORDING_ENABLED and packet matches RECORDING_TG / RECORDING_TIMESLOT.""" diff --git a/src/adn_server/infrastructure/voice/tts_ambe.py b/src/adn_server/infrastructure/voice/tts_ambe.py index 8bdd7c3..e50a5ed 100644 --- a/src/adn_server/infrastructure/voice/tts_ambe.py +++ b/src/adn_server/infrastructure/voice/tts_ambe.py @@ -1,6 +1,26 @@ # ADN DMR Peer Server - TTS to AMBE stub # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2026 Joaquin Madrid Belando, EA5GVK +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """TTS to AMBE file (legacy tts_engine.ensure_tts_ambe). Stub until ported.""" diff --git a/src/adn_server/infrastructure/voice/tts_engine.py b/src/adn_server/infrastructure/voice/tts_engine.py index a577d68..6b1adba 100644 --- a/src/adn_server/infrastructure/voice/tts_engine.py +++ b/src/adn_server/infrastructure/voice/tts_engine.py @@ -1,6 +1,26 @@ # ADN DMR Peer Server - TTS engine (legacy tts_engine.py) # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server tts_engine. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2026 Joaquin Madrid Belando, EA5GVK +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """ TTS Engine: convert .txt to .ambe for DMR. diff --git a/src/adn_server/infrastructure/voice/voice_map.py b/src/adn_server/infrastructure/voice/voice_map.py index 0dbe6cd..006fcc1 100644 --- a/src/adn_server/infrastructure/voice/voice_map.py +++ b/src/adn_server/infrastructure/voice/voice_map.py @@ -1,6 +1,25 @@ # ADN DMR Peer Server - i18n voice key mapping # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server i8n_voice_map.py (Simon Adlem, G7RZU). GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """Map logical keys (e.g. 'A') to AMBE file names (e.g. 'alpha') per language.""" diff --git a/src/adn_server/main.py b/src/adn_server/main.py index 9e3be12..df229ac 100644 --- a/src/adn_server/main.py +++ b/src/adn_server/main.py @@ -1,6 +1,26 @@ # ADN DMR Peer Server - entrypoint # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from ADN DMR Server / HBlink. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2026 Joaquin Madrid Belando, EA5GVK +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """ ADN DMR Peer Server entrypoint. @@ -144,7 +164,8 @@ def main() -> None: logger.info("\n\nCopyright (c) 2026 Rodrigo Pérez, CE5RPY ce5rpy@qmd.cl") logger.info("\n\nCopyright (c) 2026 Joaquin Madrid Belando, EA5GVK ea5gvk@gmail.com") logger.info("\nCopyright (c) 2024-2026 Esteban Mackay, HP3ICC setcom40@gmail.com") - logger.info("\nCopyright (c) 2020-2023 Simon G7RZU simon@gb7fr.org.uk") + logger.info("\nCopyright (c) 2020 Simon Adlem, G7RZU g7rzu@gb7fr.org.uk") + logger.info("\nCopyright (c) 2016-2019 Cortney T. Buffington, N0MJS n0mjs@me.com") logger.info("\nCopyright (c) 2013, 2014, 2015, 2016, 2018, 2019\n\tThe Regents of the K0USY Group. All rights reserved.") logger.debug("\n\n(GLOBAL) Logging system started, anything from here on gets logged") diff --git a/src/adn_server/parrot_main.py b/src/adn_server/parrot_main.py index bf5b037..c5722c4 100644 --- a/src/adn_server/parrot_main.py +++ b/src/adn_server/parrot_main.py @@ -1,7 +1,25 @@ # ADN DMR Peer Server - parrot (playback) entrypoint -# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS & Mike Zingman, N4IRR # Copyright (C) 2026 Rodrigo Pérez, CE5RPY -# Derived from playback.py. GPLv3. +# +# Derived from ADN DMR Server / FreeDMR / HBlink. Original license: +############################################################################### +# Copyright (C) 2020 Simon Adlem, G7RZU +# Copyright (C) 2016-2019 Cortney T. Buffington, N0MJS +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +############################################################################### """ ADN DMR Parrot (playback) entrypoint. @@ -66,7 +84,8 @@ def main() -> None: logger.info("\n\nCopyright (c) 2026 Rodrigo Pérez, CE5RPY ce5rpy@qmd.cl") logger.info("\n\nCopyright (c) 2026 Joaquin Madrid Belando, EA5GVK ea5gvk@gmail.com") logger.info("\nCopyright (c) 2024-2026 Esteban Mackay, HP3ICC setcom40@gmail.com") - logger.info("\nCopyright (c) 2020-2023 Simon G7RZU simon@gb7fr.org.uk") + logger.info("\nCopyright (c) 2020-2023 Simon Adlem, G7RZU g7rzu@gb7fr.org.uk") + logger.info("\nCopyright (c) 2016-2019 Cortney T. Buffington, N0MJS n0mjs@me.com") logger.info("\nCopyright (c) 2013, 2014, 2015, 2016, 2018, 2019\n\tThe Regents of the K0USY Group. All rights reserved.") logger.debug("\n\n(GLOBAL) Logging system started, anything from here on gets logged")