<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>