Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: osmo-sgsn
Source: git://git.osmocom.org/osmo-sgsn

Files:     .gitignore
           .gitreview
           .mailmap
           AUTHORS
           Makefile.am
           README
           README.vty-tests
           configure.ac
           contrib/Makefile.am
           contrib/a-link/sccp-split-by-con.lua
           contrib/bsc-test/README
           contrib/bsc-test/all_dial
           contrib/bsc-test/dial.sh
           contrib/bsc-test/drop-oml.sh
           contrib/bsc-test/drop.sh
           contrib/bsc-test/hangup
           contrib/bsc-test/msc.sh
           contrib/bsc_control.py
           contrib/bt.py
           contrib/convert_to_enum.py
           contrib/ctrl2sse.py
           contrib/gprs/gb-proxy-unblock-bug.py
           contrib/gprs/gprs-bssgp-histogram.lua
           contrib/gprs/gprs-buffer-count.lua
           contrib/gprs/gprs-split-trace-by-tlli.lua
           contrib/gprs/gprs-verify-nu.lua
           contrib/hlr-remove-old.sql
           contrib/hlrsync/hlrsync.py
           contrib/ipa.py
           contrib/jenkins.sh
           contrib/mgcp_server.py
           contrib/nat/test_regexp.c
           contrib/nat/ussd_example.py
           contrib/rtp/gen_rtp_header.erl
           contrib/rtp/rtp_replay.st
           contrib/rtp/rtp_replay_shared.st
           contrib/rtp/rtp_replay_sip.st
           contrib/rtp/timestamp_rtp.lua
           contrib/sms/fill-hlr.st
           contrib/sms/hlr-query.st
           contrib/sms/sqlite-probe.tap.d
           contrib/soap.py
           contrib/systemd/osmo-bsc-mgcp.service
           contrib/systemd/osmo-bsc.service
           contrib/systemd/osmo-gbproxy.service
           contrib/systemd/osmo-msc.service
           contrib/systemd/osmo-nitb.service
           contrib/systemd/osmo-sgsn.service
           contrib/testconv/Makefile
           contrib/testconv/testconv_main.c
           contrib/twisted_ipa.py
           doc/BS11-OML.txt
           doc/Makefile.am
           doc/call-routing.txt
           doc/channel_release.txt
           doc/e1-data-model.txt
           doc/examples/Makefile.am
           doc/examples/osmo-bsc/osmo-bsc.cfg
           doc/examples/osmo-bsc_mgcp/mgcp.cfg
           doc/examples/osmo-bsc_nat/black-list.cfg
           doc/examples/osmo-bsc_nat/bscs.cfg
           doc/examples/osmo-bsc_nat/osmo-bsc_nat.cfg
           doc/examples/osmo-gbproxy/osmo-gbproxy-legacy.cfg
           doc/examples/osmo-gbproxy/osmo-gbproxy.cfg
           doc/examples/osmo-gtphub/gtphub-example.txt
           doc/examples/osmo-gtphub/osmo-gtphub-1iface.cfg
           doc/examples/osmo-gtphub/osmo-gtphub.cfg
           doc/examples/osmo-msc/osmo-msc.cfg
           doc/examples/osmo-sgsn/osmo-sgsn.cfg
           doc/gsm-hopping.txt
           doc/handover.txt
           doc/ipa-sccp.txt
           doc/oml-interface.txt
           doc/osmo-nitb-data_structures.dot
           doc/paging.txt
           include/Makefile.am
           include/compat_af_isdn.h
           include/openbsc/Makefile.am
           include/openbsc/common.h
           include/openbsc/crc24.h
           include/openbsc/debug.h
           include/openbsc/gb_proxy.h
           include/openbsc/gprs_gb_parse.h
           include/openbsc/gprs_gmm.h
           include/openbsc/gprs_llc.h
           include/openbsc/gprs_sgsn.h
           include/openbsc/gprs_sndcp.h
           include/openbsc/gprs_subscriber.h
           include/openbsc/rest_octets.h
           include/openbsc/sgsn.h
           include/openbsc/vty.h
           m4/README
           openbsc.pc.in
           src/Makefile.am
           src/gprs/.gitignore
           src/gprs/Makefile.am
           src/gprs/osmo_sgsn.cfg
           src/libcommon/Makefile.am
           src/libcommon/gsup_test_client.c
           tests/Makefile.am
           tests/atlocal.in
           tests/gbproxy/Makefile.am
           tests/gbproxy/gbproxy_test.ok
           tests/gprs/Makefile.am
           tests/gprs/gprs_test.c
           tests/gprs/gprs_test.ok
           tests/gtphub/Makefile.am
           tests/gtphub/gtphub_test.ok
           tests/libiudummy/Makefile.am
           tests/libiudummy/README
           tests/libiudummy/iudummy.c
           tests/oap/Makefile.am
           tests/oap/oap_client_test.err
           tests/oap/oap_client_test.ok
           tests/sgsn/Makefile.am
           tests/sgsn/sgsn_test.ok
           tests/slhc/Makefile.am
           tests/slhc/slhc_test.ok
           tests/sndcp_xid/Makefile.am
           tests/sndcp_xid/sndcp_xid_test.ok
           tests/testsuite.at
           tests/v42bis/Makefile.am
           tests/v42bis/v42bis_test.ok
           tests/xid/Makefile.am
           tests/xid/xid_test.ok
           tools/hlrstat.pl
