diff options
author | Harald Welte <laforge@osmocom.org> | 2020-12-10 10:32:25 +0100 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2020-12-10 11:17:14 +0100 |
commit | e5e69dc73ecd8b0e6f99b4ab2f0cbb9766eeba5c (patch) | |
tree | 0d3dc4bdc74691c1b85237c2aa18a1d3c4e6637b | |
parent | 69ab2584e64077b8e083490e9a32fe00a7e1f762 (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.adoc | 8 | ||||
-rw-r--r-- | manuals/OsmoNITB/osmonitb-usermanual.adoc | 11 | ||||
-rw-r--r-- | openbsc/osmoappdesc.py | 5 | ||||
-rw-r--r-- | openbsc/src/libcommon/bsc_version.c | 9 | ||||
-rw-r--r-- | openbsc/src/osmo-nitb/bsc_hack.c | 28 | ||||
-rwxr-xr-x | openbsc/tests/ctrl_test_runner.py | 3 | ||||
-rwxr-xr-x | openbsc/tests/smpp_test_runner.py | 3 | ||||
-rwxr-xr-x | openbsc/tests/vty_test_runner.py | 3 |
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") |