<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/openbsc/+/21646">View Change</a></p><div style="white-space:pre-wrap">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
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Add very clear obsolescence / unmaintained warnings<br><br>* add messages at start-up and to the VTY<br>* users must explicitly confirm they want to run osmo-nitb<br><br>Change-Id: I5d5c0ff386dbc2e7b7dd02d6c33d1f9fec70707b<br>---<br>M manuals/OsmoNITB/chapters/overview.adoc<br>M manuals/OsmoNITB/osmonitb-usermanual.adoc<br>M openbsc/osmoappdesc.py<br>M openbsc/src/libcommon/bsc_version.c<br>M openbsc/src/osmo-nitb/bsc_hack.c<br>M openbsc/tests/ctrl_test_runner.py<br>M openbsc/tests/smpp_test_runner.py<br>M openbsc/tests/vty_test_runner.py<br>8 files changed, 62 insertions(+), 8 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/manuals/OsmoNITB/chapters/overview.adoc b/manuals/OsmoNITB/chapters/overview.adoc</span><br><span>index d161af3..2db7a42 100644</span><br><span>--- a/manuals/OsmoNITB/chapters/overview.adoc</span><br><span>+++ b/manuals/OsmoNITB/chapters/overview.adoc</span><br><span>@@ -4,6 +4,14 @@</span><br><span> This manual should help you getting started with OsmoNITB. It will cover</span><br><span> aspects of configuring and running the OsmoNITB.</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+WARNING:: osmo-nitb is obsolete since 2017. It is not actively maintained,</span><br><span style="color: hsl(120, 100%, 40%);">+and it lack several man-years of development effort that went into the</span><br><span style="color: hsl(120, 100%, 40%);">+so-called post-NITB stack consisting of separate OsmoBSC, OsmoMSC,</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW and OsmoHLR. You should not use this software except for</span><br><span style="color: hsl(120, 100%, 40%);">+archaeological purpose. You will be on your own. Do not contact the</span><br><span style="color: hsl(120, 100%, 40%);">+developers about any issues you may experience while running unsuported,</span><br><span style="color: hsl(120, 100%, 40%);">+obsolete software!</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> [[intro_overview]]</span><br><span> === About OsmoNITB</span><br><span> </span><br><span>diff --git a/manuals/OsmoNITB/osmonitb-usermanual.adoc b/manuals/OsmoNITB/osmonitb-usermanual.adoc</span><br><span>index 5058d02..ca2551e 100644</span><br><span>--- a/manuals/OsmoNITB/osmonitb-usermanual.adoc</span><br><span>+++ b/manuals/OsmoNITB/osmonitb-usermanual.adoc</span><br><span>@@ -1,10 +1,17 @@</span><br><span> :gfdl-enabled:</span><br><span> :program-name: OsmoNITB</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OsmoNITB User Manual</span><br><span style="color: hsl(0, 100%, 40%);">-====================</span><br><span style="color: hsl(120, 100%, 40%);">+OBSOLETE OsmoNITB User Manual</span><br><span style="color: hsl(120, 100%, 40%);">+=============================</span><br><span> Harald Welte <hwelte@sysmocom.de></span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+WARNING:: osmo-nitb is obsolete since 2017. It is not actively maintained,</span><br><span style="color: hsl(120, 100%, 40%);">+and it lack several man-years of development effort that went into the</span><br><span style="color: hsl(120, 100%, 40%);">+so-called post-NITB stack consisting of separate OsmoBSC, OsmoMSC,</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW and OsmoHLR. You should not use this software except for</span><br><span style="color: hsl(120, 100%, 40%);">+archaeological purpose. You will be on your own. Do not contact the</span><br><span style="color: hsl(120, 100%, 40%);">+developers about any issues you may experience while running unsuported,</span><br><span style="color: hsl(120, 100%, 40%);">+obsolete software!</span><br><span> </span><br><span> include::./common/chapters/preface.adoc[]</span><br><span> </span><br><span>diff --git a/openbsc/osmoappdesc.py b/openbsc/osmoappdesc.py</span><br><span>index af949e8..ba3ccf9 100644</span><br><span>--- a/openbsc/osmoappdesc.py</span><br><span>+++ b/openbsc/osmoappdesc.py</span><br><span>@@ -39,10 +39,11 @@</span><br><span> apps = [(4242, "src/osmo-bsc/osmo-bsc-sccplite", "OsmoBSC", "osmo-bsc-sccplite"),</span><br><span> (4244, "src/osmo-bsc_nat/osmo-bsc_nat", "OsmoBSCNAT", "nat"),</span><br><span> (4243, "src/osmo-bsc_mgcp/osmo-bsc_mgcp", "OpenBSC MGCP", "mgcp"),</span><br><span style="color: hsl(0, 100%, 40%);">- (4242, "src/osmo-nitb/osmo-nitb", "OpenBSC", "nitb"),</span><br><span style="color: hsl(120, 100%, 40%);">+ (4242, "src/osmo-nitb/osmo-nitb --yes-i-really-want-to-run-prehistoric-software", "OpenBSC", "nitb"),</span><br><span> ]</span><br><span> </span><br><span> vty_command = ["./src/osmo-nitb/osmo-nitb", "-c",</span><br><span style="color: hsl(0, 100%, 40%);">- "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg"]</span><br><span style="color: hsl(120, 100%, 40%);">+ "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg",</span><br><span style="color: hsl(120, 100%, 40%);">+ "--yes-i-really-want-to-run-prehistoric-software"]</span><br><span> </span><br><span> vty_app = apps[3] # reference apps[] entry for osmo-nitb</span><br><span>diff --git a/openbsc/src/libcommon/bsc_version.c b/openbsc/src/libcommon/bsc_version.c</span><br><span>index f0369bf..9111a0e 100644</span><br><span>--- a/openbsc/src/libcommon/bsc_version.c</span><br><span>+++ b/openbsc/src/libcommon/bsc_version.c</span><br><span>@@ -19,12 +19,19 @@</span><br><span> </span><br><span> #include "../../bscconfig.h"</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define DIVIDER "======================================================================\r\n"</span><br><span> const char *openbsc_copyright =</span><br><span> "Copyright (C) 2008-2016 Harald Welte, Holger Freyther\r\n"</span><br><span> "Contributions by Daniel Willmann, Jan Lübbe, Stefan Schmidt\r\n"</span><br><span> "Dieter Spaar, Andreas Eversberg, Sylvain Munaut, Neels Hofmeyr\r\n\r\n"</span><br><span> "License AGPLv3+: GNU AGPL version 3 or later <http://gnu.org/licenses/agpl-3.0.html>\r\n"</span><br><span> "This is free software: you are free to change and redistribute it.\r\n"</span><br><span style="color: hsl(0, 100%, 40%);">- "There is NO WARRANTY, to the extent permitted by law.\r\n";</span><br><span style="color: hsl(120, 100%, 40%);">+ "There is NO WARRANTY, to the extent permitted by law.\r\n" DIVIDER</span><br><span style="color: hsl(120, 100%, 40%);">+ "WARNING: You should not run osmo-nitb except for archaeological purpose.\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "It is ancient, unmaintained and obsolete for several years. But you seem\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "to insist on using obsolete and known-broken software that ignores years \r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "of hard development work. That's your choice, but you have been warned.\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "DON'T EVER BOTHER THE DEVELOPERS IF YOU ENCOUNTER PROBLEMS WITH IT!!!\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "See https://osmocom.org/projects/cellular-infrastructure/wiki/Osmocom_Network_In_The_Box\r\n" DIVIDER;</span><br><span> </span><br><span> </span><br><span>diff --git a/openbsc/src/osmo-nitb/bsc_hack.c b/openbsc/src/osmo-nitb/bsc_hack.c</span><br><span>index 4950f4c..9ce5e12 100644</span><br><span>--- a/openbsc/src/osmo-nitb/bsc_hack.c</span><br><span>+++ b/openbsc/src/osmo-nitb/bsc_hack.c</span><br><span>@@ -65,6 +65,7 @@</span><br><span> static int daemonize = 0;</span><br><span> static const char *mncc_sock_path = NULL;</span><br><span> static int use_db_counter = 1;</span><br><span style="color: hsl(120, 100%, 40%);">+static bool yes_i_really_want = false;</span><br><span> </span><br><span> /* timer to store statistics */</span><br><span> #define DB_SYNC_INTERVAL 60, 0</span><br><span>@@ -115,6 +116,7 @@</span><br><span> while (1) {</span><br><span> int option_index = 0, c;</span><br><span> static struct option long_options[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+ {"yes-i-really-want-to-run-prehistoric-software", 0, 0, 0},</span><br><span> {"help", 0, 0, 'h'},</span><br><span> {"debug", 1, 0, 'd'},</span><br><span> {"daemonize", 0, 0, 'D'},</span><br><span>@@ -139,6 +141,10 @@</span><br><span> break;</span><br><span> </span><br><span> switch (c) {</span><br><span style="color: hsl(120, 100%, 40%);">+ case 0:</span><br><span style="color: hsl(120, 100%, 40%);">+ if (option_index == 0)</span><br><span style="color: hsl(120, 100%, 40%);">+ yes_i_really_want = true;</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span> case 'h':</span><br><span> print_usage();</span><br><span> print_help();</span><br><span>@@ -282,6 +288,28 @@</span><br><span> /* Parse options */</span><br><span> handle_options(argc, argv);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define DIVIDER "======================================================================\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!yes_i_really_want) {</span><br><span style="color: hsl(120, 100%, 40%);">+ fprintf(stderr, DIVIDER</span><br><span style="color: hsl(120, 100%, 40%);">+ "ERROR: You should not run osmo-nitb. It is ancient, unmaintained and\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "obsolete for several years. If you really want to ignore years of hard work on\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "the new post-NITB stack (osmo-bsc, osmo-mgw, osmo-msc, osmo-hlr, osmo-stp),\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "you may ues the '--yes-i-really-want-to-run-prehistoric-software' command line\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "argument. DON'T EVER BOTHER THE DEVELOPERS IF YOU ENCOUNTER PROBLEMS WITH IT!!!\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "Use https://osmocom.org/projects/cellular-infrastructure/wiki/Osmocom_Network_In_The_Box\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ DIVIDER);</span><br><span style="color: hsl(120, 100%, 40%);">+ exit(2);</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ fprintf(stderr, DIVIDER</span><br><span style="color: hsl(120, 100%, 40%);">+ "WARNING: You should not run osmo-nitb except for archaeological purpose.\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "It is ancient, unmaintained and obsolete for several years. But you seem\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "to insist on using obsolete and known-broken software that ignores years \n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "of hard development work. That's your choice, but you have been warned.\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "DON'T EVER BOTHER THE DEVELOPERS IF YOU ENCOUNTER PROBLEMS WITH IT!!!\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ "Use https://osmocom.org/projects/cellular-infrastructure/wiki/Osmocom_Network_In_The_Box\n"</span><br><span style="color: hsl(120, 100%, 40%);">+ DIVIDER);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Allocate global gsm_network struct; choose socket/internal MNCC */</span><br><span> rc = bsc_network_alloc(mncc_sock_path?</span><br><span> mncc_sock_from_cc : int_mncc_recv);</span><br><span>diff --git a/openbsc/tests/ctrl_test_runner.py b/openbsc/tests/ctrl_test_runner.py</span><br><span>index a1d4195..7724f77 100755</span><br><span>--- a/openbsc/tests/ctrl_test_runner.py</span><br><span>+++ b/openbsc/tests/ctrl_test_runner.py</span><br><span>@@ -468,7 +468,8 @@</span><br><span> </span><br><span> def ctrl_command(self):</span><br><span> return ["./src/osmo-nitb/osmo-nitb", "-c",</span><br><span style="color: hsl(0, 100%, 40%);">- "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg", "-l", "test_hlr.sqlite3"]</span><br><span style="color: hsl(120, 100%, 40%);">+ "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg", "-l", "test_hlr.sqlite3",</span><br><span style="color: hsl(120, 100%, 40%);">+ "--yes-i-really-want-to-run-prehistoric-software"]</span><br><span> </span><br><span> def ctrl_app(self):</span><br><span> return (4249, "./src/osmo-nitb/osmo-nitb", "OsmoBSC", "nitb")</span><br><span>diff --git a/openbsc/tests/smpp_test_runner.py b/openbsc/tests/smpp_test_runner.py</span><br><span>index a34d7ba..b518ebb 100755</span><br><span>--- a/openbsc/tests/smpp_test_runner.py</span><br><span>+++ b/openbsc/tests/smpp_test_runner.py</span><br><span>@@ -64,7 +64,8 @@</span><br><span> </span><br><span> def vty_command(self):</span><br><span> return ["./src/osmo-nitb/osmo-nitb", "-c",</span><br><span style="color: hsl(0, 100%, 40%);">- "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg"]</span><br><span style="color: hsl(120, 100%, 40%);">+ "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg",</span><br><span style="color: hsl(120, 100%, 40%);">+ "--yes-i-really-want-to-run-prehistoric-software"]</span><br><span> </span><br><span> def vty_app(self):</span><br><span> return (4242, "./src/osmo-nitb/osmo-nitb", "OpenBSC", "nitb")</span><br><span>diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py</span><br><span>index 8044e61..a1293be 100755</span><br><span>--- a/openbsc/tests/vty_test_runner.py</span><br><span>+++ b/openbsc/tests/vty_test_runner.py</span><br><span>@@ -171,7 +171,8 @@</span><br><span> </span><br><span> def vty_command(self):</span><br><span> return ["./src/osmo-nitb/osmo-nitb", "-c",</span><br><span style="color: hsl(0, 100%, 40%);">- "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg"]</span><br><span style="color: hsl(120, 100%, 40%);">+ "doc/examples/osmo-nitb/nanobts/osmo-nitb.cfg",</span><br><span style="color: hsl(120, 100%, 40%);">+ "--yes-i-really-want-to-run-prehistoric-software"]</span><br><span> </span><br><span> def vty_app(self):</span><br><span> return (4242, "./src/osmo-nitb/osmo-nitb", "OpenBSC", "nitb")</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/openbsc/+/21646">change 21646</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/openbsc/+/21646"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: openbsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I5d5c0ff386dbc2e7b7dd02d6c33d1f9fec70707b </div>
<div style="display:none"> Gerrit-Change-Number: 21646 </div>
<div style="display:none"> Gerrit-PatchSet: 6 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>