Commit Graph

6549 Commits

Author SHA1 Message Date
Max d53a215d24 Drop unused osmo-sgsn.pc
We do not install any libraries so we don't need it: most likely it's a
forgotten leftover from pre-split repo time.

Change-Id: Ifabb26d1e6384659789061bc2abe23cb5ceca4cb
2018-12-10 18:05:58 +00:00
Max 9758191b00 Constify sgsn_acl_lookup() parameter
This requires I414e67a3de733fab407161b3264d3b89070ba537 in libosmocore
to avoid warning about discarded const.

Change-Id: Ie92637dd900b0f9eba891d5aad0b4ba0ee69c08c
2018-12-10 18:17:21 +01:00
Max 7aefd567f0 Remove misleading comment
The code which has been used for 4 years is hardly temporary.

Change-Id: Ibe9c62e0beb89eecced941b8831d49ca266c7330
2018-12-10 17:07:05 +00:00
Oliver Smith 7c48f3ed85 contrib: fix makedistcheck with disabled systemd
EXTRA_DIST files need to be distributed, no matter if the systemd option
is configured or not.

Change-Id: I4b1973a4796ccddce930a130be00c15b09572c16
2018-12-06 13:54:53 +01:00
Oliver Smith d13baf694e contrib/jenkins.sh: build and publish manuals
Add new environment variables WITH_MANUALS and PUBLISH to control if
the manuals should be built and uploaded. Describe all environment vars
on top of the file.

When WITH_MANUALS is set, install osmo-gsm-manuals like any other
dependency and add --enable-manuals to the configure flags (for "make"
and "make distcheck"). Add the bin subdir of the installed files to
PATH, so osmo-gsm-manuals-check-depends can be used by ./configure.

Related: OS#3385
Change-Id: Ic45322c809f9f65d0fd24b828dab0cd929fa6267
2018-12-05 13:18:47 +01:00
Oliver Smith 0abeea2c24 Fix DISTCHECK_CONFIGURE_FLAGS override
Set AM_DISTCHECK_CONFIGURE_FLAGS in Makefile.am instead of
DISTCHECK_CONFIGURE_FLAGS. This is the recommended way from the
automake manual, as otherwise the flag can't be changed by the user
anymore.

Related: OS#3718
Change-Id: I5bf96adcf06f1844ffc888d8690d2cc0df48e3f9
2018-12-04 15:34:16 +01:00
Oliver Smith 4a1d805431 build manuals moved here from osmo-gsm-manuals.git
Moved to doc/manuals/, with full commit history, in preceding merge commit.
Now incorporate in the build system.

Build with:

$ autoreconf -fi
$ ./configure --enable-manuals
$ make

Shared files from osmo-gsm-manuals.git are found automatically if
- the repository is checked out in ../osmo-gsm-manuals; or
- if it osmo-gsm-manuals was installed with "make install"; or
- OSMO_GSM_MANUALS_DIR is set.

Related: OS#3385
Change-Id: I0477d7c871413bd90b365d3064bac3cba23a0883
2018-11-27 18:10:43 +01:00
Neels Hofmeyr 1e0333f398 Merge history from osmo-gsm-manuals.git
Change-Id: I284bfe2fc61167986cf784eabdd57151d4981e7a
2018-11-27 18:10:31 +01:00
Neels Hofmeyr 4ca244ab33 sgsn: update vty reference
Change-Id: I64d775efa6791aca025d116905e951e10ffa5d04
2018-11-27 18:10:00 +01:00
Harald Welte b8f9560658 vty-ref: Update URI of docbook 5.0 schema
... to match the /etc/xml/catalog file on debian (no "www" in hostname)

Change-Id: Id9f3579c7f2bc3af13fe30b5268f249b6f59ed0d
2018-11-27 18:10:00 +01:00
Neels Hofmeyr fb0ca14889 OsmoSGSN: update VTY reference
This is the first update since the libosmocore changes to the 'show
online-help' generated output. Hence the produced document now benefits from
the structural improvements:
- not repeating common commands for every node;
- using section names that match the VTY prompt.

Drop most of the sgsn_vty_additions.xml -- they merely repeat what the online
VTY doc already explains. Many of these more verbose explanations have been
absorbed into the VTY online doc in osmo-sgsn.git change-id
I35984014424412e91437b7ed71576aef3819cb1e.

Adjust remaining sgsn_vty_additions.xml to match the new node ID scheme.

