aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-12-10 10:32:25 +0100
committerHarald Welte <laforge@osmocom.org>2020-12-10 11:17:14 +0100
commite5e69dc73ecd8b0e6f99b4ab2f0cbb9766eeba5c (patch)
tree0d3dc4bdc74691c1b85237c2aa18a1d3c4e6637b
parent69ab2584e64077b8e083490e9a32fe00a7e1f762 (diff)
Add very clear obsolescence / unmaintained warnings
* add messages at start-up and to the VTY * users must explicitly confirm they want to run osmo-nitb Change-Id: I5d5c0ff386dbc2e7b7dd02d6c33d1f9fec70707b
-rw-r--r--manuals/OsmoNITB/chapters/overview.adoc8
-rw-r--r--manuals/OsmoNITB/osmonitb-usermanual.adoc11
-rw-r--r--openbsc/osmoappdesc.py5
-rw-r--r--openbsc/src/libcommon/bsc_version.c9
-rw-r--r--openbsc/src/osmo-nitb/bsc_hack.c28
-rwxr-xr-xopenbsc/tests/ctrl_test_runner.py3
-rwxr-xr-xopenbsc/tests/smpp_test_runner.py3
-rwxr-xr-xopenbsc/tests/vty_test_runner.py3
8 files changed, 62 insertions, 8 deletions
diff --git a/manuals/OsmoNITB/chapters/overview.adoc b/manuals/OsmoNITB/chapters/overview.adoc
index d161af3f9..2db7a42e9 100644
--- a/manuals/OsmoNITB/chapters/overview.adoc
+++ b/manuals/OsmoNITB/chapters/overview.adoc
@@ -4,6 +4,14 @@
This manual should help you getting started with OsmoNITB. It will cover
aspects of configuring and running the OsmoNITB.
+WARNING:: osmo-nitb is obsolete since 2017. It is not actively maintained,
+and it lack several man-years of development effort that went into the
+so-called post-NITB stack consisting of separate OsmoBSC, OsmoMSC,
+OsmoMGW and OsmoHLR. You should not use this software except for
+archaeological purpose. You will be on your own. Do not contact the
+developers about any issues you may experience while running unsuported,
+obsolete software!
+
[[intro_overview]]
=== About OsmoNITB
diff --git a/manuals/OsmoNITB/osmonitb-usermanual.adoc b/manuals/OsmoNITB/osmonitb-usermanual.adoc
index 5058d02e7..ca2551ee2 100644
--- a/manuals/OsmoNITB/osmonitb-usermanual.adoc
+++ b/manuals/OsmoNITB/osmonitb-usermanual.adoc
@@ -1,10 +1,17 @@
:gfdl-enabled:
:program-name: OsmoNITB
-OsmoNITB User Manual
-====================
+OBSOLETE OsmoNITB User Manual
+=============================
Harald Welte <hwelte@sysmocom.de>
+WARNING:: osmo-nitb is obsolete since 2017. It is not actively maintained,
+and it lack several man-years of development effort that went into the
+so-called post-NITB stack consisting of separate OsmoBSC, OsmoMSC,
+OsmoMGW and OsmoHLR. You should not use this software except for
+archaeological purpose. You will be on your own. Do not contact the
+developers about any issues you may experience while running unsuported,
+obsolete software!
include::./common/chapters/preface.adoc[]
diff --git a/openbsc/osmoappdesc.py b/openbsc/osmoappdesc.py
index af949e8fa..ba3ccf900 100644
--- a/openbsc/osmoappdesc.py
+++ b/openbsc/osmoappdesc.py
@@ -39,10 +39,11 @@ app_configs = {
apps = [(4242, "src/osmo-bsc/osmo-bsc-sccplite", "OsmoBSC", "osmo-bsc-sccplite"),
(4244, "src/osmo-bsc_nat/osmo-bsc_nat", "OsmoBSCNAT", "nat"),
(4243, "src/osmo-bsc_mgcp/osmo-bsc_mgcp", "OpenBSC MGCP", "mgcp"),
- (4242, "src/osmo-nitb/osmo-nitb", "OpenBSC", "nitb"),
+ (4242, "src/osmo-nitb/osmo-nitb --yes-i-really-want-to-run-prehistoric-software", "OpenBSC", "nitb"),
]
vty_command = ["./src/osmo-nitb/osmo-nitb", "-c",
- "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg"]
+ "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg",
+ "--yes-i-really-want-to-run-prehistoric-software"]
vty_app = apps[3] # reference apps[] entry for osmo-nitb
diff --git a/openbsc/src/libcommon/bsc_version.c b/openbsc/src/libcommon/bsc_version.c
index f0369bffe..9111a0eb1 100644
--- a/openbsc/src/libcommon/bsc_version.c
+++ b/openbsc/src/libcommon/bsc_version.c
@@ -19,12 +19,19 @@
#include "../../bscconfig.h"
+#define DIVIDER "======================================================================\r\n"
const char *openbsc_copyright =
"Copyright (C) 2008-2016 Harald Welte, Holger Freyther\r\n"
"Contributions by Daniel Willmann, Jan Lübbe, Stefan Schmidt\r\n"
"Dieter Spaar, Andreas Eversberg, Sylvain Munaut, Neels Hofmeyr\r\n\r\n"
"License AGPLv3+: GNU AGPL version 3 or later <http://gnu.org/licenses/agpl-3.0.html>\r\n"
"This is free software: you are free to change and redistribute it.\r\n"
- "There is NO WARRANTY, to the extent permitted by law.\r\n";
+ "There is NO WARRANTY, to the extent permitted by law.\r\n" DIVIDER
+ "WARNING: You should not run osmo-nitb except for archaeological purpose.\r\n"
+ "It is ancient, unmaintained and obsolete for several years. But you seem\r\n"
+ "to insist on using obsolete and known-broken software that ignores years \r\n"
+ "of hard development work. That's your choice, but you have been warned.\r\n"
+ "DON'T EVER BOTHER THE DEVELOPERS IF YOU ENCOUNTER PROBLEMS WITH IT!!!\r\n"
+ "See https://osmocom.org/projects/cellular-infrastructure/wiki/Osmocom_Network_In_The_Box\r\n" DIVIDER;
diff --git a/openbsc/src/osmo-nitb/bsc_hack.c b/openbsc/src/osmo-nitb/bsc_hack.c
index 4950f4ca9..9ce5e124a 100644
--- a/openbsc/src/osmo-nitb/bsc_hack.c
+++ b/openbsc/src/osmo-nitb/bsc_hack.c
@@ -65,6 +65,7 @@ extern const char *openbsc_copyright;
static int daemonize = 0;
static const char *mncc_sock_path = NULL;
static int use_db_counter = 1;
+static bool yes_i_really_want = false;
/* timer to store statistics */
#define DB_SYNC_INTERVAL 60, 0
@@ -115,6 +116,7 @@ static void handle_options(int argc, char **argv)
while (1) {
int option_index = 0, c;
static struct option long_options[] = {
+ {"yes-i-really-want-to-run-prehistoric-software", 0, 0, 0},
{"help", 0, 0, 'h'},
{"debug", 1, 0, 'd'},
{"daemonize", 0, 0, 'D'},
@@ -139,6 +141,10 @@ static void handle_options(int argc, char **argv)
break;
switch (c) {
+ case 0:
+ if (option_index == 0)
+ yes_i_really_want = true;
+ break;
case 'h':
print_usage();
print_help();
@@ -282,6 +288,28 @@ int main(int argc, char **argv)
/* Parse options */
handle_options(argc, argv);
+#define DIVIDER "======================================================================\n"
+ if (!yes_i_really_want) {
+ fprintf(stderr, DIVIDER
+ "ERROR: You should not run osmo-nitb. It is ancient, unmaintained and\n"
+ "obsolete for several years. If you really want to ignore years of hard work on\n"
+ "the new post-NITB stack (osmo-bsc, osmo-mgw, osmo-msc, osmo-hlr, osmo-stp),\n"
+ "you may ues the '--yes-i-really-want-to-run-prehistoric-software' command line\n"
+ "argument. DON'T EVER BOTHER THE DEVELOPERS IF YOU ENCOUNTER PROBLEMS WITH IT!!!\n"
+ "Use https://osmocom.org/projects/cellular-infrastructure/wiki/Osmocom_Network_In_The_Box\n"
+ DIVIDER);
+ exit(2);
+ } else {
+ fprintf(stderr, DIVIDER
+ "WARNING: You should not run osmo-nitb except for archaeological purpose.\n"
+ "It is ancient, unmaintained and obsolete for several years. But you seem\n"
+ "to insist on using obsolete and known-broken software that ignores years \n"
+ "of hard development work. That's your choice, but you have been warned.\n"
+ "DON'T EVER BOTHER THE DEVELOPERS IF YOU ENCOUNTER PROBLEMS WITH IT!!!\n"
+ "Use https://osmocom.org/projects/cellular-infrastructure/wiki/Osmocom_Network_In_The_Box\n"
+ DIVIDER);
+ }
+
/* Allocate global gsm_network struct; choose socket/internal MNCC */
rc = bsc_network_alloc(mncc_sock_path?
mncc_sock_from_cc : int_mncc_recv);
diff --git a/openbsc/tests/ctrl_test_runner.py b/openbsc/tests/ctrl_test_runner.py
index a1d4195c7..7724f77fd 100755
--- a/openbsc/tests/ctrl_test_runner.py
+++ b/openbsc/tests/ctrl_test_runner.py
@@ -468,7 +468,8 @@ class TestCtrlNITB(TestCtrlBase):
def ctrl_command(self):
return ["./src/osmo-nitb/osmo-nitb", "-c",
- "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg", "-l", "test_hlr.sqlite3"]
+ "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg", "-l", "test_hlr.sqlite3",
+ "--yes-i-really-want-to-run-prehistoric-software"]
def ctrl_app(self):
return (4249, "./src/osmo-nitb/osmo-nitb", "OsmoBSC", "nitb")
diff --git a/openbsc/tests/smpp_test_runner.py b/openbsc/tests/smpp_test_runner.py
index a34d7baa6..b518ebbdd 100755
--- a/openbsc/tests/smpp_test_runner.py
+++ b/openbsc/tests/smpp_test_runner.py
@@ -64,7 +64,8 @@ class TestSMPPNITB(TestVTYBase):
def vty_command(self):
return ["./src/osmo-nitb/osmo-nitb", "-c",
- "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg"]
+ "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg",
+ "--yes-i-really-want-to-run-prehistoric-software"]
def vty_app(self):
return (4242, "./src/osmo-nitb/osmo-nitb", "OpenBSC", "nitb")
diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py
index 8044e6186..a1293be4b 100755
--- a/openbsc/tests/vty_test_runner.py
+++ b/openbsc/tests/vty_test_runner.py
@@ -171,7 +171,8 @@ class TestVTYNITB(TestVTYGenericBSC):
def vty_command(self):
return ["./src/osmo-nitb/osmo-nitb", "-c",
- "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg"]
+ "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg",
+ "--yes-i-really-want-to-run-prehistoric-software"]
def vty_app(self):
return (4242, "./src/osmo-nitb/osmo-nitb", "OpenBSC", "nitb")