Change in openbsc[master]: Add very clear obsolescence / unmaintained warnings

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Thu Dec 10 13:01:20 UTC 2020


laforge has submitted this change. ( https://gerrit.osmocom.org/c/openbsc/+/21646 )

Change subject: Add very clear obsolescence / unmaintained warnings
......................................................................

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
---
M manuals/OsmoNITB/chapters/overview.adoc
M manuals/OsmoNITB/osmonitb-usermanual.adoc
M openbsc/osmoappdesc.py
M openbsc/src/libcommon/bsc_version.c
M openbsc/src/osmo-nitb/bsc_hack.c
M openbsc/tests/ctrl_test_runner.py
M openbsc/tests/smpp_test_runner.py
M openbsc/tests/vty_test_runner.py
8 files changed, 62 insertions(+), 8 deletions(-)

Approvals:
  Jenkins Builder: Verified
  fixeria: Looks good to me, but someone else must approve
  daniel: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve



diff --git a/manuals/OsmoNITB/chapters/overview.adoc b/manuals/OsmoNITB/chapters/overview.adoc
index d161af3..2db7a42 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 5058d02..ca2551e 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 at 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 af949e8..ba3ccf9 100644
--- a/openbsc/osmoappdesc.py
+++ b/openbsc/osmoappdesc.py
@@ -39,10 +39,11 @@
 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 f0369bf..9111a0e 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 4950f4c..9ce5e12 100644
--- a/openbsc/src/osmo-nitb/bsc_hack.c
+++ b/openbsc/src/osmo-nitb/bsc_hack.c
@@ -65,6 +65,7 @@
 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 @@
 	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 @@
 			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 @@
 	/* 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 a1d4195..7724f77 100755
--- a/openbsc/tests/ctrl_test_runner.py
+++ b/openbsc/tests/ctrl_test_runner.py
@@ -468,7 +468,8 @@
 
     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 a34d7ba..b518ebb 100755
--- a/openbsc/tests/smpp_test_runner.py
+++ b/openbsc/tests/smpp_test_runner.py
@@ -64,7 +64,8 @@
 
     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 8044e61..a1293be 100755
--- a/openbsc/tests/vty_test_runner.py
+++ b/openbsc/tests/vty_test_runner.py
@@ -171,7 +171,8 @@
 
     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")

-- 
To view, visit https://gerrit.osmocom.org/c/openbsc/+/21646
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Change-Id: I5d5c0ff386dbc2e7b7dd02d6c33d1f9fec70707b
Gerrit-Change-Number: 21646
Gerrit-PatchSet: 6
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann at sysmocom.de>
Gerrit-Reviewer: dexter <pmaier at sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: lynxis lazus <lynxis at fe80.eu>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201210/a7cce9bc/attachment.htm>


More information about the gerrit-log mailing list