Change-Id: I71863e5056ad369d2055e9882a52a00fa999ab04
2018-11-27 18:10:00 +01:00
Pau Espin 0b81a2f293 OsmoSGSN: overview: Fix typo and reference OpenGGSN->OsmoGGSN
Change-Id: I94cc362a4f52e6bd9f93299665e73dc4fd75a2c6
2018-11-27 18:10:00 +01:00
Harald Welte 2e0d1b0a08 share chapters/gsup.adoc from OsmoSGSN to OsmoMSC + OsmoHLR
Since the NITB split, GSUP is used in all three network elements, so
make the protocol a shared chapter

Change-Id: Id2d7c27ef16eb0ebe5f60d625a1fcf42f1603f4f
2018-11-27 18:10:00 +01:00
Alexander Couzens a6e189f639 OsmoSGSN: add rate counter documentation
Change-Id: I4c5d5744f961a92bc7c8888ca739d1e8a8a0be9c
2018-11-27 18:10:00 +01:00
Pau Espin 54828cdd79 OsmoSGSN: configuration: Document CDR CTRL interface
Change-Id: Ib729e2fc4898c20d27e95fc0f13abe9c0656dda5
2018-11-27 18:10:00 +01:00
Pau Espin 04da5fe0e6 OsmoSGSN: configuration: Add missing pdp-periodic event
Change-Id: I2d8b11496e75abd23a42efab8eabba2b5b0912e9
2018-11-27 18:10:00 +01:00
Pau Espin 817911f7c1 OsmoSGSN: configuration: Move pdp ctx specific CDR fields to its own table
Change-Id: I056f278b64ab426b9455b6a667abf2fe7fc94022
2018-11-27 18:10:00 +01:00
Neels Hofmeyr 471be2cd6f refactor Makefile build rules, don't use the FORCE
The initial goal was to make sure we don't have overall FORCE rules causing
unnecessary rebuilds -- annoying while writing documentation. As I looked
through possible dependencies, I finally understood what's going on here.

Remove code dup and nicely sort which belongs where in build/Makefile.*.inc. In
each, describe in a top comment how to use it, and also unify how they are
used:

- Rename Makefile.inc to Makefile.docbook.inc and refactor
- Add Makefile.vty-reference.inc
- Add Makefile.common.inc

Make sure that we accurately pick up all dependencies.

Drop use of the macro called 'command', that silenced the actual command lines
invoked and replaced them with short strings: it obscures what is actually
going on and makes the Makefiles hard to read and understand.

Each manual's makefile is greatly reduced to few definitions and a Makefile
include, e.g. one for asciidoc, one for VTY reference.

Move common/bsc_vty_additions.xml to OsmoBSC/vty/libbsc_vty_additions.xml, link
from OsmoNITB. It applies only to OsmoBSC and OsmoNITB.

Add a script that combines a VTY reference file with *all* additions files
found in a manual's vty/ dir. Call this from Makefile.vty-reference.inc.

Change-Id: I9758e04162a480e28c7dc83475b514cf7fd25ec0
2018-11-27 18:10:00 +01:00
Pau Espin 202a39e1d7 Allow easily disabling GFDL references
All parts referencing GFDL can be easily disabled by removing the
'gfdl-enabled' attribute from the document.

Change-Id: I2489726ad2e90301bceadfada926e31ae0f85986
2018-11-27 18:10:00 +01:00
Holger Hans Peter Freyther 19ee301b16 sgsn: Add charging characteristics to GSUP
Reserve a new IE for the charging characteristics. We need to handle
them as a GGSN might otherwise reject the PDP context creation. For
the SGSN it is enough to send the two octets as it.

Pick the 0x1X range for the IEs as it is used with the PDP contexts.

Change-Id: I1d7423582e154728a240cf15c32772a06822f4ad
2018-11-27 18:10:00 +01:00
Holger Hans Peter Freyther 29980b7ccb sgsn: Fix numbering of QoS and add basic description for APN
QoS was supposed to be 13 as 12 has been used for the APN. Fix that
and document the APN.

Change-Id: Ib6113aa7c59841aada424e2cafd94ed88c7badc7
2018-11-27 18:10:00 +01:00
Philipp Maier 0f63651adf osmo-sgsn: fix arrow tips in flow diagrams
The arrow style used to desribe the flowcharts in gsup.adoc does not match
the arrow style used in the protocol descriptions which are included from
the common directory (gb.adoc, control_if.adoc, oap.adoc). This patch changes
the arrow style to match the already existing common parts.

Change-Id: I7faa0c97ee3705a64289a47bc63f311d05f988b3
2018-11-27 18:10:00 +01:00
Philipp Maier e4e901186b osmo-sgsn: Explain TCP/IP header compression
The does not mention TCP/IP header compression yet. This
commit adds some info about it

Change-Id: I98408e72020a474d378e39263a933eb7567de146
2018-11-27 18:10:00 +01:00
Philipp Maier ed17106f01 osmo-sgsn: improve auth-policy explaination
The explaination of the access policy is a bit unclear. Users
that come from osmo-nitb might have trouble to grasp the functionality
of the access control list based approack correctly.

