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/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/ipa.py
           contrib/jenkins.sh
           contrib/soap.py
           contrib/systemd/osmo-gbproxy.service
           contrib/systemd/osmo-sgsn.service
           contrib/twisted_ipa.py
           doc/Makefile.am
           doc/examples/Makefile.am
           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-sgsn/osmo-sgsn.cfg
           include/Makefile.am
           include/osmocom/sgsn/Makefile.am
           include/osmocom/sgsn/common.h
           include/osmocom/sgsn/crc24.h
           include/osmocom/sgsn/debug.h
           include/osmocom/sgsn/gb_proxy.h
           include/osmocom/sgsn/gprs_gb_parse.h
           include/osmocom/sgsn/gprs_gmm.h
           include/osmocom/sgsn/gprs_llc.h
           include/osmocom/sgsn/gprs_sgsn.h
           include/osmocom/sgsn/gprs_sndcp.h
           include/osmocom/sgsn/gprs_subscriber.h
           include/osmocom/sgsn/sgsn.h
           include/osmocom/sgsn/vty.h
           m4/README
           osmo-sgsn.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/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
Copyright: __NO_COPYRIGHT_NOR_LICENSE__
License:   __NO_COPYRIGHT_NOR_LICENSE__

Files:     include/osmocom/sgsn/a_reset.h
           include/osmocom/sgsn/gprs_llc_xid.h
           include/osmocom/sgsn/gprs_sndcp_comp.h
           include/osmocom/sgsn/gprs_sndcp_dcomp.h
           include/osmocom/sgsn/gprs_sndcp_pcomp.h
           include/osmocom/sgsn/gprs_sndcp_xid.h
           include/osmocom/sgsn/gprs_utils.h
           include/osmocom/sgsn/gsup_client.h
           include/osmocom/sgsn/gtphub.h
           include/osmocom/sgsn/oap_client.h
           include/osmocom/sgsn/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/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/osmocom/sgsn/v42bis.h
           include/osmocom/sgsn/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
       tests/ctrl_test_runner.py
       tests/vty_test_runner.py
Copyright: 2013         Katerina Barone-Adesi <kat.obsc@gmail.com>
           2013         Jacob Erlbeck <jerlbeck@sysmocom.de>
           2013-2014    Holger Hans Peter Freyther <zecke@selfish.org>
License: 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:     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/osmocom/sgsn/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:   GNU-All-Permissive-License
 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'.
