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
           src/Makefile.am
           src/gprs/.gitignore
           src/gprs/Makefile.am
           src/gprs/osmo_sgsn.cfg
           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/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/gtphub.h
           include/osmocom/sgsn/signal.h
           src/gprs/gprs_llc_parse.c
           src/gprs/crc24.c
           src/gprs/gprs_gb_parse.c
           src/gprs/gprs_utils.c
           src/gprs/sgsn_ares.c
           src/gbproxy/gb_proxy.c
           src/gbproxy/gb_proxy_main.c
           src/gbproxy/gb_proxy_patch.c
           src/gbproxy/gb_proxy_peer.c
           src/gbproxy/gb_proxy_tlli.c
           src/gbproxy/gb_proxy_vty.c
           src/gtphub/gtphub.c
           src/gtphub/gtphub_main.c
           src/gtphub/gtphub_vty.c
           src/sgsn/gprs_gmm.c
           src/sgsn/gprs_llc.c
           src/sgsn/gprs_llc_vty.c
           src/sgsn/gprs_llc_xid.c
           src/sgsn/gprs_sgsn.c
           src/sgsn/gprs_sndcp.c
           src/sgsn/gprs_sndcp_comp.c
           src/sgsn/gprs_sndcp_dcomp.c
           src/sgsn/gprs_sndcp_pcomp.c
           src/sgsn/gprs_sndcp_vty.c
           src/sgsn/gprs_sndcp_xid.c
           src/sgsn/gprs_subscriber.c
           src/sgsn/sgsn_auth.c
           src/sgsn/sgsn_cdr.c
           src/sgsn/sgsn_ctrl.c
           src/sgsn/sgsn_libgtp.c
           src/sgsn/sgsn_main.c
           src/sgsn/sgsn_vty.c
           tests/gtphub/gtphub_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/gtphub/gtphub_ares.c
           src/gtphub/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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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'.
