****************
* INTRODUCTION *
****************

The vast majority of this implementation is subject to the standard
3-clause BSD license. Copyright is held by Three Rings Design and
Landon Fuller, and the license and official copyright can be found at
the bottom of this file.

Small portions of the implementation were taken from various sources, including:
	- FreeBSD libc (strlcpy)
	- FreeBSD kernel (pf ioctl validation)
	- kazlib (hash table implementation)
	- PLInstrument (test runner framework)
	- SenTestCase (test assertion macros)

Associated copyrights and licenses are documented below. All code included
in the final product are either made available under the BSD license, or
under an compatible and equivalently permissive license.

Some additional sources are included with this distribution and used as a part
of the build process; they are not linked with the final product:
	- The lemon parser generator - Public Domain (http://www.hwaci.com/sw/lemon/)
	- Makeheaders - GPL (http://www.hwaci.com/sw/mkhdr/)

***************************
* COPYRIGHTS AND LICENSES *
***************************

The src/strlcpy.c and src/strlcpy.h files were taken from FreeBSD libc
and are subject to the following copyright:

	Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
	All rights reserved.

Please refer to the strlcpy source files for a copy of their (BSD)
license.

The src/hash.c and src/hash.h files were taken from kazlib, and
are subject to the following copyright and license:
	Copyright (C) 1997 Kaz Kylheku <kaz@ashi.footprints.net>

	Free Software License:
	All rights are reserved by the author, with the following exceptions:
	Permission is granted to freely reproduce and distribute this software,
	possibly in exchange for a fee, provided that this copyright notice appears
	intact. Permission is also granted to adapt this software to produce
	derivative works, as long as the modified versions carry this copyright
	notice and additional notices stating that the work has been modified.
	This source code may be translated into executable form and incorporated
	into proprietary software; there is no requirement for such software to
	contain a copyright notice related to this source.

Small portions of test/mockpf.c and test/mockpf.h were taken from the pf(4)
kernel implementation. These files are used only for the unit tests,
and thus not included in the final output. They are subject to the following
copyright and license:

	Copyright (c) 2002 Cedric Berger
	All rights reserved.

	Redistribution and use in source and binary forms, with or without
	modification, are permitted provided that the following conditions
	are met:

	- Redistributions of source code must retain the above copyright
	notice, this list of conditions and the following disclaimer.
	- Redistributions in binary form must reproduce the above
	copyright notice, this list of conditions and the following
	disclaimer in the documentation and/or other materials provided
	with the distribution.

	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
	"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
	LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
	FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
	COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
	INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
	BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
	LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
	CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
	LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
	ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
	POSSIBILITY OF SUCH DAMAGE.

The Objective-C test framework was derived from Plausible Labs' PLInstrument.
These files are used only for the unit tests, and thus not included in the
final output. They are subject to the following copyright and license:

	Copyright (c) 2012 Landon Fuller <landonf@bikemonkey.org>
	Copyright (c) 2008-2012 Plausible Labs Cooperative, Inc.
	All rights reserved.

	Permission is hereby granted, free of charge, to any person
	obtaining a copy of this software and associated documentation
	files (the "Software"), to deal in the Software without
	restriction, including without limitation the rights to use,
	copy, modify, merge, publish, distribute, sublicense, and/or sell
	copies of the Software, and to permit persons to whom the
	Software is furnished to do so, subject to the following
	conditions:

	The above copyright notice and this permission notice shall be
	included in all copies or substantial portions of the Software.

	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
	EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
	OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
	NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
	HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
	WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
	FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
	OTHER DEALINGS IN THE SOFTWARE.	

The test/PXTestAssert.h, test/PXTestAssert.m, PXTestException.h, and
PXTestException.m files provide the assertion macros used in the unit
test system. These files were derived from Google's GTM project, which
in turn is derived from Sen:Te's OCUnit. These files are used only for
the unit tests, and thus not included in the final output.
They are subject to the following copyright and license:

	Copyright 2007-2008 Google Inc.

	Licensed under the Apache License, Version 2.0 (the "License"); you may not
	use this file except in compliance with the License.  You may obtain a copy
	of the License at

	http://www.apache.org/licenses/LICENSE-2.0

	Unless required by applicable law or agreed to in writing, software
	distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
	WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
	License for the specific language governing permissions and limitations under
	the License.

	Portions of this file fall under the following license, marked with
	SENTE_BEGIN - SENTE_END
	
	Copyright (c) 1997-2005, Sen:te (Sente SA).  All rights reserved.
	
	Use of this source code is governed by the following license:
	
	Redistribution and use in source and binary forms, with or without modification,
	are permitted provided that the following conditions are met:
	
	(1) Redistributions of source code must retain the above copyright notice,
	this list of conditions and the following disclaimer.
	
	(2) Redistributions in binary form must reproduce the above copyright notice,
	this list of conditions and the following disclaimer in the documentation
	and/or other materials provided with the distribution.
	
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
	AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
	IN NO EVENT SHALL Sente SA OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
	SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
	OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
	HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
	EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
	
	Note: this license is equivalent to the FreeBSD license.

All other code is subject to the following copyright and license:

	Copyright (c) 2006 - 2007 Three Rings Design, Inc.
	Copyright (c) 2005 - 2012 Landon Fuller <landonf@bikemonkey.org>
	All rights reserved.

	Redistribution and use in source and binary forms, with or without
	modification, are permitted provided that the following conditions
	are met:
	1. Redistributions of source code must retain the above copyright
	   notice, this list of conditions and the following disclaimer.
	2. Redistributions in binary form must reproduce the above copyright
	   notice, this list of conditions and the following disclaimer in the
	   documentation and/or other materials provided with the distribution.
	3. Neither the name of the copyright holders nor the names of any
	   contributors may be used to endorse or promote products derived
	   from this software without specific prior written permission.

	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
	AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
	ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
	LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
	CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
	POSSIBILITY OF SUCH DAMAGE.