Change-Id: Iaae3035c4de3cb082f097441eff99289ee6dfc53
2018-11-27 18:10:00 +01:00
Philipp Maier 5783c0fc32 osmo-sgsn: Update VTY command reference
Change-Id: I6585144addd8501226572eda6f55db19d0e31c54
2018-11-27 18:10:00 +01:00
ikostov c520c3b2f4 GSUP, OAP: fix AUTS length to 14, not 16
https://gerrit.osmocom.org/1731

Change-Id: Id33d300c4985be5f2602703a6d4dc83032f0a926
2018-11-27 18:10:00 +01:00
ikostov aa6629f8a0 SGSN: add Auth. policy, NS Statistics and BSSGP state examples, tweaks
Add semicoli in fig-gprs-pcubts digraph.

Remove section from GMM Implementation about non-existence of HLR.
The SGSN can access osmo-hlr via GSUP (and will have to do so in the
libvlr future).

Change-Id: I0164f418e453672321eed00bbc454c1e223ea158
2018-11-27 18:10:00 +01:00
Neels Hofmeyr 8343572e2d fix 'make clean': shell glob, ignore failure
Unfortunately a glob like osmo-x__*.{svg,png} doesn't work, so have the
suffixes in separate globs.

Add dashes to indicate that failure should be ignored.

Change-Id: I6bc4d9ea72b43a573acbc860c23397f748de2c7b
2018-11-27 18:10:00 +01:00
Neels Hofmeyr 235b0db2eb add 'make check' target
Generate *.check files from asciidoc output and grep for WARNINGs.
Add *.check files to gitignore and to 'make clean'.

Change-Id: Ibccc83a3415930a528f2e8e4e4dda3b81c6d0b64
2018-11-27 18:10:00 +01:00
Harald Welte 779ba70905 GSUP: Add ladder diagrams for protocol transactions / procedures 2018-11-27 18:10:00 +01:00
Harald Welte ed9c53d575 Update GSUP chapter regarding UMTS AKA and other recent changes
The GSUP protocol has been enhanced with
* Support for UMTS AKA in 'Auth Tuple' / SAI operations
* Authentication Failure Report
* CN Domain indicator

Let's update the documentation accordingly.
2018-11-27 18:10:00 +01:00
Max 2b6d272549 Add OsmoSGSN control interface description 2018-11-27 18:10:00 +01:00
Jonathan Brielmaier 5530c91d3d fix various typos across all manuals 2018-11-27 18:10:00 +01:00
Harald Welte 36dea397ba OsmoSGSN: Fix formatting/cross reference in CDR section 2018-11-27 18:10:00 +01:00
Harald Welte aad1bf5207 Add link to Asciidoc source code of manual 2018-11-27 18:10:00 +01:00
Harald Welte 9f1331b103 initial checkin of manuals to public repo
The manuals existed in different form for several years in an internal
sysmocom repository.  However, since they had just recently been
converted from docboox-xml to asciidoc and all files have been
re-shuffled for enabling the public release, there's not much point in
keeping the history with git-filter-branch.
2018-11-27 18:10:00 +01:00
Neels Hofmeyr b2ee85da69 Importing history from osmo-gsm-manuals.git
Change-Id: I5dae23d0c9526aec3ee8f0b4b8baf2b6f919e43e
2018-11-27 18:09:36 +01:00
Pau Espin 7d4dab8d1f gbproxy: flush_stored_messages: Get rid of msg param
Log line actually makes more sense out of the function where IMSI acq is
resolved. We can then get rid of msg param which may cause confusion and
add complexitiy to code for no good reason.

Change-Id: I6716a260e12a3cf36af0501ce611c6c1e608f537
2018-11-26 10:49:15 +00:00
Pau Espin 2f9b381246 gbproxy: flush_stored_messages: Log and route using stored_msg info
It makes no sense to print every stored_msg with BVCI from msg, same for
routing. This will allow getting rid of "msg" completelly in next
commit.

Change-Id: I95eafbf41012be3e02c68fc996773dd02b174fe6
2018-11-26 10:49:15 +00:00
Pau Espin f05b174cda gbproxy: flush_stored_messages: Move comment to func description
Change-Id: I14a90d1957a2cbd8fd53002b035fe481ab3abbbf
2018-11-26 10:49:15 +00:00
Pau Espin badb7ab42d gbproxy: Remove unneeded parse_ctx param
The only use inside the function is only to log information which should
actually be provided by tmp_parse_ctx of each stored msg.

