diff --git a/.gitattributes b/.gitattributes index 53b0f076..5d53e265 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,2 @@ # Apply override to all files in the directory tests/** linguist-vendored -src/fosslight_dependency/third_party/** linguist-vendored diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 42e10774..c09ea59c 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -72,7 +72,7 @@ jobs: - name: Build exe with PyInstaller for windows run: | - pyinstaller --onefile cli.py -n cli --additional-hooks-dir=hooks --add-binary "src/fosslight_dependency/third_party/askalono/askalono.exe;third_party/askalono" --add-binary "LICENSE;LICENSES" --add-binary "LICENSES\LicenseRef-3rd_party_licenses.txt;LICENSES" --collect-datas fosslight_util --hidden-import=_cffi_backend + pyinstaller --onefile cli.py -n cli --additional-hooks-dir=hooks --add-binary "LICENSE;LICENSES" --add-binary "LICENSES\LicenseRef-3rd_party_licenses.txt;LICENSES" --collect-datas fosslight_util --hidden-import=_cffi_backend mkdir out move dist/cli.exe fosslight_dependency_windows.exe diff --git a/.reuse/dep5 b/.reuse/dep5 index f8ab3117..155a590e 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -22,18 +22,14 @@ Files: setup.cfg Copyright: 2021 LG Electronics License: Apache-2.0 -Files: .gitignore +Files: requirements.txt Copyright: 2021 LG Electronics -License: Apache-2.0 +License: LicenseRef-3rd_party_licenses -Files: src/fosslight_dependency/third_party/askalono/* -Copyright: 2018 Amazon.com, Inc. or its affiliates. +Files: .gitignore +Copyright: 2021 LG Electronics License: Apache-2.0 -Files: src/fosslight_dependency/third_party/nomos/* -Copyright: 2006-2009 Hewlett-Packard Development Company, L.P. -License: LicenseRef-3rd_party_licenses - Files: tests/test_gradle/* Copyright: 2017-2021 Google LLC. License: Apache-2.0 diff --git a/setup.py b/setup.py index 8da83fe3..62da6463 100644 --- a/setup.py +++ b/setup.py @@ -52,10 +52,7 @@ "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", ], install_requires=required, - package_data={_PACKAEG_NAME: [os.path.join('third_party', 'nomos', 'nomossa'), - os.path.join('third_party', 'askalono', 'askalono.exe'), - os.path.join('third_party', 'askalono', 'askalono_macos'), - os.path.join(_LICENSE_DIR, '*')]}, + package_data={_PACKAEG_NAME: [os.path.join(_LICENSE_DIR, '*')]}, include_package_data=True, entry_points={ "console_scripts": [ diff --git a/src/fosslight_dependency/_package_manager.py b/src/fosslight_dependency/_package_manager.py index d6b520f2..f72992d0 100644 --- a/src/fosslight_dependency/_package_manager.py +++ b/src/fosslight_dependency/_package_manager.py @@ -4,7 +4,6 @@ # SPDX-License-Identifier: Apache-2.0 import os -import sys import logging import platform import re @@ -12,9 +11,10 @@ import subprocess import shutil import stat +from packageurl.contrib import url2purl +from askalono import identify import fosslight_util.constant as constant import fosslight_dependency.constant as const -from packageurl.contrib import url2purl try: from github import Github @@ -23,13 +23,9 @@ logger = logging.getLogger(constant.LOGGER_NAME) -# binary url to check license text -_license_scanner_linux = os.path.join('third_party', 'nomos', 'nomossa') -_license_scanner_macos = os.path.join('third_party', 'askalono', 'askalono_macos') -_license_scanner_windows = os.path.join('third_party', 'askalono', 'askalono.exe') - gradle_config = ['runtimeClasspath', 'runtime'] android_config = ['releaseRuntimeClasspath'] +ASKALONO_THRESHOLD = 0.7 class PackageManager: @@ -54,7 +50,6 @@ def __init__(self, package_manager_name, dn_url, input_dir, output_dir): self.dep_items = [] self.platform = platform.system() - self.license_scanner_bin = check_license_scanner(self.platform) def __del__(self): self.input_package_list_file = [] @@ -316,9 +311,8 @@ def connect_github(github_token): return g -def get_github_license(g, github_repo, platform, license_scanner_bin): +def get_github_license(g, github_repo): license_name = '' - tmp_license_txt_file_name = 'tmp_license.txt' try: repository = g.get_repo(github_repo) @@ -334,96 +328,26 @@ def get_github_license(g, github_repo, platform, license_scanner_bin): if license_name == "" or license_name == "NOASSERTION": try: license_txt_data = base64.b64decode(repository.get_license().content).decode('utf-8') - tmp_license_txt = open(tmp_license_txt_file_name, 'w', encoding='utf-8') - tmp_license_txt.write(license_txt_data) - tmp_license_txt.close() - license_name = check_and_run_license_scanner(platform, license_scanner_bin, tmp_license_txt_file_name) + license_name = check_license_name(license_txt_data) except Exception: - logger.info("Cannot find the license name with license scanner binary.") - - if os.path.isfile(tmp_license_txt_file_name): - os.remove(tmp_license_txt_file_name) + logger.info("Cannot find the license name with askalono.") except Exception: logger.info("Cannot find the license name with github api.") return license_name -def check_license_scanner(platform): - license_scanner_bin = '' - - if platform == const.LINUX: - license_scanner = _license_scanner_linux - elif platform == const.MACOS: - license_scanner = _license_scanner_macos - elif platform == const.WINDOWS: - license_scanner = _license_scanner_windows - else: - logger.debug("Not supported OS to analyze license text with binary.") - - if license_scanner: - try: - base_path = sys._MEIPASS - except Exception: - base_path = os.path.dirname(__file__) - - data_path = os.path.join(base_path, license_scanner) - license_scanner_bin = data_path - - return license_scanner_bin - - -def check_and_run_license_scanner(platform, license_scanner_bin, file_dir): +def check_license_name(license_txt, is_filepath=False): license_name = '' + if is_filepath: + with open(license_txt, 'r', encoding='utf-8') as f: + license_content = f.read() + else: + license_content = license_txt - if not license_scanner_bin: - logger.error('Not supported OS for license scanner binary.') - - try: - tmp_output_file_name = "tmp_license_scanner_output.txt" - - if file_dir == "UNKNOWN": - license_name = "" - else: - if platform == const.LINUX: - run_license_scanner = f"{license_scanner_bin} {file_dir} > {tmp_output_file_name}" - elif platform == const.MACOS: - run_license_scanner = f"{license_scanner_bin} identify {file_dir} > {tmp_output_file_name}" - elif platform == const.WINDOWS: - run_license_scanner = f"{license_scanner_bin} identify {file_dir} > {tmp_output_file_name}" - else: - run_license_scanner = '' - - if run_license_scanner is None: - license_name = "" - return license_name - else: - ret = subprocess.run(run_license_scanner, shell=True, stderr=subprocess.PIPE) - if ret.returncode != 0 or ret.stderr: - os.remove(tmp_output_file_name) - return "" - - fp = open(tmp_output_file_name, "r", encoding='utf8') - license_output = fp.read() - fp.close() - - if platform == const.LINUX: - license_output_re = re.findall(r'.*contains license\(s\)\s(.*)', license_output) - else: - license_output_re = re.findall(r"License:\s{1}(\S*)\s{1}", license_output) - - if len(license_output_re) == 1: - license_name = license_output_re[0] - if license_name == "No_license_found": - license_name = "" - else: - license_name = "" - os.remove(tmp_output_file_name) - - except Exception as ex: - logger.error(f"Failed to run license scan binary. {ex}") - license_name = "" - + detect_askalono = identify(license_content) + if detect_askalono.score > ASKALONO_THRESHOLD: + license_name = detect_askalono.name return license_name diff --git a/src/fosslight_dependency/package_manager/Carthage.py b/src/fosslight_dependency/package_manager/Carthage.py index be32f8fc..6d08fd57 100644 --- a/src/fosslight_dependency/package_manager/Carthage.py +++ b/src/fosslight_dependency/package_manager/Carthage.py @@ -9,8 +9,8 @@ import fosslight_util.constant as constant import fosslight_dependency.constant as const from fosslight_dependency._package_manager import PackageManager -from fosslight_dependency._package_manager import connect_github, get_github_license, check_and_run_license_scanner -from fosslight_dependency._package_manager import get_url_to_purl +from fosslight_dependency._package_manager import connect_github, get_github_license +from fosslight_dependency._package_manager import get_url_to_purl, check_license_name from fosslight_dependency.dependency_item import DependencyItem from fosslight_util.oss_item import OssItem @@ -79,9 +79,7 @@ def parse_oss_information(self, f_name): for license_file_reg in license_file_regs: match_result = re.match(license_file_reg, filename_in_dir.lower()) if match_result is not None: - license_name = check_and_run_license_scanner(self.platform, - self.license_scanner_bin, - filename_with_checkout_path) + license_name = check_license_name(filename_with_checkout_path, True) find_license = True break if license_name == '': @@ -89,7 +87,7 @@ def parse_oss_information(self, f_name): try: if not g: g = connect_github(self.github_token) - license_name = get_github_license(g, oss_path, self.platform, self.license_scanner_bin) + license_name = get_github_license(g, oss_path) except Exception as e: logger.warning(f"Failed to get license with github api: {e}") license_name == '' diff --git a/src/fosslight_dependency/package_manager/Nuget.py b/src/fosslight_dependency/package_manager/Nuget.py index 93720561..28f62d3b 100644 --- a/src/fosslight_dependency/package_manager/Nuget.py +++ b/src/fosslight_dependency/package_manager/Nuget.py @@ -12,7 +12,7 @@ import fosslight_util.constant as constant import fosslight_dependency.constant as const from fosslight_dependency._package_manager import PackageManager -from fosslight_dependency._package_manager import check_and_run_license_scanner, get_url_to_purl +from fosslight_dependency._package_manager import check_license_name, get_url_to_purl from fosslight_dependency.dependency_item import DependencyItem, change_dependson_to_purl from fosslight_util.oss_item import OssItem @@ -73,14 +73,9 @@ def parse_oss_information(self, f_name): if license_url is not None: url_res = requests.get(license_url.text) if url_res.status_code == 200: - tmp_license_txt = open(tmp_license_txt_file_name, 'w', encoding='utf-8') - tmp_license_txt.write(url_res.text) - tmp_license_txt.close() - license_name_with_license_scanner = check_and_run_license_scanner(self.platform, - self.license_scanner_bin, - tmp_license_txt_file_name) - if license_name_with_license_scanner != "": - license_name = license_name_with_license_scanner + license_name_with_scanner = check_license_name(url_res.text) + if license_name_with_scanner != "": + license_name = license_name_with_scanner else: license_name = license_url.text oss_item.license = license_name diff --git a/src/fosslight_dependency/package_manager/Pub.py b/src/fosslight_dependency/package_manager/Pub.py index 0469f87a..26804f75 100644 --- a/src/fosslight_dependency/package_manager/Pub.py +++ b/src/fosslight_dependency/package_manager/Pub.py @@ -10,11 +10,10 @@ import shutil import yaml import subprocess -from askalono import identify import fosslight_util.constant as constant import fosslight_dependency.constant as const from fosslight_dependency._package_manager import PackageManager -from fosslight_dependency._package_manager import get_url_to_purl +from fosslight_dependency._package_manager import get_url_to_purl, check_license_name from fosslight_dependency.dependency_item import DependencyItem, change_dependson_to_purl from fosslight_util.oss_item import OssItem @@ -135,9 +134,7 @@ def parse_oss_information(self, f_name): purl_dict[f'{oss_origin_name}({oss_item.version})'] = dep_item.purl license_txt = json_data['license'] if license_txt is not None: - detect_askalono = identify(license_txt) - if detect_askalono.score > 0.7: - oss_item.license = detect_askalono.name + oss_item.license = check_license_name(license_txt) if self.direct_dep: if oss_origin_name not in self.total_dep_list: diff --git a/src/fosslight_dependency/package_manager/Pypi.py b/src/fosslight_dependency/package_manager/Pypi.py index da3722a2..098ce023 100644 --- a/src/fosslight_dependency/package_manager/Pypi.py +++ b/src/fosslight_dependency/package_manager/Pypi.py @@ -13,7 +13,7 @@ import fosslight_util.constant as constant import fosslight_dependency.constant as const from fosslight_dependency._package_manager import PackageManager -from fosslight_dependency._package_manager import check_and_run_license_scanner, get_url_to_purl +from fosslight_dependency._package_manager import check_license_name, get_url_to_purl from fosslight_dependency.dependency_item import DependencyItem, change_dependson_to_purl from fosslight_util.oss_item import OssItem @@ -302,12 +302,7 @@ def parse_oss_information(self, f_name): if license_name is not None: license_name = license_name.replace(';', ',') else: - license_file_dir = d['LicenseFile'] - license_name_with_lic_scanner = check_and_run_license_scanner(self.platform, - self.license_scanner_bin, - license_file_dir) - if license_name_with_lic_scanner != "": - license_name = license_name_with_lic_scanner + license_name = check_license_name(d['LicenseFile'], True) oss_item.license = license_name if oss_init_name == self.package_name: diff --git a/src/fosslight_dependency/package_manager/Swift.py b/src/fosslight_dependency/package_manager/Swift.py index 2f5d1f2b..3a8feaa7 100644 --- a/src/fosslight_dependency/package_manager/Swift.py +++ b/src/fosslight_dependency/package_manager/Swift.py @@ -140,7 +140,7 @@ def parse_oss_information(self, f_name): github_repo = "/".join(oss_item.homepage.split('/')[-2:]) dep_item.purl = get_url_to_purl(oss_item.download_location, self.package_manager_name, github_repo, oss_item.version) purl_dict[f'{oss_origin_name}({oss_item.version})'] = dep_item.purl - oss_item.license = get_github_license(g, github_repo, self.platform, self.license_scanner_bin) + oss_item.license = get_github_license(g, github_repo) if self.direct_dep and len(self.direct_dep_list) > 0: if oss_origin_name in self.direct_dep_list: diff --git a/src/fosslight_dependency/package_manager/Unity.py b/src/fosslight_dependency/package_manager/Unity.py index f199c2ef..ee8ed5a7 100644 --- a/src/fosslight_dependency/package_manager/Unity.py +++ b/src/fosslight_dependency/package_manager/Unity.py @@ -11,13 +11,12 @@ import fosslight_util.constant as constant import fosslight_dependency.constant as const from fosslight_dependency._package_manager import PackageManager -from fosslight_dependency._package_manager import check_and_run_license_scanner, get_url_to_purl +from fosslight_dependency._package_manager import check_license_name, get_url_to_purl from fosslight_dependency.dependency_item import DependencyItem from fosslight_util.oss_item import OssItem logger = logging.getLogger(constant.LOGGER_NAME) proprietary_license = 'Proprietary License' -unclassifed_license = 'UnclassifiedLicense' license_md = 'LICENSE.md' third_party_md = 'Third Party Notices.md' @@ -50,10 +49,8 @@ def parse_oss_information(self, f_name): oss_packagecache_dir = os.path.join(self.packageCache_dir, f'{oss_item.name}@{oss_item.version}') license_f = os.path.join(oss_packagecache_dir, license_md) if os.path.isfile(license_f): - license_name = check_and_run_license_scanner(self.platform, - self.license_scanner_bin, - license_f) - if license_name == unclassifed_license or license_name == '': + license_name = check_license_name(license_f, True) + if license_name == '': with open(license_f, 'r', encoding='utf-8') as f: for line in f: matched_l = re.search(r'Unity\s[\s\w]*\sLicense', line) diff --git a/src/fosslight_dependency/third_party/askalono/LICENSE b/src/fosslight_dependency/third_party/askalono/LICENSE deleted file mode 100644 index d6456956..00000000 --- a/src/fosslight_dependency/third_party/askalono/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/src/fosslight_dependency/third_party/askalono/NOTICE b/src/fosslight_dependency/third_party/askalono/NOTICE deleted file mode 100644 index ef7b91a3..00000000 --- a/src/fosslight_dependency/third_party/askalono/NOTICE +++ /dev/null @@ -1,10 +0,0 @@ -askalono -Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. - -This tool does not provide legal advice and it is not a lawyer. It endeavors to -match your input to a database of similar license texts, and tell you what it -thinks is a close match. But, it can't tell you that the given license is -authoritative over a project. Nor can it tell you what to do with a license once -it's identified. You are not entitled to rely on the accuracy of the output of -this tool, and should seek independent legal advice for any licensing questions -that may arise from using this tool. diff --git a/src/fosslight_dependency/third_party/askalono/README.md b/src/fosslight_dependency/third_party/askalono/README.md deleted file mode 100644 index 0178a7e1..00000000 --- a/src/fosslight_dependency/third_party/askalono/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# askalono - -We use the [askalono](https://github.com/jpeddicord/askalono) binary to analyze the license text for some package managers (pip, pub) in Windows, macos environment. We uploaded [the 0.4.3 release version binaries](https://github.com/jpeddicord/askalono/releases/tag/0.4.3) (askalono.exe binary and askalono for MacOS) in this directory for convenience purposes. - -## License -Apache-2.0 diff --git a/src/fosslight_dependency/third_party/askalono/askalono.exe b/src/fosslight_dependency/third_party/askalono/askalono.exe deleted file mode 100644 index e56f519e..00000000 Binary files a/src/fosslight_dependency/third_party/askalono/askalono.exe and /dev/null differ diff --git a/src/fosslight_dependency/third_party/askalono/askalono_macos b/src/fosslight_dependency/third_party/askalono/askalono_macos deleted file mode 100755 index 9ddd691a..00000000 Binary files a/src/fosslight_dependency/third_party/askalono/askalono_macos and /dev/null differ diff --git a/src/fosslight_dependency/third_party/nomos/LICENSE b/src/fosslight_dependency/third_party/nomos/LICENSE deleted file mode 100644 index 66cf55ba..00000000 --- a/src/fosslight_dependency/third_party/nomos/LICENSE +++ /dev/null @@ -1,845 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random - Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - diff --git a/src/fosslight_dependency/third_party/nomos/README.md b/src/fosslight_dependency/third_party/nomos/README.md deleted file mode 100644 index 90201cb3..00000000 --- a/src/fosslight_dependency/third_party/nomos/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Nomos standalone - -We use the nomos standalone binary to analyzle the license text for some package managers (pip, pib) in Ubuntu environment. The source codes for nomos standalone can be obtained the [fossology](https://github.com/fossology/fossology/tree/master/src/nomos/agent) github repository. We already updloaded the 'nomossa' binary in this directory. If it doesn't work, you can build a binary from the source codes only for nomos standalone that moved from the fossology repository. - -## How to build -### 1.Install the requirements -``` -$ sudo apt-get install libglib2.0-dev -$ sudo apt-get install libjson-c-dev -``` -### 2. Make -``` -$ cd agent -$ cd make -``` -### 3. Generate -The 'nomossa' binary can be generated in agent directory. - -## License -GPL-2.0 diff --git a/src/fosslight_dependency/third_party/nomos/agent/CHECKSTR b/src/fosslight_dependency/third_party/nomos/agent/CHECKSTR deleted file mode 100755 index 7ad58e64..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/CHECKSTR +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -#************************************************************** -# Copyright (C) 2006-2009 Hewlett-Packard Development Company, L.P. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# version 2 as published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# *************************************************************** -PROG=$(basename $0) - -DATA=_strings.data -PASS=checkstr.OK -WC=$(wc -l < $DATA) || exit 1 -ERRS=0 -# echo "$PROG: validating phrase seeds in license strings..." -for i in $(seq 1 $WC) ; do - LINE=$(head -n $i $DATA | tail -n 1) - if echo "${LINE}" | egrep -iq "^\[=NULL=\]" ; then - continue - fi - KEY=$(echo "$LINE" | awk -F\" '{print $2}') -# License string can contain `:` - REST=$(expr "$LINE" : '\[.*\] _.*: \(.*\)$') - TAG=$(expr "$LINE" : '\[.*\] \(.*\): ') -# echo LINE $i: key $KEY tag $TAG rest $REST - if [ -f checkstr.OK ]; then -# grep -qx "$TAG" $PASS && echo "$TAG: OK" && continue - grep -qx "$TAG" $PASS && continue - fi -## printf "$LINE\nLINE %03d: " $i - if echo "$REST" | egrep -iq "$KEY" ; then - X=1 # echo "OK (egrep)" - elif echo "$REST" | fgrep -iq "$KEY" ; then - X=1 # echo "OK (fgrep)" - else - CH1=$(echo $KEY | cut -c1) - OTH=$(echo $KEY | cut -c2-) - KLUDGE="${CH1})${OTH}" - if echo "$LINE" | fgrep -iq "$KLUDGE" ; then - X=1 # echo "OK (kludge \"$KLUDGE\")" - else - echo "$PROG: Key \"$KEY\" NOT FOUND in entry below:" - echo "$LINE" - ERRS=$((ERRS+1)) - fi - fi -done -if [ $ERRS -eq 0 ] ; then - WILD=$(egrep '(=SOME=|=ANY=|=FEW=)' $DATA | wc -l) - printf "$PROG: %d phrases, %d contain wild-cards\n" $WC $WILD - exit 0 -fi -echo "$PROG: Error count = $ERRS" -exit 1 diff --git a/src/fosslight_dependency/third_party/nomos/agent/DMalloc.3x b/src/fosslight_dependency/third_party/nomos/agent/DMalloc.3x deleted file mode 100644 index 58ecc584..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/DMalloc.3x +++ /dev/null @@ -1,169 +0,0 @@ -.\" -.\" (C) Copyright 2006 Hewlett-Packard Development Company, L.P. -.\" -.de G -.br -.B -.. -.TH dmALLOC 3 local -.SH NAME -DMmalloc, DMcalloc, DMfree, DMrealloc, DMnotfreed, DMmemcheck - memory allocation debugging -.SH SYNOPSIS -.G -#include -.PP -.G -extern int DMverbose; -.G -extern char *DMtriggeraddr; -.PP -.G -char * -.G -DMmalloc (size, fname, line) -.G -int size; -.G -char *fname; -.G -int line; -.PP -.G -char * -.G -DMcalloc (size, nitems, fname, line) -.G -int nitems; -.PP -.G -char * -.G -DMrealloc (ptr, size, fname, line) -.G -char *ptr; -.PP -.G -DMfree (ptr, fname, line) -.PP -.G -DMnotfreed () -.PP -.G -DMmemcheck (ptr, fname, line) -.PP -.G -DMtrigger() -.PP -.SH DESCRIPTION -The -.IR DM "(debug memory)" -routines are replacements for the routines -described in -.I malloc(3) -to be used to debug memory allocation problems. -These routines check for overwriting start and/or ends of memory -areas, -passing mis-aligned pointers to -.IR free() , -the integrity of all outstanding allocated memory, -passing already-freed pointers to -.I free() -and no-doubt some other things. -Some global variables are provided to aid the control of these -routines when using a run-time debugger. -.PP -These routines are written on top of the standard -memory allocation routines and are accessed by -.BR #includ ing -a header file which re-writes source calls -to the standard routines to be calls to the -.I DM -routines. -This header file contains: -.IP "" -.nf -#define free(p) DMfree(p,__FILE__,__LINE__) -#define malloc(s) DMmalloc(s,__FILE__,__LINE__) -#define calloc(s,i) DMcalloc(s,i,__FILE__,__LINE__) -#define memcheck(p) DMmemcheck(p,__FILE__,__LINE__) -#define realloc(p,s) DMrealloc(p,s,__FILE__,__LINE__) -.fi -.PP -.B NOTE -that the pre-processor variables __FILE__ and __LINE__ -are passed in addition to the normal allocation routine -arguments to facilitate meaningful error messages. -.PP -The routines DM* are exact replacements for the standard routines -with the same name - minus the prefix, "DM", -when the header file is used. -.SH USE -To debug routines with suspect memory allocation problems, -.B #include -the header file, re-make and re-run the program. -Diagnostic output is written to stderr. -This output may be slightly customized - see section on measurements. -.SH MEASUREMENTS -Global variables -.B DMverbose -and -.B DMtriggeraddr -as well as the global function -.I DMtrigger() -are provided to interface to a run-time debugger. -.PP -The default action is for all allocation and free operations to cause -a short message to be written to stderr. -Modifying -.B DMverbose -changes this action. -If -.B DMverbose -is zero, -only errors will be printed. -.PP -.B DMtriggeraddr -may be set to a desired address and whenever this address is -found as an argument a message will be printed regardless of -the state of -.BR DMverbose . -The null function -.I DMtrigger -is called whenever a trigger is detected so that a debugger user -can set a breakpoint on this routine. -.PP -Typical use is to set -.B DMverbose -to 0, -run the program and obtain an error message containing a pointer, -set -.B DMtriggeraddr -to this address and re-run the program. -.PP -.I DMnotfreed -may be run at any time and prints a list of outstanding memory pointers -on stderr. -.PP -.I DMmemcheck -is used to check the validity of a particular memory block from user -code as well as all the outstanding blocks. -Note the macro definition in the header file. -If -.B ptr -is NULL, only the outstanding blocks are checked. -.SH FILES -.SH "SEE ALSO" -malloc(3) -.SH "BUGS" -The table of outstanding memory blocks can only hold 4K entries due to -the fact that it is static memory (for obvious reasons). -The variable TABSIZE in the source defines this limit. -An error is printed if this situation occurs. -.PP -Passing pointers to these routines obtained from other routines allocating -memory without these routines causes strange errors to occur. -.PP -Programs using these routines will be slowed considerably due to the -extensive error checking. -.SH AUTHOR -Hewlett-Packard diff --git a/src/fosslight_dependency/third_party/nomos/agent/DMalloc.c b/src/fosslight_dependency/third_party/nomos/agent/DMalloc.c deleted file mode 100644 index 8e1999ac..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/DMalloc.c +++ /dev/null @@ -1,353 +0,0 @@ -/*************************************************************** - Copyright (C) 2007-2011 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -/** - * \file - * - Several global variables control actions taken by the memory check - * routines. These are provided also as a convenient interface to - * run-time debuggers. - * - DMverbose (default = 1) \n - * If != 0, each memory allocation/free is printed - * - DMtriggeraddr (default = 0) \n - * If != 0, then any allocation/free operation with \n - * a pointer argument or return == DMtrigger causes \n - * a message to be printed. - * - DMtrigger() \n - * Function is called whenever a trigger occurs for \n - * setting breakpoints in a debugger. - * . - * - Possible combinations: - * - DMverbose = 0; DMtriggeraddr = 0x12345 \n - * Print messages only when 0x12345 is involved - * - DMverbose = 0; DMtriggeraddr = 0 \n - * Print messages only when an error occurs - */ -#include -#include - - -/* GLOBALS */ -int DMverbose = 1; ///< Verbosity level -char *DMtriggeraddr = NULL; - -#define TRIGGER(p) if( (p) == DMtriggeraddr ) DMtrigger(); -#define GUARD 0x73 -#define MC68000 - -#define TABSIZE (16*1024) -static char *__memtab[TABSIZE]; - -#define HDRSIZE (2 * sizeof (unsigned long)) - -#undef BRAINDEADABORT -#ifdef BRAINDEADABORT -static void abort(void *s) -{ - exit(6); -} -#endif - -static malloced(char *ptr); -static freed(char *ptr, char *fname, int line); - -/** - * \brief Add guard word encoding size on start of memory area and a guard byte - * just past the end of the area. - * \param prt Pointer to guard - * \param size - * \return pointer to user's area - */ -static char *guardit(char *ptr, int size) -{ - unsigned long *lptr = (unsigned long *) ptr; - - /* add a guard on the beginning */ - lptr[0] = lptr[1] = size; - - /* and a guard byte on the end */ - ptr += HDRSIZE; - *(ptr + size) = GUARD; - - return ptr; -} - -/** - * \brief Check the validity of allocated memory areas and report any - * problems. - * - * Called by DMmemcheck(). - * \param ptr Pointer to check - * \param fname Source file name for logging - * \param line Source line number for logging - */ -static char *memorycheck(char *ptr, char *fname, int line) -{ - unsigned long size, *lptr = (unsigned long *) ptr; - - /* check guard word on start */ - ptr -= HDRSIZE; - lptr = (unsigned long *) ptr; - if (lptr[0] != lptr[1]) { - if (lptr[0] == (lptr[1] ^ 0x00ff)) { - fprintf(stderr, "%s[%d]: memcheck(0x%x) already freed - exit\n", - fname, line, ptr + HDRSIZE); - } else { - fprintf(stderr, - "%s[%d]: memcheck(0x%x) start pointer corrupt - exit\n", - fname, line, ptr + HDRSIZE); - } - abort(); - } - size = lptr[0]; - if (*(ptr + HDRSIZE + size) != GUARD) { - fprintf(stderr, - "%s[%d]: memcheck(0x%x) end overwritten - exit\n", - fname, line, ptr + HDRSIZE); - abort(); - } - return(ptr); -} - -/** - * \copybrief memorycheck() - */ -char *DMmemcheck(char *ptr, char *fname, int line) -{ - int i; - - if (ptr != NULL) { - ptr = memorycheck(ptr, fname, line); - } - - for (i = 0; i < TABSIZE; i++) { - if (__memtab[i] != NULL) { - memorycheck(__memtab[i], fname, line); - } - } - return(ptr); -} - -/** - * \brief Free a pointer allocated by DMmalloc() - * \param ptr Pointer to be freed - * \param fname Source file name - * \param line Source line number - */ -DMfree(char *ptr, char *fname, int line) -{ - unsigned long size; - - if (ptr == NULL) - return; - - if (DMverbose || (ptr == DMtriggeraddr)) { - size = ((unsigned long *)ptr)[-2]; - fprintf(stderr, "%s[%d]: free(0x%x) (%ld bytes)\n", - fname, line, ptr, size); - TRIGGER(ptr); - } - ptr = DMmemcheck(ptr, fname, line); - - /* Negate the last byte of the header guard to signify freed */ - ((unsigned long *)ptr)[1] ^= 0x00ff; - - /* all's well so free it */ - freed(ptr + HDRSIZE, fname, line); - free(ptr); -} - -/** - * \brief Allocate memory safely using malloc() - * \param size Size to be allocated - * \param fname Source file name - * \param line Source line number - * \return Pointer to new memory - * \note Allocated pointer must be freed using DMfree() - */ -char *DMmalloc(int size, char *fname, int line) -{ - char *ptr; - - DMmemcheck(NULL, fname, line); - - if ((ptr = (char *) malloc(size + HDRSIZE + 1)) == NULL) { - fprintf(stderr, "%s[%d]: malloc(%d) OUT OF MEMORY\n", fname, line, - size); - abort(); - } - - ptr = guardit(ptr, size); - - - if (DMverbose || (DMtriggeraddr == ptr)) { - fprintf(stderr, "%s[%d]: malloc(%d) = 0x%x\n", - fname, line, size, ptr); - TRIGGER(ptr); - } - malloced(ptr); - return(ptr); -} - -/** - * \brief Allocate memory safely using calloc() - * \param size Size of single element - * \param nitems Total number of elements - * \param fname Source file name - * \param line Source line number - * \return Pointer to new memory - * \note Allocated pointer must be freed using DMfree() - * \sa DMmalloc() - */ -char *DMcalloc(int size, int nitems, char *fname, int line) -{ - char *ptr; - int totalsize; - int i; - char *tempptr; - - DMmemcheck(NULL, fname, line); - - totalsize = size * nitems; - if ((ptr = (char *) malloc(totalsize + HDRSIZE + 1)) == NULL) { - fprintf(stderr, "%s[%d]: calloc(%d,%d) OUT OF MEMORY\n", - fname, line, size, nitems); - abort(); - } - ptr = guardit(ptr, totalsize); - - /* initialize to zeros */ - tempptr = ptr; - for (i = 0; i < totalsize; i++) { - *tempptr++ = 0; - } - - if (DMverbose || (ptr == DMtriggeraddr)) { - fprintf(stderr, "%s[%d]: calloc(%d,%d) = 0x%x\n", fname, line, - size, nitems, ptr); - TRIGGER(ptr); - } - malloced(ptr); - return(ptr); -} - - - -/** - * \brief record 'ptr's value in a list of malloc-ed memory - */ -static malloced(char *ptr) - { - int i; - - for (i = 0; i < TABSIZE; i++) { - if (__memtab[i] == NULL) { - __memtab[i] = ptr; - break; - } - } - - if (i >= TABSIZE) { - /* table overflow */ - fprintf(stderr, "Memory table record overflow\n"); - } - } - - -/** - * \brief remove 'ptr's value from a list of malloc-ed memory - print - * error and die if it's not in the list at all. - */ -static freed(char *ptr, char *fname, int line) -{ - int i; - - for (i = 0; i < TABSIZE; i++) { - if (__memtab[i] == ptr) { - __memtab[i] = NULL; - break; - } - } - - if (i >= TABSIZE) { - /* not found */ - fprintf(stderr, "%s[%d]: freed(0x%x) NOT MALLOCED\n", fname, line, - ptr); - abort(); - } -} - -/** - * \brief Reallocate memory safely using realloc() - * \param ptr The pointer to be reallocated - * \param size New size - * \param fname Source file name - * \param line Source line number - * \return Pointer to new memory - * \sa DMmemcheck() - * \sa guardit() - */ -char *DMrealloc(char *ptr, int size, char *fname, int line) -{ - char *saveptr; - - saveptr = ptr; - ptr = DMmemcheck(ptr, fname, line); - - if ((ptr = (char *) realloc(ptr, size + HDRSIZE + 1)) == NULL) { - fprintf(stderr, "%s[%d]: realloc(0x%x,%d) OUT OF MEMORY\n", - fname, line, - saveptr, - size); - abort(); - } - ptr = guardit(ptr, size); - if (DMverbose || (DMtriggeraddr == ptr) || (DMtriggeraddr == saveptr)) { - fprintf(stderr, "%s[%d]: realloc(0x%x,%d) = 0x%x\n", - fname, line, saveptr, size, ptr); - TRIGGER(saveptr); - TRIGGER(ptr); - } - freed(saveptr, fname, line); - malloced(ptr); - return(ptr); -} - - -/** - * \brief Print a list of memory pointers not freed - one per line - */ -DMnotfreed() -{ - int i; - - for (i = 0; i < TABSIZE; i++) { - if (__memtab[i] != NULL) { - printf("0x%x\n", __memtab[i]); - } - } -} - -/** - * \brief Dummy routine with the sole purpose of being available for setting - * breakpoints from a debugger. - */ -DMtrigger() -{ - int i = 0; - i++; -} - diff --git a/src/fosslight_dependency/third_party/nomos/agent/DMalloc.h b/src/fosslight_dependency/third_party/nomos/agent/DMalloc.h deleted file mode 100644 index 2f1df3cc..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/DMalloc.h +++ /dev/null @@ -1,57 +0,0 @@ -/*************************************************************** - Copyright (C) 2007-2011 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -#ifndef _DMALLOC_H_ -#define _DMALLOC_H_ - - -#define free(p) DMfree(p,__FILE__,__LINE__) -#define malloc(s) DMmalloc(s,__FILE__,__LINE__) -#define calloc(s,i) DMcalloc(s,i,__FILE__,__LINE__) -#define memcheck(p) DMmemcheck(p,__FILE__,__LINE__) -#define realloc(p,s) DMrealloc(p,s,__FILE__,__LINE__) - -extern int DMverbose; -extern char *DMtriggeraddr; - -#ifdef __cplusplus -extern "C" { - extern int - DMnotfreed(), - DMtrigger(), - DMfree(char *ptr, char *fname, int line); - extern char - *DMmemcheck(char *ptr, char *fname, int line), - *DMmalloc(int size, char *fname, int line), - *DMcalloc(int size, int nitems, char *fname, int line), - *DMrealloc(char *ptr, int size, char *fname, int line); -} -#else /* C */ - -extern int -DMnotfreed(), -DMtrigger(), -DMfree(); -extern char -*DMmemcheck(), -*DMmalloc(), -*DMcalloc(), -*DMrealloc(); - -#endif /* C */ - -#endif /* _DMALLOC_H_ */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/GENSEARCHDATA b/src/fosslight_dependency/third_party/nomos/agent/GENSEARCHDATA deleted file mode 100755 index 2fa9c9f2..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/GENSEARCHDATA +++ /dev/null @@ -1,292 +0,0 @@ -#!/bin/sh -####### -# -# GENSEARCHDATA: Script to take STRINGS.in file and create _autodata.c -# and _autodefs.h files for initializing the search strings structure -# used to search for licenses. -# -# Copyright (C) 2006,2009,2013 Hewlett-Packard Development Company, L.P. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# version 2 as published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -########### - -PROG=$(basename $0) -## [ $# -ne 1 ] && echo "Usage: $PROG input-file" && exit 1 -## [ ! -f $1 ] && echo "$PROG: $1 is not a file" && exit 1 -# -# CDB? TMPDIR=/tmp/,cryptParse$$ -INFILE=STRINGS.in -NEW_C=_autodata.c -NEW_H=_autodefs.h -STR_HIST=strings.HISTOGRAM - -# CDB? trap "rm -rf $TMPDIR" 0 -trap 'echo INTERRUPT!; exit 1' 1 2 3 15 -[ ! -f $INFILE ] && echo "$PROG: $INFILE: No such file or directory" && exit 2 - -#make encode > /dev/null || exit 2 -grep -Hn \"\" $INFILE && exit 2 - -##### -# Start construction of the new header file -##### -cat > $NEW_H <<@EOF@ -/* - * $(cat ./GenCodeCopyright) - ***** - * License footprints, auto-generated $(date) - ***** - * Prefixes on these strings are supposed to indicate the following: - * "_LT" == License Text footprints - * "_KW" == License Keywords - * "_CR" == License Copyrights - * "_MISC" == Miscelleany in licenses - */ -#ifndef _AUTODEFS_H -#define _AUTODEFS_H -@EOF@ - -##### -# Start construction of the new source file -##### -cat > $NEW_C <<@EOF@ -/* - * $(cat ./GenCodeCopyright) - */ -#include "nomos.h" -#include "$NEW_H" - -/* - * This source file was auto-generated $(date); - ***** - * Changes to this file will NOT be kept; the file will be over-written - * the next time the license-specifications (./$INFILE) change! - */ - -/* BEGIN ENCODED LICENSE-FOOTPRINTS SECTION */ -licSpec_t licSpec[NFOOTPRINTS] = { -@EOF@ -cat > _STRFILTER <<- @EOF@ -sed -e 's/ =FEW= /.{0,30}/g' -e 's/ =SOME= /.{0,60}/g' -e 's/ =ANY= /.*/g' \ - -e 's/=YEAR=/(19|20)[0-9][0-9][ ,-]+/g' -@EOF@ -chmod 755 _STRFILTER -## awk --lint ' -awk -v SRC=$NEW_C -v HDR=$NEW_H ' -##### -# All strings to be encoded MUST be include double-quotes; this way, -# we can check for syntax-errors and bail out when an error is found. -##### -function syntaxCheck(s) { - if (match(s, "\".*\"") == 0 && match(s, "=NULL=$") == 0) { - printf("ERROR (line %d): string not in quotes\n", nextLine); - exit 1; - } -# if (stateDebug) { -# printf("RSTART = %d, RLENGTH = %d\n", RSTART, RLENGTH); -# } -} -##### -# Initialize. -##### -BEGIN { - lineNo = defineNo = inEntry = gotKey = gotStr = stateDebug = 0; -## stateDebug++; - defined = ""; -} -##### -# Ignore comments (lines starting with the # character) -##### -/^#/ { - lineNo++; - nextLine = lineNo+1; - next; -} -##### -# %DEF% - insert a generic #define foo bar line -##### -/^[ ]*%DEF%/ { - if (NF != 3) { - printf("ERROR (line %d), need 2 strings for %DEF%\n", nextLine); - exit 1; - } - printf("#define %s %s\n", $2, $3) >> HDR; - close(HDR); -} -##### -# %ALIAS% - new symbolic name for the last #define created -##### -/^[ ]*%ALIAS%/ { - if (defined == "") { - printf("%ALIAS% error - no previous #define string\n"); - exit 1; - } - else if (NF == 1) { - printf("ERROR (line %d), syntax error\n", nextLine); - exit 1; - } - else if ($2 != "") { - printf("#define %s %s\n", $2, defined) >> HDR; - close(HDR); - } -} -##### -# %ENTRY% - create new #define, increment counter (for NEXT #define) -##### -/^[ ]*%ENTRY%/ { - printf("#define %s %d\n", $2, defineNo) >> HDR; - close(HDR); - defined=$2; - inEntry++; - if (stateDebug) { -# printf("... created ifdef #%d (%s)\n", defineNo, defined); - printf("... created ifdef #%d, ", defineNo); - } -} -##### -# %KEY% - specify first of two strings for auto-generated search strings. -# ... this is the lookup string used to find paragraphs of text. -# ... this value must be declared/found PRIOR to the %STR% entry -##### -/^[ ]*%KEY%/ { - syntaxCheck($0); - keyString = sprintf("%s", substr($0, RSTART, RLENGTH)); - gotKey++; -} -##### -# %STR% - specify second of two strings for auto-generated search strings -# ... this is the actual text searched for in paragraphs -# ... this value must be declared/found AFTER to the %KEY% entry -##### -/^[ ]*%STR%/ { - syntaxCheck($0); - encodedString = sprintf("%s", substr($0, RSTART, RLENGTH)); - gotStr++; -} -##### -# Hmmm, malformed keywords cause troubles, so look for them. -#### -/(^[ ]*%ENTRY[ ]|^[ ]*ENTRY%[ ])/ { - lineNo++; - printf("Malformed %ENTRY% keyword/entry, line %d\n", lineNo); - exit(1); -} -/(^[ ]*%KEY[ ]|^[ ]*KEY%[ ])/ { - lineNo++; - printf("Malformed %KEY% keyword/entry, line %d\n", lineNo); - exit(1); -} -/(^[ ]*%STR[ ]|^[ ]*STR%[ ])/ { - lineNo++; - printf("Malformed %STR% keyword/entry, line %d\n", lineNo); - exit(1); -} -/(^[ ]*%DEF[ ]|^[ ]*DEF%[ ])/ { - lineNo++; - printf("Malformed %DEF% keyword/entry, line %d\n", lineNo); - exit(1); -} -/(^[ ]*%ALIAS[ ]|^[ ]*ALIAS%[ ])/ { - lineNo++; - printf("Malformed %ALIAS% keyword/entry, line %d\n", lineNo); - exit(1); -} -{ - lineNo++; - if (stateDebug && inEntry) { - printf("... in-ENTRY [%s]", defined); - if (gotKey) { - printf(", with Key %s", keyString); - } - if (gotStr) { - printf(" AND String!"); - } - printf("\n"); - } -##### -# %KEY% value MUST be declared before %STR% value -##### - if (inEntry && gotStr && !gotKey) { - printf("Error (line %d): %STR% with no %KEY% value\n", \ - lineNo); - exit 1; - } -##### -# If we have everything, add the encoded strings to the source file. -# Note we already added what we need to the header file (above). -##### - if (inEntry && gotKey && gotStr) { -# process search-key (seed) - KSlen = length(keyString); - cmd = sprintf("echo %s | ./_STRFILTER > _KTARGET", keyString); - system(cmd); - cmd = sprintf("./encode _KTARGET > _KEY"); - system(cmd); - getline < "_KEY" - K=$0 - close("_KEY"); -# process search-string (the paragraph) - CSlen = length(encodedString); - cmd = sprintf("echo %s | ./_STRFILTER > _STARGET", encodedString); - system(cmd); - cmd = sprintf("./encode _STARGET > _STR"); - system(cmd); - getline < "_STR" - S=$0 - close("_STR"); -# add the entry to the source file - printf("\n#if\t0\n Seed[%s=#%03d]: (%d) %s\n", defined, \ - defineNo, KSlen-2, keyString) >> SRC; - printf("Phrase[%s=#%03d]: (%d) %s\n#endif\n", defined, \ - defineNo, CSlen-2, encodedString) >> SRC; - printf("{/*Seed*/%s,\n /*Text*/%s},\n", K, S) >> SRC; -# reset everything in preparation for the next line - close(SRC); - inEntry = gotKey = gotStr = 0; - defineNo++; -# if (stateDebug) { -# printf("Next entry == #%d\n", defineNo); -# } - } - nextLine = lineNo+1; # for syntax errors reported above -} -##### -# All done, clean up whether we were successful or not. -##### -END { - cmd = sprintf("rm -f _KEY _STR _KTARGET _STARGET"); - system(cmd); -}' < $INFILE || exit 1 -##### -# Above, we exit non-zero if awk bailed, and thus we intentionally leave -# the auto-generated source file with a syntax error so we don't build. -# The build _should_ fail until the error is repaired. -##### -grep "%KEY%" $INFILE | grep -v '^#' | sed -e 's/%KEY% / /g' | sort | - uniq -c | sort -nr > $STR_HIST -# [ -f ${NEW_H}_TAIL ] && cat ${NEW_H}_TAIL >> $NEW_H # no remove! -##### -# Complete the source-file so the build won't fail :) -##### -cat >> ${NEW_C} <<@EOF@ - -}; -/* END ENCODED LICENSE-FOOTPRINTS SECTION */ -licText_t licText[NFOOTPRINTS]; -@EOF@ -cat >> $NEW_H <<@EOF@ -#endif /* _AUTODEFS_H */ -@EOF@ -exit 0 diff --git a/src/fosslight_dependency/third_party/nomos/agent/GenCodeCopyright b/src/fosslight_dependency/third_party/nomos/agent/GenCodeCopyright deleted file mode 100644 index 7ec37dff..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/GenCodeCopyright +++ /dev/null @@ -1,17 +0,0 @@ -*************************************************************** - Copyright (C) 2006-2009 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - *************************************************************** diff --git a/src/fosslight_dependency/third_party/nomos/agent/Makefile b/src/fosslight_dependency/third_party/nomos/agent/Makefile deleted file mode 100644 index 0fe0cf5e..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/Makefile +++ /dev/null @@ -1,87 +0,0 @@ -# FOSSology Makefile - agent/nomossa -# This is to make a version of nomos that does not require any of the fossology build dependencies. -# Copyright (C) 2013 Hewlett-Packard Development Company, L.P. - -VARS = Makefile.conf -include $(VARS) - -EXE = nomossa - -SPEC = STRINGS.in -CHECK = CHECKSTR -PRE = PRECHECK -PDATA =_split_words -LICFIX = GENSEARCHDATA - -OBJS = standalone.o licenses.o list.o parse.o process.o nomos_regex.o util.o nomos_gap.o nomos_utils.o doctorBuffer_utils.o json_writer.o # sources.o DMalloc.o -GENOBJS = _precheck.o _autodata.o -HDRS = nomos.h $(OBJS:.o=.h) _autodefs.h - -#CFLAGS_LOCAL = -DSTANDALONE -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -CFLAGS_LOCAL = -DSTANDALONE -Wall -D_FILE_OFFSET_BITS=64 $(shell pkg-config glib-2.0 --cflags) $(shell pkg-config --cflags json-c) - -FO_LDFLAGS += $(shell pkg-config glib-2.0 --libs) $(shell pkg-config --libs json-c) -lpthread -lrt - -all: encode $(EXE) - -debug: nomos-gl - -$(EXE): nomos.o $(OBJS) $(GENOBJS) - $(CC) nomos.o $(OBJS) $(GENOBJS) $(CFLAGS_LOCAL) $(FO_LDFLAGS) -o $(EXE) - -nomos.o: nomos.c $(HDRS) $(DB) $(REPO) $(AGENTLIB) $(VARS) - $(CC) -c $< $(CFLAGS_LOCAL) $(DEFS) - -nomos-gl: nomos-g.o $(OBJS) $(GENOBJS) - $(CC) nomos.o $(OBJS) $(GENOBJS) $(CFLAGS_LOCAL) -o $@ - -nomos-g.o: nomos.c $(HDRS) $(DB) $(REPO) $(AGENTLIB) $(VARS) - $(CC) -c -l /usr/lib/libefence.a $< $(CFLAGS_LOCAL) - -$(OBJS) $(GENOBJS): %.o: %.c $(HDRS) $(DB) $(VARS) - $(CC) -c $< $(CFLAGS_LOCAL) - -# -# Non "standard" preprocessing stuff starts here... -# - -encode: encode.o - $(CC) $(CFLAGS) -o $@ $@.c - -_precheck.c: _autodata.c $(PRE) $(CHECK) -# @echo "NOTE: _autodata.c has changed --> regenerate _precheck.c" - ./$(PRE) - ./$(CHECK) -# @$(MAKE) $(STRINGS) $(KEYS) - -_autodefs.h _autodata.c: $(SPEC) $(LICFIX) - @echo "NOTE: GENSEARCHDATA takes 1-2 minutes to run" - ./$(LICFIX) - -# -# Non "standard" preprocessing stuff ends here... -# - -install: all - @echo "make nomos standalone agent install" - $(INSTALL_PROGRAM) $(EXE) $(DESTDIR)$(MODDIR)/nomos/agent/$(EXE) - -uninstall: - @echo "make nomos standalone agent uninstall" - rm -rf $(DESTDIR)$(MODDIR)/$(EXE)/agent - -test: all - @echo "*** No tests available for agent/$(EXE) ***" - -coverage: - @echo "NOTICE: no coverage available for nomos" - -clean: - rm -f encode nomos nomossa *.o core \ - _autodata.c _autodefs.c _autodefs.h _precheck.c \ - _strings.data _STRFILTER strings.HISTOGRAM words.HISTOGRAM \ - split.OTHER checkstr.OK - -.PHONY: all install uninstall clean test - -include $(DEPS) diff --git a/src/fosslight_dependency/third_party/nomos/agent/Makefile.conf b/src/fosslight_dependency/third_party/nomos/agent/Makefile.conf deleted file mode 100644 index 40b54d00..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/Makefile.conf +++ /dev/null @@ -1,193 +0,0 @@ -# FOSSology Makefile configuration -# Copyright (C) 2009-2014 Hewlett-Packard Development Company, L.P. -# Copyright (C) 2015, 2018 Siemens AG -# -# This file contains the default values for variables used in the -# Makefiles and other locations in the source tree. -# If you want different values, you can override them on -# the make command line. For example -# 'make VERSION=0.8.0.beta3 all' -# changing them here is probably a bad idea, try to use the above - -##################################################################### -# Project info -##################################################################### -# the name of our project -PROJECT = fossology - -# user for the project in system -PROJECTUSER = fossy - -# group for the project in system -PROJECTGROUP = fossy - -##################################################################### -# Install paths -##################################################################### -# pseudoroot for packaging purposes -DESTDIR = - -# base of the program data tree -PREFIX = /usr/local - -# executable programs that users run -BINDIR = $(PREFIX)/bin - -# executable programs that sysadmins run -SBINDIR = $(PREFIX)/sbin - -# config files -SYSCONFDIR = $(PREFIX)/etc/$(PROJECT) - -# init script root dir -INITDIR = /etc - -# object code libraries -LIBDIR = $(PREFIX)/lib - -# header files -INCLUDEDIR = $(PREFIX)/include - -# executables/libraries that only our project uses -LIBEXECDIR = $(PREFIX)/lib/$(PROJECT) - -# non-arch-specific data -DATAROOTDIR = $(PREFIX)/share - -# non-arch-dependent program data -MODDIR = $(DATAROOTDIR)/$(PROJECT) - -# hardcoded repository location -REPODIR = /srv/$(PROJECT)/repository - -# local state -LOCALSTATEDIR = /var/local - -# project local state -PROJECTSTATEDIR = $(LOCALSTATEDIR)/lib/$(PROJECT) - -# cache dir -CACHEDIR = $(LOCALSTATEDIR)/cache/$(PROJECT) - -# project logdir -LOGDIR = /var/log/$(PROJECT) - -# man pages -MANDIR = $(DATAROOTDIR)/man - -# Man pages in *roff format, man 1 -MAN1DIR = $(MANDIR)/man1 - -# project documentation -DOCDIR = $(DATAROOTDIR)/doc/$(PROJECT) - -# webroot -WEBDIR = $(MODDIR)/www - -# php root -PHPDIR = $(MODDIR)/php - -##################################################################### -# Build variables -##################################################################### -SHELL = /bin/sh -INSTALL = /usr/bin/install -D -INSTALL_PROGRAM = $(INSTALL) -INSTALL_DATA = ${INSTALL} -m 644 -APACHE_CTL = /usr/sbin/apachectl -APACHE2_EN_SITE = /usr/sbin/a2ensite -APACHE2_SITE_DIR = /etc/apache2/sites-available -HTTPD_SITE_DIR = /etc/httpd/conf.d -MV = mv -f -ifeq ($(origin CC), default) -CC = gcc -endif -ifeq ($(origin CXX), default) -CXX = g++ -endif - -# these are the default cflags, recommended but not fully _required_ -# if a user sets CFLAGS they get what they set it to and lose any they -# didn't include, which is the expected behavior -CFLAGS ?= -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -CXXFLAGS ?= $(CFLAGS) -CXXFLAGS += -std=c++0x - -# agent library -# $TOP is set in each Makefile in order to make these work -FOSRCDIR = $(TOP)/src -FOLIBDIR = $(FOSRCDIR)/lib/c -FOLIBPHPDIR = $(FOSRCDIR)/lib/php -FOCLIDIR = $(FOSRCDIR)/cli -CXXFOLIBDIR = $(FOSRCDIR)/lib/cpp - -FOLIB = $(FOLIBDIR)/libfossology.a -CXXFOLIB = $(CXXFOLIBDIR)/libfossologyCPP.a - -GLIB_CFLAGS := $(shell pkg-config --cflags glib-2.0) -GLIB_LDFLAGS := $(shell pkg-config --libs glib-2.0) - -PG_INCLUDEDIR := $(shell pg_config --includedir) - -FO_CFLAGS = -I$(PG_INCLUDEDIR) $(GLIB_CFLAGS) -I$(FOLIBDIR) $(CFLAGS) -FO_LDFLAGS = $(GLIB_LDFLAGS) $(LDFLAGS) - -FO_CXXFLAGS = -I$(CXXFOLIBDIR) $(FO_CFLAGS) $(CXXFLAGS) -FO_CXXLDFLAGS = -lfossologyCPP -L$(CXXFOLIBDIR) -lstdc++ $(FO_LDFLAGS) \ - $(shell pkg-config --libs icu-uc) - -# define VERSION and COMMIT_ID -VERSION_PATTERN = '\([[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+\)\(-?rc[[:digit:]]+\)?-\([[:digit:]]+\)-[[:alnum:]]*' -VERSION = $(shell git describe --tags > /dev/null 2>&1 && git describe --tags | head -1 | sed -re 's/$(VERSION_PATTERN)/\1.\3\2/' || echo "unknown") -BRANCH=$(shell git rev-parse --abbrev-ref HEAD > /dev/null 2>&1 && git rev-parse --abbrev-ref HEAD | head -1 || echo "unknown") -COMMIT_HASH=$(shell git show > /dev/null 2>&1 && git show | head -1 | awk '{print substr($$2,1,6)}' || echo "unknown") - -# Force the VERSION variable to be < 23 chars -override VERSION:= $(shell echo ${VERSION} | cut -b1-23) - -export PATH := $(TOP)/src/vendor/bin:$(PATH) - -# directory containing the php iPATHFILE include file -FOWWWDIR = $(FOSRCDIR)/www/ui - -# for use when coverage C code -FLAG_COV = -O0 -fprofile-arcs -ftest-coverage - -# to run phpunit tests -PHPUNIT = $(FOSRCDIR)/vendor/bin/phpunit -PHPUNIT_CONF = $(FOSRCDIR)/phpunit.xml -PHPUNIT_BOOT = $(FOSRCDIR)/phpunit-bootstrap.php - -# to run cunit tets -CUNIT_VERSION = $(shell $(TOP)/utils/cunit-version) - -WriteVERSIONFile = echo "writing VERSION file for $(1)"; \ - {\ - echo "[$(1)]";\ - echo "VERSION=\"$(VERSION)\"";\ - echo "BRANCH=\"$(BRANCH)\"";\ - echo "COMMIT_HASH=$(COMMIT_HASH)";\ - echo BUILD_DATE=`date +"%Y/%m/%d %R %Z"`;\ - git show -s --format="%ct.%h" 2>/dev/null | {\ - IFS='.' read ctimestamp chash && {\ - echo "COMMIT_DATE=$$(date -d"@$$ctimestamp" +"%Y/%m/%d %R %Z" )";\ - } || {\ - echo "COMMIT_DATE=unknown";\ - }\ - }\ - } > VERSION - -# define VERSION and COMMIT_ID -DEFS = -DVERSION_S=\"$(VERSION)\" -DCOMMIT_HASH_S=\"$(COMMIT_HASH)\" - -# build html coverage report -#LCOV_OPT = --rc lcov_branch_coverage=1 -LCOV_OPT = -coverage-report-html = lcov --directory "$(1)" $(LCOV_OPT) --capture --output-file cov_raw.txt && \ - lcov --remove cov_raw.txt $(LCOV_OPT) '/usr/include/*' '*/agent_tests/*' '*/tests/*' -o cov.txt && \ - rm cov_raw.txt && \ - genhtml -o results $(LCOV_OPT) cov.txt && \ - rm cov.txt - -# TWIG_CACHE = false -TWIG_CACHE = $(CACHEDIR) diff --git a/src/fosslight_dependency/third_party/nomos/agent/Notes b/src/fosslight_dependency/third_party/nomos/agent/Notes deleted file mode 100644 index b5c2a760..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/Notes +++ /dev/null @@ -1,108 +0,0 @@ - -To Whom it May Concern: - - -What This Is and How to Work It -------------------------------- - -This directory in the FOSSology source tree -(agents/nomos) contains work for a new license analysis agent. This -code originated from a standalone license-scanning tool called Nomos. - -At this point in time, the code is not integrated with the rest of FOSSology. -It uses it's own non-standard Makefile to build a single standalone -executable. - -To try it out... - - % make - % ./nomos - -The file to be scanned should be a regular file (binary or text). In -particular, it should not be an archive. No unpacking is done; the file -is scanned as is. - -There are currently no command-line options. - - -Note About the Source Code and Impending Changes ------------------------------------------------- - -Because this code came from another tool similar to FOSSology, but with -different structure and conventions, the process of converting it into -a full-fledged FOSSology agent is ongoing. - -With that in mind, comments with "CDB" in them are bread crumbs I've -left in places where I was unsure about a change I made or to note a potential -refinement (CDB == my initials). - - - -To Do's -------- - -- Change all trace calls at beginning of functions to use traceFunc() - (defined in util.c) - -- Either add a command-line option to set gl.ptswitch or remove all the - PROC_TRACE_SWITCH #ifdefs - -- Go back and edit CFLAGS options in Makefile to document and accurately - represent what is still operable. - -- Document all Makefile targets - -- Remove all HP_INTERNAL and CUSTOMER_VERSION references. - -- Check and remove all unused field of the gl global variable structure. - -- Migrate to standard FOSSology makefile structure and system. - - - -Changes -------- - -[This is not at all complete. There have been a lot of changes.] - -- Changed ls_t to licSpec_t. -- Changed lic_t to licText_t. - - -Questions ---------- - -- Where the hell is checkstrings script? Do we want it? -- COMMIT_HASH #ifdef stolen from other agent code. Where does this get - #defined? -- Why does nomos set the LANG environment variable? -- Implications of removing custom magic file? -- May want to re-add function validateTools someplace? -- Do we want to keep the Log functionality, but just have the logfile - be in another place? (Right now, the log stuff has been removed.) -- Do we really need the PROC_TRACE_SWITCH compile #define? - - -#defines Used -------------- - -[Also incomplete.] - -BRIEF_LIST -SHOW_LOCATION Extra code to pinpoint license location. Should - always be true. -PROC_TRACE -PROC_TRACE_SWITCH Gives command option for tracing on/off -DEBUG -GLOBAL_DEBUG Debug access to global variable structure -MEMORY_TRACING Use Debug Malloc wrapper -STOPWATCH Performance Measurement -TIMING Performance Measurement (code has to be added to -places where you want to measure). - - -Changes made from my nomos_experimental version ------------------------------------------------ - -Remove all code #ifdef'd by USE_MMAP - diff --git a/src/fosslight_dependency/third_party/nomos/agent/PRECHECK b/src/fosslight_dependency/third_party/nomos/agent/PRECHECK deleted file mode 100755 index 03f37919..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/PRECHECK +++ /dev/null @@ -1,222 +0,0 @@ -#!/bin/sh -#*************************************************************** -# Copyright (C) 2006-2009 Hewlett-Packard Development Company, L.P. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# version 2 as published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#*************************************************************** -IN=STRINGS.in -DATA=_strings.data -LIST=_split_words -OUT=/tmp/out$$ -MASTER=/tmp/mast$$ -TEMP=/tmp/temp$$ -C=_precheck.c -DIR=split.dir -PASS=checkstr.OK -SHOW="" -WORDLIST="" -#trap "rm -f $OUT $TEMP; rm -rf save$DIR; mv $DIR save$DIR" 0 # for debugging -trap "rm -f $OUT $MASTER $TEMP; rm -rf $DIR" 0 -# -[ -f $LIST ] && WORDLIST="$(grep -v "^#" $LIST)" -case "X$1" in - X-*) PROC=less - SHOW="y" - shift 1 ;; - *) PROC=cat ;; -esac -[ -z "$WORDLIST" ] && WORDLIST="$*" -TRIES=$# -rm -f $PASS -#set -x -awk -v PASS="$PASS" 'BEGIN { f=0; c=1 } - /^%ENTRY% _LT/ { f=1; NAME=$NF } -# Keys can have space in between, so select every field after first field. - /^%KEY%/ { KEY=substr($0, index($0,$2)) } - /^%NOCHECK%/ { c=1 } - /^%STR%/ { - if (f) { - printf("[%s] %s: ", KEY, NAME); - if ($0 !~ "\\(") { - printf("%s", $0); - } - else { - N=length($0); x=0; - for (i=1; i<=N; i++) { - X=substr($0, i, 1); - if (X == "(") { - x++; - } - else if (X == ")") { - X = "_"; - x--; - } - Y[i] = !x ? X : "_"; - } - for (i=1; i<=N; i++) { - printf("%c", Y[i]); - } - } - printf("\n"); - f=0; - if (c) { - cmd = sprintf("echo %s >> %s", NAME, PASS); - system(cmd); - } - c=0; - } - } -' $IN | sed -e 's/%STR%//g' | - tee $TEMP > $DATA -# cp $TEMP file_1 # for debugging... -awk ' -BEGIN { - f=0; -} -/^%ENTRY% _LT/ { - f=1; - NAME=$NF; -} -/^%STR%/ { - BUF=substr($0, index($0,$2)); - if (f) { - printf("%s: ", NAME); - if (BUF ~ "[(]") { - max = length(BUF); - for (i = 1; i <= max; i++) { - ch = substr(BUF, i, 1); - if (ch == "(") { - nest++; - printf("_"); - } - else if (ch == ")") { - nest--; - printf("_"); - } - else if (nest) { - printf("_"); - } - else { - printf("%c", ch); - } - } - printf("\n"); - } - else { - printf("%s\n", BUF); - } - f=0; - } -}' $IN | sed -e 's/ =SOME= /________/g' -e 's/ =ANY= /_______/g' \ - -e 's/ =FEW= /_______/g' | sed -e 's/___*/__/g' > $OUT -# cp $OUT file_2 # for debugging -( - mkdir $DIR || exit 1 - cat > $C <<@EOF@ -#include "nomos.h" -#include "_autodefs.h" -/* - * $(cat ./GenCodeCopyright) - ***** - * This source file was auto-generated $(date) - ***** - * Changes to this file will NOT be kept; the file will be over-written - * the next time the license-specifications (./STRINGS.in) change! - ***** - * Words used for pre-check exclusions: - */ -#if 0 -$(grep -v "^#" $LIST) -#endif -#define M(x) ltsr[x] = LTSR_SMASK; -extern int strGrep(); -#ifdef PROC_TRACE_SWITCH -extern struct globals gl; -#endif /* PROC_TRACE_SWITCH */ -#ifdef LTSR_DEBUG -extern void showLTCache(); -#endif /* LTSR_DEBUG */ -/* */ -void preloadResults(char *filetext, char *ltsr) -{ -#if 0 - int ret; /* for possible debugging */ -#endif -/* */ -#ifdef PROC_TRACE -#ifdef PROC_TRACE_SWITCH - if (gl.ptswitch) -#endif /* PROC_TRACE_SWITCH */ - printf("== preloadResults(%p, %p,)\n", filetext, ltsr); -#endif /* PROC_TRACE */ -/* */ -@EOF@ - rm -f split_[0-9]* - printf '*** START: %s license-text strings ***\n' $(wc -l < $OUT) - I=1 - cp $OUT $MASTER - for WORD in $WORDLIST ; do -# make sure the word regex-matches the string and NOT the tag - grep -i ".*: .*$WORD" $MASTER > $TEMP - WC=$(wc -l < $TEMP) - [ $WC -eq 1 ] && P="" || P="s" - printf "... \"$WORD\" in %d string$P\n" $WC - [ $WC -eq 0 ] && continue - FNAME=$(printf "$DIR/split_%02d.%s" $I "$WORD") - for i in $(seq 1 $WC) ; do - LINE=$(head -n $i $TEMP | tail -1) - TAG=$(expr "$LINE" : '\(.*\): ') -## echo "$LINE" | sed -e 's/.*: //' | grep -iq "$WORD" -## if [ $? -ne 0 ]; then -## echo "\"$WORD\" is NOT in this line:" -## echo "$LINE" -## sed -e "s/$TAG" -## grep -v $TAG $FNAME > X -## mv -f X $FNAME -## continue -## fi - printf "\t\tM(%s);\n" $TAG >> $FNAME - grep -Fv "$LINE" $OUT > X - mv -f X $OUT - done - I=$((I+1)) - cat >> $C <<@EOF@ - if (!strGrep("$WORD", filetext, REG_ICASE)) { /* match count $WC */ -#ifdef LTSR_DEBUG - printf("DEBUG: eliminate searches for \"$WORD\"\n"); -#endif /* LTSR_DEBUG */ -$(fmt $FNAME) - } -#ifdef LTSR_DEBUG - showLTCache("Cache after cuts for \"$WORD\":"); -#endif /* LTSR_DEBUG */ -@EOF@ - done - printf "\treturn;\n}\n" >> $C - REM=$(wc -l < $OUT) - printf '*** DONE: %s strings have no pre-check exclusions ***\n' $REM - FNAME=split.OTHER - echo "$REM remaining license strings:" > $FNAME - sed -e 's/:.*//g' $OUT >> $FNAME -# The file _autodata.c is always generated before we're called. - for WORD in $(tail -n $REM $FNAME) ; do - echo "==== ====" >> $FNAME - grep "${WORD}=" _autodata.c | grep Phrase >> $FNAME - grep "$WORD" $OUT | sed -e "s/$WORD/-->/" >> $FNAME - done - [ -n "$SHOW" ] && cat $OUT -) | $PROC -sed -e "s/^\[.*\] //g" -e "s/^.*: //g" -e 's,",,g' -e 's/[()]//g' -e 's/|/ /g' < $DATA | tr ' ' \\012 | sort | egrep -v '(___|=FEW=|=SOME=|=ANY=)' | sed -e 's/^[ ]*//g' | uniq -c | sort -nr > words.HISTOGRAM -exit 0 diff --git a/src/fosslight_dependency/third_party/nomos/agent/README b/src/fosslight_dependency/third_party/nomos/agent/README deleted file mode 100644 index a733b4f9..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/README +++ /dev/null @@ -1,4 +0,0 @@ - -"Pssssst. Over here - -Look in the file called Notes...." diff --git a/src/fosslight_dependency/third_party/nomos/agent/STRINGS.in b/src/fosslight_dependency/third_party/nomos/agent/STRINGS.in deleted file mode 100755 index 320ad725..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/STRINGS.in +++ /dev/null @@ -1,13682 +0,0 @@ -##### -# (C) Copyright 2006-2015 Hewlett-Packard Development Company, L.P. -# (C) Copyright 2017-2019 Bittium Wireless Ltd. -##### - -/* License footprints */ - -/* Indices of search strings for licenses */ -/* _LT == License Text footprints */ -/* _KW == License Keywords */ -/* _CR == License Copyrights */ -/* _MISC == Miscellany in licenses */ - -##### -# Never, never, NEVER put a wild-card in a KEY field! The resulting -# performance is unacceptable when the files-to-be-scanned get in the -# size-in-megabytes range. It's now coded in licenses.c to look for -# this case and DIE if it sees it. -##### -# If you MUST have a choice of strings in a key, either find a different -# search-key and search-strategy, or encompass EXPLICIT choices in (..|..) -##### -# ... look at the entry for realnetworks for an example. -##### -# Also, keep in mind that the %KEY% searches occur PRIOR to stripping -# out punctuation, etc. -##### - -##### -# Keyword entries -##### -%ENTRY% _KW_acknowledgement -%KEY% =NULL= -%STR% "acknowledge?ment" -%ALIAS% _KW_first -# -%ENTRY% _KW_agreement -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "agreement" -# -%ENTRY% _KW_as_is -%KEY% =NULL= -%STR% "as[ -]is" -# -%ENTRY% _KW_copyright -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "." -# -%ENTRY% _KW_damages -%KEY% =NULL= -%STR% "damages" -# -%ENTRY% _KW_deriva -%KEY% =NULL= -%STR% "deriva" -# -%ENTRY% _KW_distribut -%KEY% "distribut" -%STR% "." -# -%ENTRY% _KW_free_sw -%KEY% "(\|l?gpl)" -%STR% "free software" -# -%ENTRY% _KW_grant -%KEY% =NULL= -%STR% "grant" -# -%ENTRY% _KW_indemnify -%KEY% "in(demnif|tellect)" -%STR% "indemnif[iy]" -%ALIAS% _HOT_indemnif -# -%ENTRY% _KW_intellect_prop -%KEY% "in(demnif|tellect)" -%STR% "intellectual propert" -##### -# We're interesting in liability, but NOT reliability -##### -%ENTRY% _KW_liability -%KEY% =NULL= -%STR% "[^e]liability" -# -%ENTRY% _KW_license -%KEY% "licen[cs]" -%STR% "." -# -%ENTRY% _KW_misrepresent -%KEY% =NULL= -%STR% "mis-?represent" -# -%ENTRY% _KW_open_source -%KEY% "so(ftware|urce)" -%STR% "open source" -# -%ENTRY% _KW_patent -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "patent" -%ALIAS% _HOT_patent -# -%ENTRY% _KW_permission -%KEY% "permi[st]" -%STR% "permission" -# -%ENTRY% _KW_public_domain -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "public[ -]domain" -%ALIAS% _HOT_pubdom -# -%ENTRY% _KW_require -%KEY% =NULL= -%STR% "require" -# -%ENTRY% _KW_same_terms -%KEY% =NULL= -%STR% "same terms" -# -%ENTRY% _KW_source_binary -%KEY% "so(ftware|urce)" -%STR% "source and/?o?r? binary" -# -%ENTRY% _KW_source_code -%KEY% "so(ftware|urce)" -%STR% "source code" -# -%ENTRY% _KW_subject_to -%KEY% =NULL= -%STR% "subject \" -# -%ENTRY% _KW_terms_conditions -%KEY% "(condit|vers)ion" -%STR% "terms and conditions" -# -%ENTRY% _KW_warrant -%KEY% "(docume|warra)nt" -%STR% "warrant" -# -%ENTRY% _KW_without -%KEY% =NULL= -%STR% "without (fee|restrict|limit)" -%ALIAS% _KW_last -# -%ENTRY% _KW_severability -%KEY% =NULL= -%STR% "severability clause" -##### -# Filenames -##### -%ENTRY% _FN_DEBCPYRT -%KEY% =NULL= -%STR% "debian[^/]*/[^/]*copyright" -# -%ENTRY% _FN_LICENSEPATT -%KEY% =NULL= -%STR% "(licen[cs]e|copy(right|rite|left)|cpy(right|left)|cpyrt|legal|eula|agreement)" -##### -# License Text entries start here... -##### -# -%ENTRY% _LT_0BSD -%KEY% "permi[st]" -%STR% "copyright =SOME= permission to use copy modify and/or distribute this software for any purpose with or without fee is hereby granted the software is provided as is" -# -%ENTRY% _LT_389_exception -%KEY% "licen[cs]" -%STR% "as a special exception red hat =FEW= gives you the (additional )?right to link the code of this program with code not covered under the gnu general public license" -# -%ENTRY% _LT_3GPP -%KEY% "licen[cs]" -%STR% "3gpp organizational partners =SOME= permission to distribute modify and use this file under the standard license terms" -# -%ENTRY% _LT_Imlib2 -%KEY% "distribut" -%STR% "available publicly means including the source for this software with the distribution or a method to get this software via some reasonable mechanism" -# Open Font License -%ENTRY% _LT_OPEN_FONT_V10 -%KEY% "font" -%STR% "open font license(,|[[:space:]])* version 1\.?0" -# -%ENTRY% _LT_OPEN_FONT_V11 -%KEY% "font" -%STR% "open font license(,|[[:space:]])* version 1\.?1" -# -%ENTRY% _LT_OPEN_FONT_V10_1 -%KEY% "licen[cs]" -%STR% "licen[cs]ed under (sil open font license|sil ofl) =FEW= 1\.?0" -# -%ENTRY% _LT_OPEN_FONT_V11_1 -%KEY% "licen[cs]" -%STR% "licen[cs]ed under (sil open font license|sil ofl) =FEW= 1\.?1" -# -%ENTRY% _LT_ABSTYLES_1 -%KEY% "permi[st]" -%STR% "permission is granted to make and distribute verbatim copies of this document provided that the copyright notice and this permission notice are preserved" -# -%ENTRY% _LT_ABSTYLES_2 -%KEY% "permi[st]" -%STR% "permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying" -# -%ENTRY% _LT_ACAA_RIGHTS -%KEY% "so(ftware|urce)" -%STR% "ada conformity assessment authority ACAA (obtained|holds) unlimited rights in the software and documentation contained herein" -##### -# DELETED: subject to all the terms and conditions of this licen[cs]e ... -# in any medium physical or electronic commercially or non-commercially -##### -%ENTRY% _LT_ACDL -%KEY% "distribut" -%STR% "you may use copy modify publicly display distribute and/?o?r? publish the document and your derivative works thereof" -%ALIAS% _LT_first -# -%ENTRY% _LT_ADAPTEC_GPL -%KEY% "licen[cs]" -%STR% "in whole or in part in conjunction with r?e?-?distribution of software governed by the general public licen[cs]e" -# -%ENTRY% _LT_ANT_BSD_RESTRICTION -%KEY% "distribut" -%STR% "following actions are prohibited =FEW= redistribution of source code containing the ANT\+ network key" -# -%ENTRY% _LT_ANTLR -%KEY% "so(ftware|urce)" -%STR% "ANTLR =SOME= software" -##### -# DELETED (below): ... only combine it with your software and distribute -# it directly to customers or through your distribution network -##### -%ENTRY% _LT_ADAPTEC_OBJ -%KEY% "licen[cs]" -%STR% "Adaptec grants to you a non-exclusive non-transferable worldwide licen[cs]e to copy the Software in object code form only" -##### -# DELETED (below): ... or another version of an adaptive public licen[cs]e -# should not be relied upon to determine your rights and obligations under -# this licen[cs]e -##### -%ENTRY% _LT_ADAPTIVE -%KEY% "licen[cs]" -%STR% "this licen[cs]e is adaptive and the generic version" -##### -# DELETED (below): comply with the terms of this end[ -]user licen[cs]e -# agreement =SOME= ... to use the software for the purposes described -##### -%ENTRY% _LT_ADOBE_1 -%KEY% "licen[cs]" -%STR% "adobe grants to you a non-?exclusive licen[cs]e" -# -%ENTRY% _LT_ADOBE_2 -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and/?o?r? (sell|sublicen[cs]e) this software and its documentation for any purpose =SOME= is hereby granted provided that the above copyright notices? =SOME= appear in all copies" -##### -# DELETED: the terms and conditions of the applicable licen[cs]e agreements -# below apply to you -##### -%ENTRY% _LT_ADOBE_3 -%KEY% "distribut" -%STR% "unless you have another agreement directly with adobe that controls and alters your use or distribution of the adobe products" -# -%ENTRY% _LT_ADOBE_4 -%KEY% "licen[cs]" -%STR% "this licen[cs]e agreement governs installation and/?o?r? use of the adobe software described herein by licen[cs]ees of such software" -# -%ENTRY% _LT_ADOBE_5 -%KEY% "distribut" -%STR% "adobe permits you to use modify and distribute this file in accordance with the terms of the adobe licen[cs]e agreement accompanying it" -# -%ENTRY% _LT_ADOBE_6 -%KEY% "(docume|warra)nt" -%STR% "this document includes warranty disclaimers part i and a licen[cs]e agreement governing the distribution of Adobe software" -# -%ENTRY% _LT_ADOBE_7 -%KEY% "licen[cs]" -%STR% "subject to the terms of this agreement adobe hereby grants you the worldwide non-?exclusive nontransferable royalty-free licen[cs]e to use reproduce and publicly display the software" -# -%ENTRY% _LT_ADOBE_AFM -%KEY% "distribut" -%STR% "may be used copied and/?o?r? r?e?-?distributed for any purpose and without charge with or without modification provided that all copyright notices are retained" -# -%ENTRY% _LT_ADOBE_AFMPARSE_1 -%KEY% "distribut" -%STR% "may be freely copied and redistributed as long as" -# -%ENTRY% _LT_ADOBE_AFMPARSE_2 -%KEY% "notice" -%STR% "if the file has been modified in any way a notice of such modification is conspicuously indicated" -##### -# DELETED (below): ... provided this copyright notice is maintained intact -# and that the contents of this file are not altered in any way from its -# original form -##### -%ENTRY% _LT_ADOBE_DATA -%KEY% "permi[st]" -%STR% "permission is granted for r?e?-?distribution of this file" -# -%ENTRY% _LT_ADOBE_EULA -%KEY% "licen[cs]" -%STR% "and is subject to all restrictions on such code as contained in the end[ -]user licen[cs]e agreement accompanying this product" -# -%ENTRY% _LT_ADOBE_GLYPH_1 -%KEY% =NULL= -%STR% "No modification, editing or other alteration of this document is allowed" -# -%ENTRY% _LT_ADOBE_GLYPH_2 -%KEY% "permi[st]" -%STR% "permission is hereby granted free of charge to any person obtaining a copy of this documentation file to create their own derivative works" -# -%ENTRY% _LT_ADOBE_OTHER -%KEY% "distribut" -%STR% "adobe permits you to use modify and distribute this file in accordance with the terms of the licen[cs]e agreement accompanying it" -##### -# DELETED: ... prepare derivative works of publicly display publicly perform -# and distribute this source code and such derivative works in source or -# object code form without any attribution requirements -##### -%ENTRY% _LT_ADOBE_SRC -%KEY% "licen[cs]" -%STR% "adobe systems incorporated grants to you a perpetual worldwide non-?exclusive no-charge royalty-free irrevocable copyright licen[cs]e to reproduce" -# -%ENTRY% _LT_ADOBE_SUB -%KEY% "licen[cs]" -%STR% "adobe grants =FEW= a licen[cs]e under its copyrights to use reproduce display and distribute the Software for any purpose and without fee provided" -# -%ENTRY% _LT_ADSL -%KEY% "distribut" -%STR% "you may copy display modify and redistribute the software code either by itself or as incorporated into your code provided =FEW= you do not remove any proprietary notices" -# -%ENTRY% _LT_NOT_ADVERTISING -%KEY% "permi[st]" -%STR% "not be used in advertising =SOME= without =FEW= permission" -##### -# DELETED: ... that are embodied in the original work as furnished by -# the licen[cs]or to make use sell and offer for sale the original work -# and derivative works -##### -%ENTRY% _LT_AFL -%KEY% "licen[cs]" -%STR% "licen[cs]or hereby grants you a world-?wide royalty-free non-?exclusive perpetual sublicen[cs]e?able licen[cs]e under patent claims owned or controlled by the licen[cs]or" -# -%ENTRY% _LT_AFLref1 -%KEY% "\" -%STR% "(distribu|develop|offere?d?|released?|licen[cs]ed?|available|protected|provided|subject|comes) =SOME= under =SOME= (afl|academic free licen[cs]e)" -# -%ENTRY% _LT_AFLref2 -%KEY% "licen[cs]" -%STR% "(distribute|develop|offere?d?|available|protected|covered|provided|subject|comes|\<(and|or)\>) =SOME= academic free licen[cs]e" -# -%ENTRY% _LT_AFPL -%KEY% "licen[cs]" -%STR% "every copy of AFPL ghostscript must include a copy of the licen[cs]e" -# -%ENTRY% _LT_AGAINST_DRM -%KEY% "restrict" -%STR% "nothing in this licen[cs]e is intended to prevent or restrict the exercise of rights not treated in this licen[cs]e" -# -%ENTRY% _LT_AGE -%KEY% "distribut" -%STR% "permission to use copy modify distribute and sell this article for any purpose is hereby granted without fee" -##### -# DELETED: ... subject to the following terms and conditions -##### -%ENTRY% _LT_AGERE_EULA -%KEY% "distribut" -%STR% "Agere permits use and/?o?r? limited r?e?-?distribution of this licen[cs]ed software in source and binary forms with or without modification" -##### -# DELETED (below): fonts in this package are copyright =SOME= ... without -# permission from agfa monotype -##### -%ENTRY% _LT_AGFA -%KEY% "distribut" -%STR% "agfa monotype corporation and may not be modified or r?e?-?distributed" -# -%ENTRY% _LT_AGFA_EULA -%KEY% "\<(end[ -]user|eula)\>" -%STR% "this Agfa monotype corporation end user agreement the agreement becomes a binding contract between you and Agfa" -# -%ENTRY% _LT_AGPL1 -%KEY% "so(ftware|urce)" -%STR% "affero (general p|p)ublic licen[cs]e is intended to guarantee your freedom to share and change free software" -# -%ENTRY% _LT_AGPL2 -%KEY% "so(ftware|urce)" -%STR% "complete source code you must not remove that facility from your modified version of the program or work" -# -%ENTRY% _LT_AGPL3 -%KEY% "so(ftware|urce)" -%STR% "designed specifically to ensure that in such cases the modified source code becomes available" -# -%ENTRY% _LT_AGPL_30 -%KEY% "licen[cs]" -%STR% "affero general public licen[cs]e is a free copyleft licen[cs]e for software" -# -%ENTRY% _LT_AGPLref1 -%KEY% "distribut" -%STR% "you (can|may) r?e?-?distribute (it a|a)nd/or modify it under the terms =SOME= affero =SOME= licen[cs]e" -# -%ENTRY% _LT_AGPLref2 -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= (agpl|affero gpl|(general a|a)ffero (general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_NOT_AGPLref1 -%KEY% "licen[cs]" -%STR% "Use with the GNU Affero General Public License" -# -%ENTRY% _LT_ALGORITHMICS -%KEY% "permi[st]" -%STR% "Algorithmics gives permission for anyone to use and modify this file without any obligation or licen[cs]e condition except that you retain this copyright message in any source r?e?-?distribution in whole or part" -##### -# DELETED: ... under the terms of the licen[cs]e contained in the file -# LICEN[CS]E in this distribution -##### -%ENTRY% _LT_ALADDIN_RESTRICT -%KEY% "distribut" -%STR% "distributed under licen[cs]e and may not be copied modified or r?e?-?distributed except as expressly authori[sz]ed" -##### -# DELETED: This software is the ... software provided this notice is not -# removed or altered -##### -%ENTRY% _LT_AMD -%KEY% "distribut" -%STR% "property of Advanced Micro Devices Inc AMD which specifically grants the user the right to modify use and/?o?r? distribute this" -# -%ENTRY% _LT_AMD_EULA -%KEY% "distribut" -%STR% "regardless of the media upon which it is distributed the software is licen[cs]ed to you for use solely in conjunction with AMD hardware products" -# -%ENTRY% _LT_AMPAS -%KEY% "licen[cs]" -%STR% "nothing in this license shall be deemed to grant any rights to trademarks copyrights patents trade secrets or any other intellectual property of A\.?M\.?P\.?A\.?S\.?" -# -%ENTRY% _LT_AOL_EULA -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "constitutes your acceptance and agreement with america online inc aol as follows" -# -%ENTRY% _LT_Apache_1 -%KEY% "permi[st]" -%STR% "permission to copy in any form is granted provided this notice is included in all copies permission to r?e?-?distribute is granted provided this file is r?e?-?distributed untouched in all its parts and included files" -# -%ENTRY% _LT_Apache_2 -%KEY% "permi[st]" -%STR% "r?e?-?distribution of this document is permitted provided that the following conditions are met 1 r?e?-?distributions must retain the above copyright notice this list of conditions and the following disclaimer" -# -%ENTRY% _LT_Apache_20 -%KEY% "licen[cs]" -%STR% "licen[cs]e each contributor hereby grants to you a perpetual world-?wide non-?exclusive no-charge royalt(ee|y)-free irrevo[ck]able" -# -%ENTRY% _LT_Apache_10_CLAUSE_4 -%KEY% "\" -%STR% "names apache (server )?and apache (group|software foundation) must not be used" -# -%ENTRY% _LT_Apache_11_CLAUSE_3 -%KEY% "distribut" -%STR% "documentation included with the r?e?distribution =FEW= must include the following acknowledge?ment" -# -%ENTRY% _LT_Apache_11_CLAUSE_4 -%KEY% "software" -%STR% "endorse or promote products derived from this software without prior written permission" -# -%ENTRY% _LT_Apache_11_CLAUSE_5 -%KEY% "software" -%STR% "products derived from this software may not be called" -# -%ENTRY% _LT_APACHESTYLEref -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= (apache[ -]style|apache[ -]type|apache-?ish|apache[ -]like) licen[cs]e" -##### -# DELETED: ... =ANY= in consideration of your agreement to the following -# terms and your use installation modification or re-?distribution -##### -%ENTRY% _LT_APPLE_1 -%KEY% "\" -%STR% "apple software is supplied to you by apple computer inc" -# -%ENTRY% _LT_APPLE_2 -%KEY% "\" -%STR% "apple hereby grants permission to use" -##### -# DELETED: permitted uses and restrictions ... you may modify and create -# derivative works of the apple software modified software however you may -# not modify or create derivative works of the fonts provided by apple -##### -%ENTRY% _LT_APPLE_3 -%KEY% "\" -%STR% "this licen[cs]e allows you to copy install and/?o?r? use the apple software on an unlimited number of computers under your direct control" -##### -# DELETED: ... and you may not make the apple software available over a -# network where it could be used by multiple computers at the same time -##### -%ENTRY% _LT_APPLE_4 -%KEY% "licen[cs]" -%STR% "this licen[cs]e does not allow the apple software to exist on more than one computer at a time" -# -%ENTRY% _LT_APPLE_FONTFORGE -%KEY% "\" -%STR% "if you have a licen[cs]e from apple then you may enable the interpreter by setting the appropriate macro" -##### -# Here, the original text "program(s)" gets reduced to "program s" -%ENTRY% _LT_APPLE_SAMPLE -%KEY% "\" -%STR% "you may incorporate this Apple sample source code into your program s without restriction" -##### -# DELETED: original code =ANY= ... -##### -%ENTRY% _LT_APSLref1 -%KEY% "licen[cs]" -%STR% "subject =SOME= apple public source licen[cs]e" -##### -# Heh, "apsl" is a substring of "capslock". :( -##### -%ENTRY% _LT_APSLref2 -%KEY% "\" -%STR% "under =SOME= (apple public source licen[cs]e|\)" -##### -# DELETED: ... a non-exclusive worldwide royalty-free copyright licen[cs]e to -# reproduce prepare derivative works of install and execute the program in -# source code and object code form in each case solely for your internal use -##### -%ENTRY% _LT_APTANA -%KEY% "licen[cs]" -%STR% "subject to the terms and conditions of this licen[cs]e aptana hereby grants to you" -##### -# DELETED: ... provided that you give the recipients all the rights that we -# gave you and make sure they can get the modifications of this software -##### -%ENTRY% _LT_ARPHIC -%KEY% "licen[cs]" -%STR% "the arphic public licen[cs]e specifically permits and encourages you to use this software" -# -%ENTRY% _LT_ARJ -%KEY% "distribut" -%STR% "if you distribute this software to others you are required to distribute the entire package consisting" -# -%ENTRY% _LT_ARTIFEX -%KEY% "\" -%STR% "distributed under licen[cs]e and may not be copied modified or r?e?-?distributed except as expressly authori[zs]ed" -# -%ENTRY% _LT_ARTref1 -%KEY% "licen[cs]" -%STR% "((can|may) r?e?-?distribute it under|derived from) the artistic licen[cs]e" -# -%ENTRY% _LT_ARTref2 -%KEY% "licen[cs]" -%STR% "freely plagiari[sz]ed from the artistic licen[cs]e" -##### -# DELETED: free =SOME= ... -#### -%ENTRY% _LT_ARTref3 -%KEY% "distribut" -%STR% "you (can|may) r?e?-?distribute (it a|a)nd/or modify it under the terms =SOME= artistic licen[cs]e" -##### -# DELETED: free =SOME= ... -#### -%ENTRY% _LT_ARTref4 -%KEY% "distribut" -%STR% "r?e?-?distributed and/or modified =SOME= under the terms =SOME= artistic licen[cs]e" -##### -# This one REALLY is correct. I don't remember where, but some file with -# this text really mis-spells the word as "licencse"... -##### -%ENTRY% _LT_ARTref5 -%KEY% "licen[cs]" -%STR% "(distribut(able|ed?)|released?|licen[cs]ed?|available|protected|provided|subject to|\<(and|or)\>) =SOME= artistic =FEW= licen[cs]" -##### -%ENTRY% _LT_ARTref6 -%KEY% "licen[cs]" -%STR% "(\<(and|or)\>|under) =SOME= artistic licen[cs]e" -##### -# DELETED: ... of this package without restriction provided that you -# duplicate all of the original copyright notices and associated -# disclaimers -##### -%ENTRY% _LT_ART_1 -%KEY% "(condit|vers)ion" -%STR% "you may make and/?o?r? give away verbatim copies of the source form of the standard version" -##### -# DELETED: ... in any medium without restriction either gratis or for a -# distribution fee provided that you duplicate all of the original copyright -# notices and associated disclaimers -##### -%ENTRY% _LT_ART_2 -%KEY% "(condit|vers)ion" -%STR% "you may make available verbatim copies of the source code of the standard version of this package" -# -%ENTRY% _LT_ART_V2 -%KEY% "distribut" -%STR% "any use modification and/?o?r? distribution of the standard or modified versions is governed by this artistic licen[cs]e" -# -%ENTRY% _LT_ASCENDER_EULA -%KEY% "licen[cs]" -%STR% "ascender grants =FEW= a non-exclusive world-wide licen[cs]e for the term i to use the deliverables to create Font Software ii to duplicate font software and iii to distribute Font Software embedded as part of" -# -%ENTRY% _LT_GOOGLE_SDK -%KEY% "legal" -%STR% "you agree that Google or third parties own all legal right =FEW= title and interest in and to the SDK =FEW= any Intellectual Property Rights that subsist in the SDK =SOME= means any and all rights under patent law =FEW= trade secret law =FEW= and any and all other proprietary rights =FEW= Google reserves all rights not expressly granted to you" -# -%ENTRY% _LT_ATI_EULA -%KEY% "licen[cs]" -%STR% "licen[cs]e terms above with respect to portions" -##### -# DELETED: ... is permitted provided that the following conditions are met -##### -%ENTRY% _LT_ATMEL -%KEY% "distribut" -%STR% "distribution and/?o?r? use of the microcode software firmware" -##### -# DELETED: and it may only be ... -##### -%ENTRY% _LT_ATT_1 -%KEY% "licen[cs]" -%STR% "used by you under licen[cs]e from at&t corp" -##### -# DELETED: ... is hereby granted provided that this entire notice is -# included in all copies -##### -%ENTRY% _LT_ATT_2 -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute this software for any purpose without fee" -##### -# DELETED: accessing and using the source code you ... if you do not -# wish to be bound by these terms and conditions do not access or use -# the source code -##### -%ENTRY% _LT_ATT_SRC_1 -%KEY% "(condit|vers)ion" -%STR% "accept this agreement in its entirety and agree to only use the source code in accordance with the following terms and conditions" -##### -%ENTRY% _LT_ATT_SRC_2 -%KEY% "distribut" -%STR% "unless otherwise permitted by the AT&T source code agreement licen[cs]ee shall only distribute any products licen[cs]ed pursuant to this agreement free of charge" -# -%ENTRY% _LT_ATT_NONCOMMERC1 -%KEY% "commerc" -%STR% "accept the AT&T FSM library non-commercial binary code agreement" -##### -# DELETED: AT&T grants you a royalty-free non-exclusive ... -##### -%ENTRY% _LT_ATT_NONCOMMERC2 -%KEY% "commerc" -%STR% "non-transferable personal right to use the software for a non-commercial purpose" -# -%ENTRY% _LT_ATTRIB -%KEY% "(condit|vers)ion" -%STR% "these conditions require a modest attribution" -##### -# DELETED: ... in whole or in part in any form by any means nor may you -# translate the software into any other natural or computer language -##### -# -%ENTRY% _LT_Autoconf_exception_1 -%KEY% "(condit|vers)ion" -%STR% "versions? of (the )?autoconf" -# -%ENTRY% _LT_Autoconf_exception_2 -%KEY% "configur" -%STR% "configur(e|ation) scripts? =FEW= Autoconf" -# -%ENTRY% _LT_Autoconf_exception_3 -%KEY% "distribut" -%STR% "unlimited permission to copy distribute and modify the configure scripts that are the output of autoconf" -# -%ENTRY% _LT_Autoconf_exception_20 -%KEY% "distribut" -%STR% "as a special exception the free software foundation gives unlimited permission to copy distribute and modify the configure scripts that are the output of autoconf" -# -%ENTRY% _LT_Autoconf_exception_30 -%KEY% "distribut" -%STR% "purpose of this exception is to allow distribution of autoconf.s typical output under terms of the recipient.s choice" -# -%ENTRY% _LT_AVM_1 -%KEY% "so(ftware|urce)" -%STR% "you may not transmit reproduce or alter this software" -##### -# DELETED: you ... you may only reverse engineer this software for -# debugging such permitted modifications -##### -%ENTRY% _LT_AVM_2 -%KEY% "so(ftware|urce)" -%STR% "may only modify this software for own and personal use" -##### -# DELETED: to make and have made use import sell offer for sale or -# otherwise distribute any of your legal products or services containing -# portions of the AVM -##### -%ENTRY% _LT_AVM_3 -%KEY% "legal" -%STR% "use import sell offer for sale or otherwise distribute any of your legal products or services" -##### -# DELETED: ... is hereby granted provided that both the copyright notice -# and this permission notice appear in all copies of the font derivative -# works or modified versions and that the following acknowledgement appear -# in supporting documentation -##### -%ENTRY% _LT_BAEKMUK_1 -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute this font" -# -%ENTRY% _LT_BAEKMUK_2 -%KEY% "permi[st]" -%STR% "granted permission under all hwan design propriety rights to use copy modify sublicen[cs]e sell and r?e?-?distribute =SOME= fonts" -##### -# DELETED: bea systems inc =SOME= grants you a non-?exclusive and -# non-?transferable ... development and production use of the -# accompanying software -##### -%ENTRY% _LT_BEA_1 -%KEY% "licen[cs]" -%STR% "licen[cs]e for the internal evaluation testing" -# -%ENTRY% _LT_BEA_2 -%KEY% "licen[cs]" -%STR% "you understand that although each contributor grants the licen[cs]es to the covered code prepared by it no assurances are provided by any contributor that the covered code does not infringe" -##### -# DELETED: ... if we meet some day and you think this stuff is worth it -# you can buy me a beer in return -##### -%ENTRY% _LT_BEERWARE -%KEY% "licen[cs]" -%STR% "the beer-ware licen[cs]e =ANY= as long as you retain this notice you (can|may) do whatever you want with this stuff =ANY= you can buy me a beer in return" -##### -# DELETED: ... for any purpose and without fee is hereby granted provided -# that the above copyright notice and this permission notice appear in all -# copies -##### -%ENTRY% _LT_BELLCORE -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute this material" -##### -# DELETED: ... including without limitation the rights to use copy merge -# publish distribute sublicen[cs]e and/or sell copies of the font software -##### -%ENTRY% _LT_BH_FONT -%KEY% "so(ftware|urce)" -%STR% "to deal in the font software" -# -%ENTRY% _LT_BISON -%KEY% "permi[st]" -%STR% "permitted to copy and/?o?r? distribute verbatim copies but changing it is not allowed" -# -%ENTRY% _LT_Bison_exception_1 -%KEY% "bison" -%STR% "bison =SOME= without restriction =SOME= free software foundation" -# -%ENTRY% _LT_Bison_exception_2 -%KEY% "bison" -%STR% "bison =FEW= distribute =FEW= under terms of your choice" -# -%ENTRY% _LT_Bison_exception_22 -%KEY% "bison" -%STR% "special exception was added by the Free Software Foundation in version 2\.?2 of Bison" -# -%ENTRY% _LT_BISONref -%KEY% "licen[cs]" -%STR% "based on the bison general public licen[cs]e" -##### -# DELETED: ... or added to and in particular the designs of glyphs -# or characters in the fonts may be modified and additional glyphs or -# characters may be added to the fonts only if the fonts are renamed -##### -%ENTRY% _LT_BITSTREAM_1 -%KEY% "so(ftware|urce)" -%STR% "font software ma(y|not) be modified altered" -##### -# DELETED: ... or added to and in particular the designs of glyphs -# or characters in the fonts may not be modified nor may additional -# glyphs or characters be added to the fonts -##### -%ENTRY% _LT_BITSTREAM_2 -%KEY% "permi[st]" -%STR% "hereby granted permission under all Bitstream propriety rights to use copy modify sublicen[cs]e sell and r?e?-?distribute =FEW= Bitstream" -##### -# DELETED: ... products as well as any updates or maintenance releases of -# that software bittorrent products that are distributed by bittorrent inc -##### -%ENTRY% _LT_BITTORRENT -%KEY% "licen[cs]" -%STR% "this bittorrent open source licen[cs]e the licen[cs]e applies to the BitTorrent client and related software" -# -%ENTRY% _LT_BITTORRENTref -%KEY% "licen[cs]" -%STR% "subject to the bittorrent open source licen[cs]e" -# -%ENTRY% _LT_BITTORRENT_V11 -%KEY% "licen[cs]" -%STR% "subject to the bittorrent open source licen[cs]e (v|version )1\.?1" -# -%ENTRY% _LT_BITTORRENT_V10 -%KEY% "licen[cs]" -%STR% "subject to the bittorrent open source licen[cs]e (v|version )1\.?0" -# -%ENTRY% _LT_BIZNET -%KEY% "permi[st]" -%STR% "permission to use copy modify and distribute this software for any purpose is hereby granted without fee provided that the above copyright notice and this permission notice appear in all copies" -# -%ENTRY% _LT_blessing -%KEY% "legal" -%STR% "in place of a legal notice here is a blessing" -# -%ENTRY% _LT_BlueOak_100_Purpose -%KEY% "software" -%STR% "gives everyone as much permission to work with this software as possible" -# -%ENTRY% _LT_BlueOak_100_Acceptance -%KEY% "licen[cs]" -%STR% "rules of this license are both obligations under" -# -%ENTRY% _LT_BOGUSTMPL -%KEY% "licen[cs]" -%STR% "This file is r?e?-?distributed under the same licen[cs]e as the package PACKAGE" -##### -# DELETED: (require|must) =SOME= ... -##### -%ENTRY% _LT_BOOKPURCHASE -%KEY% "\" -%STR% "(must|require) =FEW= (possess|purchase|buy|own) =SOME= copy of =SOME= book" -##### -# DELETED: ... =ANY= to use reproduce display distribute execute and -# transmit the software -##### -%ENTRY% _LT_BOOST_1 -%KEY% "so(ftware|urce)" -%STR% "software and accompanying documentation covered" -# -%ENTRY% _LT_BOOST_2 -%KEY% "distribut" -%STR% "permission to copy use modify sell and distribute" -# -%ENTRY% _LT_BOOST_GRAPH -%KEY% "licen[cs]" -%STR% "received a copy of the licen[cs]e agreement for the boost graph library" -# -%ENTRY% _LT_BOOST_LAMBDA -%KEY% "so(ftware|urce)" -%STR% "boost lambda library is free software permission to copy use modify and distribute =SOME= is granted provided" -# -%ENTRY% _LT_BOOSTref1 -%KEY% "licen[cs]" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= boost software licen[cs]e" -# -%ENTRY% _LT_Bootloader_exception -%KEY% "restrict" -%STR% "link =FEW= bootloader =FEW= into combinations with other programs =SOME= without any restriction" -# -%ENTRY% _LT_BRAINSTORM_EULA -%KEY% "licen[cs]" -%STR% "this agreement the agreement is made between BrainStorm Inc BSI and the recipient party Licen[cs]ee" -# -%ENTRY% _LT_BROADCOM_EULA -%KEY% "licen[cs]" -%STR% "this software may only be used subject to an executed software licen[cs]e agreement between the user and broadcom" -# -%ENTRY% _LT_BSDref1 -%KEY% "licen[cs]" -%STR% "(governed|consumed|licen[cs]ed) by =SOME= BSD =SOME= licen[cs]e" -# -%ENTRY% _LT_BSDref2 -%KEY% "distribut" -%STR% "r?e?-?distribution and/?o?r? use in source and binary forms with or without modification are permitted under the terms =SOME= BSD licen[cs]e" -##### -# DELETED: free =SOME= ... -##### -%ENTRY% _LT_BSDref3 -%KEY% "distribut" -%STR% "you (can|may) r?e?-?distribute (it a|a)nd/or modify it under the terms =SOME= (bsd|berkeley software distribution) licen[cs]e" -# -%ENTRY% _LT_BSDref4 -%KEY% "licen[cs]" -%STR% "(BSD|berkeley software) licen[cs]e agreement specifies the terms and conditions for r?e?-?distribution" -# -%ENTRY% _LT_BSDref5 -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= (bsd|berkeley software distribution) licen[cs]e" -# -%ENTRY% _LT_BSDref6 -%KEY% "distribut" -%STR% "r?e?-?distribution and/?o?r? use in source and binary forms with or without modification (are|is) permitted pursuant to =FEW= terms =FEW= BSD licen[cs]e" -# -%ENTRY% _LT_BSDref7 -%KEY% "licen[cs]" -%STR% "modified (berkeley|bsd) software (distribution )?license" -# -%ENTRY% _LT_BSDref8 -%KEY% "licen[cs]" -%STR% "available via =SOME= modified bsd license" -# -%ENTRY% _LT_BSDref9 -%KEY% "licen[cs]" -%STR% "license\.? bsd" -# -%ENTRY% _LT_BSDref10 -%KEY% "licen[cs]" -%STR% "(re)?distribution and (use|modifications) (is|are) (allowed|permitted) (according|subject) to =FEW= bsd license" -# -%ENTRY% _LT_BSDref11 -%KEY% "licen[cs]" -%STR% "(dual|available via|distributed with) =FEW= BSD license" -# -%ENTRY% _LT_BSDref12 -%KEY% "\" -%STR% "r?e?licensed? =FEW= under the (more )?permissive =SOME= 3-clause( |-)bsd" -# -%ENTRY% _LT_BSDref13 -%KEY% =NULL= -%STR% "licen([cs]ed?|sing) =FEW= 3-clause( |-)bsd" -# -%ENTRY% _LT_BSDref14 -%KEY% "licen[cs]" -%STR% "subject to the terms and conditions of the bsd license" -# -%ENTRY% _LT_BSDref15 -%KEY% "licen[cs]" -%STR% "is bsd.licensed" -# -%ENTRY% _LT_BSDSTYLEref1 -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= (BSD[ -]style|BSD[ -]type|BSD-?ish|BSD[ -]like) licen[cs]e" -# -%ENTRY% _LT_BSDSTYLEref2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "copyright is =FEW= (BSD[ -]style|BSD[ -]type|BSD-?ish|BSD[ -]like) licen[cs]e" -# -%ENTRY% _LT_BSDSTYLEref3 -%KEY% "distribut" -%STR% "free distribution and use =SOME= in both source and binary form is allowed =SOME= provided" -# -%ENTRY% _LT_BSDSTYLEref4 -%KEY% "distribut" -%STR% "r?e?distribution modification and use in source and binary forms is permitted provided that the above copyright notice =FEW= (is|are) duplicated" -# -%ENTRY% _LT_BSD_HTMLAREA_1 -%KEY% "licen[cs]" -%STR% "htmlArea license" -# -%ENTRY% _LT_BSD_HTMLAREA_2 -%KEY% "distribut" -%STR% "distributed under the same terms as htmlArea itself" -##### -# ORIGINAL with those EXPENSIVE wild-cards: -# re-?distribution -and use in source and binary forms =ANY= (is|are) -# (permitted|permitted for any purpose) provided that -##### -# Found an instance where modification was mis-spelled 'modificatin' -##### -%ENTRY% _LT_BSD_1 -%KEY% "distribut" -%STR% "r?e?-?distribution and/?o?r? use in source and binary form(s|s =SOME= with or without modi(fi|.?)catio?ns?) (is|are) (permitted|permitted for any purpose) provid(ed|ing) that" -##### -# There are a couple of different forms of this licen[cs]e, and some copies -# of the licensing terms use "it's" in the text (which gets changed to -# "it s" in doctorBuffer() -##### -# ORIGINAL with those EXPENSIVE wild-cards: -# permission to use copy modify and distribute this =SOME= software and -# (its|its associated) documentation for any purpose =ANY= without fee -# =SOME= is hereby granted provided that the above copyright notice -##### -# DELETED: ... provided that (this|the above) copyright notice -##### -%ENTRY% _LT_BSD_2 -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute this (python )?software and =FEW= documentation for any purpose (and )?(with or )?without fee (or royalty )?is hereby granted" -##### -# DELETED: ... =SOME= copyright =SOME= notices? this list of conditions -# and the following disclaimer in the documentation and/or other materials -# provided with the distribution -##### -%ENTRY% _LT_BSD_3 -%KEY% "distribut" -%STR% "r?e?-?distributions? (of the source code i|i)n binary form must reproduce" -# -%ENTRY% _LT_BSD_4 -%KEY% "permi[st]" -%STR% "permission is hereby granted =SOME= to use copy modify and/?o?r? distribute this =SOME= for any purpose provided that =SOME= copyright =SOME= appear [io]n all copies" -##### -# DELETED: permission to use copy modify and distribute this ... non-?profit -# purposes without fee and without a written agreement is hereby granted -##### -%ENTRY% _LT_BSD_5 -%KEY% "so(ftware|urce)" -%STR% "software and its documentation for educational researc(h|h internal corporate) and" -##### -# DELETED: ... and without licen[cs]e or royalty fees to use copy -# modify and distribute =SOME= for any purpose provided -##### -%ENTRY% _LT_BSD_6 -%KEY% "permi[st]" -%STR% "permission is hereby granted without written agreement" -##### -# DELETED: ... of this program provided that the copyright notice and -# this permission notice are preserved -##### -%ENTRY% _LT_BSD_7 -%KEY% "permi[st]" -%STR% "permission is hereby granted to make and/?o?r? distribute original copies" -##### -# DELETED: ... provided that the above copyright notice and the following -##### -%ENTRY% _LT_BSD_8 -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute this software and its documentation for any purpose without fee and without (a wri|wri)tten agreement is hereby granted" -# -%ENTRY% _LT_BSD_9 -%KEY% "so(ftware|urce)" -%STR% "may modify and/?o?r? make a cop(y|y or copies) of the software for use within your organi[sz]ation if you meet the following conditions" -# -%ENTRY% _LT_BSD_10 -%KEY% "licen[cs]" -%STR% "must retain the licen[cs]e terms and copyright notice in any source code distribution and reproduce them in documentation for binary distribution" -##### -# DELETED: ... code forms with or without modifications are expressly permitted -##### -%ENTRY% _LT_BSD_11 -%KEY% "distribut" -%STR% "subject to the following obligations and disclaimer of warranty use and/?o?r? r?e?-?distribution of =SOME= in source or object" -##### -# DELETED: ... and 2 they include prominent notice akin to these three -# paragraphs for those parts of this code that are retained -##### -%ENTRY% _LT_BSD_12 -%KEY% "\" -%STR% "derivative works are acceptable =SOME= so long as =FEW= include prominent notice that the work is derivative" -##### -# DELETED: Permission from the Regents of the University of California ... -#### -%ENTRY% _LT_BSD_13 -%KEY% "distribut" -%STR% "to use copy modify and distribute =SOME= for any purpose without fee and without a written agreement is hereby granted" -# -%ENTRY% _LT_BSD_NONC -%KEY% "permi[st]" -%STR% "permission to use copy modify and distribute =SOME= for any non-?commercial purpose and without fee is hereby granted provided" -# -%ENTRY% _LT_BSD_CLAUSE_0 -%KEY% "permi[st]" -%STR% "redistribution and use in source and binary forms with or without modification are permitted provid(ed|ing) that the following conditions are met" -# -%ENTRY% _LT_BSD_CLEAR_CLAUSE_0 -%KEY% "permi[st]" -%STR% "redistribution and use in source and binary forms with or without modification are permitted subject to the limitations in the disclaimer below" -# -%ENTRY% _LT_BSD_CLAUSE_1 -%KEY% "copyright" -%STR% "redistributions? of source code must retain the (above |original author.s )?copyright notice (unmodified )?this list of conditions and the following disclaimer" -# -%ENTRY% _LT_BSD_CLAUSE_1_DISCLAIMER -%KEY% "copyright" -%STR% "redistributions? of source code must retain the above copyright notice (unmodified )?this list of conditions and the following disclaimer this software is provided" -# -%ENTRY% _LT_BSD_CLAUSE_2 -%KEY% "copyright" -%STR% "redistributions? in binary form must reproduc[et] the (above |original author.s )?copyright notice this list of conditions and the following disclaimer (listed in this license )?in the documentation and ?/or other materials provided with the distribution" -# -%ENTRY% _LT_BSD_CLAUSE_3 -%KEY% "software" -%STR% "all advertising materials mentioning features or use of this software must display the following acknowledgement" -# -%ENTRY% _LT_BSD_CLAUSE_4 -%KEY% "software" -%STR% "names? =SOME= (may|must) (not )?be used to endorse or promote products derived from this software without (specific )?(prior )?written permission" -# -%ENTRY% _LT_BSD_CLAUSE_4_LONG -%KEY% "software" -%STR% "neither the names? =SOME= n?or (its|their) (respective )?contributors may be used to endorse or promote products derived from this software without (specific )?(prior )?written permission" -# -%ENTRY% _LT_BSD_CLAUSE_ATTRIBUTION -%KEY% "distribut" -%STR% "redistributions? =FEW= must retain the following acknowledgment" -# -%ENTRY% _LT_BSD_CLAUSE_CLEAR -%KEY% "licen[cs]" -%STR% "no express or implied licenses to any =FEW= patent rights are granted by this license" -# -%ENTRY% _LT_BSD_CLAUSE_OPEN_MPI -%KEY% "so(ftware|urce)" -%STR% "no reassurances that the source code provided does not infringe any patent" -# -%ENTRY% _LT_BSD_CLAUSE_PATENT -%KEY% "licen[cs]" -%STR% "patent license to make have made use offer to sell sell import and otherwise transfer this software" -# -%ENTRY% _LT_FREE_BSD -%KEY% "software" -%STR% "this software is provided by =FEW= freebsd project" -# -%ENTRY% _LT_BSD_AND_MIT -%KEY% =NULL= -%STR% "MIT(license)? (and|\&) =FEW= BSD" -# -%ENTRY% _LT_BSD_OR_MIT -%KEY% =NULL= -%STR% "available via the MIT (or|\/) =FEW= BSD licenses?" -# -%ENTRY% _PHR_BZIP2_3 -%KEY% "copyright" -%STR% "version 1\.?0\.?5 =FEW= copyright =FEW= julian seward" -# -%ENTRY% _PHR_BZIP2_4 -%KEY% =NULL= -%STR% "bzip2 =FEW= libbzip2 =FEW= version 1.0.6" -# -%ENTRY% _LT_UC -%KEY% "copyright" -%STR% "copyright =SOME= (university of california|UC)" -##### -# DELETED: ... and recipients of the program to use the program including -# its source code freely and without many of the concerns of some other -# open source licen[cs]es although we expect the underlying program and -# contributions as defined below made to such program to remain open -##### -%ENTRY% _LT_CA -%KEY% "licen[cs]" -%STR% "licen[cs]e is intended to permit contributors" -# -%ENTRY% _LT_CADENCE -%KEY% "permi[st]" -%STR% "permission to copy this software in whole or in part to use this software for any lawful purpose and to r?e?-?distribute this software is granted" -##### -# DELETED: free use of =SOME= ... that this entire licen[cs]e is -# duplicated in all copies and that any =ANY= related to use acknowledge -##### -%ENTRY% _LT_CAMBRIDGE -%KEY% "permi[st]" -%STR% "free use =FEW= in source and binary forms is permitted provided that this entire licence is duplicated" -# -%ENTRY% _LT_CATHARON -%KEY% "licen[cs]" -%STR% "shall only be used modified and/?o?r? r?e?-?distributed under the terms of the catharon open source licen[cs]e" -# -%ENTRY% _LT_CC_GPL -%KEY% "licen[cs]" -%STR% "exercise the freedoms specified here provided that you comply with the express conditions of this licen[cs]e" -# -%ENTRY% _LT_CC_ref -%KEY% =NULL= -%STR% "(distribu|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used?|see) =SOME= \" -# -# _LT_CC_BY_SA is for v 2.5 -%ENTRY% _LT_CC_BY_SA_25 -%KEY% "distribut" -%STR% "if you alter transform or build upon this work you may distribute the resulting work only under the same or similar licen[cs]e" -# -# CC v 3.0 share alike wording -%ENTRY% _LT_CC_BY_SA_30 -%KEY% "Adaptation" -%STR% "You may not offer or impose any terms on the Adaptation that restrict" -# -# CC v 3.0 non commercial wording -%ENTRY% _LT_CC_BY_NC_30 -%KEY% "commercial" -%STR% "in any manner that is primarily intended for or directed toward commercial advantage or private monetary" -# CC v 3.0 no derivatives wording -%ENTRY% _LT_CC_BY_ND_30 -%KEY% "derogatory" -%STR% "You must not distort, mutilate, modify or take other derogatory" -# -%ENTRY% _LT_CCPL -%KEY% "(condit|vers)ion" -%STR% "subject to the terms and conditions of this (public )?licen[cs]e =FEW= licen[cs]or hereby grants" -##### -# DELETED: ... modify display perform sublicen[cs]e and distribute the -# modifications created by such contributor -##### -# -%ENTRY% _LT_CECILL_1 -%KEY% "so(ftware|urce)" -%STR% "the purpose of this free software licen[cs]ing agreement is to grant users the right to modify and/?o?r? r?e?-?distribute the software governed by this licen[cs]e" -# -%ENTRY% _LT_CECILL_2 -%KEY% "distribut" -%STR% "compliance with the principles governing the distribution of free software access to source code broad rights granted to users" -# -%ENTRY% _LT_CECILL_2_ref -%KEY% "licen[cs]" -%STR% "(free|distributed?|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) under the terms of =FEW= CeCILL licen[cs]e (v|version )2\.?0?" -# -%ENTRY% _LT_CECILL_DUALref -%KEY% "so(ftware|urce)" -%STR% "software is governed either by the CeCILL or the CeCILL-C licen[cs]e under french law and abiding by the rules of distribution of free software" -# -%ENTRY% _LT_CECILL_ref -%KEY% "so(ftware|urce)" -%STR% "software is governed by the CeCILL licen[cs]e under french law and abiding by the rules of distribution of free software" -# -%ENTRY% _LT_CECILL_ref1 -%KEY% "so(ftware|urce)" -%STR% "software is governed by the CeCILL" -# -%ENTRY% _LT_CECILL_ref2 -%KEY% "licen[cs]" -%STR% "(free|distributed?|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) under =FEW= CeCILL licen[cs]e" -# -%ENTRY% _LT_CECILL_B_ref -%KEY% "licen[cs]" -%STR% "(free|distributed?|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) under =FEW= CeCILL-B licen[cs]e" -##### -# DELTED: permission is granted to ... and re-?distribute it freely subject -# to the following restrictions -##### -%ENTRY% _LT_CISCO -%KEY% "so(ftware|urce)" -%STR% "anyone to use this software for any purpose on any computer system and to alter it" -#### -# DELETED: may be obtained directly from =ANY= at columbia university -# by any individual for =SOME= own use and by any company or other ... -# including installation on servers that are accessed by customers or -# clients without explicit licen[cs]e -##### -%ENTRY% _LT_classpath_exception_1 -%KEY% "classpath" -%STR% "classpath (linking )?exception" -# -%ENTRY% _LT_CLISP_exception_20_1 -%KEY% =NULL= -%STR% "copyright does NOT cover user programs that run in CLISP" -# -%ENTRY% _LT_CLISP_exception_20_2 -%KEY% "(\|l?gpl)" -%STR% "such user programs are not covered by the term derived work used in the GNU GPL" -# -%ENTRY% _LT_COLUMBIA -%KEY% "distribut" -%STR% "organi[sz]ation for its own internal distribution and/?o?r? use" -##### -# DELETED: binary =SOME= derived from the source code may =SOME= ... -##### -%ENTRY% _LT_COMMERCIAL_1 -%KEY% "commerc" -%STR% "distributed if a commercial licen[cs]e is (obtained|purchased)" -##### -# Leave the =SOME= ) alone! (wild-card-space-right-paren). Trust me ;) -##### -%ENTRY% _LT_COMMERCIAL_2 -%KEY% "distribut" -%STR% "source (code|code =SOME= librar =SOME= (created|derived) =SOME= ) may not be =SOME= distribute" -##### -%ENTRY% _LT_COMMERCIAL_3 -%KEY% =NULL= -%STR% "disclosed =ANY= without =FEW= prior =SOME= written permission" -##### -%ENTRY% _LT_COMMERCIAL_4 -%KEY% "license" -%STR% "software license for =SOME= code" -##### -%ENTRY% _LT_COMMERCIAL_5 -%KEY% "license" -%STR% "((may|can)|( be)?) used? (this file )?in accordance with the commercial license agreement" -##### -%ENTRY% _LT_COMMERCIAL_6 -%KEY% "license" -%STR% "commercial use of =FEW= requires a license" -##### -%ENTRY% _LT_COMMERCIAL_Intel -%KEY% =NULL= -%STR% "copyright =SOME= Intel Corporation =ANY= disclosed =ANY= without =FEW= prior =SOME= written permission" -##### -%ENTRY% _LT_COMMERCIAL_Broadcom -%KEY% =NULL= -%STR% "copyright =SOME= Broadcom Corporation =ANY= disclosed =ANY= without =FEW= prior =SOME= written permission" -##### -%ENTRY% _LT_COMMERCIAL_Android_Fraunhofer -%KEY% =NULL= -%STR% "Fraunhofer FDK AAC Codec Library for Android" -##### -# DELETED: permission to use copy and modify this software and its -# documentation is hereby granted ... the above copyright notice and -# this permission notice must appear in all copies -##### -%ENTRY% _LT_COMPAQ_1 -%KEY% "(condit|vers)ion" -%STR% "only under the following terms and conditions both" -##### -# DELETED: compaq computer =SOME= ... code =SOME= on any number of -# computers you may use the software -##### -%ENTRY% _LT_COMPAQ_EULA -%KEY% "distribut" -%STR% "grants you the right to use modify and/?o?r? distribute the following source code" -# -%ENTRY% _LT_COMPUSERVE -%KEY% "licen[cs]" -%STR% "compuserve incorporated hereby grants a limited non-?exclusive royalty-free licen[cs]e for the use" -##### -# DELETED: ... provided that the above copyright notice appears in all copies -##### -%ENTRY% _LT_CMU_1 -%KEY% "so(ftware|urce)" -%STR% "permission to use copy modify and/?o?r? distribute this software and its documentation is hereby granted" -##### -# Bizarre wording here... fnord? Oh well, it makes it unique! -##### -%ENTRY% _LT_CMU_2 -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and/?o?r? sell this software and its documentation for any purpose is hereby granted without fee provided fnord" -# -%ENTRY% _LT_CMU_3 -%KEY% "licen[cs]" -%STR% "licen[cs]ee acquires no ownership right title or interest in =SOME= provided by licen[cs]or or any copyrights" -# -%ENTRY% _LT_CMU_4 -%KEY% "so(ftware|urce)" -%STR% "in accordance with their agreement with Carnegie Mellon University makes this software available to CMU to distribute or use in any manner that they see fit" -# -%ENTRY% _LT_CMU_5 -%KEY% "commerc" -%STR% "use of =FEW= for any research or commercial purpose is completely unrestricted" -# -%ENTRY% _LT_CMU_6 -%KEY% "licen[cs]" -%STR% "permission to use copy modify and/?o?r? licen[cs]e this software and its documentation for any purpose is hereby granted without fee subject" -# -%ENTRY% _LT_CMU_7 -%KEY% "permi[st]" -%STR% "provided that the above copyright notice appears? in all copies and that both that copyright notice and this permission notice appears? in supporting documentation" -# -%ENTRY% _LT_CMU_8 -%KEY% "permi[st]" -%STR% "copying and distribution is by permission of carnegie mellon and stanford university" -# -%ENTRY% _LT_COMTROL -%KEY% "distribut" -%STR% "may not reproduce nor distribute this source code in its original form but must produce a derivative work" -##### -# DELETED: This software (or derivative software) ... freely. -##### -%ENTRY% _LT_COPYLEFT_1 -%KEY% "licen[cs]" -%STR% "may not be made subject to any licen[cs]e which denies anyone permission to alter it and/?o?r? r?e?-?distribute it" -# -%ENTRY% _LT_COPYLEFT_2 -%KEY% "licen[cs]" -%STR% "derivative software must also still fall under this licen[cs]e" -# -%ENTRY% _LT_CPALref -%KEY% "licen[cs]" -%STR% "subject to the common public attribution licen[cs]e" -# -%ENTRY% _LT_CPAL_V1_ref -%KEY% "licen[cs]" -%STR% "under the terms of the (cpal|common public attribution) (v|version )1\.?0 licen[cs]e" -# -%ENTRY% _LT_CPOL -%KEY% "licen[cs]" -%STR% "the work as defined below is provided under the terms of this code project open licen[cs]e" -# -%ENTRY% _LT_CPOL_V102 -%KEY% =NULL= -%STR% "(the Code Project Open License|CPOL) =FEW= 1\.?02" -##### -# DELETED: are separate modules of ... their own licen[cs]e agreement -##### -%ENTRY% _LT_CPL_1 -%KEY% "so(ftware|urce)" -%STR% "software r?e?-?distributed in conjunction with the program under" -##### -# DELETED: ... of publicly display publicly perform distribute and -# sublicen[cs]e the contribution of such contributor if any and such -# derivative works in source code and object code form -##### -%ENTRY% _LT_CPL_2 -%KEY% "\" -%STR% "each contributor hereby grants recipient a non-?exclusive world-?wide royalty-free copyright licen[cs]e to reproduce prepare derivative works" -# -%ENTRY% _LT_CPLref1 -%KEY% "licen[cs]" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= common public licen[cs]e" -##### -# DELETED: ... to use or re-?distribute this =SOME= in text or binary form -# as required only in conjunction with devices using a Cypress USB -# microcontroller -##### -# -%ENTRY% _LT_CRYPTOGAMS -%KEY% "licen[cs]" -%STR% "licensed under =FEW= cryptogams license" -# -%ENTRY% _LT_CRYSTALSTACKER -%KEY% =NULL= -%STR% "Crystal.?Stacker is freeware" -# -%ENTRY% _LT_CUPS -%KEY% "\" -%STR% "you must provide source for any new drivers changes or additions to the software and all code must be provided under the GPL or LGPL as appropriate" -##### -# DELETED: ... for vendors that are unable to release source code for their -# drivers additions and modifications to CUPS under the GNU GPL and LGPL -##### -%ENTRY% _LT_CUPS_COMMERCIAL -%KEY% "so(ftware|urce)" -%STR% "easy software products also sells rights to the CUPS source code under a binary distribution licen[cs]e" -# -%ENTRY% _LT_CYLINK_ISC_1 -%KEY% "licen[cs]" -%STR% "licen[cs]ed by Cylink to the internet software consortium" -# -%ENTRY% _LT_CYLINK_ISC_2 -%KEY% "distribut" -%STR% "ISC is authori[sz]ed to distribute and sublicen[cs]e =FEW= for the practice of IETF standards" -# -%ENTRY% _LT_CYPRESS -%KEY% "licen[cs]" -%STR% "cypress semiconductor corporation hereby grants a copyright licen[cs]e" -# -%ENTRY% _LT_DARPA -%KEY% "so(ftware|urce)" -%STR% "free software you (can|may) r?e?-?distribute (it a|a)nd/or modify it under the terms of =SOME= as published by DARPA" -# -%ENTRY% _LT_DARPA_COUGAAR_1 -%KEY% "so(ftware|urce)" -%STR% "free software you (can|may) r?e?-?distribute (it a|a)nd/or modify it under the terms of the cougaar open source licen[cs]e as published by DARPA" -# -%ENTRY% _LT_DARPA_COUGAAR_2 -%KEY% "so(ftware|urce)" -%STR% "this product includes software developed in part by support from the defense advanced research project agency" -##### -# DELETED: ... any party from selling or giving away the software -# as a component of an aggregate software distribution containing -# programs from several different sources -##### -%ENTRY% _LT_DEB_CONTRACT -%KEY% "restrict" -%STR% "the licen[cs]e of a Debian component may not restrict" -# -%ENTRY% _LT_DEB_CONTRACTref -%KEY% "so(ftware|urce)" -%STR% "stance on free software is presented in the social contract which incorporates the debian free software guidelines" -##### -# DELETED: this software is furnished under licen[cs]e and may be used -# and copied ... subject to these conditions you may download copy -# install use modify and distribute this =SOME= no title or ownership -# is transferred hereby -##### -%ENTRY% _LT_DEC_1 -%KEY% "(condit|vers)ion" -%STR% "only in accordance with the following terms and conditions" -# -%ENTRY% _LT_DEC_2 -%KEY% "licen[cs]" -%STR% "is furnished under a licen[cs]e and may be used and copied only in accordance of the terms of such licen[cs]e and with the inclusion" -##### -# DELETED: ... restricted to the terms of a licen[cs]e agreement -##### -%ENTRY% _LT_DELAWARE -%KEY% "distribut" -%STR% "acquisition use and r?e?-?distribution of this module and its listings are subject" -##### -# DELETED: ... =SOME= and its accompanying documentation for any purpose -# and without fee is hereby granted in perpetuity provided that the -# above copyright notice and this paragraph appear in all copies -##### -%ENTRY% _LT_DigiRule_FOSS_exception -%KEY% "licen[cs]" -%STR% "DigiRule Solutions reserves all rights =SOME= if all of the above conditions are not met then this FOSS License Exception does not apply" -# -%ENTRY% _LT_DOCBOOK -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute the docbook" -# -%ENTRY% _LT_DMTF -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "specifications and documents may be reproduced for uses consistent with this purpose by members and non-members provided that correct attribution is given" -##### -# DELETED: re-?distribution and use in source form ... of source code -# must retain the above copyright notice this list of conditions and -# the following disclaimer -##### -%ENTRY% _LT_DPTC -%KEY% "distribut" -%STR% "with or without modification are permitted provided that r?e?-?distribution" -##### -# DELETED: ... or written agreement with DSC is hereby granted provided -# that the above copyright notice appears in all copies -##### -%ENTRY% _LT_DSCT -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and/?o?r? licen[cs]e this software and its documentation for any purpose and without fee" -# -%ENTRY% _LT_DSL -%KEY% "licen[cs]" -%STR% "where applicable is conspicuously published on all copies and a copy of this licen[cs]e is r?e?-?distributed along with the work" -# -%ENTRY% _LT_DUAL_LICENSE_0 -%KEY% "licen[cs]" -%STR% "(\)[ -]license =FEW= and" -# -%ENTRY% _LT_DUAL_LICENSE_1 -%KEY% "licen[cs]" -%STR% "(\|multi(ple)?)[ -]licensed (and may be used )?under" -# -%ENTRY% _LT_DUAL_LICENSE_2 -%KEY% "licen[cs]" -%STR% "under a \ license" -# -%ENTRY% _LT_DUAL_LICENSE_3 -%NOCHECK% -%KEY% "licen[cs]" -%STR% "alternatively =SOME= (this|the) (driver|files?|software|product|library|code) may be (used|r?e?-?distributed) =FEW= under the terms" -# -%ENTRY% _LT_DUAL_LICENSE_3_EXHIBIT -%NOCHECK% -%KEY% "licen[cs]" -%STR% "exhibit [abc] =ANY= alternatively =SOME= (this file|this software|this product) may be (used|r?e?-?distributed) under the terms" -# -%ENTRY% _LT_DUAL_LICENSE_4 -%KEY% "licen[cs]" -%STR% "under the terms of =FEW= gnu general public license =FEW= or the gnu (lesser|library) general public license" -# -%ENTRY% _LT_DUAL_LICENSE_5 -%KEY% "licen[cs]" -%STR% "\ bsd =FEW= gnu general public license" -# -%ENTRY% _LT_DUAL_LICENSE_6 -%NOCHECK% -%KEY% "licen[cs]" -%STR% "either under the terms of =SOME= or" -# -%ENTRY% _LT_DUAL_LICENSE_7 -#%NOCHECK% -%KEY% "licen[cs]" -%STR% "may be optionally licen[cs]ed under" -# -%ENTRY% _LT_DUAL_LICENSE_8 -%NOCHECK% -%KEY% "licen[cs]" -%STR% "this =FEW= (header )?file may also be distributed under the terms of" -# -%ENTRY% _LT_DUAL_LICENSE_9 -%KEY% "licen[cs]" -%STR% "(is|was|are|were) (\|multiple)[ -]license" -# -%ENTRY% _LT_DUAL_LICENSE_10 -%KEY% "licen[cs]" -%STR% "released under one of the following =FEW= licenses" -# -%ENTRY% _LT_DUAL_LICENSE_11 -%NOCHECK% -%KEY% "licen[cs]" -%STR% "alternatively =SOME= (may|can) r?e?-?distribute (this file|this software|this product|this library) =FEW= under the terms" -# -%ENTRY% _LT_DUAL_LICENSE_12 -%KEY% "licen[cs]" -%STR% "alternative license =SOME= if you prefer you can use" -# -%ENTRY% _LT_DUAL_LICENSE_13 -%KEY% "licen[cs]" -%STR% "dual MIT/BSD license" -# -%ENTRY% _LT_DUAL_LICENSE_14 -%KEY% "licen[cs]" -%STR% "license =FEW= dual BSD/GPL" -# -%ENTRY% _LT_DUAL_LICENSE_15 -%KEY% "licen[cs]" -%STR% "(license(:?))? (BSD|MIT) or =FEW= license" -# -%ENTRY% _LT_DUAL_LICENSE_16 -%NOCHECK% -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "MIT/GPLv2 lic" -# -%ENTRY% _LT_DUAL_LICENSE_17 -%KEY% "distribut" -%STR% "you (can|may) r?e?distribute =FEW= under the terms of either =FEW= license" -# -%ENTRY% _LT_DUAL_LICENSE_18 -%KEY% "licen[cs]" -%STR% "this (software|program) is available to you under a choice of one of two licenses" -# -%ENTRY% _LT_DUAL_LICENSE_19 -%KEY% "licen[cs]" -%STR% "this (file|software|program) is (provided|licensed) under a dual (BSD/GPLv2|GPLv2 or BSD) license" -# -%ENTRY% _LT_DUAL_LICENSE_20 -%KEY% "licen[cs]" -%STR% "is available under any (one )?of two licenses =FEW= license in use must be one of these two" -# -%ENTRY% _LT_DUAL_LICENSE_21 -%KEY% "licen[cs]" -%STR% "you may =FEW= r?e?distribute this code under either of these licenses" -# -%ENTRY% _LT_DUAL_LICENSE_22 -%KEY% "licen[cs]" -%STR% "dual licensed under the GPL or LGPL version 2 licenses" -# -%ENTRY% _LT_DUAL_LICENSE_23 -%KEY% "distribut" -%STR% "you (may|can) r?e?distribute (it|file|program|sw) =FEW= modify it under the terms of either" -# -%ENTRY% _LT_DUAL_LICENSE_24 -%KEY% "licen[cs]" -%STR% "this (file|software|program) is available to you under your choice of =FEW= licenses" -# -%ENTRY% _LT_DUAL_LICENSE_25 -%KEY% "licen[cs]" -%STR% "released using a dual license" -# -%ENTRY% _LT_DUAL_LICENSE_26 -%KEY% "licen[cs]" -%STR% "released under both =FEW= and =FEW= licenses? either license (may|can) be used" -# -%ENTRY% _LT_DUAL_LICENSE_27 -%NOCHECK% -%KEY% "licen[cs]" -%STR% "alternatively this (file|software|product|library) is available under =FEW= license" -# -%ENTRY% _LT_DUAL_LICENSE_28 -%KEY% "licen[cs]" -%STR% "either under the terms of =SOME= license (version)? =SOME= or at your option under =SOME= license" -# -%ENTRY% _LT_DUAL_LICENSE_29 -%KEY% "licen[cs]" -%STR% "under (the terms of )?either =SOME= license =FEW= or =FEW= license" -# -%ENTRY% _LT_DUAL_LICENSE_30 -%KEY% "licen[cs]" -%STR% "this (code|program|file) (may|can) be (used|r?e?distributed) under either of the following two licences" -# -%ENTRY% _LT_DUAL_LICENSE_31 -%KEY% "licen[cs]" -%STR% "under a \ =FEW= or =FEW= license" -# -%ENTRY% _LT_DUAL_LICENSE_32 -%KEY% "licen[cs]" -%STR% "(licensed|distributed|available) under =FEW= license or L?GPL" -# -%ENTRY% _LT_DUAL_LICENSE_33 -%KEY% "distribut" -%STR% "alternatively r?e?distribution and use =SOME= (is|are) permitted provided that" -# -%ENTRY% _LT_DUAL_LICENSE_34 -%KEY% "licen[cs]" -%STR% "FreeRTOS =FEW= uses a dual license model" -# -%ENTRY% _LT_DUAL_LICENSE_35 -%KEY% =NULL= -%STR% "this work is provided under the GPL or LGPL at your choice" -# -%ENTRY% _LT_DUAL_LICENSE_36 -%KEY% "licen[cs]" -%STR% "licensed (to you )?under (your|a|the) choice of( either)? =SOME= or" -# -%ENTRY% _LT_DUAL_LICENSE_37 -%KEY% "licen[cs]" -%STR% "contents of this file are subject to the terms of either =FEW= license =FEW= or =SOME= license" -# -%ENTRY% _LT_DUAL_LICENSE_38 -%KEY% "licen[cs]" -%STR% "you (may|can) choose (between two|either) licenses?" -# -%ENTRY% _LT_DUAL_LICENSE_39 -%KEY% "licen[cs]" -%STR% "is licensed under dual license" -# -%ENTRY% _LT_DUAL_LICENSE_40 -%KEY% "licen[cs]" -%STR% "available (under|via) =FEW= license =FEW= \ =FEW= license" -# -%ENTRY% _LT_DUAL_LICENSE_41 -%KEY% "licen[cs]" -%STR% "code is triple-licensed under" -# -%ENTRY% _LT_DUAL_LICENSE_42 -%NOCHECK% -%KEY% "licen[cs]" -%STR% "alternatively you may use this file under =FEW= license" -# -%ENTRY% _LT_DUAL_LICENSE_43 -%KEY% "licen[cs]" -%STR% "alternatively this file may be used under =FEW= license" -# -%ENTRY% _LT_DUAL_LICENSE_44 -%KEY% =NULL= -%STR% "FTL or GPL-2.0" -# -%ENTRY% _LT_DUAL_LICENSE_45 -%KEY% "licen[cs]" -%STR% "license =FEW= dual MIT/GPL" -# -%ENTRY% _LT_DUAL_LICENSE_46 -%KEY% =NULL= -%STR% "as an alternative.{0,20}you may use this file under" -# -%ENTRY% _LT_DUAL_LICENSE_47 -%KEY% =NULL= -%STR% "under the terms of either.{0,15}or" -# -%ENTRY% _LT_DUAL_LICENSE_48 -%KEY% "licen[cs]" -%STR% "dual licen[cs]ed under =FEW= or" -# -%ENTRY% _LT_DUAL_LICENSE_49 -%KEY% "licen[cs]" -%STR% "spdx-license-identifier[-_:\+\.\(\)[:alnum:][:blank:]]+[[:blank:]]OR[[:blank:]]" -# -%ENTRY% _LT_SUBSEQUENT_VERSION -%KEY% "licen[cs]" -%STR% "under the terms of either =SOME= license =FEW= or =FEW= (subsequent|later|new) version =FEW= license" -# -%ENTRY% _LT_MPL_SECONDARY_LICENSE -%KEY% "licen[cs]" -%STR% "under the terms of either this License or such Secondary License" -# -%ENTRY% _LT_DYADE -%KEY% "so(ftware|urce)" -%STR% "put such notice in a particular source code file due to its structure then you must include such notice in a location such as a relevant directory" -# -%ENTRY% _LT_DYADE_2 -%KEY% "dyade" -%STR% "dyade_public_license" -# -%ENTRY% _LT_EBT -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute the rainbow" -##### -# DELETED: ... or other related items is being provided by the -# copyright holders subject to the terms of the educational community -# licen[cs]e -##### -%ENTRY% _LT_ECL -%KEY% "so(ftware|urce)" -%STR% "this original work including software source code documents" -# -%ENTRY% _LT_ECL1 -%KEY% "licen[cs]" -%STR% "under the educational community licen[cs]e (version |v)1\.?0" -# -%ENTRY% _LT_ECL2 -%KEY% "licen[cs]" -%STR% "under the educational community licen[cs]e (version |v)2\.?0" -# -%ENTRY% _LT_EPLref -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= eclipse public licen[cs]e" -# -%ENTRY% _LT_EPL10ref_1 -%KEY% "licen[cs]" -%STR% "(subject to|license(:?|d under)) (the )?eclipse public licen[cs]e =FEW= 1\.?0" -# -%ENTRY% _LT_EPL10ref_2 -%KEY% "licen[cs]" -%STR% "licensed? under =FEW= EPL.1\.?0" -# -%ENTRY% _LT_EPL10ref_3 -%KEY% =NULL= -%STR% "available =SOME= under( the)? EPL.1\.?0" -# -%ENTRY% _LT_EPL20ref_1 -%KEY% "licen[cs]" -%STR% "(subject to|license(:?|d under)) (the )?eclipse public licen[cs]e =FEW= 2\.?0" -# -%ENTRY% _LT_EPL -%KEY% "licen[cs]" -%STR% "licen[cs]e =SOME= eclipse public licen[cs]e" -# -##### -# DELETED: permission is ... this software and its documentation without -# restriction including without limitation the rights to use copy modify -# merge publish distribute sublicen[cs]e and/or sell copies of this work -##### -# -%ENTRY% _LT_eCos_exception -%KEY% "exception" -%STR% "as a special exception if other files instantiate templates or use macros or inline functions from this file =FEW= and link it" -# -%ENTRY% _LT_EDINBURGH_1 -%KEY% "distribut" -%STR% "hereby granted free of charge to use and/?o?r? distribute" -##### -# DELETED: ... educational and individual use only is hereby granted without -# fee subject to the following conditions -##### -%ENTRY% _LT_EDINBURGH_2 -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute this software and its documentation for research" -##### -# DELETED: ... proprietary rights therein including all patent rights trade -# secrets trademarks and copyrights shall remain the exclusive property of -# Electronic Data Systems LLC -##### -%ENTRY% _LT_EDS_1 -%KEY% "so(ftware|urce)" -%STR% "all right title and interest in and to the software the software and (the a|a)ccompanying documentation or materials the documentation including all" -##### -# DELETED: ... is granted by implication or otherwise. -##### -%ENTRY% _LT_EDS_2 -%KEY% "licen[cs]" -%STR% "no interest licen[cs]e or any right respecting the software and the documentation other than expressly granted in the software licen[cs]e agreement" -##### -# DELETED: subject to the ... eGenixcom hereby grants licen[cs]ee a -# non-?exclusive royalty-free world-?wide licen[cs]e to reproduce analyze -# test perform and/or display publicly prepare derivative works distribute -# and otherwise use the Software alone or in any derivative version -##### -%ENTRY% _LT_EGENIX_COM -%KEY% "licen[cs]" -%STR% "(conditions and terms|terms and conditions) of th(e|is) eGenixcom public licen[cs]e agreement" -##### -# DELETED: ... =SOME= provided =SOME= copyright notices? (is|are) -# retained unchanged -##### -%ENTRY% _LT_EIFFEL -%KEY% "permi[st]" -%STR% "permission is hereby granted to use copy modify and/or distribute" -# -%ENTRY% _LT_EIFFEL_1 -%KEY% "licen[cs]" -%STR% "released? under the eiffel forum licen[cs]e" -# -%ENTRY% _LT_EIFFEL_20 -%KEY% "licen[cs]" -%STR% "licen[cs]e(:?) =FEW= eiffel forum licen[cs]e (v|version )2\.?0?" -# -%ENTRY% _LT_EPINIONS -%KEY% "distribut" -%STR% "epinions inc permits you free of charge to a use copy distribute" -# -%ENTRY% _LT_EPSON_EULA -%KEY% "licen[cs]" -%STR% "EPSON and its suppliers grant you a personal non-?exclusive royalty-free limited licen[cs]e" -# -%ENTRY% _LT_EPSON_PL -%KEY% "distribut" -%STR% "work identified as such at the point of distribution" -# -%ENTRY% _LT_EU -%KEY% "distribut" -%STR% "reproduction display modification and/?o?r? r?e?-?distribution of this software" -# -##### -# Q: Should we look for this exception clause to apply to more than the GPL? -##### -%ENTRY% _LT_EXPORTS_USA -%KEY% "so(ftware|urce)" -%STR% "export of this software from the united states of america may require a specific licen[cs]e from the united states government" -##### -# DELETED: ... that this instrument is retained with the works so that -# any entity that uses the works is notified of the instrument -##### -%ENTRY% _LT_FAIR -%KEY% "permi[st]" -%STR% "usage of the works is permitted provided" -##### -# DELETED: subject to the following terms ... -##### -%ENTRY% _LT_FEDORA -%KEY% "licen[cs]" -%STR% "fedora project grants to the user user a licen[cs]e to this collective work pursuant to the GNU general public licen[cs]e" -##### -# DELETED: any contribution submitted by you to the project shall be under -# the terms and conditions of this licen[cs]e without any additional terms -# or conditions unless you explicitly state otherwise in the submission -##### -%ENTRY% _LT_FEDORA_CLA -%KEY% "\" -%STR% "submitted by you to the project shall be under the terms and conditions of this licen[cs]e" -# -%ENTRY% _LT_FLTK_exception -%KEY% =NULL= -%STR% "static linking of applications and widgets to the FLTK library does not constitute a derivative work" -# -%ENTRY% _LT_FONT_EXCEPTION_20 -%KEY% "licen[cs]" -%STR% "this font does not by itself cause the resulting document to be covered by the gnu general public license" -##### -# DELETED: this =SOME= may be ... with documents created using framemaker -# =SOME= framebuilder and frameviewer (as|so) long as this copyright -# notice is preserved -##### -%ENTRY% _LT_FRAME -%KEY% "distribut" -%STR% "freely copied and/?o?r? r?e?-?distributed in conjunction" -##### -# DELETED: ... directly or indirectly made by you that contains or -# depends for its intended functionality on the frameworx code base -# or any portion or element thereof shall be made freely available -# to all users thereof on terms and conditions no more restrictive -##### -%ENTRY% _LT_FRAMEWORX -%KEY% "distribut" -%STR% "complete source code for any downstream distribution" -##### -# With these "BSD-lite" licenses, wild-cards are STRONGLY DISCOURAGED -# This is becuase we don't want a "not" to slip into the text. When a -# wild-card is used, DO NOT use =ANY= or =SOME=; only use =FEW= -##### -# DELETED: ... private modifications -##### -%ENTRY% _LT_FREE_1 -%KEY% "permi[st]" -%STR% "(is|is a|are) free softwares? unlimited permission is granted to use copy and distribute it with or without modification either commercially (and|or) non-?commercially these rules always apply whether or not you make" -%ALIAS% _FREECLAIM_first -%ALIAS% _FREE_first_perm -# -%ENTRY% _LT_FREE_2 -%KEY% "permi[st]" -%STR% "permission is hereby granted to use and distribute this (file|product|program|sourc(e|e code)|software|work|code|document|page) with or without modifications provided that this copyright notice is copied with it" -##### -# DELETED: ... notices are retained in all copies and that this notice -# is included verbatim in any distributions -##### -%ENTRY% _LT_FREE_3 -%KEY% "permi[st]" -%STR% "author hereby grants permission to use copy modify distribute and licen[cs]e this (file|product|program|sourc(e|e code)|software|work|code|document|page) (and its documentation f|f)or any purpose provided that existing copyright" -##### -# DELETED: ... notice and this notice are preserved in all copies -##### -%ENTRY% _LT_FREE_4 -%KEY% "permi[st]" -%STR% "every(body|one) is granted permission to copy modify and r?e?-?distribute this (file|product|program|sourc(e|e code)|software|work|code|document|page) provided that all recipients are given similar rights and that the above copyright" -# -%ENTRY% _LT_FREE_5 -%KEY% "permi[st]" -%STR% "permission is hereby granted to use copy modify distribute and sell this software and its associated documentation file(s|s the software) for any purpose without fee" -##### -# DELETED: ... must include this copyright notice in full -##### -%ENTRY% _LT_FREE_6 -%KEY% "permi[st]" -%STR% "permission to copy this software in whole or in part to use this software for any lawful purpose and to r?e?-?distribute this software is granted subject to the restriction that all copies made of this software" -##### -# DELETED: ... and date of the modification is added to the header -##### -%ENTRY% _LT_FREE_7 -%KEY% "permi[st]" -%STR% "permission is granted to distribute possibly modified copies of this (file|product|program|sourc(e|e code)|software|work|code|document|page) provided the header is included verbatim and in case of non-?trivial modification author" -# -%ENTRY% _LT_FREE_8 -%KEY% "permi[st]" -%STR% "permission granted to use copy modify distribute and sell so long as the above copyright and this permission statement are retained in all copies" -##### -# DELETED: ... files included in any r?e?-?distribution and that this -# copyright notice is also included in any r?e?-?distribution -##### -%ENTRY% _LT_FREE_9 -%KEY% "permi[st]" -%STR% "grants permission to use copy and distribute this software and its documentation for any purpose and without fee provided tha(t|t a) the above copyright notice extant in files in this distribution is not removed from" -# -%ENTRY% _LT_FREE_10 -%KEY% "permi[st]" -%STR% "permission is granted to anyone to make or distribute verbatim copies of this (file|product|program|sourc(e|e code)|software|work|code|document|page) as received in any medium provided that this copyright notice is preserved" -# -%ENTRY% _LT_FREE_11 -%KEY% "permi[st]" -%STR% "permission to use this (file|product|program|sourc(e|e code)|software|work|code|document|page) is granted for any purposes? as long as this copyright statement is kept intact and the author is not held (responsi|lia)ble for any damages resulting from the use of this program" -# -%ENTRY% _LT_FREE_12 -%KEY% "permi[st]" -%STR% "permission is granted to freely use copy and distribute it as long as this file remains in the distribution and the whole source code is made available for free you are also free to modify it or use parts of it for other programs as long as long as you name us as the original authors" -###### -# DELETED: ... for further re-?distribution as permitted by this notice -##### -%ENTRY% _LT_FREE_13 -%KEY% "permi[st]" -%STR% "permission is granted to anyone to make or distribute verbatim copies of this (file|product|program|sourc(e|e code)|software|work|code|document|page) as received in any medium provided that this copyright notice is preserved and that the distributor grants the recipient permission" -# -%ENTRY% _LT_FREE_14 -%KEY% "permi[st]" -%STR% "permission is (hereby g|g)ranted to (all|any) =FEW= to use =FEW= for any purpose" -# -%ENTRY% _LT_FREE_15 -%KEY% "permi[st]" -%STR% "permission to copy r?e?-?distribute or otherwise use this file is hereby granted provided that the above copyright notice and this notice are left intact" -# -%ENTRY% _LT_FREE_16 -%KEY% "permi[st]" -%STR% "are given unlimited permission to copy distribute and modify this file as long as this notice is kept intact and you indicate file modifications" -# -%ENTRY% _LT_FREE_17 -%KEY% "permi[st]" -%STR% "permission is granted to use distribute or modify th(is|e) sourc(e|e code) provided (that t|t)his copyright notice remains intact" -# -%ENTRY% _LT_FREE_18 -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and sell this softwar(e|e and its documentation) (for any purpose i|i)s hereby granted without fee provided that the above copyright notice appears? in all (source code c|c)opies" -##### -# DELETED: ... that existing copyright notices are retained in all copies -# andthat this notice is included verbatim in any distributions. -##### -%ENTRY% _LT_FREE_19 -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and licen[cs]e this (file|product|program|sourc(e|e code)|software|work|code|document|page) (and its documentation f|f)or any purpose is hereby granted provided" -# -%ENTRY% _LT_FREE_20 -%KEY% "permi[st]" -%STR% "permission is granted to copy and distribute modified versions of this program under the conditions for verbatim copying provided that the entire resulting derived work is r?e?-?distributed under the terms of a permission notice identical to this one" -# -%ENTRY% _LT_FREE_21 -%KEY% "permi[st]" -%STR% "permission is given to freely copy r?e?-?distribute or change =FEW= provided this notice is retained intact" -# -%ENTRY% _LT_FREE_22 -%KEY% "permi[st]" -%STR% "permission is hereby granted to copy reproduce r?e?-?distribute or otherwise use this software (as long as|provided)" -# -%ENTRY% _LT_FREE_23 -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and sell this software and its documentation (for any purpose i|i)s hereby granted without fee provided that this permission notice appears? in supporting documentation" -%ALIAS% _FREE_last_perm -# -%ENTRY% _LT_FREE_24 -%KEY% "distribut" -%STR% "you may freely use modify and r?e?-?distribute =FEW= as either binary or source or both" -%ALIAS% _FREE_first_dist -# -%ENTRY% _LT_FREE_25 -%KEY% "distribut" -%STR% "is copyrighted as noted below it may be freely copied modified and r?e?-?distributed provided that the copyright notice is preserved on all copies" -# -%ENTRY% _LT_FREE_26 -%KEY% "distribut" -%STR% "use modification and r?e?-?distribution of this software is hereby granted provided that this entire copyright notice is included on any copies of this software and applications and derivations thereof" -# -%ENTRY% _LT_FREE_27 -%KEY% "distribut" -%STR% "may be r?e?-?distributed freely for this purpose in full or in part provided that this entire copyright notice is included on any copies of this software and applications and derivations thereof" -# -%ENTRY% _LT_FREE_28 -%KEY% "distribut" -%STR% "r?e?-?distribution and use in source and binary forms of parts of or the whole original or derived work are permitted provided that the original work is properly attributed to the author" -# -%ENTRY% _LT_FREE_29 -%KEY% "distribut" -%STR% "r?e?-?distribution and use in source forms with and without modification are permitted provided that this entire comment appears intact r?e?-?distribution in binary form may occur without any restrictions" -# -%KEY% "distribut" -%ENTRY% _LT_FREE_30 -%STR% "permits unlimited r?e?-?distribution of source and binaries except that every(body|one) always has the unconditional liberty to distribute binaries" -# -%ENTRY% _LT_FREE_31 -%KEY% "distribut" -%STR% "free software and you may (use c|c)opy modify and distribute =FEW= for any purpose and without any fee" -# -%ENTRY% _LT_FREE_32 -%KEY% "distribut" -%STR% "unlimited distribution and/or modification is allowed as long as this copyright notice remains intact" -# -%ENTRY% _LT_FREE_33 -%KEY% "distribut" -%STR% "is freely r?e?-?distributable and may be used for any purpose this copyright notic(e|e and the following copyright notice) must (be (re-?|main)tained|remain) (intact|unchanged)" -# -%ENTRY% _LT_FREE_34 -%KEY% "distribut" -%STR% "licen[cs]e is hereby granted to use this (file|product|program|sourc(e|e code)|software|work|code|document|page) and distribute it freely as long as this copyright notice is retained and modifications are clearly marked" -# -%ENTRY% _LT_FREE_35 -%KEY% "distribut" -%STR% "you are free to use modify and distribute this (file|product|program|sourc(e|e code)|software|work|code|document|page) without limitation" -# -%ENTRY% _LT_FREE_36 -%KEY% "distribut" -%STR% "licen[cs]e permits you to use =FEW= at no charge under the condition that if you use the software in an application you r?e?-?distribute the complete source code for your application must be available and freely r?e?-?distributable" -# -%ENTRY% _LT_FREE_37 -%KEY% "distribut" -%STR% "free software you (can|may) r?e?-?distribute (it a|a)nd/or modify it as you wish as long as you don t claim that you wrote it" -# -%ENTRY% _LT_FREE_38 -%KEY% "distribut" -%STR% "are granted the right to use and r?e?-?distribute the source code or parts of it even single words and letters provided that the copyright notice and the licen[cs]e terms will not be removed" -# -%ENTRY% _LT_FREE_39 -%KEY% "distribut" -%STR% "sourc(e|e code) (for|of) =FEW= is opene?d? and (it i|i)s r?e?-?distributed as free software you (can|may) obtain the sourc(e|e code) and improve" -##### -# DELETED: a copy of this software and associated documentation files -# the Software ... persons to whom the Software is furnished to do so -# subject to the following conditions -##### -%ENTRY% _LT_FREE_40 -%KEY% "distribut" -%STR% "to deal in the software without restriction including without limitation the rights to use copy modify merge publish distribute sublicen[cs]e and/or sell copies of the software and to permit" -# -%ENTRY% _LT_FREE_41 -%KEY% "distribut" -%STR% "distribution of modified =FEW= sources in separate form or as a part of other software is permitted provided that it is clearly stated in the documentation and source comments" -# -%ENTRY% _LT_FREE_42 -%KEY% "distribut" -%STR% "is free software you (can|may) r?e?-?distribute (it a|a)nd/or modify it at your option" -# -%ENTRY% _LT_FREE_43 -%KEY% "distribut" -%STR% "permission to use copy modify distribute and sell this file for any purpose is hereby granted without fee provided that the above copyright and this permission notice appear in all copies" -# -%ENTRY% _LT_FREE_44 -%KEY% "distribut" -%STR% "(can|may) use it modify it distribute it with your software or do just about anything" -# -%ENTRY% _LT_FREE_45 -%KEY% "distribut" -%STR% "distribution and use (is|are) free also for commercial" -# -%ENTRY% _LT_FREE_46 -%KEY% "distribut" -%STR% "freely r?e?-?distributed as long as (the|this) copyright (message|notice) (is included and r|r)emains (intact|without (mod|chang))" -# -%ENTRY% _LT_FREE_47 -%KEY% "distribut" -%STR% "is free you (can|may) r?e?-?distribute it without any restrictions modifications or derived work must retain the copyright and list all authors" -# -%ENTRY% _LT_FREE_48 -%KEY% "distribut" -%STR% "(is|are) granted the right to use and r?e?-?distribute the source code or parts of it" -# -%ENTRY% _LT_FREE_49 -%KEY% "distribut" -%STR% "may be freely copied mirrored modified =FEW= request is that this README file remain intact and be r?e?-?distributed along with any modified version" -# -%ENTRY% _LT_FREE_50 -%KEY% "distribut" -%STR% "is free software you have unlimited permission to copy distribute and modify it" -# -%ENTRY% _LT_FREE_51 -%KEY% "distribut" -%STR% "copying and distribution of this file with or without modification are permitted provided" -# -%ENTRY% _LT_FREE_52 -%KEY% "distribut" -%STR% "softwar(e|e and documentation) may be r?e?-?distributed freely" -# -%ENTRY% _LT_FREE_53 -%KEY% "distribut" -%STR% "(can|may|to) freely copy and distribute it as long as you recognize =FEW= author and mark any changes" -# -%ENTRY% _LT_FREE_54 -%KEY% "distribut" -%STR% "(is|are) free and open software you may use modify distribute and sell" -# -%ENTRY% _LT_FREE_55 -%KEY% "distribut" -%STR% "(is|are) free software you may use =FEW= for any purpose including modification/r?e?-?distribution so long as this header remains intact" -# -%ENTRY% _LT_FREE_56 -%KEY% "distribut" -%STR% "granted to anyone to use r?e?-?distribute and modify =FEW= in any way provided that the above copyright notice is left intact" -# -%ENTRY% _LT_FREE_57 -%KEY% "distribut" -%STR% "(can|may) be used modified copied r?e?-?distributed and sold in both source and binary form provided that the above copyright and these terms are retained" -# -%ENTRY% _LT_FREE_58 -%KEY% "distribut" -%STR% "unlimited permission is granted to use copy and distribute =FEW= with or without modification either commercially and noncommercially" -%ALIAS% _LT_MPLUS_FONT -# -%ENTRY% _LT_FREE_59 -%KEY% "distribut" -%STR% "(can|may) be freely r?e?-?distributed provided that all copyright notices are retained" -# -%ENTRY% _LT_FREE_60 -%KEY% "distribut" -%STR% "source code is freely redistributable and may be used for any purpose" -# -%ENTRY% _LT_FREE_61 -%KEY% "distribut" -%STR% "distribution and use in source and binary forms are permitted without restriction or fee of any kind as long as this notice" -# -%ENTRY% _LT_FREE_62 -%KEY% "distribut" -%STR% "distribute and use freely there are no restrictions on further dissemination and usage except those imposed by the laws of your country of residence" -# -%ENTRY% _LT_FREE_63 -%KEY% "distribut" -%STR% "permission is granted to distribute modify and use =FEW= as long as this comment is not removed or changed" -# -%ENTRY% _LT_FREE_64 -%KEY% "distribut" -%STR% "permission to use copy modify and r?e?-?distribute =FEW= for any purpose is hereby granted without fee provided (that t|t)he above copyright notice appear in all copies" -# -%ENTRY% _LT_FREE_65 -%KEY% "distribut" -%STR% "permission to use copy modify sell and distribute =FEW= is hereby granted without fee provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear" -# -%ENTRY% _LT_FREE_66 -%KEY% "distribut" -%STR% "permission is granted to copy distribute and/or modify any part of this" -# -%ENTRY% _LT_FREE_67 -%KEY% "distribut" -%STR% "permission is granted to freely use copy modify and r?e?-?distribute =FEW= provided that the author is not construed to be liable for any results" -%ALIAS% _FREE_last_dist -# -%ENTRY% _LT_FREE_68 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "every(body|one) is permitted to do anything on this program including copying modifying improving as long as you don? t try to pretend that you wrote it ie the above copyright notice has to appear in all copies" -%ALIAS% _LT_FUJITSU -%ALIAS% _FREE_first_other -##### -# DELETED: notice and the disclaimer below are preserved without change -##### -%ENTRY% _LT_FREE_69 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "every(body|one) is hereby grante(d|d the) rights? to use copy and modify this (file|product|program|sourc(e|e code)|software|work|code|document|page) provided only that this copyright" -# -%ENTRY% _LT_FREE_70 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "are allowed to change and copy =SOME= if you keep the copyright message intact" -##### -# DELETED: ... it is a modified version and the person(s) who modified it -##### -%KEY% "so(ftware|urce)" -%ENTRY% _LT_FREE_71 -%STR% "free software you are allowed to use and distribute (it|them|this software) in any way you like you are also allowed to make modified versions of it but you (can|may) distribute a modified version only if you clearly indicate that" -# -%ENTRY% _LT_FREE_72 -%KEY% "so(ftware|urce)" -%STR% "this software (can|may) be used freely for any purpose any derived versions? of this software must be clearly marked as such" -# -%ENTRY% _LT_FREE_73 -%KEY% "(\|l?gpl)" -%STR% "is free you (can|may) do with it whatever you (want|like|desire|wish)" -# -%ENTRY% _LT_FREE_74 -%KEY% "(\|l?gpl)" -%STR% "in this (release|directory|product|distribution) (is|are|are all) free software" -# -%ENTRY% _LT_FREE_75 -%KEY% "(\|l?gpl)" -%STR% "free to use as you see fit" -# -%ENTRY% _LT_FREE_77 -%KEY% "distribut" -%STR% "may be used for any purpose as long as this notice remains intact on all source code distributions" -# -%ENTRY% _LT_FREE_78 -%KEY% "permi[st]" -%STR% "permission is hereby granted to copy =FEW= for any purpose" -# -%ENTRY% _LT_FREE_79 -%KEY% "source" -%STR% "freedom to use these sources for whatever you want =SOME= is hereby granted" -# -%ENTRY% _LT_FREE_80 -%KEY% "distribut" -%STR% "you may (re)?distribute unmodified or modified versions of this source code provided =FEW= copyright notice =FEW= following conditions are retained" -# -%ENTRY% _LT_FREE_81 -%KEY% "distribut" -%STR% "you may use copy modify and distribute this code for any purpose =FEW= and without fee" -# -%ENTRY% _LT_FREE_82 -%KEY% "restrict" -%STR% "you may use this program =SOME= as desired without restriction" -# -%ENTRY% _LT_FREE_83 -%KEY% "restrict" -%STR% "code is released =FEW= with no restrictions on usage" -# -%ENTRY% _LT_FREE_84 -%KEY% "restrict" -%STR% "you may (re)?distribute (and|or|and/or) modify =FEW= without restriction of copyright" -# -%ENTRY% _LT_FREE_85 -%KEY% "permi[st]" -%STR% "permission to use copy modify and distribute this software is freely granted provided that this notice is preserved" -# -%ENTRY% _LT_FREE_86 -%KEY% "licen[cs]" -%STR% "license AllPermissive" -# -%ENTRY% _LT_FREE_87 -%KEY% "software" -%STR% "any use of this software is permitted provided that this notice is not removed" -# -%ENTRY% _LT_FREE_88 -%KEY% "commerc" -%STR% "may be freely used for any purpose commercial or otherwise =SOME= following notice must appear" -# -%ENTRY% _LT_FREE_89 -%KEY% "permi[st]" -%STR% "permission is granted to freely use copy modify and (re)?distribute =FEW= provided that the author is not (construed to be liable|responsible) for any results of using the software =SOME= this notice is not modified" -# -%ENTRY% _LT_FREE_90 -%KEY% "permi[st]" -%STR% "permission is granted for =FEW= all use providing that this copyright is (properly )?acknowledged" -# -%ENTRY% _LT_FREE_91 -%KEY% "software" -%STR% "free software you can (re)distribute it and =FEW= modify it as you like" -# -%ENTRY% _LT_FREE_92 -%KEY% "permi[st]" -%STR% "(re)distribution and use in source and binary forms are freely permitted =SOME= copyright notice =SOME= (is|are) duplicated" -# -%ENTRY% _LT_FREE_93 -%KEY% "distribut" -%STR% "author grants irrevocable permission =FEW= to use modify and distribute =FEW= in any way that does not diminish the rights of anyone else to use modify and distribute" -# -%ENTRY% _LT_FREE_94 -%KEY% "permi[st]" -%STR% "permission is granted to r?e?-?distribute =FEW= in any (manner|way) provid(ed|ing) (that )?this (copyright )?notice (remains intact|(is (not modified|acknowledged|not removed)))" -# -%ENTRY% _LT_FREE_95 -%KEY% "distribut" -%STR% "freely distributable without licensing fees" -# -%ENTRY% _LT_FREE_96 -%KEY% "software" -%STR% "rights are granted to use this software in any way =FEW= this notice is not removed" -# -%ENTRY% _LT_FREE_97 -%KEY% "software" -%STR% "can be included in commercial software packages =FEW= we only ask that proper credit be given to the authors" -# -%ENTRY% _LT_FREE_98 -%KEY% "licen[cs]" -%STR% "perpetual unlimited permission to copy modify and relicense" -# -%ENTRY% _LT_FREE_99 -%KEY% "distribut" -%STR% "may be used and distributed freely for any purposes? there is no warranty" -# -%ENTRY% _LT_FREE_100 -%KEY% "permi[st]" -%STR% "authors grant any (other )? =FEW= permission to use or modify this software as long as this message is kept with the software" -# -%ENTRY% _LT_FREE_101 -%KEY% "distribut" -%STR% "this (source|software|program) may be freely distributed however i would be interested in any changes that are made" -# -%ENTRY% _LT_FREE_102 -%KEY% "\" -%STR% "you may do anything with this at your own risk" -# -%ENTRY% _LT_FREE_103 -%KEY% "(©|\(c\)|copyright|\[^+:]|copy)" -%STR% "you make absolutely no changes to your copy =FEW= if you do make changes you name it something other" -# -%ENTRY% _LT_FREE_104 -%KEY% "(\|l?gpl)" -%STR% "you are free to use this (code|program|file|sw|software) for any purpose" -# -%ENTRY% _LT_FREE_105 -%KEY% "distribut" -%STR% "r?e?distribution and modification =FEW= in any medium =FEW= is permitted without restriction" -# -%ENTRY% _LT_FREE_106 -%KEY% "copyright" -%STR% "(can|may) be freely copied used and modified provid(ed|ing) =FEW= copyright" -# -%ENTRY% _LT_FREE_107 -%KEY% "\" -%STR% "completely free stuff do whatever you want with it" -# -%ENTRY% _LT_FREE_108 -%KEY% "copyright" -%STR% "i retain copyright in this code but I encourage its free use" -# -%ENTRY% _LT_FREE_109 -%KEY% "restrict" -%STR% "file can be copied and used freely without restrictions" -# -%ENTRY% _LT_FREE_110 -%KEY% "distribut" -%STR% "you may freely use modify and/or r?e?distribute this file" -# -%ENTRY% _LT_FREE_111 -%KEY% "\" -%STR% "free for all purposes without any express guarantee" -# -%ALIAS% _FREE_last_other -%ALIAS% _FREECLAIM_last -# -%ENTRY% _LT_FREEART_V10 -%KEY% "licen[cs]" -%STR% "with this free art licen[cs]e you are authori[sz]ed to copy distribute and/?o?r? freely transform the work of art" -# -%ENTRY% _LT_FREEART_V13 -%KEY% "licen[cs]" -%STR% "related rights shall not challenge the rights granted by this licen[cs]e" -##### -# DELETED: ... this licen[cs]e to their own work (as|so) long as the -# entire licen[cs]e including the above notices and this paragraph -# (are|is) copied with no changes additions or deletions -##### -%ENTRY% _LT_FREEPL -%KEY% "permi[st]" -%STR% "aladdin enterprises hereby grants to anyone the permission to apply" -##### -%ENTRY% _LT_FREEPLref -%KEY% "licen[cs]" -%STR% "refer to the (aladdin =FEW= f|f)ree public licen[cs]e" -# -%ENTRY% _LT_FREEPLref_1 -%KEY% "licen[cs]" -%STR% "subject to the (aladdin =FEW= f|f)ree public licen[cs]e" -##### -# DELETED: ... provided that this copyright notice appears intact permission -# is also granted to adapt this software to produce derivative works as long -# as the modified versions carry this copyright notice -##### -# -%ENTRY% _LT_freertos_exception_20 -%KEY% =NULL= -%STR% "permission to link FreeRTOS with independent modules that communicate with FreeRTOS solely through the FreeRTOS API interface" -# -%ENTRY% _LT_freertos_exception_1 -%KEY% "distribut" -%STR% "modification to the GPL is included to allow you =FEW= distribute a combined work that includes FreeRTOS without =FEW= obliged to provide the source code for proprietary components" -# -%ENTRY% _LT_freertos_exception_2 -%KEY% "licen[cs]" -%STR% "copyright holders of FreeRTOS give you permission to link FreeRTOS with independent modules to produce a statically linked executable regardless of the license terms of these independent modules and to copy and distribute the resulting executable under terms of your choice" -%ENTRY% _LT_FREE_SW -%KEY% "distribut" -%STR% "permission is granted to freely reproduce and distribute =FEW= possibly in exchange for a fee" -##### -# DELETED: ... =ANY= unaltered any additions deletions or changes to the -# original files must be clearly indicated in accompanying documentation -##### -%ENTRY% _LT_FREETYPE -%KEY% "distribut" -%STR% "r?e?-?distribution of source code must retain this licen[cs]e file" -# -%ENTRY% _LT_FREETYPEref -%KEY% "distribut" -%STR% "part of the freetype project and may only be used modified and/?o?r? r?e?-?distributed under the terms of the freetype project licen[cs]e" -##### -# DELETED: free software =SOME= ... (as|so) long as this notice is preserved -##### -%ENTRY% _LT_FSF_1 -%KEY% "permi[st]" -%STR% "gives unlimited permission to copy and/or distribute it with or without modifications" -##### -# DELETED: ... of =SOME= in any medium provided that the copyright notice -# (and|and this) permission notice are preserved and that the distributor -# grants the recipient permission for further re-?distribution -##### -%ENTRY% _LT_FSF_2 -%KEY% "permi[st]" -%STR% "permission is granted to anyone to make or distribute verbatim copies" -##### -# DELETED: ... with or without modification are permitted provided -##### -%ENTRY% _LT_FSF_3 -%KEY% "distribut" -%STR% "verbatim copying and/?o?r? distribution of this =FEW= is permitted in any medium provided" -# -%ENTRY% _LT_FSF_4 -%KEY% "restrict" -%STR% "you (can|may) r?e?-?distribute (it a|a)nd/or modify it without restriction" -# -%ENTRY% _LT_FSF_5 -%KEY% "distribut" -%STR% "and you are welcome to r?e?-?distribut(e|e copies of) it under certain conditions" -# -%ENTRY% _LT_FSFref1 -%KEY% "permi[st]" -%STR% "the free software foundation gives unlimited permission" -# -%ENTRY% _LT_FSFAP -%KEY% "distribut" -%STR% "copying and distribution of this file with or without modification are permitted in any medium without royalty provided" -# -%ENTRY% _LT_FSFUL -%KEY% "distribut" -%STR% "gives unlimited permission to copy distribute and modify it" -# -%ENTRY% _LT_LG -%KEY% "licen[cs]" -%STR% "License agreement" -# -%ENTRY% _LT_FSFref2 -%KEY% "distribut" -%STR% "you may copy distribute and/?o?r? modify it freely as long as" -# -%ENTRY% _LT_GARMIN_EULA -%KEY% "so(ftware|urce)" -%STR% "this software is owned by garmin (ltd|limited) =SOME= and is protected under copyright laws and international copyright treaties" -##### -# DELETED: ... solely for your organi[sz]ation -##### -%ENTRY% _LT_GCA -%KEY% "licen[cs]" -%STR% "this licen[cs]e permits you to use copy and/?o?r? modify majordomo" -# -%ENTRY% _LT_GCC_exception_20 -%KEY% "permi[st]" -%STR% "Free Software Foundation gives you unlimited permission to link the compiled version of this file into combinations with other programs" -# -%ENTRY% _LT_GCC_exception_31_1 -%KEY% "permi[st]" -%STR% "You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules" -# -%ENTRY% _LT_GCC_exception_31_2 -%KEY% "permi[st]" -%STR% "you are granted additional permissions =FEW= GCC Runtime Library Exception (version |v ?)3\.?1" -# -%ENTRY% _LT_GENIVIAref -%KEY% "commerc" -%STR% "Genivia =FEW= licen[cs]e for commercial use" -# -%ENTRY% _LT_GEN_EULA -%KEY% "licen[cs]" -%STR% "use of =SOME= is (under|govern|control|disribut|offer|cover|availabl|protect|subject|comes|\) =FEW= licen[cs]e" -# -%ENTRY% _LT_GEN_IP_1 -%KEY% "in(demnif|tellect)" -%STR% "has intellectual property rights relating to technolog" -# -%ENTRY% _LT_GEN_IP_2 -%KEY% "in(demnif|tellect)" -%STR% "is intellectual property (of|belonging to)" -# -%ENTRY% _LT_GEN_IP_3 -%KEY% "in(demnif|tellect)" -%STR% "have patents patent applications trademarks copyrights or other intellectual property rights covering subject matter" -##### -# DELETED: ... the valuable property of =SOME= or its licen[cs]ors -##### -%ENTRY% _LT_GEN_PROPRIETARY_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "copyright patent trade secret and other intellectual property rights =SOME= are and shall remain" -# -%ENTRY% _LT_GEN_PROPRIETARY_2 -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "use disclosure or reproduction of this software is strictly prohibited except under written licen[cs]e" -# -%ENTRY% _LT_GEN_PROPRIETARY_3 -%KEY% "permi[st]" -%STR% "((can|do|shall|may|must) not|cannot) (use|r?e?-?distribute|copy|modify|sell) =FEW= without (prior w|w)ritten permission" -# -%ENTRY% _LT_GEN_PROPRIETARY_4 -%KEY% "licen[cs]" -%STR% "(use|(re)distribution|disclosure) =SOME= is limited by =SOME= license agreement" -# -%ENTRY% _LT_GEN_PROPRIETARY_5 -%KEY% "\" -%STR% "this program is proprietary" -# -%ENTRY% _LT_GEN_PROPRIETARY_6 -%KEY% "copyright" -%STR% "reproduction =FEW= is prohibited without the written (consent|permission) of the copyright owner" -# -%ENTRY% _LT_GEN_PROPRIETARY_7 -%KEY% "\" -%STR% "this (software|program|file) is (the )?confidential and proprietary information of" -# -%ENTRY% _LT_GEN_PROPRIETARY_8 -%KEY% "licen[cs]" -%STR% "this software is furnished under a license agreement =SOME= and may only be used or reproduced in accordance with the terms of (those|that|the) agreement" -##### -# Almost identical to GPLref6 (the " ?" construct (below) IS INTENTONAL -##### -%ENTRY% _LT_GFDLref1 -%KEY% "distribut" -%STR% "permission is granted to copy distribute and/or modify this document under the terms =SOME= GNU =SOME= (gfdl|free documentation ?licen[cs]e)" -##### -# DELETED: designed this licen[cs]e ... free software needs free -# documentation a free program should come with manuals -##### -%ENTRY% _LT_GFDL -%KEY% "so(ftware|urce)" -%STR% "in order to use it for manuals for free software because" -# -%ENTRY% _LT_GIFTWARE -%KEY% "cooperation" -%STR% "is gift-?ware\.? it was created by a number of people working in cooperation,? and is given to you freely" -##### -# DELETED: ... an appropriate copyright notice -##### -%ENTRY% _LT_GLIDE_3DFX -%KEY% "\" -%STR% "conspicuously and appropriately publish on each copy of a derivative work" -##### -# A known copy of this licen[cs]e leaves off the "y" in "only" [sic] -##### -%ENTRY% _LT_GLIDE_GPL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "subject to copyright protection and is offered only? pursuant to the 3dfx glide (general p|p)ublic licen[cs]e" -# -%ENTRY% _LT_GNU_COPYLEFT -%NOCHECK% -%KEY% "(\|l?gpl)" -%STR% "is (gnu|gpl|lgpl) copyleft" -# -%ENTRY% _LT_GNU_1 -%KEY% "distribut" -%STR% "distributed in the hope that (it|they) will be useful" -# -%ENTRY% _LT_GNU_2 -%KEY% "licen[cs]" -%STR% "(see|refer to) =FEW= general public licen[cs]e for full details" -# -%ENTRY% _LT_GNU_3 -%KEY% "permi[st]" -%STR% "every(body|one) is granted permission to copy modify and r?e?-?distribute" -# -%ENTRY% _LT_GNU_4 -%KEY% "licen[cs]" -%STR% "you should have received a copy of the =SOME= licen[cs]e along" -# -%ENTRY% _LT_GNU_GETTEXT -%KEY% =NULL= -%STR% "please note that the actual code of the GNU gettext library is covered" -# -%ENTRY% _LT_GNU_PROJECTS -%KEY% "distribut" -%STR% "may only be used modified and r?e?-?distributed under the terms of the (emacs|gphoto) project licen[cs]e" -# -%ENTRY% _LT_GNUPLOT_1 -%KEY% "distribut" -%STR% "not the right to distribute the complete modified source code" -# -%ENTRY% _LT_GNUPLOT_2 -%KEY% "distribut" -%STR% "distribute =FEW= source modifications from the released version in the form of a patch file" -# -%ENTRY% _LT_GOOGLE_1 -%KEY% "(condit|vers)ion" -%STR% "these terms of service apply to the executable code version of google" -# -%ENTRY% _LT_GOOGLE_2 -%KEY% "licen[cs]" -%STR% "source code for =FEW= is available free of charge under open source software licen[cs]e agreements" -##### -# DELETED: you may reproduce it under the terms =SOME= ... -##### -%ENTRY% _LT_GPDLref -%KEY% "licen[cs]" -%STR% "graphic documentation project copying licen[cs]e aka GPDL" -# -%ENTRY% _LT_GPL_ALT -%KEY% "licen[cs]" -%STR% "alternatively =SOME= may be (used|r?e?-?distributed) under the terms =SOME= (gnu|gnu general) =SOME= public licen[cs]e" -##### -# DELETED: ... this file as part of a program that contains a -# configuration script generated by Autoconf you may include it under -# the same distribution terms that you use for the rest of that program -##### -# Have seen this predominantly with files containing _LT_GPLref1, but also -# a few containing _LT_GPLref2 -##### -%ENTRY% _LT_GPL_EXCEPT_0 -%KEY% =NULL= -%STR% "(exception =SOME= (gpl|GNU General Public licen[cs]e)|\)" -# -%ENTRY% _LT_GPL_EXCEPT_1 -%KEY% "licen[cs]" -%STR% "as a special exception to the GNU (general p|p)ublic licen[cs]e if you distribute" -# -%ENTRY% _LT_GPL_EXCEPT_2 -%KEY% "licen[cs]" -%STR% "as a special exception to the GNU (general p|p)ublic licen[cs]e =SOME= may be r?e?-?distributed" -# -%ENTRY% _LT_GPL_EXCEPT_3 -%KEY% "(\|l?gpl)" -%STR% "gpl (plus|with) a( special|n|n added) exception" -# -%ENTRY% _LT_GPL_EXCEPT_4 -%KEY% "licen[cs]" -%STR% "in addition to the permissions in the GNU (general p|p)ublic licen[cs]e =FEW= gives you unlimited permission to link the compiled version" -# -%ENTRY% _LT_GPL_EXCEPT_5 -%KEY% "permi[st]" -%STR% "this exception is an additional permission under section 7 of the gnu general public license version 3" -# -%ENTRY% _LT_GPL_EXCEPT_6 -%KEY% "permi[st]" -%STR% "special exception =SOME= permission to link this (library|software) with =SOME= to produce an executable" -# -%ENTRY% _LT_GPL_EXCEPT_7 -%KEY% "licen[cs]" -%STR% "this (file |library )?does not (by itself )?cause the resulting (work|executable) to be covered by the gnu general public license" -# -%ENTRY% _LT_gnu_javamail_exception_1 -%KEY% "gnu" -%STR% "GNU JavaMail is distributed in the hope that it will be useful =ANY= special exception =SOME= you link this library with other files to produce an executable" -# -%ENTRY% _LT_gnu_javamail_exception_2 -%KEY% "gnu" -%STR% "as a special exception if you link this library with other files to produce an executable this library does not by itself cause the resulting executable to be covered by the GNU General Public License" -# -%ENTRY% _TEXT_CLASSPATH -%KEY% =NULL= -%STR% "class\ ?path" -# -%ENTRY% _LT_Libtool_exception -%KEY% =NULL= -%STR% "is built using GNU Libtool" -# -%ENTRY% _LT_GPL_EXCEPT_Trolltech -%KEY% =NULL= -%STR% "(as a special exception =SOME= trolltech|trolltech =FEW= gplexception)" -# -%ENTRY% _LT_GPL_SWI_PROLOG_EXCEPT -%KEY% "exception" -%STR% "as a special exception if you link (this library|program) with other files compiled with a free software compiler =SOME= does not by itself cause the resulting executable to be covered" -# -%ENTRY% _LT_GPL_UPX_EXCEPT -%KEY% "distribut" -%STR% "you must compress your program with a completely unmodified UPX version =FEW= either with our precompiled version =SOME= with a self compiled version of the unmodified UPX sources as distributed by us" -# -%ENTRY% _LT_GPL_FONT1 -%KEY% "permi[st]" -%STR% "give you permission to combine this code with free software libraries that are released under the GNU LGPL" -# -%ENTRY% _LT_GPL_FONT2 -%KEY% "distribut" -%STR% "you may copy and/?o?r? distribute such a system following the terms of the GNU GPL for this code and the LGPL for the libraries" -# -%ENTRY% _LT_GPL_FSF -%KEY% "distribut" -%STR% "under the terms =SOME= GNU =FEW= general public licen[cs]e which is r?e?-?distributed along with =SOME= by the free software foundation" -# -%ENTRY% _LT_GPL_META_DEBIAN -%KEY% "licen[cs]" -%STR% "debian packaging =ANY= licen[cs]ed under" -# -%ENTRY% _LT_GPL_NAMED -%KEY% "licen[cs]" -%STR% "(\|GNU) ((g?eneral p|p)ublic) licen[cs]e" -# -%ENTRY% _LT_GPL_NAMED_EXHIBIT -%KEY% "licen[cs]" -%STR% "exhibit [abc] =ANY= (\|GNU) ((g?eneral p|p)ublic) licen[cs]e" -# -%ENTRY% _LT_GPL_NAMED2 -%KEY% "gpl" -%STR% "(under|terms|releas) =SOME= [^al]gpl" -# -# To catch things like "this is GPL". -%ENTRY% _LT_GPL_NAMED3 -%KEY% "gpl" -%STR% "[^-\.]\" -# -# To catch things like "this is GPLV2". -%ENTRY% _LT_GPL_V2_NAMED -%KEY% "gpl" -%STR% "\" -# -%ENTRY% _LT_GPL_V2_NAMED_ref1 -%KEY% "gpl" -%STR% "[^l]gpl( )?v2" -# -%ENTRY% _LT_GPL_V2_NAMED_later -%KEY% "gpl" -%STR% "[^l]gpl(-| ?v)2\.?0?\+" -# -# To catch things like "this is GPLV3". -%ENTRY% _LT_GPL_V3_NAMED -%KEY% "gpl" -%STR% "\" -# -%ENTRY% _LT_GPL_V3_NAMED_later -%KEY% "gpl" -%STR% "[^al]gpl(-|v)3\.?0?\+" -# -%ENTRY% _LT_GPL_NAMED3_EXHIBIT -%KEY% "licen[cs]" -%STR% "Compatible Licences =SOME= (\|gnu general public license)" -# -%ENTRY% _LT_GPL_NAMED_COMPATIBLE -%KEY% "licen[cs]" -%STR% "licen[cs]e is compatible with =FEW= (\|gnu general public license)" -# -%ENTRY% _LT_GPL_NAMED_COMPATIBLE_1 -%KEY% =NULL= -%STR% "(\|gnu general public license) compatib(le|ility)" -# -%ENTRY% _LT_AGPL_NAMED -%KEY% "agpl" -%STR% "\" -# -%ENTRY% _LT_RPSL_COMPATIBLE -%KEY% "licen[cs]" -%STR% "compatible source licen[cs]es? for the realnetworks public source licen[cs]e" -##### -# FIX-ME: these 'patterns' are really references, are they not? -##### -%ENTRY% _LT_GPLpatt1 -%KEY% "\" -%STR% "under the terms =SOME= GNU ([^al]gpl|(general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_GPLpatt2 -%KEY% "(condit|vers)ion" -%STR% "subject to =SOME= terms and conditions =SOME= GNU ([^al]gpl|(general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_GPLref1 -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|\|code) =SOME= under =SOME= ([^al]gpl|GNU (general p|p)ublic licen[cs]e)" -##### -# DELETED: this =SOME= is free =SOME= ... -##### -%ENTRY% _LT_GPLref2 -%KEY% "distribut" -%STR% "you (can|may) r?e?-?distribute (it a|a)nd/or modify it =SOME= ([^al]gpl|GNU (general p|p)ublic licen[cs]e|GNU (general|public) licen[cs]e)" -##### -# DELETED: all =SOME= in this =SOME= ... -##### -%ENTRY% _LT_GPLref3 -%NOCHECK% -%KEY% "(\|l?gpl)" -%STR% "(can|may) be freely r?e?-?distributed and/?o?r? used according to the terms of the ([^al]gpl|GNU (general p|p)ublic licen[cs]e|GNU public licen[cs]e)" -# -%ENTRY% _LT_GPLref4 -%KEY% "licen[cs]" -%STR% "see the GNU (general p|p)ublic licen[cs]e =SOME= for copying conditions" -# -%ENTRY% _LT_GPLref5 -%KEY% "distribut" -%STR% "conditions =SOME= distribution =SOME= ([^al]gpl|GNU (general p|p)ublic licen[cs]e)" -##### -# Almost identical to GFDLref1 -##### -%ENTRY% _LT_GPLref6 -%KEY% "distribut" -%STR% "permission is granted to copy distribute and/or modify this documents? under the terms =SOME= ([^al]gpl|(general p|p)ublic licen[cs]e)" -##### -# DELETED: (this|these) =SOME= ... -##### -%ENTRY% _LT_GPLref7 -%KEY% "(\|l?gpl)" -%STR% "(is|are) protected (by|according to) =SOME= GNU ([^al]gpl|(general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_GPLref8 -%KEY% "\" -%STR% "published under =SOME= GNU ([^al]gpl|(general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_GPLref9 -%KEY% "licen[cs]" -%STR% "(are|is) explicitly GPL-licen[cs]ed" -# -%ENTRY% _LT_GPLref10 -%NOCHECK% -%KEY% "permi[st]" -%STR% "(permission is granted|granted permission) to copy modify and/?o?r? r?e?-?distribute =ANY= conditions described in (the|the GNU) ([^al]gpl|(general p|p)ublic licen[cs]e)" -##### -# DELETED: permitted to re-?distribute use and modify =SOME= ... (the|the GNU) -# General Public Licen[cs]e provided that the following conditions are met -##### -%ENTRY% _LT_GPLref11 -%KEY% "distribut" -%STR% "part in conjunction with r?e?-?distribution of software governed by" -# -%ENTRY% _LT_GPLref12 -%KEY% "\" -%STR% "you may (r?e?-?distribute|reproduce and/or modify) it under the terms of =ANY= GNU (general p|p)ublic" -# -#### -# The wording in GPLref13 is very strange and unfortunately there are not test cases related to it. -# 'public license' phrase should not be identified as GPL, it is all too wide. -# gnu added before it as in ref14 and ref15 -#### -%ENTRY% _LT_GPLref13 -%KEY% "licen[cs]" -%STR% "(change|add|update|convert|switch|swap) =SOME= licen[cs]e =FEW= ([^al]gpl|gnu (general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_GPLref14 -%KEY% "(\|l?gpl)" -%STR% "(control|govern|draws? on|\|utili[sz]) =SOME= gnu ([^al]gpl|(general p|p)ublic licen[cs]e)" -##### -# NOTE: because this is so similar to GPLref1 (above), we have to be very -# careful about the verbs and adjectives we use ... -##### -%ENTRY% _LT_GPLref15 -%NOCHECK% -%KEY% "(\|l?gpl)" -%STR% "(distribute|develop|offere?d?|licen[cs]ed|available|protected|covered|provided|subject|comes|\<(and|or)\>) =SOME= ([^al]gpl|gnu (general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_GPLref16 -%KEY% "(\|l?gpl)" -%STR% "covered by the GNU (general p|p)ublic licen[cs]e and you are welcome" -# -%ENTRY% _LT_GPLref17 -%KEY% "(\|l?gpl)" -%STR% "\<(and|or)\> =SOME= gnu ((general p|p)ublic|general purpose) licen[cs]e" -# -%ENTRY% _LT_GPLref18 -%KEY% "licen[cs]" -%STR% "terms and conditions of the gnu ((general p|p)ublic|general purpose) licen[cs]e cover" -# -%ENTRY% _LT_GPLref19 -%KEY% "so(ftware|urce)" -%STR% "(distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|comes|used) as free software ([^al]gpl|gnu (general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_GPLref20 -%KEY% "licen[cs]" -%STR% "see the GNU general public licen[cs](e|e the licen[cs]e) for full details of the terms of using copying modifying and r?e?-?distributing" -# -%ENTRY% _LT_GPLref21 -%KEY% "licen[cs]" -%STR% "under the (terms of the )?(gnu )?general public licen[cs]e" -# -%ENTRY% _LT_GPLref22 -%KEY% "\" -%STR% "(licensed|released|distributed) under (the (terms of the )?)?(gnu )?(\|general public licen[cs]e)" -##### -# GPLv1 refers to 'licen[cs]e agreement'; GPLv2 simply calls it a 'licen[cs]e' -##### -# DELETED: cause the whole of any work that you distribute or publish that -# in whole or in part contains or is a derivative of this program or any part -# thereof to be ... -##### -%ENTRY% _LT_GPL_V1 -%KEY% "licen[cs]" -%STR% "licen[cs]ed at no charge to all third parties on terms identical to those contained in this licen[cs]e agreement" -# -%ENTRY% _LT_GPL_V2 -%KEY% "licen[cs]" -%STR% "under the terms of the gnu ((general p|p)ublic|general purpose) (([v-]?| ?version) ?)2 licen[cs]e" -# -%ENTRY% _LT_GPL_V2_ref1 -%KEY% "licen[cs]" -%STR% "under (the terms of )?the gnu ((general )?public|general purpose|general) licen[cs]e (([v-]?| ?version) ?)2" -# -%ENTRY% _LT_GPL_V2_ref -%KEY% "licen[cs]" -%STR% "licen[cs]ed under (the )?((general p|p)ublic|general purpose) licen[cs]e (version |v)2" -# -%ENTRY% _LT_GPL_V2_ref2 -%KEY% "licen[cs]" -%STR% "(re)?distribute =FEW= modify =FEW= under (the )?terms of version 2 =FEW= the (gnu )?((general p|p)ublic|general purpose) licen[cs]e" -# -%ENTRY% _LT_GPL_V2_ref3 -%KEY% "licen[cs]" -%STR% "licensed under the GPL =FEW= version 2 license" -# -%ENTRY% _LT_GPL_V2_ref4 -%KEY% "licen[cs]" -%STR% "licen[cs]ed under (the )?(gnu )?((general p|p)ublic|general purpose) licen[cs]e 2\.?0" -# -%ENTRY% _LT_GPL_V2_ref5 -%KEY% "\" -%STR% "released under version 2 of the (gnu )?gpl" -# -%ENTRY% _LT_GPL_V3_ref -%KEY% "licen[cs]" -%STR% "licen[cs]ed under (the )?((general p|p)ublic|general purpose) licen[cs]e (version |v)3" -##### -# DELETED: this licen[cs]e =SOME= ... saying it may be distributed under -# the terms =SOME= general public licen[cs]e -##### -%ENTRY% _LT_GPL_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "applies to any program or other work which contains a notice placed by the copyright holder" -##### -# Almost identical to _LT_GS -##### -%ENTRY% _LT_GPL_2 -%KEY% "distribut" -%STR% "may copy and/?o?r? distribute verbatim copies of =SOME= as you receive it in any medium provided that you conspicuously and appropriately publish on each copy =SOME= copyright notice" -# -%ENTRY% _LT_GPL3_NOT_AGPL -%KEY% "licen[cs]" -%STR% "covered work but the special requirements of the gnu affero general public licen[cs]e" -##### -# ... the scope of its coverage prohibits the exercise of or is -# conditioned on the non-exercise of one or more of the rights that -# are specifically granted under this Licen[cs]e -##### -%ENTRY% _LT_GPL3_PATENTS -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "patent licen[cs]e is discriminatory if it does not include within" -# -%ENTRY% _LT_GPL3ref -%KEY% "\" -%STR% "(distribu|offere?d?|released?|licen[cs]ed?|available|protected|provided) under =SOME= ([^al]gpl|GNU (general p|p)ublic licen[cs]e)(([v-]?| ?version) ?)3" -# -%ENTRY% _LT_GPL3ref2 -%KEY% "licen[cs]" -%STR% "licensed =FEW= under version 3 or any later version of the GNU General Public License" -# -%ENTRY% _LT_GPL3ref3 -%KEY% "licen[cs]" -%STR% "this license =FEW= refers to version 3 of the =FEW= GNU =FEW= general public license" -# -%ENTRY% _LT_GPL3ref4 -%KEY% "licen[cs]" -%STR% "this license =FEW= refers to version 3 of the GNU general public license" -# -%ENTRY% _LT_GPL_OR -%NOCHECK% -%KEY% "(\|l?gpl)" -%STR% "\<(either|or|alternately)\> =FEW= ([^al]gpl|GNU (general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_i2p_gpl_java_exception -%KEY% "distribut" -%STR% "as a special exception =FEW= permission to link the code of this program with the proprietary Java implementation =SOME= and distribute linked combinations including the two" -# -%ENTRY% _LT_IGNORE_CLAUSE_2 -%KEY% "licen[cs]" -%STR% "can be used in projects which are not available under (the )?gnu general public license" -# -%ENTRY% _LT_IGNORE_CLAUSE -%KEY% =NULL= -%STR% "to apply these terms =ANY= to (the|your) (program|library)" -##### -# This is an 'exclusionary' clause - the Python licen[cs]e for instance has -# the text "previously distributed under the GNU ...". We use this when -# looking for GNU licen[cs]es and want to NOT match it in that case. -##### -%ENTRY% _LT_FORMER_GNU -%KEY% "\" -%STR% "(previously|recently|formerly|has been|no longer) (distribu|offere?d?|released|licen[cs]ed|available|protected) =FEW= under =SOME= (gpl|gnu)" -# -%ENTRY% _LT_FREEBSD_DOC -%KEY% "distribut" -%STR% "r?e?-?distribution and/?o?r? use in source =SOME= and compiled forms =SOME= with or without modification are permitted provided" -# -%ENTRY% _LT_GS_GNU1 -%KEY% "permi[st]" -%STR% "granted permission to copy modify and/?o?r? r?e?-?distribute gnu ghostscript but only under =SOME= GNU (general p|p)ublic licen[cs]e" -# -%ENTRY% _LT_GS_GNU2 -%KEY% "(condit|vers)ion" -%STR% "versions entitled gnu ghostscript are r?e?-?distributed with the gnu =SOME= (gpl|general public licen[cs]e)" -##### -# Almost identical to _LT_GPL_2 -##### -%ENTRY% _LT_GS -%KEY% "distribut" -%STR% "you may copy and/?o?r? distribute verbatim copies of ghostscript source code as you receive it in any medium provided that you conspicuously and appropriately publish on each copy a valid copyright and licen[cs]e notice" -# -%ENTRY% _LT_GSOAPref13 -%KEY% "licen[cs]" -%STR% "subject to the gsoap public licen[cs]e (v|version )1\.?3" -# -%ENTRY% _LT_GSOAPref -%KEY% "licen[cs]" -%STR% "(distribu|offere?d?|released?|licen[cs]ed?|available|protected|governed|terms|subject) =SOME= the gsoap public licen[cs]e" -##### -# DELETED: you may use content from this licen[cs]e document as source -# material for your own ... Enhanced-Source Software Licen[cs]e Agreement -##### -%ENTRY% _LT_HACKTIVISMO -%KEY% "licen[cs]" -%STR% "licen[cs]e agreement but you may not use the name Hacktivismo" -# -%ENTRY% _LT_HAUPPAUGE -%KEY% "licen[cs]" -%STR% "this firmware is licen[cs]ed for use only in conjunction with Hauppauge component products use of the Firmware in conjunction with non-Hauppauge component products is not licen[cs]ed hereunder" -# -%ENTRY% _LT_HELIX_TITLE -%KEY% "licen[cs]" -%STR% "helix DNA technology binary research use licen[cs]e" -# -%ENTRY% _LT_HSQLDB_1 -%KEY% "licen[cs]" -%STR% "can be distributed (and used )?according to HSQLDB license" -# -%ENTRY% _LT_HSQLDB_2 -%KEY% "licen[cs]" -%STR% "distribution is permitted under the terms of the HSQLDB license" -# -### -# KEY has to set "permi[st]" because the string in which STR is searched -# is truncated with KEY "licen[cs]" in a way that STR is not matched -# in all cases, see test case hsqldb-ref4.txt -%ENTRY% _LT_HSQLDB_3 -%KEY% "permi[st]" -%STR% "permission is granted to distribute =SOME= under the terms of the HSQLDB license" -# -##### -# DELETED: ... customer will provide HP with reasonably detailed information -# regarding any intended disassembly or decompilation -##### -%ENTRY% _LT_HP_EULA1 -%KEY% "so(ftware|urce)" -%STR% "customer will not modify disassemble or decompile the software without HPs prior written consent where customer has other rights under statute" -# -%ENTRY% _LT_HP_EULA2 -%KEY% "permi[st]" -%STR% "licen[cs]ee may not reverse engineer decompile or disassemble the product except and only to the extent that it is permitted by applicable law notwithstanding this limitation" -# -%ENTRY% _LT_HP_EULA3 -%KEY% "legal" -%STR% "this end[ -]user licen[cs]e agreement EULA is a legal agreement between a you either an individual or a single entity and b Hewlett-Packard Company" -# -%ENTRY% _LT_HP_EULA4 -%KEY% "licen[cs]" -%STR% "(compaq|digital|\|hewlett[ -]packard|proliant) =SOME= licen[cs]e agreement" -# -%ENTRY% _LT_HP_IBM_1 -%KEY% "licen[cs]" -%STR% "international business machines corporation IBM and hewlett-packard corporation HP grant you a licen[cs]e to use" -# -%ENTRY% _LT_HP_IBM_2 -%KEY% "licen[cs]" -%STR% "(IBM and HP|HP and IBM) grant no other licen[cs]es express or implied by estoppel or otherwise to any intellectual property rights" -##### -# DELETED: enclosed =SOME= ... (as|so) long as you comply with the -# following limitations you are hereby authori[sz]ed to =SOME= use reproduce -# and modify the software -##### -%ENTRY% _LT_HP_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "includes copyrighted works of Hewlett-Packard Co for" -##### -# DELETED: permission to use copy and distribute this =SOME= ... -##### -##%ENTRY% _LT_HP_2 -##%KEY% "permi[st]" -##%STR% "is hereby granted provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear" -##### -# !! UNIQUE: is hereby granted without fee user agrees to display -##### -%ENTRY% _LT_HP_3 -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and/or sell" -# -%ENTRY% _LT_HP_snmp_pp -%KEY% "licen[cs]" -%STR% "user agrees to display the above copyright notice and this licen[cs]e notice" -##### -# A Unique string for this is "per the terms" -##### -%ENTRY% _LT_HP_4 -%KEY% "permi[st]" -%STR% "permission is granted to copy distribute and/or modify =SOME= per the terms =SOME= licen[cs]e" -##### -# DELETED: ... this software and its documentation for any purpose and -# without fee is granted provided that the above copyright notice appear -# in such copy -##### -%ENTRY% _LT_HP_5 -%KEY% "permi[st]" -%STR% "permission to use duplicate change and/?o?r? distribute" -# -%ENTRY% _LT_HP_6 -%KEY% "so(ftware|urce)" -%STR% "this software is licen[cs]ed not sold if you do not agree to these terms you may not use the software" -# -%ENTRY% _LT_HP_7 -%KEY% "permi[st]" -%STR% "permission to use copy and distribute this file for any purpose is hereby granted without fee provided that the file is not changed" -# -%ENTRY% _LT_HP_DEC -%KEY% "permi[st]" -%STR% "permission to use copy and distribute this software and its documentation for any purpos(e|e and) (with or w|w)ithout fee is hereby granted" -##### -# DELETED: ... the confidential technology of -# (digital equipment|hewlett[ -]packard|compaq) =SOME= possession use -# duplication or dissemination of the software and media -##### -%ENTRY% _LT_HP_PROPRIETARY_1 -%KEY% "so(ftware|urce)" -%STR% "the software contained on this media is proprietary to and embodies" -# -%ENTRY% _LT_HP_PROPRIETARY_2 -%KEY% "so(ftware|urce)" -%STR% "confidential computer software valid licen[cs]e from compaq required for possession use or copying" -# -%ENTRY% _LT_HP_PROPRIETARY_3 -%KEY% "so(ftware|urce)" -%STR% "hp grants you a licen[cs]e to use one copy of the software use means storing loading installing executing or displaying the software you may not modify the software or disable any licen[cs]ing" -# -%ENTRY% _LT_HPND_1 -%KEY% "distribut" -%STR% "not be used in advertising or publicity pertaining to distribution" -# -%ENTRY% _LT_HPND_2 -%KEY% "so(ftware|urce)" -%STR% "no representations about the suitability of this software" -##### -# DELETED: ... =ANY= is hereby granted provided that the above -# copyright notices? =SOME= appear in all copies -##### -%ENTRY% _LT_IBM_1 -%KEY% "so(ftware|urce)" -%STR% "licen[cs]e to use copy modify and distribute this software and its documentation for any purpos(e|e and without fee) is hereby granted" -##### -# DELETED: ... to use copy modify and distribute this software with or -# without fee provided that the above copyright notice and all paragraphs -# of this notice appear in all copies -##### -%ENTRY% _LT_IBM_2 -%KEY% "permi[st]" -%STR% "grants permission under its copyrights" -##### -# DELETED: ... to use copy modify and distribute this software with or -# without fee provided that the above copyright notice and all paragraphs -# of this notice appear in all copies -##### -%ENTRY% _LT_IBM_3 -%KEY% "licen[cs]" -%STR% "licen[cs]e subject to the licen[cs]e given below to use copy modify and/?o?r? distribute =SOME= for any purpose and without fee is hereby granted" -# -%ENTRY% _LT_IBM_4 -%KEY% "permi[st]" -%STR% "grants permission under its copyrights to use copy modify and distribute this software with or without fee provided that the above copyright notice =SOME= appear in all copies" -# -%ENTRY% _LT_IBM_AS_IS -%KEY% "so(ftware|urce)" -%STR% "this source and object code has been made available to you by IBM on an as-is basis" -# -%ENTRY% _LT_IBM_COURIER -%KEY% "permi[st]" -%STR% "hereby granted permission under the terms of the IBM/MIT X Consortium Courier Typefont agreement to execute reproduce distribute display market sell and otherwise transfer" -##### -# DELETED: -# agreement includes Part 1 General Terms Part 2 country-unique terms ... -##### -%ENTRY% _LT_IBM_EULA -%KEY% "licen[cs]" -%STR% "if any licen[cs]e information and proof of entitlement and is the complete agreement between you and ibm regarding the use of the program" -##### -# DELETED: -# agreement includes Part 1 General Terms Part 2 country-unique terms ... -##### -%ENTRY% _LT_IBM_JIKES -%KEY% "licen[cs]" -%STR% "subject to the terms of the IBM jikes compiler licen[cs]e agreement" -# -%ENTRY% _LT_IBM_OWNER -%NOCHECK% -%KEY% "(\|international business machines)" -%STR% "is owned by (\|international business machines) (corp|inc)" -# -%ENTRY% _LT_IBM_PLref1 -%KEY% "licen[cs]" -%STR% "(distribu|offere?d?|released?|licen[cs]ed?|available|protected|provided) under =SOME= ibm public licen[cs]e" -# -%ENTRY% _LT_IBM_PIBS -%KEY% "licen[cs]" -%STR% "source code has been made available to you by ibm on an as-is basis =SOME= source is licensed under ibm copyrights? to use it in any way" -##### -# DELETED: licen[cs]e to use copy modify and distribute this software -# and its documentation for any purpose =ANY= is ... -##### -%ENTRY% _LT_IBM_RECIP -%KEY% "\" -%STR% "hereby granted provided that licen[cs]ee provides a licen[cs]e to IBM corp to use copy modify and/?o?r? distribute derivative works" -# -%ENTRY% _LT_ICU_1 -%KEY% "licen[cs]" -%STR% "available under =FEW= ICU license =FEW= ICU 1\.?8\.?1 and later" -# -%ENTRY% _LT_ICU_2 -%KEY% "notice" -%STR% "except as contained in this notice =SOME= shall not be used in advertising or otherwise =SOME= dealings in this Software without prior written authorization of" -# -%ENTRY% _LT_ID_EULA -%KEY% "licen[cs]" -%STR% "this limited use software licen[cs]e agreement the agreement is a legal agreement between you the end-user and Id software inc" -# -%ENTRY% _LT_IDPLref -%KEY% "licen[cs]" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= initial developer[ ]?s public licen[cs]e" -# -%ENTRY% _LT_IEEE_DOC -%KEY% "distribut" -%STR% "r?e?-?distribution of this material is permitted so long as this notice and the corresponding notices within each" -##### -# The original IETF footprint: -# ... "document and translations of it may be copied and furnished to -# others and derivative works that comment on or otherwise explain it -# or assist in its implementation may be prepared copied published and -# distributed in whole or in part without restriction of any kind -# provided that the above copyright notice and this paragraph are -# included on all such copies and derivative works" -# ... gets chopped in half by whatever text-processor creates these -# documents, so we'll define a first- and second-part -##### -# DELETED: ... that comment on or otherwise explain it or assist in its -# implementation -##### -%ENTRY% _LT_IETF_1 -%KEY% "\" -%STR% "document and translations of it may be copied and/?o?r? furnished to others and derivative works" -# -%ENTRY% _LT_IETF_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "copyrights defined in the Internet Standards process must be followed or as required to translate it into languages" -# -%ENTRY% _LT_IETF_3 -%KEY% "restrict" -%STR% "subject to the rights licen[cs]es and restrictions contained in BCP 78 and except as set forth therein" -##### -# DELETED: however this document itself may not be ... notice or -# references to OASIS except as needed for the purpose of developing -# OASIS specifications -##### -%ENTRY% _LT_IETF_4 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "modified in any way such as by removing the copyright notice" -# -%ENTRY% _LT_IETF_5 -%KEY% "permi[st]" -%STR% "limited permissions granted above are perpetual and will not be revoked by the Internet Society" -# -%ENTRY% _LT_IETF_6 -%KEY% "legal" -%STR% "this document is subject to =FEW= the ietf trust.?s legal provisions relating to ietf documents" -# -%ENTRY% _LT_IETF_7 -%KEY% "copyright" -%STR% "person.?s.? controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications" -# -%ENTRY% _LT_IMAGEMAGICK -%KEY% "so(ftware|urce)" -%STR% "permission is hereby granted free of charge to any person obtaining a copy of this software and associated documentation files imagemagick to deal in" -# -%ENTRY% _LT_INDEMN_1 -%KEY% "in(demnif|tellect)" -%STR% "requir(e|ing) indemnification of licen[cs]ors? and authors? of that material by anyone" -%ALIAS% _INDEMNITY_first -# -%ENTRY% _LT_INDEMN_2 -%NOCHECK% -%KEY% "in(demnif|tellect)" -%STR% "(you|will|shall|must|hereby|effectively|expense|(agrees?|required) t(o|o forever)) (defend and i|i)ndemnif(y|y and defend) =SOME= (from|for) (and against a|a)n(y|y and all) (claim|cost|damage|demand|expense|fee|fine|judge?ment|lawsuit|legal|liabilit|loss|settle|suit|third)" -# -%ENTRY% _LT_INDEMN_3 -%NOCHECK% -%KEY% "in(demnif|tellect)" -%STR% "(you|will|shall|must|hereby|effectively|expense|(agrees?|required) t(o|o forever)) (defend and i|i)ndemnif(y|y and defend) =SOME= against a(ny|ll|ny and all) (claim|cost|damage|demand|expense|fee|fine|judge?me?ent|lawsuit|legal|liabilit|loss|settle|suit|third)" -# -%ENTRY% _LT_INDEMN_4 -%NOCHECK% -%KEY% "in(demnif|tellect)" -%STR% "(you|will|shall|must|hereby|effectively|expense|(agrees?|required) t(o|o forever)) (defend and i|i)ndemnif(y|y and defend) =SOME= (city|coll|instit|univ) =SOME= against a(ny|ll|ny and all) (claim|cost|damage|demand|expense|fee|fine|judge?me?ent|lawsuit|legal|liabilit|loss|settle|suit|third)" -# -%ENTRY% _LT_INDEMN_5 -%NOCHECK% -%KEY% "in(demnif|tellect)" -%STR% "(you|will|shall|must|hereby|effectively|expense|(agrees?|required) t(o|o forever)) (defend indemnify|indemnify defend|indemnify) and hold =SOME= harmless (from|for) (and against a|a)n(y|y and all) (claim|cost|damage|demand|expense|fee|fine|judge?ment|lawsuit|legal|liabilit|loss|settle|suit|third)" -# -%ENTRY% _LT_INDEMN_6 -%NOCHECK% -%KEY% "in(demnif|tellect)" -%STR% "(you|will|shall|must|hereby|effectively|expense|(agrees?|required) t(o|o forever)) (defend indemnify|indemnify defend|indemnify) and hold harmless =SOME= (from|for) (and against a|a)n(y|y and all) (claim|cost|damage|demand|expense|fee|fine|judge?ment|lawsuit|legal|liabilit|loss|settle|suit|third)" -# -%ENTRY% _LT_INDEMN_7 -%NOCHECK% -%KEY% "in(demnif|tellect)" -%STR% "(you|will|shall|must|hereby|effectively|expense|(agrees?|required) t(o|o forever)) (defend indemnify|indemnify defend|indemnify) and hold harmless =SOME= (city|coll|instit|univ) =SOME= (from|for) (and against a|a)n(y|y and all) (claim|cost|damage|demand|expense|fee|fine|judge?ment|lawsuit|legal|liabilit|loss|settle|suit|third)" -# -%ENTRY% _LT_INDEMN_8 -%NOCHECK% -%KEY% "in(demnif|tellect)" -%STR% "(you|will|shall|must|hereby|effectively|expense|(agrees?|required) t(o|o forever)) (defend indemnify|indemnify defend|indemnify) and hold harmless =SOME= (from and a|a)gainst (any|all|any and all) (claim|cost|damage|demand|expense|fee|fine|judge?ment|lawsuit|legal|liabilit|loss|settle|suit|third)" -# -%ENTRY% _LT_INDEMN_9 -%KEY% "in(demnif|tellect)" -%STR% "(you|will|shall|must|hereby|effectively|expense|(agrees?|required) t(o|o forever)) indemnify and keep =SOME= harmless (from|for) (and against a|a)n(y|y and all) (claim|cost|damage|demand|expense|fee|fine|judge?ment|lawsuit|legal|liabilit|loss|settle|suit|third)" -# -%ENTRY% _LT_INDEMN_10 -%KEY% "in(demnif|tellect)" -%STR% "(you|will|shall|must|(agrees?|required) t(o|o forever)) hold harmless indemnify and defend" -# -%ENTRY% _LT_INDEMN_11 -%KEY% "in(demnif|tellect)" -%STR% "(you|will|shall|must|hereby|effectively|expense|(agrees?|required) t(o|o forever)) indemnify =SOME= (from|for) (any|all) (claim|cost|damage|demand|expense|fee|fine|judge?ment|lawsuit|legal|liabilit|loss|settle|suit|third)" -# -%ENTRY% _LT_INDEMN_12 -%KEY% "in(demnif|tellect)" -%STR% "(you|will|shall|must|hereby|effectively|expense|(agrees?|required) t(o|o forever)) indemnify and hold =SOME= free (of|from|for) (any|all) (claim|cost|damage|demand|expense|fee|fine|judge?ment|lawsuit|legal|liabilit|loss|settle|suit|third)" -# -%ENTRY% _LT_INDEMN_13 -%KEY% "in(demnif|tellect)" -%STR% "to indemnify =SOME= in the case of =FEW= third party" -# -%ENTRY% _LT_INDEMN_14 -%KEY% "in(demnif|tellect)" -%STR% "shall be indemnified and held harmless by any party" -%ALIAS% _INDEMNITY_last -# -%ENTRY% _LT_INFOSEEK -%KEY% "permi[st]" -%STR% "permission to use copy modify and distribute this Python software =SOME= for any purpose subject to the restriction in the following sentence" -##### -# DELETED: ... with or without modification of the software and -# documentation provided that the following conditions -# are met -##### -%ENTRY% _LT_INNERNET -%KEY% "permi[st]" -%STR% "grant permission for r?e?-?distribution and/?o?r? use in source and binary forms" -# -%ENTRY% _LT_INNERNETref_V2 -%KEY% "licen[cs]" -%STR% "the inner net licen[cs]e version 2 applies to" -# -%ENTRY% _LT_INNERNETref -%KEY% "licen[cs]" -%STR% "the inner net licen[cs]e =FEW= applies to" -##### -# DELETED: ... use of th(e|is) software in conjunction with non-Intel -# component =SOME= is not licen[cs]ed hereunder -##### -%ENTRY% _LT_INTEL -%KEY% "licen[cs]" -%STR% "intel open source licen[cs]e" -# -%ENTRY% _LT_INTEL_1 -%KEY% "so(ftware|urce)" -%STR% "this software is licen[cs]ed for use only in conjunction with Intel component products" -##### -# DELETED: ... or controls to make have made use import offer to sell and -# sell utilize this software but solely to the extent that any such patent -# is necessary to utilize the software alone or in combination with an -# operating system licen[cs]ed under an approved open source licen[cs]e -##### -%ENTRY% _LT_INTEL_2 -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "intel corporation grants a world-wide royalty-free non-exclusive licen[cs]e under patents it now or hereafter owns" -# -%ENTRY% _LT_INTEL_3 -%KEY% "distribut" -%STR% "you may use copy publicly perform publicly display make derivative works and distribute this software" -# -%ENTRY% _LT_INTEL_4 -%KEY% "licen[cs]" -%STR% "this is your licen[cs]e from intel corp under its intellectual property rights" -# -%ENTRY% _LT_INTEL_5 -%KEY% "licen[cs]" -%STR% "in addition to the provisions of the common public licen[cs]e as included in =SOME= intel grants the recipient the right to use the name and trademark" -# -%ENTRY% _LT_INTEL_6 -%KEY% "licen[cs]" -%STR% "agree to intel =FEW= software licen[cs]e" -# -%ENTRY% _LT_INTEL_7 -%KEY% "licen[cs]" -%STR% "intel software licen[cs]e agreement" -# -%ENTRY% _LT_INTEL_EULA -%KEY% "licen[cs]" -%STR% "released under the terms of a licen[cs]e agreement between you licen[cs]ee and Intel" -##### -# DELETED: ... use of th(e|is) software in conjunction with non-Intel -# component =SOME= is not licen[cs]ed hereunder -##### -%ENTRY% _LT_INTEL_FW -%KEY% "so(ftware|urce)" -%STR% "do not use or load this firmware image the software until you have carefully read the following terms and conditions" -##### -# DELETED: ... by estoppel or otherwise to any intellectual property rights -# is granted herein -##### -%ENTRY% _LT_INTEL_RESTRICT -%KEY% "licen[cs]" -%STR% "except for a limited copyright licen[cs]e to copy =FEW= for internal use only no licen[cs]e express or implied" -# -%ENTRY% _LT_INTEL_WLAN -%KEY% "permit" -%STR% "intel cannot permit any manipulation by third parties of the software provided in binary format with the wireless wlan adapters" -# -%ENTRY% _LT_INTEL_ACPI -%KEY% "licen[cs]" -%STR% "Intel grants free of charge to any person =FEW= obtaining a copy of the source code =SOME= irrevocable perpetual worldwide license under Intel.s copyrights (in|for) the (base )?code distributed =FEW= by Intel =FEW= to copy make derivatives distribute use and display any portion of the (covered )?code in any form with the right to sublicense such rights" -# -%ENTRY% _LT_INTEL_BINARY -%KEY% "permi[st]" -%STR% "Neither the name of Intel Corporation nor the names of its suppliers may be used to endorse or promote products derived from this software without specific prior written permission" -# -%ENTRY% _LT_INTERLINK_EULA -%KEY% "legal" -%STR% "this end[ -]user licen[cs]e agreement eula is a legal agreement between you either an individual or an entity and interlink networks inc for the product identified above" -# -%ENTRY% _LT_INTRANET_ONLY -%KEY% "distribut" -%STR% "may only r?e?-?distribute =FEW= internally within your (company|department|(work[ -]?g|g)roup|organization) for example on (an?|your|the) intranet" -# -%ENTRY% _LT_NOT_INTERNET -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "may not make =FEW= available to =FEW= over the internet" -# -%ENTRY% _LT_IOS -%KEY% "permi[st]" -%STR% "permission to copy in any form is granted for use with =SOME= as defined in =FEW= provided" -##### -# DELETED: ... =SOME= and the purchaser =SOME= is granted the -# non-exclusive right to use the software for personal experimentation -# only provided that this copyright notice is retained -##### -%ENTRY% _LT_IOSOFT_SRCONLY -%KEY% "distribut" -%STR% "source code is only licen[cs]ed for distribution in" -# -%ENTRY% _LT_IPA_EULA -%KEY% "licen[cs]" -%STR% "information-technology promotion agency hereinafter called IPA grants? the licen[cs]e of digital font program =FEW= hereinafter called licen[cs]ed program under the following terms and conditions" -# -%ENTRY% _LT_IPTC_1 -%KEY% "licen[cs]" -%STR% "licen[cs]ee recognises the licen[cs]or as the sole owner of the intellectual property protected by the trademark" -# -%ENTRY% _LT_IPTC_2 -%KEY% "licen[cs]" -%STR% "subject to =FEW= licensing requirements contained herein you may =FEW= use the specifications and materials =FEW= IPTC" -# -%ENTRY% _LT_ISSL_1 -%KEY% "distribut" -%STR% "you may use and redistribute =SOME= without modification" -# -%ENTRY% _LT_ISSL_2 -%KEY% "licen[cs]" -%STR% "Intel grants you a world-wide royalty-free non-exclusive license under patents" -# -%ENTRY% _LT_ITU_T_1 -%KEY% "licen[cs]" -%STR% "source code and all of its derivations is subject to the itu-t general public license" -# -%ENTRY% _LT_ITU_T_2 -%KEY% "licen[cs]" -%STR% "license agreement applies to =SOME= ITU-T Software Tool Library" -# -%ENTRY% _LT_IRONDOC -%KEY% "permi[st]" -%STR% "permission is hereby granted to use this IronDoc software for any purpose at all" -##### -# DELETED: ... containing programs from several different sources no -# royalty or other fee is required -##### -%ENTRY% _LT_JABBER_1 -%KEY% "licen[cs]" -%STR% "you may use sell or give away the licen[cs]ed product alone or as a component of an aggregate software distribution" -# -%ENTRY% _LT_JABBER_2 -%KEY% "licen[cs]" -%STR% "contents of this file are subject to the Jabber open source licen[cs]e" -##### -# DELETED: ... that you include the following on ALL copies of the Java APIs -# for WSDL Specification, or portions thereof, that you make -##### -%ENTRY% _LT_JAVA_WSDL4J -%KEY% "permi[st]" -%STR% "permission to copy and display =FEW= for WSDL specification in any medium without fee or royalty is hereby granted provided" -# -%ENTRY% _LT_JAVA_WSDL_ENUM -%KEY% "permi[st]" -%STR% "permission to copy and display the WS-Enumeration the specification which includes WSDL and schema documents in any medium without fee or royalty is hereby granted" -# -%ENTRY% _LT_JAVA_WSDL_POLICY -%KEY% "permi[st]" -%STR% "permission to copy and display the WS-Policy specification the specification which includes WSDL and schema documents in any medium without fee or royalty is hereby granted" -# -%ENTRY% _LT_JAVA_WSDL_SCHEMA -%KEY% "permi[st]" -%STR% "authors grant permission to copy and distribute the WSDL schema files in any medium without fee or royalty as long as this notice and licen[cs]e are r?e?-?distributed with them" -# -%ENTRY% _LT_JISP -%KEY% "permi[st]" -%STR% "author specifically permits =FEW= and encourages the use of this source code for entertainment =FEW= education =FEW= decoration" -##### -# DELETED: readme file from the jpeg library =SOME= ... -##### -%ENTRY% _LT_JPEG_1 -%KEY% "licen[cs]" -%STR% "readme file from the jpeg library =FEW= included verbatim including its copyright and licen[cs]e notices" -##### -# DELETED: ... =SOME= for any purpose without fee subject to these -# conditions -##### -%ENTRY% _LT_JPEG_2 -%KEY% "permi[st]" -%STR% "permission is hereby granted to use copy modify and/?o?r? distribute this software" -# -%ENTRY% _LT_JPNIC -%KEY% "(condit|vers)ion" -%STR% "following licen[cs]e terms and conditions apply unless a different licen[cs]e is obtained from japan network information center" -# -%ENTRY% _LT_KDAB_1 -%KEY% "so(ftware|urce)" -%STR% "intellectual property rights in the software are owned by KDAB and are protected by Swedish copyright laws other applicable copyright laws and international treaty provisions" -# -%ENTRY% _LT_KDAB_2 -%KEY% "so(ftware|urce)" -%STR% "KDAB grants to you as an individual a personal non-?exclusive nontransferable licen[cs]e to make and use copies of the licen[cs]ed Product for the sole purposes of designing developing and testing your software product" -# -%ENTRY% _LT_KDE -%KEY% "licen[cs]" -%STR% "If this program is used in a product other than KDE this licen[cs]e must be reproduced in its entirety in the documentation" -##### -# DELETED: ... =SOME= as part of a Linux or other Open Source operating -# system kernel in text or binary form as required -##### -%ENTRY% _LT_KEYSPAN -%KEY% "permi[st]" -%STR% "permission is hereby granted for the distribution of" -# -%ENTRY% _LT_KNUTH_1 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "copying of this file is authori[sz]ed only if 1 you are D E Knuth or if 2 you make absolutely no changes to your copy" -# -%ENTRY% _LT_KNUTH_2 -%KEY% "licen[cs]" -%STR% "is copyright and you are explicitly granted a licen[cs]e which gives you the user of the software legal permission to copy distribute and/or modify" -# -%ENTRY% _LT_KNUTH_STYLE -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "copying (of t|t)his file is authori[sz]ed only if 1 you are =FEW= or if 2 you make absolutely no changes to your copy" -# -%ENTRY% _LT_LACHMAN_SECRET -%KEY% "distribut" -%STR% "this is unpublished proprietary trade secret source code of Lachman Associates this source code may not be copied disclosed r?e?-?distributed demonstrated or licen[cs]ed" -##### -# DELETED: ... a true and complete copy including all copyright and -# trademark notices -##### -%ENTRY% _LT_LARABIE_EULA -%KEY% "distribut" -%STR% "reproduction and distribution you may reproduce and distribute an unlimited number of copies of the software product provided that each copy shall be" -##### -# DELETED: can be freely used modified =SOME= and distributed =SOME= ... -# users are generally given an explicit licen[cs]e to copy distribute -# and/or modify -##### -%ENTRY% _LT_LATEXref1 -%KEY% "legal" -%STR% "it is generally copyrighted to legally protect it" -##### -# DELETED: ... =SOME= legal permission to copy distribute and/or modify -##### -%ENTRY% _LT_LATEXref2 -%KEY% "licen[cs]" -%STR% "you are granted a licen[cs]e which gives you the user" -# -%ENTRY% _LT_LATEXref3 -%KEY% "\" -%STR% "distributed and/or modified under the conditions of the (LaTeX project public licen[cs]e|LPPL)" -# -%ENTRY% _LT_LATEXref4 -%KEY% "distribut" -%STR% "(can|may) be r?e?-?distributed freely for any purpose provided that their content and their names remain intact LaTeX Project Public Licen[cs]e" -# -%ENTRY% _LT_LATEXref5 -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= (LaTeX project public licen[cs]e|lppl)" -##### -# DELETED: ... the terms of this agreement the aggregation of another -# unrelated program with this software or its derivative on a volume -##### -%ENTRY% _LT_LATEX -%KEY% "distribut" -%STR% "any work r?e?-?distributed or published that in whole or in part contains or is a derivative of this software or any part thereof is subject to" -# -%ENTRY% _LT_LATEX_PREAMBLE -%KEY% "distribut" -%STR% "LaTeX project public licen[cs]e =FEW= is the licen[cs]e under which the base LaTeX distribution is r?e?-?distributed" -##### -# DELETED: ... are distributed in particular this means that KOMA-Script -# has to be distributed including -##### -%ENTRY% _LT_LATEXPL_1 -%KEY% "distribut" -%STR% "r?e?-?distribution of unchanged files is allowed provided that all files that make up the distribution of KOMA-Script" -##### -# DELETED: ... conditions on modification of themselves and on the -# distribution of modified versions of themselves but -##### -%ENTRY% _LT_LATEXPL_2 -%KEY% "(condit|vers)ion" -%STR% "conditions under which modified versions of the program may be r?e?-?distributed individual files of the program may bear supplementary and/or superseding" -##### -# DELETED: ... this licen[cs]e may be particularly suitable if your work is -# TeX-related such as a LaTeX package but you may use it with small -# modifications even if your work is unrelated to TeX -##### -%ENTRY% _LT_LATEXPL_3 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "you may use this licen[cs]e for any work of which you hold the copyright and which you wish to distribute" -# -%ENTRY% _LT_LATEXPLref1 -%KEY% "distribut" -%STR% "distributed and/or modified under the terms of the LaTeX project public licen[cs]e" -# -%ENTRY% _LT_LATEXPLref2 -%KEY% "distribut" -%STR% "distributed under the terms of the LaTeX project public licen[cs]e" -# -%ENTRY% _LT_LATEXPLref3 -%KEY% "distribut" -%STR% "you (can|may) r?e?-?distribut(e|e (it|them)) and/or modify (it|them) under the terms =SOME= (lppl|LaTeX (project p|p)ublic licen[cs]e)" -##### -# DELETED: ... =SOME= in any format -##### -%ENTRY% _LT_LDPL -%KEY% "distribut" -%STR% "please freely copy and/?o?r? distribute sell or give away" -# -%ENTRY% _LT_LDPLref1 -%KEY% "distribut" -%STR% "distributed under the terms =SOME= (ldp|linux documentation project)" -# -%ENTRY% _LT_LDPLref2 -%KEY% "licen[cs]" -%STR% "licen[cs]ed under the =FEW= (ldp|linux documentation project)" -# -%ENTRY% _LT_LDPLref3 -%KEY% "licen[cs]" -%STR% "you (may|can) copy r?e?distribute (and|or) modify under the terms of the ldp general public license" -# -%ENTRY% _LT_LEGATO_1 -%KEY% "restrict" -%STR% "is a copyrighted product of legato systems inc and is provided for unrestricted use and/?o?r? distribution of the binary program derived from it" -##### -# DELETED: you may copy =SOME= ... =SOME= may be modified only for the -# purpose of porting -##### -%ENTRY% _LT_LEGATO_2 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "as necessary but are not authori[sz]ed to licen[cs]e it to anyone else" -# -%ENTRY% _LT_LGPL_ALT -%KEY% "\" -%STR% "alternatively =SOME= may be (used|r?e?-?distributed) under the terms =SOME= gnu =SOME= (lesser|library) general =SOME= public licen[cs]e" -##### -# DELETED: free =SOME= ... -##### -%ENTRY% _LT_LGPLref1 -%KEY% "distribut" -%STR% "you (can|may) r?e?-?distribute (it a|a)nd/or modify it under the terms =SOME= (lgpl|lesser GNU general public licen[cs]e|GNU (lesser|library|lesser lesser) (gpl|(general p|p)ublic licen[cs]e))" -##### -# Don't make the obvious string-search optimization here. There really ARE -# references to "GPL General Lesser Public License". -##### -%ENTRY% _LT_LGPLref2 -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|\|code|published) =SOME= under =SOME= (\" -%STR% "use freely under =SOME= (lgpl|lesser GNU general public licen[cs]e|GNU (lesser|library) (gpl|(general p|p)ublic licen[cs]e))" -# -%ENTRY% _LT_LGPLref5 -%KEY% "distribut" -%STR% "may modify distribute and/?o?r? use the software contained in this package under the terms of the GNU (lesser|library) (gpl|(general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_LGPLref6 -%KEY% "licen[cs]" -%STR% "(change|add|update|convert|switch|swap) =SOME= licen[cs]e =FEW= (lgpl|lesser GNU general public licen[cs]e|GNU (lesser|library) (gpl|(general p|p)ublic licen[cs]e))" -##### -# Do not use more than =FEW= for the wild-card on LGPLref7 -- or it will match -# many GPL/LGPL license boilerplate paragraphs (falsely) -##### -%ENTRY% _LT_LGPLref7 -%KEY% "licen[cs]" -%STR% "\<(and|or)\> =FEW= (library|lesser) ((general p|p)ublic|general purpose) licen[cs]e" -# -%ENTRY% _LT_LGPLref8 -%KEY% "licen[cs]" -%STR% "licen[cs]e =SOME= (library|lesser) ((general p|p)ublic|general purpose) licen[cs]e" -# -%ENTRY% _LT_LGPLref9 -%KEY% "licen[cs]" -%STR% "licen[cs]e =SOME= gnu (lgpl|lesser GNU general public licen[cs]e|(library|lesser) ((general p|p)ublic|general purpose) licen[cs]e)" -# -%ENTRY% _LT_LGPLref10 -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= (GNU (lesser library|library lesser) (gpl|(general p|p)ublic licen[cs]e))" -# -%ENTRY% _LT_LGPLref11 -%KEY% "so(ftware|urce)" -%STR% "(distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|comes|used) as free software (GNU (lesser library|library lesser) (gpl|(general p|p)ublic licen[cs]e))" -# -%ENTRY% _LT_LGPLrefFSF -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= (fsf|free software foundatio(n|n s)) (lesser|library) (gpl|(general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_LGPL_1 -%KEY% "distribut" -%STR% "example if you distribute copies of the library whether gratis or for a fee you must give the recipients all the rights" -# -%ENTRY% _LT_LGPL_2 -%KEY% "distribut" -%STR% "the intent is to exercise the right to control the distribution of derivative or collective works based on the library" -# -%ENTRY% _LT_LGPL_3 -%KEY% "licen[cs]" -%STR% "as used herein this licen[cs]e refers to version 3 of the GNU (lesser|library) (gpl|(general p|p)ublic licen[cs]e)" -# -%ENTRY% _LT_LGPL3ref -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code|published) =SOME= under =SOME= (lgpl|lesser GNU general public licen[cs]e|GNU (lesser|library) (gpl|(general p|p)ublic licen[cs]e))(([v-]| ?version) ?)3" -# -%ENTRY% _LT_LGPL3_ref_later -%KEY% "licen[cs]" -%STR% "licen[cs]e:? lgplv3\+" -# -%ENTRY% _LT_LGPL_NAMED -%KEY% "licen[cs]" -%STR% "licen[cs]e (GNU (lgpl|lesser GNU general public licen[cs]e|(library|lesser) (g?eneral p|p)ublic licen[cs]e))" -# -%ENTRY% _LT_LGPL_NAMED_EXHIBIT -%KEY% "licen[cs]" -%STR% "exhibit [abc] =ANY= licen[cs]e (GNU (lgpl|lesser GNU general public licen[cs]e|(library|lesser) (g?eneral p|p)ublic licen[cs]e))" -# To catch things like "this is LGPL". -%ENTRY% _LT_LGPL_NAMED2 -%KEY% "lgpl" -%STR% "[^-_]\" -# -%ENTRY% _LT_LGPL_OR -%NOCHECK% -%KEY% "(\|l?gpl)" -%STR% "\<(either|or|alternately)\> =SOME= (lgpl|lesser GNU general public licen[cs]e|GNU (lesser|library) (gpl|(general p|p)ublic licen[cs]e))" -# -%ENTRY% _LT_UNRARref1 -%KEY% "unrar" -%STR% "unrar restriction" -# -%ENTRY% _LT_UNRARref2 -%KEY% "rar" -%STR% "re-create the rar compression algorithm" -# -%ENTRY% _LT_libmng_2007_1 -%KEY% =NULL= -%STR% "result from the use of the MNG Library" -# -%ENTRY% _LT_libmng_2007_Clause_1 -%KEY% "software" -%STR% "you must not claim that you wrote the original software" -# -%ENTRY% _LT_libpng_20_Clause_1 -%KEY% "software" -%STR% "if you use this software =FEW= acknowledgment =FEW= would be appreciated" -# -%ENTRY% _LT_linking_exception_1 -%KEY% "permi[st]" -%STR% "in addition to the permissions in =FEW= general public license =FEW= gives you unlimited permission to link the compiled version of this file (into combinations )?with other programs" -# -%ENTRY% _LT_linking_exception_2 -%KEY% "permi[st]" -%STR% "as a special exception =SOME= g(ive you|rant) permission to link =FEW= with independent modules to produce" -# -%ENTRY% _LT_linking_exception_3 -%NOCHECK% -%KEY% "licen[cs]e" -%STR% "if you link this library with (other )?files (some of which are )?compiled with GCC" -# -%ENTRY% _LT_LINUXDOC -%KEY% "distribut" -%STR% "linuxdoc =FEW= itself does not have any limitations and it (can|may) be freely used modified and r?e?-?distributed" -# -%ENTRY% _LT_LINUX_HOWTO -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "unless otherwise stated Linux howto documents are copyrighted by their respective authors" -# -%ENTRY% _LT_Linux_syscall_note -%KEY% "copyright" -%STR% "this copyright does not cover user programs that use kernel services by normal system calls" -# -%ENTRY% _LT_LLVM_exception_1 -%KEY% =NULL= -%STR% "LLVM Exceptions to the Apache 2\.0 License" -# -%ENTRY% _LT_LLVM_exception_2 -%KEY% =NULL= -%STR% "you may redistribute such embedded portions in such Object form without complying with the conditions of Sections 4\(a\)" -# -%ENTRY% _LT_LOGICA -%KEY% "documentation" -%STR% "all associated documentation and other material must acknowledge logica" -# -%ENTRY% _LT_LPL_102 -%KEY% "licen[cs]" -%STR% "available under (the )?lucent public license version 1\.?0\.?2" -##### -# DELETED: ... to evaluate its suitability for your internal business -# requirements during the Evaluation Period" -##### -%ENTRY% _LT_LZMA_exception -%KEY% "permi[st]" -%STR% "authors of the LZMA compression module for NSIS expressly permit you to statically or dynamically link your code" -# -%ENTRY% _LT_MACROV_IA -%KEY% "licen[cs]" -%STR% "licen[cs]or grants you a limited personal internal use non-exclusive non-transferable licen[cs]e to use the software solely" -# -%ENTRY% _LT_MAKEINDEX_1 -%KEY% =NULL= -%STR% "is granted access to a machine-readable form of the source code" -# -%ENTRY% _LT_MAKEINDEX_2 -%KEY% =NULL= -%STR% "all modified versions should be reported back to the author" -# -%ENTRY% _LT_MANDRIVA -%KEY% "licen[cs]" -%STR% "this document is a licen[cs]e agreement between you and mandriva" -##### -# DELETED: ... =SOME= provided that the entire resulting derived work is -# distributed under the terms of a permission notice identical to this one -##### -%ENTRY% _LT_MANPAGE -%KEY% "permi[st]" -%STR% "permission is granted to copy and/?o?r? distribute modified versions of this manual under the conditions for verbatim copying" -# -%ENTRY% _LT_MELLANOX -%KEY% "distribut" -%STR% "may be reproduced modified r?e?-?distributed republished or otherwise exploited in any form or by any means for any purpose without the prior written permission of Mellanox" -##### -# DELETED: ... furnished with this package solely for your internal -# business purposes in the country in which the software was furnished -##### -%ENTRY% _LT_METRO -%KEY% "so(ftware|urce)" -%STR% "subject to the terms set forth in this licen[cs]e you may use the enclosed computer product software including all associated software documentation" -# -%ENTRY% _LT_METROLINKref -%KEY% "(condit|vers)ion" -%STR% "use of =FEW= in binary form is subject to the terms and conditions of metro[ -]?link public licen[cs]e" -##### -# DELETED: ... you may not use use part of the software even if it has -# been merged with other software -##### -%ENTRY% _LT_METRO_NONFREE -%KEY% "so(ftware|urce)" -%STR% "any part of the software that you merge with other software is still property of ML in the event this licen[cs]e is terminated" -# -%ENTRY% _LT_MIGEMO -%KEY% "so(ftware|urce)" -%STR% "right to devolve the part or the whole of the rights related to this software" -# -%ENTRY% _LT_MIBBLE -%KEY% "distribut" -%STR% "release distribute or make available either generally or to any specific third-party the software in source or object code format" -##### -# DELETED: ... for any purpose and without fee or royalty and to grant -# others any and all rights granted herein is hereby granted providing -# that you agree to comply =ANY= copyright notice -##### -%ENTRY% _LT_mif_exception -%KEY% "licen[cs]" -%STR% "compile this file and link it with other files to produce an executable this file does not by itself cause the resulting executable to be covered by the GNU (general p|p)ublic licen[cs]e" -# -%ENTRY% _LT_MITDOC -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and/?o?r? sell this documentation" -##### -# DELETED: ... =SOME= obtaining a copy -##### -%ENTRY% _LT_MIROS_PREAMBLE -%KEY% "copyright" -%STR% "provided that these terms and disclaimer and all copyright notices are retained or reproduced in an accompanying document" -# -%ENTRY% _LT_MIT_0 -%KEY% "so(ftware|urce)" -%STR% "the software is provided =FEW= without warranty of any kind =FEW= express or implied =FEW= including but not limited to the warranties of merchantability =FEW= fitness for a particular purpose and noninfringement =FEW= in no event shall the =FEW= be liable for any claim =FEW= damages or other liability =FEW= whether in an action of contract =FEW= tort or otherwise =FEW= arising from =FEW= out of or in connection with the software or the use or other dealings in the software" -# -%ENTRY% _LT_MIT_1 -%KEY% "permi[st]" -%STR% "permission is hereby granted free of charge to any person" -# -%ENTRY% _LT_MIT_2 -%KEY% "restrict" -%STR% "without restriction including without limitation (on )?the rights? to use copy modify merge publish distribute sub.?licen[cs]e and/or sell copies of" -##### -# This one is similar to several BSD footprints, minus the "with or without -# fee" and such... -##### -# DELETED: ... provided that the name =ANY= without specific =SOME= -# permission -##### -%ENTRY% _LT_MIT_3 -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute this software and its documentation for any purpose is hereby granted" -# -%ENTRY% _LT_MIT_4 -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute this (software|program) for any purpose (with or|and) without fee is hereby granted provided that (the above|this) copyright (notice )?and (this)? permission notice appear (in|on) all copies" -# -%ENTRY% _LT_MIT_5 -%KEY% "permi[st]" -%STR% "permission to copy use modify sell and/?o?r? distribute this software is granted provided" -# -%ENTRY% _LT_MIT_6 -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and/?o?r? (sell|(sub)licen[cs]e) this software and its documentation for any purpose (and without fee )?is hereby granted (without fee )?provided t(hat the|he) (above|below) copyright notices? appears? in all copies" -##### -# DELETED: permission to use copy modify distribute and sell this software -# and its documentation for any purpose =SOME= is ... -##### -%ENTRY% _LT_MIT_7 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "hereby (granted|granted without fee) provided that you agree to comply with the following copyright notices? and statement" -##### -# DELETED: ... is hereby granted provided that the above copyright -# notice and this permission notice appear in all copies -##### -%ENTRY% _LT_MIT_8 -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute this software for any purpose with or without fee" -##### -# DELETED: ... and its documentation for any purpose provided that existing -# copyright notices are retained in all copies and that this notice is -# included verbatim in any distributions -##### -# Also, doctorBuffer() transforms 'author(s)' into "author s"... -##### -%ENTRY% _LT_MIT_9 -%KEY% "permi[st]" -%STR% "author ?s hereby grant permission to use copy modify distribute and/?o?r? licen[cs]e this software" -# -%ENTRY% _LT_MIT_10 -%KEY% "distribut" -%STR% "is r?e?-?distributed freely and may be used freely under the following conditions" -# -%ENTRY% _LT_MIT_11 -%KEY% "permi[st]" -%STR% "permission is granted =SOME= without restriction =FEW= to use publicly perform distribute sell modify merge give away or sublicence" -# -%ENTRY% _LT_MIT_12 -%KEY% "so(ftware|urce)" -%STR% "regarding the apple software or its use and operation alone or in combination with your products" -# -%ENTRY% _LT_MIT_14 -%KEY% "permi[st]" -%STR% "permission is granted free of charge to copy modify use and distribute this software provided you include =FEW= this notice in all copies" -# -%ENTRY% _LT_MIT_13 -%KEY% "permi[st]" -%STR% "copyright notice and this permission notice =FEW= shall be included in all copies" -# -%ENTRY% _LT_MIT_15 -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? r?e?distribute this software is freely granted provided that (the above|this) copyright notice this notice =FEW= are preserved with no changes" -# -%ENTRY% _LT_MIT_ADVERTISING -%KEY% "permi[st]" -%STR% "copyright notice and this permission notice =FEW= shall be included in all copies =FEW= its documentation and marketing (&|and) publicity materials" -# -%ENTRY% _LT_MIT_ENNA -%KEY% "copyright" -%STR% "acknowledgments in either copyright notices manuals publicity and marketing documents or any documentation provided" -# -%ENTRY% _LT_MIT_FEH -%KEY% "software" -%STR% "acknowledgment shall be given in the documentation and software packages that this software was used" -# -%ENTRY% _LT_MITNFA -%KEY% =NULL= -%STR% "original author's bug reporting email addresses and urls are either replaced with the contact information of the parties" -# -%ENTRY% _LT_MIT_NO_EVIL -%KEY% "evil" -%STR% "(no|not|don't be) evil" -# -%ENTRY% _LT_JSON -%NOCHECK% -%KEY% "json" -%STR% "." -# -%ENTRY% _LT_MITref1 -%KEY% "\" -%STR% "(free|distributed|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) under =FEW= \ =FEW= licen[cs]e" -# -%ENTRY% _LT_MITref2 -%KEY% "licen[cs]" -%STR% "licen[cs]e is the mit licen[cs]e" -# -%ENTRY% _LT_MITref3 -%KEY% "licen[cs]" -%STR% "licen[cs]e(:?) =FEW= and \" -# -%ENTRY% _LT_MITref4 -%KEY% "licen[cs]" -%STR% "licen[cs]ed under =FEW= \" -# -%ENTRY% _LT_MITref5 -%KEY% "licen[cs]" -%STR% "governed by =FEW= mit.(style )?license" -# -%ENTRY% _LT_MITref6 -%KEY% "licen[cs]" -%STR% "\ (check|see) (the )?licen[cs]e" -# -%ENTRY% _LT_MITref7 -%KEY% "licen[cs]" -%STR% "licen[cs]ed?:? (type |is )?\" -# -%ENTRY% _LT_MITref8 -%KEY% "licen[cs]" -%STR% "MIT-style license =FEW= found in the license file at =FEW= angular\.?io/license" -# -%ENTRY% _LT_MITref9 -%KEY% "licen[cs]" -%STR% "is mit.licen[cs]ed" -# -%ENTRY% _LT_MITEM -%KEY% "distribut" -%STR% "may be freely copied and/?o?r? r?e?-?distributed provided" -##### -# DELETED: ... =SOME= copyright designation and this licen[cs]e in the -# documentation and/or other materials provided with the distribution -##### -%ENTRY% _LT_MITRE_1 -%KEY% "distribut" -%STR% "r?e?-?distribution of =SOME= or derived works must reproduce" -##### -# DELETED: may be copied in whole or in part in any form or by any means -# as is or with -##### -%ENTRY% _LT_MITRE_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "alterations provided that 1 alterations are clearly marked as alterations and 2 this copyright notice is included unmodified in any copy" -##### -# DELETED: ... =SOME= otherwise under any patents or trademarks of Motorola Inc -##### -%ENTRY% _LT_MOT_1 -%KEY% "licen[cs]" -%STR% "no licen[cs]es are granted by implication =ANY= estopp[ae]l" -##### -# DELETED: ... =SOME= (as|so) long as this entire notice is retained -# without alteration in any modified and/or re-?distributed versions and -# that such modified versions are clearly identified as such -##### -%ENTRY% _LT_MOT_2 -%KEY% "distribut" -%STR% "hereby granted a copyright licen[cs]e to use modify and/?o?r? distribute" -# -%ENTRY% _LT_MPEG3 -%KEY% "so(ftware|urce)" -%STR% "most of the distribution of MPEG Layer-3 software decoders is free of charge for all MPEG Layer-3 encoders a licen[cs]e is needed and royalties" -# -%ENTRY% _LT_MPICH2 -%KEY% "distribut" -%STR% "permission is hereby granted to use reproduce prepare derivative works and to redistribute to others" -# -%ENTRY% _LT_MPL_1 -%KEY% "so(ftware|urce)" -%STR% "copy of this Mozilla sample software and associated documentation files" -##### -# DELETED: under intellectual property rights other than patent or trademark -# licen[cs]able by initial developer ... the original code or portions -# thereof with or without and/or as part of a larger work -##### -%ENTRY% _LT_MPL_2 -%KEY% "licen[cs]" -%STR% "to use reproduce modify display perform sublicen[cs]e and/?o?r? distribute" -##### -# DELETED: ... and permit persons to whom the software is furnished to do -# so under the terms of the MPL or the MIT/X-derivate licen[cs]es -##### -%ENTRY% _LT_MPL_OR_MITX -%KEY% "licen[cs]" -%STR% "dual-licen[cs]ed under the MPL and the MIT/X-derivate licen[cs]es you may opt to use copy modify merge publish distribute and/or sell copies of the software" -# -%ENTRY% _LT_MPLref1 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "(are|is) subject to =SOME= mozilla public licen[cs]e" -# -%ENTRY% _LT_MPLref2 -%NOCHECK% -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "(distribute|develop|offere?d?|licen[cs]ed|available|protected|covered|provided|subject|comes) =SOME= ([[:space:]]mpl\>|mozilla public licen[cs]e)" -# -%ENTRY% _LT_MPL11_ref -%KEY% "licen[cs]" -%STR% "licensed under (the )?MPL( |-)1\.?1" -# -%ENTRY% _LT_MPL20_ref -%KEY% =NULL= -%STR% "(licensed|available) =FEW= under (the )?MPL( |-)2\.?0" -# -%ENTRY% _LT_MPL_OR -%NOCHECK% -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "\<(either|or|alternately)\> =FEW= ([[:space:]]mpl\>|mozilla public licen[cs]e)" -# -%ENTRY% _LT_MPL_SECONDARY -%NOCHECK% -%KEY% "secondary license" -%STR% "secondary license =FEW= gnu" -# -%ENTRY% _LT_MSCORP_1 -%KEY% "distribut" -%STR% "may be copied and/?o?r? r?e?-?distributed royalty-free subject to the following conditions" -# -%ENTRY% _LT_MSCORP_2 -%KEY% "distribut" -%STR% "permission to copy display and distribute the contents of this document =SOME= in any medium for any purpose without fee" -# -%ENTRY% _LT_MSCORP_3 -%KEY% "so(ftware|urce)" -%STR% "if the software includes sample code then microsoft grants you a royalty-free right to reproduce and distribute the sample code" -# -%ENTRY% _LT_MSCORP_4 -%KEY% "\" -%STR% "copyright is owned by microsoft and microsoft hereby grants you permission to copy and display the document in any medium without fee or royalty" -# -%ENTRY% _LT_MSCORP_5 -%KEY% "\" -%STR% "ha(s|ve) a royalty-free right to use modify reproduce and distribute =FEW= and/or any modified version in any way you find useful provided that you agree that Microsoft has no warranty" -# -%ENTRY% _LT_MSCORP_EULA_1 -%KEY% "legal" -%STR% "this EULA is a legal agreement between you either an individual or a single entity and microsoft corporation" -# -%ENTRY% _LT_MSCORP_EULA_2 -%KEY% "\" -%STR% "subject to the terms and conditions of the agreement under which you have licen[cs]ed the applicable microsoft operating system product" -##### -# DELETED: ... and may include associated medi printed materials online or -# electronic documentation and internet-based services collectively the os -# components is subject to the terms and conditions of the end user licen[cs]e -# agreement -##### -%ENTRY% _LT_MSCORP_EULA_3 -%KEY% "\" -%STR% "the microsoft software that accompanies this supplemental eula which includes computer software" -# -%ENTRY% _LT_MSCORP_EULA_4 -%KEY% "\" -%STR% "these licen[cs]e terms are an agreement between you and microsoft corporation if you use the software you accept this licen[cs]e" -# -%ENTRY% _LT_MSCORP_EULA_5 -%KEY% "\" -%STR% "these licen[cs]e terms are an agreement between =SOME= microsoft cor(p|poration) =SOME= and you" -# -%ENTRY% _LT_MSCORP_EULA_6 -%KEY% "\" -%STR% "subject to the terms =FEW= Microsoft end(-| )user license agreement" -# -%ENTRY% _LT_MSCORP_INDEMNIFY -%KEY% "\" -%STR% "you agree to indemnify hold harmless and defend microsoft and its suppliers from and against any claims or lawsuits" -# -%ENTRY% _LT_MSCORP_IP_1 -%KEY% "\" -%STR% "presentation distribution or other dissemination of the information contained herein by microsoft is not a licen[cs]e either expressly or impliedly to any intellectual property owned or controlled by microsoft" -# -%ENTRY% _LT_MSCORP_IP_2 -%KEY% "\" -%STR% "may incorporate intellectual property owned by microsoft corporation the terms and conditions upon which microsoft is licen[cs]ing such intellectual property may be found" -##### -# DELETED: platform limitation the licen[cs]es granted in sections 2A & 2B -# extend ... operating system product. -##### -%ENTRY% _LT_MSCORP_LIMITED -%KEY% "so(ftware|urce)" -%STR% "only to the software or derivative works =FEW= run on a microsoft windows operating system" -# -%ENTRY% _LT_MSCORP_LIMITEDref1 -%KEY% "\" -%STR% "Microsoft Corporation =SOME= ((released|distributed) under|covered by)( the)? MLPL" -# -##### -# DELETED: ... of this licen[cs]e with your distribution if you distribute any -# portion of the software in compiled or object code form you may only do so -# under a licen[cs]e that complies with this licen[cs]e -##### -%ENTRY% _LT_MSCORP_PL -%KEY% "distribut" -%STR% "if you distribute any portion of the software in source code form you may do so only under this licen[cs]e by including a complete copy" -# -%ENTRY% _LT_MSCORPref1 -%KEY% "distribut" -%STR% "program is linked with (and uses )?microsoft distributable code" -# -%ENTRY% _LT_MSCORP_PLref1 -%KEY% "licen[cs]" -%STR% "microsoft public licen[cs]e Ms-PL governs use of the accompanying software" -# -%ENTRY% _LT_MSCORP_PLref2 -%KEY% "\" -%STR% "(distribu|offere?d?|released?|licen[cs]ed?|available|protected|provided|published) =SOME= under =SOME= microsoft (permissive|public) licen[cs]e" -# -%ENTRY% _LT_MSCORP_PLref3 -%KEY% "licen[cs]" -%STR% "subject to (the |terms and conditions of the )?microsoft (permissive|public) licen[cs]e" -##### -# DELETED: ... your products maintaining your products or enhancing the -# interoperability of your products with the software and specifically -# excludes the right to distribute the software outside of your company -##### -%ENTRY% _LT_MSCORP_REFLIC -%KEY% "so(ftware|urce)" -%STR% "reference use means use of the software within your company as a reference in read only form for the sole purposes of debugging" -##### -# DELETED: reciprocal grants ... the source code to that file along with a -# copy of this licen[cs]e which licen[cs]e will govern that file -##### -%ENTRY% _LT_MSCORP_RL -%KEY% "distribut" -%STR% "for any file you distribute that contains code from the software in source code or binary format you must provide recipients" -# -%ENTRY% _LT_MSCORP_RLref -%KEY% "licen[cs]" -%STR% "microsoft reciprocal licen[cs]e Ms-RL governs use of the accompanying software" -# -%ENTRY% _LT_MSCORP_SSLref -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= (MS|microsoft) =FEW= shared source licen[cs]e" -# -%ENTRY% _LT_MSNTP -%KEY% =NULL= -%STR% "Free use of MSNTP" -# -%ENTRY% _LT_MTLL -%KEY% "software" -%STR% "the name MTL shall not be used to endorse or promote products derived from this software" -# -%ENTRY% _LT_MulanPSL_10 -%KEY% "software" -%STR% "distribution of the software shall be subject to Mulan PSL (version |v)1" -# -%ENTRY% _LT_MULTICORP_1 -%KEY% "licen[cs]" -%STR% "each agree to gran(t|t (to y|y)ou) a licen[cs]e under royalty-free and otherwise reasonable non-discriminatory terms and conditions to their respective essential patent claims" -# -%ENTRY% _LT_MULTICORP_2 -%KEY% "licen[cs]" -%STR% "each agree to grant a licen[cs]e to third parties under royalty-free and otherwise reasonable non-discriminatory terms and conditions" -##### -# DELETED: you are free to ... entirely from the program and one or more -# works each a FLOSS work licen[cs]ed under one or more of the licen[cs]es -# listed below in section 1 -##### -%ENTRY% _LT_MULTICS -%KEY% "software" -%STR% "This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc as a contribution to computer science knowledge" -# -%ENTRY% _LT_MUP -%KEY% "documentation" -%STR% "any additions deletions or changes to the original files must be clearly indicated in accompanying documentation" -# -%ENTRY% _LT_MYSQL_EXCEPT -%KEY% "distribut" -%STR% "distribute a derivative work that is formed" -# -%ENTRY% _LT_NAIST_2003 -%KEY% "distribut" -%STR% "user may also freely distribute the program whether in its original form or modified to any third party" -##### -# DELETED: ... to each recipient a non-?exclusive world-?wide royalty-free -# licen[cs]e to engage in the following activities pertaining to the -# subject software -##### -%ENTRY% _LT_NASA -%KEY% "(condit|vers)ion" -%STR% "subject to the terms and conditions of this agreement each contributor with respect to its own contribution to the subject software hereby grants" -##### -# DELETED: ... however you may not distribute changed versions or other -# derivative works -##### -%ENTRY% _LT_NCIPHER -%KEY% "permi[st]" -%STR% "permitted to copy it verbatim to use it to create compatible software and for review and comment" -# -%ENTRY% _LT_ND_1 -%KEY% "permi[st]" -%STR% "r?e?-?distribution and use in source and binary forms with or without modification are permitted subject to the conditions specified in the" -##### -# DELETED: ... for any purpose provided the text of this notice =SOME= -# is retained with all copies permission to modify the code and to -# distribute modified code is granted provided -##### -%ENTRY% _LT_ND_2 -%KEY% "permi[st]" -%STR% "permission is hereby granted to use or copy this program" -##### -# DELETED: ... is granted provided =SOME= is retained =SOME= copyright notice -# =SOME= in the =SOME= file and that the licen[cs]e =SOME= distributed with the -# modified code -##### -%ENTRY% _LT_ND_3 -%KEY% "permi[st]" -%STR% "permission to modify the code and to distribute modified code" -# -%ENTRY% _LT_NESSUS -%KEY% "licen[cs]" -%STR% "subject to the terms and conditions and your acceptance of this agreement Tenable grants to You a perpetual non-exclusive non-transferable licen[cs]e" -##### -# DELETED: ... to use reproduce modify display perform sublicen[cs]e -# and distribute the original software or portions thereof with or -# without modifications and/or as part of a larger work -##### -%ENTRY% _LT_NIST_1 -%KEY% "distribut" -%STR% "you may use copy and distribute copies of the software =SOME= keep intact this entire notice" -# -%ENTRY% _LT_NIST_2 -%KEY% "distribut" -%STR% "you may improve modify and create derivative works of the software =SOME= distribute such modifications or works" -# -%ENTRY% _LT_NOKIA -%KEY% "licen[cs]" -%STR% "under copyrights licen[cs]able by Nokia" -# -%ENTRY% _LT_NONCOMMERCIAL_1 -%KEY% "commerc" -%STR% "any non-?commercial purpose provided th(is|ese) copyright notice" -##### -# DELETED: ... =SOME= providing that this notice be clearly maintained -# but the right to distribute any portion =ANY= for profit or as part of -# any commercial product is specifically reserved -##### -%ENTRY% _LT_NONPROFIT_1 -%KEY% "permi[st]" -%STR% "permission is granted for use and non-?profit distribution of" -# -%ENTRY% _LT_NOTATT_NOTBSD -%KEY% "licen[cs]" -%STR% "not subject to any licen[cs]e of the american telephone and telegraph company or of the regents of the university of california" -# -%ENTRY% _LT_NOT_FREE -%KEY% "distribut" -%STR% "not free =FEW= you (can|may) r?e?-?distribut(e|e it) and/or modify it" -# -%ENTRY% _LT_NOT_OPENSOURCE -%KEY% "so(ftware|urce)" -%STR% "not ((released|r?e?-?distributed|covered) (under|with|by) an?) open[ -]?source" -# -%ENTRY% _LT_NOVELL -%KEY% "in(demnif|tellect)" -%STR% "is protected under Novell intellectual property rights by reproducing duplicating or distributing this manual you explicitly agree to conform to the terms and conditions of this licen[cs]e agreement" -# -%ENTRY% _LT_NOVELL_IP_1 -%KEY% "in(demnif|tellect)" -%STR% "novel(l|l inc) has intellectual property rights relating to technolog" -# -%ENTRY% _LT_NOVELL_IP_2 -%KEY% "in(demnif|tellect)" -%STR% "is intellectual property (of|belonging to) novell inc" -##### -# DELETED: users and possessors of this source code are ... to use this -# code in individual and commercial software -##### -%ENTRY% _LT_NPL_1 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "the netscape public licen[cs]e =SOME= consists of the mozilla public licen[cs]e =SOME= with the following amendments including" -# -%ENTRY% _LT_NPL_2 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "netscape grants you a royalty[ -]free licen[cs]e to use modify or distribute this software provided" -# -%ENTRY% _LT_NPLref -%NOCHECK% -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "(licen[cs]ed|governed|applicable|subject) =SOME= (NPL|netscape public licen[cs]e)" -# -%ENTRY% _LT_NP_AME -%KEY% =NULL= -%STR% "(NPL|netscape public licen[cs]e) =FEW= consists of =FEW= (\|Mozilla public licen[cs]e)" -# -%ENTRY% _LT_NTP -%KEY% "permi[st]" -%STR% "permission to use copy modify and distribute this software and its documentation for any purpose (with or|and) without fee is hereby granted provided that the above copyright notice appears in all copies and that both the copyright notice and this permission notice appear in supporting documentation" -# -%ENTRY% _LT_NTP_0 -%KEY% "so(ftware|urce)" -%STR% "advertising or =FEW= distribution of the software without =FEW= permission" -# -%ENTRY% _LT_NVIDIA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "hereby granted a non-?exclusive,? royalty-free copyright (and design patent)? licen[cs]e" -# -%ENTRY% _LT_NVIDIA_EULA_1 -%KEY% "so(ftware|urce)" -%STR% "NVIDIA hereby grants customer the following non-exclusive non-transferable right to use the software with the following limitations" -# -%ENTRY% _LT_NVIDIA_EULA_2 -%KEY% "so(ftware|urce)" -%STR% "NVIDIA Corporation =FEW= supplies this software to you in consideration of your agreement to the following terms" -# -%ENTRY% _LT_NVIDIA_EULA_3 -%KEY% "licen[cs]" -%STR% "NVIDIA grants you a personal non-exclusive license under NVIDIA.s copyrights =SOME= to use reproduce modify and redistribute the NVIDIA Software with or without modifications in source and/or binary forms" -##### -# DELETED: hereby grant you a non-?exclusive world-?wide no-charge -# transferable licen[cs]e to ... and distribute internally and externally -# for commercial and non?commercial purposes the original code contributed -# by original contributor and all modifications -##### -%ENTRY% _LT_OCCT_exception_10_1 -%KEY% =NULL= -%STR% "Open CASCADE Exception \(version 1\.0\) to GNU LGPL version 2\.1" -# -%ENTRY% _LT_OCCT_exception_10_2 -%KEY% "distribut" -%STR% "you may distribute such object code incorporating material =FEW= provided with the Open CASCADE Technology libraries =SOME= under terms of your choice" -# -%ENTRY% _LT_OCLC -%KEY% "\" -%STR% "execute prepare derivative works of" -# -%ENTRY% _LT_ODC -%KEY% "licen[cs]" -%STR% "Open Data Commons Attribution License is a license agreement intended to allow users to freely share" -##### -# DELETED: netscape grants you a non-exclusive royalty-free licen[cs]e to use reproduce modify and create derivative works from and distribute and publish the Open Directory and your derivative works thereof ... -##### -%ENTRY% _LT_ODL -%KEY% "licen[cs]" -%STR% "subject to all of the terms and conditions of this Open Directory licen[cs]e" -# -%ENTRY% _LT_OGC -%KEY% "licen[cs]" -%STR% "OGC work =SOME= is being provided by the copyright holders under the following license" -##### -# DELETED: ... on with or for operating systems which are not open -# source programs -##### -%ENTRY% _LT_OpenGroup_1 -%KEY% "licen[cs]" -%STR% "you must contact the open group for a licen[cs]e allowing distribution and/?o?r? sublicen[cs]ing of this software" -# -%ENTRY% _LT_OpenGroup_2 -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and licen[cs]e this software and its documentation for any purpose (is hereby granted p|p)rovided" -##### -# DELETED: ... you must contact the open group for a licen[cs]e" -##### -%ENTRY% _LT_OpenGroup_3 -%KEY% "licen[cs]" -%STR% "subject to an open licen[cs]e it may only be used on with or for operating systems which are themselves open source systems" -##### -# DELETED: no part of this source code may be reproduced stored in a -# retrieval system or transmitted in any form or by any means electronic -# mechanical photycopying recording or otherwise ... without the prior -# permission of the copyright owners -##### -%ENTRY% _LT_OpenGroup_PROP -%NOCHECK% -%KEY% "\<(end[ -]user|eula)\>" -%STR% "except as stated in the end[ -]user licen[cs]e agreement" -##### -# DELETED: permitted to make and distribute verbatim copies of =SOME= ... -##### -%ENTRY% _LT_OMRON1 -%KEY% "licen[cs]" -%STR% "including verbatim of copies of the licen[cs]e agreement under the licen[cs]e agreement" -# -%ENTRY% _LT_OMRON2 -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and/?o?r? sell this software and its documentation for any purpose is hereby granted without fee" -# -%ENTRY% _LT_ONTOPIA -%KEY% "legal" -%STR% "licen[cs]e agreement the agreement is a legal agreement between you and Ontopia AS or its assigns" -# -%ENTRY% _LT_OPENCONTENT -%KEY% "licen[cs]" -%STR% "and give any other recipients of the OC a copy of this licen[cs]e along with the OC" -##### -# DELETED: ... -# documentation =SOME= ... with or without modification are permitted -# provided that the following conditions are met -##### -%ENTRY% _LT_OpenJDK_assembly_exception_10_1 -%KEY% "licen[cs]" -%STR% "as a special exception Oracle gives you permission to link this OpenJDK Code with certain code licensed by Oracle" -# -%ENTRY% _LT_OpenJDK_assembly_exception_10_2 -%KEY% =NULL= -%STR% "OpenJDK Assembly Exception" -# -%ENTRY% _LT_OPENLDAP_1 -%KEY% "distribut" -%STR% "r?e?-?distribution and/?o?r? use of this software and associated documentation" -##### -# DELETED: re-?distribution and use in source and binary forms =SOME= ... -##### -%ENTRY% _LT_OPENLDAP_2 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "are permitted only as authori[sz]ed by the OpenLDAP Public licen[cs]e" -# -%ENTRY% _LT_OPENMKT -%KEY% "so(ftware|urce)" -%STR% "permits you to use copy modify distribute and/?o?r? licen[cs]e this software and the documentation" -##### -# DELETED: under intellectual property rights other than patent or -# trademark ... -##### -##%ENTRY% _LT_OPENPL -##%KEY% "licen[cs]" -##%STR% "to use reproduce modify display perform sublicen[cs]e and/?o?r? distribute the modifications created by such contributor" -##### -# DELETED: ... of =SOME= is prohibited without the explicit permission -# of the copyright holder -##### -%ENTRY% _LT_OPENPUBL_1 -%KEY% "distribut" -%STR% "distribution of substantively modified version" -##### -# DELETED: ... =SOME= book form for commercial purposes is prohibited -# unless prior permission is obtained from the copyright holder -##### -%ENTRY% _LT_OPENPUBL_2 -%KEY% "distribut" -%STR% "distribution of the work or derivative of the work in any standard" -# -%ENTRY% _LT_OPENPUBLref -%KEY% "licen[cs]" -%STR% "open publication licen[cs]e applies|(under|under the|under the terms of the|terms and conditions set forth in the) open publication licen[cs]e" -# -%ENTRY% _LT_OpenSSL_exception_1 -%KEY% "openssl" -%STR% "as (an additional|a special) (exemption|exception) you are allowed to compile (&|and) link against the OpenSSL librar(y|ies)" -# -%ENTRY% _LT_OpenSSL_exception_2 -%KEY% "openssl" -%STR% "as (an additional|a(nother)? special) (exemption|exception) =SOME= permission to link =SOME= with (any version of )?the (OpenSSL project.s )?OpenSSL librar(y|ies)" -# -%ENTRY% _LT_openvpn_openssl_exception -%KEY% "openssl" -%STR% "as a special exception OpenVPN =FEW= gives permission to link the code of this program with the OpenSSL Library" -# -%ENTRY% _LT_ORACLE_DEVEL -%KEY% "licen[cs]" -%STR% "grant you a non-?exclusive right and licen[cs]e to use the programs solely for your business purposes and development and testing purposes" -# -%ENTRY% _LT_ORACLE_PROTO -%KEY% "licen[cs]" -%STR% "grant you a non-?exclusive nontransferable limited licen[cs]e to use the programs only for the purpose of developing a single prototype of your application" -# -%ENTRY% _LT_Oracle_foss_exception -%KEY% "licen[cs]" -%STR% "libraries may be distributed under Oracle =FEW= foss (or floss )?license exception" -##### -# DELETED: ... as long as this copyright notice appears in each copy of -# the program source code -##### -%ENTRY% _LT_OREILLY_1 -%KEY% "restrict" -%STR% "permission to use copy and/?o?r? modify this program without restriction is hereby granted" -# -%ENTRY% _LT_OREILLY_2 -%KEY% "distribut" -%STR% "distribution of any modified version must include a prominent notice describing the modifications that have been made" -# -%ENTRY% _LT_OSD -%KEY% "so(ftware|urce)" -%STR% "released under an open source definitio(n|n OSD) compliant licen[cs]e you may not use =FEW= execpt in compliance with the licen[cs]e" -##### -# DELETED: ... in this file and its documentation for any purpose without -# fee provided that the above copyright notice appears in all copies -##### -%ENTRY% _LT_OSF_1 -%KEY% "permi[st]" -%STR% "permission is hereby granted to use copy modify and/?o?r? freely distribute the software" -##### -# This one has a typo (s/is/us/) - DO NOT change it -##### -%ENTRY% _LT_OSF_2 -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute this (file|document|program) for any purpos(es? and without fee|es?) [iu]s hereby granted" -# -%ENTRY% _LT_OSL_BAD -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "mutual termination for patent action this licen[cs]e shall terminate automatically and you may no longer exercise any of the rights granted to you by this licen[cs]e if you file a lawsuit in any court alleging" -# -%ENTRY% _LT_OPENSSLref1 -%KEY% "distribut" -%STR% "distribution and/?o?r? use of this module is under the same terms? as the openSSL package itself" -# -%ENTRY% _LT_OPENSSLref2 -%KEY% "distribut" -%STR% "rights for r?e?-?distribution and/?o?r? usage in source and binary forms are granted according to the openSSL licen[cs]e" -# -%ENTRY% _LT_OPENSSLref3 -%KEY% "licen[cs]" -%STR% "licensed pursuant to( the)? openssl =FEW= licen[cs]e" -# -%ENTRY% _LT_OPENSSLref4 -%KEY% "licen[cs]" -%STR% "distributed under the same license as OpenSSL" -# -%ENTRY% _LT_OPENSSLref5 -%KEY% =NULL= -%STR% "openssl (toolkit|project)" -# -%ENTRY% _LT_OPENSSLref6 -%KEY% "licen[cs]" -%STR% "licensed under (the terms of )?(the )?OpenSSL" -# -%ENTRY% _LT_OPENSSLref7 -%KEY% "licen[cs]" -%STR% "rights reserved according to the OpenSSL license" -# -%ENTRY% _LT_OPENSSLref8 -%KEY% "licen[cs]" -%STR% "(re)?distribution and use is governed by OpenSSL license" -# -%ENTRY% _LT_OPENSSL_NOKIA -%KEY% "licen[cs]" -%STR% "Nokia =FEW= licensed pursuant to the OpenSSL open source license" -# -%ENTRY% _LT_COMBINED_OPENSSL_SSLEAY -%KEY% "SSLeay" -%STR% "OpenSSL License and =SOME= SSLeay license" -##### -# DELETED: this =SOME= is open source =SOME= ... -##### -%ENTRY% _LT_OSLref1 -%KEY% "distribut" -%STR% "you (can|may) r?e?-?distribute (it a|a)nd/or modify it under the terms =SOME= open software licen[cs]e" -# -%ENTRY% _LT_OSLref2 -%KEY% "\" -%STR% "(distribu|develop|offere?d?|released?|licen[cs]ed?|available|protected|provided|subject|comes) =SOME= under =SOME= (\|open software licen[cs]e)" -##### -# BSD-style? -##### -# DELETED: ... is hereby granted provided that the above copyright notice -# appear in all copies -##### -%ENTRY% _LT_PARADIGM -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and/?o?r? sell this software and its documentation for any purpose and without fee" -##### -# Ick. Some people insist on referring to 'terms of $LICEN[cs]E' in the -# singular form 'term' -- these mistakes are all over the place. So, rather -# than look for 'terms', use the wildcard with 'term' to cover both cases. -##### -# Also, DON'T match "perl artistic licen[cs]e" on some of these... -##### -# DELETED: free =SOME= you (may|can) ... -##### -%ENTRY% _LT_PERLref1 -%KEY% "distribut" -%STR% "distributed? =FEW= and/or modif[iy] =FEW= under =SOME= perl [^a]" -##### -# DELETED: distributed and (may|can) be ... -##### -%ENTRY% _LT_PERLref2 -%KEY% "distribut" -%STR% "distribute?d? =SOME= (condition|term) =SOME= perl [^a]" -# -%ENTRY% _LT_PERLref3 -%KEY% "\" -%STR% "(distributed?|released|available) =SOME= as perl itself" -# -%ENTRY% _LT_PERLref4 -%KEY% "licen[cs]" -%STR% "licen[cs]ed? =SOME= as perl" -# -%ENTRY% _LT_PERLref5 -%KEY% "licen[cs]" -%STR% "license(:?) perl" -##### -# Hardy, har, har. The phrase below is, in the actual licen[cs]e text, -# "complete documentation whether printed or otherwise" but WE STRIP OUT -# THE WORD "print" (and its derivatives) while eliminating all that pesky -# punctuation and such... (in case strings with licen[cs]e text are buried -# in a printf() call. -##### -# Also, text1 and text2 below refer to "Perl's Artistic Licen[cs]e". The -# apostrophe will be stripped out -- hence the wildcard. -###### -# DELETED: when ... or as part of its complete documentation =SOME= -# (these|this) (works|work) may be distributed only under the terms of -# perl =SOME= artistic licen[cs]e -##### -%ENTRY% _LT_PERL_1 -%KEY% "(condit|vers)ion" -%STR% "included as part of the standard version of perl" -##### -# DELETED: when included as an ... or of its documentation =SOME= -# (these|this) (works|work) (are|is) covered under perl =SOME= -# artistic licen[cs]e -##### -%ENTRY% _LT_PERL_2 -%KEY% "distribut" -%STR% "integrated part of the standard distribution of perl" -##### -# DELETED: permission is granted to ... freely subject to the -# following restrictions -##### -%ENTRY% _LT_PERL_3 -%KEY% "so(ftware|urce)" -%STR% "anyone to use this software for any purpose on any computer system and to r?e?-?distribute it" -##### -# DELETED: licen[cs]e is ... =SOME= for commercial or non-?commercial -# use provided the copyright of the author is preserved in any distributed -# or derivative work -##### -%ENTRY% _LT_PHP -%KEY% "so(ftware|urce)" -%STR% "granted to use or modify this software" -# -%ENTRY% _LT_PHP_ref -%KEY% "licen[cs]" -%STR% "under the terms =ANY= \ license" -# -%ENTRY% _LT_PHPref1 -%KEY% "licen[cs]" -%STR% "this =SOME= the php licen[cs]e" -# -%ENTRY% _LT_PHP_V30_1 -%KEY% "licen[cs]" -%STR% "(under|subject to) the php licen[cs]e (v|version )?3\.?0" -# -%ENTRY% _LT_PHP_V30_2 -%KEY% "licen[cs]" -%STR% "(under|subject to) (v|version )3\.?0 of the php licen[cs]e" -# -%ENTRY% _LT_PIRIFORM -%KEY% "so(ftware|urce)" -%STR% "piriform limited piriform is making this software freely available on the basis that it is accepted as found" -# -%ENTRY% _LT_PIXWARE_EULA -%KEY% "so(ftware|urce)" -%STR% "use of the software implies acceptance of this agreement and legally binds you and/or your company hereafter licen[cs]ee and Pixware SARL hereafter licen[cs]or to the terms and conditions set forth below" -##### -# DELETED: permission is granted to ... and to alter it and re-?distribute -# it freely subject to the following restrictions -##### -%ENTRY% _LT_PNG_ZLIB_1 -%KEY% "commerc" -%STR% "anyone to use this software for any purpose including commercial applications" -# -%ENTRY% _LT_PNG_ZLIB_CLAUSE_1 -%KEY% =NULL= -%STR% "The origin of this software must not be misrepresented" -# -%ENTRY% _LT_PNG_ZLIB_CLAUSE_2 -%KEY% =NULL= -%STR% "Altered (source )?versions must be plainly marked as such" -# -%ENTRY% _LT_PNG_ZLIB_CLAUSE_3 -%KEY% =NULL= -%STR% "This notice may not be removed or altered" -##### -# UNIQUE: or portions hereof for any purpose without fee subject to -##### -%ENTRY% _LT_PNG_ZLIB_2 -%KEY% "permi[st]" -%STR% "permission is hereby granted to use copy modify and/?o?r? distribute this =SOME= or portions hereof for any purpose without fee subject to" -# -%ENTRY% _LT_PNG_ZLIBref1 -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= zlib/libpng =FEW= licen[cs]e" -# -%ENTRY% _LT_PNG_ZLIBref2 -%KEY% "licen[cs]" -%STR% "(actual|explicit) licen[cs]e =FEW= (zlib|libpng)" -# -%ENTRY% _LT_PNG_ZLIBref3 -%KEY% "distribut" -%STR% "for conditions of distribution and use see copyright notice in (zlib?h|blast?h)" -# -%ENTRY% _LT_PNG_ZLIBref4 -%KEY% "licen[cs]" -%STR% "licen[cs]e zlib" -# -%ENTRY% _LT_PNG_ZLIBref4_EXHIBIT -%KEY% "licen[cs]" -%STR% "exhibit [abc] =ANY= licen[cs]e zlib" -# -%ENTRY% _LT_WORDNET -%KEY% "licen[cs]e" -%STR% "wordnet =FEW= 3\.?0 =SOME= software and database is being provided to you =SOME= by princeton university under the following licen[cs]e" -# -%ENTRY% _LT_WxWindows_exception_31 -%KEY% "licen[cs]" -%STR% "as a special exception =SOME= permission for additional uses of the text =SOME= licen[cs]ed under the wxWindows Library Licen[cs]e =FEW= version 3\.?1" -# -%ENTRY% _LT_INFO_ZIP -%KEY% "licen[cs]" -%STR% "Info-ZIP licen[cs]e" -# -%ENTRY% _URL_INFO_ZIP -%KEY% "licen[cs]" -%STR% "ftp\.?info-zip\.?org/pub/infozip/licen[cs]e" -# -%ENTRY% _LT_POLYSERVE -%KEY% "licen[cs]" -%STR% "polyserve confidential =SOME= subject to a licen[cs]e agreement" -# -%ENTRY% _LT_POWDER -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "proprietary to POWDER development and is not to be reproduced transmitted or disclosed in any way without written permission" -# -%ENTRY% _LT_PRINCETON -%KEY% "licen[cs]" -%STR% "provided to you the licen[cs]ee by =FEW= princeton university under the following licen[cs]e" -##### -# Interesting - Creative Commons has created a legal-looking certification -# document explicitly stating code is IN the public domain -##### -%ENTRY% _LT_PUBDOM_CC -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "to the best of his knowledge the work of authorship identified is in the \[ -]domain of the country from which the work is published" -# -%ENTRY% _LT_PURDUE -%KEY% "permi[st]" -%STR% "permission is granted to anyone to use this software for any purpose on any computer system" -# -%ENTRY% _LT_UNLIN -%KEY% "public" -%STR% "free (,|and) unencumbered =FEW= public domain" -# -%ENTRY% _URL_UNLINref -%KEY% "licen[cs]" -%STR% "(refer to|(read|see)) =FEW= unlicense\.?org" -# -%ENTRY% _URL_UNLIN -%KEY% "licen[cs]" -%STR% "all rights reversed =FEW= unlicense\.?org" -# -%ENTRY% _LT_PUBDOM_1 -%KEY% "p(atent|roduc|rofit|roject|ublic)" -#%STR% "(licen[cs]e|under|in|is|are|to|withi?n?|contain) =SOME= \[ -]domain" -%STR% "(licen[cs]e|under|\|\|are|\|withi?n?|contain) =SOME= \[ -]\" -# -%ENTRY% _LT_PUBDOM_2 -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "(available|released|donated|given|claim) =FEW= (the|to|for) \[ -]\" -# -%ENTRY% _LT_PUBDOM_3 -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "(on|is|are|with) publica?l?ly available" -# -# Don't get fooled by discussion of public domain in GPLV3 -%ENTRY% _LT_NOTPUBDOM_1 -%KEY% "propagation" -%STR% "propagation includes copying distribution =FEW= making available to the public" -# -# After making public domain an interesting license, these signatures -# are way too broad. -#%ENTRY% _LT_PUBDOM_4 -#%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -#%STR% "no =FEW= copyrights? (is|are|were|was|has) =FEW= (known|assert|claim|own|found)" -# -#%ENTRY% _LT_PUBDOM_5 -#%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -#%STR% "(this|the) (file|product|program|sourc(e|e code)|software|work|code|document|page) =FEW= not copyright" -##### -# Note the specific up-to-10-character pattern-match length here. -##### -#%ENTRY% _LT_PUBDOM_6 -#%NOCHECK% -#%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -#%STR% "(copyright.{0,10}(abandon|eliminat|disclaim|relinquish|remove|withdraw)|(abandon|eliminat|disclaim|relinquish|remove|withdraw).{0,10}copyright)" -# -%ENTRY% _LT_PUBDOM_7 -%KEY% "public" -%STR% "is =FEW= public domain" -# -%ENTRY% _LT_PUBDOM_8 -%KEY% "copyright" -%STR% "given to opensource copyright(-| )free" -# -%ENTRY% _LT_PUBDOM_9 -%KEY% "copyright" -%STR% "does not claim any copyright" -# -%ENTRY% _LT_PUBDOM_10 -%KEY% "copyright" -%STR% "disclaims copyright to" -# -%ENTRY% _LT_PUBDOMNOTcpyrt -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "no =FEW= copyright =SOME= \[ -]domain" -# -%ENTRY% _LT_PUBDOM_NOTclaim -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "(\|[-_\*]not[-_\*]) (covered|under|in|to) =FEW= \[ -]\" - -##### -# DELETED: the purpose of this document is to enable rightsholders to place -# their work into the public domain unlike licen[cs]es for free and open -# source software free cultural works or open content licences ... -##### -%ENTRY% _LT_PUBDOM_ODC -%KEY% "licen[cs]" -%STR% "rightsholders will not be able to dual licen[cs]e their work by releasing the same work under different licen[cs]es" -##### -%ENTRY% _LT_PUBDOM_PDD -%KEY% "(condit|vers)ion" -%STR% "grant anyone the right to use =FEW= for any purpose without any conditions" -# -%ENTRY% _LT_PUBDOM_USE -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "the work may be freely reproduced r?e?-?distributed transmitted used modified built upon or otherwise exploited by anyone" -# -%ENTRY% _LT_PUBLIC -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "by making this public release the (acaa|government) intends to confer upon all recipients unlimited rights equal to those held by the (acaa|government)" -# -%ENTRY% _LT_PUBLIC_USE -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "the public use works may be reproduced and r?e?-?distributed in whole or in part in any medium" -##### -# DELETED: subject to the terms and conditions of this =SOME= licen[cs]e -# agreement =SOME= hereby grants licen[cs]ee a non-?exclusive royalty-free -# world-?wide licen[cs]e ... =SOME= alone or in any derivative version -# provided however -##### -%ENTRY% _LT_PYTHON_1 -%KEY% "distribut" -%STR% "to reproduce analyze test perform and/or display publicly prepare derivative works distribute" -##### -# DELETED: permission to use copy modify distribute or sell =SOME= ... -# notice and this paragraph appear in all copies -##### -%ENTRY% _LT_PYTHON_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "without fee for any purpose and by any individual or organi[sz]ation is hereby granted provided that the above copyright" -##### -# DELETED: ... for commercial use to sell copies of python in source or -# binary form modified or unmodified or to sell products that incorporate -# python in some form -##### -%ENTRY% _LT_PYTHON_3 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "if you honor the copyright rules it i?s ok to use python" -# -%ENTRY% _LT_PYTHON_4 -%KEY% "licen[cs]" -%STR% "licensed to PSF under (a |the )?contributor agreement" -# -%ENTRY% _LT_PYTHON22ref -%KEY% "licen[cs]" -%STR% "license for python 2\.?2" -##%STR% "(distribut(able|ed?)|offere?d?|released?|licen[cs]ed?|available|protected) =SOME= python 2\.?2 licen[cs]e" -# -%ENTRY% _LT_PYTHONref1 -%KEY% "distribut" -%STR% "distributed? =SOME= as python itself" -# -%ENTRY% _LT_PYTHONref2 -%KEY% "licen[cs]" -%STR% "licen[cs]ed? =SOME= as python itself" -# -%ENTRY% _LT_PYTHONref3 -%KEY% "licen[cs]" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= \" -%STR% "under the terms =SOME= (qpl|q public licen[cs]e)" -# -%ENTRY% _LT_QT_COMMref -%KEY% "licen[cs]" -%STR% "licen[cs]e[ds] (to you under the terms of|may use this file in accordance with) the qt commercial licen[cs]e agreement" -# -%ENTRY% _LT_QT_GPL_EXCEPTION -%KEY% =NULL= -%STR% "QT_BEGIN_LICENSE.GPL-EXCEPT" -# -%ENTRY% _LT_QT_GPL_EXCEPTION_10_1 -%KEY% =NULL= -%STR% "as a special exception you may create a larger work which contains the output of this application" -# -%ENTRY% _LT_QT_GPL_EXCEPTION_10_2 -%KEY% "licen[cs]" -%STR% "as a special exception, you have permission to combine this application with plugins licensed under the terms of your choice" -# -%ENTRY% _LT_QT_GPL_EXCEPTION_10_3 -%KEY% =NULL= -%STR% "with exceptions as appearing in the file LICENSE\.GPL3-EXCEPT" -# -%ENTRY% _LT_QUEST_EULA -%KEY% "so(ftware|urce)" -%STR% "this agreement the agreement is made between quest software inc Quest and you the customer licen[cs]ee" -##### -# DELETED: you hereby grant to original contributor a world-?wide ... -##### -%ENTRY% _LT_Qwt_exception_10_1 -%KEY% "licen[cs]" -%STR% "Qwt Licen[cs]e Version 1\.?0" -# -%ENTRY% _LT_Qwt_exception_10_2 -%KEY% =NULL= -%STR% "static linking of applications and widgets to the Qwt library does not constitute a derivative work" -# -%ENTRY% _LT_REAL_RCSL -%KEY% "licen[cs]" -%STR% "royalty-free non-?exclusive perpetual and irrevocable licen[cs]e" -# -%ENTRY% _LT_REAL_RCSLref -%KEY% "licen[cs]" -%STR% "(subject to|under) =SOME= realnetworks community source licen[cs]e the RCSL" -##### -# Wording is similar to SyBase -##### -# DELETED: ... with every copy of source code of covered code and -# documentation you distribute and you may not offer or impose any -# terms on such source code that alter or restrict this licen[cs]e -##### -%ENTRY% _LT_REAL_RPSL -%KEY% "licen[cs]" -%STR% "include a copy of this licen[cs]e" -# -%ENTRY% _LT_REAL_RPSLref -%KEY% "licen[cs]" -%STR% "(subject to|under) =SOME= realnetworks public source licen[cs]e" -##### -# DELETED: under the RPL your changes bug fixes extensions etc ... in any -# form either internally or to an outside party -##### -%ENTRY% _LT_RECIP15 -%KEY% "so(ftware|urce)" -%STR% "must be made available to the open source community at large when you deploy" -##### -# DELETED: ... to licen[cs]or's software whose source code you have access -# to you are required to reciprocate by providing equal access and rights to -# all third parties to the source code of any modifications derivative works -# and required components for execution -##### -%ENTRY% _LT_RECIP_1 -%KEY% "licen[cs]" -%STR% "reciprocity in exchange for being granted certain rights under the terms of this licen[cs]e" -# -%ENTRY% _LT_RECIP_2 -%KEY% "licen[cs]" -%STR% "reciprocal public licen[cs]e RPL is based on the concept of reciprocity" -# -%ENTRY% _LT_RECV_GPL -%KEY% "licen[cs]" -%STR% "you should have received a copy of the GNU general public licen[cs]e along with" -# -%ENTRY% _LT_RECV_LGPL -%KEY% "licen[cs]" -%STR% "you should have received a copy of the GNU (lesser|library) general public licen[cs]e along with" -##### -# DELETED: permission is granted to copy distribute and/or modify -# this document ... -##### -%ENTRY% _LT_REDLAND -%KEY% "licen[cs]" -%STR% "under the same licen[cs]ing terms as redland" -# -%ENTRY% _LT_RH_1 -%KEY% "(condit|vers)ion" -%STR% "licen[cs]e agreement licen[cs]e sets forth the terms and conditions under which red hat" -# -##%ENTRY% _LT_RH_2 -##%KEY% "distribut" -##%STR% "red hat inc grants to you the right and licen[cs]e to copy and re-?distribute the unaltered packages but only in conjunction with copying or re-?distributing additional software packages that call upon the packages during the normal course of operation" -# -%ENTRY% _LT_RH_EULA -%KEY% "(docume|warra)nt" -%STR% "licen[cs]e agreement and limited product warranty red hat" -# -%ENTRY% _LT_RH_FEDORA -%KEY% "licen[cs]" -%STR% "fedora project grants you the right and licen[cs]e" -# -%ENTRY% _LT_RH_NONCOMMERCIAL -%KEY% "commerc" -%STR% "course of operation and only in non-?commercial distribution" -# -%ENTRY% _LT_RH_REDHAT -%KEY% "licen[cs]" -%STR% "red hat (inc|software) grants (to yo|yo)u the right and licen[cs]e" -##### -# DELETED: grants to you the right and ... but only in conjunction with -# copying or re-?distributing additional software packages that call upon -# the packages during the normal course of operation -##### -%ENTRY% _LT_RH_PKGS -%KEY% "licen[cs]" -%STR% "licen[cs]e to copy and/?o?r? r?e?-?distribute the unaltered packages" -##### -# DELETED: to ... of display perform sublicen[cs]e and distribute the -# original code or portions thereof with or without modifications or -# as part of a Larger Work -##### -%ENTRY% _LT_RH_SPECIFIC -%KEY% "licen[cs]" -%STR% "right =SOME= licen[cs]e =SOME= to red[ ]*hat" -# -%ENTRY% _LT_RICOH -%KEY% "\" -%STR% "use reproduce modify create derivative works" -##### -# DELETED: subject to the terms and conditions of this license agreement -# riverbank hereby grants licensee a non-?exclusive royalty-free world-wide -# licen[cs]e ... -##### -%ENTRY% _LT_RIVERBANK -%KEY% "licen[cs]" -%STR% "subject to the terms and conditions of this licen[cs]e agreement riverbank hereby grants licen[cs]ee a non-?exclusive royalty-free world-wide licen[cs]e" -##### -# DELETED: ... provided that such works are identified as derived from -# the RSA data security inc -##### -%ENTRY% _LT_RSA_1 -%KEY% "\" -%STR% "make and/?o?r? use derivative works" -##### -# DELETED: provided that it is identified as RSA data security inc -##### -%ENTRY% _LT_RSA_2 -%KEY% "(docume|warra)nt" -%STR% "licen[cs]e to copy this document is granted" -# -%ENTRY% _LT_RSA_3 -%KEY% "licen[cs]" -%STR% "this product includes code licen[cs]ed from RSA data security" -# -%ENTRY% _LT_RSA_4 -%KEY% "licen[cs]" -%STR% "licen[cs]e is also granted to make and use derivative works provided that such works are identified as derived from the RSA data security inc" -##### -# DELETED: if you modify the DNSsafe software itself you cannot modify its -# documented API ... including the right to use any patents or other -# intellectual property that your modifications depend upon -##### -%ENTRY% _LT_RSA_5 -%KEY% "distribut" -%STR% "and you must grant RSA Data Security the right to use modify and distribute your modifications" -# -%ENTRY% _LT_RSA_CRYPTOKI_1 -%KEY% "cryptographic" -%STR% "Cryptographic Token Interface" -# -%ENTRY% _LT_RSA_CRYPTOKI_2 -%KEY% "licen[cs]" -%STR% "Licen[cs]e is also granted to make and use derivative works provided that such works are identified as derived from the RSA Security Inc" -##### -# DELETED: ... of the software but belong to whomever generated them and -# may be sold commercially and may be aggregated with this software -##### -%ENTRY% _LT_SAX_PD -%KEY% "licen[cs]" -%STR% "not possible to own a license to sax" -# -%ENTRY% _LT_RUBY -%KEY% "so(ftware|urce)" -%STR% "the scripts and library files supplied as input to or produced as output from the software do not automatically fall under the copyright" -# -%ENTRY% _LT_RUBYref1 -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= ruby licen[cs]e" -# -%ENTRY% _LT_RUBYref2 -%KEY% "\" -%STR% "you (can|may) r?e?-?distribute (it a|a)nd/or modify it under the (same t|t)erms? (as|of) ruby" -# -%ENTRY% _LT_RUBYref3 -%KEY% "\" -%STR% "you (can|may) r?e?-?distribute/modify (it|this program) under the same (licen[cs]e t|t)erms (as|of) ruby" -# -%ENTRY% _LT_RUBYref4 -%KEY% "\" -%STR% "distributed? under the ruby licen[cs]e" -# -%ENTRY% _LT_RUBYref5 -%KEY% "\" -%STR% "is free software you (can|may) r?e?-?distribute and/or modify (this (file|program|sourc(e|e code))|it) under the (same t|t)erms as rub(y itself|y s licen[cs]e)" -# -%ENTRY% _LT_RUBYref6 -%KEY% "\" -%STR% "released under the same terms as ruby" -# -%ENTRY% _LT_SAME_LICENSE_1 -%KEY% "\" -%STR% "(released|licen[cs]ed|distributed) under (identical|the ((very s|s)ame|exact)) ((restrictions? and l|l)icen[cs]es?|term(s|s and conditions)) (that|as)" -# -%ENTRY% _LT_SAME_LICENSE_2 -%KEY% "(condit|vers)ion" -%STR% "subject t(o|o the) terms and conditions (contained|appearing|described|documented|listed|enumerated) in" -# -%ENTRY% _LT_SCITECH -%KEY% "licen[cs]" -%STR% "subject to the scitech mgl public licen[cs]e" -##### -# DELETED: The information in this file ... inc such users have the -# right to use modify and incorporate this code into other products -# for purposes authorized by the licen[cs]e agreement provided they -# include this # notice and the associated copyright notice with any -# such product -##### -%ENTRY% _LT_SCO_COMM -%KEY% "licen[cs]" -%STR% "is provided for the exclusive use of the licen[cs]ees of the santa cruz operation" -# -%ENTRY% _LT_SEE_GPL -%KEY% "licen[cs]" -%STR% "see the GNU general public licen[cs]e for (more|full) details" -# -%ENTRY% _LT_SEE_LGPL -%KEY% "licen[cs]" -%STR% "see the GNU (lesser|library) general public licen[cs]e for (more|full) details" -# -%ENTRY% _PHR_SGI_LIBTIFF -%KEY% =NULL= -##### -# This string is used in HASTEXT, for some reason string cannot be searched over new line -# therefore =FEW= is needed to skip nl -##### -%STR% "names =FEW= Sam Leffler and Silicon Graphics may not be used in any advertising" -# -%ENTRY% _PHR_LIBTIFF_STYLE -%KEY% =NULL= -%STR% "names =SOME= may not be used in any advertising" -# -%ENTRY% _LT_SGI_1 -%KEY% "permi[st]" -%STR% "permission to use copy modify distribute and/?o?r? sell this software (and its documentation )?for any purpose is hereby granted without fee provided t(hat the|hat i the|he) above copyright notices? and this permission notice appear in all copies" -##### -# DELETED: except to the extent portions of this file are ... in the SGI -# free software licen[cs]e B Version 11 =SOME= the contents of this file -# are subject only to the provisions of the licen[cs]e -##### -%ENTRY% _LT_SGI_2 -%KEY% "permi[st]" -%STR% "made subject to an alternative licen[cs]e as permitted" -##### -# .gl files comments starts with _C_ string which is recognized as -# a normal string. Therefore a special cases are needed to identify -# SGI-B-x.y licenses. These are only used together with _LT_SGI_2 -##### -%ENTRY% _LT_SGI_V10 -%KEY% "licen[cs]" -%STR% "sgi =FEW= software licen[cs]e b (v|version )1\.?0" -# -%ENTRY% _LT_SGI_V11 -%KEY% "licen[cs]" -%STR% "sgi =FEW= software licen[cs]e b (v|version )1\.?1" -# -%ENTRY% _LT_SGI_V20 -%KEY% "licen[cs]" -%STR% "sgi =FEW= software licen[cs]e b (v|version )2\.?0" -##### -# UNIQUE: provided that you include the entirety of this reservation of rights -##### -# DELETED: ... in all such copies =SOME= comply with any additional -# or different obligations -##### -%ENTRY% _LT_SGI_FREEW -%KEY% "distribut" -%STR% "you may copy modify use and/?o?r? distribute =SOME= provided that you include the entirety of this reservation of rights notice" -# -%ENTRY% _LT_SGI_GLX -%KEY% "permi[st]" -%STR% "SGI hereby grants permission to recipient defined below under recipient s copyrights? in the original software" -# -%ENTRY% _LT_SGI_GLXref -%KEY% "licen[cs]" -%STR% "subject to the GLX public licen[cs]e" -# -%ENTRY% _LT_SGI_PROPRIETARY -%KEY% "so(ftware|urce)" -%STR% "portions =SOME= unpublished proprietary source code of silicon graphics inc" -##### -# DELETED: hereby grants to any user =SOME= an irrevocable royalty-free -# world-?wide non-?exclusive ... perform and distribute copies of and -# to prepare derivative works based upon these materials -##### -%ENTRY% _LT_SGML -%KEY% "licen[cs]" -%STR% "licen[cs]e to use execute reproduce display" -##### -# DELETED: re-?distribution you are ... software unless you have agreed to -# and meet with the distribution Terms that are published on the skype -# website at -##### -%ENTRY% _LT_SKYPE -%KEY% "distribut" -%STR% "not allowed to r?e?-?distribute the skype" -##### -# DELETED: ... provided that the above copyright notice appears in all -# copies and that use of such publications is for non-?commercial use only -##### -%ENTRY% _LT_SLEEPYCAT_NC -%KEY% "permi[st]" -%STR% "permission to use this publication or portions of this publication is granted by sleepycat software" -# -%ENTRY% _LT_SLEEPYCAT_1 -%KEY% "distribut" -%STR% "r?e?distributions in any form must be accompanied by information on how to obtain complete source code for =FEW= and any accompanying software that uses" -# -%ENTRY% _LT_SNIA_PL -%KEY% "so(ftware|urce)" -%STR% "(SNIA|Storage Network Industry) =ANY= any modification which you create or to which you contribute must be made available in source code form under the terms of this licen[cs]e" -# -%ENTRY% _LT_SNIAref -%KEY% "licen[cs]" -%STR% "(distribu|develop|offere?d?|released?|licen[cs]ed?|available|protected|provided|subject|comes) =SOME= (snia|storage network industry) =FEW= public licen[cs]e" -# -%ENTRY% _LT_Spencer_86_94_CLAUSE_1 -%KEY% "software" -%STR% "author is not responsible for the consequences of use of this software" -# -%ENTRY% _LT_Spencer_94_CLAUSE_2 -%KEY% "source" -%STR% "since few users ever read (the )?sources credits must appear in the documentation" -# -%ENTRY% _LT_Spencer_99 -%KEY% "software" -%STR% "given credit for this package in the documentation of software" -##### -# DELETED: permission is granted to make and distribute verbatim copies -# of this =SOME= ... -##### -%ENTRY% _LT_SPI -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "provided the copyright notice and this permission notice are preserved on all copies" -##### -# DELETED: ... the licen[cs]e you may not use this file except in -# compliance with the licen[cs]e -##### -%ENTRY% _LT_SPIKESOURCE -%KEY% "licen[cs]" -%STR% "licen[cs]ed under the SpikeSource open source licen[cs]e" -##### -# DELETED: provided that you make your modified version obviously -# distinguishable from the original one -##### -%ENTRY% _LT_SRA -%KEY% "distribut" -%STR% "use and r?e?-?distribution for any purpose are granted as long as all copyright notices are retained r?e?-?distribution with modification is allowed" -# -%ENTRY% _LT_SSH -%KEY% =NULL= -%STR% "it must be called by a name other than \"?ssh\"? or \"?secure shell\"?" -# -%ENTRY% _LT_SSH_OpenSSH -%KEY% "permi[st]" -%STR% "legal status of this program is some combination of all these permissions and restrictions" -# -%ENTRY% _LT_SSLEAY -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "copyright remains Eric Young =FEW= as such any copyright notices in the code are not to be removed" -##### -# DELETED: ... others to use object code copies of the program or -# any derivative version of the program all copies must contain all -# copyright and other proprietary notices found in the program as -# provided by stanford -##### -%ENTRY% _LT_STANFORD -%KEY% "licen[cs]" -%STR% "licen[cs]ee may copy the program and may sublicen[cs]e" -# -%ENTRY% _LT_SUN_ANYagreement -%KEY% "\" -%STR% "sun microsystems inc =SOME= licen[cs]e agreement" -# -%ENTRY% _LT_SUN_BCLA_1 -%KEY% "licen[cs]" -%STR% "su(n|n microsystems inc) is willing to licen[cs]e =SOME= and the accompanying documen" -# -%ENTRY% _LT_SUN_BCLA_2 -%KEY% "\" -%STR% "sun microsystems inc binary code licen[cs]e agreement" -# -%ENTRY% _LT_SUN_BCLAref -%KEY% "\" -%STR% "(distribu|develop|offere?d?|released?|licen[cs]ed?|available|protected|provided|subject|comes) =SOME= under =SOME= sun =FEW= binar(y|y code) licen[cs]e" -##### -# DELETED: entitlement means the collective set of applicable documents -# authorized by Sun evidencing your obligation to pay associated fees ... -#### -%ENTRY% _LT_SUN_ENTITLE -%KEY% "\" -%STR% "if any for the licen[cs]e associated services and the authori[sz]ed scope of use of software under this agreement" -##### -# DELETED: ... =SOME= (described|embodied) in this (document|product) in -# particular and without limitation these intellectual property rights -# may include one or more =SOME= patents listed -##### -%ENTRY% _LT_SUN_IP -%KEY% "in(demnif|tellect)" -%STR% "sun microsystem(s|s inc) has intellectual property rights relating to technolog" -##### -# DELETED: ... to software and all associated intellectual property -# rights is retained by Sun and/or its licen[cs]ors except as specifically -# authori[sz]ed in any =SOME= you may not make copies of software -##### -%ENTRY% _LT_SUN_JAVA -%KEY% "so(ftware|urce)" -%STR% "software is confidential and copyrighted title" -# -%ENTRY% _LT_SUN_PLref -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= sun public licen[cs]e" -# -%ENTRY% _LT_SUN_PROPRIETARY -%KEY% "licen[cs]" -%STR% "sun considers =SOME= an unpublished proprietary trade secret and it is available only under strict licen[cs]e provisions" -# -%ENTRY% _LT_SUN_PROPRIETARY_2 -%KEY% "licen[cs]" -%STR% "\ =SOME= (proprietary|confidential) =SOME= use is subject to licen[cs]e terms" -# -%ENTRY% _LT_SUN_PROPRIETARY_3 -%KEY% "licen[cs]" -%STR% "\ =SOME= (proprietary|confidential) =SOME= you shall not disclose such confidential information =FEW= use it only in accordance with =FEW= licen[cs]e (terms|agreement)" -# -%ENTRY% _LT_SUN_SCA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "this agreement jointly assigns copyright over your work to yourself and to sun microsystems" -##### -# DELETED: source code of a compliant ... to another commercial use -# licen[cs]ee of the same technology -##### -%ENTRY% _LT_SUN_SCSL_TSA -%KEY% "commerc" -%STR% "implementation authori[sz]ed for distribution for commercial use may be r?e?-?distributed only" -# -%ENTRY% _LT_SUN_SCSLref -%KEY% "licen[cs]" -%STR% "subject to the sun community source licen[cs]e" -##### -# In some places the SISSL reference does NOT include the word "industry" -# AND/OR the word "source"! (this is listed on the Sun website)! -##### -%ENTRY% _LT_SUN_SISSLref1 -%KEY% "licen[cs]" -%STR% "subject to the sun industry standards source licen[cs]e" -# -%ENTRY% _LT_SUN_SISSLref2 -%KEY% "licen[cs]" -%STR% "subject to the sun standards licen[cs]e" -# -%ENTRY% _LT_SUN_PRO -%KEY% "\" -%STR% "developed at (sunpro|sunsoft) a sun microsystems inc business permission to use copy modify and/?o?r? distribute this =FEW= is freely granted" -##### -# DELETED: ... it to anyone else except as part of a product or program -# developed by the user -##### -%ENTRY% _LT_SUN_RPC -%KEY% "licen[cs]" -%STR% "users may copy or modify Sun RPC without charge but are not authori[sz]ed to licen[cs]e or distribute" -##### -# DELETED: ... and distributed under licen[cs]es restricting its use -# copying distribution and decompilation no part of this product or -# documentation may be reproduced in any form by any means without -# prior written authori[sz]ation -##### -%ENTRY% _LT_SUNrestrict -%KEY% "(docume|warra)nt" -%STR% "product or document is protected by copyright" -##### -# DELETED: ... for unrestricted use provided that this legend is -# included on all tape media and as a part of the software program in -# whole or part -##### -%ENTRY% _LT_SUN_1 -%KEY% "\" -%STR% "product of sun microsystems inc and is provided" -##### -# DELETED: software is the confidential and ... -##### -%ENTRY% _LT_SUN_2 -%KEY% "\" -%STR% "proprietary information of sun microsystems inc" -##### -# DELETED: sun grants you =SOME= non-?exclusive ... code form provided -# =SOME= this copyright notice and licen[cs]e appear on all copies of -# the software =SOME= Licen[cs]ee does not utilize the software in a manner -# which is disparaging to Sun -##### -%ENTRY% _LT_SUN_3 -%KEY% "distribut" -%STR% "royalty free licen[cs]e to use modify and/?o?r? r?e?-?distribute this software in source and binary" -# -%ENTRY% _LT_SUN_4 -%KEY% "distribut" -%STR% "non-exclusive royalty free licen[cs]e to use and/?o?r? r?e?-?distribute this software" -# -%ENTRY% _LT_SUN_5 -%KEY% "\" -%STR% "developed by sun microsystems inc and is provided for unrestricted use provided that this legend is included" -# -%ENTRY% _LT_SUN_6 -%KEY% "distribut" -%STR% "non-exclusive rights to r?e?-?distribute modify translate and use this software in source and binary forms in whole or in part is hereby granted provided that the above copyright notice" -# -%ENTRY% _LT_SUN_FREE -%KEY% "restrict" -%STR% "is provided for unrestricted use users may copy or modify this source code without charge" -##### -# DELETED: ... as individual graphics or as a collection as part of -# software code or programs that you develop provided that i this copyright -# notice and licen[cs]e accompany the software graphics artwork and ii you do -# not utilize the software -##### -%ENTRY% _LT_SUN_GRAPHICS -%KEY% "licen[cs]" -%STR% "sun grants you licen[cs]ee a non-exclusive royalty free licen[cs]e to use and/?o?r? r?e?-?distribute this software graphics? artwork" -##### -# DELETED: ... provided that this copyright notice appears in all copies -##### -%ENTRY% _LT_SUN_NC -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute this software and its documentation for non-?commercial purposes and without fee is hereby granted" -##### -# DELETED: ... with every copy of source code of covered code and -# documentation you distribute and you may not offer or impose any -# terms on such source code that alter or restrict =SOME= rights hereunder -##### -%ENTRY% _LT_SYBASE -%KEY% "licen[cs]" -%STR% "retain and reproduce a copy of this licen[cs]e" -# -%ENTRY% _LT_TCL -%KEY% "software" -%STR% "this software is copyrighted by the Regents of the University of California Sun Microsystem =SOME= and other parties =SOME= apply to all files associated with the software unless explicitly disclaimed in individual files" -##### -# DELETED: ... distribute this software and its documentation for -# any purpose and without fee provided that -##### -%ENTRY% _LT_TEKTRONIX -%KEY% "permi[st]" -%STR% "permission is hereby granted to use copy modify sell and/?o?r? otherwise" -# -%ENTRY% _LT_TEX_EXCEPT -%KEY% "so(ftware|urce)" -%STR% "as a special exception when this file is read by TeX when processing a TeXinfo source document you may use the result without restriction" -# -%ENTRY% _LT_TMATE -%KEY% "distribut" -%STR% "distributions? in any form must be accompanied by information on how to obtain complete source code for the software that uses SVNKit" -# -%ENTRY% _LT_TPLref -%KEY% "licen[cs]" -%STR% "subject to the terracotta public licen[cs]e" -# -%ENTRY% _LT_TRIDENT_EULA -%KEY% "\" -%STR% "is confidential and proprietary to trident microsystems inc it is subject to the terms of a licen[cs]e agreement between licen[cs]ee and trident microsystems inc restricting" -##### -# DELETED: subject to acceptance of the following conditions permission is -# hereby ... to use copy modify and distribute this software for any purpose -##### -%ENTRY% _LT_TROLLTECH -%KEY% "licen[cs]" -%STR% "granted by licen[cs]ors without the need for written agreement and without licen[cs]e or royalty fees" -##### -# DELETED: free software you can re-?distribute (it a|a)nd/or modify it ... -# information is retained its original form -##### -%ENTRY% _LT_UBC -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "provided that this copyright/licen[cs]e" -##### -# DELETED: user is granted the right without any fee or cost to use copy -# modify ... and any derivative works thereof and its supporting -# documentation for any purpose whatsoever provided that this entire -# notice appears in all copies -##### -%ENTRY% _LT_u_boot_exception_20 -%KEY% =NULL= -%STR% "this does \*?not\*? cover the so.called \"?standalone\"? applications that use U.Boot services by means of the jump table" -# -%ENTRY% _LT_UBUNTU_FONT -%KEY% "licen[cs]" -%STR% "each copy of the font software must contain the above copyright notice and this licen[cs]e" -# -%ENTRY% _LT_UCAR_1 -%KEY% "distribut" -%STR% "alter enhance and/?o?r? distribute this software" -# _LT_UCAR_2 is used only with and after _LT_UCAR_1 therefore there is no -# need to check key value. -%ENTRY% _LT_UCAR_2 -%NOCHECK% -%KEY% "obligat" -%STR% "UCAR.Unidata is not obligated to provide the user with any support" -# -# UCAR/Unidata license does not have _LT_UCAR_3 and there is no testdata for it. -%ENTRY% _LT_UCAR_3 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "provided that the copyright notice and these paragraphs are preserved" -# -%ENTRY% _LT_UCHICAGO -%KEY% "permi[st]" -%STR% "permission is hereby granted to use reproduce prepare derivative works and to r?e?-?distribute to others" -# -%ENTRY% _LT_UCWARE_EULA_1 -%KEY% "legal" -%STR% "UCWAREcom grants to you a non-exclusive non-transferable licen[cs]e to use the enclosed software for free for any legal purpose" -# -%ENTRY% _LT_UCWARE_EULA_2 -%KEY% "legal" -%STR% "this user licen[cs]e agreement the agreement is an agreement between you individual or legal entity and UCWAREcom" -##### -# DELETED: permission to ... provided that any documentation or other -# materials related to such distribution or use acknowledge -##### -%ENTRY% _LT_USC -%KEY% "distribut" -%STR% "copy modify and/?o?r? distribute this software and its documentation in source and binary forms is hereby granted" -# -%ENTRY% _LT_UMICHIGAN_1 -%KEY% "licen[cs]" -%STR% "licen[cs]e to use copy modify and/?o?r? distribute this software and its documentation (can|may) be obtained from merit =FEW= at the university of michigan" -# -%ENTRY% _LT_UMICHIGAN_2 -%KEY% "permi[st]" -%STR% "permission is granted to use copy create derivative works and r?e?-?distribute this software and such derivative works for any purpose" -# -%ENTRY% _LT_UMONASH -%KEY% "distribut" -%STR% "may make and distribute modified versions of the files or works derived from the files under the same conditions applying to verbatim copies" -# -%ENTRY% _LT_unboundID_ldap_sdk -%KEY% "agreement" -%STR% "agreement between you =FEW= and PING IDENTITY CORPORATION =FEW= regarding your use of UNBOUNDID LDAP SDK for java" -##### -# DELETED: permission to ... and without fee is hereby granted provided -# that the above copyright notice appear in all copies -##### -%ENTRY% _LT_UNICODE_1 -%KEY% "distribut" -%STR% "(can|may) be r?e?-?distributed to third parties or other organi[sz]ations whether for profit or not as long as this notice and the disclaimer notice are retained" -# -%ENTRY% _LT_UNICODE_2 -%KEY% "distribut" -%STR% "recipient is granted the right to make copies in any form for internal distribution and to freely use the information supplied in the creation of products supporting =FEW= Unicode" -# -%ENTRY% _LT_UNICODE_3 -%KEY% "\" -%STR% "Unicode inc hereby grants the right to freely use the information supplied in this file in the creation of products supporting the unicode standard and to make copies" -# -%ENTRY% _LT_UNICODE_4 -%KEY% "copyright" -%STR% "(distributed under|license (&|and)) (the )?terms of use =FEW= www\.?unicode\.?org/copyright\.?html" -# -%ENTRY% _LT_UNICODE_TOU -%KEY% "distribut" -%STR% "any person is hereby authorized =FEW= to view use reproduce and distribute all documents and files solely for informational purposes in the creation of products supporting the unicode standard" -# -%ENTRY% _URL_UNICODE -%KEY% "\" -%STR% "w?w?w?\.?unicode\.?org/terms_of_use\.?html" -# -%ENTRY% _TITLE_UNICODE -%KEY% "licen[cs]" -%STR% "unicode (inc\.? )license agreement" -# -%ENTRY% _TITLE_UNICODE_TOU -%KEY% "\" -%STR% "Unicode Terms of Use" -# -%ENTRY% _LT_UNIDEX -%KEY% "grants" -%STR% "unidex,? inc\.? grants you permission to copy,? modify,? distribute" -# -%ENTRY% _LT_universal_foss_exception_10 -%KEY% "licen[cs]" -%STR% "facilitate interoperability with other software =SOME= with complete corresponding source under a license that is OSI-approved" -# -%ENTRY% _LT_USGOVT_1 -%KEY% "licen[cs]" -%STR% "government retains a paid-up non-?exclusive irrevocable worldwide licen[cs]e" -# -%ENTRY% _LT_USGOVT_2 -%KEY% "licen[cs]" -%STR% "government is granted for itself and others acting on its behalf a paid-up non-?exclusive irrevocable worldwide licen[cs]e in this" -# -%ENTRY% _LT_USGOVT_RIGHTS1 -%KEY% "so(ftware|urce)" -%STR% "US Government (obtained|holds) unlimited rights in the software and documentation contained herein" -# -%ENTRY% _LT_USGOVT_RIGHTS2 -%KEY% "so(ftware|urce)" -%STR% "the software was developed under funding from the US government which consequently retains certain rights as follows" -# -%ENTRY% _LT_USC_NC -%KEY% "distribut" -%STR% "use copy modify and/?o?r? distribute this software and its documentation in source and binary forms for non-?commercial purposes" -# -%ENTRY% _LT_UUTAH -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "1 source code retains these copyright permission and disclaimer" -##### -# DELETED: under this licen[cs]e ... the original version and modified -# versions may be copied distributed publicly displayed and performed -# provided that the following conditions are met -##### -%ENTRY% _LT_UW1 -%KEY% "distribut" -%STR% "this distribution may be modified and" -# -%ENTRY% _LT_UW2 -%KEY% "distribut" -%STR% "r?e?-?distribution of this release is permitted as follows or by mutual agreement" -##### -# DELETED: permission to ... provided that the above copyright notice -# appears in all copies -##### -%ENTRY% _LT_UW3 -%KEY% "distribut" -%STR% "use copy modify and/?o?r? distribute this software and its documentation for any purpose and without fee to the University of Washington is hereby granted" -# -%ENTRY% _LT_UW4 -%KEY% "licen[cs]" -%STR% "provided under specific written licen[cs]e from the University of Washington and may only" -# -%ENTRY% _LT_Vim_1 -%KEY% "distribut" -%STR% "if you make changes to Vim yourself you must clearly describe in the distribution how to contact you" -# -%ENTRY% _LT_Vim_2 -%KEY% "restrict" -%STR% "no restrictions on distributing unmodified copies of Vim except that they must include this licen[cs]e text" -# -%ENTRY% _LT_VIXIE -%KEY% "distribut" -%STR% "distribute freely except don.t remove my name from the source or documentation =SOME= mark your changes =SOME= don.t alter or remove this notice may be sold if buildable source is provided to buyer" -# -%ENTRY% _LT_VMWARE -%KEY% "licen[cs]" -%STR% "VMware hereby grants you a non-exclusive non-transferable licen[cs]e without rights to sublicen[cs]e" -# -%ENTRY% _TITLE_FTL -%KEY% "licen[cs]" -%STR% "freetype project license" -# -%ENTRY% _TITLE_LIBPNG -%KEY% "licen[cs]" -%STR% "released under the libpng license" -# -%ENTRY% _TITLE_ZLIB -%KEY% "licen[cs]" -%STR% "zlib license" -# -%ENTRY% _TITLE_SimPL_V2 -%KEY% "licen[cs]" -%STR% "simple public license 2\.?0 =SOME= is a plain language implementation of gpl 2\.?0" -##### -# DELETED: ... of this document or the W3C document from which this -# statement is linked in any medium for any purpose and without fee or -# royalty is hereby granted provided that you include the following on -# all copies of the document or portions thereof that you use -##### -%ENTRY% _LT_W3C_1 -%KEY% "permi[st]" -%STR% "permission to use copy and/?o?r? distribute the contents" -# -%ENTRY% _LT_W3C_2 -%KEY% "permi[st]" -%STR% "permission to use copy modify and/?o?r? distribute this software and its documentatio(n|n with or without modification) for any purpose (and w|with or w|w)ithout fee" -# -%ENTRY% _LT_W3C_3 -%KEY% "permi[st]" -%STR% "permission to copy modify and/?o?r? distribute this (software|work)" -# -%ENTRY% _LT_W3C_4 -%KEY% "permi[st]" -%STR% "permission is hereby granted to use copy modify and/?o?r? distribute this source" -# -%ENTRY% _LT_W3C_5 -%KEY% "permi[st]" -%STR% "permission to copy and/?o?r? distribute the contents of" -# -%ENTRY% _LT_W3C_6 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "granted in perpetuity provided that the above copyright notice and this paragraph appear in all copies" -##### -# VERY similar to W3C_2 and W3C_3, above... -##### -%ENTRY% _LT_W3C_7 -%KEY% "permi[st]" -%STR% "permission to use copy and/?o?r? modify this software" -# -%ENTRY% _LT_W3C_8 -%KEY% "notice" -%STR% "W3C software (and document )?short notice should be included" -# -%ENTRY% _LT_W3C_19980720 -%KEY% "notice" -%STR% "notice of any changes or modifications to the W3C files" -# -%ENTRY% _LT_W3C_20021231 -%KEY% "notice" -%STR% "notice of any changes or modifications to the files including the date" -# -%ENTRY% _LT_W3C_20150513 -%KEY% "notice" -%STR% "notice of any changes or modifications through a copyright statement" -# -%ENTRY% _LT_W3Cref1 -%KEY% "licen[cs]" -%STR% "based =SOME= w3c =SOME= software notice and licen[cs]e" -# -%ENTRY% _LT_W3Cref2 -%KEY% "distribut" -%STR% "distributed (under|under the) w3c s software intellectual property licen[cs]e" -# -%ENTRY% _LT_W3Cref3 -%KEY% "so(ftware|urce)" -%STR% "(published|licensed) (under|under the) w3c software (copyright notice and )?licen[cs]e" -# -%ENTRY% _LT_W3Cref4 -%KEY% "so(ftware|urce)" -%STR% "w3c software notice and licen[cs]e" -# -%ENTRY% _LT_WINTERTREE -%KEY% "licen[cs]" -%STR% "this licen[cs]e agreement defines the terms and conditions under which you the licen[cs]ee are permitted by wintertree software inc the licen[cs]or to use" -# -%ENTRY% _LT_WTFPL -%KEY% "distribut" -%STR% "do what the =FEW= you want to public licen[cs]e terms and conditions for copying\,? distribution and/?o?r? modification" -# -%ENTRY% _LT_WTFPLref_1 -%KEY% "licen[cs]" -%STR% "do what the fuck you want to public licen[cs]e" -# -%ENTRY% _LT_WTFPLref -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= what the =FEW= you want to public licen[cs]e" -# -%ENTRY% _LT_WU_FTPD -%KEY% "distribut" -%STR% "use modification or r?e?-?distribution including distribution of any modified or derived work in any form" -# -%ENTRY% _LT_WU_FTPDref -%KEY% "licen[cs]" -%STR% "governed by the terms and conditions of the WU-FTPD software licen[cs]e" -##### -# DELETED: any party obtaining a copy of =SOME= is granted free of charge -# a full and unrestricted irrevocable world-?wide ... =SOME= the rights -# to use copy modify merge publish distribute sublicen[cs]e and/or sell -##### -%ENTRY% _LT_X11_1 -%KEY% "licen[cs]" -%STR% "paid up royalty-free non-?exclusive right and licen[cs]e to deal in" -##### -# DELETED: ...provided that the above copyright notice and this permission -# notice appear in all copies -##### -%ENTRY% _LT_X11_2 -%KEY% "distribut" -%STR% "permission to use copy modify and/?o?r? distribute this documentation for any purpose and without fee is hereby granted" -# -%ENTRY% _LT_X11_3 -%KEY% "distribut" -%STR% "use copy modify and distribute this software for any purpose and without fee is hereby granted" -# -%ENTRY% _LT_X11_4 -%KEY% "\" -%STR% "(distributed|released) under the (x11|x-consortium) licen[cs]e" -# -%ENTRY% _LT_X11_5 -%KEY% "notice" -%STR% "except as contained in this notice =SOME= shall not be used in advertising or otherwise =SOME= dealings in this Software without prior written authorization from" -# -%ENTRY% _LT_X11_STYLE -%KEY% "distribut" -%STR% "distributed under an x-consortium[ -]style licen[cs]e" -# -%ENTRY% _LT_XML_DB_V10 -%KEY% "software" -%STR% "the xml =FEW= initiative software license =FEW= (version |v)1\.?0" -# -%ENTRY% _LT_Xnet_STYLE -%KEY% "agreement" -%STR% "This agreement shall be governed in all respects by the laws of the State of California and by the laws of the United States of America" -##### -# DELETED: ... of derivative works based upon this software are permitted -# any distribution of this software or derivative works must comply with -# all applicable united states export control laws -##### -%ENTRY% _LT_XEROX_1 -%KEY% "so(ftware|urce)" -%STR% "use and/?o?r? copying of this software and preparation" -##### -# DELETED: licen[cs]e is granted ... works for research and evaluation -# purposes provided that xerox is acknowledged in all documentation -# pertaining to any such copy or derivative work -##### -%ENTRY% _LT_XEROX_2 -%KEY% "\" -%STR% "to copy to use and/?o?r? to make and to use derivative" -##### -# DELETED: ... =SOME= under the GNU general public licen[cs]e the GNU -# (lesser|library) general public licen[cs]e or other similar so-called -# open source licen[cs]es -##### -%ENTRY% _LT_XIMIAN -%KEY% "so(ftware|urce)" -%STR% "creates and/?o?r? distributes certain software" -##### -# DELETED: permission to use copy modify and distribute this software -# and documentation for any purpose and without fee is hereby granted -# provided that this copyright and ... -##### -%ENTRY% _LT_XOPEN_1 -%KEY% "licen[cs]" -%STR% "licen[cs]e notice appears in its entirety in all copies" -##### -# This one is weird, it has part of the company copyright -##### -%ENTRY% _LT_XOPEN_2 -%KEY% "distribut" -%STR% "x/open company (ltd|limited) permissions to use copy modify and/?o?r? distribute this software are governed by the terms and conditions set forth" -##### -# DELETED: ... the yahoo software are owned by yahoo or yahoo s licen[cs]ors -# and content and data providers -##### -%ENTRY% _TITLE_YPL_V10 -%KEY% "licen[cs]" -%STR% "yahoo\!? public license\,? (version |v)1\.?0" -# -%ENTRY% _TITLE_YPL_V11 -%KEY% "licen[cs]" -%STR% "yahoo\!? public license\,? (version |v)1\.?1" -# -%ENTRY% _LT_YAHOO_1 -%KEY% "so(ftware|urce)" -%STR% "the yahoo software applications documentation and local computer files installed or utili[sz]ed by the installer application collectively" -# -%ENTRY% _LT_YAHOO_BINARY -%KEY% "distribut" -%STR% "decompile reverse engineer disassemble modify rent lease loan distribute or create derivative works" -# -# Zend license information -%ENTRY% _LT_ZEND_1 -%KEY% "zend" -%STR% "source file is subject to version 2\.?0 of the Zend (framework)? license" -# -%ENTRY% _LT_ZEND_2 -%KEY% "zend" -%STR% "source file is subject to version 1\.?0 of the Zend (Framework)? license" -# -%ENTRY% _LT_ZEUS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "may be used and/?o?r? copied freely provid(ed|ing) this copyright notice is not removed" -##### -# DELETED: ... of the software as described in the online documentation accompanying -# the version of the software downloaded by you the Documentation -##### -%ENTRY% _LT_ZONEALARM -%KEY% "licen[cs]" -%STR% "you acknowledge that the foregoing licen[cs]e extends only to your use of the features and functionality" -##### -# DELETED: zveno pty ltd makes this software and associated documentation -# available free of charge ... -##### -%ENTRY% _LT_ZVENO -%KEY% "so(ftware|urce)" -%STR% "for any purpose you may make copies of the software but you must include all of this notice on any copy" -%ALIAS% _LT_last -##### -# HEY! Code in parse.c expects the %KEY% fields to be organized! Make -# sure all "distribut" keys are first (contiguously), then "licen[cs]" -# (also contiguous), then "(©|\(c\)|copyright|©)" (yet again contiguously), and -# THEN anything else you want to add goes at the end of the list. -##### -%ENTRY% _LT_ZZGEN_1 -%KEY% "distribut" -%STR% "copy distribute (and|or|and/or) modify" -%ALIAS% _ZZGEN_first -%ALIAS% _ZZGEN_first_dist -# -%ENTRY% _LT_ZZGEN_2 -%KEY% "distribut" -%STR% "alter it (and|or|and/or) r?e?-?distribute" -# -%ENTRY% _LT_ZZGEN_3 -%KEY% "distribut" -%STR% "reproduced? (and|or|and/or) r?e?-?distribute" -# -%ENTRY% _LT_ZZGEN_4 -%KEY% "distribut" -%STR% "make (and|or|and/or) r?e?-?distribute" -# -%ENTRY% _LT_ZZGEN_5 -%KEY% "distribut" -%STR% "copy and/?o?r? r?e?-?distribute" -# -%ENTRY% _LT_ZZGEN_6 -%KEY% "distribut" -%STR% "use copy r?e?-?distribute" -# -%ENTRY% _LT_ZZGEN_7 -%KEY% "distribut" -%STR% "copy modify r?e?-?distribute (and|or|and/or) sell" -# -%ENTRY% _LT_ZZGEN_8 -%KEY% "distribut" -%STR% "copy modify (and|or|and/or) r?e?-?distribute" -# -%ENTRY% _LT_ZZGEN_9 -%NOCHECK% -%KEY% "distribut" -%STR% "(freel?y? r?e?-?distribut|distributed? free|distribute it freely)" -# -%ENTRY% _LT_ZZGEN_10 -%KEY% "distribut" -%STR% "use copy modify r?e?-?distribute (and|or|and/or) (sell|licen[cs]e)" -# -%ENTRY% _LT_ZZGEN_11 -%KEY% "distribut" -%STR% "distribute (un-?m|m)odified" -# -%ENTRY% _LT_ZZGEN_12 -%KEY% "distribut" -%STR% "use modif(y|ication) (and|or|and/or) r?e?-?distribut" -# -%ENTRY% _LT_ZZGEN_13 -%KEY% "distribut" -%STR% "use copy (and|or|and/or) r?e?-?distribute" -# -%ENTRY% _LT_ZZGEN_14 -%KEY% "distribut" -%STR% "use r?e?-?distribute (and|or|and/or) modify" -# -%ENTRY% _LT_ZZGEN_15 -%KEY% "distribut" -%STR% "distribution in source (and|or|and/or) binary form" -# -%ENTRY% _LT_ZZGEN_16 -%KEY% "distribut" -%STR% "distribute (this|the) (software|source|code|product|document|work)" -# -%ENTRY% _LT_ZZGEN_17 -%KEY% "distribut" -%STR% "distributed? free[ -]of[ -]charge" -# -%ENTRY% _LT_ZZGEN_18 -%KEY% "distribut" -%STR% "copying and/?o?r? r?e?-?distribution" -# -%ENTRY% _LT_ZZGEN_19 -%KEY% "distribut" -%STR% "use copy modify merge publish r?e?-?distribute (and|or|and/or) sell" -# -%ENTRY% _LT_ZZGEN_20 -%KEY% "distribut" -%STR% "distribution and/?o?r? modification" -# -%ENTRY% _LT_ZZGEN_21 -%KEY% "distribut" -%STR% "distribut(e|able) under the licen[cs]e given" -# -%ENTRY% _LT_ZZGEN_22 -%KEY% "distribut" -%STR% "distribut(e|ion) and/?o?r? us(e|age)" -# -%ENTRY% _LT_ZZGEN_23 -%KEY% "distribut" -%STR% "copy r?e?-?distribute display" -# -%ENTRY% _LT_ZZGEN_24 -%KEY% "distribut" -%STR% "free to place modified versions under L?GPL thus disallowing further r?e?-?distribution in binary-only form" -# -%ENTRY% _LT_ZZGEN_25 -%KEY% "distribut" -%STR% "no restrictions on r?e?-?distributing (unmodified c|c)opies of" -# -%ENTRY% _LT_ZZGEN_26 -%KEY% "distribut" -%STR% "distribut =FEW= for any purpose" -# -%ENTRY% _LT_ZZGEN_27 -%KEY% "distribut" -%STR% "(you (may|can)|(may|can) be) r?e?-?distribut" -%ALIAS% _ZZGEN_last_dist -# -%ENTRY% _LT_ZZGEN_28 -%KEY% "licen[cs]" -%STR% "licen[cs]e text must be included" -%ALIAS% _ZZGEN_first_lic -# -%ENTRY% _LT_ZZGEN_29 -%KEY% "licen[cs]" -%STR% "for licen[cs](e|ing) information see|see licen[cs](e|ing) conditions in" -# -%ENTRY% _LT_ZZGEN_30 -%KEY% "licen[cs]" -%STR% "((covered|governed|protected) by|(distributed|released) under) (many|several|various) licen[cs]" -%ALIAS% _ZZGEN_last_lic -# -%ENTRY% _LT_ZZGEN_31 -%NOCHECK% -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "include (the|this) (above c|below c|verbatim c|un(modifi|alter|chang)ed c|c)opyright" -%ALIAS% _ZZGEN_first_cpy -k -%ENTRY% _LT_ZZGEN_32 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "copyright notices? (is|are) (retain|preserv|includ)" -# -%ENTRY% _LT_ZZGEN_33 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "retain =SOME= copyright" -%ALIAS% _ZZGEN_last_cpy -# -%ENTRY% _LT_ZZGEN_34 -%KEY% "permi[st]" -%STR% "permission (is|is hereby) granted" -# -%ENTRY% _LT_ZZGEN_35 -%KEY% "permi[st]" -%STR% "permission to r?e?-?distribute" -# -%ENTRY% _LT_ZZGEN_36 -%KEY% "permi[st]" -%STR% "permission to use (copy|this)" -# -%ENTRY% _LT_ZZGEN_37 -%KEY% "permi[st]" -%STR% "permitted to copy" -# -%ENTRY% _LT_ZZGEN_38 -%KEY% "permi[st]" -%STR% "permitted to do anything" -# -%ENTRY% _LT_ZZGEN_39 -#%KEY% "\" -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "may be sold if buildable source (is|has been) (made available|available|provided)" -# -%ENTRY% _LT_ZZGEN_40 -%NOCHECK% -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "(can \|can be sold|may \|may be sold|to \|to be sold)" -# -%ENTRY% _LT_ZZGEN_41 -%KEY% "(\|l?gpl)" -%STR% "free =FEW= you (can|may|are) =FEW= (grant|permit|allow|distrib)" -# -%ENTRY% _LT_ZZGEN_42 -%KEY% "\" -%STR% "(mak|creat|generat|produc) =SOME= derivative work" -%ALIAS% _ZZGEN_last -# -%ENTRY% _LT_ZZNON_COMMERC1 -%NOCHECK% -%KEY% "commerc" -%STR% "(not for commercial|non-?commercial|commercial =SOME= (limit|prohibit|[^n]restrict))" -# -%ENTRY% _LT_ZZNON_COMMERC2 -%KEY% "permi[st]" -%STR% "may not r?e?-?distribute sell or repost it withou(t|t our) permission" -##### -# LOOKING for statements that declare where licensing terms can be found. -# The most common are files: COPYING, LICENSE, and README -##### -# DELETED: free software you can re-?distribute (it a|a)nd/or modify it ... -##### -%ENTRY% _LT_SEE_COPYING_LICENSE_1 -%KEY% =NULL= -%STR% "see =FEW= (copyright notices?|license|legal notices?|copying|copyright\.?txt|license\.?txt|readme\.?txt|file) =FEW= (for|with|in|at) =FEW= (details|licens(e|ing)|distribut|information|folder|directory|https?|ftp)" -# -%ENTRY% _LT_SEE_COPYING_LICENSE_2 -%KEY% =NULL= -%STR% "for =FEW= (details|license|distribut|information|use|usage) =FEW= see =FEW= (copyright notices?|license|legal notices?|copying|copyright\.?txt|license\.?txt) =FEW= (for|with|in|at)" -# -%ENTRY% _LT_SEE_URL -%KEY% =NULL= -%STR% "see (https?|ftp) =SOME= (for|with|in) =FEW= (details|license|distribut|information|folder|directory)" -# -%ENTRY% _LT_SEE_URL_ref1 -%KEY% =NULL= -%STR% "(org|com|net|cn|de)\.?\/licenses?" -# -%ENTRY% _LT_SEE_COPYING_1 -%KEY% "licen[cs]" -%STR% "under th(e|e terms of the) licen[cs]e (contained|listed|described|set (out|forth)|given|found) in the (file =FEW= \|\ file)" -%ALIAS% _SEECOPYING_first -##### -# DELETED: -# - free software and you are welcome to re-?distribute it ... -# - allowed to re-?distribute this software documentation ... -##### -%ENTRY% _LT_SEE_COPYING_2 -%KEY% "(condit|vers)ion" -%STR% "under (certain|the) conditions (refer t(o|o the)|for details (read|read the|refer t(o|o the)|see|see the)|listed in the) (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_COPYING_3 -%KEY% "licen[cs]" -%STR% "licen[cs]e(d as described|given|contained) in the (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_COPYING_4 -%NOCHECK% -%KEY% "\" -%STR% "subject to =SOME= in the (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_COPYING_5 -%KEY% "(condit|vers)ion" -%STR% "conditions (list|mention|outline|contain|state) =SOME= (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_COPYING_6 -%KEY% "\" -%STR% "under the (terms|conditions) (list|mention|outline|contain|state|describe) =SOME= (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_COPYING_7 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "maintains copyright as (list|mention|outline|contain|state|describe|set out) =SOME= ((file|doc) =FEW= \|\ (file|doc))" -# -%ENTRY% _LT_SEE_COPYING_8 -%KEY% "(condit|vers)ion" -%STR% "you agree to the terms and conditions (set forth|listed|contained|presented|described) in the (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_COPYING_9 -%KEY% "licen[cs]" -%STR% "see =SOME= copying =SOME= for licensing terms" -# -%ENTRY% _LT_SEE_COPYING_10 -%KEY% "licen[cs]" -%STR% "for licen[cs]ing =SOME= see =SOME= copying" -# -%ENTRY% _LT_SEE_COPYING_11 -%KEY% "distribut" -%STR% "see copying for distribution information" -# -%ENTRY% _LT_SEE_COPYING_12 -%KEY% "\" -%STR% "read the file copying" -# -%ENTRY% _LT_SEE_COPYING_13 -%KEY% "\" -%STR% "license (may|can) =FEW= be found in the root directory =FEW= in the copying file" -# -%ENTRY% _LT_SEE_COPYING_14 -%KEY% "licen[cs]" -%STR% "licensing details are in the copying file" -# -%ENTRY% _LT_SEE_COPYING_15 -%KEY% "copyright" -%STR% "copyright =SOME= see copying?txt" -##### -# These MUST be the last 2 checks for license references in the file "copying" -##### -%ENTRY% _LT_SEE_COPYING_FINAL1 -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "(distribut|copy|mod) =SOME= for details see the (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_COPYING_FINAL2 -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "see the (file =FEW= \|\ file) =SOME= (distribut|dir|copy|us(e|age)|mod|free soft|details)" -# -%ENTRY% _LT_SEE_COPYING_FINAL3 -%NOCHECK% -%KEY% "\" -%STR% "(distribut|copy|mod) =SOME= contained in the (file =FEW= \|\ file)" -%ALIAS% _SEECOPYING_last -##### -%ENTRY% _LT_SEE_OTHER_1 -%KEY% "licen[cs]" -%STR% "under th(e|e terms of the) licen[cs]e (contained|listed|described|set (out|forth)|given|found) (at|in) th(e (ur[il]|file)|e =FEW= (file|dir|media|note|pub|doc))" -%ALIAS% _SEEOTHER_first -# -%ENTRY% _LT_SEE_OTHER_2 -%KEY% "(condit|vers)ion" -%STR% "under (certain|the) conditions (for details (read|see)|listed (at|in)) th(e (ur[il]|file)|e =FEW= (file|dir|media|note|pub|doc))" -# -%ENTRY% _LT_SEE_OTHER_3 -%KEY% "(condit|vers)ion" -%STR% "under (certain|the) conditions (type|run|execute) =SOME= for details" -# -%ENTRY% _LT_SEE_OTHER_4 -%KEY% "licen[cs]" -%STR% "licen[cs]e(d as described|given|contained) (at|in) th(e (ur[il]|file)|e =FEW= (file|dir|media|note|pub|doc))" -# -%ENTRY% _LT_SEE_OTHER_5 -%NOCHECK% -%KEY% "\" -%STR% "subject to =SOME= (at|in) th(e (ur[il]|file)|e =FEW= (file|dir|media|note|pub|doc))" -# -%ENTRY% _LT_SEE_OTHER_6 -%KEY% "(condit|vers)ion" -%STR% "conditions (list|mention|outline|contain|state) =SOME= th(e (ur[il]|file)|e =FEW= (file|dir|media|note|pub|doc))" -# -%ENTRY% _LT_SEE_OTHER_7 -%KEY% "\" -%STR% "under the (terms|conditions) (list|mention|outline|contain|state|describe) =SOME= file" -# -%ENTRY% _LT_SEE_OTHER_8 -%KEY% "licen[cs]" -%STR% "(refer to|(read|see) the) licen[cs]ing information at (the (ur[il]|w?e?b?site) h|h)ttp" -# -%ENTRY% _LT_SEE_OTHER_9 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "maintains copyright as (list|mention|outline|contain|state|describe|set out) =SOME= (file|doc)" -# -%ENTRY% _LT_SEE_OTHER_10 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "see copyright for the status of this software" -# -%ENTRY% _LT_SEE_OTHER_11 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "see =FEW= for (the )?copyright (information|notice)" -# -%ENTRY% _LT_SEE_OTHER_12 -%KEY% "copyright" -%STR% "see copyright notice in (lua\.?h|main\.?c)" -# -%ENTRY% _LT_SEE_OTHER_13 -%KEY% "copyright" -%STR% "see copyright file in =FEW= distribution" -# -%ENTRY% _LT_SEE_OTHER_14 -%KEY% "licen[cs]" -%STR% "see =FEW= for more details on licensing" -# -%ENTRY% _LT_SEE_OTHER_15 -%KEY% "so(ftware|urce)" -%STR% "see the source for copying conditions" -# -%ENTRY% _LT_SEE_OTHER_16 -%KEY% "copyright" -%STR% "for conditions? =FEW= and use see (the )?copyright notice" -# -%ENTRY% _LT_SEE_OTHER_17 -%KEY% "copyright" -%STR% "file (named )?copyright specifies the terms and conditions for r?e?distribution" -# -##### -# These MUST be the last 3 checks for license references in some "other" place -##### -%ENTRY% _LT_SEE_OTHER_FINAL1 -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "(distribut|copy|mod) =SOME= for details see th(e (ur[il]|file)|e =FEW= (file|dir|media|note|pub|doc))" -# -%ENTRY% _LT_SEE_OTHER_FINAL2 -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "see th(e (ur[il]|file)|e =FEW= (file|dir|media|note|pub|doc)) =SOME= (distribut|dir|copy|us(e|age)|mod|free soft)" -# -%ENTRY% _LT_SEE_OTHER_FINAL3 -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "see the (ur[il]|file) =SOME= (distribut|dir|copy|us(e|age)|mod|free soft)" -%ALIAS% _SEEOTHER_last -##### -%ENTRY% _LT_SEE_LICENSE_1 -%KEY% "licen[cs]" -%STR% "under th(e|e terms of the) licen[cs]e (contained|listed|described|set (out|forth)|given|found) in th(e|is) (file =FEW= \|\ file)" -%ALIAS% _SEELICENSE_first -# -%ENTRY% _LT_SEE_LICENSE_2 -%KEY% "(condit|vers)ion" -%STR% "under (certain|the) conditions (refer t(o|o the)|for details (read|read the|refer t(o|o the)|see|see the)|listed in the) (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_LICENSE_3 -%KEY% "licen[cs]" -%STR% "licen[cs]e(d as described|given|contained) in th(e|is) (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_LICENSE_4 -%NOCHECK% -%KEY% "\" -%STR% "subject to =SOME= in th(e|is) (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_LICENSE_5 -%KEY% "(condit|vers)ion" -%STR% "conditions (list|mention|outline|contain|state) =SOME= (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_LICENSE_6 -%KEY% "\" -%STR% "under the (terms|conditions) (list|mention|outline|contain|state|describe) =SOME= (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_LICENSE_7 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "maintains copyright as (list|mention|outline|contain|state|describe|set out) =SOME= ((file|doc) =FEW= \|\ (file|doc))" -# -%ENTRY% _LT_SEE_LICENSE_8 -%KEY% "(condit|vers)ion" -%STR% "you agree to the terms and conditions (set forth|listed|contained|presented|described) in th(e|is) (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_LICENSE_9 -%KEY% "licen[cs]" -%STR% "see license?(qla|qlcnic|qlge) =SOME= for copyright and licensing details" -# -%ENTRY% _LT_SEE_LICENSE_10 -%KEY% "licen[cs]" -%STR% "licen[cs]e see licen[cs]e?txt" -# -%ENTRY% _LT_SEE_LICENSE_11 -%KEY% "licen[cs]" -%STR% "see the accompanying file license =SOME= for terms of use" -# -%ENTRY% _LT_SEE_LICENSE_12 -%KEY% "licen[cs]" -%STR% "license please see accompanying LICENSE" -# -%ENTRY% _LT_SEE_LICENSE_13 -%KEY% "licen[cs]" -%STR% "see =FEW= license file =FEW= for more information" -# -%ENTRY% _LT_SEE_LICENSE_14 -%KEY% "licen[cs]" -%STR% "refer to the LICENSE\.?txt for licensing details" -# -%ENTRY% _LT_SEE_LICENSE_15 -%KEY% "licen[cs]" -%STR% "distribute =FEW= under the terms =FEW= found in LICENSE\.?txt" -# -%ENTRY% _LT_SEE_LICENSE_16 -%KEY% "licen[cs]" -%STR% "covered by the license in the accompanying file named LICENSE" -# -%ENTRY% _LT_SEE_LICENSE_17 -%KEY% "licen[cs]" -%STR% "licensed according to the LICENSE file" -# -%ENTRY% _LT_SEE_LICENSE_18 -%KEY% "licen[cs]" -%STR% "see (the )?license( file|\.?txt) =FEW= for licens(ing terms|e information)" -# -%ENTRY% _LT_SEE_LICENSE_19 -%KEY% "licen[cs]" -%STR% "license =FEW= describes the conditions under =FEW= may be distributed" -# -%ENTRY% _LT_SEE_LICENSE_20 -%KEY% "licen[cs]" -%STR% "license information is in the zlib\.?ads file" -##### -# These MUST be the last 2 checks for license references in the file "license" -##### -%ENTRY% _LT_SEE_LICENSE_FINAL1 -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "(distribut|copy|mod) =SOME= for details see th(e|is) (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_LICENSE_FINAL2 -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "see the (file =FEW= \|\ file) =SOME= (distribut|dir|copy|us(e|age)|mod|free soft)" -# -%ENTRY% _LT_SEE_LICENSE_FINAL3 -%NOCHECK% -%KEY% "\" -%STR% "(distribut|copy|mod) =SOME= contained in th(e|is) (file =FEW= \|\ file)" -%ALIAS% _SEELICENSE_last -##### -%ENTRY% _LT_SEE_OUTPUT_1 -%KEY% "so(ftware|urce)" -%STR% "free software and you =FEW= distribute copies =FEW= under certain conditions type show copying" -# -##%ENTRY% _LT_SEE_OUTPUT_2 -##%NOCHECK% -##%KEY% "\" -##%STR% "(distribut|copy|mod) =SOME= (to see|for) (condition|detail) =FEW= (run|type|execute)" -# -##%ENTRY% _LT_SEE_OUTPUT_3 -##%NOCHECK% -##%KEY% "\" -##%STR% "for details (run|type|execute) =SOME= (distribut|copy|mod|free soft)" -##### -%ENTRY% _LT_SEE_README_1 -%KEY% "licen[cs]" -%STR% "under th(e|e terms of the) licen[cs]e (contained|listed|described|set (out|forth)|given|found) in the (file =FEW= \|\ file)" -%ALIAS% _SEEREADME_first -# -%ENTRY% _LT_SEE_README_2 -%KEY% "(condit|vers)ion" -%STR% "under (certain|the) conditions (refer t(o|o the)|for details (read|read the|refer t(o|o the)|see|see the)|listed in the) (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_README_3 -%KEY% "licen[cs]" -%STR% "licen[cs]e(d as described|given|contained) in the (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_README_4 -%NOCHECK% -%KEY% "\" -%STR% "subject to =SOME= in the (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_README_5 -%KEY% "(condit|vers)ion" -%STR% "conditions (list|mention|outline|contain|state) =SOME= (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_README_6 -%KEY% "\" -%STR% "under the (terms|conditions) (list|mention|outline|contain|state|describe) =SOME= (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_README_7 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "maintains copyright as (list|mention|outline|contain|state|describe|set out) =SOME= ((file|doc) =FEW= \|\ (file|doc))" -# -%ENTRY% _LT_SEE_README_8 -%KEY% "(condit|vers)ion" -%STR% "you agree to the terms and conditions (set forth|listed|contained|presented|described) in the (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_README_9 -%KEY% "distribut" -%STR% "for conditions of distribution and use =FEW= see =FEW= \ file" -##### -# These MUST be the last 2 checks for license references in the file "readme" -##### -%ENTRY% _LT_SEE_README_FINAL1 -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "(distribut|copy|mod) =SOME= for details see the (file =FEW= \|\ file)" -# -%ENTRY% _LT_SEE_README_FINAL2 -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "see the (file =FEW= \|\ file) =SOME= (distribut|dir|copy|us(e|age)|mod|free soft)" -# -%ENTRY% _LT_SEE_README_FINAL3 -%NOCHECK% -%KEY% "\" -%STR% "(distribut|copy|mod) =SOME= contained in the (file =FEW= \|\ file)" -%ALIAS% _SEEREADME_last -# -%ENTRY% _LT_XFREE86 -%KEY% "licen[cs]e" -%STR% "under =FEW= XFree86 licen[cs]e" -# -%ENTRY% _LT_XFREE86_V10 -%KEY% "licen[cs]e" -%STR% "XFree86 licen[cs]e =FEW= (version |v)1\.?0" -# -%ENTRY% _LT_XFREE86_V11 -%KEY% "licen[cs]e" -%STR% "XFree86 licen[cs]e =FEW= (version |v)1\.?1" -# -%ENTRY% _LT_MX4J_V10 -%KEY% "licen[cs]e" -%STR% "under the terms of =FEW= MX4J Licen[cs]e (version |v)1\.?0" -# -%ENTRY% _LT_MX4J -%KEY% "licen[cs]e" -%STR% "under the terms of =FEW= MX4J Licen[cs]e" -# -%ENTRY% _LT_Oracle_Berkeley_DB -%KEY% "so(ftware|urce)" -%STR% "copyright =FEW= oracle =ANY= redistributions in any form must be accompanied by information on how to obtain complete source code for the db software and any accompanying software that uses the db software" -# -%ENTRY% _LT_LIBGCJ -%KEY% "licen[cs]e" -%STR% "under the terms of the libgcj licen[cs]e" -# -%ENTRY% _LT_Interbase_V10 -%KEY% "licen[cs]e" -%STR% "subject to the interbase public licen[cs]e version 1\.?0" -# -%ENTRY% _LT_KnowledgeTree_V11 -%KEY% "licen[cs]e" -%STR% "subject to the knowledgetree public licen[cs]e version 1\.?1" -# -%ENTRY% _LT_FTL -%KEY% "licen[cs]e" -%STR% "(distribu|develop|offere?d?|released?|licen[cs]ed?|available|protected|provided|subject|comes) =FEW= under =FEW= freetype project licen[cs]e" -# -%ENTRY% _LT_ClearSilver -%KEY% "licen[cs]e" -%STR% "(distribu|develop|offere?d?|released?|licen[cs]ed?|available|protected|provided|subject|comes) under =FEW= clearsilver licen[cs]e" -# -%ENTRY% _LT_ACE -%KEY% "software" -%STR% "you can use doc software in commercial and/or binary software releases" -# -%ENTRY% _LT_FACE -%KEY% "so(ftware|urce)" -%STR% "you can modify and change the source of face" -# -%ENTRY% _LT_Sendmail_title -%KEY% "licen[cs]e" -%STR% "unless a different license is obtained (directly )?from Sendmail" -# -%ENTRY% _LT_Sendmail_823_title -%KEY% "licen[cs]e" -%STR% "unless a redistribution agreement or other license is obtained from Proofpoint" -# -%ENTRY% _LT_TAPJOY -%KEY% "licen[cs]e" -%STR% "you and the company or entity that you represent =FEW= are agreeing to be bound by and are becoming a party to this tapjoy sdk licen[cs]e agreement" -# -%ENTRY% _LT_TAPJOY_ref1 -%KEY% "agreement" -%STR% "the tapjoy =SOME= you agree that you have =SOME= agree to be bound by =FEW= and are authorized to bind the entity on whose behalf you are entering into this agreement" -# -%ENTRY% _LT_GENERIC_UNCLASSIFIED -%KEY% "licen[cs]e" -%STR% "licen[cs]ed? under the term" -# -##%ENTRY% _LT_SEEK_1 -##%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -##%STR% "©" -# -##%ENTRY% _LT_SEEK_2 -##%KEY% "permi[st]" -##%STR% "permission to use copy modify distribute and/?o?r? sell" -# -##%ENTRY% _LT_SEEK_3 -##%KEY% "distribut" -##%STR% "r?e?-?distribution and/?o?r? use in source and binary" -##### -# NOTE about copyrights: they all _used_ to include "copyright =SOME=" -# prepended to them. As a performance optimization, that text was cut. -##### -# -%ENTRY% _CR_3DFX_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= 3dfx interactive" -%ALIAS% _CR_first -# -%ENTRY% _CR_3DFX_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) 3dfx interactive =SOME= =YEAR=" -# -%ENTRY% _CR_ABSOLUTEVALUE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= absolutevalue systems" -# -%ENTRY% _CR_ADAPTEC -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= adaptec inc" -# -%ENTRY% _CR_ADOBE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= adobe systems" -# -%ENTRY% _CR_ADOBE_MACROMEDIA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= adobe macromedia" -# -%ENTRY% _CR_AGE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= age logic" -# -%ENTRY% _CR_ALGORITHMICS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= algorithmics ltd" -# -%ENTRY% _CR_ALADDIN -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= aladdin enterprises" -# -%ENTRY% _CR_AMAZON -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= amazon" -# -%ENTRY% _CR_AMD -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= advanced micro devices" -# -%ENTRY% _CR_APACHE -%KEY% "\" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= apache (group|software|foundation)" -# -%ENTRY% _CR_APOLLO -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= apollo computer inc" -# -%ENTRY% _CR_APPLE -%KEY% "\" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= apple (computer|software)" -# -%ENTRY% _CR_ARJ -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= arj software inc" -# -%ENTRY% _CR_ARPHIC -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= arphic technolog" -# -%ENTRY% _CR_ARTIFEX -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= artifex software inc" -# -%ENTRY% _CR_ARTOFCODE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= artofcode llc" -# -%ENTRY% _CR_ATI -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= ati technologies inc" -# -%ENTRY% _CR_ATMEL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= atmel corp" -# -%ENTRY% _CR_ATT -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= (at&t|american telephone =SOME= telegraph)" -# -%ENTRY% _CR_AUST_NATL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= the australian national unversity" -# -%ENTRY% _CR_AVM -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= AVM (gmbh|ag)" -# -%ENTRY% _CR_BANCTEC -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= banctec ab" -# -%ENTRY% _CR_BELLCORE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= bell communications research inc" -# -%ENTRY% _CR_BH -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= bigelow (and|&) holmes inc" -# -%ENTRY% _CR_BIZNET -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= biznet poland inc" -# -%ENTRY% _CR_BOOST -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) boostorg =SOME= =YEAR=" -# -%ENTRY% _CR_BRISTOL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= university of bristol" -# -%ENTRY% _CR_BROADCOM -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= broadcom corp" -# -%ENTRY% _CR_BROWN -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= brown university" -# -%ENTRY% _CR_BSDCAL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= regents of the university of california" -# -%ENTRY% _CR_CADENCE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= cadence research systems" -# -%ENTRY% _CR_CALDERA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= caldera (inc|systems inc)" -# -%ENTRY% _CR_CAMBRIDGE_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= university of cambridge" -# -%ENTRY% _CR_CAMBRIDGE_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) university of cambridge =SOME= =YEAR=" -# -%ENTRY% _CR_CATHARON -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= catharon productions" -# -%ENTRY% _CR_CISCO -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= cisco systems inc" -# -%ENTRY% _CR_CMU_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) carnegie mellon university copyright =SOME= =YEAR=" -# -%ENTRY% _CR_CMU_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= carnegie mellon university" -# -%ENTRY% _CR_COLUMBIA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= trustees of columbia university" -# -%ENTRY% _CR_COMPAQ_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= compaq computer corp" -# -%ENTRY% _CR_COMPAQ_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) compaq computer corp =SOME= =YEAR=" -# -%ENTRY% _CR_COMPAQ_IT -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= compaq =SOME= information technologies" -# -%ENTRY% _CR_COMTROL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= comtrol corp" -# -%ENTRY% _CR_CONECTIVA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= conectiva inc" -# -%ENTRY% _CR_CRYPTIX -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= cryptix foundation" -# -%ENTRY% _CR_CRYPTOGAMS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= cryptogams" -# -# Curl code is copyrighted by Daniel Stenberg -%ENTRY% _CR_CURL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =FEW= daniel stenberg" -# -%ENTRY% _CR_CYBERNEKO -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= cyberneko" -# -%ENTRY% _CR_CYGNUS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= cygnus" -# -%ENTRY% _CR_CYLINK -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) cylink corp =SOME= =YEAR=" -# -%ENTRY% _CR_CYPRESS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= cypress semiconductor corp" -# -%ENTRY% _CR_DARPA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= defense advanced research projects agency" -# -%ENTRY% _CR_DEC -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= digital equipment corp" -# -%ENTRY% _CR_DELAWARE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= university of delaware" -# -%ENTRY% _CR_DMTF -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= distributed management task force inc" -# -%ENTRY% _CR_DPTC -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= distributed processing technology corp" -# -%ENTRY% _CR_DSCT -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= DSC technologies corp" -# -%ENTRY% _CR_EASYSW -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= easy software products" -# -%ENTRY% _CR_EBT -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= electronic bpook technologies inc" -# -%ENTRY% _CR_EDINBURGH_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) university =SOME= edinburgh =SOME= copyright =SOME= =YEAR=" -# -%ENTRY% _CR_EDINBURGH_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= university =SOME= edinburgh" -# -%ENTRY% _CR_EDS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= electronic data systems" -# -%ENTRY% _CR_EMULEX -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= emulex corp" -# -%ENTRY% _CR_ENTESSA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= entessa llc" -# -%ENTRY% _CR_EPINIONS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= epinions inc" -# -%ENTRY% _CR_FRAME -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= frame technology" -# -%ENTRY% _CR_FEDORA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= fedora project" -# -%ENTRY% _CR_FSF1 -%KEY% "(\|l?gpl)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= free software foundation" -# -%ENTRY% _CR_FSF2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(free software foundation|\) =SOME= copyright =SOME= (19|20)[0-9][0-9]" -# -%ENTRY% _CR_FUJITSU -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= fujitsu (ltd|limited)" -# -%ENTRY% _CR_GOOGLE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= google inc" -# -%ENTRY% _CR_GPL_1 -%KEY% "(\|l?gpl)" -%STR% "copyright =FEW= [^l]gpl" -# -%ENTRY% _CR_GPL_2 -%KEY% "(\|l?gpl)" -%STR% "copyright =SOME= gnu =SOME= public" -# -%ENTRY% _CR_GPL_3 -%KEY% "(\|l?gpl)" -%STR% "gnu =SOME= copyright =SOME= [0-9][0-9][0-9][0-9]" -# -%ENTRY% _CR_GROUPE_BULL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= groupe? bull" -# -%ENTRY% _CR_HARTFORD -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= hartford" -# -%ENTRY% _CR_HARVARD -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= president and fellows of harvard university" -# -%ENTRY% _CR_HP_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= (hewlett[ -]packard|\)" -# -%ENTRY% _CR_HP_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) (hewlett[ -]packard|\) =SOME= =YEAR=" -# -%ENTRY% _CR_HPDEV -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= (hewlett[ -]packard =SOME= dev =SOME= co|\)" -# -%ENTRY% _CR_HWAN -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= hwan design inc" -##### -# package vnc-3.3.7 shows an IBM copyright where "corp" is proceeded by -# a comma instead of a space, hence the funky pattern below. -##### -%ENTRY% _CR_IBM_1 -%NOCHECK% -%KEY% "(\|international business machines)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= (\|international business machines) (corp|inc)" -# -%ENTRY% _CR_IBM_2 -%KEY% "(\|international business machines)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) (\|international business machines) (corp|inc) =SOME= =YEAR=" -# -%ENTRY% _CR_IEEE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= (ieee|institute of electrical and electronics engineers)" -# -%ENTRY% _CR_IETF_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) the internet society =SOME= =YEAR=" -# -%ENTRY% _CR_IETF_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= the internet society" -# -%ENTRY% _CR_ILLINOIS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= university of illinois" -# -%ENTRY% _CR_IMAGEMAGICK -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= imagemagick studio" -# -%ENTRY% _CR_INFOSEEK -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= infoseek corp" -# -%ENTRY% _CR_INTEL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= intel corp" -# -%ENTRY% _CR_IOS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) international organi[sz]ation for standardi[sz]ation =SOME= =YEAR=" -# -%ENTRY% _CR_IOSOFT -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) iosoft (ltd|limited) =SOME= =YEAR=" -##### -# IPA copyright says Japan, but leave that off (for now) -##### -%ENTRY% _CR_IPA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= information[ -]technology promotion agency" -# -%ENTRY% _CR_IPTC1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= (international press telecommunications council|\)" -# -%ENTRY% _CR_IPTC2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) (international press telecommunications council|\) =SOME= =YEAR=" -# -%ENTRY% _CR_ISC -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= internet software consortium" -# -%ENTRY% _CR_ISO -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= international standards organi[sz]ation" -# -%ENTRY% _CR_KEYSPAN -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= keyspan" -# -%ENTRY% _CR_KNUTH -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= d e knuth" -# -%ENTRY% _CR_LACHMAN -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= lachman associates inc" -# -%ENTRY% _CR_LEGATO -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= legato systems inc" -# -%ENTRY% _CR_LGPL_1 -%KEY% "(\|l?gpl)" -%STR% "copyright =FEW= lgpl" -# -%ENTRY% _CR_LGPL_2 -%KEY% "(\|l?gpl)" -%STR% "copyright =SOME= (lesser|lib) =SOME= gnu =SOME= public" -# -%ENTRY% _CR_LUCENT -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= lucent =SOME= tech" -# Mellanox copyrights have been known to include a Month (e.g., Jan. 2004) -%ENTRY% _CR_MELLANOX -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -#%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= mellanox technologies" -%STR% "(©|\(c\)|copyright|\[^+:]|©).{0,10} =YEAR= =SOME= mellanox technologies" -# -%ENTRY% _CR_MICHIGAN -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= regents =SOME= university of michigan" -# -%ENTRY% _CR_MITEM -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= mitem =SOME= europe" -# -%ENTRY% _CR_MPLUS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= m\+ fonts project" -# -%ENTRY% _CR_MSCORP -%KEY% "\" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= microsoft corp" -##### -# ORIGINAL: copyright =SOME= =YEAR= =SOME= mass =SOME= institute =SOME= tech -##### -%ENTRY% _CR_MIT1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= massachusetts institute of technology" -# -%ENTRY% _CR_MIT2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) massachusetts institute of technology =SOME= =YEAR=" -# -%ENTRY% _CR_MITRE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= the mitre corp" -# -%ENTRY% _CR_MOT_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= motorola =SOME= inc" -# -%ENTRY% _CR_MOT_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) motorola =SOME= inc =SOME= =YEAR=" -# -%ENTRY% _CR_MYSQL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= mysql" -# -%ENTRY% _CR_NAUMEN -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) naumen =SOME= and contributors" -# -%ENTRY% _CR_NCIPHER -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= ncipher corp" -# -%ENTRY% _CR_NEC -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= NEC corp tokyo" -# -%ENTRY% _CR_NETBSD -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= the netbsd foundation inc" -# -%ENTRY% _CR_NEXT -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= next computer inc" -# -%ENTRY% _CR_NOTREDAME -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= university of notre dame" -# -%ENTRY% _CR_NOKIA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= nokia" -# -%ENTRY% _CR_NONE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= (no[ -]one|no ?person|nobody|no (entity|being|human))" -# -%ENTRY% _CR_NOVELL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= novell inc" -# -%ENTRY% _CR_NRL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= naval research laboratory" -# -%ENTRY% _CR_NVIDIA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= nvidia corp" -# -%ENTRY% _CR_OASIS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= organi[sz]ation for the advancement of structured information standards" -# -%ENTRY% _CR_OpenGroup -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= open group" -# -%ENTRY% _CR_OHIOSTATE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= the ohio state university" -# -%ENTRY% _CR_OMRON_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) omron (corporation|software co) =SOME= =YEAR=" -# -%ENTRY% _CR_OMRON_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= omron (corporation|software co)" -# -%ENTRY% _CR_OPENLDAP -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= the openldap foundation" -# -%ENTRY% _CR_OPENSSL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= the openssl project" -# -%ENTRY% _CR_OPENVISION -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= openvision technologies" -# -%ENTRY% _CR_ORACLE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= oracle" -# -%ENTRY% _CR_OREILLY -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= o ?reilly (and|&) associates" -# -%ENTRY% _CR_OSF -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= open software foundation inc" -# -%ENTRY% _CR_OSI -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= open source initiative" -# -%ENTRY% _CR_PARADIGM -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= paradigm associates inc" -# -%ENTRY% _CR_PIGEONPOINT -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= pigeon[ -]?point systems" -# -%ENTRY% _CR_PHORUM -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= the phorum development team" -# -%ENTRY% _CR_PHP -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= the php group" -# -%ENTRY% _CR_PIRIFORM -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= piriform (ltd|limited)" -# -%ENTRY% _CR_POLYSERVE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= polyserve inc" -# -%ENTRY% _CR_PLATFORM_COMP -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= platform computing corp" -# -%ENTRY% _CR_PRINCETON -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= princeton university" -# -%ENTRY% _CR_PUBDOM -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= public[ -]domain" -# -%ENTRY% _CR_PURDUE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= purdue research foundation" -##### -# Python copyrights are various -##### -%ENTRY% _CR_PYTHON -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= (PSF|python software foundation|CRNI|corporation for national research initiatives|CWI|stichting mathematisch centrum|BeOpen)" -# -%ENTRY% _CR_QLOGIC -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= qlogic corp" -# -%ENTRY% _CR_QUARTERDECK -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= quarterdeck office systems" -##### -# RH copyrights include "red hat", "red hat software" and "red hat inc" -##### -%ENTRY% _CR_REDHAT -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= red ?hat" -# -%ENTRY% _CR_rms -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= richard =SOME= stallman" -# -%ENTRY% _CR_RIVERBANK -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= riverbank computing" -# -%ENTRY% _CR_RSA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= RSA data security inc" -# -%ENTRY% _CR_RUTGERS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= rutgers university" -# -%ENTRY% _CR_SCITECH -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= scitech software inc" -# -%ENTRY% _CR_SCO -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= santa cruz" -# -%ENTRY% _CR_SECRETLABS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= secret labs ab" -# -%ENTRY% _CR_SENDMAIL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= sendmail inc" -# -%ENTRY% _CR_SGI -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= (silicon graphics inc|\)" -# -%ENTRY% _CR_SLEEPYCAT -%KEY% "so(ftware|urce)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= sleepycat software" -# -%ENTRY% _CR_Spencer -%KEY% "so(ftware|urce)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= Henry Spencer" -# -%ENTRY% _CR_SPI -%KEY% "so(ftware|urce)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= (software in the public interest inc|\)" -# -%ENTRY% _CR_SPIKESOURCE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= spikesource inc" -# -%ENTRY% _CR_SRA -%KEY% "so(ftware|urce)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= software research assoc" -# -%ENTRY% _CR_STANFORD -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= stanford =SOME= university" -# -%ENTRY% _CR_SUN -%KEY% "\" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= sun microsystems inc" -# -%ENTRY% _CR_SUSE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= s[.]?u[.]?s[.]?e[.]? =SOME= (gmbh|ag)" -# -%ENTRY% _CR_TEKTRONIX -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= tektronix inc" -# -%ENTRY% _CR_TRIDENT -%KEY% "\" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= trident microsystems inc" -# -%ENTRY% _CR_TROLLTECH -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= troll ?tech (as|inc)" -# -%ENTRY% _CR_UBC -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= university of british columbia" -# -%ENTRY% _CR_UCAR -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= univ =SOME= corporation for atmospheric research/unidata" -# -%ENTRY% _CR_UCHICAGO -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= univ =SOME= chicago" -# -%ENTRY% _CR_UI -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= unix international" -# -%ENTRY% _CR_UMONASH -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= electronic dictionary research =SOME= monash univ" -# -%ENTRY% _CR_UNICODE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= unicode inc" -# -%ENTRY% _CR_URA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= universities research association" -# -%ENTRY% _CR_USC -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= university of southern california" -# -%ENTRY% _CR_USL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= unix system laboratories" -# -%ENTRY% _CR_USL_EUR -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= unix system laboratories europe (ltd|limited)" -# -%ENTRY% _CR_UUTAH -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= university of utah" -# -%ENTRY% _CR_UWASHINGTON -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= university of washington" -# -%ENTRY% _CR_W3C -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= world wide web consortium" -# -%ENTRY% _CR_WINTERTREE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= wintertree software inc" -# -%ENTRY% _CR_VIXIE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= vixie enterprises" -# -%ENTRY% _CR_VOVIDA -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= vovida networks inc" -# -%ENTRY% _CR_WASHU -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= washington university =FEW= (st|saint) louis" -# -%ENTRY% _CR_WTI -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= WTI corp" -# -%ENTRY% _CR_X11 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= x consortium" -# -%ENTRY% _CR_XEROX_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= xerox corp" -# -%ENTRY% _CR_XEROX_2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) xerox corp =SOME= =YEAR=" -# -%ENTRY% _CR_XFREE86 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= xfree86 =SOME= project" -# -%ENTRY% _CR_XFREE86_V10 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= xfree86 project (version |v)1\.?0" -# -%ENTRY% _CR_XFREE86_V11 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= xfree86 project (version |v)1\.?1" -# -%ENTRY% _CR_XILINX -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= xilinx inc" -# -%ENTRY% _CR_XIMIAN -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= ximian inc" -# -%ENTRY% _CR_XNET -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= xnet inc" -# -%ENTRY% _CR_XOPEN -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= x/open company l" -# -%ENTRY% _CR_ZEUS -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) zeus technology limited =YEAR=" -# -%ENTRY% _CR_ZOPE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= zope corp" -# -%ENTRY% _CR_ZVENO -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =YEAR= =SOME= zveno pty ltd" -# -%ENTRY% _CR_ZZZANY -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(©|\(c\)|copyright|\[^+:]|©) =SOME= (19|20)[0-9][0-9]" -%ALIAS% _CR_last -# -%ENTRY% _CR_ZZZWRONG_1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "([^0-9] \(C\) copyright [^0-9]|[^0-9] copyright \(C\) [^0-9])" -# -%ENTRY% _CR_ZZZWRONG_2 -%KEY% =NULL= -%STR% "([^0-9] \(C\) =YEAR=|=YEAR= \(C\) [^0-9])" -# -%ENTRY% _CR_ZZZMAYBE -%NOCHECK% -%KEY% =NULL= -%STR% "(leverage|plagarize|borrow|describe|publish|draft|distribute|collect|present) =FEW= (contain|by|in|from|with) =SOME= (proceeding|minutes|publica|present|journal|symposium|conference|research)" -# -%ENTRY% _CRYPTO_STRINGS -%KEY% =NULL= -%STR% "(\|\|\|digital[ -]?signature|c[iy]pher|X509|\<(opens|s)s[hl]\>|authenticat|privacy|confidentiality|\|\|802.11\.?[bgi]|\|\|\|(en|de)crypt|crypto|\|\|\|\|munition|sasl)" -# -%ENTRY% _TITLE_LEPTONICA -%KEY% "copyright" -%STR% "copyright =FEW= leptonica" -# -%ENTRY% _TITLE_ADAPTIVE10 -%KEY% "licen[cs]" -%STR% "adaptive public licen[cs]e =FEW= (v|version )1\.?0" -# -%ENTRY% _TITLE_ADOBE -%KEY% "licen[cs]" -%STR% "adobe systems =SOME= software licen[cs]e agreement" -# -%ENTRY% _TITLE_ADOBE_DNG -%KEY% =NULL= -%STR% "DNG SDK License Agreement" -# -%ENTRY% _TITLE_ADOBE_SRC -%KEY% "licen[cs]" -%STR% "adobe systems =SOME= source code licen[cs]e agreement" -# -%ENTRY% _TITLE_AFL30 -%KEY% "licen[cs]" -%STR% "academic free licen[cs]e =FEW= (3\.?0|(v|version )3\.?0)" -# -%ENTRY% _TITLE_AFL21 -%KEY% "licen[cs]" -%STR% "academic free licen[cs]e =FEW= (2\.?1|(v|version )2\.?1)" -# -%ENTRY% _TITLE_AFL20 -%KEY% "licen[cs]" -%STR% "academic free licen[cs]e =FEW= (2\.?0|(v|version )2\.?0)" -# -%ENTRY% _TITLE_AFL12 -%KEY% "licen[cs]" -%STR% "academic free licen[cs]e =FEW= (1\.?2|(v|version )1\.?2)" -# -%ENTRY% _TITLE_AFL11 -%KEY% "licen[cs]" -%STR% "academic free licen[cs]e =FEW= (1\.?1|(v|version )1\.?1)" -# -%ENTRY% _TITLE_AFL10 -%KEY% "licen[cs]" -%STR% "academic free licen[cs]e =FEW= (1\.?0|(v|version )1\.?0)" -# -%ENTRY% _TITLE_AFL -%KEY% "licen[cs]" -%STR% "academic free licen[cs]e =FEW= v" -# -%ENTRY% _TITLE_AGERE_EULA -%KEY% "\<(end[ -]user|eula)\>" -%STR% "agere systems =SOME= end[ -]user software licen[cs]e agreement" -# -%ENTRY% _TITLE_AGPL_10_only -%KEY% "licen[cs]" -%STR% "affero (general p|p)ublic licen[cs]e =FEW= (v|version )1" -# -%ENTRY% _TITLE_AGPL_10_or_later -%KEY% "licen[cs]" -%STR% "affero (general p|p)ublic licen[cs]e =FEW= (v|version )1 =SOME= or =SOME= (newer|later|subsequent|more recent)" -# -%ENTRY% _TITLE_AGPL_30_only -%KEY% "licen[cs]" -%STR% "affero (general p|p)ublic licen[cs]e =FEW= (v|version )3" -# -%ENTRY% _TITLE_AGPL_30_or_later -%KEY% "licen[cs]" -%STR% "affero (general p|p)ublic licen[cs]e =FEW= (v|version )3 =SOME= or =SOME= (newer|later|subsequent|more recent)" -# -%ENTRY% _TITLE_AGPL_30_or_later_ref1 -%KEY% "agpl" -%STR% "AGPL (version |v)3 or later" -# -%ENTRY% _TITLE_ALFRESCO -%KEY% "licen[cs]" -%STR% "alfresco software =FEW= FLOSS licen[cs]e exception" -# -%ENTRY% _TITLE_AMD_EULA -%KEY% "licen[cs]" -%STR% "AMD software =FEW= end[ -]user licen[cs]e agreement" -# -%ENTRY% _TITLE_APPLE_SLA -%KEY% "\" -%STR% "apple =FEW= software licen[cs]e agreement" -##### -# We don't have a date for the APSL version 2.0 (yet) -##### -%ENTRY% _TITLE_APSL20 -%KEY% "\" -%STR% "apple public source licen[cs]e (v|version )2\.?0" -##### -# We don't have a date for the APSL version 1.2 (yet) -##### -%ENTRY% _TITLE_APSL12 -%KEY% "\" -%STR% "apple public source licen[cs]e (v|version )1\.?2" -# -%ENTRY% _TITLE_Ferris -%KEY% "licen[cs]e" -%STR% "ferris public source licen[cs]e =FEW= 1\.?2" -# -%ENTRY% _TITLE_APSL_style -%KEY% "\" -%STR% "based on the apple public source licen[cs]e" -##### -# DELETED: ... =SOME= april =SOME= 1999 -##### -%ENTRY% _TITLE_APSL11 -%KEY% "\" -%STR% "apple public source licen[cs]e (v|version )1\.?1" -# -%ENTRY% _TITLE_APSL10 -%KEY% "\" -%STR% "apple public source licen[cs]e (v|version )1\.?0" -##### -# Use "v" on the end to match "version" or "v1.3" (or similar) -##### -%ENTRY% _TITLE_APSL -%KEY% "\" -%STR% "apple public source licen[cs]e v" -# -%ENTRY% _TITLE_APTANA_V10 -%KEY% "licen[cs]" -%STR% "aptana public licen[cs]e =FEW= (1\.?0|(v|version )1\.?0)" -# -%ENTRY% _TITLE_ART20 -%KEY% "licen[cs]" -%STR% "artistic licen[cs]e (2\.?0|(v|version )2\.?0)" -# -%ENTRY% _TITLE_ASCENDER_EULA -%KEY% "licen[cs]" -%STR% "licen[cs]e agreement between ascender corporation and" -# -%ENTRY% _TITLE_Apache_11 -%KEY% "\" -%STR% "apache =FEW= licen[cs]e (1\.?1|(v|version )1\.?1)" -# -%ENTRY% _TITLE_Apache_20 -%KEY% "\" -%STR% "apache =FEW= licen[cs]e (2\.?0|(v|version )2\.?0)" -# -%ENTRY% _TITLE_Apache -%KEY% "\" -%STR% "apache =FEW= licen[cs]e" -# -%ENTRY% _TITLE_CERN_OHL_11 -%KEY% "licen[cs]" -%STR% "CERN Open Hardware Licence (version |v)1\.?1" -# -%ENTRY% _TITLE_CERN_OHL_12 -%KEY% "licen[cs]" -%STR% "CERN Open Hardware Licence (version |v)1\.?2" -# -%ENTRY% _TITLE_copyleft_next_030 -%KEY% "licen[cs]" -%STR% "copyleft-next 0\.?3\.?0 =FEW= license release date 2013-05-16" -# -%ENTRY% _TITLE_copyleft_next_031 -%KEY% "licen[cs]" -%STR% "copyleft-next 0\.?3\.?1 =FEW= license release date 2016-04-29" -# -%ENTRY% _PHR_copyleft_next_PARA1 -%KEY% "licen[cs]" -%STR% "license grants no trademark license" -# -%ENTRY% _PHR_copyleft_next_PARA3 -%KEY% "distribut" -%STR% "conditions for distributing derived works outbound gpl compatibility" -# -%ENTRY% _PHR_CPL_05 -%KEY% "licen[cs]" -%STR% "licen[cs]ed? under CPL.0\.?5" -# -%ENTRY% _PHR_CPL_10 -%KEY% "licen[cs]" -%STR% "licen[cs]ed? under CPL.1\.?0" -# -%ENTRY% _TITLE_CYGNUS_ECOS_V10 -%KEY% "licen[cs]" -%STR% "Cygnus eCos Public License Version 1\.?0" -# -%ENTRY% _TITLE_DigiRule_FOSS_exception -%KEY% "licen[cs]" -%STR% "DigiRule Solutions.s FOSS License Exception Terms and Conditions" -# -%ENTRY% _TITLE_EDL_V10 -%KEY% "licen[cs]" -%STR% "Eclipse Distribution License[ -](v |v)?1\.?0" -# -%ENTRY% _TITLE_ATI_EULA -%KEY% "\<(end[ -]user|eula)\>" -%STR% "ati software end[ -]user licen[cs]e agreement" -# -%ENTRY% _TITLE_ATTRIBUTION -%KEY% "licen[cs]" -%STR% "attribution assurance licen[cs]e" -# -%ENTRY% _TITLE_OPENMAP -%KEY% "licen[cs]" -%STR% "OpenMap Software License Agreement" -# -%ENTRY% _TITLE_ATT_SRC_12D -%KEY% "(condit|vers)ion" -%STR% "source code agreement version 1\.?2d" -# -%ENTRY% _TITLE_ATT_SRC_10 -%KEY% "(condit|vers)ion" -%STR% "source code agreement version 1\.?0" -# -%ENTRY% _TITLE_BITTORRENT11 -%KEY% "licen[cs]" -%STR% "bittorrent open source licen[cs]e (v|version )1\.?1" -# -%ENTRY% _TITLE_BITTORRENT10 -%KEY% "licen[cs]" -%STR% "bittorrent open source licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_BlueOak_100 -%KEY% "licen[cs]" -%STR% "Blue Oak Model License (v|version )1\.?0\.?0" -# -%ENTRY% _TITLE_BOOST -%KEY% "licen[cs]" -%STR% "boost software licen[cs]e" -# -%ENTRY% _TITLE_BOOST10 -%KEY% "licen[cs]" -%STR% "boost software licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_BRAINSTORM_EULA -%KEY% "\<(end[ -]user|eula)\>" -%STR% "end-user licen[cs]e agreement for brainstorm" -# -%ENTRY% _TITLE_CA11 -%KEY% "licen[cs]" -%STR% "computer associates trusted open source licen[cs]e =FEW= (v|version )1\.?1" -# -%ENTRY% _TITLE_CA -%KEY% "licen[cs]" -%STR% "(free|distributed?|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) under =FEW= (CA|computer associates) trusted open source licen[cs]e" -# -%ENTRY% _TITLE_CATHARON -%KEY% "licen[cs]" -%STR% "the catharon open source licen[cs]e" -# -%ENTRY% _TITLE_CC_GPL -%KEY% "licen[cs]" -%STR% "creative commons gnu general public licen[cs]e" -# -%ENTRY% _TITLE_CC_LGPL -%KEY% "licen[cs]" -%STR% "creative commons gnu (lesser|library) general public licen[cs]e" -# -%ENTRY% _TITLE_CC_BY -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution" -# -%ENTRY% _TITLE_CC0_10_1 -%KEY% "universal" -%STR% "cc0 1\.?0 universal" -# -%ENTRY% _TITLE_CC0_10_2 -%KEY% "universal" -%STR% "creative commons (zero|cc0) v?1\.?0 universal" -# -%ENTRY% _TITLE_CC_BY_10 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution.?1\.?0" -# -%ENTRY% _TITLE_CC_BY_20 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution.?2\.?0" -# -%ENTRY% _TITLE_CC_BY_25 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution.?2\.?5" -# -%ENTRY% _TITLE_CC_BY_30 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution.?3\.?0" -# -%ENTRY% _TITLE_CC_BY_40 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution.?4\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_10 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]nonCommercial 1\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_20 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]nonCommercial 2\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_25 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]nonCommercial 2\.?5" -# -%ENTRY% _TITLE_CC_BY_NC_30 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]nonCommercial 3\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_40 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]nonCommercial 4\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_ND_10 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noncommercial[ -]noderiv(ative)?s 1\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_ND_10_1 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noderivs[ -]noncommercial 1\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_ND_20 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noncommercial[ -]noderiv(ative)?s 2\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_ND_25 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noncommercial[ -]noderiv(ative)?s 2\.?5" -# -%ENTRY% _TITLE_CC_BY_NC_ND_30 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noncommercial[ -]noderiv(ative)?s 3\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_ND_40 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noncommercial[ -]noderiv(ative)?s 4\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_SA_10 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noncommercial[ -]sharealike 1\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_SA_20 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noncommercial[ -]sharealike 2\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_SA_25 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noncommercial[ -]sharealike 2\.?5" -# -%ENTRY% _TITLE_CC_BY_NC_SA_30 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noncommercial[ -]sharealike 3\.?0" -# -%ENTRY% _TITLE_CC_BY_NC_SA_40 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noncommercial[ -]sharealike 4\.?0" -# -%ENTRY% _TITLE_CC_BY_ND_10 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noderiv(ative)?s 1\.?0" -# -%ENTRY% _TITLE_CC_BY_ND_20 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noderiv(ative)?s 2\.?0" -# -%ENTRY% _TITLE_CC_BY_ND_25 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noderiv(ative)?s 2\.?5" -# -%ENTRY% _TITLE_CC_BY_ND_30 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noderiv(ative)?s 3\.?0" -# -%ENTRY% _TITLE_CC_BY_ND_40 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]noderiv(ative)?s 4\.?0" -# -%ENTRY% _TITLE_CC_BY_SA -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]share.?alike" -# -%ENTRY% _TITLE_CC_BY_SA_10 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]share.?alike 1\.?0" -# -%ENTRY% _TITLE_CC_BY_SA_20 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]share.?alike 2\.?0" -# -%ENTRY% _TITLE_CC_BY_SA_25 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]share.?alike 2\.?5" -# -%ENTRY% _TITLE_CC_BY_SA_30 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]share.?alike 3\.?0" -# -%ENTRY% _TITLE_CC_BY_SA_40 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "creative commons attribution[ -]share.?alike 4\.?0" -# -%ENTRY% _TITLE_CCPL -%KEY% "licen[cs]" -%STR% "creative commons =SOME= licen[cs]e" -# -%ENTRY% _TITLE_CDDL_10 -%KEY% "licen[cs]" -%STR% "common development and distribution licen[cs]e (cddl )?(v|version )?1\.?0" -# -%ENTRY% _TITLE_CDDL_11 -%KEY% "licen[cs]" -%STR% "common development and distribution licen[cs]e (cddl )?(v|version )?1\.?1" -# -%ENTRY% _TITLE_CDLA_Permissive_10 -%KEY% "licen[cs]" -%STR% "Community Data License Agreement Permissive (Version |v[\. ])1\.?0" -# -%ENTRY% _TITLE_CDLA_Sharing_10 -%KEY% "licen[cs]" -%STR% "Community Data License Agreement Sharing (Version |v[\. ])1\.?0" -# -%ENTRY% _TITLE_CECILL_V10 -%KEY% "licen[cs]" -%STR% "license =FEW= (version |v)1\.?0" -# -%ENTRY% _TITLE_CECILL_V11 -%KEY% "licen[cs]" -%STR% "license =FEW= (version |v)1\.?1" -# -%ENTRY% _TITLE_CECILL_V11_2 -%KEY% "licen[cs]" -%STR% "free software licensing agreement cecill" -# -%ENTRY% _TITLE_CECILL_V20 -%KEY% "licen[cs]" -%STR% "license =FEW= (version |v)2\.?0" -# -%ENTRY% _TITLE_CECILL1 -%KEY% "so(ftware|urce)" -%STR% "free software licen[cs]ing agreement cecill" -# -%ENTRY% _TITLE_CECILL2 -%KEY% "so(ftware|urce)" -%STR% "cecill free software licen[cs](e|ing) agreement" -# -%ENTRY% _TITLE_CECILL_B -%KEY% "so(ftware|urce)" -%STR% "cecill-b free software licen[cs]e agreement" -# -%ENTRY% _TITLE_CECILL_B1 -%KEY% "licen[cs]" -%STR% "contrat de licence de logiciel libre cecill-b" -# -%ENTRY% _TITLE_CECILL_C -%KEY% "so(ftware|urce)" -%STR% "cecill-c free software licen[cs]e agreement" -# -%ENTRY% _TITLE_CECILL_C1 -%KEY% "licen[cs]" -%STR% "contrat de licence de logiciel libre cecill-c" -# -%ENTRY% _TITLE_CLARTISTIC -%KEY% "licen[cs]" -%STR% "Clarified Artistic License" -# -%ENTRY% _TITLE_CONDOR_V10 -%KEY% "licen[cs]" -%STR% "condor public licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_CONDOR_V11 -%KEY% "licen[cs]" -%STR% "condor public licen[cs]e (v|version )1\.?1" -# -%ENTRY% _TITLE_CPAL -%KEY% "licen[cs]" -%STR% "common public attribution licen[cs]e" -# -%ENTRY% _TITLE_CPAL10 -%KEY% "licen[cs]" -%STR% "common public attribution licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_CPL_05 -%KEY% "licen[cs]" -%STR% "common public licen[cs]e =FEW= (0\.?5|(cpl |v|version )0\.?5)" -# -%ENTRY% _TITLE_CPL_10 -%KEY% "licen[cs]" -%STR% "common public licen[cs]e =FEW= (1\.?0|(cpl |v|version )1\.?0)" -# -%ENTRY% _TITLE_CPL -%KEY% "licen[cs]" -%STR% "common public licen[cs]e =FEW= version" -# -%ENTRY% _TITLE_CRYPTIX -%KEY% "licen[cs]" -%STR% "cryptix general licen[cs]e" -# -%ENTRY% _TITLE_CUA10 -%KEY% "licen[cs]" -%STR% "CUA office public licen[cs]e =FEW= (1\.?0|(v|version )1\.?0)" -# -%ENTRY% _TITLE_CUPS -%KEY% "licen[cs]" -%STR% "common unix printing system licen[cs]e agreement" -# -%ENTRY% _TITLE_CVW -%KEY% "licen[cs]" -%STR% "collaborative virtual workspace licen[cs]e" -# -%ENTRY% _TITLE_CYBERNEKO -%KEY% "licen[cs]" -%STR% "cyberneko software licen[cs]e" -# -%ENTRY% _TITLE_EPL -%KEY% "licen[cs]" -%STR% "eclipse public licen[cs]e =FEW= (v|version)" -# -%ENTRY% _TITLE_EPL_IGNORE -%KEY% "licen[cs]" -%STR% "eclipse public licen[cs]e =FEW= (v|version) =FEW= of the cpl" -# -%ENTRY% _TITLE_EPL10 -%KEY% "licen[cs]" -%STR% "eclipse public licen[cs]e =FEW= (1\.?0|(v|version )1\.?0)" -# -%ENTRY% _TITLE_EPL10ref_1 -%KEY% "\<(eclipse|epl)\>" -%STR% "epl[ _-]?v?1\.?0" -# -%ENTRY% _TITLE_EPL20 -%KEY% "licen[cs]" -%STR% "eclipse public licen[cs]e =FEW= (2\.?0|(v|version )2\.?0)" -# -%ENTRY% _TITLE_EPL20ref_1 -%KEY% "\<(eclipse|epl)\>" -%STR% "epl[ _-]?v?2\.?0" -# -%ENTRY% _TITLE_EIFFEL2 -%KEY% "licen[cs]" -%STR% "eiffel forum licen[cs]e =FEW= (v|version )2" -# -%ENTRY% _TITLE_EIFFEL1 -%KEY% "licen[cs]" -%STR% "eiffel forum licen[cs]e =FEW= (v|version )1" -# -%ENTRY% _TITLE_ENTESSA -%KEY% "licen[cs]" -%STR% "entessa public licen[cs]e =FEW= (v|version)" -# -%ENTRY% _TITLE_EPSON_EULA -%KEY% "licen[cs]" -%STR% "epson =SOME= licen[cs]e agreement" -# -%ENTRY% _TITLE_EPSON_PL -%KEY% "licen[cs]" -%STR% "epson =SOME= public licen[cs]e" -# -%ENTRY% _TITLE_FAIR -%KEY% "licen[cs]" -%STR% "fair licen[cs]e" -# -%ENTRY% _TITLE_FEDORA_CLA -%KEY% "licen[cs]" -%STR% "fedora project individual contributor licen[cs]e agreement" -# -%ENTRY% _TITLE_FLASH2XML10 -%KEY% "licen[cs]" -%STR% "flash2xml public licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_FRAMEWORX10 -%KEY% "licen[cs]" -%STR% "the frameworx open licen[cs]e 1\.?0" -# -%ENTRY% _TITLE_FREETYPE -%KEY% "licen[cs]" -%STR% "the freetype project licen[cs]e" -# -%ENTRY% _TITLE_IJG_1 -%KEY% =NULL= -%STR% "Independent JPEG Group's software" -# -%ENTRY% _TITLE_IJG_2 -%KEY% =NULL= -%STR% "Independent JPEG Group" -# -%ENTRY% _TITLE_FREEBSD_DOC -%KEY% "(docume|warra)nt" -%STR% "the freebsd documentation licen[cs]e" -# -%ENTRY% _TITLE_GARMIN_EULA -%KEY% "licen[cs]" -%STR% "licen[cs]e agreement for garmin" -# -%ENTRY% _TITLE_GFDL -%KEY% "(docume|warra)nt" -%STR% "gnu free documentation licen[cs]e" -# -%ENTRY% _TITLE_GFDL_V11_FULL_LICENSE -%KEY% "(docume|warra)nt" -%STR% "gnu free documentation licen[cs]e (v|version )1\.?1 mar" -# -%ENTRY% _TITLE_GFDL_V11_ONLY -%KEY% "(docume|warra)nt" -%STR% "gnu free documentation licen[cs]e =FEW= (v|version )1\.?1" -# -%ENTRY% _TITLE_GFDL_V11_OR_LATER -%KEY% "(docume|warra)nt" -%STR% "gnu free documentation ?licen[cs](e|e gfdl) (v|version )1\.?1 or =FEW= (later|newer|subsequent|more recent)" -# -%ENTRY% _TITLE_GFDL_V12_FULL_LICENSE -%KEY% "(docume|warra)nt" -%STR% "gnu free documentation licen[cs]e (v|version )1\.?2 nov" -# -%ENTRY% _TITLE_GFDL_V12_ONLY -%KEY% "(docume|warra)nt" -%STR% "gnu free documentation licen[cs]e =FEW= (v|version )1\.?2" -# -%ENTRY% _TITLE_GFDL_V12_OR_LATER -%KEY% "(docume|warra)nt" -%STR% "gnu free documentation ?licen[cs](e|e gfdl) (v|version )1\.?2 or =FEW= (later|newer|subsequent|more recent)" -# -%ENTRY% _TITLE_GFDL_V13_FULL_LICENSE -%KEY% "(docume|warra)nt" -%STR% "gnu free documentation ?licen[cs]e (v|version )1\.?3 3 nov" -# -%ENTRY% _TITLE_GFDL_V13_ONLY -%KEY% "(docume|warra)nt" -%STR% "gnu free documentation ?licen[cs]e =FEW= (v|version )1\.?3" -# -%ENTRY% _TITLE_GFDL_V13_OR_LATER -%KEY% "(docume|warra)nt" -%STR% "gnu free documentation ?licen[cs](e|e gfdl) (v|version )1\.?3 or =FEW= (later|newer|subsequent|more recent)" -# -%ENTRY% _TITLE_GPDL -%KEY% "(docume|warra)nt" -%STR% "graphic documentation project copying licen[cs]e" -# -%ENTRY% _TITLE_GPL1 -%KEY% "licen[cs]" -%STR% "gnu (general p|p)ublic licen[cs]e =FEW= (v|version )1 february 1989" -# -%ENTRY% _TITLE_GPL2 -%KEY% "licen[cs]" -%STR% "gnu (general p|p)ublic licen[cs]e =SOME= version 2 june 1991" -# -%ENTRY% _TITLE_GPL3_ref1 -%KEY% "gpl" -%STR% "[^l]gpl (v|version )3 (license|text)" -# -%ENTRY% _TITLE_GPL3_ref2 -%KEY% "licen[cs]" -%STR% "gnu (general p|p)ublic licen[cs]e =SOME= version 3" -# -%ENTRY% _TITLE_GPL3_ref3 -%KEY% "licen[cs]" -%STR% "licen[cs]e(:?) gplv3" -# -%ENTRY% _TITLE_GPL3_ref3_later -%KEY% "licen[cs]" -%STR% "licen[cs]e(:?) gplv3\.?0?(\+| or (later|newer))" -# -%ENTRY% _TITLE_GPL3_ref4_later -%KEY% "licen[cs]" -%STR% "license =SOME= ([^l]gplv3\.?0?\+|gnu gpl version 3 or later)" -# -%ENTRY% _TITLE_GPL2_ref1 -%KEY% "gpl" -%STR% "[^l]gpl (v|version )2 (license|text)" -# -%ENTRY% _TITLE_GPL2_ref2 -%KEY% "licen[cs]" -%STR% "gnu (general p|p)ublic licen[cs]e =SOME= version 2" -# -%ENTRY% _TITLE_GPL2_ref1_later -%KEY% "licen[cs]" -%STR% "licen[cs]e:? (gnu )?gpl(-|v| )2\.?0?(\+| or later)" -# -%ENTRY% _TITLE_MODULE_LICENSE -%KEY% "licen[cs]" -%STR% "MODULE_LICENSE" -# -%ENTRY% _TITLE_MODULE_LICENSE_GPL -%KEY% "licen[cs]" -%STR% "MODULE_LICENSE\(?\"?.GPL" -# -%ENTRY% _TITLE_GPL_KDE -%KEY% "licen[cs]" -%STR% "gnu (general p|p)ublic licen[cs]e =ANY= (accepted|approved) by (the membership of kde|trolltech asa =FEW= the kde free qt foundation)" -# -%ENTRY% _TITLE_LGPL_KDE -%KEY% "licen[cs]" -%STR% "(lgp(l|l licen[cs]e)|gnu (lesser|library) (general p|p)ublic licen[cs]e) =ANY= (accepted|approved) by (the membership of kde|trolltech asa =FEW= the kde free qt foundation)" -# -%ENTRY% _TITLE_GPL3 -%KEY% "licen[cs]" -%STR% "gnu (general p|p)ublic licen[cs]e =SOME= version 3" -# -%ENTRY% _TITLE_GS11 -%KEY% "licen[cs]" -%STR% "ghostscript (general p|p)ublic licen[cs]e clarified 11 feb 1988" -# -%ENTRY% _TITLE_IPA -%KEY% "licen[cs]" -%STR% "ipa font license agreement (version |v)1\.?0" -# -%ENTRY% _TITLE_GSOAP -%KEY% "licen[cs]" -%STR% "gsoap public licen[cs]e" -# -%ENTRY% _TITLE_GSOAP_V13 -%KEY% "licen[cs]" -%STR% "gsoap public licen[cs]e version 1\.?3" -# -%ENTRY% _TITLE_H2_V10 -%KEY% "licen[cs]" -%STR% "H2 license (v|version) 1\.?0" -# -%ENTRY% _TITLE_IBM_PL20 -%KEY% "licen[cs]" -%STR% "ibm public licen[cs]e =FEW= (v|version )2\.?0" -# -%ENTRY% _TITLE_IBM_PL10 -%KEY% "licen[cs]" -%STR% "ibm public licen[cs]e =FEW= (v|version )1\.?0" -# -%ENTRY% _TITLE_IBM_PL -%KEY% "licen[cs]" -%STR% "ibm public licen[cs]e =FEW= version" -# -%ENTRY% _TITLE_ICU -%KEY% "licen[cs]" -%STR% "ICU License =FEW= ICU 1\.?8\.?1 and later" -# -%ENTRY% _TITLE_IDPL_V10 -%KEY% "licen[cs]" -%STR% "initial developer[ ]?s public licen[cs]e =FEW= version 1\.?0" -# -%ENTRY% _TITLE_IDPL -%KEY% "licen[cs]" -%STR% "initial developer[ ]?s public licen[cs]e" -# -%ENTRY% _TITLE_INNERNET200 -%KEY% "licen[cs]" -%STR% "the inner net licen[cs]e (v|version )2\.?0?\.?0?" -# -%ENTRY% _TITLE_INTERBASE -%KEY% "licen[cs]" -%STR% "interbase public licen[cs]e" -# -%ENTRY% _TITLE_INTERLINK_EULA -%KEY% "\<(end[ -]user|eula)\>" -%STR% "end[ -]user licen[cs]e agreement interlink networks" -# -%ENTRY% _TITLE_IPTC -%KEY% "licen[cs]" -%STR% "Non-Exclusive License Agreement for International Press Telecommunications Council" -# -%ENTRY% _TITLE_ITU_T -%KEY% "licen[cs]" -%STR% "ITU-T software tools General Public License" -# -%ENTRY% _TITLE_JABBER -%KEY% "licen[cs]" -%STR% "jabber open source licen[cs]e" -# -%ENTRY% _TITLE_JABBER_V10 -%KEY% "licen[cs]" -%STR% "jabber open source licen[cs]e version 10" -# -%ENTRY% _TITLE_JasPer_20 -%KEY% "licen[cs]" -%STR% "jasper licen[cs]e version 2\.?0" -# -%ENTRY% _TITLE_KDAB_EULA -%KEY% "licen[cs]" -%STR% "kd tools commercial licen[cs]e agreement" -# -%ENTRY% _TITLE_LARABIE_EULA -%KEY% "\<(end[ -]user|eula)\>" -%STR% "larabie fonts end-user licen[cs]e agreement" -# -%ENTRY% _TITLE_LATEX_PL10 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?0?" -# -%ENTRY% _TITLE_LATEX_PL11 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?1" -# -%ENTRY% _TITLE_LATEX_PL12 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?2" -# -%ENTRY% _TITLE_LATEX_PL13 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?3" -# -%ENTRY% _TITLE_LATEX_PL13A -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?3a" -# -%ENTRY% _TITLE_LATEX_PL13B -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?3b" -# -%ENTRY% _TITLE_LATEX_PL13C -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?3c" -# -%ENTRY% _TITLE_LDPL1A -%KEY% "licen[cs]" -%STR% "ldp general public licen[cs]e =FEW= (v|version )1a =SOME= november 1998" -# -%ENTRY% _TITLE_LDPL20 -%KEY% "(docume|warra)nt" -%STR% "linux documentation project licen[cs]e =FEW= v2\.?0 =SOME= january 1998" -# -%ENTRY% _TITLE_LGPLV2 -%KEY% "(condit|vers)ion" -%STR% "version 2 June 1991" -# -%ENTRY% _TITLE_LGPLV21 -%KEY% "(condit|vers)ion" -%STR% "version 2\.?1 February 1999" -# -%ENTRY% _TITLE_LGPLV21_2 -%KEY% "licen[cs]" -%STR% "(lgp(l|l licen[cs]e)|gnu (lesser|library) (general p|p)ublic licen[cs]e) =SOME= (version |v)2\.?1" -# -%ENTRY% _TITLE_LGPL3 -%KEY% "(condit|vers)ion" -%STR% "version 3 29 June 2007" -##### -# NOTE: better search for 102 *first* since 10 will match "10" and "102"! -##### -%ENTRY% _TITLE_LUCENT102 -%KEY% "licen[cs]" -%STR% "lucent public licen[cs]e =FEW= (v|version )1\.?0\.?2" -# -%ENTRY% _TITLE_LUCENT10 -%KEY% "licen[cs]" -%STR% "lucent public licen[cs]e =FEW= (v|version )1\.?0" -# -%ENTRY% _TITLE_MACROMEDIA_EULA -%KEY% "\<(end[ -]user|eula)\>" -%STR% "macromedia =SOME= end[ -]user licen[cs]e agreement" -# -%ENTRY% _TITLE_MAJORDOMO11 -%KEY% "licen[cs]" -%STR% "majordomo licen[cs]e agreement (v|version )1\.?1" -# -%ENTRY% _TITLE_METROLINK -%KEY% "(docume|warra)nt" -%STR% "metro link warranty and licen[cs]e agreement" -# -%ENTRY% _TITLE_MIBBLE_28 -%KEY% "licen[cs]" -%STR% "mibble 2\.?8 mibble software licen[cs]e agreement" -# -%ENTRY% _TITLE_MINDTERM -%KEY% "licen[cs]" -%STR% "mindterm public source licen[cs]e agreement" -# -%ENTRY% _TITLE_MIROS -%KEY% "licen[cs]" -%STR% "miros licen[cs]e" -# -%ENTRY% _TITLE_POSTGRES -%KEY% "copyright" -%STR% "copyright =FEW= postgresql global development group" -# -%ENTRY% _TITLE_POSTGRES_1 -%KEY% "licen[cs]" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|\|code) under =FEW= PostgreSQL licen[cs]e)" -# -%ENTRY% _TITLE_MIT -%KEY% "licen[cs]" -%STR% "\ licen[cs]e" -# -%ENTRY% _TITLE_MIT_EXHIBIT -%KEY% "licen[cs]" -%STR% "exhibit [abc] =ANY= \ licen[cs]e" -# -%ENTRY% _TITLE_MOTOROLA_MOBILE -%KEY% "licen[cs]" -%STR% "MOTOROLA MOBILE Software License Agreement" -# -%ENTRY% _TITLE_MOTOSOTO091 -%KEY% "licen[cs]" -%STR% "motosoto open source licen[cs]e =FEW= (v|version )0\.?9\.?1" -# -%ENTRY% _TITLE_ERLPL -%KEY% "licen[cs]" -%STR% "erlang public license" -# -%ENTRY% _TITLE_ERLPL_ref -%KEY% "licen[cs]" -%STR% "(be|are|is) subject to the erlang public licen[cs]e\,? (v|version )1\.?1" -# -%ENTRY% _TITLE_EUPL_10 -%KEY% "licen[cs]" -%STR% "European Union Public Licence (V\.?)?1\.?0" -# -%ENTRY% _TITLE_EUPL_11 -%KEY% "licen[cs]" -%STR% "European Union Public Licence (V\.? )?1\.?1" -# -%ENTRY% _TITLE_EUPL_12 -%KEY% "licen[cs]" -%STR% "EUROPEAN UNION PUBLIC LICENCE (v\.? )?1\.?2" -# -%ENTRY% _TITLE_MOZNET_PL -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "(mozilla|netscape) public licen[cs]e" -# -%ENTRY% _TITLE_RHeCos_V11 -%KEY% "licen[cs]" -%STR% "red hat ecos public license (version |v)1\.?1" -# -%ENTRY% _TITLE_MPL -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "mozilla public licen[cs]e version" -# -%ENTRY% _TITLE_MPL_ref -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= (\|mozilla public licen[cs]e)" -# -%ENTRY% _TITLE_MPL10 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "mozilla public licen[cs]e (1\.?0|(mpl )?((v\.? ?|version )1\.?0))" -# -%ENTRY% _TITLE_MPL11 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "mozilla public licen[cs]e (1\.?1|(mpl )?((v\.? ?|version )1\.?1))" -# -%ENTRY% _TITLE_MPL11_OR_LATER -%KEY% "licen[cs]" -%STR% "mozilla public licen[cs]e (1\.?1|(mpl )?((v\.? ?|version )1\.?1)) =SOME= or =SOME= (newer|later|subsequent|more recent)" -# -%ENTRY% _TITLE_MPL20 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "mozilla public licen[cs]e (2\.?0|(mpl )?((v\.? ?|version )2\.?0))" -# -%ENTRY% _TITLE_MPL20_EXCEPTION -%KEY% "licen[cs]" -%STR% "exhibit b =FEW= incompatible with secondary licenses" -# -%ENTRY% _TITLE_MPL_EULA_20 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "mozilla =SOME= end[ -]user software licen[cs]e agreement (v|version)2\.?0" -# -%ENTRY% _TITLE_MPL_EULA_30 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "mozilla =SOME= end[ -]user software licen[cs]e agreement (v|version )3\.?0" -# -%ENTRY% _TITLE_MPL_EULA_11 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "mozilla =SOME= end[ -]user software licen[cs]e agreement (v|version )1\.?1" -# -%ENTRY% _TITLE_MulanPSL_10 -%KEY% "licen[cs]" -%STR% "Mulan Permissive Software License (version |v)1" -# -%ENTRY% _TITLE_MYSQL_V03 -%KEY% "licen[cs]" -%STR% "mysql floss licen[cs]e exception version 0\.?3" -# -%ENTRY% _TITLE_mysql_floss_exception -%KEY% "so(ftware|urce)" -%STR% "mysql (inc|ab) exception for free/libre and open source software" -# -%ENTRY% _TITLE_MSCORP_EULA -%KEY% "\" -%STR% "end[ -]user licen[cs]e agreement for microsoft software" -# -%ENTRY% _TITLE_NASA13 -%KEY% "(condit|vers)ion" -%STR% "nasa open source agreement version 1\.?3" -# -%ENTRY% _TITLE_NAUMEN -%KEY% "licen[cs]" -%STR% "naumen public licen[cs]e" -# -%ENTRY% _TITLE_NCSA -%KEY% "licen[cs]" -%STR% "university of illinois(/ncsa)? open source licen[cs]e" -# -%ENTRY% _TITLE_NCSA_EXHIBIT -%KEY% "licen[cs]" -%STR% "exhibit [abc] =ANY= university of illinois/ncsa open source licen[cs]e" -# -%ENTRY% _TITLE_NESSUS -%KEY% "licen[cs]" -%STR% "nessus software licen[cs]e agreement" -# -%ENTRY% _TITLE_NETHACK -%KEY% "licen[cs]" -%STR% "nethack general public licen[cs]e" -# -%ENTRY% _TITLE_NETSCAPE_EULA -%KEY% "licen[cs]" -%STR% "netscape =SOME= licen[cs]e agreement" -# -%ENTRY% _TITLE_NETIZEN_V10 -%KEY% "licen[cs]" -%STR% "netizen open source licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_NETIZEN -%KEY% "licen[cs]" -%STR% "netizen open source licen[cs]e" -# -%ENTRY% _TITLE_NPL -%KEY% "licen[cs]" -%STR% "netscape public licen[cs]e" -# -%ENTRY% _TITLE_NPL11 -%KEY% "licen[cs]" -%STR% "netscape public licen[cs]e (v|version )1\.?1" -# -%ENTRY% _TITLE_NPL11_MPL -%KEY% "licen[cs]" -%STR% "netscape public license (v|version )1\.?1 =FEW= consists of the mozilla public license (v|version )1\.?1 with the following amendments" -# -%ENTRY% _TITLE_NPL11_OR_LATER -%KEY% "licen[cs]" -%STR% "netscape public licen[cs]e =FEW= (1\.?1|(\ |v|version )1\.?1) =SOME= or =SOME= (newer|later|subsequent|more recent)" -# -%ENTRY% _TITLE_NPL10 -%KEY% "licen[cs]" -%STR% "netscape public licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_NOKIA10A -%KEY% "licen[cs]" -%STR% "nokia open source licen[cs]e NOKOS licen[cs]e (v|version )1\.?0a" -# -%ENTRY% _TITLE_NGPL -%KEY% "licen[cs]" -%STR% "nethack general public license =SOME= based on the bison general public license" -# -%ENTRY% _TITLE_NOVELL_EULA -%KEY% "licen[cs]" -%STR% "novell =SOME= software =SOME= licen[cs]e =SOME= agreement" -# -%ENTRY% _TITLE_NTP -%KEY% "licen[cs]" -%STR% "NTP license" -# -%ENTRY% _TITLE_NVIDIA -%KEY% "licen[cs]" -%STR% "licen[cs]e for customer use of NVIDIA software" -# -%ENTRY% _TITLE_OCLC20 -%KEY% "licen[cs]" -%STR% "OCLC research public licen[cs]e 2\.?0" -# -%ENTRY% _TITLE_OCLC10 -%KEY% "licen[cs]" -%STR% "OCLC research public licen[cs]e 1\.?0" -# -%ENTRY% _TITLE_ODBL -%KEY% "licen[cs]" -%STR% "Open Database License" -# -%ENTRY% _TITLE_OpenGroup -%KEY% "licen[cs]" -%STR% "open group public licen[cs]e" -# -%ENTRY% _TITLE_OGL_UK -%KEY% "licen[cs]" -%STR% "Open Government Licen[cs]e" -# -%ENTRY% _TITLE_OGL_UK_10 -%KEY% "licen[cs]" -%STR% "Open Government Licen[cs]e v?1\.?0" -# -%ENTRY% _TITLE_OGL_UK_20 -%KEY% "licen[cs]" -%STR% "Open Government Licen[cs]e v?2\.?0" -# -%ENTRY% _TITLE_OGL_UK_30 -%KEY% "licen[cs]" -%STR% "Open Government Licen[cs]e v?3\.?0" -# -%ENTRY% _TITLE_OGTSL -%KEY% "licen[cs]" -%STR% "open group test suite licen[cs]e" -# -%ENTRY% _TITLE_ONTOPIA -%KEY% "licen[cs]" -%STR% "ontopia =SOME= licen[cs]e agreement" -# -%ENTRY% _TITLE_OPENCL10 -%KEY% "licen[cs]" -%STR% "open ?content licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_OPENCL -%KEY% "licen[cs]" -%STR% "open ?content licen[cs]e" -# -%ENTRY% _TITLE_OPENLDAP11 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )1\.?1" -# -%ENTRY% _TITLE_OPENLDAP12 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )1\.?2" -# -%ENTRY% _TITLE_OPENLDAP13 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )1\.?3" -# -%ENTRY% _TITLE_OPENLDAP14 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )1\.?4" -# -%ENTRY% _TITLE_OPENLDAP20 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?0" -# -%ENTRY% _TITLE_OPENLDAP201 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?0\.?1" -# -%ENTRY% _TITLE_OPENLDAP21 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?1" -# -%ENTRY% _TITLE_OPENLDAP22 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?2" -# -%ENTRY% _TITLE_OPENLDAP221 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?2\.?1" -# -%ENTRY% _TITLE_OPENLDAP222 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?2\.?2" -# -%ENTRY% _TITLE_OPENLDAP23 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?3" -# -%ENTRY% _TITLE_OPENLDAP24 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?4" -# -%ENTRY% _TITLE_OPENLDAP25 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?5" -# -%ENTRY% _TITLE_OPENLDAP26 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?6" -# -%ENTRY% _TITLE_OPENLDAP27 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?7" -# -%ENTRY% _TITLE_OPENLDAP28 -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e (v|version )2\.?8" -# -%ENTRY% _TITLE_OPENLDAP -%KEY% "licen[cs]" -%STR% "openldap public licen[cs]e" -# -%ENTRY% _TITLE_OPENPL10 -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "open public licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_OPENPL -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "open public licen[cs]e" -# -%ENTRY% _TITLE_OPENPUBL10 -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "open publication licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_OPENPUBL04 -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "open publication licen[cs]e (draft)? (v|version )0\.?4" -# -%ENTRY% _TITLE_OPENPUBL -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "open publication licen[cs]e" -# -%ENTRY% _TITLE_ORACLE_DEVEL -%KEY% "licen[cs]" -%STR% "oracle =SOME= development and distribution licen[cs]e agreement" -# -%ENTRY% _TITLE_ORACLE_PROTO -%KEY% "licen[cs]" -%STR% "oracle =SOME= early adopter development licen[cs]e agreement" -# -%ENTRY% _TITLE_Oracle_foss_exception -%KEY% "licen[cs]" -%STR% "Oracle.s FOSS License Exception Terms and Conditions" -# -%ENTRY% _TITLE_OSL10 -%KEY% "licen[cs]" -%STR% "open (source|software) licen[cs]e[^s] =FEW= (1\.?0|(osl |v|version )1\.?0)" -# -%ENTRY% _TITLE_OSL11 -%KEY% "licen[cs]" -%STR% "open (source|software) licen[cs]e[^s] =FEW= (1\.?1|(osl |v|version )1\.?1)" -# -%ENTRY% _TITLE_OSL20 -%KEY% "licen[cs]" -%STR% "open (source|software) licen[cs]e[^s] =FEW= (2\.?0|(osl |v|version )2\.?0)" -# -%ENTRY% _TITLE_OSL21 -%KEY% "licen[cs]" -%STR% "open (source|software) licen[cs]e[^s] =FEW= (2\.?1|(osl |v|version )2\.?1)" -# -%ENTRY% _TITLE_OSL21_EXHIBIT -%KEY% "licen[cs]" -%STR% "Compatible Licences =ANY= open (source|software) licen[cs]e[^s] =FEW= (2\.?1|(osl |v|version )2\.?1)" -# -%ENTRY% _TITLE_OSL30 -%KEY% "licen[cs]" -%STR% "open (source|software) licen[cs]e[^s] =FEW= (3\.?0|(osl |v|version )3\.?0)" -# -%ENTRY% _TITLE_OSL30_EXHIBIT -%KEY% "licen[cs]" -%STR% "Compatible Licences =ANY= open (source|software) licen[cs]e[^s] =FEW= (3\.?0|(osl |v|version )3\.?0)" -# -%ENTRY% _TITLE_OZPLB_10 -%KEY% "licen[cs]" -%STR% "australian public licence b =FEW= version 1.0" -# -%ENTRY% _TITLE_OZPLB_11 -%KEY% "licen[cs]" -%STR% "australian public licence b =FEW= version 1.1" -# -%ENTRY% _TITLE_PDDL -%KEY% "licen[cs]" -%STR% "open data commons =FEW= public domain dedication =FEW= licen[cs]e" -# -%ENTRY% _TITLE_NON_PROFIT_OSL30 -%KEY% "licen[cs]" -%STR% "non-profit open software licen[cs]e =FEW= 3\.?0" -# -%ENTRY% _TITLE_QPL10_1 -%KEY% "licen[cs]" -%STR% "q public licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_QPL10_2 -%KEY% "(condit|vers)ion" -%STR% "qpl version 1\.?0" -# -%ENTRY% _TITLE_QPL -%KEY% "licen[cs]" -%STR% "q public licen[cs]e" -# -%ENTRY% _TITLE_QT_GPL_EXCEPTION_10 -%KEY% =NULL= -%STR% "Qt Company GPL Exception" -# -%ENTRY% _TITLE_QT_LGPL_EXCEPTION_11 -%KEY% "\" -%STR% "\ (company )?lgpl exception version 1\.?1" -# -%ENTRY% _TITLE_QT_PROPRIETARY -%KEY% "licen[cs]" -%STR% "Qt COMMERCIAL LICENSE AGREEMENT =FEW= version" -# -%ENTRY% _TITLE_Nokia_Qt_LGPL_exception_11 -%KEY% "\" -%STR% "Nokia \ (company )?lgpl exception version 1\.?1" -# -%ENTRY% _TITLE_PHORUM -%KEY% "licen[cs]" -%STR% "the phorum licen[cs]" -# -%ENTRY% _TITLE_PHP301 -%KEY% "licen[cs]" -%STR% "the php licen[cs]e (v|version )3\.?0\.?1" -# -%ENTRY% _TITLE_PHP30 -%KEY% "licen[cs]" -%STR% "the php licen[cs]e (v|version )3\.?0" -# -%ENTRY% _TITLE_PHP202 -%KEY% "licen[cs]" -%STR% "the php licen[cs]e (v|version )2\.?02" -# -%ENTRY% _TITLE_PUBUSE_V10 -%KEY% "licen[cs]" -%STR% "public use licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_PYTHON -%KEY% "licen[cs]" -%STR% "python licen[cs]e" -# -%ENTRY% _TITLE_PYTHON201 -%KEY% "licen[cs]" -%STR% "(licen[cs] agreement for python 2\.?0\.?1|python 2\.?0\.?1 licen[cs]e)" -# -%ENTRY% _TITLE_PYTHON202 -%KEY% "licen[cs]" -%STR% "(licen[cs] agreement for python 2\.?0\.?2|python 2\.?0\.?2 licen[cs]e)" -# -%ENTRY% _TITLE_PYTHON211 -%KEY% "licen[cs]" -%STR% "(licen[cs] agreement for python 2\.?1\.?1|python 2\.?1\.?1 licen[cs]e)" -# -%ENTRY% _TITLE_PYTHON213 -%KEY% "licen[cs]" -%STR% "(licen[cs] agreement for python 2\.?1\.?3|python 2\.?1\.?3 licen[cs]e)" -# -%ENTRY% _TITLE_PYTHON22 -%KEY% "licen[cs]" -%STR% "(licen[cs] agreement for python 2\.?2|python 2\.?2 licen[cs]e)" -# -%ENTRY% _TITLE_PYTHON223 -%KEY% "licen[cs]" -%STR% "(licen[cs] agreement for python 2\.?2\.?3|python 2\.?2\.?3 licen[cs]e)" -# -%ENTRY% _TITLE_PYTHON227 -%KEY% "licen[cs]" -%STR% "(licen[cs] agreement for python 2\.?2\.?7|python 2\.?2\.?7 licen[cs]e)" -# -%ENTRY% _TITLE_PYTHON237 -%KEY% "licen[cs]" -%STR% "(licen[cs]e agreement for python 2\.?3\.?7|python 2\.?3\.?7 licen[cs]e)" -# -%ENTRY% _TITLE_PYTHON23 -%KEY% "licen[cs]" -%STR% "(licen[cs]e agreement for python 2\.?3|python 2\.?3 licen[cs]e)" -# -%ENTRY% _TITLE_PYTHON244 -%KEY% "licen[cs]" -%STR% "(licen[cs] agreement for python 2\.?4\.?4|python 2\.?4\.?4 licen[cs]e)" -# -%ENTRY% _TITLE_PYTHON_20_1 -%KEY% "licen[cs]" -%STR% "(licen[cs]e agreement for python 2|python 2 licen[cs]e)" -# -%ENTRY% _TITLE_PYTHON_20_2 -%KEY% "licen[cs]" -%STR% "python software foundation licen[cs]e v?2" -# -%ENTRY% _TITLE_QUEST_EULA -%KEY% "licen[cs]" -%STR% "quest software inc software licen[cs]e agreement" -# -%ENTRY% _TITLE_RCSL_V30 -%KEY% "licen[cs]" -%STR% "realnetworks community source licen[cs]e =FEW= (v|version )3\.?0" -# -%ENTRY% _TITLE_RCSL_V20 -%KEY% "licen[cs]" -%STR% "realnetworks community source licen[cs]e =FEW= (v|version )2\.?0" -# -%ENTRY% _TITLE_RCSL_V10 -%KEY% "licen[cs]" -%STR% "realnetworks community source licen[cs]e =FEW= (v|version )1\.?0" -# -%ENTRY% _TITLE_RCSL -%KEY% "licen[cs]" -%STR% "realnetworks community source licen[cs]e" -# -%ENTRY% _TITLE_REAL_EULA -%KEY% "\<(end[ -]user|eula)\>" -%STR% "realnetworks inc end[ -]user licen[cs]e agreement" -# -%ENTRY% _TITLE_RICOH10 -%KEY% "licen[cs]" -%STR% "ricoh source code public licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_RIVERBANK_EULA -%KEY% "licen[cs]" -%STR% "riverbank computing limited licen[cs]e agreement" -# -%ENTRY% _TITLE_RMS_BYTE86 -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "richard stallman discusses his public[ -]domain UNIX-compatible software system with BYTE editors =FEW= 1986" -# -%ENTRY% _TITLE_RMS_WSSBF -%KEY% "so(ftware|urce)" -%STR% "why software should be free by richard stallman" -# -%ENTRY% _TITLE_RPL10 -%KEY% "licen[cs]" -%STR% "reciprocal public licen[cs]e =FEW= (v|version )1\.?0" -# -%ENTRY% _TITLE_RPL11 -%KEY% "licen[cs]" -%STR% "reciprocal public licen[cs]e =FEW= (v|version )1\.?1" -# -%ENTRY% _TITLE_RPL15 -%KEY% "licen[cs]" -%STR% "reciprocal public licen[cs]e =FEW= (v|version )1\.?5" -# -%ENTRY% _TITLE_RPSL_V30 -%KEY% "licen[cs]" -%STR% "realnetworks public source licen[cs]e =FEW= (v|version )3\.?0" -# -%ENTRY% _TITLE_RPSL_V20 -%KEY% "licen[cs]" -%STR% "realnetworks public source licen[cs]e =FEW= (v|version )2\.?0" -# -%ENTRY% _TITLE_RPSL_V10 -%KEY% "licen[cs]" -%STR% "realnetworks public source licen[cs]e =FEW= (v|version )1\.?0" -# -%ENTRY% _TITLE_RPSL -%KEY% "licen[cs]" -%STR% "realnetworks public source licen[cs]e" -# -%ENTRY% _TITLE_SCEA -%KEY% "licen[cs]" -%STR% "scea shared source license" -# -%ENTRY% _TITLE_SCSL_V23 -%KEY% "licen[cs]" -%STR% "sun community source licen[cs]e (v|version )2\.?3" -# -%ENTRY% _TITLE_SCSL_V30 -%KEY% "licen[cs]" -%STR% "sun community source licen[cs]e (v|version )3\.?0" -# -%ENTRY% _TITLE_SGI_GLX_V10 -%KEY% "licen[cs]" -%STR% "glx public licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_SGI -%KEY% "so(ftware|urce)" -%STR% "sgi free software (b licen[cs]e|licen[cs]e b)" -# -%ENTRY% _TITLE_SGI_V10 -%KEY% "so(ftware|urce)" -%STR% "sgi free software licen[cs]e b (v|version )1\.?0" -# -%ENTRY% _TITLE_SGI_V11 -%KEY% "so(ftware|urce)" -%STR% "sgi free software licen[cs]e b (v|version )1\.?1" -# -%ENTRY% _TITLE_SGI_V20 -%KEY% "so(ftware|urce)" -%STR% "sgi free software (b licen[cs]e|licen[cs]e b) (v|version )2\.?0" -# -%ENTRY% _TITLE_SISSL -%KEY% "licen[cs]" -%STR% "su(n|n industry) standard(s|s source) licen[cs]e" -# -%ENTRY% _TITLE_SISSL_V11 -%KEY% "licen[cs]" -%STR% "su(n|n industry) standard(s|s source) licen[cs]e version 1\.?1" -# -%ENTRY% _TITLE_SISSL_V12 -%KEY% "licen[cs]" -%STR% "su(n|n industry) standard(s|s source) licen[cs]e version 1\.?2" -# -%ENTRY% _TITLE_SKYPE -%KEY% "\<(end[ -]user|eula)\>" -%STR% "skype end[ -]user licen[cs]e agreement" -# -%ENTRY% _TITLE_SNIA_V11 -%KEY% "licen[cs]" -%STR% "(snia|storage network industr(y|y assocation)) public licen[cs]e version 1\.?1" -# -%ENTRY% _TITLE_SNIA_V10 -%KEY% "licen[cs]" -%STR% "(snia|storage network industr(y|y assocation)) public licen[cs]e version 1\.?0" -# -%ENTRY% _TITLE_SUGARCRM_PL -%KEY% "licen[cs]" -%STR% "sugarcrm public licen[cs]e" -# -%ENTRY% _TITLE_SUN_BCLA -%KEY% "licen[cs]" -%STR% "version =FEW= binary code licen[cs]e|binary code licen[cs]e vers" -# -%ENTRY% _TITLE_SUN_ENTITLE -%KEY% "so(ftware|urce)" -%STR% "sun microsystems inc sun entitlement for software" -# -%ENTRY% _TITLE_SUN_PL -%KEY% "licen[cs]" -%STR% "sun public licen[cs]e" -# -%ENTRY% _TITLE_SUN_PL10 -%KEY% "licen[cs]" -%STR% "sun public licen[cs]e =FEW= (v|version )1\.?0" -# -%ENTRY% _TITLE_SUN_SCSL_TSA -%KEY% "licen[cs]" -%STR% "technology specific attachment to the sun community source licen[cs]e" -# -%ENTRY% _TITLE_SYBASE10 -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "sybase open watcom public licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_TCL -%KEY% "licen[cs]" -%STR% "Tcl/Tk License" -# -%ENTRY% _TITLE_TMATE -%KEY% "licen[cs]" -%STR% "tmate open source license" -# -%ENTRY% _TITLE_Toolbar2000 -%KEY% "licen[cs]" -%STR% "Toolbar2000 licen[cs]e" -# -%ENTRY% _TITLE_TPL10 -%KEY% "licen[cs]" -%STR% "terracotta public licen[cs]e version 1\.?0" -# -%ENTRY% _TITLE_TPL -%KEY% "licen[cs]" -%STR% "terracotta public licen[cs]e version" -# -%ENTRY% _TITLE_TSA_10 -%KEY% "(condit|vers)ion" -%STR% "source licen[cs]e =SOME= version =SOME= TSA 1\.?0" -# -%ENTRY% _TITLE_UBUNTU_FONT -%KEY% "licen[cs]" -%STR% "ubuntu font licen[cs]e version 1\.?0" -# -%ENTRY% _TITLE_UL_EULA -%KEY% "\<(end[ -]user|eula)\>" -%STR% "unitedlinux llc end[ -]user agreement and software licen[cs]e terms" -# -%ENTRY% _TITLE_unboundID_ldap_sdk -%KEY% "licen[cs]" -%STR% "UnboundID LDAP SDK Free Use License" -# -%ENTRY% _TITLE_universal_foss_exception_10 -%KEY% =NULL= -%STR% "Universal FOSS Exception (Version |v\.)1.0" -# -%ENTRY% _TITLE_Vim -%KEY% "licen[cs]" -%STR% "vim licen[cs]e" -# -%ENTRY% _TITLE_VOVIDA -%KEY% "licen[cs]" -%STR% "vovida software licen[cs]e =SOME= (v|version)" -# -%ENTRY% _TITLE_VMWARE -%KEY% "\<(end[ -]user|eula)\>" -%STR% "vmware =SOME= end[ -]user licen[cs]e agreement" -# -%ENTRY% _TITLE_WOL -%KEY% "licen[cs]" -%STR% "The Wide Open License" -# -%ENTRY% _TITLE_WU_FTPD -%KEY% "licen[cs]" -%STR% "wu-ftpd software licen[cs]e" -# -%ENTRY% _TITLE_XIMIANLOGO10 -%KEY% "licen[cs]" -%STR% "ximian logo licen[cs]e (v|version )1\.?0" -# -%ENTRY% _TITLE_XIMIANLOGO -%KEY% "licen[cs]" -%STR% "ximian logo licen[cs]e" -# -%ENTRY% _TITLE_XNET -%KEY% "licen[cs]" -%STR% "the x\.?net\,? inc\.? licen[cs]e" -# -# Zend license -%ENTRY% _TITLE_ZEND_V20 -%KEY% "zend" -%STR% "Zend Engine License (v|version )2\.?00" -# -%ENTRY% _TITLE_ZIMBRA_13 -%KEY% "licen[cs]" -%STR% "Zimbra Public License (v|version )1\.?3" -# -%ENTRY% _TITLE_ZIMBRA_12 -%KEY% "licen[cs]" -%STR% "Zimbra Public License (v|version )1\.?2" -# -%ENTRY% _TITLE_ZIMBRA -%KEY% "licen[cs]" -%STR% "Zimbra Public License" -# -%ENTRY% _TITLE_ZONEALARM_EULA -%KEY% "\<(end[ -]user|eula)\>" -%STR% "zonealarm end[ -]user licen[cs]e agreement" -# -%ENTRY% _TITLE_ZOPE_V10 -%KEY% "licen[cs]" -%STR% "zope public licen[cs]e =FEW= (v|version )?1\.?0" -# -%ENTRY% _TITLE_ZOPE_V11 -%KEY% "licen[cs]" -%STR% "zope public licen[cs]e =FEW= (v|version )?1\.?1" -# -%ENTRY% _TITLE_ZOPE_V20 -%KEY% "licen[cs]" -%STR% "zope public licen[cs]e =FEW= (v|version )?2\.?0" -# -%ENTRY% _TITLE_ZOPE_V21 -%KEY% "licen[cs]" -%STR% "zope public licen[cs]e =FEW= (v|version )?2\.?1" -# -%ENTRY% _TITLE_ZOPE -%KEY% "licen[cs]" -%STR% "(zope public licen[cs]e|\)" -# -%ENTRY% _TITLE_NOSL -%KEY% "licen[cs]" -%STR% "netizen open source licen[cs]e" -# -%ENTRY% _TITLE_NBPL_V10 -%KEY% "licen[cs]" -%STR% "the net boolean public licen[cs]e (v|version )?1" -# -%ENTRY% _TITLE_Flora_V10 -%KEY% "licen[cs]" -%STR% "Flora Licen[cs]e (version |v)1\.?0" -# -%ENTRY% _TITLE_Flora_V11 -%KEY% "licen[cs]" -%STR% "Flora Licen[cs]e (version |v)1\.?1" -# -%ENTRY% _TITLE_SMLNJ -%KEY% "licen[cs]" -%STR% "standard ml of new jersey copyright notice\,? licen[cs]e and disclaimer" -# -%ENTRY% _TITLE_CITRIX -%KEY% "licen[cs]" -%STR% "citrix =FEW= license agreement" -# -%ENTRY% _TITLE_MPL_style -%KEY% "licen[cs]" -%STR% "the openi public licen[cs]e" -# -%ENTRY% _TITLE_X11 -%KEY% "licen[cs]e" -%STR% "x window system licen[cs]e =FEW= x11" -# -%ENTRY% _TITLE_CCLRC -%KEY% "licen[cs]e" -%STR% "under the terms of the cclrc licen[cs]e" -# -%ENTRY% _TITLE_POSTFIX -%KEY% "licen[cs]e" -%STR% "the (postfix|secure mailer) licen[cs]e" -# -%ENTRY% _TITLE_D_FSL_10 -%KEY% "licen[cs]e" -%STR% "German Free Software Licen[cs]e" -# -%ENTRY% _TITLE_D_FSL_DE1_10 -%KEY% "Lizenz" -%STR% "Deutsche Freie Software Lizenz" -# -%ENTRY% _TITLE_D_FSL_DE2_10 -%KEY% "Vermerke" -%STR% "Vermerke im Source Code" -# -%ENTRY% _TITLE_D_FSL_DE3_10 -%KEY% "Lizenz" -%STR% "Text dieser Lizenz in deutlich wahrnehmbarer Weise" -# -%ENTRY% _TITLE_D_FSL_DE4_10 -%KEY% "Pflichten" -%STR% "Pflichten beim Vertrieb im Object Code" -# -%ENTRY% _TITLE_WORDNET -%KEY% "licen[cs]e" -%STR% "wordnet 3\.?0 license" -# -%ENTRY% _TITLE_OPEN_CASCADE -%KEY% "licen[cs]e" -%STR% "open cascade (technology )?public licen[cs]e" -# -%ENTRY% _MISC_DEBDATA -%KEY% =NULL= -%STR% "data.tar.*$" -# -%ENTRY% _MISC_DEBCNTL -%KEY% =NULL= -%STR% "control.tar.gz" -# -%ENTRY% _MISC_DSCARCH -%KEY% =NULL= -%STR% "^architecture:" -# -%ENTRY% _MISC_DSCFILES -%KEY% =NULL= -%STR% "^files" -# -%ENTRY% _MISC_DSCVERS -%KEY% =NULL= -%STR% "^version:" -# -%ENTRY% _MISC_UUBEGIN -%KEY% =NULL= -%STR% "^begin " -# -%ENTRY% _PHR_0BSD -%KEY% "licen[cs]" -%STR% "(released|distributed|licen[cs]ed) under (the )?zero clause bsd licen[cs]e" -# -%ENTRY% _PHR_AFL -%KEY% "licen[cs]" -%STR% "academic free licen[cs]e =SOME= (v|version)" -# -%ENTRY% _PHR_AGPL -%KEY% "licen[cs]" -%STR% "affero (general p|p)ublic licen[cs]e" -##### -# THis has to be more specific than the generic FSF_Vx_OR_LATER references -# due to the wording in the text of the Affero-GPL -##### -%ENTRY% _PHR_AGPL_10_or_later -%KEY% "so(ftware|urce)" -%STR% "affero (general p|p)ublic =SOME= by the free software foundation ((either v|v)ersion 1 =SOME= or =SOME= (later|newer|subsequent|more recent))" -# -%ENTRY% _PHR_AGPL_10plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= name[>\":] ?AGPL[- v]1\.?0\+" -# -%ENTRY% _PHR_AGPL_30_or_later -%KEY% "so(ftware|urce)" -%STR% "affero (general p|p)ublic =SOME= by the free software foundation ((either v|v)ersion 3 =SOME= or =SOME= (later|newer|subsequent|more recent))" -# -%ENTRY% _PHR_AGPL_30plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= name[>\":] ?AGPL[- v]3\.?0\+" -# -%ENTRY% _PHR_AGPL_30_1 -%KEY% =NULL= -%STR% "(license|available under) =FEW= AGPL( ?v\.?3|[- ]3\.?0| version 3)" -# -# From the regex point of view '( to)?' is unnecessary, however, =FEW= matches -# up to 30 chars and f.ex. in case 'subject to terms and conditions of the -# Apache License' Apache license is missed if regex uses 'subject' only. -%ENTRY% _PHR_Apache_ref0 -%KEY% =NULL= -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject( to)?|comes|used|software|\|code|copyright|www|under|corresponding to) =FEW= apache" -# -%ENTRY% _PHR_Apache_ref1 -%KEY% "\" -%STR% "(distributed?|licen[cs]ed?) =SOME= as apache itself" -# -%ENTRY% _PHR_Apache_ref2 -%KEY% "\" -%STR% "based on the apache software licen[cs]e" -# -%ENTRY% _PHR_Apache_ref3 -%KEY% "licen[cs]" -%STR% "the terms of the apache License" -# -%ENTRY% _PHR_Apache_ref4 -%KEY% "\" -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|comes|used|software|\|code) =SOME= under =SOME= apach(e|e software) licen[cs]e" -# -%ENTRY% _PHR_Apache_ref6 -%KEY% "\" -%STR% "copyrighted software available under a free-to-use-licen[cs]e by the apache software foundation" -# -# This phrase is used to trigger the more detailed Apache license detection -%ENTRY% _PHR_Apache_ref7 -%KEY% "\" -%STR% "spdx-license-identifier.{1,100}\" -# -%ENTRY% _PHR_Apache_11_ref1 -%KEY% "licen[cs]" -%STR% "licensed under (the )?apache software license version 1\.?1" -# -%ENTRY% _PHR_Apache_11_ref2 -%KEY% "\" -%STR% "based on the apache software licen[cs]e (v|version )1\.?1" -# -%ENTRY% _PHR_Apache_20_ref1 -%KEY% "licen[cs]" -%STR% "licen[cs]e:? (name:? |(of ))?apache( |-)?2\.?0?" -# -%ENTRY% _PHR_Apache_20_ref2 -%KEY% "\" -%STR% "(covered by|(licen[cs]ed|is|released|provided) under) =FEW= apache(( |-)2\.?0| ?v2)" -# -%ENTRY% _PHR_Apache_20_ref3 -%KEY% "licen[cs]" -%STR% "apache( |-)?2\.?0? licen[cs]e" -# -%ENTRY% _PHR_Apache_20_ref4 -%KEY% "\" -%STR% "(distribut(able|ed?)|offere?d?|released?|licen[cs]ed?|available|protected|provided) under =SOME= apache (software )?licen[cs]e =FEW= (v|version )2\.?0?" -# -%ENTRY% _PHR_Apache_20_ref5 -%KEY% "licen[cs]" -%STR% "(distributed|modified) =FEW= under =FEW= apache 2\.?0 licen[cs]e" -# -%ENTRY% _PHR_Apache_20_ref6 -%KEY% "licen[cs]" -%STR% "license =FEW= osi approved =FEW= apache (software )?license" -# -%ENTRY% _PHR_Apache_20_ref7 -%KEY% "licen[cs]" -%STR% "subject to =FEW= apache (software )?license (v(ersion )?)2" -# -%ENTRY% _PHR_Artistic_20 -%KEY% "licen[cs]" -%STR% "(distribut(able|ed?)|offere?d?|released?|licen[cs]ed?|available|protected|provided) under =FEW= artistic (licen[cs]e 2\.?0|2\.?0 licen[cs]e)" -# -%ENTRY% _PHR_ARTISTIC_DESC1 -%KEY% "distribut" -%STR% "licen[cs]es Perl allows itself to be r?e?-?distributed and/or modified for the other one th(e perl|e) artistic licen[cs]e" -# -%ENTRY% _PHR_ARTISTIC_CLAUSE8 -%KEY% =NULL= -%STR% "Aggregation of this Package with a commercial distribution is always permitted provided that the use of this Package is embedded" -# -%ENTRY% _PHR_ARTISTIC_PERL -%KEY% =NULL= -%STR% "provided that the complete Standard Version of the interpreter is so embedded" -# -%ENTRY% _PHR_ATTRIBUTION -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "attribution =SOME= (present|provide|display|include)" -# -%ENTRY% _PHR_Autoconf_exception_30 -%KEY% "configur" -%STR% "Autoconf Configure Script Exception version 3\.?0" -# -%ENTRY% _PHR_BOOST_V10 -%KEY% "licen[cs]" -%STR% "boost software licen[cs]e (v|version )1\.?0" -# -%ENTRY% _PHR_BSD_4_CLAUSE_1 -%KEY% "licen[cs]" -%STR% "license =FEW= BSD.4-Clause" -# -%ENTRY% _PHR_BSD_3_CLAUSE_1 -%KEY% "licen[cs]" -%STR% "BSD(-| )3(-| )clause license" -# -%ENTRY% _PHR_BSD_3_CLAUSE_2 -%KEY% "licen[cs]" -%STR% "(3|three)(-| )clause BSD license" -# -%ENTRY% _PHR_BSD_3_CLAUSE_3 -%KEY% "licen[cs]" -%STR% "license =FEW= BSD.3-Clause" -# -%ENTRY% _PHR_BSD_3_CLAUSE_4 -%KEY% "licen[cs]" -%STR% "license =FEW= new BSD license" -# -%ENTRY% _PHR_BSD_2_CLAUSE_1 -%KEY% "licen[cs]" -%STR% "licen[cs]e =FEW= BSD.2-Clause" -# -%ENTRY% _PHR_BSD_2_CLAUSE_2 -%KEY% "licen[cs]" -%STR% "2(-| )clause BSD licen[cs]e" -# -%ENTRY% _PHR_BSD_2_CLAUSE_3 -%KEY% "licen[cs]" -%STR% "BSD.2-Clause licen[cs]e" -# -%ENTRY% _PHR_BSD_2_CLAUSE_4 -%KEY% "licen[cs]" -%STR% "two.clause BSD licen[cs]e" -# -%ENTRY% _PHR_BSD_2_CLAUSE_5 -%KEY% "licen[cs]" -%STR% "under =FEW= BSD simplified licen[cs]e" -# -%ENTRY% _PHR_BSD_2_CLAUSE_6 -%KEY% "licen[cs]" -%STR% "under =FEW= simplified BSD licen[cs]e" -# -%ENTRY% _PHR_BSD_CLEAR_1 -%KEY% "licen[cs]" -%STR% "licen[cs]ed under the Clear BSD" -# -%ENTRY% _PHR_BSD_3_CLAUSE_LBNL -%KEY% "licen[cs]" -%STR% "you are agreeing to =FEW= BSD-LBNL.licen[cs]e" -# -%ENTRY% _PHR_CC0_1 -%KEY% "licen[cs]" -%STR% "licen[cs]e =FEW= CC0-1\.?0" -# -%ENTRY% _PHR_CC0_2 -%KEY% "licen[cs]" -%STR% "under the (terms of a )?creative commons (zero )?cc0 (1\.?0 )?licen[cs]e" -# -%ENTRY% _PHR_CC_BY_SA_30 -%KEY% "licen[cs]" -%STR% "licen[cs]ed under creative commons by-sa 3\.?0" -# -%ENTRY% _PHR_CDDL_1 -%KEY% "distribut" -%STR% "common development and distribution licen[cs]e" -# -%ENTRY% _PHR_CDDL_2 -%KEY% =NULL= -%STR% "(free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?(-identifier)?|available|protected|provided|subject|comes|used|software|\|code|copyright|www|under) =FEW= \" -# -%ENTRY% _PHR_COMMERC_NONCOMM -%KEY% "commerc" -%STR% "(commerciall?y? (and|or|and/or) non[ -]?commerc|non[ -]?commerciall?y? (and|or|and/or) commerc)" -# -%ENTRY% _PHR_copyleft_next_030 -%KEY% "copyleft" -%STR% "(r?e?distributed?|available|licensed|modify) =FEW= under (the terms of )?copyleft-next( |-| v| version )0\.?3\.?0" -# -%ENTRY% _PHR_copyleft_next_031 -%KEY% "copyleft" -%STR% "(r?e?distributed?|available|licensed|modify) =FEW= under (the terms of )?copyleft-next( |-| v| version )0\.?3\.?1" -# -%ENTRY% _PHR_DOC -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= name[>\":] ?DOC\>" - -%ENTRY% _PHR_EULA -%KEY% "\<(end[ -]user|eula)\>" -%STR% "(eula|end[ -]user licen[cs]e agreement)" -# -%ENTRY% _PHR_EUPL_10 -%KEY% "licen[cs]" -%STR% "licensed under the eupl (version |v)\.?1\.?0" -# -%ENTRY% _PHR_EUPL_11 -%KEY% "licen[cs]" -%STR% "licensed under the eupl (version |v)\.?1\.?1" -# -%ENTRY% _PHR_EUPL -%KEY% "licen[cs]" -%STR% "(licensed|released) under European Union Public Licen[cs]e" -# -%ENTRY% _PHR_Fair -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= name[>\":] ?\" - -%ENTRY% _PHR_FREE_LIBRE -%KEY% "so(ftware|urce)" -%STR% "free/libre and open source software" -# -%ENTRY% _PHR_FSF_V1_ONLY -%KEY% "so(ftware|urce)" -%STR% "by the free software foundation =SOME= (v|[^_-]version )1[^1-9]" -# -%ENTRY% _PHR_FSF_V1_OR_LATER -%KEY% "so(ftware|urce)" -%STR% "by the free software =SOME= ((either v|v)ersion 1 =SOME= or =SOME= (later|newer|subsequent|more recent))" -# -%ENTRY% _PHR_FSF_V11_ONLY -%KEY% "so(ftware|urce)" -%STR% "by the free software foundation =SOME= (v|[^_-]version )1\.?1[^0-9]" -# -%ENTRY% _PHR_FSF_V11_OR_LATER -%KEY% "so(ftware|urce)" -%STR% "by the free software =SOME= ((either v|v)ersion 1\.?1 =SOME= or =SOME= (later|newer|subsequent|more recent))" -# -%ENTRY% _PHR_FSF_V12_ONLY -%KEY% "so(ftware|urce)" -%STR% "by the free software foundation =SOME= (v|[^_-]version )1\.?2[^0-9]" -# -%ENTRY% _PHR_FSF_V12_OR_LATER -%KEY% "so(ftware|urce)" -%STR% "by the free software =SOME= ((either v|v)ersion 1\.?2 =SOME= or =SOME= (later|newer|subsequent|more recent))" -# -%ENTRY% _PHR_FSF_V2_ONLY -%KEY% "so(ftware|urce)" -%STR% "by the free software foundation =SOME= (v|[^_-]version )2[^1-9]" -# -%ENTRY% _PHR_FSF_V2_OR_LATER -%KEY% "so(ftware|urce)" -%STR% "by the free software =SOME= ((either v|v)ersion 2 =SOME= or =SOME= (later|newer|subsequent|more recent))" -# -%ENTRY% _PHR_FSF_V21_ONLY -%KEY% "so(ftware|urce)" -%STR% "by the free software foundation =SOME= (v|[^_-]version )2\.?1[^0-9]" -# -%ENTRY% _PHR_FSF_V21_OR_LATER -%KEY% "so(ftware|urce)" -%STR% "by the free software =SOME= ((either v|v)ersion 2\.?1 =SOME= or =SOME= (later|newer|subsequent|more recent))" -# -%ENTRY% _PHR_FSF_V3_ONLY -%KEY% "so(ftware|urce)" -%STR% "by the free software foundation.{0,10}(v|[^_-]version )3[^1-9]" -# -%ENTRY% _PHR_FSF_V3_OR_LATER -%KEY% "so(ftware|urce)" -%STR% "by the free software =SOME= ((either v|v)ersion 3 =SOME= or =SOME= (\|newer|subsequent|more recent))" -# -%ENTRY% _PHR_GFDL_11plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= name[>\":] ?GFDL[- v]1\.?1\+" -# -%ENTRY% _PHR_GFDL_12plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= name[>\":] ?GFDL[- v]1\.?2\+" -# -%ENTRY% _PHR_GFDL_13plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= name[>\":] ?GFDL[- v]1\.?3\+" -# -%ENTRY% _PHR_GNU_COPYING -%KEY% "(docume|warra)nt" -%STR% "every(body|one) is permitted to copy and distribute verbatim copies of this licen[cs]e document but changing it is not allowed" -# -%ENTRY% _PHR_GNU_FREEDOM -%KEY% "licen[cs]" -%STR% "when we speak of free software we are referring to freedom not price our general public licen[cs]es are designed" -# -%ENTRY% _PHR_GNU_PROTECT -%KEY% "legal" -%STR% "offer you this licen[cs]e which gives you legal permission to copy distribute and/or modify the software" -# -%ENTRY% _PHR_GPL_NO_MORE -%KEY% "(\|l?gpl)" -%STR% "under the GNU (general public licen[cs]e|GPL) (has been withdrawn|no (longer|more))" -##### -# The [^_]version construct below will NOT match MODULE_VERSION("3.2"); -##### -%ENTRY% _PHR_GPL1_ONLY -%KEY% "(\|l?gpl)" -%STR% "([^l-]gp(l|l licen[cs]e)|gnu (general p|p)ublic licen[cs]e) =FEW= (\|[^_-]versions? (one|\<1\>))" -# -%ENTRY% _PHR_GPL1_OR_LATER -%KEY% "(\|l?gpl)" -%STR% "(([^l-]gp(l|l licen[cs]e)|gnu (general p|p)ublic licen[cs]e) =FEW= (\|[^_-]versions? (one|\<1\.?0?\>))|gpl[_-]?v?1) =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_GPL2_ONLY -%KEY% "(\|l?gpl)" -%STR% "([^l-]gp(l|l licen[cs]e)|gnu (general p|p)ublic licen[cs]e) =FEW= (\|[^_-]versions? (two|\<2\.?0?\>))" -# -%ENTRY% _PHR_GPL2_ONLY_1 -%KEY% "(\)" -%STR% "version 2\.?0? of (the )?gnu general public license" -# -%ENTRY% _PHR_GPL2_ONLY_2 -%KEY% "(\)" -%STR% "gnu general public license =SOME= version 2 (of the license )?and no later version" -# -%ENTRY% _PHR_GPL2_ONLY_3 -%KEY% "l?gpl" -%STR% "released under the GPL v2 =FEW= and only v2 not any later version" -# -%ENTRY% _PHR_GPL2_ONLY_4 -%KEY% "licen[cs]" -%STR% "spdx.license =FEW= GPL-2\.?0[^+]" -# -%ENTRY% _PHR_GPL2_ONLY_5 -%KEY% "licen[cs]" -%STR% "licensed under gnu general public licen[cs]e 2\.?0[^+]" -# -%ENTRY% _PHR_GPL2_OR_GPL3 -%KEY% "(\|l?gpl)" -%STR% "(([^l-]gp(l|l licen[cs]e)|gnu (general p|p)ublic licen[cs]e) =FEW= (\|[^_-]versions? (two|\<2\.?0?\>))|gpl[_-]?v?2) or (\|[^_-]versions? (three|\<3\.?0?\>)|[^l]gpl[_-]?v?3)" -# -%ENTRY% _PHR_GPL2_OR_LATER_1 -%KEY% "(\|l?gpl)" -%STR% "(([^l-]gp(l|l licen[cs]e)|gnu (general p|p)ublic licen[cs]e) =SOME= (\|[^_-]versions? (two|\<2\.?0?\>))|[^l]gpl[_-]?v?2) =SOME= (\|alternatively|and) =FEW= (later|newer|subsequent|more recent|above)" -# -%ENTRY% _PHR_GPL2_OR_LATER_2 -%KEY% "licen[cs]" -%STR% "licen[cs]ed? =FEW= [^al]gpl(2|[- ]2\.?0?).or.later" -# -%ENTRY% _PHR_GPL21_ONLY -%KEY% "(\|l?gpl)" -%STR% "([^l-]gp(l|l licen[cs]e)|gnu (general p|p)ublic licen[cs]e) =FEW= (\|[^_-]versions? (\<2\.?1\>))" -# -%ENTRY% _PHR_GPL21_OR_LATER -%KEY% "(\|l?gpl)" -%STR% "(([^l-]gp(l|l licen[cs]e)|gnu (general p|p)ublic licen[cs]e) =FEW= (\|[^_-]versions? (\<2\.?1\>))|[^l]gpl[_-]?v?2\.?1) =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_GPL3_ONLY -%KEY% "(\|l?gpl)" -%STR% "([^l-]gp(l|l licen[cs]e)|gnu (general p|p)ublic licen[cs]e) =FEW= (\|[^_-]versions? (three|\<3\>))" -# -%ENTRY% _PHR_GPL3_ONLY_ref1 -%KEY% "licen[cs]" -%STR% "under the terms of version 3 of the gnu general public licen[cs]e" -# -%ENTRY% _PHR_GPL3_ONLY_ref2 -%KEY% "licen[cs]" -%STR% "under (the terms of )?the gnu general public licen[cs]e version 3" -# -%ENTRY% _PHR_GPL3_OR_LATER -%KEY% "(\|l?gpl)" -%STR% "(([^l-]gp(l|l licen[cs]e)|gnu (general p|p)ublic licen[cs]e) =SOME= (\|[^_-]versions? (three|\<3\>))|[^l]gpl(_|-|v| )?3) =SOME= \ =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_GPL3_OR_LATER_ref1 -%KEY% "licen[cs]" -%STR% "under the terms of version 3 or later of the gnu general public licen[cs]e" -# -%ENTRY% _PHR_GPL3_OR_LATER_ref2 -%KEY% "licen[cs]" -%STR% "under the terms of the gnu general public licen[cs]e version 3 or later" -# -%ENTRY% _PHR_GPL3_OR_LATER_ref3 -%KEY% "(\|l?gpl)" -%STR% "([^l-]gp(l|l licen[cs]e)|gnu (general p|p)ublic licen[cs]e) =SOME= versions? (three|\<3\>) =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_GPL_10plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= name[>\":] ?GPL[- ]1\.?0\+" -# -%ENTRY% _PHR_GPL_30plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= name[>\":] ?GPL[- ]3\.?0\+" -# -%ENTRY% _PHR_GPLISH_SAMPLE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "yoyodyne inc hereby disclaims all copyright interest" -# -%ENTRY% _PHR_GPL_COMPAT_1 -%KEY% "(\|l?gpl)" -%STR% "(compatible (with|to) =SOME= (gnu (general p|p)ublic|gpl)|gpl compat)" -# -%ENTRY% _PHR_GPL_COMPAT_2 -%KEY% "(\|l?gpl)" -%STR% "may be r?e?-?distributed (as|in) (a G|G)PL package" -# -%ENTRY% _PHR_GPL_COMPAT_3 -%KEY% "\" -%STR% "under (a |the )?gpl.compatible license" -# -%ENTRY% _PHR_GPL_DESCRIPTIONS -%KEY% "(\|l?gpl)" -%STR% "(pure|full|completely|exclusively|entirely) gpl" -# -%ENTRY% _PHR_GPL_GHOSTSCRIPT -%KEY% =NULL= -%STR% "" -# -%ENTRY% _PHR_HISTORICAL -%KEY% "permi[st]" -%STR% "historical permission notice and disclaimer" -# -%ENTRY% _PHR_IBM_EULA -%KEY% "(docume|warra)nt" -%STR% "licen[cs]e agreement for non-warranted" -# -%ENTRY% _PHR_ICU_1 -%KEY% "licen[cs]" -%STR% "this (file|sw|software|program) can be (freely )?r?e?distributed under the same license as ICU" -# -%ENTRY% _PHR_IETF_DRAFT -%KEY% "(docume|warra)nt" -%STR% "this document is an internet-draft and is in full conformance" -# -%ENTRY% _PHR_Imlib2 -%KEY% "licen[cs]" -%STR% "license =FEW= Imlib2" -# -%ENTRY% _PHR_ISC_1 -%KEY% "licen[cs]" -%STR% "(licensed|distributed|available) under =FEW= \.(style )?licen[cs]e" -# -%ENTRY% _PHR_ISC_2 -%KEY% "licen[cs]" -%STR% "license =FEW= \" -# -%ENTRY% _PHR_IJG_1 -%KEY% =NULL= -%STR% "based on the (code|sw|software) =FEW= from the independent jpeg group" -# -%ENTRY% _PHR_IJG_2 -%KEY% =NULL= -%STR% "this software is based in part on the work of the Independent JPEG Group" -# -%ENTRY% _PHR_IJG_INTERFACE_1 -%KEY% =NULL= -%STR% "This file is simply an interface to the libjpeg library" -# -%ENTRY% _PHR_IJG_INTERFACE_2 -%KEY% =NULL= -%STR% "This file interfaces with Release 6B of the JPEG Library" -# -%ENTRY% _PHR_JYTHON_NOTGPL -%KEY% "licen[se]" -%STR% "originally licensed under the gnu public license the package is now covered by the jython software license" -# -%ENTRY% _PHR_KDE_FILE -%KEY% "\" -%STR% "this file is (a p|p)art of (the KDE project|KDE)" -# -%ENTRY% _PHR_LATEX_GPL_INAPPROPRIATE -%KEY% "licen[cs]" -%STR% "under =SOME= ([^l]gpl|gnu (general p|p)ublic licen[cs]e) =FEW= considered inappropriate" -# -%ENTRY% _PHR_LATEX_PL10 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1" -# -%ENTRY% _PHR_LATEX_PL10_OR_LATER_1 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?0? =SOME= or =SOME= (newer|later|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL10_OR_LATER_2 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1 =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL11 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?1" -# -%ENTRY% _PHR_LATEX_PL11_OR_LATER_1 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?1 =SOME= or =SOME= (newer|later|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL11_OR_LATER_2 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?1 =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL12 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?2" -# -%ENTRY% _PHR_LATEX_PL12_OR_LATER_1 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?2 =SOME= or =SOME= (newer|later|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL12_OR_LATER_2 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?2 =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL13 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?3" -# -%ENTRY% _PHR_LATEX_PL13_OR_LATER_1 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?3 =SOME= or =SOME= (newer|later|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL13_OR_LATER_2 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?3 =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL13A -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?3a" -# -%ENTRY% _PHR_LATEX_PL13A_OR_LATER_1 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?3a =SOME= or =SOME= (newer|later|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL13A_OR_LATER_2 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?3a =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL13B -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?3b" -# -%ENTRY% _PHR_LATEX_PL13B_OR_LATER_1 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?3b =SOME= or =SOME= (newer|later|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL13B_OR_LATER_2 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?3b =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL13C -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?3c" -# -%ENTRY% _PHR_LATEX_PL13C_OR_LATER_1 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =FEW= (v|version )1\.?3c =SOME= or =SOME= (newer|later|subsequent|more recent)" -# -%ENTRY% _PHR_LATEX_PL13C_OR_LATER_2 -%KEY% "licen[cs]" -%STR% "(LaTeX project public licen[cs]e|lppl) =SOME= (from|in|under) =SOME= (v|version )1\.?3c =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_LGPL1_ONLY -%KEY% "(\|l?gpl)" -%STR% "(lgp(l|l licen[cs]e)|gnu (lesser|library) (general p|p)ublic licen[cs]e) =FEW= (v|[^_-]version )1" -# -%ENTRY% _PHR_LGPL1_OR_LATER -%KEY% "(\|l?gpl)" -%STR% "(lgp(l|l licen[cs]e)|gnu (lesser|library) (general p|p)ublic licen[cs]e) =FEW= (v|[^_-]version )1 =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_LGPL2_ONLY -%KEY% "(\|l?gpl)" -%STR% "(lgp(l|l licen[cs]e)|gnu (lesser|library) (general p|p)ublic licen[cs]e) =FEW= (v|[^_-]version )2" -# -%ENTRY% _PHR_LGPL2_ONLY_ref1 -%KEY% "licen[cs]" -%STR% "under =FEW= (v|[^_-]version )2\.?0? =FEW= (gnu (lesser|library)|(lesser|library) gnu) (general p|p)ublic licen[cs]e" -# -%ENTRY% _PHR_LGPL2_OR_LATER -%KEY% "(\|l?gpl)" -%STR% "(lgp(l|l licen[cs]e)|gnu (lesser|library) (general p|p)ublic licen[cs]e) =SOME= (v|[^_-]version )2 =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_LGPL2_OR_LATER_2 -%KEY% "(\|l?gpl)" -%STR% "lgpl( |-| ?v)2\.?0?\+" -# -%ENTRY% _PHR_LGPL2_OR_LATER_3 -%KEY% "(\|l?gpl)" -%STR% "lgpl(-|v)?2\.?0?-or-later" -# -%ENTRY% _PHR_LGPL21_ONLY -%KEY% "(\|l?gpl)" -%STR% "(lgp(l|l licen[cs]e)|gnu (lesser|library) (general p|p)ublic licen[cs]e) =FEW= (v|[^_-]version )2\.?1" -# -%ENTRY% _PHR_LGPL21_ONLY_ref -%KEY% "licen[cs]" -%STR% "under =FEW= (gnu (lesser|library)|(lesser|library) gnu) (general p|p)ublic licen[cs]e\,? =SOME= (v|[^_-]version )2\.?1" -# -%ENTRY% _PHR_LGPL21_ONLY_ref2 -%KEY% "licen[cs]" -%STR% "under =FEW= (v|[^_-]version )2\.?1 =FEW= (gnu (lesser|library)|(lesser|library) gnu) (general p|p)ublic licen[cs]e" -# -%ENTRY% _PHR_LGPL21_ONLY_ref3 -%KEY% "(\)" -%STR% "lgpl as published by the free software foundation (v|version )2\.?1" -# -%ENTRY% _PHR_LGPL21_ONLY_ref4 -%KEY% "(\|l?gpl)" -%STR% "gnu (lesser|library) (general p|p)ublic licen[cs]e 2\.?1" -# -%ENTRY% _PHR_LGPL21_OR_LATER_1 -%KEY% "(\|l?gpl)" -%STR% "(lgp(l|l licen[cs]e)|gnu (lesser|library|lesser lesser) (general p|p)ublic licen[cs]e) =SOME= (v|[^_-]version )2\.?1 =SOME= or =SOME= (later|newer|subsequent|more recent)" -# -%ENTRY% _PHR_LGPL21_OR_LATER_2 -%KEY% "licen[cs]" -%STR% "licen[cs]e =FEW= lgpl v?2\.?1 or later" -# -%ENTRY% _PHR_LGPL21_OR_LATER_3 -%KEY% =NULL= -%STR% "lgpl( v|v|-)2\.1\+" -# -%ENTRY% _PHR_LGPL21_OR_LATER_4 -%KEY% =NULL= -%STR% "lgpl( ?v|-)?2\.1-or-later" -# -%ENTRY% _PHR_LGPL3_ONLY -%KEY% "(\|l?gpl)" -%STR% "(lgp(l|l licen[cs]e)|gnu (lesser|library) (general p|p)ublic licen[cs]e) =FEW= (v|[^_-]version )3" -# -%ENTRY% _PHR_LGPL3_ONLY_ref1 -%KEY% "licen[cs]" -%STR% "under the terms of version 3 of the gnu lesser general public licen[cs]e" -# -%ENTRY% _PHR_LGPL3_ONLY_ref2 -%KEY% "licen[cs]" -%STR% "under the terms of the gnu lesser general public licen[cs]e version 3" -# -%ENTRY% _PHR_LGPL3_OR_LATER -%KEY% "(\|l?gpl)" -%STR% "(lgp(l|l licen[cs]e)|gnu (lesser|library) (general p|p)ublic licen[cs]e) =SOME= (v|[^_-]version )3 =SOME= or =SOME= (\|newer|subsequent|more recent|above)" -# -%ENTRY% _PHR_LGPL3_OR_LATER_ref1 -%KEY% "licen[cs]" -%STR% "under the terms of the gnu lesser general public licen[cs]e version 3 =SOME= any later version" -# -%ENTRY% _PHR_LGPL3_OR_LATER_ref2 -%KEY% "licen[cs]" -%STR% "under the terms of version 3 =SOME= any later version of the gnu lesser general public licen[cs]e" -# -%ENTRY% _PHR_LGPL3_OR_LATER_ref3 -%KEY% =NULL= -%STR% "lgpl( ?v|-)?3\.?0?(-or-later|\+)" -# -%ENTRY% _PHR_LGPL_30plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= name[>\":] ?LGPL[- ]3\.?0\+" -# -%ENTRY% _PHR_LIBTIFF -%KEY% "licen[cs]" -%STR% "licence (agreement )?for this file is the same as (the rest of )?the libtiff library" -# -%ENTRY% _PHR_Linux_OpenIB -%KEY% "licen[cs]" -%STR% "OpenIB\.?org BSD license" -# -##%ENTRY% _PHR_OBJONLY -##%KEY% "so(ftware|urce)" -##%STR% "open software licen[cs]e =SOME= (v|version)" -# -%ENTRY% _PHR_MACROVISION -%KEY% "licen[cs]" -%STR% "licen[cs]or means macrovision corp" -# -%ENTRY% _PHR_NONCOMMERCIAL -%KEY% "commerc" -%STR% "((for non-?commercial|not (for|in) commercial) (purpose|use|utili[sz])|not =SOME= commerc)" -# -%ENTRY% _PHR_NONPROFIT -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "(non-?profit|not =SOME= for profit|\ =SOME= profit)" -# -%ENTRY% _PHR_NOT_FREE_SW -%KEY% "(\|l?gpl)" -%STR% "not free software" -# -%ENTRY% _PHR_NO_SALE -#%KEY% "\" -%KEY% "\<(see|sell|sale|sold|charge)\>" -%STR% "((may |must |can ?)not (be sold|sell)|is not sellable|not for sale|not charge a fee|not? charged? for)" -##### -# TEMPLATE: we're looking here for an 'as-is no warranty' clause kinda like: -# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -##### -# UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT -# (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL -# WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED -# VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE -# LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR -# CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, -# DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, -# OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE -# OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY -# SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES -##### -%ENTRY% _PHR_NO_WARRANTY_1 -%KEY% "(docume|warra)nt" -%STR% "implied warrant(y|ies) of merchantability (and|or|and/or) fitness for a particular purpose" -%ALIAS% _NO_WARRANTY_first -# -##### -%ENTRY% _PHR_NO_WARRANTY_2 -%KEY% "(docume|warra)nt" -%STR% "warrant =SOME= limited =SOME= implied" -# -%ENTRY% _PHR_NO_WARRANTY_3 -%KEY% "(docume|warra)nt" -##%STR% "as[ -]is =FEW= (with no|without|without a|without any) =SOME= warrant" -%STR% "((provides?|has|is|with|absolutely) no|withou(t|t a)) =SOME= warrant" -# -%ENTRY% _PHR_NO_WARRANTY_4 -%KEY% "(docume|warra)nt" -##%STR% "as[ -]is =FEW= (with no|without|without a|without any) =FEW= expresse?d? =SOME= warrant" -%STR% "(with no|without|without a|without any) =FEW= expresse?d? =SOME= warrant" -# -%ENTRY% _PHR_NO_WARRANTY_5 -%KEY% "(docume|warra)nt" -%STR% "no warrant =FEW= (extend|appl[iy])" -# -%ENTRY% _PHR_NO_WARRANTY_6 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "author =FEW= (can ?|may|shall) not be held (liable|responsible)" -# -%ENTRY% _PHR_NO_WARRANTY_7 -%KEY% "(condit|vers)ion" -%STR% "version of =FEW= or any supplier of any of such parties be liable to any person for any" -# -%ENTRY% _PHR_NO_WARRANTY_8 -%KEY% "(condit|vers)ion" -%STR% "is no warranty for =FEW= to the extent permitted by (applicable l|l)aw" -# -%ENTRY% _PHR_NO_WARRANTY_9 -%KEY% "(docume|warra)nt" -%STR% "no warranty expresse?d? or implied is made" -# -%ENTRY% _PHR_NO_WARRANTY_10 -%KEY% "(docume|warra)nt" -%STR% "warranty of merchantability fitness for a particular purpose" -# -%ENTRY% _PHR_NO_WARRANTY_11 -%KEY% "licen[cs]" -%STR% "is licen[cs]ed free of charge (and t|t)here is no warranty for" -# -%ENTRY% _PHR_NO_WARRANTY_12 -%KEY% "(docume|warra)nt" -%STR% "disclaims all warranties with regard to this software" -%ALIAS% _NO_WARRANTY_last -# -%ENTRY% _PHR_NOT_OPEN -%KEY% "licen[cs]" -%STR% "(licen[cs]e is not|not r?e?-?distributed) =SOME= open source licen[cs]e" -# -%ENTRY% _PHR_LIC_CHANGE -%KEY% "licen[cs]" -%STR% "cannot simply be copied and put under another distribution licen[cs]e" -# -%ENTRY% _PHR_NOT_UNDER_GPL -%KEY% "(\|l?gpl)" -%STR% "\ (free|distribu|develop|offere?d?|covered|released?|licen[cs]ed?|available|protected|provided|subject|\<(and|or|by)\>) =SOME= ([^l]gpl|(general p|p)ublic licen[cs]e)" -# -%ENTRY% _PHR_NOT_UNDER_LGPL -%KEY% "(\|l?gpl)" -%STR% "\ =FEW= (distribu|develop|released?|licen[cs]ed|available|subject) =FEW= (under|to) =SOME= (lgpl|lesser GNU general public licen[cs]e|(lesser|library) (general p|p)ublic licen[cs]e)" -# -%ENTRY% _PHR_OGL_CC_BY_ref -%KEY% "licen[cs]" -%STR% "aligned to be interoperable with any creative commons attribution licen[cs]e" -# -%ENTRY% _PHR_OPEN_FONT_V10_1 -%KEY% "licen[cs]" -%STR% "SIL OFL 1\.?0 =FEW= license" -# -%ENTRY% _PHR_OPEN_FONT_V10_2 -%KEY% "licen[cs]" -%STR% "license =FEW= OFL.1\.?0" -# -%ENTRY% _PHR_OPEN_FONT_V11_1 -%KEY% "licen[cs]" -%STR% "SIL OFL 1\.?1 =FEW= license" -# -%ENTRY% _PHR_OPEN_FONT_V11_2 -%KEY% "licen[cs]" -%STR% "license =FEW= OFL.1\.?1" -# -%ENTRY% _PHR_OSL -%KEY% "so(ftware|urce)" -%STR% "open software licen[cs]e =SOME= (v|version)" -# -%ENTRY% _PHR_OZPLB_10 -%KEY% "licen[cs]" -%STR% "under the terms of the NICTA public software licen[cs]e" -# -%ENTRY% _PHR_PATENT -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "patent encumbered|patent[ -]pending|(by|under) patent" -# -%ENTRY% _PHR_PATENT_NOT -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "no|none|not patent encumbered" -# -%ENTRY% _PHR_PHP_V20 -%KEY% "(condit|vers)ion" -%STR% "version 2\.?0 of the php licen[cs]e" -# -%ENTRY% _PHR_PHP_V301 -%KEY% "(condit|vers)ion" -%STR% "version 3\.?01 of the php licen[cs]e" -# -%ENTRY% _PHR_PUBLIC_FUNCT -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "public \<(void|int|char|double|float|long)\>" -# -%ENTRY% _PHR_PYTHON_NOTGPL_1 -%KEY% "distribut" -%STR% "GPL-compatible doesnt mean that were distributing Python under the GPL" -# -%ENTRY% _PHR_PYTHON_NOTGPL_2 -%KEY% "licen[cs]" -%STR% "GPL-compatible licen[cs]es make it possible to combine Python with other software that is released under the GPL" -# -%ENTRY% _PHR_QEMU_NOT_GPLV3 -%KEY% "licen[cs]" -%STR% "licen[cs]e 3 qemu is a trademark" -# -%ENTRY% _PHR_Qhull -%KEY% "so(ftware|urce)" -%STR% "Qhull is free software and may be obtained via https? from www\.?qhull\.?org" -# -%ENTRY% _PHR_REFERS_TO_GPL -%KEY% "(\|l?gpl)" -%STR% "refers? to =SOME= the GNU (general public licen[cs]e|GPL)" -# -##%ENTRY% _PHR_REFERS_TO_LGPL -##%KEY% "(\|l?gpl)" -##%STR% "refers? to =SOME= the gnu (lesser|library) (general p|p)ublic licen[cs]e)" -# -%ENTRY% _PHR_RESTRICT_RIGHTS -%KEY% "restrict" -%STR% "((restricted|restrictive) (right|r?e?-?distribut)|subject to restrict)" -# -%ENTRY% _PHR_RESTRICTIONS_1 -%KEY% =NULL= -%STR% "(restricted from|prohibited to|can ?not|must not|will not|shall not|not allow) =FEW= (cop[iy]|modif|distribut|sell|profit|translat)" -# -%ENTRY% _PHR_RESTRICTIONS_2 -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "unauthori[sz]ed (reproduc|distribut|use|usage) =FEW= (prog|soft|doc) =SOME= result =SOME= penalt" -##### -# The Stallman paper, "Why Software Should be Free" looks a little licen[cs]e-ish -##### -%ENTRY% _PHR_RMS1 -%KEY% "so(ftware|urce)" -%STR% "existence of software inevitably raises the question of how decisions about its use should be made" -# -%ENTRY% _PHR_RMS2 -%KEY% "so(ftware|urce)" -%STR% "software developers typically consider these questions on the assumption that the criterion" -# -%ENTRY% _PHR_SCF_HOWTO -%KEY% "so(ftware|urce)" -%STR% "scientific computing with free GNU/linux software HOWTO" -##### -# DELETED: provided with restricted right =ANY= use duplication or -# disclosure by =SOME= ... -##### -%ENTRY% _PHR_USGOVT_RESTRICT -%KEY% "restrict" -%STR% "government is subject to restrictions as set forth in" -# -%ENTRY% _PHR_Vim -%KEY% "licen[cs]" -%STR% "(r?e?distribut|modif(y|ied)|licen[cs]ed?|deliver|use|cop(y|ied)) =SOME= under (the terms of )?(the )?Vim licen[cs]e" -# -%ENTRY% _PHR_WTFPL -%KEY% "licen[cs]" -%STR% "licen[cs]e =FEW= \" -# -%ENTRY% _PHR_WXWINDOWS -%KEY% "licen[cs]" -%STR% "wxwindows (library )?licen[cs]e" -# -%ENTRY% _PHR_WXWINDOWS_31 -%KEY% "licen[cs]" -%STR% "wxwindows library licen[cs]e (v\.? ?|version )3\.?1" -# -%ENTRY% _PHR_YAST_CR -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "yast =SOME= copyright" -# -%ENTRY% _PHR_X11_1 -%KEY% "licen[cs]" -%STR% "licensed under =FEW= X11 license" -# -%ENTRY% _PHR_X11_2 -%KEY% "licen[cs]" -%STR% "spdx.license =FEW= X11" -# -##### -# SPDX references are defined separately -# Note =FEW= or =SOME= cannot be used in optional selection -# The longesti SPDX short name is currently 30 characters. -##### -%ENTRY% _SPDX_0BSD -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](0BSD|(.{1,32} (AND|OR)){1,4} 0BSD)" - -%ENTRY% _SPDX_Abstyles -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Abstyles|(.{1,32} (AND|OR)){1,4} Abstyles)" - -%ENTRY% _SPDX_Adobe_Glyph -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Adobe-Glyph|(.{1,32} (AND|OR)){1,4} Adobe-Glyph)" - -%ENTRY% _SPDX_Adobe_2006 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Adobe-2006|(.{1,32} (AND|OR)){1,4} Adobe-2006)" - -%ENTRY% _SPDX_ADSL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_AFL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](AFL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} AFL[- ]1\.?1)" - -%ENTRY% _SPDX_AFL_12 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](AFL[- ]1\.?2|(.{1,32} (AND|OR)){1,4} AFL[- ]1\.?2)" - -%ENTRY% _SPDX_AFL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](AFL[- ]2\.?0|(.{1,32} (AND|OR)){1,4} AFL[- ]2\.?0)" - -%ENTRY% _SPDX_AFL_21 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](AFL[- ]2\.?1|(.{1,32} (AND|OR)){1,4} AFL[- ]2\.?1)" - -%ENTRY% _SPDX_AFL_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](AFL[- ]3\.?0|(.{1,32} (AND|OR)){1,4} AFL[- ]3\.?0)" - -%ENTRY% _SPDX_Afmparse -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Afmparse|(.{1,32} (AND|OR)){1,4} Afmparse)" - -%ENTRY% _SPDX_AGPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](AGPL[- ]1\.?0(-only)?|(.{1,32} (AND|OR)){1,4} AGPL[- ]1\.?0(-only)?)" - -%ENTRY% _SPDX_AGPL_10_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](AGPL[- v]1(\.?0)?.or.later|(.{1,32} (AND|OR)){1,4} AGPL[- v]1(\.?0)?.or.later)" - -%ENTRY% _SPDX_AGPL_10plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[\[\"\(:[:space:]]+(AGPL[- v]1\.?0\+|(.{1,32} (AND|OR)){1,4} AGPL[- v]1\.?0\+)" - -%ENTRY% _SPDX_AGPL_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](AGPL[- v]3(-only)?|(.{1,32} (AND|OR)){1,4} AGPL[- v]3(-only)?)" - -%ENTRY% _SPDX_AGPL_30_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](AGPL[- v]3(\.?0)?.or.later|(.{1,32} (AND|OR)){1,4} AGPL[- v]3(\.?0)?.or.later)" - -%ENTRY% _SPDX_AGPL_30plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[\[\"\(:[:space:]]+(AGPL[- v]3\.?0\+|(.{1,32} (AND|OR)){1,4} AGPL[- v]3\.?0\+)" - -%ENTRY% _SPDX_Aladdin -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Aladdin|(.{1,32} (AND|OR)){1,4} Aladdin)" - -%ENTRY% _SPDX_AMDPLPA -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](AMDPLPA|(.{1,32} (AND|OR)){1,4} AMDPLPA)" - -%ENTRY% _SPDX_AML -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_AMPAS -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](AMPAS|(.{1,32} (AND|OR)){1,4} AMPAS)" - -%ENTRY% _SPDX_ANTLR_PD -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](ANTLR-PD|(.{1,32} (AND|OR)){1,4} ANTLR-PD)" - -%ENTRY% _SPDX_Apache -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Apache\>|(.{1,32} (AND|OR)){1,4} Apache\>)" - -%ENTRY% _SPDX_Apache_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Apache[- ]1\.?0|(.{1,32} (AND|OR)){1,4} Apache[- ]1\.?0)" - -%ENTRY% _SPDX_Apache_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Apache[- ]1\.?1|(.{1,32} (AND|OR)){1,4} Apache[- ]1\.?1)" - -%ENTRY% _SPDX_Apache_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Apache[- ]2\.?0?|(.{1,32} (AND|OR)){1,4} Apache[- ]2\.?0?)" - -%ENTRY% _SPDX_APAFML -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](APAFML|(.{1,32} (AND|OR)){1,4} APAFML)" - -%ENTRY% _SPDX_APL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](APL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} APL[- ]1\.?0)" - -%ENTRY% _SPDX_APSL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](APSL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} APSL[- ]1\.?0)" - -%ENTRY% _SPDX_APSL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](APSL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} APSL[- ]1\.?1)" - -%ENTRY% _SPDX_APSL_12 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](APSL[- ]1\.?2|(.{1,32} (AND|OR)){1,4} APSL[- ]1\.?2)" - -%ENTRY% _SPDX_APSL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](APSL[- ]2\.?0|(.{1,32} (AND|OR)){1,4} APSL[- ]2\.?0)" - -%ENTRY% _SPDX_Artistic_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Artistic[- ]1\.?0|(.{1,32} (AND|OR)){1,4} Artistic[- ]1\.?0)" - -%ENTRY% _SPDX_Artistic_10_Perl -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Artistic[- ]1\.?0-Perl|(.{1,32} (AND|OR)){1,4} Artistic[- ]1\.?0-Perl)" - -%ENTRY% _SPDX_Artistic_10_cl8 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Artistic[- ]1\.?0-cl8|(.{1,32} (AND|OR)){1,4} Artistic[- ]1\.?0-cl8)" - -%ENTRY% _SPDX_Artistic_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Artistic[- ]2\.?0|(.{1,32} (AND|OR)){1,4} Artistic[- ]2\.?0)" - -%ENTRY% _SPDX_AAL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_Bahyph -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Bahyph|(.{1,32} (AND|OR)){1,4} Bahyph)" - -%ENTRY% _SPDX_Barr -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Barr|(.{1,32} (AND|OR)){1,4} Barr)" - -%ENTRY% _SPDX_Beerware -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Beerware|(.{1,32} (AND|OR)){1,4} Beerware)" - -%ENTRY% _SPDX_BitTorrent_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BitTorrent[- ]1\.?0|(.{1,32} (AND|OR)){1,4} BitTorrent[- ]1\.?0)" - -%ENTRY% _SPDX_BitTorrent_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BitTorrent[- ]1\.?1|(.{1,32} (AND|OR)){1,4} BitTorrent[- ]1\.?1)" - -%ENTRY% _SPDX_blessing -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](blessing|(.{1,32} (AND|OR)){1,4} blessing)" - -%ENTRY% _SPDX_BlueOak_100 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BlueOak[- ]1\.?0\.?0|(.{1,32} (AND|OR)){1,4} BlueOak[- ]1\.?0\.?0)" - -%ENTRY% _SPDX_BSL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} BSL[- ]1\.?0)" - -%ENTRY% _SPDX_Borceux -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Borceux|(.{1,32} (AND|OR)){1,4} Borceux)" - -%ENTRY% _SPDX_BSD_1_Clause -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-1-Clause|(.{1,32} (AND|OR)){1,4} BSD-1-Clause)" - -%ENTRY% _SPDX_BSD_2_Clause_1 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-2-Clause|(.{1,32} (AND|OR)){1,4} BSD-2-Clause)" - -%ENTRY% _SPDX_BSD_2_Clause_2 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](2-Clause.BSD|(.{1,32} (AND|OR)){1,4} 2-Clause.BSD)" - -%ENTRY% _SPDX_BSD_2_Clause_FreeBSD -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-2-Clause-FreeBSD|(.{1,32} (AND|OR)){1,4} BSD-2-Clause-FreeBSD)" - -%ENTRY% _SPDX_BSD_2_Clause_NetBSD -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-2-Clause-NetBSD|(.{1,32} (AND|OR)){1,4} BSD-2-Clause-NetBSD)" - -%ENTRY% _SPDX_BSD_2_Clause_Patent -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-2-Clause-Patent|(.{1,32} (AND|OR)){1,4} BSD-2-Clause-Patent)" - -%ENTRY% _SPDX_BSD_2_Clause_Views -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-2-Clause-Views|(.{1,32} (AND|OR)){1,4} BSD-2-Clause-Views)" - -%ENTRY% _SPDX_BSD_3_Clause -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-3-Clause|(.{1,32} (AND|OR)){1,4} BSD-3-Clause)" - -%ENTRY% _SPDX_BSD_3_Clause_Clear -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-3-Clause-Clear|(.{1,32} (AND|OR)){1,4} BSD-3-Clause-Clear)" - -%ENTRY% _SPDX_BSD_3_Clause_No_Nuclear_License -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-3-Clause-No-Nuclear-License|(.{1,32} (AND|OR)){1,4} BSD-3-Clause-No-Nuclear-License)" - -%ENTRY% _SPDX_BSD_3_Clause_No_Nuclear_License_2014 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-3-Clause-No-Nuclear-License-2014|(.{1,32} (AND|OR)){1,4} BSD-3-Clause-No-Nuclear-License-2014)" - -%ENTRY% _SPDX_BSD_3_Clause_No_Nuclear_Warranty -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-3-Clause-No-Nuclear-Warranty|(.{1,32} (AND|OR)){1,4} BSD-3-Clause-No-Nuclear-Warranty)" - -%ENTRY% _SPDX_BSD_3_Clause_Open_MPI -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-3-Clause-Open-MPI|(.{1,32} (AND|OR)){1,4} BSD-3-Clause-Open-MPI)" - -%ENTRY% _SPDX_BSD_4_Clause -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-4-Clause|(.{1,32} (AND|OR)){1,4} BSD-4-Clause)" - -%ENTRY% _SPDX_BSD_Protection -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-Protection|(.{1,32} (AND|OR)){1,4} BSD-Protection)" - -%ENTRY% _SPDX_BSD_Source_Code -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-Source-Code|(.{1,32} (AND|OR)){1,4} BSD-Source-Code)" - -%ENTRY% _SPDX_BSD_3_Clause_Attribution -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-3-Clause-Attribution|(.{1,32} (AND|OR)){1,4} BSD-3-Clause-Attribution)" - -%ENTRY% _SPDX_BSD_4_Clause_UC -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-4-Clause-UC|(.{1,32} (AND|OR)){1,4} BSD-4-Clause-UC)" - -%ENTRY% _SPDX_bzip2_105 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](bzip2[- ]1\.?0\.?5|(.{1,32} (AND|OR)){1,4} bzip2[- ]1\.?0\.?5)" - -%ENTRY% _SPDX_bzip2_106 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](bzip2[- ]1\.?0\.?6|(.{1,32} (AND|OR)){1,4} bzip2[- ]1\.?0\.?6)" - -%ENTRY% _SPDX_CAL_10_Combined_Work_Exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CAL-1\.?0-Combined-Work-Exception|(.{1,32} (AND|OR)){1,4} CAL-1\.?0-Combined-Work-Exception)" - -%ENTRY% _SPDX_CAL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CAL-1\.?0|(.{1,32} (AND|OR)){1,4} CAL-1\.?0)" - -%ENTRY% _SPDX_Caldera -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Caldera|(.{1,32} (AND|OR)){1,4} Caldera)" - -%ENTRY% _SPDX_CATOSL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CATOSL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} CATOSL[- ]1\.?1)" - -%ENTRY% _SPDX_CC0_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC0-1\.?0|(.{1,32} (AND|OR)){1,4} CC0-1\.?0)" - -%ENTRY% _SPDX_CC_BY_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-1\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-1\.?0)" - -%ENTRY% _SPDX_CC_BY_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-2\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-2\.?0)" - -%ENTRY% _SPDX_CC_BY_25 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-2\.?5|(.{1,32} (AND|OR)){1,4} CC-BY-2\.?5)" - -%ENTRY% _SPDX_CC_BY_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-3\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-3\.?0)" - -%ENTRY% _SPDX_CC_BY_30_AT -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-3\.?0-AT|(.{1,32} (AND|OR)){1,4} CC-BY-3\.?0-AT)" - -%ENTRY% _SPDX_CC_BY_40 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-4\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-4\.?0)" - -%ENTRY% _SPDX_CC_BY_ND_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-ND-1\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-ND-1\.?0)" - -%ENTRY% _SPDX_CC_BY_ND_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-ND-2\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-ND-2\.?0)" - -%ENTRY% _SPDX_CC_BY_ND_25 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-ND-2\.?5|(.{1,32} (AND|OR)){1,4} CC-BY-ND-2\.?5)" - -%ENTRY% _SPDX_CC_BY_ND_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-ND-3\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-ND-3\.?0)" - -%ENTRY% _SPDX_CC_BY_ND_40 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-ND-4\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-ND-4\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-1\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-1\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-2\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-2\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_25 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-2\.?5|(.{1,32} (AND|OR)){1,4} CC-BY-NC-2\.?5)" - -%ENTRY% _SPDX_CC_BY_NC_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-3\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-3\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_40 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-4\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-4\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_ND_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-ND-1\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-ND-1\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_ND_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-ND-2\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-ND-2\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_ND_25 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-ND-2\.?5|(.{1,32} (AND|OR)){1,4} CC-BY-NC-ND-2\.?5)" - -%ENTRY% _SPDX_CC_BY_NC_ND_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-ND-3\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-ND-3\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_ND_30_IGO -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-ND-3\.?0-IGO|(.{1,32} (AND|OR)){1,4} CC-BY-NC-ND-3\.?0-IGO)" - -%ENTRY% _SPDX_CC_BY_NC_ND_40 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-ND-4\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-ND-4\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_SA_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-SA-1\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-SA-1\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_SA_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-SA-2\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-SA-2\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_SA_25 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-SA-2\.?5|(.{1,32} (AND|OR)){1,4} CC-BY-NC-SA-2\.?5)" - -%ENTRY% _SPDX_CC_BY_NC_SA_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-SA-3\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-SA-3\.?0)" - -%ENTRY% _SPDX_CC_BY_NC_SA_40 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-NC-SA-4\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-NC-SA-4\.?0)" - -%ENTRY% _SPDX_CC_BY_SA_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-SA-1\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-SA-1\.?0)" - -%ENTRY% _SPDX_CC_BY_SA_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-SA-2\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-SA-2\.?0)" - -%ENTRY% _SPDX_CC_BY_SA_25 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-SA-2\.?5|(.{1,32} (AND|OR)){1,4} CC-BY-SA-2\.?5)" - -%ENTRY% _SPDX_CC_BY_SA_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-SA-3\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-SA-3\.?0)" - -%ENTRY% _SPDX_CC_BY_SA_30_AT -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-SA-3\.?0-AT|(.{1,32} (AND|OR)){1,4} CC-BY-SA-3\.?0-AT)" - -%ENTRY% _SPDX_CC_BY_SA_40 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-BY-SA-4\.?0|(.{1,32} (AND|OR)){1,4} CC-BY-SA-4\.?0)" - -%ENTRY% _SPDX_CC_PDDC -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CC-PDDC|(.{1,32} (AND|OR)){1,4} CC-PDDC)" - -%ENTRY% _SPDX_CDDL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CDDL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} CDDL[- ]1\.?0)" - -%ENTRY% _SPDX_CDDL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CDDL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} CDDL[- ]1\.?1)" - -%ENTRY% _SPDX_CDLA_Permissive_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CDLA-Permissive-1\.?0|(.{1,32} (AND|OR)){1,4} CDLA-Permissive-1\.?0)" - -%ENTRY% _SPDX_CDLA_Sharing_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CDLA-Sharing-1\.?0|(.{1,32} (AND|OR)){1,4} CDLA-Sharing-1\.?0)" - -%ENTRY% _SPDX_CECILL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CECILL-1\.?0|(.{1,32} (AND|OR)){1,4} CECILL-1\.?0)" - -%ENTRY% _SPDX_CECILL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CECILL-1\.?1|(.{1,32} (AND|OR)){1,4} CECILL-1\.?1)" - -%ENTRY% _SPDX_CECILL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CECILL[- ]2\.?0|(.{1,32} (AND|OR)){1,4} CECILL[- ]2\.?0)" - -%ENTRY% _SPDX_CECILL_21 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CECILL[- ]2\.?1|(.{1,32} (AND|OR)){1,4} CECILL[- ]2\.?1)" - -%ENTRY% _SPDX_CECILL_B -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CECILL-B|(.{1,32} (AND|OR)){1,4} CECILL-B)" - -%ENTRY% _SPDX_CECILL_C -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CECILL-C|(.{1,32} (AND|OR)){1,4} CECILL-C)" - -%ENTRY% _SPDX_CERN_OHL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CERN-OHL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} CERN-OHL[- ]1\.?1)" - -%ENTRY% _SPDX_CERN_OHL_12 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CERN-OHL[- ]1\.?2|(.{1,32} (AND|OR)){1,4} CERN-OHL[- ]1\.?2)" - -%ENTRY% _SPDX_CERN_OHL_P_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CERN-OHL-P[- ]2\.?0|(.{1,32} (AND|OR)){1,4} CERN-OHL-P[- ]2\.?0)" - -%ENTRY% _SPDX_CERN_OHL_S_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CERN-OHL-S[- ]2\.?0|(.{1,32} (AND|OR)){1,4} CERN-OHL-S[- ]2\.?0)" - -%ENTRY% _SPDX_CERN_OHL_W_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CERN-OHL-W[- ]2\.?0|(.{1,32} (AND|OR)){1,4} CERN-OHL-W[- ]2\.?0)" - -%ENTRY% _SPDX_ClArtistic -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](ClArtistic|(.{1,32} (AND|OR)){1,4} ClArtistic)" - -%ENTRY% _SPDX_MIT_CMU -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MIT-CMU|(.{1,32} (AND|OR)){1,4} MIT-CMU)" - -%ENTRY% _SPDX_CNRI_Jython -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CNRI-Jython|(.{1,32} (AND|OR)){1,4} CNRI-Jython)" - -%ENTRY% _SPDX_CNRI_Python -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CNRI-Python|(.{1,32} (AND|OR)){1,4} CNRI-Python)" - -%ENTRY% _SPDX_CNRI_Python_GPL_Compatible -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CNRI-Python-GPL-Compatible|(.{1,32} (AND|OR)){1,4} CNRI-Python-GPL-Compatible)" - -%ENTRY% _SPDX_Condor_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Condor[- ]1\.?1|(.{1,32} (AND|OR)){1,4} Condor[- ]1\.?1)" - -%ENTRY% _SPDX_copyleft_next_030 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](copyleft-next-0\.?3\.?0|(.{1,32} (AND|OR)){1,4} copyleft-next-0\.?3\.?0)" - -%ENTRY% _SPDX_copyleft_next_031 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](copyleft-next-0\.?3\.?1|(.{1,32} (AND|OR)){1,4} copyleft-next-0\.?3\.?1)" - -%ENTRY% _SPDX_CPAL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CPAL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} CPAL[- ]1\.?0)" - -%ENTRY% _SPDX_CPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CPL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} CPL[- ]1\.?0)" - -%ENTRY% _SPDX_CPOL_102 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CPOL[- ]1\.?02|(.{1,32} (AND|OR)){1,4} CPOL[- ]1\.?02)" - -%ENTRY% _SPDX_Crossword -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Crossword|(.{1,32} (AND|OR)){1,4} Crossword)" - -%ENTRY% _SPDX_CrystalStacker -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CrystalStacker|(.{1,32} (AND|OR)){1,4} CrystalStacker)" - -%ENTRY% _SPDX_CUA_OPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](CUA-OPL-1\.?0|(.{1,32} (AND|OR)){1,4} CUA-OPL-1\.?0)" - -%ENTRY% _SPDX_Cube -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_curl -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_D_FSL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](D-FSL-1\.?0|(.{1,32} (AND|OR)){1,4} D-FSL-1\.?0)" - -%ENTRY% _SPDX_diffmark -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](diffmark|(.{1,32} (AND|OR)){1,4} diffmark)" - -%ENTRY% _SPDX_DOC -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[\[\"\(:[:space:]]+(DOC\>|(.{1,32} (AND|OR)){1,4} DOC\>)" - -%ENTRY% _SPDX_Dotseqn -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Dotseqn|(.{1,32} (AND|OR)){1,4} Dotseqn)" - -%ENTRY% _SPDX_DSDP -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](DSDP|(.{1,32} (AND|OR)){1,4} DSDP)" - -%ENTRY% _SPDX_dvipdfm -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](dvipdfm|(.{1,32} (AND|OR)){1,4} dvipdfm)" - -%ENTRY% _SPDX_EPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](EPL-1\.?0|(.{1,32} (AND|OR)){1,4} EPL-1\.?0)" - -%ENTRY% _SPDX_EPL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](EPL-2\.?0|(.{1,32} (AND|OR)){1,4} EPL-2\.?0)" - -%ENTRY% _SPDX_ECL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](ECL-1\.?0|(.{1,32} (AND|OR)){1,4} ECL-1\.?0)" - -%ENTRY% _SPDX_ECL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](ECL-2\.?0|(.{1,32} (AND|OR)){1,4} ECL-2\.?0)" - -%ENTRY% _SPDX_eGenix -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](eGenix|(.{1,32} (AND|OR)){1,4} eGenix)" - -%ENTRY% _SPDX_EFL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](EFL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} EFL[- ]1\.?0)" - -%ENTRY% _SPDX_EFL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](EFL[- ]2\.?0|(.{1,32} (AND|OR)){1,4} EFL[- ]2\.?0)" - -%ENTRY% _SPDX_Glide -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Glide|(.{1,32} (AND|OR)){1,4} Glide)" - -%ENTRY% _SPDX_Entessa -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Entessa|(.{1,32} (AND|OR)){1,4} Entessa)" - -%ENTRY% _SPDX_EPICS -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](EPICS|(.{1,32} (AND|OR)){1,4} EPICS)" - -%ENTRY% _SPDX_ErlPL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](ErlPL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} ErlPL[- ]1\.?1)" - -%ENTRY% _SPDX_etalab_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](etalab[- ]2\.?0|(.{1,32} (AND|OR)){1,4} etalab[- ]2\.?0)" - -%ENTRY% _SPDX_EUDatagrid -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](EUDatagrid|(.{1,32} (AND|OR)){1,4} EUDatagrid)" - -%ENTRY% _SPDX_EUPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](EUPL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} EUPL[- ]1\.?0)" - -%ENTRY% _SPDX_EUPL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](EUPL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} EUPL[- ]1\.?1)" - -%ENTRY% _SPDX_EUPL_12 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](EUPL[- ]1\.?2|(.{1,32} (AND|OR)){1,4} EUPL[- ]1\.?2)" - -%ENTRY% _SPDX_Eurosym -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Eurosym|(.{1,32} (AND|OR)){1,4} Eurosym)" - -%ENTRY% _SPDX_Fair -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[\[\"\(:[:space:]]+(Fair[[:space:]|\"]|(.{1,32} (AND|OR)){1,4} Fair[[:space:]|\"])" - -%ENTRY% _SPDX_Frameworx_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Frameworx[- ]1\.?0|(.{1,32} (AND|OR)){1,4} Frameworx[- ]1\.?0)" - -%ENTRY% _SPDX_FreeImage -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](FreeImage|(.{1,32} (AND|OR)){1,4} FreeImage)" - -%ENTRY% _SPDX_FTL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_FSFAP -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](FSFAP|(.{1,32} (AND|OR)){1,4} FSFAP)" - -%ENTRY% _SPDX_FSFUL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](FSFUL|(.{1,32} (AND|OR)){1,4} FSFUL)" - -%ENTRY% _SPDX_FSFULLR -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](FSFULLR|(.{1,32} (AND|OR)){1,4} FSFULLR)" - -%ENTRY% _SPDX_Giftware -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Giftware|(.{1,32} (AND|OR)){1,4} Giftware)" - -%ENTRY% _SPDX_GFDL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} GFDL[- ]1\.?1)" - -%ENTRY% _SPDX_GFDL_11_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?1.or.later|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?1.or.later)" - -%ENTRY% _SPDX_GFDL_11plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[\[\"\(:[:space:]]+(GFDL[- v]1\.?1\+|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?1\+)" - -%ENTRY% _SPDX_GFDL_11_invariants_only -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?1-invariants-only|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?1-invariants-only)" - -%ENTRY% _SPDX_GFDL_11_invariants_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?1-invariants.or.later|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?1-invariants.or.later)" - -%ENTRY% _SPDX_GFDL_11_no_invariants_only -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?1-no-invariants-only|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?1-no-invariants-only)" - -%ENTRY% _SPDX_GFDL_11_no_invariants_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?1-no-invariants.or.later|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?1-no-invariants.or.later)" - -%ENTRY% _SPDX_GFDL_12 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- ]1\.?2|(.{1,32} (AND|OR)){1,4} GFDL[- ]1\.?2)" - -%ENTRY% _SPDX_GFDL_12_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?2.or.later|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?2.or.later)" - -%ENTRY% _SPDX_GFDL_12plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[\[\"\(:[:space:]]+(GFDL[- v]1\.?2\+|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?2\+)" - -%ENTRY% _SPDX_GFDL_12_invariants_only -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?2-invariants-only|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?2-invariants-only)" - -%ENTRY% _SPDX_GFDL_12_invariants_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?2-invariants.or.later|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?2-invariants.or.later)" - -%ENTRY% _SPDX_GFDL_12_no_invariants_only -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?2-no-invariants-only|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?2-no-invariants-only)" - -%ENTRY% _SPDX_GFDL_12_no_invariants_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?2-no-invariants.or.later|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?2-no-invariants.or.later)" - -%ENTRY% _SPDX_GFDL_13 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- ]1\.?3|(.{1,32} (AND|OR)){1,4} GFDL[- ]1\.?3)" - -%ENTRY% _SPDX_GFDL_13_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?3.or.later|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?3.or.later)" - -%ENTRY% _SPDX_GFDL_13plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[\[\"\(:[:space:]]+(GFDL[- v]1\.?3\+|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?3\+)" - -%ENTRY% _SPDX_GFDL_13_invariants_only -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?3-invariants-only|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?3-invariants-only)" - -%ENTRY% _SPDX_GFDL_13_invariants_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?3-invariants.or.later|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?3-invariants.or.later)" - -%ENTRY% _SPDX_GFDL_13_no_invariants_only -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?3-no-invariants-only|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?3-no-invariants-only)" - -%ENTRY% _SPDX_GFDL_13_no_invariants_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GFDL[- v]1\.?3-no-invariants.or.later|(.{1,32} (AND|OR)){1,4} GFDL[- v]1\.?3-no-invariants.or.later)" - -%ENTRY% _SPDX_GL2PS -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GL2PS|(.{1,32} (AND|OR)){1,4} GL2PS)" - -%ENTRY% _SPDX_Glulxe -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Glulxe|(.{1,32} (AND|OR)){1,4} Glulxe)" - -%ENTRY% _SPDX_GLWTPL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](GLWTPL|(.{1,32} (AND|OR)){1,4} GLWTPL)" - -%ENTRY% _SPDX_GPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[: \[\(]+(GPL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} GPL[- ]1\.?0)" - -%ENTRY% _SPDX_GPL_10plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[\[\"\(:[:space:]]+(GPL[- ]1\.?0\+|(.{1,32} (AND|OR)){1,4} GPL[- ]1\.?0\+)" - -%ENTRY% _SPDX_GPL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[: \[\(]+(GPL[- ]2\.?0|(.{1,32} (AND|OR)){1,4} GPL[- ]2\.?0)" - -%ENTRY% _SPDX_GPL_20_or_later -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[: \[\(]+(GPL[- ]2\.?0-or-later|(.{1,32} (AND|OR)){1,4} GPL[- ]2\.?0-or-later)" - -%ENTRY% _SPDX_GPL_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[: \[\(]+GPL[- ]3\.?0)" - -%ENTRY% _SPDX_GPL_30plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[\[\"\(:[:space:]]+(GPL[- ]3\.?0\+|(.{1,32} (AND|OR)){1,4} GPL[- ]3\.?0\+)" - -%ENTRY% _SPDX_LGPL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LGPL[- ]2\.?0|(.{1,32} (AND|OR)){1,4} LGPL[- ]2\.?0)" - -%ENTRY% _SPDX_LGPL_21 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LGPL[- ]2\.?1|(.{1,32} (AND|OR)){1,4} LGPL[- ]2\.?1)" - -%ENTRY% _SPDX_LGPL_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LGPL[- ]3\.?0|(.{1,32} (AND|OR)){1,4} LGPL[- ]3\.?0)" - -%ENTRY% _SPDX_LGPL_30plus -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier)?[\[\"\(:[:space:]]+(LGPL[- ]3\.?0\+|(.{1,32} (AND|OR)){1,4} LGPL[- ]3\.?0\+)" - -%ENTRY% _SPDX_gnuplot -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](gnuplot|(.{1,32} (AND|OR)){1,4} gnuplot)" - -%ENTRY% _SPDX_gSOAP_13b -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](gSOAP[- ]1\.?3b|(.{1,32} (AND|OR)){1,4} gSOAP[- ]1\.?3b)" - -%ENTRY% _SPDX_HaskellReport -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](HaskellReport|(.{1,32} (AND|OR)){1,4} HaskellReport)" - -%ENTRY% _SPDX_Hippocratic_21 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Hippocratic[- ]2\.?1|(.{1,32} (AND|OR)){1,4} Hippocratic[- ]2\.?1)" - -%ENTRY% _SPDX_HPND -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](HPND|(.{1,32} (AND|OR)){1,4} HPND)" - -%ENTRY% _SPDX_HPND_sell_variant -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](HPND-sell-variant|(.{1,32} (AND|OR)){1,4} HPND-sell-variant)" - -%ENTRY% _SPDX_IBM_pibs -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](IBM-pibs|(.{1,32} (AND|OR)){1,4} IBM-pibs)" - -%ENTRY% _SPDX_IPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](IPL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} IPL[- ]1\.?0)" - -%ENTRY% _SPDX_ICU -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_ImageMagick -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](ImageMagick|(.{1,32} (AND|OR)){1,4} ImageMagick)" - -%ENTRY% _SPDX_iMatix -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](iMatix|(.{1,32} (AND|OR)){1,4} iMatix)" - -%ENTRY% _SPDX_Imlib2 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Imlib2|(.{1,32} (AND|OR)){1,4} Imlib2)" - -%ENTRY% _SPDX_IJG -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_Info_ZIP -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Info-ZIP|(.{1,32} (AND|OR)){1,4} Info-ZIP)" - -%ENTRY% _SPDX_Intel_ACPI -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Intel-ACPI|(.{1,32} (AND|OR)){1,4} Intel-ACPI)" - -%ENTRY% _SPDX_Intel -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Intel|(.{1,32} (AND|OR)){1,4} Intel)" - -%ENTRY% _SPDX_Interbase_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Interbase[- ]1\.?0|(.{1,32} (AND|OR)){1,4} Interbase[- ]1\.?0)" - -%ENTRY% _SPDX_IPA -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](IPA|(.{1,32} (AND|OR)){1,4} IPA)" - -%ENTRY% _SPDX_ISC -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_JasPer_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](JasPer[- ]2\.?0|(.{1,32} (AND|OR)){1,4} JasPer[- ]2\.?0)" - -%ENTRY% _SPDX_JPNIC -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_JSON -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_LPPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LPPL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} LPPL[- ]1\.?0)" - -%ENTRY% _SPDX_LPPL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LPPL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} LPPL[- ]1\.?1)" - -%ENTRY% _SPDX_LPPL_12 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LPPL[- ]1\.?2|(.{1,32} (AND|OR)){1,4} LPPL[- ]1\.?2)" - -%ENTRY% _SPDX_LPPL_13a -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LPPL[- ]1\.?3a|(.{1,32} (AND|OR)){1,4} LPPL[- ]1\.?3a)" - -%ENTRY% _SPDX_LPPL_13c -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LPPL[- ]1\.?3c|(.{1,32} (AND|OR)){1,4} LPPL[- ]1\.?3c)" - -%ENTRY% _SPDX_Latex2e -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Latex2e|(.{1,32} (AND|OR)){1,4} Latex2e)" - -%ENTRY% _SPDX_BSD_3_Clause_LBNL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](BSD-3-Clause-LBNL|(.{1,32} (AND|OR)){1,4} BSD-3-Clause-LBNL)" - -%ENTRY% _SPDX_Leptonica -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Leptonica|(.{1,32} (AND|OR)){1,4} Leptonica)" - -%ENTRY% _SPDX_LGPLLR -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LGPLLR|(.{1,32} (AND|OR)){1,4} LGPLLR)" - -%ENTRY% _SPDX_Libpng -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Libpng|(.{1,32} (AND|OR)){1,4} Libpng)" - -%ENTRY% _SPDX_libpng_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](libpng[- ]2\.?0|(.{1,32} (AND|OR)){1,4} libpng[- ]2\.?0)" - -%ENTRY% _SPDX_libselinux_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](libselinux[- ]1\.?0|(.{1,32} (AND|OR)){1,4} libselinux[- ]1\.?0)" - -%ENTRY% _SPDX_libtiff -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](libtiff|(.{1,32} (AND|OR)){1,4} libtiff)" - -%ENTRY% _SPDX_LAL_12 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LAL[- ]1\.?2|(.{1,32} (AND|OR)){1,4} LAL[- ]1\.?2)" - -%ENTRY% _SPDX_LAL_13 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LAL[- ]1\.?3|(.{1,32} (AND|OR)){1,4} LAL[- ]1\.?3)" - -%ENTRY% _SPDX_LiLiQ_P_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LiLiQ-P-1\.?1|(.{1,32} (AND|OR)){1,4} LiLiQ-P-1\.?1)" - -%ENTRY% _SPDX_LiLiQ_Rplus_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LiLiQ-Rplus-1\.?1|(.{1,32} (AND|OR)){1,4} LiLiQ-Rplus-1\.?1)" - -%ENTRY% _SPDX_LiLiQ_R_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LiLiQ-R-1\.?1|(.{1,32} (AND|OR)){1,4} LiLiQ-R-1\.?1)" - -%ENTRY% _SPDX_LPL_102 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LPL-1\.?02|(.{1,32} (AND|OR)){1,4} LPL-1\.?02)" - -%ENTRY% _SPDX_Linux_OpenIB -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Linux-OpenIB|(.{1,32} (AND|OR)){1,4} Linux-OpenIB)" - -%ENTRY% _SPDX_LPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](LPL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} LPL[- ]1\.?0)" - -%ENTRY% _SPDX_MakeIndex -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MakeIndex|(.{1,32} (AND|OR)){1,4} MakeIndex)" - -%ENTRY% _SPDX_MIT -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_MIT_0 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MIT-0|(.{1,32} (AND|OR)){1,4} MIT-0)" - -%ENTRY% _SPDX_MIT_advertising -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MIT-advertising|(.{1,32} (AND|OR)){1,4} MIT-advertising)" - -%ENTRY% _SPDX_MIT_enna -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MIT-enna|(.{1,32} (AND|OR)){1,4} MIT-enna)" - -%ENTRY% _SPDX_MIT_feh -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MIT-feh|(.{1,32} (AND|OR)){1,4} MIT-feh)" - -%ENTRY% _SPDX_MITNFA -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MITNFA|(.{1,32} (AND|OR)){1,4} MITNFA)" - -%ENTRY% _SPDX_MirOS -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MirOS|(.{1,32} (AND|OR)){1,4} MirOS)" - -%ENTRY% _SPDX_Motosoto -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Motosoto|(.{1,32} (AND|OR)){1,4} Motosoto)" - -%ENTRY% _SPDX_mpich2 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](mpich2|(.{1,32} (AND|OR)){1,4} mpich2)" - -%ENTRY% _SPDX_MPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MPL-1\.?0|(.{1,32} (AND|OR)){1,4} MPL-1\.?0)" - -%ENTRY% _SPDX_MPL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MPL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} MPL[- ]1\.?1)" - -%ENTRY% _SPDX_MPL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MPL[- ]2\.?0|(.{1,32} (AND|OR)){1,4} MPL[- ]2\.?0)" - -%ENTRY% _SPDX_MPL_20_no_copyleft_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MPL-2\.?0-no-copyleft-exception|(.{1,32} (AND|OR)){1,4} MPL-2\.?0-no-copyleft-exception)" - -%ENTRY% _SPDX_MS_PL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MS-PL|(.{1,32} (AND|OR)){1,4} MS-PL)" - -%ENTRY% _SPDX_MS_RL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MS-RL|(.{1,32} (AND|OR)){1,4} MS-RL)" - -%ENTRY% _SPDX_MTLL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MTLL|(.{1,32} (AND|OR)){1,4} MTLL)" - -%ENTRY% _SPDX_MulanPSL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MulanPSL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} MulanPSL[- ]1\.?0)" - -%ENTRY% _SPDX_MulanPSL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](MulanPSL[- ]2\.?0|(.{1,32} (AND|OR)){1,4} MulanPSL[- ]2\.?0)" - -%ENTRY% _SPDX_Multics -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Multics|(.{1,32} (AND|OR)){1,4} Multics)" - -%ENTRY% _SPDX_Mup -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_NASA_13 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NASA[- ]1\.?3|(.{1,32} (AND|OR)){1,4} NASA[- ]1\.?3)" - -%ENTRY% _SPDX_Naumen -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Naumen|(.{1,32} (AND|OR)){1,4} Naumen)" - -%ENTRY% _SPDX_NBPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NBPL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} NBPL[- ]1\.?0)" - -%ENTRY% _SPDX_NCGL_UK_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NCGL-UK[- ]2\.?0|(.{1,32} (AND|OR)){1,4} NCGL-UK[- ]2\.?0)" - -%ENTRY% _SPDX_NCSA -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NCSA|(.{1,32} (AND|OR)){1,4} NCSA)" - -%ENTRY% _SPDX_Net_SNMP -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Net-SNMP|(.{1,32} (AND|OR)){1,4} Net-SNMP)" - -%ENTRY% _SPDX_NetCDF -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NetCDF|(.{1,32} (AND|OR)){1,4} NetCDF)" - -%ENTRY% _SPDX_Newsletr -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Newsletr|(.{1,32} (AND|OR)){1,4} Newsletr)" - -%ENTRY% _SPDX_NGPL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NGPL|(.{1,32} (AND|OR)){1,4} NGPL)" - -%ENTRY% _SPDX_NIST_PD -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NIST-PD|(.{1,32} (AND|OR)){1,4} NIST-PD)" - -%ENTRY% _SPDX_NIST_PD_fallback -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NIST-PD-fallback|(.{1,32} (AND|OR)){1,4} NIST-PD-fallback)" - -%ENTRY% _SPDX_NLOD_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NLOD[- ]1\.?0|(.{1,32} (AND|OR)){1,4} NLOD[- ]1\.?0)" - -%ENTRY% _SPDX_NLPL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NLPL|(.{1,32} (AND|OR)){1,4} NLPL)" - -%ENTRY% _SPDX_Nokia -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Nokia|(.{1,32} (AND|OR)){1,4} Nokia)" - -%ENTRY% _SPDX_NOSL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NOSL|(.{1,32} (AND|OR)){1,4} NOSL)" - -%ENTRY% _SPDX_Noweb -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Noweb|(.{1,32} (AND|OR)){1,4} Noweb)" - -%ENTRY% _SPDX_NPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NPL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} NPL[- ]1\.?0)" - -%ENTRY% _SPDX_NPL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NPL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} NPL[- ]1\.?1)" - -%ENTRY% _SPDX_NPOSL_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NPOSL[- ]3\.?0|(.{1,32} (AND|OR)){1,4} NPOSL[- ]3\.?0)" - -%ENTRY% _SPDX_NRL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](NRL|(.{1,32} (AND|OR)){1,4} NRL)" - -%ENTRY% _SPDX_NTP_0 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_NTP -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_Nunit -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Nunit|(.{1,32} (AND|OR)){1,4} Nunit)" - -%ENTRY% _SPDX_O_UDA_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](O-UDA[- ]1\.?0|(.{1,32} (AND|OR)){1,4} O-UDA[- ]1\.?0)" - -%ENTRY% _SPDX_OCLC_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OCLC[- ]2\.?0|(.{1,32} (AND|OR)){1,4} OCLC[- ]2\.?0)" - -%ENTRY% _SPDX_ODbL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](ODbL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} ODbL[- ]1\.?0)" - -%ENTRY% _SPDX_OCCT_PL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OCCT-PL|(.{1,32} (AND|OR)){1,4} OCCT-PL)" - -%ENTRY% _SPDX_ODC_By_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](ODC-By-1\.?0|(.{1,32} (AND|OR)){1,4} ODC-By-1\.?0)" - -%ENTRY% _SPDX_OFL_10_no_RFN -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OFL-1\.?0-no-RFN|(.{1,32} (AND|OR)){1,4} OFL-1\.?0-no-RFN)" - -%ENTRY% _SPDX_OFL_10_RFN -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OFL-1\.?0-RFN|(.{1,32} (AND|OR)){1,4} OFL-1\.?0-RFN)" - -%ENTRY% _SPDX_OFL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OFL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} OFL[- ]1\.?0)" - -%ENTRY% _SPDX_OFL_11_no_RFN -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OFL-1\.?1-no-RFN|(.{1,32} (AND|OR)){1,4} OFL-1\.?1-no-RFN)" - -%ENTRY% _SPDX_OFL_11_RFN -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OFL-1\.?1-RFN|(.{1,32} (AND|OR)){1,4} OFL-1\.?1-RFN)" - -%ENTRY% _SPDX_OFL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OFL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} OFL[- ]1\.?1)" - -%ENTRY% _SPDX_OGC_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OGC[ -]1\.?0|(.{1,32} (AND|OR)){1,4} OGC[ -]1\.?0)" - -%ENTRY% _SPDX_OGL_Canada_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OGL-Canada-2\.?0|(.{1,32} (AND|OR)){1,4} OGL-Canada-2\.?0)" - -%ENTRY% _SPDX_OGL_UK_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OGL-UK-1\.?0|(.{1,32} (AND|OR)){1,4} OGL-UK-1\.?0)" - -%ENTRY% _SPDX_OGL_UK_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OGL-UK-2\.?0|(.{1,32} (AND|OR)){1,4} OGL-UK-2\.?0)" - -%ENTRY% _SPDX_OGL_UK_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OGL-UK-3\.?0|(.{1,32} (AND|OR)){1,4} OGL-UK-3\.?0)" - -%ENTRY% _SPDX_OGTSL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OGTSL|(.{1,32} (AND|OR)){1,4} OGTSL)" - -%ENTRY% _SPDX_OLDAP_222 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]2\.?2\.?2|(.{1,32} (AND|OR)){1,4} OLDAP[- ]2\.?2\.?2)" - -%ENTRY% _SPDX_OLDAP_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]1\.?1|(.{1,32} (AND|OR)){1,4} OLDAP[- ]1\.?1)" - -%ENTRY% _SPDX_OLDAP_12 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]1\.?2|(.{1,32} (AND|OR)){1,4} OLDAP[- ]1\.?2)" - -%ENTRY% _SPDX_OLDAP_13 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]1\.?3|(.{1,32} (AND|OR)){1,4} OLDAP[- ]1\.?3)" - -%ENTRY% _SPDX_OLDAP_14 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]1\.?4|(.{1,32} (AND|OR)){1,4} OLDAP[- ]1\.?4)" - -%ENTRY% _SPDX_OLDAP_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]2\.?0|(.{1,32} (AND|OR)){1,4} OLDAP[- ]2\.?0)" - -%ENTRY% _SPDX_OLDAP_201 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]2\.?0\.?1|(.{1,32} (AND|OR)){1,4} OLDAP[- ]2\.?0\.?1)" - -%ENTRY% _SPDX_OLDAP_21 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]2\.?1|(.{1,32} (AND|OR)){1,4} OLDAP[- ]2\.?1)" - -%ENTRY% _SPDX_OLDAP_22 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]2\.?2|(.{1,32} (AND|OR)){1,4} OLDAP[- ]2\.?2)" - -%ENTRY% _SPDX_OLDAP_221 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]2\.?2\.?1|(.{1,32} (AND|OR)){1,4} OLDAP[- ]2\.?2\.?1)" - -%ENTRY% _SPDX_OLDAP_23 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]2\.?3|(.{1,32} (AND|OR)){1,4} OLDAP[- ]2\.?3)" - -%ENTRY% _SPDX_OLDAP_24 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]2\.?4|(.{1,32} (AND|OR)){1,4} OLDAP[- ]2\.?4)" - -%ENTRY% _SPDX_OLDAP_25 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]2\.?5|(.{1,32} (AND|OR)){1,4} OLDAP[- ]2\.?5)" - -%ENTRY% _SPDX_OLDAP_26 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP-2\.?6|(.{1,32} (AND|OR)){1,4} OLDAP-2\.?6)" - -%ENTRY% _SPDX_OLDAP_27 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]2\.?7|(.{1,32} (AND|OR)){1,4} OLDAP[- ]2\.?7)" - -%ENTRY% _SPDX_OLDAP_28 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OLDAP[- ]2\.?8|(.{1,32} (AND|OR)){1,4} OLDAP[- ]2\.?8)" - -%ENTRY% _SPDX_OML -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OML|(.{1,32} (AND|OR)){1,4} OML)" - -%ENTRY% _SPDX_OpenSSL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OpenSSL|(.{1,32} (AND|OR)){1,4} OpenSSL)" - -%ENTRY% _SPDX_OPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OPL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} OPL[- ]1\.?0)" - -%ENTRY% _SPDX_OSL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OSL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} OSL[- ]1\.?0)" - -%ENTRY% _SPDX_OSL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OSL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} OSL[- ]1\.?1)" - -%ENTRY% _SPDX_OSL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OSL[- ]2\.?0|(.{1,32} (AND|OR)){1,4} OSL[- ]2\.?0)" - -%ENTRY% _SPDX_OSL_21 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OSL[- ]2\.?1|(.{1,32} (AND|OR)){1,4} OSL[- ]2\.?1)" - -# NPOSL-3.0 refers to OSL 3.0 license, therefore for time being -# license reference is limited to OSL-3.0 -%ENTRY% _SPDX_OSL_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OSL-3\.?0|(.{1,32} (AND|OR)){1,4} OSL-3\.?0)" - -%ENTRY% _SPDX_OSET_PL_21 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](OSET-PL-2\.?1|(.{1,32} (AND|OR)){1,4} OSET-PL-2\.?1)" - -%ENTRY% _SPDX_Parity_600 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Parity[- ]6\.?0\.?0|(.{1,32} (AND|OR)){1,4} Parity[- ]6\.?0\.?0)" - -%ENTRY% _SPDX_Parity_700 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Parity[- ]7\.?0\.?0|(.{1,32} (AND|OR)){1,4} Parity[- ]7\.?0\.?0)" - -%ENTRY% _SPDX_PDDL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](PDDL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} PDDL[- ]1\.?0)" - -%ENTRY% _SPDX_PHP_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](PHP(-| (license )?)3\.?0|(.{1,32} (AND|OR)){1,4} PHP(-| (license )?)3\.?0)" - -%ENTRY% _SPDX_PHP_301 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](PHP[- ]3\.?01|(.{1,32} (AND|OR)){1,4} PHP[- ]3\.?01)" - -%ENTRY% _SPDX_Plexus -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Plexus|(.{1,32} (AND|OR)){1,4} Plexus)" - -%ENTRY% _SPDX_PolyForm_Noncommercial_100 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](PolyForm-Noncommercial[- ]1\.?0\.?0|(.{1,32} (AND|OR)){1,4} PolyForm-Noncommercial[- ]1\.?0\.?0)" - -%ENTRY% _SPDX_PolyForm_Small_Business_100 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](PolyForm-Small-Business[- ]1\.?0\.?0|(.{1,32} (AND|OR)){1,4} PolyForm-Small-Business[- ]1\.?0\.?0)" - -%ENTRY% _SPDX_PostgreSQL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](PostgreSQL|(.{1,32} (AND|OR)){1,4} PostgreSQL)" - -%ENTRY% _SPDX_PSF_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](PSF[- ]2\.?0|(.{1,32} (AND|OR)){1,4} PSF[- ]2\.?0)" - -%ENTRY% _SPDX_psfrag -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](psfrag|(.{1,32} (AND|OR)){1,4} psfrag)" - -%ENTRY% _SPDX_psutils -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](psutils|(.{1,32} (AND|OR)){1,4} psutils)" - -%ENTRY% _SPDX_Python_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Python[- ]2\.?0|(.{1,32} (AND|OR)){1,4} Python[- ]2\.?0)" - -%ENTRY% _SPDX_Qhull -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Qhull|(.{1,32} (AND|OR)){1,4} Qhull)" - -%ENTRY% _SPDX_QPL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](QPL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} QPL[- ]1\.?0)" - -%ENTRY% _SPDX_Rdisc -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_RHeCos_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](RHeCos[- ]1\.?1|(.{1,32} (AND|OR)){1,4} RHeCos[- ]1\.?1)" - -%ENTRY% _SPDX_RPSL_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](RPSL[- ]1\.?0|(.{1,32} (AND|OR)){1,4} RPSL[- ]1\.?0)" - -%ENTRY% _SPDX_RPL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](RPL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} RPL[- ]1\.?1)" - -%ENTRY% _SPDX_RPL_15 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](RPL[- ]1\.?5|(.{1,32} (AND|OR)){1,4} RPL[- ]1\.?5)" - -%ENTRY% _SPDX_RSA_MD -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](RSA-MD|(.{1,32} (AND|OR)){1,4} RSA-MD)" - -%ENTRY% _SPDX_RSCPL -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](RSCPL|(.{1,32} (AND|OR)){1,4} RSCPL)" - -%ENTRY% _SPDX_Ruby -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_SAX_PD -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](SAX-PD|(.{1,32} (AND|OR)){1,4} SAX-PD)" - -%ENTRY% _SPDX_Saxpath -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Saxpath|(.{1,32} (AND|OR)){1,4} Saxpath)" - -%ENTRY% _SPDX_SCEA -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](SCEA|(.{1,32} (AND|OR)){1,4} SCEA)" - -%ENTRY% _SPDX_Sendmail -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Sendmail|(.{1,32} (AND|OR)){1,4} Sendmail)" - -%ENTRY% _SPDX_Sendmail_823 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Sendmail-8\.?23|(.{1,32} (AND|OR)){1,4} Sendmail-8\.?23)" - -%ENTRY% _SPDX_SHL_051 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](\|(.{1,32} (AND|OR)){1,4} \)" - -%ENTRY% _SPDX_Zend_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Zend[- ]2\.?0|(.{1,32} (AND|OR)){1,4} Zend[- ]2\.?0)" - -%ENTRY% _SPDX_Zimbra_13 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Zimbra[- ]1\.?3|(.{1,32} (AND|OR)){1,4} Zimbra[- ]1\.?3)" - -%ENTRY% _SPDX_Zimbra_14 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Zimbra[- ]1\.?4|(.{1,32} (AND|OR)){1,4} Zimbra[- ]1\.?4)" - -%ENTRY% _SPDX_Zlib -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](Zlib|(.{1,32} (AND|OR)){1,4} Zlib)" - -%ENTRY% _SPDX_zlib_acknowledgement -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](zlib-acknowledgement|(.{1,32} (AND|OR)){1,4} zlib-acknowledgement)" - -%ENTRY% _SPDX_ZPL_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](ZPL[- ]1\.?1|(.{1,32} (AND|OR)){1,4} ZPL[- ]1\.?1)" - -%ENTRY% _SPDX_ZPL_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](ZPL[- ]2\.?0|(.{1,32} (AND|OR)){1,4} ZPL[- ]2\.?0)" - -%ENTRY% _SPDX_ZPL_21 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ](ZPL[- ]2\.?1|(.{1,32} (AND|OR)){1,4} ZPL[- ]2\.?1)" - -%ENTRY% _SPDX_389_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= 389-exception" - -%ENTRY% _SPDX_Autoconf_exception_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= Autoconf-exception-2\.?0" - -%ENTRY% _SPDX_Autoconf_exception_30 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= Autoconf-exception-3\.?0" - -%ENTRY% _SPDX_Bison_exception_22 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= Bison-exception-2\.?2" - -%ENTRY% _SPDX_Bootloader_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= Bootloader-exception" - -%ENTRY% _SPDX_Classpath_exception_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= Classpath-exception-2\.?0" - -%ENTRY% _SPDX_CLISP_exception_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= CLISP-exception-2\.?0" - -%ENTRY% _SPDX_DigiRule_FOSS_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= DigiRule-FOSS-exception" - -%ENTRY% _SPDX_eCos_exception_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= eCos-exception-2\.?0" - -%ENTRY% _SPDX_Fawkes_Runtime_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= Fawkes-Runtime-exception" - -%ENTRY% _SPDX_FLTK_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= FLTK-exception" - -%ENTRY% _SPDX_Font_exception_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= Font-exception-2\.?0" - -%ENTRY% _SPDX_freertos_exception_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= freertos-exception-2\.?0" - -%ENTRY% _SPDX_GCC_exception_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= GCC-exception-2\.?0" - -%ENTRY% _SPDX_GCC_exception_31 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= GCC-exception-3\.?1" - -%ENTRY% _SPDX_gnu_javamail_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= gnu-javamail-exception" - -%ENTRY% _SPDX_i2p_gpl_java_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= i2p-gpl-java-exception" - -%ENTRY% _SPDX_Libtool_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= Libtool-exception" - -%ENTRY% _SPDX_Linux_syscall_note -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= Linux-syscall-note" - -%ENTRY% _SPDX_LLVM_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= LLVM-exception" - -%ENTRY% _SPDX_LZMA_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= LZMA-exception" - -%ENTRY% _SPDX_mif_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= mif-exception" - -%ENTRY% _SPDX_OpenJDK_assembly_exception_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= OpenJDK-assembly-exception-1\.?0" - -%ENTRY% _SPDX_Nokia_Qt_exception_11 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= Nokia-Qt-exception-1\.?1" - -%ENTRY% _SPDX_OCCT_exception_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= OCCT-exception-1\.?0" - -%ENTRY% _SPDX_openvpn_openssl_exception -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= openvpn-openssl-exception" - -%ENTRY% _SPDX_Qwt_exception_10 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= Qwt-exception-1\.?0" - -%ENTRY% _SPDX_u_boot_exception_20 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= u-boot-exception-2\.?0" - -%ENTRY% _SPDX_WxWindows_exception_31 -%KEY% "licen[cs]e" -%STR% "licen[cs]e(id|[- ]identifier| name)?[: ] =SOME= WxWindows-exception-3\.?1" -##### -# SPDX END -##### -# -%ENTRY% _TEXT_ADOBE_FRAME -%KEY% =NULL= -#%STR% "(adobe systems|frame technology)" -%STR% "(\|frame technology)" -# -%ENTRY% _TEXT_ALTERED_SOURCE -%KEY% =NULL= -%STR% "altered (source )?versions must be plainly marked" -# -%ENTRY% _TEXT_ALFRESCO -%KEY% =NULL= -%STR% "\" -# -%ENTRY% _TEXT_APPLE -%KEY% "\" -%STR% "\" -# -%ENTRY% _TEXT_ATTRIBUTION -%KEY% "a(gree|ttribut|vailabl|uthor)" -%STR% "attribution" -# -%ENTRY% _TEXT_AUTHORSHIP -%KEY% =NULL= -%STR% "(creat|writ(e|ten)|wrote|author|compose|ma(de|ker?)|modif(y|ied)|change|tweake?d?|donate)" -# -%ENTRY% _TEXT_BEASYS -%KEY% =NULL= -%STR% "bea systems" -# -%ENTRY% _TEXT_BOOK -%KEY% "\" -%STR% "\" -# -%ENTRY% _TEXT_BY -%KEY% "\" -%STR% "\" -# -%ENTRY% _TEXT_COMMERC -%KEY% "commerc" -%STR% "." -%ALIAS% _HOT_commerc -# -%ENTRY% _TEXT_COMPUSERVE -%KEY% =NULL= -%STR% "compuserve inc" -# -%ENTRY% _TEXT_DATA -%KEY% =NULL= -%STR% "data" -# -%ENTRY% _TEXT_DEFEND -%KEY% =NULL= -%STR% "defend" -%ALIAS% _HOT_defend -# -%ENTRY% _TEXT_DRBD_NOT_GPL3 -%KEY% =NULL= -%STR% "how is DRBD licen[cs]ed DRBD is licen[cs]ed under the GPL 301414" -# -##%ENTRY% _TEXT_DISTRIBUT -##%KEY% "distribut" -##%STR% "." -##### -# We need to use "the docbook" instead of just "docbook". Many .po files -# are based on docbook and have the word "docbook" in most comments, one -# per translated string. This yields lots of fruitless searches. -##### -%ENTRY% _TEXT_DOCBOOK -%KEY% =NULL= -%STR% "the docbook" -# -##%ENTRY% _TEXT_EGENIX_COM -##%KEY% =NULL= -##%STR% "egenix.com" -# -##%ENTRY% _TEXT_FEDORA -##%KEY% =NULL= -##%STR% "fedora" -# -%ENTRY% _TEXT_FONT -%KEY% =NULL= -%STR% "as a special exception =FEW= which uses this font" -# -%ENTRY% _TEXT_GCC -%KEY% =NULL= -%STR% "gcc (linking|runtime library)" -# -%ENTRY% _TEXT_FREEWARE -%KEY% =NULL= -%STR% "free-?ware" -%ALIAS% _HOT_freeware -# -%ENTRY% _TEXT_GFDL_NOT_GPL -%KEY% "licen[cs]" -%STR% "in parallel under your choice of free software licen[cs]e such as the GNU general public licen[cs]e" -# -# typical use: -# The licence and distribution terms for any publically available version or -# derivative of this code cannot be changed. i.e. this code cannot simply be -# copied and put under another distribution licence -# [including the GNU Public Licence.] -%ENTRY% _TEXT_NOT_GPL -%KEY% "(gnu|gpl)" -%STR% "not\> =SOME= (gnu (general|public)|\)" -# -%ENTRY% _TEXT_NOT_GPL2 -%KEY% "(gnu|gpl)" -%STR% "not\> =SOME= cop(y|ied) =SOME= another =SOME= (gnu (general|public)|\)" -# -%ENTRY% _TEXT_GPLV1 -%KEY% "(\|l?gpl)" -%STR% "[^l-]gpl[ _-]?v?1" -#%STR% "[^l-]gpl([_-]?v?1| v?1[^0-9])" -# -%ENTRY% _TEXT_GPLV2_NOT_FILTER -%KEY% "(\|l?gpl)" -%STR% "[^l-]gpl =FEW= 2[1-9][0-9]" -# -%ENTRY% _TEXT_GPLV2 -%KEY% "(\|l?gpl)" -%STR% "[^l-]gpl[ _-]?v?2" -# -%ENTRY% _TEXT_GPLV3_NOT_FILTER -%KEY% "(\|l?gpl)" -%STR% "[^l-]gpl[ _-]?v?3[0-9]" -# -%ENTRY% _TEXT_GPLV3 -%KEY% "(\|l?gpl)" -%STR% "[^l-]gpl[ _-]?v?3" -#%STR% "[^l-]gpl([_-]?v?3| v?3[^0-9])" -# -%ENTRY% _TEXT_GPLV3_FOOTNOTE -%KEY% "(\|l?gpl)" -%STR% "[^l]gpl[[]3" -# -# License specifier in Debian copyright file -%ENTRY% _TEXT_GPLV3_CR -%KEY% "licen[cs]e" -%STR% "licen[cs]e =FEW= [^L]GPL-3" -# -%ENTRY% _TEXT_GHOSTSCRIPT -%KEY% =NULL= -%STR% "ghostscript" -# -%ENTRY% _TEXT_GNU_HELLO_23 -%KEY% "(\|l?gpl)" -%STR% "gnu hello 2\.?3" -# -%ENTRY% _TEXT_GNU_LIC_INFO -%KEY% "(condit|vers)ion" -%STR% "file standardsinfo node --version next" -# -%ENTRY% _TEXT_GNUTERMS -%KEY% "(\|l?gpl)" -%STR% "." -# -%ENTRY% _TEXT_GPL_NOT_LGPL -%KEY% "(\|l?gpl)" -%STR% "gnu (gpl|general public licen[cs]e)" -# -%ENTRY% _TEXT_HP -%KEY% =NULL= -%STR% "(hewlett-packard|\|compaq|digital equipment corp|apollo comp|electronic data systems)" -# -%ENTRY% _TEXT_IBM -%KEY% "(\|international business machines)" -%STR% "." -# -%ENTRY% _TEXT_INNERNET -%KEY% =NULL= -%STR% "innernet" -# -%ENTRY% _TEXT_INTELCORP -%KEY% =NULL= -%STR% "intel corp" -# -%ENTRY% _TEXT_INTELCORPBINARY -%KEY% =NULL= -%STR% "binary form" -# -%ENTRY% _TEXT_NOMODIFICATION -%KEY% =NULL= -%STR% "without modification" -# -%ENTRY% _TEXT_JPNIC -%KEY% =NULL= -%STR% "jpnic" -# -%ENTRY% _TEXT_LATEX -%KEY% =NULL= -%STR% "(LaTeX|LPPL|KOMA-script)" -# -%ENTRY% _TEXT_LGPLV2 -%KEY% "(\|l?gpl)" -%STR% "lgpl[ _-]?v?2" -# -%ENTRY% _TEXT_LGPLV21 -%KEY% "(\|l?gpl)" -%STR% "lgpl[ _-]?v?2\.?1" -# -%ENTRY% _TEXT_LGPLV3 -%KEY% "(\|l?gpl)" -%STR% "lgpl[ _-]?v?3" -# -%ENTRY% _TEXT_LGPLV3_FOOTNOTE -%KEY% "(\|l?gpl)" -%STR% "lgpl[[]3" -# -%ENTRY% _TEXT_LGPL_DETAILS -%KEY% "(\|l?gpl)" -%STR% "see the GNU (lesser|library) general public licen[cs]e for more details" -# -%ENTRY% _TEXT_LGPL_NOT_GPL -%NOCHECK% -%KEY% "(\|l?gpl)" -%STR% "(lesser|library) (gpl|general public licen[cs]e)" -# -%ENTRY% _TEXT_MPLV2 -%KEY% "licen[cs]" -%STR% "MPL.?([\/ -])?2(\.?0)?" -# -%ENTRY% _TEXT_LICSET -%KEY% "licen[cs]" -%STR% "(these licen[cs]es|this licen[cs]e set|set of licen[cs]es)" -# -%ENTRY% _TEXT_LITIGAT -%KEY% =NULL= -%STR% "litigat" -%ALIAS% _HOT_litigat -# -%ENTRY% _TEXT_METADATA -%KEY% =NULL= -%STR% "metadata" -# -%ENTRY% _TEXT_MICROSOFT -%KEY% "\" -%STR% "\" -# -%ENTRY% _TEXT_MOZNET -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "." -# -%ENTRY% _TEXT_NAIST -%KEY% =NULL= -%STR% "Nara Institute of Science and Technology" -# -%ENTRY% _TEXT_NOT_GPLV3_DRAFT -%KEY% "(\|l?gpl)" -%STR% "[^l]gplv3 draft proceed" -# -%ENTRY% _TEXT_NOT_LIBSTDC -%KEY% =NULL= -%STR% "libstdc -v3" -# -%ENTRY% _TEXT_OPENLDAP -%KEY% =NULL= -%STR% "openldap" -# -##%ENTRY% _TEXT_OPENMKT -##%KEY% =NULL= -##%STR% "open market" -# -%ENTRY% _TEXT_ORIGIN -%KEY% =NULL= -%STR% "the origin of this software must not be misrepresented" -# -%ENTRY% _TEXT_PERMISSION -%KEY% "permi[st]" -%STR% "." -# -%ENTRY% _TEXT_PROFIT -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "profit" -# -%ENTRY% _TEXT_PYTHON -%KEY% =NULL= -%STR% "python" -# -%ENTRY% _TEXT_REALNET -%KEY% =NULL= -%STR% "real ?network" -# -%ENTRY% _TEXT_REMUNERATE -%KEY% =NULL= -%STR% "remun[ei]rat" -%ALIAS% _HOT_remunerate -# -%ENTRY% _TEXT_REPRODUCED -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "\" -# -%ENTRY% _TEXT_RESTRICT -%KEY% "restrict" -%STR% "." -%ALIAS% _HOT_restrict -# -%ENTRY% _TEXT_SGMLUG -%KEY% =NULL= -%STR% "sgmlug" -# -##%ENTRY% _TEXT_SEMICOND -##%KEY% =NULL= -##%STR% "\" -# -%ENTRY% _TEXT_shareware -%KEY% =NULL= -%STR% "share-?ware" -%ALIAS% _HOT_shareware -# -%ENTRY% _TEXT_SOFTWARE -%KEY% "so(ftware|urce)" -%STR% "so(ftware|urce)" -# -%ENTRY% _TEXT_SOURCE -%KEY% "so(ftware|urce)" -%STR% "source" -# -%ENTRY% _TEXT_MICROSYSTEMS -%KEY% "\" -%STR% "\" -# -%ENTRY% _TEXT_TRADEDRESS -%KEY% =NULL= -%STR% "trade[ -]?dress" -%ALIAS% _HOT_tradedress -# -### TODO Remove this phrase permanently later -#%ENTRY% _TEXT_TRADEMARK -#%KEY% =NULL= -#%STR% "trademark" -#%ALIAS% _HOT_trademark -### -# -%ENTRY% _TEXT_TU_BERLIN -%KEY% =NULL= -%STR% "Technische Universitaet Berlin" -# -%ENTRY% _TEXT_XEROX -%KEY% =NULL= -%STR% "\" -# -%ENTRY% _TEXT_XIMIAN -%KEY% =NULL= -%STR% "\" -# -%ENTRY% _TEXT_YR -%KEY% =NULL= -%STR% "[0-9][0-9][0-9][0-9]" -# -%ENTRY% _FILE_ART1 -%KEY% "licen[cs]" -%STR% "(file|provide|refer|located|found|see) =FEW= /?usr/?share/?common-?licen[cs]es/?Artistic" -# -%ENTRY% _FILE_ART2 -%KEY% "licen[cs]" -%STR% "artistic =FEW= (file|provide|found|locate|reside|text|contain) =FEW= /?usr/?share/?common-?licen[cs]es" -# -%ENTRY% _FILE_BSD1 -%KEY% "licen[cs]" -%STR% "(file|provide|refer|located|found|see) =FEW= /?usr/?share/?common-?licen[cs]es/?BSD" -# -%ENTRY% _FILE_BSD2 -%KEY% "licen[cs]" -%STR% "BSD =FEW= (file|provide|found|locate|reside|text|contain) =FEW= /?usr/?share/?common-?licen[cs]es" -# -%ENTRY% _FILE_GPL1 -%KEY% "licen[cs]" -%STR% "(file|provide|refer|located|found|see) =FEW= /?usr/?share/?common-?licen[cs]es/?GPL" -# -%ENTRY% _FILE_GPL2 -%KEY% "licen[cs]" -%STR% "[^l]gpl =FEW= (file|provide|found|locate|reside|text|contain) =FEW= /?usr/?share/?common-?licen[cs]es" -# -%ENTRY% _FILE_GPLv2 -%KEY% "licen[cs]" -%STR% "(file|provide|refer|located|found|see) =FEW= /?usr/?share/?common-?licen[cs]es/?GPL[ -_]?2" -# -%ENTRY% _FILE_GPLv3 -%KEY% "licen[cs]" -%STR% "(file|provide|refer|located|found|see) =FEW= /?usr/?share/?common-?licen[cs]es/?GPL[ -_]?3" -# -%ENTRY% _FILE_LGPLv21 -%KEY% "licen[cs]" -%STR% "(file|provide|refer|located|found|see) =FEW= /?usr/?share/?common-?licen[cs]es/?LGPL[ -_]?2\.?1" -# -%ENTRY% _FILE_LGPLv2 -%KEY% "licen[cs]" -%STR% "(file|provide|refer|located|found|see) =FEW= /?usr/?share/?common-?licen[cs]es/?LGPL[ -_]?2" -# -%ENTRY% _FILE_LGPLv3 -%KEY% "licen[cs]" -%STR% "(file|provide|refer|located|found|see) =FEW= /?usr/?share/?common-?licen[cs]es/?LGPL[ -_]?3" -# -%ENTRY% _FILE_LGPL1 -%KEY% "licen[cs]" -%STR% "(file|provide|refer|located|found|see) =FEW= /?usr/?share/?common-?licen[cs]es/?LGPL" -# -%ENTRY% _FILE_LGPL2 -%KEY% "licen[cs]" -%STR% "lgpl =FEW= (file|provide|found|locate|reside|text|contain) =FEW= /?usr/?share/?common-?licen[cs]es" -# -%ENTRY% _FILE_MPL10 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "mpl-1\.?0txt" -# -%ENTRY% _FILE_MPL11 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "mpl-1\.?1txt" -##### -# In URLs, make sure dots (\.) in URLs are followed by ? (e.g., "\.?") ... -# this way, hey can be used for queries both in findPhrase() AND idxGrep(). -##### -%ENTRY% _URL_ACDL -%KEY% "so(ftware|urce)" -%STR% "w?w?w?\.?opensource\.?apple\.?com/cdl" -# -%ENTRY% _URL_AFL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/afl" -# -%ENTRY% _URL_AGPL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?fsf\.?org/licen[cs]ing/licen[cs]es/agpl" -# -%ENTRY% _URL_AGPL3 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?(fsf|gnu)\.?org/licen[cs]ing/licen[cs]es/agpl-3" -# -%ENTRY% _URL_Apache_1 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?apache\.?org/licen[cs]es?/licen[cs]e" -# -%ENTRY% _URL_Apache_2 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/apache" -# -%ENTRY% _URL_Apache_10 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?apache\.?org/licen[cs]e-1\.?0" -# -%ENTRY% _URL_Apache_11 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?apache\.?org/licen[cs]e-1\.?1" -# -%ENTRY% _URL_Apache_20 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?apache\.?org/licen[cs]e-2\.?0" -# -%ENTRY% _URL_Apache_20_1 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?apache\.?org/licen[cs]es?/licen[cs]e-?2\.?0" -# -%ENTRY% _URL_Apache_20_2 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/apache-?2\.?0" -# -%ENTRY% _URL_APSL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/apsl" -# -%ENTRY% _URL_ART -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/artistic" -# -%ENTRY% _URL_BlueOak_100 -%KEY% "licen[cs]" -%STR% "blueoakcouncil\.?org/licen[cs]e/1\.?0\.?0" -# -%ENTRY% _URL_BOOST_10 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?boost\.?org/licen[cs]e[_-]?1_?0" -# -%ENTRY% _URL_BSD_1 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/bsd" -# -%ENTRY% _URL_BSD_2 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?debian\.?org/misc/bsd\.?licen[cs]e" -# -%ENTRY% _URL_CC_BY -%KEY% =NULL= -%STR% "creativecommons\.?org" -# -%ENTRY% _URL_CC_BY_10 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by/1\.?0" -# -%ENTRY% _URL_CC_BY_20 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by/2\.?0" -# -%ENTRY% _URL_CC_BY_25 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by/2\.?5" -# -%ENTRY% _URL_CC_BY_30 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by/3\.?0" -# -%ENTRY% _URL_CC_BY_40 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by/4\.?0" -# -%ENTRY% _URL_CC_BY_NC_ND_10 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc-nd/1\.?0" -# -%ENTRY% _URL_CC_BY_NC_ND_20 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc-nd/2\.?0" -# -%ENTRY% _URL_CC_BY_NC_ND_25 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc-nd/2\.?5" -# -%ENTRY% _URL_CC_BY_NC_ND_30 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc-nd/3\.?0" -# -%ENTRY% _URL_CC_BY_NC_10 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc/1\.?0" -# -%ENTRY% _URL_CC_BY_NC_20 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc/2\.?0" -# -%ENTRY% _URL_CC_BY_NC_25 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc/2\.?5" -# -%ENTRY% _URL_CC_BY_NC_30 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc/3\.?0" -# -%ENTRY% _URL_CC_BY_NC_40 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc/4\.?0" -# -%ENTRY% _URL_CC_BY_NC_ND_40 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc-nd/4\.?0" -# -%ENTRY% _URL_CC_BY_ND_10 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nd/1\.?0" -# -%ENTRY% _URL_CC_BY_ND_20 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nd/2\.?0" -# -%ENTRY% _URL_CC_BY_ND_25 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nd/2\.?5" -# -%ENTRY% _URL_CC_BY_ND_30 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nd/3\.?0" -# -%ENTRY% _URL_CC_BY_ND_40 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nd/4\.?0" -# -%ENTRY% _URL_CC_BY_NC_SA_10 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc-sa/1\.?0" -# -%ENTRY% _URL_CC_BY_NC_SA_20 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc-sa/2\.?0" -# -%ENTRY% _URL_CC_BY_NC_SA_25 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc-sa/2\.?5" -# -%ENTRY% _URL_CC_BY_NC_SA_30 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc-sa/3\.?0" -# -%ENTRY% _URL_CC_BY_NC_SA_40 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-nc-sa/4\.?0" -# -%ENTRY% _URL_CC_BY_SA -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-sa" -# -%ENTRY% _URL_CC_BY_SA_10 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-sa/1\.?0" -# -%ENTRY% _URL_CC_BY_SA_20 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-sa/2\.?0" -# -%ENTRY% _URL_CC_BY_SA_25 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-sa/2\.?5" -# -%ENTRY% _URL_CC_BY_SA_30 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-sa/3\.?0" -# -%ENTRY% _URL_CC_BY_SA_40 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/by-sa/4\.?0" -# -%ENTRY% _URL_CC0 -%KEY% "public" -%STR% "creativecommons\.?org/publicdomain/zero/1\.?0" -# -%ENTRY% _URL_CC_PDDC -%KEY% "public" -%STR% "creativecommons\.?org/licenses/publicdomain" -# -%ENTRY% _URL_CCGPL -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/GPL" -# -%ENTRY% _URL_CCGPL_V2 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/GPL/2" -# -%ENTRY% _URL_CCLGPL -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/LGPL" -# -%ENTRY% _URL_CCLGPL_V21 -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licen[cs]es/LGPL/2\.?1" -# -%ENTRY% _URL_CDDL_10 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/cddl(v|-)?1\.?0" -# -%ENTRY% _URL_CDDL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/cddl" -# -%ENTRY% _URL_CECILL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?cecill\.?info" -# -%ENTRY% _URL_CECILL_C_V1 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?cecill\.?info/licen[cs]es/li[cs]ence_CeCILL_V1" -# -%ENTRY% _URL_CECILL_C_V11 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?cecill\.?info/licen[cs]es/li[cs]ence_CeCILL_V1\.?1" -# -%ENTRY% _URL_CECILL_V2 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?cecill\.?info/licen[cs]es/li[cs]ence_CeCILL_V2" -# -%ENTRY% _URL_CMAKE -%KEY% "copyright" -%STR% "w?w?w?\.?cmake\.?org/HTML/Copyright\.?html" -# -%ENTRY% _URL_CPL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/cpl" -# -%ENTRY% _URL_CPL_10 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/cpl1\.?0" -# -%ENTRY% _URL_CURL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "curl\.?haxx\.?se/docs/copyright.html" -# -%ENTRY% _URL_GPL_1 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/gpl" -# -%ENTRY% _URL_GPL_2 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?gnu\.?org/licen[cs]es?/gpl" -# -%ENTRY% _URL_GPL_3 -%KEY% "(\|l?gpl)" -%STR% "w?w?w?\.?gnu\.?org/copyleft/gpl" -# -%ENTRY% _URL_IBM_PL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/ibmpl" -# -%ENTRY% _URL_ICU -%KEY% =NULL= -%STR% "www\.?icu-project\.?org" -# -%ENTRY% _URL_ISC -%KEY% =NULL= -%STR% "isc\.?org/copyright" -# -%ENTRY% _URL_IMAGEMAGICK -%KEY% "licen[cs]" -%STR% "w?w?w?\.?imagemagick\.?org/script/licen[cs]" -# -%ENTRY% _URL_JABBER -%KEY% "licen[cs]" -%STR% "w?w?w?\.?jabber\.?com/licen[cs]e" -# -%ENTRY% _URL_LATEX -%KEY% "p(atent|roduc|rofit|roject|ublic)" -%STR% "w?w?w?\.?latex-project\.?org/lppl" -# -%ENTRY% _URL_LGPL_1 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/lgpl" -# -%ENTRY% _URL_LGPL_2 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?gnu\.?org/licen[cs]es?/lgpl" -# -%ENTRY% _URL_LGPL_V21 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?gnu\.?org/licen[cs]es?/lgpl-2\.?1" -# -%ENTRY% _URL_MIT -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/mit" -# -%ENTRY% _URL_MIT_ROCK -%KEY% "licen[cs]" -%STR% "w?w?w?\.?rock\.?mit-license\.?org" -# -%ENTRY% _URL_MPL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/mozilla" -# -%ENTRY% _URL_MPL_LATEST -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "w?w?w?\.?mozilla\.?org/[MN]PL/" -# -%ENTRY% _URL_MPL10 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "w?w?w?\.?mozilla\.?org/[MN]PL/MPL-1\.?0" -# -%ENTRY% _URL_MPL11 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "w?w?w?\.?mozilla\.?org/[MN]PL/MPL-1\.?1" -# -%ENTRY% _URL_MPL20 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "w?w?w?\.?mozilla\.?org/[MN]PL/(MPL-)?2\.?0" -# -%ENTRY% _URL_MulanPSL -%KEY% "licen[cs]" -%STR% "license\.?coscl\.?org\.?cn/MulanPSL" -# -%ENTRY% _URL_mysql_floss_exception -%KEY% "licen[cs]" -%STR% "w?w?w?\.?mysql\.?com/about/legal/licensing/foss-exception" -# -%ENTRY% _URL_NPL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/netscape" -# -%ENTRY% _URL_NPL10 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "w?w?w?\.?mozilla\.?org/[MN]PL/NPL-1\.?0" -# -%ENTRY% _URL_NPL11 -%KEY% "\<([mn]pl|mozilla|netscape)\>" -%STR% "w?w?w?\.?mozilla\.?org/[MN]PL/NPL-1\.?1" -# -%ENTRY% _URL_OPENSSL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?openssl\.?org/source/license\.?html" -# -%ENTRY% _URL_ORACLE_BERKELEY_DB -%KEY% "licen[cs]" -%STR% "download\.?oracle\.?com/docs/cd/E17076_02/html/license/license_db\.?html" -# -%ENTRY% _URL_OSL11 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/osl-1\.?1" -# -%ENTRY% _URL_OSL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/osl" -# -%ENTRY% _URL_PHP -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/php" -# -%ENTRY% _URL_PUBDOM -%KEY% "licen[cs]" -%STR% "creativecommons\.?org/licenses/publicdomain" -# -%ENTRY% _URL_PYTHON -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/python" -# -%ENTRY% _URL_RPL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es/rpl" -# -%ENTRY% _URL_SGI -%KEY% "(\|l?gpl)" -%STR% "oss\.?sgi\.?com/projects/FreeB" -# -%ENTRY% _URL_SISSL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?openoffice\.?org/project/www/licen[cs]e" -# -%ENTRY% _URL_SNIA -%KEY% "licen[cs]" -%STR% "mp-mgmt-api\.?sourceforge\.?net/sourcelicen[cs]e" -# -%ENTRY% _URL_SNIA_V11 -%KEY% "licen[cs]" -%STR% "mp-mgmt-api\.?sourceforge\.?net/sourcelicen[cs]e-v1\.?1" -# -%ENTRY% _URL_SUN_BINARY -%KEY% "licen[cs]" -%STR% "sun\.?com/j2se/1\.?5\.?0/jdk =FEW= licen[cs]e" -# -%ENTRY% _URL_SUN_BINARY_V150 -%KEY% "licen[cs]" -%STR% "sun\.?com/j2se/1\.?5\.?0/jdk-1_5_0_0\.?1-licen[cs]e" -# -%ENTRY% _URL_Toolbar2000 -%KEY% "licen[cs]" -%STR% "jrsoftware\.?org/files/tb2k/TB2k-LICENSE\.?txt" -# -%ENTRY% _URL_universal_foss_exception_10 -%KEY% "licen[cs]" -%STR% "oracle\.?com/licenses/universal-foss-exception" -# -%ENTRY% _URL_WEBM -%KEY% "licen[cs]" -%STR% "w?w?w?\.?webmproject\.?org/licen[cs]e/software" -# -%ENTRY% _URL_WOL -%KEY% "licen[cs]" -%STR% "w?w?w?\.?dspguru\.?com/wide-open-license" -# -%ENTRY% _URL_W3C -%KEY% "licen[cs]" -%STR% "w?w?w?\.?opensource\.?org/licen[cs]es?/w3c" -# -%ENTRY% _URL_W3C_IP -%KEY% "legal" -%STR% "w?w?w?\.?w3c?\.?org/consortium/legal" -# -%ENTRY% _URL_W3C_20021231 -%KEY% "legal" -%STR% "w?w?w?\.?w3c?\.?org/consortium/legal/2002/copyright-software-20021231" -# -# Zend license -%ENTRY% _URL_ZEND -%KEY% "licen[cs]" -%STR% "w?w?w?\.?zend\.?com/license/2_00\.?txt" -# -%ENTRY% _URL_ZLIB_1 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?(zlib|gzip)\.?org/zlib/zlib_licen[cs]e" -# -%ENTRY% _URL_ZLIB_2 -%KEY% "licen[cs]" -%STR% "w?w?w?\.?zlib\.?net/zlib_licen[cs]e" -# -%ENTRY% _URL_Flora -%KEY% "licen[cs]" -%STR% "floralicense\.?org/license" -# -%ENTRY% _URL_EUDatagrid -%KEY% "licen[cs]" -%STR% "w?w?w?\.?eu-datagrid\.?org/license\.?html" -# -%ENTRY% _URL_OPEN_PL_V10 -%KEY% "open" -%STR% "opencontent\.?org/openpub" -# -%ENTRY% _MIN_AGPL_30 -%KEY% "licen[cs]" -%STR% "(Affero_v3 lic-instance|affero[ _-]?v3 =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= affero?[ _-]v3)" -%ALIAS% _MINlicense_first -# -%ENTRY% _MIN_AGPL -%KEY% "licen[cs]" -%STR% "(Affero lic-instance|affero =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= affero)" -# -%ENTRY% _MIN_APACHE_V2 -%KEY% "licen[cs]" -%STR% "(Apache_v2 lic-instance|apache[ _-]?v2 =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= apache?[ _-]v2)" -# -%ENTRY% _MIN_APACHE -%KEY% "licen[cs]" -%STR% "(Apache lic-instance|apache =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= apache)" -# -%ENTRY% _MIN_ARTISTIC -%KEY% "licen[cs]" -%STR% "(Artistic lic-instance|artistic =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= artistic)" -# -%ENTRY% _MIN_ATT -%KEY% "licen[cs]" -%STR% "(ATT lic-instance|\&t =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \&t)" -# -%ENTRY% _MIN_BSD -%KEY% "licen[cs]" -%STR% "(BSD lic-instance|(newbsd|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_CPL -%KEY% "licen[cs]" -%STR% "(CPL lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_FSF -%KEY% "licen[cs]" -%STR% "(FSF lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_GFDL -%KEY% "licen[cs]" -%STR% "(GFDL lic-instance|gfdl =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= gfdl)" -# -%ENTRY% _MIN_GPL_V1 -%KEY% "licen[cs]" -%STR% "(GPL_v1 lic-instance|[^l]gpl[ _-]?v1 =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= [^l]gpl[ _-]?v1|usr/?share/?common-licen[cs]es/?gpl[._v-]?1)" -# -%ENTRY% _MIN_GPL_V3 -%KEY% "licen[cs]" -%?STR% "(GPL_v3 lic-instance|[^l]gpl[ _-]?v3 =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= [^l]gpl[ _-]?v3|usr/?share/?common-licen[cs]es/?gpl[._v-]?3)" -##### -# By convention, /usr/share/common-licenses/gpl *is* the GPL-v2 -##### -%ENTRY% _MIN_GPL_V2 -%KEY% "licen[cs]" -%STR% "(GPL_v2 lic-instance|[^l]gpl[ _-]?v2 =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= [^l]gpl[ _-]?v2|usr/?share/?common-licen[cs]es/?gpl[._v-]?2)" -# -%ENTRY% _MIN_GPL -%KEY% "licen[cs]" -%STR% "(GPL lic-instance|[^l]gpl =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= [^l]gpl|usr/?share/?common-licen[cs]es/?gpl)" -# -%ENTRY% _MIN_HP -%KEY% "licen[cs]" -%STR% "(HP lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_IBM -%KEY% "licen[cs]" -%STR% "(IBM lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_ISC -%KEY% "licen[cs]" -%STR% "(ISC lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_LGPL_V3 -%KEY% "licen[cs]" -%STR% "(LGPL_v3 lic-instance|lgpl[ _-]?v3 =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= lgpl[ _-]?v3|usr/?share/?common-licen[cs]es/?lgpl[._v-]?3)" -# -%ENTRY% _MIN_LGPL_V21 -%KEY% "licen[cs]" -%STR% "(LGPL_v2.1 lic-instance|lgpl[ _-]?v2\.?1 =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= lgpl[ _-]?v2\.?1|usr/?share/?common-licen[cs]es/?lgpl[._v-]?2\.?1)" -# -%ENTRY% _MIN_LGPL_V2 -%KEY% "licen[cs]" -%STR% "(LGPL_v2 lic-instance|lgpl[ _-]?v2 =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= lgpl[ _-]?v2|usr/?share/?common-licen[cs]es/?lgpl[._v-]?2)" -# -%ENTRY% _MIN_LGPL_V1 -%KEY% "licen[cs]" -%STR% "(LGPL_v1 lic-instance|lgpl[ _-]?v1 =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= lgpl[ _-]?v1|usr/?share/?common-licen[cs]es/?lgpl[._v-]?1)" -##### -# Q: why was "." explicitly excluded?? -#### -%ENTRY% _MIN_LGPL -%KEY% "licen[cs]" -#%STR% "(LGPL lic-instance|lgpl =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= lgpl)" -%STR% "(LGPL lic-instance|lgpl =FEW= licen[cs]e[^h]|licen[cs]e[^h] =FEW= lgpl)" -# -%ENTRY% _MIN_LPPL -%KEY% "licen[cs]" -%STR% "(LPPL lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_MIT -%KEY% "licen[cs]" -%STR% "(MIT lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_MSCORP -%KEY% "licen[cs]" -%STR% "(Microsoft lic-instance|(\|\) =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= (\|\))" -# -%ENTRY% _MIN_OPENGROUP -%KEY% "licen[cs]" -%STR% "(OpenGroup lic-instance|open[ -]?group =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= open[ -]?group)" -# -#%ENTRY% _MIN_PERL -#%KEY% "licen[cs]" -#%STR% "(Perl lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -%ENTRY% _MIN_PERL -%KEY% "licen[cs]" -%STR% "(Perl lic-instance|((^|[[:space:]])perl($|[[:space:]])) =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= ((^|[[:space:]])perl($|[[:space:]])))" -# -%ENTRY% _MIN_PHP -%KEY% "licen[cs]" -%STR% "(PHP lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_RSA -%KEY% "licen[cs]" -%STR% "(RSA lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_SUN -%KEY% "licen[cs]" -%STR% "(Sun lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_W3C -%KEY% "licen[cs]" -%STR% "(W3C lic-instance|\ =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= \)" -# -%ENTRY% _MIN_X11 -%KEY% "licen[cs]" -%STR% "(X11 lic-instance|(\|x consortium|xfree86) =FEW= licen[cs]e[^h.]|licen[cs]e[^h.] =FEW= (\|x consortium|xfree86))" -%ALIAS% _MINlicense_last -# -%ENTRY% _MIN2_AGPL_30 -%KEY% "so(ftware|urce)" -%STR% "(Affero_v3 src-instance|affero[ _-]?v3 =FEW= \|\ =FEW= affero?[ _-]v3)" -%ALIAS% _MINsource_first -# -%ENTRY% _MIN2_AGPL -%KEY% "so(ftware|urce)" -%STR% "(Affero src-instance|affero =FEW= \|\ =FEW= affero)" -# -%ENTRY% _MIN2_APACHE_V2 -%KEY% "so(ftware|urce)" -%STR% "(Apache_v2 src-instance|apache[ _-]?v2 =FEW= \|\ =FEW= apache?[ _-]v2)" -# -%ENTRY% _MIN2_APACHE -%KEY% "so(ftware|urce)" -%STR% "(Apache src-instance|[^/]\ =FEW= \|\ =FEW= [^/]\)" -# -%ENTRY% _MIN2_ARTISTIC -%KEY% "so(ftware|urce)" -%STR% "(Artistic src-instance|artistic =FEW= \|\ =FEW= artistic)" -# -%ENTRY% _MIN2_ATT -%KEY% "so(ftware|urce)" -%STR% "(ATT src-instance|\&t =FEW= \|\ =FEW= \&t)" -# -%ENTRY% _MIN2_BSD -%KEY% "so(ftware|urce)" -%STR% "(BSD src-instance|(newbsd|\|\ =FEW= (newbsd|\ =FEW= \|\ =FEW= \)" -# -%ENTRY% _MIN2_CPL -%KEY% "so(ftware|urce)" -%STR% "(CPL src-instance| \ =FEW= \|\ =FEW= \)" -# -%ENTRY% _MIN2_FSF -%KEY% "so(ftware|urce)" -%STR% "(FSF src-instance| \ =FEW= \|\ =FEW= \)" -# -%ENTRY% _MIN2_GFDL -%KEY% "so(ftware|urce)" -%STR% "(GFDL src-instance|gfdl =FEW= \|\ =FEW= gfdl)" -# -%ENTRY% _MIN2_GPL_V3 -%KEY% "so(ftware|urce)" -%?STR% "(GPL_v3 src-instance|[^l]gpl[ _-]?v3 =FEW= \|\ =FEW= [^l]gpl[ _-]?v3)" -# -%ENTRY% _MIN2_GPL_V2 -%KEY% "so(ftware|urce)" -%STR% "(GPL_v2 src-instance|[^l]gpl[ _-]?v2 =FEW= \|\ =FEW= [^l]gpl[ _-]?v2)" -# -%ENTRY% _MIN2_GPL_V1 -%KEY% "so(ftware|urce)" -%STR% "(GPL_v1 src-instance|[^l]gpl[ _-]?v1 =FEW= \|\ =FEW= [^l]gpl[ _-]?v1)" -# -%ENTRY% _MIN2_GPL -%KEY% "so(ftware|urce)" -%STR% "(GPL src-instance|\ =FEW= \|\ =FEW= \)" -# -%ENTRY% _MIN2_HP -%KEY% "so(ftware|urce)" -%STR% "(HP src-instance|\ =FEW= \|\ =FEW= \)" -# -%ENTRY% _MIN2_IBM -%KEY% "so(ftware|urce)" -%STR% "(IBM src-instance| \ =FEW= \|\ =FEW= \)" -# -%ENTRY% _MIN2_ISC -%KEY% "so(ftware|urce)" -%STR% "(ISC src-instance| \ =FEW= \|\ =FEW= \)" -# -%ENTRY% _MIN2_LGPL_V3 -%KEY% "so(ftware|urce)" -%STR% "(LGPL_v3 src-instance|lgpl[ _-]?v3 =FEW= \|\ =FEW= lgpl[ _-]?v3)" -# -%ENTRY% _MIN2_LGPL_V21 -%KEY% "so(ftware|urce)" -%STR% "(LGPL_v2.1 src-instance|lgpl[ _-]?v2\.?1 =FEW= \|\ =FEW= lgpl[ _-]?v2\.?1)" -# -%ENTRY% _MIN2_LGPL_V2 -%KEY% "so(ftware|urce)" -%STR% "(LGPL_v2 src-instance|lgpl[ _-]?v2 =FEW= \|\ =FEW= lgpl[ _-]?v2)" -# -%ENTRY% _MIN2_LGPL_V1 -%KEY% "so(ftware|urce)" -%STR% "(LGPL_v1 src-instance|lgpl[ _-]?v1 =FEW= \|\ =FEW= lgpl[ _-]?v1)" -# -%ENTRY% _MIN2_LGPL -%KEY% "so(ftware|urce)" -%STR% "(LGPL src-instance|lgpl =FEW= \|\ =FEW= lgpl)" -# -%ENTRY% _MIN2_LPPL -%KEY% "so(ftware|urce)" -%STR% "(LPPL src-instance|\ =FEW= \|\ =FEW= \)" -# -%ENTRY% _MIN2_MIT -%KEY% "so(ftware|urce)" -%STR% "(MIT src-instance|\ =FEW= \|\ =FEW= \)" -# -%ENTRY% _MIN2_MSCORP -%KEY% "so(ftware|urce)" -%STR% "(Microsoft src-instance|(\|(^|[[:space:]])ms($|[[:space:]])) =FEW= \|\ =FEW= (\|(^|[[:space:]])ms($|[[:space:]])))" -# -%ENTRY% _MIN2_OPENGROUP -%KEY% "so(ftware|urce)" -%STR% "(OpenGroup src-instance|open[ -]?group =FEW= \|\ =FEW= open[ -]?group)" -# -%ENTRY% _MIN2_PERL -%KEY% "so(ftware|urce)" -%STR% "(Perl src-instance|((^|[[:space:]])perl($|[[:space:]])) =FEW= ((^|[[:space:]])source($|[[:space:]]))|((^|[[:space:]])source($|[[:space:]])) =FEW= ((^|[[:space:]])perl($|[[:space:]])))" -# -%ENTRY% _MIN2_PHP -%KEY% "so(ftware|urce)" -%STR% "(PHP src-instance|((^|[[:space:]])php($|[[:space:]])) =FEW= \|\ =FEW= ((^|[[:space:]])php($|[[:space:]])))" -# -%ENTRY% _MIN2_RSA -%KEY% "so(ftware|urce)" -%STR% "(RSA src-instance|\ =FEW= \|\ =FEW= \)" -# -%ENTRY% _MIN2_SUN -%KEY% "so(ftware|urce)" -%STR% "(Sun src-instance|(^|[[:space:]])sun($|[[:space:]]) =FEW= \|\ =FEW= (^|[[:space:]])sun($|[[:space:]]))" -# -%ENTRY% _MIN2_W3C -%KEY% "so(ftware|urce)" -%STR% "(W3C src-instance|\ =FEW= \|\ =FEW= \)" -# -%ENTRY% _MIN2_X11 -%KEY% "so(ftware|urce)" -%STR% "(X11 src-instance|(\|x consortium|xfree86) =FEW= \|\ =FEW= (\|x consortium|xfree86))" -%ALIAS% _MINsource_last -##### -# For the next set we're only interested in 'copyright license-name' (as -# opposed to 'copyright organization-name' -##### -%ENTRY% _MIN3_AGPL_30 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(Affero_v3 cpy-instance|affero[ _-]?v3 =FEW= copyright|copyright =FEW= affero?[ _-]v3)" -%ALIAS% _MINcpyrt_first -# -%ENTRY% _MIN3_AGPL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(Affero cpy-instance|affero =FEW= copyright|copyright =FEW= affero)" -# -%ENTRY% _MIN3_APACHE_V2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(Apache_v2 cpy-instance|apache[ _-]?v2 =FEW= copyright|copyright =FEW= apache?[ _-]v2)" -# -%ENTRY% _MIN3_APACHE -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(Apache cpy-instance|apache =FEW= copyright|copyright =FEW= apache)" -# -%ENTRY% _MIN3_GFDL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(GFDL cpy-instance|gfdl =FEW= copyright|copyright =FEW= gfdl)" -# -%ENTRY% _MIN3_GPL_V3 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%?STR% "(GPL_v3 cpy-instance|[^l]gpl[ _v-]?3 =FEW= copyright|copyright =FEW= [^l]gpl[ _v-]?3)" -# -%ENTRY% _MIN3_GPL_V2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(GPL_v2 cpy-instance|[^l]gpl[ _v-]?2 =FEW= copyright|copyright =FEW= [^l]gpl[ _v-]?2)" -# -%ENTRY% _MIN3_GPL_V1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(GPL_v1 cpy-instance|[^l]gpl[ _v-]?1 =FEW= copyright|copyright =FEW= [^l]gpl[ _v-]?1)" -# -%ENTRY% _MIN3_GPL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(GPL cpy-instance|[^l]gpl =FEW= copyright|copyright =FEW= [^l]gpl)" -# -%ENTRY% _MIN3_LGPL_V3 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(LGPL_v3 cpy-instance|lgpl[ _v-]?3 =FEW= copyright|copyright =FEW= lgpl[ _v-]?3)" -# -%ENTRY% _MIN3_LGPL_V21 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(LGPL_v2.1 cpy-instance|lgpl[ _v-]?2\.?1 =FEW= copyright|copyright =FEW= lgpl[ _v-]?2\.?1)" -# -%ENTRY% _MIN3_LGPL_V2 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(LGPL_v2 cpy-instance|lgpl[ _v-]?2 =FEW= copyright|copyright =FEW= lgpl[ _v-]?2)" -# -%ENTRY% _MIN3_LGPL_V1 -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(LGPL_v1 cpy-instance|lgpl[ _v-]?1 =FEW= copyright|copyright =FEW= lgpl[ _v-]?1)" -# -%ENTRY% _MIN3_LGPL -%KEY% "(©|\(c\)|copyright|\[^+:]|©)" -%STR% "(LGPL cpy-instance|lgpl =FEW= copyright|copyright =FEW= lgpl)" -%ALIAS% _MINcpyrt_last -# -%ENTRY% _LEGAL_VERBS -%KEY% =NULL= -%STR% "(r?e?-?distribut(e|ion)|deploy|publish|replicat|[^/]\|contribut|execute|execution|sublicen[cs]\|\|\|(term|condition)s? appl(y|ies)|for sale|ma[dk]e available|copyleft|retain|confer|convey|licen[cs]ed|\\>)" -%ALIAS% _LEGAL_first -##### -# Interesting observation -- some licenses are actually worded with NO "owner" -# of any kind -- but an UnclassifiedLicense *requires* some sort of owner. -# To get around this occurrence, substitute generic verbs (and other parts of -# speech) for "owners". -##### -# EXAMPLE: -# Permission to use, copy, modify, sell, and distribute this software -# is hereby granted without fee provided that the above copyright notice -# appears in all copies and that both that copyright notice and this -# permission notice appear in supporting documentation -##### -%ENTRY% _LEGAL_OWNERS -%KEY% =NULL= -%STR% "(\<(you|licen[cs]ees?|licen[cs]ors?|owners?|holders?|company|proprietors?|regents|universit(y|ies)|colleges?|authors?|contributors?|recipients?|persons?|anyone|every(body|one)|distributors?)\>|re[mt]ain[eis]?|appear[eis]?}|as[ -]is|expressly|in (posession|any form))" -# -%ENTRY% _LEGAL_OBJS -%KEY% =NULL= -%STR% "(\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|derivat|modification|change|representation)" -# -%ENTRY% _LEGAL_PERMS -%KEY% =NULL= -%STR% "(grant|permi[st]|\|authori[sz]|\|request|\|entitle|\|\|responsib(ilit|le)|same terms|terms and conditions)" -# -%ENTRY% _LEGAL_BAD -%KEY% =NULL= -%STR% "(commercial|proprietary|\|ibm public|ibm common|common public|osl|academic free|\|-patent)" -##### -# Heh. 32-bit Linux systems have a limitation on the size of a string to -# use -- specifically, awk(1) can't handle a string longer than about 1020 -# characters -- so keep these less than 1000 chars in length. -##### -%ENTRY% _LEGAL_FILTER_1 -%KEY% =NULL= -%STR% "(follow(ing| the) sign[ -]off|old mechanism|future changes|master system|(en|de)crypt|cryptograph|posix[ -]mode|home[ -]?page|completed|build(ing[ -]block| (dir|environ|solut))|then generally|to switch|get maintainer|COLSxROWS|success story|normal thing|wish to|scription pattern|bug report|sorts? of?|please spread|pollut|[2468][ -]bits?|vaccin|(read|write|migrate[ds]?)[ -](access|operat|permi)|random num|strange|basis (amount|point)|lead manage|spokesw?o?man|test[ -](pre-?req|vector)|total word|(buildi?n?g?|configure|chat|magic|setup) script|v[ae]ry interest|[^ ]proxy|encourag|some(one|body) (else|oth)|short[ -]?cut|not? list|query string|custom[ -]buil[dt]|either det|report income|(left|right)[ -]?wing|above screen)" -%ALIAS% _FILTER_first -# Foreign words -%ENTRY% _LEGAL_FILTER_FOREIGN -%KEY% =NULL= -%STR% "(dokumentation|\|\|\|\|\|\|\|\|\|\|\|\|\|\)" -# "Complete" words -%ENTRY% _LEGAL_FILTER_WORDS -%KEY% =NULL= -%STR% "(\|\|\|\|\|\|\|a \|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\)" -%ALIAS% _FILTER_last -# -%ENTRY% _HOT_prohibit -%KEY% =NULL= -%STR% "prohibit" -# -%ENTRY% _HOT_terminat -%KEY% =NULL= -%STR% "terminat" -# -%ENTRY% _HOT_infringe -%KEY% =NULL= -%STR% "infringe" -# -%ENTRY% _UTIL_BOL_MAGIC -%KEY% =NULL= -%STR% "^(dnl|COMMENT[ ]|XCOMM|REM[ ]|//|%%copyright:|@[acr]|>|\\\\par)" -# -%ENTRY% _UTIL_SHAR -%KEY% =NULL= -#%STR% "this is a shell archive" -%STR% "^#[ ]*this is a shell archive" -# -%ENTRY% _UTIL_SHARTYPE -%KEY% =NULL= -%STR% "(shell.*(archive|script)|ascii.*text)" -# -%ENTRY% _UTIL_FILESUFFIX -%KEY% =NULL= -##### -# ORIGINAL: \.(tar|[ct]gz|[bg]z|bz2|tbz|tbz2|[Zp]|cpio|rar|jar|cab|zip|shar|rpm|mvl|deb|udeb|dsc|iso|img)$ -##### -%STR% "\.(tar|[ct]gz|[bg]z2?|tbz2?|[Zp]|cpio|rar|jar|cab|zip|shar|rpm|mvl|u?deb|dsc|iso|img)$" -# -%ENTRY% _UTIL_CARATX -%KEY% =NULL= -%STR% "^X" -# -%ENTRY% _UTIL_MISCPUNCT -%KEY% =NULL= -%STR% "[-_/>]+ " -# -%ENTRY% _UTIL_PRINT -%KEY% =NULL= -%STR% "print[_a-z]* " -# -%ENTRY% _UTIL_POUNDBANG -%KEY% =NULL= -%STR% "#![ ]*/.*sh" -# -%ENTRY% _UTIL_LATEX -%KEY% =NULL= -%STR% "\\htmladdnormallink" -# -%ENTRY% _UTIL_HYPHEN -%KEY% =NULL= -%STR% "[a-z]- [ ]*[a-z]" -# -%ENTRY% _UTIL_XYZZY -%KEY% =NULL= -%STR% "=xyzzy=" -# -%ENTRY% _UTIL_MAGIC -%KEY% =NULL= -%STR% "(document|text|ascii|squish message|source|data)" -# -##%ENTRY% _UTIL_OKDATA -##%KEY% =NULL= -##%STR% "(pgp|patch|diff|change)" -# -%ENTRY% _UTIL_MSGCAT -%KEY% =NULL= -%STR% "gettext.*catalog.*text" -# -%ENTRY% _UTIL_MARKUP -%KEY% =NULL= -#%STR% "(" -%ALIAS% _DICT_first -# -%ENTRY% _UTIL_DICT2 -%KEY% =NULL= -%STR% "aborigin" -# -%ENTRY% _UTIL_DICT3 -%KEY% =NULL= -%STR% "\" -# -%ENTRY% _UTIL_DICT4 -%KEY% =NULL= -%STR% "clairvoyan" -# -%ENTRY% _UTIL_DICT5 -%KEY% =NULL= -%STR% "consecrat" -# -%ENTRY% _UTIL_DICT6 -%KEY% =NULL= -%STR% "\" -# -%ENTRY% _UTIL_DICT7 -%KEY% =NULL= -%STR% "\" -# -%ENTRY% _UTIL_DICT8 -%KEY% =NULL= -%STR% "exhuberan" -# -%ENTRY% _UTIL_DICT9 -%KEY% =NULL= -%STR% "\" -# -%ENTRY% _UTIL_DICT10 -%KEY% =NULL= -%STR% "\" -# -%ENTRY% _UTIL_DICT11 -%KEY% =NULL= -%STR% "syncopat" -# -%ENTRY% _UTIL_DICT12 -%KEY% =NULL= -%STR% "viscera" -# -%ENTRY% _UTIL_DICT13 -%KEY% =NULL= -%STR% "xylopho" -%ALIAS% _DICT_last -# -%ENTRY% _XT_BZ -%KEY% =NULL= -%STR% "bzcat" -# -%ENTRY% _XT_GZ -%KEY% =NULL= -%STR% "zcat" -# -%ENTRY% _XT_PAX -%KEY% =NULL= -%STR% "pax -E NONE -rukf" -# -%ENTRY% _XT_TAR -%KEY% =NULL= -%STR% "tar -Skhxf" -# -%ENTRY% _XT_FJAR -%KEY% =NULL= -%STR% "fastjar -xf" -# -%ENTRY% _XT_AR -%KEY% =NULL= -%STR% "ar x" -# -%ENTRY% _XT_AR_ABS -%KEY% =NULL= -%STR% "ar Pp" -# -%ENTRY% _XT_SHAR1 -%KEY% =NULL= -%STR% "unshar" -# -%ENTRY% _XT_SHAR2 -%KEY% =NULL= -%STR% "sh" -# -%ENTRY% _XT_CAB -%KEY% =NULL= -%STR% "cabextract -q" -# -%ENTRY% _XT_ZIP -%KEY% =NULL= -%STR% "unzip -oqq -P not-aReal-PassW0rd" -# -%ENTRY% _XT_RAR -%KEY% =NULL= -%STR% "unrar -y x" -# -%ENTRY% _XT_UU -%KEY% =NULL= -%STR% "uudecode" -# -%ENTRY% _XT_CPIO -%KEY% =NULL= -%STR% "cpio --quiet -id --no-absolute-filenames" -# -%ENTRY% _XT_PS -%KEY% =NULL= -%STR% "pstotext" -# -%ENTRY% _XT_RPM -%KEY% =NULL= -%STR% "rpm2cpio" -# -%ENTRY% _XT_DSC -%KEY% =NULL= -#%STR% "perl -U /usr/bin/dpkg-source -x" -%STR% "dpkg-source -x" -# -##%ENTRY% _XT_UNPACKER -##%KEY% =NULL= -##%STR% "ununpack -R -X -C" -# -%ENTRY% _MNT_IMG -%KEY% =NULL= -%STR% "mount -o loop" -# -%ENTRY% _UMNT_IMG -%KEY% =NULL= -%STR% "umount -d -f" -# -%ENTRY% _INV_AR -%KEY% =NULL= -%STR% "ar tv" -# -%ENTRY% _INV_TAR -%KEY% =NULL= -%STR% "tar tvf" -# -%ENTRY% _INV_BIN -%KEY% =NULL= -%STR% "strings -n6" -# -%ENTRY% _INV_MSWORD -%KEY% =NULL= -%STR% "antiword" -# -%ENTRY% _FILTER_TAR -%KEY% =NULL= -%STR% "grep -Eiv '(file exists|is a dir|delayed)'" -# -%ENTRY% _TEST_ZIP -%KEY% =NULL= -%STR% "unzip -qqt -P not-aReal-PassW0rd" -# -%ENTRY% _TEST_SH -%KEY% =NULL= -%STR% "sh -n" -##### -# File types listed here go hand-in-hand with the ftHandlers[] array -# in sources.c -- be VERY careful about changing the order of these -# (or even WHERE you add another)! See unpackHandler() for details. -##### -# Basically, the entries here need to be in the same order as the ones -# that initialize the ftHandlers[] array. -##### -%ENTRY% _FTYP_TAR -%KEY% =NULL= -# %STR% "tar.*archive" -%STR% "tar archive" -# -%ENTRY% _FTYP_CPIO -%KEY% =NULL= -# %STR% "cpio.*archive" -%STR% "cpio archive" -# -%ENTRY% _FTYP_ZIP -%KEY% =NULL= -# %STR% "zip.*archive" -%STR% "zip archive" -# -%ENTRY% _FTYP_CAB -%KEY% =NULL= -# %STR% "microsoft.*cabinet" -%STR% "microsoft cabinet" -# -%ENTRY% _FTYP_RAR -%KEY% =NULL= -# %STR% "RAR.*archive" -%STR% "rar archive" -# -%ENTRY% _FTYP_GZ -%KEY% =NULL= -# %STR% "gzip.*compress" -%STR% "(gzip compress|compress =FEW= data)" -# -%ENTRY% _FTYP_PACK -%KEY% =NULL= -%STR% "packed data" -# -%ENTRY% _FTYP_COMPRESS -%KEY% =NULL= -%STR% "compress.*bit" -# -%ENTRY% _FTYP_BZ -%KEY% =NULL= -# %STR% "bzip.*compress" -%STR% "bzip2? compress" -# -%ENTRY% _FTYP_RPM -%KEY% =NULL= -%STR% "rpm " -# -%ENTRY% _FTYP_DEB -%KEY% =NULL= -# %STR% "debian.*binary" -%STR% "debian binary" -# -%ENTRY% _FTYP_AR -%KEY% =NULL= -# %STR% "ar.*archive" -%STR% "ar archive" -# -%ENTRY% _FTYP_UTF8 -%KEY% =NULL= -%STR% "utf-8 unicode" -# -%ENTRY% _FTYP_RTF -%KEY% =NULL= -%STR% "rich text format" -# -%ENTRY% _FTYP_POSTSCR -%KEY% =NULL= -%STR% "postscript" -#BUG!#%STR% "(postscript|utf-8 unicode)" -# -%ENTRY% _FTYP_UU -%KEY% =NULL= -%STR% "uuencoded or xxencoded" -%ALIAS% _FTYP_lastUNPACK -# -%ENTRY% _FTYP_BOOT -%KEY% =NULL= -%STR% "boot sector.*(sector|file|entries|volumes)" -# -%ENTRY% _FTYP_ISO -%KEY% =NULL= -%STR% "(ISO 9660|file ?system)" -# -%ENTRY% _FTYP_MSOFFICE -%KEY% =NULL= -%STR% "microsoft office document" -# -%ENTRY% _FTYP_BIN -%KEY% =NULL= -%STR% "(executable|relocatable|boot sector|\)" -##### -# OLDPACK and COMPACT currently have no handlers, so they go 'below' -# the _FTYP_lastUNPACK alias/#define -##### -%ENTRY% _FTYP_OLDPACK -%KEY% =NULL= -%STR% "old packed data" -# -%ENTRY% _FTYP_COMPACT -%KEY% =NULL= -%STR% "compacted data" -##### -# IGNORE contains the file types explicitly ignored -##### -%ENTRY% _FTYP_IGNORE -%KEY% =NULL= -%STR% "minix filesystem" -# -%ENTRY% _UTIL_EXPIRES -%KEY% =NULL= -%STR% "/usr/local/lib/.nomos_expires" -# -%ENTRY% _UTIL_PASSWORD -%KEY% =NULL= -%STR% "n0m0s4u" -# -%ENTRY% _LT_TRUECRYPT_30 -%KEY% "(truecrypt)" -%STR% "all occurrences of the name truecrypt that could reasonably be considered to identify your product must be removed" -##### -# This MUST be the last alias specified; the size of the array of encrypted -# strings is determined from the following value! (see NFOOTPRINTS, below) -##### -%ALIAS% _CRYPT_last -# -%DEF% NFOOTPRINTS _CRYPT_last+1 -%DEF% NCOPYRIGHT (_CR_last-_CR_first+1) -%DEF% NKEYWORDS (_KW_last-_KW_first+1) -%DEF% NDICTIONARY (_DICT_last-_DICT_first+1) -%DEF% NZZGENERIC (_ZZGEN_last-_ZZGEN_first+1) -%DEF% NFREECLAIM (_FREECLAIM_last-_FREECLAIM_first+1) -%DEF% NINDEMNITY (_INDEMNITY_last-_INDEMNITY_first+1) -%DEF% NNOWARRANTY (_NO_WARRANTY_last-_NO_WARRANTY_first+1) -%DEF% NSEECOPYING (_SEECOPYING_last-_SEECOPYING_first+1) -%DEF% NSEEOTHER (_SEEOTHER_last-_SEEOTHER_first+1) -%DEF% NSEELICENSE (_SEELICENSE_last-_SEELICENSE_first+1) -%DEF% NSEEREADME (_SEEREADME_last-_SEEREADME_first+1) -%DEF% NFILTER (_FILTER_last-_FILTER_first+1) -%DEF% NMINlicense (_MINlicense_last-_MINlicense_first+1) -%DEF% NMINsource (_MINsource_last-_MINsource_first+1) -%DEF% NMINcpyrt (_MINcpyrt_last-_MINcpyrt_first+1) -##%DEF% NLICTEXT (_LT_last-_LT_first+1) - -/* - * License-scanning limits - */ -#define _scCOMFORT 9 /* >= 9 --> certain it's a license */ -#define _scINVALID 4 /* < 4 --> probably NOT a license */ - diff --git a/src/fosslight_dependency/third_party/nomos/agent/_split_words b/src/fosslight_dependency/third_party/nomos/agent/_split_words deleted file mode 100644 index f53f587c..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/_split_words +++ /dev/null @@ -1,9 +0,0 @@ -source -free -under -copyright -grant -software -distribut -licen -[iu][nst] diff --git a/src/fosslight_dependency/third_party/nomos/agent/doctorBuffer_utils.c b/src/fosslight_dependency/third_party/nomos/agent/doctorBuffer_utils.c deleted file mode 100644 index ee06c2bb..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/doctorBuffer_utils.c +++ /dev/null @@ -1,1105 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2014 Hewlett-Packard Development Company, L.P. - Copyright (C) 2014, Siemens AG - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -#include "doctorBuffer_utils.h" -#define INVISIBLE (int) '\377' - -#include "nomos.h" -#include "list.h" -#include "util.h" -#include "nomos_regex.h" - -/** - * \file - * \brief Doctor buffer utilities for debugging - */ -/** - * \brief garbage collect: eliminate all INVISIBLE characters in the buffer - * \param[in,out] textBuffer Buffer to compress - * \return Size difference between orifinal and compressed buffer - */ -int compressDoctoredBuffer( char* textBuffer) -{ - int previous=strlen(textBuffer); - - if(cur.docBufferPositionsAndOffsets) - g_array_free(cur.docBufferPositionsAndOffsets, TRUE); - cur.docBufferPositionsAndOffsets=collapseInvisible(textBuffer,INVISIBLE); -// cur.docBufferPositionsAndOffsets=collapseSpaces(textBuffer); - - int after = strlen(textBuffer); - - return previous - after; -} - -/** - * \brief Remove HTML comments from buffer without removing comment text - * \param[in,out] buf - */ -void removeHtmlComments(char* buf) -{ - int f; - int g; - char* cp; - f = 0; - g = 0; - for (cp = buf; cp && *cp; cp++) - { - if ((*cp == '<') && (*(cp + 1) != '<') && (*(cp + 1) != ' ')) - { -#if (DEBUG>5) && defined(DOCTOR_DEBUG) - int x = strncasecmp(cp, "5 && DOCTOR_DEBUG */ - if (strncasecmp(cp, "5) && defined(DOCTOR_DEBUG) - int x = strncasecmp(cp, "©", 6); - printf("CHECK: %c%c%c%c%c%c == %d\n", *cp, - *(cp+1), *(cp+2), *(cp+3), *(cp+4), - *(cp+5), x); -#endif /* DEBUG>5 && DOCTOR_DEBUG */ - if (strncasecmp(cp, "©", 6)) - { - *cp = ' '; - g = 1; - } - } - else if (f && (*cp == '>')) - { - *cp = ' '; - f = 0; - } - else if (g && (*cp == ';')) - { - *cp = ' '; - g = 0; - } - else if (isEOL(*cp)) - { - g = 0; - } - /* Don't remove text in an HTML comment (e.g., turn the flag off) */ - else if ((*cp == '!') && f && (cp != buf) && (*(cp - 1) == ' ')) - { - *cp = ' '; - f = 0; - } - else if (f || g) - { - // *cp = INVISIBLE; larry comment out this line, I do not think this logic is correct - } - else if ((*cp == '<') || (*cp == '>')) - { - *cp = ' '; - } - } -} - -/** - * \brief Remove comments that start at the beginning of a line - * - * Comments like *, ^dnl, ^xcomm, ^comment, and // preserving the comment text - * \param[in,out] buf - */ -void removeLineComments(char* buf) -{ - char* cp; - char* MODULE_LICENSE = "MODULE_LICENSE"; - cp = buf; - while (idxGrep(_UTIL_BOL_MAGIC, cp, REG_ICASE | REG_NEWLINE | REG_EXTENDED)) - { -#ifdef DOCTOR_DEBUG - dumpMatch(cp, "Found \"comment\"-text"); -#endif /* DOCTOR_DEBUG */ - cp += cur.regm.rm_so; - switch (*cp) - { - case '>': - *cp++ = ' '; - break; - case '@': /* texi special processing */ - *cp++ = INVISIBLE; - if (strncasecmp(cp, "author", 6) == 0) - { - (void) memset(cp, ' ', 6); - cp += 6; - } - else if (strncasecmp(cp, "comment", 7) == 0) - { - (void) memset(cp, ' ', 7); - cp += 7; - } - else if (strncasecmp(cp, "center", 6) == 0) - { - (void) memset(cp, ' ', 6); - cp += 6; - } - else if (strncasecmp(cp, "rem", 3) == 0) - { - (void) memset(cp, ' ', 3); - cp += 3; - } - else if (*cp == 'c') - { - *cp++ = INVISIBLE; - if (strncasecmp(cp, " essay", 6) == 0) - { - (void) memset(cp, ' ', 6); - cp += 6; - } - } - break; - case '/': /* c++ style comment // */ - if (cp && cp[0]) - { - /** when MODULE_LICENSE("GPL") is outcommented, do not get rid of this line. */ - if (strstr(cp, MODULE_LICENSE) && '/' == cp[0]) - { - (void) memset(cp, INVISIBLE, strlen(cp)); - cp += strlen(cp); - } - else - { - (void) memset(cp, INVISIBLE, 2); - cp += 2; - } - } - break; - case '\\': /* c++ style comment // */ - if (strncasecmp(cp + 1, "par ", 3) == 0) - { - (void) memset(cp, ' ', 4); - } - cp += 4; - break; - case 'r': - case 'R': /* rem */ - case 'd': - case 'D': /* dnl */ - (void) memset(cp, INVISIBLE, 3); - cp += 3; - break; - case 'x': - case 'X': /* xcomm */ - (void) memset(cp, INVISIBLE, 5); - cp += 5; - break; - case 'c': - case 'C': /* comment */ - (void) memset(cp, INVISIBLE, 7); - cp += 7; - break; - case '%': /* %%copyright: */ - (void) memset(cp, INVISIBLE, 12); - cp += 12; - break; - } - } -} - -/** - * \brief Remove newlines from buffer - * \param[in,out] buf - */ -void cleanUpPostscript(char* buf) -{ - char* cp; - char* x; - cp = buf; - while (idxGrep(_UTIL_POSTSCR, cp, REG_EXTENDED | REG_NEWLINE)) - { -#ifdef DOCTOR_DEBUG - dumpMatch(cp, "FOUND postscript-thingy"); -#endif /* DOCTOR_DEBUG */ - x = cp + cur.regm.rm_so; - cp += cur.regm.rm_eo; - while (x < cp) - { - *x++ = ' '/*INVISIBLE*/; - } - } -} - -/** - * \brief Remove groff/troff font-size indicators, the literal - * string backslash-n and all backslahes, ala - * - * `perl -pe 's,\\s[+-][0-9]*,,g;s,\\s[0-9]*,,g;s/\\n//g;' | f` - * \param[in,out] buf - */ -void removeBackslashesAndGTroffIndicators(char* buf) -{ - char* cp; - char* x; - for (cp = buf; *cp; cp++) - { - if (*cp == '\\') - { - x = cp + 1; - if (*x && (*x == 's')) - { - x++; - if (*x && ((*x == '+') || (*x == '-'))) - { - x++; - } - while (*x && isdigit(*x)) - { - x++; - } - } - else if (*x && *x == 'n') - { - x++; - } - memset(cp, /*INVISIBLE*/' ', (size_t) (x - cp)); - } - } -} - -/** - * \brief Convert white-space to real spaces, and remove - * unnecessary punctuation - * - * `tr -d '*=+#$|%.,:;!?()\\][\140\047\042' | tr '\011\012\015' ' '` - * \param[in,out] buf - * \note We purposely do NOT process backspace-characters here. Perhaps - * there's an improvement in the wings for this? - */ -void convertWhitespaceToSpaceAndRemoveSpecialChars(char* buf, int isCR ) -{ - char* cp; - for (cp = buf; /*cp < end &&*/*cp; cp++) - { - if ((*cp == '\302') && (*(cp + 1) == '\251')) - { - cp += 1; - continue; - } - if (*cp & (char) 0x80) - { - *cp = INVISIBLE; - continue; - } - switch (*cp) - { - /* - Convert eol-characters AND some other miscellaneous - characters into spaces (due to comment-styles, etc.) - */ - case '\a': - case '\t': - case '\n': - case '\r': - case '\v': - case '\f': - case '[': - case ']': - case '{': - case '}': - case '*': - case '=': - case '#': - case '$': - case '|': - case '%': - case '!': - case '?': - case '`': - case '"': - case '\'': - *cp = ' '; - break; - /* allow + only within the regex " [Mm]\+ " */ - case '+': - if (*(cp + 1) == 0 || *(cp + 1) == ' ' || *(cp + 1) == '\t' || *(cp + 1) == '\n' || *(cp + 1) == '\r') - break; - else if (cp > buf + 1 && (*(cp - 1) == 'M' || *(cp - 1) == 'm') && *(cp - 2) == ' ' && *(cp + 1) == ' ') - { - /* no-op */ - } - else - { - *cp = ' '; - } - break; - case '(': - if ((*(cp + 1) == 'C' || *(cp + 1) == 'c') && *(cp + 2) == ')') - { - cp += 2; - continue; - } - else - { - *cp = ' '; - } - break; - case ')': - case ',': - case ':': - case ';': - if (!isCR) - { - *cp = ' '; - } - break; - case '.': - if (!isCR) - { - *cp = INVISIBLE; - } - break; - case '<': - if (strncasecmp(cp, "': case '^': case '_': - case INVISIBLE: - break; - default: - if (!isalpha(*cp) && !isdigit(*cp)) - { - printf("DEBUG: \\0%o @ %ld\n", - *cp & 0xff, cp-buf); - } - break; -#endif /* DOCTOR_DEBUG */ - } - } -} - -/** - * Look for hyphenations of words, to compress both halves into a - * single (sic) word. Regex == "[a-z]- [a-z]". - * \param[in,out] buf - * \note Not sure this will work based on the way we strip punctuation - * out of the buffer above -- work on this later. - */ -void dehyphen(char* buf) -{ - char* cp; - - for (cp = buf; idxGrep(_UTIL_HYPHEN, cp, REG_ICASE); /*nada*/) - { -#ifdef DOCTOR_DEBUG - char* x; - x = cp + cur.regm.rm_so; - while ((x > cp) && !isspace(*x)) - { - x--; - } - printf("Hey! hyphenated-word ["); - for (++x; x <= (cp + cur.regm.rm_eo); x++) - { - printf("%c", *x); - } - while (!isspace(*x)) - { - printf("%c", *x++); - } - printf("]\n"); - -#endif /* DOCTOR_DEBUG */ - cp += cur.regm.rm_so + 1; - *cp++ = INVISIBLE; - while (isspace(*cp)) - { - *cp++ = INVISIBLE; - } - } - -} - -/** - * \brief Clean up miscellaneous punctuation - * - * `perl -pe 's,[-_/]+ , ,g;s/print[_a-zA-Z]* //g;s/ / /g;'` - * \param[in,out] buf - */ -void removePunctuation(char* buf) -{ - char* cp; - char* x; - for (cp = buf; idxGrep(_UTIL_MISCPUNCT, cp, REG_EXTENDED); /*nada*/) - { - x = cp + cur.regm.rm_so; - cp += cur.regm.rm_eo - 1; /* leave ' ' alone */ - while (x < cp) - { - *x++ = ' '; - } - cp++; - } - for (cp = buf; idxGrep(_UTIL_LATEX, cp, REG_ICASE); /*nada*/) - { - x = cp + cur.regm.rm_so; - cp += cur.regm.rm_eo; - while (x <= cp) - { - *x++ = ' '; - } - cp++; - } -} - -/** - * \brief Ignore function calls to print routines - * - * Only concentrate on what's being printed (sometimes programs do print - * licensing information) -- but don't ignore real words that END in 'print', - * like footprint and fingerprint. - * - * Here, we take a risk and just look for a 't' (in "footprint"), or for an - * 'r' (in "fingerprint"). If someone has ever coded a print routine that - * is named 'rprint' or tprint', we're spoofed. - * \param[in,out] buf - */ -void ignoreFunctionCalls(char* buf) -{ - char* cp; - char* x; - for (cp = buf; idxGrep(_UTIL_PRINT, cp, REG_ICASE); /*nada*/) - { - x = cp + cur.regm.rm_so; - cp += (cur.regm.rm_eo - 1); - if ((x > buf) && ((*(x - 1) == 'r') || (*(x - 1) == 't'))) - { - continue; - } - while (x < cp) - { - *x++ = ' '; - } - cp++; - } -} - -/** - * Convert the regex ' [X ]+' (where X is really the character #defined as - * INVISIBLE) to a single space (and a string of INVISIBLE characters). - * \param[in,out] buf - */ -void convertSpaceToInvisible(char* buf) -{ - char* cp; - for (cp = buf; *cp; /*nada*/) - { - if (*cp++ == ' ') - { - while (*cp) - { - if (*cp == ' ') - { - *cp++ = INVISIBLE; - } - else if (*cp == INVISIBLE) - { - cp++; - } - else - { - break; - } - } - } - } -} - -/** - * \brief Convert a buffer of multiple *stuff* to text-only, separated by spaces - * - * The steps followed in this function are: - * -# Filter HTML/XML comments using removeHtmlComments() - * -# Filter code comments using removeLineComments() - * -# Filter post scripts using cleanUpPostscript() - * -# Filter groff/troff using removeBackslashesAndGTroffIndicators() - * -# Filter spaces and special characters using convertWhitespaceToSpaceAndRemoveSpecialChars() - * -# Filter hyphen strings using dehyphen() - * -# Filter punctuation using removePunctuation() - * -# Ignore print routines using ignoreFunctionCalls() - * -# Filter spaces using convertSpaceToInvisible() - * -# Compress the buffer using compressDoctoredBuffer() - * \param[in,out] buf Buffer to filter - * \param[in] isML Buffer contains HTML/XML data - * \param[in] isPS Buffer contains post script data - * \param[in] isCR - */ -void doctorBuffer(char *buf, int isML, int isPS, int isCR) -{ - -// printf("\n ==============doctorBuffer is called============================== \n"); - - // char *cp; - // char *x; -#if defined(PROC_TRACE) || defined(DOCTOR_DEBUG) - traceFunc("== doctorBuffer(%p, %d, %d, %d)\n", buf, isML, isPS, isCR); -#endif /* PROC_TRACE || DOCTOR_DEBUG */ - - /* - * convert a buffer of multiple *stuff* to text-only, separated by spaces - * We really only care about text "in a license" here, so strip out - * comments and other unwanted punctuation. - */ -#ifdef DOCTOR_DEBUG - printf("***** Processing %p (%d data bytes)\n", buf, (int)strlen(buf)); - printf("----- [Dr-BEFORE:] -----\n%s\n[==END==]\n", buf); -#endif /* DOCTOR_DEBUG */ - /* - * step 1: take care of embedded HTML/XML and special HTML-chars like - * " and   -- but DON'T remove the text in an HTML comment. - * There might be licensing text/information in the comment! - ***** - * Later on (in parseLicenses()) we search for URLs in the raw-text - */ - if (isML) - { -#ifdef DOCTOR_DEBUG - printf("DEBUG: markup-languange directives found!\n"); -#endif /* DOCTOR_DEBUG */ - removeHtmlComments(buf); - } - /* - * step 2: remove comments that start at the beginning of a line, * like - * ^dnl, ^xcomm, ^comment, and // - */ - removeLineComments(buf); - /* - * Step 3 - strip out crap at end-of-line on postscript documents - */ - - if (isPS) - { - cleanUpPostscript(buf); -#ifdef DOCTOR_DEBUG - printf("DEBUG: postscript stuff detected!\n"); -#endif /* DOCTOR_DEBUG */ - } - /* - * - step 4: remove groff/troff font-size indicators, the literal - * string backslash-n and all backslahes, ala: - *==> perl -pe 's,\\s[+-][0-9]*,,g;s,\\s[0-9]*,,g;s/\\n//g;' | - f*/ - removeBackslashesAndGTroffIndicators(buf); - /* - * - step 5: convert white-space to real spaces, and remove - * unnecessary punctuation, ala: - *==> tr -d '*=+#$|%.,:;!?()\\][\140\047\042' | tr '\011\012\015' ' ' - ***** - * NOTE: we purposely do NOT process backspace-characters here. Perhaps - * there's an improvement in the wings for this? - */ - convertWhitespaceToSpaceAndRemoveSpecialChars(buf, isCR); - /* - * Look for hyphenations of words, to compress both halves into a sin- - * gle (sic) word. Regex == "[a-z]- [a-z]". - ***** - * NOTE: not sure this will work based on the way we strip punctuation - * out of the buffer above -- work on this later. - */ - dehyphen(buf); - /* - * - step 6: clean up miscellaneous punctuation, ala: - *==> perl -pe 's,[-_/]+ , ,g;s/print[_a-zA-Z]* //g;s/ / /g;' - */ - removePunctuation(buf); - /* - * Ignore function calls to print routines: only concentrate on what's being - * printed (sometimes programs do print licensing information) -- but don't - * ignore real words that END in 'print', like footprint and fingerprint. - * Here, we take a risk and just look for a 't' (in "footprint"), or for an - * 'r' (in "fingerprint"). If someone has ever coded a print routine that - * is named 'rprint' or tprint', we're spoofed. - */ - ignoreFunctionCalls(buf); - /* - * Convert the regex ' [X ]+' (where X is really the character #defined as - * INVISIBLE) to a single space (and a string of INVISIBLE characters). - */ - convertSpaceToInvisible(buf); - /* - * garbage collect: eliminate all INVISIBLE characters in the buffer - */ -#ifdef DOCTOR_DEBUG - int n = -#else - (void) -#endif - compressDoctoredBuffer(buf); - -#ifdef DOCTOR_DEBUG - printf("***** Now buffer %p contains %d bytes (%d clipped)\n", buf, - (int)strlen(buf), n); - printf("+++++ [Dr-AFTER] +++++:\n%s\n[==END==]\n", buf); -#endif /* DOCTOR_DEBUG */ - return; -} - -#ifdef DOCTORBUFFER_OLD -void doctorBuffer_old(char *buf, int isML, int isPS, int isCR) -{ - printf("Doctor Buffer old \n"); - char *cp; - char *x; - int f; - int g; - int n; - char *MODULE_LICENSE = "MODULE_LICENSE"; - -#if defined(PROC_TRACE) || defined(DOCTOR_DEBUG) - traceFunc("== doctorBuffer(%p, %d, %d, %d)\n", buf, isML, isPS, isCR); -#endif /* PROC_TRACE || DOCTOR_DEBUG */ - - /* - * convert a buffer of multiple *stuff* to text-only, separated by spaces - * We really only care about text "in a license" here, so strip out - * comments and other unwanted punctuation. - */ -#ifdef DOCTOR_DEBUG - printf("***** Processing %p (%d data bytes)\n", buf, (int)strlen(buf)); - printf("----- [Dr-BEFORE:] -----\n%s\n[==END==]\n", buf); -#endif /* DOCTOR_DEBUG */ - /* - * step 1: take care of embedded HTML/XML and special HTML-chars like - * " and   -- but DON'T remove the text in an HTML comment. - * There might be licensing text/information in the comment! - ***** - * Later on (in parseLicenses()) we search for URLs in the raw-text - */ - if (isML) { -#ifdef DOCTOR_DEBUG - printf("DEBUG: markup-languange directives found!\n"); -#endif /* DOCTOR_DEBUG */ - f = 0; - g = 0; - for (cp = buf; cp && *cp; cp++) { - if ((*cp == '<') && - (*(cp+1) != '<') && - (*(cp+1) != ' ')) { -#if (DEBUG>5) && defined(DOCTOR_DEBUG) - int x = strncasecmp(cp, "5 && DOCTOR_DEBUG */ - if (strncasecmp(cp, "5) && defined(DOCTOR_DEBUG) - int x = strncasecmp(cp, "©", 6); - printf("CHECK: %c%c%c%c%c%c == %d\n", *cp, - *(cp+1), *(cp+2), *(cp+3), *(cp+4), - *(cp+5), x); -#endif /* DEBUG>5 && DOCTOR_DEBUG */ - if (strncasecmp(cp, "©", 6)) { - *cp = ' '; - g = 1; - } - } else if (f && (*cp == '>')) { - *cp = ' '; - f = 0; - } else if (g && (*cp == ';')) { - *cp = ' '; - g = 0; - } else if (isEOL(*cp)) { - g = 0; - } - /* Don't remove text in an HTML comment (e.g., turn the flag off) */ - else if ((*cp == '!') && - f && - (cp != buf) && - (*(cp-1) == ' ')) { - *cp = ' '; - f = 0; - } else if (f || g) { - // *cp = INVISIBLE; larry comment out this line, I do not think this logic is correct - } else if ((*cp == '<') || (*cp == '>')) { - *cp = ' '; - } - } - } - /* - * step 2: remove comments that start at the beginning of a line, * like - * ^dnl, ^xcomm, ^comment, and // - */ - cp = buf; - while (idxGrep(_UTIL_BOL_MAGIC, cp, REG_ICASE|REG_NEWLINE|REG_EXTENDED)) { -#ifdef DOCTOR_DEBUG - dumpMatch(cp, "Found \"comment\"-text"); -#endif /* DOCTOR_DEBUG */ - cp += cur.regm.rm_so; - switch (*cp) { - case '>': - *cp++ = ' '; - break; - case '@': /* texi special processing */ - *cp++ = INVISIBLE; - if (strncasecmp(cp, "author", 6) == 0) { - (void) memset(cp, ' ', 6); - cp += 6; - } else if (strncasecmp(cp, "comment", 7) == 0) { - (void) memset(cp, ' ', 7); - cp += 7; - } else if (strncasecmp(cp, "center", 6) == 0) { - (void) memset(cp, ' ', 6); - cp += 6; - } - else if (strncasecmp(cp, "rem", 3) == 0) { - (void) memset(cp, ' ', 3); - cp += 3; - } else if (*cp == 'c') { - *cp++ = INVISIBLE; - if (strncasecmp(cp, " essay", 6) == 0) { - (void) memset(cp, ' ', 6); - cp += 6; - } - } - break; - case '/': /* c++ style comment // */ - if(cp && cp[0]) - { - /** when MODULE_LICENSE("GPL") is outcommented, do not get rid of this line. */ - if (strstr(cp, MODULE_LICENSE) && '/' == cp[0]) - { - (void) memset(cp, INVISIBLE, strlen(cp)); - cp += strlen(cp); - } - else { - (void) memset(cp, INVISIBLE, 2); - cp += 2; - } - } - break; - case '\\': /* c++ style comment // */ - if (strncasecmp(cp+1, "par ", 3) == 0) { - (void) memset(cp, ' ', 4); - } - cp += 4; - break; - case 'r': - case 'R': /* rem */ - case 'd': - case 'D': /* dnl */ - (void) memset(cp, INVISIBLE, 3); - cp += 3; - break; - case 'x': - case 'X': /* xcomm */ - (void) memset(cp, INVISIBLE, 5); - cp += 5; - break; - case 'c': - case 'C': /* comment */ - (void) memset(cp, INVISIBLE, 7); - cp += 7; - break; - case '%': /* %%copyright: */ - (void) memset(cp, INVISIBLE, 12); - cp += 12; - break; - } - } - /* - * Step 3 - strip out crap at end-of-line on postscript documents - */ - if (isPS) { -#ifdef DOCTOR_DEBUG - printf("DEBUG: postscript stuff detected!\n"); -#endif /* DOCTOR_DEBUG */ - cp = buf; - while (idxGrep(_UTIL_POSTSCR, cp, REG_EXTENDED|REG_NEWLINE)) { -#ifdef DOCTOR_DEBUG - dumpMatch(cp, "FOUND postscript-thingy"); -#endif /* DOCTOR_DEBUG */ - x = cp + cur.regm.rm_so; - cp += cur.regm.rm_eo; - while (x < cp) { - *x++ = ' '/*INVISIBLE*/; - } - } - } - /* - * - step 4: remove groff/troff font-size indicators, the literal - * string backslash-n and all backslahes, ala: - *==> perl -pe 's,\\s[+-][0-9]*,,g;s,\\s[0-9]*,,g;s/\\n//g;' | - f*/ - for (cp = buf; *cp; cp++) { - if (*cp == '\\') { - x = cp + 1; - if (*x && (*x == 's')) { - x++; - if (*x && ((*x == '+') || (*x == '-'))) { - x++; - } - while (*x && isdigit(*x)) { - x++; - } - } else if (*x && *x == 'n') { - x++; - } - memset(cp, /*INVISIBLE*/' ', (size_t) (x-cp)); - } - } - /* - * - step 5: convert white-space to real spaces, and remove - * unnecessary punctuation, ala: - *==> tr -d '*=+#$|%.,:;!?()\\][\140\047\042' | tr '\011\012\015' ' ' - ***** - * NOTE: we purposely do NOT process backspace-characters here. Perhaps - * there's an improvement in the wings for this? - */ - for (cp = buf; /*cp < end &&*/ *cp; cp++) { - if ((*cp == '\302') && (*(cp+1) == '\251')) { - cp += 2; - continue; - } - if (*cp & (char) 0x80) { - *cp = INVISIBLE; - continue; - } - switch (*cp) { - /* - Convert eol-characters AND some other miscellaneous - characters into spaces (due to comment-styles, etc.) - */ - case '\a': case '\t': case '\n': case '\r': - case '\v': case '\f': case '[': case ']': - case '{': case '}': case '*': case '=': - case '#': case '$': case '|': case '%': case '!': - case '?': case '`': case '"': case '\'': - *cp = ' '; - break; - /* allow + only within the regex " [Mm]\+ " */ - case '+': - if (*(cp+1) == 0 || *(cp+1) == ' ' || *(cp+1) == '\t' || *(cp+1) == '\n' || *(cp+1) == '\r') break; - else if (cp > buf+1 && (*(cp-1) == 'M' || - *(cp-1) == 'm') && *(cp-2) == ' ' && - *(cp+1) == ' ') { - f = 0; /* no-op */ - } - else { - *cp = ' '; - } - break; - case '(': - if ((*(cp+1) == 'C' || *(cp+1) == 'c') && - *(cp+2) == ')') { - cp += 2; - continue; - } - else { - *cp = ' '; - } - break; - case ')': case ',': case ':': case ';': - if (!isCR) { - *cp = ' '; - } - break; - case '.': - if (!isCR) { - *cp = INVISIBLE; - } - break; - case '<': - if (strncasecmp(cp, "': case '^': case '_': - case INVISIBLE: - break; - default: - if (!isalpha(*cp) && !isdigit(*cp)) { - printf("DEBUG: \\0%o @ %ld\n", - *cp & 0xff, cp-buf); - } - break; -#endif /* DOCTOR_DEBUG */ - } - } - /* - * Look for hyphenations of words, to compress both halves into a sin- - * gle (sic) word. Regex == "[a-z]- [a-z]". - ***** - * NOTE: not sure this will work based on the way we strip punctuation - * out of the buffer above -- work on this later. - */ - for (cp = buf; idxGrep(_UTIL_HYPHEN, cp, REG_ICASE); /*nada*/) { -#ifdef DOCTOR_DEBUG - x = cp + cur.regm.rm_so; - while ((x > cp) && !isspace(*x)) { - x--; - } - printf("Hey! hyphenated-word ["); - for (++x; x <= (cp + cur.regm.rm_eo); x++) { - printf("%c", *x); - } - while (!isspace(*x)) { - printf("%c", *x++); - } - printf("]\n"); - -#endif /* DOCTOR_DEBUG */ - cp += cur.regm.rm_so + 1; - *cp++ = INVISIBLE; - while (isspace(*cp)) { - *cp++ = INVISIBLE; - } - } - /* - * - step 6: clean up miscellaneous punctuation, ala: - *==> perl -pe 's,[-_/]+ , ,g;s/print[_a-zA-Z]* //g;s/ / /g;' - */ - for (cp = buf; idxGrep(_UTIL_MISCPUNCT, cp, REG_EXTENDED); /*nada*/) { - x = cp + cur.regm.rm_so; - cp += cur.regm.rm_eo - 1; /* leave ' ' alone */ - while (x < cp) { - *x++ = ' '; - } - cp++; - } - for (cp = buf; idxGrep(_UTIL_LATEX, cp, REG_ICASE); /*nada*/) { - x = cp + cur.regm.rm_so; - cp += cur.regm.rm_eo; - while (x <= cp) { - *x++ = ' '; - } - cp++; - } - /* - * Ignore function calls to print routines: only concentrate on what's being - * printed (sometimes programs do print licensing information) -- but don't - * ignore real words that END in 'print', like footprint and fingerprint. - * Here, we take a risk and just look for a 't' (in "footprint"), or for an - * 'r' (in "fingerprint"). If someone has ever coded a print routine that - * is named 'rprint' or tprint', we're spoofed. - */ - for (cp = buf; idxGrep(_UTIL_PRINT, cp, REG_ICASE); /*nada*/) { - x = cp + cur.regm.rm_so; - cp += (cur.regm.rm_eo - 1); - if ((x > buf) && ((*(x-1) == 'r') || (*(x-1) == 't'))) { - continue; - } - while (x < cp) { - *x++ = ' '; - } - cp++; - } - /* - * Convert the regex ' [X ]+' (where X is really the character #defined as - * INVISIBLE) to a single space (and a string of INVISIBLE characters). - */ - for (cp = buf; *cp; /*nada*/) { - if (*cp++ == ' ') { - while (*cp) { - if (*cp == ' ') { - *cp++ = INVISIBLE; - } else if (*cp == INVISIBLE) { - cp++; - } else { - break; - } - } - } - } - /* - * garbage collect: eliminate all INVISIBLE characters in the buffer - */ - x = cp = buf; - n = 0; - while (/*cp < end &&*/ *cp) { - while (/*cp < end &&*/ *cp == INVISIBLE) { - n++; - cp++; - } - if (*cp) { - *x++ = *cp++; - } - } - *x = NULL_CHAR; -#ifdef DOCTOR_DEBUG - printf("***** Now buffer %p contains %d bytes (%d clipped)\n", buf, - (int)strlen(buf), n); - printf("+++++ [Dr-AFTER] +++++:\n%s\n[==END==]\n", buf); -#endif /* DOCTOR_DEBUG */ - return; -} -#endif - - - diff --git a/src/fosslight_dependency/third_party/nomos/agent/doctorBuffer_utils.h b/src/fosslight_dependency/third_party/nomos/agent/doctorBuffer_utils.h deleted file mode 100644 index d455e6f2..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/doctorBuffer_utils.h +++ /dev/null @@ -1,37 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2014 Hewlett-Packard Development Company, L.P. - Copyright (C) 2014, Siemens AG - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ - -#ifndef DOCTORBUFFER_UTILS_H_ -#define DOCTORBUFFER_UTILS_H_ -int compressDoctoredBuffer( char* textBuffer); -void removeHtmlComments(char* buf); -void removeLineComments(char* buf); -void cleanUpPostscript(char* buf); -void removeBackslashesAndGTroffIndicators(char* buf); -void convertWhitespaceToSpaceAndRemoveSpecialChars( char* buf,int isCR); -void dehyphen(char* buf); -void removePunctuation(char* buf); -void ignoreFunctionCalls(char* buf); -void convertSpaceToInvisible(char* buf); -void doctorBuffer(char *buf, int isML, int isPS, int isCR); - -#ifdef DOCTORBUFFER_OLD -void doctorBuffer_old(char *buf, int isML, int isPS, int isCR); -#endif -#endif /* DOCTORBUFFER_UTILS_H_ */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/encode.c b/src/fosslight_dependency/third_party/nomos/agent/encode.c deleted file mode 100644 index e2ddb50f..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/encode.c +++ /dev/null @@ -1,79 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2011 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -/** - * \file - * \brief Simple utility program for escaping C strings for inclusion in code. - * - * Reads the first line of a given file and then outputs (to stdout) text - * suitable for initializing an licSpec_t structure. Used by GENSEARCHDATA - * script for processing STRINGS.in. - */ - -#include -#include -#include - -/** Buffer size to use */ -#define myBUFSIZ BUFSIZ - - -int main(int argc, char **argv) -{ - char str[myBUFSIZ]; - char *cp; - int i; - int len = 0; - FILE *fp; - - if (argc == 1) { - fprintf(stderr, "Usage: %s file\n", *argv); - exit(1); - } - - /** - * Open the file (or stdin) - */ - if (strcmp(argv[1], "-") == 0) { - fp = stdin; - } - else if ((fp = fopen(argv[1], "r")) == (FILE *) NULL) { - perror(argv[1]); - exit(1); - } - - /** - * read the first line and remove any trailing newline. - */ - if (fgets(str, sizeof(str), fp) == (char *) EOF) { - perror(argv[1]); - exit(1); - } - if ((cp = strrchr(str, '\n')) != (char *) NULL) { - *cp = '\0'; - } - len = strlen(str); - - printf("{%d, \"", len); - for (i = 0; i < len; i++) { - printf("\\%o", str[i] & 0xff); - } - printf("\\0\"}\n"); - - - return 0; -} diff --git a/src/fosslight_dependency/third_party/nomos/agent/json_writer.c b/src/fosslight_dependency/third_party/nomos/agent/json_writer.c deleted file mode 100644 index b6206b05..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/json_writer.c +++ /dev/null @@ -1,132 +0,0 @@ -/*************************************************************** - Copyright (C) 2019 Siemens AG - Author: Gaurav Mishra - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ - -#include "json_writer.h" -#include "nomos.h" -#include "nomos_utils.h" -#include - -void writeJson() -{ - char realPathOfTarget[PATH_MAX]; - json_object *result = json_object_new_object(); - json_object *licenses = json_object_new_array(); - json_object *fileLocation = NULL; - json_object *aLicense = NULL; - size_t i = 0; - - parseLicenseList(); - while (cur.licenseList[i] != NULL) - { - aLicense = json_object_new_string(cur.licenseList[i]); - cur.licenseList[i] = NULL; - json_object_array_add(licenses, aLicense); - ++i; - } - if (optionIsSet(OPTS_LONG_CMD_OUTPUT) - && realpath(cur.targetFile, realPathOfTarget)) - { - fileLocation = json_object_new_string(realPathOfTarget); - } - else - { - fileLocation = json_object_new_string(basename(cur.targetFile)); - } - json_object_object_add(result, "file", fileLocation); - json_object_object_add(result, "licenses", licenses); - char *prettyJson = unescapePathSeparator( - json_object_to_json_string_ext(result, JSON_C_TO_STRING_PRETTY)); - sem_wait(mutexJson); - if (*printcomma) - { - printf(",%s\n", prettyJson); - } - else - { - *printcomma = true; - printf("%s\n", prettyJson); - } - fflush(stdout); - sem_post(mutexJson); - free(prettyJson); - json_object_put(result); -} - -char *unescapePathSeparator(const char* json) -{ - const char *escapedSeparator = "\\/"; - const char *pathSeparator = "/"; - const int escPathLen = 2; - const int pathSepLen = 1; - size_t resultLength = 0; - size_t remainingLength = -1; - char *result; - char *tmp; - char *tempjson; - int count; - char *strtok_str; - if (!json) - { - return NULL; - } - tempjson = strdup(json); - - tmp = tempjson; - for (count = 0; (tmp = strstr(tmp, escapedSeparator)); count++) - { - tmp += escPathLen; - } - - resultLength = strlen(tempjson) - ((escPathLen - pathSepLen) * count); - - strtok_str = strtok(tempjson, escapedSeparator); - if (strtok_str == NULL) - { - return NULL; - } - result = (char*) calloc(resultLength + 1, sizeof(char)); - - strncpy(result, strtok_str, resultLength); - remainingLength = resultLength - strlen(result); - - while (count-- && remainingLength > 0) - { - strncat(result, pathSeparator, remainingLength); - strncat(result, strtok(NULL, escapedSeparator), remainingLength - 1); - remainingLength = resultLength - strlen(result); - } - free(tempjson); - return result; -} - -inline void initializeJson() -{ - mutexJson = (sem_t *) mmap(NULL, sizeof(sem_t), - PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_SHARED, -1, 0); - printcomma = (gboolean *) mmap(NULL, sizeof(gboolean), - PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, -1, 0); - sem_init(mutexJson, 2, SEM_DEFAULT_VALUE); -} - -inline void destroyJson() -{ - sem_destroy(mutexJson); - munmap(printcomma, sizeof(gboolean)); - munmap(mutexJson, sizeof(sem_t)); -} diff --git a/src/fosslight_dependency/third_party/nomos/agent/json_writer.h b/src/fosslight_dependency/third_party/nomos/agent/json_writer.h deleted file mode 100644 index 8e63ca40..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/json_writer.h +++ /dev/null @@ -1,55 +0,0 @@ -/*************************************************************** - Copyright (C) 2019 Siemens AG - Author: Gaurav Mishra - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ - -/** - * \file - * \brief Handle JSON outputs - */ - -#ifndef _JSON_WRITER_H_ -#define _JSON_WRITER_H_ - -/** - * \brief Write the scan output as a JSON - */ -void writeJson(); - -/** - * \brief Unescape the path separator from JSON - * - * Unescape the path separator from JSON string to make it readable. - * - * `"\/folder\/folder2\/file" => "/folder/folder2/file" - * @param json String to unescape - * @return The JSON with unescaped path separator. - */ -char *unescapePathSeparator(const char* json); - -/** - * Initialize the semaphore and boolean to store flag for comma in JSON - */ -void initializeJson(); - -/** - * Destory the semaphore the comma flag for JSON - */ -void destroyJson(); - - -#endif /* _JSON_WRITER_H_ */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/licenses.c b/src/fosslight_dependency/third_party/nomos/agent/licenses.c deleted file mode 100644 index 4c2ce796..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/licenses.c +++ /dev/null @@ -1,1340 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2013 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -/* Equivalent to core nomos v1.48 */ - -/** - * \file - * \brief utilities to scan, score and save license found data - * - * @version "$Id: licenses.c 4032 2011-04-05 22:16:20Z bobgo $" - */ - -#define _GNU_SOURCE - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "nomos.h" -#include "licenses.h" -#include "nomos_utils.h" -#include "util.h" -#include "list.h" -#include "nomos_regex.h" -#include "parse.h" -#include "_autodefs.h" - -#define HASHES "#####################" -#define DEBCPYRIGHT "debian/copyright" - -static void makeLicenseSummary(list_t *, int, char *, int); -static void noLicenseFound(); -#ifdef notdef -static void licenseStringChecks(); -static void findLines(char *, char *, int, int, list_t *); -#endif /* notdef */ -static int searchStrategy(int, char *, int); -static void saveLicenseData(scanres_t *, int, int, int); -static int scoreCompare(const void *, const void *); -static void printHighlightInfo(GArray* keyWords, GArray* theMatches); -static char any[6]; -static char some[7]; -static char few[6]; -static char year[7]; - -#ifdef MEMSTATS -extern void memStats(); -#endif /* MEMSTATS */ -#ifdef STOPWATCH -DECL_TIMER; -int timerBytes; -char timerName[64]; -#endif /* STOPWATCH */ - -#ifndef MAX -#define MAX(a, b) ((a) > (b) ? a : b) ///< Max of two -#define MIN(a, b) ((a) < (b) ? a : b) ///< Min of two -#endif - -/** - * \brief license initialization - */ -void licenseInit() { - - int i; - int len; - int same; - int ssAbove = 0; - int ssBelow = 0; - item_t *p; - char *cp; - char buf[myBUFSIZ]; - -#ifdef PROC_TRACE - traceFunc("== licenseInit()\n"); -#endif /* PROC_TRACE */ - - strcpy(any, "=ANY="); - strcpy(some, "=SOME="); - strcpy(few, "=FEW="); - strcpy(year, "=YEAR="); - listInit(&gl.sHash, 0, "search-cache"); /* CDB - Added */ - - /** - * Examine the search strings in licSpec looking for 3 corner-cases - * to optimize all the regex-searches we'll be making: - * -# The seed string is the same as the text-search string - * -# The text-search string has length 1 and contents == "." - * -# The seed string is the 'null-string' indicator - */ - for (i = 0; i < NFOOTPRINTS; i++) { - same = 0; - len = licSpec[i].seed.csLen; - if (licSpec[i].text.csData == NULL_STR) { - licText[i].tseed = "(null)"; - } - if ((licSpec[i].text.csLen == 1) && (*(licSpec[i].text.csData) == '.')) { - same++; - /*CDB -- CHanged next line to use ! */ - } - else if ((licSpec[i].seed.csLen == licSpec[i].text.csLen) && !memcmp( - licSpec[i].seed.csData, licSpec[i].text.csData, len)) { - same++; - } - /** - * Step 1, copy the tseed "search seed", decrypt it, and munge any wild- - * cards in the string. Note that once we eliminate the compile-time - * string encryption, we could re-use the same exact data. In fact, some - * day (in our copious spare time), we could effectively remove licSpec. - */ -#ifdef FIX_STRINGS - fixSearchString(buf, sizeof(buf), i, YES); -#endif /* FIX_STRINGS */ - - licText[i].tseed = licSpec[i].seed.csData; - - /*---------------------------------------*/ - /* CDB - This is the code that I inadvertently removed. */ - /** - * Step 2, add the search-seed to the search-cache - */ - if ((p = listGetItem(&gl.sHash, licText[i].tseed)) == NULL_ITEM) { - LOG_FATAL("Cannot enqueue search-cache item \"%s\"", licText[i].tseed) - Bail(-__LINE__); - } - p->refCount++; - - /*--------------------------------*/ - - /** - * Step 3, handle special cases of NULL seeds and (regex == seed) - */ - if (strcmp(licText[i].tseed, "=NULL=") == 0) { /* null */ -#ifdef OLD_DECRYPT - memFree(licText[i].tseed, MTAG_SEEDTEXT); -#endif /* OLD_DECRYPT */ - licText[i].tseed = NULL_STR; - licText[i].nAbove = licText->nBelow = -1; - } - if (same) { /* seed == phrase */ - licText[i].regex = licText[i].tseed; -#if 0 - ssBelow = searchStrategy(i, buf, NO); - licText[i].nBelow = MIN(ssBelow, 2); -#endif - licText[i].nAbove = licText[i].nBelow = 0; - } - /** - * Step 4, decrypt and fix the regex (since seed != regex here). Once - * we have all that, searchStrategy() helps determine how many lines - * above and below [the seed] to save -- see findPhrase() for details. - */ - else { /* seed != phrase */ - len = licSpec[i].text.csLen; - memcpy(buf, licSpec[i].text.csData, (size_t)(len + 1)); -#ifdef OLD_DECRYPT - decrypt(buf, len); -#endif /* OLD_DECRYPT */ - ssAbove = searchStrategy(i, buf, YES); - ssBelow = searchStrategy(i, buf, NO); -#if 0 - licText[i].nAbove = MIN(ssAbove, 3); - licText[i].nBelow = MIN(ssBelow, 6); -#endif - licText[i].nAbove = licText[i].nBelow = 1; /* for now... */ -#ifdef FIX_STRINGS - fixSearchString(buf, sizeof(buf), i, NO); -#endif /* FIX_STRINGS */ - licText[i].regex = copyString(buf, MTAG_SRCHTEXT); - } - if (p->ssComp < (ssAbove * 100) + ssBelow) { - p->ssComp = (ssAbove * 100) + ssBelow; - } - licText[i].compiled = 0; - licText[i].plain = 1; /* assume plain-text for now */ - } - /** - * Now that we've computed the above- and below-values for license - * searches, set each of the appropriate entries with the MAX values - * determined. Limit 'above' values to 3 and 'below' values to 6. - ***** - * QUESTION: the above has worked in the past - is it STILL valid? - */ - for (i = 0; i < NFOOTPRINTS; i++) { - if (licText[i].tseed == NULL_STR) { -#ifdef LICENSE_DEBUG - LOG_NOTICE("License[%d] configured with NULL seed", i) -#endif /* LICENSE_DEBUG */ - continue; - } - if (licText[i].tseed == licText[i].regex) { -#ifdef LICENSE_DEBUG - LOG_NOTICE("License[%d] seed == regex", i) -#endif /* LICENSE_DEBUG */ - continue; - } - licText[i].nAbove = p->ssComp / 100; - licText[i].nBelow = p->ssComp % 100; - } - - /** - * Finally (if enabled), compare each of the search strings to see if - * there are duplicates, and determine if some of the regexes can be - * searched via strstr() (instead of it's slower-but-more-functional - * regex brethern). - */ - for (i = 0; i < NFOOTPRINTS; i++) { - for (cp = _REGEX(i); licText[i].plain && *cp; cp++) { - switch (*cp) { - case '.': - case '*': - case '+': - case '|': - case '[': - case ']': - case '(': - case ')': - case '^': - case '$': - case '?': - case ',': - case '<': - case '>': - case '{': - case '}': - case '\\': - licText[i].plain = 0; - break; - } - } - if (i >= _CR_first && i <= _CR_last) { - continue; - } - } - return; -} - -#define LINE_BYTES 50 /**< fudge for punctuation, etc. */ -#define LINE_WORDS 8 /**< assume this many words per line */ -#define WC_BYTES 30 /**< wild-card counts this many bytes */ -#define WC_WORDS 3 /**< wild-card counts this many words */ -#define PUNT_LINES 3 /**< if "dunno", guess this line-count */ -#define MIN_LINES 1 /**< normal minimum-extra-lines */ - - -/** - * \note This function should be called BEFORE the wild-card specifier =ANY= - * is converted to a REAL regex ".*" (e.g., before fixSearchString())! - * - * ASSUME a "standard line-length" of 50 characters/bytes. That's - * likely too small, but err on the side of being too conservative. - * - * Determining for the number of text-lines ABOVE involves finding out - * how far into the 'license footprint' the seed-word resides. ASSUME - * a standard line-length of 50 (probably too small, but we'll err on - * the side of being too conservative. If the seed isn't IN the regex, - * assume a generally-bad worst-case and search 2-3 lines above. - * - * Determining for the number of text-lines BELOW involves finding out - * how long the 'license footprint' actually is, plus adding some fudge - * based on the number of wild-cards in the footprint. - * \param index License index from Strings.in - * \param regex regex to match for - * \param aboveCalc Set to look above - */ -static int searchStrategy(int index, char *regex, int aboveCalc) { - char *start; - char *cp; - char *s; - char seed[myBUFSIZ]; - int words; - int lines; - int bytes; - int minLines; - int matchWild; - int matchSeed; - -#ifdef PROC_TRACE - traceFunc("== searchStrategy(%d(%s), \"%s\", %d)\n", index, - _SEED(index), regex, aboveCalc); -#endif /* PROC_TRACE */ - - s = _SEED(index); - if (s == NULL_STR || strlen(s) == 0) { -#ifdef LICENSE_DEBUG - LOG_NOTICE("Lic[%d] has NULL seed", index) -#endif /* LICENSE_DEBUG */ - return (0); - } - if (regex == NULL_STR || strlen(regex) == 0) { -#ifdef LICENSE_DEBUG - Assert(NO, "searchStrategy(%d) called with NULL data", index); -#endif /* LICENSE_DEBUG */ - return (0); - } - if (strcmp(s, regex) == 0) { - return (0); - } - bytes = words = lines = 0; - (void) strcpy(seed, s); - while (seed[strlen(seed) - 1] == ' ') { - seed[strlen(seed) - 1] = NULL_CHAR; - } - /* how far ABOVE to look depends on location of the seed in footprint */ - if (aboveCalc) { - if (strGrep(seed, regex, REG_ICASE) == 0) { -#ifdef LICENSE_DEBUG - printf("DEBUG: seed(%d) no hit in regex!\n", index); -#endif /* LICENSE_DEBUG */ - return (PUNT_LINES); /* guess */ - } - start = regex; - cp = start; - for (minLines = 0; cp != NULL; start = cp + 1) { - matchWild = matchSeed = 0; - if ((cp = strchr(start, ' ')) != NULL_STR) { - *cp = NULL_CHAR; - } - matchWild = (strcmp(start, any) == 0 || strcmp(start, some) == 0 - || strcmp(start, few)); - matchSeed = strcmp(start, seed) == 0; - if (!matchSeed) { - bytes += (matchWild ? WC_BYTES : strlen(start) + 1); - words += (matchWild ? WC_WORDS : 1); - } - if (cp != NULL_STR) { - *cp = ' '; - } - if (matchSeed) { /* found seed? */ - break; - } - } - /* optimization for single-lines: */ - minLines += (words >= LINE_WORDS / 2 && words < LINE_WORDS); - lines = MAX(bytes/LINE_BYTES, words/LINE_WORDS) + minLines; -#ifdef LICENSE_DEBUG - printf("ABOVE: .... bytes=%d, words=%d; max(%d,%d)+%d == %d\n", - bytes, words, bytes/LINE_BYTES, words/LINE_WORDS, - minLines, lines); -#endif /* LICENSE_DEBUG */ - return (words == 0 ? 0 : lines); - } - /* calculate how far below to look -- depends on length of footprint */ - for (minLines = MIN_LINES, cp = start = regex; cp; start = cp + 1) { - matchWild = matchSeed = 0; - if ((cp = strchr(start, ' ')) != NULL_STR) { - *cp = NULL_CHAR; - } - matchWild = (strcmp(start, any) == 0 || strcmp(start, some) == 0 - || strcmp(start, few)); - matchSeed = strcmp(start, seed) == 0; - if (matchSeed) { - bytes = words = 0; - /*minLines = MIN_LINES+1;*/ - } - else { - bytes += (matchWild ? WC_BYTES : strlen(start) + 1); - words += (matchWild ? WC_WORDS : 1); - } - if (cp != NULL_STR) { - *cp = ' '; - } - } - lines = MAX(bytes/LINE_BYTES, words/LINE_WORDS) + minLines; -#ifdef LICENSE_DEBUG - printf("BELOW: .... bytes=%d, words=%d; max(%d,%d)+%d == %d\n", - bytes, words, bytes/LINE_BYTES, words/LINE_WORDS, minLines, lines); -#endif /* LICENSE_DEBUG */ - return (lines); -} - -#ifdef FIX_STRINGS -static void fixSearchString(char *s, int size, int i, int wildcardBad) -{ - char *cp; - int len; - char wildCard[16]; - /* */ -#ifdef PROC_TRACE - traceFunc("== fixSearchString(\"%s\", %d, %d, %d)\n", s, size, i, - wildcardBad); -#endif /* PROC_TRACE */ - /* */ - /** - * Decrypt the text-string and then replace all instances of our wild- - * card string =ANY= to ".*". This may appear stupid on the surface, - * but the string =ANY= is *more* noticable when examining the text - * than an 'embedded' .* wild-card is. Same for =SOME=... - ***** - * Make sure the search string does NOT start with a wild-card; it's not - * necessary and will probably double execution time. Once we know the - * first text is 'not wild', walk through an replace our strange =ANY= - * wildcards with regex(7) wild-cards. The only magic is to ensure the - * string doesn't END in a wild-card, either (more performance dumb-ness). - */ - cp = s; - while (isspace(*cp)) { - cp++; - } - if (strncmp(cp, any, sizeof(any)-1) == 0 || - strncmp(cp, some, sizeof(some)-1) == 0 || - strncmp(cp, few, sizeof(few)-1) == 0) { - printf("string %d == \"%s\"\n", i, cp); - LOG_FATAL("Text-spec %d begins with a wild-card", i) - Bail(-__LINE__); - } - /* - * We'll replace the string " =ANY=" (6 chars) with ".*" (2 chars). - * The token MUST OCCUR BY ITSELF (e.g., not a substring)! - */ - (void) sprintf(wildCard, " %s", any); - len = strlen(wildCard); - for (cp = s; strGrep(wildCard, cp, 0); ) { - if (wildcardBad) { - LOG_FATAL("OOPS, regex %d, wild-card not allowed here", i) - Bail(-__LINE__); - } - if (*(cp+cur.regm.rm_eo) == NULL_CHAR) { - LOG_FATAL("String %d ends in a wild-card", i) - Bail(-__LINE__); - } - else if (*(cp+cur.regm.rm_eo) == ' ') { -#ifdef DEBUG - printf("BEFORE(any): %s\n", s); -#endif /* DEBUG */ - cp += cur.regm.rm_so; - *cp++ = '.'; - *cp++ = '*'; - memmove(cp, cp+len-1, strlen(cp+len)+2); -#ifdef DEBUG - printf("_AFTER(any): %s\n", s); -#endif /* DEBUG */ - } - else { - LOG_NOTICE("Wild-card \"%s\" sub-string, phrase %d", wildCard, i) - cp += cur.regm.rm_eo; - } - } - /* - * Ditto for replacing " =SOME= " (8 chars) with ".{0,60}" (7 chars) - */ - (void) sprintf(wildCard, " %s", some); - len = strlen(wildCard); - for (cp = s; strGrep(wildCard, cp, 0); ) { - if (wildcardBad) { - LOG_FATAL("OOPS, regex %d, wild-card not allowed here", i) - Bail(-__LINE__); - } - if (*(cp+cur.regm.rm_eo) == NULL_CHAR) { - LOG_FATAL("String %d ends in a wild-card", i) - Bail(-__LINE__); - } - else if (*(cp+cur.regm.rm_eo) == ' ') { -#ifdef DEBUG - printf("BEFORE(some): %s\n", s); -#endif /* DEBUG */ - cp += cur.regm.rm_so; - *cp++ = '.'; - *cp++ = '{'; - *cp++ = '0'; - *cp++ = ','; - *cp++ = '6'; - *cp++ = '0'; - *cp++ = '}'; - memmove(cp, cp+len-6, strlen(cp+len)+7); -#ifdef DEBUG - printf("_AFTER(some): %s\n", s); -#endif /* DEBUG */ - } - else { - LOG_NOTICE("Wild-card \"%s\" sub-string, phrase %d", wildCard, i) - cp += cur.regm.rm_eo; - } - } - /* - * And, same for replacing " =FEW= " (7 chars) with ".{0,15}" (7 chars) - */ - (void) sprintf(wildCard, " %s", few); - len = strlen(wildCard); - for (cp = s; strGrep(wildCard, cp, 0); ) { - if (wildcardBad) { - LOG_FATAL("OOPS, regex %d, wild-card not allowed here", i) - Bail(-__LINE__); - } - if (*(cp+cur.regm.rm_eo) == NULL_CHAR) { - LOG_FATAL("String %d ends in a wild-card", i) - Bail(-__LINE__); - } - else if (*(cp+cur.regm.rm_eo) == ' ') { -#ifdef DEBUG - printf("BEFORE(few): %s\n", s); -#endif /* DEBUG */ - cp += cur.regm.rm_so; - *cp++ = '.'; - *cp++ = '{'; - *cp++ = '0'; - *cp++ = ','; - *cp++ = '3'; - *cp++ = '0'; - *cp++ = '}'; - memmove(cp, cp+len-6, strlen(cp+len)+7); -#ifdef DEBUG - printf("_AFTER(few): %s\n", s); -#endif /* DEBUG */ - } - else { - LOG_NOTICE("Wild-card \"%s\" sub-string, phrase %d", wildCard, i) - cp += cur.regm.rm_eo; - } - } - /* - * AND, replace the string "=YEAR=" with "[12][0-9][0-9][0-9][,- ]*". - * The former is 6 chars in length, the latter is 24. We must be careful - * not to overflow the buffer we're passed. - */ - len = strlen(year); - while (strGrep(year, s, 0)) { - if (strlen(s)+25 >= size) { /* 24 plus 1(NULL) */ - LOG_FATAL("buffer overflow, text-spec %d", i) - Bail(-__LINE__); - } - cp = (char *)(s+cur.regm.rm_so); -#ifdef DEBUG - printf("BEFORE: %s\n", s); -#endif /* DEBUG */ - memmove(cp+25, cp+6, strlen(cp+len)+1); /* was 26, 6 */ - memset(cp+6, '_', 19); -#ifdef DEBUG - printf("_MOVED: %s\n", s); -#endif /* DEBUG */ - *cp = *(cp+4) = *(cp+9) = *(cp+14) = *(cp+19) = '['; - *(cp+1) = '1'; - *(cp+2) = '2'; - *(cp+5) = *(cp+10) = *(cp+15) = '0'; - *(cp+6) = *(cp+11) = *(cp+16) = '-'; - *(cp+7) = *(cp+12) = *(cp+17) = '9'; - *(cp+3) = *(cp+8) = *(cp+13) = *(cp+18) = *(cp+23) = ']'; - *(cp+20) = ' '; - *(cp+21) = ','; - *(cp+22) = '-'; - *(cp+24) = '*'; -#ifdef DEBUG - printf("_AFTER: %s\n", s); -#endif /* DEBUG */ - } - return; -} -#endif /* FIX_STRINGS */ - -char* createRelativePath(item_t *p, scanres_t *scp) -{ - char* cp; - if (*(p->str) == '/') - { - strncpy(scp->fullpath, p->str, sizeof(scp->fullpath)-1); - scp->nameOffset = (size_t) (cur.targetLen + 1); - cp = scp->fullpath; /* full pathname */ - } - else - { - strncpy(scp->fullpath, cur.cwd, sizeof(scp->fullpath)-1); - strncat(scp->fullpath, "/", sizeof(scp->fullpath)-1); - strncat(scp->fullpath, p->str, sizeof(scp->fullpath)-1); - scp->nameOffset = (size_t) (cur.cwdLen + 1); - cp = p->str; /* relative path == faster open() */ - } - - return cp; -} - -/** - * For EACH file, determine if we want to scan it, and if so, scan - * the candidate files for keywords (to obtain a "score" -- the higher - * the score, the more likely it has a real open source license in it). - * - * There are lots of things that will 'disinterest' us in a file (below). - * \param scores - * \param licenseList - * \note This loop is called 400,000 to 500,000 times when parsing a - * distribution. Little slow-downs ADD UP quickly! - * \note Some other part of FOSSology has already decided we - * want to scan this file, so we need to look into removing this - * file scoring stuff. - * \FIXME We don't currently use _UTIL_FILTER, which is set up to - * exclude some files by filename. - */ -void scanForKeywordsAndSetScore(scanres_t* scores, list_t* licenseList) -{ - /* - CDB -- Some other part of FOSSology has already decided we - want to scan this file, so we need to look into removing this - file scoring stuff. - */ - scanres_t* scp; - int c; - item_t* p; - char* textp; - char* cp; - for (scp = scores; (p = listIterate(licenseList)) != NULL_ITEM ; scp++) - { - - /* - * Use *relative* pathnames wherever possible -- we'll spend less time in - * the kernel looking up inodes and pathname components that way. - */ - cp = createRelativePath(p, scp); - -#ifdef DEBUG - printf("licenseScan: scan %s\n", - (char *)(scp->fullpath+scp->nameOffset)); -#endif /* DEBUG */ - /* - * Zero-length files are of no interest; there's nothing in them! - * CDB - We need to report this error somehow... and clean up - * /tmp/nomos.tmpdir (or equivalent). - */ - if ((textp = mmapFile(cp)) == NULL_STR) { - /* perror(cp); */ - /*printf("Zero length file: %s\n", cp); */ - continue; - } - scp->size = cur.stbuf.st_size; /* Where did this get set ? CDB */ - /* - * Disinterest #3 (discriminate-by-file-content): - * Files not of a known-good type (as reported by file(1)/magic(3)) should - * also be skipped (some are quite large!). _UTIL_MAGIC (see _autodata.c) - * contains a regex for MOST of the files we're interested in, but there - * ARE some exceptions (logged below). - * - ***** - * exception (A): patch/diff files are sometimes identified as "data". - ***** - * FIX-ME: we don't currently use _UTIL_FILTER, which is set up to - * exclude some files by filename. - */ - /* - * Scan for keywords (_KW_), and use the number found for the score. - */ - assert(NKEYWORDS >= sizeof(scp->kwbm)); - - for (scp->kwbm = c = 0; c < NKEYWORDS; c++) - { - if (idxGrep_recordPosition(c + _KW_first, textp, REG_EXTENDED | REG_ICASE)) - { - scp->kwbm |= (1 << c); // put a one at c'th position in kwbm (KeywordByteMap) - scp->score++; -#if (DEBUG > 5) - printf("Keyword %d (\"%s\"): YES\n", c, _REGEX(c+_KW_first)); -#endif /* DEBUG > 5 */ - } - } - munmapFile(textp); -#if (DEBUG > 5) - printf("%s = %d\n", (char *)(scp->fullpath+scp->nameOffset), - scp->score); -#endif /* DEBUG > 5 */ - - } - return; -} - -/** - * \brief Reset scores to 1 if it is 0 - * - * If we were invoked with a single-file-only option, just over-ride the - * score calculation -- give the file any greater-than-zero score so it - * appears as a valid candidate. This is important when the file to be - * evaluated has no keywords, yet might contain authorship inferences. - * \param scores - * \note It is always the case that we are doing one file at a time. - */ -void relaxScoreCriterionForSingleFile(scanres_t* scores) -{ - /* - * CDB - It is always the case that we are doing one file at a time. - */ - if (scores->score == 0) - { - scores->score = 1; - } -} - -/** - * \brief Run through the list once more - * - * This time we record and count the license candidates to process. License - * candidates are determined by either (score >= low) *OR* matching a set of - * filename patterns. - * @param lowWater Lowest score to filter - * @param scores Scores to filter - * @param nFiles Number of files - * @return - */ -int fiterResultsOfKeywordScan(int lowWater, scanres_t* scores, int nFiles) -{ - int nCand; - - scanres_t* scp; - int i; - - for (scp = scores, i = nCand = 0; i < nFiles; i++, scp++) - { - scp->relpath = (char *) (scp->fullpath + scp->nameOffset); - if (idxGrep(_FN_LICENSEPATT, pathBasename(scp->relpath), REG_ICASE - | REG_EXTENDED)) { - scp->flag = 1; - if (idxGrep(_FN_DEBCPYRT, scp->relpath, REG_ICASE)) { - scp->flag = 2; - } - } - else if (scp->score >= lowWater) { - scp->flag |= 1; - } - /* - * So now, save any license candidate EITHER named "debian/copyright*" - * OR having a score > 0 - */ - if (scp->flag == 2 || (scp->score && scp->flag)) { -#if (DEBUG > 3) - printf("%s [score: %d], %07o\n", scp->fullpath, - scp->score, scp->kwbm); -#endif /* DEBUG > 3 */ - nCand++; - } - } - return nCand; -} - -/** - * \brief scan the list for a license(s) - * - * This routine takes a list, but in fossology we always pass in a single file. - * - * Set up defaults for the minimum-scores for which we'll save files. - * Try to ensure a minimum # of license files will be recorded for this - * source/package (try, don't force it too hard); see if lower scores - * yield a better fit, but recognize the of a non-license file increases - * as we lower the bar. - */ -void licenseScan(list_t *licenseList) -{ - int lowWater = 1; // constant - - int nCand; //relevant output - - //fields - int counts[NKEYWORDS + 1]; - scanres_t *scores; - - //recycled temp variables - scanres_t *scp; - int nFilesInList; - -#ifdef PROC_TRACE - traceFunc("== licenseScan(%p, %d)\n", l); -#endif /* PROC_TRACE */ - -#ifdef MEMSTATS - printf("... allocating %d bytes for scanres_t[] array\n", - sizeof(*scp)*licenseList->used); -#endif /* MEMSTATS */ - - scores = (scanres_t *) memAlloc(sizeof(*scp) * licenseList->used, MTAG_SCANRES); - memset((void *) counts, 0, (size_t) ((NKEYWORDS + 1) * sizeof(int))); - - scanForKeywordsAndSetScore(scores, licenseList); - relaxScoreCriterionForSingleFile(scores); - -#ifdef PROC_TRACE - traceFunc("=> invoking qsort(): callback == scoreCompare()\n"); -#endif /* PROC_TRACE */ - - nFilesInList = licenseList->used; - qsort(scores, (size_t) nFilesInList, sizeof(*scp), scoreCompare); - - //recycled temp variables - nCand = fiterResultsOfKeywordScan(lowWater, scores, nFilesInList); - /* - * OF SPECIAL INTEREST: saveLicenseData() changes directory (to "..")!!! - */ - /* DBug: printf("licenseScan: gl.initwd is:%s\n",gl.initwd); */ - saveLicenseData(scores, nCand, nFilesInList, lowWater); - /* - * At this point, we don't need either the raw-source directory or the - * unpacked results anymore, so get rid of 'em. - */ - if (scores->licenses) free(scores->licenses); - memFree((char *) scores, "scores table"); - return; -} /* licenseScan */ - -/** - * \brief Compare two scores - * \return -1 ; If score1 > score2 \n - * 1 ; If score1 < score2 \n - * -1 ; If fullpath1 != NULL and follpath2 = NULL \n - * 1 ; If fullpath1 = NULL and follpath2 != NULL \n - * ; String comparison of fullpath if conditions above fails - * \note this procedure is a qsort callback that provides a REVERSE - * integer sort (highest to lowest) - */ -static int scoreCompare(const void *arg1, const void *arg2) { - scanres_t *sc1 = (scanres_t *) arg1; - scanres_t *sc2 = (scanres_t *) arg2; - - if (sc1->score > sc2->score) { - return (-1); - } - else if (sc1->score < sc2->score) { - return (1); - } - else if ((sc1->fullpath != NULL_STR) && (sc2->fullpath == NULL_STR)) { - return (-1); - } - else if ((sc2->fullpath != NULL_STR) && (sc1->fullpath == NULL_STR)) { - return (1); - } - else { - return (-strcmp(sc1->fullpath, sc2->fullpath)); - } -} - -/** - * \brief Mark curent scan as LS_NOSUM (No_license_found) - */ -static void noLicenseFound() { - -#ifdef PROC_TRACE - traceFunc("== noLicenseFound\n"); -#endif /* PROC_TRACE */ - - (void) strncpy(cur.compLic, LS_NOSUM, sizeof(cur.compLic)-1); - return; -} - -/** - * \brief Print highlight info about matches - * - * This functions prtints to STDOUT only if OPTS_HIGHLIGHT_STDOUT is set. - * - * Format: - * ` Keyword at , length , index = 0, - * License ## at , length , index = ,` - * \param keyWords Keywords matches - * \param theMatches License matches - */ -static void printHighlightInfo(GArray* keyWords, GArray* theMatches){ - if ( optionIsSet(OPTS_HIGHLIGHT_STDOUT) ) - { - printf(" Highlighting Info at"); - int currentKeyw; - for (currentKeyw=0; currentKeyw < keyWords->len; ++currentKeyw ) { - MatchPositionAndType* ourMatchv = getMatchfromHighlightInfo(keyWords,currentKeyw ); - printf(" Keyword at %i, length %i, index = 0,", ourMatchv->start, ourMatchv->end - ourMatchv->start ); - } - int currentLicence; - for (currentLicence = 0; currentLicence < theMatches->len; ++currentLicence) - { - LicenceAndMatchPositions* theLicence = getLicenceAndMatchPositions(theMatches, currentLicence); - - int highl; - for (highl = 0; highl < theLicence->matchPositions->len; ++highl) - { - MatchPositionAndType* ourMatchv = getMatchfromHighlightInfo(theLicence->matchPositions, highl); - printf(" License #%s# at %i, length %i, index = %i,", theLicence->licenceName , ourMatchv->start, ourMatchv->end - ourMatchv->start, ourMatchv->index ); - - } - } - } - printf("\n"); - return; -} - -/** - * \brief Prints keywords match to STDOUT - */ -static void printKeyWordMatches(scanres_t *scores, int idx) -{ - int c; - int base; - char miscbuf[myBUFSIZ]; - int offset; - /* - * construct the list of keywords that matched in licenseScan() - */ - (void) strcpy(miscbuf, "Matches: "); - offset = 9; /* e.g., strlen("Matches: ") */ - for (base = c = 0; c < NKEYWORDS; c++) - { - if (scores[idx].kwbm & (1 << c)) - { - if (base++) - { - miscbuf[offset++] = ','; - miscbuf[offset++] = ' '; - } - offset += sprintf(miscbuf + offset, "%s", _REGEX(c + _KW_first)); - } - } - - printf("%s\n", miscbuf); - -} - -/** - * \brief Compare two integers - * \returns negative value if a < b; zero if a = b; positive value if a > b. - */ -static gint compare_integer(gconstpointer a, gconstpointer b) -{ - gint out; - - if (a < b) - out = -1; - else if (a == b) - out = 0; - else - out = 1; - return out; - -} - -/** - * \brief Rescan original content for the licenses already found - * \param textp Original text string - * \param isFileMarkupLanguage Is original text a markup text - * \param isPS Is original text a PostScript text - */ -static void rescanOriginalTextForFoundLicences(char* textp, int isFileMarkupLanguage, int isPS){ - if (cur.theMatches->len > 0 ) - { - if (cur.cliMode == 1 && !optionIsSet(OPTS_HIGHLIGHT_STDOUT) ) return; - // do a fresh doctoring of the buffer - g_array_free(cur.docBufferPositionsAndOffsets, TRUE); - cur.docBufferPositionsAndOffsets = g_array_new(FALSE, FALSE, sizeof(pairPosOff)); - doctorBuffer(textp, isFileMarkupLanguage, isPS, NO); - - for (cur.currentLicenceIndex = 0; cur.currentLicenceIndex < cur.theMatches->len; ++cur.currentLicenceIndex) - { - LicenceAndMatchPositions* currentLicence = getLicenceAndMatchPositions(cur.theMatches, cur.currentLicenceIndex); - - //we want to only look for each found index once - g_array_sort(currentLicence->indexList, compare_integer); - - int myIndex; - int lastindex = -1; - for (myIndex = 0; myIndex < currentLicence->indexList->len; ++myIndex) - { - int currentIndex = g_array_index(currentLicence->indexList, int, myIndex); - if (currentIndex == lastindex) continue; - idxGrep_recordPositionDoctored(currentIndex, textp, REG_ICASE | REG_EXTENDED); - lastindex = currentIndex; - } - } - } -} - -/** - * \brief Save/creates all the license-data in a specific directory temp - * directory? - * - * \note OF SPECIAL INTEREST: this function changes directory! - * - * \todo CDB - Some initializations happen here for no particular reason - * \FIXME we should filter some names out like the shellscript does. - * For instance, word-spell-dictionary files will score high but will - * likely NOT contain a license. But the shellscript filters these - * names AFTER they're already scanned. Think about it. - * \FIXME BUG: When _FTYP_POSTSCR is "(postscript|utf-8 unicode)", the resulting - * license-parse yields 'NoLicenseFound' but when both "postscript" and - * "utf-8 unicode" are searched independently, parsing definitely finds - * quantifiable licenses. WHY? - * \callgraph - */ -static void saveLicenseData(scanres_t *scores, int nCand, int nElem, - int lowWater) { - int i; - // int c; - // int base; - int size; - int highScore = scores->score; - int isFileMarkupLanguage = 0; - int isPS = 0; - // int offset; - int idx; - char *fileName; - char *textp; - item_t *p; - char realPathOfTarget[PATH_MAX]; - -#ifdef PROC_TRACE - traceFunc("== saveLicenseData(%p, %d, %d, %d, %d)\n", scores, nCand, - nElem, lowWater); -#endif /* PROC_TRACE */ - - /* DBug: printf("saveLicenseData on entry gl.initwd is:%s\n",gl.initwd); */ - /* - * Save the necessary licensing information in a list of files... - */ -#ifdef DEBUG - printf("saveLicenseData: %d candidates\n", nCand); -#endif /* DEBUG */ - - /* changeDir("..");*//* CDB- Why?!!!! */ - - /* BE PERFORMANCE-CONSCIOUS WITHIN THIS LOOP (it runs a LOT!) */ - /* - * OPTIMIZE-ME: should we store local variables and use lots of - * registers instead of accessing everything through the scanres - * array? We've got to be doing some serious address calculations. - */ - i = 1; - - for (idx = 0; i <= nCand; idx++) { - /* - * If we didn't flag this file as needing to be saved, ignore it. - */ - if (scores[idx].flag == 0) { - continue; - } - (void) sprintf(scores[idx].linkname, "Link%03d.txt", i++); -#if DEBUG > 5 - printf("name: %s\n[%s]\n", scores[idx].relpath, scores[idx].fullpath); -#endif /* DEBUG > 5 */ - /* - * Kludge up the pointer to the relative-path in scores[idx].fullpath - * so we don't - * have to as many directory entries to open each file... this works for - * anything EXCEPT 'distribution files'. - */ - fileName = scores[idx].fullpath; - if (optionIsSet(OPTS_DEBUG)) { - printf("File name: %s\n", fileName); - } - if ((textp = mmapFile(fileName)) == NULL_STR) { - - /* Fatal("Null mmapFile(), path=%s", fileName); */ - noLicenseFound(); - continue; - } - /* CDB size = (int) cur.stbuf.st_size; */ - size = scores[idx].size; - if (scores[idx].dataOffset) { - textp += scores[idx].dataOffset; - } - - /* wordCount() sets nLines in global structure "cur". */ - wordCount(textp); - - /* - * Report which package (if any) this file came from - */ - - /* - * Since we hard-wire the score of every file (invoked as --file), a score - * of 1 could be either 0 or 1, so scores[idx].kwbm tells the real story... - */ - if (optionIsSet(OPTS_DEBUG)) { - printf("File score: %d (0x%06x)\n", - (scores[idx].kwbm ? scores[idx].score : scores[idx].kwbm), - scores[idx].kwbm); - if (scores[idx].kwbm) { - printKeyWordMatches(scores, idx); - } - } - /* - * Print the license claim (e.g., what's listed in the package) - */ - /* - * determine licenses in the file, and record 'em; wrap up by including - * the file contents - ***** - * FIX-ME: we should filter some names out like the shellscript does. - * For instance, word-spell-dictionary files will score high but will - * likely NOT contain a license. But the shellscript filters these - * names AFTER they're already scanned. Think about it. - ***** - FILTERPATTERNS="(/man|\.[0-9]|\.[0-9][a-z]|rfc[0-9].*|.po|.pot" - FILTERPATTERNS="$FILTERPATTERNS|words.*|.*spelling.*|spell)$" - */ -#if defined(DEBUG) || defined(DOCTOR_DEBUG) || defined(LTSR_DEBUG) \ - || defined(BATCH_DEBUG) || defined(PARSE_STOPWATCH) || defined(MEMSTATS) \ - || defined(MEM_DEBUG) || defined(UNKNOWN_CHECK_DEBUG) - printf("*** PROCESS File: %s\n", scores[idx].relpath); - printf("... %d bytes, score %d\n", scores[idx].size, scores[idx].score); -#endif /* DEBUG || DOCTOR_DEBUG || LTSR_DEBUG || BATCH_DEBUG || PARSE_STOPWATCH || MEMSTATS || MEM_DEBUG || defined(UNKNOWN_CHECK_DEBUG)*/ - - isFileMarkupLanguage = idxGrep(_UTIL_MARKUP, textp, REG_ICASE | REG_EXTENDED); - -#ifdef DOCTOR_DEBUG - printf("idxGrep(ML) returns %d\n", isFileMarkupLanguage); - if (isFileMarkupLanguage) - { - int n; - printf("isMarkUp@%d: [", cur.regm.rm_so); - for (n = cur.regm.rm_so; n <= cur.regm.rm_eo; n++) { - printf("%c", *(textp+n)); - } - printf("]\n"); - } -#endif /* DOCTOR_DEBUG */ - /* - * BUG: When _FTYP_POSTSCR is "(postscript|utf-8 unicode)", the resulting - * license-parse yields 'NoLicenseFound' but when both "postscript" and - * "utf-8 unicode" are searched independently, parsing definitely finds - * quantifiable licenses. WHY? - */ -#ifdef DOCTOR_DEBUG - printf("idxGrep(PS) returns %d\n", isPS); - if (isPS) { - int n; - printf("isPostScript@%d: [", cur.regm.rm_so); - printf("]\n"); - } -#endif /* DOCTOR_DEBUG */ - /* - * Interesting - copyString(parseLicenses(args), MTAG_FILELIC)... - * will randomly segfault on 32-bit Debian releases. Split the calls. - */ - fileName = parseLicenses(textp, size, &scores[idx], isFileMarkupLanguage, isPS); - scores[idx].licenses = copyString(fileName, MTAG_FILELIC); -#ifdef QA_CHECKS - if (fileName == NULL_STR) { - Assert(NO, "Expected non-null parseLicenses return!"); - } - if (scores[idx].licenses == NULL_STR) { - Assert(NO, "Expected non-null license summary!"); - } -#endif /* QA_CHECKS */ -#ifdef STOPWATCH - timerBytes += size; -#endif /* STOPWATCH */ -#ifdef FLAG_NO_COPYRIGHT - if (gl.flags & FL_NOCOPYRIGHT) { - p = listGetItem(&cur.nocpyrtList, scores[idx].relpath); - p->buf = copyString(scores[idx].linkname, MTAG_PATHBASE); - p->num = scores[idx].score; - } -#endif /* FLAG_NO_COPYRIGHT */ - if (cur.licPara != NULL_STR) { - memFree(cur.licPara, MTAG_TEXTPARA); /* be free! */ - cur.licPara = NULL_STR; /* remember */ - } - - - if( !optionIsSet(OPTS_NO_HIGHLIGHTINFO) ) { - //careful this function changes the content of textp - rescanOriginalTextForFoundLicences(textp, isFileMarkupLanguage, isPS); - //but as it is freed right here we do not make a copy.. - } - - munmapFile(textp); - - /* - * Remember this license in this file... - */ - p = listGetItem(&cur.lList, scores[idx].licenses); - p->refCount++; - /* - * Clear out the buffer-offsets list - */ -#ifdef fix_later - /* CDB - need to move this code to a point after we save the license info */ -#ifdef PHRASE_DEBUG - listDump(&cur.offList, NO); -#endif /* PHRASE_DEBUG */ - while ((p = listIterate(&cur.offList)) != 0) { - listClear(p->buf, YES); - } - listClear(&cur.offList, NO); -#endif /* fix_later */ - } - - listSort(&cur.lList, SORT_BY_COUNT_DSC); - -#ifdef QA_CHECKS - if (cur.lList.used == 0) { - Assert(NO, "No entries in license-list"); - } -#endif /* QA_CHECKS */ - - /* - * Construct a 'computed license'. Wherever possible, leave off the - * entries for None and LikelyNot; those are individual-file results - * and we're making an 'aggregate summary' here. - */ - if (cur.parseList.used == 0) { - noLicenseFound(); - } - else { - makeLicenseSummary(&cur.parseList, highScore, cur.compLic, - sizeof(cur.compLic)); - } - if (optionIsSet(OPTS_DEBUG)) { - printf("==> "); - } - /* CDB - Debug code */ - /* - printf("saveLicData: the offset list is:\n"); - listDump(&cur.offList, YES); - - while ((p = listIterate(&cur.offList)) != 0) { - listDump(p->buf, YES); - } - */ - /* print results if running from the command line */ - /* DBug: printf("saveLicenseData on return gl.initwd is:%s\n",gl.initwd); */ - if(cur.cliMode) - { - if (optionIsSet(OPTS_JSON_OUTPUT)) - { - writeJson(); - } else { - if (optionIsSet(OPTS_LONG_CMD_OUTPUT) && realpath(cur.targetFile, realPathOfTarget)) - { - printf("File %s contains license(s) %s", realPathOfTarget, cur.compLic); - } - else - { - printf("File %s contains license(s) %s", basename(cur.targetFile), cur.compLic); - } - printHighlightInfo(cur.keywordPositions, cur.theMatches); - } - } - return; -} /* saveLicenseData */ - - -/** - * \brief Construct a 'computed license'. Wherever possible, leave off the - * entries for None and LikelyNot; those are individual-file results - * and we're making an 'aggregate summary' here. - * - * parseLicenses() added license components found, as long as they were - * considered "interesting" to some extent. Components of significant - * interest had their iFlag set to 1; those of lower-interest were set to - * 0. In this way we can tier license components into 4 distinct levels: - * 'interesting', 'medium interest', 'nothing significant', and 'Zero'. \n - * ==> If the list is EMPTY, there's nothing, period. \n - * ==> If listCount() returns non-zero, "interesting" stuff is in it and - * we can safely ignore things of 'significantly less interest'. \n - * ==> If neither of these is the case, only the licenses of the above \n - * 'significantly less interest' category exist (don't ignore them). - * - * We need to be VERY careful in this routine about the length of the - * license-summary created; they COULD be indefinitely long! For now, - * just check to see if we're going to overrun the buffer... - * - * Construct a 'computed license'. - * - * Wherever possible, leave off the entries for None and LikelyNot; those are - * individual-file results and we're making an 'aggregate summary' here. - * - * \note This function adds licenses to cur.compLic - * - */ -static void makeLicenseSummary(list_t *l, int highScore, char *target, int size) { - item_t *p; - int printCount = 0; - int len = 0; - int new; - int goodStuff; - -#ifdef PROC_TRACE - traceFunc("== makeLicenseSummary(%p, %d, %p, %d)\n", l, highScore, - target, size); -#endif /* PROC_TRACE */ - - if (l->used == 0) { /* zero/nothing */ - (void) strncpy(target, LS_NOSUM, sizeof(target)-1); - return; - } - /* - * Now we know there's something in the list of AT LEAST marginal interest - * in the component-list. If listCount() is zero, ALL data is 'marginal'; - * else we have 'good stuff'. For the latter, we only summarize items with - * a 'val' > 0 (the really interesting stuff). - */ - listSort(l, SORT_BY_COUNT_DSC); /* sort components */ - size--; /* maximum strlen, adjust to allow *1* NULL */ - for (goodStuff = 0; (p = listIterate(l)) != NULL_ITEM; /*nada */) { - if (p->iLevel) { - goodStuff = 1; /* interesting license */ - l->ix = -1; /* reset saved index */ - break; - } - } - while ((p = listIterate(l)) != NULL_ITEM) { - if (goodStuff && (p->iLevel <= IL_LOW)) { /* uninteresting */ - continue; - } - if (printCount) { - target[len++] = ','; - } - printCount++; - new = sprintf(target + len, "%s", p->str); - if ((len += new) > size) { - LOG_FATAL("Buffer-overwrite, marginal license components") - Bail(-__LINE__); - } - new = 0; - } - return; -} - -#ifdef LICENSE_DEBUG -dumpLicenses() -{ - int i; - -#ifdef PROC_TRACE - traceFunc("== dumpLicenses()\n"); -#endif /* PROC_TRACE */ - - for (i = 0; i < NFOOTPRINTS; i++) { - printf("License[%d]: seedlen=%d, regexlen=%d\n", i, - licSpec[i].seed.csLen, licSpec[i].text.csLen); - } - printf("[NFOOTPRINTS = %d\n", NFOOTPRINTS); -} -#endif /* LICENSE_DEBUG */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/licenses.h b/src/fosslight_dependency/third_party/nomos/agent/licenses.h deleted file mode 100644 index c2d9def8..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/licenses.h +++ /dev/null @@ -1,25 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2009 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -#ifndef _LICENSES_H -#define _LICENSES_H - -void licenseInit(); -int ignoreFileForScan(char *s); -void licenseScan(list_t *l); - -#endif /* _LICENSES_H */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/list.c b/src/fosslight_dependency/third_party/nomos/agent/list.c deleted file mode 100644 index b2f1755e..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/list.c +++ /dev/null @@ -1,904 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2013 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ - -/* Equivalent to core nomos v1.10 */ - -/** - * \file - * \brief list manipulation functions and str/val Compare functions - * - * list.c supplies all of the functions needed to manipulate the list and - * listitem structures defined in nomos.h. It also supplies the - * str*Compare* and valCompare* functions. - * - * @version "$Id: list.c 3676 2010-11-15 23:10:52Z bobgo $" - * - */ - -#include "nomos.h" -#include "list.h" -#include "util.h" - -#define DFL_STARTSIZE 100 - -static int strCompare(item_t *, item_t *); -static int strIcaseCompare(item_t *, item_t *); -static int strCompareBasename(item_t *, item_t *); -static int valCompareDsc(item_t *, item_t *); -static int valCompareAsc(item_t *, item_t *); -static int bufCompare(item_t *, item_t *); -static void listDoubleSize(list_t *); -static void listValidate(list_t *, int); - -#if defined(PROC_TRACE) || defined(LIST_DEBUG) -static void listDebugDetails(); -#endif /* PROC_TRACE || LIST_DEBUG */ - -/** - * \brief intialize a list, if the list is not empty, empty it (initialize it to - * zero's). - * - * sets:\n - * l->name to label\n - * l->size to DFL_STARTSIZE\n - * l->used = 0\n - * l->ix = -1\n - * l->sorted = UNSORTED\n - * \param l List to initialize - * \param label Name of the list - * \note label can't be longer than l->name (64) - * - */ -void listInit(list_t *l, int size, char *label) { - -#ifdef PROC_TRACE - traceFunc("== listInit(%p, %d, \"%s\")\n", l, size, label); -#endif /* PROC_TRACE */ - - if (l == NULL_LIST) { - LOG_FATAL("listInit: List @ %p is NULL", l) - Bail(-__LINE__); - } - if (label == NULL_STR) { - LOG_FATAL("no name for list @ %p", l) - Bail(-__LINE__); - } - if (strlen(label) > sizeof(l->name)) { - LOG_FATAL("List name \"%s\" too long", label) - Bail(-__LINE__); - } - if (l->name != label) (void) strcpy(l->name, label); - if (size == 0) { -#ifdef LIST_DEBUG - printf("LIST: (%p) initialize %s to %d elements\n", l, - l->name, DFL_STARTSIZE); -#endif /* LIST_DEBUG */ - l->size = DFL_STARTSIZE; /* default start */ - l->items = (item_t *)memAlloc(l->size*(int)sizeof(item_t), - l->name); - } -#ifdef QA_CHECKS - else if (size != l->size) { - Assert(NO, "%s: specified reset size %d != list size %d", - l->name, size, l->size); - } -#endif /* QA_CHECKS */ - else { -#ifdef LIST_DEBUG - printf("LIST: reset %d elements in \"%s\" (%d bytes)\n", - l->size, l->name, l->size*sizeof(item_t)); -#endif /* LIST_DEBUG */ - memset(l->items, 0, l->size*sizeof(item_t)); - } - l->used = 0; - l->ix = -1; - l->sorted = UNSORTED; - return; -} - -/** - * \brief Destroy list_t - * \param l List to destroy - * \param deallocFlag Set to also free list memory - */ -void listClear(list_t *l, int deallocFlag) { - item_t *p; - int i; - -#if defined(PROC_TRACE) /* || defined(UNPACK_DEBUG) */ - traceFunc("== listClear(%p, %s)\n", l, - deallocFlag ? "DEALLOC" : "NOTOUCH"); - listDebugDetails(l); -#endif /* PROC_TRACE || UNPACK_DEBUG */ - - if (l == NULL_LIST) { -#ifdef LIST_DEBUG - printf("%% clear NULL list\n"); -#endif /* LIST_DEBUG */ - return; - } - - if (l->size == 0) { -#ifdef LIST_DEBUG - printf("%% clear empty list \"%s\"\n", l->name); -#endif /* LIST_DEBUG */ - return; - } -#ifdef LIST_DEBUG - listDump(l, YES); -#endif /* LIST_DEBUG */ - -#ifdef GLOBAL_DEBUG - if (gl.MEM_DEEBUG) { - printf("... used %d size %d ix %d sorted %d items %p\n", - l->used, l->size, l->ix, l->sorted, l->items); - } -#endif /* GLOBAL_DEBUG */ - if (l->used) { - if (l->items == NULL_ITEM) { - Assert(NO, "%s: used/size %d/%d with null data", - l->name, l->used, l->size); - } -#ifdef LIST_DEBUG - printf("LIST: clearing %s, used entries == %d\n", l->name, - l->used); -#endif /* LIST_DEBUG */ -#ifdef GLOBAL_DEBUG - if (gl.MEM_DEEBUG) { - printf("LIST: clearing %s, used entries == %d\n", - l->name, l->used); - } -#endif /* GLOBAL_DEBUG */ - for (p = l->items, i = 0; i < l->used; i++, p++) { - if (p->str != NULL_STR) { -#ifdef GLOBAL_DEBUG - if (gl.MEM_DEEBUG) { - printf("FREE %p items[%d].str %p\n", - l, i, p->str); - } -#endif /* GLOBAL_DEBUG */ - memFree((void *) p->str, MTAG_LISTKEY); - p->str = NULL_STR; - } - if (p->buf != NULL_STR) { -#ifdef GLOBAL_DEBUG - if (gl.MEM_DEEBUG) { - printf("... FREE %p items[%d].buf %p\n", - l, i, p->buf); - } -#endif /* GLOBAL_DEBUG */ - memFree((void *) p->buf, MTAG_LISTBUF); - p->buf = NULL_STR; - } - p->buf = NULL_STR; - p->val = p->val2 = p->val3 = 0; - } -#ifdef GLOBAL_DEBUG - if (gl.MEM_DEEBUG) { - printf("INIT %s...\n", l->name); - } -#endif /* GLOBAL_DEBUG */ - listInit(l, l->size, l->name); - } -#ifdef GLOBAL_DEBUG - if (gl.MEM_DEEBUG) { - printf("... dealloc %p \"items\" %p\n", l, l->items); - } -#endif /* GLOBAL_DEBUG */ - if (deallocFlag && l->size) { - memFree(l->items, "list items"); - l->size = 0; - } -#ifdef GLOBAL_DEBUG - if (gl.MEM_DEEBUG) { - printf("LIST: %s is cleared!\n", l->name); - } -#endif /* GLOBAL_DEBUG */ - return; -} - -/** - * \brief Validate list - * \param l List to validate - * \param appendFlag If set and list is completely used, double its size - */ -void listValidate(list_t *l, int appendFlag) { - if (l == NULL_LIST) { - LOG_FATAL("listValidate: null list!") - Bail(-__LINE__); - } - /** - * \note Question: do we want to initialize the list here, instead of aborting? - * It would mean we don't have to initialize EVERY list EVERYWHERE -- we - * could just set the size to zero and start adding/inserting. - */ - if (l->size == 0) { - LOG_FATAL("List (%s) @ %p not initialized", l->name, l) - Bail(-__LINE__); - } - if (l->items == NULL_ITEM) { - Assert(NO, "List (%s) @ %p has no data", l->name, l); - } - if (appendFlag) { - if (l->size == l->used) { - listDoubleSize(l); - } - } - return; -} - - -/** - * \brief get an item from the itemlist. If the item is not in the itemlist, - * then add it to the itemlist. - * - * This function searches the str member in the listitem structure, if found, - * a pointer to that item is returned. If not found, the item is added to the - * list of items 'in the middle' of the list. - * - * @param list_t *list the list to search/update - * @param *s pointer to the string to search for. - * - * @return pointer to the item - */ -item_t *listGetItem(list_t *l, char *s) { - item_t *p; - int i; - int x; - -#ifdef PROC_TRACE - traceFunc("== listGetItem(%p, \"%s\")\n", l, s); - listDebugDetails(l); -#endif /* PROC_TRACE */ - - listValidate(l, YES); /* assume/setup for an 'add' */ - if (s == NULL_STR) { - Assert(NO, "listGetItem: Null string to insert!"); - } - if (l->sorted && l->sorted != SORT_BY_NAME) { - LOG_FATAL("%s is sorted other than by-name (%d)", l->name, l->sorted) - Bail(-__LINE__); - } - else if (l->used == 0) { - l->sorted = SORT_BY_NAME; - } - /* - * Now we KNOW we have at least one opening in the list; see if the - * requested string already exists in the list - */ - /** -\todo CDB -- Change so that there is only one loop variable in the - for loop - */ - for (p = l->items, i = 0; i < l->used; i++, p++) { -#ifdef LIST_DEBUG - printf("%p: check i = %d, used = %d, size = %d\n", l, i, l->used, - l->size); -#endif /* LIST_DEBUG */ - if ((x = strcmp(s, p->str)) == 0) { - return (p); - } - else if (x < 0) { /* e.g., not in list */ - break; /* add new list entry */ - } - } /* for */ -#ifdef LIST_DEBUG - printf("listGetItem: new entry @%d (size %d, max %d)\n", i, - l->used, l->size); -#endif /* LIST_DEBUG */ - if (i != l->used) { /* make room in 'middle' of list */ - (void) memmove(l->items+i+1, l->items+i, (l->used-i)*sizeof(*p)); - } - (l->used)++; - p->str = copyString(s, MTAG_SORTKEY); - p->buf = NULL_STR; - p->val = 0; - p->val2 = 0; - p->val3 = 0; -#ifdef LIST_DEBUG - printf("ADDING: insert %s @%d, \"used\" now == %d, Cache (listDump):\n", - p->str, i, l->used); - listDump(l, NO); -#endif /* LIST_DEBUG */ - return (p); -} - -/** - * \brief Utility list that isn't sorted - faster for unpacking archives and - * maintaining lists of files (we only need to sort that list at the - * end of the unpacking process - this just appends an entry at the - * bottom/end of the list. - */ -item_t *listAppend(list_t *l, char *s) { - item_t *p; /* computed return value */ - -#ifdef PROC_TRACE - traceFunc("== listAppend(%p, \"%s\")\n", l, s); - listDebugDetails(l); -#endif /* PROC_TRACE */ - - listValidate(l, YES); - if (s == NULL_STR) { - Assert(NO, "listAppend: Null string to insert!"); - } - /* - * Now we know we have a valid list with enough room to add one more - * element; simply insert it at the end, increment the 'used' counter - * and get outta Dodge. - */ - p = &l->items[l->used++]; - p->str = copyString(s, MTAG_UNSORTKEY); - p->buf = NULL_STR; - p->val = p->val2 = p->val3 = 0; - return (p); -} - -#ifdef notdef -/** - * \brief Look up an element in a list based on it's name (str) value and - * return NULL if not found. - * \note the list MUST be of sort-type SORT_BY_NAME for this to be valid. - * This is a specific-purpose routine, necessitated by needing to change - * the name of a DOS-format package on-the-fly. This function should - * probably be used sparingly -- as little as needed, actually. :( - */ -/* - CDB -- From comment above, we could probably get rid of this. #ifdef'd - out for now. - */ -item_t *listLookupName(list_t *l, char *s) -{ - item_t *p; /* computed return value */ - int i; - int match; - -#if defined(PROC_TRACE) -#ifdef PROC_TRACE_SWITCH - if (gl.ptswitch) { -#endif /* PROC_TRACE_SWITCH */ - printf("== listLookupName(%p, \"%s\")\n", l, s); - listDebugDetails(l); -#ifdef PROC_TRACE_SWITCH - } -#endif /* PROC_TRACE_SWITCH */ -#endif /* PROC_TRACE */ - -#if defined(QA_CHECKS) || defined(LIST_DEBUG) - listValidate(l, NO); - if (s == NULL_STR) { - Assert(NO, "lookupName: Null key for lookup!"); - return(NULL_ITEM); - } -#endif /* QA_CHECKS || LIST_DEBUG */ - /* - * Now we know we have a valid list with enough room to add one more - * element; simply insert it at the end, increment the 'used' counter - * and get outta Dodge. - */ - if (l->sorted != SORT_BY_NAME && l->sorted != 0) { - LOG_FATAL("Improper sort-type %d for %s name-lookup", l->sorted, l->name) - Bail(-__LINE__); - } - /* - * Walk through the sorted-by-name list and exit when we're done. - * This function could be called during a loop (while(listIterate(&list))) - * and we DON'T want to mess up the 'ix' field for this list! - */ - for (i = 0; i < l->used; i++) { - if (l->items[i].str == NULL_STR) { - Assert(NO, "%s[%d] is NULL!", l->name, i); - continue; - } - match = strcmp(s, l->items[i].str); - if (match == 0) { - return(&(l->items[i])); - } - else if (match < 0) { /* e.g., cannnot be in list */ - break; - } - } - return(NULL_ITEM); -} -#endif /* notdef */ - -#ifdef notdef -/* - * Look up an element in a list based on it's alias (buf) value and - * return NULL if not found. - ***** - * NOTE: the list MUST be of sort-type SORT_BY_ALIAS for this to be valid. - ***** - * This is a general-purpose utility; often it's required to look up a - * specific value based on an item's alias. - */ -item_t *listLookupAlias(list_t *l, char *s) -{ - item_t *p; /* computed return value */ - int i; - int x; - -#if defined(PROC_TRACE) -#ifdef PROC_TRACE_SWITCH - if (gl.ptswitch) { -#endif /* PROC_TRACE_SWITCH */ - printf("== listLookupAlias(%p, \"%s\")\n", l, s); - listDebugDetails(l); -#ifdef PROC_TRACE_SWITCH - } -#endif /* PROC_TRACE_SWITCH */ -#endif /* PROC_TRACE */ -#if defined(QA_CHECKS) || defined(LIST_DEBUG) - listValidate(l, NO); - if (s == NULL_STR) { - Assert(NO, "lookupAlias: Null key for lookup!"); - } -#endif /* QA_CHECKS || LIST_DEBUG */ - /* - * Now we know we have a valid list with enough room to add one more - * element; simply insert it at the end, increment the 'used' counter - * and get outta Dodge. - */ - if (l->sorted != SORT_BY_ALIAS) { - LOG_FATAL("Improper sort-type %d for %s alias-lookup", l->sorted, l->name) - Bail(-__LINE__); - } - /* - * Walk through the sorted-by-alias list and exit when we're done. - * Do NOT use listIterate() or we could mess up the 'ix' field! - */ - for (i = 0, p = l->items; i < l->used; i++, p++) { - if (p->buf == NULL_STR) { - Assert(NO, "%s[%d] is NULL!", l->name, i); - continue; - } - if ((x = strcmp(s, p->buf)) == 0) { - return(p); - } - else if (x < 0) { /* e.g., not in list */ - break; - } - } - return(NULL_ITEM); -} -#endif /* notdef */ - -/** - * \brief return a pointer to listitem, returns a NULL_ITEM when no more items - * to return. - * - * @param l list a point to a list - * - * \note This routine increments the ix member! (bad boy) - * - * \todo remove/fix the fact that this routine increments ix. - */ -item_t *listIterate(list_t *l) { - - item_t *p; - -#ifdef LIST_DEBUG /* was PROC_TRACE */ - traceFunc("== listIterate(%p) -- %s (ix %d, used %d)\n", l, l->name, - l->ix, l->used); - listDebugDetails(l); -#endif /* LIST_DEBUG, oh-so-formerly-PROC_TRACE */ - -#if defined(QA_CHECKS) || defined(LIST_DEBUG) - listValidate(l, NO); - if (l->used == 0) { /* empty list? */ - return(NULL_ITEM); - } -#endif /* QA_CHECKS || LIST_DEBUG */ - l->ix++; - - if (l->ix == l->used) { -#ifdef LIST_DEBUG - Assert(NO, "End-of-list: %s", l->name); -#endif /* LIST_DEBUG */ - l->ix = -1; - return (NULL_ITEM); - } else if ((l->ix > l->used) || (l->ix < 0)) { - LOG_FATAL("Index %d out of bounds (%d) on %s", l->ix, l->used, l->name) - Bail(-__LINE__); - } - p = l->items+(l->ix); - return (p); -} - -/** - * \brief Rest list ix to -1 - * \param l List to reset - */ -void listIterationReset(list_t *l) { - -#ifdef LIST_DEBUG /* was PROC_TRACE */ - traceFunc("== listIterationReset(%p) -- %s (ix %d, used %d)\n", l, l->name, - l->ix, l->used); - listDebugDetails(l); -#endif /* LIST_DEBUG, oh-so-formerly-PROC_TRACE */ - -#if defined(QA_CHECKS) || defined(LIST_DEBUG) - listValidate(l, NO); -#endif /* QA_CHECKS || LIST_DEBUG */ - - l->ix = -1; /* reset index for listIterate() */ - return; -} - -/** - * \brief Delete an item from list - * - * The function also rearrange list after deletion. - * \param l List to delete from - * \param p Item to delete - * \return 0 on error, 1 on success - */ -int listDelete(list_t *l, item_t *p) { - int index; - item_t *base; - -#if defined(PROC_TRACE) - traceFunc("== listDelete(%p, %p)\n", l, p); - listDebugDetails(l); -#endif /* PROC_TRACE */ - -#if defined(QA_CHECKS) || defined(LIST_DEBUG) - listValidate(l, NO); -#endif /* QA_CHECKS || LIST_DEBUG */ - if ((base = l->items) == NULL_ITEM) { - Assert(NO, "%s: empty list", l->name); - return (0); - } - if ((index = p-base) >= l->used) { - Assert(NO, "%s[%d] is out of range", l->name, p-(l->items)); - return (0); - } -#ifdef LIST_DEBUG - printf("DEBUG: listDelete: delete index %d (used %d, size %d)\n", - index, l->used, l->size); -#endif /* LIST_DEBUG */ - /* - * If anything was allocated, delete it. - */ - if (p->str != NULL_STR) { - memFree(p->str, MTAG_LISTKEY); - } - if (p->buf != NULL_STR) { - memFree(p->buf, MTAG_LISTBUF); - } - /* - * move everything up (e.g., from index+1 to index, index+2 to index+1) - */ - if (index+1 < l->used) { - (void) memmove(l->items+index, l->items+index+1, (size_t)((l->used - -index)*sizeof(item_t))); - } - l->used--; /* ... then just ignore it now */ - return (1); -} - -/** - * \brief Double the size of list - * - * Creates a new pointer with double the size of current list, copy old list - * items, free the old list->items and assign new pointer to list->items - * \param l List to be doubled - */ -static void listDoubleSize(list_t *l) { - int sz; - item_t *newptr; - -#if defined(PROC_TRACE) - traceFunc("== listDoubleSize(%p) -- %s\n", l, l->name); - listDebugDetails(l); -#endif /* PROC_TRACE */ - - sz = (size_t) (l->used * (int)sizeof(item_t)); -#ifdef LIST_DEBUG - printf("LIST: %s FULL (%d) @ addr %p! -- %d -> %d\n", l->name, - l->used, l, sz, sz * 2); -#endif /* LIST_DEBUG */ -#ifdef MEMSTATS - printf("... DOUBLE \"%s\" (%d -> %d) => %d slots\n", l->name, sz, sz * 2, - (sz * 2)/sizeof(item_t)); -#endif /* MEMSTATS */ - - newptr = (item_t *)memAlloc(sz * 2, MTAG_DOUBLED); - memcpy((void *) newptr, (void *) l->items, sz); - if (l->items != newptr) { -#ifdef LIST_DEBUG - printf("LIST: old %p new %p\n", l->items, newptr); -#endif /* LIST_DEBUG */ - memFree(l->items, MTAG_TOOSMALL); - l->items = newptr; - } - l->size *= 2; - - return; -} - -/** - * \brief Sort the list as per the sortType passed - * \param[in,out] l List to sort - * \param sortType \parblock - * Which type of sorting to use. - * - * It can of `UNSORTED|SORT_BY_NAME_ICASE|SORT_BY_NAME|SORT_BY_COUNT_DSC| - * SORT_BY_COUNT_ASC|SORT_BY_ALIAS|SORT_BY_BASENAME` - * \endparblock - */ -void listSort(list_t *l, int sortType) { - - int (*f)() = 0; - -#ifdef PROC_TRACE - char *fName; -#ifdef PROC_TRACE_SWITCH - if (gl.ptswitch) { -#endif /* PROC_TRACE_SWITCH */ - printf("== listSort(%p, %d", l, sortType); - switch (sortType) { - case SORT_BY_NAME: - printf("(NAME)"); - break; - case SORT_BY_COUNT_DSC: - printf("(COUNT_DSC)"); - break; - case SORT_BY_COUNT_ASC: - printf("(COUNT_ASC)"); - break; - case SORT_BY_ALIAS: - printf("(ALIAS)"); - break; - case SORT_BY_BASENAME: - printf("(BASENAME)"); - break; - default: - printf("(***)"); - break; - } - printf(")\n"); - listDebugDetails(l); -#ifdef PROC_TRACE_SWITCH - } -#endif /* PROC_TRACE_SWITCH */ -#endif /* PROC_TRACE */ - - if (sortType == SORT_BY_BASENAME) { /* special case */ - l->sorted = SORT_BY_NAME; - } else { - l->sorted = sortType; - } - - if (l->used == 0) { -#ifdef LIST_DEBUG - LOG_WARNING("\"%s\" is empty", l->name); -#endif /* LIST_DEBUG */ - return; - } - - switch (sortType) { -#ifdef QA_CHECKS - case UNSORTED: - LOG_FATAL("Sort-spec == UNSORTED") - Bail(-__LINE__); - break; -#endif /* QA_CHECKS */ - case SORT_BY_NAME_ICASE: - f = strIcaseCompare; -#ifdef PROC_TRACE - fName = "strIcaseCompare"; -#endif /* PROC_TRACE */ - break; - case SORT_BY_NAME: - f = strCompare; -#ifdef PROC_TRACE - fName = "strCompare"; -#endif /* PROC_TRACE */ - break; - case SORT_BY_COUNT_DSC: - f = valCompareDsc; -#ifdef PROC_TRACE - fName = "valCompareDsc"; -#endif /* PROC_TRACE */ - break; - case SORT_BY_COUNT_ASC: - f = valCompareAsc; -#ifdef PROC_TRACE - fName = "valCompareAsc"; -#endif /* PROC_TRACE */ - break; - case SORT_BY_ALIAS: -#ifdef PROC_TRACE - fName = "bufCompare"; -#endif /* PROC_TRACE */ - f = bufCompare; - break; - case SORT_BY_BASENAME: -#ifdef PROC_TRACE - fName = "strCompareBasename"; -#endif /* PROC_TRACE */ - f = strCompareBasename; - sortType = SORT_BY_NAME; - break; - default: - LOG_FATAL("Invalid sort-spec %d", sortType) - Bail(-__LINE__); - } - -#ifdef PROC_TRACE - traceFunc("=> invoking qsort(): callback is %s()\n", fName); -#endif /* PROC_TRACE */ - - qsort(l->items, (size_t) l->used, sizeof(item_t), f); - return; -} - -/** - * qsort utility-function to create an alphabetically sorted (ASCENDING) - * [case-insensitive] list based on the string value in the item_t 'str' field - */ -static int strIcaseCompare(item_t *p1, item_t *p2) { - int ret; - - ret = strcasecmp(p1->str, p2->str); - return (ret ? ret : valCompareDsc(p1, p2)); -} - -/** - * qsort utility-function to create an alphabetically sorted (ASCENDING) - * list based on the string value in the item_t 'str' field - */ -static int strCompare(item_t *p1, item_t *p2) { - int ret; - - ret = strcmp(p1->str, p2->str); - return (ret ? ret : valCompareDsc(p1, p2)); -} - -/** - * qsort utility-function to create an alphabetically sorted (ASCENDING) - * list based on the path-basename of string value in the item_t 'str' field - */ -static int strCompareBasename(item_t *p1, item_t *p2) { - int ret; - - ret = strcmp(pathBasename(p1->str), pathBasename(p2->str)); - return (ret ? ret : strCompare(p1, p2)); -} - -/** - * qsort utility-function to create a numerically sorted (ASCENDING) - * list based on the integer value in the item_t 'val' field - */ -static int valCompareAsc(item_t *p1, item_t *p2) { - return (p1->val - p2->val); -} - -/** - * qsort utility-function to create a numerically sorted (DESCENDING) - * list based on the integer value in the item_t 'val' field - */ -static int valCompareDsc(item_t *p1, item_t *p2) { - return (p2->val - p1->val); -} - -/** - * qsort utility-function to create an alphabetically sorted (ASCENDING) - * list based on the string value in the item_t 'buf' field - */ -static int bufCompare(item_t *p1, item_t *p2) { - int ret = strcmp(p1->buf, p2->buf); - return (ret ? ret : valCompareDsc(p1, p2)); -} - -/** - * Be careful about calling this function; some lists use the 'val' - * field as a flag, others use it as a count! - */ -int listCount(list_t *l) { - int i; - int total; - -#ifdef PROC_TRACE - traceFunc("== listCount(%p)\n", l); - listDebugDetails(l); -#endif /* PROC_TRACE */ - -#if defined(QA_CHECKS) || defined(LIST_DEBUG) - listValidate(l, NO); -#endif /* QA_CHECKS || LIST_DEBUG */ - total = 0; - for (i = 0; i < l->used; i++) { - if (l->items[i].val > 0) { - total += l->items[i].val; /* sum POSITIVE 'val' values */ - } - } - return (total); -} - -/** - * \brief print the passed in list - * - * @param *l the list to dump - * @param verbose flag, print more - * - * \callgraph - */ -void listDump(list_t *l, int verbose) { - item_t *p; - int i; - int max = (verbose ? l->size : l->used); - -#ifdef PROC_TRACE - traceFunc("== listDump(%p, %d)\n", l, verbose); - listDebugDetails(l); -#endif /* PROC_TRACE */ - - /*MD: why should an empty list be fatal? Just return....? */ - if (l == NULL_LIST) { - LOG_FATAL("NULL list passed to listDump()") - Bail(-__LINE__); - } - if (l->used == 0) { -#if defined(LIST_DEBUG) || defined(UNPACK_DEBUG) || defined(REPORT_DEBUG) - LOG_WARNING("%s is empty", l->name); -#endif /* LIST_DEBUG || UNPACK_DEBUG || REPORT_DEBUG */ - return; - } - if (verbose < 0) { - printf("** %s (size %d, used %d, ix %d, sort %d desc %d) == %lu\n", - l->name, l->size, l->used, l->ix, l->sorted, l->desc, - (unsigned long)sizeof(item_t)); - return; - } - if (verbose || max) { - printf("Contents of %s:\n", l->name); - printf(" ... @%p (size %d, used %d, ix %d, sort %d desc %d)\n", l, - l->size, l->used, l->ix, l->sorted, l->desc); - } - /* - * Brute-force a walk through the list contents. This function could - * be called during a loop (while(listIterate(&list))) and we CANNOT - * mess with the 'ix' field for this list as listIterate() does! - */ - for (i = 0; i < l->used; i++) { - p = &(l->items[i]); - if (verbose) { - printf("[%c] ", (i < l->used ? 'x' : ' ')); - } - printf("#%03d: str %p buf %p (val %d, val2 %d val3 %d)\n", i, p->str, - p->buf, p->val, p->val2, p->val3); - if (i < l->used) { - printf(" str: \"%s\"\n", p->str); - if (p->buf != NULL_STR) { - printf(" ... buf: \"%s\"\n", (char *)p->buf); - } - } - } - return; -} /* listDump */ - -#if defined(PROC_TRACE) || defined(LIST_DEBUG) -void listDebugDetails(list_t *l) -{ - if (l != NULL_LIST && l->size) { - printf("... %p is %s\n", l, l->name ? l->name : "No-name"); - } - return; -} -#endif /* PROC_TRACE || LIST_DEBUG */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/list.h b/src/fosslight_dependency/third_party/nomos/agent/list.h deleted file mode 100644 index 69c2a396..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/list.h +++ /dev/null @@ -1,41 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2009 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -#ifndef _LIST_H -#define _LIST_H -#include "nomos.h" -void listInit(list_t *l, int size, char *label); -void listClear(list_t *l, int deallocFlag); -item_t *listGetItem(list_t *l, char *s); -item_t *listAppend(list_t *l, char *s); - -#ifdef notdef -item_t *listLookupName(list_t *l, char *s); -item_t *listLookupAlias(list_t *l, char *s); -#endif /* notdef */ - -item_t *listIterate(list_t *l); -void listIterationReset(list_t *l); -int listDelete(list_t *l, item_t *p); -void listSort(list_t *l, int sortType); -int listCount(list_t *l); -void listDump(list_t *l, int verbose); - -#define DEALLOC_LIST 1 -#define NOTOUCH_LIST 0 - -#endif /* _LIST_H */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/nomos.c b/src/fosslight_dependency/third_party/nomos/agent/nomos.c deleted file mode 100644 index 93082cb8..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/nomos.c +++ /dev/null @@ -1,533 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2015 Hewlett-Packard Development Company, L.P. - Copyright (C) 2014, 2018 Siemens AG - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -/** - * \file - * \brief Main for the nomos agent - * - * Nomos detects licenses and copyrights in a file. Depending on how it is - * invoked, it either stores it's findings in the FOSSology data base or - * reports them to standard out. - * - */ -/* CDB - What is this define for??? */ -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif /* not defined _GNU_SOURCE */ - -#include "nomos.h" -#include "nomos_utils.h" - -extern licText_t licText[]; /* Defined in _autodata.c */ -struct globals gl; -struct curScan cur; - -char debugStr[myBUFSIZ]; -char dbErrString[myBUFSIZ]; - -size_t hashEntries; - -int schedulerMode = 0; /**< Non-zero when being run from scheduler */ -int Verbose = 0; /**< Verbosity level */ - -#define FUNCTION - -#ifdef COMMIT_HASH_S -char BuildVersion[]="nomos build version: " VERSION_S " r(" COMMIT_HASH_S ").\n"; -#else -char BuildVersion[] = "nomos build version: NULL.\n"; -#endif - -/* We're being run from the scheduler */ -/* nomos agent starting up in scheduler mode... */ -/* \ref http://www.fossology.org/projects/fossology/wiki/Nomos_Test_Cases*/ - -/** - * \brief Make entry in ars table for audit - * - * At the call, first checks if there are any entries in the ars table for the - * given agent and upload. If so, skip it. Otherwise, collect all files under - * the upload and processes them. Nomos sends a heart beat at every file scan - * completion. - * - * At the end, make an entry in the ars using fo_WriteARS(). - * \param cacheroot Root for hash table - * \param ignoreFilesWithMimeType to exclude files with particular mimetype - */ -void arsNomos(cacheroot_t* cacheroot, bool ignoreFilesWithMimeType) { - int i; - int upload_pk = 0; - int numrows; - int ars_pk = 0; - int user_pk = 0; - char *AgentARSName = "nomos_ars"; - PGresult *result; - - char *repFile; - - schedulerMode = 1; - /* get user_pk for user who queued the agent */ - user_pk = fo_scheduler_userID(); - /* read upload_pk from scheduler */ - while (fo_scheduler_next()) - { - upload_pk = atoi(fo_scheduler_current()); - if (upload_pk == 0) - continue; - /* Check Permissions */ - if (GetUploadPerm(gl.pgConn, upload_pk, user_pk) < PERM_WRITE) - { - LOG_ERROR("You have no update permissions on upload %d", upload_pk); - continue; - } - result = checkDuplicateReq(gl.pgConn, upload_pk, gl.agentPk); - if (fo_checkPQresult(gl.pgConn, result, NULL, __FILE__, __LINE__)) - Bail(-__LINE__); - if (PQntuples(result) != 0) - { - LOG_NOTICE("Ignoring requested nomos analysis of upload %d - Results are already in database.", upload_pk); - PQclear(result); - continue; - } - PQclear(result); - - /* Record analysis start in nomos_ars, the nomos audit trail. */ - ars_pk = fo_WriteARS(gl.pgConn, ars_pk, upload_pk, gl.agentPk, AgentARSName, 0, 0); - - result = getSelectedPFiles(gl.pgConn, upload_pk, gl.agentPk, ignoreFilesWithMimeType); - if (fo_checkPQresult(gl.pgConn, result, NULL, __FILE__, __LINE__)) - Bail(-__LINE__); - numrows = PQntuples(result); - /* process all files in this upload */ - for (i = 0; i < numrows; i++) - { - initializeCurScan(&cur); - strncpy(cur.pFile, PQgetvalue(result, i, 1), sizeof(cur.pFile)-1); - cur.pFileFk = atoi(PQgetvalue(result, i, 0)); - repFile = fo_RepMkPath("files", cur.pFile); - if (!repFile) - { - LOG_FATAL("Nomos unable to open pfile_pk: %ld, file: %s", cur.pFileFk, cur.pFile); - Bail(-__LINE__); - } - /* make sure this is a regular file, ignore if not */ - if (!isFILE(repFile)) - continue; - processFile(repFile); - fo_scheduler_heart(1); - if (recordScanToDB(cacheroot, &cur)) - { - LOG_FATAL("nomos terminating upload %d scan due to previous errors.", upload_pk); - Bail(-__LINE__); - } - freeAndClearScan(&cur); - } - PQclear(result); - /* Record analysis success in nomos_ars. */ - fo_WriteARS(gl.pgConn, ars_pk, upload_pk, gl.agentPk, AgentARSName, 0, 1); - } -} - -/** - * \brief list all files and store file paths from the specified directory - * - * \param dir_name directory - * \param process_count process count, write file paths into temp files on average process_count - * \param distribute_count Track number of files - * \param pFile file descriptor array - */ -void list_dir (const char * dir_name, int process_count, int *distribute_count, FILE **pFile) -{ - struct dirent *dirent_handler; - DIR *dir_handler; - - if ((dir_handler = opendir(dir_name)) == NULL) - { - fprintf(stderr, "Can't open: %s, error: %s\n", dir_name, strerror(errno)); - return; - } - - char filename_buf[PATH_MAX] = {}; // store one file path - struct stat stat_buf ; - int file_number = 0; - while ((dirent_handler = readdir(dir_handler)) != NULL) - { - /* get the file path, form the file path /dir_name/file_name, - e.g. dir_name is '/tmp' file_name is 'test_file_1.txt', form one path '/tmp/test_file_1.txt' */ - sprintf( filename_buf , "%s/%s",dir_name, dirent_handler->d_name); - - if (stat(filename_buf, &stat_buf) == -1) // if can access the current file, return - { - LOG_FATAL("Unable to stat file: %s, error message: %s\n", filename_buf, strerror(errno)) ; - closedir(dir_handler); - return; - } - - /* 1) do not travel '..', '.' directory - 2) when the file type is directory, travel it - 3) when the file type is reguler file, write it into temp files on average (value from -n) */ - if (strcmp (dirent_handler->d_name, "..") != 0 && strcmp (dirent_handler->d_name, ".") != 0) - { - /* the file type is a directory (exclude '..' and '.') */ - if ((stat_buf.st_mode & S_IFMT) == S_IFDIR) - { - list_dir(filename_buf, process_count, distribute_count, pFile); // deep into this directory and travel it - } - else { - strncat(filename_buf, "\n", PATH_MAX - 1); // add one new line character by the end of one file path, one line is one file path - /* write on average process_count */ - file_number = *distribute_count%process_count; - fwrite (filename_buf, sizeof(char), strlen(filename_buf), pFile[file_number]); - (*distribute_count)++; // increase the file count - - if (process_count == *distribute_count) *distribute_count = 0; // reset list_file_count each cycle - continue; - } - } - } - closedir(dir_handler); -} - -/** - * \brief read line by line, then call processFile to grab license line by line - * - * \param file_number while temp path file do you want to read and process - * \param pFile file descriptor array - */ -void read_file_grab_license(int file_number, FILE **pFile) -{ - char *line = NULL; - size_t len = 0; - int lenth_tmp = 0; - ssize_t read = 0; - - /*read line by line, then start to scan licenses */ - while ((read = getline(&line, &len, pFile[file_number])) != -1) { - if (line && line[0]) // line is not empty - { - lenth_tmp = strlen(line); - /* trim the line */ - while(isspace(line[lenth_tmp - 1])) line[--lenth_tmp] = 0; // right trim - while(isspace(*line)) ++line; // left trim - //printf("line is:%s, getpid() is:%d\n", line, getpid()); - } - initializeCurScan(&cur); - processFile(line); // start to scan licenses - } // while - - if (line) free(line); -} - -/** - * \brief the recursive create process and process grabbing licenses - * - * \param proc_num how many child processes(proc_num - 1) will be created - * \param pFile temp path file pointers - */ -void myFork(int proc_num, FILE **pFile) { - pid_t pid; - pid = fork(); - - if (pid < 0) - { - LOG_FATAL("fork failed\n"); - } - else if (pid == 0) { // Child process, every single process runs on one temp path file - read_file_grab_license(proc_num, pFile); // grabbing licenses on /tmp/foss-XXXXXX - return; - } - else if (pid > 0) { - // if pid != 0, we're in the parent - // let's call ourself again, decreasing the counter, until it reaches 1. - if (proc_num > 1) { - myFork(proc_num - 1, pFile); - } - else - { - read_file_grab_license(0, pFile); // main(parent) process run on /tmp/foss-XXXXXX - } - } -} - -/** - * Main entry point for nomos - */ -int main(int argc, char **argv) -{ - int i; - int c; - int file_count = 0; - char *cp; - char sErrorBuf[1024]; - char *agent_desc = "License Scanner"; - char **files_to_be_scanned; /**< The list of files to scan */ - char *COMMIT_HASH = NULL; - char *VERSION = NULL; - char agent_rev[myBUFSIZ]; - cacheroot_t cacheroot; - char *scanning_directory= NULL; - int process_count = 0; - bool ignoreFilesWithMimeType = false; - - /* connect to the scheduler */ - fo_scheduler_connect(&argc, argv, &(gl.pgConn)); - gl.dbManager = fo_dbManager_new(gl.pgConn); - -#ifdef PROC_TRACE - traceFunc("== main(%d, %p)\n", argc, argv); -#endif /* PROC_TRACE */ - -#ifdef MEMORY_TRACING - mcheck(0); -#endif /* MEMORY_TRACING */ -#ifdef GLOBAL_DEBUG - gl.DEEBUG = gl.MEM_DEEBUG = 0; -#endif /* GLOBAL_DEBUG */ - - files_to_be_scanned = calloc(argc, sizeof(char *)); - - COMMIT_HASH = fo_sysconfig("nomos", "COMMIT_HASH"); - VERSION = fo_sysconfig("nomos", "VERSION"); - snprintf(agent_rev, sizeof(agent_rev), "%s.%s", VERSION, COMMIT_HASH); - - gl.agentPk = fo_GetAgentKey(gl.pgConn, basename(argv[0]), 0, agent_rev, agent_desc); - - /* Record the progname name */ - if ((cp = strrchr(*argv, '/')) == NULL_STR) - { - strncpy(gl.progName, *argv, sizeof(gl.progName)); - } - else - { - while (*cp == '.' || *cp == '/') - cp++; - strncpy(gl.progName, cp, sizeof(gl.progName)); - } - - if (putenv("LANG=C") < 0) - { - char * estr = strerror_r(errno, sErrorBuf, sizeof(sErrorBuf)); - LOG_FATAL("Cannot set LANG=C in environment. Error: %s", estr) - Bail(-__LINE__); - } - - /* Save the current directory */ - if (getcwd(gl.initwd, sizeof(gl.initwd)) == NULL_STR) - { - char *estr = strerror_r(errno, sErrorBuf, sizeof(sErrorBuf)); - LOG_FATAL("Cannot obtain starting directory. Error: %s", estr) - Bail(-__LINE__); - } - - /* default paragraph size (# of lines to scan above and below the pattern) */ - gl.uPsize = 6; - - /* Build the license ref cache to hold 2**11 (2048) licenses. - This MUST be a power of 2. - */ - cacheroot.maxnodes = 2 << 11; - cacheroot.nodes = calloc(cacheroot.maxnodes, sizeof(cachenode_t)); - if (!initLicRefCache(&cacheroot)) - { - LOG_FATAL("Nomos could not allocate %d cacheroot nodes.", cacheroot.maxnodes) - Bail(-__LINE__); - } - - /* Process command line options */ - while ((c = getopt(argc, argv, "VJSNvhiIlc:d:n:")) != -1) - { - switch (c) { - case 'c': break; /* handled by fo_scheduler_connect() */ - case 'i': - /* "Initialize" */ - Bail(0); /* DB was opened above, now close it and exit */ - case 'l': - /* set long command line output */ - gl.progOpts |= OPTS_LONG_CMD_OUTPUT; - break; - case 'v': - Verbose++; break; - case 'J': - gl.progOpts |= OPTS_JSON_OUTPUT; - break; - case 'S': - gl.progOpts |= OPTS_HIGHLIGHT_STDOUT; - break; - case 'N': - gl.progOpts |= OPTS_NO_HIGHLIGHTINFO; - break; - case 'V': - printf("%s", BuildVersion); - Bail(0); - case 'd': /* diretory to scan */ - gl.progOpts |= OPTS_SCANNING_DIRECTORY; - scanning_directory = optarg; - struct stat dir_sta; - int ret = stat(scanning_directory, &dir_sta); - if (-1 == ret || S_IFDIR != (dir_sta.st_mode & S_IFMT)) - { - if (-1 == ret) printf("stat('%s') error message: %s.\n",scanning_directory, strerror(errno)); - else printf("Warning: '%s' from -d is not a good directory(dir_sta.st_mode & S_IFMT = %o).\n", scanning_directory, dir_sta.st_mode & S_IFMT); - Usage(argv[0]); - Bail(-__LINE__); - } - break; - case 'n': /* spawn mutiple processes to scan */ - process_count = atoi(optarg); - break; - case 'I': - ignoreFilesWithMimeType = true; - break; - case 'h': - default: - Usage(argv[0]); - Bail(-__LINE__); - } - } - - - /* Copy filename args (if any) into array */ - for (i = optind; i < argc; i++) - { - files_to_be_scanned[file_count] = argv[i]; - file_count++; - } - - licenseInit(); - gl.flags = 0; - - if (file_count == 0 && !scanning_directory) - { - arsNomos(&cacheroot, ignoreFilesWithMimeType); - } - else - { /******** Files on the command line ********/ - FILE **pFile = NULL; // store temp file descriptors - char (*pTempFileName)[50] = NULL; // store temp file names, they are looking like /tmp/foss-XXXXXX - pid_t mainPid = 0; // main process id - cur.cliMode = 1; - - /* when scanning_directory is real direcotry, scan license in parallel */ - if (scanning_directory) { - if (process_count < 2) process_count = 2; // the least count is 2, at least has one child process - if (mutexJson == NULL && optionIsSet(OPTS_JSON_OUTPUT)) - { - initializeJson(); - printf("{\n\"results\":[\n"); - fflush(0); - } - pFile = malloc(process_count*(sizeof(FILE*))); - pTempFileName = malloc(process_count*sizeof(char[50])); - int i = 0; - int file_descriptor = 0; - for(i = 0; i < process_count; i++) - { - /* create temp file */ - char file_template[] = "/tmp/foss-XXXXXX"; // 'XXXXXX' will be replaced after mkstemp - file_descriptor = mkstemp(file_template); - - /* get the temp path file distriptors */ - pFile[i] = fdopen(file_descriptor, "w"); // open the files to write later - if (!pFile[i]) - { - LOG_FATAL("failed to open %s, %s\n", file_template, strerror(errno)); - } - strcpy(pTempFileName[i], file_template); // store temp file names - } - - /* walk through the specified directory to get all the file(file path) and - store into mutiple files - /tmp/foss-XXXXXX */ - int distribute_count = 0; // record how many files are found in one directory - list_dir(scanning_directory, process_count, &distribute_count, pFile); // list and store files into /tmp/foss-XXXXXX in one directory - - /* after the walking through and writing job is done, close all the temp path file distriptors. - then open the temp path files to read */ - for(i = 0; i < process_count; i++) - { - if (pFile[i]) fclose(pFile[i]); // write all the paths - pFile[i] = fopen(pTempFileName[i], "r"); // open the temp files to read - } - - /* create process_count - 1 child processes(please do not forget we always have the main process) */ - mainPid = getpid(); // get main process id - myFork(process_count - 1, pFile); // spawn process_count - 1 chile processes and grab licenses through process_count processes - int status = 0; - pid_t wpid = 0; - if (mainPid == getpid()) - { - /* wait all processes done. */ - while(1){ - wpid = wait(&status); - if (-1 == wpid) break; - } - - /* close the opening files, then delete the temp path files */ - for(i = 0; i < process_count; i++) - { - if (pFile[i]) - { - fclose(pFile[i]); - unlink(pTempFileName[i]); - } - } - - if (optionIsSet(OPTS_JSON_OUTPUT)) - { - printf("]\n}\n"); - destroyJson(); - } - - /* free memeory */ - free(pFile); - free(pTempFileName); - } - } - else { - if (0 != process_count) - { - printf("Warning: -n {nprocs} ONLY works with -d {directory}.\n"); - } - if (optionIsSet(OPTS_JSON_OUTPUT)) - { - initializeJson(); - printf("{\n\"results\":[\n"); - fflush(0); - } - for (i = 0; i < file_count; i++) { - initializeCurScan(&cur); - processFile(files_to_be_scanned[i]); - recordScanToDB(&cacheroot, &cur); - freeAndClearScan(&cur); - } - if (optionIsSet(OPTS_JSON_OUTPUT)) - { - printf("]\n}\n"); - destroyJson(); - } - } - } - - lrcache_free(&cacheroot); // for valgrind - - /* Normal Exit */ - Bail(0); - - /* this will never execute but prevents a compiler warning about reaching - the end of a non-void function */ - return (0); -} diff --git a/src/fosslight_dependency/third_party/nomos/agent/nomos.h b/src/fosslight_dependency/third_party/nomos/agent/nomos.h deleted file mode 100644 index f66f6880..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/nomos.h +++ /dev/null @@ -1,584 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2014 Hewlett-Packard Development Company, L.P. - Copyright (C) 2014, Siemens AG - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ - -/** - * \dir - * \brief Nomos agent source - * \file - * \brief Nomos header file - * \page nomos Nomos agent - * \tableofcontents - * \section nomosabout About - * Nomos does license identification using short phrases (regular expressions) - * and heuristics (e.g. phrase must be found in (or out of) proximity to - * another phrase or phrases). - * - * Nomos may also identify a "style" type of license if it has similarities - * with a known license type. - * - * The signatures which uniquely identify a license are stored in `STRINGS.in` - * file. - * - * If you wish to contribute to Nomos, please read [How to add a new license - * signature](https://github.com/fossology/fossology/wiki/Nomos). - * - * \subsection nomosdebug Debugging - * Activating the defines of PROC_TRACE and/or DOCTOR_DEBUG (see line 31 of - * file parse.c). Nomos generates lot of tracing information that is really - * helpful to debug it. - * - * `PROC_TRACE` will show you, for example, which regex's were tried and which - * are successful. To see the successful matches, grep the output file for - * "addRef". - * - * `DOCTOR_DEBUG` will show you the before and after versions of the buffer to - * be processed. Look in the output file or `----- [Dr-BEFORE:] -----` and - * `+++++ [Dr-AFTER] +++:` - * - * \section nomosactions Supported actions - * - * | Command line flag | Description | - * | ---: | :--- | - * | -i | Initialize the database, then exit. | - * | -c | Specify the directory for the system configuration. | - * | -l | Print full file path (command line only). | - * | -v | Verbose (-vv = more verbose). | - * | -J | Output in JSON. | - * | -S | Print Highlightinfo to stdout . | - * | file | If files are listed, print the licenses detected within them. | - * | no file | Process data from the scheduler. | - * | -V | Print the version info, then exit. | - * | -d | Specify a directory to scan. | - * | -n | Spaw n - 1 child processes to run, there will be n running - * processes(the parent and n - 1 children). \n The default n is 2(when n is - * less than 2 or not setting, will be changed to 2) when -d is specified. | - * \section nomossource Agent source - * - \link src/nomos/agent \endlink - * - \link src/nomos/ui \endlink - * - Functional test cases \link src/nomos/agent_tests/Functional \endlink - * - Unit test cases \link src/nomos/agent_tests/Unit \endlink - */ - -#ifndef _NOMOS_H -#define _NOMOS_H 1 -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif /* not defined _GNU_SOURCE */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "nomos_gap.h" -#include -#include -#include -#include "json_writer.h" - -/** Use nomos in standalone mode (no FOSSology DB) */ -#ifdef STANDALONE -#include "standalone.h" -#else -#include -#include -#endif - -/** - * To use our local version of debug-malloc(), compile -DMEMORY_TRACING - */ -#ifdef MEMORY_TRACING -#include "DMalloc.h" -#endif /* MEMORY_TRACING */ - -#define PRECHECK -#define GPLV2_BEATS_GPLV3 -#define SAVE_UNCLASSIFIED_LICENSES -/*#define FLAG_NO_COPYRIGHT*/ - -#ifdef PROC_TRACE_SWITCH -#define PROC_TRACE -#endif /* PROC_TRACE_SWITCH */ - -#define myBUFSIZ 4096 ///< Buffer max length -#define MAX_RENAME 1000 ///< Max rename length -#define TEMP_FILE_LEN 100 ///< Max temp file length - -/** MAX_SCANBYTES is the maximum number of bytes that will be scanned - * in a file. Historically, we have never found a license more than - * 64k into a file. - */ -#define MAX_SCANBYTES 1024*1024 - -/** - * Program options and flags - * - * MD: I think these are used when making nomos - */ -#define OPTS_DEBUG 0x1 -#define OPTS_TRACE_SWITCH 0x2 -#define OPTS_LONG_CMD_OUTPUT 0x4 -#define OPTS_HIGHLIGHT_STDOUT 0x8 -#define OPTS_NO_HIGHLIGHTINFO 0x10 -#define OPTS_JSON_OUTPUT 0x20 -#define OPTS_SCANNING_DIRECTORY 0x40 - -extern char debugStr[myBUFSIZ]; ///< Debug string -extern char dbErrString[myBUFSIZ]; ///< DB error string -extern char saveLics[myBUFSIZ]; ///< License string - -extern size_t hashEntries; ///< Hash entries - -/** - Flags for program control - */ -#define FL_SAVEBASE 0x20 -#define FL_FRAGMENT 0x40 -#define FL_SHOWMATCH 0x80 -#define FL_NOCOPYRIGHT 0x100 - -/** - * Names of various files/dirs created/used - */ -#define FILE_FOUND "Found.txt" -#define FILE_SCORES "_scores" -#define DEBUGLOG "/tmp/NomosDebugLog" - - -/** - * Symbolic Boolean value for NO - */ -#define NO 0 -/** - * Symbolic Boolean value for YES - */ -#define YES 1 - -/* List-sorting flags */ -#define UNSORTED 0 -#define SORT_BY_NAME 1 -#define SORT_BY_NAME_ICASE 2 -#define SORT_BY_COUNT_DSC 3 -#define SORT_BY_COUNT_ASC 4 -#define SORT_BY_ALIAS 5 -#define SORT_BY_BASENAME 6 - -/* Interest level (licenses) */ -#define IL_HIGH 3 -#define IL_MED 2 -#define IL_LOW 1 -#define IL_NONE 0 -#define IL_INIT -1 - -/** - * license-text search results (ltsr) stuff - */ -#define LTSR_RMASK ((char) 1) /**< True if it's been matched */ -#define LTSR_SMASK ((char) 2) /**< True if it's been searched for */ -#define LTSR_YES ((char) 3) /**< Both searched, and matched */ -#define LTSR_NO LTSR_SMASK /**< Searched but not matched */ - -/** - * Miscellaneous strings used in various modules - */ -#define STR_NOTPKG "None (not an rpm-format package)" - -/* - * License-scanning limits - */ -#define _scCOMFORT 9 /**< >= 9 --> certain it's a license */ -#define _scINVALID 4 /**< < 4 --> probably NOT a license */ - -/** - * LS_ = License Summaries/Strings - */ -#define LS_NONE "None" -#define LS_UNLIKELY "LikelyNot" -#define LS_NOSUM "No_license_found" -#define LS_UNCL "UnclassifiedLicense" -#define LS_NOT_PD "NOT-public-domain" -#define LS_PD_CLM "Public-domain" -#define LS_PD_CPRT "Public-domain(C)" -#define LS_PD_ONLY "Public-domain-ref" -#define LS_CPRTONLY "Misc-Copyright" -#define LS_TDMKONLY "Trademark-ref" -#define LS_LICRONLY "License-ref" -#define LS_PATRONLY "Patent-ref" - -/* - * NULL values - */ -#define NULL_ITEM (item_t *) NULL ///< NULL item -#define NULL_LIST (list_t *) NULL ///< NULL list -#define NULL_FH (fh_t *) NULL ///< NULL fh -#define NULL_CHAR '\0' ///< NULL character -#define NULL_STR (char *) NULL ///< NULL string - -/** - * Macros needed across >1 source module - */ -#define isEOL(x) (((x == '\n') || (x == '\r') || (x == '\v'))) ///< Check if x points to a EOL character -#define IS_HUGE(x) (x >= gl.blkUpperLimit) - - - -#define NOMOS_TEMP "/tmp/nomos.tempdir" -#define NOMOS_TLOCK "/tmp/nomos.tempdir/.lock.tmp," /**< CDB, This goes away. */ - - -/** - * Caches memory-mapped files - */ -struct mm_cache { - int inUse; ///< Cache in use - int fd; ///< File descriptor - unsigned long size; ///< Size - void *mmPtr; ///< Memory pointer - char label[myBUFSIZ]; ///< Label -}; - - -/* - CDB - This is kind of tricky, the way it uses the same fields for - different meanings. If we had objects, we could subclass. It works - okay, but is just a PITA for debugging. - */ - -/** - listitem item_t - \brief tricky data structure used for a list of 'items' - - Meanings of val fields are dependent on the particular list -- - See #defines below for examples. - */ -struct listitem { - int val; - int val2; - int val3; - char *str; /**< primary key for list-element */ - void *buf; /**< alias, extra data, whatever */ -}; -typedef struct listitem item_t; - - -/** - Defines for the list val fields - */ -#define seqNo val -#define foundTool val -#define refCount val -#define num val -#define bStart val -#define iFlag val -#define ssComp val2 -#define isProcessed val2 -#define iLevel val2 -#define nMatch val2 -#define bLen val2 -#define bDocLen val3 -#define bIndex val3 -#define bList buf - -/** - list - \brief list_t type structure used to keep various lists. (e.g. there are - multiple lists). - - */ -struct list { - char name[64]; /**< Name of the list */ - int used; /**< Number of items found, 0 is empty list */ - int size; /**< What size is this? (MD) */ - int ix; /**< The index for the items below */ - int sorted; /**< Flag to indicate how ?? (the list or the items in the - list?) things are sorted: SORT_BY_NAME or - SORT_BY_NAME_ICASE */ - int desc; /**< Description */ - item_t *items; /**< List items */ -}; -typedef struct list list_t; - -/** - * Search string - */ -struct searchString { - int csLen; ///< String length - char *csData; ///< String data -}; -typedef struct searchString searchString_t; - -/** - * License specification - */ -struct licenseSpec { - searchString_t seed; ///< License seed - searchString_t text; ///< License text -}; -typedef struct licenseSpec licSpec_t; - - -/** - \brief Structure holding data truly global in that it remains consistent - for each file scanned. - */ -struct globals { - char initwd[myBUFSIZ]; ///< CDB, would like to workaround/eliminate. - char progName[64]; ///< Program name - int progOpts; ///< CLI options - int flags; ///< Flags - int uPsize; ///< Size -#ifdef GLOBAL_DEBUG - int DEEBUG; - int MEM_DEEBUG; -#endif /* GLOBAL_DEBUG */ -#ifdef PROC_TRACE_SWITCH - int ptswitch; -#endif /* PROC_TRACE_SWITCH */ - list_t sHash; ///< Hashes - /* Agent-specific Things */ - int agentPk; ///< Agent id - long uploadFk; ///< Upload id - int arsPk; ///< Agent ars id - PGconn *pgConn; ///< DB Connection - fo_dbManager *dbManager; ///< FOSSology DB manager -}; - -/** - * License match positions and license type - */ -typedef struct { - int start; ///< Start position of match - int end; ///< End position of match - int index; ///< Enums from index (Entrynumber) in STRINGS.in -} MatchPositionAndType; - -/** - * License matches - */ -typedef struct { - GArray* matchPositions; ///< Match positions - GArray* indexList; ///< License indexes - char* licenceName; ///< License names - int licenseFileId; ///< PFile id -} LicenceAndMatchPositions; - - - -/** - curScan - \brief Struct that tracks state related to current file being scanned. - */ -struct curScan { - char cwd[myBUFSIZ]; /**< CDB, Would like to workaround and eliminate. */ - char targetDir[myBUFSIZ]; /**< Directory where file is */ /* check */ - char targetFile[myBUFSIZ]; /**< File we're scanning (tmp file)*/ /* check */ - char filePath[myBUFSIZ]; /**< the original file path passed in */ - long pFileFk; /**< [in] pfile_fk from scheduler */ - char pFile[myBUFSIZ]; /**< [in] pfilename from scheduler */ - char *licPara; - char *matchBase; - size_t targetLen; - size_t cwdLen; - struct stat stbuf; - regmatch_t regm; - list_t regfList; - list_t fLicFoundMap; - list_t parseList; - list_t offList; - list_t lList; - char compLic[myBUFSIZ]; /**< the license(s) found, None or NotLikely. - comma separated if multiple names are found. */ - int nLines; - int cliMode; /**< boolean to indicate running from command line */ - char *tmpLics; /**< pointer to storage for parsed names */ - char *licenseList[512]; /**< list of license names found, can be a single name */ - - GArray* indexList; /**< List of license indexes */ - GArray* theMatches; /**< List of matches */ - GArray* keywordPositions; /**< List of matche positions */ - GArray* docBufferPositionsAndOffsets; - int currentLicenceIndex; -}; - -/** - * License pattern - */ -struct license { - int len; ///< Length of pattern - char *patt; ///< License pattern to use -}; - -/** - * License text to information - */ -struct licensetext { - char *regex; ///< License regex - char *tseed; ///< unencrypted license text - int nAbove; - int nBelow; - int compiled; - int plain; -}; -typedef struct licensetext licText_t; - -/** - * Get regex of a license text - */ -#define _REGEX(x) licText[x].regex -/** - * Get seed of a license text - */ -#define _SEED(x) licText[x].tseed - -/** - * License scan result - */ -struct scanResults { - int score; ///< License match score - int kwbm; - int size; - int flag; ///< Flags - int dataOffset; - char fullpath[myBUFSIZ]; - char linkname[16]; - char *licenses; - char *relpath; - size_t nameOffset; -}; -typedef struct scanResults scanres_t; - -/** - * List-based memory tags - */ -#define MTAG_UNSORTKEY "list/str (initially-UNsorted key)" -#define MTAG_SORTKEY "list/str (initially-sorted key)" -#define MTAG_LISTKEY "list/str (sorted/unsorted key)" -#define MTAG_REPLKEY "list/str (replaced primary key)" -#define MTAG_LISTBUF "list/buf (any data)" -#define MTAG_PATHBASE "list/buf (path basename)" -#define MTAG_PKGINFO "list/buf (pkg rname/type/name/vers/lic)" -#define MTAG_PKG_NV "list/buf (pkg name/vers)" -#define MTAG_MD5SUM "list/buf (distro-arch MD5SUM)" -#define MTAG_COUNTER "list/buf integer (counter)" -#define MTAG_PKGNAME "list/buf (package-name)" -#define MTAG_PKGVERS "list/buf (package-vers)" -#define MTAG_CLAIMLIC "list/buf (claimlic copy)" -#define MTAG_COMPLIC "list/buf (pkg compLic copy)" -#define MTAG_URLCOPY "list/buf (pkg URL copy)" -#define MTAG_FILELIC "list/buf (file-license copy)" -#define MTAG_FIXNAME "list/buf (fixed-package name)" -/** - * Miscellaneous memory tags - */ -#define MTAG_SEEDTEXT "search-seed text" -#define MTAG_SRCHTEXT "license-search text" -#define MTAG_MMAPFILE "mmap-file data" -#define MTAG_MAGICDATA "file magic description" -#define MTAG_PATTRS "pkg-attr buffer" -#define MTAG_DOUBLED "doubled (reallocated) data" -#define MTAG_SEARCHBUF "initial search-data buffer" -#define MTAG_TOOSMALL "too-small half-size buffer" -#define MTAG_TEXTPARA "paragraph text" -#define MTAG_LIST "dynamically-allocated list" -#define MTAG_ENV "environment variable" -#define MTAG_SCANRES "scan-results list" - - -/* - Functions defined in nomos.c, used in other files - */ -void Bail(int exitval); -int optionIsSet(int val); - -/* - Global Declarations - */ -extern struct globals gl; -extern struct curScan cur; -extern licText_t licText[]; -extern licSpec_t licSpec[]; -extern int schedulerMode; /* Non-zero if being run by scheduler */ - -/** - Declarations for using the memory debug stuff - */ -#ifdef MEMORY_TRACING -char *memAllocTagged(); -void memFreeTagged(); -#define memFree(x,y) memFreeTagged(x, y) -#define memAlloc(x,y) memAllocTagged(x, y) -#else /* NOT MEMORY_TRACING */ -#define memFree(x,/*notused*/y) free(x) -#define memAlloc(x,y) calloc(x, 1) -#endif /* NOT MEMORY_TRACING */ - -/* - * Macros for timing - refer to findPhrase() for usage examples - */ -/* need TIMING_DECL in the declarations section of function */ -#define DECL_TIMER struct timeval bTV, eTV; float proctime -#define ZERO_TIMER memcpy((void *) &bTV, (void *) &eTV, sizeof(eTV)) -#define RESET_TIMER END_TIMER; ZERO_TIMER -#define START_TIMER RECORD_TIMER(bTV) -#define END_TIMER RECORD_TIMER(eTV) ; \ - proctime = (float) (eTV.tv_sec - bTV.tv_sec) + \ - ((float) (eTV.tv_usec - bTV.tv_usec) * 0.000001) -#define RECORD_TIMER(x) (void) gettimeofday(&x, (struct timezone *) NULL) -#define PRINT_TIMER(x,y) printf("%11.6f seconds: %s\n", proctime, x); \ - if (y) { DUMP_TIMERS; } -#define DUMP_TIMERS printf("[1]: %d.%06d\n", bTV.tv_sec, bTV.tv_usec); \ - printf("[2]: %d.%06d\n", eTV.tv_sec, eTV.tv_usec) - - -/* - * Cut-and-paste this stuff to turn on timing - */ -#if 0 -#ifdef TIMING -DECL_TIMER; /* timer declaration */ -#endif -/* */ -#ifdef TIMING -START_TIMER; /* turn on the timer */ -#endif /* TIMING */ -/* */ -#ifdef TIMING -END_TIMER; /* stop the timer */ -PRINT_TIMER("unpack", 0); /* ... and report */ -START_TIMER; /* optionally re-start timer */ -#endif /* TIMING */ -#endif - -#endif /* _NOMOS_H */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/nomos_gap.c b/src/fosslight_dependency/third_party/nomos/agent/nomos_gap.c deleted file mode 100644 index cb23fff2..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/nomos_gap.c +++ /dev/null @@ -1,111 +0,0 @@ -/* -Copyright (C) 2013-2014, Siemens AG - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -version 2 as published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "nomos_gap.h" -#include /* printf, scanf, NULL */ -#include /* malloc, free, rand */ - -/** - * \file - * Compile using `gcc nomos_gap.c $(pkg-config glib-2.0 --cflags --libs) -std=c99` - */ - -/** - * collapse text by elimination of invisible char, returns position+offset pairs - */ -GArray* collapseInvisible(char* text, char invisible) -{ - int offset = 0; - char* readPointer = text; - char* writePointer = text; - int iAmVisible; - GArray* pairs = g_array_new(FALSE, FALSE, sizeof(pairPosOff)); - for( iAmVisible = FALSE; *readPointer; readPointer++) - { - if(*readPointer == invisible){ - offset++; - iAmVisible = FALSE; - continue; - } - // now: *readPointer != invisible - if (!iAmVisible){ - pairPosOff pair; - pair.pos = writePointer-text; - pair.off = offset; - g_array_append_val(pairs, pair); - iAmVisible = TRUE; - } - *writePointer++ = *readPointer; - } - *writePointer = '\0'; - return pairs; -} - -/** - * Collapse spaces in text, returns position+offset pairs - * \todo delete me - */ -GArray* collapseSpaces(char* text) -{ - int start = 0; - int cutOff; /* -1,0,1,... */ - char* readPointer = text; - char* writePointer = text; - GArray* pairs = g_array_new(FALSE, FALSE, sizeof(pairPosOff)); - for( cutOff=1; *readPointer; readPointer++) - { - if((*readPointer!=' ') && (cutOff>0)){ - pairPosOff pair; - pair.pos = start; - pair.off = readPointer-writePointer; - g_array_append_val(pairs, pair); - } - if(*readPointer==' '){ - cutOff++; - } - else{ // far away from cutting - cutOff = -1; - } - if (cutOff==0){ - start = writePointer+1-text; - } - if (cutOff < 1){ - *writePointer++ = *readPointer; - } - } - *writePointer = '\0'; - return pairs; -} - -inline pairPosOff* getPairPosOff(GArray* in, int index) -{ - return &g_array_index(in, pairPosOff, index); -} - -int uncollapsePosition(int collapsedPos, GArray* shifter) -{ - int shifterIndex; - pairPosOff* thePoA; - for (shifterIndex = 1; shifterIndex < shifter->len; ++shifterIndex) { - thePoA = getPairPosOff(shifter, shifterIndex); - if (thePoA->pos > collapsedPos) { - break; - } - } - thePoA = getPairPosOff(shifter, shifterIndex - 1); - return collapsedPos + thePoA->off; -} diff --git a/src/fosslight_dependency/third_party/nomos/agent/nomos_gap.h b/src/fosslight_dependency/third_party/nomos/agent/nomos_gap.h deleted file mode 100644 index 33948b6d..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/nomos_gap.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright (C) 2013-2014, Siemens AG - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -version 2 as published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#ifndef NOMOS_GAP_H -#define NOMOS_GAP_H -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif /* not defined _GNU_SOURCE */ -#include - -struct PairPosOff { - int pos; - int off; -}; -typedef struct PairPosOff pairPosOff; - -pairPosOff* getPairPosOff(GArray* in, int index); -int uncollapsePosition(int collapsedPos, GArray* shifter); -GArray* collapseSpaces(char* text); -GArray* collapseInvisible(char* text, char invisible); -#endif /* NOMOS_GAP_H */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/nomos_regex.c b/src/fosslight_dependency/third_party/nomos/agent/nomos_regex.c deleted file mode 100644 index 58db413d..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/nomos_regex.c +++ /dev/null @@ -1,706 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2011 Hewlett-Packard Development Company, L.P. - Copyright (C) 2014, Siemens AG - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -//#define DEBUG_TNG -#ifndef DEBUG_TNG -#define CALL_IF_DEBUG_MODE(x) -#else -#define CALL_IF_DEBUG_MODE(x) x -#endif - -#include "nomos_regex.h" -#include "nomos_gap.h" -#include "nomos_utils.h" -/** - * \file - * \brief search using regex functions - * - * Functions for dealing with the regex clib functions. Performs the - * regex searchs on the data. - */ -/** Buffer to hold regex error */ -static char regexErrbuf[myBUFSIZ]; - -regex_t idx_regc[NFOOTPRINTS]; -regex_t regc[NFOOTPRINTS]; - -/** - * \brief Log an error caused by regex - * - * Calls regerror() - * \param ret Error code - * \param regc Compiled regex - * \param regex Regex string - */ -void regexError(int ret, regex_t *regc, char *regex) -{ -#ifdef PROC_TRACE - traceFunc("== regexError(%d, %p, %s)\n", ret, regc, regex); -#endif /* PROC_TRACE */ - - (void) regerror(ret, regc, regexErrbuf, sizeof(regexErrbuf)); - Msg("regex = \"%s\"\n", regex); - LOG_FATAL("regcomp failure: %s", regexErrbuf) - Bail(-__LINE__); -} - -/** - * \brief Check if a string ends with given suffix - * \param s String to check - * \param suffix Suffix to find - * \return 1 if suffix found, 0 otherwise - */ -int endsIn(char *s, char *suffix) -{ - int slen = (int) strlen(s); - int sufflen = (int) strlen(suffix); - /* - * compare trailing chars in a string with a constant (should be faster - * than calling regcomp() and regexec()!) - */ -#ifdef PROC_TRACE - traceFunc("== endsIn(%s, %s)\n", s, suffix); -#endif /* PROC_TRACE */ - - if (strncasecmp(s + slen - sufflen, suffix, (size_t) sufflen) == 0) - { - return (1); - } - return (0); -} - -/** - * \brief Check if a line exists in a file - * \param pathname File location - * \param regex Regex to check - * \return True if regex satisfied, false otherwise - */ -int lineInFile(char *pathname, char *regex) -{ - char buf[myBUFSIZ]; - -#ifdef PROC_TRACE - traceFunc("== lineInFile(%s, \"%s\")\n", pathname, regex); -#endif /* PROC_TRACE */ - - (void) snprintf(buf, sizeof(buf), "^%s$", regex); - return (textInFile(pathname, buf, REG_NEWLINE)); -} - -/** - * \brief Check if a regex passes in a file - * \param pathname File location - * \param regex Regex to check - * \param flags Additional regex flags - * \return True if regex satisfied, false otherwise - */ -int textInFile(char *pathname, char *regex, int flags) -{ - char *textp; - int ret; - -#ifdef PROC_TRACE - traceFunc("== textInFile(%s, \"%s\", 0x%x)\n", pathname, regex, flags); -#endif /* PROC_TRACE */ - - if ((pathname == NULL_STR ) || (regex == NULL_STR )) - { -#ifdef QA_CHECKS - if (pathname == NULL_STR) - { - Assert(NO, "textInFile: NULL pathname"); - } - if (regex == NULL_STR) - { - Assert(NO, "textInFile: NULL regex"); - } -#endif /* QA_CHECKS */ - return (0); - } - if ((textp = mmapFile(pathname)) == NULL_STR) - { - return (0); - } - ret = strGrep(regex, textp, flags); - munmapFile(textp); - return (ret); -} - -/** - * \brief General-purpose grep function, used for one-time-only searches. - * - * @return -1 on regex-compile failure, 1 if regex search fails, and 0 if - * regex search is successful. - */ - -int strGrep(char *regex, char *data, int flags) -{ - regex_t regc; - int ret; - -#ifdef PHRASE_DEBUG - int i; -#endif /* PHRASE_DEBUG */ - -#if defined(PROC_TRACE) || defined(PHRASE_DEBUG) - traceFunc("== strGrep(\"%s\", %p, 0x%x)\n", regex, data, flags); -#endif /* PROC_TRACE || PHRASE_DEBUG */ - - if (data == NULL_STR || regex == NULL_STR) - { - return (0); - } - /* DO NOT, repeat DO NOT add REG_EXTENDED as a default flag! */ - if ((ret = regcomp(®c, regex, flags)) != 0) - { - regexError(ret, ®c, regex); - regfree(®c); - return (-1); /* <0 indicates compile failure */ - } - /* - * regexec() returns 1 on failure and 0 on success - make sure we call - * regfree after the regexec call, else after a million or so regex - * searches we'll have lost a LOT of memory. :) - */ - ret = regexec(®c, data, 1, &cur.regm, 0); - regfree(®c); - if (ret) - { - return (0); /* >0 indicates search failure */ - } -#ifdef QA_CHECKS - if (cur.regm.rm_so == cur.regm.rm_eo) - { - Assert(NO, "start/end offsets are identical in strGrep()"); - } -#endif /* QA_CHECKS */ -#ifdef PHRASE_DEBUG - printf("strGrep MATCH(%s) @ %d! = {", regex, cur.regm.rm_so); - for (i = cur.regm.rm_so; i < cur.regm.rm_eo; i++) - { - printf("%c", data[i]); - } - printf("}\n"); -#endif /* PHRASE_DEBUG */ - if (gl.flags & FL_SAVEBASE) - { - cur.matchBase = data; - } - return (1); -} - -/** - * \brief compile a regex, and perform the search (on data?) - * - * @param index number of licence/regex we are looking for (given in STRINGS.in) - * @param data the data to search - * @param flags regcomp cflags - * - * @return -1 on regex-compile failure, 1 if regex search fails, and 0 if - * regex search is successful. - */ -int idxGrep(int index, char *data, int flags) -{ - return idxGrep_base(index, data, flags, 0); -} - -/** - * \brief compile a regex, perform the search and record findings - * - * If OPTS_NO_HIGHLIGHTINFO is set, do not record. If not set, record the findings - * \param index number of licence/regex we are looking for (given in STRINGS.in) - * \param data the data to search - * \param flags regcomp cflags - * \return -1 on regex-compile failure, 1 if regex search fails, and 0 if - * regex search is successful. - */ -int idxGrep_recordPosition(int index, char *data, int flags) -{ - if( optionIsSet(OPTS_NO_HIGHLIGHTINFO) ) { - return idxGrep_base(index, data, flags, 0); - } - else { - return idxGrep_base(index, data, flags, 1); - } -} - -/** - * \brief compile a regex, perform the search and record findings - * - * If OPTS_NO_HIGHLIGHTINFO is set, do not record. If not set, record the - * doctored findings - * \param index number of licence/regex we are looking for (given in STRINGS.in) - * \param data the data to search - * \param flags regcomp cflags - * \return -1 on regex-compile failure, 1 if regex search fails, and 0 if - * regex search is successful. - */ -int idxGrep_recordPositionDoctored(int index, char *data, int flags) -{ - - if( optionIsSet(OPTS_NO_HIGHLIGHTINFO) ) { - return idxGrep_base(index, data, flags, 0); - } - else { - return idxGrep_base(index, data, flags, 2); - } -} - -/** - * \brief compile a regex, perform the search and record index - * - * If OPTS_NO_HIGHLIGHTINFO is set, do not record. If not set, record the - * finding index - * \param index number of licence/regex we are looking for (given in STRINGS.in) - * \param data the data to search - * \param flags regcomp cflags - * \return -1 on regex-compile failure, 1 if regex search fails, and 0 if - * regex search is successful. - */ -int idxGrep_recordIndex(int index, char *data, int flags) -{ - if( optionIsSet(OPTS_NO_HIGHLIGHTINFO) ) { - return idxGrep_base(index, data, flags, 0); - } - else { - return idxGrep_base(index, data, flags, 3); - } -} - -/** - * \brief Perform a regex match on a given data and return only first match - * \param isPlain Do a plain match? - * \param data The string to perform search on - * \param regex The regex string - * \param rp Regex buffer - * \param[out] regmatch Regex matches - * \return - */ -int matchOnce(int isPlain, char *data, char* regex, regex_t *rp, - regmatch_t* regmatch) -{ - if(isPlain) { - return !strNbuf_noGlobals(data, regex, regmatch , 0 , cur.matchBase ); - } - - return regexec(rp, data, 1, regmatch, 0); -} - -/** - * \brief Store a single regex match to array - * \param[in] currentRegMatch Match to store - * \param[in] lastmatch Index of last match - * \param[in,out] allmatches Array of all matches - * \param[in,out] tmpData - * \param[in] data - * \return New lastmatch index - */ -int storeOneMatch(regmatch_t currentRegMatch, int lastmatch, GArray* allmatches, - char** tmpData, char* data) -{ - regmatch_t storeRegMatch; - storeRegMatch.rm_so = currentRegMatch.rm_so + lastmatch; - storeRegMatch.rm_eo = currentRegMatch.rm_eo + lastmatch; - g_array_append_val(allmatches, storeRegMatch); - lastmatch += currentRegMatch.rm_eo; - *tmpData = data + lastmatch; - return lastmatch; -} - -/** - * \brief compile a regex, and perform the search (on data?) - * - * @param index number of licence/regex we are looking for (given in STRINGS.in) - * @param data the data to search - * @param flags regcomp cflags - * @param mode Flag to control recording of findings (0:No, 1: Yes, 2:Yes doctored buffer) - * - * @return -1 on regex-compile failure, 1 if regex search fails, and 0 if - * regex search is successful. - */ -int idxGrep_base(int index, char *data, int flags, int mode) -{ - int i; - int ret; - - int show = flags & FL_SHOWMATCH; - licText_t *ltp = licText + index; - /** - * \todo is idx_regc needed? Here we set the pointer to our array and later - * we fill it, but we never reuse the regex_t - */ - regex_t *rp = idx_regc + index; - - CALL_IF_DEBUG_MODE(printf(" %i %i \"", index, ltp->plain);) - -#if defined(PROC_TRACE) || defined(PHRASE_DEBUG) - traceFunc("== idxGrep(%d, %p, 0x%x)\n... regex \"%s\"\n", index, data, - flags, _REGEX(index)); -#endif /* PROC_TRACE || PHRASE_DEBUG */ - - if (index > NFOOTPRINTS) - { - LOG_FATAL("idxGrep: index %d out of range", index) - Bail(-__LINE__); - } - if (data == NULL_STR) - { -#ifdef PHRASE_DEBUG - printf("idxGrep: NULL pointer to file data!\n"); -#endif /* PHRASE_DEBUG */ - return (0); - } - - if (ltp->plain ) - { - ret = strNbuf(data, ltp->regex); - if(ret == 0) return (ret); - } - else { - if ((ret = regcomp(rp, ltp->regex, flags))) - { - fprintf(stderr, "Compile failed, regex #%d\n", index); - regexError(ret, rp, ltp->regex); - regfree(rp); - printf("Compile error \n"); - return (-1); /* <0 indicates compile failure */ - } - - if (regexec(rp, data, 1, &cur.regm, 0)) - { - regfree(rp); - return (0); - } - else ret =1; - - #ifdef QA_CHECKS - if (cur.regm.rm_so == cur.regm.rm_eo) - { - regfree(rp); - Assert(NO, "start/end offsets are identical in idxGrep(%d)", - index); - } - #endif /* QA_CHECKS */ - /* Set up a global match-length variable? */ - if (show) - { - #ifdef DEBUG - printf("REGEX(%d) \"%s\"\n", index, ltp->regex); - #endif /* DEBUG */ - printf("MATCH @ %d! = {", cur.regm.rm_so); - for (i = cur.regm.rm_so; i < cur.regm.rm_eo; i++) - { - printf("%c", data[i]); - } - printf("}\n"); - } - if (gl.flags & FL_SAVEBASE) - { - cur.matchBase = data; - } - } - - //! Now we have a match - - if (mode == 3 ) { - recordIndex(cur.indexList, index); - } - else if (mode==1 || mode == 2) - { - CALL_IF_DEBUG_MODE(printf("MATCH!\n");) - //! All sanity checks have passed and we have at least one match - - CALL_IF_DEBUG_MODE(printf("%s", data);) - - - GArray* allmatches = g_array_new(FALSE, FALSE, sizeof(regmatch_t)); - regmatch_t currentRegMatch; - int lastmatch = 0; - - char* tmpData = data; - - lastmatch = storeOneMatch(cur.regm, lastmatch, allmatches, &tmpData, data); - - while (!matchOnce(ltp->plain,tmpData, ltp->regex, rp, ¤tRegMatch ) ) - { - lastmatch = storeOneMatch(currentRegMatch, lastmatch, allmatches, &tmpData, data); - } - - - if(index >= _KW_first && index <= _KW_last ) { - rememberWhatWeFound(cur.keywordPositions, allmatches, index, mode); - } - else if (cur.currentLicenceIndex > -1 ) { - rememberWhatWeFound( getLicenceAndMatchPositions(cur.theMatches, cur.currentLicenceIndex )->matchPositions , allmatches, index, mode); - } - g_array_free(allmatches, 1); - CALL_IF_DEBUG_MODE(printf("Bye!\n");) - } - - if (!ltp->plain ) regfree(rp); -return (1); -} - -/** - * \brief Add a given index to index list - * \param[in,out] indexList List to add index to - * \param[in] index Index to be appended - */ -void recordIndex(GArray* indexList, int index){ - g_array_append_val(indexList, index); -} - -/** - * \brief Get offset from doctored buffer - * \param posInDoctoredBuffer - * \return new offset - * \sa uncollapsePosition() - */ -static int getOffset(int posInDoctoredBuffer) -{ - return uncollapsePosition(posInDoctoredBuffer, cur.docBufferPositionsAndOffsets); -} - -/** - * \brief From a given array, get regex match from a given index - * \param in Array to get regex match from - * \param index The index in array required - * \return Regex match @index - */ -regmatch_t* getRegmatch_t(GArray* in, int index) -{ - return & g_array_index(in, regmatch_t, index); -} - -/** - * \brief Store regex matches in highlight array - * \param[in,out] highlight The array holding the regex matches - * \param[in] regmatch_tArray Array of regex matches to store - * \param[in] index Index of license (from STRINGS.in) - * \param[in] mode Mode to store (1=>get the byte position|2=>get the offset) - */ -void rememberWhatWeFound(GArray* highlight, GArray* regmatch_tArray, int index, - int mode) -{ - - if (mode != 1 && mode != 2) - { - FOSSY_EXIT("This mode is not supported\n", 8); - return; - } - - int i = 0; - int nmatches = regmatch_tArray->len; - int alreadyFound = highlight->len; - g_array_set_size(highlight, alreadyFound + nmatches); - - for (i = 0; i < nmatches; ++i) - { - regmatch_t* theRegmatch = getRegmatch_t(regmatch_tArray, i); - if (theRegmatch->rm_eo == -1 || theRegmatch->rm_so == -1) - { - FOSSY_EXIT("Found match at negative position... this should not happen\n", 9); - return; - } - - MatchPositionAndType* ourMatchv = getMatchfromHighlightInfo(highlight, i + alreadyFound); - ourMatchv->start = (mode == 1) ? theRegmatch->rm_so : getOffset(theRegmatch->rm_so); - ourMatchv->end = (mode == 1) ? theRegmatch->rm_eo : getOffset(theRegmatch->rm_eo); - ourMatchv->index = index; - - CALL_IF_DEBUG_MODE(printf("here: %i - %i \n", ourMatchv->start, ourMatchv->end);) - } - CALL_IF_DEBUG_MODE(printf(" We go and now we know %d ", highlight->len);) -} - -#define _XC(q) ((char) xascii[q]) - -/** - * \brief Check if a string exists in buffer (case insensitive) - * \param data Haystack - * \param str Needle - * \return 1 on success, 0 otherwise - * \sa strNbuf_noGlobals() - */ -int strNbuf(char *data, char *str){ - - return strNbuf_noGlobals(data, str, &(cur.regm), gl.flags & FL_SAVEBASE , cur.matchBase ); -} - -/** - * \brief This is our own internal, case-insensitive version of strstr(). - * - * No open-source code was consulted/used in the construction of this function. - */ -int strNbuf_noGlobals(char *data, char *str, regmatch_t* matchPos, int doSave, -char* saveData) -{ - static int firstFlag = 1; - static char xascii[128]; - int i; - int alph = 0; - int save = 0; - char *bufp; - char *pattp; - char *mark; - char x; - char firstx = 0; - -#if defined(PROC_TRACE) || defined(PHRASE_DEBUG) - traceFunc("== strNbuf(%p, %p)\n", data, str); -#endif /* PROC_TRACE || PHRASE_DEBUG */ - - if (firstFlag) - { - firstFlag = 0; - /* - * 32 characters separate 'A' (65) and 'a' (97), contiguous up to 'Z'. - * Therefore, 'Z' == 90, 'a' == 97, and 'z' == 122 - */ - for (i = 0; i < sizeof(xascii); i++) - { - if ((i >= 65) && (i <= 90)) - { /* isupper */ - xascii[i] = i + 32; /* -> tolower */ - } - else if ((i >= 97) && (i <= 122)) - { /* islower */ - xascii[i] = i - 32; /* -> toupper */ - } - else - { - /* *foo = tolower((char)i); */ - xascii[i] = (char) /*i*/0; - } - } -#ifdef STRSTR_DEBUG - /* - * Dump the table (debugging purposes only) - */ - for (i = 0; i < sizeof (xascii); i++) - { - if (xascii[i]) - { - printf(" %c%c ", (unsigned) i, xascii[i]); - } - else - { - printf("\\%03d ", (int) xascii[i]); - } - if (i & 16 == 15) - { - printf("\n"); - } - } -#endif /* STRSTR_DEBUG */ - } -#ifdef STRSTR_DEBUG - printf("DATA \"%s\"\nPATT \"%s\"\n", data, str); -#endif /* STRSTR_DEBUG */ - if (data == NULL_STR || str == NULL_STR) - { - return (0); - } - alph = isalpha(*str); - if (alph) - { - firstx = xascii[(int) *str]; -#ifdef STRSTR_DEBUG - printf("NOTE: first char (%c) is Alphabetic - alternate is (%c)\n", - *str, firstx); -#endif /* STRSTR_DEBUG */ -#ifdef QA_CHECKS - if (firstx == NULL_CHAR) - { - LOG_FATAL("Unexpected initialization") - Bail(-__LINE__); - } -#endif /* QA_CHECKS */ - } - for (bufp = data; /* *pattp && */*bufp; bufp = mark) - { -#ifdef STRSTR_DEBUG - printf("\nDEBUG: start, buffer = \"%s\"\n", bufp); -#endif /* STRSTR_DEBUG */ - pattp = str; - /* - * Locate the first character of our target-pattern in the buffer... - */ - while (*bufp) - { -#ifdef STRSTR_DEBUG - printf("... findfirst, *bufp is '%c' == [%c%c]?\n", - *bufp, *str, alph ? firstx : *str); -#endif /* STRSTR_DEBUG */ - if (*bufp == *pattp) - { - break; - } - if (alph && (*bufp == firstx)) - { - break; - } - bufp++; - } - if (*bufp == NULL_CHAR) - { - return (0); - } - save = bufp - data; - mark = ++bufp; /* could optimize this in loop below */ -#ifdef STRSTR_DEBUG - printf("GOT IT, at offset %d (*mark now is '%c')\n", - bufp - data - 1, *mark); -#endif /* STRSTR_DEBUG */ - /* optimizeMark = 1; */ - for (++pattp; *bufp && *pattp; bufp++, pattp++) - { -#ifdef STRSTR_DEBUG - printf("STRING-COMPARE: %c == %c ??\n", *bufp, *pattp); -#endif /* STRSTR_DEBUG */ - if (*bufp == *pattp) - { - continue; - } -#ifdef STRSTR_DEBUG - printf("... or perhaps: %c == %c ??\n", *bufp, - xascii[*pattp]); -#endif /* STRSTR_DEBUG */ - if (((x = xascii[(int) *pattp])) && (*bufp == x)) - { - continue; - } - break; - } - if (*pattp == NULL_CHAR) - { - matchPos->rm_so = save; - matchPos->rm_eo = save + strlen(str); - if (doSave) - { - saveData = data; - } - return (1); /* end of pattern == success */ - } - if (*bufp == NULL_CHAR) - { - return (0); /* end of buffer == success */ - } - } - return (0); -} diff --git a/src/fosslight_dependency/third_party/nomos/agent/nomos_regex.h b/src/fosslight_dependency/third_party/nomos/agent/nomos_regex.h deleted file mode 100644 index 11ed1c5b..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/nomos_regex.h +++ /dev/null @@ -1,47 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2009 Hewlett-Packard Development Company, L.P. - Copyright (C) 2014, Siemens AG - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ - -#ifndef _NOMOS_REGEX_H -#define _NOMOS_REGEX_H -#include -#include -#include "nomos.h" -#include "util.h" -#include "_autodefs.h" - -extern regex_t regc[NFOOTPRINTS]; - -void regexError(int ret, regex_t *regc, char *regex); -int endsIn(char *s, char *suffix); -int lineInFile(char *pathname, char *regex); -int textInFile(char *pathname, char *regex, int flags); -int strGrep(char *regex, char *data, int flags); -int idxGrep(int index, char *data, int flags); -int idxGrep_recordPosition(int index, char *data, int flags); -int idxGrep_recordPositionDoctored(int index, char *data, int flags); -int idxGrep_recordIndex(int index, char *data, int flags); -int idxGrep_base(int index, char *data, int flags, int mode); -int strNbuf(char *data, char *str); -int strNbuf_noGlobals(char *data, char *str , regmatch_t* matchPos, int doSave , char* saveData); -int matchOnce(int isPlain,char *data, char* regex, regex_t *rp, regmatch_t* regmatch ); -regmatch_t* getRegmatch_t(GArray* in,int index); -void rememberWhatWeFound(GArray* highlight, GArray* regmatch_tArray, int index, int mode); -void recordIndex(GArray* indexList, int index); - -#endif /* _NOMOS_REGEX_H */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/nomos_utils.c b/src/fosslight_dependency/third_party/nomos/agent/nomos_utils.c deleted file mode 100644 index c1f5fcc4..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/nomos_utils.c +++ /dev/null @@ -1,1034 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2014 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ - -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif /* not defined _GNU_SOURCE */ - -#include "nomos_utils.h" -#include "nomos.h" - -#define FUNCTION - -/** - * \file - * \brief Utilities used by nomos - */ - -sem_t* mutexJson; -gboolean* printcomma; -char saveLics[myBUFSIZ]; - -/** - \brief Add a new license to license_ref table - - Adds a license to license_ref table. - - @param licenseName Name of license - - @return rf_pk for success, 0 for failure - */ -FUNCTION long add2license_ref(char *licenseName) -{ - - PGresult *result; - char query[myBUFSIZ]; - char insert[myBUFSIZ]; - char escLicName[myBUFSIZ]; - char *specialLicenseText; - long rf_pk; - - int len; - int error; - int numRows; - - // escape the name - len = strlen(licenseName); - PQescapeStringConn(gl.pgConn, escLicName, licenseName, len, &error); - if (error) - LOG_WARNING("Does license name %s have multibyte encoding?", licenseName) - - /* verify the license is not already in the table */ - snprintf(query, myBUFSIZ - 1, "SELECT rf_pk FROM " LICENSE_REF_TABLE " where rf_shortname='%s'", escLicName); - result = PQexec(gl.pgConn, query); - if (fo_checkPQresult(gl.pgConn, result, query, __FILE__, __LINE__)) - return 0; - numRows = PQntuples(result); - if (numRows) - { - rf_pk = atol(PQgetvalue(result, 0, 0)); - PQclear(result); - return rf_pk; - } - PQclear(result); - - /* Insert the new license */ - specialLicenseText = "License by Nomos."; - - snprintf(insert, myBUFSIZ - 1, "insert into license_ref(rf_shortname, rf_text, rf_detector_type) values('%s', '%s', 2)", escLicName, - specialLicenseText); - result = PQexec(gl.pgConn, insert); - // ignore duplicate constraint failure (23505), report others - if ((result == 0) - || ((PQresultStatus(result) != PGRES_COMMAND_OK) - && (strncmp(PG_ERRCODE_UNIQUE_VIOLATION, PQresultErrorField(result, PG_DIAG_SQLSTATE), 5)))) - { - printf("ERROR: %s(%d): Nomos failed to add a new license. %s/n: %s/n", - __FILE__, __LINE__, PQresultErrorMessage(result), insert); - PQclear(result); - return (0); - } - PQclear(result); - - /* retrieve the new rf_pk */ - result = PQexec(gl.pgConn, query); - if (fo_checkPQresult(gl.pgConn, result, query, __FILE__, __LINE__)) - return 0; - numRows = PQntuples(result); - if (numRows) - rf_pk = atol(PQgetvalue(result, 0, 0)); - else - { - printf("ERROR: %s:%s:%d Just inserted value is missing. On: %s", __FILE__, "add2license_ref()", __LINE__, query); - PQclear(result); - return (0); - } - PQclear(result); - - return (rf_pk); -} - -/** - \brief calculate the hash of an rf_shortname - rf_shortname is the key - - @param pcroot Root pointer - @param rf_shortname - - @return hash value - */ -FUNCTION long lrcache_hash(cacheroot_t *pcroot, char *rf_shortname) -{ - long hashval = 0; - int len, i; - - /* use the first sizeof(long) bytes for the hash value */ - len = (strlen(rf_shortname) < sizeof(long)) ? strlen(rf_shortname) : sizeof(long); - for (i = 0; i < len; i++) - hashval += rf_shortname[i] << 8 * i; - hashval = hashval % pcroot->maxnodes; - return hashval; -} - -/** - \brief Print the contents of the hash table - - @param pcroot Table root - - @return none - */ -FUNCTION void lrcache_print(cacheroot_t *pcroot) -{ - cachenode_t *pcnode; - long hashval = 0; - int i; - - pcnode = pcroot->nodes; - for (i = 0; i < pcroot->maxnodes; i++) - { - if (pcnode->rf_pk != 0L) - { - hashval = lrcache_hash(pcroot, pcnode->rf_shortname); - printf("%ld, %ld, %s\n", hashval, pcnode->rf_pk, pcnode->rf_shortname); - } - pcnode++; - } -} - -/** - \brief free the hash table - - @param pcroot Table root - - @return none - */ -FUNCTION void lrcache_free(cacheroot_t *pcroot) -{ - cachenode_t *pcnode; - int i; - - pcnode = pcroot->nodes; - for (i = 0; i < pcroot->maxnodes; i++) - { - if (pcnode->rf_pk != 0L) - { - free(pcnode->rf_shortname); - } - pcnode++; - } - free(pcroot->nodes); -} - -/** - \brief add a rf_shortname, rf_pk to the license_ref cache - rf_shortname is the key - - @param pcroot Table root - @param rf_pk License ID in DB - @param rf_shortname License shortname (key) - - @return -1 for failure, 0 for success - */ -FUNCTION int lrcache_add(cacheroot_t *pcroot, long rf_pk, char *rf_shortname) -{ - cachenode_t *pcnode; - long hashval = 0; - int i; - int noden; - - hashval = lrcache_hash(pcroot, rf_shortname); - - noden = hashval; - for (i = 0; i < pcroot->maxnodes; i++) - { - noden = (hashval + i) & (pcroot->maxnodes - 1); - - pcnode = pcroot->nodes + noden; - if (!pcnode->rf_pk) - { - pcnode->rf_shortname = strdup(rf_shortname); - pcnode->rf_pk = rf_pk; - break; - } - } - if (i < pcroot->maxnodes) - return 0; - - return -1; /* no space */ -} - -/** - \brief lookup rf_pk in the license_ref cache - rf_shortname is the key - - @param pcroot - @param rf_shortname - - @return rf_pk, 0 if the shortname is not in the cache - */ -FUNCTION long lrcache_lookup(cacheroot_t *pcroot, char *rf_shortname) -{ - cachenode_t *pcnode; - long hashval = 0; - int i; - int noden; - - hashval = lrcache_hash(pcroot, rf_shortname); - - noden = hashval; - for (i = 0; i < pcroot->maxnodes; i++) - { - noden = (hashval + i) & (pcroot->maxnodes - 1); - - pcnode = pcroot->nodes + noden; - if (!pcnode->rf_pk) - return 0; - if (strcmp(pcnode->rf_shortname, rf_shortname) == 0) - { - return pcnode->rf_pk; - } - } - - return 0; /* not found */ -} - -/** - \brief build a cache the license ref db table. - - initLicRefCache builds a cache using the rf_shortname as the key - and the rf_pk as the value. This is an optimization. The cache is used for - reference license lookups instead of querying the db. - - @param pcroot - - @return 0 for failure, 1 for success - */ - -FUNCTION int initLicRefCache(cacheroot_t *pcroot) -{ - - PGresult *result; - char query[myBUFSIZ]; - int row; - int numLics; - - if (!pcroot) - return 0; - - sprintf(query, "SELECT rf_pk, rf_shortname FROM " LICENSE_REF_TABLE " where rf_detector_type=2"); - result = PQexec(gl.pgConn, query); - if (fo_checkPQresult(gl.pgConn, result, query, __FILE__, __LINE__)) - return 0; - - numLics = PQntuples(result); - /* populate the cache */ - for (row = 0; row < numLics; row++) - { - lrcache_add(pcroot, atol(PQgetvalue(result, row, 0)), PQgetvalue(result, row, 1)); - } - - PQclear(result); - - return (1); -} /* initLicRefCache */ - -/** - \brief Get the rf_pk for rf_shortname - - Checks the cache to get the rf_pk for this shortname. - If it doesn't exist, add it to both license_ref and the - license_ref cache (the hash table). - - @param pcroot - @param rf_shortname - - @return rf_pk of the matched license or 0 - */ -FUNCTION long get_rfpk(cacheroot_t *pcroot, char *rf_shortname) -{ - long rf_pk; - size_t len; - - if ((len = strlen(rf_shortname)) == 0) - { - printf("ERROR! Nomos.c get_rfpk() passed empty name"); - return (0); - } - - /* is this in the cache? */ - rf_pk = lrcache_lookup(pcroot, rf_shortname); - if (rf_pk) - return rf_pk; - - /* shortname was not found, so add it */ - /* add to the license_ref table */ - rf_pk = add2license_ref(rf_shortname); - - /* add to the cache */ - lrcache_add(pcroot, rf_pk, rf_shortname); - - return (rf_pk); -} /* get_rfpk */ - -/** - \brief Given a string that contains field='value' pairs, save the items. - - @return pointer to start of next field, or NULL at \0. - - \callgraph - */ -FUNCTION char *getFieldValue(char *inStr, char *field, int fieldMax, - char *value, int valueMax, char separator) -{ - int s; - int f; - int v; - int gotQuote; - -#ifdef PROC_TRACE - traceFunc("== getFieldValue(inStr= %s fieldMax= %d separator= '%c'\n", - inStr, fieldMax, separator); -#endif /* PROC_TRACE */ - - memset(field, 0, fieldMax); - memset(value, 0, valueMax); - - /* Skip initial spaces */ - while (isspace(inStr[0])) - { - inStr++; - } - - if (inStr[0] == '\0') - { - return (NULL); - } - f = 0; - v = 0; - - /* Skip to end of field name */ - for (s = 0; (inStr[s] != '\0') && !isspace(inStr[s]) && (inStr[s] != '='); s++) - { - field[f++] = inStr[s]; - } - - /* Skip spaces after field name */ - while (isspace(inStr[s])) - { - s++; - } - /* If it is not a field, then just return it. */ - if (inStr[s] != separator) - { - return (inStr + s); - } - if (inStr[s] == '\0') - { - return (NULL); - } - /* Skip '=' */ - s++; - - /* Skip spaces after '=' */ - while (isspace(inStr[s])) - { - s++; - } - if (inStr[s] == '\0') - { - return (NULL); - } - - gotQuote = '\0'; - if ((inStr[s] == '\'') || (inStr[s] == '"')) - { - gotQuote = inStr[s]; - s++; /* skip quote */ - if (inStr[s] == '\0') - { - return (NULL); - } - } - - if (gotQuote) - { - for (; (inStr[s] != '\0') && (inStr[s] != gotQuote); s++) - { - if (inStr[s] == '\\') - { - value[v++] = inStr[++s]; - } - else - { - value[v++] = inStr[s]; - } - } - } - else - { - /* if it gets here, then there is no quote */ - for (; (inStr[s] != '\0') && !isspace(inStr[s]); s++) - { - if (inStr[s] == '\\') - { - value[v++] = inStr[++s]; - } - else - { - value[v++] = inStr[s]; - } - } - } - /* Skip spaces */ - while (isspace(inStr[s])) - { - s++; - } - - return (inStr + s); -} /* getFieldValue */ - -/** - \brief parse the comma separated list of license names found - - Uses cur.compLic and sets cur.licenseList - */ - -FUNCTION void parseLicenseList() -{ - - int numLics = 0; - - /* char saveLics[myBUFSIZ]; */ - char *saveptr = 0; /* used for strtok_r */ - char *saveLicsPtr; - - if ((strlen(cur.compLic)) == 0) - { - return; - } - - /* check for a single name FIX THIS!*/ - if (strstr(cur.compLic, ",") == NULL) - { - cur.licenseList[0] = cur.compLic; - cur.licenseList[1] = NULL; - return; - } - - saveLicsPtr = strcpy(saveLics, cur.compLic); - - cur.tmpLics = strtok_r(saveLicsPtr, ",", &saveptr); - - cur.licenseList[numLics] = cur.tmpLics; - numLics++; - - saveLicsPtr = NULL; - while (cur.tmpLics) - { - cur.tmpLics = strtok_r(saveLicsPtr, ",", &saveptr); - if (cur.tmpLics == NULL) - { - break; - } - cur.licenseList[numLics] = cur.tmpLics; - numLics++; - } - cur.licenseList[numLics] = NULL; - numLics++; - - /* - int i; - for(i=0; i 0 if it is set, 0 otherwise - */ -FUNCTION int optionIsSet(int val) -{ -#ifdef PROC_TRACE - traceFunc("== optionIsSet(%x)\n", val); -#endif /* PROC_TRACE */ - - return (gl.progOpts & val); -} /* optionIsSet */ - -/** - \brief Initialize the lists: regular-files list cur.regfList and buffer-offset - list cur.offList. - - \todo CDB - Could probably roll this back into the main processing - loop or just put in a generic init func that initializes *all* - the lists. - - \callgraph - */ - -FUNCTION void getFileLists(char *dirpath) -{ -#ifdef PROC_TRACE - traceFunc("== getFileLists(%s)\n", dirpath); -#endif /* PROC_TRACE */ - - /* listInit(&gl.sarchList, 0, "source-archives list & md5sum map"); */ - listInit(&cur.regfList, 0, "regular-files list"); - listInit(&cur.offList, 0, "buffer-offset list"); -#ifdef FLAG_NO_COPYRIGHT - listInit(&gl.nocpyrtList, 0, "no-copyright list"); -#endif /* FLAG_NO_COPYRIGHT */ - - listGetItem(&cur.regfList, cur.targetFile); - return; -} /* getFileLists */ - -/** - * \brief insert rf_fk, agent_fk and pfile_fk into license_file table - * - * @param rfPK the reference file foreign key - * - * \returns The primary key for the inserted entry (or Negative value on error) - * - * \callgraph - */ -FUNCTION long updateLicenseFile(long rfPk) -{ - - PGresult *result; - - if (rfPk <= 0) - { - return (-2); - } - - /* If files are coming from command line instead of fossology repo, - then there are no pfiles. So don't update the db - */ - if (cur.cliMode == 1) - return (-1); - - result = fo_dbManager_ExecPrepared( - fo_dbManager_PrepareStamement( - gl.dbManager, - "updateLicenseFile", - "INSERT INTO license_file(rf_fk, agent_fk, pfile_fk) VALUES($1, $2, $3) RETURNING fl_pk", - long, int, long - ), - rfPk, gl.agentPk, cur.pFileFk - ); - - if (result) { - long licenseFileId = -1; - if (PQntuples(result) > 0) { - licenseFileId = atol(PQgetvalue(result, 0, 0)); - } - - PQclear(result); - return (licenseFileId); - } else { - return (-1); - } -} /* updateLicenseFile */ - -/** - * \brief Return the highlight type (K|L|0) for a given index - * @param index Index to convert - * @return K if index is between keyword length,\n - * L if index is larger than keyword length,\n - * 0 otherwise - */ -FUNCTION char convertIndexToHighlightType(int index) -{ - - char type; - - if ((index >= _KW_first) && (index <= _KW_last)) - type = 'K'; - else if (index > _KW_last) - type = 'L'; - else type = '0'; - - return type; - -} - -/** - * \brief insert rf_fk, agent_fk, offset, len and type into highlight table - * - * @param pcroot The root of hash table - * - * \returns boolean (True or False) - * - * \callgraph - */ -FUNCTION int updateLicenseHighlighting(cacheroot_t *pcroot){ - - /* If files are coming from command line instead of fossology repo, - then there are no pfiles. So don't update the db - - Also if we specifically do not want highlight information in the - database skip this function - */ - if(cur.cliMode == 1 || optionIsSet(OPTS_NO_HIGHLIGHTINFO ) ){ - return (TRUE); - } - PGresult *result; - - - - -#ifdef GLOBAL_DEBUG - printf("%s %s %i \n", cur.filePath,cur.compLic , cur.theMatches->len); -#endif - - // This speeds up the writing to the database and ensures that we have either full highlight information or none - PGresult* begin1 = PQexec(gl.pgConn, "BEGIN"); - PQclear(begin1); - - fo_dbManager_PreparedStatement* preparedKeywords; - if(cur.keywordPositions->len > 0 ) { - preparedKeywords = fo_dbManager_PrepareStamement( - gl.dbManager, - "updateLicenseHighlighting:keyword", - "INSERT INTO highlight_keyword (pfile_fk, start, len) VALUES($1, $2, $3)", - long, int, int - ); - } - int i; - for (i = 0; i < cur.keywordPositions->len; ++i) - { - MatchPositionAndType* ourMatchv = getMatchfromHighlightInfo(cur.keywordPositions, i); - result = fo_dbManager_ExecPrepared( - preparedKeywords, - cur.pFileFk, ourMatchv->start, ourMatchv->end - ourMatchv->start); - if (result) - { - PQclear(result); - } - } - PGresult* commit1 = PQexec(gl.pgConn, "COMMIT"); - PQclear(commit1); - - PGresult* begin2 =PQexec(gl.pgConn, "BEGIN"); - PQclear(begin2); - fo_dbManager_PreparedStatement* preparedLicenses; - - if(cur.theMatches->len > 0 ) { - preparedLicenses=fo_dbManager_PrepareStamement( - gl.dbManager, - "updateLicenseHighlighting", - "INSERT INTO highlight (fl_fk, start, len, type) VALUES($1, $2, $3,'L')", - long, int, int - ); - } - - for (i = 0; i < cur.theMatches->len; ++i) - { - LicenceAndMatchPositions* ourLicence = getLicenceAndMatchPositions(cur.theMatches, i); - - int j; - for (j = 0; j < ourLicence->matchPositions->len; ++j) - { - MatchPositionAndType* ourMatchv = getMatchfromHighlightInfo(ourLicence->matchPositions, j); - if(ourLicence->licenseFileId == -1) { - //! the license File ID was never set and we should not insert it in the database - continue; - } - result = fo_dbManager_ExecPrepared( - preparedLicenses, - ourLicence->licenseFileId, - ourMatchv->start, ourMatchv->end - ourMatchv->start - ); - if (result == NULL) - { - return (FALSE); - } else { - PQclear(result); - } - } - } - - PGresult* commit2 = PQexec(gl.pgConn, "COMMIT"); - PQclear(commit2); - return (TRUE); -} /* updateLicenseHighlighting */ - - -/** - * \brief process a single file - * \param fileToScan File path - * \callgraph - */ -FUNCTION void processFile(char *fileToScan) -{ - - char *pathcopy; -#ifdef PROC_TRACE - traceFunc("== processFile(%s)\n", fileToScan); -#endif /* PROC_TRACE */ - - /* printf(" LOG: nomos scanning file %s.\n", fileToScan); DEBUG */ - - (void) strncpy(cur.cwd, gl.initwd, sizeof(cur.cwd)-1); - - strncpy(cur.filePath, fileToScan, sizeof(cur.filePath)-1); - pathcopy = g_strdup(fileToScan); - strncpy(cur.targetDir, dirname(pathcopy), sizeof(cur.targetDir)-1); - g_free(pathcopy); - strncpy(cur.targetFile, fileToScan, sizeof(cur.targetFile)-1); - cur.targetLen = strlen(cur.targetDir); - - if (!isFILE(fileToScan)) - { - LOG_FATAL("\"%s\" is not a plain file", fileToScan) - Bail(-__LINE__); - } - - getFileLists(cur.targetDir); - listInit(&cur.fLicFoundMap, 0, "file-license-found map"); - listInit(&cur.parseList, 0, "license-components list"); - listInit(&cur.lList, 0, "license-list"); - - processRawSource(); - - /* freeAndClearScan(&cur); */ -} /* Process File */ - -/** - * \brief Set the license file id to the highlights - * \param licenseFileId License id - * \param licenseName License name - */ -void setLicenseFileIdInHiglightArray(long licenseFileId, char* licenseName){ - int i; - for (i = 0; i < cur.theMatches->len; ++i) { - LicenceAndMatchPositions* ourLicence = getLicenceAndMatchPositions(cur.theMatches, i); - if (strcmp(licenseName, ourLicence->licenceName) == 0) - ourLicence->licenseFileId = licenseFileId; - } -} /* setLicenseFileIdInHiglightArray */ - -/** - * \brief Add a license to hash table, license table and highlight array - * \param licenseName License name - * \param pcroot Hash table root - * \return True if license is inserted in DB, False otherwise - */ -int updateLicenseFileAndHighlightArray(char* licenseName, cacheroot_t* pcroot) { - long rf_pk = get_rfpk(pcroot, licenseName); - long licenseFileId = updateLicenseFile(rf_pk); - if (licenseFileId > 0) { - setLicenseFileIdInHiglightArray(licenseFileId, licenseName); - return (true); - } else { - return (false); - } -} - -/** - \brief Write out the information about the scan to the FOSSology database. - - curScan is passed as an arg even though it's available as a global, - in order to facilitate future modularization of the code. - - \returns 0 if successful, -1 if not. - - \callgraph - */ -FUNCTION int recordScanToDB(cacheroot_t *pcroot, struct curScan *scanRecord) -{ - - char *noneFound; - int numLicenses; - -#ifdef SIMULATESCHED - /* BOBG: This allows a developer to simulate the scheduler - with a load file for testing/debugging, without updating the - database. Like: - cat myloadfile | ./nomos - myloadfile is same as what scheduler sends: - pfile_pk=311667 pfilename=9A96127E7D3B2812B50BF7732A2D0FF685EF6D6A.78073D1CA7B4171F8AFEA1497E4C6B33.183 - pfile_pk=311727 pfilename=B7F5EED9ECB679EE0F980599B7AA89DCF8FA86BD.72B00E1B419D2C83D1050C66FA371244.368 - etc. - */ - printf("%s\n",scanRecord->compLic); - return(0); -#endif - - noneFound = strstr(scanRecord->compLic, LS_NONE); - if (noneFound != NULL) - { - if (!updateLicenseFileAndHighlightArray("No_license_found", pcroot)) - return (-1); - return (0); - } - - /* we have one or more license names, parse them */ - parseLicenseList(); - /* loop through the found license names */ - for (numLicenses = 0; cur.licenseList[numLicenses] != NULL; numLicenses++) - { - if (!updateLicenseFileAndHighlightArray(cur.licenseList[numLicenses], pcroot)) - return (-1); - } - - if (updateLicenseHighlighting(pcroot) == FALSE) - { - printf("Failure in update of highlight table \n"); - } - - return (0); -} /* recordScanToDb */ - -/** - * \brief Get the MatchPositionAndType for a given index in highlight array - * \param in Highlight array - * \param index Index to fetch - * \return Match position and type - */ -FUNCTION inline MatchPositionAndType* getMatchfromHighlightInfo(GArray* in, - int index) -{ - return &g_array_index(in, MatchPositionAndType, index); -} - -/** - * \brief Get the LicenceAndMatchPositions for a given index in match array - * \param in Match array - * \param index Index to fetch - * \return License and match position - */ -FUNCTION inline LicenceAndMatchPositions* getLicenceAndMatchPositions( - GArray* in, int index) -{ - return &g_array_index(in, LicenceAndMatchPositions, index); -} - -/** - * \brief Initialize the scanner - * - * Creates a new index list, match list, keyword position list, doctored buffer - * and license index - * \param cur Current scanner - */ -FUNCTION void initializeCurScan(struct curScan* cur) -{ - cur->indexList = g_array_new(FALSE, FALSE, sizeof(int)); - cur->theMatches = g_array_new(FALSE, FALSE, sizeof(LicenceAndMatchPositions)); - cur->keywordPositions = g_array_new(FALSE, FALSE, sizeof(MatchPositionAndType)); - cur->docBufferPositionsAndOffsets = g_array_new(FALSE, FALSE, sizeof(pairPosOff)); - cur->currentLicenceIndex=-1; -} - - -/** - * \brief Clean-up all the per scan data structures, freeing any old data. - * \param thisScan Scanner to clear - * \callgraph - */ -FUNCTION void freeAndClearScan(struct curScan *thisScan) -{ - /* - Clear lists - */ - listClear(&thisScan->regfList, DEALLOC_LIST); - listClear(&thisScan->offList, DEALLOC_LIST); - listClear(&thisScan->fLicFoundMap, DEALLOC_LIST); - listClear(&thisScan->parseList, DEALLOC_LIST); - listClear(&thisScan->lList, DEALLOC_LIST); - g_array_free(thisScan->indexList,TRUE); - cleanTheMatches(thisScan->theMatches); - g_array_free(thisScan->keywordPositions, TRUE); - g_array_free(thisScan->docBufferPositionsAndOffsets, TRUE); - - - /* remove keys, data and hash table */ - hdestroy(); - -} - -/** - * \brief Cleans the match array and free the memory - * \param theMatches The matches list - */ -FUNCTION inline void cleanTheMatches(GArray* theMatches){ - - int i; - for(i=0; i< theMatches->len; ++i) { - cleanLicenceAndMatchPositions(getLicenceAndMatchPositions (theMatches , i)); - } - g_array_free( theMatches, TRUE); -} - -/** - * \brief Cleans the license and match positions object and free the memory - * \param in The matches object - */ -FUNCTION inline void cleanLicenceAndMatchPositions( LicenceAndMatchPositions* in ) -{ - if(in->licenceName) g_free(in->licenceName); - g_array_free(in->matchPositions, TRUE); - g_array_free(in->indexList,TRUE); -} - -/** - * \brief Add a license to the matches array - * \param[in,out] theMatches The matches array - * \param[in] licenceName License to be added - */ -FUNCTION inline void addLicence(GArray* theMatches, char* licenceName ) { - LicenceAndMatchPositions newMatch; - newMatch.indexList = cur.indexList; - cur.indexList=g_array_new(FALSE, FALSE, sizeof(int)); - - //! fill this later - newMatch.matchPositions = g_array_new(FALSE, FALSE, sizeof(MatchPositionAndType)); - newMatch.licenceName = g_strdup(licenceName); - newMatch.licenseFileId = -1; //initial Value <- check if it was set - g_array_append_val(theMatches , newMatch); -} - -/** - * \brief Clean the license buffer - */ -inline void cleanLicenceBuffer(){ - g_array_set_size(cur.indexList, 0); -} - -/** - * \brief Remove the last element from license buffer - * \return True always - */ -inline bool clearLastElementOfLicenceBuffer(){ - if(cur.indexList->len>0) - g_array_remove_index(cur.indexList, cur.indexList->len -1); - return true; -} - - - - diff --git a/src/fosslight_dependency/third_party/nomos/agent/nomos_utils.h b/src/fosslight_dependency/third_party/nomos/agent/nomos_utils.h deleted file mode 100644 index aa95f040..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/nomos_utils.h +++ /dev/null @@ -1,86 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2014 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ - -#ifndef NOMOS_UTILS_H_ -#define NOMOS_UTILS_H_ - -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif /* not defined _GNU_SOURCE */ -#include "util.h" -#include "list.h" -#include "licenses.h" -#include "process.h" -#include "nomos.h" -#include "nomos_regex.h" -#include "_autodefs.h" - -#define PG_ERRCODE_UNIQUE_VIOLATION "23505" -#define FOSSY_EXIT( XY , XZ) printf(" %s %s,%d", XY , __FILE__, __LINE__); Bail( XZ ); -#define LICENSE_REF_TABLE "ONLY license_ref" -#define SEM_DEFAULT_VALUE 4 - -extern sem_t* mutexJson; ///< Mutex to handle JSON writes -extern gboolean* printcomma; ///< True to print comma while printing JSON object - - -/** shortname cache very simple nonresizing hash table */ -struct cachenode -{ - char *rf_shortname; ///< License shortname - long rf_pk; ///< License id from database -}; -typedef struct cachenode cachenode_t; - -/** Root for chachenode_t nodes */ -struct cacheroot -{ - int maxnodes; ///< No. of nodes in the list - cachenode_t *nodes; ///< Array of nodes -}; -typedef struct cacheroot cacheroot_t; - -void freeAndClearScan(struct curScan *thisScan); -char *getFieldValue(char *inStr, char *field, int fieldMax, char *value, int valueMax, char separator); -void parseLicenseList(); -void Usage(char *Name); -void Bail(int exitval); -int optionIsSet(int val); -void getFileLists(char *dirpath); -void processFile(char *fileToScan); -int recordScanToDB(cacheroot_t *pcroot, struct curScan *scanRecord); -long get_rfpk(cacheroot_t *pcroot, char *rf_shortname); -char convertIndexToHighlightType(int index); -long add2license_ref(char *licenseName); -long updateLicenseFile(long rfPk); -int updateLicenseHighlighting(cacheroot_t *pcroot); -int initLicRefCache(cacheroot_t *pcroot); -long lrcache_hash(cacheroot_t *pcroot, char *rf_shortname); -int lrcache_add(cacheroot_t *pcroot, long rf_pk, char *rf_shortname); -long lrcache_lookup(cacheroot_t *pcroot, char *rf_shortname); -void lrcache_free(cacheroot_t *pcroot); -void initializeCurScan(struct curScan* cur); -void addLicence(GArray* theMatches, char* licenceName ); -void cleanLicenceBuffer(); -bool clearLastElementOfLicenceBuffer(); //returns true to be used in if-statements -void cleanLicenceAndMatchPositions( LicenceAndMatchPositions* in ); -MatchPositionAndType* getMatchfromHighlightInfo(GArray* in, int index); -LicenceAndMatchPositions* getLicenceAndMatchPositions(GArray* in,int index); -void cleanTheMatches(GArray* in); - -#endif /* NOMOS_UTILS_H_ */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/parse.c b/src/fosslight_dependency/third_party/nomos/agent/parse.c deleted file mode 100755 index 184df134..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/parse.c +++ /dev/null @@ -1,11826 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2015 Hewlett-Packard Development Company, L.P. - Copyright (C) 2017-2019 Bittium Wireless Ltd. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -/* Equivalent to version 1.83 of Core Nomos code. */ -#include - -#include "nomos.h" - -#include "parse.h" -#include "list.h" -#include "util.h" -#include "nomos_regex.h" -#include "nomos_utils.h" -#include "_autodefs.h" - -/* DEBUG -#define DOCTOR_DEBUG 1 -#define PROC_TRACE 1 - DEBUG */ - -/** - * \file - * \brief searches for licenses - * - * The main workhorse of nomos. This file contains most of the logic for finding - * licenses in nomos. - */ - -/** - * \name license definitions - * Instead of keeping a potentially-growing list of variables used to - * recall specific flags/text, etc., manage it in an array. A little - * slower, sure, but it keeps the number of variables we allocate to - * a more-reasonable minimum. - */ -//@{ -#define _mGPL 0 -#define _mLGPL 1 -#define _mGFDL 2 -#define _mQPL 3 -#define _mPYTHON 4 -#define _mPYTH_TEXT 5 -#define _mAPACHE 6 -#define _mHP 7 -#define _mPHP 8 -#define _mMIT 9 -#define _mXOPEN 10 -#define _mREDHAT 11 -#define _mISC 12 -#define _mCMU 13 -#define _mOSF 14 -#define _mSUN 15 -#define _mALADDIN 16 -#define _mCUPS 17 -#define _fOPENLDAP 18 -#define _fBSD 19 -#define _fGPL 20 -#define _mCDDL 21 -#define _mLIBRE 22 -#define _mGSOAP 23 -#define _mMPL 24 -#define _fATTRIB 25 -#define _fREAL 26 -#define _fIETF 27 -#define _fDOC 28 -#define _fMSCORP 29 -#define _fW3C 30 -#define _mAPTANA 31 -#define _tOPENLDAP 32 -#define _mNTP 33 // To avoid W3C-style detection -#define _fIP 34 -#define _fANTLR 35 -#define _fCCBY 36 -#define _fZPL 37 -#define _fCLA 38 -#define _fODBL 39 -#define _fPDDL 40 -#define _fRUBY 41 -#define _fSAX 42 -#define _fAPL 43 -#define _fARTISTIC 44 -#define _fCITRIX 45 -#define _fPURDUE 46 -#define _fUNICODE 47 -#define _fOFL 48 -#define _mAPACHE10 49 -#define _mAPACHE11 50 -#define _mWORDNET 51 -#define _fNCSA 52 -#define _fTCL 53 -#define _fIJG 54 -#define _msize _fIJG+1 -//@} - -/** - * Regex match related data - */ -static struct { - char *base; - int sso; - int seo; - int index; -} kludge; - - -#ifdef PRECHECK -extern void preloadResults(char *filetext, char *ltsr); -#endif /* PRECHECK */ - -/** - * \name local static functions - * Local (static) Functions - */ -//@{ -int findPhrase(int, char *,int, int, int, int); -int famOPENLDAP(char *, int ,int, int); -int checkUnclassified(char *, int, int, int, int, int); -int checkPublicDomain(char *, int, int, int, int, int); -static int dbgIdxGrep(int, char *, int); -#ifdef LTSR_DEBUG -void showLTCache(char *); -#endif /* LTSR_DEBUG */ -void checkCornerCases(char *, int, int, int, int, int, int, int); -void checkFileReferences(char *, int, int, int, int, int); -void addRef(char *, int); -#ifdef DOCTOR_DEBUG -void dumpMatch(char *, char *); -#endif /* DOCTOR_DEBUG */ -void locateRegex(char *, item_t *, int, int, int, int); -void saveRegexLocation(int, int, int, int); -void saveUnclBufLocation(int); -void saveLicenseParagraph(char *, int , int , int); -char *cplVersion(char *, int, int, int); -static char *gplVersion(char *, int, int, int); -char *lgplVersion(char *, int, int, int); -char *agplVersion(char *, int, int, int); -char *gfdlVersion(char *, int, int, int); -char *lpplVersion(char *, int, int, int); -char *mplNplVersion(char *, int, int, int); -char *pythonVersion(char *, int, int, int); -static char *realVersion(char *, int, int, int, int); -static char *sisslVersion(char *, int, int, int); -char *aslVersion(char *, int, int, int); -char *cddlVersion(char *, int, int, int); -char *ccVersion(char *, int, int, int); -char *oslVersion(char *, int, int, int); -char *aflVersion(char *, int, int, int); -static int match3(int, char *, int, int, int, int); -void spdxReference(char *, int, int, int); -void copyleftExceptions(char *, int, int, int); -//@} - -/** - * \name local variables - * File local variables - */ -//@{ -/** - * Detected licenses are stored here in a form ',BSD,MIT' etc - */ -static char licStr[myBUFSIZ]; - -static char ltsr[NFOOTPRINTS]; /**< License Text Search Results, - a bytemask for each possible match string */ -static char name[256]; -static char lmem[_msize]; -static list_t searchList; -static list_t whereList; -static list_t whCacheList; -static int refOffset; -static int maxInterest; -static int pd; /**< Flag for whether we've checked for a - public domain "license" */ -static int crCheck; -static int checknw; -static int lDebug = 0; /**< set this to non-zero for more debugging */ -static int lDiags = 0; /**< set this to non-zero for printing diagnostics */ -//@} - -/** - * \name micro function definitions - * These #define's save a LOT of typing and indentation... :) - */ -//@{ -#define PARSE_ARGS filetext, size, isML, isPS ///< Arguments to parse -#define LVAL(x) (ltsr[x] & LTSR_RMASK) ///< Check LTSR_RMASK on lstr[x] -#define SEEN(x) (ltsr[x] & LTSR_SMASK) ///< Check LTSR_SMASK on lstr[x] -#define INFILE(x) fileHasPatt(x, PARSE_ARGS, 0) ///< Calls fileHasPatt() -#define NOT_INFILE(x) !( fileHasPatt(x, PARSE_ARGS, 0) && clearLastElementOfLicenceBuffer() ) ///< Calls fileHasPatt() -#define RM_INFILE(x) fileHasPatt(x, PARSE_ARGS, 1) ///< Calls fileHasPatt() with qType 1 -#define GPL_INFILE(x) fileHasPatt(x, PARSE_ARGS, 2) ///< Calls fileHasPatt() with qType 2 -#define PERL_INFILE(x) fileHasPatt(x, PARSE_ARGS, 3) ///< Calls fileHasPatt() with qType 3 -#define NY_INFILE(x) fileHasPatt(x, PARSE_ARGS, 4) ///< Calls fileHasPatt() with qType 4 -#define X_INFILE(x, y) fileHasPatt(x, PARSE_ARGS, y) ///< Calls fileHasPatt() with qType y -#define DEBUG_INFILE(x) printf(" Regex[%d] = \"%s\"\nINFILE(%d) = %d\n", x, _REGEX(x), x, INFILE(x)); ///< Debug print -#define HASREGEX(x, cp) idxGrep(x, cp, REG_ICASE|REG_EXTENDED) ///< Calls idxGrep() -#define HASREGEX_RI(x, cp) idxGrep_recordIndex(x, cp, REG_ICASE|REG_EXTENDED) ///< Calls idxGrep_recordIndex() -#define HASTEXT(x, fl) idxGrep_recordIndex(x, filetext, REG_ICASE|fl) ///< Calls idxGrep_recordIndex() -#define URL_INFILE(x) (INFILE(x) || fileHasPatt(x, PARSE_ARGS, -1)) ///< Check in file with qType 0|1 -#define CANSKIP(i,x,y,z) ((i >= y) && (i <= z) && !(kwbm & (1 << (x - _KW_first)))) -#define HASKW(x, y) (x & (1 << (y - _KW_first))) -#define TRYGROUP(x) x(PARSE_ARGS) -#define LOWINTEREST(x) addRef(x, IL_LOW) -#define MEDINTEREST(x) addRef(x, IL_MED) -//#define INTERESTING(x) printf("INTERESTING: %s, %d, %s\n", __FILE__, __LINE__, x);addRef(x, IL_HIGH) -#define INTERESTING(x) addRef(x, IL_HIGH) -#define ASLVERS() aslVersion(PARSE_ARGS) -#define CCVERS() ccVersion(PARSE_ARGS) -#define AFLVERS() aflVersion(PARSE_ARGS) -#define OSLVERS() oslVersion(PARSE_ARGS) -#define CPLVERS() cplVersion(PARSE_ARGS) -#define GPLVERS() gplVersion(PARSE_ARGS) -#define LGPLVERS() lgplVersion(PARSE_ARGS) -#define AGPLVERS() agplVersion(PARSE_ARGS) -#define GFDLVERS() gfdlVersion(PARSE_ARGS) -#define CDDLVERS() cddlVersion(PARSE_ARGS) -#define LPPLVERS() lpplVersion(PARSE_ARGS) -#define MPLVERS() mplNplVersion(PARSE_ARGS) -#define PYTHVERS() pythonVersion(PARSE_ARGS) -#define SISSLVERS() sisslVersion(PARSE_ARGS) -#define REALVERS(x) realVersion(PARSE_ARGS, x) -#define PR_REGEX(x) printf("check %d = %s\n", x, _REGEX(x)); -#define mCR_CMU() (INFILE(_CR_CMU_1) || INFILE(_CR_CMU_2)) -#define mCR_EDIN() (INFILE(_CR_EDINBURGH_1) || INFILE(_CR_EDINBURGH_2)) -#define mCR_FSF() (INFILE(_CR_FSF1) || INFILE(_CR_FSF2)) -#define mCR_HP() (INFILE(_CR_HP_1)|| INFILE(_CR_HP_2) || INFILE(_CR_DEC) || INFILE(_CR_EDS)) -#define mCR_IETF() (INFILE(_CR_IETF_1) || INFILE(_CR_IETF_2)) -#define mCR_MIT() (INFILE(_CR_MIT1) || INFILE(_CR_MIT2)) -#define mCR_X11() (INFILE(_CR_X11) || INFILE(_CR_XFREE86)) -#define mCR_IPTC() (INFILE(_CR_IPTC1) || INFILE(_CR_IPTC2)) -#define SPDXREF() spdxReference(PARSE_ARGS) -#define EXCEPTIONS() copyleftExceptions(PARSE_ARGS) -//@} - -/** - * \brief Checks for a phrase in a file - * \param licTextIdx Index of phrase to look - * \param filetext Content of file - * \param size File size - * \param isML File content is HTML/XML - * \param isPS File content is a post script - * \param qType <0, look at raw text. >=0 look in doctored buffers - * \return True if pattern found - */ -static int fileHasPatt(int licTextIdx, char *filetext, int size, - int isML, int isPS, int qType) -{ - int ret = 0; - int show = 0; - item_t *ip; - -#ifdef PROC_TRACE - traceFunc("== fileHasPatt(size=%d, isML=%d, isPS=%d, qType=%d, idx=%d)\n", - size, isML, isPS, qType, licTextIdx); - -#endif /* PROC_TRACE */ - - /* - * If qType is negative, then we should call idxGrep to look at the - * raw text of the file; non-negative value means look in the doctored - * text buffers... - */ - if ((qType >= 0) && (qType & FL_SHOWMATCH)) { - qType &= ~FL_SHOWMATCH; - show = FL_SHOWMATCH; - } - if (qType < 0) { - ret = idxGrep_recordPosition(licTextIdx, filetext, REG_ICASE | REG_EXTENDED | show); - if (lDiags && ret) { -#ifdef DOCTOR_DEBUG - dumpMatch(filetext, "RAW-Text"); -#endif /* DEBUG */ - printRegexMatch(licTextIdx, NO); - saveRegexLocation(licTextIdx, cur.regm.rm_so, - cur.regm.rm_eo - cur.regm.rm_so, YES); -#ifdef DEBUG - printf("WINDOW-RAW: offset %d, length %d\n", - cur.regm.rm_so, cur.regm.rm_eo - cur.regm.rm_so); -#endif /* DEBUG */ - } - return(ret); - } - if (SEEN(licTextIdx)) { -#ifdef LTSR_DEBUG - printf("Cache hit: ltsr[%d] = 0x%x\n", licTextIdx, ltsr[licTextIdx]); -#endif /* LTSR_DEBUG */ - if (lDiags && (ltsr[licTextIdx] & LTSR_YES) == LTSR_YES) { - printRegexMatch(licTextIdx, YES); - (void) sprintf(name, "reg%04d", licTextIdx); - ip = listGetItem(&whCacheList, name); - if (ip->bIndex != licTextIdx) { - listDump(&whCacheList, NO); - LOG_FATAL("Offset-cache (\"%s\") == %d, not %d!", name, ip->bIndex, licTextIdx) - Bail(-__LINE__); - } - saveRegexLocation(licTextIdx, ip->bStart, ip->bLen, NO); - } - return(ltsr[licTextIdx] & LTSR_RMASK); - } - return(findPhrase(licTextIdx, PARSE_ARGS, qType)); -} - -/** - * \brief Debugging call for idxGrep() - * - * Function calls idxGrep() and print the regex match using printRegexMatch() - * \param licTextIdx license index - * \param buf - * \param show - * \return -1 on regex-compile failure, 1 if regex search fails, and 0 if - * regex search is successful. - */ -static int dbgIdxGrep(int licTextIdx, char *buf, int show) -{ - int ret; - int flags = REG_ICASE|REG_EXTENDED; - - if (SEEN(licTextIdx)) { - return(ltsr[licTextIdx] & LTSR_RMASK); - } - - if (show) { - flags |= FL_SHOWMATCH; - } - ret = idxGrep(licTextIdx, buf, flags); - if (lDiags && ret) { - printRegexMatch(licTextIdx, NO); - saveRegexLocation(licTextIdx, cur.regm.rm_so, - cur.regm.rm_eo - cur.regm.rm_so, YES); - } - ltsr[licTextIdx] |= ret; - return ret; -} - -/** - * \brief Parse a file to check all the possible licenses and add them to - * matches - * - * The function calls fileHasPatt() if the file contains a pattern defined in - * STRINGS.in. If a match is found, then it can call idxGrep_recordIndex() to - * check if the file has some additional text and finally adds the license - * using addRef(). The results found are also stored in licStr as a comma - * separated list. - * - * The function first check if a file contains an interesting string which can - * denote a license. If it is found then the heuristics are done in detail to - * find the exact license match. For more info please refer to - * [nomos wiki](https://github.com/fossology/fossology/wiki/Nomos#step-2-change-the-scanner---parsec) - * \param filetext File content - * \param size File size - * \param[out] scp Scan results - * \param isML Source is HTML/XML - * \param isPS Source is PostScript - * \return Next index in licStr - */ -char *parseLicenses(char *filetext, int size, scanres_t *scp, - int isML, int isPS) -{ - static int first = 1; - char *cp; - int i; - int j; - int nw = 0; - int score = scp->score; - int kwbm = scp->kwbm; -#ifdef PRECHECK - extern void preloadResults(char *, char *); -#endif /* PRECHECK */ - -#if defined(PROC_TRACE) || defined(DOCTOR_DEBUG) - traceFunc("== parseLicenses(%p, %d, [%d, 0x%x], %d, %d)\n", - filetext, size, score, kwbm, isML, isPS ); -#endif /* PROC_TRACE || DOCTOR_DEBUG */ - - if (size == 0) { - LOWINTEREST("Empty-file-no-data!"); - return(licStr+1); - } - - if (first) { - if (optionIsSet(OPTS_DEBUG)) { - lDebug = 1; - lDiags = 1; - } - listInit(&searchList, 0, "pattern-search list"); - listInit(&whereList, 0, "regex-match locations list"); - listInit(&whCacheList, 0, "regex-cache-match list"); - first = 0; - } - crCheck = 0; - kludge.base = NULL_STR; - /* - * Interestingly enough, the headers for Nomos-generated file (e.g., the - * page containing the keywords found, file attributes and file text, etc.) - * contain enough data to confuse the parser in multiple ways... in the - * rare event we encounter a data file we generated, skip the header. - ***** - * AND, not all nomos-created files have the same header(s). - */ - pd = -1; /* unchecked */ - cp = filetext; - maxInterest = IL_INIT; - cur.licPara = NULL_STR; /* unclassified license data */ - gl.flags &= ~FL_FRAGMENT; -#ifdef FLAG_NO_COPYRIGHT - gl.flags &= ~FL_NOCOPYRIGHT; -#endif /* FLAG_NO_COPYRIGHT */ - if (scp->dataOffset && lDiags) { - LOG_NOTICE("%s-generated link, ignore header (%d bytes)!", - gl.progName, scp->dataOffset); - } - - /* - * It's been observed over time that the file-magic() stuff doesn't always - * identify everything correctly. One case in particular is PostScript files - * when the "%%PS" directive isn't the first line in a file... but the rest - * of the data really IS PostScript - */ - if (!isPS && (strncasecmp(filetext, "%%page:", 7) == 0 || strncasecmp(filetext, "{\\rtf", 5) == 0)) { -#if defined(DEBUG) || defined(DOCTOR_DEBUG) - printf("File is really postscript, %s filetext !\n", filetext); -#endif /* DEBUG || DOCTOR_DEBUG */ - isPS = 1; - } - - *licStr = NULL_CHAR; - refOffset = 0; - (void) memset(ltsr, 0, sizeof(ltsr)); - (void) memset(lmem, 0, sizeof(lmem)); -#if defined(DEBUG) && defined(LTSR_DEBUG) - showLTCache("LTSR-results START:"); -#endif /* DEBUG && LTSR_DEBUG */ -#ifdef PRECHECK - preloadResults(/*PARSE_ARGS*/filetext, ltsr); -#endif /* PRECHECK */ -#ifdef MEMSTATS - memStats("parseLicenses: BOP"); -#endif /* MEMSTATS */ - lmem[_mPYTH_TEXT] = HASTEXT(_TEXT_PYTHON, 0); - lmem[_tOPENLDAP] = HASTEXT(_TEXT_OPENLDAP, 0); - (void) INFILE(_TEXT_GNU_LIC_INFO); -#ifdef LTSR_DEBUG - showLTCache("LTSR-results INIT-SCAN:"); -#endif /* LTSR_DEBUG */ - /* - * MySQL.FLOSS exception - */ - if (INFILE(_LT_MYSQL_EXCEPT) || INFILE(_PHR_FREE_LIBRE)) { - if (INFILE(_TITLE_ALFRESCO)) { - INTERESTING("Alfresco-FLOSS"); - } - else if (HASTEXT(_TEXT_ALFRESCO, 0)) { - INTERESTING("Alfresco"); - } - else if (INFILE(_CR_MYSQL) || INFILE(_TITLE_mysql_floss_exception)) { - if (INFILE(_TITLE_MYSQL_V03)) { - INTERESTING("MySQL-0.3"); - } - else { - INTERESTING("mysql-floss-exception"); - } - } - else { - INTERESTING("MySQL-style"); - } - lmem[_mLIBRE] = 1; - } - /* - * Some RealNetworks licenses included a list of "compatible" licenses that - * can confuse the license-detection algorithms within. Look for these early - * in the process, and ignore the known (false) matches when we detect the - * RPSL/RCSL licenses. - */ - if (HASTEXT(_TEXT_REALNET, REG_EXTENDED)) { - /* - * List of other licenses should be excluded only if full license text is found - */ - if (INFILE(_LT_RPSL_COMPATIBLE)) { - lmem[_fREAL] = 1; - } - if (INFILE(_LT_REAL_RPSL)) { - cp = REALVERS(_TITLE_RPSL); - INTERESTING(lDebug ? "RPSL" : cp); - } - else if (INFILE(_LT_REAL_RPSLref)) { - cp = REALVERS(_TITLE_RPSL); - INTERESTING(lDebug ? "Real-RPSL(ref)" : cp); - } - if (INFILE(_LT_REAL_RCSL)) { - cp = REALVERS(_TITLE_RCSL); - INTERESTING(lDebug ? "RCSL" : cp); - } - else if (INFILE(_LT_REAL_RCSLref)) { - cp = REALVERS(_TITLE_RCSL); - INTERESTING(lDebug ? "Real-RCSL(ref)" : cp); - } - if (INFILE(_TITLE_REAL_EULA)) { - INTERESTING("RealNetworks-EULA"); - } - else if (INFILE(_LT_HELIX_TITLE)) { - INTERESTING("Helix.RealNetworks-EULA"); - } - } - cleanLicenceBuffer(); - /* - * Zope - this license is explicitly listed (by title) in several other - * licenses... - */ - if (!lmem[_mLIBRE] && !lmem[_fREAL] && INFILE(_TITLE_ZOPE)) { - if (INFILE(_TITLE_ZOPE_V21)) { - INTERESTING("ZPL-2.1"); - lmem[_fZPL] = 1; - } - else if (INFILE(_TITLE_ZOPE_V20)) { - INTERESTING("ZPL-2.0"); - lmem[_fZPL] = 1; - } - else if (INFILE(_TITLE_ZOPE_V10)) { - INTERESTING("ZPL-1.0"); - lmem[_fZPL] = 1; - } - else if (INFILE(_TITLE_ZOPE_V11)) { - INTERESTING("ZPL-1.1"); - lmem[_fZPL] = 1; - } - else if (INFILE(_SPDX_ZPL_11)) { - INTERESTING("ZPL-1.1"); - lmem[_fZPL] = 1; - } - else if (INFILE(_SPDX_ZPL_20)) { - INTERESTING("ZPL-2.0"); - lmem[_fZPL] = 1; - } - else if (INFILE(_SPDX_ZPL_21)) { - INTERESTING("ZPL-2.1"); - lmem[_fZPL] = 1; - } - else if (INFILE(_TITLE_ZIMBRA_13)) { - INTERESTING("Zimbra-1.3"); - } - else if (INFILE(_TITLE_ZIMBRA_12)) { - INTERESTING("Zimbra-1.2"); - } - else { - INTERESTING(lDebug ? "Zope(ref)" : "ZPL"); - lmem[_fZPL] = 1; - } - } - cleanLicenceBuffer(); - /* - * Check Apache licenses before BSD - */ - if (HASTEXT(_PHR_Apache_ref0, REG_EXTENDED) || INFILE(_PHR_Apache_ref7) || INFILE(_TITLE_Apache)) { - cp = ASLVERS(); - INTERESTING(cp); - } - cleanLicenceBuffer(); - /* - * BSD and all the variant 'flavors'. BSD licenses are kind of like - * the cooking concept of 'the mother sauces' -- MANY things are derived - * from the wordings of these licenses. There are still many more, for - * certain, but LOTS of licenses are based on ~10 originally-BSD-phrases. - */ - if (INFILE(_LT_BSD_1)) { - if (INFILE(_TITLE_PHP301)) { - INTERESTING(lDebug ? "PHP(v3.01#1)" : "PHP-3.01"); - lmem[_mPHP] = 1; - } - else if (INFILE(_TITLE_PHP30)) { - INTERESTING(lDebug ? "PHP(v3.0#1)" : "PHP-3.0"); - lmem[_mPHP] = 1; - } - else if (INFILE(_TITLE_PHP202)) { - INTERESTING(lDebug ? "PHP(v2.02#1)" : "PHP-2.02"); - lmem[_mPHP] = 1; - } - else if (INFILE(_CR_VOVIDA) || INFILE(_TITLE_VOVIDA)) { - INTERESTING("VSL-1.0"); - lmem[_fBSD] = 1; - } - else if (INFILE(_CR_NAUMEN) || INFILE(_TITLE_NAUMEN)) { - INTERESTING("Naumen"); - } - else if (INFILE(_CR_ENTESSA) || INFILE(_TITLE_ENTESSA)) { - INTERESTING("Entessa"); - } - else if (INFILE(_LT_ATTRIB) || INFILE(_TITLE_ATTRIBUTION)) { - INTERESTING("AAL"); - lmem[_fATTRIB] = 1; - } - else if (INFILE(_CR_ZOPE)) { - INTERESTING(lDebug ? "Zope(bsd)" : "ZPL"); - } - else if (INFILE(_LT_Oracle_Berkeley_DB)) { - INTERESTING("Oracle-Berkeley-DB"); - } - else if (INFILE(_CR_SLEEPYCAT) || INFILE(_LT_SLEEPYCAT_1)) { - MEDINTEREST(lDebug ? "Sleepycat(1)" : "Sleepycat"); - } - else if (INFILE(_TITLE_ZEND_V20)) { - INTERESTING("Zend-2.0"); - } - else if (!lmem[_fOPENLDAP] && !TRYGROUP(famOPENLDAP)) { - if (HASTEXT(_LT_OPENSSLref5, REG_EXTENDED)) { - INTERESTING(lDebug ? "OpenSSL(ref)" : "OpenSSL"); - } - else if (INFILE(_LT_BSD_CLAUSE_0) && INFILE(_LT_BSD_CLAUSE_1) && INFILE(_LT_BSD_CLAUSE_2)) { - if (INFILE(_LT_BSD_CLAUSE_3) && (INFILE(_LT_BSD_CLAUSE_4) || INFILE(_LT_BSD_CLAUSE_4_LONG)) && INFILE(_LT_UC)) { - INTERESTING("BSD-4-Clause-UC"); - } - else if (INFILE(_LT_BSD_CLAUSE_3) && (INFILE(_LT_BSD_CLAUSE_4) || INFILE(_LT_BSD_CLAUSE_4_LONG))) { - INTERESTING("BSD-4-Clause"); - } - else if (INFILE(_LT_BSD_CLAUSE_4) && INFILE(_LT_BSD_CLAUSE_CLEAR)) { - INTERESTING("BSD-3-Clause-Clear"); - } - else if (INFILE(_LT_BSD_CLAUSE_4) && INFILE(_LT_BSD_CLAUSE_OPEN_MPI)) { - INTERESTING("BSD-3-Clause-Open-MPI"); - } - else if (INFILE(_LT_BSD_CLAUSE_4) && HASTEXT(_KW_severability, REG_EXTENDED)) { - INTERESTING("BSD-3-Clause-Severability"); - } - else if (INFILE(_LT_XML_DB_V10)) { - INTERESTING("XMLDB-1.0"); - } - else if (INFILE(_LT_BSD_CLAUSE_4) && INFILE(_LT_ANT_BSD_RESTRICTION)) { - INTERESTING("ANT+SharedSource"); - } - else if (!lmem[_mAPACHE11] && INFILE(_LT_Apache_11_CLAUSE_3) && INFILE(_LT_Apache_11_CLAUSE_4) && INFILE(_LT_Apache_11_CLAUSE_5)) { - INTERESTING(lDebug ? "BSD(Apache-1.1)" : "Apache-1.1-style"); - } - else if(HASTEXT(_LT_Sendmail_823_title, 0)) { - INTERESTING("Sendmail-8.23"); - } - else if (!lmem[_mAPACHE10] && !lmem[_mAPACHE11] && INFILE(_LT_BSD_CLAUSE_ATTRIBUTION)) { - INTERESTING("BSD-3-Clause-Attribution"); - } - else if (!lmem[_mAPACHE10] && !lmem[_mAPACHE11] && INFILE(_LT_BSD_CLAUSE_4)) { - if (INFILE(_LT_DARPA_COUGAAR_2)) { - INTERESTING("DARPA-Cougaar"); - } - else { - INTERESTING("BSD-3-Clause"); - } - } - else if (INFILE(_LT_SSLEAY)) { - INTERESTING("SSLeay"); - } - else if (INFILE(_LT_TMATE)) { - INTERESTING("TMate"); - } - else if (INFILE(_LT_MUP)) { - INTERESTING("Mup"); - } - else if (INFILE(_LT_FREE_BSD)) { - INTERESTING("BSD-2-Clause-FreeBSD"); - } - else if (INFILE(_LT_BSD_CLAUSE_PATENT)) { - INTERESTING("BSD-2-Clause-Patent"); - } - else if (INFILE(_CR_NETBSD)) { - INTERESTING("BSD-2-Clause-NetBSD"); - } - else if (INFILE(_LT_MIT_0)) { - lmem[_mMIT] = 1; - INTERESTING("Linux-OpenIB"); - } - else if (!lmem[_mAPACHE10] && !lmem[_mAPACHE11]) { - INTERESTING("BSD-2-Clause"); - } - } - else if (INFILE(_CR_CRYPTOGAMS)) { - INTERESTING("Cryptogams"); - } - else if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(1)" : "BSD"); - } - else if (HASTEXT(_TEXT_ALTERED_SOURCE, REG_EXTENDED) && HASTEXT(_TEXT_ORIGIN, 0)) { - if (INFILE(_PHR_BZIP2_3)) { - INTERESTING("bzip2-1.0.5"); - } - else if (HASTEXT(_PHR_BZIP2_4, REG_EXTENDED)) { - INTERESTING("bzip2-1.0.6"); - } - else { - INTERESTING("bzip2"); - } - } - else if (mCR_CMU()) { - INTERESTING(lDebug ? "CMU(BSD-ish)" : "CMU"); - } - else if (INFILE(_LT_MTLL)) { - INTERESTING("MTLL"); - } - else if (INFILE(_LT_BSD_CLAUSE_1_DISCLAIMER)) { - INTERESTING("BSD-1-Clause"); - } - else if (INFILE(_LT_Spencer_99) && INFILE(_CR_Spencer)) { - INTERESTING("Spencer-99"); - } - else if (!lmem[_fZPL]) { - INTERESTING(lDebug ? "BSD-style(1)" : "BSD-style"); - } - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_CLEAR_CLAUSE_0) && INFILE(_LT_BSD_CLAUSE_1) && INFILE(_LT_BSD_CLAUSE_2)) { - INTERESTING("BSD-3-Clause-Clear"); - } - else if (INFILE(_PHR_Linux_OpenIB)) { - INTERESTING("Linux-OpenIB"); - } - else if (INFILE(_LT_BSD_2)) { - /* - * Python, OSF, SecretLabs, some universities, some vendors, etc., have - * variants here. - */ - if (INFILE(_CR_PYTHON) || INFILE(_TITLE_PYTHON)) { - cp = PYTHVERS(); - INTERESTING(lDebug ? "Python(3)" : cp); - lmem[_mPYTHON] = 1; - } - else if (INFILE(_CR_OSF)) { - INTERESTING(lDebug ? "OSF(1)" : "OSF"); - lmem[_mOSF] = 1; - } - else if (INFILE(_CR_UI)) { - INTERESTING(lDebug ? "UI(1)" : "Unix-Intl"); - } - else if (INFILE(_CR_XOPEN)) { - INTERESTING(lDebug ? "XOpen(1)" : "X/Open"); - lmem[_mXOPEN] = 1; - } - else if (INFILE(_PHR_HISTORICAL)) { - INTERESTING("HPND"); - } - else if (INFILE(_LT_CMU_7)) { - if (INFILE(_CR_CMU_1) || INFILE(_CR_CMU_2) || INFILE(_CR_BSDCAL)) { - INTERESTING("MIT-CMU"); - } - else { - INTERESTING("MIT-CMU-style"); - } - lmem[_mCMU] = 1; - } - else if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(2)" : "BSD"); - } - else if (INFILE(_LT_NTP)) { - INTERESTING("NTP"); - } - else if (INFILE(_LT_WORDNET)) - { - INTERESTING("WordNet-3.0"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_HPND_1) && INFILE(_LT_HPND_2)) { - INTERESTING("HPND"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_NOT_ADVERTISING)) { - INTERESTING(lDebug ? "BSD-style(2)" : "BSD-style"); - } - else if (INFILE(_PHR_NO_WARRANTY_12)) { - INTERESTING(lDebug ? "ISC(BSD-style)" : "ISC-style"); - } - else { - INTERESTING(lDebug ? "BSD-style(2)-MIT" : "MIT-style"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_3) && NOT_INFILE(_TITLE_OPENLDAP)) { - if (INFILE(_LT_AMPAS)) { - INTERESTING("AMPAS"); - } - else if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(3)" : "BSD"); - } - else if (INFILE(_TITLE_OZPLB_10)) { - INTERESTING("OZPLB-1.0"); - } - /* - * JPNIC - */ - else if (HASTEXT(_TEXT_JPNIC, 0) && INFILE(_LT_JPNIC)) { - INTERESTING("JPNIC"); - } - else if (NOT_INFILE(_CR_XFREE86) && NOT_INFILE(_TITLE_NCSA) && NOT_INFILE(_TITLE_INNERNET200)) { - INTERESTING(lDebug ? "BSD-style(3)" : "BSD-style"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_4)) { - if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(4)" : "BSD"); - } - else { - INTERESTING(lDebug ? "BSD-style(4)" : "BSD-style"); - } - lmem[_fBSD] = 1; - } - /* - * FIX-ME: this license text explicitly mentions "for no-profit", and as - * such it should list it in the license-summary, yes? - */ - else if (INFILE(_LT_BSD_5)) { - if (!lmem[_mPYTHON] && INFILE(_CR_PYTHON)) { - INTERESTING(lDebug ? "Python(2)" : "Python"); - lmem[_mPYTHON] = 1; - } - else if (INFILE(_CR_USL_EUR)) { - INTERESTING(lDebug ? "USLE(1)" : "USL-Europe"); - } - else if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(5)" : "BSD"); - } - else { - INTERESTING(lDebug ? "BSD-style(5)" : "BSD-style"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_6)) { - if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(6)" : "BSD"); - } - else { - INTERESTING(lDebug ? "BSD-style(6)" : "BSD-style"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_7)) { - if (HASTEXT(_LT_MAKEINDEX_1, 0) && HASTEXT(_LT_MAKEINDEX_2, 0)) { - INTERESTING("MakeIndex"); - } - else if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(7)" : "BSD"); - } - else { - INTERESTING(lDebug ? "BSD-style(7)" : "BSD-style"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_8)) { - if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(8)" : "BSD"); - } - else { - INTERESTING(lDebug ? "BSD-style(8)" : "BSD-style"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_9)) { - if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(9)" : "BSD"); - } - else { - INTERESTING(lDebug ? "BSD-style(8)" : "BSD-style"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_10)) { - if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(10)" : "BSD"); - } - else { - INTERESTING(lDebug ? "BSD-style(9)" : "BSD-style"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_11)) { - if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(11)" : "BSD"); - } - else { - INTERESTING(lDebug ? "BSD-style(10)" : "BSD-style"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_12)) { - if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(12)" : "BSD"); - } - else { - INTERESTING(lDebug ? "BSD-style(11)" : "BSD-style"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_13)) { - if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(13)" : "BSD"); - } - else { - INTERESTING(lDebug ? "BSD-style(12)" : "BSD-style"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_NONC)) { - if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(NonC)" : "BSD.non-commercial"); - } - else { - INTERESTING(lDebug ? "BSD-style(NonC)" : "Non-commercial"); - } - lmem[_fBSD] = 1; - } - else if (INFILE(_SPDX_BSD_3_Clause_Clear)) { - INTERESTING("BSD-3-Clause-Clear"); - } - else if (INFILE(_SPDX_BSD_3_Clause_No_Nuclear_License_2014)) { - INTERESTING("BSD-3-Clause-No-Nuclear-License-2014"); - } - else if (INFILE(_SPDX_BSD_3_Clause_No_Nuclear_License)) { - INTERESTING("BSD-3-Clause-No-Nuclear-License"); - } - else if (INFILE(_SPDX_BSD_3_Clause_No_Nuclear_Warranty)) { - INTERESTING("BSD-3-Clause-No-Nuclear-Warranty"); - } - else if (INFILE(_SPDX_BSD_3_Clause_Attribution)) { - INTERESTING("BSD-3-Clause-Attribution"); - } - else if (INFILE(_SPDX_BSD_3_Clause_LBNL)) { - INTERESTING("BSD-3-Clause-LBNL"); - } - else if (INFILE(_SPDX_BSD_3_Clause_Open_MPI)) { - INTERESTING("BSD-3-Clause-Open-MPI"); - } - else if (INFILE(_SPDX_BSD_3_Clause)) { - INTERESTING("BSD-3-Clause"); - } - else if (INFILE(_PHR_BSD_3_CLAUSE_1) || INFILE(_PHR_BSD_3_CLAUSE_2) || INFILE(_PHR_BSD_3_CLAUSE_3) || INFILE(_PHR_BSD_3_CLAUSE_4)) { - INTERESTING(lDebug ? "BSD(phr1/2)" : "BSD-3-Clause"); - } - else if (INFILE(_SPDX_BSD_2_Clause_FreeBSD)) { - INTERESTING("BSD-2-Clause-FreeBSD"); - } - else if (INFILE(_SPDX_BSD_2_Clause_NetBSD)) { - INTERESTING("BSD-2-Clause-NetBSD"); - } - else if (INFILE(_SPDX_BSD_2_Clause_Patent)) { - INTERESTING("BSD-2-Clause-Patent"); - } - else if (INFILE(_SPDX_BSD_2_Clause_Views)) { - INTERESTING("BSD-2-Clause-Views"); - } - else if (INFILE(_SPDX_BSD_2_Clause_1)) { - INTERESTING("BSD-2-Clause"); - } - else if (INFILE(_SPDX_BSD_2_Clause_2)) { - INTERESTING("BSD-2-Clause"); - } - else if (INFILE(_PHR_BSD_2_CLAUSE_1) - || INFILE(_PHR_BSD_2_CLAUSE_2) - || INFILE(_PHR_BSD_2_CLAUSE_3) - || INFILE(_PHR_BSD_2_CLAUSE_4) - || INFILE(_PHR_BSD_2_CLAUSE_5) - || INFILE(_PHR_BSD_2_CLAUSE_6)) { - INTERESTING(lDebug ? "BSD(phr1/2/3/4/5/6)" : "BSD-2-Clause"); - } - else if (INFILE(_SPDX_BSD_4_Clause_UC)) { - INTERESTING("BSD-4-Clause-UC"); - } - else if (INFILE(_SPDX_BSD_4_Clause)) { - INTERESTING("BSD-4-Clause"); - } - else if (INFILE(_PHR_BSD_4_CLAUSE_1)) { - INTERESTING(lDebug ? "BSD-4-Clause(phr1)" : "BSD-4-Clause"); - } - else if (INFILE(_PHR_BSD_CLEAR_1)) { - INTERESTING(lDebug ? "BSD-Clear(phr1)" : "BSD-3-Clause-Clear"); - } - else if (INFILE(_PHR_BSD_3_CLAUSE_LBNL)) { - INTERESTING("BSD-3-Clause-LBNL"); - } - else if (INFILE(_SPDX_BSD_Protection)) { - INTERESTING("BSD-Protection"); - } - else if (INFILE(_SPDX_BSD_Source_Code)) { - INTERESTING("BSD-Source-Code"); - } - else if (INFILE(_SPDX_BSD_1_Clause)) { - INTERESTING("BSD-1-Clause"); - } - else if (INFILE(_PHR_0BSD)) { - INTERESTING("0BSD"); - } - else if (INFILE(_LT_BSDref1)) { - INTERESTING(lDebug ? "BSD(ref1)" : "BSD"); - } - else if (INFILE(_LT_BSDref2)) { - INTERESTING(lDebug ? "BSD(ref2)" : "BSD"); - } - else if (INFILE(_LT_BSDref3)) { - INTERESTING(lDebug ? "BSD(ref3)" : "BSD"); - } - else if (INFILE(_LT_BSDref4)) { - INTERESTING(lDebug ? "BSD(ref4)" : "BSD"); - } - else if (INFILE(_LT_BSDref5)) { - INTERESTING(lDebug ? "BSD(ref5)" : "BSD"); - } - else if (INFILE(_LT_BSDref6)) { - INTERESTING(lDebug ? "BSD(ref6)" : "BSD"); - } - else if (INFILE(_LT_BSDref7)) { - INTERESTING(lDebug ? "BSD(ref7)" : "BSD"); - } - else if (INFILE(_LT_BSDref8)) { - INTERESTING(lDebug ? "BSD(ref8)" : "BSD"); - } - else if (INFILE(_LT_BSDref9)) { - INTERESTING(lDebug ? "BSD(ref9)" : "BSD"); - } - else if (INFILE(_LT_BSDref10)) { - INTERESTING(lDebug ? "BSD(ref10)" : "BSD"); - } - else if (INFILE(_LT_BSDref11)) { - INTERESTING(lDebug ? "BSD(ref11)" : "BSD"); - } - else if (INFILE(_LT_BSDref12) || HASTEXT(_LT_BSDref13, REG_EXTENDED)) { - INTERESTING(lDebug ? "BSD(ref12)" : "BSD-3-Clause"); - } - else if (URL_INFILE(_URL_BSD_1) || URL_INFILE(_URL_BSD_2)) { - INTERESTING(lDebug ? "BSD(url)" : "BSD"); - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSDref14)) { - INTERESTING(lDebug ? "BSD(ref14)" : "BSD"); - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSDref15)) { - INTERESTING(lDebug ? "BSD(ref15)" : "BSD"); - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSDSTYLEref1)) { - INTERESTING(lDebug ? "BSD-st(1)" : "BSD-style"); - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSDSTYLEref2)) { - INTERESTING(lDebug ? "BSD-st(2)" : "BSD-style"); - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSDSTYLEref4)) { - INTERESTING(lDebug ? "BSD-st(4)" : "BSD-style"); - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSDSTYLEref3)) { - INTERESTING(lDebug ? "BSD-st(3)" : "BSD-style"); - lmem[_fBSD] = 1; - } - else if (INFILE(_LT_BSD_HTMLAREA_1) || INFILE(_LT_BSD_HTMLAREA_2)) { - INTERESTING(lDebug ? "BSD-htmlArea" : "BSD-3-Clause"); - lmem[_fBSD] = 1; - } - else if (INFILE(_FILE_BSD1) || INFILE(_FILE_BSD2)) { - INTERESTING(lDebug ? "BSD(deb)" : "BSD"); - } - cleanLicenceBuffer(); - /* - * Aptana public license (based on MPL) - */ - if (INFILE(_LT_APTANA)) { - if (INFILE(_TITLE_APTANA_V10)) { - INTERESTING("Aptana-1.0"); - } - else { - INTERESTING("Aptana"); - } - lmem[_mMPL] = 1; - lmem[_mAPTANA] = 1; - } - /* - * PHP variants - */ - if (!lmem[_mPHP] && INFILE(_LT_PHP)) { - if (INFILE(_TITLE_PHP301)) { - INTERESTING(lDebug ? "PHP(v3.01#2)" : "PHP-3.01"); - } - else if (INFILE(_TITLE_PHP30)) { - INTERESTING(lDebug ? "PHP(v3.0#2)" : "PHP-3.0"); - } - else if (INFILE(_TITLE_PHP202)) { - INTERESTING(lDebug ? "PHP(v2.02#3)" : "PHP-2.02"); - } - else if (INFILE(_CR_PHP)) { - INTERESTING(lDebug ? "PHP(1)" : "PHP"); - } - else { - INTERESTING("PHP-style"); - } - lmem[_mPHP] = 1; - } - else if (!lmem[_mPHP] && INFILE(_LT_PHP_V30_1)) { - INTERESTING("PHP-3.0"); - lmem[_mPHP] = 1; - } - else if (!lmem[_mPHP] && INFILE(_LT_PHP_V30_2)) { - INTERESTING("PHP-3.0"); - lmem[_mPHP] = 1; - } - else if (!lmem[_mPHP] && INFILE(_LT_PHPref1)) { - if (INFILE(_PHR_PHP_V301)) { - INTERESTING(lDebug ? "PHP(ref-3.01)" : "PHP-3.01"); - } - else if (INFILE(_PHR_PHP_V20)) { - INTERESTING(lDebug ? "PHP(ref-2.0)" : "PHP-2.0"); - } - else { - INTERESTING(lDebug ? "PHP(ref)" : "PHP"); - } - lmem[_mPHP] = 1; - } - else if (!lmem[_mPHP] && URL_INFILE(_URL_PHP)) { - INTERESTING(lDebug ? "PHP(url)" : "PHP"); - lmem[_mPHP] = 1; - } - else if (INFILE(_LT_PHP_ref)) { - INTERESTING(lDebug ? "PHP(2)" : "PHP"); - lmem[_mPHP] = 1; - } - cleanLicenceBuffer(); - /* - * Licenses between here and all the GPL/LGPL/GFDL/FSF checks (below) MUST - * be tested PRIOR to checking GPL/FSF and friends - */ - if ((INFILE(_CR_EASYSW) || INFILE(_TITLE_CUPS)) && INFILE(_LT_CUPS)) { - if (INFILE(_LT_CUPS_COMMERCIAL)) { - INTERESTING("CUPS-EULA"); - } - else { - INTERESTING("CUPS"); - } - lmem[_mCUPS] = 1; - } - cleanLicenceBuffer(); - if (INFILE(_LT_HACKTIVISMO)) { - INTERESTING("Hacktivismo"); - lmem[_mGPL] = 1; /* don't look for GPL references */ - } - cleanLicenceBuffer(); - if (INFILE(_LT_NESSUS) && INFILE(_TITLE_NESSUS)) { - INTERESTING("NESSUS-EULA"); - lmem[_mLGPL] = 1; /* don't look for LGPL references */ - lmem[_mGPL] = 1; - } - cleanLicenceBuffer(); - /* - * Oracle - */ - if (INFILE(_LT_ORACLE_PROTO) && INFILE(_TITLE_ORACLE_PROTO)) { - INTERESTING(lDebug ? "Oracle(proto)" : "Oracle-EULA"); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_ORACLE_DEVEL) && INFILE(_TITLE_ORACLE_DEVEL)) { - INTERESTING(lDebug ? "Oracle(dev)" : "Oracle-Dev"); - } - else if (URL_INFILE(_URL_ORACLE_BERKELEY_DB)) { - INTERESTING(lDebug ? "URL_ORACLE_BERKELEY_DB" : "Oracle-Berkeley-DB"); - } - cleanLicenceBuffer(); - /* - * CeCILL - * According to digikam-0.9.4/digikam/libs/greycstoration/CImg.h: - * The CeCILL-C (C_V1) license is close to the GNU LGPL - * The CeCILL (V2.0) license is compatible with the GNU GPL - */ - if (INFILE(_TITLE_CECILL_V11_2) || INFILE(_SPDX_CECILL_11)) { - INTERESTING(lDebug ? "CeCILL_v1.1(#2)" : "CECILL-1.1"); - lmem[_mGPL] = lmem[_mLGPL] = 1; - } - else if (INFILE(_TITLE_CECILL_B) || INFILE(_TITLE_CECILL_B1) || INFILE(_SPDX_CECILL_B)) { - INTERESTING("CECILL-B"); - } - else if (INFILE(_TITLE_CECILL_C) || INFILE(_TITLE_CECILL_C1) || INFILE(_SPDX_CECILL_C)) { - INTERESTING("CECILL-C"); - } - else if (INFILE(_LT_CECILL_DUALref)) { - INTERESTING("CECILL(dual)"); - lmem[_mGPL] = lmem[_mLGPL] = 1; - } - else if (INFILE(_SPDX_CECILL_10)) { - INTERESTING("CECILL-1.0"); - } - else if (INFILE(_SPDX_CECILL_21)) { - INTERESTING("CECILL-2.1"); - } - else if (INFILE(_LT_CECILL_2_ref) || INFILE(_SPDX_CECILL_20)) { - INTERESTING("CECILL-2.0"); - } - else if (INFILE(_LT_CECILL_ref2)) { - INTERESTING("CECILL"); - } - else if (INFILE(_LT_CECILL_B_ref)) { - INTERESTING("CECILL-B"); - } - else if (INFILE(_LT_CECILL_ref) || INFILE(_LT_CECILL_ref1)) { - if (URL_INFILE(_URL_CECILL_C_V11)) { - INTERESTING(lDebug ? "CeCILL_v1.1(url)" : "CECILL-1.1"); - } - else if (URL_INFILE(_URL_CECILL_C_V1)) { - INTERESTING(lDebug ? "CeCILL_v1(url)" : "CECILL-1.0"); - } - else if (URL_INFILE(_URL_CECILL_V2)) { - INTERESTING(lDebug ? "CeCILL_v2(url)" : "CECILL-2.0"); - } - else if (URL_INFILE(_URL_CECILL)) { - INTERESTING(lDebug ? "CeCILL(url)" : "CECILL"); - } - else { - INTERESTING(lDebug ? "CeCILL(#3)" : "CECILL"); - } - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_CECILL_1)) { - if (INFILE(_TITLE_CECILL_V10)) { - INTERESTING(lDebug ? "CeCILL_v1.0(#1)" : "CECILL-1.0"); - } - else if (INFILE(_TITLE_CECILL_V20)) { - INTERESTING(lDebug ? "CeCILL_v2.0(#1)" : "CECILL-2.0"); - } - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_CECILL_2) || INFILE(_TITLE_CECILL1) || INFILE(_TITLE_CECILL2)) { - if (INFILE(_TITLE_CECILL_V10)) { - INTERESTING(lDebug ? "CeCILL_v1.0(#2)" : "CECILL-1.0"); - } - else if (INFILE(_TITLE_CECILL_V11)) { - INTERESTING(lDebug ? "CeCILL_v1.1(#1)" : "CECILL-1.1"); - } - else if (INFILE(_TITLE_CECILL_V20)) { - INTERESTING(lDebug ? "CeCILL_v2.0(#2)" : "CECILL-2.0"); - } - else { - INTERESTING(lDebug ? "CeCILL(#2)" : "CECILL"); - } - lmem[_mGPL] = 1; - } - cleanLicenceBuffer(); - /* - * Monash University - */ - if (INFILE(_CR_UMONASH) && INFILE(_LT_UMONASH)) { - INTERESTING("U-Monash"); - if (INFILE(_PHR_GPL_NO_MORE)) { - lmem[_mGPL] = 1; - } - } - cleanLicenceBuffer(); - /* Open Font License */ - if (INFILE(_LT_OPEN_FONT_V10) || INFILE(_LT_OPEN_FONT_V10_1)) - { - INTERESTING("OFL-1.0"); - lmem[_fOFL] = 1; - } - else if (INFILE(_SPDX_OFL_10_no_RFN)) { - INTERESTING("OFL-1.0-no-RFN"); - } - else if (INFILE(_SPDX_OFL_10_RFN)) { - INTERESTING("OFL-1.0-RFN"); - } - else if (INFILE(_SPDX_OFL_10)) { - INTERESTING("OFL-1.0"); - } - else if (INFILE(_PHR_OPEN_FONT_V10_1) || INFILE(_PHR_OPEN_FONT_V10_2)) - { - INTERESTING("OFL-1.0"); - lmem[_fOFL] = 1; - } - else if (INFILE(_LT_OPEN_FONT_V11) || INFILE(_LT_OPEN_FONT_V11_1)) - { - INTERESTING("OFL-1.1"); - lmem[_fOFL] = 1; - } - else if (INFILE(_SPDX_OFL_11_no_RFN)) { - INTERESTING("OFL-1.1-no-RFN"); - } - else if (INFILE(_SPDX_OFL_11_RFN)) { - INTERESTING("OFL-1.1-RFN"); - } - else if (INFILE(_SPDX_OFL_11)) { - INTERESTING("OFL-1.1"); - } - else if (INFILE(_PHR_OPEN_FONT_V11_1) || INFILE(_PHR_OPEN_FONT_V11_2)) - { - INTERESTING("OFL-1.1"); - lmem[_fOFL] = 1; - } - cleanLicenceBuffer(); - /* Simple Public License 2.0 */ - if (INFILE(_TITLE_SimPL_V2)) { - INTERESTING("SimPL-2.0"); - lmem[_mGPL] = 1; - } - cleanLicenceBuffer(); - /* Leptonica license */ - if (INFILE(_TITLE_LEPTONICA) && INFILE(_LT_GNU_3)) { - INTERESTING("Leptonica"); - } - cleanLicenceBuffer(); - /* copyleft-next license - * It has to be checked before GPL because the license has the reference - * to GPL license which gives a false positive GPL finding. - */ - if (INFILE(_TITLE_copyleft_next_030) && INFILE(_PHR_copyleft_next_PARA1) && INFILE(_PHR_copyleft_next_PARA3)) { - INTERESTING("copyleft-next-0.3.0"); - lmem[_mGPL] = 1; - } - else if (INFILE(_TITLE_copyleft_next_031) && INFILE(_PHR_copyleft_next_PARA1) && INFILE(_PHR_copyleft_next_PARA3)) { - INTERESTING("copyleft-next-0.3.1"); - lmem[_mGPL] = 1; - } - else if (INFILE(_PHR_copyleft_next_030) || INFILE(_SPDX_copyleft_next_030)) { - INTERESTING("copyleft-next-0.3.0"); - } - else if (INFILE(_PHR_copyleft_next_031) || INFILE(_SPDX_copyleft_next_031)) { - INTERESTING("copyleft-next-0.3.1"); - } - cleanLicenceBuffer(); - /* - * GPL, LGPL, GFDL - * QUESTION: do we need to check for the FSF copyright since we also - * check for "GNU" or "free"? - */ - if ((NOT_INFILE(_LT_FORMER_GNU) && (mCR_FSF() || - HASTEXT(_TEXT_GNUTERMS, REG_EXTENDED)))) { - /* - * Affero - */ - if (INFILE(_PHR_AGPL) && NOT_INFILE(_LT_GPL3ref4)) { - if (INFILE(_LT_AGPL1) || INFILE(_LT_AGPL2) || - INFILE(_LT_AGPL3)) { - cp = AGPLVERS(); - INTERESTING(lDebug ? "Affero(#1)" : cp); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_AGPLref1)) { - cp = AGPLVERS(); - INTERESTING(lDebug ? "Affero(#2)" : cp); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_AGPLref2) && NOT_INFILE(_LT_NOT_AGPLref1)) { - cp = AGPLVERS(); - INTERESTING(lDebug ? "Affero(#3)" : cp); - lmem[_mGPL] = 1; - } - else if (mCR_FSF() && NOT_INFILE(_LT_GPL3_NOT_AGPL)) { - cp = AGPLVERS(); - INTERESTING(lDebug ? "Affero(CR)" : cp); - lmem[_mGPL] = 1; - } - } - else if (INFILE(_LT_AGPL_NAMED)) { - cp = AGPLVERS(); - INTERESTING(lDebug ? "AGPL(named)" : cp); - lmem[_mGPL] = 1; - } - - /* - * Some packages have a single file containing both a GPL and an LGPL - * license. Therefore, these checks should NOT be exclusive. - */ - /* * The Nethack General Public License (NGPL) */ - else if (INFILE(_TITLE_NGPL)) { - INTERESTING("NGPL"); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_GPL_V1)) { - INTERESTING("GPL-1.0"); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_GPL_1) && !HASTEXT(_LT_GPL_EXCEPT_0, REG_EXTENDED)) { - if (INFILE(_PHR_GPL2_OR_LATER_1) && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) - { - INTERESTING(lDebug ? "PHR(GPL2_OR_LATER#1)" : "GPL-2.0+"); - lmem[_mGPL] = 1; - } - else if (INFILE(_TITLE_GPL2)) { - INTERESTING(lDebug ? "Title(GPL-2.0)" : "GPL-2.0"); - lmem[_mGPL] = 1; - } - else if (INFILE(_PHR_GPL1_OR_LATER) && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) - { - INTERESTING("GPL-1.0+"); - lmem[_mGPL] = 1; - } - else if (INFILE(_TITLE_GPL1)) { - INTERESTING("GPL-1.0"); - lmem[_mGPL] = 1; - } - else { - INTERESTING("GPL"); - lmem[_mGPL] = 1; - } - } - else if ((INFILE(_LT_GPL_V2) || INFILE(_LT_GPL_V2_ref) || INFILE(_LT_GPL_V2_ref1) || INFILE(_LT_GPL_V2_ref2)) && !HASTEXT(_LT_GPL_EXCEPT_0, REG_EXTENDED)) { - if (INFILE(_PHR_GPL2_OR_LATER_1) && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) - { - INTERESTING(lDebug ? "PHR(GPL2_OR_LATER#2)" : "GPL-2.0+"); - lmem[_mGPL] = 1; - } - else { - INTERESTING(lDebug ? "LT(GPL-V2)" : "GPL-2.0"); - lmem[_mGPL] = 1; - } - } - else if (INFILE(_PHR_GPL2_OR_LATER_2)) - { - INTERESTING(lDebug ? "PHR(GPL2_OR_LATER#2)" : "GPL-2.0+"); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_GPL3_PATENTS)) { - if (INFILE(_TITLE_GPL3)) { - INTERESTING(lDebug ? "GPL_v3(#1)" : "GPL-3.0"); - lmem[_mGPL] = 1; - } - else { - INTERESTING("GPL-3.0-possibility"); - lmem[_mGPL] = 1; - } - } - else if (INFILE(_TITLE_GPL3_ref3_later)) { - INTERESTING("GPL-3.0+"); - lmem[_mGPL] = 1; - } - else if (INFILE(_TITLE_GPL3_ref4_later)) { - INTERESTING("GPL-3.0+"); - lmem[_mGPL] = 1; - } - else if (INFILE(_TITLE_GPL3_ref3)) { - INTERESTING("GPL-3.0"); - lmem[_mGPL] = 1; - } - if (INFILE(_LT_LGPL_1) || INFILE(_LT_LGPL_2)) { - if (INFILE(_PHR_LGPL21_OR_LATER_1) && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) - { - INTERESTING("LGPL-2.1+"); - lmem[_mLGPL] = 1; - } - else if (INFILE(_PHR_LGPL2_OR_LATER) && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) - { - INTERESTING("LGPL-2.0+"); - lmem[_mLGPL] = 1; - } - else if (INFILE(_TITLE_LGPLV21)) { - INTERESTING("LGPL-2.1"); - lmem[_mLGPL] = 1; - } - else if (INFILE(_TITLE_LGPLV2)) { - INTERESTING("LGPL-2.0"); - lmem[_mLGPL] = 1; - } - else { - INTERESTING("LGPL"); - lmem[_mLGPL] = 1; - } - } - else if (INFILE(_LT_LGPL_3)) { - if ((INFILE(_PHR_LGPL3_OR_LATER) - || INFILE(_PHR_LGPL3_OR_LATER_ref1) - || INFILE(_PHR_LGPL3_OR_LATER_ref2)) - && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) - { - INTERESTING("LGPL-3.0+"); - lmem[_mLGPL] = 1; - } - else if (INFILE(_TITLE_LGPL3)) { - INTERESTING("LGPL-3.0"); - lmem[_mLGPL] = 1; - } - else { - INTERESTING("LGPL-3.0-possibility"); - lmem[_mLGPL] = 1; - } - } - if (INFILE(_LT_GFDL)) { - cp = GFDLVERS(); - INTERESTING(lDebug ? "GFDL(#1)" : cp); - lmem[_mGFDL] = 1; - } - if (!lmem[_mLGPL] && NOT_INFILE(_LT_MPL_SECONDARY)) { /* no FSF/GPL-like match yet */ - /* - NOTE: search for LGPL before GPL; the latter matches - occurrences of former - */ - if (INFILE(_LT_GPL_FONT1) && INFILE(_LT_GPL_FONT2)) { - INTERESTING(lDebug ? "GPL(fonts)" : "GPL-exception"); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_LGPL_ALT)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(alternate)" : cp); - lmem[_mLGPL] = 1; - } - else if (INFILE(_LT_LGPL3_ref_later)) { - INTERESTING("LGPL-3.0+"); - lmem[_mLGPL] = 1; - } - else if (INFILE(_LT_LGPLref1)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(ref1)" : cp); - lmem[_mLGPL] = 1; - } - else if (INFILE(_LT_LGPLref2) && - NOT_INFILE(_PHR_NOT_UNDER_LGPL)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(ref2#1)" : cp); - lmem[_mLGPL] = 1; - } - else if (INFILE(_LT_LGPLref3)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(ref3)" : cp); - lmem[_mLGPL] = 1; - } - else if (INFILE(_LT_LGPLref4)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(ref4)" : cp); - lmem[_mLGPL] = 1; - } - else if (INFILE(_LT_LGPLref5)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(ref5)" : cp); - lmem[_mLGPL] = 1; - } - else if (INFILE(_LT_LGPLref6)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(ref6)" : cp); - lmem[_mLGPL] = 1; - } - else if (!lmem[_mLIBRE] && !lmem[_fREAL] && - INFILE(_LT_LGPLref7) && - NOT_INFILE(_PHR_NOT_UNDER_LGPL)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(ref7)" : cp); - lmem[_mLGPL] = 1; - } - else if (!lmem[_fREAL] && !lmem[_mAPTANA] && - !LVAL(_TEXT_GNU_LIC_INFO) && INFILE(_LT_LGPLref8) && - NOT_INFILE(_PHR_NOT_UNDER_LGPL)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(ref8)" : cp); - lmem[_mLGPL] = 1; - } - else if (INFILE(_LT_LGPLref9) && - NOT_INFILE(_PHR_NOT_UNDER_LGPL)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(ref9)" : cp); - lmem[_mLGPL] = 1; - } - else if (INFILE(_LT_LGPLref10) && - NOT_INFILE(_PHR_NOT_UNDER_LGPL)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(ref10)" : cp); - lmem[_mLGPL] = 1; - } - else if (INFILE(_LT_LGPLref11)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(ref11)" : cp); - lmem[_mLGPL] = 1; - } - else if (INFILE(_FILE_LGPL1) || INFILE(_FILE_LGPL2)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(deb)" : cp); - lmem[_mLGPL] = 1; - } - else if (!LVAL(_TEXT_GNU_LIC_INFO) && - (URL_INFILE(_URL_LGPL_1) || - URL_INFILE(_URL_LGPL_2))) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(url)" : cp); - lmem[_mLGPL] = 1; - } - else if (lmem[_fREAL] && !LVAL(_TEXT_GNU_LIC_INFO) && - GPL_INFILE(_LT_LGPL_OR)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(or)" : cp); - lmem[_mLGPL] = 1; - } - else if (INFILE(_PHR_LGPL21_OR_LATER_2)) { - INTERESTING(lDebug ? "LGPL-2.1+(_LATER_2)" : "LGPL-2.1+"); - lmem[_mLGPL] = 1; - } - else if (INFILE(_PHR_LGPL21_ONLY_ref) || INFILE(_TITLE_LGPLV21_2)) { - INTERESTING("LGPL-2.1"); - lmem[_mLGPL] = 1; - } - } - if (!lmem[_mGPL] && !HASTEXT(_TEXT_GCC, REG_EXTENDED)) { - if (GPL_INFILE(_LT_GPL_ALT) && !INFILE(_LT_LGPL_ALT)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(alternate)" : cp); - lmem[_mGPL] = 1; - } - else if ((GPL_INFILE(_LT_GPL3ref2) || GPL_INFILE(_PHR_GPL3_OR_LATER) - || GPL_INFILE(_PHR_GPL3_OR_LATER_ref1) || GPL_INFILE(_PHR_GPL3_OR_LATER_ref2)) - && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) - { - INTERESTING("GPL-3.0+"); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPL3ref)) { - INTERESTING(lDebug ? "GPL_v3(#2)" : "GPL-3.0"); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPL3ref3) && NOT_INFILE(_TITLE_LGPL3)) { - INTERESTING("GPL-3.0"); - lmem[_mGPL] = 1; - } - else if (!lmem[_mLIBRE] && GPL_INFILE(_LT_GPLref1) - && NOT_INFILE(_PHR_NOT_UNDER_GPL) - && NOT_INFILE(_LT_LGPLref2) - && NOT_INFILE(_PHR_GPL_COMPAT_3)) { - /* - * Special exceptions: - * (1) LaTeX uses the following phrase: - * "... why distributing LaTeX under the GNU General Public License (GPL) - * was considered inappropriate". - * (2) Python uses the following phrases: - * "GPL-compatible doesn't mean that we're distributing Python under the GPL" - * AND, "GPL-compatible licenses make it possible to combine Python with - * other software that is released under the GPL. - ***** - * These MUST be filtered. Do so by marking the GPL flag but don't assign - * a license component (e.g., ignore GPL for this file) - */ - if (INFILE(_PHR_LATEX_GPL_INAPPROPRIATE) || - INFILE(_PHR_PYTHON_NOTGPL_1) || - INFILE(_PHR_PYTHON_NOTGPL_2)) { - lmem[_mGPL] = 1; - } - else if (!HASTEXT(_TEXT_GCC, REG_EXTENDED) - && NOT_INFILE(_TITLE_D_FSL_10)){ - cp = GPLVERS(); - INTERESTING(cp); - lmem[_mGPL] = 1; - } - } - else if (INFILE(_LT_GPL_FSF)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(FSF)" : cp); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPLref2)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref2)" : cp); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPLref3)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref3)" : cp); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_GPLref4)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref4)" : cp); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPLref5)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref5)" : cp); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPLref6)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref6)" : cp); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPLref7)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref7)" : cp); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPLref8)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref8)" : cp); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_GPLref9)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref9)" : cp); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPLref10)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref10)" : cp); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_GPLref11)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref11)" : cp); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_GPLref12)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref12)" : cp); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPLref13)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref13)" : cp); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPLref14) && - NOT_INFILE(_LT_LGPLref2)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref14)" : cp); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_GPLref16)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref16)" : cp); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_GPLref18)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref18)" : cp); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_GPLref19)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref19)" : cp); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_GPLref20)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(ref20)" : cp); - lmem[_mGPL] = 1; - } - else if (!LVAL(_TEXT_GNU_LIC_INFO) && NOT_INFILE(_LT_INTEL_7) && - (URL_INFILE(_URL_GPL_1) || - URL_INFILE(_URL_GPL_2) || - URL_INFILE(_URL_GPL_3))) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(url)" : cp); - lmem[_mGPL] = 1; - } - else if (URL_INFILE(_URL_AGPL)) { - cp = AGPLVERS(); - INTERESTING(lDebug ? "Affero(url)" : cp); - lmem[_mGPL] = 1; - } - else if (!ltsr[_LT_LGPL_3] && INFILE(_LT_GPL_OR)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(or)" : cp); - lmem[_mGPL] = 1; - } - else if (!lmem[_mGPL] && !lmem[_mLGPL] && - (INFILE(_LT_GNU_1) + INFILE(_LT_GNU_2) + - INFILE(_LT_GNU_3) + INFILE(_LT_GNU_4) > 2)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(GNU)" : cp); - lmem[_mGPL] = 1; - } - else if (!lmem[_mGPL] && !lmem[_mLGPL] && - INFILE(_LT_SEE_GPL) && INFILE(_LT_RECV_GPL)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(see)" : cp); - lmem[_mGPL] = 1; - } - else if (!lmem[_mGPL] && !lmem[_mLGPL] && - INFILE(_LT_SEE_LGPL) && INFILE(_LT_RECV_LGPL)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(see)" : cp); - lmem[_mLGPL] = 1; - } - } - if (!lmem[_mGFDL] && (INFILE(_LT_GFDLref1) || - INFILE(_TITLE_GFDL))) { - cp = GFDLVERS(); - INTERESTING(lDebug ? "GFDL(#2)" : cp); - lmem[_mGFDL] = 1; - } - /* - * Listed _explictly_ as an exception to the GPL -- this is NOT an 'else' - * clause! - */ - if (!lmem[_mGPL] && INFILE(_PHR_GPL_DESCRIPTIONS)) { - INTERESTING(lDebug ? "GPL-kinda" : "GPL"); - lmem[_mGPL] = 1; - } - /* checking for FSF */ - if (INFILE(_LT_FSF_1)) { - INTERESTING(lDebug ? "FSF(1)" : "FSFULLR"); - lmem[_mLGPL] = 1; - } - else if (INFILE(_LT_FSF_2)) { - INTERESTING(lDebug ? "FSF(2)" : "FSF"); - } - else if (INFILE(_LT_FSF_3)) { - INTERESTING(lDebug ? "FSF(3)" : "FSF"); - } - else if (mCR_FSF() && INFILE(_LT_FSF_4)) { - INTERESTING(lDebug ? "FSF(4)" : "FSF"); - } - else if (!lmem[_mGPL] && mCR_FSF() && INFILE(_LT_FSF_5)) { - INTERESTING(lDebug ? "FSF(5)" : "FSF"); - } - else if (!lmem[_mGPL] && INFILE(_LT_FSFUL)) { - INTERESTING("FSFUL"); - } - else if (!lmem[_mGPL] && NOT_INFILE(_LT_Autoconf_exception_20) && INFILE(_LT_FSFref1)) { - INTERESTING(lDebug ? "FSF(ref1)" : "FSF"); - } - else if (INFILE(_LT_FSFref2)) { - INTERESTING(lDebug ? "FSF(ref2)" : "FSF"); - } - else if (INFILE(_LT_LGPLrefFSF) && - NOT_INFILE(_PHR_NOT_UNDER_LGPL)) { - INTERESTING(lDebug ? "LGPL(FSF)" : "LGPL"); - lmem[_mLGPL] = 1; - } - if (!lmem[_mGPL] && !lmem[_mLGPL] && !lmem[_mGFDL]) { - /* - * Check these patterns AFTER checking for FSF and GFDL, and only if the - * CUPS license isn't present. - */ - if (!lmem[_mCUPS] ) { - if (GPL_INFILE(_LT_GPLpatt1) && - NOT_INFILE(_PHR_NOT_UNDER_LGPL)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(patt1)" : cp); - lmem[_mGPL] = 1; - } - else if (GPL_INFILE(_LT_GPLpatt2)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(patt2)" : cp); - lmem[_mGPL] = 1; - } - else if (INFILE(_CR_rms) && INFILE(_LT_GPL_2)) { - INTERESTING("GPL(rms)"); - lmem[_mGPL] = 1; - } - else if (INFILE(_PHR_GPLISH_SAMPLE)) { - INTERESTING(lDebug ? "GPLISH" : "GPL-possibility"); - INTERESTING(lDebug ? "GPLISH" : "LGPL-possibility"); - lmem[_mLGPL] = lmem[_mGPL] = 1; - } - } - } - else if (INFILE(_LT_GNU_COPYLEFT)) { - INTERESTING("GNU-copyleft"); - lmem[_fGPL] = 1; - } - lmem[_fGPL] = lmem[_mLGPL]+lmem[_mGPL]+lmem[_mGFDL]; - } - cleanLicenceBuffer(); - if (!lmem[_mGPL] && INFILE(_LT_GNU_PROJECTS)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(proj)" : cp); - lmem[_mGPL] = 1; - } - cleanLicenceBuffer(); - if (HASTEXT(_LT_GPL_V2_NAMED_later, REG_EXTENDED) || HASTEXT(_TITLE_GPL2_ref1_later, REG_EXTENDED)) - { - INTERESTING(lDebug ? "GPLV2+(named)" : "GPL-2.0+"); - lmem[_mGPL] = 1; - } - else if (INFILE(_LT_TAPJOY) || INFILE(_LT_TAPJOY_ref1)) { - INTERESTING("Tapjoy"); - lmem[_fGPL] = 1; - lmem[_mMIT] = 1; - } - else if (!lmem[_mGPL] && !lmem[_mGFDL] && !lmem[_mLGPL] && !lmem[_fZPL] - && (INFILE(_LT_GPL_NAMED) - || INFILE(_LT_GPL_NAMED2) - || HASTEXT(_LT_GPL_NAMED3, REG_EXTENDED)) - && !HASTEXT(_PHR_GPL_GHOSTSCRIPT, REG_EXTENDED) - && NOT_INFILE(_LT_MPL_SECONDARY) - && NOT_INFILE(_TEXT_NOT_GPL) - && NOT_INFILE(_TEXT_NOT_GPL2) - && NOT_INFILE(_LT_CNRI_PYTHON_GPL) - && NOT_INFILE(_LT_W3Cref4) - && NOT_INFILE(_LT_GPL_NAMED3_EXHIBIT) - && NOT_INFILE(_LT_GPL_NAMED_COMPATIBLE) - && !HASTEXT(_LT_GPL_NAMED_COMPATIBLE_1, REG_EXTENDED) - && NOT_INFILE(_LT_GPL_NAMED_EXHIBIT) - && NOT_INFILE(_TITLE_D_FSL_10) - && NOT_INFILE(_LT_INTEL_7) - && NOT_INFILE(_PHR_GPL_COMPAT_3)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "GPL(named)" : cp); - lmem[_mGPL] = 1; - } - else if ( !lmem[_mGPL] && !INFILE(_TITLE_MIROS) && (INFILE(_LT_GPL_V2_NAMED) || INFILE(_LT_GPL_V2_NAMED_ref1))) - { - INTERESTING(lDebug ? "GPLV2(named)" : "GPL-2.0"); - lmem[_mGPL] = 1; - } - else if (!lmem[_mGPL] && INFILE(_LT_GPL_V3_NAMED_later)) - { - INTERESTING(lDebug ? "GPLV3(named_later)" : "GPL-3.0+"); - } - else if (!lmem[_mGPL] && INFILE(_LT_GPL_V3_NAMED)) - { - INTERESTING(lDebug ? "GPLV3(named)" : "GPL-3.0"); - } - cleanLicenceBuffer(); - if (!lmem[_mLGPL] && (INFILE(_LT_LGPL_NAMED) - || INFILE(_LT_LGPL_NAMED2)) && NOT_INFILE(_LT_GPL_NAMED_EXHIBIT) - && NOT_INFILE(_LT_PHP_V30_2)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "LGPL(named)" : cp); - } - - cleanLicenceBuffer(); - /* - * MIT, X11, Open Group, NEC -- text is very long, search in 2 parts - */ - if (INFILE(_LT_JSON) && INFILE(_LT_MIT_NO_EVIL)) { // JSON license - INTERESTING("JSON"); - lmem[_mMIT] = 1; - } - cleanLicenceBuffer(); - if (!lmem[_mWORDNET] && INFILE(_TITLE_WORDNET)) - { - INTERESTING("WordNet-3.0"); - } - cleanLicenceBuffer(); - if (INFILE(_CR_XFREE86_V10) || INFILE(_LT_XFREE86_V10)) { - INTERESTING("XFree86-1.0"); - lmem[_mMIT] = 1; - } - else if (INFILE(_CR_XFREE86_V11) || INFILE(_LT_XFREE86_V11)) { - INTERESTING("XFree86-1.1"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_XFREE86)) { - INTERESTING(lDebug ? "XFree86(1)" : "XFree86"); - lmem[_mMIT] = 1; - } - else if (HASTEXT(_LT_BSD_OR_MIT, REG_EXTENDED)) { - INTERESTING("MIT"); - INTERESTING("BSD"); - lmem[_mMIT] = 1; - } - else if (HASTEXT(_LT_BSD_AND_MIT, REG_EXTENDED)) { - INTERESTING("BSD"); - INTERESTING("MIT"); - lmem[_mMIT] = 1; - } - /* - * MIT search order changed. First MIT license explicit phrases and references are checked . - */ - else if (!lmem[_mMIT] && NOT_INFILE(_TITLE_MIT_EXHIBIT) && NOT_INFILE(_TITLE_SGI) && - (INFILE(_LT_MIT_1) || INFILE(_TITLE_MIT))) { - if(INFILE(_LT_MIT_NO_EVIL)) { - INTERESTING(lDebug ? "MIT-style(no evil)" : "JSON"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_MIT_2)) { - if (mCR_MIT() || INFILE(_TITLE_MIT)) { - INTERESTING(lDebug ? "MIT(1)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (INFILE(_TITLE_XNET)) { - INTERESTING("Xnet"); - lmem[_mMIT] = 1; - } - else if (INFILE(_CR_X11) || INFILE(_TITLE_X11)) { - INTERESTING(lDebug ? "X11(1)" : "X11"); - lmem[_mMIT] = 1; - } - else if (INFILE(_CR_XFREE86)) { - INTERESTING(lDebug ? "XFree86(2)" : "XFree86"); - lmem[_mMIT] = 1; - } - /* MIT-advertising License */ - else if (INFILE(_LT_MIT_ADVERTISING)) { - INTERESTING("MIT-advertising"); - lmem[_mMIT] = 1; - } - /* MIT-enna License */ - else if (INFILE(_LT_MIT_ENNA)) { - INTERESTING("MIT-enna"); - lmem[_mMIT] = 1; - } - /* MIT-feh License */ - else if (INFILE(_LT_MIT_FEH)) { - INTERESTING("MIT-feh"); - lmem[_mMIT] = 1; - } - /* MITNFA License */ - else if (HASTEXT(_LT_MITNFA, 0)) { - INTERESTING("MITNFA"); - lmem[_mMIT] = 1; - } - /* Imlib2 License */ - else if (INFILE(_LT_Imlib2)) { - INTERESTING("Imlib2"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_MIT_13)) { - INTERESTING(lDebug ? "MIT(14)" : "MIT"); - lmem[_mMIT] = 1; - } - /* NCSA */ - else if (INFILE(_TITLE_NCSA) && NOT_INFILE(_TITLE_NCSA_EXHIBIT)) { - INTERESTING(lDebug ? "NCSA(1)" : "NCSA"); - lmem[_mMIT] = 1; - lmem[_fNCSA] = 1; - } - else if (INFILE(_LT_MIT_0)) { - INTERESTING("MIT-0"); - lmem[_mMIT] = 1; - } - else if (NOT_INFILE(_LT_INTEL_7)) { - INTERESTING(lDebug ? "MIT-style(1)" : "MIT-style"); - lmem[_mMIT] = 1; - } - } - else if (INFILE(_LT_BITSTREAM_1)) { - INTERESTING(lDebug ? "Bitstream(1)" : "Bitstream"); - lmem[_mMIT] = 1; - } - else if (mCR_X11()) { - INTERESTING(lDebug ? "X11(2)" : "X11"); - } - else if (!lmem[_mMPL] && INFILE(_LT_MPL_1)) { - cp = MPLVERS(); /* NPL, too */ - INTERESTING(lDebug ? "MPL/NPL#5" : cp); - lmem[_mMPL] = 1; - } - else if (!lmem[_mMIT] && (mCR_MIT() || INFILE(_TITLE_MIT)) && NOT_INFILE(_TITLE_MIT_EXHIBIT)) { - INTERESTING(lDebug ? "MIT(2)" : "MIT"); - lmem[_mMIT] = 1; - } - /* - * BOOST (relatively new, circa August 2003) - * hmm, some references have a Copyright Notre Dame, some don't - */ - else if (INFILE(_LT_BOOST_1)) { - if (INFILE(_TITLE_BOOST10)) { - INTERESTING("BSL-1.0"); - } - else if (INFILE(_CR_NOTREDAME)) { - INTERESTING(lDebug ? "Boost(ND)" : "BSL-1.0"); - } - else if (INFILE(_TITLE_BOOST)) { - INTERESTING("BSL-1.0"); - } - else { - INTERESTING("BSL-style"); - } - } - else if (mCR_MIT()) { - INTERESTING(lDebug ? "MIT(3)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (INFILE(_TITLE_ICU) || HASTEXT(_URL_ICU, REG_EXTENDED)) { - INTERESTING(lDebug ? "MIT-style(ICU)" : "ICU"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_ICU_2) && (INFILE(_CR_IBM_1) || INFILE(_CR_IBM_1))) { - INTERESTING(lDebug ? "MIT-style(ICU)" : "ICU"); - lmem[_mMIT] = 1; - } - else if (INFILE(_TITLE_JasPer_20)) { - INTERESTING(lDebug ? "JasPer(title)" : "JasPer-2.0"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_UNICODE_4)) { - INTERESTING(lDebug ? "MIT-style(Unicode)" : "Unicode"); - lmem[_fUNICODE] = 1; - lmem[_mMIT] = 1; - } - /* - * Adobe-Glyph - */ - else if (HASTEXT(_LT_ADOBE_GLYPH_1, REG_EXTENDED) && INFILE(_LT_ADOBE_GLYPH_2)) { - INTERESTING("Adobe-Glyph"); - } - /* - * Ubuntu Font - */ - else if (INFILE(_LT_UBUNTU_FONT)) { - INTERESTING("ubuntu-font-1.0"); - } - /* - * OFL license text has MIT license warranty claims which is identifed as MIT-style - */ - else if (!lmem[_fOFL]) { - INTERESTING(lDebug ? "MIT-style(2)" : "MIT-style"); - lmem[_mMIT] = 1; - } - } - /* - * Secondly X11 and MIT style phrases are checked. - */ - else if (INFILE(_LT_MIT_0) && (INFILE(_LT_MIT_2) || INFILE(_LT_MIT_3) || INFILE(_LT_MIT_4) || - INFILE(_LT_MIT_5) || INFILE(_LT_MIT_6) || INFILE(_LT_MIT_7))) { - if(INFILE(_LT_MIT_NO_EVIL)) { - INTERESTING(lDebug ? "MIT-style(no evil)" : "JSON"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_X11_5)) { - if (INFILE(_CR_XFREE86)) { - INTERESTING(lDebug ? "XFree86(3)" : "XFree86"); - } - else { - INTERESTING(lDebug ? "X11(3)" : "X11"); - } - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_Xnet_STYLE)) { - INTERESTING("Xnet"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_TAPJOY)) { - INTERESTING("Tapjoy"); - lmem[_mMIT] = 1; - } - else { - /* - * SPDX defines curl license. It has very typical MIT-style text. The only way to - * identify it is to use copyright or copyright reference. - */ - if (INFILE(_CR_CURL)) { - INTERESTING("curl"); - } - else { - INTERESTING(lDebug ? "MIT-style(7)" : "MIT-style"); - } - lmem[_mMIT] = 1; - } - } - else if (INFILE(_LT_MIT_5)) { - if (mCR_MIT()) { - INTERESTING(lDebug ? "MIT(4)" : "MIT"); - } - else { - INTERESTING(lDebug ? "MIT-style(3)" : "MIT-style"); - } - lmem[_mMIT] = 1; - } - cleanLicenceBuffer(); - /* - * Open Group, NEC, MIT use the same text in licenses - */ - if (INFILE(_LT_MIT_6)) { - if (!lmem[_mMIT] && INFILE(_CR_OpenGroup)) { - INTERESTING(lDebug ? "OpenGroup(1)" : "OpenGroup"); - lmem[_mMIT] = 1; - } - else if (!lmem[_mCMU] && mCR_CMU()) { - INTERESTING(lDebug ? "CMU(2)" : "CMU"); - lmem[_mCMU] = 1; - } - else if (!lmem[_mMIT] && mCR_MIT()) { - INTERESTING(lDebug ? "MIT(6)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT] && INFILE(_LT_HPND_1) && INFILE(_LT_HPND_2)) { - INTERESTING("HPND-sell-variant"); - lmem[_mMIT] = 1; - } - /* - * _LT_MIT_6 is very similar to _LT_BSD_2 where MIT-CMU licenses - * are also detected. Following else if is the copy from there. - */ - else if (!lmem[_mMIT] && INFILE(_LT_CMU_7)) { - if (INFILE(_CR_CMU_1) || INFILE(_CR_CMU_2) || INFILE(_CR_BSDCAL)) { - INTERESTING("MIT-CMU"); - } - else { - INTERESTING("MIT-CMU-style"); - } - lmem[_mCMU] = 1; - } - else if (!lmem[_mMIT]) { - INTERESTING(lDebug ? "MIT-style(4)" : "MIT-style"); - lmem[_mMIT] = 1; - } - } - else if (INFILE(_SPDX_MIT_0)) { - INTERESTING("MIT-0"); - } - else if (INFILE(_SPDX_MIT_advertising)) { - INTERESTING("MIT-advertising"); - } - else if (INFILE(_SPDX_MIT_enna)) { - INTERESTING("MIT-enna"); - } - else if (INFILE(_SPDX_MIT_feh)) { - INTERESTING("MIT-feh"); - } - else if (!lmem[_mMIT] && INFILE(_LT_MIT_7)) { - if (INFILE(_CR_OpenGroup)) { - INTERESTING(lDebug ? "OpenGroup(2)" : "OpenGroup"); - } - else if (!lmem[_mMIT] && mCR_MIT()) { - INTERESTING(lDebug ? "MIT(7)" : "MIT"); - lmem[_mMIT] = 1; - } - else { - INTERESTING(lDebug ? "MIT-style(5)" : "MIT-style"); - lmem[_mMIT] = 1; - } - } - else if ((!lmem[_mMIT] || mCR_MIT()) && INFILE(_LT_MITref1)) { - INTERESTING(lDebug ? "MIT(ref1)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT] && INFILE(_LT_MITref2)) { - INTERESTING(lDebug ? "MIT(ref2)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT] && INFILE(_LT_MITref6)) { - INTERESTING(lDebug ? "MIT(ref6)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT] && INFILE(_LT_MITref3)) { - INTERESTING(lDebug ? "MIT(ref3)" : "MIT-style"); - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT] && INFILE(_LT_MITref4)) { - INTERESTING(lDebug ? "MIT(ref4)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT] && (INFILE(_LT_MITref5) || INFILE(_LT_MITref9))) { - INTERESTING(lDebug ? "MIT(ref5)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (INFILE(_SPDX_MIT_CMU)) { - INTERESTING("MIT-CMU"); - } - else if (!lmem[_fREAL] && (INFILE(_SPDX_MIT))) { - INTERESTING(lDebug ? "MIT(SPDX)" : "MIT"); - } - else if (!lmem[_mMIT] && !lmem[_fREAL] && INFILE(_LT_MITref7)) { - INTERESTING(lDebug ? "MIT(ref7)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT] && INFILE(_LT_MITref8)) { - INTERESTING(lDebug ? "MIT(ref8/9)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_OpenGroup_1)) { - if (INFILE(_CR_OpenGroup)) { - INTERESTING(lDebug ? "OpenGroup(3)" : "OpenGroup"); - } - else { - INTERESTING(lDebug ? "OG-style(3)" : "OpenGroup-style"); - } - } - else if (INFILE(_LT_OpenGroup_3)) { - if (INFILE(_CR_OpenGroup)) { - INTERESTING(lDebug ? "OpenGroup(5)" : "OpenGroup"); - } - else { - INTERESTING(lDebug ? "OG-style(5)" : "OpenGroup-style"); - } - } - else if (INFILE(_LT_OpenGroup_PROP)) { - if (!lmem[_mXOPEN] && INFILE(_CR_XOPEN)) { - INTERESTING("XOPEN-EULA"); - lmem[_mXOPEN] = 1; - } - else if (INFILE(_CR_OpenGroup)) { - INTERESTING("OpenGroup-Proprietary"); - } - else { - INTERESTING("Proprietary"); - } - } - else if (INFILE(_LT_X11_1)) { - if (mCR_X11()) { - INTERESTING(lDebug ? "X11(4)" : "X11"); - } - else { - INTERESTING(lDebug ? "X11-style(2)" : "X11-style"); - } - } - else if (INFILE(_LT_X11_2)) { - if (mCR_X11()) { - INTERESTING(lDebug ? "X11(5)" : "X11"); - } - else { - INTERESTING(lDebug ? "X11-style(3)" : "X11-style"); - } - } - else if (INFILE(_LT_X11_3)) { - if (mCR_X11()) { - INTERESTING(lDebug ? "X11(6)" : "X11"); - } - /* - * Unix System Laboratories - */ - else if (INFILE(_CR_USL_EUR)) { - INTERESTING(lDebug ? "USLE(2)" : "USL-Europe"); - } - else { - INTERESTING(lDebug ? "X11-style(4)" : "X11-style"); - } - } - else if (INFILE(_LT_X11_4)) { - if (mCR_X11()) { - INTERESTING(lDebug ? "X11(7)" : "X11"); - } - else { - INTERESTING(lDebug ? "X11-style(5)" : "X11-style"); - } - } - else if (INFILE(_PHR_X11_1) || INFILE(_PHR_X11_2)) { - INTERESTING(lDebug ? "PHR(X11)" : "X11"); - } - else if (INFILE(_LT_X11_STYLE)) { - INTERESTING(lDebug ? "X11-style(6)" : "X11-style"); - } - /* - * ISC License - */ - if (INFILE(_PHR_ISC_1) || INFILE(_PHR_ISC_2) || HASTEXT(_URL_ISC, REG_EXTENDED)) { - INTERESTING(lDebug ? "PHR(ISC)" : "ISC"); - lmem[_mISC] = 1; - } - else if (INFILE(_LT_MIT_4) && INFILE(_PHR_NO_WARRANTY_12)) { - INTERESTING(lDebug ? "ISC(MIT-style(4))" : "ISC"); - lmem[_mISC] = 1; - } - else if (INFILE(_LT_MIT_8) && INFILE(_CR_ISC)) { - INTERESTING(lDebug ? "ISC(MIT-style(8))" : "ISC"); - lmem[_mISC] = 1; - } - cleanLicenceBuffer(); - /* - * NTP License, note that NTP license text is detected with _LT_BSD_2 - */ - if (INFILE(_TITLE_NTP)) { - INTERESTING("NTP"); - lmem[_mNTP] = 1; - } - cleanLicenceBuffer(); - /* MirOS License (MirOS) */ - if (INFILE(_TITLE_MIROS)) { - INTERESTING("MirOS"); - lmem[_mMIT] = 1; - } - cleanLicenceBuffer(); - /* Libpng license */ - if (INFILE(_TITLE_LIBPNG)) { - INTERESTING("Libpng"); - } - else if (INFILE(_LT_W3C_1)) { - if (INFILE(_CR_W3C)) { - INTERESTING(lDebug ? "W3C(1)" : "W3C"); - } - else { - INTERESTING(lDebug ? "W3C-style(1)" : "W3C-style"); - } - lmem[_fW3C] = 1; - } - else if (!lmem[_mNTP] && !lmem[_mPYTHON] && !lmem[_fBSD] && INFILE(_LT_W3C_2)) { - if (INFILE(_LT_W3C_19980720)) { - INTERESTING("W3C-19980720"); - } - else if (INFILE(_CR_W3C)) { - INTERESTING(lDebug ? "W3C(2)" : "W3C"); - } - else { - INTERESTING(lDebug ? "W3C-style(2)" : "W3C-style"); - } - lmem[_fW3C] = 1; - } - else if (INFILE(_LT_W3C_3)) { - if (INFILE(_LT_W3C_8)) { - if (INFILE(_LT_W3C_20021231)) { - INTERESTING("W3C"); - } - else if (INFILE(_LT_W3C_20150513)) { - INTERESTING("W3C-20150513"); - } - } - else if (INFILE(_CR_W3C)) { - INTERESTING(lDebug ? "W3C(3)" : "W3C"); - } - else if (INFILE(_LT_W3Cref4)) { - INTERESTING(lDebug ? "W3C(ref4)" : "W3C"); - } - else { - INTERESTING(lDebug ? "W3C-style(3)" : "W3C-style"); - } - lmem[_fW3C] = 1; - } - else if (INFILE(_LT_W3C_4) && NOT_INFILE(_LT_PNG_ZLIB_2)) { - if (INFILE(_CR_W3C)) { - INTERESTING(lDebug ? "W3C(4)" : "W3C"); - } - else { - INTERESTING(lDebug ? "W3C-style(4)" : "W3C-style"); - } - lmem[_fW3C] = 1; - } - else if (INFILE(_LT_W3C_5)) { - if (INFILE(_CR_W3C)) { - INTERESTING(lDebug ? "W3C(5)" : "W3C"); - } - else { - INTERESTING(lDebug ? "W3C-style(5)" : "W3C-style"); - } - lmem[_fW3C] = 1; - } - else if (INFILE(_LT_W3C_6)) { - if (INFILE(_CR_W3C)) { - INTERESTING(lDebug ? "W3C(6)" : "W3C"); - } - else { - INTERESTING(lDebug ? "W3C-style(6)" : "W3C-style"); - } - lmem[_fW3C] = 1; - } - else if (INFILE(_LT_W3C_7)) { - if (INFILE(_CR_W3C)) { - INTERESTING(lDebug ? "W3C(7)" : "W3C"); - } - else if (INFILE(_LT_OGC)) { - INTERESTING("OGC"); - } - else { - INTERESTING(lDebug ? "W3C-style(7)" : "W3C-style"); - } - lmem[_fW3C] = 1; - } - else if (INFILE(_LT_W3Cref1)) { - INTERESTING(lDebug ? "W3C(ref1)" : "W3C"); - lmem[_fW3C] = 1; - } - else if (INFILE(_LT_W3Cref2)) { - INTERESTING(lDebug ? "W3C(ref2)" : "W3C"); - lmem[_fW3C] = 1; - } - else if (INFILE(_LT_W3Cref3)) { - INTERESTING(lDebug ? "W3C(ref3)" : "W3C"); - lmem[_fW3C] = 1; - } - else if (INFILE(_LT_W3Cref4)) { - INTERESTING(lDebug ? "W3C(ref4)" : "W3C"); - lmem[_fW3C] = 1; - } - else if (URL_INFILE(_URL_W3C_20021231)) { - INTERESTING(lDebug ? "W3C-20021231(url)" : "W3C"); - lmem[_fW3C] = 1; - } - else if (URL_INFILE(_URL_W3C_IP)) { - INTERESTING(lDebug ? "W3C-IP(url)" : "W3C-IP"); - lmem[_fW3C] = 1; - } - else if (URL_INFILE(_URL_W3C)) { - INTERESTING(lDebug ? "W3C(url)" : "W3C"); - lmem[_fW3C] = 1; - } - else if (!lmem[_mMIT] && INFILE(_LT_MIT_3)) { - if (INFILE(_LT_NTP_0)) { - INTERESTING("NTP-0"); - } - else if (mCR_MIT()) { - INTERESTING(lDebug ? "MIT(8)" : "MIT"); - } - else { - INTERESTING(lDebug ? "MIT-style(6)" : "MIT-style"); - } - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT] && INFILE(_LT_MIT_4)) { - if (mCR_MIT()) { - INTERESTING(lDebug ? "MIT(9)" : "MIT"); - } - else if (!lmem[_mISC] && mCR_FSF()) { - INTERESTING(lDebug ? "FSF(7)" : "FSF"); - } - else if (!lmem[_mISC]) { - INTERESTING(lDebug ? "MIT-style(13)" : "MIT-style"); - } - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT] && INFILE(_LT_MIT_8)) { - if (INFILE(_CR_VIXIE)) { - INTERESTING("Vixie"); - } - else if (INFILE(_LT_0BSD)) { - INTERESTING("0BSD"); - } - else if (mCR_MIT()) { - INTERESTING(lDebug ? "MIT(10)" : "MIT"); - } - else if (HASTEXT(_TEXT_TU_BERLIN, 0) && HASTEXT(_LT_FREE_87,0)) { - INTERESTING("TU-Berlin-2.0"); - } - else { - INTERESTING(lDebug ? "MIT-style(8)" : "MIT-style"); - } - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_MIT_9)) { - if (INFILE(_CR_SLEEPYCAT)) { - MEDINTEREST(lDebug ? "Sleepycat(2)" : "Sleepycat"); - } - else if (INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(mit)" : "BSD"); - lmem[_fBSD] = 1; - } - else if (INFILE(_CR_SUN)) { - INTERESTING(lDebug ? "SUN(mit)" : "SUN"); - lmem[_fBSD] = 1; - } - else if (!lmem[_mMIT] && mCR_MIT()) { - INTERESTING(lDebug ? "MIT(11)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT]) { - /* - * Tcl/Tk license has MIT phrase - */ - if (INFILE(_LT_TCL)) { - INTERESTING("TCL"); - lmem[_fTCL] = 1; - } - else { - INTERESTING(lDebug ? "MIT-style(9)" : "MIT-style"); - lmem[_mMIT] = 1; - } - } - } - else if (INFILE(_LT_MIT_10)) { - if (!lmem[_mMIT] && mCR_MIT()) { - INTERESTING(lDebug ? "MIT(12)" : "MIT"); - lmem[_mMIT] = 1; - } - else { - INTERESTING(lDebug ? "MIT-style(10)" : "MIT-style"); - lmem[_mMIT] = 1; - } - } - else if ((INFILE(_LT_MIROS_PREAMBLE) || INFILE(_TITLE_MIROS)) && INFILE(_LT_MIT_11)) { - INTERESTING(lDebug ? "MIT-style(MirOS)" : "MirOS"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_MIT_11)) { - INTERESTING(lDebug ? "MIT-style(11)" : "MIT-style"); - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT] && INFILE(_LT_MITDOC)) { - if (mCR_MIT()) { - INTERESTING(lDebug ? "MIT(13)" : "MIT"); - } - else { - INTERESTING(lDebug ? "MIT-style(12)" : "MIT-style"); - } - lmem[_mMIT] = 1; - } - else if (!lmem[_mMIT] && INFILE(_LT_MIT_0) && NOT_INFILE(_LT_ECL)) { - INTERESTING(lDebug ? "MIT(0)" : "MIT-style"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_MIT_14)) { - INTERESTING(lDebug ? "MIT-style(14)" : "MIT-style"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_MIT_15)) { - INTERESTING(lDebug ? "MIT-style(15)" : "ISC-style"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_MPL_OR_MITX)) { - if (!lmem[_mMPL]) { - cp = MPLVERS(); - INTERESTING(lDebug ? "MPL(with-MIT)" : cp); - lmem[_mMPL] = 1; - } - if (!lmem[_mMIT]) { - INTERESTING(lDebug ? "MIT(with-MPL)" : "MIT"); - lmem[_mMIT] = 1; - } - } - else if (!lmem[_mMIT] && (URL_INFILE(_URL_MIT) || URL_INFILE(_URL_MIT_ROCK))) { - INTERESTING(lDebug ? "MIT(url)" : "MIT"); - lmem[_mMIT] = 1; - } - else if (HASTEXT(_TEXT_TU_BERLIN, 0) && HASTEXT(_LT_FREE_87,0)) { - INTERESTING("TU-Berlin-1.0"); - } - else if (INFILE(_LT_NIST_1) && INFILE(_LT_NIST_2)) { - INTERESTING(lDebug ? "NIST" : "MIT-style"); - } - else if (INFILE(_LT_FSFAP)) { - INTERESTING("FSFAP"); - } - cleanLicenceBuffer(); - /* - * Generic CopyLeft licenses - */ - if (INFILE(_LT_COPYLEFT_1)) { - INTERESTING("CopyLeft[1]"); - } - else if (INFILE(_LT_COPYLEFT_2)) { - INTERESTING("CopyLeft[2]"); - } - cleanLicenceBuffer(); - /* - * OpenContent license - */ - if (INFILE(_LT_OPENCONTENT)) { - if (INFILE(_TITLE_OPENCL10)) { - INTERESTING("OCL-1.0"); - } - else if (INFILE(_TITLE_OPENCL)) { - INTERESTING("OCL"); - } - else { - INTERESTING("OCL-style"); - } - } - cleanLicenceBuffer(); - /* - * jpeg/netpbm and png/zlib and others... - */ - if (INFILE(_TITLE_ZLIB)) { - INTERESTING("Zlib"); - } - else if (INFILE (_LT_TRUECRYPT_30)) { - INTERESTING("TrueCrypt-3.0"); - } - else if (INFILE(_TITLE_LIBPNG)) { - INTERESTING("Libpng"); - } - /* IJG */ - else if (INFILE(_LT_JPEG_1)) { - INTERESTING(lDebug ? "JPEG(1)" : "IJG"); - lmem[_fIJG] = 1; - } - else if (INFILE(_LT_JPEG_2) && HASTEXT(_TITLE_IJG_2, 0)) { - INTERESTING(lDebug ? "JPEG(2)" : "IJG"); - lmem[_fIJG] = 1; - } - /* Zlib */ - else if (INFILE(_SPDX_zlib_acknowledgement)) { - INTERESTING("zlib-acknowledgement"); - } - else if (!lmem[_fREAL] && (INFILE(_SPDX_Zlib))) { - INTERESTING("Zlib"); - } - else if (INFILE(_LT_PNG_ZLIB_1) && HASTEXT(_LT_PNG_ZLIB_CLAUSE_1, 0) && HASTEXT(_LT_PNG_ZLIB_CLAUSE_2, REG_EXTENDED) && HASTEXT(_LT_PNG_ZLIB_CLAUSE_3, 0)) { - INTERESTING(lDebug ? "ZLIB(1)" : "Zlib"); - } - else if (INFILE(_LT_PNG_ZLIBref4) && NOT_INFILE(_LT_PNG_ZLIBref4_EXHIBIT)) { - INTERESTING(lDebug ? "ZLIB(6)" : "Zlib"); - } - else if (!lmem[_fW3C] && INFILE(_LT_PNG_ZLIB_2)) { - if (INFILE(_LT_libmng_2007_Clause_1)) { - if (HASTEXT(_LT_libmng_2007_1, 0)) { - INTERESTING("libmng-2007"); - } - else if (INFILE(_LT_libpng_20_Clause_1)) { - INTERESTING("libpng-2.0"); - } - } - else { - INTERESTING(lDebug ? "PNG/ZLIB(2)" : "Libpng"); - } - } - else if (INFILE(_LT_PNG_ZLIBref1)) { - INTERESTING(lDebug ? "ZLIB(3)" : "Zlib"); - } - else if (INFILE(_LT_PNG_ZLIBref2)) { - INTERESTING(lDebug ? "ZLIB(4)" : "Zlib"); - } - else if (INFILE(_LT_PNG_ZLIBref3)) { /* might be zlib/libpng license, not sure */ - INTERESTING(lDebug ? "ZLIB(5)" : "Zlib-possibility"); - } - else if (!LVAL(_TEXT_GNU_LIC_INFO) && (URL_INFILE(_URL_ZLIB_1) || URL_INFILE(_URL_ZLIB_2))) { - INTERESTING(lDebug ? "ZLIB(url)" : "Zlib"); - } - - if (INFILE(_LT_INFO_ZIP) || URL_INFILE(_URL_INFO_ZIP)) { - INTERESTING("Info-ZIP"); - } - cleanLicenceBuffer(); - /* - * IETF (primarily docs, RFCs, and protocol/standard proposals) . This - * one is a little strange as text-formatters that print this license - * will occasionally split the text across a page boundary. Here we - * look for 2 separate footprints. - */ - if (INFILE(_LT_IETF_1) || INFILE(_LT_IETF_2) || INFILE(_LT_IETF_3) || - INFILE(_LT_IETF_4)) { - if (mCR_IETF()) { - INTERESTING("IETF"); - } - else if (INFILE(_LT_IETF_5)) { - INTERESTING("IETF"); - } - else if (HASTEXT(_LT_IETF_7, 0)) { - INTERESTING("IETF"); - } - else if (INFILE(_CR_OASIS)) { - INTERESTING("OASIS"); - } - else { - INTERESTING("IETF-style"); - } - } - /* - * IETF Trust's Legal Provisions - */ - else if (INFILE(_LT_IETF_6)) { - INTERESTING("IETF"); - } - /* - * Contributions to IETF Standard Process - */ - else if (INFILE(_LT_IETF_7)) { - INTERESTING("IETF-contribution"); - } - cleanLicenceBuffer(); - /* - * CDDL - */ - if (INFILE(_PHR_CDDL_1) || HASTEXT(_PHR_CDDL_2, REG_EXTENDED)) { - cp = CDDLVERS(); - INTERESTING(cp); - lmem[_mCDDL] = 1; - } - cleanLicenceBuffer(); - /* - * MPL (Mozilla) - * ... Sun SISSL and one Mozilla licensing derivative share wording - */ - if (!lmem[_fREAL] && NOT_INFILE(_LT_CPALref) && NOT_INFILE(_TITLE_GSOAP) && - (INFILE(_LT_MPL_OR) || INFILE(_TITLE_MPL_ref))) { - cp = MPLVERS(); /* NPL, too */ - INTERESTING(lDebug ? "MPL/NPL#2" : cp); - lmem[_mMPL] = 1; - } - if (INFILE(_LT_CPALref)) { - if (INFILE(_TITLE_CPAL10)) { - INTERESTING(lDebug ? "CPAL_v1.0(#2)" : "CPAL-1.0"); - lmem[_mMPL] = 1; - lmem[_fATTRIB] = 1; - } - else if (INFILE(_TITLE_CPAL)) { - INTERESTING(lDebug ? "CPAL(#2)" : "CPAL"); - lmem[_mMPL] = 1; - lmem[_fATTRIB] = 1; - } - } - else if (INFILE(_LT_CPAL_V1_ref)) { - INTERESTING(lDebug ? "CPAL_v1.0(#3)" : "CPAL-1.0"); - lmem[_mMPL] = 1; - lmem[_fATTRIB] = 1; - } - if (!lmem[_mMPL] && INFILE(_LT_MPL_2)) { - if (INFILE(_TITLE_SISSL)) { - cp = SISSLVERS(); - INTERESTING(lDebug ? "SISSL(MPL)" : cp); - lmem[_mSUN] = 1; - } - else if (INFILE(_TITLE_SUN_PL10)) { - INTERESTING("SPL-1.0"); - lmem[_mSUN] = 1; - } - else if (INFILE(_TITLE_SUN_PL)) { - INTERESTING("SPL"); - lmem[_mSUN] = 1; - } - else if (INFILE(_TITLE_IDPL_V10)) { - INTERESTING("IDPL-1.0"); - lmem[_mMPL] = 1; - } - else if (INFILE(_TITLE_IDPL)) { - INTERESTING("IDPL"); - lmem[_mMPL] = 1; - } - else if (INFILE(_TITLE_INTERBASE)) { - INTERESTING("Interbase-1.0"); - lmem[_mMPL] = 1; - } - else if (INFILE(_TITLE_NETIZEN_V10)) { - INTERESTING("NOSL-1.0"); - lmem[_mMPL] = 1; - } - else if (INFILE(_TITLE_NETIZEN)) { - INTERESTING(lDebug ? "NOSL(#1)" : "NOSL"); - lmem[_mMPL] = 1; - } - else if (INFILE(_TITLE_TPL10)) { - INTERESTING(lDebug ? "TPL(v1.0#1)" : "MPL.TPL-1.0"); - lmem[_mMPL] = 1; - } - else if (INFILE(_TITLE_TPL)) { - INTERESTING(lDebug ? "TPL(#1)" : "MPL.TPL"); - lmem[_mMPL] = 1; - } - else if (INFILE(_TITLE_GSOAP_V13)) { - INTERESTING("gSOAP-1.3b"); - lmem[_mGSOAP] = 1; - } - else if (INFILE(_TITLE_GSOAP)) { - INTERESTING("gSOAP"); - lmem[_mGSOAP] = 1; - } - else if (INFILE(_TITLE_FLASH2XML10)) { - INTERESTING("Flash2xml-1.0"); - } - else if (INFILE(_TITLE_NOKIA10A)) { - INTERESTING("Nokia"); - lmem[_mMPL] = 1; - } - else if (INFILE(_LT_NOKIA)) { - INTERESTING("Nokia"); - lmem[_mMPL] = 1; - } - else if (INFILE(_TITLE_OPENPL10)) { - INTERESTING("OPL-1.0"); - } - else if (INFILE(_TITLE_SNIA_V11)) { - INTERESTING("SNIA-1.1"); - } - else if (INFILE(_TITLE_SNIA_V10)) { - INTERESTING("SNIA-1.0"); - } - else if (INFILE(_TITLE_CPAL10)) { - INTERESTING(lDebug ? "CPAL_v1.0(#1)" : "CPAL-1.0"); - lmem[_mMPL] = 1; - lmem[_fATTRIB] = 1; - } - else if (INFILE(_TITLE_CPAL)) { - INTERESTING(lDebug ? "CPAL(#1)" : "CPAL"); - lmem[_mMPL] = 1; - lmem[_fATTRIB] = 1; - } - else if (HASTEXT(_TEXT_MOZNET, REG_EXTENDED)) { - if (INFILE(_TITLE_SUGARCRM_PL)) { - INTERESTING("SugarCRM-1.1.3"); - lmem[_mMPL] = 1; - lmem[_fATTRIB] = 1; - } - else if (!lmem[_mMPL] && !lmem[_fREAL] && INFILE(_TITLE_MOZNET_PL)) { - cp = MPLVERS(); /* NPL, too */ - INTERESTING(lDebug ? "MPL/NPL#1" : cp); - lmem[_mMPL] = 1; - } - } - else if (INFILE(_TITLE_RHeCos_V11)) { - INTERESTING("RHeCos-1.1"); - } - else if (INFILE(_TITLE_CYGNUS_ECOS_V10)) { - INTERESTING("Cygnus-eCos-1.0"); - } - else if (INFILE(_TITLE_H2_V10)) { - INTERESTING("H2-1.0"); - } - else { - if (!lmem[_mCDDL]) { - INTERESTING("MPL-style"); - lmem[_mMPL] = 1; - } - } - } - else if (!lmem[_mMPL] && (INFILE(_LT_NPLref) || INFILE(_LT_NPL_1))) { - cp = MPLVERS(); /* NPL, too */ - INTERESTING(lDebug ? "MPL/NPL#3" : cp); - lmem[_mMPL] = 1; - } - else if (!lmem[_mMPL] && INFILE(_LT_MPLref1)) { - cp = MPLVERS(); /* NPL, too */ - INTERESTING(lDebug ? "MPL/NPL-ref#1" : cp); - lmem[_mMPL] = 1; - } - else if (!lmem[_mMPL] && INFILE(_LT_IDPLref)) { - if (INFILE(_TITLE_IDPL_V10)) { - INTERESTING(lDebug ? "IDPL-v1(ref)" : "IDPL-1.0"); - } - else { - INTERESTING(lDebug ? "IDPL(ref)" : "IDPL"); - } - lmem[_mMPL] = 1; - } - else if (!lmem[_mMPL] && !lmem[_mLIBRE] && !lmem[_fREAL] && - !LVAL(_TEXT_GNU_LIC_INFO) && INFILE(_LT_MPLref2)) { - cp = MPLVERS(); /* NPL, too */ - INTERESTING(lDebug ? "MPL/NPL-ref#2" : cp); - lmem[_mMPL] = 1; - } - else if (!lmem[_mMPL] && !lmem[_mLIBRE] && !lmem[_fREAL] && - !LVAL(_TEXT_GNU_LIC_INFO) && INFILE(_TITLE_MOZNET_PL)) { - cp = MPLVERS(); /* NPL, too */ - INTERESTING(lDebug ? "MPL/NPL#4" : cp); - lmem[_mMPL] = 1; - } - else if (!lmem[_mMPL] && INFILE(_TITLE_NETSCAPE_EULA)) { - INTERESTING("NPL-EULA"); - lmem[_mMPL] = 0; - } - else if (INFILE(_LT_NPL_2)) { - INTERESTING(lDebug ? "NPL(#1)" : "NPL"); - lmem[_mMPL] = 0; - } - else if (INFILE(_TITLE_OPENPL)) { - INTERESTING(lDebug ? "OPL(title)" : "OPL-style"); - } - cleanLicenceBuffer(); - /* - * Microsoft licenses: open and proprietary/EULA - */ - if (INFILE(_LT_MSCORP_SSLref)) { - INTERESTING(lDebug ? "MS-SSL(ref)" : "MS-SSL"); - lmem[_fMSCORP] = 1; - } - if (INFILE(_LT_MSCORP_PL)) { - int ms_l = INFILE(_LT_MSCORP_LIMITED); - int ms_r = INFILE(_LT_MSCORP_RL); - if (ms_r && ms_l) { - INTERESTING("MS-LRL"); - } - else if (ms_r) { - INTERESTING(lDebug ? "MS-RL(#1)" : "MS-RL"); - } - else if (ms_l) { - INTERESTING("MS-LPL"); - } - else { - INTERESTING(lDebug ? "MS-PL(#1)" : "MS-PL"); - } - } - else if (INFILE(_LT_MSCORP_LIMITEDref1)) { - INTERESTING("MS-LPL"); - lmem[_fMSCORP] = 1; - } - - if (INFILE(_TEXT_MICROSOFT)) { - if (INFILE(_LT_MSCORP_INDEMNIFY)) { - INTERESTING("MS-indemnity"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_IP_1)) { - INTERESTING(lDebug ? "MS-IP(1)" : "MS-IP"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_IP_2)) { - INTERESTING(lDebug ? "MS-IP(2)" : "MS-IP"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_PLref1)) { - INTERESTING(lDebug ? "MS-PL(ref1)" : "MS-PL"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_PLref2)) { - INTERESTING(lDebug ? "MS-PL(ref2)" : "MS-PL"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_PLref3)) { - INTERESTING(lDebug ? "MS-PL(ref3)" : "MS-PL"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_RLref)) { - INTERESTING(lDebug ? "MS-RL(ref)" : "MS-RL"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_REFLIC)) { - INTERESTING("MRL"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_EULA_1) || - INFILE(_TITLE_MSCORP_EULA)) { - INTERESTING(lDebug ? "MS-EULA(1)" : "MS-EULA"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_EULA_2)) { - INTERESTING(lDebug ? "MS-EULA(2)" : "MS-EULA"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_EULA_3)) { - INTERESTING(lDebug ? "MS-EULA(3)" : "MS-EULA"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_EULA_4)) { - INTERESTING(lDebug ? "MS-EULA(4)" : "MS-EULA"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_EULA_5)) { - INTERESTING(lDebug ? "MS-EULA(5)" : "MS-EULA"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_EULA_6)) { - INTERESTING(lDebug ? "MS-EULA(6)" : "MS-EULA"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_1)) { - INTERESTING(lDebug ? "MS(1)" : "Microsoft"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_2)) { - INTERESTING(lDebug ? "MS(2)" : "Microsoft"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_3)) { - INTERESTING(lDebug ? "MS(3)" : "Microsoft"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_4)) { - INTERESTING(lDebug ? "MS(4)" : "Microsoft"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORP_5)) { - INTERESTING(lDebug ? "MS(5)" : "Microsoft"); - lmem[_fMSCORP] = 1; - } - else if (INFILE(_LT_MSCORPref1)) { - INTERESTING("Microsoft"); - lmem[_fMSCORP] = 1; - } - } - cleanLicenceBuffer(); - /* - * Santa Cruz Operation (SCO) - */ - if (INFILE(_LT_SCO_COMM) && INFILE(_CR_SCO)) { - INTERESTING("SCO.commercial"); - } - cleanLicenceBuffer(); - /* - * Zonealarm - */ - if (INFILE(_LT_ZONEALARM) && INFILE(_TITLE_ZONEALARM_EULA)) { - INTERESTING("ZoneAlarm-EULA"); - } - cleanLicenceBuffer(); - /* - * Ximian - */ - if (HASTEXT(_TEXT_XIMIAN, 0)) { - if (INFILE(_CR_XIMIAN)) { - if (INFILE(_LT_XIMIAN)) { - if (INFILE(_TITLE_XIMIANLOGO10)) { - INTERESTING("Ximian-1.0"); - } - else if (INFILE(_TITLE_XIMIANLOGO)) { - INTERESTING("Ximian"); - } - } - } - } - cleanLicenceBuffer(); - /* - * Xerox - */ - if (HASTEXT(_TEXT_XEROX, 0)) { - if (INFILE(_LT_XEROX_1) || INFILE(_LT_XEROX_2)) { - if (INFILE(_CR_XEROX_1) || INFILE(_CR_XEROX_2)) { - INTERESTING("Xerox"); - } - else { - INTERESTING("Xerox-style"); - } - } - } - cleanLicenceBuffer(); - /* - * Artifex Software - */ - if (INFILE(_LT_ARTIFEX) && INFILE(_CR_ARTIFEX)) { - INTERESTING("Artifex"); - } - cleanLicenceBuffer(); - /* - * AGE logic - */ - if (INFILE(_LT_AGE) && INFILE(_CR_AGE)) { - INTERESTING("AGE-Logic"); - } - cleanLicenceBuffer(); - /* - * OpenSSL - */ - if (INFILE(_LT_OPENSSLref1) || INFILE(_LT_OPENSSLref2) || - INFILE(_LT_OPENSSLref3) || INFILE(_LT_OPENSSLref4) || - INFILE(_LT_OPENSSLref6) || INFILE(_LT_OPENSSLref7) || - INFILE(_LT_OPENSSLref8) ) { - INTERESTING(lDebug ? "OpenSSL(ref)" : "OpenSSL"); - } - else if (INFILE(_SPDX_OpenSSL) || INFILE(_URL_OPENSSL)) { - INTERESTING(lDebug ? "OpenSSL(phr)" : "OpenSSL"); - } - cleanLicenceBuffer(); - /* - * Dual OpenSSL SSLeay - */ - if (INFILE(_LT_COMBINED_OPENSSL_SSLEAY)) { - INTERESTING("OpenSSL"); - INTERESTING("SSLeay"); - } - cleanLicenceBuffer(); - /* - * Ruby. Ruby is a dual license which allows distribution also under GPL. - * GPL was earlier recognized beside Ruby here but GPL was not identified - * in all Ruby cases. Therefore GPL statements have bee removed. - */ - if (INFILE(_LT_RUBY)) { - INTERESTING("Ruby"); - lmem[_fRUBY] = 1; - } - else if (INFILE(_LT_RUBYref1)) { - INTERESTING(lDebug ? "Ruby(ref1)" : "Ruby"); - } - else if (INFILE(_LT_RUBYref2)) { - INTERESTING(lDebug ? "Ruby(ref2)" : "Ruby"); - } - else if (INFILE(_LT_RUBYref3)) { - INTERESTING(lDebug ? "Ruby(ref3)" : "Ruby"); - } - else if (INFILE(_LT_RUBYref4)) { - INTERESTING(lDebug ? "Ruby(ref4)" : "Ruby"); - } - else if (INFILE(_LT_RUBYref5)) { - INTERESTING(lDebug ? "Ruby(ref5)" : "Ruby"); - } - else if (INFILE(_LT_RUBYref6)) { - INTERESTING(lDebug ? "Ruby(ref6)" : "Ruby"); - } - cleanLicenceBuffer(); - /* - * Python and EGenix.com look a bit alike - * Q: should all these Python rhecks be a family-check like OpenLDAP? - */ - if (INFILE(_LT_EGENIX_COM)) { - INTERESTING("eGenix"); - } - else if (INFILE(_LT_PYTHON_4)) { - INTERESTING("Python"); - lmem[_mPYTHON] = 1; - } - else if (!lmem[_mPYTHON] && lmem[_mPYTH_TEXT]) { - if (INFILE(_LT_PYTHON_1) || INFILE(_LT_PYTHON_2)) { - if (INFILE(_LT_CNRI_PYTHON_GPL)) { - INTERESTING("CNRI-Python-GPL-Compatible"); - lmem[_mGPL] = 1; - } - else if (INFILE(_CR_PYTHON) || INFILE(_TITLE_PYTHON)) { - cp = PYTHVERS(); - INTERESTING(lDebug ? "Python(1)" : cp); - } - else if (INFILE(_LT_CNRI_PYTHON_1)) { - INTERESTING("CNRI-Python"); - } - else if (INFILE(_LT_CNRI_JYTHON)) { - INTERESTING("CNRI-Jython"); - } - else { - INTERESTING("Python-style"); - } - lmem[_mPYTHON] = 1; - } - else if (INFILE(_SPDX_CNRI_Python_GPL_Compatible)) { - INTERESTING("CNRI-Python-GPL-Compatible"); - } - else if (INFILE(_SPDX_CNRI_Python)) { - INTERESTING("CNRI-Python"); - } - else if (INFILE(_LT_CNRI_PYTHON_2)) { - INTERESTING("CNRI-Python"); - } - else if (INFILE(_LT_PYTHON_3)) { - cp = PYTHVERS(); - INTERESTING(lDebug ? "Python(4)" : cp); - lmem[_mPYTHON] = 1; - } - else if (INFILE(_LT_PYTHONSTYLEref)) { - cp = PYTHVERS(); - INTERESTING(lDebug ? "Python(ref1)" : "Python-style"); - lmem[_mPYTHON] = 1; - } - else if (!lmem[_mLIBRE] && (INFILE(_LT_PYTHONref1) || - INFILE(_LT_PYTHONref2))) { - cp = PYTHVERS(); - INTERESTING(lDebug ? "Python(ref2)" : cp); - lmem[_mPYTHON] = 1; - } - else if (!lmem[_mLIBRE] && !lmem[_fREAL] && - !LVAL(_TEXT_GNU_LIC_INFO) && INFILE(_LT_PYTHONref3)) { - cp = PYTHVERS(); - INTERESTING(lDebug ? "Python(ref3)" : cp); - lmem[_mPYTHON] = 1; - } - else if (!lmem[_mPYTHON] && URL_INFILE(_URL_PYTHON)) { - cp = PYTHVERS(); - INTERESTING(lDebug ? "Python(url)" : cp); - lmem[_mPYTHON] = 1; - } - else if (!lmem[_mPYTHON] && INFILE(_LT_PYTHON22ref)) { - INTERESTING(lDebug ? "Python(22ref)" : "Python-2.2"); - lmem[_mPYTHON] = 1; - } - } - cleanLicenceBuffer(); - /* - * Intel - */ - if (INFILE(_LT_INTEL) && NOT_INFILE(_LT_REAL_RPSL)) { - INTERESTING(lDebug ? "Intel(8)" : "Intel"); - } - else if (INFILE(_LT_INTEL_6)) { - INTERESTING(lDebug ? "Intel(9)" : "Intel-other"); - } - else if (INFILE(_LT_INTEL_7)) { - INTERESTING(lDebug ? "Intel(10)" : "Intel-other"); - } - else if (INFILE(_LT_INTEL_WLAN)) { - INTERESTING("Intel-WLAN"); - } - else if (INFILE(_LT_INTEL_ACPI)) { - INTERESTING("Intel-ACPI"); - } - else if (INFILE(_SPDX_Intel_ACPI)) { - INTERESTING("Intel-ACPI"); - } - else if (INFILE(_LT_ISSL_1) && INFILE(_LT_ISSL_2)) { - INTERESTING("ISSL"); - } - else if (!lmem[_fREAL] && INFILE(_SPDX_Intel)) { - INTERESTING("Intel"); - } - else if (HASTEXT(_TEXT_INTELCORP, 0)) { - if (INFILE(_LT_INTEL_1)) { - if (INFILE(_LT_INTEL_FW)) { - INTERESTING(lDebug ? "Intel(2)" : "Intel-only-FW"); - } - else { - INTERESTING(lDebug ? "Intel(3)" : "Intel"); - } - } - else if (INFILE(_LT_INTEL_2)) { - INTERESTING(lDebug ? "Intel(4)" : "Intel"); - } - else if (INFILE(_LT_INTEL_3)) { - INTERESTING(lDebug ? "Intel(5)" : "Intel"); - } - else if (INFILE(_LT_INTEL_4)) { - INTERESTING(lDebug ? "Intel(6)" : "Intel"); - } - else if (INFILE(_LT_INTEL_RESTRICT)) { - INTERESTING("Intel.RESTRICTED"); - } - else if (INFILE(_LT_INTEL_BINARY) && HASTEXT(_TEXT_INTELCORPBINARY, 0) && HASTEXT(_TEXT_NOMODIFICATION, 0)) { - INTERESTING("Intel-Binary"); - } - } - else if (INFILE(_LT_INTEL_5)) { - INTERESTING(lDebug ? "CPL(Intel)" : "CPL"); - INTERESTING(lDebug ? "Intel(7)" : "Intel"); - } - else if (INFILE(_LT_INTEL_EULA)) { - INTERESTING("Intel-EULA"); - } - cleanLicenceBuffer(); - /* - * Bellcore - */ - if (INFILE(_LT_BELLCORE)) { - if (INFILE(_CR_BELLCORE)) { - INTERESTING("Bellcore"); - } - else { - INTERESTING("Bellcore-style"); - } - } - cleanLicenceBuffer(); - /* - * Purdue - */ - if (INFILE(_LT_PURDUE) && INFILE(_CR_PURDUE) && HASTEXT(_TEXT_ALTERED_SOURCE, REG_EXTENDED) && HASTEXT(_TEXT_ORIGIN, 0)) { - INTERESTING("Purdue"); - /* flag is set to avoid Cisco-style detection */ - lmem[_fPURDUE] = 1; - } - cleanLicenceBuffer(); - /* - * Cisco systems - */ - if (!lmem[_fPURDUE] && INFILE(_LT_CISCO)) { - if (HASTEXT(_LT_PNG_ZLIB_CLAUSE_1, 0) && - HASTEXT(_LT_PNG_ZLIB_CLAUSE_2, REG_EXTENDED) && - HASTEXT(_LT_PNG_ZLIB_CLAUSE_3, 0)) { - if (INFILE(_LT_Spencer_86_94_CLAUSE_1) && INFILE(_LT_Spencer_94_CLAUSE_2)) { - INTERESTING("Spencer-94"); - } - else { - INTERESTING("Zlib-style"); - } - } - else if (INFILE(_CR_CISCO)) { - INTERESTING("Cisco"); - } - else { - INTERESTING("Cisco-style"); - } - } - cleanLicenceBuffer(); - /* - * HP - */ - if (INFILE(_LT_HP_DEC)) { - if (mCR_HP()) { - INTERESTING(lDebug ? "HP(8)" : "HP"); - } - else if (INFILE(_CR_ADOBE)) { - INTERESTING(lDebug ? "Adobe(8)" : "Adobe"); - } - else if (INFILE(_LT_GNUPLOT_1) && INFILE(_LT_GNUPLOT_2)) { - INTERESTING("gnuplot"); - } - else { - INTERESTING(lDebug ? "HP-DEC-style(1)" : "HP-DEC-style"); - } - } - else if (HASTEXT(_TEXT_HP, REG_EXTENDED)) { - if (INFILE(_LT_HP_1)) { - INTERESTING(lDebug ? "HP(2)" : "HP"); - } - else if (INFILE(_LT_HP_3) && INFILE(_LT_HP_snmp_pp)) { - INTERESTING(lDebug ? "HP(3)" : "hp-snmp-pp"); - } - else if (INFILE(_LT_HP_4)) { - INTERESTING(lDebug ? "HP(4)" : "HP"); - } - else if (INFILE(_LT_HP_5)) { - INTERESTING(lDebug ? "HP(5)" : "HP"); - } - else if (INFILE(_LT_HP_6)) { - INTERESTING(lDebug ? "HP(6)" : "HP"); - } - else if (INFILE(_LT_HP_7)) { - INTERESTING(lDebug ? "HP(7)" : "HP"); - } - else if (INFILE(_LT_COMPAQ_1)) { - INTERESTING(lDebug ? "Compaq(1)" : "HP-Compaq"); - } - else if (INFILE(_LT_HP_EULA1)) { - INTERESTING(lDebug ? "HP-EULA(1)" : "HP-EULA"); - } - else if (INFILE(_LT_HP_EULA2)) { - INTERESTING(lDebug ? "HP-EULA(2)" : "HP-EULA"); - } - else if (INFILE(_LT_HP_EULA3)) { - INTERESTING(lDebug ? "HP-EULA(3)" : "HP-EULA"); - } - else if (INFILE(_LT_HP_EULA4)) { - INTERESTING(lDebug ? "HP-EULA(4)" : "HP-EULA"); - } - else if (INFILE(_LT_COMPAQ_EULA)) { - INTERESTING(lDebug ? "Compaq(EULA)" : "HP-Compaq"); - } - else if (INFILE(_LT_HP_PROPRIETARY_1)) { - INTERESTING(lDebug ? "HP-prop(1)" : "HP-Proprietary"); - } - else if (INFILE(_LT_HP_PROPRIETARY_2)) { - INTERESTING(lDebug ? "HP-prop(2)" : "HP-Proprietary"); - } - else if (INFILE(_LT_HP_PROPRIETARY_3)) { - INTERESTING(lDebug ? "HP-prop(3)" : "HP-Proprietary"); - } - else if (INFILE(_LT_HP_IBM_1)) { - INTERESTING(lDebug ? "HP+IBM(1)" : "HP+IBM"); - } - else if (INFILE(_LT_HP_IBM_2)) { - INTERESTING(lDebug ? "HP+IBM(2)" : "HP+IBM"); - } - else if (!lmem[_mHP] && INFILE(_CR_DEC) && INFILE(_LT_DEC_1)) { - INTERESTING(lDebug ? "HP-DEC(3)" : "HP-DEC"); - lmem[_mHP] = 1; - } - else if (!lmem[_mHP] && INFILE(_CR_DEC) && INFILE(_LT_DEC_2)) { - INTERESTING(lDebug ? "HP-DEC(4)" : "HP-DEC"); - lmem[_mHP] = 1; - } - else if (INFILE(_LT_EDS_1) && INFILE(_CR_EDS)) { - INTERESTING(lDebug ? "HP-EDS(1)" : "HP"); - } - else if (INFILE(_LT_EDS_2) && INFILE(_CR_EDS)) { - INTERESTING(lDebug ? "HP-EDS(2)" : "HP"); - } - } - else if (!lmem[_mHP] && INFILE(_LT_DEC_1)) { - INTERESTING(lDebug ? "HP-DEC-style(2)" : "HP-DEC-style"); - } - else if (!lmem[_mHP] && INFILE(_LT_DEC_2)) { - INTERESTING(lDebug ? "HP-DEC-style(3)" : "HP-DEC-style"); - } - else if (INFILE(_LT_HP_4)) { - INTERESTING(lDebug ? "HP-style(1)" : "HP-style"); - } - else if (INFILE(_LT_COMPAQ_1)) { - INTERESTING(lDebug ? "HP-style(2)" : "HP-style"); - } - else if (INFILE(_LT_EDS_1)) { - INTERESTING(lDebug ? "HP-EDS(1#2)" : "HP"); - } - else if (INFILE(_LT_EDS_2)) { - INTERESTING(lDebug ? "HP-EDS(2#2)" : "HP"); - } - cleanLicenceBuffer(); - /* - * SUN Microsystems - */ - if (!lmem[_mSUN] && (INFILE(_CR_SUN) || INFILE(_TEXT_MICROSYSTEMS))) { - if (INFILE(_LT_SUN_PROPRIETARY) || INFILE(_LT_SUN_PROPRIETARY_2) || INFILE(_LT_SUN_PROPRIETARY_3)) { - INTERESTING(lDebug ? "Sun(Prop)" : "Sun-Proprietary"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_RPC)) { - INTERESTING("Sun-RPC"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_1)) { - if (INFILE(_LT_SUN_FREE)) { - INTERESTING(lDebug ? "Sun(Freeware)" : "Freeware"); - } - else { - INTERESTING(lDebug ? "Sun(3)" : "Sun"); - } - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_2)) { - INTERESTING(lDebug ? "Sun(4)" : "Sun-Proprietary"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_3)) { - INTERESTING(lDebug ? "Sun(5)" : "Sun"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_4)) { - INTERESTING(lDebug ? "Sun(6)" : "Sun"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_5)) { - INTERESTING(lDebug ? "Sun(7)" : "Freeware"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_6)) { - INTERESTING(lDebug ? "Sun(8)" : "BSD-style"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_NC)) { - INTERESTING("Sun.Non-commercial"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUNrestrict)) { - INTERESTING("Sun.RESTRICTED"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_BCLA_1) && INFILE(_TITLE_SUN_BCLA)) { - INTERESTING(lDebug ? "BCLA(1)" : "Sun-BCLA"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_BCLA_2)) { - INTERESTING(lDebug ? "BCLA(2)" : "Sun-BCLA"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_BCLAref)) { - INTERESTING(lDebug ? "BCLA(ref)" : "Sun-BCLA"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_ENTITLE)) { - INTERESTING(lDebug ? "Sun(entitlement)" : "Sun"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_ANYagreement)) { - INTERESTING("Sun-EULA"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_JAVA)) { - INTERESTING("Sun-Java"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_IP)) { - INTERESTING("Sun-IP"); - lmem[_mSUN] = 1; - lmem[_fIP] = 1; - } - else if (INFILE(_LT_SUN_SCA)) { - INTERESTING("Sun-SCA"); - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_SCSLref)) { - if (INFILE(_TITLE_SCSL_V23)) { - INTERESTING("SCSL-2.3"); - } - else if (INFILE(_TITLE_SCSL_V30)) { - INTERESTING("SCSL-3.0"); - } - else { - INTERESTING("SCSL"); - } - lmem[_mSUN] = 1; - } - else if (INFILE(_TITLE_SUN_SCSL_TSA) && - INFILE(_LT_SUN_SCSL_TSA)) { - if (INFILE(_TITLE_TSA_10)) { - INTERESTING("SCSL-TSA-1.0"); - } - else { - INTERESTING("SCSL-TSA"); - } - lmem[_mSUN] = 1; - } - else if (INFILE(_LT_SUN_SISSLref1) - || INFILE(_LT_SUN_SISSLref2)) { - cp = SISSLVERS(); - INTERESTING(lDebug ? "SISSL(ref#1)" : cp); - lmem[_mSUN] = 1; - } - } - else if (!lmem[_fREAL] && INFILE(_LT_SUN_PLref)) { - INTERESTING(lDebug ? "Sun-PL(ref)" : "SPL"); - lmem[_mSUN] = 1; - } - else if (!lmem[_mSUN] && URL_INFILE(_URL_SUN_BINARY_V150)) { - INTERESTING("Sun-BCLA-1.5.0"); - lmem[_mSUN] = 1; - } - else if (!lmem[_mSUN] && URL_INFILE(_URL_SUN_BINARY)) { - INTERESTING(lDebug ? "BCLA(url)" : "Sun-BCLA"); - lmem[_mSUN] = 1; - } - else if (!lmem[_mSUN] && INFILE(_LT_SUN_GRAPHICS)) { - INTERESTING(lDebug ? "Sun(8)" : "Sun"); - lmem[_mSUN] = 1; - } - else if (!lmem[_mSUN] && INFILE(_LT_SUN_GRAPHICS)) { - INTERESTING(lDebug ? "Sun(9)" : "Sun"); - lmem[_mSUN] = 1; - } - else if ((!lmem[_mSUN] && INFILE(_LT_SUN_SISSLref1)) || - INFILE(_LT_SUN_SISSLref2)) { - cp = SISSLVERS(); - INTERESTING(lDebug ? "SISSL(ref#2)" : cp); - lmem[_mSUN] = 1; - } - else if (!lmem[_mSUN] && URL_INFILE(_URL_SISSL)) { - cp = SISSLVERS(); - INTERESTING(lDebug ? "SISSL(url)" : cp); - lmem[_mSUN] = 1; - } - cleanLicenceBuffer(); - if (INFILE(_LT_SUN_PRO)) { - INTERESTING(lDebug ? "SunPro" : "Freeware"); - } - cleanLicenceBuffer(); - /* - * IBM - */ - if (INFILE(_TEXT_IBM)) { - if (INFILE(_LT_IBM_RECIP)) { - INTERESTING("IBM-reciprocal"); - } - else if (INFILE(_LT_IBM_4)) { - INTERESTING(lDebug ? "IBM(4)" : "IBM-dhcp"); - } - else if (INFILE(_LT_IBM_1)) { - INTERESTING(lDebug ? "IBM(1)" : "MIT-style"); - } - else if (INFILE(_LT_IBM_3)) { - INTERESTING(lDebug ? "IBM(3)" : "MIT-style"); - } - else if (INFILE(_LT_IBM_2)) { - INTERESTING(lDebug ? "IBM(2)" : "IBM"); - } - else if (INFILE(_LT_IBM_OWNER)) { - INTERESTING(lDebug ? "IBM(4)" : "IBM"); - } - else if (INFILE(_LT_IBM_JIKES)) { - INTERESTING("IBM-JCL"); - } - else if (INFILE(_LT_IBM_COURIER)) { - INTERESTING("IBM-Courier"); - } - else if (INFILE(_LT_IBM_EULA)) { - INTERESTING(lDebug ? "IBM-EULA(1)" : "IBM-EULA"); - } - else if (INFILE(_PHR_IBM_EULA)) { - INTERESTING(lDebug ? "IBM-EULA(2)" : "IBM-EULA"); - } - else if (INFILE(_LT_IBM_PIBS)) { - INTERESTING("IBM-pibs"); - } - else if (INFILE(_LT_IBM_AS_IS)) { - INTERESTING("IBM-as-is"); - } - } - cleanLicenceBuffer(); - /* - * Motorola - */ - if (INFILE(_CR_MOT_1) || INFILE(_CR_MOT_2)) { - if (INFILE(_LT_MOT_1)) { - INTERESTING(lDebug ? "Motorola(1)" : "Motorola"); - } - else if (INFILE(_LT_MOT_2)) { - INTERESTING(lDebug ? "Motorola(2)" : "Motorola"); - } - } - if (HASTEXT(_TITLE_MOTOROLA_MOBILE, 0)) { - INTERESTING("Motorola-Mobile-SLA"); - } - cleanLicenceBuffer(); - /* - * Java - */ - if (INFILE(_LT_JAVA_WSDL4J)) { - INTERESTING("Java-WSDL4J"); - } - else if (INFILE(_LT_JAVA_WSDL_SCHEMA)) { - INTERESTING("Java-WSDL-Schema"); - } - else if (INFILE(_LT_JAVA_WSDL_POLICY)) { - INTERESTING("Java-WSDL-Policy"); - } - else if (INFILE(_LT_JAVA_WSDL_ENUM)) { - INTERESTING("Java-WSDL-Spec"); - } - else if (INFILE(_LT_MULTICORP_1)) { - INTERESTING(lDebug ? "Java-Multi(1)" : "Java-Multi-Corp"); - } - else if (INFILE(_LT_MULTICORP_2)) { - INTERESTING(lDebug ? "Java-Multi(2)" : "Java-Multi-Corp"); - } - cleanLicenceBuffer(); - /* - * Mibble - */ - if (INFILE(_LT_MIBBLE)) { - if (INFILE(_TITLE_MIBBLE_28)) { - INTERESTING("Mibble-2.8"); - } - else { - INTERESTING("Mibble"); - } - } - cleanLicenceBuffer(); - /* - * Comtrol Corp - */ - if (INFILE(_CR_COMTROL) && INFILE(_LT_COMTROL)) { - INTERESTING("Comtrol"); - } - cleanLicenceBuffer(); - /* - * TrollTech - */ - if (INFILE(_LT_TROLLTECH) && INFILE(_CR_TROLLTECH)) { - INTERESTING("Trolltech"); - } - else if (INFILE(_LT_QT_COMMref)) { - INTERESTING("Qt.Commercial"); - } - else if (INFILE(_LT_QT_PROPRIETARY) || INFILE(_TITLE_QT_PROPRIETARY)) { - INTERESTING("Qt.Commercial"); - } - cleanLicenceBuffer(); - /* - * SNIA (Storage Network Industry) public license - */ - if (!lmem[_mMPL] && !lmem[_mSUN] && INFILE(_LT_SNIA_PL)) { - if (INFILE(_TITLE_SNIA_V11)) { - INTERESTING("SNIA-1.1"); - } - else if (INFILE(_TITLE_SNIA_V10)) { - INTERESTING("SNIA-1.0"); - } - else { - INTERESTING("SNIA"); - } - } - else if (INFILE(_LT_SNIAref)) { - if (INFILE(_TITLE_SNIA_V11)) { - INTERESTING(lDebug ? "SNIA-1.1(ref)" : "SNIA-1.1"); - } - else if (INFILE(_TITLE_SNIA_V10)) { - INTERESTING(lDebug ? "SNIA-1.0(ref)" : "SNIA-1.0"); - } - else { - INTERESTING(lDebug ? "SNIA(ref)" : "SNIA"); - } - } - else if (URL_INFILE(_URL_SNIA_V11)) { - INTERESTING(lDebug ? "SNIA-1.1(url)" : "SNIA-1.1"); - } - else if (URL_INFILE(_URL_SNIA)) { - INTERESTING(lDebug ? "SNIA(url)" : "SNIA"); - } - cleanLicenceBuffer(); - /* - * BEA - */ - if (HASTEXT(_TEXT_BEASYS, 0)) { - if (INFILE(_LT_BEA_1)) { - INTERESTING(lDebug ? "BEA(1)" : "BEA"); - } - else if (INFILE(_LT_BEA_2)) { - INTERESTING(lDebug ? "BEA(2)" : "BEA"); - } - } - cleanLicenceBuffer(); - /* - * ADOBE/FRAME - */ - if (HASTEXT(_TEXT_ADOBE_FRAME, REG_EXTENDED)) { - if (INFILE(_LT_ADOBE_1)) { - INTERESTING(lDebug ? "Adobe(1)" : "Adobe"); - } - else if (!lmem[_mMIT] && INFILE(_LT_ADOBE_2)) { - INTERESTING(lDebug ? "Adobe(2)" : "Adobe"); - } - else if (INFILE(_LT_ADOBE_3)) { - INTERESTING(lDebug ? "Adobe(3)" : "Adobe"); - } - else if (INFILE(_LT_ADOBE_4)) { - INTERESTING(lDebug ? "Adobe(4)" : "Adobe-EULA"); - } - else if (INFILE(_LT_ADOBE_5)) { - INTERESTING(lDebug ? "Adobe(5)" : "Adobe-EULA"); - } - else if (INFILE(_LT_ADOBE_6)) { - INTERESTING(lDebug ? "Adobe(6)" : "Adobe-EULA"); - } - else if (INFILE(_LT_ADOBE_7)) { - INTERESTING(lDebug ? "Adobe(7)" : "Adobe-EULA"); - } - else if (INFILE(_LT_FRAME)) { - INTERESTING(lDebug ? "Adobe(Frame)" : "Adobe"); - } - else if (INFILE(_LT_ADOBE_SRC) || INFILE(_TITLE_ADOBE_SRC)) { - INTERESTING(lDebug ? "Adobe(src)" : "Adobe-2006"); - } - else if (INFILE(_LT_ADOBE_DATA)) { - INTERESTING(lDebug ? "Adobe(data)" : "Adobe"); - } - else if (INFILE(_LT_ADOBE_EULA)) { - INTERESTING("Adobe-EULA"); - } - else if (INFILE(_LT_ADOBE_AFM)) { - INTERESTING("APAFML"); - } - else if (HASTEXT(_TITLE_ADOBE_DNG, 0)) { - INTERESTING("Adobe-DNG"); - } - else if (INFILE(_LT_ADOBE_AFMPARSE_1) && INFILE(_LT_ADOBE_AFMPARSE_2)) { - INTERESTING("Afmparse"); - } - else if (INFILE(_LT_ADOBE_OTHER)) { - INTERESTING(lDebug ? "Adobe(other)" : "Adobe"); - } - else if (INFILE(_LT_ADOBE_SUB)) { - INTERESTING(lDebug ? "Adobe(sub)" : "Adobe"); - } - } - cleanLicenceBuffer(); - /* - * Docbook and Open Source Metadata Framework - */ - if (INFILE(_LT_DOCBOOK)) { - if (HASTEXT(_TEXT_DOCBOOK, 0)) { - INTERESTING("DOCBOOK"); - } - else if (HASTEXT(_TEXT_METADATA, 0)) { - INTERESTING("OMF"); - } - else { - INTERESTING("DOCBOOK-style"); - } - } - cleanLicenceBuffer(); - /* - * MP3 decoder - */ - if (INFILE(_LT_MPEG3)) { - INTERESTING("MPEG3-decoder"); - } - cleanLicenceBuffer(); - /* - * Google - */ - if (INFILE(_LT_GOOGLE_1)) { - INTERESTING(lDebug ? "Google(1)" : "Google"); - } - else if (INFILE(_LT_GOOGLE_2)) { - INTERESTING(lDebug ? "Google(2)" : "Google"); - } - cleanLicenceBuffer(); - /* - * Mandriva - */ - if (INFILE(_LT_MANDRIVA)) { - INTERESTING("Mandriva"); - } - cleanLicenceBuffer(); - /* - * Irondoc - */ - if (INFILE(_LT_IRONDOC)) { - INTERESTING("IronDoc"); - } - cleanLicenceBuffer(); - /* - * Quarterdeck Office Systems - */ - if (INFILE(_LT_QUARTERDECK) && INFILE(_CR_QUARTERDECK)) { - INTERESTING("QuarterDeck"); - } - cleanLicenceBuffer(); - /* - * Electronic Book Technologies - */ - if (INFILE(_LT_EBT)) { - if(INFILE(_CR_EBT)) { - INTERESTING("EBT"); - } else { - INTERESTING("EBT-style"); - } - } - cleanLicenceBuffer(); - /* - * SGML - */ - if (HASTEXT(_TEXT_SGMLUG, 0) && INFILE(_LT_SGML)) { - INTERESTING("SGML"); - } - cleanLicenceBuffer(); - /* - * LaTeX (KOMA-Script) - */ - if (HASTEXT(_TEXT_LATEX, REG_EXTENDED)) { - if (INFILE(_LT_LATEXPL_1) || INFILE(_LT_LATEXPL_2) || - INFILE(_LT_LATEXPL_3)) { - cp = LPPLVERS(); - INTERESTING(lDebug ? "LPPL(1)" : cp); - } - else if (INFILE(_LT_LATEX)) { - cp = LPPLVERS(); - INTERESTING(lDebug ? "LPPL(2)" : cp); - } - else if (INFILE(_LT_LATEXPLref1) || INFILE(_LT_LATEXPLref2) || - INFILE(_LT_LATEXPLref3)) { - cp = LPPLVERS(); - INTERESTING(lDebug ? "LPPL(3)" : cp); - } - else if (INFILE(_LT_LATEXref1)) { - cp = LPPLVERS(); - INTERESTING(lDebug ? "LPPL(4)" : cp); - } - else if (INFILE(_LT_LATEXref2)) { - cp = LPPLVERS(); - INTERESTING(lDebug ? "LPPL(5)" : cp); - } - else if (INFILE(_LT_LATEXref3)) { - cp = LPPLVERS(); - INTERESTING(lDebug ? "LPPL(6)" : cp); - } - else if (INFILE(_LT_LATEXref4)) { - cp = LPPLVERS(); - INTERESTING(lDebug ? "LPPL(7)" : cp); - } - else if (INFILE(_LT_LATEXref5)) { - cp = LPPLVERS(); - INTERESTING(lDebug ? "LPPL(8)" : cp); - } - else if (URL_INFILE(_URL_LATEX)) { - cp = LPPLVERS(); - INTERESTING(lDebug ? "LPPL(url)" : cp); - } - } - cleanLicenceBuffer(); - /* - * QPL - */ - if (INFILE(_LT_QPL) || INFILE(_LT_QPLref)) { - if (INFILE(_TITLE_QPL10_1) || INFILE(_TITLE_QPL10_2)) { - INTERESTING("QPL-1.0"); - lmem[_mQPL] = 1; - } - else if (INFILE(_TITLE_QPL)) { - INTERESTING("QPL"); - lmem[_mQPL] = 1; - } - } - cleanLicenceBuffer(); - /* - * FREE Public License (not really open/free) and GHOSTSCRIPT - */ - if (HASTEXT(_TEXT_GHOSTSCRIPT, 0)) { - if (INFILE(_LT_GS)) { - if (INFILE(_TITLE_GS11)) { - INTERESTING("Ghostscript-GPL-1.1"); - } - else { - INTERESTING(lDebug ? "GS-GPL(1)" : "Ghostscript-GPL"); - } - } - else if (INFILE(_CR_ALADDIN) || INFILE(_CR_ARTOFCODE)) { - if (INFILE(_LT_GS_GNU1) || INFILE(_LT_GS_GNU2)) { - INTERESTING("GNU-Ghostscript"); - } - else if (INFILE(_LT_GNU_1) && INFILE(_LT_GNU_2)) { - INTERESTING(lDebug ? "GS-GPL(2)" : "Ghostscript-GPL"); - } - else if (INFILE(_LT_FREEPL) || INFILE(_LT_FREEPLref)) { - INTERESTING(lDebug ? "Aladdin(Closed-Source!)" : "Aladdin"); - if (INFILE(_PHR_NOT_OPEN)) { - INTERESTING(lDebug ? "Aladdin(Closed-Source!)" : "Aladdin"); - lmem[_mALADDIN] = 1; - } - else { - INTERESTING(lDebug ? "Aladdin-Ghostscript" : "Aladdin"); - } - } - else if (INFILE(_LT_ALADDIN_RESTRICT)) { - INTERESTING(lDebug ? "Aladdin(RESTRICTED)": "Aladdin"); - } - } - else if (INFILE(_LT_AFPL)) { - INTERESTING("AFPL-Ghostscript"); - } - } - else if (INFILE(_LT_FREEPLref_1)) { - INTERESTING("Aladdin"); - } - else if (INFILE(_LT_FREEPL) || INFILE(_LT_FREEPLref)) { - INTERESTING("Free-PL"); - } - /* - * IPTC (International Press Telecommunications Council) - */ - else if (INFILE(_TITLE_IPTC) || INFILE(_LT_IPTC_2)) { - INTERESTING("IPTC"); - } - else if (INFILE(_LT_IPTC_1) && mCR_IPTC()) { - INTERESTING("IPTC"); - } - /* - * Macromedia - */ - else if (INFILE(_TITLE_MACROMEDIA_EULA)) { - INTERESTING("MacroMedia-RPSL"); - } - /* - * Ontopia - */ - else if (INFILE(_LT_ONTOPIA) && INFILE(_TITLE_ONTOPIA)) { - INTERESTING("Ontopia"); - } - cleanLicenceBuffer(); - /* - * Ascender - */ - if (INFILE(_LT_ASCENDER_EULA) && INFILE(_TITLE_ASCENDER_EULA)) { - INTERESTING("Ascender-EULA"); - } - cleanLicenceBuffer(); - /* - * ADAPTEC - */ - if (INFILE(_LT_ADAPTEC_OBJ)) { - INTERESTING("Adaptec.RESTRICTED"); - } - else if (INFILE(_CR_ADAPTEC) && INFILE(_LT_ADAPTEC_GPL)) { - INTERESTING("Adaptec-GPL"); - } - cleanLicenceBuffer(); - /* - * Artistic and Perl - */ - if (INFILE(_LT_PERL_1)) { - INTERESTING(lDebug ? "Artistic(Perl#1)" : "Artistic-1.0-Perl"); - if (!lmem[_mGPL]) { - INTERESTING("Dual-license"); - INTERESTING(lDebug ? "GPL(Perl#1)" : "GPL-1.0+"); - } - } - else if (INFILE(_LT_PERL_2)) { - INTERESTING(lDebug ? "Artistic(Perl#2)" : "Artistic-1.0-Perl"); - if (!lmem[_mGPL]) { - INTERESTING("Dual-license"); - INTERESTING(lDebug ? "GPL(Perl#2)" : "GPL-1.0+"); - } - } - else if (INFILE(_LT_PERL_3)) { - if (INFILE(_LT_Spencer_86_94_CLAUSE_1) && - HASTEXT(_LT_PNG_ZLIB_CLAUSE_1, 0) && - HASTEXT(_LT_PNG_ZLIB_CLAUSE_2, REG_EXTENDED)) { - INTERESTING("Spencer-86"); - } - else if (!lmem[_fOPENLDAP] && !TRYGROUP(famOPENLDAP)) { - INTERESTING(lDebug ? "Artistic(Perl#3)" : "Artistic-1.0"); - } - } - /* - * Licensed "same as perl itself" will actually be Artistic AND GPL, per - * Larry Wall and the documented licensing terms of "perl" - */ - else if (INFILE(_LT_PERLref1)) { - INTERESTING(lDebug ? "Artistic(Perl-ref1)" : "Artistic-1.0-Perl"); - if (!lmem[_mGPL]) { - INTERESTING("Dual-license"); - INTERESTING(lDebug ? "GPL(Perl-ref1)" : "GPL-1.0+"); - } - } - else if (PERL_INFILE(_LT_PERLref2)) { - INTERESTING(lDebug ? "Artistic(Perl-ref2)" : "Artistic-1.0-Perl"); - if (!lmem[_mGPL]) { - INTERESTING("Dual-license"); - INTERESTING(lDebug ? "GPL(Perl-ref2)" : "GPL-1.0+"); - } - } - else if (INFILE(_LT_PERLref3)) { - INTERESTING(lDebug ? "Artistic(Perl-ref3)" : "Artistic-1.0-Perl"); - if (!lmem[_mGPL]) { - INTERESTING("Dual-license"); - INTERESTING(lDebug ? "GPL(Perl-ref3)" : "GPL-1.0+"); - } - } - else if (INFILE(_LT_PERLref4)) { - INTERESTING(lDebug ? "Artistic(Perl-ref4)" : "Artistic-1.0-Perl"); - if (!lmem[_mGPL]) { - INTERESTING("Dual-license"); - INTERESTING(lDebug ? "GPL(Perl-ref4)" : "GPL-1.0+"); - } - } - else if (INFILE(_LT_PERLref5)) { - INTERESTING(lDebug ? "Artistic(Perl-ref5)" : "Artistic-1.0-Perl"); - if (!lmem[_mGPL]) { - INTERESTING("Dual-license"); - INTERESTING(lDebug ? "GPL(Perl-ref5)" : "GPL-1.0+"); - } - } - else if (INFILE(_TITLE_CLARTISTIC)) { - INTERESTING("ClArtistic"); - lmem[_fCLA] = 1; - } - else if (!lmem[_fREAL] && !LVAL(_TEXT_GNU_LIC_INFO) && - (INFILE(_LT_ART_1) || INFILE(_LT_ARTref1) || - INFILE(_LT_ARTref2) || INFILE(_LT_ARTref3) || - INFILE(_LT_ARTref4) || PERL_INFILE(_LT_ARTref5) || - PERL_INFILE(_LT_ARTref6))) { - if (INFILE(_TITLE_OGTSL)) { - INTERESTING("OGTSL"); - } - else if (!lmem[_mLIBRE] && !lmem[_fOPENLDAP] && - !TRYGROUP(famOPENLDAP)) { - if (INFILE(_LT_ART_V2) || INFILE(_TITLE_ART20)) { - INTERESTING(lDebug ? "Artistic(v2.0#1)" : "Artistic-2.0"); - } - else if (INFILE(_PHR_Artistic_20)) { - INTERESTING("Artistic-2.0"); - } - else if (INFILE(_TITLE_NBPL_V10)) { - INTERESTING("NBPL-1.0"); - lmem[_fARTISTIC] = 1; - } - else if(HASTEXT(_PHR_ARTISTIC_PERL, 0)) { - INTERESTING("Artistic-1.0-Perl"); - lmem[_fARTISTIC] = 1; - } - else if (HASTEXT(_PHR_ARTISTIC_CLAUSE8, 0)) - { - INTERESTING("Artistic-1.0-cl8"); - lmem[_fARTISTIC] = 1; - } - else { - INTERESTING(lDebug ? "Artistic(v1.0#other)" : "Artistic-1.0"); - lmem[_fARTISTIC] = 1; - } - } - } - else if (INFILE(_LT_ART_2) && INFILE(_TITLE_ART20)) { - INTERESTING(lDebug ? "Artistic(v2.0#2)" : "Artistic-2.0"); - } - else if (INFILE(_FILE_ART1) || INFILE(_FILE_ART2)) { - INTERESTING(lDebug ? "Artistic(deb)" : "Artistic-1.0"); - } - else if (URL_INFILE(_URL_ART)) { - INTERESTING(lDebug ? "Artistic(url)" : "Artistic-1.0"); - } - cleanLicenceBuffer(); - /* - * LDP, Manpages, OASIS, GPDL, Linux-HOWTO and Linux-doc - */ - if (INFILE(_TITLE_LDPL20)) { - INTERESTING("LDPL-2.0"); - } - else if (INFILE(_TITLE_LDPL1A)) { - INTERESTING("LDPL-1A"); - } - else if (INFILE(_LT_LDPL)) { - INTERESTING(lDebug ? "LDPL(1)" : "LDPL"); - } - else if (INFILE(_LT_LDPLref1)) { - INTERESTING(lDebug ? "LDPL(ref1)" : "LDPL"); - } - else if (INFILE(_LT_LDPLref2)) { - INTERESTING(lDebug ? "LDPL(ref2)" : "LDPL"); - } - else if (INFILE(_LT_LDPLref3)) { - INTERESTING(lDebug ? "LDPL(ref3)" : "LDPL"); - } - /* - * GNU-Manpages, Software in the Public Interest (Debian), aka SPI - */ - else if (INFILE(_LT_SPI)) { - if (INFILE(_LT_MANPAGE)) { - INTERESTING("GNU-Manpages"); - } - else if (!lmem[_fGPL]) { - if (INFILE(_CR_SPI)) { - INTERESTING("Debian-SPI"); - } - else { - INTERESTING("Debian-SPI-style"); - } - } - } - else if (INFILE(_LT_GPDLref)) { - INTERESTING(lDebug ? "GPDL(1)" : "GPDL"); - } - else if (INFILE(_TITLE_GPDL)) { - INTERESTING(lDebug ? "GPDL(2)" : "GPDL"); - } - else if (INFILE(_LT_FREEBSD_DOC) && INFILE(_TITLE_FREEBSD_DOC)) { - INTERESTING("FreeBSD-Doc"); - } - else if (INFILE(_LT_LINUX_HOWTO)) { - INTERESTING("Linux-HOWTO"); - } - else if (INFILE(_LT_LINUXDOC)) { - INTERESTING("LinuxDoc"); - } - else if (INFILE(_LT_IEEE_DOC)) { - INTERESTING("IEEE-Doc"); - } - cleanLicenceBuffer(); - /* - * U-Washington - */ - if (INFILE(_LT_UW1)) { - if (INFILE(_CR_UWASHINGTON)) { - INTERESTING("U-Wash.Free-Fork"); - } - else { - INTERESTING(lDebug ? "U-Wash-style(1)" : "U-Wash-style"); - } - } - else if (INFILE(_LT_UW2)) { - if (INFILE(_CR_UWASHINGTON)) { - INTERESTING(lDebug ? "U-Wash(2)" : "U-Washington"); - } - else { - INTERESTING(lDebug ? "U-Wash-style(2)" : "U-Wash-style"); - } - } - else if (INFILE(_LT_UW3)) { - if (INFILE(_CR_UWASHINGTON)) { - INTERESTING(lDebug ? "U-Wash(3)" : "U-Washington"); - } - else { - INTERESTING(lDebug ? "U-Wash-style(3)" : "U-Wash-style"); - } - } - else if (INFILE(_LT_UW4)) { - if (INFILE(_CR_UWASHINGTON)) { - INTERESTING(lDebug ? "U-Wash(4)" : "U-Washington"); - } - else { - INTERESTING(lDebug ? "U-Wash-style(4)" : "U-Wash-style"); - } - } - cleanLicenceBuffer(); - /* - * WU-ftpd (not the school north of Oregon! - */ - if (INFILE(_LT_WU_FTPD)) { - if (INFILE(_TITLE_WU_FTPD) || INFILE(_CR_WASHU)) { - INTERESTING(lDebug ? "Wash-U(1)" : "Wash-U-StLouis"); - } - else { - INTERESTING("Wash-U-style"); - } - } - else if (INFILE(_LT_WU_FTPDref)) { - INTERESTING(lDebug ? "Wash-U(ref)" : "Wash-U-StLouis"); - } - /* - * Delaware - */ - else if (INFILE(_LT_DELAWARE)) { - if (INFILE(_CR_DELAWARE)) { - INTERESTING("U-Del"); - } - else { - INTERESTING("U-Del-style"); - } - } - /* - * Princeton - */ - else if (INFILE(_LT_PRINCETON) && NOT_INFILE(_TITLE_WORDNET)) { - if (INFILE(_CR_PRINCETON)) { - INTERESTING("Princeton"); - } - else { - INTERESTING("Princeton-style"); - } - } - /* - * University of Michigan - */ - else if (INFILE(_LT_UMICHIGAN_1)) { - if (INFILE(_CR_MICHIGAN)) { - INTERESTING(lDebug ? "U-Mich(1)" : "U-Michigan"); - } - else { - INTERESTING(lDebug ? "U-Mich-style(1)" : "U-Mich-style"); - } - } - else if (INFILE(_LT_UMICHIGAN_2)) { - if (INFILE(_CR_MICHIGAN)) { - INTERESTING(lDebug ? "U-Mich(2)" : "U-Michigan"); - } - else { - INTERESTING(lDebug ? "U-Mich-style(2)" : "U-Mich-style"); - } - } - /* - * Southern Cal - */ - else if (INFILE(_LT_USC_NC)) { - if (INFILE(_CR_USC)) { - INTERESTING("USC.Non-commercial"); - } - else { - INTERESTING(lDebug ? "NonC(5)" : "Non-commercial"); - } - } - else if (INFILE(_LT_USC)) { - if (INFILE(_CR_USC)) { - INTERESTING("USC"); - } - else { - INTERESTING("USC-style"); - } - } - /* - * Unversity Corporation for Atmospheric Research (UCAR) - */ - else if (INFILE(_LT_UCAR_1) && INFILE(_LT_UCAR_2)) { - INTERESTING("UCAR"); - } - else if (INFILE(_LT_UCAR_3) && INFILE(_CR_UCAR)) { - if (INFILE(_CR_UCAR)) { - INTERESTING("UCAR"); - } - else { - INTERESTING("UCAR-style"); - } - } - /* - * Stanford - */ - else if (INFILE(_LT_STANFORD)) { - if (INFILE(_CR_STANFORD)) { - INTERESTING("Stanford"); - } - else { - INTERESTING("Stanford-style"); - } - } - /* - * U-Cambridge - */ - else if (INFILE(_LT_CAMBRIDGE)) { - if (HASTEXT(_LT_MSNTP, 0)) { - INTERESTING("MSNTP"); - } - else if (INFILE(_CR_CAMBRIDGE_1) || INFILE(_CR_CAMBRIDGE_2)) { - INTERESTING("U-Cambridge"); - } - else { - INTERESTING("U-Cambridge-style"); - } - } - /* - * Columbia University - */ - else if (INFILE(_CR_COLUMBIA) && INFILE(_LT_COLUMBIA)) { - INTERESTING("U-Columbia"); - } - /* - * University of Notre Dame (Different from Boost!) - */ - if (INFILE(_LT_ND_1)) { - if (INFILE(_CR_NOTREDAME)) { - INTERESTING(lDebug ? "ND(1)" : "NotreDame"); - } - else { - INTERESTING(lDebug ? "ND-style(1)" : "NotreDame-style"); - } - } - else if (INFILE(_LT_ND_2)) { - if (INFILE(_CR_NOTREDAME)) { - INTERESTING(lDebug ? "ND(2)" : "NotreDame"); - } - else { - INTERESTING(lDebug ? "ND-style(2)" : "NotreDame-style"); - } - } - else if (INFILE(_LT_ND_3)) { - if (INFILE(_CR_NOTREDAME)) { - INTERESTING(lDebug ? "ND(3)" : "NotreDame"); - } - else { - INTERESTING(lDebug ? "ND-style(3)" : "NotreDame-style"); - } - } - cleanLicenceBuffer(); - /* - * Boost references - */ - if (!lmem[_mMIT] && INFILE(_LT_BOOST_2)) { - if (INFILE(_CR_BOOST)) { - INTERESTING(lDebug ? "Boost(2)" : "BSL-1.0"); - } - else { - INTERESTING(lDebug ? "Boost-style(2)" : "BSL-style"); - } - } - else if (INFILE(_LT_BOOSTref1)) { - if (INFILE(_TITLE_BOOST10) || INFILE(_PHR_BOOST_V10) || - URL_INFILE(_URL_BOOST_10)) { - INTERESTING(lDebug ? "Boost1.0(ref)" : "BSL-1.0"); - } - else { - INTERESTING(lDebug ? "Boost(ref)" : "BSL-1.0"); - } - } - else if (INFILE(_LT_BOOST_GRAPH)) { - INTERESTING(lDebug ? "Boost(graph)" : "BSL-1.0"); - } - else if (INFILE(_LT_BOOST_LAMBDA)) { - INTERESTING(lDebug ? "Boost(lambda)" : "BSL-1.0"); - } - else if (URL_INFILE(_URL_BOOST_10)) { - INTERESTING(lDebug ? "Boost-1.0(ref)" : "BSL-1.0"); - } - /* - * Sleepycat NON-Commerical - */ - else if (INFILE(_LT_SLEEPYCAT_NC)) { - INTERESTING("Sleepycat.Non-commercial"); - } - cleanLicenceBuffer(); - /* - * Vim license - */ - if ((INFILE(_LT_Vim_1) || INFILE(_LT_Vim_2)) && INFILE(_TITLE_Vim)) { - INTERESTING("Vim"); - } - else if (INFILE(_PHR_Vim)) { - INTERESTING("Vim"); - } - cleanLicenceBuffer(); - /* - * Vixie license - */ - if (INFILE(_LT_VIXIE)) { - INTERESTING("Vixie-license"); - } - cleanLicenceBuffer(); - /* - * Yahoo! - */ - if (INFILE(_LT_YAHOO_1)) { - if (INFILE(_LT_YAHOO_BINARY)) { - INTERESTING("Yahoo-EULA"); - } - else { - INTERESTING("YPL"); - } - } - if(INFILE(_TITLE_YPL_V10)) { - INTERESTING("YPL-1.0"); - } - else if(INFILE(_TITLE_YPL_V11)) { - INTERESTING("YPL-1.1"); - } - cleanLicenceBuffer(); - /* - * Public Use - */ - if (INFILE(_LT_PUBLIC_USE)) { - if (INFILE(_TITLE_PUBUSE_V10)) { - INTERESTING("Public-Use-1.0"); - } - else { - INTERESTING("Public-Use"); - } - } - cleanLicenceBuffer(); - /* - * Apple - */ - if (INFILE(_TEXT_APPLE)) { - if (INFILE(_LT_MIT_12)) { - INTERESTING(lDebug ? "Apple MIT License" : "AML"); - } - else if (INFILE(_LT_APPLE_1)) { - INTERESTING(lDebug ? "Apple(1)" : "Apple"); - } - else if (INFILE(_LT_APPLE_2)) { - INTERESTING(lDebug ? "Apple(2)" : "Apple"); - } - else if (INFILE(_LT_APPLE_3)) { /* squeak license */ - INTERESTING(lDebug ? "Apple(3)" : "Apple"); - } - else if (INFILE(_LT_APPLE_4)) { /* squeak license */ - INTERESTING(lDebug ? "Apple(4)" : "Apple-EULA"); - } - else if (INFILE(_LT_APPLE_FONTFORGE)) { - INTERESTING("Apple.FontForge"); - } - else if (INFILE(_LT_APPLE_SAMPLE)) { - INTERESTING("Apple.Sample"); - } - else if (INFILE(_LT_APSLref1) || INFILE(_LT_APSLref2) || - INFILE(_TITLE_APSL)) { - if (INFILE(_TITLE_APSL20)) { - INTERESTING("APSL-2.0"); - } - else if (INFILE(_TITLE_Ferris)) { - INTERESTING(lDebug ? "Ferris-1.2" : "APSL-style"); - } - else if (INFILE(_TITLE_APSL_style)) { - INTERESTING("APSL-style"); - } - else if (INFILE(_TITLE_APSL12)) { - INTERESTING("APSL-1.2"); - } - else if (INFILE(_TITLE_APSL11)) { - INTERESTING("APSL-1.1"); - } - else if (INFILE(_TITLE_APSL10)) { - INTERESTING("APSL-1.0"); - } - else { - INTERESTING("APSL"); - } - } - else if (INFILE(_LT_ACDL)) { - INTERESTING("ACDL"); - } - else if (INFILE(_TITLE_APPLE_SLA)) { - INTERESTING(lDebug ? "Apple(SLA)" : "Apple-EULA"); - } - else if (URL_INFILE(_URL_APSL)) { - INTERESTING(lDebug ? "APSL(url)" : "APSL"); - } - else if (URL_INFILE(_URL_ACDL)) { - INTERESTING(lDebug ? "ACDL(url)" : "ACDL"); - } - } - cleanLicenceBuffer(); - /* - * Redland - */ - if (INFILE(_LT_REDLAND)) { - INTERESTING("Redland"); - } - cleanLicenceBuffer(); - /* - * Red Hat and Fedora - */ - if (INFILE(_LT_RH_PKGS)) { - if (INFILE(_LT_RH_NONCOMMERCIAL)) { - INTERESTING(lDebug ? "RH(NC)" : "RedHat.Non-commercial"); - lmem[_mREDHAT] = 1; - } - else if (INFILE(_LT_RH_FEDORA)) { - INTERESTING(lDebug ? "Fedora(1)" : "Fedora"); - lmem[_mREDHAT] = 1; - } - } - else if (INFILE(_LT_RH_REDHAT)) { - INTERESTING(lDebug ? "RH(2)" : "RedHat"); - lmem[_mREDHAT] = 1; - } - else if (INFILE(_LT_RH_SPECIFIC)) { - INTERESTING(lDebug ? "RH(4)" : "RedHat-specific"); - lmem[_mREDHAT] = 1; - } - else if (INFILE(_LT_FEDORA)) { - INTERESTING(lDebug ? "Fedora(2)" : "Fedora"); - lmem[_mREDHAT] = 1; - } - else if (INFILE(_LT_FEDORA_CLA) || INFILE(_TITLE_FEDORA_CLA)) { - INTERESTING("FedoraCLA"); - lmem[_mREDHAT] = 1; - } - else if (INFILE(_CR_REDHAT)) { - if (INFILE(_LT_RH_1)) { - INTERESTING(lDebug ? "RH(1)" : "RedHat"); - lmem[_mREDHAT] = 1; - } - else if (INFILE(_LT_RH_EULA)) { - INTERESTING("RedHat-EULA"); - lmem[_mREDHAT] = 1; - } - } - cleanLicenceBuffer(); - /* - * SUSE/Novell/UnitedLinux - */ - if (INFILE(_CR_SUSE) && INFILE(_PHR_YAST_CR)) { - INTERESTING("YaST.SuSE"); - } - else if (INFILE(_TITLE_NOVELL_EULA)) { - INTERESTING("Novell-EULA"); - } - else if (INFILE(_TITLE_UL_EULA)) { - INTERESTING("UnitedLinux-EULA"); - } - else if (INFILE(_LT_NOVELL)) { - INTERESTING("Novell"); - lmem[_fIP] = 1; - } - else if (INFILE(_LT_NOVELL_IP_1)) { - INTERESTING(lDebug ? "Novell-IP(1)" : "Novell-IP"); - lmem[_fIP] = 1; - } - else if (INFILE(_LT_NOVELL_IP_2)) { - INTERESTING(lDebug ? "Novell-IP(2)" : "Novell-IP"); - lmem[_fIP] = 1; - } - cleanLicenceBuffer(); - /* - * Epson Public license - */ - if (INFILE(_LT_EPSON_PL) && INFILE(_TITLE_EPSON_PL)) { - INTERESTING("Epson-PL"); - } - else if (INFILE(_LT_EPSON_EULA) && INFILE(_TITLE_EPSON_EULA)) { - INTERESTING("Epson-EULA"); - } - cleanLicenceBuffer(); - /* - * Open Publication license - */ - if (INFILE(_LT_OPENPUBL_1) || INFILE(_LT_OPENPUBL_2)) { - if (INFILE(_TITLE_OPENPUBL04)) { - INTERESTING("Open-PL-0.4"); - } - else if (INFILE(_TITLE_OPENPUBL10) || URL_INFILE(_URL_OPEN_PL_V10)) { - INTERESTING("Open-PL-1.0"); - } - else if (INFILE(_TITLE_OPENPUBL)) { - INTERESTING("Open-PL"); - } - else { - INTERESTING("Open-PL-style"); - } - } - else if (INFILE(_LT_OPENPUBLref)) { - INTERESTING(lDebug ? "Open-PL(ref)" : "Open-PL"); - } - cleanLicenceBuffer(); - /* - * Free Art License - */ - if (INFILE(_LT_FREEART_V10)) { - INTERESTING("FAL-1.0"); - } - else if (INFILE(_LT_FREEART_V13)) { - INTERESTING("FAL-1.3"); - } - cleanLicenceBuffer(); - /* - * RSA Security, Inc. - */ - if (INFILE(_LT_RSA_4)) { - INTERESTING(lDebug ? "RSA(4)" : "RSA-MD"); - } - else if (INFILE(_LT_RSA_5)) { - INTERESTING(lDebug ? "RSA(5)" : "RSA-DNS"); - } - else if (INFILE (_LT_RSA_CRYPTOKI_1) && INFILE(_LT_RSA_CRYPTOKI_2)){ - INTERESTING("RSA-Cryptoki"); - } - else if (INFILE(_LT_RSA_3)) { - INTERESTING(lDebug ? "RSA(3)" : "RSA-Security"); - } - else if (INFILE(_CR_RSA)) { - if (INFILE(_LT_RSA_1)) { - INTERESTING(lDebug ? "RSA(1)" : "RSA-Security"); - } - else if (INFILE(_LT_RSA_2)) { - INTERESTING(lDebug ? "RSA(2)" : "RSA-Security"); - } - } - cleanLicenceBuffer(); - /* Some licenses only deal with fonts */ - if (HASTEXT(_TEXT_FONT, 0)) { - /* - * AGFA Monotype - */ - if (INFILE(_LT_AGFA)) { - INTERESTING("AGFA.RESTRICTED"); - } - else if (INFILE(_LT_AGFA_EULA)) { - INTERESTING("AGFA-EULA"); - } - /* - * Bigelow and Holmes - */ - if (INFILE(_LT_BH_FONT)) { - if (INFILE(_CR_BH)) { - INTERESTING("BH-Font"); - } - else { - INTERESTING("BH-Font-style"); - } - } - cleanLicenceBuffer(); - /* - * BIZNET - */ - if (INFILE(_LT_BIZNET)) { - if (INFILE(_CR_BIZNET)) { - INTERESTING("BIZNET"); - } - else { - INTERESTING("BIZNET-style"); - } - } - cleanLicenceBuffer(); - /* - * BITSTREAM - */ - if (INFILE(_LT_BITSTREAM_1)) { - INTERESTING(lDebug ? "Bitstream(2)" : "Bitstream"); - } - else if (INFILE(_LT_BITSTREAM_2)) { - INTERESTING(lDebug ? "Bitstream(3)" : "Bitstream"); - } - cleanLicenceBuffer(); - /* - * Larabie Fonts - */ - if (INFILE(_LT_LARABIE_EULA) && INFILE(_TITLE_LARABIE_EULA)) { - INTERESTING("Larabie-EULA"); - } - cleanLicenceBuffer(); - /* - * Baekmuk Fonts and Hwan Design - */ - if (INFILE(_LT_BAEKMUK_1)) { - INTERESTING("Baekmuk-Font"); - } - else if (INFILE(_LT_BAEKMUK_2)) { - INTERESTING("Baekmuk.Hwan"); - } - cleanLicenceBuffer(); - /* - * Information-Technology Promotion Agency (IPA) - */ - if (INFILE(_LT_IPA_EULA)) { - INTERESTING("IPA-Font-EULA"); - } - cleanLicenceBuffer(); - /* - * Arphic Public License - */ - if (INFILE(_LT_ARPHIC)) { - if (INFILE(_CR_ARPHIC)) { - INTERESTING("Arphic-Font-PL"); - } - else { - INTERESTING("Arphic-style"); - } - } - } - cleanLicenceBuffer(); - /* - * AT&T - */ - if (INFILE(_LT_ATT_1)) { - if (INFILE(_CR_ATT)) { - INTERESTING(lDebug ? "ATT(1)" : "ATT"); - } - else { - INTERESTING(lDebug ? "ATT-style(1)" : "ATT-style"); - } - } - else if (INFILE(_LT_ATT_2)) { - if (!lmem[_fBSD] && INFILE(_CR_BSDCAL)) { - INTERESTING(lDebug ? "BSD(14)" : "BSD"); - lmem[_fBSD] = 1; - } - else if (INFILE(_CR_ATT) || INFILE(_CR_LUCENT)) { - INTERESTING(lDebug ? "ATT(2)" : "ATT"); - } - else { - INTERESTING(lDebug ? "ATT-style(2)" : "ATT-style"); - } - } - else if (INFILE(_LT_ATT_SRC_1) || INFILE(_LT_ATT_SRC_2)) { - if (INFILE(_TITLE_ATT_SRC_12D)) { - INTERESTING("ATT-Source-1.2d"); - } - else if (INFILE(_TITLE_ATT_SRC_10)) { - INTERESTING("ATT-Source-1.0"); - } - else { - INTERESTING("ATT-Source"); - } - } - else if (INFILE(_LT_ATT_NONCOMMERC1) || INFILE(_LT_ATT_NONCOMMERC2)) { - INTERESTING("ATT.Non-commercial"); - } - cleanLicenceBuffer(); - /* - * Silicon Graphics - */ - if (INFILE(_TITLE_SGI_V10)) { - INTERESTING("SGI-B-1.0"); - } - else if (INFILE(_TITLE_SGI_V11)) { - INTERESTING("SGI-B-1.1"); - } - else if (INFILE(_TITLE_SGI_V20)) { - INTERESTING("SGI-B-2.0"); - } - else if (INFILE(_LT_SGI_1)) { - if (HASTEXT(_PHR_SGI_LIBTIFF, REG_EXTENDED)) { - INTERESTING("libtiff"); - } - else if (HASTEXT(_PHR_LIBTIFF_STYLE, REG_EXTENDED)) { - INTERESTING("libtiff-style"); - } - } - else if (INFILE(_LT_SGI_2)) { - if (INFILE(_LT_SGI_V10)) { - INTERESTING("SGI-B-1.0"); - } - else if (INFILE(_LT_SGI_V11)) { - INTERESTING("SGI-B-1.1"); - } - else if (INFILE(_LT_SGI_V20)) { - INTERESTING("SGI-B-2.0"); - } - else if (INFILE(_CR_SGI) || URL_INFILE(_URL_SGI)) { - INTERESTING("SGI"); - } - } - else if (INFILE(_LT_SGI_1)) { - if (INFILE(_CR_SGI) || URL_INFILE(_URL_SGI)) { - INTERESTING("SGI-style"); - } - } - else if (INFILE(_LT_SGI_FREEW)) { - INTERESTING("SGI-Freeware"); - } - else if (INFILE(_LT_SGI_GLX)) { - if (INFILE(_TITLE_SGI_GLX_V10)) { - INTERESTING(lDebug ? "SGI_GLX(1.0)" : "SGI_GLX-1.0"); - } - else { - INTERESTING("SGI_GLX"); - } - } - else if (INFILE(_LT_SGI_GLXref) && INFILE(_CR_SGI)) { - if (INFILE(_TITLE_SGI_GLX_V10)) { - INTERESTING(lDebug ? "SGI_GLX(10ref)" : "SGI_GLX-1.0"); - } - else { - INTERESTING(lDebug ? "SGI_GLX(ref)" : "SGI_GLX"); - } - } - else if (INFILE(_LT_SGI_PROPRIETARY) && INFILE(_CR_SGI)) { - INTERESTING("SGI-Proprietary"); - } - cleanLicenceBuffer(); - /* - * 3DFX (Glide) - */ - if (INFILE(_CR_3DFX_1) || INFILE(_CR_3DFX_2)) { - if (INFILE(_LT_GLIDE_3DFX)) { - INTERESTING("Glide"); - } - else if (INFILE(_LT_GLIDE_GPL)) { - INTERESTING("3DFX-PL"); - } - } - /* - * Nvidia Corp - */ - else if (INFILE(_LT_NVIDIA_EULA_3)) { - INTERESTING(lDebug ? "Nvidia(1)" : "Nvidia-EULA-a"); - } - else if (INFILE(_CR_NVIDIA) && INFILE(_LT_NVIDIA)) { - INTERESTING(lDebug ? "Nvidia(2)" : "Nvidia"); - } - else if (INFILE(_LT_NVIDIA_EULA_2)) { - INTERESTING(lDebug ? "Nvidia(3)" : "Nvidia-EULA-b"); - } - else if (INFILE(_LT_NVIDIA_EULA_1) || INFILE(_TITLE_NVIDIA)) { - INTERESTING(lDebug ? "Nvidia(4)" : "Nvidia-EULA-b"); - } - /* - * ATI Corp - */ - else if (INFILE(_TITLE_ATI_EULA) && INFILE(_LT_ATI_EULA)) { - INTERESTING("ATI-EULA"); - } - /* - * Agere Systems - */ - else if (INFILE(_TITLE_AGERE_EULA) && INFILE(_LT_AGERE_EULA)) { - INTERESTING("Agere-EULA"); - } - cleanLicenceBuffer(); - /* - * KD Tools, AB - */ - if (INFILE(_TITLE_KDAB_EULA)) { - if (INFILE(_LT_KDAB_1)) { - INTERESTING(lDebug ? "KDAB(1)" : "KD-Tools-EULA"); - } - if (INFILE(_LT_KDAB_2)) { - INTERESTING(lDebug ? "KDAB(2)" : "KD-Tools-EULA"); - } - } - cleanLicenceBuffer(); - /* - * KDE - */ - if (INFILE(_PHR_KDE_FILE) && INFILE(_LT_KDE)) { - INTERESTING("KDE"); - } - cleanLicenceBuffer(); - /* - * Broadcom - */ - if (INFILE(_LT_BROADCOM_EULA) && INFILE(_CR_BROADCOM)) { - INTERESTING("Broadcom-EULA"); - } - cleanLicenceBuffer(); - /* - * DARPA (Defense Advanved Research Projects Agency) - */ - if (INFILE(_LT_DARPA_COUGAAR_1)) { - INTERESTING("DARPA-Cougaar"); - } - else if (INFILE(_LT_DARPA)) { - INTERESTING("DARPA"); - } - cleanLicenceBuffer(); - /* - * Tektronix - */ - if (INFILE(_LT_TEKTRONIX)) { - if (INFILE(_CR_TEKTRONIX)) { - INTERESTING("Tektronix"); - } - else { - INTERESTING("Tektronix-style"); - } - } - cleanLicenceBuffer(); - /* - * Open Market, Inc - */ - if (INFILE(_LT_CADENCE) && INFILE(_CR_CADENCE)) { - INTERESTING("Cadence"); - } - cleanLicenceBuffer(); - /* - * Open Market, Inc - */ - if (INFILE(_LT_OPENMKT)) { - INTERESTING("OpenMarket"); - } - cleanLicenceBuffer(); - /* - * Unicode - */ - if (!lmem[_fUNICODE]) { - if (INFILE(_TITLE_UNICODE)) { - INTERESTING(lDebug ? "Unicode(4)" : "Unicode"); - } - else if (INFILE(_LT_UNICODE_1) && INFILE(_CR_UNICODE)) { - INTERESTING(lDebug ? "Unicode(1)" : "Unicode"); - } - else if (INFILE(_LT_UNICODE_2)) { - INTERESTING(lDebug ? "Unicode(2)" : "Unicode"); - } - else if (INFILE(_LT_UNICODE_3)) { - INTERESTING(lDebug ? "Unicode(3)" : "Unicode"); - } - else if (INFILE(_LT_UNICODE_4)) { - INTERESTING(lDebug ? "Unicode(4)" : "Unicode-TOU"); - } - else if (URL_INFILE(_URL_UNICODE)) { - INTERESTING(lDebug ? "Unicode(5)" : "Unicode-TOU"); - } - else if (INFILE(_TITLE_UNICODE_TOU) && INFILE(_LT_UNICODE_TOU)) { - INTERESTING("Unicode-TOU"); - } - cleanLicenceBuffer(); - } - /* - * Software Research Assoc - */ - if (INFILE(_LT_SRA) && INFILE(_CR_SRA)) { - INTERESTING("SW-Research"); - } - cleanLicenceBuffer(); - /* - * MITRE Collaborative Virtual Workspace (CVW) License - */ - if (INFILE(_LT_MITRE_1)) { - if (INFILE(_CR_MITRE)) { - INTERESTING(lDebug ? "MitreCVW(1)" : "MitreCVW"); - } - else if (INFILE(_TITLE_CVW)) { - INTERESTING(lDebug ? "MitreCVW(2)" : "MitreCVW"); - } - else { - INTERESTING("MitreCVW-style"); - } - } - else if (INFILE(_LT_MITRE_2)) { - INTERESTING(lDebug ? "Mitre(2)" : "Mitre"); - } - cleanLicenceBuffer(); - /* - * Jabber, Motosoto - */ - if (INFILE(_LT_JABBER_1)) { - if (INFILE(_TITLE_MOTOSOTO091)) { - INTERESTING("Motosoto"); - } - else if (INFILE(_TITLE_JABBER)) { - INTERESTING("Jabber"); - } - } - else if (INFILE(_LT_JABBER_2)) { - if (INFILE(_TITLE_JABBER_V10)) { - INTERESTING(lDebug ? "Jabber(1.0)" : "Jabber-1.0"); - } - else { - INTERESTING(lDebug ? "Jabber(2)" : "Jabber"); - } - } - else if (URL_INFILE(_URL_JABBER)) { - INTERESTING(lDebug ? "Jabber(url)" : "Jabber"); - } - cleanLicenceBuffer(); - /* - * CPL, Lucent Public License, Eclipse PL - */ - int _epl = 0; - if (INFILE(_LT_CPL_1) || INFILE(_LT_CPL_2)) { - if (INFILE(_TITLE_IBM_PL20)) { - INTERESTING("IPL-2.0"); - } - else if (INFILE(_TITLE_IBM_PL10)) { - INTERESTING("IPL-1.0"); - } - else if (INFILE(_TITLE_IBM_PL)) { - INTERESTING("IPL"); - } - else if (INFILE(_TITLE_OpenGroup)) { - INTERESTING("OpenGroup"); - } - else if (INFILE(_TITLE_EPL10)) { - INTERESTING(lDebug ? "Eclipse(v.0#1)" : "EPL-1.0"); - _epl = 1; - } - else if (INFILE(_TITLE_EPL20)) { - INTERESTING(lDebug ? "Eclipse(v.2#1)" : "EPL-2.0"); - _epl = 1; - } - else if (INFILE(_TITLE_EPL) && NOT_INFILE(_TITLE_EPL_IGNORE)) { - INTERESTING(lDebug ? "Eclipse(#1)" : "EPL"); - _epl = 1; - } - else if (INFILE(_TITLE_LUCENT102)) { - INTERESTING("LPL-1.02"); - } - else if (INFILE(_TITLE_LUCENT10)) { - INTERESTING("LPL-1.0"); - } - else if (NOT_INFILE(_LT_CA)) { - cp = CPLVERS(); - INTERESTING(lDebug ? "CPL(#1)" : cp); - } - } - else if (INFILE(_LT_LPL_102)) { - INTERESTING("LPL-1.02"); - } - else if (!lmem[_fREAL] && INFILE(_LT_CPLref1) && NOT_INFILE(_TITLE_EPL10)) { - cp = CPLVERS(); - INTERESTING(lDebug ? "CPL(ref)" : cp); - } - else if (URL_INFILE(_URL_CPL)) { - cp = CPLVERS(); - INTERESTING(lDebug ? "CPL(url)" : cp); - } - else if (INFILE(_PHR_CPL_05)) { - INTERESTING(lDebug ? "CPL(0.5)" : "CPL-0.5"); - } - else if (INFILE(_PHR_CPL_10)) { - INTERESTING(lDebug ? "CPL(0.5)" : "CPL-1.0"); - } - else if (INFILE(_LT_IBM_PLref1)) { - INTERESTING(lDebug ? "IBM-PL(ref)" : "IPL"); - } - else if (URL_INFILE(_URL_IBM_PL)) { - INTERESTING(lDebug ? "IBM-PL(url)" : "IPL"); - } - cleanLicenceBuffer(); - /* More EPL cases */ - if (!_epl) { - if (INFILE(_LT_EPL20ref_1)) { - INTERESTING(lDebug ? "Eclipse(ref#2)" : "EPL-2.0"); - } - else if (INFILE(_LT_EPL10ref_1) || INFILE(_LT_EPL10ref_2) || HASTEXT(_LT_EPL10ref_3, REG_EXTENDED)) { - INTERESTING(lDebug ? "Eclipse(ref#2)" : "EPL-1.0"); - } - else if (INFILE(_LT_EPLref)) { - if (INFILE(_TITLE_EPL10)) { - INTERESTING(lDebug ? "Eclipse(v.0#2)" : "EPL-1.0"); - } - else if (INFILE(_TITLE_EPL20)) { - INTERESTING(lDebug ? "Eclipse(v.2#2)" : "EPL-2.0"); - } - else { - INTERESTING(lDebug ? "Eclipse(#2)" : "EPL"); - } - } - else if (INFILE(_LT_EPL10ref_1)) { - INTERESTING(lDebug ? "Eclipse(ref#2)" : "EPL-1.0"); - } - else if (INFILE(_LT_EPL) && NOT_INFILE(_TITLE_EPL_IGNORE)) { - if (INFILE(_TITLE_EPL10ref_1)) { - INTERESTING(lDebug ? "Eclipse(v1.0#2)" : "EPL-1.0"); - } - if (INFILE(_TITLE_EPL20ref_1)) { - INTERESTING(lDebug ? "Eclipse(v1.0#2)" : "EPL-2.0"); - } - } - } - cleanLicenceBuffer(); - /* - * SyBase/Watcom - */ - if (INFILE(_LT_SYBASE)) { - if (INFILE(_TITLE_SYBASE10)) { - INTERESTING("Watcom-1.0"); - } - else { - INTERESTING("Watcom"); - } - } - cleanLicenceBuffer(); - /* - * Ricoh - */ - if (INFILE(_LT_RICOH)) { - if (INFILE(_TITLE_RICOH10)) { - INTERESTING("RSCPL"); - } - } - cleanLicenceBuffer(); - /* - * OCLC - */ - if (INFILE(_LT_OCLC)) { - if (INFILE(_TITLE_OCLC20)) { - INTERESTING("OCLC-2.0"); - } - else if (INFILE(_TITLE_OCLC10)) { - INTERESTING("OCLC-1.0"); - } - else { - INTERESTING("OCLC"); - } - } - cleanLicenceBuffer(); - /* - * Educational Community License - */ - if (INFILE(_LT_ECL1)) { - INTERESTING("ECL-1.0"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_ECL2)) { - INTERESTING("ECL-2.0"); - lmem[_mMIT] = 1; - } - else if (INFILE(_LT_ECL)) { - INTERESTING(lDebug ? "ECL(1)" : "ECL-1.0"); - lmem[_mMIT] = 1; - } - cleanLicenceBuffer(); - /* - * EU DataGrid and Condor PL - */ - if (INFILE(_LT_EU)) { - if (INFILE(_TITLE_CONDOR_V10)) { - INTERESTING("Condor-1.0"); - } else if (INFILE(_TITLE_CONDOR_V11)) { - INTERESTING("Condor-1.1"); - } - else { - INTERESTING("EUDatagrid"); - } - } - else if (URL_INFILE(_URL_EUDatagrid)) { - INTERESTING("EUDatagrid"); - } - cleanLicenceBuffer(); - /* - * Adaptive Public License - */ - if (INFILE(_LT_ADAPTIVE)) { - if (INFILE(_TITLE_ADAPTIVE10)) { - INTERESTING("APL-1.0"); - } - else { - INTERESTING("APL"); - } - lmem[_fAPL] = 1; - } - cleanLicenceBuffer(); - /* - * gSOAP Public License - */ - if (!lmem[_mGSOAP] && INFILE(_LT_GSOAPref13)) { - INTERESTING("gSOAP-1.3b"); - } - else if (!lmem[_mGSOAP] && INFILE(_LT_GSOAPref)) { - INTERESTING("gSOAP"); - } - cleanLicenceBuffer(); - /* - * Computer Associates - */ - if (INFILE(_LT_CA)) { - if (INFILE(_TITLE_CA11)) { - INTERESTING("CATOSL-1.1"); - } - else { - INTERESTING("CA"); - } - } - else if (INFILE(_TITLE_CA)) { - INTERESTING("CATOSL"); - } - cleanLicenceBuffer(); - /* - * Frameworx - */ - if (INFILE(_LT_FRAMEWORX)) { - if (INFILE(_TITLE_FRAMEWORX10)) { - INTERESTING("Frameworx-1.0"); - } - else { - INTERESTING("Frameworx"); - } - } - cleanLicenceBuffer(); - /* - * NASA - */ - if (INFILE(_LT_NASA)) { - if (INFILE(_TITLE_NASA13)) { - INTERESTING("NASA-1.3"); - } - else { - INTERESTING("NASA"); - } - } - cleanLicenceBuffer(); - /* - * Freetype - */ - if (INFILE(_LT_FREETYPE)) { - if (INFILE(_TITLE_CATHARON)) { - INTERESTING(lDebug ? "Catharon(1)" : "Catharon"); - } - else if (INFILE(_CR_CATHARON)) { - INTERESTING(lDebug ? "Catharon(2)" : "Catharon"); - } - else if (INFILE(_TITLE_FREETYPE)) { - INTERESTING("FTL"); - } - else { - INTERESTING("FTL-style"); - } - } - else if (INFILE(_LT_FTL)) { - INTERESTING("FTL"); - } - else if (INFILE(_TITLE_FTL)|| INFILE(_SPDX_FTL)) { - INTERESTING("FTL"); - } - else if (INFILE(_LT_CATHARON)) { - INTERESTING(lDebug ? "Catharon(3)" : "Catharon"); - } - else if (INFILE(_LT_FREETYPEref)) { - INTERESTING(lDebug ? "FTL(ref)" : "FTL"); - } - cleanLicenceBuffer(); - /* - * Eiffel Forum License - */ - if (INFILE(_LT_EIFFEL)) { - if (INFILE(_TITLE_EIFFEL2)) { - INTERESTING("EFL-2.0"); - } - else if (INFILE(_TITLE_EIFFEL1)) { - INTERESTING("EFL-1.0"); - } - else { - INTERESTING("EFL"); - } - } - else if (INFILE(_LT_EIFFEL_20)) { - INTERESTING("EFL-2.0"); - } - else if (INFILE(_LT_EIFFEL_1)) { - INTERESTING("EFL"); - } - cleanLicenceBuffer(); - /* - * BISON, Nethack, etc. - */ - if (!lmem[_fGPL] && (INFILE(_LT_BISON) || INFILE(_LT_BISONref))) { - if (INFILE(_TITLE_NETHACK)) { - INTERESTING("NGPL"); - } - else { - INTERESTING("BISON"); - } - } - cleanLicenceBuffer(); - /* - * Open Software License (OSL) and Academic Free License (AFL) are similar - */ - if (INFILE(_LT_OSL_BAD)) { - cp = (INFILE(_TITLE_AFL) ? AFLVERS() : OSLVERS()); - INTERESTING(lDebug? "OSL(bad)" : cp); - } - else if (INFILE(_LT_OSLref1)) { - cp = OSLVERS(); - INTERESTING(lDebug? "OSL(ref1)" : cp); - } - else if (INFILE(_LT_OSLref2)) { - cp = OSLVERS(); - INTERESTING(lDebug? "OSL(ref2)" : cp); - } - else if (INFILE(_LT_AFL)) { - cp = (INFILE(_TITLE_AFL) ? AFLVERS() : OSLVERS()); - INTERESTING(lDebug? "AFL#1" : cp); - } - else if (INFILE(_TITLE_OSL21) && NOT_INFILE(_TITLE_OSL21_EXHIBIT)) { - cp = OSLVERS(); - INTERESTING(lDebug? "OSL(T2.1)" : cp); - } - else if (INFILE(_TITLE_AFL21)) { - cp = AFLVERS(); - INTERESTING(lDebug? "AFL(T2.1)" : cp); - } - else if (INFILE(_TITLE_OSL30) && NOT_INFILE(_TITLE_OSL30_EXHIBIT)) { - cp = OSLVERS(); - INTERESTING(lDebug? "OSL(T3.0)" : cp); - } - else if (INFILE(_TITLE_AFL30)) { - cp = AFLVERS(); - INTERESTING(lDebug? "AFL(T3.0)" : cp); - } - else if (URL_INFILE(_URL_OSL11)) { - INTERESTING(lDebug ? "OSL_v1.1(url)" : "OSL-1.1"); - } - else if (URL_INFILE(_URL_OSL)) { - INTERESTING(lDebug ? "OSL(url)" : "OSL"); - } - else if (URL_INFILE(_URL_AFL)) { - INTERESTING(lDebug ? "AFL(url)" : "AFL"); - } - cleanLicenceBuffer(); - /* - * There are occasions where something is licensed under *either* AFL - * or OSL, so don't keep AFL-refs in the if-then-else-if chain here. - */ - if (INFILE(_LT_AFLref1)) { - cp = AFLVERS(); - INTERESTING(lDebug? "AFL(ref1)" : cp); - } - else if (INFILE(_LT_AFLref2)) { - cp = AFLVERS(); - INTERESTING(lDebug? "AFL(ref2)" : cp); - } - cleanLicenceBuffer(); - /* - * Inner Net license - */ - if (INFILE(_LT_INNERNET)) { - if (INFILE(_TITLE_INNERNET200)) { - INTERESTING("InnerNet-2.00"); - } - else if (HASTEXT(_TEXT_INNERNET, 0)) { - INTERESTING("InnerNet"); - } - else { - INTERESTING("InnerNet-style"); - } - } - else if (INFILE(_LT_INNERNETref_V2)) { - INTERESTING(lDebug ? "InnetNet(v2ref)" : "InnerNet-2.00"); - } - cleanLicenceBuffer(); - /* - * Open Government Licence - */ - if (INFILE(_TITLE_OGL_UK)) { - if (INFILE(_TITLE_OGL_UK_10)) { - INTERESTING("OGL-UK-1.0"); - } - else if (INFILE(_TITLE_OGL_UK_20)) { - INTERESTING("OGL-UK-2.0"); - } - else if (INFILE(_TITLE_OGL_UK_30)) { - INTERESTING("OGL-UK-3.0"); - } - /* Full OGL license texts have reference to Creative Commons */ - if (HASTEXT(_LT_CC_ref, REG_EXTENDED)) { - lmem[_fCCBY] = 1; - } - } - cleanLicenceBuffer(); - /* - * Creative Commons Public License, Mindterm, and the Reciprocal PL - */ - if (!lmem[_fCCBY] && HASTEXT(_LT_CC_ref, REG_EXTENDED)) { - cp = CCVERS(); - INTERESTING(lDebug ? "CC(ref)" : cp); - } - else if (INFILE(_LT_CCPL)) { - if (INFILE(_LT_RECIP_1) || INFILE(_LT_RECIP_2)) { - if (INFILE(_TITLE_RPL15)) { - INTERESTING(lDebug ? "RPL-1.5#1" : "RPL-1.5"); - } - else if (INFILE(_TITLE_RPL11)) { - INTERESTING(lDebug ? "RPL-1.1#1" : "RPL-1.1"); - } - else if (INFILE(_TITLE_RPL10)) { - INTERESTING(lDebug ? "RPL-1.0#1" : "RPL-1.0"); - } - else { - INTERESTING(lDebug ? "RPL#1" : "RPL"); - } - } - } - else if (INFILE(_LT_RECIP15)) { - INTERESTING("RPL-1.5"); - } - else if (INFILE(_TITLE_MINDTERM)) { - INTERESTING("MindTerm"); - } - else if (INFILE(_LT_RECIP_1) || INFILE(_LT_RECIP_2)) { - if (INFILE(_TITLE_RPL15)) { - INTERESTING(lDebug ? "RPL-1.5#2" : "RPL-1.5"); - } - else if (INFILE(_TITLE_RPL11)) { - INTERESTING(lDebug ? "RPL-1.1#2" : "RPL-1.1"); - } - else if (INFILE(_TITLE_RPL10)) { - INTERESTING(lDebug ? "RPL-1.0#2" : "RPL-1.0"); - } - else { - INTERESTING(lDebug ? "RPL#2" : "RPL"); - } - } - /* - * For some reason license text strings were defined for few - * Creative Commons licenses. - */ - else if (INFILE(_LT_CC_BY_SA_30)) { - INTERESTING("CC-BY-SA-3.0"); - } - else if (INFILE(_LT_CC_BY_SA_25)) { - INTERESTING("CC-BY-SA-2.5"); - } - else if (INFILE(_LT_CC_BY_NC_30)) { - INTERESTING("CC-BY-NC-3.0"); - } - else if (INFILE(_LT_CC_BY_ND_30)) { - INTERESTING("CC-BY-ND-3.0"); - } - cleanLicenceBuffer(); - if (URL_INFILE(_URL_RPL)) { - INTERESTING(lDebug ? "RPL(url)" : "RPL"); - } - else if (URL_INFILE(_URL_CCLGPL)) { - cp = LGPLVERS(); - INTERESTING(lDebug ? "CC-LGPL(url)" : cp); - } - else if (URL_INFILE(_URL_CCGPL)) { - cp = GPLVERS(); - INTERESTING(lDebug ? "CC-GPL(url)" : cp); - } - cleanLicenceBuffer(); - /* - * SpikeSource - */ - if (INFILE(_CR_SPIKESOURCE) && INFILE(_LT_SPIKESOURCE)) { - INTERESTING("SpikeSource"); - } - cleanLicenceBuffer(); - /* - * Legato systems - */ - if (INFILE(_LT_LEGATO_1) || INFILE(_LT_LEGATO_2)) { - INTERESTING("Legato"); - } - cleanLicenceBuffer(); - /* - * Paradigm associates - */ - if (INFILE(_LT_PARADIGM) && INFILE(_CR_PARADIGM)) { - INTERESTING("Paradigm"); - } - cleanLicenceBuffer(); - /* - * Wintertree Software - */ - if (INFILE(_LT_WINTERTREE)) { - INTERESTING("Wintertree"); - } - cleanLicenceBuffer(); - /* - * Genivia - */ - if (INFILE(_LT_GENIVIAref)) { - INTERESTING("Genivia.Commercial"); - } - cleanLicenceBuffer(); - /* - * Open Directory License - */ - if (INFILE(_LT_ODL)) { - INTERESTING("ODL"); - } - cleanLicenceBuffer(); - /* - * Open Directory License - */ - if (INFILE(_LT_OSD)) { - INTERESTING("OSD"); - } - cleanLicenceBuffer(); - /* - * Zveno - */ - if (INFILE(_LT_ZVENO) && INFILE(_CR_ZVENO)) { - INTERESTING("Zveno"); - } - cleanLicenceBuffer(); - /* - * Brainstorm - */ - if (INFILE(_LT_BRAINSTORM_EULA) && INFILE(_TITLE_BRAINSTORM_EULA)) { - INTERESTING("BrainStorm-EULA"); - } - cleanLicenceBuffer(); - /* - * AOL - */ - if (INFILE(_LT_AOL_EULA)) { - INTERESTING("AOL-EULA"); - } - cleanLicenceBuffer(); - /* - * Algorithmics - */ - if (INFILE(_LT_ALGORITHMICS)) { - INTERESTING("Algorithmics"); - } - cleanLicenceBuffer(); - /* - * Pixware - */ - if (INFILE(_LT_PIXWARE_EULA)) { - INTERESTING("Pixware-EULA"); - } - cleanLicenceBuffer(); - /* - * Compuserve - */ - if (HASTEXT(_TEXT_COMPUSERVE, 0) && INFILE(_LT_COMPUSERVE)) { - INTERESTING("CompuServe"); - } - cleanLicenceBuffer(); - /* - * Advanved Micro Devices (AMD) - */ - if (INFILE(_CR_AMD) && INFILE(_LT_AMD)) { - INTERESTING("AMD"); - } - else if (INFILE(_LT_AMD_EULA) && INFILE(_TITLE_AMD_EULA)) { - INTERESTING("AMD-EULA"); - } - cleanLicenceBuffer(); - /* - * OMRON Corp - */ - if ((INFILE(_CR_OMRON_1) || INFILE(_CR_OMRON_2)) && - (INFILE(_LT_OMRON1) || INFILE(_LT_OMRON2))) { - INTERESTING(lDebug ? "OMRON(2)" : "OMRON"); - } - cleanLicenceBuffer(); - /* - * MetroLink - */ - if (INFILE(_TITLE_METROLINK)) { - if (INFILE(_LT_METRO)) { - if (INFILE(_LT_METRO_NONFREE)) { - INTERESTING("MetroLink-nonfree"); - } - else { - INTERESTING("MetroLink"); - } - } - } - else if (INFILE(_LT_METROLINKref)) { - INTERESTING(lDebug ? "MetroLink(ref)" : "MetroLink"); - } - cleanLicenceBuffer(); - /* - * University of Edinburgh (and a CMU derivative) - */ - if (INFILE(_LT_EDINBURGH_1)) { - if (mCR_CMU()) { - INTERESTING(lDebug ? "CMU(3)" : "CMU"); - lmem[_mCMU] = 1; - } - else if (mCR_EDIN()) { - INTERESTING(lDebug ? "U-Edinburgh(1)" : "U-Edinburgh"); - } - else { - INTERESTING(lDebug ? "UE-style(1)" : "U-Edinburgh-style"); - } - } - else if (INFILE(_LT_EDINBURGH_2)) { - if (mCR_EDIN()) { - INTERESTING(lDebug ? "U-Edinburgh(2)" : "U-Edinburgh"); - } - else { - INTERESTING(lDebug ? "UE-style(2)" : "U-Edinburgh-style"); - } - } - cleanLicenceBuffer(); - /* - * Older CMU (including the weird "fnord" text) licenses. - * Note that SPDX listed MIT-CMU license is detected earlier. - */ - if (!lmem[_mCMU] && INFILE(_LT_CMU_1)) { - if (!lmem[_mREDHAT] && INFILE(_CR_REDHAT)) { - INTERESTING(lDebug ? "RH(5)" : "RedHat"); - lmem[_mREDHAT] = 1; - } - else if (INFILE(_CR_NRL)) { - INTERESTING("NRL"); - } - else if (!lmem[_mCMU] && mCR_CMU()) { - INTERESTING(lDebug ? "CMU(5)" : "CMU"); - lmem[_mCMU] = 1; - } - else { - INTERESTING("CMU-style"); - lmem[_mCMU] = 1; - } - } - else if (!lmem[_mCMU] && INFILE(_LT_CMU_2) && mCR_CMU()) { - INTERESTING(lDebug ? "CMU(6)" : "CMU"); - lmem[_mCMU] = 1; - } - else if (INFILE(_LT_CMU_3)) { - INTERESTING(lDebug ? "CMU(7)" : "CMU"); - lmem[_mCMU] = 1; - } - else if (INFILE(_LT_CMU_4)) { - INTERESTING(lDebug ? "CMU(8)" : "CMU"); - lmem[_mCMU] = 1; - } - else if (INFILE(_LT_CMU_5)) { - INTERESTING(lDebug ? "CMU(9)" : "CMU"); - lmem[_mCMU] = 1; - } - else if (INFILE(_LT_CMU_6)) { - INTERESTING(lDebug ? "CMU(10)" : "CMU"); - lmem[_mCMU] = 1; - } - cleanLicenceBuffer(); - /* - * University of Chicago - */ - if (INFILE(_CR_UCHICAGO) && INFILE(_LT_UCHICAGO)) { - INTERESTING("U-Chicago"); - } - cleanLicenceBuffer(); - /* - * University of Utah - */ - if (INFILE(_CR_UUTAH) && INFILE(_LT_UUTAH)) { - INTERESTING("U-Utah"); - } - cleanLicenceBuffer(); - /* - * University of British Columbia - */ - if (INFILE(_CR_UBC) && INFILE(_LT_UBC)) { - INTERESTING("U-BC"); - } - cleanLicenceBuffer(); - /* - * ImageMagick Studios - DON'T RECALL THE TEXT FOR THIS LICENSE! - */ - if (INFILE(_LT_IMAGEMAGICK)) { - if (INFILE(_CR_IMAGEMAGICK)) { - INTERESTING("ImageMagick"); - } - else { - INTERESTING("ImageMagick-style"); - } - } - else if (URL_INFILE(_URL_IMAGEMAGICK)) { - INTERESTING(lDebug ? "ImageMagick(url)" : "ImageMagick"); - } - cleanLicenceBuffer(); - /* - * Riverbank - */ - if (INFILE(_LT_RIVERBANK) && INFILE(_TITLE_RIVERBANK_EULA)) { - INTERESTING("Riverbank-EULA"); - } - cleanLicenceBuffer(); - /* - * Polyserve - */ - if (INFILE(_CR_POLYSERVE) && INFILE(_LT_POLYSERVE)) { - INTERESTING("Polyserve-CONFIDENTIAL"); - } - cleanLicenceBuffer(); - /* - * Fujitsu Limited - */ - if (INFILE(_CR_FUJITSU) && INFILE(_LT_FUJITSU)) { - INTERESTING("Fujitsu"); - } - cleanLicenceBuffer(); - /* - * Cypress Semiconductor - */ - if (INFILE(_CR_CYPRESS) && INFILE(_LT_CYPRESS)) { - INTERESTING("Cypress-FW"); - } - /* - * Keyspan - */ - else if (INFILE(_CR_KEYSPAN) && INFILE(_LT_KEYSPAN)) { - INTERESTING("Keyspan-FW"); - } - /* - * ATMEL - */ - else if (INFILE(_CR_ATMEL) && INFILE(_LT_ATMEL)) { - INTERESTING("ATMEL-FW"); - } - cleanLicenceBuffer(); - /* - * Quest Software - */ - if (INFILE(_LT_QUEST_EULA) && INFILE(_TITLE_QUEST_EULA)) { - INTERESTING("Quest-EULA"); - } - cleanLicenceBuffer(); - /* - * International Organization for Standarization - */ - if (INFILE(_LT_IOS) && INFILE(_CR_IOS)) { - INTERESTING("IOS"); - } - cleanLicenceBuffer(); - /* - * Garmin Ltd. - */ - if (INFILE(_LT_GARMIN_EULA) && INFILE(_TITLE_GARMIN_EULA)) { - INTERESTING("Garmin-EULA"); - } - cleanLicenceBuffer(); - /* - * AVM GmbH - */ - if (INFILE(_CR_AVM)) { - if (INFILE(_LT_AVM_1)) { - INTERESTING(lDebug ? "AVM(1)" : "AVM"); - } - else if (INFILE(_LT_AVM_2)) { - INTERESTING(lDebug ? "AVM(2)" : "AVM"); - } - } - else if (INFILE(_LT_AVM_3)) { - INTERESTING(lDebug ? "AVM(3)" : "AVM"); - } - cleanLicenceBuffer(); - /* - * Fair license - */ - if (INFILE(_LT_FAIR)) { - if (INFILE(_TITLE_FAIR)) { - INTERESTING("Fair"); - } - else { - INTERESTING("Fair-style"); - } - } - cleanLicenceBuffer(); - /* - * GCA (Majordomo) - */ - if (INFILE(_LT_GCA)) { - if (INFILE(_TITLE_MAJORDOMO11)) { - INTERESTING("Majordomo-1.1"); - } - else { - INTERESTING("Majordomo"); - } - } - cleanLicenceBuffer(); - /* - * Zeus Technology -- this one is kind of a corner-case since the wording - * is VERY general. If there's a Zeus copyright with the license text, - * spell it out; else, look for the same text in the "generic" section. - */ - if (INFILE(_CR_ZEUS) && INFILE(_LT_ZEUS)) { - INTERESTING("Zeus"); - } - cleanLicenceBuffer(); - /* - * Information-technology promotion agency - */ - if (!lmem[_mXOPEN] && INFILE(_LT_XOPEN_1)) { - if (!lmem[_mOSF] && INFILE(_CR_OSF)) { - INTERESTING(lDebug ? "OSF(2)" : "OSF"); - lmem[_mOSF] = 1; - } - else if (INFILE(_CR_UI)) { - INTERESTING(lDebug ? "UI(2)" : "Unix-Intl"); - } - else if (INFILE(_CR_XOPEN)) { - INTERESTING(lDebug ? "XOpen(2)" : "X/Open"); - lmem[_mXOPEN] = 1; - } - else if (INFILE(_CR_IPA)) { - INTERESTING("IPA"); - } - else if (!lmem[_mSUN] && INFILE(_CR_SUN)) { - INTERESTING(lDebug ? "Sun(10)" : "Sun"); - lmem[_mSUN] = 1; - } - else { - INTERESTING("X/Open-style"); - } - } - /* This one is funky - it includes part of the copyright */ - else if (!lmem[_mXOPEN] && INFILE(_LT_XOPEN_2)) { - INTERESTING(lDebug ? "XOpen(3)" : "X/Open"); - lmem[_mXOPEN] = 1; - } - cleanLicenceBuffer(); - /* - * Interlink networks EULA (seen in HP proprietary code) - */ - if (INFILE(_LT_INTERLINK_EULA) && INFILE(_TITLE_INTERLINK_EULA)) { - INTERESTING("Interlink-EULA"); - } - cleanLicenceBuffer(); - /* - * Mellanox Technologies - */ - if (INFILE(_LT_MELLANOX) && INFILE(_CR_MELLANOX)) { - INTERESTING("Mellanox"); - } - cleanLicenceBuffer(); - /* - * nCipher Corp - */ - if (INFILE(_LT_NCIPHER) && INFILE(_CR_NCIPHER)) { - INTERESTING("nCipher"); - } - cleanLicenceBuffer(); - /* - * Distributed Processing Technology Corp - */ - if (INFILE(_CR_DPTC) && INFILE(_LT_DPTC)) { - INTERESTING("DPTC"); - } - /* - * Distributed Management Task Force - */ - else if (HASTEXT(_TEXT_REPRODUCED, 0) && INFILE(_CR_DMTF) && - INFILE(_LT_DMTF)) { - INTERESTING("DMTF"); - lmem[_fATTRIB] = 1; - } - cleanLicenceBuffer(); - /* - * DSC Technologies Corp - */ - if (INFILE(_CR_DSCT) && INFILE(_LT_DSCT)) { - INTERESTING("DSCT"); - } - cleanLicenceBuffer(); - /* - * Epinions, Inc. - */ - if (INFILE(_CR_EPINIONS) && INFILE(_LT_EPINIONS)) { - INTERESTING("Epinions"); - } - cleanLicenceBuffer(); - /* - * MITEM, Ltd - */ - if (INFILE(_CR_MITEM) && INFILE(_LT_MITEM)) { - INTERESTING("MITEM"); - } - cleanLicenceBuffer(); - /* - * Cylink corp - */ - if ((INFILE(_LT_CYLINK_ISC_1) || INFILE(_LT_CYLINK_ISC_2))) { - INTERESTING("Cylink-ISC"); - } - cleanLicenceBuffer(); - /* - * SciTech software - */ - if (INFILE(_CR_SCITECH) && INFILE(_LT_SCITECH)) { - INTERESTING("SciTech"); - } - cleanLicenceBuffer(); - /* - * OReilly and Associates - */ - if (INFILE(_LT_OREILLY_1)) { - if (INFILE(_CR_OREILLY)) { - INTERESTING("OReilly"); - } - else { - INTERESTING("OReilly-style"); - } - } - else if (INFILE(_LT_OREILLY_2)) { - if (INFILE(_CR_OREILLY)) { - INTERESTING(lDebug ? "OReilly-2" : "OReilly"); - } - else { - INTERESTING(lDebug ? "OReilly-st-2" : "OReilly-style"); - } - } - cleanLicenceBuffer(); - /* - * Bit-Torrent - */ - if (INFILE(_LT_BITTORRENT)) { - if (INFILE(_TITLE_BITTORRENT11)) { - INTERESTING("BitTorrent-1.1"); - } - else if (INFILE(_TITLE_BITTORRENT10)) { - INTERESTING("BitTorrent-1.0"); - } - else { - INTERESTING("BitTorrent"); - } - } - else if (INFILE(_LT_BITTORRENT_V11)) { - INTERESTING("BitTorrent-1.1"); - } - else if (INFILE(_LT_BITTORRENT_V10)) { - INTERESTING("BitTorrent-1.0"); - } - else if (INFILE(_LT_BITTORRENTref)) { - INTERESTING(lDebug ? "BitTorrent(ref)" : "BitTorrent"); - } - cleanLicenceBuffer(); - /* - * Open Software Foundation - */ - if (INFILE(_LT_OSF_1)) { - if (INFILE(_CR_OSF)) { - INTERESTING(lDebug ? "OSF(3)" : "OSF"); - lmem[_mOSF] = 1; - } - else { - INTERESTING(lDebug ? "OSF-style(1)" : "OSF-style"); - } - } - else if (INFILE(_LT_OSF_2)) { - if (INFILE(_CR_OSF)) { - INTERESTING(lDebug ? "OSF(4)" : "OSF"); - lmem[_mOSF] = 1; - } - else if (INFILE(_LT_CMU_8)) { - INTERESTING(lDebug ? "CMU(11)" : "CMU"); - } - else { - INTERESTING(lDebug ? "OSF-style(2)" : "OSF-style"); - } - } - cleanLicenceBuffer(); - /* - * OpenLDAP (if not already determined above -- the OpenLDAP public license - * borrows text from LOTS of different sources) - */ - if (!lmem[_fBSD] && lmem[_tOPENLDAP] && !lmem[_fOPENLDAP]) { - if (INFILE(_LT_OPENLDAP_1)) { - if (!TRYGROUP(famOPENLDAP)) { - INTERESTING("OLDAP-style"); - } - } - else if (INFILE(_LT_OPENLDAP_2)) { - INTERESTING("OLDAP"); - } - } - cleanLicenceBuffer(); - /* - * The Knuth license is sufficiently bizarre enough it belongs down here, - * towards the end of the search - ***** - * Lachman Associates - includes a proprietary-to-the-max paragraph - * IoSoft Ltd. - */ - if (INFILE(_CR_KNUTH) && INFILE(_LT_KNUTH_1)) { - INTERESTING(lDebug ? "Knuth(1)" : "D.E.Knuth"); - } - else if (INFILE(_LT_KNUTH_2)) { - INTERESTING(lDebug ? "Knuth(2)" : "D.E.Knuth"); - } - else if (INFILE(_LT_KNUTH_STYLE)) { - INTERESTING("Knuth-style"); - } - else if (INFILE(_LT_LACHMAN_SECRET)) { - INTERESTING("Lachman-Proprietary"); - } - else if (INFILE(_LT_IOSOFT_SRCONLY)) { - INTERESTING("IoSoft.COMMERCIAL"); - } - cleanLicenceBuffer(); - /* - * The Free Software License - */ - if (INFILE(_LT_FREE_SW)) { - INTERESTING("Free-SW"); - } - /* - * NOT free software and explicitly free software - */ - else if (INFILE(_PHR_NOT_FREE_SW)) { - if (INFILE(_LT_NOT_FREE) && INFILE(_CR_WTI)) { - INTERESTING("WTI.Not-free"); - } - else { - INTERESTING("Not-Free"); - } - } - cleanLicenceBuffer(); - /* - * Code Project Open License - */ - if (INFILE(_LT_CPOL)) { - if (HASTEXT(_LT_CPOL_V102, REG_EXTENDED)) { - INTERESTING("CPOL-1.02"); - } else { - INTERESTING("CPOL"); - } - } - cleanLicenceBuffer(); - /* - * Macrovision - */ - if (INFILE(_LT_MACROV_IA) && INFILE(_PHR_MACROVISION)) { - if (INFILE(_PHR_EULA)) { - INTERESTING("Macrovision-EULA"); - } - else { - INTERESTING("Macrovision"); - } - } - cleanLicenceBuffer(); - /* - * VMware - */ - if (INFILE(_LT_VMWARE) && INFILE(_TITLE_VMWARE)) { - INTERESTING("VMware-EULA"); - } - cleanLicenceBuffer(); - /* - * UCWARE.com - */ - if (INFILE(_LT_UCWARE_EULA_1) || INFILE(_LT_UCWARE_EULA_2)) { - INTERESTING("UCWare-EULA"); - } - cleanLicenceBuffer(); - /* - * InfoSeek Corp - */ - if (INFILE(_LT_INFOSEEK) && INFILE(_CR_INFOSEEK)) { - INTERESTING("InfoSeek"); - } - cleanLicenceBuffer(); - /* - * Trident Microsystems - */ - if (INFILE(_LT_TRIDENT_EULA) && INFILE(_CR_TRIDENT)) { - INTERESTING("Trident-EULA"); - } - cleanLicenceBuffer(); - /* - * ARJ Software Inc - */ - if (INFILE(_LT_ARJ) && INFILE(_CR_ARJ)) { - INTERESTING("ARJ"); - } - cleanLicenceBuffer(); - /* - * Piriform Ltd - */ - if (INFILE(_LT_PIRIFORM) && INFILE(_CR_PIRIFORM)) { - INTERESTING("Piriform"); - } - cleanLicenceBuffer(); - /* - * Design Science License (DSL) - */ - if (INFILE(_LT_DSL)) { - INTERESTING("DSL"); - } - cleanLicenceBuffer(); - /* - * Skype - */ - if (INFILE(_TITLE_SKYPE) && INFILE(_LT_SKYPE)) { - INTERESTING("Skype-EULA"); - } - cleanLicenceBuffer(); - /* - * Hauppauge - */ - if (INFILE(_LT_HAUPPAUGE)) { - INTERESTING("Hauppauge"); - } - cleanLicenceBuffer(); - /* - * Platform Computing Corp (or a generic on-your-intranet-only restriction) - */ - if (INFILE(_LT_INTRANET_ONLY)) { - if (INFILE(_CR_PLATFORM_COMP)) { - INTERESTING(lDebug ? "Platfm(1)" : "Platform-Computing(RESTRICTED)"); - } else { - MEDINTEREST("Intranet-only"); - } - } else if (INFILE(_LT_NOT_INTERNET)) { - if (INFILE(_CR_PLATFORM_COMP)) { - INTERESTING(lDebug ? "Platfm(2)" : "Platform-Computing(RESTRICTED)"); - } else { - MEDINTEREST("Not-Internet"); - } - } - cleanLicenceBuffer(); - /* - * Curl - */ - if (URL_INFILE(_URL_CURL)) { - INTERESTING(lDebug ? "Curl(URL)" : "curl"); - } - cleanLicenceBuffer(); - /* - * ID Software - */ - if (INFILE(_LT_ID_EULA)) { - INTERESTING("ID-EULA"); - } - cleanLicenceBuffer(); - /* - * M+ Fonts Project - */ - if (INFILE(_LT_MPLUS_FONT) && INFILE(_CR_MPLUS)) { - INTERESTING("M-Plus-Project"); - } - cleanLicenceBuffer(); - /* - * Powder Development - */ - if (INFILE(_LT_POWDER)) { - INTERESTING("Powder-Proprietary"); - } - cleanLicenceBuffer(); - /* - * Against DRM - */ - if (INFILE(_LT_AGAINST_DRM)) { - INTERESTING("AgainstDRM"); - } - cleanLicenceBuffer(); - /* - * The TeXinfo exception clause - */ - if (INFILE(_LT_TEX_EXCEPT)) { - INTERESTING(lDebug ? "TeX-except" : "TeX-exception"); - } - cleanLicenceBuffer(); - /* - * The U.S. Gummint - */ - if (INFILE(_LT_USGOVT_1)) { - if (INFILE(_CR_URA)) { - MEDINTEREST("URA.govt"); - } - else { - MEDINTEREST(lDebug ? "Govt-Wk(1)" : "Govt-work"); - } - } - else if (INFILE(_LT_USGOVT_2)) { - /* - * mpich2 - */ - if (INFILE(_LT_MPICH2)) { - INTERESTING("mpich2"); - } - else { - MEDINTEREST(lDebug ? "Govt-Wk(2)" : "Govt-work"); - } - } - else if (INFILE(_LT_USGOVT_RIGHTS1) && INFILE(_LT_PUBLIC)) { - MEDINTEREST(lDebug ? "US-Govt(1)" : "Govt-rights"); - } - else if (INFILE(_LT_USGOVT_RIGHTS2)) { - MEDINTEREST(lDebug ? "US-Govt(2)" : "Govt-rights"); - } - cleanLicenceBuffer(); - /* - * AACA (Ada Conformity Assessment Authority) - */ - if (INFILE(_LT_ACAA_RIGHTS) && INFILE(_LT_PUBLIC)) { - INTERESTING("ACAA"); - } - cleanLicenceBuffer(); - /* - * Zend Engine License - */ - if (INFILE(_LT_ZEND_1) || URL_INFILE(_URL_ZEND)) { - INTERESTING("Zend-2.0"); - } - else if (INFILE(_LT_ZEND_2)) { - INTERESTING("Zend-1.0"); - } - cleanLicenceBuffer(); - /* - * WebM - * Changed to BSD-3-Clause, WebM is not OSI nor SPDX recognized license - */ - if (URL_INFILE(_URL_WEBM)) { - INTERESTING(lDebug ? "WebM" : "BSD-3-Clause"); - } - cleanLicenceBuffer(); - /* Dyade Public License - * http://old.koalateam.com/jackaroo/DYADE_PUBLIC_LICENSE.TXT - */ - if (INFILE(_LT_DYADE) && INFILE(_LT_DYADE_2)) - { - INTERESTING("Dyade"); - } - /* - * Zimbra - */ - if (INFILE(_TITLE_ZIMBRA_13)) { - INTERESTING("Zimbra-1.3"); - } - else if (INFILE(_TITLE_ZIMBRA_12)) { - INTERESTING("Zimbra-1.2"); - } - else if (INFILE(_TITLE_ZIMBRA)) { - INTERESTING("Zimbra"); - } - cleanLicenceBuffer(); - /* - * Open Database - */ - if (INFILE(_TITLE_ODBL)) { - INTERESTING("ODbL-1.0"); - lmem[_fODBL] = 1; - } - cleanLicenceBuffer(); - /* - * Multics - */ - if (INFILE(_LT_MULTICS)) { - INTERESTING("Multics"); - } - cleanLicenceBuffer(); - /* - * H2 - * Note, H2 title is also checked in MPL section - */ - if (INFILE(_TITLE_H2_V10)) { - INTERESTING("H2-1.0"); - } - cleanLicenceBuffer(); - /* - * CRYPTOGAMS - */ - if (INFILE(_LT_CRYPTOGAMS)) { - INTERESTING("Cryptogams"); - } - cleanLicenceBuffer(); - /* - * Cygnus-eCos-1.0 - * Note, Cygnus-eCos title is also checked in MPL section - */ - if (INFILE(_TITLE_CYGNUS_ECOS_V10)) { - INTERESTING("Cygnus-eCos-1.0"); - } - cleanLicenceBuffer(); - /* - * RHeCos-1.1 - * Note, RHeCos-1.1 title is also checked in MPL section - */ - if (INFILE(_TITLE_RHeCos_V11)) { - INTERESTING("RHeCos-1.1"); - } - cleanLicenceBuffer(); - /* - * TMate - * Note, TMate is also recognized with BSD-2-Clause detection - */ - if (INFILE(_TITLE_TMATE)) { - INTERESTING("TMate"); - } - cleanLicenceBuffer(); - /* - * Abstyles - */ - if (INFILE(_LT_ABSTYLES_1) && INFILE(_LT_ABSTYLES_2)) { - INTERESTING("Abstyles"); - } - cleanLicenceBuffer(); - /* - * Amazon Digital Services License - */ - if (INFILE(_LT_ADSL) && INFILE(_CR_AMAZON)) { - INTERESTING("ADSL"); - } - cleanLicenceBuffer(); - /* - * CrystalStacker License - */ - if (HASTEXT(_LT_CRYSTALSTACKER, REG_EXTENDED)) { - INTERESTING("CrystalStacker"); - } - cleanLicenceBuffer(); - /* - * 3GPP - */ - if (INFILE(_LT_3GPP)) { - INTERESTING("3GPP"); - } - cleanLicenceBuffer(); - /* - * ITU-T - */ - if (INFILE(_LT_ITU_T_1) || INFILE(_LT_ITU_T_2) || HASTEXT(_TITLE_ITU_T, 0)) { - INTERESTING("ITU-T"); - } - cleanLicenceBuffer(); - /* - * Sun Public License - */ - if (!lmem[_mSUN] && !lmem[_mMPL]) { - if (INFILE(_TITLE_SUN_PL10)) { - INTERESTING("SPL-1.0"); - } - else if (!lmem[_fREAL] && INFILE(_TITLE_SUN_PL)) { - INTERESTING("SPL"); - } - } - cleanLicenceBuffer(); - /* - * libtiff, note that license text is detected earlier - */ - if (INFILE(_PHR_LIBTIFF)) { - INTERESTING("libtiff"); - } - cleanLicenceBuffer(); - /* - * Imlib2 - */ - if (INFILE(_PHR_Imlib2)) { - INTERESTING("Imlib2"); - } - cleanLicenceBuffer(); - /* - * Wide Open License (WOL) - */ - if (INFILE(_TITLE_WOL) || INFILE(_URL_WOL)) { - INTERESTING("WOL"); - } - cleanLicenceBuffer(); - /* - * naist-2003 - */ - if (INFILE(_LT_NAIST_2003) && HASTEXT(_TEXT_NAIST, 0)) { - INTERESTING("naist-2003"); - } - cleanLicenceBuffer(); - /* - * EDL-1.0 - */ - if (INFILE(_TITLE_EDL_V10)) { - INTERESTING("EDL-1.0"); - } - cleanLicenceBuffer(); - /* - * HSQLDB - */ - if (INFILE(_LT_HSQLDB_1) || INFILE(_LT_HSQLDB_2) || INFILE(_LT_HSQLDB_3)) { - INTERESTING("HSQLDB"); - } - cleanLicenceBuffer(); - /* - * Sony Computer Entertainment (SCEA) Shared Source License - */ - if (INFILE(_TITLE_SCEA)) { - INTERESTING("SCEA"); - } - cleanLicenceBuffer(); - /* - * OpenMap - */ - if (INFILE(_TITLE_OPENMAP)) { - INTERESTING("OpenMap"); - lmem[_fPDDL] = 1; - } - cleanLicenceBuffer(); - /* - * ICU 1.8.1 - */ - if (INFILE(_LT_ICU_1) || INFILE(_TITLE_ICU) || INFILE(_SPDX_ICU)) { - INTERESTING("ICU"); - } - else if (INFILE(_PHR_ICU_1)) { - INTERESTING("ICU"); - } - cleanLicenceBuffer(); - /* - * Ubuntu Font License - */ - if (INFILE(_TITLE_UBUNTU_FONT)) { - INTERESTING("ubuntu-font-1.0"); - lmem[_fPDDL] = 1; - } - cleanLicenceBuffer(); - /* - * ODC Attribution License - */ - if (INFILE(_LT_ODC)) { - INTERESTING("ODC-By-1.0"); - pd = 0; - } - cleanLicenceBuffer(); - /* - * Community Data License Agreement - */ - if (INFILE(_TITLE_CDLA_Permissive_10)) { - INTERESTING("CDLA-Permissive-1.0"); - } - else if (INFILE(_TITLE_CDLA_Sharing_10)) { - INTERESTING("CDLA-Sharing-1.0"); - } - cleanLicenceBuffer(); - /* - * Toolbar2000 - */ - if (INFILE(_TITLE_Toolbar2000) || INFILE(_URL_Toolbar2000)) { - INTERESTING("Toolbar2000"); - } - cleanLicenceBuffer(); - /* - * unboundID-ldap-sdk - */ - if (INFILE(_TITLE_unboundID_ldap_sdk) || INFILE(_LT_unboundID_ldap_sdk)) { - INTERESTING("unboundID-ldap-sdk"); - } - cleanLicenceBuffer(); - /* - * BlueOak-1.0.0 - */ - if (INFILE(_TITLE_BlueOak_100) || URL_INFILE(_URL_BlueOak_100)) { - INTERESTING("BlueOak-1.0.0"); - } - else if (INFILE(_LT_BlueOak_100_Purpose) && INFILE(_LT_BlueOak_100_Acceptance)) { - INTERESTING("BlueOak-1.0.0"); - } - cleanLicenceBuffer(); - /* - * CERN-OHL - */ - if (INFILE(_TITLE_CERN_OHL_11)) { - INTERESTING("CERN-OHL-1.1"); - } - else if (INFILE(_TITLE_CERN_OHL_12)) { - INTERESTING("CERN-OHL-1.2"); - } - cleanLicenceBuffer(); - /* - * MulanPSL - */ - if (INFILE(_TITLE_MulanPSL_10) || URL_INFILE(_URL_MulanPSL) || INFILE(_LT_MulanPSL_10)) { - INTERESTING("MulanPSL-1.0"); - } - cleanLicenceBuffer(); - /* - * SSH - */ - if (INFILE(_LT_FREE_72) && HASTEXT(_LT_SSH, REG_EXTENDED)) { - if (INFILE(_LT_SSH_OpenSSH)) { - INTERESTING("SSH-OpenSSH"); - } - else { - INTERESTING("SSH-short"); - } - } - cleanLicenceBuffer(); - - SPDXREF(); - cleanLicenceBuffer(); - EXCEPTIONS(); - cleanLicenceBuffer(); - - /* - * The Stallman paper "Why Software Should Be Free" is a red-herring. - * His 1986 interview in Byte magazine also is, too. - */ - if ((INFILE(_TITLE_RMS_WSSBF) && INFILE(_PHR_RMS1) && - INFILE(_PHR_RMS2)) || INFILE(_TITLE_RMS_BYTE86)) { - if (lDiags) { - printf("... RMS propaganda\n"); - } - lmem[_fDOC] = 1; - } - cleanLicenceBuffer(); - /* - * If there's a no-warranty statement in the file, remember the regex. - * Ditto for phrase stating restrictions. - */ - if (maxInterest != IL_HIGH) { - for (i = 0; i < NNOWARRANTY; i++) { - if (INFILE((j = _NO_WARRANTY_first+i))) { - nw = j; - break; - } - } - } - addLicence(cur.theMatches,"NoWarranty"); - - /* - * Statements about IP (Intellectual Property) rights - */ - if (!lmem[_fIP] && INFILE(_LT_GEN_IP_1)) { - INTERESTING(lDebug ? "IP(1)" : "IP-claim"); - } - else if (!lmem[_fIP] && INFILE(_LT_GEN_IP_2) && NOT_INFILE(_TITLE_MIROS)) { - INTERESTING(lDebug ? "IP(2)" : "IP-claim"); - } - else if (!lmem[_fIP] && INFILE(_LT_GEN_IP_3)) { - INTERESTING(lDebug ? "IP(3)" : "IP-claim"); - } - cleanLicenceBuffer(); - /* - * Dual licenses - */ - if (INFILE(_LT_DUAL_LICENSE_0) && NOT_INFILE(_TITLE_NOSL)) { - MEDINTEREST(lDebug ? "Dual-license(0)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_22)) { - MEDINTEREST(lDebug ? "Dual-license(22)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_1) && NOT_INFILE(_TITLE_NOSL)) { - MEDINTEREST(lDebug ? "Dual-license(1)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_2)) { - MEDINTEREST(lDebug ? "Dual-license(2)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_3) && NOT_INFILE(_LT_DUAL_LICENSE_3_EXHIBIT)) { - MEDINTEREST(lDebug ? "Dual-license(3)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_4)) { - MEDINTEREST(lDebug ? "Dual-license(4)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_5)) { - MEDINTEREST(lDebug ? "Dual-license(5)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_6)) { - MEDINTEREST(lDebug ? "Dual-license(6)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_7)) { - MEDINTEREST(lDebug ? "Dual-license(7)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_8)) { - MEDINTEREST(lDebug ? "Dual-license(8)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_9)) { - MEDINTEREST(lDebug ? "Dual-license(9)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_10)) { - MEDINTEREST(lDebug ? "Dual-license(10)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_11)) { - MEDINTEREST(lDebug ? "Dual-license(11)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_12)) { - MEDINTEREST(lDebug ? "Dual-license(12)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_13)) { - INTERESTING(lDebug ? "Dual-license(13)" : "Dual-license"); - INTERESTING("BSD"); - INTERESTING("MIT"); - /* - * A special case for NomosTestfiles/Dual-license/respond.js - * that has two dual-license statements. - */ - if (!lmem[_mGPL]) { - if (INFILE(_LT_DUAL_LICENSE_16)) { - INTERESTING(lDebug ? "GPLV2(Dual-license(16))" : "GPL-2.0"); - } - } - } - else if (INFILE(_LT_DUAL_LICENSE_14)) { - INTERESTING(lDebug ? "Dual-license(14)" : "Dual-license"); - INTERESTING("BSD"); - if (!lmem[_mGPL]) { - INTERESTING("GPL"); - } - } - else if (INFILE(_LT_DUAL_LICENSE_15)) { - MEDINTEREST(lDebug ? "Dual-license(15)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_16)) { - INTERESTING(lDebug ? "Dual-license(16)" : "Dual-license"); - INTERESTING("MIT"); - INTERESTING(lDebug ? "GPLV2(Dual-license(16))" : "GPL-2.0"); - } - else if (INFILE(_LT_DUAL_LICENSE_17)) { - MEDINTEREST(lDebug ? "Dual-license(17)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_18)) { - MEDINTEREST(lDebug ? "Dual-license(18)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_19)) { - MEDINTEREST(lDebug ? "Dual-license(19)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_20)) { - MEDINTEREST(lDebug ? "Dual-license(20)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_21)) { - MEDINTEREST(lDebug ? "Dual-license(21)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_23)) { - MEDINTEREST(lDebug ? "Dual-license(23)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_24)) { - MEDINTEREST(lDebug ? "Dual-license(24)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_25)) { - MEDINTEREST(lDebug ? "Dual-license(25)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_26)) { - MEDINTEREST(lDebug ? "Dual-license(26)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_27)) { - MEDINTEREST(lDebug ? "Dual-license(27)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_28)) { - MEDINTEREST(lDebug ? "Dual-license(28)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_29) && NOT_INFILE(_LT_MPL_SECONDARY_LICENSE)) { - MEDINTEREST(lDebug ? "Dual-license(29)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_30)) { - MEDINTEREST(lDebug ? "Dual-license(30)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_31)) { - MEDINTEREST(lDebug ? "Dual-license(31)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_32)) { - MEDINTEREST(lDebug ? "Dual-license(32)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_33)) { - MEDINTEREST(lDebug ? "Dual-license(33)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_34)) { - MEDINTEREST(lDebug ? "Dual-license(34)" : "Dual-license"); - } - else if (HASTEXT(_LT_DUAL_LICENSE_35, 0)) { - MEDINTEREST(lDebug ? "Dual-license(35)" : "Dual-license"); - /* - * GPL is not detected correctly in this case, therefore it is set here. - */ - INTERESTING("GPL"); - } - else if (INFILE(_LT_DUAL_LICENSE_36)) { - MEDINTEREST(lDebug ? "Dual-license(36)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_37)) { - MEDINTEREST(lDebug ? "Dual-license(37)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_38)) { - MEDINTEREST(lDebug ? "Dual-license(38)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_39)) { - MEDINTEREST(lDebug ? "Dual-license(39)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_40)) { - MEDINTEREST(lDebug ? "Dual-license(40)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_41)) { - MEDINTEREST(lDebug ? "Dual-license(41)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_42)) { - MEDINTEREST(lDebug ? "Dual-license(42)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_43)) { - MEDINTEREST(lDebug ? "Dual-license(43)" : "Dual-license"); - } - else if (HASTEXT(_LT_DUAL_LICENSE_44, 0)) { - MEDINTEREST(lDebug ? "Dual-license(44)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_45)) { - MEDINTEREST(lDebug ? "Dual-license(45)" : "Dual-license"); - INTERESTING("MIT"); - } - else if (HASTEXT(_LT_DUAL_LICENSE_46, REG_EXTENDED)) { - MEDINTEREST(lDebug ? "Dual-license(46)" : "Dual-license"); - } - else if (HASTEXT(_LT_DUAL_LICENSE_47, REG_EXTENDED) && NOT_INFILE(_LT_MPL_SECONDARY_LICENSE)) { - MEDINTEREST(lDebug ? "Dual-license(47)" : "Dual-license"); - } - else if (INFILE(_LT_DUAL_LICENSE_48)) { - MEDINTEREST(lDebug ? "Dual-license(48)" : "Dual-license"); - } - else if (HASTEXT(_LT_DUAL_LICENSE_49, REG_EXTENDED)) { - MEDINTEREST(lDebug ? "Dual-license(49)" : "Dual-license"); - } - cleanLicenceBuffer(); - /* - * The Beer-ware license(!) - */ - if (INFILE(_LT_BEERWARE)) { - INTERESTING("Beerware"); - } - cleanLicenceBuffer(); - /* - * CMake license - */ - if (URL_INFILE(_URL_CMAKE)) { - INTERESTING("CMake"); - } - cleanLicenceBuffer(); - /* - * unRAR restriction - */ - if (INFILE(_LT_UNRARref1) || INFILE(_LT_UNRARref2)) { - INTERESTING("unRAR restriction"); - } - cleanLicenceBuffer(); - /* - * ANTLR Software Rights Notice - */ - if (INFILE(_LT_ANTLR)) { - INTERESTING("ANTLR-PD"); - lmem[_fANTLR] = 1; - } - cleanLicenceBuffer(); - /* - * Creative Commons Zero v1.0 Universal - */ - if (INFILE(_SPDX_CC0_10)) { - INTERESTING("CC0-1.0"); - } - else if (INFILE(_TITLE_CC0_10_1) || INFILE(_PHR_CC0_1) || INFILE(_PHR_CC0_2)) { - INTERESTING("CC0-1.0"); - } - cleanLicenceBuffer(); - /* - * PA Font License (IPA) - */ - if (INFILE(_TITLE_IPA)) { - INTERESTING("IPA"); - } - cleanLicenceBuffer(); - /* - * European Union Public Licence - */ - if (INFILE(_PHR_EUPL_10) || INFILE(_TITLE_EUPL_10)) { - INTERESTING("EUPL-1.0"); - } - else if (INFILE(_PHR_EUPL_11) || INFILE(_TITLE_EUPL_11)) { - INTERESTING("EUPL-1.1"); - } - else if (INFILE(_TITLE_EUPL_12)) { - INTERESTING("EUPL-1.2"); - } - else if (INFILE(_PHR_EUPL)) { - INTERESTING("EUPL"); - } - cleanLicenceBuffer(); - /* University of Illinois/NCSA Open Source License */ - if (!lmem[_fNCSA] && INFILE(_TITLE_NCSA) && NOT_INFILE(_TITLE_NCSA_EXHIBIT)) { - INTERESTING(lDebug ? "NCSA(2)" : "NCSA"); - /* OZPLB-1.1 refers both to NCSA and OZPLB-1.1 licenses */ - if (INFILE(_TITLE_OZPLB_11)) { - INTERESTING("OZPLB-1.1"); - } - lmem[_fBSD] = 1; - lmem[_mMIT] = 1; - } - cleanLicenceBuffer(); - /* ODC Public Domain Dedication & License 1.0 */ - if (INFILE(_TITLE_PDDL)) { - INTERESTING("PDDL-1.0"); - lmem[_fPDDL] = 1; - } - cleanLicenceBuffer(); - /* PostgreSQL License */ - if (INFILE(_TITLE_POSTGRES) || INFILE(_TITLE_POSTGRES_1)) { - INTERESTING("PostgreSQL"); - lmem[_fBSD] = 1; - } - cleanLicenceBuffer(); - /* Sax Public Domain Notice */ - if (INFILE(_LT_SAX_PD)) { - INTERESTING("SAX-PD"); - lmem[_fSAX] = 1; - } - cleanLicenceBuffer(); - /* - * WTF Public "license" - */ - if (INFILE(_LT_WTFPL)) { - INTERESTING("WTFPL"); - } - else if (INFILE(_LT_WTFPLref)) { - INTERESTING(lDebug ? "WTFPL(ref)" : "WTFPL"); - } - else if (INFILE(_LT_WTFPLref_1)) { - INTERESTING(lDebug ? "WTFPL(ref#1)" : "WTFPL"); - } - else if (INFILE(_PHR_WTFPL)) { - INTERESTING(lDebug ? "WTFPL(phr)" : "WTFPL"); - } - cleanLicenceBuffer(); - /* Independent JPEG Group License */ - if (!lmem[_fIJG]) { - if (HASTEXT(_PHR_IJG_1, REG_EXTENDED)) { - INTERESTING("IJG"); - } - else if (HASTEXT(_PHR_IJG_2, 0)) { - INTERESTING("IJG"); - } - else if (HASTEXT(_TITLE_IJG_1, 0) && !HASTEXT(_PHR_IJG_INTERFACE_1, 0) && !HASTEXT(_PHR_IJG_INTERFACE_2, 0)) { - INTERESTING("IJG"); - } - /* Independent JPEG Group can be referenced without IJG license*/ - else if (HASTEXT(_TITLE_IJG_2, 0) && !HASTEXT(_PHR_IJG_INTERFACE_1, 0) && !HASTEXT(_PHR_IJG_INTERFACE_2, 0)) { - INTERESTING("IJG-possibility"); - } - cleanLicenceBuffer(); - } - /* Netizen Open Source License */ - if (!lmem[_mMPL] && INFILE(_TITLE_NOSL)) { - INTERESTING(lDebug ? "NOSL(#2)" : "NOSL"); - } - cleanLicenceBuffer(); - /* Net Boolean Public License v1 */ - if (INFILE(_TITLE_NBPL_V10)) { - INTERESTING("NBPL-1.0"); - } - cleanLicenceBuffer(); - /* Flora License */ - if (INFILE(_TITLE_Flora_V10)) { - INTERESTING("Flora-1.0"); - } - else if (INFILE(_TITLE_Flora_V11)) { - INTERESTING("Flora-1.1"); - } - else if (URL_INFILE(_URL_Flora)) { - INTERESTING("Flora"); - } - cleanLicenceBuffer(); - /* Standard ML of New Jersey License */ - if (INFILE(_TITLE_SMLNJ)) { - INTERESTING("SMLNJ"); - } - cleanLicenceBuffer(); - /* Mozilla Public License possibility */ - if (!lmem[_mMPL] && INFILE(_TEXT_MPLV2) && INFILE(_URL_MPL20)) { - INTERESTING("MPL-2.0"); - lmem[_mMPL] = 1; - } - else if (!lmem[_mMPL] && URL_INFILE(_URL_MPL_LATEST)) { - INTERESTING(lDebug ? "MPL(latest)" : "MPL"); - } - cleanLicenceBuffer(); - /* Citrix License */ - if (INFILE(_TITLE_CITRIX)) { - INTERESTING("Citrix"); - lmem[_fCITRIX] = 1; - } - cleanLicenceBuffer(); - /* CUA office public license */ - if (INFILE(_TITLE_CUA10)) { - INTERESTING("CUA-OPL-1.0"); - } - cleanLicenceBuffer(); - /* the Erlang Public License */ - if (INFILE(_TITLE_ERLPL_ref)) { - INTERESTING("ErlPL-1.1"); - } - cleanLicenceBuffer(); - /* German Free Software License */ - if (INFILE(_TITLE_D_FSL_10) || INFILE(_TITLE_D_FSL_DE1_10) || INFILE(_TITLE_D_FSL_DE2_10) || INFILE(_TITLE_D_FSL_DE3_10) || INFILE(_TITLE_D_FSL_DE4_10)) - { - INTERESTING("D-FSL-1.0"); - lmem[_mGPL] = 1; - } - cleanLicenceBuffer(); - /* CCLRC License */ - if (INFILE(_TITLE_CCLRC)) { - INTERESTING("CCLRC"); - } - cleanLicenceBuffer(); - - /* Some GPL cases are still missing */ - if (!lmem[_mGPL] && (INFILE(_LT_GPL_V2_ref) || INFILE(_LT_GPL_V2_ref1) || INFILE(_LT_GPL_V2_ref2) || INFILE(_LT_GPL_V2_ref3) || INFILE(_LT_GPL_V2_ref4))) - { - INTERESTING(lDebug ? "GPL_V2_ref" : "GPL-2.0"); - lmem[_mGPL] = 1; - } - else if (!lmem[_mGPL] && INFILE(_LT_GPL_V3_ref)) - { - INTERESTING(lDebug ? "GPL_V3_ref" : "GPL-3.0"); - lmem[_mGPL] = 1; - } - else if (!lmem[_mGPL] && INFILE(_LT_GPLref22)) - { - INTERESTING(lDebug ? "GPLref22" : "GPL"); - lmem[_mGPL] = 1; - } - else if (!lmem[_mGPL] && NOT_INFILE(_LT_IGNORE_CLAUSE_2) && INFILE(_LT_GPLref21)) - { - INTERESTING(lDebug ? "GPLref21" : "GPL"); - lmem[_mGPL] = 1; - } - cleanLicenceBuffer(); - - /* MX4J License version 1.0 */ - if (INFILE(_LT_MX4J_V10)) - { - INTERESTING("MX4J-1.0"); - } - else if (INFILE(_LT_MX4J)) - { - INTERESTING("MX4J"); - } - cleanLicenceBuffer(); - /* postfix license */ - if (INFILE(_TITLE_POSTFIX)) - { - INTERESTING("Postfix"); - } - cleanLicenceBuffer(); - /* not public domain */ - if (HASTEXT(_LT_PUBDOM_NOTclaim, REG_EXTENDED)) { - if (INFILE(_LT_PUBDOM_CC)) { - INTERESTING(lDebug ? "Pubdom(CC)" : "CC-PDDC"); - pd = 1; - } - else { - INTERESTING(LS_NOT_PD); - pd = 0; - } - } - cleanLicenceBuffer(); - /* LIBGCJ license */ - if (INFILE(_LT_LIBGCJ)) - { - INTERESTING("LIBGCJ"); - } - cleanLicenceBuffer(); - /* open cascade technology public license */ - if (INFILE(_TITLE_OPEN_CASCADE)) - { - INTERESTING("OpenCASCADE-PL"); - } - cleanLicenceBuffer(); - /* KnowledgeTree Public License */ - if (INFILE(_LT_KnowledgeTree_V11)) - { - INTERESTING("KnowledgeTree-1.1"); - } - cleanLicenceBuffer(); - /* Interbase Public License */ - if (INFILE(_LT_Interbase_V10)) - { - INTERESTING("Interbase-1.0"); - } - cleanLicenceBuffer(); - /* ClearSilver license */ - if (INFILE(_LT_ClearSilver)) - { - INTERESTING("ClearSilver"); - } - cleanLicenceBuffer(); - /* ACE, TAO, CIAO */ - if(INFILE(_LT_ACE)) { - INTERESTING("ACE"); - } - else if(INFILE(_LT_FACE)) { - INTERESTING("FaCE"); - } - cleanLicenceBuffer(); - /* JISP */ - if(INFILE(_LT_JISP)) { - INTERESTING("JISP"); - } - cleanLicenceBuffer(); - /* Qmail */ - if(INFILE(_LT_QMAIL)) { - INTERESTING("Qmail"); - } - cleanLicenceBuffer(); - /* Migemo */ - if(INFILE(_LT_MIGEMO)) { - INTERESTING("Migemo"); - } - cleanLicenceBuffer(); - /* Sendmail */ - if(INFILE(_LT_Sendmail_title) ) { - INTERESTING("Sendmail"); - } - cleanLicenceBuffer(); - /* Giftware */ - if(INFILE(_LT_GIFTWARE)) { - INTERESTING("Giftware"); - } - cleanLicenceBuffer(); - /* Logica opensource */ - if(INFILE(_LT_LOGICA)) { - INTERESTING("Logica-OSL-1.0"); - } - cleanLicenceBuffer(); - /* Unidex */ - if(INFILE(_LT_UNIDEX)) { - INTERESTING("Unidex"); - } - cleanLicenceBuffer(); - /* TCL License */ - if (!lmem[_fTCL]) { - if (INFILE(_TITLE_TCL)) { - INTERESTING("TCL"); - } - else if (INFILE(_SPDX_TCL)) { - INTERESTING("TCL"); - } - else if (INFILE(_LT_TCL)) { - INTERESTING("TCL"); - } - } - cleanLicenceBuffer(); - /* AndroidSDK-Commercial license */ - if (INFILE(_LT_GOOGLE_SDK)) { - INTERESTING("AndroidSDK.Commercial"); - } - cleanLicenceBuffer(); - /* Qhull license */ - if (INFILE(_PHR_Qhull)) { - INTERESTING("Qhull"); - } - cleanLicenceBuffer(); - /* OZPLB-1.0 license */ - if (INFILE(_PHR_OZPLB_10)) { - INTERESTING("OZPLB-1.0"); - } - cleanLicenceBuffer(); - - /* - * Some licenses say "licensed under the same terms as FOO". - */ - gl.flags |= FL_SAVEBASE; /* save match buffer (if any) */ - if (*licStr == NULL_CHAR) { - i = 0; - if (INFILE(_LT_SAME_LICENSE_1)) { - INTERESTING(lDebug ? "Same-lic-1" : "Same-license-as"); - i = 1; - } else if (INFILE(_LT_SAME_LICENSE_2)) { - INTERESTING(lDebug ? "Same-lic-2" : "Same-license-as"); - i = 2; - } - if (i) { - if (cur.licPara == NULL_STR) { - saveLicenseParagraph(cur.matchBase, isML, isPS, NO); - } - } - } - cleanLicenceBuffer(); - gl.flags |= ~FL_SAVEBASE; /* turn off, regardless */ - /* - * ... and, there are several generic claims that "you are free to use this - * software". - * We call these claims "Freeware", because you can use the software free of charge, - * but some other copyright holder exclusive rights are not granted in some cases. - */ - if (*licStr == NULL_CHAR || pd >= 0) { - for (i = 0; i < NFREECLAIM; i++) { - if (CANSKIP(i, _KW_permission, _FREE_first_perm, - _FREE_last_perm)) { - i = _FREE_last_perm; - continue; - } - if (CANSKIP(i, _KW_distribut, _FREE_first_dist, - _FREE_last_dist)) { - i = _FREE_last_dist; - continue; - } - if (INFILE(_FREECLAIM_first+i)) { - (void) strcpy(name, "Freeware"); - if (lDebug) { - (void) sprintf(name+8, "(%d)", i+1); - } - INTERESTING(name); - break; - } - } - } - cleanLicenceBuffer(); - /* Check for Public Domain */ - if (!lmem[_fANTLR] && !lmem[_fCLA] && !lmem[_mPYTHON] && !lmem[_mGFDL] && - !lmem[_fODBL] && !lmem[_fPDDL] && !lmem[_fRUBY] && !lmem[_fSAX] && !lmem[_fAPL] && !lmem[_mAPACHE] && !lmem[_mAPACHE10] && !lmem[_mAPACHE11] && - !lmem[_fARTISTIC] && !lmem[_fCITRIX] && !lmem[_mLGPL] && !lmem[_fBSD]&& NOT_INFILE(_TITLE_D_FSL_10) - && !INFILE(_LT_CPOL)) { - pd = checkPublicDomain(filetext, size, score, kwbm, isML, isPS); - } - cleanLicenceBuffer(); - /* - * Some licenses point you to files/URLs... - */ - if (*licStr == NULL_CHAR) { - checkFileReferences(filetext, size, score, kwbm, isML, isPS); - } - cleanLicenceBuffer(); - /* - * And, If no other licenses are present but there's a reference to - * something being non-commercial, better note it now. - */ -#if 0 - if (*licStr == NULL_CHAR && !HASKW(kwbm, _KW_public_domain)) -#endif - if (maxInterest != IL_HIGH && !HASKW(kwbm, _KW_public_domain) && - NOT_INFILE(_PHR_COMMERC_NONCOMM)) { - if (INFILE(_LT_NONCOMMERCIAL_1)) { - INTERESTING(lDebug ? "NonC(1)" : "Non-commercial"); - } - else if (INFILE(_LT_ZZNON_COMMERC1)) { - INTERESTING(lDebug ? "NonC(2)" : "Non-commercial"); - } - else if (INFILE(_LT_ZZNON_COMMERC2)) { - INTERESTING(lDebug ? "NonC(3)" : "Non-commercial"); - } - else if (HASTEXT(_TEXT_COMMERC, 0) && - INFILE(_PHR_NONCOMMERCIAL)) { - INTERESTING(lDebug ? "NonC(4)" : "Non-commercial"); - } - } - if (INFILE(_LT_NOT_OPENSOURCE)) { - INTERESTING("Not-OpenSource"); - } - listClear(&whereList, NO); /* again, clear "unused" matches */ - cleanLicenceBuffer(); - /* - * Look for footprints that declare something as proprietary... if we such - * a statement, we care about the Copyright owner, too. - */ - if (maxInterest != IL_HIGH) { /* if (*licStr == NULL_CHAR) { */ - j = 0; /* just a flag */ - if (INFILE(_LT_GEN_PROPRIETARY_1)) { - INTERESTING(lDebug ? "Prop(1)" : "COMMERCIAL"); - j++; - } - else if (INFILE(_LT_GEN_PROPRIETARY_2)) { - INTERESTING(lDebug ? "Prop(2)" : "COMMERCIAL"); - j++; - } - else if (INFILE(_LT_GEN_PROPRIETARY_3)) { - INTERESTING(lDebug ? "Prop(3)" : "COMMERCIAL"); - j++; - } - else if (INFILE(_LT_GEN_PROPRIETARY_4)) { - INTERESTING(lDebug ? "Prop(4)" : "COMMERCIAL"); - j++; - } - else if (INFILE(_LT_GEN_PROPRIETARY_5)) { - INTERESTING(lDebug ? "Prop(5)" : "COMMERCIAL"); - j++; - } - else if (INFILE(_LT_GEN_PROPRIETARY_6)) { - INTERESTING(lDebug ? "Prop(6)" : "COMMERCIAL"); - j++; - } - else if (INFILE(_LT_GEN_PROPRIETARY_7)) { - INTERESTING(lDebug ? "Prop(7)" : "COMMERCIAL"); - j++; - } - else if (INFILE(_LT_GEN_PROPRIETARY_8)) { - INTERESTING(lDebug ? "Prop(8)" : "COMMERCIAL"); - j++; - } - if (j) { - checkCornerCases(filetext, size, score, kwbm, isML, - isPS, nw, YES); - } - } - listClear(&whereList, NO); /* again, clear "unused" matches */ - cleanLicenceBuffer(); - /* - * END of license-footprint checking of known patterns/strings - ****** - * Plan-B: look for things attorneys generally believe aren't "overly - * legally-binding" or "uninterestring from a license perspective': - * ... notable references to commercial, non-commercial, not-for-profit, - * not-an-open-source-license, etc. - */ - if (maxInterest != IL_HIGH) { - if (INFILE(_LT_COMMERCIAL_1)) { - INTERESTING(lDebug ? "COMM(1)" : "COMMERCIAL"); - } - else if (INFILE(_LT_COMMERCIAL_2)) { - INTERESTING(lDebug ? "COMM(2)" : "COMMERCIAL"); - } - else if (HASTEXT(_LT_COMMERCIAL_3, REG_EXTENDED)) { - if (HASTEXT(_LT_COMMERCIAL_Intel, REG_EXTENDED)) { - INTERESTING("Intel.Commercial"); - } else if (HASTEXT(_LT_COMMERCIAL_Broadcom, REG_EXTENDED)) { - INTERESTING("Broadcom.Commercial"); - } else { - INTERESTING(lDebug ? "COMM(3)" : "COMMERCIAL"); - } - } - else if (INFILE(_LT_COMMERCIAL_4)) { - if (HASTEXT(_LT_COMMERCIAL_Android_Fraunhofer, 0)) { - INTERESTING("AndroidFraunhofer.Commercial"); - } else { - INTERESTING(lDebug ? "COMM(4)" : "COMMERCIAL"); - } - } - else if (HASTEXT(_TEXT_BOOK, 0) && INFILE(_LT_BOOKPURCHASE)) { - INTERESTING(lDebug ? "PurchBook" : "COMMERCIAL"); - } - else if (INFILE(_LT_COMMERCIAL_5)) { - INTERESTING(lDebug ? "COMM(5)" : "COMMERCIAL"); - } - else if (INFILE(_LT_COMMERCIAL_6)) { - INTERESTING(lDebug ? "COMM(6)" : "COMMERCIAL"); - } - if (INFILE(_LT_NONPROFIT_1)) { - MEDINTEREST(lDebug ? "NonP(1)" : "Non-profit"); - } - else if (!lmem[_mPYTH_TEXT] && HASTEXT(_TEXT_PROFIT, 0) && - INFILE(_PHR_NONPROFIT)) { - if (!(lmem[_fIETF] + lmem[_fDOC])) { - MEDINTEREST(lDebug ? "NonP(2)" : "Non-profit"); - } - } - if (INFILE(_PHR_NO_SALE)) { - MEDINTEREST("Not-for-sale"); - } - if (!lmem[_mALADDIN] && INFILE(_PHR_NOT_OPEN)) { - MEDINTEREST("NOT-Open-Source"); - } - if (HASKW(kwbm, _KW_patent) && INFILE(_PHR_PATENT) && NOT_INFILE(_PHR_PATENT_NOT)) { - MEDINTEREST("Patent-ref"); - } - if (INFILE(_PHR_RESTRICT_RIGHTS)) { - if (INFILE(_PHR_USGOVT_RESTRICT)) { - MEDINTEREST("Govt-restrict"); - } - else { - MEDINTEREST("Restricted-rights"); - } - } - if (INFILE(_LT_EXPORTS_USA)) { - MEDINTEREST("US-Export-restrict"); - } - if (pd < 0) { - checkPublicDomain(filetext, size, score, kwbm, isML, isPS); - } - } - listClear(&whereList, NO); /* again, clear "unused" matches */ - cleanLicenceBuffer(); - /* - * These "minimal-reference possibilities" MUST adhere to a prescribed - * format: the name to be used MUST be the first of several name to match: - * "(NAME identifier|NAME license|license NAME)" - ***** - * Furthermore, licenses should be ordered from the most-specific to the - * least-specific; e.g., look for LGPL_v3 before looking for LGPL -- the - * strGrep() calls below ensure reporting only more-specific license - * versions if found. For instance, if you order LGPL *before* LGPL_v3 - * we'll get both LGPLv3 and LGPL, which is redundant AND looks stupid. - */ - if (*licStr == NULL_CHAR && HASKW(kwbm, _KW_license)) { - for (i = 0, j = _MINlicense_first; i < NMINlicense; i++, j++) { - if (dbgIdxGrep(j, filetext, lDiags)) { - cp = strchr(_REGEX(j), ' '); - if (cp == NULL_STR) { - Assert(NO, "Bad reference[1] %d", j); - continue; - } - *cp = NULL_CHAR; - if (!(*licStr) || !strGrep(_REGEX(j)+1, licStr, - REG_ICASE)) { - (void) sprintf(name, "%s-possibility", - _REGEX(j)+1); - LOWINTEREST(name); - } - *cp = ' '; - } - } - } - listClear(&whereList, NO); /* again, clear "unused" matches */ - cleanLicenceBuffer(); - if (*licStr == NULL_CHAR && HASTEXT(_TEXT_SOURCE, 0)) { - for (i = 0, j = _MINsource_first; i < NMINsource; i++, j++) { - if (dbgIdxGrep(j, filetext, lDiags)) { - cp = strchr(_REGEX(j), ' '); - if (cp == NULL_STR) { - Assert(NO, "Bad reference[2] %d", j); - continue; - } - *cp = NULL_CHAR; - if (!(*licStr) || !strGrep(_REGEX(j)+1, licStr, - REG_ICASE)) { - (void) sprintf(name, "%s-possibility", - _REGEX(j)+1); - LOWINTEREST(name); - } - *cp = ' '; - } - } - } - listClear(&whereList, NO); /* again, clear "unused" matches */ - cleanLicenceBuffer(); - if (*licStr == NULL_CHAR && HASTEXT(_KW_copyright, 0)) { - for (i = 0, j = _MINcpyrt_first; i < NMINcpyrt; i++, j++) { - if (dbgIdxGrep(j, filetext, lDiags)) { - cp = strchr(_REGEX(j), ' '); - if (cp == NULL_STR) { - Assert(NO, "Bad reference[2] %d", j); - continue; - } - *cp = NULL_CHAR; - if (!(*licStr) || !strGrep(_REGEX(j)+1, licStr, - REG_ICASE)) { - (void) sprintf(name, "%s-possibility", - _REGEX(j)+1); - LOWINTEREST(name); - } - *cp = ' '; - } - } - } - listClear(&whereList, NO); /* again, clear "unused" matches */ - cleanLicenceBuffer(); - /* - * NOW look for unclassified licenses, if we haven't found anything yet. - * And avoid checking .po files -- message catalogues are known to have - * false-positives. - ***** - * FIX-ME: if a file contains ONLY a "no warranty" description/clause, it - * will (currently) get flagged as an UnclassifiedLicense (so the check - * for no-warranty was moved ABOVE this check in case we can use that info) - */ - if (maxInterest != IL_HIGH && !lmem[_fDOC]) { - if (!pd && - checkUnclassified(filetext, size, scp->score, isML, - isPS, nw)) { - strncpy(name, LS_UNCL, sizeof(name)-1); - if (isPS) { - strcat(name, "(PS)"); - } - MEDINTEREST(name); - checkCornerCases(filetext, size, score, kwbm, isML, isPS, nw, YES); - } -#ifdef UNKNOWN_CHECK_DEBUG - else { - printf("... NOT an Unclassified license, NW %d PD %d\n", - nw, pd); - } -#endif /* UNKNOWN_CHECK_DEBUG */ - } - listClear(&whereList, NO); /* clear "unused" matches */ - cleanLicenceBuffer(); - /* - * If we still haven't found anything, check for the really-low interest - * items such as copyrights, and references to keywords (patent/trademark) - */ - if (maxInterest != IL_HIGH && pd <= 0) { - checkCornerCases(filetext, size, score, kwbm, isML, isPS, - nw, NO); - } -#ifdef MEMSTATS - printf("DEBUG: static lists in parseLicenses():\n"); - listDump(&searchList, -1); - memStats("parseLicenses: pre-Free"); -#endif /* MEMSTATS */ - listClear(&searchList, NO); -#ifdef MEMSTATS - memStats("parseLicenses: EOP"); -#endif /* MEMSTATS */ -#ifdef LTSR_DEBUG - showLTCache("LTSR-results AFTER:"); -#endif /* LTSR_DEBUG */ -#ifdef FLAG_NO_COPYRIGHT - if (!SEEN(_CR_ZZZANY)) { - (void) INFILE(_CR_ZZZANY); - } - if (!SEEN(_CR_ZZZWRONG_1)) { - (void) INFILE(_CR_ZZZWRONG_1); - } - if (LVAL(_CR_ZZZANY)+LVAL(_CR_ZZZWRONG_1)+ - HASREGEX(_CR_ZZZWRONG_2, filetext) == 0) { - gl.flags |= FL_NOCOPYRIGHT; - } -#endif /* FLAG_NO_COPYRIGHT */ - listClear(&whCacheList, NO); - if (whereList.used) { - listClear(&whereList, NO); /* may already be cleared! */ - } - return(licStr+1); /* don't include the leading comma */ -} - -/** - * \brief Check for SISSL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return SISSL license shortname - */ -char *sisslVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - -#ifdef PROC_TRACE - traceFunc("== sisslVersion()\n"); -#endif /* PROC_TRACE */ - - if (INFILE(_TITLE_SISSL_V11)) { - lstr = "SISSL-1.1"; - } - else if (INFILE(_TITLE_SISSL_V12)) { - lstr = "SISSL-1.2"; - } else { - lstr = "SISSL"; - } - return lstr; -} - -/** - * \brief Check for ASL Apache versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return ASL Apache license shortname - */ -char *aslVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - -#ifdef PROC_TRACE - traceFunc("== aslVersion()\n"); -#endif /* PROC_TRACE */ - - /* - * Exclude first non-Apache licenses - */ - if (INFILE(_TITLE_PHORUM) || INFILE(_CR_PHORUM)) { - lstr = "Phorum"; - lmem[_mAPACHE] = 1; - } - else if (INFILE(_CR_IMAGEMAGICK)) { - lstr = "ImageMagick(Apache)"; - lmem[_mAPACHE] = 1; - } - /* - * Apache-2.0 cases - */ - else if (INFILE(_SPDX_Apache_20)) { - lstr = (lDebug ? "Apache-2.0(SPDX)" : "Apache-2.0"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_TITLE_Apache_20)) { - lstr = (lDebug ? "Apache-2(f)" : "Apache-2.0"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_PHR_Apache_20_ref1) || INFILE(_PHR_Apache_20_ref2) || INFILE(_PHR_Apache_20_ref3)) - { - lstr = (lDebug ? "PHR_Apache_20_ref(1-5)" : "Apache-2.0"); - lmem[_mAPACHE] = 1; - } - else if (URL_INFILE(_URL_Apache_20)) { - lstr = (lDebug ? "Apache-2.0(u)" : "Apache-2.0"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_LT_Apache_20) && NOT_INFILE(_TITLE_Flora_V10) && NOT_INFILE(_TITLE_Flora_V11) && !URL_INFILE(_URL_Flora)) - { - lstr = (lDebug ? "Apache(2.0#2)" : "Apache-2.0"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_PHR_Apache_20_ref4) || INFILE(_PHR_Apache_20_ref5) || INFILE(_PHR_Apache_20_ref6) || INFILE(_PHR_Apache_20_ref7)) { - lstr = (lDebug ? "Apache(2.0#3)" : "Apache-2.0"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_TITLE_Apache_20)) { - lstr = (lDebug ? "Apache(2.0#4)" : "Apache-2.0"); - lmem[_mAPACHE] = 1; - } - else if (URL_INFILE(_URL_Apache_20_1)) { - lstr = (lDebug ? "Apache2(url#1)" : "Apache-2.0"); - lmem[_mAPACHE] = 1; - } - else if (URL_INFILE(_URL_Apache_20_2)) { - lstr = (lDebug ? "Apache2(url#2)" : "Apache-2.0"); - lmem[_mAPACHE] = 1; - } - /* - * Apache-1.1 cases - */ - else if (INFILE(_SPDX_Apache_11)) { - lstr = (lDebug ? "Apache-1.1(SPDX)" : "Apache-1.1"); - lmem[_mAPACHE11] = 1; - } - else if (INFILE(_TITLE_Apache_11)) { - lstr = (lDebug ? "Apache-1.1(f)" : "Apache-1.1"); - lmem[_mAPACHE11] = 1; - } - else if (URL_INFILE(_URL_Apache_11)) { - lstr = (lDebug ? "Apache-1.1(u)" : "Apache-1.1"); - lmem[_mAPACHE11] = 1; - } - else if (INFILE(_LT_Apache_11_CLAUSE_3) && INFILE(_LT_Apache_11_CLAUSE_4) && INFILE(_LT_Apache_11_CLAUSE_5)) { - lstr = (lDebug ? "Apache-1.1(clauses)" : "Apache-1.1"); - lmem[_mAPACHE11] = 1; - } - else if (INFILE(_PHR_Apache_11_ref1)) { - lstr = (lDebug ? "Apache(1.1#phr)" : "Apache-1.1"); - lmem[_mAPACHE11] = 1; - } - /* - * Apache-1.0 cases - */ - else if (INFILE(_SPDX_Apache_10)) { - lstr = (lDebug ? "Apache-1.0(SPDX)" : "Apache-1.0"); - lmem[_mAPACHE10] = 1; - } - else if (INFILE(_PHR_Apache_ref2)) { - lstr = (lDebug ? "Apache-1.0(f)" : "Apache-1.0"); - lmem[_mAPACHE10] = 1; - } - else if (INFILE(_LT_Apache_10_CLAUSE_4)) { - lstr = (lDebug ? "Apache-1.0(g)" : "Apache-1.0"); - lmem[_mAPACHE10] = 1; - } - else if (URL_INFILE(_URL_Apache_10)) { - lstr = (lDebug ? "Apache-1.0(u)" : "Apache-v1.0"); - lmem[_mAPACHE10] = 1; - } - /* - * BSD-style cases - */ - else if (INFILE(_LT_BSD_1)) { - if (INFILE(_CR_APACHE) || INFILE(_TITLE_Apache)) { - if (INFILE(_PHR_Apache_20_ref6)) { - lstr = (lDebug ? "Apache-20_ref6" : "Apache-2.0"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_PHR_Apache_11_ref2)) { - lstr = (lDebug ? "Apache(1.1#2)" : "Apache-1.1"); - lmem[_mAPACHE11] = 1; - } - else if ((INFILE(_PHR_Apache_ref2) || INFILE(_LT_Apache_10_CLAUSE_4))) { - lstr = (lDebug ? "Apache(1.0#2)" : "Apache-1.0"); - lmem[_mAPACHE10] = 1; - } - else { - lstr = (lDebug ? "Apache(title)" : "Apache"); - lmem[_mAPACHE] = 1; - } - } - } - /* - * Apache without versions - */ - else if (!lmem[_fREAL] && INFILE(_SPDX_Apache)) { - lstr = (lDebug ? "Apache(SPDX)" : "Apache"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_PHR_Apache_ref1)) { - INTERESTING(lDebug ? "Apache(ref#1)" : "Apache"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_PHR_Apache_ref4)) { - lstr = (lDebug ? "Apache(ref#3)" : "Apache"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_PHR_Apache_ref3)) { - lstr = (lDebug ? "Apache(ref#4)" : "Apache"); - lmem[_mAPACHE] = 1; - } - else if (URL_INFILE(_URL_Apache_1)) { - lstr = (lDebug ? "Apache(url#1)" : "Apache"); - lmem[_mAPACHE] = 1; - } - else if (URL_INFILE(_URL_Apache_2)) { - lstr = (lDebug ? "Apache(url#2)" : "Apache"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_PHR_Apache_ref6)) { - lstr = (lDebug ? "Apache(ref#6)" : "Apache"); - lmem[_mAPACHE] = 1; - } - /* - * _LT_Apache_1 and _2 cannot be identified in any Apache license - * versions. They have been defined in very early nomos versions. They - * are kept here, although, there are no special test cases for them. - */ - else if (INFILE(_LT_Apache_1)) { - lstr = (lDebug ? "Apache(1)" : "Apache"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_LT_Apache_2)) { - lstr = (lDebug ? "Apache(2)" : "Apache"); - lmem[_mAPACHE] = 1; - } - else if (INFILE(_LT_APACHESTYLEref)) { - lstr = ("Apache-style"); - lmem[_mAPACHE] = 1; - } - return lstr; -} - -/** - * \brief Check for MPL|NPL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *mplNplVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - -#ifdef PROC_TRACE - traceFunc("== mplNplVersion()\n"); -#endif /* PROC_TRACE */ - - if (INFILE(_TITLE_MPL11_OR_LATER)) { - lstr = "MPL-1.1+"; - } - else if (INFILE(_LT_MPL11_ref)) { - lstr = "MPL-1.1"; - } - else if (INFILE(_TITLE_NPL11_MPL)) { - lstr = "NPL-1.1"; - } - else if (INFILE(_TITLE_MPL11) && INFILE(_TITLE_MPL_style)) { - lstr = "MPL-1.1-style"; - } - else if (INFILE(_TITLE_SUGARCRM_PL)) { - lstr = "SugarCRM-1.1.3"; - lmem[_mMPL] = 1; - lmem[_fATTRIB] = 1; - } - else if (INFILE(_TITLE_MPL11) && !HASTEXT(_LT_NP_AME, REG_EXTENDED)) { - lstr = "MPL-1.1"; - } - else if (INFILE(_TITLE_MPL20_EXCEPTION)) { - lstr = "MPL-2.0-no-copyleft-exception"; - } - else if (INFILE(_TITLE_MPL20) || URL_INFILE(_URL_MPL20) || HASTEXT(_LT_MPL20_ref, REG_EXTENDED)) { - lstr = "MPL-2.0"; - } - else if (INFILE(_TITLE_MPL10) && INFILE(_TITLE_ERLPL)) { - lstr = "ErlPL-1.1"; - } - else if (INFILE(_TITLE_MPL10)) { - lstr = "MPL-1.0"; - } - else if (INFILE(_TITLE_MPL_EULA_30)) { - lstr = "MPL-EULA-3.0"; - } - else if (INFILE(_TITLE_MPL_EULA_20)) { - lstr = "MPL-EULA-2.0"; - } - else if (INFILE(_TITLE_MPL_EULA_11)) { - lstr = "MPL-EULA-1.1"; - } - else if (URL_INFILE(_URL_NPL10)) { - lstr = (lDebug ? "NPL1.0(url)" : "NPL-1.0"); - } - else if (URL_INFILE(_URL_NPL11)) { - lstr = (lDebug ? "NPL1.1(url)" : "NPL-1.1"); - } - else if (URL_INFILE(_URL_MPL10)) { - lstr = (lDebug ? "MPL1.0(url)" : "MPL-1.0"); - } - else if (URL_INFILE(_URL_MPL11)) { - lstr = (lDebug ? "MPL1.1(url)" : "MPL-1.1"); - } - else if (INFILE(_FILE_MPL10)) { - lstr = (lDebug ? "MPL1.0(file)" : "MPL-1.0"); - } - else if (INFILE(_FILE_MPL11)) { - lstr = (lDebug ? "MPL1.1(file)" : "MPL-1.1"); - } - else if (INFILE(_TITLE_NPL11_OR_LATER)) { - lstr = "NPL-1.1+"; - } - else if (INFILE(_TITLE_NPL11)) { - lstr = "NPL-1.1"; - } - else if (INFILE(_TITLE_NPL10)) { - lstr = "NPL-1.0"; - } - else if (URL_INFILE(_URL_NPL)) { - lstr = (lDebug ? "NPL(url)" : "NPL"); - } - else if (INFILE(_SPDX_MPL_10)) { - lstr = "MPL-1.0"; - } - else if (INFILE(_SPDX_MPL_11)) { - lstr = "MPL-1.1"; - } - else if (INFILE(_SPDX_MPL_20_no_copyleft_exception)) { - lstr = "MPL-2.0-no-copyleft-exception"; - } - else if (INFILE(_SPDX_MPL_20)) { - lstr = "MPL-2.0"; - } - else if (URL_INFILE(_URL_MPL_LATEST)) { - lstr = (lDebug ? "MPL(latest)" : "MPL"); - } - else if (URL_INFILE(_URL_MPL)) { - lstr = (lDebug ? "MPL(url)" : "MPL"); - } - else if (INFILE(_TITLE_NPL)) { - lstr = "NPL"; - } - else if (INFILE(_TITLE_MPL)) { - lstr = "MPL"; - } - else { - lstr = (lDebug ? "MPL(last)" : "MPL"); - } - return lstr; -} - -/** - * \brief Check for RPSL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *realVersion(char *filetext, int size, int isML, int isPS, int ref) -{ - char *lstr = NULL_STR; - -#ifdef PROC_TRACE - traceFunc("== realVersion()\n"); -#endif /* PROC_TRACE */ - - if (ref == _TITLE_RPSL) { - if (INFILE(_TITLE_RPSL_V30)) { - lstr = "RPSL-3.0"; - } - else if (INFILE(_TITLE_RPSL_V20)) { - lstr = "RPSL-2.0"; - } - else if (INFILE(_TITLE_RPSL_V10)) { - lstr = "RPSL-1.0"; - } - else if (INFILE(_TITLE_RPSL)) { - lstr = "RPSL"; - } - } - else if (ref == _TITLE_RCSL) { - if (INFILE(_TITLE_RCSL_V30)) { - lstr = "RCSL-3.0"; - } - else if (INFILE(_TITLE_RCSL_V20)) { - lstr = "RCSL-2.0"; - } - else if (INFILE(_TITLE_RCSL_V10)) { - lstr = "RCSL-1.0"; - } - else if (INFILE(_TITLE_RCSL)) { - lstr = "RCSL"; - } - } - else { - lstr = "RealNetworks-Unknown"; - } - return lstr; -} - -/** - * \brief Check for python versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *pythonVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - -#ifdef PROC_TRACE - traceFunc("== pythonVersion()\n"); -#endif /* PROC_TRACE */ - - if (INFILE(_TITLE_PYTHON201)) { - lstr = "Python-2.0.1"; - } - else if (INFILE(_TITLE_PYTHON202)) { - lstr = "Python-2.0.2"; - } - else if (INFILE(_TITLE_PYTHON211)) { - lstr = "Python-2.1.1"; - } - else if (INFILE(_TITLE_PYTHON213)) { - lstr = "Python-2.1.3"; - } - else if (INFILE(_TITLE_PYTHON223)) { - lstr = "Python-2.2.3"; - } - else if (INFILE(_TITLE_PYTHON227)) { - lstr = "Python-2.2.7"; - } - else if (INFILE(_TITLE_PYTHON237)) { - lstr = "Python-2.3.7"; - } - else if (INFILE(_TITLE_PYTHON244)) { - lstr = "Python-2.4.4"; - } - else if (INFILE(_TITLE_PYTHON22)) { - lstr = "Python-2.2"; - } - else if (INFILE(_TITLE_PYTHON23)) { - lstr = "Python-2.3"; - } - else if (INFILE(_TITLE_PYTHON_20_1) || INFILE(_TITLE_PYTHON_20_2)) { - lstr = "Python-2.0"; - } - else { - lstr = "Python"; - } - return lstr; -} - -/** - * \brief Check for AFL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *aflVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - -#ifdef PROC_TRACE - traceFunc("== aflVersion()\n"); -#endif /* PROC_TRACE */ - - if (INFILE(_TITLE_AFL30)) { - lstr = lDebug? "AFL(v3.0#1)" : "AFL-3.0"; - } - else if (INFILE(_TITLE_AFL21)) { - lstr = lDebug? "AFL(v2.1#1)" : "AFL-2.1"; - } - else if (INFILE(_TITLE_AFL20)) { - lstr = lDebug? "AFL(v2.0#1)" : "AFL-2.0"; - } - else if (INFILE(_TITLE_AFL12)) { - lstr = lDebug? "AFL(v1.2#1)" : "AFL-1.2"; - } - else if (INFILE(_TITLE_AFL11)) { - lstr = lDebug? "AFL(v1.1#1)" : "AFL-1.1"; - } - else if (INFILE(_TITLE_AFL10)) { - lstr = lDebug? "AFL(v1.0#1)" : "AFL-1.0"; - } - else { - lstr = "AFL"; - } - return lstr; -} - -/** - * \brief Check for OSL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *oslVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - /* */ -#ifdef PROC_TRACE - traceFunc("== oslVersion()\n"); -#endif /* PROC_TRACE */ - /* */ - if (INFILE(_TITLE_NON_PROFIT_OSL30)) { - lstr = "NPOSL-3.0"; - } - else if (INFILE(_TITLE_OSL30)) { - lstr = lDebug? "OSL(v3.0#1)" : "OSL-3.0"; - } - else if (INFILE(_TITLE_OSL21)) { - lstr = lDebug? "OSL(v2.1#1)" : "OSL-2.1"; - } - else if (INFILE(_TITLE_OSL20)) { - lstr = lDebug? "OSL(v2.0#1)" : "OSL-2.0"; - } - else if (INFILE(_TITLE_OSL11)) { - lstr = lDebug? "OSL(v1.1#1)" : "OSL-1.1"; - } - else if (INFILE(_TITLE_OSL10)) { - lstr = lDebug? "OSL(v1.0#1)" : "OSL-1.0"; - } - else { - lstr = "OSL"; - } - return lstr; -} - -/** - * \brief Check for CDDL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *cddlVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - /* */ -#ifdef PROC_TRACE - traceFunc("== cddlVersion()\n"); -#endif /* PROC_TRACE */ - /* */ - if (INFILE(_TITLE_CDDL_10)) { - lstr = "CDDL-1.0"; - } - else if (INFILE(_SPDX_CDDL_10)) { - INTERESTING("CDDL-1.0"); - } - else if (URL_INFILE(_URL_CDDL_10)) { - lstr = "CDDL-1.0"; - } - else if (INFILE(_TITLE_CDDL_11)) { - lstr = "CDDL-1.1"; - } - else if (INFILE(_SPDX_CDDL_11)) { - INTERESTING("CDDL-1.1"); - } - else if (URL_INFILE(_URL_CDDL)) { - lstr = "CDDL"; - } - else { - lstr = "CDDL"; - } - return lstr; -} - -/** - * \brief Check for LPPL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *lpplVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - /* */ -#ifdef PROC_TRACE - traceFunc("== lpplVersion()\n"); -#endif /* PROC_TRACE */ - /* */ - if (INFILE(_PHR_LATEX_PL13A_OR_LATER_1) || - INFILE(_PHR_LATEX_PL13A_OR_LATER_2)) { - if (INFILE(_LT_LATEX_PREAMBLE)) { - lstr = lDebug ? "LPPL-v1.3a(#1)" : "LPPL-1.3a"; - } - else { - lstr = "LPPL-1.3a+"; - } - } - else if (INFILE(_TITLE_LATEX_PL13A) || INFILE(_PHR_LATEX_PL13A)) { - lstr = lDebug ? "LPPL-v1.3a(#2)" : "LPPL-1.3a"; - } - else if (INFILE(_PHR_LATEX_PL13B_OR_LATER_1) || - INFILE(_PHR_LATEX_PL13B_OR_LATER_2)) { - if (INFILE(_LT_LATEX_PREAMBLE)) { - lstr = lDebug ? "LPPL-v1.3b(#1)" : "LPPL-1.3b"; - } - else { - lstr = "LPPL-1.3b+"; - } - } - else if (INFILE(_TITLE_LATEX_PL13B) || INFILE(_PHR_LATEX_PL13B)) { - lstr = lDebug ? "LPPL-v1.3b(#2)" : "LPPL-1.3b"; - } - else if (INFILE(_PHR_LATEX_PL13C_OR_LATER_1) || - INFILE(_PHR_LATEX_PL13C_OR_LATER_2)) { - if (INFILE(_LT_LATEX_PREAMBLE)) { - lstr = lDebug ? "LPPL-v1.3c(#1)" : "LPPL-1.3c"; - } - else { - lstr = "LPPL-1.3c+"; - } - } - else if (INFILE(_TITLE_LATEX_PL13C) || INFILE(_PHR_LATEX_PL13C)) { - lstr = lDebug ? "LPPL-v1.3c(#2)" : "LPPL-1.3c"; - } - else if (INFILE(_PHR_LATEX_PL13_OR_LATER_1) || - INFILE(_PHR_LATEX_PL13_OR_LATER_2)) { - if (INFILE(_LT_LATEX_PREAMBLE)) { - lstr = lDebug ? "LPPL-v1.3(#1)" : "LPPL-1.3"; - } - else { - lstr = "LPPL-1.3+"; - } - } - else if (INFILE(_TITLE_LATEX_PL13) || INFILE(_PHR_LATEX_PL13)) { - lstr = lDebug ? "LPPL-v1.3(#2)" : "LPPL-1.3"; - } - else if (INFILE(_PHR_LATEX_PL12_OR_LATER_1) || - INFILE(_PHR_LATEX_PL12_OR_LATER_2)) { - if (INFILE(_LT_LATEX_PREAMBLE)) { - lstr = lDebug ? "LPPL-v1.2(#1)" : "LPPL-1.2"; - } - else { - lstr = "LPPL-1.2+"; - } - } - else if (INFILE(_TITLE_LATEX_PL12) || INFILE(_PHR_LATEX_PL12)) { - lstr = lDebug ? "LPPL-v1.2(#2)" : "LPPL-1.2"; - } - else if (INFILE(_PHR_LATEX_PL11_OR_LATER_1) || - INFILE(_PHR_LATEX_PL11_OR_LATER_2)) { - if (INFILE(_LT_LATEX_PREAMBLE)) { - lstr = lDebug ? "LPPL-v1.1(#1)" : "LPPL-1.1"; - } - else { - lstr = "LPPL-1.1+"; - } - } - else if (INFILE(_TITLE_LATEX_PL11) || INFILE(_PHR_LATEX_PL11)) { - lstr = lDebug ? "LPPL-v1.1(#2)" : "LPPL-1.1"; - } - else if (INFILE(_PHR_LATEX_PL10_OR_LATER_1) || - INFILE(_PHR_LATEX_PL10_OR_LATER_2)) { - if (INFILE(_LT_LATEX_PREAMBLE)) { - lstr = lDebug ? "LPPL-v1.0(#1)" : "LPPL-1.0"; - } - else { - lstr = "LPPL-1.0+"; - } - } - else if (INFILE(_TITLE_LATEX_PL10) || INFILE(_PHR_LATEX_PL10)) { - lstr = lDebug ? "LPPL-v1.0(#2)" : "LPPL-1.0"; - } - else { - lstr = "LPPL"; - } - return lstr; -} - -/** - * \brief Check for AGPL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *agplVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - /* */ -#ifdef PROC_TRACE - traceFunc("== agplVersion()\n"); -#endif /* PROC_TRACE */ - /* */ - /* - * Look for version 1 BEFORE version 3; the text of version 1 license says - * you can also license it under GPL version 3... same reasoning goes with - * the actual v3 license (vs the reference). - */ - if (INFILE(_PHR_AGPL_10_or_later) - || INFILE(_TITLE_AGPL_10_or_later) - || INFILE(_SPDX_AGPL_10_or_later) - || HASTEXT(_SPDX_AGPL_10plus, REG_EXTENDED) - || HASTEXT(_PHR_AGPL_10plus, REG_EXTENDED)) - { - lstr = "AGPL-1.0+"; - } - else if (INFILE(_PHR_FSF_V1_ONLY) - || INFILE(_TITLE_AGPL_10_only) - || INFILE(_SPDX_AGPL_10)) - { - lstr = "AGPL-1.0"; - } - else if (INFILE(_PHR_AGPL_30_or_later) - || INFILE(_TITLE_AGPL_30_or_later_ref1) - || INFILE(_TITLE_AGPL_30_or_later) - || INFILE(_SPDX_AGPL_30_or_later) - || HASTEXT(_SPDX_AGPL_30plus, REG_EXTENDED) - || HASTEXT(_PHR_AGPL_30plus, REG_EXTENDED)) - { - if (INFILE(_LT_AGPL_30)) { - lstr = lDebug ? "Affero-v3(#1)" : "AGPL-3.0"; - } - else { - lstr = "AGPL-3.0+"; - } - } - else if (HASTEXT(_PHR_AGPL_30_1, REG_EXTENDED) || INFILE(_SPDX_AGPL_30)) { - lstr = "AGPL-3.0"; - } - else if (GPL_INFILE(_PHR_FSF_V3_ONLY)) { - if (INFILE(_TITLE_GPL3)) { - lstr = lDebug ? "GPLv3(Affero#1)" : "GPL-3.0"; - } - else if (INFILE(_LT_GPL3ref3)){ - lstr = lDebug ? "GPLv3(special)" : "GPL-3.0"; - } - else { - lstr = lDebug ? "Affero-v3(#2)" : "AGPL-3.0"; - } - } - else if (INFILE(_TITLE_AGPL_30_only)) { - lstr = lDebug ? "Affero-v3(#3)" : "AGPL-3.0"; - } - else if (INFILE(_TITLE_GPL3)) { - lstr = lDebug ? "GPLv3(Affero#2)" : "GPL-3.0"; - } - else if (URL_INFILE(_URL_AGPL3)) { - lstr = lDebug ? "Affero-v3(url)" : "AGPL-3.0"; - } - else { - lstr = "AGPL"; - } - return lstr; -} - -/** - * \brief Check for GFDL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *gfdlVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - /* */ -#ifdef PROC_TRACE - traceFunc("== gfdlVersion()\n"); -#endif /* PROC_TRACE */ - /* */ - /* - * Have to be careful here; the text of the 1.2 license says it's licensed - * under 1.1 or later - have to be careful what we're looking for, and in a - * specific order - */ - if (INFILE(_TITLE_GFDL_V13_FULL_LICENSE)) { - lstr = "GFDL-1.3"; - /* Full GFDL-1.3 license text has a reference to Creative Commons */ - if (HASTEXT(_LT_CC_ref, REG_EXTENDED)) { - lmem[_fCCBY] = 1; - } - } - else if (INFILE(_TITLE_GFDL_V13_OR_LATER)) { - lstr = "GFDL-1.3+"; - } - else if (INFILE(_TITLE_GFDL_V13_ONLY)) { - lstr = lDebug ? "GFDL-1.3(#1)" : "GFDL-1.3"; - } - else if (INFILE(_TITLE_GFDL_V12_FULL_LICENSE)) { - lstr = lDebug ? "GFDL-1.2(#1)" : "GFDL-1.2"; - } - else if (INFILE(_PHR_FSF_V12_OR_LATER) || - INFILE(_TITLE_GFDL_V12_OR_LATER)) { - lstr = "GFDL-1.2+"; - } - else if (INFILE(_TITLE_GFDL_V12_ONLY)) { - lstr = lDebug ? "GFDL-1.2(#1)" : "GFDL-1.2"; - } - else if (INFILE(_TITLE_GFDL_V11_FULL_LICENSE)) { - lstr = lDebug ? "GFDL-1.1(#1)" : "GFDL-1.1"; - } - else if (INFILE(_PHR_FSF_V11_OR_LATER) || - INFILE(_TITLE_GFDL_V11_OR_LATER)) { - lstr = "GFDL-1.1+"; - } - else if (INFILE(_TITLE_GFDL_V11_ONLY)) { - lstr = lDebug ? "GFDL-1.1(#1)" : "GFDL-1.1"; - } - else if (INFILE(_PHR_FSF_V12_ONLY)) { - lstr = lDebug ? "GFDL-1.2(#2)" : "GFDL-1.2"; - } - else if (INFILE(_PHR_FSF_V11_ONLY)) { - lstr = lDebug ? "GFDL-1.1(#2)" : "GFDL-1.1"; - } - else { - lstr = "GFDL"; - } - return lstr; -} - -/** - * \brief Check for LGPL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *lgplVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - /* */ -#ifdef PROC_TRACE - traceFunc("== lgplVersion()\n"); -#endif /* PROC_TRACE */ - /* */ - if ((INFILE(_PHR_LGPL21_OR_LATER_1) - || INFILE(_PHR_LGPL21_OR_LATER_2) - || HASTEXT(_PHR_LGPL21_OR_LATER_3, REG_EXTENDED) - || HASTEXT(_PHR_LGPL21_OR_LATER_4, REG_EXTENDED)) - && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) - { - if (INFILE(_TITLE_LGPL_KDE)) { - lstr = "LGPL-2.1+-KDE-exception"; - } - else { - lstr = "LGPL-2.1+"; - } - } - else if ((INFILE(_PHR_LGPL3_OR_LATER) - || INFILE(_PHR_LGPL3_OR_LATER_ref1) - || INFILE(_PHR_LGPL3_OR_LATER_ref2) - || HASTEXT(_PHR_LGPL3_OR_LATER_ref3, REG_EXTENDED) - || HASTEXT(_SPDX_LGPL_30plus, REG_EXTENDED) - || HASTEXT(_PHR_LGPL_30plus, REG_EXTENDED)) - && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) - { - lstr = "LGPL-3.0+"; - } - else if (INFILE(_LT_LGPL3ref) && NOT_INFILE(_PHR_NOT_UNDER_LGPL)) { - lstr = "LGPL-3.0"; - lmem[_mLGPL] = 1; - } - else if (GPL_INFILE(_PHR_LGPL3_ONLY) - || INFILE(_FILE_LGPLv3) - || GPL_INFILE(_PHR_LGPL3_ONLY_ref1) - || GPL_INFILE(_PHR_LGPL3_ONLY_ref2)) - { - lstr = "LGPL-3.0"; - } - else if (INFILE(_PHR_LGPL21_ONLY) - || INFILE(_FILE_LGPLv21) - || URL_INFILE(_URL_LGPL_V21) - || INFILE(_PHR_LGPL21_ONLY_ref) - || INFILE(_PHR_LGPL21_ONLY_ref2) - || INFILE(_PHR_LGPL21_ONLY_ref3) - || INFILE(_PHR_LGPL21_ONLY_ref4)) - { - lstr = "LGPL-2.1"; - } - else if ((INFILE(_PHR_LGPL2_OR_LATER) - || HASTEXT(_PHR_LGPL2_OR_LATER_2, REG_EXTENDED) - || HASTEXT(_PHR_LGPL2_OR_LATER_3, REG_EXTENDED)) - && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) - { - lstr = "LGPL-2.0+"; - } - else if (RM_INFILE(_PHR_LGPL2_ONLY) || RM_INFILE(_PHR_LGPL2_ONLY_ref1) || INFILE(_FILE_LGPLv2)) { - lstr = "LGPL-2.0"; - } - else if (INFILE(_PHR_LGPL1_OR_LATER) && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) { - lstr = "LGPL-1.0+"; - } - else if (INFILE(_PHR_LGPL1_ONLY) || INFILE(_PHR_FSF_V1_ONLY)) { - lstr = "LGPL-1.0"; - } - else if (URL_INFILE(_URL_CCLGPL_V21)) { - lstr = lDebug ? "CC-LGPL-2.1" : "LGPL-2.1"; - } - else if (INFILE(_LT_CC_GPL) || INFILE(_TITLE_CC_LGPL)) { - lstr = "CC-LGPL"; - } - else if (NY_INFILE(_TEXT_LGPLV3) && NOT_INFILE(_TEXT_LGPLV3_FOOTNOTE) && - HASREGEX(_TEXT_LGPLV3, filetext)) { - lstr = lDebug ? "LGPL-v3(#2)" : "LGPL-3.0"; - } - else if (INFILE(_TEXT_LGPLV21) && - HASREGEX(_TEXT_LGPLV21, filetext)) { - lstr = lDebug ? "LGPL-v2.1(#2)" : "LGPL-2.1"; - } - else if (INFILE(_TEXT_LGPLV2) && - HASREGEX(_TEXT_LGPLV2, filetext)) { - lstr = lDebug ? "LGPL-v2(#2)" : "LGPL-2.0"; - } - else if (INFILE(_SPDX_LGPL_20)) { - lstr = "LGPL-2.0"; - } - else if (INFILE(_SPDX_LGPL_21)) { - lstr = "LGPL-2.1"; - } - else if (INFILE(_SPDX_LGPL_30)) { - lstr = "LGPL-3.0"; - } - else { - lstr = "LGPL"; - } - return lstr; -} - -/** - * \brief Check for GPL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *gplVersion(char *filetext, int size, int isML, int isPS) -{ - char *cp, *lstr = NULL_STR; - /* */ -#ifdef PROC_TRACE - traceFunc("== gplVersion()\n"); -#endif /* PROC_TRACE */ - /* */ - - /* - * GPL-3.0 cases - */ - if (GPL_INFILE(_PHR_GPL3_OR_LATER_ref2) - || GPL_INFILE(_PHR_GPL3_OR_LATER_ref3) - || GPL_INFILE(_PHR_GPL3_OR_LATER) - || GPL_INFILE(_PHR_GPL3_OR_LATER_ref1) - || HASTEXT(_SPDX_GPL_30plus, REG_EXTENDED) - || HASTEXT(_PHR_GPL_30plus, REG_EXTENDED)) - { - if (!HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) { - lstr = "GPL-3.0+"; - if (INFILE(_PHR_GPL2_OR_LATER_1)) { - lstr = "GPL-2.0+,GPL-3.0+"; - } - } - } - else if (GPL_INFILE(_PHR_FSF_V3_ONLY) - || GPL_INFILE(_PHR_GPL3_ONLY) - || INFILE(_FILE_GPLv3) - || GPL_INFILE(_PHR_GPL3_ONLY_ref1) - || GPL_INFILE(_PHR_GPL3_ONLY_ref2)) { - lstr = lDebug ? "GPL-v3(#2)" : "GPL-3.0"; - if (INFILE(_PHR_GPL2_OR_LATER_1)) - { - lstr = "GPL-2.0+,GPL-3.0"; - } - } - else if (NY_INFILE(_TEXT_GPLV3) && NOT_INFILE(_TEXT_GPLV3_FOOTNOTE) && - HASREGEX(_TEXT_GPLV3, filetext)) { - lstr = lDebug ? "GPL-v3(#3)" : "GPL-3.0"; - } - /* - * GPL-2.0 cases - */ - else if (HASTEXT(_LT_GPL_V2_NAMED_later, REG_EXTENDED) || INFILE(_TITLE_GPL2_ref1_later)) { - lstr = lDebug ? "GPLV2+(named)" : "GPL-2.0+"; - } - else if (HASTEXT(_SPDX_GPL_20_or_later, REG_EXTENDED)) { - lstr = lDebug ? "GPL-2.0+(SPDX)" : "GPL-2.0+"; - } - else if (INFILE(_PHR_GPL2_OR_LATER_1)) { - if (INFILE(_TITLE_GPL_KDE)) { - lstr = "GPL-2.0+KDEupgradeClause"; - } - else if (INFILE(_PHR_GPL2_ONLY_2) || INFILE(_PHR_GPL2_ONLY_3)) { - lstr = "GPL-2.0"; - } - else if (!HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) { - lstr = lDebug ? "PHR(GPL2_OR_LATER#3)" : "GPL-2.0+"; - } - else if (INFILE(_TITLE_GPL2_ref1) || INFILE(_TITLE_GPL2_ref2)) { - lstr = lDebug ? "GPL-2.0(title)" : "GPL-2.0"; - } - } - else if (HASTEXT(_SPDX_GPL_20, REG_EXTENDED)) { - lstr = lDebug ? "GPL-2.0(SPDX)" : "GPL-2.0"; - } - else if (INFILE(_PHR_GPL2_ONLY_4)) { - lstr = "GPL-2.0"; - } - else if (INFILE(_PHR_GPL2_ONLY_5)) { - lstr = "GPL-2.0"; - } - else if (GPL_INFILE(_PHR_GPL2_OR_GPL3)) { - lstr = "GPL-2.0,GPL-3.0"; - } - else if (INFILE(_PHR_FSF_V2_ONLY) || INFILE(_PHR_GPL2_ONLY) || INFILE(_PHR_GPL2_ONLY_1) || - INFILE(_FILE_GPLv2) || INFILE(_LT_GPL_V2_NAMED)) { - lstr = lDebug ? "GPL-v2(#2)" : "GPL-2.0"; - } - else if (INFILE(_LT_GPL_V2_ref5)) { - lstr = lDebug ? "GPL-2.0(ref5)" : "GPL-2.0"; - } - else if (NY_INFILE(_TEXT_GPLV2)) { - lstr = lDebug ? "GPL-v2(#3)" : "GPL-2.0"; - } - /* - * GPL-1.0 cases - */ - else if (GPL_INFILE(_PHR_FSF_V1_OR_LATER) - || INFILE(_PHR_GPL1_OR_LATER) - || HASTEXT(_SPDX_GPL_10plus, REG_EXTENDED) - || HASTEXT(_PHR_GPL_10plus, REG_EXTENDED)) - { - if (INFILE(_TITLE_GPL1)) { - lstr = lDebug ? "GPL-v1(#1)" : "GPL-1.0"; - } - else if (!HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) { - lstr = "GPL-1.0+"; - } - } - else if (INFILE(_PHR_FSF_V1_ONLY) || INFILE(_PHR_GPL1_ONLY)) { - lstr = lDebug ? "GPL-v1(#2)" : "GPL-1.0"; - } - else if (URL_INFILE(_URL_CCGPL_V2)) { - lstr = "GPL-2.0"; - } - else if (INFILE(_LT_CC_GPL) || INFILE(_TITLE_CC_GPL)) { - lstr = lDebug ? "GPL(CC_GPL)" : "GPL"; - } - else if (NY_INFILE(_TEXT_GPLV1) && - HASREGEX(_TEXT_GPLV1, filetext)) { - lstr = lDebug ? "GPL-v1(#3)" : "GPL-1.0"; - } - else if (HASTEXT(_SPDX_GPL_10, REG_EXTENDED)) { - lstr = lDebug ? "GPL-1.0(SPDX)" : "GPL-1.0"; - } - else if (HASTEXT(_SPDX_GPL_30, REG_EXTENDED)) { - lstr = lDebug ? "GPL-3.0(SPDX)" : "GPL-3.0"; - } - /* special case for Debian copyright files - Moved from the beginning here under else if ... is this anymore needed - */ - else if (INFILE(_TEXT_GPLV3_CR) && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) { - lstr = "GPL-3.0"; - } - else if (INFILE(_FILE_GPL1) || INFILE(_FILE_GPL2)) { - lstr = lDebug ? "GPL(deb)" : "GPL"; - } - /* - * MODULE("GPL") cannot be unambiguously interpreted as GPL-2.0 - * license. Same statement is used also outside Linux kernel. - * Furthermore, many of the files which have this MODULE statement, - * have explicit GPL license statement. Therefore this is changed - * to GPL. - */ - else if (INFILE(_TITLE_MODULE_LICENSE_GPL)) { - lstr = lDebug ? "GPL(linux-kernel)" : "GPL"; - } - /* - * Finally let's see if there is a type error in license version - */ - else if (INFILE(_PHR_GPL21_OR_LATER) && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) { - lstr = "GPL-2.1+[sic]"; - } - else if (INFILE(_PHR_FSF_V21_ONLY) || INFILE(_PHR_GPL21_ONLY)) { - lstr = lDebug ? "GPL-v2.1[sic]" : "GPL-2.1[sic]"; - } - /* - * Special case, HACK: "Debian packaging ... licensed under GPL" - ***** - * IF we've scanned the regex that might contain it, then kludge.buf != NULL. - * Make darn sure that pointer IS set to NULL before leaving this routine. - */ - if (lstr == NULL_STR && kludge.base != NULL_STR) { -#ifdef PHRASE_DEBUG - printf("GPL-META-CHECK: base %p, so %d eo %d\n", - kludge.base, kludge.sso, kludge.seo); -#endif /* PHRASE_DEBUG */ - cp = kludge.base + (kludge.sso < 256 ? 0 : kludge.sso-256); - if (HASREGEX(_LT_GPL_META_DEBIAN, cp)) { - lstr = "GPL-Meta"; - } - kludge.base = NULL_STR; - } - if (lstr == NULL_STR && NOT_INFILE(_PHR_JYTHON_NOTGPL) && !HASTEXT(_TITLE_QT_GPL_EXCEPTION_10, 0)) { - lstr = lDebug ? "GPL(NULL)" : "GPL"; - } - return lstr; -} - -/** - * \brief Check for CPL versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *cplVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - /* */ -#ifdef PROC_TRACE - traceFunc("== cplVersion()\n"); -#endif /* PROC_TRACE */ - /* */ - if (INFILE(_TITLE_CPL_10)) { - lstr = "CPL-1.0"; - } - else if (URL_INFILE(_URL_CPL_10)) { - lstr = "CPL-1.0"; - } - else if (INFILE(_TITLE_CPL_05)) { - lstr = "CPL-0.5"; - } - else { - lstr = "CPL"; - } - return lstr; -} - -/** - * \brief Check for CC_BY-X versions - * \param filetext File content - * \param size File size - * \param isML File is HTML/XML - * \param isPS File is PostScript - * \return Return license shortname - */ -char *ccVersion(char *filetext, int size, int isML, int isPS) -{ - char *lstr = NULL_STR; - /* */ -#ifdef PROC_TRACE - traceFunc("== ccVersion()\n"); -#endif /* PROC_TRACE */ - /* - * Creative Commons Attribution-ShareAlike - */ - if (INFILE(_TITLE_CC_BY_SA_10) || URL_INFILE(_URL_CC_BY_SA_10)) { - lstr = "CC-BY-SA-1.0"; - } - else if (INFILE(_TITLE_CC_BY_SA_20) || URL_INFILE(_URL_CC_BY_SA_20)) { - lstr = "CC-BY-SA-2.0"; - } - else if (INFILE(_TITLE_CC_BY_SA_25) || URL_INFILE(_URL_CC_BY_SA_25)) { - lstr = "CC-BY-SA-2.5"; - } - else if (INFILE(_TITLE_CC_BY_SA_30) || URL_INFILE(_URL_CC_BY_SA_30)) { - lstr = "CC-BY-SA-3.0"; - } - else if (INFILE(_PHR_CC_BY_SA_30)) { - lstr = "CC-BY-SA-3.0"; - } - else if (INFILE(_TITLE_CC_BY_SA_40) || URL_INFILE(_URL_CC_BY_SA_40)) { - lstr = "CC-BY-SA-4.0"; - } - else if (URL_INFILE(_URL_CC_BY_SA_20)) { - lstr = "CC-BY-SA-2.0"; - } - else if (INFILE(_TITLE_CC_BY_SA) || URL_INFILE(_URL_CC_BY_SA)) { - lstr = lDebug ? "CCA-SA(1)" : "CC-BY-SA"; - } - /* - * Creative Commons Attribution-NonCommercial-ShareAlike - */ - else if (INFILE(_TITLE_CC_BY_NC_SA_40) || URL_INFILE(_URL_CC_BY_NC_SA_40)) { - lstr = "CC-BY-NC-SA-4.0"; - } - else if (INFILE(_TITLE_CC_BY_NC_SA_30) || URL_INFILE(_URL_CC_BY_NC_SA_30)) { - lstr = "CC-BY-NC-SA-3.0"; - } - else if (INFILE(_TITLE_CC_BY_NC_SA_25) || URL_INFILE(_URL_CC_BY_NC_SA_25)) { - lstr = "CC-BY-NC-SA-2.5"; - } - else if (INFILE(_TITLE_CC_BY_NC_SA_20) || URL_INFILE(_URL_CC_BY_NC_SA_20)) { - lstr = "CC-BY-NC-SA-2.0"; - } - else if (INFILE(_TITLE_CC_BY_NC_SA_10) || URL_INFILE(_URL_CC_BY_NC_SA_10)) { - lstr = "CC-BY-NC-SA-1.0"; - } - /* - * Creative Commons NonCommercial NoDerivs - */ - else if (INFILE(_TITLE_CC_BY_NC_ND_40) || URL_INFILE(_URL_CC_BY_NC_ND_40)) { - lstr = "CC-BY-NC-ND-4.0"; - } - else if (INFILE(_TITLE_CC_BY_NC_ND_30) || URL_INFILE(_URL_CC_BY_NC_ND_30)) { - lstr = "CC-BY-NC-ND-3.0"; - } - else if (INFILE(_TITLE_CC_BY_NC_ND_25) || URL_INFILE(_URL_CC_BY_NC_ND_25)) { - lstr = "CC-BY-NC-ND-2.5"; - } - else if (INFILE(_TITLE_CC_BY_NC_ND_20) || URL_INFILE(_URL_CC_BY_NC_ND_20)) { - lstr = "CC-BY-NC-ND-2.0"; - } - else if (INFILE(_TITLE_CC_BY_NC_ND_10) || INFILE(_TITLE_CC_BY_NC_ND_10_1) || URL_INFILE(_URL_CC_BY_NC_ND_10)) { - lstr = "CC-BY-NC-ND-1.0"; - } - /* - * Creative Commons NonCommercial - */ - else if (INFILE(_TITLE_CC_BY_NC_40) || URL_INFILE(_URL_CC_BY_NC_40)) { - lstr = "CC-BY-NC-4.0"; - } - else if (INFILE(_TITLE_CC_BY_NC_30) || URL_INFILE(_URL_CC_BY_NC_30)) { - lstr = "CC-BY-NC-3.0"; - } - else if (INFILE(_TITLE_CC_BY_NC_25) || URL_INFILE(_URL_CC_BY_NC_25)) { - lstr = "CC-BY-NC-2.5"; - } - else if (INFILE(_TITLE_CC_BY_NC_20) || URL_INFILE(_URL_CC_BY_NC_20)) { - lstr = "CC-BY-NC-2.0"; - } - else if (INFILE(_TITLE_CC_BY_NC_10) || URL_INFILE(_URL_CC_BY_NC_10)) { - lstr = "CC-BY-NC-1.0"; - } - /* - * Creative Commons Attribution-NoDerivatives - */ - else if (INFILE(_TITLE_CC_BY_ND_40) || URL_INFILE(_URL_CC_BY_ND_40)) { - lstr = "CC-BY-ND-4.0"; - } - else if (INFILE(_TITLE_CC_BY_ND_30) || URL_INFILE(_URL_CC_BY_ND_30)) { - lstr = "CC-BY-ND-3.0"; - } - else if (INFILE(_TITLE_CC_BY_ND_25) || URL_INFILE(_URL_CC_BY_ND_25)) { - lstr = "CC-BY-ND-2.5"; - } - else if (INFILE(_TITLE_CC_BY_ND_20) || URL_INFILE(_URL_CC_BY_ND_20)) { - lstr = "CC-BY-ND-2.0"; - } - else if (INFILE(_TITLE_CC_BY_ND_10) || URL_INFILE(_URL_CC_BY_ND_10)) { - lstr = "CC-BY-ND-1.0"; - } - /* - * Creative Commons Attribution - */ - else if (INFILE(_TITLE_CC_BY_10) || URL_INFILE(_URL_CC_BY_10)) { - lstr = "CC-BY-1.0"; - } - else if (INFILE(_TITLE_CC_BY_20) || URL_INFILE(_URL_CC_BY_20)) { - lstr = "CC-BY-2.0"; - } - else if (INFILE(_TITLE_CC_BY_25) || URL_INFILE(_URL_CC_BY_25)) { - lstr = "CC-BY-2.5"; - } - else if (INFILE(_TITLE_CC_BY_30) || URL_INFILE(_URL_CC_BY_30)) { - lstr = "CC-BY-3.0"; - } - else if (INFILE(_TITLE_CC_BY_40) || URL_INFILE(_URL_CC_BY_40)) { - lstr = "CC-BY-4.0"; - } - /* - * Creative Commons CC0 - */ - else if (INFILE(_TITLE_CC0_10_2)) { - lstr = lDebug ? "CC0(2)" : "CC0-1.0"; - } - else if (INFILE(_PHR_CC0_2)) { - lstr = lDebug ? "CC0(2)" : "CC0-1.0"; - } - else if (URL_INFILE(_URL_CC0)) { - lstr = lDebug ? "CC0(URL)" : "CC0-1.0"; - } - else if (URL_INFILE(_URL_CC_PDDC)) { - lstr = lDebug ? "CC(PD)" : "CC-PDDC"; - pd = 1; - } - else if (INFILE(_TITLE_CCPL)) { - INTERESTING("CCPL"); - } - else if (INFILE(_TITLE_CC_BY)) { - lstr = lDebug ? "CCA(1)" : "CC-BY"; - } - else { - lstr = lDebug ? "CCA(def)" : "CC-BY"; - } - lmem[_fCCBY] = 1; - return lstr; -} - -/** - * \brief Check for the presence of a phrase in a file by first searching for - * the search key provided. - * - * Cache the search results of, as we are very likely to be looking up the - * same word/phrase again. - * - * @param index index of the phrase to be searched for - * @param filetext the text to search - * @param size the size of file - * @param isML Is HTML/XML file? - * @param isPS Is postscript file? - * @param qtype ?? - * - * @return int ?? 0 means ?? - */ -int findPhrase(int index, char *filetext, int size, int isML, int isPS, - int qType) -{ - char *ptr = NULL_STR; - char *q = ltsr+index; - char *cp = 0; - int ret; - int i; - int j; - int n; - int wordMatch = 0; - int metaKludge = 0; - int saved = 0; - int sso; - int seo; - item_t *sp; - item_t *op; - list_t *lp; - licText_t *ltp; -#ifdef PARSE_STOPWATCH - DECL_TIMER; /* timer declaration */ - char timerName[64]; -#endif /* PARSE_STOPWATCH */ - -#if defined(PROC_TRACE) || defined(PHRASE_DEBUG) || defined(DOCTOR_DEBUG) - traceFunc("== findPhrase(%d, %p, %d, %d, %d, %d)\n", index, filetext, - size, isML, isPS, qType); - traceFunc("... (regex) \"%s\"\n", _REGEX(index)); - traceFunc("... (seed) \"%s\"\n", _SEED(index)); -#endif /* PROC_TRACE || PHRASE_DEBUG || DOCTOR_DEBUG */ - - ltp = licText + index; /* &licText[index] */ - if (ltp->tseed == NULL_STR) { - LOG_FATAL("Regex #%d not suitable for findPhrase()", index) - Bail(-__LINE__); - } - *q |= LTSR_SMASK; /* init: tested, no match */ -#ifdef PARSE_STOPWATCH - (void) sprintf(timerName, "findPhrase(%03d): ", index); - START_TIMER; -#endif /* PARSE_STOPWATCH */ -#if (DEBUG > 5) - printf("findPhrase: firstword[%d] == \"%s\", used = %d\n", index, - ltp->tseed, searchList.used); -#endif /* DEBUG > 5 */ - /* - * See if the first-word of the requested entry has been searched - * previously. The entry we get from listGetItem() refCount (val) field is: - * =0 if this is the first search for this word (non-zero == "seen it"!) - * <0 if the word was NOT FOUND - * >0 if we have doctored-text results cached - */ - if ((sp = listGetItem(&searchList, ltp->tseed)) == NULL_ITEM) { - LOG_FATAL("search cache") - Bail(-__LINE__); - } - if (sp->refCount < 0) { /* tseed not found in text */ - sp->refCount--; -#ifdef PARSE_STOPWATCH - END_TIMER; /* stop the timer */ - (void) strncat(timerName, "Cache-NO - ", sizeof(timerName)-1); - (void) strncat(timerName, ltp->tseed, sizeof(timerName)-1); - PRINT_TIMER(timerName, 0); -#endif /* PARSE_STOPWATCH */ - return(0); - } - else if (sp->refCount == 0) { /* e.g., first occurence */ - - /* - * Since this is the first search of this word, see if it's in the text. - * NOTE: getInstances() returns a pointer to static (non-allocated) storage - */ - if ((cur.nLines) <= 5) { - i = 1; - j = 2; - } else if ((size / cur.nLines) <= 10) { - i = 2; - j = 4; - } else { - i = 3; - j = 6; - } - - /* change to not get record offsets since there is a good sized memory - leak in that code */ - //ptr = getInstances(filetext, size, i, j, sp->str, YES); - ptr = getInstances(filetext, size, i, j, sp->str, NO); - - if (ptr == NULL_STR) { - sp->refCount = -1; - /* sp->buf = NULL_STR; */ -#ifdef PARSE_STOPWATCH - END_TIMER; /* stop the timer */ - (void) strcat(timerName, "tseed-NO - "); - (void) strncat(timerName, ltp->tseed, sizeof(timerName)-1); - PRINT_TIMER(timerName, 0); -#endif /* PARSE_STOPWATCH */ - return(0); /* known !match */ - } - sp->buf = copyString(ptr, "paragraph"); -#ifdef MEMSTATS - printf("... adding %d bytes (search-lookup: \"%s\")\n", - strlen(sp->buf), sp->str); -#endif /* MEMSTATS */ - /* - * If the search-seed and regex are the same, we found what we're looking - * for. Else, use doctorBuffer() to strip out punctuation, XML/HTML - * directives, etc. - */ -#ifdef PARSE_STOPWATCH - START_TIMER; -#endif /* PARSE_STOPWATCH */ -#ifdef DOCTOR_DEBUG - printf(" ... doctoring buffer for \"%s\"\n", sp->str); -#endif /* DOCTOR_DEBUG */ - (void) doctorBuffer(sp->buf, isML, isPS, NO); -#ifdef PARSE_STOPWATCH - RESET_TIMER; - (void) sprintf(timerName, "... doctor(%03d): %s (%d)", - index, ltp->tseed, strlen(sp->buf)); - PRINT_TIMER(timerName, 0); -#endif /* PARSE_STOPWATCH */ - } - sp->refCount++; /* incr ref-count for this seed */ - /* - * We need populate the list of "paragraph matches" with offsets in the - * doctored-up buffers; this seems the best place to do it. - */ - op = listGetItem(&cur.offList, sp->str); - if (op->nMatch <= 0) { - LOG_FATAL("File-offset list, nMatch(%s): bad entry", sp->str) - Bail(-__LINE__); - } -#if DEBUG>5 - printf("matches for key \"%s\": %d\n", sp->str, op->nMatch); -#endif /* DEBUG>5 */ - n = strlen(sp->buf); - lp = (list_t *)op->bList; - if ((lp) && (lp->items[0].bDocLen == 0)) { - if (op->nMatch == 1) { - lp->items[0].bDocLen = n; - } else { - ptr = sp->buf; - i = j = 0; /* i is index, j is total offset */ - while (strGrep(" xyzzy ", ptr, REG_ICASE)) { - lp->items[i++].bDocLen = j + cur.regm.rm_so; - ptr += cur.regm.rm_eo; - j += (cur.regm.rm_eo + 7); /* strlen(" xyzzy ") */ - } - lp->items[i].bDocLen = n + 7; /* last paragraph */ - } - } - if (ltp->tseed == ltp->regex) { /* e.g., regex IS seed/key */ - wordMatch++; - ret = 1; - } else { - metaKludge = ((qType == 2) && (index == _LT_GPLref1)); - if (metaKludge || qType == 4) { - saved = 1; - gl.flags |= FL_SAVEBASE; - } - ret = HASREGEX_RI(index, sp->buf); - if (saved) { - if (ret) { - kludge.base = cur.matchBase; - kludge.sso = cur.regm.rm_so; - kludge.seo = cur.regm.rm_eo; - } - gl.flags &= ~FL_SAVEBASE; - } - } - sso = cur.regm.rm_so; /* do NOT modify this!! */ - seo = cur.regm.rm_eo; /* ... or this, either! */ - if (ret && !wordMatch) { - *q = LTSR_YES; /* remember this "yes" search result */ - - /* - * VERY low-level string-search kludges happen here. This is VERY ugly!! - ***** - * If we used idxGrep to search for "GPL" in a "doctored" buffer, we do NOT - * want to match "lesser GPL" or "library GPL" in our searches (it's the - * wrong license name/title). Unfortunately, two aliases for LGPL are - * exactly those above. If we match "GPL" with a wildcard preceeding it, it - * JUST MIGHT BE those words. Rather than perform 2 exclusionary searches - * one for "lesser gpl" and another for "library gpl", look here and if we - * find it, (ugh) KLUDGE the return value to indicate "no match"... - ***** - * However, since it's here, it's now extensible. Next search-string kludge - * (that cannot be quickly fixed via changing a regex) should be number 2. - * Just make a new macro (defined above parseLicenses), ala GPL_INFILE(). - */ - if ((qType > 0) && !wordMatch) { - if ((qType > 4) || (qType < 0)) { - LOG_FATAL("Unknown string-search kludge %d", qType) - Bail(-__LINE__); - } - /* - * Special filter #1: over-write matched text with commas -- this choice is - * significant because doctorBuffer() ensures 'stripped' text has no commas - */ - if (qType == 1) { /* destroy text-match */ - cp = sp->buf+seo; - ptr = sp->buf+sso; - ltsr[index] = 0; /* reset search cache */ - while (ptr <= cp) { - *ptr++ = ','; - } -#ifdef DEBUG - if (lDiags) { - printf("Now, buf %p contains:\n%s\n", - sp->buf, (char *)sp->buf); - } -#endif /* DEBUG */ - /* - * Special filter #2: various checks to make sure LGPL/GFDL/GPL license - * references are not confused -- they CAN look quite similar. Specifically - * we don't want to confuse a SINGLE reference to the LGPL as a reference to - * the GPL. BUT -- sometimes references to BOTH are in the same file. - */ - } - if ((qType == 2) && - HASREGEX(_TEXT_LGPL_NOT_GPL, sp->buf+sso) && - !HASREGEX(_TEXT_GPL_NOT_LGPL, sp->buf+sso) && - NOT_INFILE(_TEXT_LGPL_DETAILS) && - NOT_INFILE(_TEXT_LICSET)) { - if (lDiags) { - printf("... \"GPL\" -> LGPL (%d)\n", - index); - } - ltsr[_TEXT_LGPL_NOT_GPL] = LTSR_YES; - ret = 0; - *q = LTSR_NO; /* oops, make that a "no" */ - } else if ((qType == 2) && - HASREGEX(_TEXT_GFDL_NOT_GPL, sp->buf+sso)) { - if (lDiags) { - printf("... \"GPL\" -> GFDL (%d)\n", - index); - } - ltsr[_TEXT_GFDL_NOT_GPL] = LTSR_YES; - ret = 0; - *q = LTSR_NO; - } else if ((index == _LT_GPL3ref) && (qType == 2)) { - if (HASREGEX(_PHR_QEMU_NOT_GPLV3, sp->buf+sso)) { - if (lDiags) { - printf("... \"GPL\" -> QEMU\n"); - } - ltsr[_PHR_QEMU_NOT_GPLV3] = LTSR_YES; - ret = 0; - *q = LTSR_NO; - } else if (INFILE(_PHR_SCF_HOWTO)) { - if (lDiags) { - printf("... SCF-Howto\n"); - } - ret = 0; - *q = LTSR_NO; - } else if (HASREGEX(_TEXT_DRBD_NOT_GPL3, sp->buf)) { - if (lDiags) { - printf("... mysgl/DRBD\n"); - } - ltsr[_TEXT_DRBD_NOT_GPL3] = LTSR_YES; - ret = 0; - *q = LTSR_NO; - } -#ifdef GPLV2_BEATS_GPLV3 - else if (strNbuf(sp->buf+sso, "version 2")) { - if (sp->buf + sso + cur.regm.rm_eo < - sp->buf + seo) { - ret = 0; - *q = LTSR_NO; - } - } -#endif /* GPLV2_BEATS_GPLV3 */ - } else if ((index == _PHR_GPL3_OR_LATER) && - (qType == 2) && - strNbuf(sp->buf+sso, "v2 ")) { - if (lDiags) { - printf("... v2 and version 3\"\n"); - } - ret = 0; - *q = LTSR_NO; - } else if ((index == _PHR_GPL3_OR_LATER) && - (qType == 2) && - HASREGEX(_TEXT_NOT_GPLV3_DRAFT, sp->buf+sso)) { - if (lDiags) { - printf("... exclude \"GPLv3 draft\"\n"); - } - ltsr[_TEXT_NOT_GPLV3_DRAFT] = LTSR_YES; - ret = 0; - *q = LTSR_NO; - } else if ((index == _PHR_GPL3_ONLY) && - (qType == 2) && - HASREGEX(_TEXT_NOT_LIBSTDC, sp->buf+sso)) { - if (lDiags) { - printf("... exclude libstdc vers\"\n"); - } - ltsr[_TEXT_NOT_LIBSTDC] = LTSR_YES; - ret = 0; - *q = LTSR_NO; - } - /* - * POSIX regex matches the longest string possible, and a '3' can follow a - * "version 2 or later phrase" -- we want to match the '2'. "Vim" has this: - ***** - * e) When the GNU General Public License (GPL) applies to the changes, - * you may distribute the modified code under the GNU GPL version 2 or - * any later version. - * 3) A message must be added, at least in the output of the ":version" - * command and in the intro screen, such that the user ... - ***** - * So... if there's a NUMBER (!= '3') between the word "version" and the - * end-of-match (at sp->buf+seo), that matches the number AND NOT the 3. - */ - else if ((qType == 2) && - ((index == _PHR_GPL3_ONLY) || (index == _PHR_LGPL3_ONLY))) { - if (strNbuf(sp->buf+sso, "version") || - strNbuf(sp->buf+sso, "v3")) { - cp = sp->buf + cur.regm.rm_eo; - } else { - cp = sp->buf + seo; /* "nil" loop */ - } - for (ptr = sp->buf+seo; cp < ptr; cp++) { - if (isdigit(*cp) && *cp != '3') { - if (lDiags) { - printf("... vers %c!\n", - *cp); - } - ret = 0; - *q = LTSR_NO; - break; - } - } - } else if (index == _PHR_FSF_V3_ONLY && qType == 2) { - if (strNbuf(sp->buf+sso, "version")) { -#ifdef GPLV2_BEATS_GPLV3 - ptr = sp->buf + sso + cur.regm.rm_so + 7; -#endif /* GPLV2_BEATS_GPLV3 */ - cp = strchr(sp->buf+sso, '3'); - if (strncasecmp(cp, "3 tlb", 5) == 0) { - if (lDiags) { - printf("... v3 tlb\n"); - } - ret = 0; - *q = LTSR_NO; - } -#ifdef GPLV2_BEATS_GPLV3 - else if ((*ptr == ' ') && (*(ptr+1) == '2')) { - if (lDiags) { - printf("... v2, !v3\n"); - } - ret = 0; - *q = LTSR_NO; - } -#endif /* GPLV2_BEATS_GPLV3 */ - } - else if (strNbuf(sp->buf+sso, "v3")) { - cp = sp->buf + sso + cur.regm.rm_so; - if (strncasecmp(cp-4, "arm ", 4) == 0) { - if (lDiags) { - printf("... arm v3\n"); - } - ret = 0; - *q = LTSR_NO; - } else if (strncasecmp(cp, "v3020 ", - 6) == 0) { - if (lDiags) { - printf("... v3020\n"); - } - ret = 0; - *q = LTSR_NO; - } - } - } else if ((index == _LT_LGPL_OR) && - (strncasecmp(sp->buf+sso, "or fitness f", 12) == 0)) { - if (lDiags) { - printf("... merch-or-fitness\n"); - } - ret = 0; - *q = LTSR_NO; - } else if ((index == _LT_GPLref1) && - (qType == 2) && - INFILE(_PHR_LIC_CHANGE)) { - if (lDiags) { - printf("... exclude lic-change\"\n"); - } - ret = 0; - *q = LTSR_NO; - } else if ((qType == 2) && (sso > 4)) { - cp = sp->buf+sso-4; - if (strncasecmp(cp, "not ", 4) == 0) { - if (lDiags) { - printf("... NOT l?gpl-ish\n"); - } - ret = 0; - *q = LTSR_NO; /* "no" */ - } - } else if (qType == 3 && INFILE(_PHR_ARTISTIC_DESC1)) { - /* - Special filter #3: match specific versions of Perl - references, but not all - */ - if (lDiags) { - printf("... exclude artistic defn\"\n"); - } - ret = 0; - *q = LTSR_NO; - } else if (qType == 4) { - /* - Special filter #4: look for a numerical version - number IFF NOT IN a string of (at least) 4 numerical - characters (signifying a year/datestamp) - */ - char *x; - x = cp = cur.matchBase + sso; - ptr = cp - (sso < 100 ? sso : 100); - while (!isdigit(*cp)) { - cp++; - } - if (isdigit(*(cp+1)) && isdigit(*(cp+2)) && isdigit(*(cp+3))) { - if (lDiags) { - printf("... don't want year\n"); - } - ret = 0; - *q = LTSR_NO; - } else if (HASREGEX(_TEXT_GNU_HELLO_23, ptr)) { - if (lDiags) { - printf("... gnu example\n"); - } - ret = 0; - *q = LTSR_NO; - } -#ifdef GPLV2_BEATS_GPLV3 - else if (strncasecmp(x-5, "v2 or ", 5) == 0) { - if (lDiags) { - printf("... v2 or v3\n"); - } - ret = 0; - *q = LTSR_NO; - } -#endif /* GPLV2_BEATS_GPLV3 */ - /* - * Special case - don't know where better to look for this... other strings - * match TEXT_GPLV3 and should be filtered. This should be a fairly low - * frequency check. - */ - else if (index == _TEXT_GPLV3) { - x = cur.matchBase + seo; - if (isdigit(*x) && *x != '0') { - if (lDiags) { - printf("... v3#!0\n"); - } - ret = 0; - *q = LTSR_NO; - } - } - } - } -#if (DEBUG > 5) - printf(">>===> \"%s\"\n", ltp->regex); -#endif /* DEBUG > 5 */ - } -#ifdef PARSE_STOPWATCH - END_TIMER; /* stop the timer */ - (void) sprintf(timerName, "findPhrase(%03d): RET=%d (%s:%d)", index, - ret, ltp->tseed, strlen(sp->buf)); - PRINT_TIMER(timerName, 0); -#endif /* PARSE_STOPWATCH */ - if (lDiags && ret) { - printRegexMatch(index, NO); - /* locateRegex(filetext, op, index, size, sso, seo); */ - } - return(ret); -} - -/** - * \brief Locate a regex in a given file - * - * Function first looks in raw text, then goes for doctored buffer if not found - * in the file. - * - * Save location using saveRegexLocation() - * \param text Raw file to check - * \param op List - * \param index Index of regex - * \param size Size of file - * \param sso Match start - * \param seo Match end - */ -void locateRegex(char *text, item_t *op, int index, int size, int sso, int seo) -{ - int i; - int j; - int n; - int off; - int len; - item_t *sp; - list_t *lp = (list_t *)op->bList; - char *cp; - char *ptr; - char *start; - char save; - -#if defined(PROC_TRACE) || defined(PHRASE_DEBUG) - traceFunc("== locateRegex(%p, %p, %d, %d, %d, %d)\n", text, op, index, - size, sso, seo); -#endif /* PROC_TRACE || PHRASE_DEBUG */ - - /* - * First step, simplest case - try to locate the regex in the file. It - * *might* be that easy (but not very often, it turns out). - */ - if (idxGrep(index, text, REG_ICASE|REG_EXTENDED)) { - saveRegexLocation(index, cur.regm.rm_so, - cur.regm.rm_eo - cur.regm.rm_so, YES); - return; - } - /* - * Regex is not directly in the raw text file, so now we need to try to - * map a location from a 'doctored buffer' to a location in the original - * text file. Not impossible, yet not overly straight-forward. - */ -#ifdef DEBUG - listDump(lp, NO); - printf("Doc-buffer match @ %d:%d\n", sso, seo); - printf("Possible \"%s\" entries to search: %d (%d)\n", op->str, - op->nMatch, lp->used); - for (n = i = 0; (sp=listIterate(lp)); i++) { - printf("Ent[%d]: bDocLen %d (len %d) == file %d+%d (%d)\n", - i, sp->bDocLen, (sp->bDocLen)-n, sp->bStart, sp->bLen, - sp->bStart+sp->bLen); - n = sp->bDocLen; - } -#endif /* DEBUG */ - /* - * At this point, the matched phrase should be bounded by {sso} and {seo} - * as offsets within the doctored buffer we're scanning. We also have a - * mapping of offsets within the doctored buffer to more-or-less where it - * exists in the original (raw text) file -- so go find it. Walk through the - * offsets-list; the entry with the LOWEST end-of-doctored-buffer offset - * exceeding the value of 'sso' IS the paragraph where we found the regex. - */ - i = -1; - j = -1; - n = 0; - while ((sp = listIterate(lp))) { - if (sso > sp->bDocLen) { - n = sp->bDocLen; - continue; - } - i = sp->bStart; - j = sp->bLen; -#ifdef DEBUG - printf("sso(%d), limit(%d), Possible: @%d+%d\n", sso, - sp->bDocLen, i, j); -#endif /* DEBUG */ - listIterationReset(lp); - break; - } - if (i < 0) { /* something is wrong... */ - LOG_FATAL("Cannot map reduced-text to raw file contents (#%d)", index) - Bail(-__LINE__); - } - /* - * Remember, the length of text matched in the doctored-buffer will likely - * not match the length of the "same" (unmodified) text in the raw file! - * And, an offset within the doctored buffer CANNOT be any larger than the - * corresponding text segment in the raw file (we only _remove_ characters). - * Next, find the last occurrence (in the raw file) of the last word in - * the license-footprint - */ - sso -= n; - seo -= n; - off = i + sso; - len = j - sso; -#ifdef DEBUG - printf("WINDOW-first: offset %d, len %d\n", off, len); -#endif /* DEBUG */ - /*printf("BUF: %s\n", sp->buf);*/ - start = _REGEX(index); - cp = start + licSpec[index].text.csLen - 1; /* 'end' of regex */ -#ifdef DEBUG - printf("EO-Regex, cp == '%c'\n", *cp); -#endif /* DEBUG */ - n = 0; - while (*cp == ' ') { - cp--; - } - while ((n == 1) || ((cp != start) && (*cp != ' ') && (*cp != ')') && - (*cp != '}'))) { - if (*cp == ']') { - n = 1; - } else if (*cp == '[') { - n = 0; - } - if (cp == _REGEX(index)) { - cp = ":no:match"; - break; - } - cp--; - } - if (*cp == ')') { - cp--; - n = 1; - while (n) { - if (*cp == '(') { - n--; - } else if (*cp == ')') { - n++; - } - /*printf("'%c' -- n %d\n", *cp, n);*/ - if (cp != start) { - cp--; - } - } - while ((cp != start) && (*cp != ' ') && (*cp != '.') && (*cp != ')') - && (*cp != ']') && (*cp != '}')) { - /*printf("skip '%c'...\n", *cp);*/ - cp--; - } -#ifdef DEBUG - printf("_END_@%ld '%c'\n", cp-_REGEX(index), *cp); -#endif /* DEBUG */ - } - if (cp != start) { - if (*cp != '.') { - cp++; - } - if ((*cp == '?') || (*cp == '+')) { - cp++; - } - } - ptr = sp->buf + sso; - i = j = 0; -#ifdef DEBUG - printf("SEARCH @foot is now \"%s\"\n", cp); -#endif /* DEBUG */ - while (strGrep(cp, ptr, REG_ICASE|REG_EXTENDED)) { - i++; - ptr += cur.regm.rm_eo; - j += cur.regm.rm_eo; -#ifdef DEBUG - printf("Found match (%d bytes) @ offset %d (%d tot)\n", - cur.regm.rm_eo - cur.regm.rm_so, cur.regm.rm_so, j); -#endif /* DEBUG */ - } -#ifdef DEBUG - printf("Total # of matches == %d\n", i); -#endif /* DEBUG */ - if (i && j) { - len = j; -#ifdef DEBUG - printf("WINDOW-adjst: offset %d, len %d\n", off, len); -#endif /* DEBUG */ - } else { - Assert(NO, "Regex \"%s\" (foot-end) not in raw text", cp); - } - /* - * Then, find the first occurrence (in the raw file) of the first word - * in the license-footprint; the exception here is that if the "last word" - * turned out to be the entire regex, then the "first word" will be, too. - */ - if (cp != start) { - cp = _REGEX(index); - j = 1; -#ifdef DEBUG - printf("BO-Regex, cp == '%c'\n", *cp); -#endif /* DEBUG */ - while (*cp == ' ') { - cp++; - } - while (*cp && (*cp != ' ') && (*cp != '.') && (*cp != '(') && - (*cp != '{')) { - if (*cp == '[') { - if (*(cp + 1) == '^') { - j = 0; - } - while (*cp && (*cp != ']')) { - cp++; - } - if (*(cp+1) && (*(cp+1) == '?')) { - cp++; - } - if (j) { - cp++; - break; - } - } - cp++; - } - if (*cp == '(') { - /*printf("Start@%d '%c'\n", cp-_REGEX(index), *cp);*/ - for (n = 1, cp++; n; cp++) { - /*printf("... '%c'\n", *cp);*/ - if ((*cp == '(') && (*(cp-1) != '\\')) { - n++; - } else if ((*cp == ')') && (*(cp-1) != '\\')) { - n--; - } - } - while (*cp && (*cp != ' ') && (*cp != '.') && (*cp != '(') && - (*cp != '[')) { - cp++; - } - /*printf("_END_@%d '%c'\n", cp-_REGEX(index), *cp);*/ - } - if ((*cp == '?') || - (*cp == '+') || - ((*cp == '.') && (*(cp-1) == '\\'))) { - cp++; - } - if (*cp) { - save = *cp; - *cp = NULL_CHAR; -#ifdef DEBUG - printf("SEARCH @head is now \"%s\"\n", _REGEX(index)); -#endif /* DEBUG */ - ptr = sp->buf+sso; - if (strGrep(_REGEX(index), ptr, - REG_ICASE|REG_EXTENDED)) { - len -= cur.regm.rm_so; - off += cur.regm.rm_so; - } else { - LOG_NOTICE("Regex \"%s\" (foot-start) not in raw text", _REGEX(index)); - } - *cp = save; /* restore to original text */ - } -#ifdef DEBUG - else { - LOG_NOTICE("Nothing to trim from the front (*cp == NULL)"); - } -#endif /* DEBUG */ - } -#ifdef DEBUG - else { - printf("Hey, last-word IS the entire regex!\n"); - } -#endif /* DEBUG */ - saveRegexLocation(index, off, len, YES); -#ifdef DEBUG - printf("WINDOW-FINAL: offset %d, len %d\n", off, len); -#endif /* DEBUG */ - /* - * At this point, the window is as small as we can (reasonably) make it, - * given that we mundged the original file-text and didn't make a complete - * map of every character. The variable off contains the start of the - * window (the absolute offset within the raw file) and the variable len - * contains the length of the text window. - ***** - * DON'T FORGET that some license-footprints are determined merely by - * searching for a string in the raw-text file (calling idxGrep()), e.g., - * not using the doctored buffers. See fileHasPatt() for details. - ***** - * And finally, note how the list of entries matched (in 'whereList') is - * manipulated -- see the very bottom of "addRef()". - */ - if ((off + len) > size) { - LOG_FATAL("off %d + len %d (== %d) exceeds filesize %d!", off, len, off + len, size); - Bail(-__LINE__); - } - return; -} - -/** - * \brief Save a regex in whereList - * \param index Index of the regex - * \param offset Regex match start - * \param length Regex match length - * \param saveCache Set YES to save in whChacheList - */ -void saveRegexLocation(int index, int offset, int length, int saveCache) -{ - item_t *ip; - item_t *sp; - -#if defined(PROC_TRACE) || defined(PHRASE_DEBUG) - traceFunc("== saveRegexLocation(%d, %d, %d, %d)\n", index, offset, length, - saveCache); -#endif /* PROC_TRACE || PHRASE_DEBUG */ - - (void) sprintf(name, "reg%04d", index); - sp = listGetItem(&whereList, name); - sp->bIndex = whereList.used; - sp->bStart = offset; - sp->bLen = length; - if (saveCache) { - ip = listGetItem(&whCacheList, name); - ip->bIndex = index; - ip->bStart = offset; - ip->bLen = length; - } - return; -} - - -void saveUnclBufLocation(int bufNum) -{ - item_t *p; - item_t *bp; - list_t *lp; - -#if defined(PROC_TRACE) || defined(PHRASE_DEBUG) - traceFunc("== saveUnclBufLocation(%d, %d, %d, %d)\n", bufNum); -#endif /* PROC_TRACE || PHRASE_DEBUG */ - - listClear(&whereList, NO); /* empty all prior matches */ - p = listGetItem(&cur.offList, _REGEX(_LEGAL_first)); - lp = (list_t *) p->bList; - (void) sprintf(name, "buf%05d", bufNum); - p = listGetItem(lp, name); - bp = listGetItem(&whereList, LS_UNCL); - bp->bStart = p->bStart; - bp->bLen = p->bLen; - bp->bIndex = -1; - return; -} - -/** - * \brief This function fills in a character-buffer for a license of a CURRENT - * file being evaluated, and enqueues a list if components to help make - * a package-level summary. - */ -void addRef(char *str, int interest) -{ - item_t *p; - char *bp; - char *sp = str; - if(!(str && str[0])) - return; - -#ifdef PROC_TRACE - traceFunc("== addRef(\"%s\", %d)\n", str, interest); -#endif /* PROC_TRACE */ - -#if defined(DEBUG) - listDump(&whereList, YES); -#endif /* DEBUG */ - /* - * Add this to the list of individual pieces found, and mark the license - * to make generating a license-summary easier. The general strategy is - * to COMPLETELY ignore anything NOT considered 'noteworthy'. So if the - * license is noteworthy, we add one to the count, so that we can call - * listCount() on the list to find if there's a 'real license' in here. - * see makeLicenseSummary() in license.c for more details. - ***** - * This little trick is also used in distroReport() and rawSourceReport(), - * see report.c - */ - if (str == NULL_STR) { - Assert(YES, "license detected != NULL"); - } - if (*str == NULL_CHAR) { - Assert(YES, "license string not start with NULL"); - } - bp = licStr+refOffset; - *bp++ = ','; - /* - CDB - Opportunity for optimization via memcpy - */ - while (*sp) { - *bp++ = *sp++; - } - *bp = NULL_CHAR; - refOffset = bp - licStr; - /* - * Stuff this license in to several lists: - * - parseList is used to create a package "computed license summary" - * - briefList is used to compute a "terse/brief" license summary - */ - p = listGetItem(&cur.parseList, str); - if (interest) { - p->iFlag++; - if (interest > IL_LOW) { - p->iLevel = interest; - } - } - if (interest > maxInterest) { - maxInterest = interest; - } - if (lDiags && whereList.used) { - int i = 0; - listSort(&whereList, SORT_BY_COUNT_ASC); - printf("WINDOW for \"%s\": ", str); - while ((p = listIterate(&whereList))) { - if (i++ > 0) { - printf(", "); - } - printf("%d+%d", p->bStart, p->bLen); - } - printf("\n"); - } - listClear(&whereList, NO); -#ifdef DEBUG - if (lDiags) { - printf("++ \"%s\" [int=%d]\n", str, interest); - } -#endif /* DEBUG */ - - addLicence(cur.theMatches,str); - - return; -} - -/** - * \brief Utility function to search for OpenLDAP licenses. So many different - * footprints are used by OpenLDAP, we had to either duplicate code in - * several places, or funnel it all into one function. - */ -int famOPENLDAP(char *filetext, int size, int isML, int isPS) -{ - int ret = 0; - - if (lmem[_tOPENLDAP]) { - if (INFILE(_TITLE_OPENLDAP25)) { - INTERESTING("OLDAP-2.5"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP26)) { - INTERESTING("OLDAP-2.6"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP27)) { - INTERESTING("OLDAP-2.7"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP28)) { - INTERESTING("OLDAP-2.8"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP201)) { - INTERESTING("OLDAP-2.0.1"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP20)) { - INTERESTING("OLDAP-2.0"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP21)) { - INTERESTING("OLDAP-2.1"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP221) || INFILE(_SPDX_OLDAP_221)) { - INTERESTING("OLDAP-2.2.1"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP222) || INFILE(_SPDX_OLDAP_222)) { - INTERESTING("OLDAP-2.2.2"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP22)) { - INTERESTING("OLDAP-2.2"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP11)) { - INTERESTING("OLDAP-1.1"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP23)) { - INTERESTING("OLDAP-2.3"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP24)) { - INTERESTING("OLDAP-2.4"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP12)) { - INTERESTING("OLDAP-1.2"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP13)) { - INTERESTING("OLDAP-1.3"); - ret = 1; - } - else if (INFILE(_TITLE_OPENLDAP14)) { - INTERESTING("OLDAP-1.4"); - ret = 1; - } - else if (INFILE(_CR_OPENLDAP) && INFILE(_TITLE_OPENLDAP)) { - INTERESTING("OLDAP"); - ret = 1; - } - } - lmem[_fOPENLDAP] = ret; - return(ret); -} - - -/** - * \brief This function is called when all the above license-checks don't turn - * up anything useful. Now we need to determine if the current file - * likely contains a license or not. - * - * Basic strategy is to look for 4 classes (groups) of words all within - * the same paragraph-or-two. Here we estimate the size of a paragaph - * to be 6 lines of legal text. To be conservative, we'll look for 6 - * contiguous lines ABOVE AND BELOW the line that matches our first - * search. In order words, we're using "grep -A6 -B6 pattern textfile". - * - * A paragraph containing legal-VERBS, legal-DOCUMENTS, legal-NOUNS, and - * legal-PERMISSIONS are quite likely to be a license. This doesn't - * have to be 100% accurate but it IS nice to know whether a file that - * fails the known-license-footprints really contains a license or not. - * Knowing so makes the legal department's job easier. - * - * Some text-files are determined by this function to contain some sort - * of license, but really only deal with the notion of a public-domain - * claim. If we find one here, report it; this way we don't bother - * calling the corner-case license-check function. - */ - -int checkUnclassified(char *filetext, int size, int score, - int isML, int isPS, int nw) -{ - char *buf; - char *curptr; - char *cp; - int m = 0; -#ifdef UNKNOWN_CHECK_DEBUG - int pNum = 0; -#endif /* UNKNOWN_CHECK_DEBUG */ - int i = 0; - -#ifdef PROC_TRACE - traceFunc("== checkUnclassified(%p, %d, %d, %d, %d, %d)\n", filetext, - size, score, isML, isPS, nw); -#endif /* PROC_TRACE */ - - /* - * Based on experience, this is a good place to look for false-positives: - ***** - * Occasionally IETF documents (RFCs, technical descriptions and the like) - * have enough text to trip the unclassified-license detector falsely. - * As a first quick check, see if there's an IETF copyright in the file - * and if so, avoid this (somewhat expensive) check. - ***** - * The "Debian social contract" has some very legal-looking verbage, too. - */ - if (mCR_IETF()) { - return(0); - } - if (INFILE(_LT_DEB_CONTRACT) || INFILE(_LT_DEB_CONTRACTref)){ - INTERESTING("Debian-social-DFSG"); - return(0); - } - if (INFILE(_LT_TROLLTECH)) { - return(1); - } - - /* - * A Generic EULA 'qualifies' as an UnclassifiedLicense, or the clause 'License agreement' as an UnclassifiedLicense, check this - * one before trying the word-matching magic checks (below). - */ - gl.flags |= FL_SAVEBASE; /* save match buffer (if any) */ - m = INFILE(_LT_GEN_EULA) || INFILE(_LT_LG) || INFILE(_LT_GENERIC_UNCLASSIFIED); - /* gl.flags & ~FL_SAVEBASE; CDB -- This makes no sense, given line above */ - if (m) { - if (cur.licPara == NULL_STR && cur.matchBase) { - saveLicenseParagraph(cur.matchBase, isML, isPS, NO); - } - return(1); - } - checknw = nw; - /* - * Look for paragraphs of text that could be licenses. We'll check the - * resulting text for 4 types of different words (all in proximity leads - * us to believe it's a license of some sort). If we don't get a paragraph - * to search based on the first set of words, look no further. - */ -#ifdef UNKNOWN_CHECK_DEBUG - printf("... first regex: \"%s\"\n", _REGEX(_LEGAL_first)); -#endif /* UNKNOWN_CHECK_DEBUG */ - if ((buf = getInstances(filetext, size, gl.uPsize, gl.uPsize, - _REGEX(_LEGAL_first), YES)) == NULL_STR) { -#ifdef UNKNOWN_CHECK_DEBUG - printf("... getInstances returns NULL\n"); -#endif /* UNKNOWN_CHECK_DEBUG */ - return(0); - } - if (lDiags) { - printRegexMatch(_LEGAL_first, NO); - } - /* - * Without examining each paragraph, make sure the file contains the - * components we're looking for... if not, don't check any further. - */ - if (/*size > 102400 && */ - !match3(_LEGAL_first, buf, score, NO, isML, isPS)) { -#ifdef UNKNOWN_CHECK_DEBUG - printf("... first check fails\n"); -#endif /* UNKNOWN_CHECK_DEBUG */ - return(0); - } - /* - * buf now points to a series of paragraphs that have 6 lines above - * AND below the regex we've matched, PLUS a separator line between - * each paragraph. The LAST paragraph doesn't have a separator-line. - ***** - * For the sake of the search, make the separator line 'disappear'. - */ - curptr = buf; - while (idxGrep(_UTIL_XYZZY, curptr, 0)) { - cp = curptr + cur.regm.rm_so; - *cp = NULL_CHAR; -#ifdef UNKNOWN_CHECK_DEBUG - printf("DEBUG: paragraph #%d:\n[START-PARA]\n%s\n[END-PARA]\n", - ++pNum, curptr); -#endif /* UNKNOWN_CHECK_DEBUG */ - i++; - /* - * Now that we have our 'paragraph span', check the contents of the - * paragraph for the other 3 groups of words. A match in EACH group - * (plus other criteria checked, of course) means we've likely found - * as-of-yet unclassified license. - ***** - * A generic "no warranty" paragraph also looks like a license, so in - * that case don't return a false positive. - */ - if (match3(_LEGAL_first, curptr, score, YES, isML, isPS)) { - saveUnclBufLocation(i); - return(1); - } -#ifdef UNKNOWN_CHECK_DEBUG - else { - printf("DEBUG: match() returns 0, look again\n"); - } -#endif /* UNKNOWN_CHECK_DEBUG */ - /* - * NO-match means this paragraph doesn't contain the magic words we - * seek. However, this file still _may_ contain the magic paragraph -- - * it'll be searched in this while-loop until either the magic OR - * end-of-file is found)... - */ - *cp++ = '='; /* reset line */ - if ((cp = findEol(cp)) == NULL_STR) { - LOG_FATAL("Cannot find delimeter!") - Bail(-__LINE__); - } - curptr = cp+1; - } - /* - * One last buffer to try... - */ -#ifdef UNKNOWN_CHECK_DEBUG - printf("DEBUG: %s paragraph (#%d):\n[START-PARA]\n%s\n[END-PARA]\n", - pNum == 0 ? "ONLY" : "LAST", ++pNum, curptr); -#endif /* UNKNOWN_CHECK_DEBUG */ - if (match3(_LEGAL_first, curptr, score, YES, isML, isPS)) { - saveUnclBufLocation(++i); - return(1); - } - return(0); -} - - -/** - * \brief Generic license-phrases referring to other files or running commands - */ -void checkFileReferences(char *filetext, int size, int score, int kwbm, - int isML, int isPS) -{ - int i; - -#ifdef PROC_TRACE - traceFunc("== checkFileReferences(%p, %d, %d, 0x%x, %d, %d)\n", filetext, - size, score, kwbm, isML, isPS); -#endif /* PROC_TRACE */ - for (i = 0; i < NSEECOPYING; i++) { - if (INFILE(_SEECOPYING_first+i)) { - if (lDebug) { - (void) sprintf(name, "Gen-CPY-%d", ++i); - INTERESTING(name); - } else { - INTERESTING("See-file.COPYING"); - } - return; - } - } - /* */ - for (i = 0; i < NSEELICENSE; i++) { - if (INFILE(_SEELICENSE_first+i)) { - if (lDebug) { - (void) sprintf(name, "Gen-CPY-%d", ++i); - INTERESTING(name); - } else { - INTERESTING("See-file.LICENSE"); - } - return; - } - } - /* */ - for (i = 0; i < NSEEREADME; i++) { - if (INFILE(_SEEREADME_first+i)) { - if (lDebug) { - (void) sprintf(name, "Gen-CPY-%d", ++i); - INTERESTING(name); - } else { - INTERESTING("See-file.README"); - } - return; - } - } - /* */ - for (i = 0; i < NSEEOTHER; i++) { - if (INFILE(_SEEOTHER_first+i)) { - if (lDebug) { - (void) sprintf(name, "Gen-CPY-%d", ++i); - INTERESTING(name); - } else { - INTERESTING("See-doc.OTHER"); - } - return; - } - } - /* */ - if (INFILE(_LT_SEE_OUTPUT_1)) { - INTERESTING(lDebug ? "Gen-EXC-1" : "GNU-style.EXECUTE"); - } -#if 0 - else if (INFILE(_LT_SEE_OUTPUT_2)) { - INTERESTING(lDebug ? "Gen-EXC-2" : "Free-SW.run-COMMAND"); - } else if (INFILE(_LT_SEE_OUTPUT_3)) { - INTERESTING(lDebug ? "Gen-EXC-3" : "Free-SW.run-COMMAND"); - } -#endif - if(HASTEXT(_LT_SEE_COPYING_LICENSE_1, REG_EXTENDED) || HASTEXT(_LT_SEE_COPYING_LICENSE_2, REG_EXTENDED)) { - INTERESTING("See-file"); - } - else if (HASTEXT(_LT_SEE_URL, REG_EXTENDED) || HASTEXT(_LT_SEE_URL_ref1, REG_EXTENDED)) { - INTERESTING("See-URL"); - } - return; - -#ifdef OLD_VERSION - if (INFILE(_LT_SEE_COPYING_1)) { - INTERESTING(lDebug ? "Gen-CPY-1" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_COPYING_2)) { - INTERESTING(lDebug ? "Gen-CPY-2" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_COPYING_3)) { - INTERESTING(lDebug ? "Gen-CPY-3" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_COPYING_4)) { - INTERESTING(lDebug ? "Gen-CPY-4" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_COPYING_5)) { - INTERESTING(lDebug ? "Gen-CPY-5" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_COPYING_6)) { - INTERESTING(lDebug ? "Gen-CPY-6" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_COPYING_7)) { - INTERESTING(lDebug ? "Gen-CPY-7" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_COPYING_8)) { - INTERESTING(lDebug ? "Gen-CPY-8" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_COPYING_9)) { - INTERESTING(lDebug ? "Gen-CPY-9" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_COPYING_10)) { - INTERESTING(lDebug ? "Gen-CPY-10" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_COPYING_LAST1)) { - INTERESTING(lDebug ? "Gen-CPY-L1" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_COPYING_LAST2)) { - INTERESTING(lDebug ? "Gen-CPY-L2" : "See-file.COPYING"); - } - else if (INFILE(_LT_SEE_LICENSE_1)) { - INTERESTING(lDebug ? "Gen-LIC-1" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_LICENSE_2)) { - INTERESTING(lDebug ? "Gen-LIC-2" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_LICENSE_3)) { - INTERESTING(lDebug ? "Gen-LIC-3" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_LICENSE_4)) { - INTERESTING(lDebug ? "Gen-LIC-4" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_LICENSE_5)) { - INTERESTING(lDebug ? "Gen-LIC-5" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_LICENSE_6)) { - INTERESTING(lDebug ? "Gen-LIC-6" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_LICENSE_7)) { - INTERESTING(lDebug ? "Gen-LIC-7" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_LICENSE_8)) { - INTERESTING(lDebug ? "Gen-LIC-8" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_LICENSE_9)) { - INTERESTING(lDebug ? "Gen-LIC-9" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_LICENSE_10)) { - INTERESTING(lDebug ? "Gen-LIC-10" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_LICENSE_LAST1)) { - INTERESTING(lDebug ? "Gen-LIC-L1" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_LICENSE_LAST2)) { - INTERESTING(lDebug ? "Gen-LIC-L2" : "See-file.LICENSE"); - } - else if (INFILE(_LT_SEE_README_1)) { - INTERESTING(lDebug ? "Gen-RDM-1" : "See-file.README"); - } - else if (INFILE(_LT_SEE_README_2)) { - INTERESTING(lDebug ? "Gen-RDM-2" : "See-file.README"); - } - else if (INFILE(_LT_SEE_README_3)) { - INTERESTING(lDebug ? "Gen-RDM-3" : "See-file.README"); - } - else if (INFILE(_LT_SEE_README_4)) { - INTERESTING(lDebug ? "Gen-RDM-4" : "See-file.README"); - } - else if (INFILE(_LT_SEE_README_5)) { - INTERESTING(lDebug ? "Gen-RDM-5" : "See-file.README"); - } - else if (INFILE(_LT_SEE_README_6)) { - INTERESTING(lDebug ? "Gen-RDM-6" : "See-file.README"); - } - else if (INFILE(_LT_SEE_README_7)) { - INTERESTING(lDebug ? "Gen-RDM-7" : "See-file.README"); - } - else if (INFILE(_LT_SEE_README_LAST1)) { - INTERESTING(lDebug ? "Gen-RDM-L1" : "See-file.README"); - } - else if (INFILE(_LT_SEE_README_LAST2)) { - INTERESTING(lDebug ? "Gen-RDM-L2" : "See-file.README"); - } - else if (INFILE(_LT_SEE_OTHER_1)) { - INTERESTING(lDebug ? "Gen-OTH-1" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_2)) { - INTERESTING(lDebug ? "Gen-OTH-2" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_3)) { - INTERESTING(lDebug ? "Gen-OTH-3" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_4)) { - INTERESTING(lDebug ? "Gen-OTH-4" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_5)) { - INTERESTING(lDebug ? "Gen-OTH-5" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_6)) { - INTERESTING(lDebug ? "Gen-OTH-6" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_7)) { - INTERESTING(lDebug ? "Gen-OTH-7" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_8)) { - INTERESTING(lDebug ? "Gen-OTH-8" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_9)) { - INTERESTING(lDebug ? "Gen-OTH-9" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_10)) { - INTERESTING(lDebug ? "Gen-OTH-10" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_11)) { - INTERESTING(lDebug ? "Gen-OTH-11" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_12)) { - INTERESTING(lDebug ? "Gen-OTH-12" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_13)) { - INTERESTING(lDebug ? "Gen-OTH-13" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_14)) { - INTERESTING(lDebug ? "Gen-OTH-14" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_15)) { - INTERESTING(lDebug ? "Gen-OTH-15" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_LAST1)) { - INTERESTING(lDebug ? "Gen-OTH-L1" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_LAST2)) { - INTERESTING(lDebug ? "Gen-OTH-L2" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OTHER_LAST3)) { - INTERESTING(lDebug ? "Gen-OTH-L3" : "See-doc.OTHER"); - } - else if (INFILE(_LT_SEE_OUTPUT_1)) { - INTERESTING(lDebug ? "Gen-EXC-1" : "GNU-style.interactive"); - } - return; -#endif /* OLD_VERSION */ -} - - -int checkPublicDomain(char *filetext, int size, int score, int kwbm, - int isML, int isPS) -{ - int ret; - -#ifdef PROC_TRACE - traceFunc("== checkPublicDomain(%p, %d, %d, 0x%x, %d, %d)\n", filetext, - size, score, kwbm, isML, isPS); -#endif /* PROC_TRACE */ - - if (pd >= 0) { /* already tried? */ - return(pd); - } - ret = 0; /* default answer is "no" */ - if (INFILE(_LT_PUBDOM_CC)) { - INTERESTING(lDebug ? "Pubdom(CC)" : "CC-PDDC"); - ret = 1; - } else if (INFILE(_LT_PUBDOM_ODC)) { - INTERESTING(lDebug ? "Pubdom(ODC)" : LS_PD_CLM); - ret = 1; - } else if (INFILE(_LT_PUBDOM_PDD)) { - INTERESTING(lDebug ? "Pubdom(PDD)" : LS_PD_CLM); - ret = 1; - } else if (INFILE(_LT_PUBDOM_USE)) { - INTERESTING(lDebug ? "Pubdom(use)" : LS_PD_CLM); - ret = 1; - } else if (HASTEXT(_LT_PUBDOM_NOTclaim, REG_EXTENDED)) { - INTERESTING(LS_NOT_PD); - ret = 1; - } else if (INFILE(_CR_PUBDOM)) { - if (INFILE(_LT_PUBDOMNOTcpyrt)) { - INTERESTING(LS_PD_CLM); - } else { - INTERESTING(LS_PD_CPRT); - } - ret = 1; - } else if (INFILE(_CR_NONE)) { - INTERESTING(lDebug ? "Pubdom(no-CR)" : LS_PD_CLM); - ret = 1; - } else if (INFILE(_LT_UNLIN) || URL_INFILE(_URL_UNLINref) || URL_INFILE(_URL_UNLIN)) { - INTERESTING("Unlicense"); - ret = 1; - } else if (INFILE(_LT_PUBDOM_1)) { - INTERESTING(lDebug ? "Pubdom(1)" : LS_PD_CLM); - ret = 1; - } else if (INFILE(_LT_PUBDOM_2) && NOT_INFILE(_PHR_PUBLIC_FUNCT) && NOT_INFILE(_LT_NOTPUBDOM_1)) { - INTERESTING(lDebug ? "Pubdom(2)" : LS_PD_CLM); - ret = 1; - } else if (INFILE(_LT_PUBDOM_3)) { - INTERESTING(lDebug ? "Pubdom(3)" : LS_PD_CLM); - ret = 1; -#ifdef REMOVED_AS_TOO_BROAD - } else if (INFILE(_LT_PUBDOM_4)) { - INTERESTING(lDebug ? "Pubdom(4)" : LS_PD_CLM); - ret = 1; - } else if (INFILE(_LT_PUBDOM_5)) { - INTERESTING(lDebug ? "Pubdom(5)" : LS_PD_CLM); - ret = 1; - } else if (INFILE(_LT_PUBDOM_6)) { - INTERESTING(lDebug ? "No-more-copyright" : LS_PD_CLM); - ret = 1; -#endif // done removing too broad signatures - } else if (INFILE(_LT_PUBDOM_7)) { - INTERESTING(lDebug ? "Pubdom(7)" : LS_PD_CLM); - ret = 1; - } else if (INFILE(_LT_PUBDOM_8)) { - INTERESTING(lDebug ? "Pubdom(8)" : LS_PD_CLM); - ret = 1; - } else if (INFILE(_LT_PUBDOM_9)) { - INTERESTING(lDebug ? "Pubdom(9)" : LS_PD_CLM); - ret = 1; - } else if (INFILE(_LT_PUBDOM_10)) { - if (INFILE(_LT_blessing)) { - INTERESTING(lDebug ? "Pubdom(10)" : "blessing"); - } - else { - INTERESTING(lDebug ? "Pubdom(10)" : LS_PD_CLM); - } - ret = 1; - } else if (INFILE(_URL_PUBDOM)) { - INTERESTING(lDebug ? "Pubdom(URL)" : LS_PD_CLM); - ret = 1; - } else if (HASKW(kwbm, _KW_public_domain) && score <= 3) { - INTERESTING(LS_PD_ONLY); - ret = 1; - } - return(ret); -} - - -/** - * \brief If we call this function, we still don't know anything about a license. - * - * In fact, there may be NO license. Look for copyrights, references to - * the word "trademark", "patent", etc. (and possibly other trivial (or - * borderline-insignificant) legal stuff in this file. - */ -void checkCornerCases(char *filetext, int size, int score, - int kwbm, int isML, int isPS, int nw, int force) -{ - -#ifdef PROC_TRACE - traceFunc("== checkCornerCases(%p, %d, %d, %d, %d, %d, %d, %d)\n", - filetext, size, score, kwbm, isML, isPS, nw, force); -#endif /* PROC_TRACE */ - - if (crCheck++) { /* only need to check this once */ - return; - } - if (INFILE(_LT_NOTATT_NOTBSD)) { - LOWINTEREST("non-ATT-BSD"); - } - - /* - * FINAL cases: (close to giving up) -- lowest-importance items - */ - /** - * @todo Remove this code block and respective phrase from STRINGS.in later - * - * Trademark detection removed. It gave too many false positives.Code left - * because more experiences are needed about the consequences. - */ - /* - if (!(*licStr)) { - if (HASTEXT(_TEXT_TRADEMARK, 0)) { - LOWINTEREST(LS_TDMKONLY); - } - } - */ - if (!(*licStr)) { - /* - * We may have matched something but ultimately determined there's nothing - * significant or of any interest, so empty the list of any matches we may - * have observed to this point. - */ - listClear(&whereList, NO); /* force 'nothing to report' */ - } - return; -} - -int match3(int base, char *buf, int score, int save, int isML, int isPS) -{ - int i; - int j; - char *cp; - /* */ -#ifdef PROC_TRACE -#ifdef PROC_TRACE_SWITCH - if (gl.ptswitch) -#endif /* PROC_TRACE_SWITCH */ - printf("== match3(%d, %p, %d, %d, %d, %d)\n", base, buf, score, save, - isML, isPS); -#else /* not PROC_TRACE */ -#ifdef UNKNOWN_CHECK_DEBUG - printf("== match3(%d, %p, %d, %d, %d, %d)\n", base, buf, score, save, - isML, isPS); -#endif /* UNKNOWN_CHECK_DEBUG */ -#endif /* not PROC_TRACE */ - /* */ - for (i = 1; i <= 3; i++) { - if (dbgIdxGrep(base+i, buf, (save && lDiags)) == 0) { -#ifdef UNKNOWN_CHECK_DEBUG - printf("match3: FAILED regex (%d)!\n", base+i); -#endif /* UNKNOWN_CHECK_DEBUG */ - return(0); - } - } -#ifdef UNKNOWN_CHECK_DEBUG - printf("match3: Success (%s)!\n", - (save ? "buffer-for-real" : "file-initial-check")); -#endif /* UNKNOWN_CHECK_DEBUG */ - /* - * Some "possible licenses" are technical descriptions that share some words - * that typically appear in licenses (distribution, terms, permission(s)). - ***** - * If we're checking a paragraph (e.g., "save" is non-zero), see if there are - * other engineering-development-technical terms in the paragraph that tend - * to NOT be present in licenses... - */ - if (save) { - for (j = i = 0, cp = buf; *cp; i++, cp++) { - if (*cp & 0200) { - j++; - } - } -#ifdef UNKNOWN_CHECK_DEBUG - printf("DEEBUG: %d bytes, %d 8-bit\n", i, j); -#endif /* UNKNOWN_CHECK_DEBUG */ - if (j >= (i/2)) { - if (lDiags) { - printf("... no, >= 50 percent 8-bit characters\n"); - } - return(0); - } - /* - We need to allocate space for a doctored-up version of the candidate - unknown-license paragraph, but it's ONLY used in this function. E.g., - make darn sure we free it up before exiting this function... - */ - cp = copyString(buf, MTAG_TEXTPARA); - doctorBuffer(cp, isML, isPS, NO); - /* - If we detected a no-warraty statement earlier, "checknw" is != 0. - Look for a no-warrany statement in this candidate paragraph. - If we find it, report failure for the paragraph and remember - finding the no--warranty. - */ - if (checknw && !idxGrep(checknw, cp, REG_ICASE|REG_EXTENDED)) { - if (lDiags) { - printf("... no, warranty regex %d\n", checknw); - } - checknw = 0; - memFree(cp, MTAG_TEXTPARA); - return(0); - } - /* - False-positive-check: GNU/FSF template (often see in ".po" - and ".c" files - - "This file is distributed under the same license as the - package PACKAGE" - */ - if (dbgIdxGrep(_LT_BOGUSTMPL, cp, lDiags)) { - if (lDiags) { - printf("... no, FSF-GNU template\n"); - } - memFree(cp, MTAG_TEXTPARA); - return(0); - } - /* - * False-positive-check: GNU GPL preamble statements; these have been - * "sprinkled" throughout files seen before, so check ALL of them. - */ - if (dbgIdxGrep(_PHR_GNU_FREEDOM, cp, lDiags) || - dbgIdxGrep(_PHR_GNU_COPYING, cp, lDiags) || - dbgIdxGrep(_PHR_GNU_PROTECT, cp, lDiags)) { - if (lDiags) { - printf("... no, GNU-GPL preamble\n"); - } - memFree(cp, MTAG_TEXTPARA); - return(0); - } - if (lDiags) { - printf("... candidate paragraph analysis:\n"); - } - for (i = j = 0; i < NKEYWORDS; i++) { - if (idxGrep_recordPositionDoctored(i + _KW_first, cp, REG_EXTENDED | REG_ICASE)) { - if (lDiags) { - printf("%s", j ? ", " : "KEYWORDS: "); - printf("%s", _REGEX(i+_KW_first)); - } - j++; - } - } - if (lDiags) { - if (j) { - printf("\n"); - } - printf("SCORES: para %d, file %d == %05.2f%% ", j, - score, 100.0 * (float) j / (float) score); - } - /* - Here, we guess that an UnclassifiedLicense exists in a paragraph - when: - + a paragraph has a keyword-score of at least 3 -OR- - + ... a keyword-score of 2 *AND* is >= 50% of the file's - total score - - It's likely we'll see a few false-positives with a - keyword-score of 2 but there are cases where this works. - We can filter out the 2-scores we see - with the FILTER checks below... - */ - if (j == 0) { /* no license-like keywords */ - if (lDiags) { - printf("(ZERO legal keywords)\n"); - } - memFree(cp, MTAG_TEXTPARA); - return(0); - } - if (j >= 3 || (j == 2 && j*2 >= score)) { - if (j >= 3 && lDiags) { - printf("(LIKELY: para-score >= 2)\n"); - } - else if (lDiags) { - printf("(MAYBE: local percentage)\n"); - } - } - else { - if (lDiags) { - printf("(NOT LIKELY a license)\n"); -#if 0 -#endif - printf("[FAILED]\n%s\n[/FAILED]\n", buf); - } - memFree(cp, MTAG_TEXTPARA); - return(0); - } - /* - Sure, there ARE paragraphs with these words that do NOT constitute a - real license. Look for key words and phrases of them HERE. This list - of filters will likely grow over time. - */ - for (i = 0; i < NFILTER; i++) { - if (dbgIdxGrep(_FILTER_first+i, buf, lDiags)) { - if (lDiags) { - printf("!! NO-LIC: filter %d\n", ++i); - } - memFree(cp, MTAG_TEXTPARA); - return(0); - } - } - if (cur.licPara == NULL_STR) { - saveLicenseParagraph(buf, isML, isPS, YES); - } - memFree(cp, MTAG_TEXTPARA); - } -#ifdef UNKNOWN_CHECK_DEBUG - else { - printf("match3: Initial-check only (save == %d)\n", save); - } -#endif /* UNKNOWN_CHECK_DEBUG */ - return(1); -} - -void saveLicenseParagraph(char *mtext, int isML, int isPS, int entireBuf) -{ - char *cp; - char *start; - int index=0; - int len; - start = copyString(mtext, MTAG_TEXTPARA); - if(!start) - { - LOG_FATAL("called saveLicenseParagraph without text") - Bail(-__LINE__); - } -#ifdef PROC_TRACE -#ifdef PROC_TRACE_SWITCH - if (gl.ptswitch) -#endif /* PROC_TRACE_SWITCH */ - printf("== saveLicenseParagraph(%p, %d, %d, %d)\n", mtext, isML, isPS, entireBuf); -#endif /* PROC_TRACE */ - /* */ - if (entireBuf) { - cur.licPara = copyString(mtext, MTAG_TEXTPARA); - } else { - if (cur.regm.rm_so < 50) { - len = cur.regm.rm_eo + 80; - } else { - len = cur.regm.rm_eo + 130 - cur.regm.rm_so; - index = cur.regm.rm_so - 50; - } - cur.licPara = memAlloc(len + 9, MTAG_TEXTPARA); - (void) strcpy(cur.licPara, "... "); - (void) strncpy(cur.licPara + 4, start + index, len); - (void) strcpy(cur.licPara + len + 4, " ..."); - memFree(start, MTAG_TEXTPARA); - } - - /* - * Convert double-line-feed chars ("\r" and "\n" combos) to a single "\n" - */ - for (cp = cur.licPara; *cp; cp++) { - if ((*cp == '\n' || *cp == '\r') && - (*(cp+1) == '\r' || *(cp+1) == '\n')) { - *cp = ' '; - *(cp+1) = '\n'; - } - } - if (lDiags) { - printf("[PERHAPS] (%p)\n%s\n[/PERHAPS]\n", cur.licPara, cur.licPara); - } - return; -} - -/** - * SPDX license references - * - * Note that many license references have been detected earlier: - * - BSD, CNRI-Python, Intel and MIT variants, - * - CC_BY_SA, CECILL, MPL, ZPL, AGPL, GPL and LGPL versions - * - ICU, TCL - */ -void spdxReference(char *filetext, int size, int isML, int isPS) -{ - if (INFILE(_SPDX_Glide)) { - INTERESTING("Glide"); - } - if (INFILE(_SPDX_Abstyles)) { - INTERESTING("Abstyles"); - } - if (INFILE(_SPDX_AFL_11)) { - INTERESTING("AFL-1.1"); - } - if (INFILE(_SPDX_AFL_12)) { - INTERESTING("AFL-1.2"); - } - if (INFILE(_SPDX_AFL_20)) { - INTERESTING("AFL-2.0"); - } - if (INFILE(_SPDX_AFL_21)) { - INTERESTING("AFL-2.1"); - } - if (INFILE(_SPDX_AFL_30)) { - INTERESTING("AFL-3.0"); - } - if (INFILE(_SPDX_AMPAS)) { - INTERESTING("AMPAS"); - } - if (INFILE(_SPDX_APL_10)) { - INTERESTING("APL-1.0"); - } - if (INFILE(_SPDX_Adobe_Glyph)) { - INTERESTING("Adobe-Glyph"); - } - if (INFILE(_SPDX_APAFML)) { - INTERESTING("APAFML"); - } - if (INFILE(_SPDX_Adobe_2006)) { - INTERESTING("Adobe-2006"); - } - if (INFILE(_SPDX_Afmparse)) { - INTERESTING("Afmparse"); - } - if (INFILE(_SPDX_Aladdin)) { - INTERESTING("Aladdin"); - } - if (INFILE(_SPDX_ADSL)) { - INTERESTING("ADSL"); - } - if (INFILE(_SPDX_AMDPLPA)) { - INTERESTING("AMDPLPA"); - } - if (INFILE(_SPDX_ANTLR_PD)) { - INTERESTING("ANTLR-PD"); - } - if (INFILE(_SPDX_AML)) { - INTERESTING("AML"); - } - if (INFILE(_SPDX_APSL_10)) { - INTERESTING("APSL-1.0"); - } - if (INFILE(_SPDX_APSL_11)) { - INTERESTING("APSL-1.1"); - } - if (INFILE(_SPDX_APSL_12)) { - INTERESTING("APSL-1.2"); - } - if (INFILE(_SPDX_APSL_20)) { - INTERESTING("APSL-2.0"); - } - if (INFILE(_SPDX_Artistic_10_Perl)) { - INTERESTING("Artistic-1.0-Perl"); - } - else if (INFILE(_SPDX_Artistic_10_cl8)) { - INTERESTING("Artistic-1.0-cl8"); - } - else if (INFILE(_SPDX_Artistic_10)) { - INTERESTING("Artistic-1.0"); - } - if (INFILE(_SPDX_Artistic_20)) { - INTERESTING("Artistic-2.0"); - } - if (INFILE(_SPDX_AAL)) { - INTERESTING("AAL"); - } - if (INFILE(_SPDX_Bahyph)) { - INTERESTING("Bahyph"); - } - if (INFILE(_SPDX_Barr)) { - INTERESTING("Barr"); - } - if (INFILE(_SPDX_Beerware)) { - INTERESTING("Beerware"); - } - if (INFILE(_SPDX_BitTorrent_10)) { - INTERESTING("BitTorrent-1.0"); - } - else if (INFILE(_SPDX_BitTorrent_11)) { - INTERESTING("BitTorrent-1.1"); - } - if (INFILE(_SPDX_blessing)) { - INTERESTING("blessing"); - } - if (INFILE(_SPDX_BlueOak_100)) { - INTERESTING("BlueOak-1.0.0"); - } - if (INFILE(_SPDX_BSL_10)) { - INTERESTING("BSL-1.0"); - } - if (INFILE(_SPDX_Borceux)) { - INTERESTING("Borceux"); - } - if (INFILE(_SPDX_0BSD)) { - INTERESTING("0BSD"); - } - if (INFILE(_SPDX_bzip2_105)) { - INTERESTING("bzip2-1.0.5"); - } - else if (INFILE(_SPDX_bzip2_106)) { - INTERESTING("bzip2-1.0.6"); - } - if (INFILE(_SPDX_Caldera)) { - INTERESTING("Caldera"); - } - if (INFILE(_SPDX_CC_PDDC)) { - INTERESTING("CC-PDDC"); - } - if (INFILE(_SPDX_CERN_OHL_P_20)) { - INTERESTING("CERN-OHL-P-2.0"); - } - else if (INFILE(_SPDX_CERN_OHL_S_20)) { - INTERESTING("CERN-OHL-S-2.0"); - } - else if (INFILE(_SPDX_CERN_OHL_W_20)) { - INTERESTING("CERN-OHL-W-2.0"); - } - else if (INFILE(_SPDX_CERN_OHL_12)) { - INTERESTING("CERN-OHL-1.2"); - } - else if (INFILE(_SPDX_CERN_OHL_11)) { - INTERESTING("CERN-OHL-1.1"); - } - if (INFILE(_SPDX_ClArtistic)) { - INTERESTING("ClArtistic"); - } - if (INFILE(_SPDX_CNRI_Jython)) { - INTERESTING("CNRI-Jython"); - } - if (INFILE(_SPDX_CPOL_102)) { - INTERESTING("CPOL-1.02"); - } - if (INFILE(_SPDX_CPAL_10)) { - INTERESTING("CPAL-1.0"); - } - if (INFILE(_SPDX_CPL_10)) { - INTERESTING("CPL-1.0"); - } - if (INFILE(_SPDX_CAL_10_Combined_Work_Exception)) { - INTERESTING("CAL-1.0-Combined-Work-Exception"); - } - else if (INFILE(_SPDX_CAL_10)) { - INTERESTING("CAL-1.0"); - } - if (INFILE(_SPDX_CATOSL_11)) { - INTERESTING("CATOSL-1.1"); - } - if (INFILE(_SPDX_Condor_11)) { - INTERESTING("Condor-1.1"); - } - if (INFILE(_SPDX_CC_BY_10)) { - INTERESTING("CC-BY-1.0"); - } - else if (INFILE(_SPDX_CC_BY_20)) { - INTERESTING("CC-BY-2.0"); - } - else if (INFILE(_SPDX_CC_BY_25)) { - INTERESTING("CC-BY-2.5"); - } - else if (INFILE(_SPDX_CC_BY_30_AT)) { - INTERESTING("CC-BY-3.0-AT"); - } - else if (INFILE(_SPDX_CC_BY_30)) { - INTERESTING("CC-BY-3.0"); - } - else if (INFILE(_SPDX_CC_BY_40)) { - INTERESTING("CC-BY-4.0"); - } - if (INFILE(_SPDX_CC_BY_ND_10)) { - INTERESTING("CC-BY-ND-1.0"); - } - else if (INFILE(_SPDX_CC_BY_ND_20)) { - INTERESTING("CC-BY-ND-2.0"); - } - else if (INFILE(_SPDX_CC_BY_ND_25)) { - INTERESTING("CC-BY-ND-2.5"); - } - else if (INFILE(_SPDX_CC_BY_ND_30)) { - INTERESTING("CC-BY-ND-3.0"); - } - else if (INFILE(_SPDX_CC_BY_ND_40)) { - INTERESTING("CC-BY-ND-4.0"); - } - if (INFILE(_SPDX_CC_BY_NC_10)) { - INTERESTING("CC-BY-NC-1.0"); - } - else if (INFILE(_SPDX_CC_BY_NC_20)) { - INTERESTING("CC-BY-NC-2.0"); - } - else if (INFILE(_SPDX_CC_BY_NC_25)) { - INTERESTING("CC-BY-NC-2.5"); - } - else if (INFILE(_SPDX_CC_BY_NC_30)) { - INTERESTING("CC-BY-NC-3.0"); - } - else if (INFILE(_SPDX_CC_BY_NC_40)) { - INTERESTING("CC-BY-NC-4.0"); - } - if (INFILE(_SPDX_CC_BY_NC_ND_10)) { - INTERESTING("CC-BY-NC-ND-1.0"); - } - else if (INFILE(_SPDX_CC_BY_NC_ND_20)) { - INTERESTING("CC-BY-NC-ND-2.0"); - } - else if (INFILE(_SPDX_CC_BY_NC_ND_25)) { - INTERESTING("CC-BY-NC-ND-2.5"); - } - else if (INFILE(_SPDX_CC_BY_NC_ND_30_IGO)) { - INTERESTING("CC-BY-NC-ND-3.0-IGO"); - } - else if (INFILE(_SPDX_CC_BY_NC_ND_30)) { - INTERESTING("CC-BY-NC-ND-3.0"); - } - else if (INFILE(_SPDX_CC_BY_NC_ND_40)) { - INTERESTING("CC-BY-NC-ND-4.0"); - } - if (INFILE(_SPDX_CC_BY_NC_SA_10)) { - INTERESTING("CC-BY-NC-SA-1.0"); - } - else if (INFILE(_SPDX_CC_BY_NC_SA_20)) { - INTERESTING("CC-BY-NC-SA-2.0"); - } - else if (INFILE(_SPDX_CC_BY_NC_SA_25)) { - INTERESTING("CC-BY-NC-SA-2.5"); - } - else if (INFILE(_SPDX_CC_BY_NC_SA_30)) { - INTERESTING("CC-BY-NC-SA-3.0"); - } - else if (INFILE(_SPDX_CC_BY_NC_SA_40)) { - INTERESTING("CC-BY-NC-SA-4.0"); - } - if (INFILE(_SPDX_CC_BY_SA_10)) { - INTERESTING("CC-BY-SA-1.0"); - } - else if (INFILE(_SPDX_CC_BY_SA_20)) { - INTERESTING("CC-BY-SA-2.0"); - } - else if (INFILE(_SPDX_CC_BY_SA_25)) { - INTERESTING("CC-BY-SA-2.5"); - } - else if (INFILE(_SPDX_CC_BY_SA_30_AT)) { - INTERESTING("CC-BY-SA-3.0-AT"); - } - else if (INFILE(_SPDX_CC_BY_SA_30)) { - INTERESTING("CC-BY-SA-3.0"); - } - else if (INFILE(_SPDX_CC_BY_SA_40)) { - INTERESTING("CC-BY-SA-4.0"); - } - if (INFILE(_SPDX_CDLA_Permissive_10)) { - INTERESTING("CDLA-Permissive-1.0"); - } - if (INFILE(_SPDX_CDLA_Sharing_10)) { - INTERESTING("CDLA-Sharing-1.0"); - } - if (INFILE(_SPDX_Crossword)) { - INTERESTING("Crossword"); - } - if (INFILE(_SPDX_CrystalStacker)) { - INTERESTING("CrystalStacker"); - } - if (INFILE(_SPDX_CUA_OPL_10)) { - INTERESTING("CUA-OPL-1.0"); - } - if (INFILE(_SPDX_Cube)) { - INTERESTING("Cube"); - } - if (INFILE(_SPDX_curl)) { - INTERESTING("curl"); - } - if (INFILE(_SPDX_D_FSL_10)) { - INTERESTING("D-FSL-1.0"); - } - if (INFILE(_SPDX_diffmark)) { - INTERESTING("diffmark"); - } - if (INFILE(_SPDX_WTFPL)) { - INTERESTING("WTFPL"); - } - if (HASTEXT(_SPDX_DOC, REG_EXTENDED) || HASTEXT(_PHR_DOC, REG_EXTENDED)) { - INTERESTING("DOC"); - } - if (INFILE(_SPDX_Dotseqn)) { - INTERESTING("Dotseqn"); - } - if (INFILE(_SPDX_DSDP)) { - INTERESTING("DSDP"); - } - if (INFILE(_SPDX_dvipdfm)) { - INTERESTING("dvipdfm"); - } - if (INFILE(_SPDX_EPL_10)) { - INTERESTING("EPL-1.0"); - } - else if (INFILE(_SPDX_EPL_20)) { - INTERESTING("EPL-2.0"); - } - if (INFILE(_SPDX_ECL_10)) { - INTERESTING("ECL-1.0"); - } - if (INFILE(_SPDX_ECL_20)) { - INTERESTING("ECL-2.0"); - } - if (INFILE(_SPDX_eGenix)) { - INTERESTING("eGenix"); - } - if (INFILE(_SPDX_EFL_10)) { - INTERESTING("EFL-1.0"); - } - if (INFILE(_SPDX_EFL_20)) { - INTERESTING("EFL-2.0"); - } - if (INFILE(_SPDX_Entessa)) { - INTERESTING("Entessa"); - } - if (INFILE(_SPDX_EPICS)) { - INTERESTING("EPICS"); - } - if (INFILE(_SPDX_ErlPL_11)) { - INTERESTING("ErlPL-1.1"); - } - if (INFILE(_SPDX_etalab_20)) { - INTERESTING("etalab-2.0"); - } - if (INFILE(_SPDX_EUDatagrid)) { - INTERESTING("EUDatagrid"); - } - if (INFILE(_SPDX_EUPL_10)) { - INTERESTING("EUPL-1.0"); - } - else if (INFILE(_SPDX_EUPL_11)) { - INTERESTING("EUPL-1.1"); - } - else if (INFILE(_SPDX_EUPL_12)) { - INTERESTING("EUPL-1.2"); - } - if (INFILE(_SPDX_Eurosym)) { - INTERESTING("Eurosym"); - } - if (HASTEXT(_SPDX_Fair, REG_EXTENDED) || HASTEXT(_PHR_Fair, REG_EXTENDED)) { - INTERESTING("Fair"); - } - if (INFILE(_SPDX_Frameworx_10)) { - INTERESTING("Frameworx-1.0"); - } - if (INFILE(_SPDX_FreeImage)) { - INTERESTING("FreeImage"); - } - if (INFILE(_SPDX_FSFAP)) { - INTERESTING("FSFAP"); - } - if (INFILE(_SPDX_FSFULLR)) { - INTERESTING("FSFULLR"); - } - else if (INFILE(_SPDX_FSFUL)) { - INTERESTING("FSFUL"); - } - if (INFILE(_SPDX_Giftware)) { - INTERESTING("Giftware"); - } - if (INFILE(_SPDX_GL2PS)) { - INTERESTING("GL2PS"); - } - if (INFILE(_SPDX_Glulxe)) { - INTERESTING("Glulxe"); - } - if (INFILE(_SPDX_GFDL_11_invariants_or_later)) { - INTERESTING("GFDL-1.1-invariants-or-later"); - } - else if (INFILE(_SPDX_GFDL_11_no_invariants_or_later)) { - INTERESTING("GFDL-1.1-no-invariants-or-later"); - } - else if (INFILE(_SPDX_GFDL_11_invariants_only)) { - INTERESTING("GFDL-1.1-invariants-only"); - } - else if (INFILE(_SPDX_GFDL_11_no_invariants_only)) { - INTERESTING("GFDL-1.1-no-invariants-only"); - } - else if (INFILE(_SPDX_GFDL_11_or_later) - || HASTEXT(_SPDX_GFDL_11plus, REG_EXTENDED) - || HASTEXT(_PHR_GFDL_11plus, REG_EXTENDED)) - { - INTERESTING("GFDL-1.1+"); - } - else if (INFILE(_SPDX_GFDL_11)) { - INTERESTING("GFDL-1.1"); - } - else if (INFILE(_SPDX_GFDL_12_invariants_or_later)) { - INTERESTING("GFDL-1.2-invariants-or-later"); - } - else if (INFILE(_SPDX_GFDL_12_no_invariants_or_later)) { - INTERESTING("GFDL-1.2-no-invariants-or-later"); - } - else if (INFILE(_SPDX_GFDL_12_invariants_only)) { - INTERESTING("GFDL-1.2-invariants-only"); - } - else if (INFILE(_SPDX_GFDL_12_no_invariants_only)) { - INTERESTING("GFDL-1.2-no-invariants-only"); - } - else if (INFILE(_SPDX_GFDL_12_or_later) - || HASTEXT(_SPDX_GFDL_12plus, REG_EXTENDED) - || HASTEXT(_PHR_GFDL_12plus, REG_EXTENDED)) - { - INTERESTING("GFDL-1.2+"); - } - else if (INFILE(_SPDX_GFDL_12)) { - INTERESTING("GFDL-1.2"); - } - else if (INFILE(_SPDX_GFDL_13_invariants_or_later)) { - INTERESTING("GFDL-1.3-invariants-or-later"); - } - else if (INFILE(_SPDX_GFDL_13_no_invariants_or_later)) { - INTERESTING("GFDL-1.3-no-invariants-or-later"); - } - else if (INFILE(_SPDX_GFDL_13_invariants_only)) { - INTERESTING("GFDL-1.3-invariants-only"); - } - else if (INFILE(_SPDX_GFDL_13_no_invariants_only)) { - INTERESTING("GFDL-1.3-no-invariants-only"); - } - else if (INFILE(_SPDX_GFDL_13_or_later) - || HASTEXT(_SPDX_GFDL_13plus, REG_EXTENDED) - || HASTEXT(_PHR_GFDL_13plus, REG_EXTENDED)) - { - INTERESTING("GFDL-1.3+"); - } - else if (INFILE(_SPDX_GFDL_13)) { - INTERESTING("GFDL-1.3"); - } - if (INFILE(_SPDX_GLWTPL)) { - INTERESTING("GLWTPL"); - } - if (INFILE(_SPDX_gnuplot)) { - INTERESTING("gnuplot"); - } - if (INFILE(_SPDX_gSOAP_13b)) { - INTERESTING("gSOAP-1.3b"); - } - if (INFILE(_SPDX_HaskellReport)) { - INTERESTING("HaskellReport"); - } - if (INFILE(_SPDX_Hippocratic_21)) { - INTERESTING("Hippocratic-2.1"); - } - if (INFILE(_SPDX_HPND_sell_variant)) { - INTERESTING("HPND-sell-variant"); - } - else if (INFILE(_SPDX_HPND)) { - INTERESTING("HPND"); - } - if (INFILE(_SPDX_IBM_pibs)) { - INTERESTING("IBM-pibs"); - } - if (INFILE(_SPDX_IPL_10)) { - INTERESTING("IPL-1.0"); - } - if (INFILE(_SPDX_ImageMagick)) { - INTERESTING("ImageMagick"); - } - if (INFILE(_SPDX_iMatix)) { - INTERESTING("iMatix"); - } - if (INFILE(_SPDX_Imlib2)) { - INTERESTING("Imlib2"); - } - if (INFILE(_SPDX_IJG)) { - INTERESTING("IJG"); - } - if (INFILE(_SPDX_Info_ZIP)) { - INTERESTING("Info-ZIP"); - } - if (INFILE(_SPDX_Interbase_10)) { - INTERESTING("Interbase-1.0"); - } - if (INFILE(_SPDX_IPA)) { - INTERESTING("IPA"); - } - if (INFILE(_SPDX_ISC)) { - INTERESTING("ISC"); - } - if (INFILE(_SPDX_JasPer_20)) { - INTERESTING("JasPer-2.0"); - } - if (INFILE(_SPDX_JPNIC)) { - INTERESTING("JPNIC"); - } - if (INFILE(_SPDX_JSON)) { - INTERESTING("JSON"); - } - if (INFILE(_SPDX_Latex2e)) { - INTERESTING("Latex2e"); - } - if (INFILE(_SPDX_Leptonica)) { - INTERESTING("Leptonica"); - } - if (INFILE(_SPDX_LGPLLR)) { - INTERESTING("LGPLLR"); - } - if (INFILE(_SPDX_libpng_20)) { - INTERESTING("libpng-2.0"); - } - else if (INFILE(_SPDX_Libpng)) { - INTERESTING("Libpng"); - } - if (INFILE(_SPDX_libselinux_10)) { - INTERESTING("libselinux-1.0"); - } - if (INFILE(_SPDX_libtiff)) { - INTERESTING("libtiff"); - } - if (INFILE(_SPDX_LAL_12)) { - INTERESTING("LAL-1.2"); - } - if (INFILE(_SPDX_LAL_13)) { - INTERESTING("LAL-1.3"); - } - if (INFILE(_SPDX_LiLiQ_P_11)) { - INTERESTING("LiLiQ-P-1.1"); - } - if (INFILE(_SPDX_LiLiQ_Rplus_11)) { - INTERESTING("LiLiQ-Rplus-1.1"); - } - if (INFILE(_SPDX_LiLiQ_R_11)) { - INTERESTING("LiLiQ-R-1.1"); - } - if (INFILE(_SPDX_Linux_OpenIB)) { - INTERESTING("Linux-OpenIB"); - } - if (INFILE(_SPDX_LPL_102)) { - INTERESTING("LPL-1.02"); - } - else if (INFILE(_SPDX_LPL_10)) { - INTERESTING("LPL-1.0"); - } - if (INFILE(_SPDX_LPPL_10)) { - INTERESTING("LPPL-1.0"); - } - if (INFILE(_SPDX_LPPL_11)) { - INTERESTING("LPPL-1.1"); - } - if (INFILE(_SPDX_LPPL_12)) { - INTERESTING("LPPL-1.2"); - } - if (INFILE(_SPDX_LPPL_13a)) { - INTERESTING("LPPL-1.3a"); - } - if (INFILE(_SPDX_LPPL_13c)) { - INTERESTING("LPPL-1.3c"); - } - if (INFILE(_SPDX_MakeIndex)) { - INTERESTING("MakeIndex"); - } - if (INFILE(_SPDX_MTLL)) { - INTERESTING("MTLL"); - } - if (INFILE(_SPDX_MS_PL)) { - INTERESTING("MS-PL"); - } - if (INFILE(_SPDX_MS_RL)) { - INTERESTING("MS-RL"); - } - if (INFILE(_SPDX_MirOS)) { - INTERESTING("MirOS"); - } - if (INFILE(_SPDX_MITNFA)) { - INTERESTING("MITNFA"); - } - if (!lmem[_fREAL] && INFILE(_SPDX_Motosoto)) { - INTERESTING("Motosoto"); - } - if (INFILE(_SPDX_mpich2)) { - INTERESTING("mpich2"); - } - if (INFILE(_SPDX_MulanPSL_20)) { - INTERESTING("MulanPSL-2.0"); - } - else if (INFILE(_SPDX_MulanPSL_10)) { - INTERESTING("MulanPSL-1.0"); - } - if (INFILE(_SPDX_Multics)) { - INTERESTING("Multics"); - } - if (INFILE(_SPDX_Mup)) { - INTERESTING("Mup"); - } - if (INFILE(_SPDX_NASA_13)) { - INTERESTING("NASA-1.3"); - } - if (INFILE(_SPDX_Naumen)) { - INTERESTING("Naumen"); - } - if (INFILE(_SPDX_NBPL_10)) { - INTERESTING("NBPL-1.0"); - } - if (INFILE(_SPDX_NCGL_UK_20)) { - INTERESTING("NCGL-UK-2.0"); - } - if (INFILE(_SPDX_Net_SNMP)) { - INTERESTING("Net-SNMP"); - } - if (INFILE(_SPDX_NetCDF)) { - INTERESTING("NetCDF"); - } - if (INFILE(_SPDX_NGPL)) { - INTERESTING("NGPL"); - } - if (INFILE(_SPDX_NIST_PD_fallback)) { - INTERESTING("NIST-PD-fallback"); - } - else if (INFILE(_SPDX_NIST_PD)) { - INTERESTING("NIST-PD"); - } - if (INFILE(_SPDX_NOSL)) { - INTERESTING("NOSL"); - } - if (INFILE(_SPDX_NPL_10)) { - INTERESTING("NPL-1.0"); - } - if (INFILE(_SPDX_NPL_11)) { - INTERESTING("NPL-1.1"); - } - if (INFILE(_SPDX_Newsletr)) { - INTERESTING("Newsletr"); - } - if (INFILE(_SPDX_NLPL)) { - INTERESTING("NLPL"); - } - if (INFILE(_SPDX_Nokia) && NOT_INFILE(_LT_OPENSSL_NOKIA)) { - INTERESTING("Nokia"); - } - if (INFILE(_SPDX_NPOSL_30)) { - INTERESTING("NPOSL-3.0"); - } - if (INFILE(_SPDX_NLOD_10)) { - INTERESTING("NLOD-1.0"); - } - if (INFILE(_SPDX_Noweb)) { - INTERESTING("Noweb"); - } - if (INFILE(_SPDX_NRL)) { - INTERESTING("NRL"); - } - if (INFILE(_SPDX_NTP_0)) { - INTERESTING("NTP-0"); - } - else if (INFILE(_SPDX_NTP)) { - INTERESTING("NTP"); - } - if (INFILE(_SPDX_Nunit)) { - INTERESTING("Nunit"); - } - if (INFILE(_SPDX_O_UDA_10)) { - INTERESTING("O-UDA-1.0"); - } - if (INFILE(_SPDX_OCLC_20)) { - INTERESTING("OCLC-2.0"); - } - if (INFILE(_SPDX_ODbL_10)) { - INTERESTING("ODbL-1.0"); - } - if (INFILE(_SPDX_OGC_10)) { - INTERESTING("OGC-1.0"); - } - if (INFILE(_SPDX_PDDL_10)) { - INTERESTING("PDDL-1.0"); - } - if (INFILE(_SPDX_OCCT_PL)) { - INTERESTING("OCCT-PL"); - } - if (INFILE(_SPDX_ODC_By_10)) { - INTERESTING("ODC-By-1.0"); - } - if (INFILE(_SPDX_OGL_Canada_20)) { - INTERESTING("OGL-Canada-2.0"); - } - if (INFILE(_SPDX_OGL_UK_10)) { - INTERESTING("OGL-UK-1.0"); - } - else if (INFILE(_SPDX_OGL_UK_20)) { - INTERESTING("OGL-UK-2.0"); - } - else if (INFILE(_SPDX_OGL_UK_30)) { - INTERESTING("OGL-UK-3.0"); - } - if (INFILE(_SPDX_OGTSL)) { - INTERESTING("OGTSL"); - } - if (INFILE(_SPDX_OLDAP_11)) { - INTERESTING("OLDAP-1.1"); - } - else if (INFILE(_SPDX_OLDAP_12)) { - INTERESTING("OLDAP-1.2"); - } - else if (INFILE(_SPDX_OLDAP_13)) { - INTERESTING("OLDAP-1.3"); - } - else if (INFILE(_SPDX_OLDAP_14)) { - INTERESTING("OLDAP-1.4"); - } - else if (INFILE(_SPDX_OLDAP_201)) { - INTERESTING("OLDAP-2.0.1"); - } - else if (INFILE(_SPDX_OLDAP_20)) { - INTERESTING("OLDAP-2.0"); - } - else if (INFILE(_SPDX_OLDAP_21)) { - INTERESTING("OLDAP-2.1"); - } - else if (INFILE(_SPDX_OLDAP_221)) { - INTERESTING("OLDAP-2.2.1"); - } - else if (INFILE(_SPDX_OLDAP_222)) { - INTERESTING("OLDAP-2.2.2"); - } - else if (INFILE(_SPDX_OLDAP_22)) { - INTERESTING("OLDAP-2.2"); - } - else if (INFILE(_SPDX_OLDAP_23)) { - INTERESTING("OLDAP-2.3"); - } - else if (INFILE(_SPDX_OLDAP_24)) { - INTERESTING("OLDAP-2.4"); - } - else if (INFILE(_SPDX_OLDAP_25)) { - INTERESTING("OLDAP-2.5"); - } - else if (INFILE(_SPDX_OLDAP_26)) { - INTERESTING("OLDAP-2.6"); - } - else if (INFILE(_SPDX_OLDAP_27)) { - INTERESTING("OLDAP-2.7"); - } - else if (INFILE(_SPDX_OLDAP_28)) { - INTERESTING("OLDAP-2.8"); - } - if (INFILE(_SPDX_OML)) { - INTERESTING("OML"); - } - if (INFILE(_SPDX_OPL_10)) { - INTERESTING("OPL-1.0"); - } - if (INFILE(_SPDX_OSL_10)) { - INTERESTING("OSL-1.0"); - } - if (INFILE(_SPDX_OSL_11)) { - INTERESTING("OSL-1.1"); - } - if (INFILE(_SPDX_OSL_20)) { - INTERESTING("OSL-2.0"); - } - if (INFILE(_SPDX_OSL_21)) { - INTERESTING("OSL-2.1"); - } - if (INFILE(_SPDX_OSL_30)) { - INTERESTING("OSL-3.0"); - } - if (INFILE(_SPDX_OSET_PL_21)) { - INTERESTING("OSET-PL-2.1"); - } - if (INFILE(_SPDX_Parity_700)) { - INTERESTING("Parity-7.0.0"); - } - else if (INFILE(_SPDX_Parity_600)) { - INTERESTING("Parity-6.0.0"); - } - if (INFILE(_SPDX_PHP_301)) { - INTERESTING("PHP-3.01"); - } - else if (INFILE(_SPDX_PHP_30)) { - INTERESTING("PHP-3.0"); - } - if (INFILE(_SPDX_Plexus)) { - INTERESTING("Plexus"); - } - if (INFILE(_SPDX_PolyForm_Noncommercial_100)) { - INTERESTING("PolyForm-Noncommercial-1.0.0"); - } - else if (INFILE(_SPDX_PolyForm_Small_Business_100)) { - INTERESTING("PolyForm-Small-Business-1.0.0"); - } - if (INFILE(_SPDX_PostgreSQL)) { - INTERESTING("PostgreSQL"); - } - if (INFILE(_SPDX_PSF_20)) { - INTERESTING("PSF-2.0"); - } - if (INFILE(_SPDX_psfrag)) { - INTERESTING("psfrag"); - } - if (INFILE(_SPDX_psutils)) { - INTERESTING("psutils"); - } - if (INFILE(_SPDX_Python_20)) { - INTERESTING("Python-2.0"); - } - if (INFILE(_SPDX_QPL_10)) { - INTERESTING("QPL-1.0"); - } - if (INFILE(_SPDX_Qhull)) { - INTERESTING("Qhull"); - } - if (INFILE(_SPDX_Rdisc)) { - INTERESTING("Rdisc"); - } - if (INFILE(_SPDX_RPSL_10)) { - INTERESTING("RPSL-1.0"); - } - if (INFILE(_SPDX_RPL_11)) { - INTERESTING("RPL-1.1"); - } - if (INFILE(_SPDX_RPL_15)) { - INTERESTING("RPL-1.5"); - } - if (INFILE(_SPDX_RHeCos_11)) { - INTERESTING("RHeCos-1.1"); - } - if (INFILE(_SPDX_RSCPL)) { - INTERESTING("RSCPL"); - } - if (INFILE(_SPDX_RSA_MD)) { - INTERESTING("RSA-MD"); - } - if (INFILE(_SPDX_Ruby)) { - INTERESTING("Ruby"); - } - if (INFILE(_SPDX_SAX_PD)) { - INTERESTING("SAX-PD"); - } - if (INFILE(_SPDX_Saxpath)) { - INTERESTING("Saxpath"); - } - if (INFILE(_SPDX_SHL_051)) { - INTERESTING("SHL-0.51"); - } - else if (INFILE(_SPDX_SHL_05)) { - INTERESTING("SHL-0.5"); - } - if (INFILE(_SPDX_SCEA)) { - INTERESTING("SCEA"); - } - if (INFILE(_SPDX_SWL)) { - INTERESTING("SWL"); - } - if (INFILE(_SPDX_SMPPL)) { - INTERESTING("SMPPL"); - } - if (INFILE(_SPDX_Sendmail_823)) { - INTERESTING("Sendmail-8.23"); - } - else if (INFILE(_SPDX_Sendmail)) { - INTERESTING("Sendmail"); - } - if (INFILE(_SPDX_SGI_B_10)) { - INTERESTING("SGI-B-1.0"); - } - if (INFILE(_SPDX_SGI_B_11)) { - INTERESTING("SGI-B-1.1"); - } - if (INFILE(_SPDX_SGI_B_20)) { - INTERESTING("SGI-B-2.0"); - } - if (INFILE(_SPDX_SimPL_20)) { - INTERESTING("SimPL-2.0"); - } - if (INFILE(_SPDX_Sleepycat)) { - INTERESTING("Sleepycat"); - } - if (INFILE(_SPDX_SNIA)) { - INTERESTING("SNIA"); - } - if (INFILE(_SPDX_Spencer_86)) { - INTERESTING("Spencer-86"); - } - if (INFILE(_SPDX_Spencer_94)) { - INTERESTING("Spencer-94"); - } - if (INFILE(_SPDX_Spencer_99)) { - INTERESTING("Spencer-99"); - } - if (INFILE(_SPDX_SMLNJ)) { - INTERESTING("SMLNJ"); - } - if (INFILE(_SPDX_SSH_OpenSSH)) { - INTERESTING("SSH-OpenSSH"); - } - if (INFILE(_SPDX_SSH_short)) { - INTERESTING("SSH-short"); - } - if (INFILE(_SPDX_SSPL_10)) { - INTERESTING("SSPL-1.0"); - } - if (INFILE(_SPDX_SugarCRM_113)) { - INTERESTING("SugarCRM-1.1.3"); - } - if (INFILE(_SPDX_SISSL_12)) { - INTERESTING("SISSL-1.2"); - } - else if (!lmem[_fREAL] && INFILE(_SPDX_SISSL)) { - INTERESTING("SISSL"); - } - if (INFILE(_SPDX_SPL_10)) { - INTERESTING("SPL-1.0"); - } - if (INFILE(_SPDX_Watcom_10)) { - INTERESTING("Watcom-1.0"); - } - if (INFILE(_SPDX_TAPR_OHL_10)) { - INTERESTING("TAPR-OHL-1.0"); - } - if (INFILE(_SPDX_TCP_wrappers)) { - INTERESTING("TCP-wrappers"); - } - if (INFILE(_SPDX_Unlicense)) { - INTERESTING("Unlicense"); - } - if (INFILE(_SPDX_TMate)) { - INTERESTING("TMate"); - } - if (INFILE(_SPDX_TORQUE_11)) { - INTERESTING("TORQUE-1.1"); - } - if (INFILE(_SPDX_TOSL)) { - INTERESTING("TOSL"); - } - if (INFILE(_SPDX_TU_Berlin_10)) { - INTERESTING("TU-Berlin-1.0"); - } - else if (INFILE(_SPDX_TU_Berlin_20)) { - INTERESTING("TU-Berlin-2.0"); - } - if (INFILE(_SPDX_UCL_10)) { - INTERESTING("UCL-1.0"); - } - if (INFILE(_SPDX_Unicode_DFS_2015)) { - INTERESTING("Unicode-DFS-2015"); - } - if (INFILE(_SPDX_Unicode_DFS_2016)) { - INTERESTING("Unicode-DFS-2016"); - } - if (INFILE(_SPDX_Unicode_TOU)) { - INTERESTING("Unicode-TOU"); - } - if (INFILE(_SPDX_UPL_10)) { - INTERESTING("UPL-1.0"); - } - if (INFILE(_SPDX_NCSA)) { - INTERESTING("NCSA"); - } - if (INFILE(_SPDX_Vim)) { - INTERESTING("Vim"); - } - if (INFILE(_SPDX_VOSTROM)) { - INTERESTING("VOSTROM"); - } - if (INFILE(_SPDX_VSL_10)) { - INTERESTING("VSL-1.0"); - } - if (INFILE(_SPDX_W3C_20150513)) { - INTERESTING("W3C-20150513"); - } - else if (INFILE(_SPDX_W3C_19980720)) { - INTERESTING("W3C-19980720"); - } - else if (INFILE(_SPDX_W3C)) { - INTERESTING("W3C"); - } - if (INFILE(_SPDX_Wsuipa)) { - INTERESTING("Wsuipa"); - } - if (!lmem[_fREAL] && INFILE(_SPDX_Xnet)) { - INTERESTING("Xnet"); - } - if (INFILE(_SPDX_X11)) { - INTERESTING("X11"); - } - if (INFILE(_SPDX_Xerox)) { - INTERESTING("Xerox"); - } - if (INFILE(_SPDX_XFree86_11)) { - INTERESTING("XFree86-1.1"); - } - if (INFILE(_SPDX_xinetd)) { - INTERESTING("xinetd"); - } - if (INFILE(_SPDX_xpp)) { - INTERESTING("xpp"); - } - if (INFILE(_SPDX_XSkat)) { - INTERESTING("XSkat"); - } - if (INFILE(_SPDX_YPL_10)) { - INTERESTING("YPL-1.0"); - } - if (INFILE(_SPDX_YPL_11)) { - INTERESTING("YPL-1.1"); - } - if (INFILE(_SPDX_Zed)) { - INTERESTING("Zed"); - } - if (INFILE(_SPDX_Zend_20)) { - INTERESTING("Zend-2.0"); - } - if (INFILE(_SPDX_Zimbra_13)) { - INTERESTING("Zimbra-1.3"); - } - if (INFILE(_SPDX_Zimbra_14)) { - INTERESTING("Zimbra-1.4"); - } - return; -} - -/** - * Find copyleft exceptions - * - */ -void copyleftExceptions(char *filetext, int size, int isML, int isPS) -{ - if (INFILE(_SPDX_389_exception)) { - INTERESTING("389-exception"); - } - if (INFILE(_SPDX_Autoconf_exception_20)) { - INTERESTING("Autoconf-exception-2.0"); - } - if (INFILE(_SPDX_Autoconf_exception_30)) { - INTERESTING("Autoconf-exception-3.0"); - } - if (INFILE(_SPDX_Bison_exception_22)) { - INTERESTING("Bison-exception-2.2"); - } - if (INFILE(_SPDX_Bootloader_exception)) { - INTERESTING("Bootloader-exception"); - } - if (INFILE(_SPDX_Classpath_exception_20)) { - INTERESTING("Classpath-exception-2.0"); - } - if (INFILE(_SPDX_CLISP_exception_20)) { - INTERESTING("CLISP-exception-2.0"); - } - if (INFILE(_SPDX_DigiRule_FOSS_exception)) { - INTERESTING("DigiRule-FOSS-exception"); - } - if (INFILE(_SPDX_eCos_exception_20)) { - INTERESTING("eCos-exception-2.0"); - } - if (INFILE(_SPDX_Fawkes_Runtime_exception)) { - INTERESTING("Fawkes-Runtime-exception"); - } - if (INFILE(_SPDX_FLTK_exception)) { - INTERESTING("FLTK-exception"); - } - if (INFILE(_SPDX_Font_exception_20)) { - INTERESTING("Font-exception-2.0"); - } - if (INFILE(_SPDX_freertos_exception_20)) { - INTERESTING("freertos-exception-2.0"); - } - if (INFILE(_SPDX_GCC_exception_20)) { - INTERESTING("GCC-exception-2.0"); - } - if (INFILE(_SPDX_GCC_exception_31)) { - INTERESTING("GCC-exception-3.1"); - } - if (INFILE(_SPDX_gnu_javamail_exception)) { - INTERESTING("gnu-javamail-exception"); - } - if (INFILE(_SPDX_i2p_gpl_java_exception)) { - INTERESTING("i2p-gpl-java-exception"); - } - if (INFILE(_SPDX_Libtool_exception)) { - INTERESTING("Libtool-exception"); - } - if (INFILE(_SPDX_Linux_syscall_note)) { - INTERESTING("Linux-syscall-note"); - } - if (INFILE(_SPDX_LLVM_exception)) { - INTERESTING("LLVM-exception"); - } - if (INFILE(_SPDX_LZMA_exception)) { - INTERESTING("LZMA-exception"); - } - if (INFILE(_SPDX_mif_exception)) { - INTERESTING("mif-exception"); - } - if (INFILE(_SPDX_Nokia_Qt_exception_11)) { - INTERESTING("Nokia-Qt-exception-1.1"); - } - if (INFILE(_SPDX_OCCT_exception_10)) { - INTERESTING("OCCT-exception-1.0"); - } - if (INFILE(_SPDX_OpenJDK_assembly_exception_10)) { - INTERESTING("OpenJDK-assembly-exception-1.0"); - } - if (INFILE(_SPDX_openvpn_openssl_exception)) { - INTERESTING("openvpn-openssl-exception"); - } - if (INFILE(_SPDX_Qwt_exception_10)) { - INTERESTING("Qwt-exception-1.0"); - } - if (INFILE(_SPDX_u_boot_exception_20)) { - INTERESTING("u-boot-exception-2.0"); - } - if (INFILE(_SPDX_WxWindows_exception_31)) { - INTERESTING("WxWindows-exception-3.1"); - } - /* - * Find exception phrases. There are similar phrases - * in exception clauses. Therefore 'else if' structure - * has to be used to get correct detections. - */ - if (INFILE(_LT_389_exception)) { - INTERESTING("389-exception"); - } - else if (INFILE(_LT_Autoconf_exception_20)) { - INTERESTING("Autoconf-exception-2.0"); - } - else if (INFILE(_LT_GPL_EXCEPT_5) && INFILE(_LT_Autoconf_exception_30)) { - INTERESTING("Autoconf-exception-3.0"); - } - else if (INFILE(_PHR_Autoconf_exception_30)) { - INTERESTING("Autoconf-exception-3.0"); - } - else if (INFILE(_LT_Autoconf_exception_3)) { - INTERESTING("Autoconf-exception"); - } - else if (INFILE(_LT_Bison_exception_22)) { - INTERESTING("Bison-exception-2.2"); - } - else if (INFILE(_LT_Bison_exception_1) || INFILE(_LT_Bison_exception_2)) { - INTERESTING("Bison-exception"); - } - else if (INFILE(_LT_Bootloader_exception)) { - INTERESTING("Bootloader-exception"); - } - /* Contains similar text to classpath-exception */ - else if (INFILE(_LT_OpenJDK_assembly_exception_10_1) || HASTEXT(_LT_OpenJDK_assembly_exception_10_2, 0)) { - INTERESTING("OpenJDK-assembly-exception-1.0"); - } - else if (INFILE(_LT_GPL_EXCEPT_6)) { - if (INFILE(_LT_mif_exception)) { - INTERESTING("Fawkes-Runtime-exception"); - } - else { - INTERESTING("Classpath-exception-2.0"); - } - } - else if (INFILE(_LT_classpath_exception_1)) { - INTERESTING("Classpath-exception-2.0"); - } - else if (HASTEXT(_LT_CLISP_exception_20_1, 0) && INFILE(_LT_CLISP_exception_20_2)) { - INTERESTING("CLISP-exception-2.0"); - } - else if (HASTEXT(_TITLE_DigiRule_FOSS_exception, 0) || INFILE(_LT_DigiRule_FOSS_exception)) { - INTERESTING("DigiRule-FOSS-exception"); - } - else if (INFILE(_LT_eCos_exception) && INFILE(_LT_GPL_EXCEPT_7)) { - INTERESTING("eCos-exception-2.0"); - } - else if (HASTEXT(_LT_FLTK_exception, 0)) { - INTERESTING("FLTK-exception"); - } - else if (HASTEXT(_TEXT_FONT, REG_EXTENDED) || INFILE(_LT_FONT_EXCEPTION_20)) { - INTERESTING("Font-exception-2.0"); - } - else if (HASTEXT(_LT_freertos_exception_20, 0)) { - INTERESTING("freertos-exception-2.0"); - } - else if (INFILE(_LT_freertos_exception_1) || INFILE(_LT_freertos_exception_2)) { - INTERESTING("freertos-exception"); - } - else if (INFILE(_LT_GCC_exception_31_1) || INFILE(_LT_GCC_exception_31_2)) { - INTERESTING("GCC-exception-3.1"); - } - else if (INFILE(_LT_GCC_exception_20)) { - INTERESTING("GCC-exception-2.0"); - } - /* This wording is very similar to GCC_exception_20 */ - else if (INFILE(_LT_linking_exception_1)) { - INTERESTING("linking-exception"); - } - else if (HASTEXT(_TEXT_GCC, REG_EXTENDED)) { - INTERESTING("GCC-exception"); - } - else if (INFILE(_LT_gnu_javamail_exception_1) || INFILE(_LT_gnu_javamail_exception_2)) { - INTERESTING("gnu-javamail-exception"); - } - else if (INFILE(_LT_i2p_gpl_java_exception)) { - INTERESTING("i2p-gpl-java-exception"); - } - else if (INFILE(_LT_GPL_EXCEPT_1) || INFILE(_LT_GPL_EXCEPT_2)) { - if (HASTEXT(_LT_Libtool_exception, 0)) { - INTERESTING("Libtool-exception"); - } - if (HASTEXT(_LT_Autoconf_exception_2, REG_EXTENDED) || INFILE(_LT_Autoconf_exception_1)) { - INTERESTING("Autoconf-exception"); - } - } - else if (INFILE(_LT_Linux_syscall_note)) { - INTERESTING("Linux-syscall-note"); - } - else if (HASTEXT(_LT_LLVM_exception_1, 0) || HASTEXT(_LT_LLVM_exception_2, 0)) { - INTERESTING("LLVM-exception"); - } - else if (INFILE(_LT_LZMA_exception)) { - INTERESTING("LZMA-exception"); - } - else if (INFILE(_LT_mif_exception)) { - INTERESTING("mif-exception"); - } - else if (HASTEXT(_LT_OCCT_exception_10_1, REG_EXTENDED) || INFILE(_LT_OCCT_exception_10_2)) { - INTERESTING("OCCT-exception-1.0"); - } - else if (INFILE(_LT_openvpn_openssl_exception)) { - INTERESTING("openvpn-openssl-exception"); - } - else if (HASTEXT(_TITLE_QT_GPL_EXCEPTION_10, 0)) { - INTERESTING("Qt-GPL-exception-1.0"); - } - else if (HASTEXT(_LT_QT_GPL_EXCEPTION_10_1, 0) && INFILE(_LT_QT_GPL_EXCEPTION_10_2)) { - INTERESTING("Qt-GPL-exception-1.0"); - } - else if (HASTEXT(_LT_QT_GPL_EXCEPTION, 0) && HASTEXT(_LT_QT_GPL_EXCEPTION_10_3, 0)) { - INTERESTING("Qt-GPL-exception-1.0"); - } - else if (INFILE(_TITLE_Nokia_Qt_LGPL_exception_11)) { - INTERESTING("Nokia-Qt-exception-1.1"); - } - else if (INFILE(_TITLE_QT_LGPL_EXCEPTION_11)) { - INTERESTING("Qt-LGPL-exception-1.1"); - } - else if (INFILE(_LT_Qwt_exception_10_1)) { - INTERESTING("Qwt-exception-1.0"); - } - else if (HASTEXT(_LT_Qwt_exception_10_2, 0)) { - INTERESTING("Qwt-exception-1.0"); - } - else if (INFILE(_LT_WxWindows_exception_31)) { - INTERESTING("WxWindows-exception-3.1"); - } - /* - * Full license text includes reference to LGPL-2.0 - * exception clause. - */ - else if (INFILE(_PHR_WXWINDOWS_31)) { - INTERESTING("WxWindows-exception-3.1"); - INTERESTING("LGPL-2.0+"); - } - /* - * This is a vague reference to WxWindows license without - * an exception reference. - */ - else if (INFILE(_PHR_WXWINDOWS)) { - INTERESTING("WxWindows"); - } - else if (HASTEXT(_LT_u_boot_exception_20, REG_EXTENDED)) { - INTERESTING("u-boot-exception-2.0"); - } - else if (HASTEXT(_LT_GPL_EXCEPT_Trolltech, REG_EXTENDED)) { - INTERESTING("trolltech-exception"); - } - else if (INFILE(_LT_OpenSSL_exception_1) || INFILE(_LT_OpenSSL_exception_2)) { - INTERESTING("OpenSSL-exception"); - } - else if (INFILE(_LT_GPL_UPX_EXCEPT) && !HASTEXT(_LT_IGNORE_CLAUSE, REG_EXTENDED)) { - INTERESTING("UPX-exception"); - } - else if (INFILE(_URL_mysql_floss_exception) || HASTEXT(_TITLE_mysql_floss_exception, 0)) { - INTERESTING(lDebug ? "mysql-floss-exception(URL)" : "mysql-floss-exception"); - } - else if (INFILE(_TITLE_Oracle_foss_exception) || INFILE(_LT_Oracle_foss_exception)) { - INTERESTING("Oracle-foss-exception"); - } - else if (INFILE(_LT_linking_exception_2) || (INFILE(_LT_linking_exception_3) && INFILE(_LT_GPL_EXCEPT_7))) { - INTERESTING("linking-exception"); - } - else if (HASTEXT(_TITLE_universal_foss_exception_10, 0) - || URL_INFILE(_URL_universal_foss_exception_10) - || INFILE(_LT_universal_foss_exception_10)) { - INTERESTING("universal-foss-exception-1.0"); - } - else if (INFILE(_LT_GPL_EXCEPT_1)) { - INTERESTING(lDebug ? "GPL-except-1" : "GPL-exception"); - } - else if (INFILE(_LT_GPL_EXCEPT_2)) { - INTERESTING(lDebug ? "GPL-except-2" : "GPL-exception"); - } - else if (INFILE(_LT_GPL_EXCEPT_3)) { - INTERESTING(lDebug ? "GPL-except-3" : "GPL-exception"); - } - else if (INFILE(_LT_GPL_EXCEPT_4)) { - INTERESTING(lDebug ? "GPL-except-4" : "GPL-exception"); - } - else if (INFILE(_LT_GPL_EXCEPT_7)) { - INTERESTING("linking-exception"); - } - else if (INFILE(_LT_GPL_SWI_PROLOG_EXCEPT)) { - INTERESTING(lDebug ? "GPL-swi-prolog" : "GPL-exception"); - } - - return; -} - -#ifdef LTSR_DEBUG -#define LT_TARGET 1299 /* set to -1 OR the string# to track */ -void showLTCache(char *msg) -{ - int i = 0; - int nCached = 0; - int nMatch = 0; - - printf("%s\n", msg); - if (LT_TARGET >= 0) { - printf("... tracking string #%d\n", LT_TARGET); - } - while (i < NFOOTPRINTS) { - if (ltsr[i] < LTSR_SMASK) { - printf(i == LT_TARGET ? "x" : "."); - } else if (ltsr[i] == LTSR_YES) { - printf("%%"); - nMatch++; - nCached++; - } else { - printf(i == LT_TARGET ? "0" : ":"); - nCached++; - } - if ((++i % 75) == 0) { - printf("|%04d\n", i); - } - } - printf("\nLTSR-matches: %d, Cached: %d\n", nMatch, nCached); - return; -} -#endif /* LTSR_DEBUG */ - -#ifdef DOCTOR_DEBUG -/* - Debugging - */ -void dumpMatch(char *text, char *label) -{ - char *x = text + cur.regm.rm_so; - char *cp = text + cur.regm.rm_eo; - - if (label) { - printf("%s ", label); - } - printf("@ %d [", cur.regm.rm_so); - for (; x < cp; x++) { - if (!isEOL(*x)) { - printf("%c", *x); - } - } - printf("]\n"); - return; -} - -#endif /* DOCTOR_DEBUG */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/parse.h b/src/fosslight_dependency/third_party/nomos/agent/parse.h deleted file mode 100644 index 4c4761e4..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/parse.h +++ /dev/null @@ -1,23 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2009 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -#ifndef _PARSE_H -#define _PARSE_H -#include "doctorBuffer_utils.h" -char *parseLicenses(char *filetext, int size, scanres_t *scp, int isML, int isPS); - -#endif /* _PARSE_H */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/process.c b/src/fosslight_dependency/third_party/nomos/agent/process.c deleted file mode 100644 index 0296f897..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/process.c +++ /dev/null @@ -1,158 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2011 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -/** - * \file - * \brief some common functions that process the files for scanning - */ - -#include "nomos.h" -#include "process.h" -#include "licenses.h" -#include "util.h" -#include "list.h" - -#ifdef MEMSTATS -extern void memStats(); -#endif /* MEMSTATS */ - -#define BOGUS_MD5 "wwww0001xxxx0002yyyy0004zzzz0008" - - -/** - * processNonPackageFiles - * - * \callgraph - */ -static void processNonPackagedFiles() -{ - /* item_t *p; doesn't look like this is used */ - -#if defined(PROC_TRACE) || defined(UNPACK_DEBUG) - traceFunc("== processNonPackagedFiles()\n"); -#endif /* PROC_TRACE || UNPACK_DEBUG */ - - /* - * If there are unused/unreferenced source archives, they need to be - * processed individually. Create the global 'unused archives' list - * and hand it off to be processed. - */ -#ifdef UNPACK_DEBUG - listDump(&cur.regfList, NO); -#endif /* UNPACK_DEBUG */ - if (!cur.regfList.used) { - printf("No-data!\n"); - return; - } else { - /* CDB *cur.basename = NULL_CHAR; */ - processRegularFiles(); - /* since p isn't used, reduce the following to just the listGetItem - since it mods the global cur - p = listGetItem(&cur.fLicFoundMap, BOGUS_MD5); - p->buf = copyString(cur.compLic, MTAG_COMPLIC); - p->refCount++; - p->buf = copyString(BOGUS_MD5, MTAG_MD5SUM); - */ - listGetItem(&cur.fLicFoundMap, BOGUS_MD5); - } - return; -} - - - -#ifdef notdef -/** - * \brief Remove the line at textp+offset from the buffer - */ -void stripLine(char *textp, int offset, int size) -{ - char *start, *end; - extern char *findBol(); - -#ifdef PROC_TRACE - traceFunc("== stripLine(%s, %d, %d)\n", textp, offset, size); -#endif /* PROC_TRACE */ - - if ((end = findEol((char *)(textp+offset))) == NULL_STR) { - Assert(NO, "No EOL found!"); - } - if ((start = findBol((char *)(textp+offset), textp)) == NULL_STR) { - Assert(NO, "No BOL found!"); - } -#ifdef DEBUG - printf("Textp %p start %p end %p\n", textp, start, end); - printf("@START(%d): %s", strlen(start), start); - printf("@END+1(%d): %s", strlen(end+1), end+1); -#endif /* DEBUG */ - if (*(end+1) == NULL_CHAR) { /* EOF */ - *start = NULL_CHAR; - } - else { -#ifdef DEBUG - printf("MOVE %d bytes\n", size-(end-textp)); -#endif /* DEBUG */ - (void) memmove(start, (char *)(end+1), - (size_t)((size)-(end-textp))); - } -#ifdef DEBUG - printf("FINISH: @START(%d): %s", strlen(start), start); -#endif /* DEBUG */ - return; -} -#endif /* notdef */ - - -/** - * processRawSource - * - * \callgraph - * - */ -void processRawSource() -{ -#ifdef PROC_TRACE - traceFunc("== processRawSource()\n"); -#endif /* PROC_TRACE */ - -#ifdef PACKAGE_DEBUG - listDump(&cur.regfList, NO); -#endif /* PACKAGE_DEBUG */ - - processNonPackagedFiles(); - return; -} - -/** - * processRegularFiles - * \brief Process a list of regular files. - * - * \callgraph - * CDB - This really isn't a list, there should only be a single file in - * regfList. - */ -void processRegularFiles() -{ -#ifdef PROC_TRACE - traceFunc("== processRegularFiles()\n"); -#endif /* PROC_TRACE */ - - /* CDB (void) sprintf(cur.basename, "misc-files"); */ - /* loop through the list here -- and delete files with link-count >1? */ - licenseScan(&cur.regfList); - return; -} - diff --git a/src/fosslight_dependency/third_party/nomos/agent/process.h b/src/fosslight_dependency/third_party/nomos/agent/process.h deleted file mode 100644 index 490a104f..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/process.h +++ /dev/null @@ -1,27 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2009 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -#ifndef _PROCESS_H -#define _PROCESS_H - -void processRawSource(); -void processRegularFiles(); -#ifdef DEAD_CODE -void stripLine(char *textp, int offset, int size); -#endif /* DEAD_CODE */ - -#endif /* _PROCESS_H */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/standalone.c b/src/fosslight_dependency/third_party/nomos/agent/standalone.c deleted file mode 100644 index 484d5dcb..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/standalone.c +++ /dev/null @@ -1,47 +0,0 @@ -/** - * \file - * \brief Dummy implementations of library functions for stand-alone operations - */ -#include "standalone.h" - -int result = 0; - -void fo_scheduler_heart(int i){} -void fo_scheduler_connect(int* argc, char** argv, PGconn** db_conn){} -void fo_scheduler_disconnect(int retcode){} -char* fo_scheduler_next(){return(0);} -char* fo_scheduler_current(){return(0);} -int fo_scheduler_userID(){return(0);} -void fo_scheduler_set_special(int option, int value){} -int fo_scheduler_get_special(int option){return(0);} -char* fo_sysconfig(const char* sectionname, const char* variablename){return(0);} -int fo_GetAgentKey (PGconn *pgConn, const char *agent_name, long unused, const char *cpunused, const char *agent_desc){return(0);} -int fo_WriteARS(PGconn *pgConn, int ars_pk, int upload_pk, int agent_pk, - const char *tableName, const char *ars_status, int ars_success){return(0);} -PGconn *fo_dbconnect(char *DBConfFile, char **ErrorBuf){return(0);} -int fo_checkPQcommand(PGconn *pgConn, PGresult *result, char *sql, char *FileID, int LineNumb){return(0);} -int fo_checkPQresult(PGconn *pgConn, PGresult *result, char *sql, char *FileID, int LineNumb){return(0);} -int fo_tableExists(PGconn *pgConn, const char *tableName){return(0);} -char * fo_RepMkPath (char *Type, char *Filename){return(0);} -int GetUploadPerm(PGconn *pgConn, long UploadPk, int user_pk){return(10);} - -fo_dbManager* fo_dbManager_new(PGconn* dbConnection) {return NULL;} -void fo_dbManager_free(fo_dbManager* dbManager) {} -fo_dbManager_PreparedStatement* fo_dbManager_PrepareStamement_str(fo_dbManager* dbManager, const char* name, const char* query, const char* paramtypes) {return NULL;} -PGresult* fo_dbManager_ExecPrepared(fo_dbManager_PreparedStatement* preparedStatement, ...) {return NULL;} - -PGresult* getSelectedPFiles(PGconn* pgConn, int uploadPk, int agentPk, bool ignoreFilesWithMimeType) {return NULL;} -PGresult* checkDuplicateReq(PGconn* pgConn, int uploadPk, int agentPk) {return NULL;} - -//ExecStatusType PQresultStatus(const PGresult *res); -int PQresultStatus(const PGresult *res){ return(PGRES_COMMAND_OK);} -char *PQresultErrorMessage(const PGresult *res){return(0);} -char *PQresultErrorField(const PGresult *res, int fieldcode){return(0);} -int PQntuples(const PGresult *res){return(1);} -PGresult *PQexec(PGconn *conn, const char *query){return(0);} -void PQclear(PGresult *res){} -char *PQgetvalue(const PGresult *res, int tup_num, int field_num){return("1");} -size_t PQescapeStringConn(PGconn *conn, - char *to, const char *from, size_t length, int *error){*error=0;return(0);} -void PQfinish(PGconn *conn){} - diff --git a/src/fosslight_dependency/third_party/nomos/agent/standalone.h b/src/fosslight_dependency/third_party/nomos/agent/standalone.h deleted file mode 100644 index 1813384e..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/standalone.h +++ /dev/null @@ -1,110 +0,0 @@ -#ifndef _STANDALONE_H -#define _STANDALONE_H 1 -#include -#include - -typedef int PGconn; -typedef enum -{ - PGRES_EMPTY_QUERY = 0, /** empty query string was executed */ - PGRES_COMMAND_OK, /** a query command that doesn't return - * anything was executed properly by the - * backend */ - PGRES_TUPLES_OK, /** a query command that returns tuples was - * executed properly by the backend, PGresult - * contains the result tuples */ - PGRES_COPY_OUT, /** Copy Out data transfer in progress */ - PGRES_COPY_IN, /** Copy In data transfer in progress */ - PGRES_BAD_RESPONSE, /** an unexpected response was recv'd from the - * backend */ - PGRES_NONFATAL_ERROR, /** notice or warning message */ - PGRES_FATAL_ERROR /** query failed */ -} ExecStatusType; -#define PG_DIAG_SQLSTATE 0 - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef TRUE -#define TRUE 1 -#endif - -typedef int PGresult; - -#define PERM_WRITE 2 -#define LOG_NOTICE(...) { \ - fprintf(stdout, "FATAL %s.%d: ", __FILE__, __LINE__); \ - fprintf(stdout, __VA_ARGS__); \ - fprintf(stdout, "\n"); \ - fflush(stdout); } -#define LOG_FATAL(...) { \ - fprintf(stdout, "FATAL %s.%d: ", __FILE__, __LINE__); \ - fprintf(stdout, __VA_ARGS__); \ - fprintf(stdout, "\n"); \ - fflush(stdout); } -#define LOG_ERROR(...) { \ - fprintf(stdout, "ERROR %s.%d: ", __FILE__, __LINE__); \ - fprintf(stdout, __VA_ARGS__); \ - fprintf(stdout, "\n"); \ - fflush(stdout); } -#define LOG_WARNING(...) { \ - fprintf(stdout, "WARNING %s.%d: ", __FILE__, __LINE__); \ - fprintf(stdout, __VA_ARGS__); \ - fprintf(stdout, "\n"); \ - fflush(stdout); } - -extern void fo_scheduler_heart(int i); -extern void fo_scheduler_connect(int* argc, char** argv, PGconn** db_conn); -extern void fo_scheduler_disconnect(int retcode); -extern char* fo_scheduler_next(); -extern char* fo_scheduler_current(); -extern int fo_scheduler_userID(); -extern void fo_scheduler_set_special(int option, int value); -extern int fo_scheduler_get_special(int option); -extern char* fo_sysconfig(const char* sectionname, const char* variablename); -extern int fo_GetAgentKey (PGconn *pgConn,const char *agent_name, long unused, const char *cpunused, const char *agent_desc); -extern int fo_WriteARS(PGconn *pgConn, int ars_pk, int upload_pk, int agent_pk, - const char *tableName, const char *ars_status, int ars_success); -extern PGconn *fo_dbconnect(char *DBConfFile, char **ErrorBuf); -extern int fo_checkPQcommand(PGconn *pgConn, PGresult *result, char *sql, char *FileID, int LineNumb); -extern int fo_checkPQresult(PGconn *pgConn, PGresult *result, char *sql, char *FileID, int LineNumb); -extern int fo_tableExists(PGconn *pgConn, const char *tableName); -extern int GetUploadPerm(PGconn *pgConn, long UploadPk, int user_pk); -extern char * fo_RepMkPath (char *Type, char *Filename); - - -typedef struct {} fo_dbManager; -typedef struct {} fo_dbManager_PreparedStatement; - -#define fo_dbManager_PrepareStamement(dbManager, name, query, ...) \ -fo_dbManager_PrepareStamement_str(dbManager, \ - name, \ - query, \ - #__VA_ARGS__\ -) - - -fo_dbManager* fo_dbManager_new(PGconn* dbConnection); -void fo_dbManager_free(fo_dbManager* dbManager); -fo_dbManager_PreparedStatement* fo_dbManager_PrepareStamement_str(fo_dbManager* dbManager, const char* name, const char* query, const char* paramtypes); -PGresult* fo_dbManager_ExecPrepared(fo_dbManager_PreparedStatement* preparedStatement, ...); - -PGresult* getSelectedPFiles(PGconn* pgConn, int uploadPk, int agentPk, bool ignoreFilesWithMimeType); -PGresult* checkDuplicateReq(PGconn* pgConn, int upload_pk, int agentPk); - - -//ExecStatusType PQresultStatus(const PGresult *res); -extern int PQresultStatus(const PGresult *res); -extern char *PQresultErrorMessage(const PGresult *res); -extern char *PQresultErrorField(const PGresult *res, int fieldcode); -extern int PQntuples(const PGresult *res); -extern PGresult *PQexec(PGconn *conn, const char *query); -extern void PQclear(PGresult *res); -extern char *PQgetvalue(const PGresult *res, int tup_num, int field_num); -extern size_t PQescapeStringConn(PGconn *conn, - char *to, const char *from, size_t length, - int *error); -extern void PQfinish(PGconn *conn); - -#endif diff --git a/src/fosslight_dependency/third_party/nomos/agent/transition.notes b/src/fosslight_dependency/third_party/nomos/agent/transition.notes deleted file mode 100644 index 5a6c7896..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/transition.notes +++ /dev/null @@ -1,170 +0,0 @@ - - -Notes related to the transition of GF's original Nomos code to the current -version of the nomos agent checked into FOSSology's svn archive on -sourceforge.org. - -Author: Anonymous -Date: 09/14/2009 - - - -Rationale: Original goal was to migrate Nomos standalone functionality into -an agent hosted in the FOSSology (henceforth referred to as FO) environment. -The purpose being to retain Nomos' license-detection technology in a new -environment. - -This report is at this writing but a sketch. Details and rationale can be -further elucidated by contacting the porter, Channing Benson -(channing.benson@hp.com). - - -Notation/Etc. -------------- - -Most comments that I added related to questions or decisions about the code -are marked with the string "CDB", my initials. Typically, these indicate -areas where I was unsure about how to best proceed or whether the code -there was functional or useful. - - -Things Left the Same: ---------------------- - -The entire preprocessing of STRINGS.in to _autodata.c and _autodefs.h has been -left unchanged, with one exception. Previously, the strings were obfuscated -by use of the program implemented in encode.c. encode is still called, but -it no longer obfuscates strings, it only escapes them into octal codes. - -The same is true of all the PRECHECK related files. - -Remember, all files that begin with an underscore are auto-generated. - - -File Changes: -------------- - -Removals - -Some files made no sense to retain in the context of an FO agent. The following files have been removed from the Nomos codebase: - -conf.c - Stuff related to Nomos as a standalone tool no longer required in the - FO environment. - -md5.c, md5.h - Previously used for obfuscation that is no longer performed. - -report.c - Code related to producing the Nomos reports. Since, the Nomos agent - just sticks things in the DB, this is not needed. *NOTE*: a lot of - bucket-related code is in this file. - -sources.c - Code for detecting file types and unpacking if necessary. In FO - this work is done by other components. - -Additions - -For stylistic reasons, header files were added to include the constants and -entry points defined in most (all?) of the C files. Thus, for instance, for -util.c, there is now a util.h file that contains the declarations for -functions defined in util.c. Another source file wishing to use those functions -can now just #include util.h rather than write in the function prototypes by -hand. Neat, huh? - -Name Changes - -For reasons related to the FO make system, the file regex.c was changed to -nomos_regex.c. - - - -Stylistic Changes ------------------ - -Many changes were made to make the code conform better to accepted norms -for C code. I'm not sure I can recall all the exact examples, but for instance: - -- Declarations have been changed so that only one variable is declared on a -line. - -- Removed all "register" modifications to declarations under the assumption -that modern compilers can do a much better job of register allocation than -a programmer. - -- In some cases, for loops have been altered so that they have only one variant. -The most significant of these occurs in licenses.c in the function licenseInit(). -There are a couple "for" loops in license.s/licenseInit() that run through -all the strings in -_autodata.c (i = 0; i < NFOOTPRINTS ....). In the original code, there are -also two pointers that get incremented for each iteration (lp and ltp). -Instead of maintaining these two pointers, I simply use the loop variable "i" -to index into the appropriate array (licSpec for lp, and licText for ltp). - -Looking at the code side-by-side will make this much more clear. There may -be other cases of this, but this is the one that is most significant. - -- In many cases, the code that invokes the debug trace functions (surrounded -by #ifdef PROC_TRACE and #ifdef PROC_TRACE_SWITCH has been replaced by a -single function, traceFunc() which has the exact same functionality, but -makes the code slightly easier to read (fewer #ifdefs). traceFunc is -defined in util.c. Substitution of this function is intermittent because -when I started to incorporate the latest Nomos core code, I stopped making -the substitution to speed the process. - -- Some comments have been edited to omit having all lines preceded by a '*'. -This makes future editing easier. - - -Structural Changes ------------------- - -The chief structural changes have been to eliminate unnecesary fields from -the gl global structure and move other elements of that structure into a -"cur" structure (type curScan). The rationale behind this is that while the -original Nomos does a whole job in one program invocation, the agent version -of nomos will be invoked over and over again on a single file. the curScan -structure is meant to hold all information pertinent to the scan of a single -file. Thus, when a scan is finished, the structure is freed, and a new one -created to handle the next file to be scanned. - - -Changes in #ifdef inclusions/etc --------------------------------- - -A lot of code from the original Nomos core has been removed due to it being -surrounded by particular #ifdefs. - -Unfortunately, it's difficult to come up with a complete list of such code, -but side-by-side examination of the files should make it obvious. For instance, -all code surrounded by #ifdef SHOW_LOCATION has been included (and the #ifdefs -removed) because the nomos agent is always interested in storing (and showing) -the location where a particular license was found. - -#defines that have been removed (along with their associated code): -[Note that questions about the meanings of these symbols should be referred -to the original author.] It is highly possible that I have missed some of -these occurrences in this document. In that case, trust the source, not what -you read here. - -SAVE_REFLICENSES -VENDOR_LICENSE_REFS -ALL_ATTRIBUTIONS -BRIEF_LIST -SEARCH_CRYPTO - - -Random Pertinent Information ----------------------------- - -It really helps to know the call hierarchy used by the nomos agent to actually -detect licenses. As it is now, it looks like this: - -main() calls -processFile() calls -processRawSource() calls -processNonPackagedFiles() calls -processRegularFiles() calls -licenseScan() calls [this function maintains the "score" file] -saveLicenseData() calls -makeLicenseSummary() [which adds licenses to cur.compLic] - -I have a note which says that the offsets (into the file) get cleared in -the function saveLicenseData(). diff --git a/src/fosslight_dependency/third_party/nomos/agent/util.c b/src/fosslight_dependency/third_party/nomos/agent/util.c deleted file mode 100644 index 7f2ae9fa..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/util.c +++ /dev/null @@ -1,1460 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2009 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - ***************************************************************/ -/* Equivalent to core nomos v1.29 */ - -/** - * \file - * \brief misc utilites - * - * @version "$Id: util.c 4032 2011-04-05 22:16:20Z bobgo $" - */ -#include -#include -#include "nomos.h" -#include "util.h" -#include "list.h" -#include "nomos_regex.h" -#include "nomos_utils.h" - -#define MM_CACHESIZE 20 ///< MM Cache size -#define MAXLENGTH 100 ///< Buffer length - -#ifdef REUSE_STATIC_MEMORY -static char grepzone[10485760]; /* 10M for now, adjust if needed */ -#endif /* REUSE_STATIC_MEMORY */ - -/* - File local variables - */ -static va_list ap; -static char utilbuf[myBUFSIZ]; -static struct mm_cache mmap_data[MM_CACHESIZE]; -static char cmdBuf[512]; - - -#ifdef MEMORY_TRACING -#define MEMCACHESIZ 200000 -static int memlast = -1; -static struct mm_cache memcache[MEMCACHESIZ]; -void memCacheDump(); -#endif /* MEMORY_TRACING */ - -/** - * \brief Check if given path is a directory - * \param dpath Path to check - * \return True if path is a directory, false otherwise - */ -int isDIR(char *dpath) -{ -#ifdef PROC_TRACE - traceFunc("== isDIR(%s)\n", dpath); -#endif /* PROC_TRACE */ - - return(isINODE(dpath, S_IFDIR)); -} - -/** - * \brief Check if given file is empty - * \param fpath Path of file to check - * \return True if file is empty, false otherwise - * \sa isFILE() - */ -int isEMPTYFILE(char *fpath) -{ -#ifdef PROC_TRACE - traceFunc("== isEMPTYFILE(%s)\n", fpath); -#endif /* PROC_TRACE */ - - if (!isFILE(fpath)) { - return(0); - } - return(cur.stbuf.st_size == 0); -} - -/** - * \brief Check if given path is a Block device - * \param bpath Path to check - * \return True if path is a block device, false otherwise - * \sa isINODE() - */ -int isBLOCK(char *bpath) -{ -#ifdef PROC_TRACE - traceFunc("== isBLOCK(%s)\n", bpath); -#endif /* PROC_TRACE */ - - return(isINODE(bpath, S_IFBLK)); -} - -/** - * \brief Check if given path is a character device - * \param cpath Path to check - * \return True if path is a character device, false otherwise - * \sa isINODE() - */ -int isCHAR(char *cpath) -{ -#ifdef PROC_TRACE - traceFunc("== isCHAR(%s)\n", cpath); -#endif /* PROC_TRACE */ - - return(isINODE(cpath, S_IFCHR)); -} - -/** - * \brief Check if given path is a pipe - * \param ppath Path to check - * \return True if path is a pipe, false otherwise - * \sa isINODE() - */ -int isPIPE(char *ppath) -{ -#ifdef PROC_TRACE - traceFunc("== isPIPE(%s)\n", ppath); -#endif /* PROC_TRACE */ - - return(isINODE(ppath, S_IFIFO)); -} - -/** - * \brief Check if given path is a symbolic link - * \param spath Path to check - * \return True if path is a symbolic link, false otherwise - * \sa isINODE() - */ -int isSYMLINK(char *spath) -{ -#ifdef PROC_TRACE - traceFunc("== isSYMLINK(%s)\n", spath); -#endif /* PROC_TRACE */ - - return(isINODE(spath, S_IFLNK)); -} - -/** - * \brief Check for a inode against a flag - * \param ipath Path of inode - * \param typ Flag to check against to - * \return Return true if inode matches with the flag, false otherwise - */ -int isINODE(char *ipath, int typ) -{ - int ret; - char sErrorBuf[1024]; - -#ifdef PROC_TRACE - traceFunc("== isINODE(%s, 0x%x)\n", ipath, typ); -#endif /* PROC_TRACE */ - - if ((ret = stat(ipath, &cur.stbuf)) < 0) { - /* - IF we're trying to stat() a file that doesn't exist, - that's no biggie. - Any other error, however, is fatal. - */ - if (errno == ENOENT) { - return 0; - } - strerror_r(errno, sErrorBuf, sizeof(sErrorBuf)); - LOG_ERROR("Error: %s getting stat on file: %s", sErrorBuf, ipath) - } - if (typ == 0) { - return(1); - } - return((int)(cur.stbuf.st_mode & S_IFMT & typ)); -} - -/** - * \brief Check if a relocation target is accessible - * \param basename Base name of the original target - * \return Path of the new target, NULL on failure - */ -char *newReloTarget(char *basename) -{ - static char newpath[myBUFSIZ]; - int i; - -#ifdef PROC_TRACE - traceFunc("== newReloTarget(%s)\n", basename); -#endif /* PROC_TRACE */ - - for (i = 0; i < MAX_RENAME; i++) { - (void) sprintf(newpath, "%s_%s-renamed.%03d", basename, gl.progName, i); - if (access(newpath, F_OK) && errno == ENOENT) { - break; - } - } - if (i == MAX_RENAME) { - LOG_FATAL("%s: no suitable relocation target (%d tries)", basename, i) - Bail(-__LINE__); - } - return(newpath); -} - - - -#ifdef MEMORY_TRACING -/** - * \brief memAlloc is a front-end to calloc() that dies on allocation-failure - * thus, we don't have to always check the return value from calloc() - * in the guts of the application code; we die here if alloc fails. - */ -char *memAllocTagged(int size, char *name) -{ - void *ptr; - sErrorBuf[1024]; - - /* - * we don't track memory allocated; we front-end for errors and return - * the pointer we were given. - */ - -#if defined(PROC_TRACE) || defined(MEM_ACCT) - traceFunc("== memAllocTagged(%d, \"%s\")\n", size, name); -#endif /* PROC_TRACE || MEM_ACCT */ - - if (size < 1) { - LOG_FATAL("Cannot alloc %d bytes!", size) - Bail(-__LINE__); - } - if (++memlast == MEMCACHESIZ) { - LOG_FATAL("*** memAllocTagged: out of memcache entries") - Bail(-__LINE__); - } -#ifdef USE_CALLOC - if ((ptr = calloc((size_t) 1, (size_t) size)) == (void *) NULL) { - strerror_r(errno, sErrorBuf, sizeof(sErrorBuf)); - LOG_FATAL("calloc for %s, error: %s", name, sErrorBuf) - Bail(-__LINE__); - } -#else /* not USE_CALLOC */ - if ((ptr = malloc((size_t) size)) == (void *) NULL) { - strerror_r(errno, sErrorBuf, sizeof(sErrorBuf)); - LOG_FATAL("malloc for %s, error: %s", name, sErrorBuf) - Bail(-__LINE__); - } - (void) memset(ptr, 0, (size_t) size); -#endif /* not USE_CALLOC */ -#if DEBUG > 3 || defined(MEM_ACCT) - printf("+%p:%p=(%d)\n", ptr, ptr+size-1, size); -#endif /* DEBUG > 3 || MEM_ACCT */ - memcache[memlast].mmPtr = ptr; - memcache[memlast].size = size; - (void) strncpy(memcache[memlast].label, name, sizeof(memcache[memlast].label)-1); -#ifdef MEM_ACCT - printf("memAllocTagged(%d, \"%s\") == %p [entry %04d]\n", size, name, ptr, - memlast); - /* memCacheDump("post-memAllocTagged:"); */ -#endif /* MEM_ACCT */ - return(ptr); -} - - -void memFreeTagged(void *ptr, char *note) -{ - struct mm_cache *mmp; - int i; - -#if defined(PROC_TRACE) || defined(MEM_ACCT) - traceFunc("== memFree(%p, \"%s\")\n", ptr, note); -#endif /* PROC_TRACE || MEM_ACCT */ - -#ifdef MEMORY_TRACING - DEBUG("mprobe(%p)\n", ptr) - mprobe(ptr); /* see if glibc still likes this memory */ -#endif /* MEMORY_TRACING */ - for (mmp = memcache, i = 0; i <= memlast; mmp++, i++) { - if (mmp->mmPtr == ptr) { -#ifdef MEM_ACCT - printf("memFree(%p, \"%s\") is entry %04d (%d bytes)\n", ptr, note, i, - mmp->size); -#endif /* MEM_ACCT */ - break; - } - } - if (i > memlast) { - LOG_FATAL("Could not locate %p to free!", ptr) - Bail(-__LINE__); - } - free(ptr); -#if DEBUG > 3 || defined(MEM_ACCT) - printf("(%d)\n", mmp->size); -#endif /* DEBUG > 3 || MEM_ACCT */ - if (i != memlast) { - (void) memmove(&memcache[i], &memcache[i+1], - (memlast-i)*sizeof(struct mm_cache)); - } - memset(&memcache[memlast], 0, sizeof(struct mm_cache)); - memlast--; -#ifdef MEM_ACCT - memCacheDump("post-memFree:"); -#endif /* MEM_ACCT */ - return; -} - - -void memCacheDump(char *s) -{ - struct mm_cache *m; - static int first = 1; - int i, start; - /* */ - if (s != NULL_STR) { - printf("%s\n", s); - } - if (memlast < 0) { - printf("%%%%%% mem-cache is EMPTY\n"); - return; - } - start = (memlast > 50 ? memlast-50 : 0); - printf("%%%%%% mem-cache @ %p [last=%d]\n", memcache, memlast); - for (m = memcache+start, i = start; i <= memlast; m++, i++) { - printf("mem-entry %04d: %p (%d) - %s\n", i, m->mmPtr, - m->size, m->label); - if (!first) { - printf("... \"%s\"\n", m->mmPtr); - } - } - printf("%%%%%% mem-cache END\n"); - if (first) { - first --; - } - return; -} -#endif /* MEMORY_TRACING */ - -/** - * \brief Find Begin of Line in a string - * - * The function starts from the starting position and tracks backward till a - * EOL is hit. - * \param s Starting position in string to scan - * \param upperLimit Upper limit of the string - * \return - Location of BOL if found - * - If we hit upperLimit, return upper limit - * - NULL otherwise - */ -char *findBol(char *s, char *upperLimit) -{ - char *cp; - -#ifdef PROC_TRACE - traceFunc("== findBol(%p, %p)\n", s, upperLimit); -#endif /* PROC_TRACE */ - - if (s == NULL_STR || upperLimit == NULL_STR) { - return(NULL_STR); - } - for (cp = s; cp > upperLimit; cp--) { -#ifdef DEBUG - DEBUG("cp %p upperLimit %p\n", cp, upperLimit) -#endif /* DEBUG */ - if (isEOL(*cp)) { -#ifdef DEBUG - DEBUG("Got it! BOL == %p\n", cp) -#endif /* DEBUG */ - return((char*)(cp+1)); - } - } - if (cp == upperLimit) { -#ifdef DEBUG - DEBUG("AT upperLimit %p\n", upperLimit); -#endif /* DEBUG */ - return(upperLimit); - } - return(NULL_STR); -} - -/** - * \brief Find first ROL in a string - * \param s Starting position in a string - * \return - Position of first EOL hit - * - Last element of the string if EOL not found - * - NULL otherwise - */ -char *findEol(char *s) -{ - char *cp; - -#ifdef PROC_TRACE - traceFunc("== findEol(%p)\n", s); -#endif /* PROC_TRACE */ - - if (s == NULL_STR) { - return(NULL_STR); - } - for (cp = s; *cp != NULL_CHAR; cp++) { - if (isEOL(*cp)) { - return(cp); /* return ptr to EOL or NULL */ - } - } - if (*cp == NULL_CHAR) { - return(cp); - } - return(NULL_STR); -} - -/** - * \brief Rename an inode at oldpath to newpath - * - * The functions calls rename() first. If it fails, another try is done using - * `mv` command. - * \note If everything fails, function prints an error and call Bail() - * \param oldpath Original path to be renamed - * \param newpath New path of the inode - */ -void renameInode(char *oldpath, char *newpath) -{ - int err = 0; - char sErrorBuf[1024]; - /* - * we die here if the unlink() fails. - */ - -#if defined(PROC_TRACE) || defined(UNPACK_DEBUG) - traceFunc("== renameInode(%s, %s)\n", oldpath, newpath); -#endif /* PROC_TRACE || UNPACK_DEBUG */ - -#ifdef DEBUG - (void) mySystem("ls -ldi '%s'", oldpath); -#endif /* DEBUG */ - if (rename(oldpath, newpath) < 0) { - if (errno == EXDEV) { - err = mySystem("mv '%s' %s", oldpath, newpath); - } - else { - err = 1; - } - if (err) { - strerror_r(errno, sErrorBuf, sizeof(sErrorBuf)); - LOG_FATAL("rename(%s, %s) error: %s", oldpath, newpath, sErrorBuf) - Bail(-__LINE__); - } - } -#ifdef DEBUG - (void) mySystem("ls -ldi %s", newpath); -#endif /* DEBUG */ - return; -} - -/** - * \brief Change inode mode bits - * - * \note The function prints error and call Bail() if chmod() fails - * \param pathname Path of the inode - * \param mode New mode bits (e.g. 0660) - */ -void chmodInode(char *pathname, int mode) -{ - char sErrorBuf[1024]; - /* - * we die here if the chmod() fails. - */ - -#if defined(PROC_TRACE) || defined(UNPACK_DEBUG) - traceFunc("== chmodInode(%s, 0%o)\n", pathname, mode); -#endif /* PROC_TRACE || UNPACK_DEBUG */ - - if (chmod(pathname, mode) < 0) { - strerror_r(errno, sErrorBuf, sizeof(sErrorBuf)); - LOG_FATAL("chmod(\"%s\", 0%o) error: %s", pathname, mode, sErrorBuf) - Bail(-__LINE__); - } - return; -} - -/** - * \brief Open a file and return the file pointer - * \note The function prints error and call Bail() on failure - * \param pathname Path of the file to open - * \param mode Mode in which the file should be opened - * \return File pointer - */ -FILE *fopenFile(char *pathname, char *mode) -{ - FILE *fp; - char sErrorBuf[1024]; - /* - * we don't track directories opened; we front-end and return what's - * given to us. we die here if the fopen() fails. - */ - -#ifdef PROC_TRACE - traceFunc("== fopenFile(%s, \"%s\")\n", pathname, mode); -#endif /* PROC_TRACE */ - - if ((fp = fopen(pathname, mode)) == (FILE *) NULL) { - strerror_r(errno, sErrorBuf, sizeof(sErrorBuf)); - LOG_FATAL("fopen(%s) error: %s", pathname, sErrorBuf); - Bail(-__LINE__); - } - return(fp); -} - -/* - * - Save for now, could be useful for debugging - -static void printListToFile(list_t *l, char *filename, char *mode) { - FILE *fp; - item_t *ip; - - fp = fopenFile(filename, mode); - while ((ip = listIterate(l)) != NULL_ITEM) { - fprintf(fp, "%s\n", ip->str); - } - (void) fclose(fp); - return; -} - */ - -/** - * \brief Open a process pipe using popen() - * \note The function prints error and call Bail() on failure - * \param command Command to open a pipe to - * \param mode Mode of the pipe - * \return File pointer to the opened pipe - */ -FILE *popenProc(char *command, char *mode) -{ - FILE *pp; - char sErrorBuf[1024]; - /* - * we don't track directories opened; we front-end and return what's - * given to us. we die here if the popen() fails. - */ - -#ifdef PROC_TRACE - traceFunc("== popenProc(\"%s\", %s)\n", command, mode); -#endif /* PROC_TRACE */ - - if ((pp = popen(command, mode)) == (FILE *) NULL) { -#ifdef MEMORY_TRACING - memCacheDump("Post-popen-failure:"); -#endif /* MEMORY_TRACING */ - strerror_r(errno, sErrorBuf, sizeof(sErrorBuf)); - LOG_FATAL("popen(\"%s\") error: %s", command, sErrorBuf) - Bail(-__LINE__); - } - return(pp); -} - - -/** - * \brief VERY simple line count, does NOT have to be perfect! - * \param textp Pointer to string - * \return Number of lines found - */ -char *wordCount(char *textp) -{ - static char wcbuf[64]; - int lines; - char *cp; - -#ifdef PROC_TRACE - traceFunc("== wordCount(%p)\n", textp); -#endif /* PROC_TRACE */ - - lines = 0; - for (cp = textp; *cp; cp++) { - switch (*cp) { - case '\f': - break; - case '\n': - case '\r': - case '\v': - lines++; - break; - case ' ': - case '\t': - break; - default: - break; - } - } - (void) sprintf(wcbuf, "%d lines", lines); - /* - * Save these values for use elsewhere, too. - */ - cur.nLines = lines; - return(wcbuf); -} - -/** - * \brief Create a copy of a string - * \param s String to be copied - * \param label Label on the new memory - * \return New string - * \sa memAlloc() - */ -char *copyString(char *s, char *label) -{ - char *cp; - int len; - -#ifdef PROC_TRACE - traceFunc("== copyString(%p, \"%s\")\n", s, label); -#endif /* PROC_TRACE */ - - cp = memAlloc(len=(strlen(s)+1), label); -#ifdef DEBUG - printf("+CS: %d @ %p\n", len, cp); -#endif /* DEBUG */ - (void) strcpy(cp, s); - return(cp); -} - -/** - * \brief Get the basename from a file path - * \param path Path to the file - * \return Basename start pointer on the path - */ -char *pathBasename(char *path) -{ - char *cp; - -#ifdef PROC_TRACE - traceFunc("== pathBasename(\"%s\")\n", path); -#endif /* PROC_TRACE */ - - cp = strrchr(path, '/'); - return(cp == NULL_STR ? path : (char *)(cp+1)); -} - -/** - * \brief Get occurrence of a regex in a given string pointer - */ -char *getInstances(char *textp, int size, int nBefore, int nAfter, char *regex, - int recordOffsets) -{ - int i; - int notDone; - int buflen = 1; - static char *ibuf = NULL; - static int bufmax = 0; - char *sep = _REGEX(_UTIL_XYZZY); - item_t *p; - item_t *bp = 0; - char *fileeof; - char *start; - char *end; - char *curptr; - char *bufmark; - char save; - char *cp; - int newDataLen; - int regexFlags = REG_ICASE|REG_EXTENDED; - -#if defined(PROC_TRACE) || defined(PHRASE_DEBUG) || defined(DOCTOR_DEBUG) - traceFunc("== getInstances(%p, %d, %d, %d, \"%s\", %d)\n", textp, size, - nBefore, nAfter, regex, recordOffsets); -#endif /* PROC_TRACE || PHRASE_DEBUG || DOCTOR_DEBUG */ - - if ((notDone = strGrep(regex, textp, regexFlags)) == 0) { -#ifdef PHRASE_DEBUG - printf("... no match: 1st strGrep()\n"); -#endif /* PHRASE_DEBUG */ - return(NULL_STR); - } - /* - * The global 'offsets list' is indexed by the seed/key (a regex) that we - * use for doctoring buffers... each entry will contain a list (containing - * the "paragraphs" that match the key) AND its size (e.g., # of 'chunks'), - * which also means, if there are N chunks, there are N-1 'xyzzy' separators. - */ - p = listGetItem(&cur.offList, regex); - p->seqNo = cur.offList.used; - p->nMatch = 0; - if (recordOffsets) { - if (p->bList) free(p->bList); - p->bList = (list_t *)memAlloc(sizeof(list_t), MTAG_LIST); - (void) sprintf(utilbuf, "\"%c%c%c%c%c%c%c%c%c%c\" match-list", - *regex, *(regex+1), *(regex+2), *(regex+3), *(regex+4), - *(regex+5), *(regex+6), *(regex+7), *(regex+8), *(regex+9)); -#ifdef PHRASE_DEBUG - printf("Creating %s\n", utilbuf); -#endif /* PHRASE_DEBUG */ - listInit(p->bList, 0, utilbuf); /* <- MEMORY LEAK from p->bList->items not freed */ -#ifdef QA_CHECKS - p->val3++; /* sanity-check -- should never be >1 ! */ - if (p->val3 > 1) { - LOG_FATAL("Called getInstances(%s) more than once", regex) - Bail(-__LINE__); - } -#endif /* QA_CHECKS */ - } -#ifdef REUSE_STATIC_MEMORY - if (ibuf == NULL_STR) { /* first time, uninitialized */ - ibuf = grepzone; - bufmax = sizeof(grepzone); - } - else if (ibuf != grepzone) { - memFree(ibuf, MTAG_DOUBLED); /* free the memory... */ - ibuf = grepzone; /* ... and reset */ - bufmax = sizeof(grepzone); - } -#else /* not REUSE_STATIC_MEMORY */ - if (ibuf == NULL_STR) { - ibuf = memAlloc((bufmax = 1024*1024), MTAG_SEARCHBUF); - } -#endif /* not REUSE_STATIC_MEMORY */ - *ibuf = NULL_CHAR; - bufmark = ibuf; - end = NULL_STR; - /* - * At this point, we know the string we're looking for is IN the file. - */ -#ifdef PHRASE_DEBUG - printf("getInstances: \"%s\" [#1] in buf [%d-%d]\n", regex, - cur.regm.rm_so, cur.regm.rm_eo-1); - printf("Really in the buffer: ["); - for (cp = textp + cur.regm.rm_so; cp < (textp + cur.regm.rm_eo); cp++) { - printf("%c", *cp); - } - printf("]\n"); -#endif /* PHRASE_DEBUG */ - /* - * Find the start of the text line containing the "first" match. - * locate start of "$nBefore lines above pattern match"; go up to the - * text on the _previous_ line before we 'really start counting' - */ - curptr = textp; - fileeof = (char *) (textp+size); - while (notDone) { /* curptr is the 'current block' ptr */ - p->nMatch++; -#ifdef PHRASE_DEBUG - printf("... found Match #%d\n", p->nMatch); -#endif /* PHRASE_DEBUG */ - if (recordOffsets) { - (void) sprintf(utilbuf, "buf%05d", p->nMatch); - bp = listGetItem(p->bList, utilbuf); - } - start = findBol(curptr + cur.regm.rm_so, textp); - /* - * Go to the beggining of the current line and, if nBefore > 0, go 'up' - * in the text "$nBefore" lines. Count 2-consecutive EOL-chars as one - * line since some text files use as line-terminators. - */ - if ((nBefore > 0) && (start > textp)) { - for (i = 0; (i < nBefore) && (start > textp); i++) { - start -= 2; - if ((start > textp) && isEOL(*start)) { - start--; - } - if (start > textp) { - start = findBol(start, textp); - } -#ifdef PHRASE_DEBUG - DEBUG("start = %p\n", start) -#endif /* PHRASE_DEBUG */ - } - } - if (recordOffsets) { - bp->bStart = start-textp; - } - /* - * Now do what "grep -A $nAfter _filename+" does. - ***** - * If nAfter == 0, we want the end of the current line. - ***** - * If nAfter > 0, locate the end of the line of LAST occurrence of the - * string within the next $nAfter lines. Not well-worded, you say? - ***** - * E.g., if we're saving SIX lines below and we see our pattern 4 lines - * below the first match then we'll save 10 lines from the first match. - * And to continue this example, if we then see our pattern 9 lines from - * the start of the buffer (since we're looking up to 10 lines now), we - * will save *15* lines. Repeat until the last 6 lines we save DO NOT - * have our pattern. - */ - do { - curptr += cur.regm.rm_eo; - end = findEol(curptr); - if (end < fileeof) { - end++; /* first char past end-of-line */ - } - if (nAfter > 0) { - for (i = 0; end < fileeof; end++) { - if (isEOL(*end)) { /* double-EOL */ - end++; /* ? */ - } - end = findEol(end); - if (end == NULL_STR) { - LOG_FATAL("lost the end-of-line") - Bail(-__LINE__); - } - if (*end == NULL_CHAR) { - break; /* EOF == done */ - } - if (++i == nAfter) { - break; - } - } - if ((end < fileeof) && *end) { - end++; /* past newline-char */ - } - } -#ifdef PHRASE_DEBUG - printf("Snippet, with %d lines below:\n----\n", nAfter); - for (cp = start; cp < end; cp++) { - printf("%c", *cp); - } - printf("====\n"); -#endif /* PHRASE_DEBUG */ - notDone = strGrep(regex, curptr, regexFlags); - if (notDone) { /* another match? */ -#ifdef PHRASE_DEBUG - printf("... next match @ %d:%d (end=%d)\n", - curptr - textp + cur.regm.rm_so, - curptr - textp + cur.regm.rm_eo - 1, end - textp); -#endif /* PHRASE_DEBUG */ -#ifdef QA_CHECKS - if ((curptr + cur.regm.rm_eo) > fileeof) { - Assert(YES, "Too far into file!"); - } -#endif /* QA_CHECKS */ - /* next match OUTSIDE the text we've already saved? */ - if ((curptr + cur.regm.rm_eo) > end) { - break; - } - /* else, next match IS within the text we're looking at! */ - } - } while (notDone); - /* - * Add this block of text to our buffer. If 'notdone' is true, there's - * at least one more block of text that goes in the buffer, so add the - * block-o-text-separator, too. And, make sure we don't overflow our - * buffer (BEFORE we modify it); we don't KNOW how much text to expect! - */ - save = *end; - *end = NULL_CHAR; /* char PAST the newline! */ - if (recordOffsets) { - bp->bLen = end-start; - bp->buf = copyString(start, MTAG_TEXTPARA); - bp->bDocLen = 0; -#ifdef PHRASE_DEBUG - printf("%s starts @%d, len %d ends [%c%c%c%c%c%c%c]\n", - utilbuf, bp->bStart, bp->bLen, *(end-8), *(end-7), - *(end-6), *(end-5), *(end-4), *(end-3), *(end-2)); -#endif /* PHRASE_DEBUG */ - } - newDataLen = end-start+(notDone ? strlen(sep)+1 : 0); - while (buflen+newDataLen > bufmax) { - char *new; -#ifdef QA_CHECKS - Assert(NO, "data(%d) > bufmax(%d)", buflen+newDataLen, - bufmax); -#endif /* QA_CHECKS */ - bufmax *= 2; -#ifdef MEMSTATS - printf("... DOUBLE search-pattern buffer (%d -> %d)\n", - bufmax/2, bufmax); -#endif /* MEMSTATS */ - new = memAlloc(bufmax, MTAG_DOUBLED); - (void) memcpy(new, ibuf, buflen); -#if 0 - printf("REPLACING buf %p(%d) with %p(%d)\n", ibuf, - bufmax/2, new, bufmax); -#endif -#ifdef REUSE_STATIC_MEMORY - if (ibuf != grepzone) { - memFree(ibuf, MTAG_TOOSMALL); - } -#else /* not REUSE_STATIC_MEMORY */ - memFree(ibuf, MTAG_TOOSMALL); -#endif /* not REUSE_STATIC_MEMORY */ - ibuf = new; - } - cp = bufmark = ibuf+buflen-1; /* where the NULL is _now_ */ - buflen += newDataLen; /* new end-of-data ptr */ - bufmark += sprintf(bufmark, "%s", start); - if (notDone) { - bufmark += sprintf(bufmark, "%s\n", sep); - } - /* - * Some files use ^M as a line-terminator, so we need to convert those - * control-M's to 'regular newlines' in case we need to use the regex - * stuff on this buffer; the regex library apparently doesn't have a - * flag for interpretting ^M as end-of-line character. - */ - while (*cp) { - if (*cp == '\r') { /* '\015'? */ - *cp = '\n'; /* '\012'! */ - } - cp++; - } - *end = save; -#ifdef PHRASE_DEBUG - printf("Loop end, BUF IS NOW: [\"%s\":%d]\n----\n%s====\n", - regex, strlen(ibuf), ibuf); -#endif /* PHRASE_DEBUG */ - } - -#if defined(PHRASE_DEBUG) || defined(DOCTOR_DEBUG) - printf("getInstances(\"%s\"): Found %d bytes of data...\n", regex, - buflen-1); -#endif /* PHRASE_DEBUG || DOCTOR_DEBUG */ -#ifdef PHRASE_DEBUG - printf("getInstances(\"%s\"): buffer %p --------\n%s\n========\n", - regex, ibuf, ibuf); -#endif /* PHRASE_DEBUG */ - - return(ibuf); -} - -/** - * \brief Get the current date - * \note The function prints a fatal log and call Bail() if ctime_r() fails - * \return Current date - */ -char *curDate() -{ - static char datebuf[32]; - char *cp; - time_t thyme; - - (void) time(&thyme); - (void) ctime_r(&thyme, datebuf); - if ((cp = strrchr(datebuf, '\n')) == NULL_STR) { - LOG_FATAL("Unexpected time format from ctime_r()!") - Bail(-__LINE__); - } - *cp = NULL_CHAR; - return(datebuf); -} - - -#ifdef MEMSTATS -void memStats(char *s) -{ - static int first = 1; - static char mbuf[128]; - - if (first) { - first = 0; - sprintf(mbuf, "grep VmRSS /proc/%d/status", getpid()); - } - if (s && *s) { - int i; - printf("%s: ", s); - for (i = (int) (strlen(s)+2); i < 50; i++) { - printf(" "); - } - } - (void) mySystem(mbuf); -#if 0 - system("grep Vm /proc/self/status"); - system("grep Brk /proc/self/status"); -#endif -} -#endif /* MEMSTATS */ - - -/** - * \brief Create symbolic links for a given path in current directory - * \param path Path to the inode - */ -void makeSymlink(char *path) -{ -#if defined(PROC_TRACE) || defined(UNPACK_DEBUG) - traceFunc("== makeSymlink(%s)\n", path); -#endif /* PROC_TRACE || UNPACK_DEBUG */ - - (void) sprintf(cmdBuf, ".%s", strrchr(path, '/')); - if (symlink(path, cmdBuf) < 0) { - perror(cmdBuf); - LOG_FATAL("Failed: symlink(%s, %s)", path, cmdBuf) - Bail(-__LINE__); - } - return; -} - - -/** - * \brief CDB -- Need to review this code, particularly for the use of an - * external file (Nomos.strings.txt). Despite the fact that variable - * is named debugStr, the file appears to be used for more than just - * debugging. - * - * Although it might be the case that it only gets called from debug - * code. It does not appear to be called during a few test runs of - * normal file scans that I tried. - */ -void printRegexMatch(int n, int cached) -{ - int save_so; - int save_eo; - int match; - static char debugStr[256]; - static char misc[64]; - char *cp; - char *x = NULL; - char *textp; - -#ifdef PROC_TRACE - traceFunc("== printRegexMatch(%d, %d)\n", n, cached); -#endif /* PROC_TRACE */ - - if (*debugStr == NULL_CHAR) { - strncpy(debugStr, gl.initwd, sizeof(debugStr)-1); - strncat(debugStr, "/Nomos.strings.txt", sizeof(debugStr)-1); -#ifdef DEBUG - printf("File: %s\n", debugStr); -#endif /* DEBUG */ - } - save_so = cur.regm.rm_so; - save_eo = cur.regm.rm_eo; - if (isFILE(debugStr)) { - if ((match = (gl.flags & FL_SAVEBASE))) { /* assignment is deliberate */ - gl.flags &= ~FL_SAVEBASE; - } -#ifdef DEBUG - printf("Match [%d:%d]\n", save_so, save_eo); -#endif /* DEBUG */ - textp = mmapFile(debugStr); - (void) sprintf(misc, "=#%03d", n); - if (strGrep(misc, textp, REG_EXTENDED)) { -#ifdef DEBUG - printf("Patt: %s\nMatch: %d:%d\n", misc, - cur.regm.rm_so, cur.regm.rm_eo); -#endif /* DEBUG */ - x = textp + cur.regm.rm_so; - cp = textp + cur.regm.rm_so; - *x = NULL_CHAR; - while (*--x != '[') { - if (x == textp) { - LOG_FATAL("Cannot locate debug symbol") - Bail(-__LINE__); - } - } - ++x; /* CDB - Moved from line below. Hope this is what was intended.*/ - (void) strncpy(misc, x, cp - x); /* CDB - Fix */ - misc[cp-x] = NULL_CHAR; - } else { - (void) strcpy(misc, "?"); - } - munmapFile(textp); - if (match) { - gl.flags |= FL_SAVEBASE; - } -#ifdef DEBUG - printf("RESTR [%d:%d]\n", cur.regm.rm_so, cur.regm.rm_eo); -#endif /* DEBUG */ - } - cur.regm.rm_so = save_so; - cur.regm.rm_eo = save_eo; - printf("%s regex %d ", cached ? "Cached" : "Found", n); - if (x) { - printf("(%s) ", misc); - } - if (!cached) { - printf("\"%s\"", _REGEX(n)); - } - printf("\n"); -#ifdef DEBUG - printf("Seed: \"%s\"\n", _SEED(n)); -#endif /* DEBUG */ - return; -} - -/** - * \brief Replace all nulls in Buffer with blanks. - * \param Buffer The data having its nulls replaced. - * \param BufferSize Buffer size - */ -void ReplaceNulls(char *Buffer, int BufferSize) -{ - char *pBuf; - - for (pBuf = Buffer; BufferSize--; pBuf++) - if (*pBuf == 0) *pBuf = ' '; -} - -/** - * \brief Blarg. Files that are EXACTLY a multiple of the system pagesize do - * not get a NULL on the end of the buffer. We need something - * creative, else we'll need to just calloc() the size of the file (plus - * one) and read() the whole thing into memory. - */ -char *mmapFile(char *pathname) /* read-only for now */ -{ - struct mm_cache *mmp; - int i; - int n; - int rem; - char *cp; - -#ifdef PROC_TRACE - traceFunc("== mmapFile(%s)\n", pathname); -#endif /* PROC_TRACE */ - - for (mmp = mmap_data, i = 0; i < MM_CACHESIZE; i++, mmp++) { - if (mmp->inUse == 0) { - break; - } - } - - if (i == MM_CACHESIZE) { - printf("mmap-cache too small [%d]!\n", MM_CACHESIZE); - mmapOpenListing(); - Bail(12); - } - - if ((mmp->fd = open(pathname, O_RDONLY)) < 0) { - if (errno == ENOENT) { - mmp->inUse = 0; /* overkill? */ - mmp->size = -1; /* overkill? */ - mmp->mmPtr = (void *) NULL; -#if (DEBUG > 3) - printf("mmapFile: ENOENT %s\n", pathname); -#endif /* DEBUG > 3 */ - return(NULL_STR); - } - perror(pathname); - (void) mySystem("ls -l %s", pathname); - LOG_FATAL("%s: open failure!", pathname) - Bail(-__LINE__); - } - - if (fstat(mmp->fd, &cur.stbuf) < 0) { - printf("fstat failure!\n"); - perror(pathname); - Bail(13); - } - if (S_ISDIR(cur.stbuf.st_mode)) { - printf("mmapFile(%s): is a directory\n", pathname); - Bail(14); - } - - (void) strncpy(mmp->label, pathname, sizeof(mmp->label)-1); - if (cur.stbuf.st_size) - { - mmp->size = cur.stbuf.st_size + 1; - mmp->mmPtr = memAlloc(mmp->size, MTAG_MMAPFILE); -#ifdef DEBUG - printf("+MM: %lu @ %p\n", mmp->size, mmp->mmPtr); -#endif /* DEBUG */ - - /* Limit scan to first MAX_SCANBYTES - * We have never found a license more than 64k into a file. - */ -// if (cur.stbuf.st_size > MAX_SCANBYTES) mmp->size = MAX_SCANBYTES; - if (mmp->size > MAX_SCANBYTES) mmp->size = MAX_SCANBYTES; - - - rem = mmp->size-1; - cp = mmp->mmPtr; - while (rem > 0) { - if ((n = (int) read(mmp->fd, cp, (size_t) rem)) < 0) { - /* log error and move on. This way error will be logged - * but job will continue - */ - LOG_WARNING("nomos read error: %s, file: %s, read size: %d, pfile_pk: %ld\n", strerror(errno), pathname, rem, cur.pFileFk); - break; - } - rem -= n; - cp += n; - } - mmp->inUse = 1; - /* Replace nulls with blanks so binary files can be scanned */ - ReplaceNulls(mmp->mmPtr, mmp->size-1); - return((char *) mmp->mmPtr); - } - /* - * If we're here, we hit some sort of error. - */ - (void) close(mmp->fd); -#ifdef QA_CHECKS - Assert(NO, "mmapFile: returning NULL"); -#endif /* QA_CHECKS */ - return(NULL_STR); -} - - -void mmapOpenListing() -{ - struct mm_cache *mmp; - int i; - - printf("=== mm-cache BEGIN ===\n"); - for (mmp = mmap_data, i = 0; i < MM_CACHESIZE; i++, mmp++) { - if (mmp->inUse) { - printf("mm[%d]: (%d) %s:%d\n", i, mmp->fd, - mmp->label, (int) mmp->size); - } - } - printf("--- mm-cache END ---\n"); - return; -} - -/** - * \warning do NOT use a string/buffer AFTER calling munmapFile()!!! \n - * We don't explicitly zero out the memory, but apparently glibc DOES. - */ -void munmapFile(void *ptr) -{ - struct mm_cache *mmp; - int i; - -#ifdef PROC_TRACE - traceFunc("== munmapFile(%p)\n", ptr); -#endif /* PROC_TRACE */ - - if (ptr == (void *) NULL) { -#ifdef QA_CHECKS - Assert(NO, "NULL sent to munmapFile()!"); -#endif /* QA_CHECKS */ - return; - } - for (mmp = mmap_data, i = 0; i < MM_CACHESIZE; i++, mmp++) { - if (mmp->inUse == 0) { - continue; - } - if (mmp->mmPtr == ptr) { -#if DEBUG > 4 - printf("munmapFile: clearing entry %d\n", i); -#endif /* DEBUG > 4 */ -#if 0 - if (mmp->size) { - (void) munmap((void *) ptr, (size_t) mmp->size); - } -#endif - if (close(mmp->fd) < 0) { - perror("close"); - Bail(16); - } -#ifdef PARANOID - mmp->buf = (void *) NULL; -#endif /* PARANOID */ - mmp->inUse = 0; -#ifdef DEBUG - printf("DEBUG: munmapFile: freeing %lu bytes\n", - mmp->size); -#endif /* DEBUG */ - memFree(mmp->mmPtr, MTAG_MMAPFILE); - break; - } - } - return; -} - -/** - * \brief Finds the length of first line in a buffer - * - * Function traverse the buffer and breaks at the first occurance of EOL or - * NULL_CHAR - * \param p Buffer to look into - * \param len Upper limit in p - * \return Length of the line - */ -int bufferLineCount(char *p, int len) -{ - char *cp; - char *eofaddr = NULL; - int i; - -#ifdef PROC_TRACE - traceFunc("== bufferLineCount(%p, %d)\n", p, len); -#endif /* PROC_TRACE */ - - if (eofaddr == p) { - return(0); - } - eofaddr = (char *) (p+len); - for (i = 0, cp = p; cp <= eofaddr; cp++, i++) { - if ((cp = findEol(cp)) == NULL_STR || *cp == NULL_CHAR) { - break; - } - } -#if (DEBUG > 3) - printf("bufferLineCount == %d\n", i); -#endif /* DEBUG > 3 */ - return(i ? i : 1); -} - -/** - * \brief Append a string at the end of the file - * \param pathname Path to the file - * \param str String to be appended - */ -void appendFile(char *pathname, char *str) -{ - FILE *fp; - -#ifdef PROC_TRACE - traceFunc("== appendFile(%s, \"%s\")\n", pathname, str); -#endif /* PROC_TRACE */ - - fp = fopenFile(pathname, "a+"); - fprintf(fp, "%s\n", str); - (void) fclose(fp); - return; -} - -/** - * \brief Run a system command - * \param fmt The command to run along with parameters - * \note The function will log errors if and error occurs - * \return The return code from the command. - */ -int mySystem(const char *fmt, ...) -{ - int ret; - va_start(ap, fmt); - (void) vsnprintf(cmdBuf, sizeof(cmdBuf), fmt, ap); - va_end(ap); - -#if defined(PROC_TRACE) || defined(UNPACK_DEBUG) - traceFunc("== mySystem('%s')\n", cmdBuf); -#endif /* PROC_TRACE || UNPACK_DEBUG */ - - ret = system(cmdBuf); - if (WIFEXITED(ret)) { - ret = WEXITSTATUS(ret); -#ifdef DEBUG - if (ret) { - LOG_ERROR("system(%s) returns %d", cmdBuf, ret) - } -#endif /* DEBUG */ - } - else if (WIFSIGNALED(ret)) { - ret = WTERMSIG(ret); - LOG_ERROR("system(%s) died from signal %d", cmdBuf, ret) - } - else if (WIFSTOPPED(ret)) { - ret = WSTOPSIG(ret); - LOG_ERROR("system(%s) stopped, signal %d", cmdBuf, ret) - } - return(ret); -} - - -/** - * \brief Check if an inode is a file - * \param pathname Path to check - * \return True if it is a file, false otherwise - */ -int isFILE(char *pathname) -{ - -#ifdef PROC_TRACE - traceFunc("== isFILE(%s)\n", pathname); -#endif /* PROC_TRACE */ - - return(isINODE(pathname, S_IFREG)); -} - - -/** - * \brief adds a line to the specified pathname - * - * Adds a line to the specified pathname if either: - * - the line does NOT already exist in the line, or - * - the variable 'forceFlag' is set to non-zero - */ -int addEntry(char *pathname, int forceFlag, const char *fmt, ...) -{ - va_start(ap, fmt); - vsprintf(utilbuf, fmt, ap); - va_end(ap); - -#ifdef PROC_TRACE - traceFunc("== addEntry(%s, %d, \"%s\")\n", pathname, forceFlag, utilbuf); -#endif /* PROC_TRACE */ - - if (pathname == NULL_STR) { - Assert(YES, "addEntry - NULL pathname"); - } - if (forceFlag || !lineInFile(pathname, utilbuf)) { - appendFile(pathname, utilbuf); - return(1); - } - return(0); -} - -/** - * \brief DO NOT automatically add \n to a string passed to Msg(); in - * parseDistro, we sometimes want to dump a partial line. - */ -void Msg(const char *fmt, ...) -{ - va_start(ap, fmt); - (void) vprintf(fmt, ap); - va_end(ap); - return; -} - -/** - * \brief Raise an assert - * \param fatalFlag Set to TRUE if assert is fatal. Function will BAIL - * \param fmt Assert format - */ -void Assert(int fatalFlag, const char *fmt, ...) -{ - va_start(ap, fmt); - (void) sprintf(utilbuf, "ASSERT: "); - (void) vsnprintf(utilbuf+strlen(utilbuf), sizeof(utilbuf+strlen(utilbuf)), fmt, ap); - va_end(ap); - -#ifdef PROC_TRACE - traceFunc("!! Assert(\"%s\")\n", utilbuf+strlen(gl.progName)+3); -#endif /* PROC_TRACE */ - - (void) strcat(utilbuf, "\n"); - Msg("%s", utilbuf); - if (fatalFlag) { - Bail(17); - } - return; -} - - -void traceFunc(char *fmtStr, ...) -{ - va_list args; - -#ifdef PROC_TRACE_SWITCH - if (gl.ptswitch) -#endif /* PROC_TRACE_SWITCH */ - va_start(args, fmtStr); - - vprintf(fmtStr, args); - va_end(args); -#ifdef PROC_TRACE_SWITCH -} -#endif /* PROC_TRACE_SWITCH */ -} - - -#ifdef MEM_DEBUG -char *memAllocLogged(int size) -{ - register void *ptr; - /* */ - ptr = calloc(size, 1); - printf("%p = calloc( %d , 1 )\n", ptr, size); - return(ptr); -} - -void memFreeLogged(void *ptr) -{ - printf("free( %p )\n", ptr); - free(ptr); - return; -} -#endif /* MEM_DEBUG */ diff --git a/src/fosslight_dependency/third_party/nomos/agent/util.h b/src/fosslight_dependency/third_party/nomos/agent/util.h deleted file mode 100644 index afb0acd0..00000000 --- a/src/fosslight_dependency/third_party/nomos/agent/util.h +++ /dev/null @@ -1,86 +0,0 @@ -/*************************************************************** - Copyright (C) 2006-2009 Hewlett-Packard Development Company, L.P. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -***************************************************************/ - -#ifndef _UTIL_H -#define _UTIL_H - -#include -#include -int isDIR(char *dpath); -int isEMPTYDIR(char *dpath); -int isEMPTYFILE(char *fpath); -int isBLOCK(char *bpath); -int isCHAR(char *cpath); -int isPIPE(char *ppath); -int isSYMLINK(char *spath); -int isINODE(char *ipath, int typ); -char *newReloTarget(char *basename); -char *pluralName(char *s, int count); - -#ifdef MEMORY_TRACING -char *memAllocTagged(int size, char *name); -void memFreeTagged(void *ptr, char *note); -void memCacheDump(char *s); -#endif /* MEMORY_TRACING */ - -char *findBol(char *s, char *upperLimit); -char *findEol(char *s); -void changeDir(char *pathname); -void renameInode(char *oldpath, char *newpath); -void unlinkFile(char *pathname); -void chmodInode(char *pathname, int mode); -FILE *fopenFile(char *pathname, char *mode); -FILE *popenProc(char *command, char *mode); -char *wordCount(char *textp); -char *copyString(char *s, char *label); -char *pathBasename(char *path); -char *getInstances(char *textp, int size, int nBefore, int nAfter, char *regex, int recordOffsets); -char *curDate(); - -#ifdef MEMSTATS -void memStats(char *s); -#endif /* MEMSTATS */ - -void makeSymlink(char *path); - -//void freeAndClearScan(struct curScan *thisScan); -void printRegexMatch(int n, int cached); -char *mmapFile(char *pathname); -void mmapOpenListing(); -void munmapFile(void *ptr); -int bufferLineCount(char *p, int len); -void appendFile(char *pathname, char *str); -int nftwFileFilter(char *pathname, struct stat *st, int onlySingleLink); -void makePath(char *dirpath); -void makeDir(char *dirpath); -void removeDir(char *dir); -int mySystem(const char *fmt, ...); -int iMadeThis(char *textp); -int isFILE(char *pathname); -int addEntry(char *pathname, int forceFlag, const char *fmt, ...); -void Msg(const char *fmt, ...); -void Log(const char *fmt, ...); -void MsgLog(const char *fmt, ...); -void Note(const char *fmt, ...); -void Warn(const char *fmt, ...); -void Assert(int fatalFlag, const char *fmt, ...); -void Error(const char *fmt, ...); -void Fatal(const char *fmt, ...); -void traceFunc(char *fmtStr, ...); - -#endif /* _UTIL_H */ diff --git a/src/fosslight_dependency/third_party/nomos/nomossa b/src/fosslight_dependency/third_party/nomos/nomossa deleted file mode 100755 index 01b8ece3..00000000 Binary files a/src/fosslight_dependency/third_party/nomos/nomossa and /dev/null differ diff --git a/tox.ini b/tox.ini index 75361b8e..219bd08d 100644 --- a/tox.ini +++ b/tox.ini @@ -47,6 +47,6 @@ deps = -r{toxinidir}\requirements-dev.txt commands = # Test for making excutable file - pyinstaller --onefile cli.py -n cli --additional-hooks-dir=hooks --add-binary=src\fosslight_dependency\third_party\askalono\askalono.exe:third_party\askalono --add-binary=LICENSE:LICENSES --add-binary=LICENSES\LicenseRef-3rd_party_licenses.txt:LICENSES --collect-datas fosslight_util --hidden-import=_cffi_backend + pyinstaller --onefile cli.py -n cli --additional-hooks-dir=hooks --add-binary=LICENSE:LICENSES --add-binary=LICENSES\LicenseRef-3rd_party_licenses.txt:LICENSES --collect-datas fosslight_util --hidden-import=_cffi_backend pytest -m "windows" pytest -v --flake8