Copyright: __NO_COPYRIGHT_NOR_LICENSE__
License:   __NO_COPYRIGHT_NOR_LICENSE__

Files:     include/openbsc/a_reset.h
           include/openbsc/gprs_llc_xid.h
           include/openbsc/gprs_sndcp_comp.h
           include/openbsc/gprs_sndcp_dcomp.h
           include/openbsc/gprs_sndcp_pcomp.h
           include/openbsc/gprs_sndcp_xid.h
           include/openbsc/gprs_utils.h
           include/openbsc/gsup_client.h
           include/openbsc/gtphub.h
           include/openbsc/oap_client.h
           include/openbsc/signal.h
           src/gprs/crc24.c
           src/gprs/gb_proxy.c
           src/gprs/gb_proxy_main.c
           src/gprs/gb_proxy_patch.c
           src/gprs/gb_proxy_peer.c
           src/gprs/gb_proxy_tlli.c
           src/gprs/gb_proxy_vty.c
           src/gprs/gprs_gb_parse.c
           src/gprs/gprs_gmm.c
           src/gprs/gprs_llc.c
           src/gprs/gprs_llc_parse.c
           src/gprs/gprs_llc_vty.c
           src/gprs/gprs_llc_xid.c
           src/gprs/gprs_sgsn.c
           src/gprs/gprs_sndcp.c
           src/gprs/gprs_sndcp_comp.c
           src/gprs/gprs_sndcp_dcomp.c
           src/gprs/gprs_sndcp_pcomp.c
           src/gprs/gprs_sndcp_vty.c
           src/gprs/gprs_sndcp_xid.c
           src/gprs/gprs_subscriber.c
           src/gprs/gprs_utils.c
           src/gprs/gsup_client.c
           src/gprs/gtphub.c
           src/gprs/gtphub_main.c
           src/gprs/gtphub_vty.c
           src/gprs/oap_client.c
           src/gprs/sgsn_ares.c
           src/gprs/sgsn_auth.c
           src/gprs/sgsn_cdr.c
           src/gprs/sgsn_ctrl.c
           src/gprs/sgsn_libgtp.c
           src/gprs/sgsn_main.c
           src/gprs/sgsn_vty.c
           src/libcommon/bsc_version.c
           src/libcommon/common_vty.c
           src/libcommon/debug.c
           src/libcommon/gsm_data.c
           src/libcommon/gsm_data_shared.c
           src/libcommon/gsm_subscriber_base.c
           src/libcommon/gsup_client.c
           src/libcommon/oap_client.c
           src/libcommon/socket.c
           src/libcommon/talloc_ctx.c
           tests/gtphub/gtphub_test.c
           tests/oap/oap_client_test.c
           tests/sgsn/sgsn_test.c
           tests/slhc/slhc_test.c
           tests/sndcp_xid/sndcp_xid_test.c
           tests/v42bis/v42bis_test.c
           tests/xid/xid_test.c