Change-Id: Ic186b92fa9bd0a2b853a0cf525c6f6feb9493897
2018-11-26 10:49:15 +00:00
Pau Espin 362612de66 gbproxy: Fix abort during APN patch
gbproxy process was aborted with following message during APN patching:
<000e> gb_proxy_patch.c:129 Patching ACT_PDP_REQ to SGSN: Replacing APN 'foo' -> 'bar'
msgb(0x5555558797d0): Sub area is not fully contained in the msg data

During osmo-sgsn 107fb59e84b12bbf6bdfdd4fc241dbcda7332706 old copy of
gprs_msgb_resize_area was replaced by more modern libosmocore version
called msgb_resize_area. They are mostly identical but the later has
some extra verification asserts. One of this asserts was triggering the
process abort, but the bug has always been there as far as I could see
in git history.

The assert triggers because the bssgp buffer and parse_ctx point to
"stored_msg", while the data buffer comes from a different msbg "msg",
which is clearly wrong behavior.

In the modified line, "msg" (the one which provided the imsi now already
stored in link_info through gbproxy_update_link_state_ul()->gbproxy_assign_imsi())
is really not needed anymore, and we want to patch the stored msg going
to be forwarded.

Related: SYS#4397
Change-Id: I7226fc5bcfbf58c349431d0a39cdb904fefd9e9c
2018-11-26 10:47:35 +00:00
Max 3c0652ef70 Revert "gbproxy: fix formatting in gbproxy-state command"
In case of multiple bts peers we use '\n' as individual entries
separator.

This reverts commit fffd6cb0d8011442bb69974675f86ad087b7d8db.

Change-Id: I1ea17919ec3ed7e26044df8b5f8324717ee9e32c
2018-11-25 22:26:02 +00:00
Pau Espin c07e1a0942 gbproxy: flag gbproxy_assign_imsi as static
It's currently only used in the same file.

Change-Id: I08b51f36263e58f52ef9af2a63a7fcbf06a767c4
2018-11-22 18:10:53 +00:00
Max e851549e3a gbproxy: add number-of-peers ctrl command
Return number of BTS peers. This is especially useful when no peers are
available because "gbproxy-state" command returns empty sstring in this
case.

Change-Id: I29b0664e60f7c81c3c7b495c1c8f2700e3f7e033
Related: SYS#2655
2018-11-22 18:13:28 +01:00
Max e185137973 gbproxy: fix formatting in gbproxy-state command
In ctrl protocol we don't need any explicit formatting as it might
interfere with client processing our response. Let's drop trailing '\n'.

Change-Id: I3f32e01dd50a53991c292aeee57a78d81cdc5429
Related: SYS#2655
2018-11-22 18:05:53 +01:00
Stefan Sperling f53acd2112 consistently check the result of osmo_shift_v_fixed()
Coverity points out we forgot to check the return value of
osmo_shift_v_fixed() in some places. Add checks which verify
the expected length of data which is skipped by the parser.

Change-Id: I20406f411810e966443d6fd5a4620b9a66cd9809
Related: CID#135160
2018-11-22 12:23:53 +01:00
Stefan Sperling e76afc4f08 update gbproxy test expected output
libosmocore commit 797558ea1768e464f9559c5f7a4f3f4285c5de25
changed the order of NS_UNBLOCK_ACK transmission dispatching
of the NS_UNBLOCK signal. Update expected output of gbproxy
tests accordingly to make these tests pass again.

Change-Id: Ia3df811755b1c88cf7a27a466677b24a6c32fd8e
Related: OS#2388
2018-11-20 11:42:16 +01:00
Max 020d04e23e Use safer functions for IMSI ACL
Avoid explicit memset which confuses coverity, use strnlen() and
osmo_strlcpy() to handle strings.

Change-Id: I73fd54ad3a4ab8be5aff0fee5c722597ad766e9d
Fixes: CID163626
2018-11-19 05:46:24 +00:00
Stefan Sperling 7dd481c387 use enums consistently instead of falling back to int
The two existing enums defined in gprs_sndcp_xid.h, for protocol
and data compression algorithm numbers respectively, were assigned
to 'int' variables when their values were copied to other structures.

This prevented the compiler from checking the enum value coverage
during switch statements and also tripped up Coverity scans looking
for enum value mismatch problems.

So instead of copying enums to ints, make use of the enums throughout.
Structures which can contain values from both enums now use a union
of both, forcing us to be very explicit about which set of values
we are dealing with.

Change-Id: I3771a5c59f4e6fee24083b3c914965baf192cbd7
Depends: If6f3598cd6da4643ff2214e21c0d21f6eff0eb67
Depends: I8444c1ed052707c76a979fb06cb018ac678defa7
Related: CID#149102
2018-11-15 15:57:59 +01:00