├── nuget.package
├── libgit2
│ ├── libgit2_hash.txt
│ ├── libgit2.png
│ ├── LibGit2Sharp.dll.config
│ └── libgit2.license.txt
├── buildMultiTargeting
│ └── LibGit2Sharp.NativeBinaries.props
├── build
│ ├── LibGit2Sharp.NativeBinaries.props
│ └── net46
│ │ └── LibGit2Sharp.NativeBinaries.props
└── LibGit2Sharp.NativeBinaries.csproj
├── .gitattributes
├── .gitmodules
├── .gitignore
├── Dockerfile.linux-musl
├── Dockerfile.linux
├── dockerbuild.sh
├── LICENSE.md
├── .github
└── workflows
│ └── ci.yml
├── README.md
└── UpdateLibgit2ToSha.ps1
/nuget.package/libgit2/libgit2_hash.txt:
--------------------------------------------------------------------------------
1 | 3f4182d15eab74a302718f2de454ffadb1995626
2 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "libgit2"]
2 | path = libgit2
3 | url = https://github.com/libgit2/libgit2.git
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.nupkg
2 | *.dll
3 | *.pdb
4 | *.dylib
5 | *.so
6 | *.zip
7 |
8 | bin/
9 | obj/
10 | .vs/
11 |
--------------------------------------------------------------------------------
/nuget.package/libgit2/libgit2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/libgit2/libgit2sharp.nativebinaries/HEAD/nuget.package/libgit2/libgit2.png
--------------------------------------------------------------------------------
/nuget.package/buildMultiTargeting/LibGit2Sharp.NativeBinaries.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Dockerfile.linux-musl:
--------------------------------------------------------------------------------
1 | ARG ARCH='amd64'
2 | FROM multiarch/alpine:${ARCH}-v3.13
3 | RUN apk add --no-cache bash build-base cmake
4 |
5 | WORKDIR /nativebinaries
6 | COPY . /nativebinaries/
7 |
8 | CMD ["/bin/bash", "-c", "./build.libgit2.sh"]
--------------------------------------------------------------------------------
/Dockerfile.linux:
--------------------------------------------------------------------------------
1 | FROM bording/crossbuild
2 | ARG ARCH='amd64'
3 | ENV CROSS_TRIPLE=${ARCH}
4 | RUN apt update && apt -y install pkg-config
5 |
6 | WORKDIR /nativebinaries
7 | COPY . /nativebinaries/
8 |
9 | CMD ["/bin/bash", "-c", "./build.libgit2.sh"]
--------------------------------------------------------------------------------
/nuget.package/build/LibGit2Sharp.NativeBinaries.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | $(MSBuildThisFileFullPath)
4 | 3f4182d15eab74a302718f2de454ffadb1995626
5 | git2-3f4182d
6 |
7 |
8 |
--------------------------------------------------------------------------------
/dockerbuild.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 | echo "building for $RID"
5 |
6 | if [[ $RID =~ arm64 ]]; then
7 | arch="arm64"
8 | elif [[ $RID =~ arm ]]; then
9 | arch="armhf"
10 | elif [[ $RID =~ ppc64le ]]; then
11 | arch="powerpc64le"
12 | else
13 | arch="amd64"
14 | fi
15 |
16 | if [[ $RID == linux-musl* ]]; then
17 | dockerfile="Dockerfile.linux-musl"
18 | else
19 | dockerfile="Dockerfile.linux"
20 | fi
21 |
22 | docker buildx build -t $RID -f $dockerfile --build-arg ARCH=$arch .
23 |
24 | docker run -t -e RID=$RID --name=$RID $RID
25 |
26 | docker cp $RID:/nativebinaries/nuget.package/runtimes nuget.package
27 |
28 | docker rm $RID
29 |
--------------------------------------------------------------------------------
/nuget.package/libgit2/LibGit2Sharp.dll.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License
2 |
3 | Copyright (c) LibGit2Sharp contributors
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/nuget.package/LibGit2Sharp.NativeBinaries.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 | true
6 | false
7 | true
8 | LibGit2Sharp contributors
9 | libgit2\libgit2.license.txt
10 | https://github.com/libgit2/libgit2sharp.nativebinaries
11 | libgit2\libgit2.png
12 | Native binaries for LibGit2Sharp
13 | true
14 | $(MSBuildThisFileDirectory)
15 | $(NoWarn);NU5127
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/nuget.package/build/net46/LibGit2Sharp.NativeBinaries.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | $(MSBuildThisFileFullPath)
4 | 3f4182d15eab74a302718f2de454ffadb1995626
5 | git2-3f4182d
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 | on:
3 | push:
4 | branches: [master, release-*]
5 | tags:
6 | - '[0-9]+.[0-9]+.[0-9]+'
7 | - '[0-9]+.[0-9]+.[0-9]+-*'
8 | pull_request:
9 | workflow_dispatch:
10 | jobs:
11 | build:
12 | name: ${{ matrix.name }}
13 | runs-on: ${{ matrix.os }}
14 | env:
15 | RID: ${{ matrix.name }}
16 | strategy:
17 | matrix:
18 | include:
19 | - os: windows-2019
20 | name: win-x86
21 | param: -x86
22 | - os: windows-2019
23 | name: win-x64
24 | param: -x64
25 | - os: windows-2019
26 | name: win-arm64
27 | param: -arm64
28 | - os: ubuntu-24.04
29 | name: linux-x64
30 | - os: ubuntu-24.04
31 | name: linux-arm
32 | - os: ubuntu-24.04
33 | name: linux-arm64
34 | - os: ubuntu-24.04
35 | name: linux-ppc64le
36 | - os: ubuntu-24.04
37 | name: linux-musl-x64
38 | - os: ubuntu-24.04
39 | name: linux-musl-arm
40 | - os: ubuntu-24.04
41 | name: linux-musl-arm64
42 | - os: macos-13
43 | name: osx-x64
44 | - os: macos-13
45 | name: osx-arm64
46 | fail-fast: false
47 | steps:
48 | - name: Checkout
49 | uses: actions/checkout@v4.2.2
50 | with:
51 | submodules: true
52 | - name: Build Windows
53 | if: runner.os == 'Windows'
54 | run: ./build.libgit2.ps1 ${{ matrix.param }}
55 | - name: Build macOS
56 | if: runner.os == 'macOS'
57 | run: ./build.libgit2.sh
58 | - name: Setup QEMU
59 | if: matrix.name == 'linux-musl-arm' || matrix.name == 'linux-musl-arm64'
60 | run: docker run --rm --privileged multiarch/qemu-user-static:register --reset
61 | - name: Build Linux
62 | if: runner.os == 'Linux'
63 | run: ./dockerbuild.sh
64 | - name: Upload artifacts
65 | uses: actions/upload-artifact@v4.4.3
66 | with:
67 | name: ${{ matrix.name }}
68 | path: nuget.package/runtimes/${{ matrix.name }}
69 | package:
70 | name: Create package
71 | needs: build
72 | runs-on: ubuntu-24.04
73 | env:
74 | DOTNET_NOLOGO: true
75 | steps:
76 | - name: Checkout
77 | uses: actions/checkout@v4.2.2
78 | with:
79 | fetch-depth: 0
80 | - name: Setup .NET SDK
81 | uses: actions/setup-dotnet@v4.1.0
82 | with:
83 | dotnet-version: 9.0.x
84 | - name: Download artifacts
85 | uses: actions/download-artifact@v4.1.8
86 | with:
87 | path: nuget.package/runtimes/
88 | - name: Create package
89 | run: dotnet pack nuget.package
90 | - name: Upload NuGet package
91 | uses: actions/upload-artifact@v4.4.3
92 | with:
93 | name: NuGet package
94 | path: ./nuget.package/*.nupkg
95 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # LibGit2Sharp.NativeBinaries
2 |
3 | **[Libgit2Sharp][lg2s]** is a managed wrapper around **[libgit2][lg2]**, and as
4 | such requires compilation of libgit2 for your platform.
5 |
6 | LibGit2Sharp makes this easy by distributing, and leveraging as a dependency,
7 | the **[LibGit2Sharp.NativeBinaries][lg2s-nb]** NuGet package.
8 |
9 | This package contains the compiled versions of the libgit2 native library for
10 | the following platforms:
11 |
12 | - Windows (x86, x64, arm64)
13 | - macOS (x64, arm64)
14 | - Linux
15 | - glibc: (x64, arm, arm64, ppc64le)
16 | - musl: (x64, arm, arm64)
17 |
18 | [lg2s-nb]: https://www.nuget.org/packages/LibGit2Sharp.NativeBinaries
19 | [lg2]: https://libgit2.github.com/
20 | [lg2s]: http://libgit2sharp.com/
21 |
22 | ## Script overview
23 |
24 | The following scripts are used to build libgit2 and update this repo.
25 |
26 | ### build.libgit2.ps1
27 |
28 | This script builds Windows libgit2 binaries. It requires Visual Studio 2019 to run.
29 |
30 | To build x86 binaries:
31 |
32 | ```
33 | build.libgit2.ps1 -x86
34 | ```
35 |
36 | To build x64 binaries:
37 |
38 | ```
39 | build.libgit2.ps1 -x64
40 | ```
41 |
42 | To build arm64 binaries:
43 |
44 | ```
45 | build.libgit2.ps1 -arm64
46 | ```
47 |
48 | Multiple architecture parameters can be specified to build multiple binaries with a single execution of the script.
49 |
50 | See the script for additional parameters.
51 |
52 | ### build.libgit2.sh
53 |
54 | This script builds Linux and macOS binaries. It can be invoked directly, but for Linux binaries, `dockerbuild.sh` should be used instead.
55 |
56 | ### dockerbuild.sh
57 |
58 | This script will build one of the Dockerfiles in the repo. It chooses which one to run based on the value of the `RID` environment variable. Using docker to build the Linux binaries for the various RIDs ensures that a specific environment and distro is used.
59 |
60 | ### UpdateLibgit2ToSha.ps1
61 |
62 | This script is used to update the libgit2 submodule and update the references within the project to the correct libgit2 revision.
63 |
64 | You can update to a specific commit:
65 |
66 | ```
67 | UpdateLibgit2ToSha.ps1 1a2b3c4
68 | ```
69 |
70 | Or you can specify references:
71 |
72 | ```
73 | UpdateLibgit2ToSha.ps1 master
74 | ```
75 |
76 | ## Building the package locally
77 |
78 | After running the appropriate build script(s) to create binaries, the NuGet package needs to be created.
79 |
80 | First, to use the same version locally that will be generated via CI, install the [minver-cli](https://www.nuget.org/packages/minver-cli) dotnet tool:
81 |
82 | ```
83 | dotnet tool install --global minver-cli
84 | ```
85 |
86 | Once that is installed, running the `minver` command will output a version:
87 |
88 | ```
89 | MinVer: Using { Commit: 2453a6d, Tag: '2.0.312', Version: 2.0.312, Height: 3 }.
90 | MinVer: Calculated version 2.0.313-alpha.0.3.
91 | 2.0.313-alpha.0.3
92 | ```
93 |
94 | To create the package, use the the following command:
95 |
96 | ```
97 | nuget.exe Pack nuget.package/NativeBinaries.nuspec -Version -NoPackageAnalysis
98 | ```
99 |
100 | Where `` is the version from the MinVer tool or manually chosen version.
101 |
102 |
103 | ## Notes on Visual Studio
104 |
105 | Visual Studio 2019 is required to build the Windows native binaries, however you
106 | do not need to install a *paid* version of Visual Studio. libgit2
107 | can be compiled using [Visual Studio Community](https://visualstudio.microsoft.com/vs/community/),
108 | which is free for building open source applications.
109 |
--------------------------------------------------------------------------------
/UpdateLibgit2ToSha.ps1:
--------------------------------------------------------------------------------
1 | <#
2 | .SYNOPSIS
3 | Updates the libgit2 submodule to the specified commit and updates libgit2_hash.txt and NativeBinaries.props with the new hash value.
4 | .PARAMETER sha
5 | Desired libgit2 version. This is run through `git rev-parse`, so branch names are okay too.
6 | #>
7 |
8 | Param(
9 | [string]$sha = 'HEAD'
10 | )
11 |
12 | Set-StrictMode -Version Latest
13 |
14 | $self = Split-Path -Leaf $MyInvocation.MyCommand.Path
15 | $projectDirectory = Split-Path $MyInvocation.MyCommand.Path
16 | $libgit2Directory = Join-Path $projectDirectory "libgit2"
17 |
18 | function Invoke-Command([scriptblock]$Command, [switch]$Fatal, [switch]$Quiet) {
19 | $output = ""
20 | if ($Quiet) {
21 | $output = & $Command 2>&1
22 | } else {
23 | & $Command
24 | }
25 |
26 | if (!$Fatal) {
27 | return
28 | }
29 |
30 | $exitCode = 0
31 | if ($LastExitCode -ne 0) {
32 | $exitCode = $LastExitCode
33 | } elseif (!$?) {
34 | $exitCode = 1
35 | } else {
36 | return
37 | }
38 |
39 | $error = "``$Command`` failed"
40 | if ($output) {
41 | Write-Host -ForegroundColor yellow $output
42 | $error += ". See output above."
43 | }
44 | Throw $error
45 | }
46 |
47 | function Find-Git {
48 | $git = @(Get-Command git)[0] 2>$null
49 | if ($git) {
50 | $git = $git.Definition
51 | Write-Host -ForegroundColor Gray "Using git: $git"
52 | & $git --version | write-host -ForegroundColor Gray
53 | return $git
54 | }
55 | throw "Error: Can't find git"
56 | }
57 |
58 | Push-Location $libgit2Directory
59 |
60 | & {
61 | trap {
62 | Pop-Location
63 | break
64 | }
65 |
66 | $git = Find-Git
67 |
68 | Write-Output "Fetching..."
69 | Invoke-Command -Quiet { & $git fetch }
70 |
71 | Write-Output "Verifying $sha..."
72 | $sha = & $git rev-parse $sha
73 | if ($LASTEXITCODE -ne 0) {
74 | write-host -foregroundcolor red "Error: invalid SHA. USAGE: $self "
75 | Pop-Location
76 | break
77 | }
78 |
79 | Write-Output "Checking out $sha..."
80 | Invoke-Command -Quiet -Fatal { & $git checkout $sha }
81 |
82 | Pop-Location
83 |
84 | $binaryFilename = "git2-" + $sha.Substring(0,7)
85 |
86 | Set-Content -Encoding ASCII (Join-Path $projectDirectory "nuget.package\libgit2\libgit2_hash.txt") $sha
87 |
88 | Copy-Item -Path (Join-Path $libgit2Directory "COPYING") -Destination (Join-Path $projectDirectory "nuget.package\libgit2\libgit2.license.txt")
89 |
90 | $buildProperties = @"
91 |
92 |
93 | `$(MSBuildThisFileFullPath)
94 | $sha
95 | $binaryFilename
96 |
97 |
98 | "@
99 |
100 | Set-Content -Encoding UTF8 (Join-Path $projectDirectory "nuget.package\build\LibGit2Sharp.NativeBinaries.props") $buildProperties
101 |
102 | $net46BuildProperties = @"
103 |
104 |
105 | `$(MSBuildThisFileFullPath)
106 | $sha
107 | $binaryFilename
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 | "@
118 |
119 | Set-Content -Encoding UTF8 (Join-Path $projectDirectory "nuget.package\build\net46\LibGit2Sharp.NativeBinaries.props") $net46BuildProperties
120 |
121 | $dllConfig = @"
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 | "@
131 |
132 | Set-Content -Encoding UTF8 (Join-Path $projectDirectory "nuget.package\libgit2\LibGit2Sharp.dll.config") $dllConfig
133 |
134 | Write-Output "Done!"
135 | }
136 | exit
137 |
--------------------------------------------------------------------------------
/nuget.package/libgit2/libgit2.license.txt:
--------------------------------------------------------------------------------
1 | libgit2 is Copyright (C) the libgit2 contributors,
2 | unless otherwise stated. See the AUTHORS file for details.
3 |
4 | Note that the only valid version of the GPL as far as this project
5 | is concerned is _this_ particular version of the license (ie v2, not
6 | v2.2 or v3.x or whatever), unless explicitly otherwise stated.
7 |
8 | ----------------------------------------------------------------------
9 |
10 | LINKING EXCEPTION
11 |
12 | In addition to the permissions in the GNU General Public License,
13 | the authors give you unlimited permission to link the compiled
14 | version of this library into combinations with other programs,
15 | and to distribute those combinations without any restriction
16 | coming from the use of this file. (The General Public License
17 | restrictions do apply in other respects; for example, they cover
18 | modification of the file, and distribution when not linked into
19 | a combined executable.)
20 |
21 | ----------------------------------------------------------------------
22 |
23 | GNU GENERAL PUBLIC LICENSE
24 | Version 2, June 1991
25 |
26 | Copyright (C) 1989, 1991 Free Software Foundation, Inc.
27 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28 | Everyone is permitted to copy and distribute verbatim copies
29 | of this license document, but changing it is not allowed.
30 |
31 | Preamble
32 |
33 | The licenses for most software are designed to take away your
34 | freedom to share and change it. By contrast, the GNU General Public
35 | License is intended to guarantee your freedom to share and change free
36 | software--to make sure the software is free for all its users. This
37 | General Public License applies to most of the Free Software
38 | Foundation's software and to any other program whose authors commit to
39 | using it. (Some other Free Software Foundation software is covered by
40 | the GNU Library General Public License instead.) You can apply it to
41 | your programs, too.
42 |
43 | When we speak of free software, we are referring to freedom, not
44 | price. Our General Public Licenses are designed to make sure that you
45 | have the freedom to distribute copies of free software (and charge for
46 | this service if you wish), that you receive source code or can get it
47 | if you want it, that you can change the software or use pieces of it
48 | in new free programs; and that you know you can do these things.
49 |
50 | To protect your rights, we need to make restrictions that forbid
51 | anyone to deny you these rights or to ask you to surrender the rights.
52 | These restrictions translate to certain responsibilities for you if you
53 | distribute copies of the software, or if you modify it.
54 |
55 | For example, if you distribute copies of such a program, whether
56 | gratis or for a fee, you must give the recipients all the rights that
57 | you have. You must make sure that they, too, receive or can get the
58 | source code. And you must show them these terms so they know their
59 | rights.
60 |
61 | We protect your rights with two steps: (1) copyright the software, and
62 | (2) offer you this license which gives you legal permission to copy,
63 | distribute and/or modify the software.
64 |
65 | Also, for each author's protection and ours, we want to make certain
66 | that everyone understands that there is no warranty for this free
67 | software. If the software is modified by someone else and passed on, we
68 | want its recipients to know that what they have is not the original, so
69 | that any problems introduced by others will not reflect on the original
70 | authors' reputations.
71 |
72 | Finally, any free program is threatened constantly by software
73 | patents. We wish to avoid the danger that redistributors of a free
74 | program will individually obtain patent licenses, in effect making the
75 | program proprietary. To prevent this, we have made it clear that any
76 | patent must be licensed for everyone's free use or not licensed at all.
77 |
78 | The precise terms and conditions for copying, distribution and
79 | modification follow.
80 |
81 | GNU GENERAL PUBLIC LICENSE
82 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
83 |
84 | 0. This License applies to any program or other work which contains
85 | a notice placed by the copyright holder saying it may be distributed
86 | under the terms of this General Public License. The "Program", below,
87 | refers to any such program or work, and a "work based on the Program"
88 | means either the Program or any derivative work under copyright law:
89 | that is to say, a work containing the Program or a portion of it,
90 | either verbatim or with modifications and/or translated into another
91 | language. (Hereinafter, translation is included without limitation in
92 | the term "modification".) Each licensee is addressed as "you".
93 |
94 | Activities other than copying, distribution and modification are not
95 | covered by this License; they are outside its scope. The act of
96 | running the Program is not restricted, and the output from the Program
97 | is covered only if its contents constitute a work based on the
98 | Program (independent of having been made by running the Program).
99 | Whether that is true depends on what the Program does.
100 |
101 | 1. You may copy and distribute verbatim copies of the Program's
102 | source code as you receive it, in any medium, provided that you
103 | conspicuously and appropriately publish on each copy an appropriate
104 | copyright notice and disclaimer of warranty; keep intact all the
105 | notices that refer to this License and to the absence of any warranty;
106 | and give any other recipients of the Program a copy of this License
107 | along with the Program.
108 |
109 | You may charge a fee for the physical act of transferring a copy, and
110 | you may at your option offer warranty protection in exchange for a fee.
111 |
112 | 2. You may modify your copy or copies of the Program or any portion
113 | of it, thus forming a work based on the Program, and copy and
114 | distribute such modifications or work under the terms of Section 1
115 | above, provided that you also meet all of these conditions:
116 |
117 | a) You must cause the modified files to carry prominent notices
118 | stating that you changed the files and the date of any change.
119 |
120 | b) You must cause any work that you distribute or publish, that in
121 | whole or in part contains or is derived from the Program or any
122 | part thereof, to be licensed as a whole at no charge to all third
123 | parties under the terms of this License.
124 |
125 | c) If the modified program normally reads commands interactively
126 | when run, you must cause it, when started running for such
127 | interactive use in the most ordinary way, to print or display an
128 | announcement including an appropriate copyright notice and a
129 | notice that there is no warranty (or else, saying that you provide
130 | a warranty) and that users may redistribute the program under
131 | these conditions, and telling the user how to view a copy of this
132 | License. (Exception: if the Program itself is interactive but
133 | does not normally print such an announcement, your work based on
134 | the Program is not required to print an announcement.)
135 |
136 | These requirements apply to the modified work as a whole. If
137 | identifiable sections of that work are not derived from the Program,
138 | and can be reasonably considered independent and separate works in
139 | themselves, then this License, and its terms, do not apply to those
140 | sections when you distribute them as separate works. But when you
141 | distribute the same sections as part of a whole which is a work based
142 | on the Program, the distribution of the whole must be on the terms of
143 | this License, whose permissions for other licensees extend to the
144 | entire whole, and thus to each and every part regardless of who wrote it.
145 |
146 | Thus, it is not the intent of this section to claim rights or contest
147 | your rights to work written entirely by you; rather, the intent is to
148 | exercise the right to control the distribution of derivative or
149 | collective works based on the Program.
150 |
151 | In addition, mere aggregation of another work not based on the Program
152 | with the Program (or with a work based on the Program) on a volume of
153 | a storage or distribution medium does not bring the other work under
154 | the scope of this License.
155 |
156 | 3. You may copy and distribute the Program (or a work based on it,
157 | under Section 2) in object code or executable form under the terms of
158 | Sections 1 and 2 above provided that you also do one of the following:
159 |
160 | a) Accompany it with the complete corresponding machine-readable
161 | source code, which must be distributed under the terms of Sections
162 | 1 and 2 above on a medium customarily used for software interchange; or,
163 |
164 | b) Accompany it with a written offer, valid for at least three
165 | years, to give any third party, for a charge no more than your
166 | cost of physically performing source distribution, a complete
167 | machine-readable copy of the corresponding source code, to be
168 | distributed under the terms of Sections 1 and 2 above on a medium
169 | customarily used for software interchange; or,
170 |
171 | c) Accompany it with the information you received as to the offer
172 | to distribute corresponding source code. (This alternative is
173 | allowed only for noncommercial distribution and only if you
174 | received the program in object code or executable form with such
175 | an offer, in accord with Subsection b above.)
176 |
177 | The source code for a work means the preferred form of the work for
178 | making modifications to it. For an executable work, complete source
179 | code means all the source code for all modules it contains, plus any
180 | associated interface definition files, plus the scripts used to
181 | control compilation and installation of the executable. However, as a
182 | special exception, the source code distributed need not include
183 | anything that is normally distributed (in either source or binary
184 | form) with the major components (compiler, kernel, and so on) of the
185 | operating system on which the executable runs, unless that component
186 | itself accompanies the executable.
187 |
188 | If distribution of executable or object code is made by offering
189 | access to copy from a designated place, then offering equivalent
190 | access to copy the source code from the same place counts as
191 | distribution of the source code, even though third parties are not
192 | compelled to copy the source along with the object code.
193 |
194 | 4. You may not copy, modify, sublicense, or distribute the Program
195 | except as expressly provided under this License. Any attempt
196 | otherwise to copy, modify, sublicense or distribute the Program is
197 | void, and will automatically terminate your rights under this License.
198 | However, parties who have received copies, or rights, from you under
199 | this License will not have their licenses terminated so long as such
200 | parties remain in full compliance.
201 |
202 | 5. You are not required to accept this License, since you have not
203 | signed it. However, nothing else grants you permission to modify or
204 | distribute the Program or its derivative works. These actions are
205 | prohibited by law if you do not accept this License. Therefore, by
206 | modifying or distributing the Program (or any work based on the
207 | Program), you indicate your acceptance of this License to do so, and
208 | all its terms and conditions for copying, distributing or modifying
209 | the Program or works based on it.
210 |
211 | 6. Each time you redistribute the Program (or any work based on the
212 | Program), the recipient automatically receives a license from the
213 | original licensor to copy, distribute or modify the Program subject to
214 | these terms and conditions. You may not impose any further
215 | restrictions on the recipients' exercise of the rights granted herein.
216 | You are not responsible for enforcing compliance by third parties to
217 | this License.
218 |
219 | 7. If, as a consequence of a court judgment or allegation of patent
220 | infringement or for any other reason (not limited to patent issues),
221 | conditions are imposed on you (whether by court order, agreement or
222 | otherwise) that contradict the conditions of this License, they do not
223 | excuse you from the conditions of this License. If you cannot
224 | distribute so as to satisfy simultaneously your obligations under this
225 | License and any other pertinent obligations, then as a consequence you
226 | may not distribute the Program at all. For example, if a patent
227 | license would not permit royalty-free redistribution of the Program by
228 | all those who receive copies directly or indirectly through you, then
229 | the only way you could satisfy both it and this License would be to
230 | refrain entirely from distribution of the Program.
231 |
232 | If any portion of this section is held invalid or unenforceable under
233 | any particular circumstance, the balance of the section is intended to
234 | apply and the section as a whole is intended to apply in other
235 | circumstances.
236 |
237 | It is not the purpose of this section to induce you to infringe any
238 | patents or other property right claims or to contest validity of any
239 | such claims; this section has the sole purpose of protecting the
240 | integrity of the free software distribution system, which is
241 | implemented by public license practices. Many people have made
242 | generous contributions to the wide range of software distributed
243 | through that system in reliance on consistent application of that
244 | system; it is up to the author/donor to decide if he or she is willing
245 | to distribute software through any other system and a licensee cannot
246 | impose that choice.
247 |
248 | This section is intended to make thoroughly clear what is believed to
249 | be a consequence of the rest of this License.
250 |
251 | 8. If the distribution and/or use of the Program is restricted in
252 | certain countries either by patents or by copyrighted interfaces, the
253 | original copyright holder who places the Program under this License
254 | may add an explicit geographical distribution limitation excluding
255 | those countries, so that distribution is permitted only in or among
256 | countries not thus excluded. In such case, this License incorporates
257 | the limitation as if written in the body of this License.
258 |
259 | 9. The Free Software Foundation may publish revised and/or new versions
260 | of the General Public License from time to time. Such new versions will
261 | be similar in spirit to the present version, but may differ in detail to
262 | address new problems or concerns.
263 |
264 | Each version is given a distinguishing version number. If the Program
265 | specifies a version number of this License which applies to it and "any
266 | later version", you have the option of following the terms and conditions
267 | either of that version or of any later version published by the Free
268 | Software Foundation. If the Program does not specify a version number of
269 | this License, you may choose any version ever published by the Free Software
270 | Foundation.
271 |
272 | 10. If you wish to incorporate parts of the Program into other free
273 | programs whose distribution conditions are different, write to the author
274 | to ask for permission. For software which is copyrighted by the Free
275 | Software Foundation, write to the Free Software Foundation; we sometimes
276 | make exceptions for this. Our decision will be guided by the two goals
277 | of preserving the free status of all derivatives of our free software and
278 | of promoting the sharing and reuse of software generally.
279 |
280 | NO WARRANTY
281 |
282 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
283 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
284 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
285 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
286 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
287 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
288 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
289 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
290 | REPAIR OR CORRECTION.
291 |
292 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
293 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
294 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
295 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
296 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
297 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
298 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
299 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
300 | POSSIBILITY OF SUCH DAMAGES.
301 |
302 | END OF TERMS AND CONDITIONS
303 |
304 | How to Apply These Terms to Your New Programs
305 |
306 | If you develop a new program, and you want it to be of the greatest
307 | possible use to the public, the best way to achieve this is to make it
308 | free software which everyone can redistribute and change under these terms.
309 |
310 | To do so, attach the following notices to the program. It is safest
311 | to attach them to the start of each source file to most effectively
312 | convey the exclusion of warranty; and each file should have at least
313 | the "copyright" line and a pointer to where the full notice is found.
314 |
315 |
316 | Copyright (C)
317 |
318 | This program is free software; you can redistribute it and/or modify
319 | it under the terms of the GNU General Public License as published by
320 | the Free Software Foundation; either version 2 of the License, or
321 | (at your option) any later version.
322 |
323 | This program is distributed in the hope that it will be useful,
324 | but WITHOUT ANY WARRANTY; without even the implied warranty of
325 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
326 | GNU General Public License for more details.
327 |
328 | You should have received a copy of the GNU General Public License
329 | along with this program; if not, write to the Free Software
330 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
331 |
332 |
333 | Also add information on how to contact you by electronic and paper mail.
334 |
335 | If the program is interactive, make it output a short notice like this
336 | when it starts in an interactive mode:
337 |
338 | Gnomovision version 69, Copyright (C) year name of author
339 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
340 | This is free software, and you are welcome to redistribute it
341 | under certain conditions; type `show c' for details.
342 |
343 | The hypothetical commands `show w' and `show c' should show the appropriate
344 | parts of the General Public License. Of course, the commands you use may
345 | be called something other than `show w' and `show c'; they could even be
346 | mouse-clicks or menu items--whatever suits your program.
347 |
348 | You should also get your employer (if you work as a programmer) or your
349 | school, if any, to sign a "copyright disclaimer" for the program, if
350 | necessary. Here is a sample; alter the names:
351 |
352 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program
353 | `Gnomovision' (which makes passes at compilers) written by James Hacker.
354 |
355 | , 1 April 1989
356 | Ty Coon, President of Vice
357 |
358 | This General Public License does not permit incorporating your program into
359 | proprietary programs. If your program is a subroutine library, you may
360 | consider it more useful to permit linking proprietary applications with the
361 | library. If this is what you want to do, use the GNU Library General
362 | Public License instead of this License.
363 |
364 | ----------------------------------------------------------------------
365 |
366 | The bundled ZLib code is licensed under the ZLib license:
367 |
368 | (C) 1995-2022 Jean-loup Gailly and Mark Adler
369 |
370 | This software is provided 'as-is', without any express or implied
371 | warranty. In no event will the authors be held liable for any damages
372 | arising from the use of this software.
373 |
374 | Permission is granted to anyone to use this software for any purpose,
375 | including commercial applications, and to alter it and redistribute it
376 | freely, subject to the following restrictions:
377 |
378 | 1. The origin of this software must not be misrepresented; you must not
379 | claim that you wrote the original software. If you use this software
380 | in a product, an acknowledgment in the product documentation would be
381 | appreciated but is not required.
382 | 2. Altered source versions must be plainly marked as such, and must not be
383 | misrepresented as being the original software.
384 | 3. This notice may not be removed or altered from any source distribution.
385 |
386 | Jean-loup Gailly Mark Adler
387 | jloup@gzip.org madler@alumni.caltech.edu
388 |
389 | ----------------------------------------------------------------------
390 |
391 | The Clar framework is licensed under the ISC license:
392 |
393 | Copyright (c) 2011-2015 Vicent Marti
394 |
395 | Permission to use, copy, modify, and/or distribute this software for any
396 | purpose with or without fee is hereby granted, provided that the above
397 | copyright notice and this permission notice appear in all copies.
398 |
399 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
400 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
401 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
402 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
403 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
404 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
405 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
406 |
407 | ----------------------------------------------------------------------
408 |
409 | The bundled PCRE implementation (deps/pcre/) is licensed under the BSD
410 | license.
411 |
412 | Redistribution and use in source and binary forms, with or without
413 | modification, are permitted provided that the following conditions are met:
414 |
415 | * Redistributions of source code must retain the above copyright notice,
416 | this list of conditions and the following disclaimer.
417 |
418 | * Redistributions in binary form must reproduce the above copyright
419 | notice, this list of conditions and the following disclaimer in the
420 | documentation and/or other materials provided with the distribution.
421 |
422 | * Neither the name of the University of Cambridge nor the name of Google
423 | Inc. nor the names of their contributors may be used to endorse or
424 | promote products derived from this software without specific prior
425 | written permission.
426 |
427 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
428 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
429 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
430 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
431 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
432 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
433 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
434 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
435 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
436 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
437 | POSSIBILITY OF SUCH DAMAGE.
438 |
439 | ----------------------------------------------------------------------
440 |
441 | The bundled winhttp definition files (deps/winhttp/) are licensed under
442 | the GNU LGPL (available at the end of this file).
443 |
444 | Copyright (C) 2007 Francois Gouget
445 |
446 | This library is free software; you can redistribute it and/or
447 | modify it under the terms of the GNU Lesser General Public
448 | License as published by the Free Software Foundation; either
449 | version 2.1 of the License, or (at your option) any later version.
450 |
451 | This library is distributed in the hope that it will be useful,
452 | but WITHOUT ANY WARRANTY; without even the implied warranty of
453 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
454 | Lesser General Public License for more details.
455 |
456 | You should have received a copy of the GNU Lesser General Public
457 | License along with this library; if not, write to the Free Software
458 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
459 |
460 | ----------------------------------------------------------------------
461 |
462 | GNU LESSER GENERAL PUBLIC LICENSE
463 | Version 2.1, February 1999
464 |
465 | Copyright (C) 1991, 1999 Free Software Foundation, Inc.
466 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
467 | Everyone is permitted to copy and distribute verbatim copies
468 | of this license document, but changing it is not allowed.
469 |
470 | [This is the first released version of the Lesser GPL. It also counts
471 | as the successor of the GNU Library Public License, version 2, hence
472 | the version number 2.1.]
473 |
474 | Preamble
475 |
476 | The licenses for most software are designed to take away your
477 | freedom to share and change it. By contrast, the GNU General Public
478 | Licenses are intended to guarantee your freedom to share and change
479 | free software--to make sure the software is free for all its users.
480 |
481 | This license, the Lesser General Public License, applies to some
482 | specially designated software packages--typically libraries--of the
483 | Free Software Foundation and other authors who decide to use it. You
484 | can use it too, but we suggest you first think carefully about whether
485 | this license or the ordinary General Public License is the better
486 | strategy to use in any particular case, based on the explanations below.
487 |
488 | When we speak of free software, we are referring to freedom of use,
489 | not price. Our General Public Licenses are designed to make sure that
490 | you have the freedom to distribute copies of free software (and charge
491 | for this service if you wish); that you receive source code or can get
492 | it if you want it; that you can change the software and use pieces of
493 | it in new free programs; and that you are informed that you can do
494 | these things.
495 |
496 | To protect your rights, we need to make restrictions that forbid
497 | distributors to deny you these rights or to ask you to surrender these
498 | rights. These restrictions translate to certain responsibilities for
499 | you if you distribute copies of the library or if you modify it.
500 |
501 | For example, if you distribute copies of the library, whether gratis
502 | or for a fee, you must give the recipients all the rights that we gave
503 | you. You must make sure that they, too, receive or can get the source
504 | code. If you link other code with the library, you must provide
505 | complete object files to the recipients, so that they can relink them
506 | with the library after making changes to the library and recompiling
507 | it. And you must show them these terms so they know their rights.
508 |
509 | We protect your rights with a two-step method: (1) we copyright the
510 | library, and (2) we offer you this license, which gives you legal
511 | permission to copy, distribute and/or modify the library.
512 |
513 | To protect each distributor, we want to make it very clear that
514 | there is no warranty for the free library. Also, if the library is
515 | modified by someone else and passed on, the recipients should know
516 | that what they have is not the original version, so that the original
517 | author's reputation will not be affected by problems that might be
518 | introduced by others.
519 |
520 | Finally, software patents pose a constant threat to the existence of
521 | any free program. We wish to make sure that a company cannot
522 | effectively restrict the users of a free program by obtaining a
523 | restrictive license from a patent holder. Therefore, we insist that
524 | any patent license obtained for a version of the library must be
525 | consistent with the full freedom of use specified in this license.
526 |
527 | Most GNU software, including some libraries, is covered by the
528 | ordinary GNU General Public License. This license, the GNU Lesser
529 | General Public License, applies to certain designated libraries, and
530 | is quite different from the ordinary General Public License. We use
531 | this license for certain libraries in order to permit linking those
532 | libraries into non-free programs.
533 |
534 | When a program is linked with a library, whether statically or using
535 | a shared library, the combination of the two is legally speaking a
536 | combined work, a derivative of the original library. The ordinary
537 | General Public License therefore permits such linking only if the
538 | entire combination fits its criteria of freedom. The Lesser General
539 | Public License permits more lax criteria for linking other code with
540 | the library.
541 |
542 | We call this license the "Lesser" General Public License because it
543 | does Less to protect the user's freedom than the ordinary General
544 | Public License. It also provides other free software developers Less
545 | of an advantage over competing non-free programs. These disadvantages
546 | are the reason we use the ordinary General Public License for many
547 | libraries. However, the Lesser license provides advantages in certain
548 | special circumstances.
549 |
550 | For example, on rare occasions, there may be a special need to
551 | encourage the widest possible use of a certain library, so that it becomes
552 | a de-facto standard. To achieve this, non-free programs must be
553 | allowed to use the library. A more frequent case is that a free
554 | library does the same job as widely used non-free libraries. In this
555 | case, there is little to gain by limiting the free library to free
556 | software only, so we use the Lesser General Public License.
557 |
558 | In other cases, permission to use a particular library in non-free
559 | programs enables a greater number of people to use a large body of
560 | free software. For example, permission to use the GNU C Library in
561 | non-free programs enables many more people to use the whole GNU
562 | operating system, as well as its variant, the GNU/Linux operating
563 | system.
564 |
565 | Although the Lesser General Public License is Less protective of the
566 | users' freedom, it does ensure that the user of a program that is
567 | linked with the Library has the freedom and the wherewithal to run
568 | that program using a modified version of the Library.
569 |
570 | The precise terms and conditions for copying, distribution and
571 | modification follow. Pay close attention to the difference between a
572 | "work based on the library" and a "work that uses the library". The
573 | former contains code derived from the library, whereas the latter must
574 | be combined with the library in order to run.
575 |
576 | GNU LESSER GENERAL PUBLIC LICENSE
577 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
578 |
579 | 0. This License Agreement applies to any software library or other
580 | program which contains a notice placed by the copyright holder or
581 | other authorized party saying it may be distributed under the terms of
582 | this Lesser General Public License (also called "this License").
583 | Each licensee is addressed as "you".
584 |
585 | A "library" means a collection of software functions and/or data
586 | prepared so as to be conveniently linked with application programs
587 | (which use some of those functions and data) to form executables.
588 |
589 | The "Library", below, refers to any such software library or work
590 | which has been distributed under these terms. A "work based on the
591 | Library" means either the Library or any derivative work under
592 | copyright law: that is to say, a work containing the Library or a
593 | portion of it, either verbatim or with modifications and/or translated
594 | straightforwardly into another language. (Hereinafter, translation is
595 | included without limitation in the term "modification".)
596 |
597 | "Source code" for a work means the preferred form of the work for
598 | making modifications to it. For a library, complete source code means
599 | all the source code for all modules it contains, plus any associated
600 | interface definition files, plus the scripts used to control compilation
601 | and installation of the library.
602 |
603 | Activities other than copying, distribution and modification are not
604 | covered by this License; they are outside its scope. The act of
605 | running a program using the Library is not restricted, and output from
606 | such a program is covered only if its contents constitute a work based
607 | on the Library (independent of the use of the Library in a tool for
608 | writing it). Whether that is true depends on what the Library does
609 | and what the program that uses the Library does.
610 |
611 | 1. You may copy and distribute verbatim copies of the Library's
612 | complete source code as you receive it, in any medium, provided that
613 | you conspicuously and appropriately publish on each copy an
614 | appropriate copyright notice and disclaimer of warranty; keep intact
615 | all the notices that refer to this License and to the absence of any
616 | warranty; and distribute a copy of this License along with the
617 | Library.
618 |
619 | You may charge a fee for the physical act of transferring a copy,
620 | and you may at your option offer warranty protection in exchange for a
621 | fee.
622 |
623 | 2. You may modify your copy or copies of the Library or any portion
624 | of it, thus forming a work based on the Library, and copy and
625 | distribute such modifications or work under the terms of Section 1
626 | above, provided that you also meet all of these conditions:
627 |
628 | a) The modified work must itself be a software library.
629 |
630 | b) You must cause the files modified to carry prominent notices
631 | stating that you changed the files and the date of any change.
632 |
633 | c) You must cause the whole of the work to be licensed at no
634 | charge to all third parties under the terms of this License.
635 |
636 | d) If a facility in the modified Library refers to a function or a
637 | table of data to be supplied by an application program that uses
638 | the facility, other than as an argument passed when the facility
639 | is invoked, then you must make a good faith effort to ensure that,
640 | in the event an application does not supply such function or
641 | table, the facility still operates, and performs whatever part of
642 | its purpose remains meaningful.
643 |
644 | (For example, a function in a library to compute square roots has
645 | a purpose that is entirely well-defined independent of the
646 | application. Therefore, Subsection 2d requires that any
647 | application-supplied function or table used by this function must
648 | be optional: if the application does not supply it, the square
649 | root function must still compute square roots.)
650 |
651 | These requirements apply to the modified work as a whole. If
652 | identifiable sections of that work are not derived from the Library,
653 | and can be reasonably considered independent and separate works in
654 | themselves, then this License, and its terms, do not apply to those
655 | sections when you distribute them as separate works. But when you
656 | distribute the same sections as part of a whole which is a work based
657 | on the Library, the distribution of the whole must be on the terms of
658 | this License, whose permissions for other licensees extend to the
659 | entire whole, and thus to each and every part regardless of who wrote
660 | it.
661 |
662 | Thus, it is not the intent of this section to claim rights or contest
663 | your rights to work written entirely by you; rather, the intent is to
664 | exercise the right to control the distribution of derivative or
665 | collective works based on the Library.
666 |
667 | In addition, mere aggregation of another work not based on the Library
668 | with the Library (or with a work based on the Library) on a volume of
669 | a storage or distribution medium does not bring the other work under
670 | the scope of this License.
671 |
672 | 3. You may opt to apply the terms of the ordinary GNU General Public
673 | License instead of this License to a given copy of the Library. To do
674 | this, you must alter all the notices that refer to this License, so
675 | that they refer to the ordinary GNU General Public License, version 2,
676 | instead of to this License. (If a newer version than version 2 of the
677 | ordinary GNU General Public License has appeared, then you can specify
678 | that version instead if you wish.) Do not make any other change in
679 | these notices.
680 |
681 | Once this change is made in a given copy, it is irreversible for
682 | that copy, so the ordinary GNU General Public License applies to all
683 | subsequent copies and derivative works made from that copy.
684 |
685 | This option is useful when you wish to copy part of the code of
686 | the Library into a program that is not a library.
687 |
688 | 4. You may copy and distribute the Library (or a portion or
689 | derivative of it, under Section 2) in object code or executable form
690 | under the terms of Sections 1 and 2 above provided that you accompany
691 | it with the complete corresponding machine-readable source code, which
692 | must be distributed under the terms of Sections 1 and 2 above on a
693 | medium customarily used for software interchange.
694 |
695 | If distribution of object code is made by offering access to copy
696 | from a designated place, then offering equivalent access to copy the
697 | source code from the same place satisfies the requirement to
698 | distribute the source code, even though third parties are not
699 | compelled to copy the source along with the object code.
700 |
701 | 5. A program that contains no derivative of any portion of the
702 | Library, but is designed to work with the Library by being compiled or
703 | linked with it, is called a "work that uses the Library". Such a
704 | work, in isolation, is not a derivative work of the Library, and
705 | therefore falls outside the scope of this License.
706 |
707 | However, linking a "work that uses the Library" with the Library
708 | creates an executable that is a derivative of the Library (because it
709 | contains portions of the Library), rather than a "work that uses the
710 | library". The executable is therefore covered by this License.
711 | Section 6 states terms for distribution of such executables.
712 |
713 | When a "work that uses the Library" uses material from a header file
714 | that is part of the Library, the object code for the work may be a
715 | derivative work of the Library even though the source code is not.
716 | Whether this is true is especially significant if the work can be
717 | linked without the Library, or if the work is itself a library. The
718 | threshold for this to be true is not precisely defined by law.
719 |
720 | If such an object file uses only numerical parameters, data
721 | structure layouts and accessors, and small macros and small inline
722 | functions (ten lines or less in length), then the use of the object
723 | file is unrestricted, regardless of whether it is legally a derivative
724 | work. (Executables containing this object code plus portions of the
725 | Library will still fall under Section 6.)
726 |
727 | Otherwise, if the work is a derivative of the Library, you may
728 | distribute the object code for the work under the terms of Section 6.
729 | Any executables containing that work also fall under Section 6,
730 | whether or not they are linked directly with the Library itself.
731 |
732 | 6. As an exception to the Sections above, you may also combine or
733 | link a "work that uses the Library" with the Library to produce a
734 | work containing portions of the Library, and distribute that work
735 | under terms of your choice, provided that the terms permit
736 | modification of the work for the customer's own use and reverse
737 | engineering for debugging such modifications.
738 |
739 | You must give prominent notice with each copy of the work that the
740 | Library is used in it and that the Library and its use are covered by
741 | this License. You must supply a copy of this License. If the work
742 | during execution displays copyright notices, you must include the
743 | copyright notice for the Library among them, as well as a reference
744 | directing the user to the copy of this License. Also, you must do one
745 | of these things:
746 |
747 | a) Accompany the work with the complete corresponding
748 | machine-readable source code for the Library including whatever
749 | changes were used in the work (which must be distributed under
750 | Sections 1 and 2 above); and, if the work is an executable linked
751 | with the Library, with the complete machine-readable "work that
752 | uses the Library", as object code and/or source code, so that the
753 | user can modify the Library and then relink to produce a modified
754 | executable containing the modified Library. (It is understood
755 | that the user who changes the contents of definitions files in the
756 | Library will not necessarily be able to recompile the application
757 | to use the modified definitions.)
758 |
759 | b) Use a suitable shared library mechanism for linking with the
760 | Library. A suitable mechanism is one that (1) uses at run time a
761 | copy of the library already present on the user's computer system,
762 | rather than copying library functions into the executable, and (2)
763 | will operate properly with a modified version of the library, if
764 | the user installs one, as long as the modified version is
765 | interface-compatible with the version that the work was made with.
766 |
767 | c) Accompany the work with a written offer, valid for at
768 | least three years, to give the same user the materials
769 | specified in Subsection 6a, above, for a charge no more
770 | than the cost of performing this distribution.
771 |
772 | d) If distribution of the work is made by offering access to copy
773 | from a designated place, offer equivalent access to copy the above
774 | specified materials from the same place.
775 |
776 | e) Verify that the user has already received a copy of these
777 | materials or that you have already sent this user a copy.
778 |
779 | For an executable, the required form of the "work that uses the
780 | Library" must include any data and utility programs needed for
781 | reproducing the executable from it. However, as a special exception,
782 | the materials to be distributed need not include anything that is
783 | normally distributed (in either source or binary form) with the major
784 | components (compiler, kernel, and so on) of the operating system on
785 | which the executable runs, unless that component itself accompanies
786 | the executable.
787 |
788 | It may happen that this requirement contradicts the license
789 | restrictions of other proprietary libraries that do not normally
790 | accompany the operating system. Such a contradiction means you cannot
791 | use both them and the Library together in an executable that you
792 | distribute.
793 |
794 | 7. You may place library facilities that are a work based on the
795 | Library side-by-side in a single library together with other library
796 | facilities not covered by this License, and distribute such a combined
797 | library, provided that the separate distribution of the work based on
798 | the Library and of the other library facilities is otherwise
799 | permitted, and provided that you do these two things:
800 |
801 | a) Accompany the combined library with a copy of the same work
802 | based on the Library, uncombined with any other library
803 | facilities. This must be distributed under the terms of the
804 | Sections above.
805 |
806 | b) Give prominent notice with the combined library of the fact
807 | that part of it is a work based on the Library, and explaining
808 | where to find the accompanying uncombined form of the same work.
809 |
810 | 8. You may not copy, modify, sublicense, link with, or distribute
811 | the Library except as expressly provided under this License. Any
812 | attempt otherwise to copy, modify, sublicense, link with, or
813 | distribute the Library is void, and will automatically terminate your
814 | rights under this License. However, parties who have received copies,
815 | or rights, from you under this License will not have their licenses
816 | terminated so long as such parties remain in full compliance.
817 |
818 | 9. You are not required to accept this License, since you have not
819 | signed it. However, nothing else grants you permission to modify or
820 | distribute the Library or its derivative works. These actions are
821 | prohibited by law if you do not accept this License. Therefore, by
822 | modifying or distributing the Library (or any work based on the
823 | Library), you indicate your acceptance of this License to do so, and
824 | all its terms and conditions for copying, distributing or modifying
825 | the Library or works based on it.
826 |
827 | 10. Each time you redistribute the Library (or any work based on the
828 | Library), the recipient automatically receives a license from the
829 | original licensor to copy, distribute, link with or modify the Library
830 | subject to these terms and conditions. You may not impose any further
831 | restrictions on the recipients' exercise of the rights granted herein.
832 | You are not responsible for enforcing compliance by third parties with
833 | this License.
834 |
835 | 11. If, as a consequence of a court judgment or allegation of patent
836 | infringement or for any other reason (not limited to patent issues),
837 | conditions are imposed on you (whether by court order, agreement or
838 | otherwise) that contradict the conditions of this License, they do not
839 | excuse you from the conditions of this License. If you cannot
840 | distribute so as to satisfy simultaneously your obligations under this
841 | License and any other pertinent obligations, then as a consequence you
842 | may not distribute the Library at all. For example, if a patent
843 | license would not permit royalty-free redistribution of the Library by
844 | all those who receive copies directly or indirectly through you, then
845 | the only way you could satisfy both it and this License would be to
846 | refrain entirely from distribution of the Library.
847 |
848 | If any portion of this section is held invalid or unenforceable under any
849 | particular circumstance, the balance of the section is intended to apply,
850 | and the section as a whole is intended to apply in other circumstances.
851 |
852 | It is not the purpose of this section to induce you to infringe any
853 | patents or other property right claims or to contest validity of any
854 | such claims; this section has the sole purpose of protecting the
855 | integrity of the free software distribution system which is
856 | implemented by public license practices. Many people have made
857 | generous contributions to the wide range of software distributed
858 | through that system in reliance on consistent application of that
859 | system; it is up to the author/donor to decide if he or she is willing
860 | to distribute software through any other system and a licensee cannot
861 | impose that choice.
862 |
863 | This section is intended to make thoroughly clear what is believed to
864 | be a consequence of the rest of this License.
865 |
866 | 12. If the distribution and/or use of the Library is restricted in
867 | certain countries either by patents or by copyrighted interfaces, the
868 | original copyright holder who places the Library under this License may add
869 | an explicit geographical distribution limitation excluding those countries,
870 | so that distribution is permitted only in or among countries not thus
871 | excluded. In such case, this License incorporates the limitation as if
872 | written in the body of this License.
873 |
874 | 13. The Free Software Foundation may publish revised and/or new
875 | versions of the Lesser General Public License from time to time.
876 | Such new versions will be similar in spirit to the present version,
877 | but may differ in detail to address new problems or concerns.
878 |
879 | Each version is given a distinguishing version number. If the Library
880 | specifies a version number of this License which applies to it and
881 | "any later version", you have the option of following the terms and
882 | conditions either of that version or of any later version published by
883 | the Free Software Foundation. If the Library does not specify a
884 | license version number, you may choose any version ever published by
885 | the Free Software Foundation.
886 |
887 | 14. If you wish to incorporate parts of the Library into other free
888 | programs whose distribution conditions are incompatible with these,
889 | write to the author to ask for permission. For software which is
890 | copyrighted by the Free Software Foundation, write to the Free
891 | Software Foundation; we sometimes make exceptions for this. Our
892 | decision will be guided by the two goals of preserving the free status
893 | of all derivatives of our free software and of promoting the sharing
894 | and reuse of software generally.
895 |
896 | NO WARRANTY
897 |
898 | 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
899 | WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
900 | EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
901 | OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
902 | KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
903 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
904 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
905 | LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
906 | THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
907 |
908 | 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
909 | WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
910 | AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
911 | FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
912 | CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
913 | LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
914 | RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
915 | FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
916 | SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
917 | DAMAGES.
918 |
919 | END OF TERMS AND CONDITIONS
920 |
921 | How to Apply These Terms to Your New Libraries
922 |
923 | If you develop a new library, and you want it to be of the greatest
924 | possible use to the public, we recommend making it free software that
925 | everyone can redistribute and change. You can do so by permitting
926 | redistribution under these terms (or, alternatively, under the terms of the
927 | ordinary General Public License).
928 |
929 | To apply these terms, attach the following notices to the library. It is
930 | safest to attach them to the start of each source file to most effectively
931 | convey the exclusion of warranty; and each file should have at least the
932 | "copyright" line and a pointer to where the full notice is found.
933 |
934 |
935 | Copyright (C)
936 |
937 | This library is free software; you can redistribute it and/or
938 | modify it under the terms of the GNU Lesser General Public
939 | License as published by the Free Software Foundation; either
940 | version 2.1 of the License, or (at your option) any later version.
941 |
942 | This library is distributed in the hope that it will be useful,
943 | but WITHOUT ANY WARRANTY; without even the implied warranty of
944 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
945 | Lesser General Public License for more details.
946 |
947 | You should have received a copy of the GNU Lesser General Public
948 | License along with this library; if not, write to the Free Software
949 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
950 |
951 | Also add information on how to contact you by electronic and paper mail.
952 |
953 | You should also get your employer (if you work as a programmer) or your
954 | school, if any, to sign a "copyright disclaimer" for the library, if
955 | necessary. Here is a sample; alter the names:
956 |
957 | Yoyodyne, Inc., hereby disclaims all copyright interest in the
958 | library `Frob' (a library for tweaking knobs) written by James Random Hacker.
959 |
960 | , 1 April 1990
961 | Ty Coon, President of Vice
962 |
963 | That's all there is to it!
964 |
965 | ----------------------------------------------------------------------
966 |
967 | The bundled SHA1 collision detection code is licensed under the MIT license:
968 |
969 | MIT License
970 |
971 | Copyright (c) 2017:
972 | Marc Stevens
973 | Cryptology Group
974 | Centrum Wiskunde & Informatica
975 | P.O. Box 94079, 1090 GB Amsterdam, Netherlands
976 | marc@marc-stevens.nl
977 |
978 | Dan Shumow
979 | Microsoft Research
980 | danshu@microsoft.com
981 |
982 | Permission is hereby granted, free of charge, to any person obtaining a copy
983 | of this software and associated documentation files (the "Software"), to deal
984 | in the Software without restriction, including without limitation the rights
985 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
986 | copies of the Software, and to permit persons to whom the Software is
987 | furnished to do so, subject to the following conditions:
988 |
989 | The above copyright notice and this permission notice shall be included in all
990 | copies or substantial portions of the Software.
991 |
992 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
993 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
994 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
995 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
996 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
997 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
998 | SOFTWARE.
999 |
1000 | ----------------------------------------------------------------------
1001 |
1002 | The bundled wildmatch code is licensed under the BSD license:
1003 |
1004 | Copyright Rich Salz.
1005 | All rights reserved.
1006 |
1007 | Redistribution and use in any form are permitted provided that the
1008 | following restrictions are are met:
1009 |
1010 | 1. Source distributions must retain this entire copyright notice
1011 | and comment.
1012 | 2. Binary distributions must include the acknowledgement ``This
1013 | product includes software developed by Rich Salz'' in the
1014 | documentation or other materials provided with the
1015 | distribution. This must not be represented as an endorsement
1016 | or promotion without specific prior written permission.
1017 | 3. The origin of this software must not be misrepresented, either
1018 | by explicit claim or by omission. Credits must appear in the
1019 | source and documentation.
1020 | 4. Altered versions must be plainly marked as such in the source
1021 | and documentation and must not be misrepresented as being the
1022 | original software.
1023 |
1024 | THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
1025 | WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
1026 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1027 |
1028 | ----------------------------------------------------------------------
1029 |
1030 | Portions of the OpenSSL headers are included under the OpenSSL license:
1031 |
1032 | Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
1033 | All rights reserved.
1034 |
1035 | This package is an SSL implementation written
1036 | by Eric Young (eay@cryptsoft.com).
1037 | The implementation was written so as to conform with Netscapes SSL.
1038 |
1039 | This library is free for commercial and non-commercial use as long as
1040 | the following conditions are aheared to. The following conditions
1041 | apply to all code found in this distribution, be it the RC4, RSA,
1042 | lhash, DES, etc., code; not just the SSL code. The SSL documentation
1043 | included with this distribution is covered by the same copyright terms
1044 | except that the holder is Tim Hudson (tjh@cryptsoft.com).
1045 |
1046 | Copyright remains Eric Young's, and as such any Copyright notices in
1047 | the code are not to be removed.
1048 | If this package is used in a product, Eric Young should be given attribution
1049 | as the author of the parts of the library used.
1050 | This can be in the form of a textual message at program startup or
1051 | in documentation (online or textual) provided with the package.
1052 |
1053 | Redistribution and use in source and binary forms, with or without
1054 | modification, are permitted provided that the following conditions
1055 | are met:
1056 | 1. Redistributions of source code must retain the copyright
1057 | notice, this list of conditions and the following disclaimer.
1058 | 2. Redistributions in binary form must reproduce the above copyright
1059 | notice, this list of conditions and the following disclaimer in the
1060 | documentation and/or other materials provided with the distribution.
1061 | 3. All advertising materials mentioning features or use of this software
1062 | must display the following acknowledgement:
1063 | "This product includes cryptographic software written by
1064 | Eric Young (eay@cryptsoft.com)"
1065 | The word 'cryptographic' can be left out if the rouines from the library
1066 | being used are not cryptographic related :-).
1067 | 4. If you include any Windows specific code (or a derivative thereof) from
1068 | the apps directory (application code) you must include an acknowledgement:
1069 | "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
1070 |
1071 | THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
1072 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1073 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1074 | ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1075 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1076 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
1077 | OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1078 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1079 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1080 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1081 | SUCH DAMAGE.
1082 |
1083 | The licence and distribution terms for any publically available version or
1084 | derivative of this code cannot be changed. i.e. this code cannot simply be
1085 | copied and put under another distribution licence
1086 | [including the GNU Public Licence.]
1087 |
1088 | ====================================================================
1089 | Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
1090 |
1091 | Redistribution and use in source and binary forms, with or without
1092 | modification, are permitted provided that the following conditions
1093 | are met:
1094 |
1095 | 1. Redistributions of source code must retain the above copyright
1096 | notice, this list of conditions and the following disclaimer.
1097 |
1098 | 2. Redistributions in binary form must reproduce the above copyright
1099 | notice, this list of conditions and the following disclaimer in
1100 | the documentation and/or other materials provided with the
1101 | distribution.
1102 |
1103 | 3. All advertising materials mentioning features or use of this
1104 | software must display the following acknowledgment:
1105 | "This product includes software developed by the OpenSSL Project
1106 | for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
1107 |
1108 | 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
1109 | endorse or promote products derived from this software without
1110 | prior written permission. For written permission, please contact
1111 | openssl-core@openssl.org.
1112 |
1113 | 5. Products derived from this software may not be called "OpenSSL"
1114 | nor may "OpenSSL" appear in their names without prior written
1115 | permission of the OpenSSL Project.
1116 |
1117 | 6. Redistributions of any form whatsoever must retain the following
1118 | acknowledgment:
1119 | "This product includes software developed by the OpenSSL Project
1120 | for use in the OpenSSL Toolkit (http://www.openssl.org/)"
1121 |
1122 | THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
1123 | EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1124 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1125 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
1126 | ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1127 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
1128 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
1129 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1130 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1131 | STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1132 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
1133 | OF THE POSSIBILITY OF SUCH DAMAGE.
1134 |
1135 | ----------------------------------------------------------------------
1136 |
1137 | The xoroshiro256** implementation is licensed in the public domain:
1138 |
1139 | Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org)
1140 |
1141 | To the extent possible under law, the author has dedicated all copyright
1142 | and related and neighboring rights to this software to the public domain
1143 | worldwide. This software is distributed without any warranty.
1144 |
1145 | See .
1146 |
1147 | ----------------------------------------------------------------------
1148 |
1149 | The built-in SHA256 support (src/hash/rfc6234) is taken from RFC 6234
1150 | under the following license:
1151 |
1152 | Copyright (c) 2011 IETF Trust and the persons identified as
1153 | authors of the code. All rights reserved.
1154 |
1155 | Redistribution and use in source and binary forms, with or
1156 | without modification, are permitted provided that the following
1157 | conditions are met:
1158 |
1159 | - Redistributions of source code must retain the above
1160 | copyright notice, this list of conditions and
1161 | the following disclaimer.
1162 |
1163 | - Redistributions in binary form must reproduce the above
1164 | copyright notice, this list of conditions and the following
1165 | disclaimer in the documentation and/or other materials provided
1166 | with the distribution.
1167 |
1168 | - Neither the name of Internet Society, IETF or IETF Trust, nor
1169 | the names of specific contributors, may be used to endorse or
1170 | promote products derived from this software without specific
1171 | prior written permission.
1172 |
1173 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
1174 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1175 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
1176 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1177 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
1178 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1179 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
1180 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
1181 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1182 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1183 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
1184 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
1185 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1186 |
1187 | ----------------------------------------------------------------------
1188 |
1189 | The built-in git_fs_path_basename_r() function is based on the
1190 | Android implementation, BSD licensed:
1191 |
1192 | Copyright (C) 2008 The Android Open Source Project
1193 | All rights reserved.
1194 |
1195 | Redistribution and use in source and binary forms, with or without
1196 | modification, are permitted provided that the following conditions
1197 | are met:
1198 | * Redistributions of source code must retain the above copyright
1199 | notice, this list of conditions and the following disclaimer.
1200 | * Redistributions in binary form must reproduce the above copyright
1201 | notice, this list of conditions and the following disclaimer in
1202 | the documentation and/or other materials provided with the
1203 | distribution.
1204 |
1205 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1206 | AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1207 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
1208 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
1209 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
1210 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
1211 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
1212 | OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
1213 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1214 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
1215 | OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1216 | SUCH DAMAGE.
1217 |
1218 | ----------------------------------------------------------------------
1219 |
1220 | The bundled ntlmclient code is licensed under the MIT license:
1221 |
1222 | Copyright (c) Edward Thomson. All rights reserved.
1223 |
1224 | Permission is hereby granted, free of charge, to any person obtaining a
1225 | copy of this software and associated documentation files (the "Software"),
1226 | to deal in the Software without restriction, including without limitation
1227 | the rights to use, copy, modify, merge, publish, distribute, sublicense,
1228 | and/or sell copies of the Software, and to permit persons to whom the
1229 | Software is furnished to do so, subject to the following conditions:
1230 |
1231 | The above copyright notice and this permission notice shall be included
1232 | in all copies or substantial portions of the Software.
1233 |
1234 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1235 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1236 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1237 | THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1238 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1239 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1240 | DEALINGS IN THE SOFTWARE.
1241 |
1242 | ----------------------------------------------------------------------
1243 |
1244 | Portions of this software derived from Team Explorer Everywhere:
1245 |
1246 | Copyright (c) Microsoft Corporation
1247 |
1248 | All rights reserved.
1249 |
1250 | Permission is hereby granted, free of charge, to any person obtaining a
1251 | copy of this software and associated documentation files (the "Software"),
1252 | to deal in the Software without restriction, including without limitation
1253 | the rights to use, copy, modify, merge, publish, distribute, sublicense,
1254 | and/or sell copies of the Software, and to permit persons to whom the
1255 | Software is furnished to do so, subject to the following conditions:
1256 |
1257 | The above copyright notice and this permission notice shall be included
1258 | in all copies or substantial portions of the Software.
1259 |
1260 | THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS
1261 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1262 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1263 | THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
1264 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
1265 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1266 | OTHER DEALINGS IN THE SOFTWARE.
1267 |
1268 | ---------------------------------------------------------------------------
1269 |
1270 | Portions of this software derived from the LLVM Compiler Infrastructure:
1271 |
1272 | Copyright (c) 2003-2016 University of Illinois at Urbana-Champaign.
1273 | All rights reserved.
1274 |
1275 | Developed by:
1276 |
1277 | LLVM Team
1278 |
1279 | University of Illinois at Urbana-Champaign
1280 |
1281 | http://llvm.org
1282 |
1283 | Permission is hereby granted, free of charge, to any person obtaining a copy of
1284 | this software and associated documentation files (the "Software"), to deal with
1285 | the Software without restriction, including without limitation the rights to
1286 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
1287 | of the Software, and to permit persons to whom the Software is furnished to do
1288 | so, subject to the following conditions:
1289 |
1290 | * Redistributions of source code must retain the above copyright notice,
1291 | this list of conditions and the following disclaimers.
1292 |
1293 | * Redistributions in binary form must reproduce the above copyright notice,
1294 | this list of conditions and the following disclaimers in the
1295 | documentation and/or other materials provided with the distribution.
1296 |
1297 | * Neither the names of the LLVM Team, University of Illinois at
1298 | Urbana-Champaign, nor the names of its contributors may be used to
1299 | endorse or promote products derived from this Software without specific
1300 | prior written permission.
1301 |
1302 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1303 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1304 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1305 | CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1306 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1307 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
1308 | SOFTWARE.
1309 |
1310 | ---------------------------------------------------------------------------
1311 |
1312 | Portions of this software derived from Unicode, Inc:
1313 |
1314 | Copyright 2001-2004 Unicode, Inc.
1315 |
1316 | Disclaimer
1317 |
1318 | This source code is provided as is by Unicode, Inc. No claims are
1319 | made as to fitness for any particular purpose. No warranties of any
1320 | kind are expressed or implied. The recipient agrees to determine
1321 | applicability of information provided. If this file has been
1322 | purchased on magnetic or optical media from Unicode, Inc., the
1323 | sole remedy for any claim will be exchange of defective media
1324 | within 90 days of receipt.
1325 |
1326 | Limitations on Rights to Redistribute This Code
1327 |
1328 | Unicode, Inc. hereby grants the right to freely use the information
1329 | supplied in this file in the creation of products supporting the
1330 | Unicode Standard, and to make copies of this file in any form
1331 | for internal or external distribution as long as this notice
1332 | remains attached.
1333 |
1334 | ---------------------------------------------------------------------------
1335 |
1336 | Portions of this software derived from sheredom/utf8.h:
1337 |
1338 | This is free and unencumbered software released into the public domain.
1339 |
1340 | Anyone is free to copy, modify, publish, use, compile, sell, or
1341 | distribute this software, either in source code form or as a compiled
1342 | binary, for any purpose, commercial or non-commercial, and by any
1343 | means.
1344 |
1345 | In jurisdictions that recognize copyright laws, the author or authors
1346 | of this software dedicate any and all copyright interest in the
1347 | software to the public domain. We make this dedication for the benefit
1348 | of the public at large and to the detriment of our heirs and
1349 | successors. We intend this dedication to be an overt act of
1350 | relinquishment in perpetuity of all present and future rights to this
1351 | software under copyright law.
1352 |
1353 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1354 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1355 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1356 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
1357 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
1358 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1359 | OTHER DEALINGS IN THE SOFTWARE.
1360 |
1361 | For more information, please refer to
1362 |
1363 | ---------------------------------------------------------------------------
1364 |
1365 | Portions of this software derived from RFC 1320:
1366 |
1367 | Copyright (C) 1990-2, RSA Data Security, Inc. All rights reserved.
1368 |
1369 | License to copy and use this software is granted provided that it
1370 | is identified as the "RSA Data Security, Inc. MD4 Message-Digest
1371 | Algorithm" in all material mentioning or referencing this software
1372 | or this function.
1373 |
1374 | License is also granted to make and use derivative works provided
1375 | that such works are identified as "derived from the RSA Data
1376 | Security, Inc. MD4 Message-Digest Algorithm" in all material
1377 | mentioning or referencing the derived work.
1378 |
1379 | RSA Data Security, Inc. makes no representations concerning either
1380 | the merchantability of this software or the suitability of this
1381 | software for any particular purpose. It is provided "as is"
1382 | without express or implied warranty of any kind.
1383 |
1384 | These notices must be retained in any copies of any part of this
1385 | documentation and/or software.
1386 |
1387 | ----------------------------------------------------------------------
1388 |
1389 | The bundled llhttp dependency is licensed under the MIT license:
1390 |
1391 | Copyright Fedor Indutny, 2018.
1392 |
1393 | Permission is hereby granted, free of charge, to any person obtaining a
1394 | copy of this software and associated documentation files (the
1395 | "Software"), to deal in the Software without restriction, including
1396 | without limitation the rights to use, copy, modify, merge, publish,
1397 | distribute, sublicense, and/or sell copies of the Software, and to permit
1398 | persons to whom the Software is furnished to do so, subject to the
1399 | following conditions:
1400 |
1401 | The above copyright notice and this permission notice shall be included
1402 | in all copies or substantial portions of the Software.
1403 |
1404 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1405 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1406 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1407 | NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1408 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1409 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1410 | USE OR OTHER DEALINGS IN THE SOFTWARE.
1411 |
--------------------------------------------------------------------------------