Copyright: 2008-2015 Holger Hans Peter Freyther <zecke@selfish.org>
           2008-2016 Harald Welte <laforge@gnumonks.org>
           2009-2015 Holger Hans Peter Freyther
           2010-2014 On-Waves
           2011-2016 sysmocom s.f.m.c. GmbH <info@sysmocom.de>
           2014-2016 Sysmocom s.f.m.c. GmbH
           2014-2017 sysmocom s.f.m.c. GmbH
License:   AGPL-3.0+
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as published by
 the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Affero General Public License for more details.
 .
 You should have received a copy of the GNU Affero General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.

Files:     src/gprs/gtphub_ares.c
           src/gprs/gtphub_sock.c
           tests/ctrl_test_runner.py
           tests/gbproxy/gbproxy_test.c
Copyright: 2013 Jacob Erlbeck <jerlbeck@sysmocom.de>
           2013 sysmocom s.f.m.c. GmbH
           2014 Holger Hans Peter Freyther
           2015 sysmocom s.f.m.c. GmbH <info@sysmocom.de>
License:   __NO_LICENSE__

Files:     include/openbsc/v42bis.h
           include/openbsc/v42bis_private.h
Copyright: 2005-2011 Steve Underwood
License:   LGPL-2.1
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License version 2.1,
 as published by the Free Software Foundation.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Lesser General Public License for more details.
 .
 You should have received a copy of the GNU Lesser General Public
 License along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 .
 The FSF address in the above text is the old one.
 .
 On Debian systems, the complete text of the GNU Lesser General Public License
 Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'.

Files:     osmoappdesc.py
Copyright: 2013 Katerina Barone-Adesi <kat.obsc@gmail.com>
License:   GPL-3.0+
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>
 .
 Most systems won't be able to use these, so they're separated out
 .
 On Debian systems, the complete text of the GNU General Public License
 Version 3 can be found in `/usr/share/common-licenses/GPL-3'.

Files:     git-version-gen
Copyright: 2007-2010 Free Software Foundation, Inc.
License:   GPL-3.0+
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 .
 This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/.
 It may be run two ways:
 - from a git repository in which the "git describe" command below
 produces useful output (thus requiring at least one signed tag)
 - from a non-git-repo directory containing a .tarball-version file, which
 presumes this script is invoked like "./git-version-gen .tarball-version".
 .
 In order to use intra-version strings in your project, you will need two
 separate generated version string files:
 .
 .tarball-version - present only in a distribution tarball, and not in
 a checked-out repository.  Created with contents that were learned at
 the last time autoconf was run, and used by git-version-gen.  Must not
 be present in either $(srcdir) or $(builddir) for git-version-gen to
 give accurate answers during normal development with a checked out tree,
 but must be present in a tarball when there is no version control system.
 Therefore, it cannot be used in any dependencies.  GNUmakefile has
 hooks to force a reconfigure at distribution time to get the value
 correct, without penalizing normal development with extra reconfigures.
 .
 .version - present in a checked-out repository and in a distribution
 tarball.  Usable in dependencies, particularly for files that don't
 want to depend on config.h but do want to track version changes.
 Delete this file prior to any autoconf run where you want to rebuild
 files to pick up a version string change; and leave it stale to
 minimize rebuild time after unrelated changes to configure sources.
 .
 It is probably wise to add these two files to .gitignore, so that you
 don't accidentally commit either generated file.
 .
 Use the following line in your configure.ac, so that $(VERSION) will
 automatically be up-to-date each time configure is run (and note that
 since configure.ac no longer includes a version string, Makefile rules
 should not depend on configure.ac for version updates).
 .
 On Debian systems, the complete text of the GNU General Public License
 Version 3 can be found in `/usr/share/common-licenses/GPL-3'.

Files:     tests/vty_test_runner.py
Copyright: 2013 Holger Hans Peter Freyther
           2013 Katerina Barone-Adesi <kat.obsc@gmail.com>
License:   GPL-3.0+
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 .
 On Debian systems, the complete text of the GNU General Public License
 Version 3 can be found in `/usr/share/common-licenses/GPL-3'.

Files:     include/mISDNif.h
Copyright: 2008 Karsten Keil <kkeil@novell.com>
License:   LGPL-2.1
 This code is free software; you can redistribute it and/or modify
 it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE
 version 2.1 as published by the Free Software Foundation.
 .
 This code is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU LESSER GENERAL PUBLIC LICENSE for more details.
 .
 On Debian systems, the complete text of the GNU Lesser General Public License
 Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'.

Files:     src/gprs/v42bis.c
Copyright: 2005-2011 Steve Underwood
License:   LGPL-2.1
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License version 2.1,
 as published by the Free Software Foundation.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Lesser General Public License for more details.
 .
 You should have received a copy of the GNU Lesser General Public
 License along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 .
 THIS IS A WORK IN PROGRESS. IT IS NOT FINISHED.
 Currently it performs the core compression and decompression functions OK.
 However, a number of the bells and whistles in V.42bis are incomplete.
 .
 ! \file
 .
 The FSF address in the above text is the old one.
 .
 On Debian systems, the complete text of the GNU Lesser General Public License
 Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'.

Files:     include/openbsc/slhc.h
Copyright: 1989 Regents of the University of California.
License:   __UNKNOWN__
 Redistribution and use in source and binary forms are permitted
 provided that the above copyright notice and this paragraph are
 duplicated in all such forms and that any documentation,
 advertising materials, and other materials related to such
 distribution and use acknowledge that the software was developed
 by the University of California, Berkeley.  The name of the
 University may not be used to endorse or promote products derived
 from this software without specific prior written permission.
 THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
 IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 .
 Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
 - Initial distribution.
 .
 modified for KA9Q Internet Software Package by
 Katie Stevens (dkstevens@ucdavis.edu)
 University of California, Davis
 Computing Services
 - 01-31-90	initial adaptation

Files:     src/gprs/slhc.c
Copyright: 1989 Regents of the University of California.
License:   __UNKNOWN__
 Redistribution and use in source and binary forms are permitted
 provided that the above copyright notice and this paragraph are
 duplicated in all such forms and that any documentation,
 advertising materials, and other materials related to such
 distribution and use acknowledge that the software was developed
 by the University of California, Berkeley.  The name of the
 University may not be used to endorse or promote products derived
 from this software without specific prior written permission.
 THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
 IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 .
 Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
 - Initial distribution.
 .
 modified for KA9Q Internet Software Package by
 Katie Stevens (dkstevens@ucdavis.edu)
 University of California, Davis
 Computing Services
 - 01-31-90	initial adaptation (from 1.19)
 PPP.05	02-15-90 [ks]
 PPP.08	05-02-90 [ks]	use PPP protocol field to signal compression
 PPP.15	09-90	 [ks]	improve mbuf handling
 PPP.16	11-02	 [karn]	substantially rewritten to use NOS facilities

Files:     m4/ax_check_compile_flag.m4
Copyright: 2008 Guido U. Draheim <guidod@gmx.de>
           2011 Maarten Bosmans <mkbosmans@gmail.com>
License:   GPL-3.0+ with unknown exception *** check multiple exceptions ***
 This program is free software: you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
 Free Software Foundation, either version 3 of the License, or (at your
 option) any later version.
 .
 This program is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
 Public License for more details.
 .
 You should have received a copy of the GNU General Public License along
 with this program. If not, see <http://www.gnu.org/licenses/>.
 .
 As a special exception, the respective Autoconf Macro's copyright owner
 gives unlimited permission to copy, distribute and modify the configure
 scripts that are the output of Autoconf when processing the Macro. You
 need not follow the terms of the GNU General Public License when using
 or distributing such scripts, even though portions of the text of the
 Macro appear in them. The GNU General Public License (GPL) does govern
 all other use of the material that constitutes the Autoconf Macro.
 .
 This special exception to the GPL applies to versions of the Autoconf
 Macro released by the Autoconf Archive. When you make and distribute a
 modified version of the Autoconf Macro, you may extend this special
 exception to the GPL to apply to your modified version as well.
 .
 On Debian systems, the complete text of the GNU General Public License
 Version 3 can be found in `/usr/share/common-licenses/GPL-3'.
