pax_global_header00006660000000000000000000000064151656760050014525gustar00rootroot0000000000000052 comment=c71a25e96364226ab702da1995b2a376f7ad3f00 zeroc-ice-3.8.1/000077500000000000000000000000001516567600500134165ustar00rootroot00000000000000zeroc-ice-3.8.1/.clang-format000066400000000000000000000027201516567600500157720ustar00rootroot00000000000000--- # See https://clang.llvm.org/docs/ClangFormatStyleOptions.html BasedOnStyle: LLVM IndentWidth: 4 --- Language: Cpp AccessModifierOffset: -4 AlignAfterOpenBracket: AlwaysBreak AllowAllArgumentsOnNextLine: false AllowAllParametersOfDeclarationOnNextLine: false AllowAllConstructorInitializersOnNextLine: false AllowShortIfStatementsOnASingleLine: false AlwaysBreakAfterDefinitionReturnType: TopLevel BinPackArguments: false BinPackParameters: false BreakBeforeBraces: Allman ColumnLimit: 120 DerivePointerAlignment: false FixNamespaceComments: false IndentCaseLabels: true IndentPPDirectives: AfterHash KeepEmptyLinesAtTheStartOfBlocks: false NamespaceIndentation: All PackConstructorInitializers: CurrentLine PointerAlignment: Left SpaceAfterTemplateKeyword: false TabWidth: 4 UseTab: Never --- Language: ObjC AccessModifierOffset: -4 AlignAfterOpenBracket: AlwaysBreak AllowAllArgumentsOnNextLine: false AllowAllParametersOfDeclarationOnNextLine: false AllowAllConstructorInitializersOnNextLine: false AllowShortIfStatementsOnASingleLine: false AlwaysBreakAfterDefinitionReturnType: TopLevel BinPackArguments: false BinPackParameters: false BreakBeforeBraces: Allman ColumnLimit: 120 DerivePointerAlignment: false FixNamespaceComments: false IndentCaseLabels: true IndentPPDirectives: AfterHash KeepEmptyLinesAtTheStartOfBlocks: false NamespaceIndentation: All PackConstructorInitializers: CurrentLine PointerAlignment: Left SpaceAfterTemplateKeyword: false TabWidth: 4 UseTab: Never zeroc-ice-3.8.1/.clang-format-ignore000066400000000000000000000006221516567600500172520ustar00rootroot00000000000000# C++ code generated from the Bison/Flex parsers cpp/src/Slice/Grammar.h cpp/src/Slice/Grammar.cpp cpp/src/Slice/Scanner.cpp cpp/src/IceGrid/Grammar.h cpp/src/IceGrid/Grammar.cpp cpp/src/IceGrid/Scanner.cpp cpp/src/IceStorm/Grammar.h cpp/src/IceStorm/Grammar.cpp cpp/src/IceStorm/Scanner.cpp # The property files generated from `makeprops.py` cpp/src/Ice/PropertyNames.h cpp/src/Ice/PropertyNames.cpp zeroc-ice-3.8.1/.clang-tidy000066400000000000000000000015421516567600500154540ustar00rootroot00000000000000Checks: '-*, clang-analyzer-*, -clang-analyzer-optin.core.EnumCastOutOfRange, cert-*, modernize-*, -modernize-avoid-c-arrays, -modernize-use-trailing-return-type, -modernize-macro-to-enum, -modernize-use-designated-initializers, -modernize-use-constraints, -modernize-use-ranges, -modernize-loop-convert, -modernize-use-starts-ends-with, performance-*, -performance-avoid-endl, -performance-enum-size, -performance-inefficient-string-concatenation, ' WarningsAsErrors: '*' HeaderFilterRegex: '.*' ExcludeHeaderFilterRegex: 'include/lmdb.h|include/python*/*|Grammar.h|dbus/*' UseColor: true FormatStyle: 'file' CheckOptions: modernize-use-nullptr.NullMacros: 'NULL' # std::exception_ptr is a cheap to copy, pointer-like type; we pass it by value all the time. performance-unnecessary-value-param.AllowedTypes: 'exception_ptr$;' zeroc-ice-3.8.1/.devcontainer/000077500000000000000000000000001516567600500161555ustar00rootroot00000000000000zeroc-ice-3.8.1/.devcontainer/Dockerfile000066400000000000000000000017621516567600500201550ustar00rootroot00000000000000FROM mcr.microsoft.com/devcontainers/base:ubuntu-24.04 USER vscode WORKDIR /home/vscode RUN set -eux \ && wget -q https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ && sudo dpkg -i packages-microsoft-prod.deb \ && rm packages-microsoft-prod.deb \ && sudo apt update \ && sudo apt-get install -y php-dev python3 python3-dev python3-passlib ruby-full gdb \ && sudo apt-get install -y libbluetooth-dev libbz2-dev libdbus-1-dev libedit-dev libexpat1-dev liblmdb-dev libmcpp-dev libssl-dev libsystemd-dev \ && sudo apt-get install -y openjdk-17-jdk \ && sudo rm -rf /var/lib/apt/lists/* \ && sudo apt-get clean # Install .NET 8.0 RUN set -eux \ && curl https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh -L \ && chmod +x dotnet-install.sh \ && ./dotnet-install.sh -v latest -c 8.0 # Set environment variables ENV DOTNET_ROOT=/home/vscode/.dotnet ENV PATH=$DOTNET_ROOT:$PATH ENV LANG=en_US.UTF-8 zeroc-ice-3.8.1/.devcontainer/debian12/000077500000000000000000000000001516567600500175425ustar00rootroot00000000000000zeroc-ice-3.8.1/.devcontainer/debian12/Dockerfile000066400000000000000000000010101516567600500215240ustar00rootroot00000000000000FROM mcr.microsoft.com/devcontainers/base:debian-12 USER vscode WORKDIR /home/vscode RUN sudo apt update \ && sudo apt-get install -y \ php-dev python3 python3-dev python3-passlib ruby-full gdb \ libbluetooth-dev libbz2-dev libdbus-1-dev libedit-dev libexpat1-dev liblmdb-dev \ libmcpp-dev libssl-dev libsystemd-dev \ dh-exec dh-php dh-python locales-all php-all-dev python3-setuptools \ build-essential git devscripts curl \ && sudo rm -rf /var/lib/apt/lists/* \ && sudo apt-get clean zeroc-ice-3.8.1/.devcontainer/debian12/devcontainer.json000066400000000000000000000014271516567600500231220ustar00rootroot00000000000000{ // Use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile "build": { "dockerfile": "Dockerfile" }, "runArgs": [ // "--cpuset-cpus=0-1", // Limit CPU usage // "--shm-size=4gb" // Limit memory usage ], // Configure tool-specific properties "customizations": { "vscode": { /* spell-checker:disable */ "extensions": [ "davidson.vscode-markdownlint", "editorconfig.editorconfig", "ms-azuretools.vscode-docker", "streetsidesoftware.code-spell-checker", "zerocinc.slice", "ms-vscode.cpptools-extension-pack" ] /* spell-checker:enable */ } } } zeroc-ice-3.8.1/.devcontainer/devcontainer.json000066400000000000000000000014271516567600500215350ustar00rootroot00000000000000{ // Use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile "build": { "dockerfile": "Dockerfile" }, "runArgs": [ // "--cpuset-cpus=0-1", // Limit CPU usage // "--shm-size=4gb" // Limit memory usage ], // Configure tool-specific properties "customizations": { "vscode": { /* spell-checker:disable */ "extensions": [ "davidson.vscode-markdownlint", "editorconfig.editorconfig", "ms-azuretools.vscode-docker", "streetsidesoftware.code-spell-checker", "zerocinc.slice", "ms-vscode.cpptools-extension-pack" ] /* spell-checker:enable */ } } } zeroc-ice-3.8.1/.devcontainer/rhel9/000077500000000000000000000000001516567600500172005ustar00rootroot00000000000000zeroc-ice-3.8.1/.devcontainer/rhel9/Dockerfile000066400000000000000000000014651516567600500212000ustar00rootroot00000000000000FROM registry.access.redhat.com/ubi9 RUN dnf install -y https://zeroc.com/download/ice/3.7/el9/ice-repo-3.7.el9.noarch.rpm && \ dnf clean all # Install required build tools and dependencies RUN dnf install -y \ sudo \ make \ curl-minimal \ git \ gcc-c++ \ glibc-devel \ libstdc++-devel \ redhat-rpm-config \ glibc-static \ libstdc++-static \ mcpp-devel \ bzip2-devel \ openssl-devel \ expat-devel \ libedit-devel \ lmdb-devel \ python3-devel \ && dnf clean all # Create a non-root user and set permissions RUN useradd -ms /bin/bash vscode \ && mkdir -p /home/vscode \ && chown -R vscode:vscode /home/vscode \ && echo "vscode ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/vscode USER vscode WORKDIR /home/vscode ENV LANG=en_US.UTF-8 zeroc-ice-3.8.1/.devcontainer/rhel9/devcontainer.json000066400000000000000000000014551516567600500225610ustar00rootroot00000000000000{ // Use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile "name": "RHEL 9", "build": { "dockerfile": "Dockerfile" }, "runArgs": [ // "--cpuset-cpus=0-1", // Limit CPU usage // "--shm-size=4gb" // Limit memory usage ], // Configure tool-specific properties "customizations": { "vscode": { /* spell-checker:disable */ "extensions": [ "davidson.vscode-markdownlint", "editorconfig.editorconfig", "ms-azuretools.vscode-docker", "streetsidesoftware.code-spell-checker", "zerocinc.slice", "ms-vscode.cpptools-extension-pack" ] /* spell-checker:enable */ } } } zeroc-ice-3.8.1/.editorconfig000066400000000000000000000004761516567600500161020ustar00rootroot00000000000000# Remove the line below if you want to inherit .editorconfig settings from higher directories root = true # all files [*] #### Guidelines #### guidelines = 120 #### Core EditorConfig Options #### # New line preferences insert_final_newline = true # License header file_header_template = Copyright (c) ZeroC, Inc. zeroc-ice-3.8.1/.gitattributes000066400000000000000000000001431516567600500163070ustar00rootroot00000000000000* text=auto js/package.json text eol=lf js/package-lock.json text eol=lf gradlew.bat text eol=crlf zeroc-ice-3.8.1/.github/000077500000000000000000000000001516567600500147565ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/ISSUE_TEMPLATE/000077500000000000000000000000001516567600500171415ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/ISSUE_TEMPLATE/bug_report.yml000066400000000000000000000022171516567600500220360ustar00rootroot00000000000000name: Bug report description: Create a report to help us improve labels: [] body: - type: textarea id: version attributes: label: Version description: Please provide the following version information placeholder: | - Ice Version [e.g. 3.7.9] - OS: [e.g. Linux, Windows, macOS] - Distribution: [e.g. YUM, Apt, Homebrew] validations: required: true - type: textarea id: description attributes: label: Describe the bug description: | A clear and concise description of what the bug is. placeholder: Description validations: required: true - type: textarea id: expected-behavior attributes: label: Expected behavior description: | A clear and concise description of what you expected to happen. placeholder: Description validations: required: true - type: textarea id: additional-context attributes: label: Additional context description: | Add any other context or screenshots about the feature request here. placeholder: Additional context validations: required: false zeroc-ice-3.8.1/.github/actions/000077500000000000000000000000001516567600500164165ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/build-slice-compiler/000077500000000000000000000000001516567600500224225ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/build-slice-compiler/action.yml000066400000000000000000000026611516567600500244270ustar00rootroot00000000000000name: "Build Slice Compiler" description: "Builds a Slice compiler from C++ source for multiple platforms" inputs: compiler_name: description: "Name of the compiler to build" required: true authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false default: "false" runs: using: "composite" steps: - name: Build on Windows if: runner.os == 'Windows' run: | nuget restore cpp/msbuild/ice.slnx MSBuild /m cpp/msbuild/ice.slnx /p:Configuration=Release /p:Platform=x64 /t:${{ inputs.compiler_name }} shell: cmd - name: Build on Linux/macOS if: runner.os != 'Windows' run: | make -C cpp OPTIMIZE=yes V=1 ${{ inputs.compiler_name }} shell: bash - name: Sign Compiler Artifact if: runner.os == 'Windows' && inputs.authenticode_sign == 'true' uses: azure/trusted-signing-action@v0 with: azure-tenant-id: ${{ env.AZURE_TENANT_ID }} azure-client-id: ${{ env.AZURE_CLIENT_ID }} azure-client-secret: ${{ env.AZURE_CLIENT_SECRET }} endpoint: https://eus.codesigning.azure.net/ trusted-signing-account-name: zeroc certificate-profile-name: zeroc-ice files: ${{ github.workspace }}\cpp\bin\x64\Release\${{ inputs.compiler_name }}.exe file-digest: SHA256 timestamp-rfc3161: http://timestamp.acs.microsoft.com timestamp-digest: SHA256 zeroc-ice-3.8.1/.github/actions/build/000077500000000000000000000000001516567600500175155ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/build/action.yml000066400000000000000000000037361516567600500215260ustar00rootroot00000000000000name: Build Ice description: Builds Ice for the current platform using Make (macOS/Linux) or MSBuild (Windows). inputs: working_directory: description: "The working directory to run the build in" default: "." build_flags: description: "Additional flags to pass to the build" default: "" msbuild_project: description: "The project file to build" default: "ice.proj" msbuild_command: description: "The msbuild command to use" default: "msbuild /m" build_cpp_and_python: description: "Build C++ and Python" default: "false" build_android_controller: description: "Build Android Controller" default: "false" runs: using: "composite" steps: # macOS and Linux - name: Build C++ and Python run: | make ${{ inputs.build_flags }} -C cpp srcs make -C python shell: bash if: (runner.os == 'macOS' || runner.os == 'Linux') && inputs.build_cpp_and_python == 'true' - name: Build working-directory: ${{ inputs.working_directory }} run: make ${{ inputs.build_flags }} shell: bash if: runner.os == 'macOS' || runner.os == 'Linux' # Android - name: Build Android working-directory: ${{ inputs.working_directory }} run: | cd test/android/controller ./gradlew build checkstyle ./gradlew rewriteDryRun --no-parallel --no-configuration-cache shell: bash if: inputs.build_android_controller == 'true' # Windows - name: Build C++ and Python run: | msbuild /m ${{ inputs.build_flags }} /t:BuildDist cpp/msbuild/ice.proj msbuild /m ${{ inputs.build_flags }} python/msbuild/ice.proj shell: powershell if: runner.os == 'Windows' && inputs.build_cpp_and_python == 'true' - name: Build working-directory: ${{ inputs.working_directory }} run: ${{ inputs.msbuild_command }} ${{ inputs.build_flags }} ${{ inputs.msbuild_project }} shell: powershell if: runner.os == 'Windows' zeroc-ice-3.8.1/.github/actions/dispatch-workflow/000077500000000000000000000000001516567600500220655ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/dispatch-workflow/action.yml000066400000000000000000000021311516567600500240620ustar00rootroot00000000000000name: "Dispatch Workflow" description: "Trigger a workflow_dispatch on a given ref with optional inputs" inputs: ref: description: "Git ref to dispatch" required: true workflow: description: "Workflow filename to dispatch" required: true token: description: "GitHub token with workflow scope" required: true inputs: description: "JSON object of inputs to pass to the workflow" required: false default: "{}" runs: using: "composite" steps: - name: Dispatch workflow run: | set -euo pipefail echo "Dispatching ${WORKFLOW} on ref ${REF}" # Build -f flags from JSON inputs INPUT_ARGS="" if [[ "${INPUTS}" != "{}" ]]; then INPUT_ARGS=$(echo "${INPUTS}" | jq -r 'to_entries | .[] | "-f \(.key)=\(.value)"' | tr '\n' ' ') fi # shellcheck disable=SC2086 gh workflow run "${WORKFLOW}" --ref "${REF}" ${INPUT_ARGS} env: GH_TOKEN: ${{ inputs.token }} REF: ${{ inputs.ref }} WORKFLOW: ${{ inputs.workflow }} INPUTS: ${{ inputs.inputs }} shell: bash zeroc-ice-3.8.1/.github/actions/documentation/000077500000000000000000000000001516567600500212675ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/documentation/action.yml000066400000000000000000000122001516567600500232620ustar00rootroot00000000000000name: API Reference description: Generate API reference documentation for Ice inputs: aws-access-key-id: description: "AWS access key ID" required: true aws-secret-access-key: description: "AWS secret access key" required: true aws-s3-code-bucket: description: "AWS S3 bucket for storing the API reference" required: true github-token: description: "GitHub token used by phive to access the GitHub API (to get the versions of the packages)" required: true runs: using: "composite" steps: # Use --formula to silence homebrew warning when installing doxygen from a formula. - name: Install doxygen and graphviz (a dependency of Doxygen for generating diagrams) run: | brew install graphviz || true brew install doxygen --formula || true shell: bash - name: Install docfx for C# API reference run: dotnet tool install -g docfx shell: bash - name: Generate Doxygen API reference for Slice working-directory: ./doxygen run: doxygen shell: bash - name: Generate Doxygen API reference for C++ working-directory: ./cpp/doxygen run: doxygen shell: bash - name: Generate TypeDoc API reference for JavaScript working-directory: ./js run: make doc shell: bash - name: Generate docfx API reference for C# working-directory: ./csharp/docfx run: | docfx metadata --property Configuration=Release docfx build shell: bash - name: Generate Python API reference working-directory: ./python/docs run: | pip install -r requirements.txt make html shell: bash - name: Generate API reference for Swift run: | mkdir ./swift/docs touch doc_output.log swift package --allow-writing-to-directory ./swift/docs generate-documentation \ --enable-experimental-combined-documentation \ --fallback-display-name "Ice for Swift" \ --target Ice --target IceStorm --target Glacier2 --target IceGrid \ --output-path ./swift/docs --transform-for-static-hosting --hosting-base-path /ice/3.8/api/swift 2>&1 | tee -a doc_output.log # Check if the documentation generation had any warnings if grep -q "^warning:" doc_output.log; then echo "Documentation generation had warnings" exit 1 fi shell: bash - name: Generate API reference for Java working-directory: ./java run: | make -C ../cpp slice2java ./gradlew :alljavadoc shell: bash - name: Generate API reference for Ruby working-directory: ./ruby run: | gem install --user-install yard export PATH="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH" yard doc 'ruby/**/*.rb' shell: bash - name: Generate API reference for PHP working-directory: ./php env: # We need to set the GITHUB_AUTH_TOKEN to allow phive use the GitHub API to get the versions # of the packages. If we don't set this, phive will likely fail with a 403 error. GITHUB_AUTH_TOKEN: "${{ inputs.github-token }}" run: | set -x brew install phive phive install phpDocumentor --trust-gpg-keys 6DA3ACC4991FFAE5 --temporary ./tools/phpDocumentor --config ./phpdoc.dist.xml shell: bash # This will perform a full sync of the documentation to S3 every time the workflow is run since # the timestamps will always be different. Using --size-only is not sufficient since the # documentation may be updated without changing the size of the files. S3 does not offer a hash based sync. # # Additionally, we do not cache the doxygen output since it does not remove files old files. - name: Sync Documentation to S3 run: | aws s3 sync ./doxygen/slice s3://${AWS_S3_CODE_BUCKET}/ice/3.8/api/slice --delete aws s3 cp ./doxygen/slice.tag s3://${AWS_S3_CODE_BUCKET}/ice/3.8/api/slice.tag aws s3 sync ./cpp/doxygen/cpp s3://${AWS_S3_CODE_BUCKET}/ice/3.8/api/cpp --delete aws s3 cp ./cpp/doxygen/icecpp.tag s3://${AWS_S3_CODE_BUCKET}/ice/3.8/api/icecpp.tag aws s3 sync ./csharp/docfx/_site s3://${AWS_S3_CODE_BUCKET}/ice/3.8/api/csharp --delete aws s3 sync ./js/docs s3://${AWS_S3_CODE_BUCKET}/ice/3.8/api/javascript --delete aws s3 sync ./python/docs/_build/html s3://${AWS_S3_CODE_BUCKET}/ice/3.8/api/python --delete aws s3 sync ./swift/docs s3://${AWS_S3_CODE_BUCKET}/ice/3.8/api/swift --delete aws s3 sync ./java/build/docs/javadoc s3://${AWS_S3_CODE_BUCKET}/ice/3.8/api/java --delete aws s3 sync ./ruby/doc s3://${AWS_S3_CODE_BUCKET}/ice/3.8/api/ruby --delete aws s3 sync ./php/doc/api s3://${AWS_S3_CODE_BUCKET}/ice/3.8/api/php --delete env: AWS_ACCESS_KEY_ID: ${{ inputs.aws-access-key-id }} AWS_SECRET_ACCESS_KEY: ${{ inputs.aws-secret-access-key }} AWS_S3_CODE_BUCKET: ${{ inputs.aws-s3-code-bucket }} AWS_DEFAULT_REGION: us-east-1 shell: bash if: github.ref == 'refs/heads/3.8' && github.event_name != 'pull_request' && github.repository == 'zeroc-ice/ice' zeroc-ice-3.8.1/.github/actions/install-windows-debug-tools/000077500000000000000000000000001516567600500237765ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/install-windows-debug-tools/action.yml000066400000000000000000000025751516567600500260070ustar00rootroot00000000000000name: Windows Debug Tools Installer description: "Installs Debugging Tools for Windows using the Windows SDK installer." runs: using: "composite" steps: - name: Install Debugging Tools for Windows shell: pwsh run: | $sdkPath = "${{ runner.temp }}\sdksetup.exe" $logPath = "${{ runner.temp }}\sdk.log" Write-Host "Downloading Windows SDK installer..." Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=2338977" -OutFile $sdkPath Write-Host "Running Windows SDK installer (Debugging Tools only)..." $args = '/quiet /norestart /features OptionId.WindowsDesktopDebuggers /log "{0}"' -f $logPath $p = Start-Process -FilePath $sdkPath -ArgumentList $args -PassThru -Wait if ($p.ExitCode -ne 0) { Write-Error "Windows SDK installer failed with exit code $($p.ExitCode). See log at $logPath." exit $p.ExitCode } - name: Add Debug Tools to PATH shell: pwsh run: | $debugToolsPath = "C:\Program Files (x86)\Windows Kits\10\Debuggers\x64" $srcsrvPath = "$debugToolsPath\srcsrv" echo "$debugToolsPath" >> $env:GITHUB_PATH echo "$srcsrvPath" >> $env:GITHUB_PATH - name: Upload SDK install log if: failure() uses: actions/upload-artifact@v4 with: name: sdk-install-log path: ${{ runner.temp }}/sdk.log zeroc-ice-3.8.1/.github/actions/macos-fqdn/000077500000000000000000000000001516567600500204465ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/macos-fqdn/action.yml000066400000000000000000000061341516567600500224520ustar00rootroot00000000000000# The macOS FQDN can be misconfigured on GitHub-hosted runners, # causing issues with some tests that expect a valid FQDN. # See https://github.com/actions/runner-images/issues/12562 # # Example from a runner that is good: # > scutil --get ComputerName # iad20-fj925-81b5ba22-7890-42f2-92e2-f0dbf5ebb8ed-1E029398D518 # > scutil --get LocalHostName # iad20-fj925-81b5ba22-7890-42f2-92e2-f0dbf5ebb8ed-1E029398D518 # > scutil --get HostName # iad20-fj925-81b5ba22-7890-42f2-92e2-f0dbf5ebb8ed-1E029398D518.local name: macOS FQDN description: Ensures the macOS runner has a valid Fully Qualified Domain Name (FQDN) by checking and fixing its hostname configuration. runs: using: "composite" steps: - name: Print host info shell: bash run: | echo "ComputerName: $(scutil --get ComputerName)" echo "LocalHostName: $(scutil --get LocalHostName)" echo "HostName: $(scutil --get HostName)" echo "FQDN: $(hostname -f)" echo "Short hostname: $(hostname -s)" echo "/etc/hosts:" cat /etc/hosts - name: Check and fix FQDN shell: bash run: | RUNNER_FQDN=$(hostname -f) # GitHub macOS runners will always have an entry for the hostname in /etc/hosts. # For example: 192.168.64.24 iad20-fj917_6cae4d32-d0ce-456c-8173-514448759e72-FE7BB458E416.local iad20-fj917_6cae4d32-d0ce-456c-8173-514448759e72-FE7BB458E416 # This is the correct FQDN that matches the runner's IP address. # Due to a bug/misconfiguration, the actual hostname of the runner is sometimes something else. # # If the runner FQDN is not in /etc/hosts, we find the correct entry in /etc/hosts and update the hostname. if ! grep -qF "$RUNNER_FQDN" /etc/hosts; then echo "Runner hostname $RUNNER_FQDN not found in /etc/hosts. Updating hostname to match /etc/hosts." # Find the entry in /etc/hosts that corresponds to what the hostname should be. # It's the one that ends in ".local" and is not "localhost" or "broadcasthost". ENTRY=$(grep '\.local' /etc/hosts | grep -v 'localhost' | grep -v 'broadcasthost' | grep -v '^#' | head -1 || true) if [ -n "$ENTRY" ]; then HOSTNAME=$(echo "$ENTRY" | awk '{print $2}') SHORT_HOSTNAME="${HOSTNAME%%.*}" echo "Setting hostname from /etc/hosts: $ENTRY" sudo scutil --set ComputerName "${SHORT_HOSTNAME}" # User-friendly name sudo scutil --set LocalHostName "${SHORT_HOSTNAME}" # The Bonjour/mDNS name sudo scutil --set HostName "${HOSTNAME}" # The system hostname sudo dscacheutil -flushcache else echo "No suitable entry found in /etc/hosts." fi fi - name: Print host info shell: bash run: | echo "ComputerName: $(scutil --get ComputerName)" echo "LocalHostName: $(scutil --get LocalHostName)" echo "HostName: $(scutil --get HostName)" echo "FQDN: $(hostname -f)" echo "Short hostname: $(hostname -s)" echo "/etc/hosts:" cat /etc/hosts zeroc-ice-3.8.1/.github/actions/setup-android/000077500000000000000000000000001516567600500211745ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/setup-android/action.yml000066400000000000000000000024311516567600500231740ustar00rootroot00000000000000name: Setup Android description: Setup Android SDK and Emulator runs: using: "composite" steps: # See https://github.com/marketplace/actions/android-emulator-runner - name: Enable KVM group perms shell: bash run: | echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm - name: Android SDK and PATH shell: bash run: | echo "$ANDROID_HOME/cmdline-tools/latest/bin" >> $GITHUB_PATH echo "$ANDROID_HOME/emulator" >> $GITHUB_PATH echo "$ANDROID_HOME/platform-tools" >> $GITHUB_PATH # For some reason avdmanager is placing the avd into $HOME/.config/.android/avd instead of $HOME/.android/avd echo "ANDROID_AVD_HOME=$HOME/.config/.android" >> $GITHUB_ENV - name: Configure Android SDK shell: bash run: | # platform-tools, build-tools, and platforms are pre-installed on GitHub runners # We only need to install the system image for the emulator if [ "$(uname -m)" = "aarch64" ]; then ARCH="arm64-v8a" else ARCH="x86_64" fi sdkmanager "system-images;android-36;google_apis;$ARCH" zeroc-ice-3.8.1/.github/actions/setup-cache/000077500000000000000000000000001516567600500206175ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/setup-cache/action.yml000066400000000000000000000056351516567600500226300ustar00rootroot00000000000000name: Setup Cache description: Configures ccache for C++ compilation caching across platforms. inputs: prefix: description: "Cache key prefix" required: true runs: using: "composite" steps: # # Cache # - name: Get Linux version if: runner.os == 'Linux' id: linux-version run: echo "version=$(lsb_release -rs)" >> $GITHUB_OUTPUT shell: bash - name: Get macOS version if: runner.os == 'macOS' id: macos-version run: echo "version=$(sw_vers -productVersion)" >> $GITHUB_OUTPUT shell: bash - name: Get Windows version if: runner.os == 'Windows' id: windows-version run: | echo "version=$((Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').DisplayVersion)" >> $env:GITHUB_OUTPUT shell: powershell - name: Set OS version output id: os-version run: | if [ "$RUNNER_OS" == "Linux" ]; then echo "version=${{ steps.linux-version.outputs.version }}" >> $GITHUB_OUTPUT elif [ "$RUNNER_OS" == "macOS" ]; then echo "version=${{ steps.macos-version.outputs.version }}" >> $GITHUB_OUTPUT elif [ "$RUNNER_OS" == "Windows" ]; then echo "version=${{ steps.windows-version.outputs.version }}" >> $GITHUB_OUTPUT fi shell: bash - name: Setup ccache uses: hendrikmuhs/ccache-action@v1.2 with: create-symlink: false append-timestamp: false key: ${{ inputs.prefix }}-${{ runner.os }}-${{ steps.os-version.outputs.version }}-${{ runner.arch }}-${{ github.sha }} restore-keys: | ${{ inputs.prefix }}-${{ runner.os }}-${{ steps.os-version.outputs.version }}-${{ runner.arch }} max-size: 1G evict-old-files: job variant: ${{ runner.os == 'Windows' && 'ccache' || 'ccache' }} save: ${{ github.ref == 'refs/heads/main' && github.event_name == 'push' }} - name: Configure ccache path if: runner.os == 'macOS' || runner.os == 'Linux' shell: bash run: | echo "/usr/lib/ccache" >> $GITHUB_PATH echo "/usr/local/opt/ccache/libexec" >> $GITHUB_PATH echo "/opt/homebrew/opt/ccache/libexec" >> $GITHUB_PATH # See https://github.com/ccache/ccache/wiki/MS-Visual-Studio # The same instructions apply to sccache - name: Setup ccache if: runner.os == 'Windows' shell: powershell run: | # Find ccache in path and copy it to cl.exe $ccache = Get-Command ccache.exe -ErrorAction Stop if ($ccache -eq $null) { Write-Host "ccache not found in PATH" exit 1 } # Copy $ccache to C:\cl.exe Copy-Item $ccache.Path C:\cl.exe # Set required environment variables for ccache to work with MSVC echo "USING_BUILD_CACHE=true" >> $env:GITHUB_ENV echo "CLToolExe=C:\cl.exe" >> $env:GITHUB_ENV echo "CLToolPath=C:\" >> $env:GITHUB_ENV zeroc-ice-3.8.1/.github/actions/setup-cpp/000077500000000000000000000000001516567600500203365ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/setup-cpp/action.yml000066400000000000000000000035051516567600500223410ustar00rootroot00000000000000name: Setup C++ description: Installs C++ build dependencies and configures the build environment for the current platform. inputs: profile: description: > The dependency profile to install. 'full' installs all C++ dependencies (default). 'pip-bdist' installs only the minimal dependencies needed to build a pip wheel from sdist. default: "full" runs: using: "composite" steps: - name: Install dependencies on macOS if: runner.os == 'macOS' && inputs.profile == 'full' shell: bash run: brew install mcpp lmdb - name: Install dependencies on Linux if: runner.os == 'Linux' && inputs.profile == 'full' shell: bash run: | sudo apt-get update && sudo apt-get install -y \ libbz2-dev libssl-dev libffi-dev \ libmcpp-dev libedit-dev liblmdb-dev libexpat1-dev libsystemd-dev \ libbluetooth-dev libdbus-1-dev \ gdb - name: Install pip bdist dependencies on Linux if: runner.os == 'Linux' && inputs.profile == 'pip-bdist' shell: bash run: | sudo apt-get update && sudo apt-get install -y \ libbz2-dev libssl-dev # This is needed for GDB to work on Linux runners - name: Disable ptrace protection on Linux if: runner.os == 'Linux' && inputs.profile == 'full' shell: bash run: echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope - name: Set macOS MAKEFLAGS run: echo "MAKEFLAGS=-j$(sysctl -n hw.ncpu) V=1" >> $GITHUB_ENV shell: bash if: runner.os == 'macOS' - name: Set Linux MAKEFLAGS run: echo "MAKEFLAGS=-j$(nproc) V=1" >> $GITHUB_ENV shell: bash if: runner.os == 'Linux' - name: Setup MSBuild uses: microsoft/setup-msbuild@v2 with: msbuild-architecture: x64 if: runner.os == 'Windows' zeroc-ice-3.8.1/.github/actions/setup-dotnet/000077500000000000000000000000001516567600500210515ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/setup-dotnet/action.yml000066400000000000000000000007151516567600500230540ustar00rootroot00000000000000name: Setup .NET description: Installs .NET SDK versions (8.0 by default, optionally 10.0). inputs: include_net10: description: "Include .NET 10" default: "false" runs: using: "composite" steps: - name: Setup .NET 8 uses: actions/setup-dotnet@v5 with: dotnet-version: 8.0.x - name: Setup .NET 10 if: inputs.include_net10 == 'true' uses: actions/setup-dotnet@v5 with: dotnet-version: 10.0.x zeroc-ice-3.8.1/.github/actions/setup-java/000077500000000000000000000000001516567600500204755ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/setup-java/action.yml000066400000000000000000000004101516567600500224700ustar00rootroot00000000000000name: Setup Java description: Installs Oracle Java 17 using the actions/setup-java action. runs: using: "composite" steps: - name: Setup Oracle Java 17 uses: actions/setup-java@v4 with: distribution: "oracle" java-version: "17" zeroc-ice-3.8.1/.github/actions/setup-matlab/000077500000000000000000000000001516567600500210145ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/setup-matlab/action.yml000066400000000000000000000042211516567600500230130ustar00rootroot00000000000000name: Setup MATLAB description: Setup MATLAB for use in GitHub Actions runs: using: "composite" steps: # # MATLAB # - name: Setup MATLAB id: setup-matlab uses: matlab-actions/setup-matlab@v2 with: release: "R2025b" - name: Set MATLAB_HOME and MATLAB_VERSION run: | echo "MATLAB_VERSION=R2025b" >> $GITHUB_ENV echo "MATLAB_HOME=${{ steps.setup-matlab.outputs.matlabroot }}" >> $GITHUB_ENV shell: bash if: runner.os == 'Linux' - name: Set MATLAB_HOME and MATLAB_VERSION run: | echo "MATLAB_VERSION=R2025b" >> $env:GITHUB_ENV echo "MATLAB_HOME=${{ steps.setup-matlab.outputs.matlabroot }}" >> $env:GITHUB_ENV shell: powershell if: runner.os == 'Windows' # https://github.com/matlab-actions/run-command/issues/53 - name: Get run-matlab-command run: | wget -O /usr/local/bin/run-matlab-command https://ssd.mathworks.com/supportfiles/ci/run-matlab-command/v2/glnxa64/run-matlab-command chmod +x /usr/local/bin/run-matlab-command echo "MATLAB_COMMAND=/usr/local/bin/run-matlab-command" >> $GITHUB_ENV shell: bash if: runner.os == 'Linux' - name: Setup MATLAB Build Environment if: runner.os == 'Linux' run: | sudo apt-get update sudo apt-get install -y g++-11 echo "CXX=g++-11" >> $GITHUB_ENV echo "USE_MATLAB_SSL=yes" >> $GITHUB_ENV # g++-11 headers only support _FORTIFY_SOURCE up to 2, but Ubuntu 24.04's dpkg-buildflags sets it to 3 echo "CXXFLAGS=-D_FORTIFY_SOURCE=2" >> $GITHUB_ENV shell: bash # Windows is currently not working. We get an error: "'matlab' executable not found on the system path" # However, MATLAB is installed and the path is (seemingly) set correctly - name: Get run-matlab-command run: | Invoke-WebRequest https://ssd.mathworks.com/supportfiles/ci/run-matlab-command/v2/win64/run-matlab-command.exe -OutFile C:\Windows\System32\run-matlab-command.exe echo "MATLAB_COMMAND=C:\Windows\System32\run-matlab-command.exe" >> $env:GITHUB_ENV shell: powershell if: runner.os == 'Windows' zeroc-ice-3.8.1/.github/actions/setup-node/000077500000000000000000000000001516567600500205015ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/setup-node/action.yml000066400000000000000000000003041516567600500224760ustar00rootroot00000000000000name: Setup Node description: Installs Node.js 22 using the actions/setup-node action. runs: using: "composite" steps: - uses: actions/setup-node@v4 with: node-version: "22" zeroc-ice-3.8.1/.github/actions/setup-php/000077500000000000000000000000001516567600500203435ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/setup-php/action.yml000066400000000000000000000006151516567600500223450ustar00rootroot00000000000000name: "Setup PHP" description: Installs PHP CLI and development packages for macOS and Linux. runs: using: "composite" steps: - name: Install PHP on macOS run: brew install php shell: bash if: runner.os == 'macOS' - name: Install PHP on Linux run: sudo apt-get update && sudo apt-get install -y php-cli php-dev shell: bash if: runner.os == 'Linux' zeroc-ice-3.8.1/.github/actions/setup-python/000077500000000000000000000000001516567600500210755ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/setup-python/action.yml000066400000000000000000000010211516567600500230670ustar00rootroot00000000000000name: Setup Python description: Installs Python and configures the environment for the current platform. inputs: python-version: description: "The version of Python to set up." default: "3.14" runs: using: "composite" steps: - uses: actions/setup-python@v5 with: python-version: ${{ inputs.python-version }} - name: Configure Windows Python Environment run: | echo "PythonHome=$env:Python_ROOT_DIR" >> $env:GITHUB_ENV shell: powershell if: runner.os == 'Windows' zeroc-ice-3.8.1/.github/actions/setup-ruby/000077500000000000000000000000001516567600500205355ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/setup-ruby/action.yml000066400000000000000000000002751516567600500225410ustar00rootroot00000000000000name: Setup Ruby description: Installs Ruby 3.4 using the ruby/setup-ruby action. runs: using: "composite" steps: - uses: ruby/setup-ruby@v1 with: ruby-version: "3.4" zeroc-ice-3.8.1/.github/actions/system-info/000077500000000000000000000000001516567600500206735ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/system-info/action.yml000066400000000000000000000007611516567600500226770ustar00rootroot00000000000000name: Print System Info description: Prints network information for the current runner OS (Linux, macOS, or Windows). runs: using: "composite" steps: - name: Linux Network Info if: runner.os == 'Linux' shell: bash run: | ip a - name: macOS Network Info if: runner.os == 'macOS' shell: bash run: | ifconfig - name: Windows Network Info if: runner.os == 'Windows' shell: powershell run: | ipconfig /all zeroc-ice-3.8.1/.github/actions/test/000077500000000000000000000000001516567600500173755ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/actions/test/action.yml000066400000000000000000000021411516567600500213730ustar00rootroot00000000000000name: Test Ice description: Runs the Ice test suite using allTests.py with parallel workers and XML report generation. inputs: working_directory: description: "The working directory to run the tests in" flags: description: "Flags to pass to the test" default: "" runs: using: "composite" steps: - name: Test working-directory: ${{ inputs.working_directory }} run: python3 allTests.py --debug --all --keep-logs --continue --workers=4 --export-xml=test-report.xml ${{ inputs.flags }} shell: bash if: runner.os == 'macOS' - name: Test working-directory: ${{ inputs.working_directory }} run: | ulimit -c unlimited python3 allTests.py --debug --all --keep-logs --continue --workers=4 --export-xml=test-report.xml ${{ inputs.flags }} shell: bash if: runner.os == 'Linux' - name: Test working-directory: ${{ inputs.working_directory }} run: python allTests.py --debug --all --keep-logs --continue --workers=4 --export-xml=test-report.xml ${{ inputs.flags }} shell: powershell if: runner.os == 'Windows' zeroc-ice-3.8.1/.github/assets/000077500000000000000000000000001516567600500162605ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/assets/ice-banner.svg000066400000000000000000000143371516567600500210140ustar00rootroot00000000000000 zeroc-ice-3.8.1/.github/workflows/000077500000000000000000000000001516567600500170135ustar00rootroot00000000000000zeroc-ice-3.8.1/.github/workflows/README.md000066400000000000000000000032561516567600500203000ustar00rootroot00000000000000# Release Workflows The release workflows support building and publishing Ice packages for the `3.8` and `nightly` channels. The `3.8` channel publishes packages to the stable release repositories, while the `nightly` channel publishes to the unstable nightly repositories. The nightly repositories are updated daily from the `zeroc-ice/ice` `main` branch. These releases are intended for testing the latest development and must not be used in production. To build a stable release for `3.8`, run the `build-release` workflow and pass `3.8` as the channel. To build a dev release for `nightly`, run the `build-release` workflow and pass `nightly` as the channel. The `build-nightly-release` workflow schedules a daily `build-release` run for the `nightly` channel. ## Implementation Notes Each `build-xxx-package` workflow builds the corresponding `xxx` package, and each `publish-xxx-package` workflow publishes it. The `build-release` workflow orchestrates the build of all packages and triggers `publish-release` after all `build-xxx-package` workflows have completed successfully. The `publish-release` workflow orchestrates the publishing of all packages to their respective repositories by calling the `publish-xxx-package` workflows. You can also run it manually by providing a `run_id` and `channel`; in this case, it will publish the artifacts from the specified run to the specified channel. The RPM and DEB packaging workflows use Docker images from `packaging/rpm/docker` and `packaging/deb/docker`. The release pipeline is configured to use `ghcr.io`. These images can be built using the `build-container-images` workflow, which builds and publishes them to `ghcr.io` for internal use. zeroc-ice-3.8.1/.github/workflows/build-brew-packages.yml000066400000000000000000000041661516567600500233550ustar00rootroot00000000000000name: "Build Brew Packages" on: workflow_call: inputs: ice_version: required: true type: string channel: required: true type: string quality: required: true type: string run_id: required: true type: string workflow_dispatch: inputs: ice_version: description: "The Ice version number to use" required: true channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading the IceGrid GUI dmg artifact" required: true permissions: contents: write jobs: build-brew-packages: runs-on: macos-26 # Stable brew release must be build manually. if: ${{ inputs.quality == 'nightly' }} steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Download IceGrid GUI DMG id: icegridgui env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | set -o pipefail gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name icegridgui-macos-app --dir staging icegridgui_dmg_sha256=$(shasum -a 256 "staging/IceGridGUI-${{ inputs.ice_version }}.dmg" | cut -d ' ' -f 1) if [[ -z "$icegridgui_dmg_sha256" ]]; then echo "Failed to calculate SHA256 checksum for IceGrid GUI DMG" exit 1 fi echo "icegridgui_dmg_sha256=$icegridgui_dmg_sha256" >> $GITHUB_OUTPUT - name: Update Nightly Tap run: | ./packaging/brew/update-nightly-tap.sh "${{ inputs.channel }}" "${{ inputs.quality }}" "${{ inputs.ice_version }}" "${{ steps.icegridgui.outputs.icegridgui_dmg_sha256 }}" - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: homebrew-bottle path: | ./*.tar.gz ./*.patch zeroc-ice-3.8.1/.github/workflows/build-container-images.yml000066400000000000000000000144411516567600500240640ustar00rootroot00000000000000name: "Build Docker CI Images" on: workflow_dispatch jobs: build-images: name: "Build ${{ matrix.image }} (${{ matrix.platform }})" runs-on: ${{ matrix.platform == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} strategy: matrix: include: - platform: amd64 image: rpm-repo-builder dockerfile: packaging/rpm/docker/rpm-repo-builder/Dockerfile - platform: arm64 image: rpm-repo-builder dockerfile: packaging/rpm/docker/rpm-repo-builder/Dockerfile - platform: amd64 image: ice-rpm-builder-el9 dockerfile: packaging/rpm/docker/el9/Dockerfile - platform: arm64 image: ice-rpm-builder-el9 dockerfile: packaging/rpm/docker/el9/Dockerfile - platform: amd64 image: ice-rpm-builder-el10 dockerfile: packaging/rpm/docker/el10/Dockerfile - platform: arm64 image: ice-rpm-builder-el10 dockerfile: packaging/rpm/docker/el10/Dockerfile - platform: amd64 image: ice-rpm-builder-amzn2023 dockerfile: packaging/rpm/docker/amzn2023/Dockerfile - platform: arm64 image: ice-rpm-builder-amzn2023 dockerfile: packaging/rpm/docker/amzn2023/Dockerfile - platform: amd64 image: deb-repo-builder dockerfile: packaging/deb/docker/deb-repo-builder/Dockerfile - platform: arm64 image: deb-repo-builder dockerfile: packaging/deb/docker/deb-repo-builder/Dockerfile - platform: amd64 image: ice-deb-builder-debian12 dockerfile: packaging/deb/docker/Dockerfile base_image: debian:bookworm - platform: arm64 image: ice-deb-builder-debian12 dockerfile: packaging/deb/docker/Dockerfile base_image: debian:bookworm - platform: amd64 image: ice-deb-builder-debian13 dockerfile: packaging/deb/docker/Dockerfile base_image: debian:trixie - platform: arm64 image: ice-deb-builder-debian13 dockerfile: packaging/deb/docker/Dockerfile base_image: debian:trixie - platform: amd64 image: ice-deb-builder-sid dockerfile: packaging/deb/docker/Dockerfile base_image: debian:sid - platform: arm64 image: ice-deb-builder-sid dockerfile: packaging/deb/docker/Dockerfile base_image: debian:sid - platform: amd64 image: ice-deb-builder-ubuntu24.04 dockerfile: packaging/deb/docker/Dockerfile base_image: ubuntu:24.04 - platform: arm64 image: ice-deb-builder-ubuntu24.04 dockerfile: packaging/deb/docker/Dockerfile base_image: ubuntu:24.04 env: # On Red Hat-based images, we need to provide credentials to access the Red Hat repositories. USE_RH_CREDENTIALS: ${{ startsWith(matrix.image, 'ice-rpm-builder-el') && 'true' || 'false' }} # Disable attestations for compatibility with ghcr.io registry. # See: https://github.com/orgs/community/discussions/45969 BUILDX_NO_DEFAULT_ATTESTATIONS: 1 steps: - name: Check out repository uses: actions/checkout@v4 with: path: ice - name: Load version info run: | source ice/config/version.env echo "CHANNEL=$CHANNEL" >> $GITHUB_ENV - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to GHCR uses: docker/login-action@v3 with: registry: ghcr.io username: zeroc-ice password: ${{ secrets.GITHUB_TOKEN }} - name: Add RH credentials if: env.USE_RH_CREDENTIALS == 'true' run: | umask 077 echo "RH_USERNAME=\"${{ secrets.RH_USERNAME }}\"" >> rh_credentials echo "RH_PASSWORD=\"${{ secrets.RH_PASSWORD }}\"" >> rh_credentials - name: Build and push image run: | args=( --platform "linux/${{ matrix.platform }}" # Use CHANNEL as the tag; keep arch as a suffix tag for manifest assembly. --tag "ghcr.io/zeroc-ice/${{ matrix.image }}:${CHANNEL}-${{ matrix.platform }}" --push -f ${{ matrix.dockerfile }} ) # Add BASE_IMAGE build arg if specified if [[ -n "${{ matrix.base_image }}" ]]; then args+=( --build-arg "BASE_IMAGE=${{ matrix.base_image }}" ) fi # Add secret with Red Hat credentials if needed if [[ "$USE_RH_CREDENTIALS" == "true" ]]; then args+=( --secret id=rh_credentials,src=../rh_credentials ) fi docker buildx build "${args[@]}" . working-directory: ice - name: Clean up RH credentials if: always() && env.USE_RH_CREDENTIALS == 'true' run: rm -f rh_credentials create-manifests: name: "Create and Push Multi-Arch Manifests" runs-on: ubuntu-24.04 needs: build-images strategy: matrix: image: - deb-repo-builder - ice-deb-builder-debian12 - ice-deb-builder-debian13 - ice-deb-builder-sid - ice-deb-builder-ubuntu24.04 - ice-rpm-builder-amzn2023 - ice-rpm-builder-el10 - ice-rpm-builder-el9 - rpm-repo-builder steps: - name: Check out repository uses: actions/checkout@v4 with: path: ice - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to GHCR uses: docker/login-action@v3 with: registry: ghcr.io username: zeroc-ice password: ${{ secrets.GITHUB_TOKEN }} - name: Load version info run: | source ice/config/version.env echo "CHANNEL=$CHANNEL" >> $GITHUB_ENV - name: Create and push manifest run: | docker manifest create ghcr.io/zeroc-ice/${{ matrix.image }}:${CHANNEL} \ --amend ghcr.io/zeroc-ice/${{ matrix.image }}:${CHANNEL}-amd64 \ --amend ghcr.io/zeroc-ice/${{ matrix.image }}:${CHANNEL}-arm64 docker manifest push ghcr.io/zeroc-ice/${{ matrix.image }}:${CHANNEL} zeroc-ice-3.8.1/.github/workflows/build-cpp-nuget-packages.yml000066400000000000000000000041311516567600500243100ustar00rootroot00000000000000name: "Build C++ NuGet Packages" on: workflow_call: inputs: ice_version: required: false type: string run_id: description: "The run ID to use for downloading artifacts" required: true type: string workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false run_id: description: "The run ID to use for downloading artifacts" required: true jobs: build-cpp-nuget-packages: runs-on: windows-2022 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Download C++ Binaries env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name windows-cpp-x64-Release-build --dir cpp gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name windows-cpp-x64-Debug-build --dir cpp gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name windows-cpp-Win32-Release-build --dir cpp gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name windows-cpp-Win32-Debug-build --dir cpp # Download Slice Tools (We only need the Release x64 build) gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name windows-cpp-slice-tools ` --dir cpp/tools/ZeroC.Ice.Slice.Tools.Cpp/bin - name: Ice Package Version if: ${{ inputs.ice_version != '' }} run: | "IcePackageVersion=${{ inputs.ice_version }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append shell: pwsh - name: Build C++ NuGet Packages run: msbuild /m ice.proj /t:Pack /p:BuildAllConfigurations=yes working-directory: cpp/msbuild - name: Upload NuGet Packages uses: actions/upload-artifact@v4 with: name: windows-cpp-nuget-packages path: | cpp/msbuild/ZeroC.Ice.Cpp/*.nupkg zeroc-ice-3.8.1/.github/workflows/build-cpp-swift-deps.yml000066400000000000000000000040251516567600500235010ustar00rootroot00000000000000name: "Build C++ Dependencies for Swift" on: workflow_call: inputs: ice_version: required: true type: string channel: required: true type: string workflow_dispatch: inputs: ice_version: description: "The Ice version number to use" required: true channel: description: "The channel to publish to (e.g., 3.8, nightly)" required: true permissions: contents: write jobs: build-cpp-swift-deps: runs-on: macos-26 steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Set Version (For Nightly Builds) run: | echo "ICE_VERSION=${{inputs.ice_version}}" >> $GITHUB_ENV if: ${{ inputs.ice_version != '' }} - name: Set Version (For Release Builds) run: | source config/version.env echo "ICE_VERSION=${VERSION}" >> $GITHUB_ENV if: ${{ inputs.ice_version == '' }} - name: Build XCFramework Packages run: make OPTIMIZE=yes PLATFORMS="all" CONFIGS="static" srcs working-directory: cpp - name: Create XCFrameworks Zip archives run: | for dir in *.xcframework; do framework_name=$(basename $dir) framework_zip=${framework_name/.xcframework/-${ICE_VERSION}.xcframework.zip} zip -r $framework_zip $dir done working-directory: cpp/lib/XCFrameworks - name: Create slice2swift Artifact Bundle Zip archive run: mv slice2swift.artifactbundle.zip slice2swift-${ICE_VERSION}.artifactbundle.zip working-directory: cpp/bin - name: Stage C++ Dependencies for Swift run: | mkdir -p staging cp cpp/lib/XCFrameworks/*.zip staging/ cp cpp/bin/slice2swift-*.artifactbundle.zip staging/ - name: Upload C++ Dependencies for Swift uses: actions/upload-artifact@v4 with: name: cpp-swift-deps path: staging/ zeroc-ice-3.8.1/.github/workflows/build-cpp-windows-binaries.yml000066400000000000000000000054311516567600500247020ustar00rootroot00000000000000name: "Build C++ Windows Binaries" on: workflow_call: inputs: ice_version: required: false type: string authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false jobs: build-cpp-windows-binaries: runs-on: windows-2022 strategy: matrix: platform: [x64, Win32] configuration: [Release, Debug] steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Build C++ Binaries run: | msbuild /m ice.proj /t:BuildDist /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} working-directory: cpp/msbuild - name: Sign C++ Binaries with Trusted Signing if: ${{ inputs.authenticode_sign }} uses: azure/trusted-signing-action@v0 with: azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }} endpoint: https://eus.codesigning.azure.net/ trusted-signing-account-name: zeroc certificate-profile-name: zeroc-ice files-folder: ./cpp/bin/${{ matrix.platform }}/${{ matrix.configuration }} files-folder-filter: exe,dll file-digest: SHA256 timestamp-rfc3161: http://timestamp.acs.microsoft.com timestamp-digest: SHA256 - name: Upload C++ Build uses: actions/upload-artifact@v4 with: name: windows-cpp-${{ matrix.platform }}-${{ matrix.configuration }}-build path: | cpp/bin/${{ matrix.platform }}/${{ matrix.configuration }}/ cpp/lib/${{ matrix.platform }}/${{ matrix.configuration }}/ cpp/include/generated/${{ matrix.platform }}/${{ matrix.configuration }}/ cpp/src/**/msbuild/**/${{ matrix.platform }}/${{ matrix.configuration }}/*.cpp cpp/src/**/msbuild/**/${{ matrix.platform }}/${{ matrix.configuration }}/*.h - name: Upload C++ Slice Tools uses: actions/upload-artifact@v4 # We only need to upload the Slice Tools once (Release x64 build) which are included in the Nuget packages if: ${{ matrix.configuration == 'Release' && matrix.platform == 'x64' }} with: name: windows-cpp-slice-tools path: | cpp/tools/ZeroC.Ice.Slice.Tools.Cpp/bin zeroc-ice-3.8.1/.github/workflows/build-deb-ice-repo-packages.yml000066400000000000000000000042561516567600500246510ustar00rootroot00000000000000name: "Build Ice Repo DEB Packages" on: workflow_dispatch: inputs: quality: description: "Release quality (e.g., stable, nightly, RC)" required: false default: "nightly" jobs: build: name: "Build Ice Repo DEB packages for ${{ matrix.distribution }}" runs-on: ubuntu-24.04 strategy: matrix: distribution: [debian12, debian13, ubuntu24.04] steps: - name: Check out repository uses: actions/checkout@v4 with: path: ice - name: Load version info run: | source ice/config/version.env echo "CHANNEL=$CHANNEL" >> $GITHUB_ENV - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to GHCR uses: docker/login-action@v3 with: registry: ghcr.io username: zeroc-ice password: ${{ secrets.GITHUB_TOKEN }} - name: Build DEB packages run: | docker run --rm \ -v "$GITHUB_WORKSPACE:/workspace" \ -e GPG_KEY="${{ secrets.ICE_3_8_CI_SIGNER_KEY }}" \ -e GPG_KEY_ID="${{ secrets.ICE_3_8_CI_SIGNER_KEY_ID }}" \ ghcr.io/zeroc-ice/ice-deb-builder-${{ matrix.distribution }}:${CHANNEL} \ /workspace/ice/packaging/deb/build-repo-package.sh \ --distribution "${{ matrix.distribution }}" \ --channel "${CHANNEL}" \ --quality "${{ inputs.quality }}" - name: Sync DEB packages to S3 run: | if [ "${QUALITY}" = "stable" ]; then UPLOAD_PATH="ice/${CHANNEL}/${DISTRIBUTION}" else UPLOAD_PATH="ice/${QUALITY}/${CHANNEL}/${DISTRIBUTION}" fi aws s3 cp build/*.deb "s3://zeroc-downloads/${UPLOAD_PATH}/" env: QUALITY: ${{ inputs.quality }} DISTRIBUTION: ${{ matrix.distribution }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: deb-packages-${{ matrix.distribution }} path: | build/*.deb zeroc-ice-3.8.1/.github/workflows/build-deb-packages.yml000066400000000000000000000054131516567600500231440ustar00rootroot00000000000000name: "Build DEB Packages" on: workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false deb_build_options: description: "DEB_BUILD_OPTIONS for the build" required: false default: "nocheck parallel=4" workflow_call: inputs: ice_version: required: false type: string deb_build_options: type: string required: false jobs: build: name: "Build for ${{ matrix.distribution }}-${{ matrix.arch }}" runs-on: ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} strategy: matrix: include: - distribution: ubuntu24.04 arch: amd64 - distribution: ubuntu24.04 arch: arm64 - distribution: debian12 arch: amd64 deb_build_profiles: "nopython" - distribution: debian12 arch: arm64 deb_build_profiles: "nopython" - distribution: debian13 arch: amd64 - distribution: debian13 arch: arm64 - distribution: sid arch: amd64 - distribution: sid arch: arm64 env: DEB_BUILD_OPTIONS: "nocheck parallel=4" steps: - name: Check out repository uses: actions/checkout@v4 with: path: ice - name: Load version info run: | source ice/config/version.env echo "CHANNEL=$CHANNEL" >> $GITHUB_ENV - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to GHCR uses: docker/login-action@v3 with: registry: ghcr.io username: zeroc-ice password: ${{ secrets.GITHUB_TOKEN }} - name: Build DEB Packages run: | set -euo pipefail # Enable ddeb generation export DH_BUILD_DDEBS=1 docker run --rm \ -v "$GITHUB_WORKSPACE:/workspace" \ -e DEBEMAIL="ci@zeroc.com" \ -e DEBFULLNAME="CI" \ -e ICE_VERSION=${{ inputs.ice_version }} \ -e DH_BUILD_DDEBS="${DH_BUILD_DDEBS}" \ -e DEB_BUILD_OPTIONS="$DEB_BUILD_OPTIONS" \ -e DEB_BUILD_PROFILES="${{ matrix.deb_build_profiles }}" \ ghcr.io/zeroc-ice/ice-deb-builder-${{ matrix.distribution }}:${CHANNEL} \ /workspace/ice/packaging/deb/build-package.sh shell: bash - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: deb-packages-${{ matrix.distribution }}-${{ matrix.arch }} path: | *.deb *.ddeb *.dsc *.tar.xz *.tar.gz *.changes *.buildinfo zeroc-ice-3.8.1/.github/workflows/build-dotnet-packages.yml000066400000000000000000000123701516567600500237070ustar00rootroot00000000000000name: "Build .NET Packages" on: workflow_call: inputs: ice_version: required: false type: string authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false jobs: build-slice-compilers: strategy: matrix: include: - os: macos-26 target: macos-arm64 artifact-path: cpp/bin/slice2cs - os: windows-2022 target: windows-x64 artifact-path: cpp/bin/x64/Release/slice2cs.* - os: ubuntu-24.04 target: linux-x64 artifact-path: cpp/bin/slice2cs - os: ubuntu-24.04-arm target: linux-arm64 artifact-path: cpp/bin/slice2cs runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Build Compiler uses: ./.github/actions/build-slice-compiler with: compiler_name: slice2cs authenticode_sign: ${{ inputs.authenticode_sign }} env: AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} - name: Upload Compiler Artifact uses: actions/upload-artifact@v4 with: name: slice2cs-${{ matrix.target }} path: ${{ matrix.artifact-path }} pack-dotnet: runs-on: windows-2022 needs: build-slice-compilers steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup .NET uses: ./.github/actions/setup-dotnet - name: Download All slice2cs Artifacts uses: actions/download-artifact@v4 with: pattern: slice2cs-* - name: Copy slice2cs binaries to staging path run: | @("macos-arm64", "linux-x64", "linux-arm64", "windows-x64") | ForEach-Object { New-Item -ItemType Directory -Path $env:GITHUB_WORKSPACE\tools -Name $_ } Copy-Item "slice2cs-macos-arm64\slice2cs" -Destination "$env:GITHUB_WORKSPACE\tools\macos-arm64" Copy-Item "slice2cs-linux-x64\slice2cs" -Destination "$env:GITHUB_WORKSPACE\tools\linux-x64" Copy-Item "slice2cs-linux-arm64\slice2cs" -Destination "$env:GITHUB_WORKSPACE\tools\linux-arm64" Copy-Item "slice2cs-windows-x64\slice2cs.exe" -Destination "$env:GITHUB_WORKSPACE\tools\windows-x64" # Copy the compiler to the expected location to avoid rebuilding it when creating the NuGet packages New-Item -ItemType Directory -Path "$env:GITHUB_WORKSPACE\cpp\bin\x64\Release" Copy-Item "slice2cs-windows-x64\slice2cs.exe" -Destination "$env:GITHUB_WORKSPACE\cpp\bin\x64\Release" # The .NET NuGet package includes bzip2 DLLs from the C++ Windows distribution for protocol compression - name: Restore C++ dependencies run: nuget restore cpp/msbuild/ice.slnx - name: Ice Package Version if: ${{ inputs.ice_version != '' }} run: | "IcePackageVersion=${{ inputs.ice_version }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append shell: pwsh # Build .NET assemblies. - name: Pack .NET Packages run: | dotnet msbuild csharp\msbuild\ice.proj /t:BuildDist /p:Configuration=Release - name: Collect Files to Sign if: ${{ inputs.authenticode_sign }} run: | Get-ChildItem -Path csharp\src -Directory | ForEach-Object { $name = $_.Name $csproj = "csharp\src\$name\$name.csproj" $tfm = (Select-Xml -Path $csproj -XPath "//TargetFramework").Node.InnerText "csharp\src\$name\bin\Release\$tfm\$name.dll" } | Set-Content -Path ${{ github.workspace }}\catalog.txt -Encoding UTF8 - name: Sign .NET Assemblies with Trusted Signing if: ${{ inputs.authenticode_sign }} uses: azure/trusted-signing-action@v0 with: azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }} endpoint: https://eus.codesigning.azure.net/ trusted-signing-account-name: zeroc certificate-profile-name: zeroc-ice files-catalog: ${{ github.workspace }}\catalog.txt file-digest: SHA256 timestamp-rfc3161: http://timestamp.acs.microsoft.com timestamp-digest: SHA256 - name: Pack .NET Packages run: dotnet msbuild csharp\msbuild\ice.proj /t:Pack /p:Configuration=Release env: SLICE2CS_STAGING_PATH: "${{ github.workspace }}\\tools" - name: Upload NuGet Packages uses: actions/upload-artifact@v4 with: name: dotnet-nuget-packages path: | csharp/src/**/bin/Release/*.nupkg csharp/src/**/bin/Release/*.snupkg zeroc-ice-3.8.1/.github/workflows/build-gem-packages.yml000066400000000000000000000020141516567600500231540ustar00rootroot00000000000000name: "Build GEM Packages" on: workflow_call: inputs: ice_version: required: false type: string workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false jobs: build-gem-packages: runs-on: ubuntu-24.04 steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Ruby uses: ./.github/actions/setup-ruby - name: Install Build Dependencies run: gem install rake - name: Update GEM Version working-directory: ruby run: sed -i "s/spec.version.*/spec.version = '${{ inputs.ice_version }}'/" ice.gemspec if: ${{ inputs.ice_version != '' }} - name: Build GEM Package working-directory: ruby run: rake - name: Upload Gem Packages uses: actions/upload-artifact@v4 with: name: gem-packages path: ruby/zeroc-ice-*.gem zeroc-ice-3.8.1/.github/workflows/build-icegridgui-jar.yml000066400000000000000000000024221516567600500235200ustar00rootroot00000000000000name: "Build IceGrid GUI JAR" on: workflow_call: inputs: ice_version: required: false type: string workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false jobs: build-icegridgui-jar: strategy: matrix: os: [windows-2022, macos-26] runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Java uses: ./.github/actions/setup-java - name: Build IceGrid GUI if: runner.os == 'Windows' run: | nuget restore ..\cpp\msbuild\ice.slnx MSBuild ..\cpp\msbuild\ice.slnx /t:"slice2java" /p:Configuration=Release /p:Platform=x64 ./gradlew.bat dist -PcppPlatform=x64 -PcppConfiguration=Release working-directory: java - name: Build IceGrid GUI if: runner.os == 'macOS' run: | make -C ../cpp slice2java ./gradlew dist working-directory: java - name: Upload IceGrid GUI JAR uses: actions/upload-artifact@v4 with: name: icegridgui-jar-${{ runner.os }} path: | java/lib/icegridgui.jar zeroc-ice-3.8.1/.github/workflows/build-icegridgui-macos-app.yml000066400000000000000000000073331516567600500246320ustar00rootroot00000000000000name: "Build IceGrid GUI macOS App" on: workflow_call: inputs: run_id: description: "The run ID to use for downloading the IceGrid GUI JAR artifact" required: true type: string dmg_version: description: "The version number to use in the DMG filename (defaults to BASE_VERSION from version.env)" required: false type: string workflow_dispatch: inputs: run_id: description: "The run ID to use for downloading the IceGrid GUI JAR artifact" required: true dmg_version: description: "The version number to use in the DMG filename (defaults to BASE_VERSION from version.env)" required: false jobs: build-icegridgui-macos-app: runs-on: macos-26 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Java uses: ./.github/actions/setup-java - name: Download IceGrid GUI JAR env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name icegridgui-jar-macOS --dir staging - name: Build macOS App run: ./packaging/macos/build-icegridgui-macos-app.sh staging/icegridgui.jar output # Import the Apple "Developer ID Application" signing certificate into a temporary keychain # on the runner. The certificate and private key are stored as a base64-encoded P12 file in # the APPLE_CERTIFICATE_P12 repository secret (exported from Keychain Access with an empty # password, then encoded with: base64 -i certificate.p12). - name: Import signing certificate env: APPLE_CERTIFICATE_P12: ${{ secrets.APPLE_CERTIFICATE_P12 }} run: | KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db KEYCHAIN_PASSWORD=$(openssl rand -base64 32) # Decode the certificate echo "$APPLE_CERTIFICATE_P12" | base64 --decode > $RUNNER_TEMP/certificate.p12 # Create and configure a temporary keychain security create-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH" security unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" # Import the certificate security import $RUNNER_TEMP/certificate.p12 -P "" \ -A -t cert -f pkcs12 -k "$KEYCHAIN_PATH" # Allow codesign to access the keychain without prompting security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" # Add temporary keychain to the search list security list-keychains -d user -s "$KEYCHAIN_PATH" $(security list-keychains -d user | tr -d '"') - name: Sign macOS App run: ./packaging/macos/sign-icegridgui-macos-app.sh "output/IceGrid GUI.app" --notarize env: APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }} - name: Create DMG run: | dmg_args=("output/IceGrid GUI.app" output --sign --notarize) if [ -n "${{ inputs.dmg_version }}" ]; then dmg_args+=(--version "${{ inputs.dmg_version }}") fi ./packaging/macos/create-icegridgui-dmg.sh "${dmg_args[@]}" env: APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }} - name: Upload IceGrid GUI macOS App uses: actions/upload-artifact@v4 with: name: icegridgui-macos-app path: | output/IceGridGUI-*.dmg zeroc-ice-3.8.1/.github/workflows/build-java-packages.yml000066400000000000000000000021161516567600500233300ustar00rootroot00000000000000name: "Build Java Packages" on: workflow_call: inputs: ice_version: required: false type: string workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false jobs: build-java-packages: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Java uses: ./.github/actions/setup-java - name: Build slice2java run: make -C cpp slice2java - name: Update Ice Version run: | sed -i "s/^iceVersion = .*/iceVersion = ${{ inputs.ice_version }}/" gradle.properties working-directory: java if: ${{ inputs.ice_version != '' }} - name: Build Ice for Java Packages run: ./gradlew dist working-directory: java - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: java-packages path: | java/lib/*.jar java/lib/*.pom zeroc-ice-3.8.1/.github/workflows/build-matlab-packages.yml000066400000000000000000000062731516567600500236570ustar00rootroot00000000000000name: "Build MATLAB Packages" on: workflow_call: inputs: ice_version: required: false type: string authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false jobs: build-matlab-packages: strategy: matrix: include: - os: ubuntu-24.04 - os: windows-2022 runs-on: ${{ matrix.os }} steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup MATLAB uses: ./.github/actions/setup-matlab - name: Ice Package Version if: ${{ inputs.ice_version != '' }} run: | "IceToolboxVersion=${{ inputs.ice_version }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append "ICE_TOOLBOX_VERSION=${{ inputs.ice_version }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append shell: pwsh - name: Build Linux MATLAB ToolBox run: | make -C cpp slice2matlab Ice IceDiscovery IceLocatorDiscovery OPTIMIZE=yes make -C matlab toolbox OPTIMIZE=yes if: runner.os == 'Linux' - name: Build Windows MATLAB ToolBox run: MSBuild /p:Configuration=Release /p:Platform=x64 /t:BuildDist matlab\msbuild\ice.proj if: runner.os == 'Windows' - name: Collect Files To Sign if: runner.os == 'Windows' && inputs.authenticode_sign run: | Resolve-Path -Path ".\matlab\lib\x64\Release\*.dll" -Relative | Set-Content -Path "${{ github.workspace }}\catalog.txt" -Encoding UTF8 Resolve-Path -Path ".\matlab\lib\x64\Release\*.mexw64" -Relative | Add-Content -Path "${{ github.workspace }}\catalog.txt" -Encoding UTF8 Add-Content -Path "${{ github.workspace }}\catalog.txt" -Value "cpp\bin\x64\Release\slice2matlab.exe" - name: Sign C++ Binaries uses: azure/trusted-signing-action@v0 if: runner.os == 'Windows' && inputs.authenticode_sign with: azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }} endpoint: https://eus.codesigning.azure.net/ trusted-signing-account-name: zeroc certificate-profile-name: zeroc-ice files-catalog: ${{ github.workspace }}\catalog.txt file-digest: SHA256 timestamp-rfc3161: http://timestamp.acs.microsoft.com timestamp-digest: SHA256 - name: Package Windows MATLAB ToolBox run: MSBuild /p:Configuration=Release /p:Platform=x64 /t:Package matlab\msbuild\ice.proj if: runner.os == 'Windows' - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: matlab-packages-${{ matrix.os }} path: matlab/toolbox/*.mltbx zeroc-ice-3.8.1/.github/workflows/build-npm-packages.yml000066400000000000000000000106641516567600500232100ustar00rootroot00000000000000name: "Build NPM Packages" on: workflow_call: inputs: ice_version: required: false type: string authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false jobs: build-slice-compilers: strategy: matrix: include: - os: macos-26 target: macos-arm64 artifact-path: cpp/bin/slice2js - os: windows-2022 target: windows-x64 artifact-path: cpp/bin/x64/Release/slice2js.* - os: ubuntu-24.04 target: linux-x64 artifact-path: cpp/bin/slice2js - os: ubuntu-24.04-arm target: linux-arm64 artifact-path: cpp/bin/slice2js runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Node uses: ./.github/actions/setup-node - name: Build Compiler uses: ./.github/actions/build-slice-compiler with: compiler_name: slice2js authenticode_sign: ${{ inputs.authenticode_sign }} env: AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} - name: Upload Compiler Artifact uses: actions/upload-artifact@v4 with: name: slice2js-${{ matrix.target }} path: ${{ matrix.artifact-path }} pack-npm: runs-on: ubuntu-24.04 needs: build-slice-compilers env: SLICE2JS_STAGING_PATH: ${{ github.workspace }}/staging steps: - name: Checkout repository uses: actions/checkout@v4 with: path: ice - name: Setup Node uses: ./ice/.github/actions/setup-node - name: Download All slice2js Compiler Artifacts uses: actions/download-artifact@v4 with: path: artifacts pattern: slice2js-* - name: Copy slice2js binaries to staging path run: | # Create the staging path. mkdir -p "$SLICE2JS_STAGING_PATH/macos-arm64" \ "$SLICE2JS_STAGING_PATH/linux-x64" \ "$SLICE2JS_STAGING_PATH/linux-arm64" \ "$SLICE2JS_STAGING_PATH/windows-x64" # Copy the slice2js binaries to the staging path. cp -v artifacts/slice2js-macos-arm64/slice2js "$SLICE2JS_STAGING_PATH/macos-arm64/" chmod +x $SLICE2JS_STAGING_PATH/macos-arm64/slice2js cp -v artifacts/slice2js-linux-x64/slice2js "$SLICE2JS_STAGING_PATH/linux-x64/" chmod +x $SLICE2JS_STAGING_PATH/linux-x64/slice2js cp -v artifacts/slice2js-linux-arm64/slice2js "$SLICE2JS_STAGING_PATH/linux-arm64/" chmod +x $SLICE2JS_STAGING_PATH/linux-arm64/slice2js cp -v artifacts/slice2js-windows-x64/slice2js.exe "$SLICE2JS_STAGING_PATH/windows-x64/" # Copy the slice2js binary to the cpp/bin directory to avoid rebuilding it. mkdir -p ice/cpp/bin cp -v artifacts/slice2js-linux-x64/slice2js $GITHUB_WORKSPACE/ice/cpp/bin/slice2js chmod +x $GITHUB_WORKSPACE/ice/cpp/bin/slice2js - name: Build JS run: make srcs working-directory: ice/js - name: Update Version - @zeroc/ice working-directory: ice/js/packages/ice run: npm version ${{ inputs.ice_version }} if: ${{ inputs.ice_version != '' }} - name: Update Version - @zeroc/slice2js working-directory: ice/js/packages/slice2js run: npm version ${{ inputs.ice_version }} if: ${{ inputs.ice_version != '' }} - name: Pack npm - @zeroc/ice run: npm pack working-directory: ice/js/packages/ice - name: Pack npm - @zeroc/slice2js run: npm pack working-directory: ice/js/packages/slice2js - name: Upload NPM Packages uses: actions/upload-artifact@v4 with: name: js-npm-packages path: | ice/js/packages/ice/*.tgz ice/js/packages/slice2js/*.tgz zeroc-ice-3.8.1/.github/workflows/build-pip-packages.yml000066400000000000000000000052611516567600500232030ustar00rootroot00000000000000name: "Build PIP Packages" on: workflow_call: inputs: ice_version: required: false type: string workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false jobs: build-sdist: runs-on: ubuntu-24.04 steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Python uses: ./.github/actions/setup-python - name: Install Build Dependencies run: | python3 -m pip install --upgrade pip python3 -m pip install build python3 -m pip install toml - name: Update PYPI Version run: python3 packaging/pypi/update_version.py ${{ inputs.ice_version }} python/pyproject.toml if: inputs.ice_version != '' - name: Build Source Distribution working-directory: python run: python3 -m build --sdist - name: Upload sdist uses: actions/upload-artifact@v4 with: name: pip-sdist path: python/dist/zeroc_ice-*.tar.gz build-bdist: needs: build-sdist strategy: matrix: include: - os: macos-26 python-version: "3.12" - os: macos-26 python-version: "3.13" - os: macos-26 python-version: "3.14" - os: windows-2022 python-version: "3.12" - os: windows-2022 python-version: "3.13" - os: windows-2022 python-version: "3.14" runs-on: ${{ matrix.os }} steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp with: profile: pip-bdist - name: Setup Python uses: ./.github/actions/setup-python with: python-version: ${{ matrix.python-version }} - name: Download sdist uses: actions/download-artifact@v4 with: name: pip-sdist path: sdist - name: Build Wheel from sdist (Unix) if: runner.os != 'Windows' run: | python -m pip install --upgrade pip pip wheel sdist/*.tar.gz --no-deps -w dist/ - name: Build Wheel from sdist (Windows) if: runner.os == 'Windows' shell: pwsh run: | python -m pip install --upgrade pip pip wheel (Get-ChildItem sdist\*.tar.gz).FullName --no-deps -w dist/ - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: pip-packages-${{ matrix.os }}-${{ matrix.python-version }} path: dist/zeroc_ice-*.whl zeroc-ice-3.8.1/.github/workflows/build-release.yml000066400000000000000000000243111516567600500222540ustar00rootroot00000000000000name: Build Release on: workflow_call: inputs: build_number: required: false default: "1" type: string quality: required: true type: string publish: required: false type: boolean default: false authenticode_sign: description: "Whether to Authenticode sign Windows binaries (always true for stable quality)" required: false type: boolean default: false workflow_dispatch: inputs: build_number: description: "Build number for nightly releases" required: false default: "1" quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" publish: description: "Whether to publish the packages" required: false default: false type: boolean authenticode_sign: description: "Whether to Authenticode sign Windows binaries (always true for stable quality)" required: false default: false type: boolean jobs: configure: runs-on: ubuntu-24.04 outputs: semver_version: ${{ steps.configure.outputs.semver_version }} deb_version: ${{ steps.configure.outputs.deb_version }} gem_version: ${{ steps.configure.outputs.gem_version }} maven_version: ${{ steps.configure.outputs.maven_version }} pypi_version: ${{ steps.configure.outputs.pypi_version }} rpm_version: ${{ steps.configure.outputs.rpm_version }} matlab_version: ${{ steps.configure.outputs.matlab_version }} channel: ${{ steps.configure.outputs.channel }} authenticode_sign: ${{ steps.configure.outputs.authenticode_sign }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Configure build id: configure run: | # Load version information source ./config/version.env # The channel for the branch from version.env echo "channel=${CHANNEL}" >> $GITHUB_OUTPUT # Authenticode sign is always true for stable quality, otherwise use the input value if [[ "${{ inputs.quality }}" == "stable" ]] || [[ "${{ inputs.authenticode_sign }}" == "true" ]]; then echo "authenticode_sign=true" >> $GITHUB_OUTPUT else echo "authenticode_sign=false" >> $GITHUB_OUTPUT fi if [[ "${{ inputs.quality }}" == "nightly" ]]; then DATE=$(date +%Y%m%d) BUILD=${{ inputs.build_number }} # Set version variables for nightly packages according to platform conventions: # e.g. 3.8.1-nightly.20250625.1 echo "semver_version=${NIGHTLY_BASE_VERSION}-nightly.${DATE}.${BUILD}" >> $GITHUB_OUTPUT # e.g. 3.8.1~0.nightly20250625.1-1 echo "deb_version=${NIGHTLY_BASE_VERSION}~0.nightly${DATE}.${BUILD}-1" >> $GITHUB_OUTPUT # e.g. 3.8.1.pre.20250625.1 echo "gem_version=${NIGHTLY_BASE_VERSION}.pre.${DATE}.${BUILD}" >> $GITHUB_OUTPUT # e.g. 3.8.1-nightly-20250625.1-SNAPSHOT echo "maven_version=${NIGHTLY_BASE_VERSION}-nightly-${DATE}.${BUILD}-SNAPSHOT" >> $GITHUB_OUTPUT # e.g. 3.8.1.dev202506251 echo "pypi_version=${NIGHTLY_BASE_VERSION}.dev${DATE}${BUILD}" >> $GITHUB_OUTPUT # e.g. 3.8.1~0.nightly20250625.1 echo "rpm_version=${NIGHTLY_BASE_VERSION}~0.nightly${DATE}.${BUILD}" >> $GITHUB_OUTPUT # e.g. 3.8.1.202506251 echo "matlab_version=${NIGHTLY_BASE_VERSION}.${DATE}${BUILD}" >> $GITHUB_OUTPUT else # Define version variables as empty for stable channels to use the version from the repository echo "semver_version=" >> $GITHUB_OUTPUT echo "deb_version=" >> $GITHUB_OUTPUT echo "gem_version=" >> $GITHUB_OUTPUT echo "maven_version=" >> $GITHUB_OUTPUT echo "pypi_version=" >> $GITHUB_OUTPUT echo "rpm_version=" >> $GITHUB_OUTPUT echo "matlab_version=" >> $GITHUB_OUTPUT fi build-brew-packages: name: Build Brew Packages uses: ./.github/workflows/build-brew-packages.yml needs: - configure - build-icegridgui-macos-app with: ice_version: ${{ needs.configure.outputs.semver_version }} channel: ${{ needs.configure.outputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ github.run_id }} secrets: inherit build-deb-packages: name: Build DEB Packages uses: ./.github/workflows/build-deb-packages.yml needs: configure with: ice_version: ${{ needs.configure.outputs.deb_version }} secrets: inherit build-dotnet-packages: name: Build .NET Packages uses: ./.github/workflows/build-dotnet-packages.yml needs: configure with: ice_version: ${{ needs.configure.outputs.semver_version }} authenticode_sign: ${{ needs.configure.outputs.authenticode_sign == 'true' }} secrets: inherit build-gem-packages: name: Build GEM Packages uses: ./.github/workflows/build-gem-packages.yml needs: configure with: ice_version: ${{ needs.configure.outputs.gem_version }} build-matlab-packages: name: Build MATLAB Packages uses: ./.github/workflows/build-matlab-packages.yml needs: configure with: ice_version: ${{ needs.configure.outputs.matlab_version }} authenticode_sign: ${{ needs.configure.outputs.authenticode_sign == 'true' }} secrets: inherit build-java-packages: name: Build Java Packages uses: ./.github/workflows/build-java-packages.yml needs: configure with: ice_version: ${{ needs.configure.outputs.maven_version }} secrets: inherit build-slice-tools-packages: name: Build Slice Tools Packages uses: ./.github/workflows/build-slice-tools-packages.yml needs: configure with: ice_version: ${{ needs.configure.outputs.maven_version }} authenticode_sign: ${{ needs.configure.outputs.authenticode_sign == 'true' }} secrets: inherit build-npm-packages: name: Build NPM Packages uses: ./.github/workflows/build-npm-packages.yml needs: configure with: ice_version: ${{ needs.configure.outputs.semver_version }} authenticode_sign: ${{ needs.configure.outputs.authenticode_sign == 'true' }} secrets: inherit build-pip-packages: name: Build PIP Packages uses: ./.github/workflows/build-pip-packages.yml needs: configure with: ice_version: ${{ needs.configure.outputs.pypi_version }} secrets: inherit build-rpm-packages: name: Build RPM Packages uses: ./.github/workflows/build-rpm-packages.yml needs: configure with: ice_version: ${{ needs.configure.outputs.rpm_version }} secrets: inherit build-cpp-windows-binaries: name: Build C++ Windows Binaries uses: ./.github/workflows/build-cpp-windows-binaries.yml needs: configure with: ice_version: ${{ needs.configure.outputs.semver_version }} authenticode_sign: ${{ needs.configure.outputs.authenticode_sign == 'true' }} secrets: inherit build-symbols-sources-store: name: Build Symbols and Sources Store uses: ./.github/workflows/build-symbols-sources-store.yml needs: - configure - build-cpp-windows-binaries with: ice_version: ${{ needs.configure.outputs.semver_version }} channel: ${{ needs.configure.outputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ github.run_id }} secrets: inherit build-cpp-nuget-packages: name: Build C++ NuGet Packages uses: ./.github/workflows/build-cpp-nuget-packages.yml needs: - configure - build-cpp-windows-binaries with: ice_version: ${{ needs.configure.outputs.semver_version }} run_id: ${{ github.run_id }} secrets: inherit build-icegridgui-jar: name: Build IceGrid GUI JAR uses: ./.github/workflows/build-icegridgui-jar.yml needs: configure with: ice_version: ${{ needs.configure.outputs.semver_version }} secrets: inherit build-windows-installer: name: Build Windows Installer uses: ./.github/workflows/build-windows-installer.yml needs: - configure - build-cpp-windows-binaries - build-icegridgui-jar with: run_id: ${{ github.run_id }} authenticode_sign: ${{ needs.configure.outputs.authenticode_sign == 'true' }} secrets: inherit build-icegridgui-macos-app: name: Build IceGrid GUI macOS App uses: ./.github/workflows/build-icegridgui-macos-app.yml needs: - configure - build-icegridgui-jar with: run_id: ${{ github.run_id }} dmg_version: ${{ needs.configure.outputs.semver_version }} secrets: inherit build-cpp-swift-deps: name: Build macOS Packages uses: ./.github/workflows/build-cpp-swift-deps.yml needs: configure with: ice_version: ${{ needs.configure.outputs.semver_version }} channel: ${{ needs.configure.outputs.channel }} secrets: inherit build-all: name: Build All Packages runs-on: ubuntu-24.04 needs: - build-brew-packages - build-deb-packages - build-dotnet-packages - build-gem-packages - build-matlab-packages - build-java-packages - build-slice-tools-packages - build-npm-packages - build-pip-packages - build-rpm-packages - build-windows-installer - build-icegridgui-macos-app - build-cpp-swift-deps - build-symbols-sources-store - build-cpp-nuget-packages steps: - run: echo "All packages built successfully" prune-nightly-artifacts: name: Prune Nightly Artifacts if: ${{ inputs.publish == true && inputs.quality == 'nightly' }} needs: - configure - build-all uses: ./.github/workflows/prune-nightly-artifacts.yml with: channel: ${{ needs.configure.outputs.channel }} secrets: inherit publish-release: name: Publish Release if: ${{ inputs.publish == true }} needs: - configure - build-all - prune-nightly-artifacts uses: ./.github/workflows/publish-release.yml with: channel: ${{ needs.configure.outputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ github.run_id }} secrets: inherit zeroc-ice-3.8.1/.github/workflows/build-rpm-ice-repo-packages.yml000066400000000000000000000043111516567600500247050ustar00rootroot00000000000000name: "Build Ice Repo RPM Packages" on: workflow_dispatch: inputs: quality: description: "Release quality (e.g., stable, nightly, RC)" required: false default: "nightly" jobs: build: name: "Build Ice Repo RPM packages for ${{ matrix.distribution }}" runs-on: ubuntu-24.04 strategy: matrix: distribution: [el9, el10, amzn2023] steps: - name: Check out repository uses: actions/checkout@v4 with: path: ice - name: Load version info run: | source ice/config/version.env echo "CHANNEL=$CHANNEL" >> $GITHUB_ENV - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to GHCR uses: docker/login-action@v3 with: registry: ghcr.io username: zeroc-ice password: ${{ secrets.GITHUB_TOKEN }} - name: Build RPM packages run: | docker run --rm \ -v "$GITHUB_WORKSPACE:/workspace" \ -e GPG_KEY="${{ secrets.ICE_3_8_CI_SIGNER_KEY }}" \ -e GPG_KEY_ID="${{ secrets.ICE_3_8_CI_SIGNER_KEY_ID }}" \ ghcr.io/zeroc-ice/ice-rpm-builder-${{ matrix.distribution }}:${CHANNEL} \ /workspace/ice/packaging/rpm/build-repo-package.sh \ --distribution "${{ matrix.distribution }}" \ --channel "${CHANNEL}" \ --quality "${{ inputs.quality }}" - name: Sync RPM packages to S3 run: | if [ "${QUALITY}" = "stable" ]; then UPLOAD_PATH="ice/${CHANNEL}/${DISTRIBUTION}" else UPLOAD_PATH="ice/${QUALITY}/${CHANNEL}/${DISTRIBUTION}" fi aws s3 cp build/RPMS/noarch/*.rpm "s3://zeroc-downloads/${UPLOAD_PATH}/" env: QUALITY: ${{ inputs.quality }} DISTRIBUTION: ${{ matrix.distribution }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: rpm-packages-${{ matrix.distribution }} path: | build/RPMS/* build/SRPMS/* zeroc-ice-3.8.1/.github/workflows/build-rpm-packages.yml000066400000000000000000000033661516567600500232150ustar00rootroot00000000000000name: "Build RPM Packages" on: workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false workflow_call: inputs: ice_version: required: false type: string jobs: build: name: "Build for ${{ matrix.distribution }}-${{ matrix.arch }}" runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} strategy: matrix: distribution: [el9, el10, amzn2023] arch: [x86_64, aarch64] steps: - name: Check out repository uses: actions/checkout@v4 with: path: ice - name: Load version info run: | source ice/config/version.env echo "CHANNEL=$CHANNEL" >> $GITHUB_ENV - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to GHCR uses: docker/login-action@v3 with: registry: ghcr.io username: zeroc-ice password: ${{ secrets.GITHUB_TOKEN }} - name: Build RPM packages run: | docker run --rm \ -v "$GITHUB_WORKSPACE:/workspace" \ -e ICE_VERSION="${{ inputs.ice_version }}" \ -e GIT_TAG="${{ github.ref_name }}" \ -e GPG_KEY="${{ secrets.ICE_3_8_CI_SIGNER_KEY }}" \ -e GPG_KEY_ID="${{ secrets.ICE_3_8_CI_SIGNER_KEY_ID }}" \ ghcr.io/zeroc-ice/ice-rpm-builder-${{ matrix.distribution }}:${CHANNEL} \ /workspace/ice/packaging/rpm/build-package.sh - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: rpm-packages-${{ matrix.distribution }}-${{ matrix.arch }} path: | build/RPMS/* build/SRPMS/* zeroc-ice-3.8.1/.github/workflows/build-slice-tools-packages.yml000066400000000000000000000104421516567600500246450ustar00rootroot00000000000000name: "Build Slice Tools Packages" on: workflow_call: inputs: ice_version: required: false type: string authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false workflow_dispatch: inputs: ice_version: description: "The Ice version to build" required: false authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false jobs: build-slice-compilers: strategy: matrix: include: - os: macos-26 target: macos-arm64 artifact-path: cpp/bin/slice2java - os: windows-2022 target: windows-x64 artifact-path: cpp/bin/x64/Release/slice2java.* - os: ubuntu-24.04 target: linux-x64 artifact-path: cpp/bin/slice2java - os: ubuntu-24.04-arm target: linux-arm64 artifact-path: cpp/bin/slice2java runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Java uses: ./.github/actions/setup-java - name: Build Compiler uses: ./.github/actions/build-slice-compiler with: compiler_name: slice2java authenticode_sign: ${{ inputs.authenticode_sign }} env: AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} - name: Upload Compiler Artifact uses: actions/upload-artifact@v4 with: name: slice2java-${{ matrix.target }} path: ${{ matrix.artifact-path }} build-slice-tools-packages: runs-on: ubuntu-24.04 needs: build-slice-compilers env: SLICE2JAVA_STAGING_PATH: ${{ github.workspace }}/ice/java/tools/slice-tools/src/main/resources/resources steps: - name: Checkout repository uses: actions/checkout@v4 with: path: ice - name: Download All slice2java Artifacts uses: actions/download-artifact@v4 with: path: artifacts pattern: slice2java-* - name: Copy slice2java binaries to staging path run: | # Create the staging path. mkdir -p "$SLICE2JAVA_STAGING_PATH/macos-arm64" \ "$SLICE2JAVA_STAGING_PATH/linux-x64" \ "$SLICE2JAVA_STAGING_PATH/linux-arm64" \ "$SLICE2JAVA_STAGING_PATH/windows-x64" # Copy the slice2java binaries to the staging path. cp -v artifacts/slice2java-macos-arm64/slice2java "$SLICE2JAVA_STAGING_PATH/macos-arm64/" chmod +x $SLICE2JAVA_STAGING_PATH/macos-arm64/slice2java cp -v artifacts/slice2java-linux-x64/slice2java "$SLICE2JAVA_STAGING_PATH/linux-x64/" chmod +x $SLICE2JAVA_STAGING_PATH/linux-x64/slice2java cp -v artifacts/slice2java-linux-arm64/slice2java "$SLICE2JAVA_STAGING_PATH/linux-arm64/" chmod +x $SLICE2JAVA_STAGING_PATH/linux-arm64/slice2java cp -v artifacts/slice2java-windows-x64/slice2java.exe "$SLICE2JAVA_STAGING_PATH/windows-x64/" for component in DataStorm Glacier2 Ice IceBox IceGrid IceStorm; do mkdir -p $SLICE2JAVA_STAGING_PATH/slice/$component cp -v ice/slice/$component/*.ice $SLICE2JAVA_STAGING_PATH/slice/$component done - name: Update Ice Version run: | sed -i "s/^sliceToolsVersion = .*/sliceToolsVersion = ${{ inputs.ice_version }}/" tools/slice-tools/gradle.properties working-directory: ice/java if: ${{ inputs.ice_version != '' }} - name: Build Slice Tools for Java Packages run: | ../../gradlew publishAllPublicationsToSliceToolsRepository \ -PmavenRepository=file://${{ github.workspace }}/local-repo working-directory: ice/java/tools/slice-tools - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: slice-tools-packages path: | local-repo/**/*.jar local-repo/**/*.pom zeroc-ice-3.8.1/.github/workflows/build-symbols-sources-store.yml000066400000000000000000000066251516567600500251470ustar00rootroot00000000000000name: "Build Symbols and Sources Store" on: workflow_call: inputs: ice_version: required: false type: string channel: required: true type: string quality: required: true type: string run_id: description: "The run ID to use for downloading artifacts" required: true type: string workflow_dispatch: inputs: ice_version: description: "The Ice version (e.g., 3.9.0). Required for nightly builds, optional for stable." required: false channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID of a successful build-cpp-windows-binaries workflow run" required: true jobs: build-symbols-sources-store: runs-on: windows-2022 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set ICE_VERSION shell: bash run: | if [[ "${{ inputs.quality }}" == "stable" ]]; then source ./config/version.env echo "ICE_VERSION=${BASE_VERSION}" >> $GITHUB_ENV else echo "ICE_VERSION=${{ inputs.ice_version }}" >> $GITHUB_ENV fi - name: Setup Python uses: ./.github/actions/setup-python - name: Install Windows Debug Tools uses: ./.github/actions/install-windows-debug-tools - name: Download C++ Windows Binaries env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name windows-cpp-x64-Release-build --dir cpp gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name windows-cpp-x64-Debug-build --dir cpp gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name windows-cpp-Win32-Release-build --dir cpp gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name windows-cpp-Win32-Debug-build --dir cpp - name: Compute Source Base URL id: source-url run: | if ("${{ inputs.quality }}" -eq "stable") { $url = "https://symbols.zeroc.com/sources/ice/" } else { $url = "https://download.zeroc.com/ice/${{ inputs.quality }}/${{ inputs.channel }}/sources/" } echo "source_base_url=$url" >> $env:GITHUB_OUTPUT shell: pwsh - name: Index PDBs and Sources run: | python packaging/release/index-ice-pdb-sources.py ` --source-dir ${{ github.workspace }} ` --version $env:ICE_VERSION ` --source-base-url ${{ steps.source-url.outputs.source_base_url }} ` --output-dir ${{ github.workspace }}/symbols-sources - name: Create Symbols Store run: | symstore add /3 /r /t "Ice for C++" ` /v "$env:ICE_VERSION" ` /s "${{ github.workspace }}/symbols-sources/symbols/$env:ICE_VERSION/" ` /f "${{ github.workspace }}/symbols-sources/pdbs/$env:ICE_VERSION/" ` /compress - name: Upload Symbols and Sources uses: actions/upload-artifact@v4 with: name: windows-symbols-sources path: ${{ github.workspace }}/symbols-sources/ zeroc-ice-3.8.1/.github/workflows/build-windows-installer.yml000066400000000000000000000067371516567600500243350ustar00rootroot00000000000000name: "Build Windows Installer" on: workflow_call: inputs: run_id: description: "The run ID to use for downloading artifacts" required: true type: string authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false workflow_dispatch: inputs: run_id: description: "The run ID to use for downloading artifacts" required: true authenticode_sign: description: "Whether to Authenticode sign Windows binaries" required: false type: boolean default: false jobs: build-windows-installer: runs-on: windows-2022 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Download Artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name windows-cpp-x64-Release-build --dir cpp gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --name icegridgui-jar-Windows --dir java/lib - name: Download VC++ Redistributable run: | New-Item -ItemType Directory -Force -Path packaging\windows-installer\redist Invoke-WebRequest -Uri "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "packaging\windows-installer\redist\vc_redist.x64.exe" shell: powershell - name: Build MSI run: dotnet build -c Release -p:Platform=x64 working-directory: packaging/windows-installer/msi env: StagingDir: "${{ github.workspace }}\\staging" - name: Sign MSI with Trusted Signing if: ${{ inputs.authenticode_sign }} uses: azure/trusted-signing-action@v0 with: azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }} endpoint: https://eus.codesigning.azure.net/ trusted-signing-account-name: zeroc certificate-profile-name: zeroc-ice files-folder: ./packaging/windows-installer/msi/bin/x64/Release/ files-folder-filter: msi file-digest: SHA256 timestamp-rfc3161: http://timestamp.acs.microsoft.com timestamp-digest: SHA256 - name: Build Bundle run: dotnet build -c Release -p:Platform=x64 working-directory: packaging/windows-installer/bundle - name: Sign Bundle installer with Trusted Signing if: ${{ inputs.authenticode_sign }} uses: azure/trusted-signing-action@v0 with: azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }} endpoint: https://eus.codesigning.azure.net/ trusted-signing-account-name: zeroc certificate-profile-name: zeroc-ice files-folder: ./packaging/windows-installer/bundle/bin/x64/Release/ files-folder-filter: exe file-digest: SHA256 timestamp-rfc3161: http://timestamp.acs.microsoft.com timestamp-digest: SHA256 - name: Upload Installer uses: actions/upload-artifact@v4 with: name: windows-installer path: | packaging/windows-installer/bundle/bin/x64/Release/*.exe zeroc-ice-3.8.1/.github/workflows/ci-linux.yml000066400000000000000000000070671516567600500213000ustar00rootroot00000000000000name: CI Linux on: workflow_dispatch: push: branches: ["main"] pull_request: branches: ["main"] concurrency: group: ci-linux-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: build-and-test: name: ${{ matrix.distribution }}-${{ matrix.arch }} runs-on: ${{ (contains(matrix.arch, 'arm64') || contains(matrix.arch, 'aarch64')) && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} strategy: fail-fast: false matrix: include: # RPM-based distributions - distribution: el9 arch: x86_64 image_type: rpm python: python3.12 - distribution: el9 arch: aarch64 image_type: rpm python: python3.12 - distribution: el10 arch: x86_64 image_type: rpm - distribution: el10 arch: aarch64 image_type: rpm - distribution: amzn2023 arch: x86_64 image_type: rpm python: python3.12 - distribution: amzn2023 arch: aarch64 image_type: rpm python: python3.12 # DEB-based distributions - distribution: ubuntu24.04 arch: amd64 image_type: deb - distribution: ubuntu24.04 arch: arm64 image_type: deb - distribution: debian12 arch: amd64 image_type: deb - distribution: debian12 arch: arm64 image_type: deb - distribution: debian13 arch: amd64 image_type: deb - distribution: debian13 arch: arm64 image_type: deb - distribution: sid arch: amd64 image_type: deb - distribution: sid arch: arm64 image_type: deb steps: - name: Checkout repository uses: actions/checkout@v4 - name: Load version info run: | source config/version.env echo "CHANNEL=$CHANNEL" >> $GITHUB_ENV - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to GHCR uses: docker/login-action@v3 with: registry: ghcr.io username: zeroc-ice password: ${{ secrets.GITHUB_TOKEN }} - name: Build and test C++ run: | docker run --rm \ -v "$GITHUB_WORKSPACE:/ice" \ -w /ice/cpp \ ghcr.io/zeroc-ice/ice-${{ matrix.image_type }}-builder-${{ matrix.distribution }}:${CHANNEL} \ bash -c " set -ex make -j\$(nproc) srcs make -j\$(nproc) tests # The --rfilter option excludes tests matching the regex. These tests are excluded because # they require dependencies or permissions not available in the Docker builder images: # - IceUtil/priority, Ice/threadPoolPriority: require CAP_SYS_NICE for thread priorities # - Glacier2/*: require the passlib Python module # - IceSSL/configuration: requires the openssl CLI tool ${{ matrix.python || 'python3' }} allTests.py --workers=4 --debug --continue \ --rfilter='IceUtil/priority|Ice/threadPoolPriority|Glacier2/|IceSSL/configuration' " - name: Upload test logs uses: actions/upload-artifact@v4 with: name: test-logs-${{ matrix.distribution }}-${{ matrix.arch }} path: cpp/**/*.log if-no-files-found: ignore if: always() zeroc-ice-3.8.1/.github/workflows/ci.yml000066400000000000000000000330671516567600500201420ustar00rootroot00000000000000name: CI on: workflow_dispatch: push: branches: ["3.8"] pull_request: # The branches below must be a subset of the branches above branches: ["3.8"] # See https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value concurrency: group: ${{ github.head_ref || github.run_id }} cancel-in-progress: true env: # Configure the various build systems to treat warnings as errors WARNINGS_AS_ERRORS: yes jobs: ci: name: ${{ matrix.config }} on ${{ matrix.os }} strategy: fail-fast: false matrix: include: # Release builds - os: macos-26 config: "release" # We want to test C++ and Swift only (in each direction) cross_test_flags: "--all-cross --filter cpp --filter swift" python_tests: true - os: ubuntu-24.04 config: "release" cross_test_flags: "--all-cross" - os: ubuntu-24.04-arm config: "release" build_flags: "SKIP=csharp" # Skip C# on ARM as .NET compiler keeps crashing test_flags: "--rfilter=csharp" python_tests: true - os: windows-2022 config: "release" build_flags: "/p:Platform=x64" test_flags: "--platform=x64" python_tests: true - os: windows-2022 config: "cpp-win32-release" working_directory: "cpp" build_flags: "/p:Platform=Win32" msbuild_project: "msbuild/ice.proj" test_flags: "--platform=Win32" python_tests: true - os: windows-2025 config: "release" build_flags: "/p:Platform=x64" test_flags: "--platform=x64" python_tests: true # Debug builds - os: macos-26 config: "debug" build_flags: "OPTIMIZE=no" test_flags: "--swift-config=debug --csharp-config=Debug" python_tests: true enable_csharp_analysis: true - os: ubuntu-24.04 config: "debug" build_flags: "OPTIMIZE=no" test_flags: "--csharp-config=Debug" python_tests: true enable_csharp_analysis: true # TODO - figure out how to properly install debug Python - os: windows-2022 config: "debug" working_directory: "cpp" build_flags: "/p:Platform=x64 /p:Configuration=Debug" test_flags: "--platform=x64 --config=Debug" msbuild_project: "msbuild/ice.proj" python_tests: true enable_csharp_analysis: true # iOS - os: macos-26 config: "ios" build_flags: "OPTIMIZE=no PLATFORMS='macosx iphonesimulator' CONFIGS='static shared' LANGUAGES='cpp swift'" test_flags: "--languages='cpp,swift' --config=debug --platform=iphonesimulator --controller-app" build_cpp_and_python: true # Static builds - os: ubuntu-24.04 config: "static" build_flags: "CONFIGS=static" test_flags: "--config=static --filter=Ice/ --filter=IceDiscovery/" working_directory: "cpp" # MATLAB - os: ubuntu-24.04 config: "matlab" working_directory: "matlab" build_cpp_and_python: true - os: windows-2022 config: "matlab" working_directory: "matlab" build_flags: "/p:Platform=x64" msbuild_project: "msbuild/ice.proj" test_flags: "--platform=x64" build_cpp_and_python: true - os: ubuntu-24.04 config: "android" working_directory: "java" test_flags: "--android --controller-app" build_cpp_and_python: true build_android_controller: true # .NET 10.0 - os: ubuntu-24.04 config: ".NET10" working_directory: "csharp" net_target_framework: "net10.0" test_flags: "--target-framework=net10.0" build_cpp_and_python: true - os: windows-2025 config: ".NET10" working_directory: "csharp" msbuild_command: "dotnet msbuild" build_flags: "/p:Platform=x64" msbuild_project: "msbuild/ice.proj" net_target_framework: "net10.0" test_flags: "--target-framework=net10.0" build_cpp_and_python: true - os: macos-26 config: ".NET10" working_directory: "csharp" net_target_framework: "net10.0" test_flags: "--target-framework=net10.0" build_cpp_and_python: true # Python 3.12 testing - os: windows-2025 config: "Python312" working_directory: "python" build_flags: "/p:Platform=x64" msbuild_project: "msbuild/ice.proj" build_cpp_and_python: true python_version: "3.12" python_tests: true - os: macos-26 config: "Python312" working_directory: "python" build_cpp_and_python: true python_version: "3.12" python_tests: true - os: ubuntu-24.04 config: "Python312" working_directory: "python" build_cpp_and_python: true python_version: "3.12" python_tests: true # Python 3.13 testing - os: windows-2025 config: "Python313" working_directory: "python" build_flags: "/p:Platform=x64" msbuild_project: "msbuild/ice.proj" build_cpp_and_python: true python_version: "3.13" python_tests: true - os: macos-26 config: "Python313" working_directory: "python" build_cpp_and_python: true python_version: "3.13" python_tests: true - os: ubuntu-24.04 config: "Python313" working_directory: "python" build_cpp_and_python: true python_version: "3.13" python_tests: true runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Print System Info uses: ./.github/actions/system-info - name: macOS FQDN Fix uses: ./.github/actions/macos-fqdn if: runner.os == 'macOS' - name: Disk space before setup run: df -h shell: bash # Free up disk space to avoid running out of space when starting the Android emulator for tests - name: Free up disk space if: matrix.config == 'android' run: | sudo rm -rf /usr/local/go* /opt/hostedtoolcache/go sudo rm -rf /usr/local/.ghcup sudo rm -rf /usr/share/dotnet df -h shell: bash - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup PHP uses: ./.github/actions/setup-php - name: Setup Python uses: ./.github/actions/setup-python with: python-version: ${{ matrix.python_version || '3.14' }} - name: Setup .NET if: matrix.config != 'android' uses: ./.github/actions/setup-dotnet with: include_net10: ${{ matrix.net_target_framework == 'net10.0' }} - name: Setup Java uses: ./.github/actions/setup-java - name: Setup Node uses: ./.github/actions/setup-node - name: Setup Ruby if: runner.os != 'Windows' uses: ./.github/actions/setup-ruby - name: Setup MATLAB if: matrix.config == 'matlab' uses: ./.github/actions/setup-matlab - name: Setup Android if: matrix.config == 'android' uses: ./.github/actions/setup-android - name: Install Windows Debug Tools if: runner.os == 'Windows' uses: ./.github/actions/install-windows-debug-tools - name: Install ice-builder-xcode run: | #TODO: We should consider removing the dependency on ice-builder-xcode brew install zeroc-ice/tap/ice-builder-xcode shell: bash if: (runner.os == 'macOS') && (matrix.config == 'ios') - name: Setup Cache uses: ./.github/actions/setup-cache with: prefix: ci-${{ matrix.config }} - name: Disk space after setup run: df -h shell: bash # See https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps - name: Enable Windows crash dumps run: | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" /v DumpType /t REG_DWORD /d 2 /f reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" /v DumpFolder /t REG_EXPAND_SZ /d ${{ github.workspace }}\LocalDumps /f reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting" /v DontShowUI /t REG_DWORD /d 1 /f shell: powershell if: runner.os == 'Windows' - name: Enable C# Analysis if: matrix.enable_csharp_analysis == true run: | echo "EnableAnalysis=true" >> $env:GITHUB_ENV shell: pwsh - name: .NET Target Framework if: matrix.net_target_framework == 'net10.0' run: | echo "AppTargetFramework=net10.0" >> $env:GITHUB_ENV shell: pwsh - name: Build ${{ matrix.config }} on ${{ matrix.os }} uses: ./.github/actions/build timeout-minutes: 90 with: working_directory: ${{ matrix.working_directory || '.' }} build_cpp_and_python: ${{ matrix.build_cpp_and_python || false }} build_android_controller: ${{ matrix.build_android_controller || false }} build_flags: ${{ matrix.build_flags || '' }} msbuild_command: ${{ matrix.msbuild_command || 'msbuild /m' }} msbuild_project: ${{ matrix.msbuild_project || 'ice.proj' }} - name: Install testing dependencies from pip run: python3 -m pip install passlib cryptography numpy shell: bash - name: Test ${{ matrix.config }} on ${{ matrix.os }} uses: ./.github/actions/test timeout-minutes: 45 with: working_directory: ${{ matrix.working_directory || '.' }} flags: ${{ matrix.test_flags }} - name: Cross Test ${{ matrix.config }} on ${{ matrix.os }} uses: ./.github/actions/test timeout-minutes: 30 with: working_directory: ${{ matrix.working_directory || '.' }} flags: ${{ matrix.cross_test_flags }} if: matrix.cross_test_flags != '' - name: Remove Python tests generated code run: | # Remove generated files from previous runs before to test with loadSlice # to ensure we use the dynamically generated code. find python/test -name generated -exec rm -rfv {} + shell: bash if: matrix.python_tests == true - name: Python Test with loadSlice ${{ matrix.config }} on ${{ matrix.os }} uses: ./.github/actions/test timeout-minutes: 45 with: working_directory: ${{ matrix.working_directory || '.' }} flags: "${{ matrix.test_flags }} --load-slice --language=python" if: matrix.python_tests == true - name: Generate API Reference uses: ./.github/actions/documentation with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-s3-code-bucket: ${{ secrets.AWS_S3_CODE_BUCKET }} github-token: ${{ secrets.GITHUB_TOKEN }} if: matrix.config == 'release' && runner.os == 'macOS' - name: Upload test logs uses: actions/upload-artifact@v4 with: name: test-logs-${{ matrix.config }}-${{ matrix.os }} path: ${{ '.' }}/**/*.log if-no-files-found: ignore if: always() - name: Process Linux crash dumps if: runner.os == 'Linux' && always() run: | python3 scripts/process_linux_crash_dumps.py \ --workspace $GITHUB_WORKSPACE \ --reports LinuxDumpReports shell: bash - name: Upload Linux crash dump reports uses: actions/upload-artifact@v4 with: name: crash-dumps-${{ matrix.config }}-${{ matrix.os }} path: ${{ github.workspace }}/LinuxDumpReports/* if-no-files-found: ignore if: runner.os == 'Linux' && always() - name: Upload macOS crash diagnostics uses: actions/upload-artifact@v4 with: name: crash-diagnostics-${{ matrix.config }}-${{ matrix.os }} path: ~/Library/Logs/DiagnosticReports/*.ips if-no-files-found: ignore if: runner.os == 'macOS' && always() - name: Process Windows crash dumps if: runner.os == 'Windows' && always() shell: pwsh run: | $dumpDir = Join-Path $env:GITHUB_WORKSPACE 'LocalDumps' $reportsDir = Join-Path $env:GITHUB_WORKSPACE 'LocalDumpReports' python scripts\process_windows_crash_dumps.py ` --dumps $dumpDir ` --workspace $env:GITHUB_WORKSPACE ` --reports $reportsDir ` --cdb "C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe" - name: Upload Windows crash dump reports uses: actions/upload-artifact@v4 with: name: crash-dumps-${{ matrix.config }}-${{ matrix.os }} path: ${{ github.workspace }}/LocalDumpReports/* if-no-files-found: ignore if: runner.os == 'Windows' && always() zeroc-ice-3.8.1/.github/workflows/compat-nightly.yml000066400000000000000000000156071516567600500225060ustar00rootroot00000000000000name: Binary Compatibility on: workflow_dispatch: # Builds tests from a stable tag and distribution libraries from the branch HEAD, then swaps the HEAD libraries into # the stable test tree and runs the tests. If the tests pass, the HEAD libraries are binary-compatible with that stable # release. # # Each stable branch (3.7, 3.8) maintains its own copy of this workflow with branch-specific configuration below. # Branch-specific configuration: env: STABLE_TAG: "v3.8.0" jobs: compat: name: compat on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-26, ubuntu-24.04, ubuntu-24.04-arm, windows-2025] steps: - name: Checkout HEAD uses: actions/checkout@v4 with: path: head - name: Checkout stable (${{ env.STABLE_TAG }}) uses: actions/checkout@v4 with: ref: ${{ env.STABLE_TAG }} path: stable - name: macOS FQDN Fix uses: ./head/.github/actions/macos-fqdn if: runner.os == 'macOS' - name: Setup C++ uses: ./head/.github/actions/setup-cpp - name: Setup .NET uses: ./head/.github/actions/setup-dotnet if: matrix.os == 'ubuntu-24.04' - name: Setup Java uses: ./head/.github/actions/setup-java if: matrix.os == 'ubuntu-24.04' - name: Setup Python uses: ./head/.github/actions/setup-python # Build HEAD distribution libraries only. - name: Build HEAD C++ dist (Unix) if: runner.os != 'Windows' run: make -C head/cpp srcs shell: bash timeout-minutes: 60 - name: Build HEAD C++ dist (Windows) if: runner.os == 'Windows' run: msbuild /m /t:BuildDist head\cpp\msbuild\ice.proj /p:Platform=x64 /p:Configuration=Release shell: powershell timeout-minutes: 60 - name: Build HEAD C# and Java dist if: matrix.os == 'ubuntu-24.04' run: | make -C head/csharp srcs make -C head/java srcs shell: bash timeout-minutes: 30 # Build stable completely (distribution + tests). - name: Build stable C++ (Unix) if: runner.os != 'Windows' run: make -C stable/cpp shell: bash timeout-minutes: 90 - name: Build stable C++ (Windows) if: runner.os == 'Windows' run: msbuild /m stable\cpp\msbuild\ice.proj /p:Platform=x64 /p:Configuration=Release shell: powershell timeout-minutes: 90 - name: Build stable C# and Java if: matrix.os == 'ubuntu-24.04' run: | make -C stable/csharp make -C stable/java shell: bash timeout-minutes: 60 # Swap HEAD libraries into the stable tree, replacing the stable distribution libraries while keeping the stable # test binaries. This is the core of the binary compatibility test. - name: Swap HEAD C++ libraries (Unix) if: runner.os != 'Windows' run: | echo "=== HEAD C++ libraries ===" ls -la head/cpp/lib/ echo "" echo "=== Stable C++ libraries BEFORE swap ===" ls -la stable/cpp/lib/ echo "" cp -afv head/cpp/lib/. stable/cpp/lib/ echo "" echo "=== Stable C++ libraries AFTER swap ===" ls -la stable/cpp/lib/ shell: bash - name: Swap HEAD C++ libraries (Windows) if: runner.os == 'Windows' run: | Write-Host "=== HEAD C++ DLLs ===" Get-ChildItem head\cpp\bin\x64\Release\*.dll | Format-Table Name, Length, LastWriteTime Write-Host "" Write-Host "=== Stable C++ DLLs BEFORE swap ===" Get-ChildItem stable\cpp\bin\x64\Release\*.dll | Format-Table Name, Length, LastWriteTime Write-Host "" Copy-Item head\cpp\bin\x64\Release\*.dll stable\cpp\bin\x64\Release\ -Force -Verbose Write-Host "" Write-Host "=== Stable C++ DLLs AFTER swap ===" Get-ChildItem stable\cpp\bin\x64\Release\*.dll | Format-Table Name, Length, LastWriteTime shell: powershell - name: Swap HEAD C# libraries if: matrix.os == 'ubuntu-24.04' run: | for dll in Ice Glacier2 IceBox IceDiscovery IceGrid IceLocatorDiscovery IceStorm; do echo "=== Swapping ${dll}.dll ===" echo "Source: head/csharp/src/${dll}/bin/Release/net8.0/${dll}.dll" ls -la "head/csharp/src/${dll}/bin/Release/net8.0/${dll}.dll" 2>&1 || echo " WARNING: source not found!" echo "Targets in stable tree:" find stable/csharp/test -name "${dll}.dll" -exec ls -la {} \; find stable/csharp/test -name "${dll}.dll" -exec cp -v "head/csharp/src/${dll}/bin/Release/net8.0/${dll}.dll" {} \; echo "" done shell: bash - name: Swap HEAD Java libraries if: matrix.os == 'ubuntu-24.04' run: | STABLE_VER=$(grep '^iceVersion' stable/java/gradle.properties | cut -d= -f2 | tr -d ' ') HEAD_VER=$(grep '^iceVersion' head/java/gradle.properties | cut -d= -f2 | tr -d ' ') echo "Stable version: ${STABLE_VER}" echo "HEAD version: ${HEAD_VER}" echo "" echo "=== HEAD Java JARs ===" ls -la head/java/lib/*-${HEAD_VER}.jar echo "" echo "=== Stable Java JARs BEFORE swap ===" ls -la stable/java/lib/ echo "" for jar in head/java/lib/*-${HEAD_VER}.jar; do name=$(basename "$jar" | sed "s/${HEAD_VER}/${STABLE_VER}/") echo "Copying: $jar -> stable/java/lib/${name}" cp -v "$jar" "stable/java/lib/${name}" done echo "" echo "=== Stable Java JARs AFTER swap ===" ls -la stable/java/lib/ shell: bash - name: Install testing dependencies run: python3 -m pip install passlib cryptography numpy shell: bash # Run the stable test suite against the HEAD libraries. # Exclude IceSSL/configuration because the 3.8.0 test connects to the decommissioned Glacier2 demo proxy on # zeroc.com (removed from HEAD by #5047). # Exclude Slice/macros because it compares compile-time and runtime Ice versions (Util.intVersion()), which # won't match when built and run with different patch versions. - name: Run compatibility tests uses: ./head/.github/actions/test timeout-minutes: 45 with: working_directory: stable flags: >- --rfilter="IceSSL/configuration|Slice/macros" ${{ matrix.os == 'ubuntu-24.04' && '--languages=cpp,csharp,java' || '--languages=cpp' }} - name: Upload test results uses: actions/upload-artifact@v4 with: name: compat-test-results-${{ matrix.os }} path: | stable/cpp/test-report.xml stable/**/*.log if-no-files-found: ignore if: always() zeroc-ice-3.8.1/.github/workflows/coverage.yml000066400000000000000000000144011516567600500213310ustar00rootroot00000000000000name: Coverage on: workflow_dispatch: schedule: - cron: "0 0 * * 0" # Run every Sunday at midnight jobs: generate-cpp-coverage-report: runs-on: macos-26 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Python uses: ./.github/actions/setup-python - name: Install testing dependencies from pip run: python3 -m pip install passlib cryptography numpy shell: bash - name: Generate C++ Coverage working-directory: ./cpp run: ../scripts/generate-cpp-code-coverage.sh - name: Generate C++ Coverage Reports working-directory: ./cpp run: | for binary in bin/*; do # Skip non-executable files in the bin directory (e.g., .zip files, etc.) [[ ! -f "$binary" || ! -x "$binary" ]] && continue ../scripts/generate-cpp-code-coverage.sh "$binary" done for library in lib/*; do if [[ $library =~ lib/lib[a-zA-Z0-9]+\.dylib ]]; then ../scripts/generate-cpp-code-coverage.sh "$library" fi done # This will perform a full sync of the documentation to S3 every time the workflow is run since # the timestamps will always be different. Using --size-only is not sufficient since the # documentation may be updated without changing the size of the files. S3 does not offer a hash based sync. - name: Sync Coverage Report to S3 working-directory: ./cpp/coverage/html run: | for coverage_dir in *; do if [[ -d $coverage_dir ]]; then aws s3 sync $coverage_dir s3://${AWS_S3_CODE_BUCKET}/ice/3.8/coverage/cpp/$(basename $coverage_dir) --delete fi done env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_S3_CODE_BUCKET: ${{ secrets.AWS_S3_CODE_BUCKET }} AWS_DEFAULT_REGION: us-east-1 if: github.ref == 'refs/heads/3.8' && github.repository == 'zeroc-ice/ice' generate-csharp-coverage-report: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup .NET uses: ./.github/actions/setup-dotnet - name: Setup Python uses: ./.github/actions/setup-python - name: Install testing dependencies from pip run: python3 -m pip install passlib cryptography numpy shell: bash - name: Build run: | make -C cpp srcs make -C csharp - name: Generate C# Coverage working-directory: ./csharp run: | dotnet tool install dotnet-coverage --global dotnet-coverage collect --server-mode --background --session-id dotnet-coverage --output coverage.cobertura.xml --output-format cobertura --settings msbuild/coverage.runsettings python3 allTests.py --all --workers=4 --debug --coverage-session dotnet-coverage dotnet-coverage shutdown dotnet-coverage - name: Generate Coverage Reports uses: danielpalme/ReportGenerator-GitHub-Action@5.3.8 with: reports: csharp/coverage.cobertura.xml targetdir: coveragereport reporttypes: Html;Badges license: ${{ secrets.REPORT_GENERATOR_LICENSE }} - name: Sync Coverage Report to S3 working-directory: ./coveragereport run: aws s3 sync . s3://${AWS_S3_CODE_BUCKET}/ice/3.8/coverage/csharp --delete env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_S3_CODE_BUCKET: ${{ secrets.AWS_S3_CODE_BUCKET }} AWS_DEFAULT_REGION: us-east-1 if: github.ref == 'refs/heads/3.8' && github.repository == 'zeroc-ice/ice' generate-java-coverage-report: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Java uses: ./.github/actions/setup-java - name: Setup Python uses: ./.github/actions/setup-python - name: Install testing dependencies from pip run: python3 -m pip install passlib cryptography numpy shell: bash - name: Generate Java Coverage working-directory: ./java run: | ../scripts/generate-java-code-coverage.sh - name: Sync Coverage Report to S3 working-directory: ./java/coverage run: aws s3 sync . s3://${AWS_S3_CODE_BUCKET}/ice/3.8/coverage/java --delete env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_S3_CODE_BUCKET: ${{ secrets.AWS_S3_CODE_BUCKET }} AWS_DEFAULT_REGION: us-east-1 if: github.ref == 'refs/heads/3.8' && github.repository == 'zeroc-ice/ice' generate-js-coverage-report: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Node.js uses: ./.github/actions/setup-node - name: Setup Python uses: ./.github/actions/setup-python - name: Install testing dependencies from pip run: python3 -m pip install passlib cryptography numpy shell: bash - name: Build C++ and JavaScript run: | make -C cpp make -C js - name: Generate JavaScript Coverage working-directory: ./js run: | ../scripts/generate-js-code-coverage.sh - name: Sync Coverage Report to S3 working-directory: ./js/coverage-report run: aws s3 sync . s3://${AWS_S3_CODE_BUCKET}/ice/3.8/coverage/javascript --delete env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_S3_CODE_BUCKET: ${{ secrets.AWS_S3_CODE_BUCKET }} AWS_DEFAULT_REGION: us-east-1 if: github.ref == 'refs/heads/3.8' && github.repository == 'zeroc-ice/ice' zeroc-ice-3.8.1/.github/workflows/cpp.yml000066400000000000000000000061211516567600500203200ustar00rootroot00000000000000name: C++ on: workflow_dispatch: push: branches: ["3.8"] pull_request: # The branches below must be a subset of the branches above branches: ["3.8"] jobs: clang-format: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install Clang Format run: | # This LLVM script will add the relevant LLVM PPA: https://apt.llvm.org/ wget https://apt.llvm.org/llvm.sh -O /tmp/llvm.sh chmod +x /tmp/llvm.sh sudo /tmp/llvm.sh 19 sudo apt-get install -y clang-format-19 rm /tmp/llvm.sh clang-format-19 --version if: runner.os == 'Linux' - name: Run Clang Format run: | find . -name "*.h" -o -name "*.c" -o -name "*.cpp" -o -name "*.mm" | xargs clang-format-19 --style=file --fallback-style=none -i find cpp -name "*.m" | xargs clang-format-19 --style=file --fallback-style=none -i if [ -n "$(git status --porcelain)" ]; then echo "clang-format found issues, please run it locally and commit the changes." git diff exit 1 else echo "clang-format passed successfully." fi clang-tidy: runs-on: ubuntu-24.04 steps: - name: Checkout Ice uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Cache uses: ./.github/actions/setup-cache with: prefix: clang-tidy - name: Install clang-tidy run: | # This LLVM script will add the relevant LLVM PPA: https://apt.llvm.org/ wget https://apt.llvm.org/llvm.sh -O /tmp/llvm.sh chmod +x /tmp/llvm.sh sudo /tmp/llvm.sh 19 sudo apt-get install -y clang-tidy-19 rm /tmp/llvm.sh clang-tidy-19 --version - name: Install bear run: | sudo apt-get update sudo apt-get install -y bear bear --version - name: Build Ice timeout-minutes: 90 working-directory: cpp run: bear -- make - name: Build IcePy timeout-minutes: 10 working-directory: python run: bear -- make - name: Select files to check uses: tj-actions/glob@v22 id: glob with: files: | **/*.cpp excluded-files: | **/generated/*.cpp working-directory: cpp - name: Run Clang Tidy working-directory: cpp run: | echo "Running clang-tidy on ${{ steps.glob.outputs.paths }}" run-clang-tidy-19 -j$(nproc) -quiet ${{ steps.glob.outputs.paths }} - name: Select files to check for IcePy uses: tj-actions/glob@v22 id: globpy with: files: | **/*.cpp working-directory: python - name: Run Clang Tidy on IcePy working-directory: python run: | echo "Running clang-tidy on ${{ steps.globpy.outputs.paths }}" run-clang-tidy-19 -j$(nproc) -quiet ${{ steps.globpy.outputs.paths }} zeroc-ice-3.8.1/.github/workflows/dispatch-compat-nightly.yml000066400000000000000000000012541516567600500242740ustar00rootroot00000000000000name: Dispatch Binary Compatibility Nightly on: # Central scheduler (runs from the default branch) schedule: # Run 3.8 binary compat test at 5:00 AM UTC (after nightly release at 3:00 AM) - cron: "0 5 * * *" jobs: dispatch-compat-nightly: if: github.repository == 'zeroc-ice/ice' runs-on: ubuntu-24.04 steps: - name: Check out repository uses: actions/checkout@v4 - name: Dispatch binary compat test for 3.8 (5:00 UTC) if: github.event.schedule == '0 5 * * *' uses: ./.github/actions/dispatch-workflow with: ref: 3.8 workflow: compat-nightly.yml token: ${{ secrets.GITHUB_TOKEN }} zeroc-ice-3.8.1/.github/workflows/dispatch-container-image-builds.yml000066400000000000000000000026401516567600500256570ustar00rootroot00000000000000name: Dispatch Container Image Builds on: # Central scheduler (runs from the default branch) schedule: # Run main container image builds on Saturday at 6:00 AM UTC - cron: "0 6 * * 6" # Run 3.8 container image builds on Saturday at 7:00 AM UTC - cron: "0 7 * * 6" # Run 3.7 container image builds on Saturday at 8:00 AM UTC - cron: "0 8 * * 6" jobs: dispatch-container-image-builds: if: github.repository == 'zeroc-ice/ice' runs-on: ubuntu-24.04 steps: - name: Check out repository uses: actions/checkout@v4 - name: Dispatch container image builds for main (6:00 UTC) if: github.event.schedule == '0 6 * * 6' uses: ./.github/actions/dispatch-workflow with: ref: main workflow: build-container-images.yml token: ${{ secrets.GITHUB_TOKEN }} - name: Dispatch container image builds for 3.8 (7:00 UTC) if: github.event.schedule == '0 7 * * 6' uses: ./.github/actions/dispatch-workflow with: ref: 3.8 workflow: build-container-images.yml token: ${{ secrets.GITHUB_TOKEN }} - name: Dispatch container image builds for 3.7 (8:00 UTC) if: github.event.schedule == '0 8 * * 6' uses: ./.github/actions/dispatch-workflow with: ref: 3.7 workflow: build-container-images.yml token: ${{ secrets.GITHUB_TOKEN }} zeroc-ice-3.8.1/.github/workflows/dispatch-nightly-release.yml000066400000000000000000000026771516567600500244430ustar00rootroot00000000000000name: Dispatch Nightly Release on: # Central scheduler (runs from the default branch) schedule: # Run main nightly at 2:00 AM UTC - cron: "0 2 * * *" # Run 3.8 nightly at 3:00 AM UTC - cron: "0 3 * * *" # Run 3.7 nightly at 4:00 AM UTC - cron: "0 4 * * *" jobs: dispatch-nightly-release: if: github.repository == 'zeroc-ice/ice' runs-on: ubuntu-24.04 steps: - name: Check out repository uses: actions/checkout@v4 - name: Dispatch nightly build for main (2:00 UTC) if: github.event.schedule == '0 2 * * *' uses: ./.github/actions/dispatch-workflow with: ref: main workflow: build-release.yml token: ${{ secrets.GITHUB_TOKEN }} inputs: '{"quality": "nightly", "publish": true}' - name: Dispatch nightly build for 3.8 (3:00 UTC) if: github.event.schedule == '0 3 * * *' uses: ./.github/actions/dispatch-workflow with: ref: 3.8 workflow: build-release.yml token: ${{ secrets.GITHUB_TOKEN }} inputs: '{"quality": "nightly", "publish": true}' - name: Dispatch nightly build for 3.7 (4:00 UTC) if: github.event.schedule == '0 4 * * *' uses: ./.github/actions/dispatch-workflow with: ref: 3.7 workflow: build-release.yml token: ${{ secrets.GITHUB_TOKEN }} inputs: '{"quality": "nightly", "publish": true}' zeroc-ice-3.8.1/.github/workflows/dotnet.yml000066400000000000000000000007451516567600500210410ustar00rootroot00000000000000name: .NET on: workflow_dispatch: push: branches: ["3.8"] pull_request: # The branches below must be a subset of the branches above branches: ["3.8"] jobs: dotnet-format: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup .NET uses: ./.github/actions/setup-dotnet - name: Run dotnet format run: | dotnet format --verify-no-changes csharp/msbuild/ice.slnx zeroc-ice-3.8.1/.github/workflows/ice2slice.yml000066400000000000000000000023271516567600500214040ustar00rootroot00000000000000name: Run ice2slice on: workflow_dispatch: push: branches: ["3.8"] pull_request: # The branches below must be a subset of the branches above branches: ["3.8"] jobs: ice2slice: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Build ice2slice working-directory: ./cpp run: make V=1 ice2slice - name: Test ice2slice working-directory: ./slice run: | # Run ice2slice on all .ice files in the slice directory for dir in */; do ../cpp/bin/ice2slice -I. "$dir"/*.ice --output-dir $dir; done # We don't generate anything for EndpointTypes.ice since it contains only constants. touch Ice/EndpointTypes.slice while IFS= read -r file; do # Derive the matching *.slice filename base="${file%.ice}" slice_file="${base}.slice" # Check if the *.slice file exists if [ ! -f "$slice_file" ]; then echo "Error: No matching .slice file for $file" exit 1 fi done < <(find . -type f -name "*.ice") zeroc-ice-3.8.1/.github/workflows/java.yml000066400000000000000000000020221516567600500204530ustar00rootroot00000000000000name: Java on: push: branches: ["3.8"] pull_request: # The branches below must be a subset of the branches above branches: ["3.8"] jobs: checkstyle: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Java uses: ./.github/actions/setup-java - name: Build slice2java run: make -C cpp slice2java - name: Run checkstyle formatter working-directory: java run: ./gradlew check rewrite: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Java uses: ./.github/actions/setup-java - name: Build slice2java run: make -C cpp slice2java - name: Run rewrite linter working-directory: java run: ./gradlew rewriteDryRun --no-parallel --no-configuration-cache zeroc-ice-3.8.1/.github/workflows/javascript.yml000066400000000000000000000015221516567600500217040ustar00rootroot00000000000000name: JavaScript on: push: branches: ["3.8"] pull_request: # The branches below must be a subset of the branches above branches: ["3.8"] jobs: prettier: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "latest" - name: Run JavaScript prettier run: npx prettier --check . working-directory: js eslint: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "latest" - name: Run JavaScript eslint run: | npm install npx eslint working-directory: js zeroc-ice-3.8.1/.github/workflows/links.yml000066400000000000000000000012241516567600500206550ustar00rootroot00000000000000name: Check Links on: workflow_dispatch: push: branches: ["main"] paths: - "**.md" - "**.html" - ".github/workflows/links.yml" pull_request: branches: ["main"] paths: - "**.md" - "**.html" - ".github/workflows/links.yml" jobs: check-links: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Check links uses: lycheeverse/lychee-action@v2 with: args: >- --config .lychee.toml --verbose --no-progress '**/*.md' '**/*.html' fail: true zeroc-ice-3.8.1/.github/workflows/matlab.yml000066400000000000000000000017711516567600500210040ustar00rootroot00000000000000name: Matlab on: workflow_dispatch: push: branches: ["3.8"] pull_request: # The branches below must be a subset of the branches above branches: ["3.8"] jobs: matlab-analyzer: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup MATLAB uses: ./.github/actions/setup-matlab - name: Build MATLAB on Ubuntu uses: ./.github/actions/build timeout-minutes: 90 with: working_directory: "matlab" build_cpp_and_python: true - name: MATLAB Analyzer run: | $MATLAB_COMMAND code_analyzer working-directory: ./matlab/config shell: bash - name: Upload Analyzer Report uses: actions/upload-artifact@v4 with: name: matlab-analyzer-report path: ./matlab/config/result.json if-no-files-found: ignore if: always() zeroc-ice-3.8.1/.github/workflows/prune-nightly-artifacts.yml000066400000000000000000000013731516567600500243250ustar00rootroot00000000000000name: Prune Nightly Artifacts on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true workflow_call: inputs: channel: required: true type: string jobs: prune-nightly-artifacts: runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Prune nightly artifacts env: CHANNEL: ${{ inputs.channel }} DRY_RUN: '0' AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} run: | ./packaging/release/prune-nightly-artifacts.sh zeroc-ice-3.8.1/.github/workflows/publish-brew-packages.yml000066400000000000000000000045171516567600500237240ustar00rootroot00000000000000name: "Publish Brew Packages" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish-brew-packages: name: "Publish Brew Packages" runs-on: macos-26 # Stable Brew releases must be published manually. if: ${{ inputs.quality == 'nightly' }} env: CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Download Homebrew Bottle XCFramework artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "homebrew-bottle" --dir staging - name: Publish Homebrew Bottle Packages run: | UPLOAD_PATH="ice/${QUALITY}/${CHANNEL}" aws s3 sync staging/homebrew-bottle/ "s3://${S3_DOWNLOADS_BUCKET}/${UPLOAD_PATH}/" --exclude "*" --include "*.tar.gz" env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} S3_DOWNLOADS_BUCKET: ${{ vars.S3_DOWNLOADS_BUCKET }} - name: Clone Repository run: | git clone "https://x-access-token:${{ secrets.ICE_NIGHTLY_PUBLISH_TOKEN }}@github.com/zeroc-ice/homebrew-nightly.git" -b main - name: Publish Homebrew Patch run: | # Configure git for pushing the patch git config user.name "ZeroC" git config user.email "git@zeroc.com" # Apply and commit the patch created during the brew package build git am "${GITHUB_WORKSPACE}/staging/homebrew-bottle/"ice@${{ inputs.channel }}-*.patch # Push the updated formula git push origin main || { echo "Push failed"; exit 1; } working-directory: homebrew-nightly zeroc-ice-3.8.1/.github/workflows/publish-cpp-swift-deps.yml000066400000000000000000000030541516567600500240510ustar00rootroot00000000000000name: "Publish C++ Dependencies for Swift" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish-cpp-swift-deps: name: "Publish C++ Dependencies for Swift" runs-on: "ubuntu-24.04" steps: - name: Download C++ Dependencies for Swift env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo zeroc-ice/ice --pattern "cpp-swift-deps" --dir staging - name: Publish C++ Dependencies for Swift run: | if [ "${QUALITY}" = "stable" ]; then UPLOAD_PATH="ice/${CHANNEL}" else UPLOAD_PATH="ice/${QUALITY}/${CHANNEL}" fi aws s3 sync staging/cpp-swift-deps/ "s3://zeroc-downloads/${UPLOAD_PATH}/" --exclude "*" --include "*.zip" env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} zeroc-ice-3.8.1/.github/workflows/publish-deb-packages.yml000066400000000000000000000060231516567600500235110ustar00rootroot00000000000000name: "Publish DEB Packages" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: build: name: "Publish DEB Packages for ${{ matrix.distribution }}" runs-on: ubuntu-24.04 strategy: matrix: include: - distribution: debian12 - distribution: debian13 - distribution: ubuntu24.04 env: DISTRIBUTION: ${{ matrix.distribution }} CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} steps: - name: Check out repository uses: actions/checkout@v4 with: path: ice - name: Download DEB artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo zeroc-ice/ice --pattern "deb-packages-${DISTRIBUTION}-*" --dir staging - name: Create DEB repository run: | if [ "${QUALITY}" = "stable" ]; then UPLOAD_PATH="ice/${CHANNEL}/${DISTRIBUTION}" REPO_PATH="ice/${CHANNEL}" else UPLOAD_PATH="ice/${QUALITY}/${CHANNEL}/${DISTRIBUTION}" REPO_PATH="ice/${QUALITY}/${CHANNEL}" fi echo "Syncing current repository from S3..." mkdir -p "${UPLOAD_PATH}" aws s3 sync "s3://zeroc-downloads/${UPLOAD_PATH}" "${UPLOAD_PATH}" echo "Creating/updating repository with new DEB packages..." docker run --rm \ -v "$GITHUB_WORKSPACE:/workspace" \ -e GPG_KEY="${GPG_KEY}" \ -e GPG_KEY_ID="${GPG_KEY_ID}" \ ghcr.io/zeroc-ice/deb-repo-builder:${CHANNEL} \ /workspace/ice/packaging/deb/create-deb-repo.sh \ --staging /workspace/staging/ \ --repository "/workspace/${REPO_PATH}" \ --distribution "${DISTRIBUTION}" \ --channel "${CHANNEL}" \ --quality "${QUALITY}" echo "Uploading updated repository to S3..." # We add the repo package to --exclude to avoid deleting it, this package is built by # the build-deb-ice-repo-packages workflow aws s3 sync \ "${UPLOAD_PATH}" \ "s3://zeroc-downloads/${UPLOAD_PATH}" \ --delete \ --exclude "ice-repo-*.deb" env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} GPG_KEY: ${{ secrets.ICE_3_8_CI_SIGNER_KEY }} GPG_KEY_ID: ${{ secrets.ICE_3_8_CI_SIGNER_KEY_ID }} zeroc-ice-3.8.1/.github/workflows/publish-gem-packages.yml000066400000000000000000000050001516567600500235210ustar00rootroot00000000000000name: "Publish GEM Packages" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish: name: "Publish GEM Packages" runs-on: ubuntu-24.04 permissions: id-token: write contents: read steps: - name: Download GEM artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "gem-packages" --dir staging - name: Publish Nightly GEM Packages if: ${{ inputs.quality == 'nightly' }} run: | for gem in staging/gem-packages/zeroc-ice-*.gem; do echo "Uploading $(basename "$gem")..." curl -u "nightly:${NEXUS_NIGHTLY_PASSWORD}" \ --upload-file "$gem" \ --output /dev/null \ --silent \ --retry 3 \ --fail \ --show-error \ "https://download.zeroc.com/nexus/repository/rubygems-${CHANNEL}-${QUALITY}/gems/$(basename "$gem")" \ || { echo "Gem upload failed for $gem"; exit 1; } done env: NEXUS_NIGHTLY_PASSWORD: ${{ secrets.NEXUS_NIGHTLY_PASSWORD }} CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} - name: Publish Release GEM Packages if: ${{ inputs.quality == 'stable' }} run: | # Get OIDC token from GitHub Actions OIDC_TOKEN=$(curl -sS -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \ "$ACTIONS_ID_TOKEN_REQUEST_URL&audience=rubygems.org" | jq -r '.value') # Exchange OIDC token for RubyGems API key GEM_API_KEY=$(curl -sS -X POST "https://rubygems.org/api/v1/oidc/trusted_publisher/exchange_token" \ -H "Content-Type: application/json" \ -d "{\"jwt\": \"$OIDC_TOKEN\"}" | jq -r '.rubygems_api_key') # Push the gem GEM_HOST_API_KEY="$GEM_API_KEY" gem push staging/gem-packages/zeroc-ice-*.gem zeroc-ice-3.8.1/.github/workflows/publish-icegridgui-macos-app.yml000066400000000000000000000031421516567600500251730ustar00rootroot00000000000000name: "Publish IceGridGUI macOS App" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish-icegridgui-macos-app: name: "Publish IceGridGUI macOS App" runs-on: "ubuntu-24.04" steps: - name: Download IceGridGUI macOS App artifact env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "icegridgui-macos-app" --dir staging - name: Publish IceGridGUI macOS App run: | if [ "${QUALITY}" = "stable" ]; then UPLOAD_PATH="ice/${CHANNEL}" else UPLOAD_PATH="ice/${QUALITY}/${CHANNEL}" fi aws s3 cp staging/icegridgui-macos-app/*.dmg "s3://${S3_DOWNLOADS_BUCKET}/${UPLOAD_PATH}/" env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} S3_DOWNLOADS_BUCKET: ${{ vars.S3_DOWNLOADS_BUCKET }} CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} zeroc-ice-3.8.1/.github/workflows/publish-java-packages.yml000066400000000000000000000042141516567600500237000ustar00rootroot00000000000000name: "Publish Java Packages" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.8, 3.7)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish: name: "Publish Java Packages" runs-on: ubuntu-24.04 env: STAGING_DIR: ${{ github.workspace }}/staging steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Download Java artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "java-packages" --dir "${STAGING_DIR}" - name: Publish Java Packages run: packaging/maven/publish-java-release.sh if: ${{ inputs.quality == 'nightly' }} env: CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} MAVEN_USERNAME: "nightly" MAVEN_PASSWORD: ${{ secrets.NEXUS_NIGHTLY_PASSWORD }} GPG_KEY: ${{ secrets.ICE_CI_SIGNER_KEY }} GPG_KEY_ID: ${{ secrets.ICE_CI_SIGNER_KEY_ID }} - name: Publish Java Packages run: packaging/maven/publish-java-release.sh if: ${{ inputs.quality == 'stable' }} env: CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_API_KEY }} MAVEN_CENTRAL_BEARER_AUTH_TOKEN: ${{ secrets.MAVEN_CENTRAL_BEARER_AUTH_TOKEN }} GPG_KEY: ${{ secrets.ICE_CI_SIGNER_KEY }} GPG_KEY_ID: ${{ secrets.ICE_CI_SIGNER_KEY_ID }} - name: Clean Credentials if: always() run: rm -f ~/.m2/settings.xml zeroc-ice-3.8.1/.github/workflows/publish-matlab-packages.yml000066400000000000000000000040001516567600500242100ustar00rootroot00000000000000name: "Publish MATLAB Packages" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish-matlab-packages: name: "Publish MATLAB Packages" runs-on: "ubuntu-24.04" steps: - name: Download MATLAB artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo zeroc-ice/ice --pattern "matlab-packages-*" --dir staging - name: Publish MATLAB Packages run: | if [ "${QUALITY}" = "stable" ]; then UPLOAD_PATH="ice/${CHANNEL}" aws s3 cp staging/matlab-packages-windows-*/ice-*-win.mltbx "s3://zeroc-downloads/${UPLOAD_PATH}/" aws s3 cp staging/matlab-packages-ubuntu-*/ice-*-linux.mltbx "s3://zeroc-downloads/${UPLOAD_PATH}/" else UPLOAD_PATH="ice/${QUALITY}/${CHANNEL}" # Rename the Toolbox files to ice-nightly-R2025b-.mltbx if it's the nightly channel aws s3 cp staging/matlab-packages-windows-*/ice-*-R2025b-win.mltbx "s3://zeroc-downloads/${UPLOAD_PATH}/ice-${QUALITY}-R2025b-win.mltbx" aws s3 cp staging/matlab-packages-ubuntu-*/ice-*-R2025b-linux.mltbx "s3://zeroc-downloads/${UPLOAD_PATH}/ice-${QUALITY}-R2025b-linux.mltbx" fi env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} zeroc-ice-3.8.1/.github/workflows/publish-npm-packages.yml000066400000000000000000000044651516567600500235610ustar00rootroot00000000000000name: "Publish NPM Packages" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish: name: "Publish NPM Packages" runs-on: ubuntu-24.04 permissions: id-token: write contents: read steps: - name: Download NPM artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "js-npm-packages" --dir staging - name: Publish Nightly NPM Packages if: ${{ inputs.quality != 'stable' }} run: | REPOSITORY_PREFIX="//download.zeroc.com/nexus/repository/npm-${CHANNEL}-${QUALITY}/" # Reference the env var in .npmrc using \$ so NPM reads it at publish time echo "${REPOSITORY_PREFIX}:_auth=\${NEXUS_NIGHTLY_NPM_AUTH_TOKEN}" > ~/.npmrc echo "always-auth=true" >> ~/.npmrc mapfile -t packages < <(find staging -type f -name "*.tgz") for pkg in "${packages[@]}"; do echo "Publishing package: $pkg" npm publish "$pkg" --registry "https:${REPOSITORY_PREFIX}" done env: CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} NEXUS_NIGHTLY_NPM_AUTH_TOKEN: ${{ secrets.NEXUS_NIGHTLY_NPM_AUTH_TOKEN }} - uses: actions/setup-node@v4 if: ${{ inputs.quality == 'stable' }} with: node-version: '22' registry-url: 'https://registry.npmjs.org' - name: Publish Release NPM Packages if: ${{ inputs.quality == 'stable' }} run: | mapfile -t packages < <(find staging -type f -name "*.tgz") for pkg in "${packages[@]}"; do echo "Publishing package: $pkg" npm publish "$pkg" --provenance done zeroc-ice-3.8.1/.github/workflows/publish-nuget-packages.yml000066400000000000000000000041621516567600500241030ustar00rootroot00000000000000name: "Publish NuGet Packages" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish: name: "Publish NuGet Packages" runs-on: ubuntu-24.04 steps: - name: Download NuGet artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "*-nuget-packages" --dir staging - name: Publish NuGet Packages run: | case "$QUALITY" in "stable") SOURCE_URL="https://api.nuget.org/v3/index.json" NUGET_API_KEY="${RELEASE_NUGET_API_KEY}" ;; *) SOURCE_URL="https://download.zeroc.com/nexus/repository/nuget-${CHANNEL}-${QUALITY}/" NUGET_API_KEY="${NEXUS_NIGHTLY_NUGET_API_KEY}" ;; esac # Collect all packages. The symbol package ".snupkg" files are published automatically with the main package # no need to push them separately. mapfile -t packages < <(find staging -type f -name "*.nupkg") # Push each package to the appropriate NuGet repository for package in "${packages[@]}"; do echo "Publishing package: $package" dotnet nuget push "$package" --source "$SOURCE_URL" --api-key "$NUGET_API_KEY" done env: CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} NEXUS_NIGHTLY_NUGET_API_KEY: ${{ secrets.NEXUS_NIGHTLY_NUGET_API_KEY }} RELEASE_NUGET_API_KEY: ${{ secrets.RELEASE_NUGET_API_KEY }} zeroc-ice-3.8.1/.github/workflows/publish-pip-packages.yml000066400000000000000000000043161516567600500235520ustar00rootroot00000000000000name: "Publish PIP Packages" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish: name: "Publish Python PIP Packages" runs-on: ubuntu-24.04 steps: - name: Download PIP artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "pip-sdist" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "pip-packages-*" --dir staging - name: Publish PIP Package run: | case "$QUALITY" in "stable") REPOSITORY_URL="https://upload.pypi.org/legacy/" export TWINE_USERNAME="__token__" export TWINE_PASSWORD="${RELEASE_PYPI_AUTH_TOKEN}" ;; *) REPOSITORY_URL="https://download.zeroc.com/nexus/repository/pypi-${CHANNEL}-${QUALITY}/" export TWINE_USERNAME="nightly" export TWINE_PASSWORD="${NEXUS_NIGHTLY_PASSWORD}" ;; esac mkdir -p dist # Collect all matching package files into dist/ find staging -name 'zeroc_ice-*' -type f -exec cp -vf {} dist/ \; # Upload using Twine in a fresh venv python3 -m venv venv source venv/bin/activate pip install --upgrade pip twine twine upload --verbose --repository-url "${REPOSITORY_URL}" dist/* env: CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} NEXUS_NIGHTLY_PASSWORD: ${{ secrets.NEXUS_NIGHTLY_PASSWORD }} RELEASE_PYPI_AUTH_TOKEN: ${{ secrets.RELEASE_PYPI_AUTH_TOKEN }} zeroc-ice-3.8.1/.github/workflows/publish-release.yml000066400000000000000000000132651516567600500226310ustar00rootroot00000000000000name: "Publish Ice Release" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The GitHub run ID to use for artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish-brew-packages: uses: ./.github/workflows/publish-brew-packages.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-deb-packages: uses: ./.github/workflows/publish-deb-packages.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-gem-packages: uses: ./.github/workflows/publish-gem-packages.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-matlab-packages: uses: ./.github/workflows/publish-matlab-packages.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-java-packages: uses: ./.github/workflows/publish-java-packages.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-slice-tools-packages: uses: ./.github/workflows/publish-slice-tools-packages.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-windows-installer: uses: ./.github/workflows/publish-windows-installer.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-icegridgui-macos-app: uses: ./.github/workflows/publish-icegridgui-macos-app.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-npm-packages: uses: ./.github/workflows/publish-npm-packages.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-nuget-packages: uses: ./.github/workflows/publish-nuget-packages.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-pip-packages: uses: ./.github/workflows/publish-pip-packages.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-rpm-packages: uses: ./.github/workflows/publish-rpm-packages.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-swift-packages: uses: ./.github/workflows/publish-swift-packages.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-cpp-swift-deps: uses: ./.github/workflows/publish-cpp-swift-deps.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit publish-symbols-sources: uses: ./.github/workflows/publish-symbols-sources.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit # Gate job that waits for all publish jobs to complete. # Other jobs can depend on this instead of listing all publish jobs individually. publish-all: runs-on: ubuntu-24.04 needs: - publish-brew-packages - publish-deb-packages - publish-gem-packages - publish-matlab-packages - publish-java-packages - publish-slice-tools-packages - publish-windows-installer - publish-icegridgui-macos-app - publish-npm-packages - publish-nuget-packages - publish-pip-packages - publish-rpm-packages - publish-swift-packages - publish-cpp-swift-deps - publish-symbols-sources steps: - run: echo "All publish jobs completed successfully" invalidate-cloudfront-cache: runs-on: ubuntu-24.04 needs: publish-all steps: - name: Invalidate CloudFront Cache run: | if [ "${{ inputs.quality }}" = "stable" ]; then INVALIDATION_PATH="/ice/${{ inputs.channel }}/*" else INVALIDATION_PATH="/ice/${{ inputs.quality }}/${{ inputs.channel }}/*" fi aws cloudfront create-invalidation \ --distribution-id ${{ vars.CLOUDFRONT_DISTRIBUTION_ID }} \ --paths "${INVALIDATION_PATH}" env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} upload-release-assets: # For stable channels if running on a tag, we upload the release assets to the tag. if: ${{ inputs.quality == 'stable' && startsWith(github.ref, 'refs/tags/') }} needs: publish-all uses: ./.github/workflows/upload-release-assets.yml with: channel: ${{ inputs.channel }} quality: ${{ inputs.quality }} run_id: ${{ inputs.run_id }} secrets: inherit zeroc-ice-3.8.1/.github/workflows/publish-rpm-packages.yml000066400000000000000000000074071516567600500235640ustar00rootroot00000000000000name: "Publish RPM Packages" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: build: name: "Publish RPM Packages for ${{ matrix.distribution }}" runs-on: 'ubuntu-24.04' strategy: matrix: include: - distribution: el9 - distribution: el10 - distribution: amzn2023 env: DISTRIBUTION: ${{ matrix.distribution }} CHANNEL: ${{ inputs.channel }} MCPP_VERSION: v2.7.2.20 steps: - name: Check out repository uses: actions/checkout@v4 with: path: ice - name: Download RPM artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | # Download RPM artifacts from the specified run. echo "Downloading Ice RPMs from current run..." gh run download "$RUN_ID" \ --repo zeroc-ice/ice \ --pattern "rpm-packages-${DISTRIBUTION}-*" \ --dir staging # If building for RHEL 9 or 10, also download MCPP RPMs. if [[ "$DISTRIBUTION" == "el9" || "$DISTRIBUTION" == "el10" ]]; then echo "Also downloading MCPP RPMs for $DISTRIBUTION..." # MCPP packages MCPP_PACKAGES="rpm-packages-3.8-${DISTRIBUTION}-*" gh release download "$MCPP_VERSION" \ --repo zeroc-ice/mcpp \ --pattern "$MCPP_PACKAGES" \ --dir staging/mcpp # gh doesn't automatically extract release downloads pushd staging/mcpp > /dev/null for zip in ${MCPP_PACKAGES}.zip; do unzip -q "$zip"; done popd > /dev/null fi - name: Create RPM repository run: | if [ "${QUALITY}" = "stable" ]; then UPLOAD_PATH="ice/${CHANNEL}/${DISTRIBUTION}" else UPLOAD_PATH="ice/${QUALITY}/${CHANNEL}/${DISTRIBUTION}" fi echo "Syncing current repository from S3..." mkdir -p "${DISTRIBUTION}" aws s3 sync "s3://zeroc-downloads/${UPLOAD_PATH}" "${DISTRIBUTION}" echo "Creating/updating repository with new RPMs..." docker_args=( --rm -v "$GITHUB_WORKSPACE:/workspace" -e GPG_KEY="${GPG_KEY}" -e GPG_KEY_ID="${GPG_KEY_ID}" ghcr.io/zeroc-ice/rpm-repo-builder:${CHANNEL} ) docker run "${docker_args[@]}" /workspace/ice/packaging/rpm/create-rpm-repo.sh \ --staging /workspace/staging/ \ --repository "/workspace/${DISTRIBUTION}" echo "Uploading updated repository to S3..." # We add the repo package to --exclude to avoid deleting it, this package is built by # the build-rpm-ice-repo-packages workflow aws s3 sync \ "${DISTRIBUTION}" \ "s3://zeroc-downloads/${UPLOAD_PATH}" \ --delete \ --exclude "ice-repo-*.noarch.rpm" env: CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} GPG_KEY: ${{ secrets.ICE_3_8_CI_SIGNER_KEY }} GPG_KEY_ID: ${{ secrets.ICE_3_8_CI_SIGNER_KEY_ID }} zeroc-ice-3.8.1/.github/workflows/publish-slice-tools-packages.yml000066400000000000000000000040031516567600500252100ustar00rootroot00000000000000name: "Publish Slice Tools Packages" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish: name: "Publish Slice Tools Packages" runs-on: ubuntu-24.04 env: STAGING_DIR: ${{ github.workspace }}/staging steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Download Slice Tools artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "slice-tools-packages" --dir "${STAGING_DIR}" - name: Publish Slice Tools Packages run: packaging/maven/publish-slice-tools-release.sh if: ${{ inputs.quality == 'nightly' }} env: CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} MAVEN_USERNAME: "nightly" MAVEN_PASSWORD: ${{ secrets.NEXUS_NIGHTLY_PASSWORD }} GPG_KEY: ${{ secrets.ICE_CI_SIGNER_KEY }} GPG_KEY_ID: ${{ secrets.ICE_CI_SIGNER_KEY_ID }} - name: Publish Slice Tools Packages run: packaging/maven/publish-slice-tools-release.sh if: ${{ inputs.quality == 'stable' }} env: CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} GRADLE_PUBLISH_KEY: ${{ secrets.GRADLE_PUBLISH_KEY }} GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }} - name: Clean Credentials if: always() run: rm -f ~/.m2/settings.xml zeroc-ice-3.8.1/.github/workflows/publish-swift-packages.yml000066400000000000000000000027511516567600500241170ustar00rootroot00000000000000name: "Publish Swift Packages" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish-swift-packages: name: "Publish Swift Packages" runs-on: macos-26 # Stable Swift releases must be published manually. if: ${{ inputs.quality == 'nightly' }} steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Download C++ Dependencies for Swift env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo zeroc-ice/ice --pattern "cpp-swift-deps" --dir staging - name: Create ice-swift repository run: ./update-ice-swift-nightly.sh working-directory: packaging/swift env: ICE_NIGHTLY_PUBLISH_TOKEN: ${{ secrets.ICE_NIGHTLY_PUBLISH_TOKEN }} STAGING_DIR: ${{ github.workspace }}/staging/cpp-swift-deps CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} zeroc-ice-3.8.1/.github/workflows/publish-symbols-sources.yml000066400000000000000000000104331516567600500243540ustar00rootroot00000000000000name: "Publish Symbols and Sources" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: # Non-stable releases (nightly, RC) - simple sync to quality-specific paths publish-symbols-sources-nightly: name: "Publish Symbols and Sources (Non-Stable)" if: ${{ inputs.quality != 'stable' }} runs-on: ubuntu-24.04 env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} steps: - name: Download Symbols and Sources artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh run download "${{ inputs.run_id }}" --repo zeroc-ice/ice --pattern "windows-symbols-sources" --dir staging - name: Publish Symbols and Sources run: | # Non-stable only, so path is always ice/${QUALITY}/${CHANNEL} UPLOAD_PATH="ice/${QUALITY}/${CHANNEL}" # Upload sources to S3 (version is already in the directory structure) aws s3 sync "staging/windows-symbols-sources/sources/" "s3://zeroc-downloads/${UPLOAD_PATH}/sources/" # Upload symbol store to S3 aws s3 sync "staging/windows-symbols-sources/symbols/" "s3://zeroc-downloads/${UPLOAD_PATH}/symbols/" env: CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} # Stable releases - incremental update to shared symbol store with proper 000admin handling # Downloads existing 000admin, uses symstore add to create proper transaction, uploads result publish-symbols-sources-stable: name: "Publish Symbols and Sources (Stable)" if: ${{ inputs.quality == 'stable' }} runs-on: windows-2022 env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} S3_BUCKET: ${{ vars.S3_SYMBOLS_BUCKET }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install Windows Debug Tools uses: ./.github/actions/install-windows-debug-tools - name: Download Symbols and Sources artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh run download "${{ inputs.run_id }}" --repo zeroc-ice/ice --pattern "windows-symbols-sources" --dir staging - name: Read version from config id: version run: | source ./config/version.env echo "ice_version=${BASE_VERSION}" >> $GITHUB_OUTPUT shell: bash - name: Download existing 000admin from S3 run: | New-Item -ItemType Directory -Force -Path symbol-store # Download existing 000admin from stable symbol store aws s3 sync "s3://${{ env.S3_BUCKET }}/symstore/000admin/" "symbol-store/000admin/" if (-not (Test-Path "symbol-store/000admin/history.txt")) { Write-Error "No existing 000admin found in stable symbol store - this should not happen" exit 1 } Write-Host "Downloaded existing 000admin" shell: pwsh - name: Add symbols to store using symstore run: | # Add all PDBs in a single transaction # symstore /r recursively finds all PDBs under the staging directory symstore add /3 /compress /r ` /t "Ice" ` /v "${{ steps.version.outputs.ice_version }}" ` /s ${{ github.workspace }}/symbol-store ` /f "${{ github.workspace }}/staging" shell: pwsh - name: Publish Symbols and Sources to S3 run: | # Upload sources to S3 aws s3 sync "staging/windows-symbols-sources/sources/" "s3://${{ env.S3_BUCKET }}/sources/ice/" # Sync the entire symbol store including 000admin aws s3 sync "symbol-store/" "s3://${{ env.S3_BUCKET }}/symstore/" shell: pwsh zeroc-ice-3.8.1/.github/workflows/publish-windows-installer.yml000066400000000000000000000062561516567600500247000ustar00rootroot00000000000000name: "Publish Windows Installer" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The run ID to use for downloading artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: publish-windows-installer: name: "Publish Windows Installer" runs-on: "ubuntu-24.04" steps: - name: Download installer artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "windows-installer" --dir staging - name: Publish Installer Packages run: | if [ "${QUALITY}" = "stable" ]; then UPLOAD_PATH="ice/${CHANNEL}" aws s3 cp staging/windows-installer/*.exe "s3://${S3_DOWNLOADS_BUCKET}/${UPLOAD_PATH}/" else UPLOAD_PATH="ice/${QUALITY}/${CHANNEL}" # Rename the installer for non-stable releases to include the quality in the filename aws s3 cp staging/windows-installer/*.exe "s3://${S3_DOWNLOADS_BUCKET}/${UPLOAD_PATH}/Ice-Services-${QUALITY}.exe" fi env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} S3_DOWNLOADS_BUCKET: ${{ vars.S3_DOWNLOADS_BUCKET }} CHANNEL: ${{ inputs.channel }} QUALITY: ${{ inputs.quality }} publish-winget: name: "Publish to WinGet" if: ${{ inputs.quality == 'stable' }} continue-on-error: true needs: publish-windows-installer runs-on: windows-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Load version run: | source ./config/version.env echo "BASE_VERSION=${BASE_VERSION}" >> $GITHUB_ENV shell: bash - name: Download installer artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh run download "${{ inputs.run_id }}" --repo ${{ github.repository }} --pattern "windows-installer" --dir staging - name: Submit to WinGet env: CHANNEL: ${{ inputs.channel }} WINGET_PAT: ${{ secrets.WINGET_GITHUB_PAT }} run: | $exeFile = Get-ChildItem staging/windows-installer/*.exe | Select-Object -First 1 $downloadUrl = "https://download.zeroc.com/ice/${env:CHANNEL}/$($exeFile.Name)" Write-Host "Download URL: $downloadUrl" Write-Host "Version: $env:BASE_VERSION" Invoke-WebRequest https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe .\wingetcreate.exe update ZeroC.IceServices ` --urls $downloadUrl ` --version $env:BASE_VERSION ` --submit ` --token $env:WINGET_PAT shell: pwsh zeroc-ice-3.8.1/.github/workflows/python.yml000066400000000000000000000023411516567600500210570ustar00rootroot00000000000000name: Python on: workflow_dispatch: push: branches: ["3.8"] pull_request: # The branches below must be a subset of the branches above branches: ["3.8"] jobs: ruff: name: Ruff runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Python uses: ./.github/actions/setup-python - name: Install Ruff run: pip install ruff - name: Ruff check run: ruff check . --ignore E402 - name: Ruff format run: ruff format . --check --diff pyright: name: Pyright runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Python uses: ./.github/actions/setup-python - name: Install the latest version of uv uses: astral-sh/setup-uv@v7 - name: Install Python dependencies working-directory: python run: uv sync --group dev - name: Build Ice for Python run: | make -C cpp srcs make -C python - name: Pyright check working-directory: python run: | uv run pyright . zeroc-ice-3.8.1/.github/workflows/swift.yml000066400000000000000000000015721516567600500206770ustar00rootroot00000000000000name: Swift on: workflow_dispatch: push: branches: ["3.8"] pull_request: # The branches below must be a subset of the branches above branches: ["3.8"] jobs: swift-format: name: Swift format and lint runs-on: ubuntu-24.04 container: image: swift volumes: - ${{ github.workspace }}:${{ github.workspace }} steps: - name: Checkout repository uses: actions/checkout@v4 # https://github.com/actions/runner/issues/2033 - name: Set safe directory run: | git config --global --add safe.directory /__w/ice/ice - name: swift-format Format run: | swift format . --recursive --in-place --configuration .swift-format.json git diff --exit-code - name: swift-format Lint run: swift format lint . --recursive --strict --configuration .swift-format.json zeroc-ice-3.8.1/.github/workflows/test-pip-package.yml000066400000000000000000000060711516567600500227000ustar00rootroot00000000000000name: "Test PIP Package" on: workflow_dispatch: push: branches: ["main"] paths: - "python/**" - "slice/**" - ".github/actions/setup-cpp/**" - ".github/actions/setup-python/**" pull_request: branches: ["main"] paths: - "python/**" - "slice/**" - ".github/actions/setup-cpp/**" - ".github/actions/setup-python/**" jobs: build-sdist: runs-on: ubuntu-24.04 steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp - name: Setup Python uses: ./.github/actions/setup-python - name: Install Build Dependencies run: | python -m pip install --upgrade pip python -m pip install build - name: Build Source Distribution working-directory: python run: python -m build --sdist - name: Upload sdist uses: actions/upload-artifact@v4 with: name: sdist path: python/dist/zeroc_ice-*.tar.gz test-pip-package: needs: build-sdist strategy: fail-fast: false matrix: os: [ubuntu-24.04, macos-26, windows-2022] runs-on: ${{ matrix.os }} steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup C++ uses: ./.github/actions/setup-cpp with: profile: pip-bdist - name: Setup Python uses: ./.github/actions/setup-python - name: Download sdist uses: actions/download-artifact@v4 with: name: sdist path: sdist - name: Build Wheel from sdist (Unix) if: runner.os != 'Windows' run: | python -m pip install --upgrade pip pip wheel sdist/*.tar.gz --no-deps -w dist/ - name: Build Wheel from sdist (Windows) if: runner.os == 'Windows' shell: pwsh run: | python -m pip install --upgrade pip pip wheel (Get-ChildItem sdist\*.tar.gz).FullName --no-deps -w dist/ - name: Create Test Virtual Environment run: python -m venv test-venv - name: Install Package (Unix) if: runner.os != 'Windows' run: | source test-venv/bin/activate pip install dist/*.whl pip install cryptography - name: Install Package (Windows) if: runner.os == 'Windows' shell: pwsh run: | test-venv\Scripts\Activate.ps1 pip install (Get-ChildItem dist\*.whl).FullName pip install cryptography - name: Run Tests (Unix) if: runner.os != 'Windows' working-directory: python run: | source ../test-venv/bin/activate python allTests.py --load-slice --pip-package --rfilter="Glacier2|IceGrid|IceBox|IceMX" - name: Run Tests (Windows) if: runner.os == 'Windows' working-directory: python shell: pwsh run: | ..\test-venv\Scripts\Activate.ps1 python allTests.py --load-slice --pip-package --rfilter="Glacier2|IceGrid|IceBox|IceMX" zeroc-ice-3.8.1/.github/workflows/upload-release-assets.yml000066400000000000000000000077001516567600500237440ustar00rootroot00000000000000name: "Upload Release Assets" on: workflow_dispatch: inputs: channel: description: "The release channel (e.g., 3.9, 3.8)" required: true quality: description: "Release quality (e.g., stable, nightly, RC)" required: true default: "nightly" run_id: description: "The GitHub run ID to use for artifacts" required: true workflow_call: inputs: channel: required: true type: string quality: required: true type: string run_id: required: true type: string jobs: upload-release-assets: # For stable channels if running on a tag, we upload the release assets to the tag. if: ${{ inputs.quality == 'stable' && startsWith(github.ref, 'refs/tags/') }} runs-on: ubuntu-24.04 steps: - name: Ensure tag matches channel run: | case "${GITHUB_REF}" in refs/tags/v${{ inputs.channel }}*) echo "Tag matches channel" ;; *) echo "⌠Tag '${GITHUB_REF}' does not match channel '${{ inputs.channel }}'" exit 1 ;; esac - name: Checkout repository uses: actions/checkout@v4 - name: Download artifacts env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} RUN_ID: ${{ inputs.run_id }} run: | set -euo pipefail mkdir -p staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "deb-packages-*" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "dotnet-nuget-packages" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "gem-packages" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "cpp-swift-deps" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "matlab-packages-*" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "windows-installer" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "java-packages" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "slice-tools-packages" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "js-npm-packages" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "pip-sdist" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "pip-packages-*" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "rpm-packages-*" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "icegridgui-jar-Windows" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "icegridgui-jar-macOS" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "icegridgui-macos-app" --dir staging gh run download "$RUN_ID" --repo ${{ github.repository }} --pattern "windows-symbols-sources" --dir staging - name: Prepare Release Assets run: ./packaging/release/prepare-release-assets.sh env: STAGING_DIR: ${{ github.workspace }}/staging - name: Upload Release Assets env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | set -euo pipefail TAG="${GITHUB_REF#refs/tags/}" TITLE="Ice ${TAG}" # Check if the release already exists if ! gh release view "$TAG" &>/dev/null; then echo "Creating draft release for $TAG..." gh release create "$TAG" --title "$TITLE" --notes "" --draft fi # Upload artifacts to the release echo "Uploading artifacts to release $TAG..." gh release upload "$TAG" release/* --clobber zeroc-ice-3.8.1/.github/workflows/whitespace.yml000066400000000000000000000010041516567600500216650ustar00rootroot00000000000000name: Whitespace on: workflow_dispatch: push: branches: ["3.8"] pull_request: # The branches below must be a subset of the branches above branches: ["3.8"] jobs: whitespace-validation: name: Validate trailing whitespace and consecutive empty lines runs-on: ubuntu-24.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Run whitespace validation uses: zeroc-ice/github-actions/@main with: whitespace_patterns: "'*'" zeroc-ice-3.8.1/.gitignore000066400000000000000000000037311516567600500154120ustar00rootroot00000000000000# Ignore objects and archives. *.aps *.[oa] *.obj *.dll *.ilk *.so *.so.* *.sl *.dylib *.pyc *.class *.exe *.mdb *.pdb *.tds *.bak *.ncb # .sdf is the Visual Studio 2010 equivalent to .ncb *.sdf # .VC.db is is the new IntelliSense database, it replaces the old .sdf *.VC.db # Visual Studio Hosting process configuration files *.vshost.exe.* *.opt *.user *.res *.exp .gdb_history .DS_Store *# .#* *~ *.lib *.idb *.suo *.xap core.* tmp_*.xml obj *.RES ClientBin vcproj .metadata # VIM swap file *.swp .keychain # Eclipse .externalToolBuilders # macOS Keychain *.keychain .fl???????? passwords # Makefile Build System build !.github/actions/build !.github/workflows/build* generated .depend # MSBuild Build System [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ x64/ x86/ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ !.github/workflows/release !packaging/release # Visual Studio *.opendb # Visual Studio 2015 cache/options directory .vs/ # Backup & report files from converting an old project file # to a newer Visual Studio version. Backup files are not needed, # because we have git ;-) _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm # SliceCompile dependency files SliceCompile.d xcuserdata xcshareddata /sdk # SliceCompile build log SliceCompile.command.*.log # Nuget packages **/msbuild/packages/* *.nupkg **/netstandard2.0/netstandard2.0/* **/netstandard2.0/netcoreapp3.*/* AppPackages BundleArtifacts csharp/AppX *.deps.json *.runtimeconfig.dev.json *.runtimeconfig.json cpp/AppX cpp/test/Slice/errorDetection/tmp # iOS builds **/objs-*/ **/build-*/ .classpath .project .settings *.dep # Android Tets **/android/**/raw/*.p12 # Log files generated by the test suite. *.log # Top level log dir where we store simulator logs /logs # Clang's compilation database file compile_commands.json # Python Formatter cache .ruff_cache # Python venv .venv # SPM build artifacts .build .swiftpm # LLVM Code Coverage maps *.profraw *.profdata packaging/msi/staging *.binlog *.tar.gz .kotlin zeroc-ice-3.8.1/.lychee.toml000066400000000000000000000023111516567600500156370ustar00rootroot00000000000000# Lychee link checker configuration # https://lychee.cli.rs/ # Maximum number of concurrent requests max_concurrency = 32 # Minimum interval between requests to the same host host_request_interval = "50ms" # Timeout for each request in seconds timeout = 30 # Number of retries for failed requests max_retries = 3 # User agent string user_agent = "Mozilla/5.0 (compatible; lychee/0.15; +https://github.com/lycheeverse/lychee)" # Exclude patterns exclude = [ # Localhost and local files "^file://", "^https?://localhost", "^https?://127\\.0\\.0\\.1", # Example domains "^https?://example\\.com", # Mail links "^mailto:", # GitHub edit/blame links (may require auth) "github\\.com/.*/edit/", "github\\.com/.*/blame/", # Gitter (no longer used) "^https?://gitter\\.im", # npm returns 403 to bots "^https?://www\\.npmjs\\.com", # Symbol server "^https?://symbols\\.zeroc\\.com", ] # Exclude paths from being checked exclude_path = [ "cpp/doxygen", "doxygen", "js/packages/test/Common/controller.html", ] # Accept these status codes as valid accept = [200, 204, 206, 301, 308] # Include fragments (anchors) in checks include_fragments = true zeroc-ice-3.8.1/.mailmap000066400000000000000000000001341516567600500150350ustar00rootroot00000000000000 Benoit Foucher bentoi zeroc-ice-3.8.1/.markdownlint.json000066400000000000000000000001261516567600500170770ustar00rootroot00000000000000{ "no-duplicate-heading": { "siblings_only": true }, "line-length": false } zeroc-ice-3.8.1/.spi.yml000066400000000000000000000003021516567600500150050ustar00rootroot00000000000000# See https://swiftpackageindex.com/swiftpackageindex/spimanifest/1.11.0/documentation/spimanifest version: 1 builder: configs: - documentation_targets: [Ice, Glacier2, IceGrid, IceStorm] zeroc-ice-3.8.1/.swift-format.json000066400000000000000000000050431516567600500170130ustar00rootroot00000000000000{ "fileScopedDeclarationPrivacy": { "accessLevel": "private" }, "indentation": { "spaces": 4 }, "indentConditionalCompilationBlocks": true, "indentSwitchCaseLabels": false, "lineBreakAroundMultilineExpressionChainComponents": false, "lineBreakBeforeControlFlowKeywords": false, "lineBreakBeforeEachArgument": false, "lineBreakBeforeEachGenericRequirement": false, "lineLength": 120, "maximumBlankLines": 1, "multiElementCollectionTrailingCommas": true, "noAssignmentInExpressions": { "allowedFunctions": [ "XCTAssertNoThrow" ] }, "prioritizeKeepingFunctionOutputTogether": false, "respectsExistingLineBreaks": true, "rules": { "AllPublicDeclarationsHaveDocumentation": false, "AlwaysUseLiteralForEmptyCollectionInit": false, "AlwaysUseLowerCamelCase": false, "AmbiguousTrailingClosureOverload": true, "BeginDocumentationCommentWithOneLineSummary": false, "DoNotUseSemicolons": true, "DontRepeatTypeInStaticProperties": true, "FileScopedDeclarationPrivacy": true, "FullyIndirectEnum": true, "GroupNumericLiterals": true, "IdentifiersMustBeASCII": true, "NeverForceUnwrap": false, "NeverUseForceTry": false, "NeverUseImplicitlyUnwrappedOptionals": false, "NoAccessLevelOnExtensionDeclaration": true, "NoAssignmentInExpressions": true, "NoBlockComments": true, "NoCasesWithOnlyFallthrough": true, "NoEmptyTrailingClosureParentheses": true, "NoLabelsInCasePatterns": true, "NoLeadingUnderscores": false, "NoParensAroundConditions": true, "NoPlaygroundLiterals": true, "NoVoidReturnOnFunctionSignature": true, "OmitExplicitReturns": false, "OneCasePerLine": true, "OneVariableDeclarationPerLine": true, "OnlyOneTrailingClosureArgument": true, "OrderedImports": true, "ReplaceForEachWithForLoop": true, "ReturnVoidInsteadOfEmptyTuple": true, "TypeNamesShouldBeCapitalized": true, "UseEarlyExits": false, "UseLetInEveryBoundCaseVariable": true, "UseShorthandTypeNames": true, "UseSingleLinePropertyGetter": true, "UseSynthesizedInitializer": true, "UseTripleSlashForDocumentationComments": true, "UseWhereClausesInForLoops": false, "ValidateDocumentationComments": false }, "spacesAroundRangeFormationOperators": false, "tabWidth": 8, "version": 1 } zeroc-ice-3.8.1/.vscode/000077500000000000000000000000001516567600500147575ustar00rootroot00000000000000zeroc-ice-3.8.1/.vscode/cspell.json000066400000000000000000000020641516567600500171360ustar00rootroot00000000000000{ "version": "0.2", "language": "en", "words": [ "apos", "autoreleasepool", "Blobject", "Browsable", "cacerts", "datagram", "datagrams", "decoratee", "demangled", "demangles", "docfx", "DTLS", "finalizer", "finalizers", "icegrid", "icegridadmin", "icegridnode", "icestorm", "istr", "jgoodies", "LMDB", "nohup", "nullopt", "oneway", "ostr", "PKCS", "Postamble", "reloadable", "RFCOMM", "slnx", "soversion", "Stringifier", "Syscall", "Truststore", "twoway", "unmarshal", "unmarshaling", "unmarshals", "unregisters", "upcall", "upcalls", "zeroc" ], "flagWords": [ "wether" ], "dictionaries": [ "csharp", "softwareTerms", "en_US" ], "enableFiletypes": [ "ice" ] } zeroc-ice-3.8.1/.vscode/extensions.json000066400000000000000000000001331516567600500200460ustar00rootroot00000000000000{ "recommendations": [ "ZeroCInc.slice", "charliermarsh.ruff", ] } zeroc-ice-3.8.1/.vscode/launch.json000066400000000000000000000012731516567600500171270ustar00rootroot00000000000000{ "configurations": [ { "type": "swift", "request": "launch", "args": [], "cwd": "${workspaceFolder:ice}", "name": "Debug slice2swift", "target": "slice2swift", "configuration": "debug", "preLaunchTask": "swift: Build Debug slice2swift" }, { "type": "swift", "request": "launch", "args": [], "cwd": "${workspaceFolder:ice}", "name": "Release slice2swift", "target": "slice2swift", "configuration": "release", "preLaunchTask": "swift: Build Release slice2swift" } ] } zeroc-ice-3.8.1/.vscode/settings.json000066400000000000000000000005721516567600500175160ustar00rootroot00000000000000{ "C_Cpp.autoAddFileAssociations": false, "files.associations": { "Make.*": "makefile" }, "C_Cpp.default.cppStandard": "c++20", "[java]": { "editor.formatOnSave": false }, "[swift]": { "editor.formatOnSave": false }, "[xml]": { "editor.formatOnSave": false }, "markdown.extension.toc.levels": "1..4" } zeroc-ice-3.8.1/BLUETOOTH.md000066400000000000000000000062751516567600500153170ustar00rootroot00000000000000# Bluetooth Testing Guide This document describes how to run the Ice test suite over Bluetooth connections between different language mappings. ## Prerequisites - C++ and Java source builds, refer to the [cpp/BUILDING.md] and [java/BUILDING.md] for details - An Android device with Bluetooth capability - The [Android test controller] application installed and running on the device - Bluetooth adapters on both client and server machines - Paired Bluetooth devices (the Android device and the machine running the C++ tests) ## Run C++ Client Against Android Server Over Bluetooth First, start the Android test controller application on your device. From the `java` directory, start the Python controller to manage the Android server: ```bash python ../scripts/Controller.py --host-bt="A4:FF:9F:A6:48:C1" --host=192.168.1.51 --id=server --android ``` Where: - `--host-bt` is the Bluetooth address of the Android device running the server - `--host` is the IP address of the Android device running the server - `--id=server` identifies this controller as managing servers - `--android` indicates this is controlling an Android device Then from the `cpp` directory, start the C++ test suite to run against the Android servers: ```bash python ./allTests.py --server=server --protocol=bt --cross=java ``` Where: - `--server=server` indicates to use the remote server controller - `--protocol=bt` specifies to use Bluetooth transport, use `--protocol=bts` to test Bluetooth over SSL - `--cross=java` indicates cross-language testing with Java servers ## Run Android Client Against C++ Server Over Bluetooth First, start the Android test controller application on your device. From the `cpp` directory, start the Python controller to manage the C++ server: ```bash python ../scripts/Controller.py --host-bt="00:15:83:ED:D7:29" --host=192.168.1.48 --id=server ``` Where: - `--host-bt` is the Bluetooth address of the machine running the C++ server - `--host` is the IP address of the machine running the C++ server - `--id=server` identifies this controller as managing servers Then from the `java` directory, start the Java/Android test suite to run against the C++ servers: ```bash python ./allTests.py --server=server --protocol=bt --cross=cpp --android ``` Where: - `--server=server` indicates to use the remote server controller - `--protocol=bt` specifies to use Bluetooth transport, use `--protocol=bts` to test Bluetooth over SSL - `--cross=cpp` indicates cross-language testing with C++ servers - `--android` runs the Android client tests ## Finding Bluetooth Addresses On Linux, you can find the Bluetooth address of your machine using: ```bash hciconfig ``` On Android, go to Settings → About phone → Status (or Settings → System → About phone) to find the Bluetooth address. ## Troubleshooting - Ensure Bluetooth is enabled on all devices - Verify devices are paired before running tests - Check that the Android test controller application is running and visible - Ensure IP addresses and Bluetooth addresses are correct - Use `--debug` flag for verbose output to diagnose connection issues [Android test controller]: java/test//android/controller/ [cpp/BUILDING.md]: cpp/BUILDING.md [java/BUILDING.md]: java/BUILDING.md zeroc-ice-3.8.1/CHANGELOG-3.8.md000066400000000000000000002135311516567600500155420ustar00rootroot00000000000000# Ice 3.8 Changelog The entries below contain brief descriptions of the changes in each release, in no particular order. Some of the entries reflect significant new additions, while others represent minor corrections. Although this list is not a comprehensive report of every change we made in a release, it does provide details on the changes we feel Ice users might need to be aware of. - [Changes in Ice 3.8.1](#changes-in-ice-381) - [General Changes](#general-changes) - [IceSSL Changes](#icessl-changes) - [C++ Changes](#c-changes) - [JavaScript Changes](#javascript-changes) - [Python Changes](#python-changes) - [Swift Changes](#swift-changes) - [Ice Service Changes](#ice-service-changes) - [Glacier2](#glacier2) - [IceDiscovery](#icediscovery) - [Packaging Changes](#packaging-changes) - [Changes in Ice 3.8.0](#changes-in-ice-380) - [General Changes](#general-changes-1) - [Packaging Changes](#packaging-changes-1) - [Slice Language Changes](#slice-language-changes) - [IceSSL Changes](#icessl-changes-1) - [Integration with Platform SSL Engines](#integration-with-platform-ssl-engines) - [Removed Support for OpenSSL on Windows](#removed-support-for-openssl-on-windows) - [Removed IceSSL APIs](#removed-icessl-apis) - [Updated IceSSL Properties](#updated-icessl-properties) - [Removed IceSSL Properties](#removed-icessl-properties) - [C++ Changes](#c-changes-1) - [C# Changes](#c-changes-2) - [Java Changes](#java-changes) - [JavaScript Changes](#javascript-changes-1) - [MATLAB Changes](#matlab-changes) - [Objective-C Changes](#objective-c-changes) - [PHP Changes](#php-changes) - [Python Changes](#python-changes-1) - [Ruby Changes](#ruby-changes) - [Swift Changes](#swift-changes-1) - [Ice Service Changes](#ice-service-changes-1) - [DataStorm](#datastorm) - [Glacier2](#glacier2-1) - [IceBox](#icebox) - [IceGrid](#icegrid) - [IcePatch2](#icepatch2) - [IceStorm](#icestorm) ## Changes in Ice 3.8.1 These are the changes since the Ice 3.8.0 release. ### General Changes - Updated MCPP to [2.7.2.20](https://github.com/zeroc-ice/mcpp/releases/tag/v2.7.2.20), which fixes a heap-based buffer overflow (CVE-2019-14274) and a segfault caused by macro parameter corruption. This update applies to the EL9, EL10, and Windows builds; other platforms use MCPP packages provided by the system. - The IceBox client library is now available in Swift, MATLAB, and JavaScript, matching the functionality already available in C++, C#, Java, and Python. (https://github.com/zeroc-ice/ice/pull/5030) ### IceSSL Changes - Fixed the TrustManager in C# and Java to properly handle the rare situation where Ice's RFC 2253 parser cannot parse a certificate's subject DN string produced by the platform's SSL stack. Previously, a parse failure could bypass `IceSSL.TrustOnly` reject rules. (https://github.com/zeroc-ice/ice/pull/5117) - Fixed a dangling pointer in Schannel hostname verification where a temporary string was destroyed before `CertVerifyCertificateChainPolicy` read from it, potentially causing incorrect hostname validation or crashes on Windows. (https://github.com/zeroc-ice/ice/pull/5100) - Fixed misleading OpenSSL handshake error messages caused by stale errors in the OpenSSL error queue. (https://github.com/zeroc-ice/ice/pull/5106) - SSL passwords are now cleared from memory after engine initialization instead of persisting for the engine's entire lifetime. (https://github.com/zeroc-ice/ice/pull/5108) - Fixed the Java SSL engine creating a new default `SSLParameters` object instead of preserving the existing engine parameters when enabling `IceSSL.CheckCertName` hostname verification. (https://github.com/zeroc-ice/ice/pull/5116) ### C++ Changes - Fixed build failures with Clang in C++23 and C++26 modes. (https://github.com/zeroc-ice/ice/pull/4811) - Improved `OutputStream::writeConverted` performance by simplifying the size encoding logic, eliminating unnecessary memory operations when marshaling strings. This applies to applications that use a narrow string converter (non-UTF-8 encoding). (https://github.com/zeroc-ice/ice/pull/5039) - Fixed `iceserviceinstall` to correctly accept IceGrid and Glacier2 property prefixes. (https://github.com/zeroc-ice/ice/pull/4810) - Fixed the default value for `IceSSL.RevocationCheckCacheOnly` from 0 to 1, so that certificate revocation checks use only the local cache by default. (https://github.com/zeroc-ice/ice/issues/2133) - Fixed a data race in the IceBT DBus message handler. (https://github.com/zeroc-ice/ice/issues/5073) - Fixed duplicate error handling in the IceBT stream socket read path. (https://github.com/zeroc-ice/ice/issues/5074) - Added Slice dependency tracking to the CMake `slice2cpp_generate` function, so changes to included `.ice` files automatically trigger recompilation. (https://github.com/zeroc-ice/ice/pull/5065) - Fixed `icegriddb` and `icestormdb` import failures caused by using `vector::reserve` instead of `vector::resize`, and a crash when passing an empty `--mapsize` argument. (https://github.com/zeroc-ice/ice/pull/5137) ### JavaScript Changes - Created new `@zeroc/slice2js` npm package, which includes the `slice2js` compiler and an unplugin plugin compatible with modern JavaScript build tools (Vite, Rollup, Webpack, esbuild). (https://github.com/zeroc-ice/ice/pull/5031) - Added module aggregation support to `slice2js`. The compiler now automatically aggregates nested submodules from direct and transitive includes, making module imports more natural in JavaScript and TypeScript projects. (https://github.com/zeroc-ice/ice/pull/5020) - Fixed inactivity timeout not being correctly converted from seconds to milliseconds, which could cause incorrect connection timeout behavior. (https://github.com/zeroc-ice/ice/issues/4956) - Fixed missing `onerror` handler on WebSocket connections, which could cause unhandled errors during connection establishment. (https://github.com/zeroc-ice/ice/issues/4968) - Fixed `slice2js` generating invalid JavaScript identifiers from Slice files or modules with hyphenated names. (https://github.com/zeroc-ice/ice/pull/5029) - Fixed `slice2js` generating malformed import statements when including Slice files from built-in Ice services such as Glacier2, IceGrid, or IceStorm. (https://github.com/zeroc-ice/ice/issues/4913) - Added address information to socket exceptions for better error diagnostics. (https://github.com/zeroc-ice/ice/pull/4997) - Improved string encoding and decoding performance by using the `TextEncoder` and `TextDecoder` APIs. (https://github.com/zeroc-ice/ice/issues/5008, https://github.com/zeroc-ice/ice/pull/5069) - Fixed WebSocket URL construction to properly bracket IPv6 addresses and use port 443 as the default for `wss` connections. (https://github.com/zeroc-ice/ice/issues/5083, https://github.com/zeroc-ice/ice/issues/5084) - Fixed encoding version validation incorrectly checking the protocol version field instead of the encoding version field in message headers. (https://github.com/zeroc-ice/ice/issues/5078) - Fixed `getPropertyAsList` returning an incorrect default value and `Properties.parse` crashing on empty content. (https://github.com/zeroc-ice/ice/issues/5079, https://github.com/zeroc-ice/ice/issues/5082) - Fixed exception chaining to use `{ cause: ex }` consistently across the runtime. (https://github.com/zeroc-ice/ice/issues/5085) ### Python Changes - Improved generated doc-comments in the Python Slice compiler (`slice2py`) and `IcePy` extension, including source-ordered member output, doc-comments for constants, and more complete and consistent documentation. ([#4817](https://github.com/zeroc-ice/ice/pull/4817), [#4834](https://github.com/zeroc-ice/ice/pull/4834), [#4835](https://github.com/zeroc-ice/ice/pull/4835), [#4862](https://github.com/zeroc-ice/ice/pull/4862), [#4883](https://github.com/zeroc-ice/ice/pull/4883)) - Fixed `python-config` usage in the build system to use `--includes` instead of `--cflags`, avoiding invalid C-specific flags during C++ compilation. (https://github.com/zeroc-ice/ice/pull/4866) ### Swift Changes - The `CompileSlice` SwiftPM plugin now auto-detects the Ice slice directory, eliminating the need for manual configuration when including Ice Slice definitions. (https://github.com/zeroc-ice/ice/pull/4999) - SwiftPM now uses a prebuilt `slice2swift` artifact bundle, reducing build times and removing the MCPP dependency from the Ice for Swift SPM package. (https://github.com/zeroc-ice/ice/pull/5007) - Fixed a rare crash in `ICELocalObject` dealloc caused by recursive deallocation via ARC weak reference reads. (https://github.com/zeroc-ice/ice/issues/4143) ### Ice Service Changes #### Glacier2 - Fixed `FilterManager` adapter ID filter being polluted with category filter entries when both `Glacier2.Filter.Category.Accept` and `Glacier2.Filter.AdapterId.Accept` were configured. (https://github.com/zeroc-ice/ice/pull/5152) - Fixed `MatchesString::match` in the proxy address verifier ignoring the `pos` parameter, which could cause incorrect proxy filtering behavior with address filters containing numeric ranges. (https://github.com/zeroc-ice/ice/pull/5154) #### IceDiscovery - Fixed the C++ IceDiscovery implementation silently keeping a stale adapter proxy when an adapter ID is re-registered, for example after a server crash or a network failure during shutdown. (https://github.com/zeroc-ice/ice/pull/5170) ### Packaging Changes - The Windows installer is now distributed as a Burn bundle (.exe) that automatically installs the Visual C++ Redistributable as a prerequisite. - Ice is now available as a WinGet package. - Added IceBT library to RPM distributions. (https://github.com/zeroc-ice/ice/issues/4749) - Added symbols server support for Windows releases. - NuGet packages now use service-specific icons. (https://github.com/zeroc-ice/ice/pull/5053) ## Changes in Ice 3.8.0 These are the changes since the [Ice 3.7.10] release. ### General Changes - Replaced ACM and connection timeouts by idle, inactivity, connect, and close timeouts. - Idle timeout\ Once a connection is established, this connection is considered healthy as long as it does not wait for more than idle timeout to read a byte. If a connection waits for more than idle timeout to read a byte, it is considered idle and aborted by the idle check mechanism. Idle is never a good state. To prevent connections from becoming idle, Ice ensures there is regular write activity on established connections: if there is no write on a connection for idle timeout / 2, Ice sends a heartbeat on this connection. A heartbeat is a one-way, unacknowledged, ValidateConnection message. The default idle timeout is 60 seconds. You can change this value with the configuration property `Ice.Connection.Client.IdleTimeout` (for client connections) or `Ice.Connection.Server.IdleTimeout` (for server connections). The unit for this timeout is seconds. You can also override this value for a specific object adapter with the configuration property `AdapterName.Connection.IdleTimeout`. We recommend keeping things simple: use the same value (typically the default) for all your Ice applications. In particular, the idle timeout is not negotiated during connection establishment and an idle timeout mismatch may result in untimely connection aborts. - **Interop with Ice 3.7 and earlier releases**\ If your Ice 3.8 application connects to an older Ice server or accepts a connection from an older Ice client, you need to change the configuration of your older Ice application to send regular heartbeats. Otherwise, your Ice 3.8 application can consider the connection idle (after idle timeout) and abort this connection. With Ice 3.7 and Ice 3.6, you can set the property `Ice.ACM.Heartbeat` to 3, and make sure the `Ice.ACM.Timeout` property matches your idle timeout (the default for the ACM timeout is 60 seconds, just like the default idle timeout). If you are unable to change the configuration of your older Ice application, you can switch off the idle check on the Ice 3.8 side by setting `Ice.Connection.Client.EnableIdleCheck` or `Ice.Connection.Server.EnableIdleCheck` to 0. You can also switch off the idle check for just a specific object adapter by setting `AdapterName.Connection.EnableIdleCheck` to 0. - **Interop with IceRPC**\ [IceRPC] uses the same idle timeout and idle check mechanism for connections that use the `ice` protocol. - Inactivity timeout\ A connection is considered inactive when there is no application-level activity on this connection: there is no outstanding invocation (we're not waiting for a response for a request we've sent), there is no outstanding dispatch, and no request or response is being sent or received. Sending or receiving a heartbeat (see above) does not count as application-level activity. When a connection remains inactive for more than the inactivity timeout, this connection is closed gracefully. Inactive is a good state: the connection is healthy but unused, so we shut it down to reclaim resources. The default inactivity timeout is 300 seconds. You can change this default by setting `Ice.Connection.Client.InactivityTimeout` (for client connections) or `Ice.Connection.Server.InactivityTimeout` (for server connections). The unit for this timeout is seconds. You can also override this value for a specific object adapter with the configuration property `AdapterName.Connection.InactivityTimeout`. You can also disable the inactivity timeout/check on a connection programmatically by calling `disableInactivityCheck` on the connection. This disables the inactivity check only on your end of the connection.\ Make sure your inactivity timeout is greater than your idle timeout, as the implementation of the inactivity timeout relies on a smaller idle timeout value. If you disable your idle timeout by setting it to 0 or very large value (not something we recommend), you will effectively disable your inactivity timeout as well. - Connect timeout\ A connection establishment fails if it takes more than connect timeout to complete. The default connect timeout is 10 seconds. You can change this value by setting `Ice.Connection.Client.ConnectTimeout` (for client connections) or `Ice.Connection.Server.ConnectTimeout` (for server connections). The unit for this timeout is seconds. You can also override this value for a specific object adapter with the configuration property `AdapterName.Connection.ConnectTimeout`. - Close timeout\ A graceful connection closure transitions to connection abort if it takes more than close timeout to complete. The default close timeout is 10 seconds. You can change this value by setting `Ice.Connection.Client.CloseTimeout` (for client connections) or `Ice.Connection.Server.CloseTimeout` (for server connections). The unit for this timeout is seconds, as usual. You can also override this value for a specific object adapter with the configuration property `AdapterName.Connection.CloseTimeout`. - Removed all properties and APIs related to the old endpoint/connection timeouts: `Ice.Default.Timeout`, `Ice.Override.Timeout`, `Ice.Override.ConnectTimeout`, `Ice.Override.CloseTimeout`, `ice_timeout`, etc. The default timeout assigned to new `tcp`, `ssl`, `ws`, `wss`, etc. endpoints is now always 60,000 ms. This timeout has no effect on Ice 3.8 applications but it can have an effect on older Ice applications that receive proxies with such endpoints. - Removed the `setHeartbeatCallback` operation on `Connection`. - Add new properties for flow control. - Max dispatches\ The maximum number of concurrent dispatches for each connection is now 100. You can change this value by setting `Ice.Connection.Client.MaxDispatches` (for client connections) or `Ice.Connection.Server.MaxDispatches` (for server connections). You can also override this value for a specific object adapter with the configuration property `AdapterName.Connection.MaxDispatches`. When the limit is reached, Ice stops reading from the connection, which applies back pressure on the peer. Ice for JavaScript doesn't implement max dispatches because the WebSocket APIs doesn't provide a mechanism to stop reading and apply back pressure. - Max connections\ The property _adapter_.MaxConnections limits the number of incoming connections accepted by an object adapter. The default is 0, which means no limit. - Simplify proxy creation. You can now create a typed proxy directly from a communicator and a string in all languages. For example: ```cpp // C++ GreeterPrx greeter{communicator, "greeter:tcp -h localhost -p 4061"}; ``` ```csharp // C# var greeter = GreeterPrxHelper.createProxy(communicator, "greeter:tcp -h localhost -p 4061"); ``` ```java // Java var greeter = GreeterPrx.createProxy(communicator, "greeter:tcp -h localhost -p 4061"); ``` ```js // JavaScript const greeter = new GreeterPrx(communicator, "greeter:tcp -h localhost -p 4061"); ``` ```matlab % MATLAB greeter = GreeterPrx(communicator, 'greeter:tcp -h localhost -p 4061'); ``` ```php // PHP $greeter = GreeterPrxHelper::createProxy($communicator, 'greeter:tcp -h localhost -p 4061'); ``` ```python # Python greeter = GreeterPrx(communicator, "greeter:tcp -h localhost -p 4061") ``` ```ruby # Ruby greeter = GreeterPrx.new(communicator, "greeter:tcp -h localhost -p 4061") ``` ```swift // Swift let greeter = try makeProxy( communicator: communicator, proxyString: "greeter:tcp -h localhost -p 4061", type: GreeterPrx.self) ``` ```ts // TypeScript const greeter = new GreeterPrx(communicator, "greeter:tcp -h localhost -p 4061"); ``` The existing `stringToProxy` operation on `Communicator` remains available. However, the new syntax is now the preferred way to create a proxy from a string. - Reduced the number of `initialize` functions that create a `Communicator`. You can now pass either an `InitializationData` to `initialize`, or a command-line argument vector. If you were using another overload, you should update your code to construct an `InitializationData`. - Add new dispatcher API in C++, C#, Java, JavaScript, and Swift. - Replaced dispatch interceptors by middleware. See the new forwarder and middleware demos. - Changed the name of the Ice 3.7 dispatcher API: it's now called executor. - Add new property `Ice.Warn.Executor`: when 1 (the default), the communicator logs a warning when a custom executor throws an exception. - Add `setDefaultObjectAdapter` operation on Communicator to simplify the creation of bidir connections. See the updated Ice/bidir demo. - Rework the published endpoints of object adapters - The published endpoints of an object adapter are the endpoint(s) included in the proxies returned by the `add` and `createProxy` operations on an object adapter. For indirect object adapters, the published endpoints are the endpoints registered with the Ice Locator (typically the IceGrid registry). - Improved the algorithm for computing the default published endpoints. - Add new _adapter_.PublishedHost property, used to compute the default published endpoints. - Removed the `refreshPublishedEndpoints` operation on `ObjectAdapter`. - Removed the `secure` proxy option, the `PreferSecure` proxy property, and all associated properties (`Ice.Default.PreferSecure`, `Ice.Override.Secure`) and proxy methods (`ice_secure`, `ice_preferSecure`, etc.). `secure` and `PreferSecure` were about handling proxies with both tcp and ssl endpoints (or ws and wss endpoints). You should not create such "client-decides-on-security" proxies, and Ice no longer provides special support for these proxies. If you still use such proxies (even though you shouldn't), the communicator no longer prefers secure or non-secure endpoints when establishing a connection for such a proxy: all endpoints are treated the same. - The default value for `Ice.ClassGraphDepthMax` is now `10`. In Ice 3.7, the default was `0`, which meant the class graph depth was unlimited. - Refactored the unmarshaling of Slice-defined classes and exceptions. When Ice unmarshals a Slice-defined class or exception, it first needs to locate and create an instance of the mapped C++/C#/Java (...) class, using the default parameter-less constructor of the mapped class. The new abstraction for this process is the Slice loader. Its API varies slightly from language to language, for example: ```cpp // C++ class SliceLoader { public: [[nodiscard]] virtual ValuePtr newClassInstance(std::string_view typeId) const; [[nodiscard]] virtual std::exception_ptr newExceptionInstance(std::string_view typeId) const; }; ``` ```java // Java @FunctionalInterface public interface SliceLoader { java.lang.Object newInstance(String typeId); } ``` ```typescript // TypeScript interface SliceLoader { newInstance(typeId: string): Ice.Value | Ice.UserException | null; } ``` ```matlab % MATLAB classdef (Abstract) SliceLoader < handle methods(Abstract) r = newInstance(obj, typeId) end end ``` You can implement `SliceLoader` and install your own custom Slice loader on a communicator by setting the `sliceLoader` field in `InitializationData`. This custom Slice loader is always in addition to an internal Slice loader that Ice uses when you don't set a custom Slice loader or when your Slice loader returns null. This new `InitializationData` field replaces the `ValueFactory` and `ValueFactoryManager` provided in previous Ice releases. In most languages, generated classes for Slice classes and exceptions register themselves at startup with a default Slice loader implemented by Ice, and you don't need to do anything to help Ice locate these generated classes. However, in Java and MATLAB, there is no such registration at startup, and you need to help Ice locate these generated classes when: - you remap either the class name or an enclosing module using the `java:identifier`, `java:package`, or `matlab:identifier` metadata; or - you assign a compact ID to your class You help Ice locate these classes by installing a Slice loader in `InitializationData`, just like when you provide a custom Slice loader. Ice for Java and Ice for MATLAB provide implementations of `SliceLoader` for this purpose. For example, you can use the `ClassSliceLoader` implementation to create a Slice loader for one or more generated classes (typically classes with remapped names or compact IDs). In Java, MATLAB and Swift, the communicator caches "not found" Slice loader resolutions. This cache can be configured using `Ice.SliceLoader.NotFoundCacheSize` and `Ice.Warn.SliceLoader`. Limitations: - in Python and Ruby, a custom Slice loader can only create class instances. The creation of custom user exceptions is currently ignored. - there is no custom Slice loader in PHP. - The local exceptions that can be marshaled now have a common base class (`DispatchException`), and are no longer limited to 6 exceptions. The reply status of a dispatch exception can have any value between 2 and 255. A dispatch exception with reply status >= 5 is marshaled as its reply status (one byte) followed by its message (a Slice-encoded string). ```mermaid classDiagram class ReplyStatus { <> Ok = 0 UserException ObjectNotExist FacetNotExist OperationNotExist ... } LocalException <|-- DispatchException LocalException: +string message DispatchException : +ReplyStatus replyStatus DispatchException <|-- RequestFailedException class RequestFailedException{ +Identity id +string facet +string operation } RequestFailedException <|-- ObjectNotExistException ObjectNotExistException : replyStatus = ObjectNotExist RequestFailedException <|-- FacetNotExistException FacetNotExistException : replyStatus = FacetNotExist RequestFailedException <|-- OperationNotExistException OperationNotExistException : replyStatus = OperationNotExist DispatchException <|-- UnknownException UnknownException : replyStatus = UnknownException UnknownException <|-- UnknownLocalException UnknownLocalException : replyStatus = UnknownLocalException UnknownException <|-- UnknownUserException UnknownUserException : replyStatus = UnknownUserException ``` - Consolidate and refactor the exceptions derived from LocalException. | Local exception in Ice 3.7 | Replacement | Notes | | ----------------------------------- | ---------------------------------------------------------------------------------------- | -------- | | BadMagicException | ProtocolException (base) | | | CFNetworkException | SocketException (base) | | | CloneNotImplementedException | std::logic_error | C++ only | | CompressionException | ProtocolException (base) | | | ConnectionManuallyClosedException | ConnectionAbortedException, ConnectionClosedException | | | ConnectionNotValidatedException | ProtocolException (base) | | | EncapsulationException | MarshalException (base) | | | EndpointParseException | ParseException | | | EndpointSelectionTypeParseException | ParseException | | | IllegalIdentityException | ArgumentException (C#), std::invalid_argument (C++), IllegalArgumentException (Java) | | | IllegalMessageSizeException | MarshalException | | | IllegalServantException | ArgumentNullException (C#), std::invalid_argument (C++), IllegalArgumentException (Java) | | | IdentityParseException | ParseException | | | MemoryLimitException | MarshalException (base) | | | NoValueFactoryException | MarshalException (base) | | | ProxyParseException | ParseException | | | ProxyUnmarshalException | MarshalException (base) | | | StringConversionException | MarshalException (base) | | | UnexpectedObjectException | MarshalException (base) | | | UnknownMessageException | ProtocolException (base) | | | UnknownReplyStatusException | None: all values are now valid | | | UnmarshalOutOfBoundsException | MarshalException (base) | | | UnsupportedEncodingException | MarshalException | | | UnsupportedProtocolException | MarshalException, FeatureNotSupportedException | | | VersionMismatchException | InitializationException | | | VersionParseException | ParseException | | base = was existing base class New local exceptions:\ ConnectionAbortedException, ConnectionClosedException, ParseException - The plug-ins provided by Ice now have fixed names: IceIAP, IceBT, IceUDP, IceWS, IceDiscovery, IceLocatorDiscovery. This fixed name is the only name you can use when loading/configuring such a plug-in with the Ice.Plugin.name property. - Added a new always-enabled logger middleware in all languages with dispatch support. This middleware logs dispatches using the configured logger based on the value of `Ice.Trace.Dispatch` and `Ice.Warn.Dispatch`. - Removed support for setting per-language plug-in entry points. In Ice 3.7 and earlier, it was possible to specify plug-in entry points on a per-language basis using the `Ice.Plugin..` syntax. This feature was rarely used and discouraged, as configuration files should not be shared across language mappings. - Removed the `stringToIdentity` method from the Communicator class. This method was deprecated in Ice 3.7. - The collocation optimization check no longer takes datagram endpoints into account. As a result, a call to a proxy with only UDP endpoints is never collocation-optimized. This change is particularly useful for multicast UDP endpoints (and by extension proxies), since multiple object adapters often listen on the same multicast address/port combination. - Added a new `ice2slice` compiler that converts Slice files in the `.ice` format (used by Ice) into Slice files in the `.slice` format (used by IceRPC). - Removed Slice checksums. - Removed the `slice2html` compiler, which was previously used to convert Slice doc-comments to HTML. You can use Doxygen to generate an API reference for your Slice files. - Removed the `--impl` and `-E` options from the Slice compilers. - Added stricter property validation. Ice now throws an exception during communicator initialization when an unknown Ice property is set. - Added `getIceProperty`, `getIcePropertyAsInt`, and `getIcePropertyAsList` methods to `Properties`. These methods return the value of an Ice property, or the default value if the property is not set. - The `Ice.ProgramName` property is now set to the executable/script name (when possible) during communicator initialization in C++, MATLAB, PHP, Python, Ruby, and Swift. Previously, `Ice.ProgramName` was only set when the args array was passed to `createProperties`, and was set to the first element of that array. In C++, the first element of the `argv` array is still used if passed to `initialize`. - Duplicated options are now rejected when parsing a stringified endpoint. For example, "greeter:tcp -h host1 -h host2 -p 4061" was a valid proxy string in prior Ice releases. Its parsing now fails with a ParseException. ### Packaging Changes - The Windows MSI installer is now built using the WiX Toolset. The WiX project files are included in the packaging/msi directory. - The RPM packaging files, previously distributed in the ice-packaging repository, are now included in the packaging/rpm directory. - The DEB packaging files, previously distributed in the ice-packaging repository, are now included in the packaging/deb directory. - The monolithic `zeroc.ice.net` package has been replaced with modular NuGet packages: | Package | Description | | ------------------------- | ------------------------------------------------------------------------------------------------------- | | iceboxnet | The IceBox server for .NET, packaged as a dotnet tool. | | ZeroC.Glacier2 | The Glacier2 assembly, used by Glacier2 client applications. | | ZeroC.Ice | The main Ice assembly. | | ZeroC.Ice.Slice.Tools | The Slice compiler (slice2cs) and MSBuild integration. Replaces the `zeroc.icebuilder.msbuild` package. | | ZeroC.IceBox | The IceBox assembly. | | ZeroC.IceDiscovery | The IceDiscovery plug-in. | | ZeroC.IceGrid | The IceGrid assembly, used by IceGrid client applications. | | ZeroC.IceLocatorDiscovery | The IceLocatorDiscovery plug-in. | | ZeroC.IceStorm | The IceStorm assembly, used by publishers and subscribers for IceStorm. | ZeroC.Ice.Slice.Tools contains `slice2cs` binaries for Linux, macOS and Windows. As a result, `slice2cs` is no longer distributed in any other package. - The C++ NuGet package has been renamed to `ZeroC.Ice.Cpp`. This package replaces the `zeroc.ice.vXXX` packages from Ice 3.7. It includes the Slice tools for C++ and no longer requires the `zeroc.icebuilder.msbuild` package. Additionally, it provides CMake support files in the cmake directory. - The `ice` NPM package has been converted into a scoped package named `@zeroc/ice` and also includes the `slice2js` Slice compiler for Linux, macOS and Windows. ### Slice Language Changes - Removed local Slice. `local` is no longer a Slice keyword. - The type of an optional field or parameter can no longer be a class or contain a class. - Added new metadata for customizing the mapped names of Slice definitions in each language. This metadata is of the form: `[":identifier:"]`, where `` can be any of the standard language prefixes, and that definition's identifier will be `` in the specified language. For example: ```slice ["cs:identifier:MyNamespace"] ["java:identifier:com.example.mypackage"] module MyModule {} ``` The argument is used as a drop-in replacement for the Slice identifier, with no additional processing. For the above example, `slice2cs` will generate `namespace MyNamespace {}` and `slice2java` will generate `package com.example.mypackage;`. All other compilers will map the module using its Slice-provided identifier, as usual. This metadata can be applied to any Slice definition with an identifier, and is available for all languages. Note that this only affects the _mapped_ name of Slice definitions. It has no effect on Slice type IDs, or a definition's on-the-wire representation. - Deprecated the `cs:namespace`, `java:package`, and `swift:module` metadata. Removed the `python:package` metadata. `:identifier` metadata is now the preferred way to change how Slice modules are mapped. - Removed automatic escaping of Slice identifiers. Previously, the Slice compilers had a list of each language's keywords and reserved identifiers, and would automatically escape conflicting identifiers during code-generation. Now that this has been removed, conflicting identifiers should be fixed using `:identifier` metadata. - Added a shorthand syntax for defining nested modules. For example, the following two definitions are equivalent: ```slice module Foo { module Bar { module Baz { /*...*/ } } } module Foo::Bar::Baz { /*...*/ } ``` Metadata cannot be applied to modules using this syntax, since it's ambiguous which module it would apply to. - Added support for triple-slash doc-comments, in addition to the already supported JavaDoc comment syntax. For example, the following two definitions are equivalent: ```slice /// Sends a request. /// @param message the message. /// @return a response code. int sendRequest(string message); /** * Sends a request. * @param message the message. * @return a response code. */ int sendRequest(string message); ``` - Added support for 2 new doc-comment tags: `@remark` and `@p` `@remark` can be used to provide additional (often non-critical) information in a doc-comment: ```slice /// Provides access to a radar scanner. /// @remark For sonar, use {@link SonarScan} instead. class RadarScan {} ``` `@p` can only be used on operations, and provides a way to reference parameters in its doc-comment. This is different than `@param`. `@param` is used to describe a parameter, not reference one. For example: ```slice /// @param start The start. /// @param end The end. Must be greater than @p start. int getDuration(int start, int end); ``` - Added support for Markdown style code-spans in doc-comments: ```slice /// This is `true`, and can be used as a default value: `bool b = Yes;` const bool Yes = true; ``` You can use any number of backticks to mark the beginning/end of the code-span, but they must match in number. This is useful if the code-span itself will contain backticks: ```slice /// This code-span ``contains a ` character`` just fine. ``` Outside of code-spans, you can escape a backtick with a backslash to get a normal textual backtick character: ```slice /// This character \` doesn't start a code-span and will appear like a normal backtick character. ``` - Lists of metadata can be split into separate brackets now, allowing for longer metadata to be placed on separate lines or for metadata to be grouped by functionality. For example, you can now write: ```slice ["deprecated:This operation should no longer be called"] ["marshaled-result"] ["format:sliced"] void myOperation(MyClass c); ``` Previously, all metadata needed to be in a single comma-separated list (note that this syntax is still supported): ```slice ["deprecated:This operation should no longer be called", "marshaled-result", "format:sliced"] void myOperation(MyClass c); ``` - Metadata can now be applied to Slice enumerators. - Added `["deprecated"]` as an alias for the `["deprecate"]` metadata. - Removed the `["protected"]` metadata. This was primarily for classes with operations, which are no longer allowed. - Removed the `["preserve-slice"]` metadata. Slice classes marshaled in the sliced format are now always preserved when unmarshaled. - Exceptions are now always marshaled in the sliced format and no longer support preservation of unknown slices during unmarshaling. - Slice classes can no longer define operations or implement interfaces, and `implements` is no longer a Slice keyword. This feature has been deprecated since Ice 3.7. - Slice classes can no longer represent remote Ice objects; the syntax `MyClass*` (a proxy to a class) is now invalid. - An interface can no longer be used as a type. This feature, known as "interface by value", has been deprecated since Ice 3.7. You can still define proxies with the usual syntax, `Greeter*`, where `Greeter` represents an interface. - It is no longer an error for a Slice definition to have the same identifier as one of its enclosing modules. - Removed the `["ice-prefix"]` metadata and the `--ice` compiler option. Slice identifiers can now start with `"ice"` without needing to specify either of these. - Removed the `["underscore"]` metadata and the `--underscore` compiler option. Slice identifiers can now contain single underscores without needing to specify either of these. Double underscores (`__`) are still disallowed in Slice identifiers. - `:` is now an alias for the `extends` keyword. - Sequences can no longer be used as dictionary key types. This feature has been deprecated since Ice 3.3.0. ### IceSSL Changes The SSL transport is no longer a plug-in. It is now built into the main Ice library and always available. #### Integration with Platform SSL Engines Ice 3.8 introduces new IceSSL configuration APIs that allow you to configure the SSL transport using platform-native SSL engine APIs. This provides significantly greater flexibility for advanced use cases. - The SSL transport can now be fully configured programmatically, without relying on IceSSL properties. - Separate configurations for outgoing and incoming SSL connections are supported. - Per object adapter configuration is also possible. > These APIs are platform-dependent. A good starting point is the `Ice/secure` demo for your target platform and > language mapping. #### Removed Support for OpenSSL on Windows In Ice 3.7, IceSSL on Windows could be built with either Schannel or OpenSSL. In Ice 3.8, since IceSSL is now built-in, it always uses the platform’s native SSL APIs. On Windows, this means **Schannel is always used**; **OpenSSL is no longer supported** on Windows. #### Removed IceSSL APIs - **Certificate API**\ The `IceSSL::Certificate` type and related APIs have been removed. Applications that require access to certificate data must now use platform-native certificate APIs. - **Certificate Verifiers**\ Custom certificate verifiers have been replaced with new configuration APIs that allow applications to install validation callbacks that directly use the underlying SSL engine APIs. - **Password Callbacks**\ Password callback support has been removed. Applications can now provide certificates and keys directly through the new configuration APIs. #### Updated IceSSL Properties - **IceSSL.CertFile**\ This property no longer accepts multiple files. In Ice 3.7, IceSSL with OpenSSL or Schannel allowed specifying two files—one for RSA and one for DSA certificates. This uncommon use case is no longer supported. Applications requiring more flexibility should use the new configuration APIs, which support selecting certificates on a per-connection basis. - **IceSSL.CheckCertName**\ In Ice 3.7, this property controlled two unrelated features: (1) matching the target host name against the peer's certificate Subject Alternative Name or Common Name, and (2) enabling SNI (Server Name Indication). In Ice 3.8, **SNI is always enabled** for outgoing connections when the target endpoint uses a DNS name. The property now only controls certificate name matching. - **IceSSL.Truststore**\ The `IceSSL.Keystore` property is no longer used as a fallback for `IceSSL.Truststore`. - **IceSSL.VerifyPeer**\ Setting `IceSSL.VerifyPeer=0` no longer suppresses verification errors. In Ice 3.7, this was often used alongside the now-removed certificate verifier APIs. Applications requiring custom trust logic should use the new validation callbacks. #### Removed IceSSL Properties Several IceSSL properties have been removed in Ice 3.8, either because better alternatives are now available, they are no longer useful, or they go against best practices: - **IceSSL.CertVerifier**\ Previously used to dynamically load custom certificate verifiers. This mechanism and the property have been removed. - **IceSSL.Ciphers**\ Used to configure the list of allowed SSL ciphers. Ice 3.8 now uses system-wide defaults by default. For advanced use cases, the new configuration APIs provide direct access to the underlying SSL engine. - **IceSSL.DH.bits**, **IceSSL.DHParams**\ Used to configure Diffie-Hellman parameters for DH cipher suites. Since DH-based ciphers are no longer recommended, these properties have been removed. - **IceSSL.EntropyDaemon**\ Relevant only for legacy OpenSSL versions that are no longer supported. - **IceSSL.InitOpenSSL**\ Controlled whether IceSSL performed global OpenSSL initialization. This is no longer needed with the OpenSSL versions supported in Ice 3.8. - **IceSSL.Random**\ Used to provide seed data to the SSL engine. Modern SSL platforms handle this internally, so the property is no longer necessary. - **IceSSL.SchannelStrongCrypto**\ Enabled the `SCH_USE_STRONG_CRYPTO` flag on Windows to disable weak cryptographic algorithms. This flag is now always enabled by default, making the property redundant. - **IceSSL.PasswordCallback**, **IceSSL.PasswordRetryMax**\ Supported dynamic password callbacks, which are no longer supported. These properties and their underlying mechanism have been removed. - **IceSSL.Protocols**, **IceSSL.ProtocolVersionMax**, **IceSSL.ProtocolVersionMin**\ Controlled which SSL/TLS protocol versions were allowed for connections. Ice 3.8 now uses the system defaults (typically TLS 1.2 and TLS 1.3). Applications needing precise control can either adjust system settings or use the new configuration APIs. - **IceSSL.VerifyDepthMax**\ Previously used to set the maximum certificate chain length. This feature was rarely used. Applications requiring this functionality should implement a custom certificate validation callback. ### C++ Changes - There is now a single C++ mapping, based on the C++11 mapping provided by Ice 3.7. This new C++ mapping requires a C++ compiler with support for C++17 or higher. - Generated proxy classes are now concrete classes with public constructors. - Nullable proxies are represented using `std::optional`. - Removed the IceUtil namespace. All remaining utility classes and functions, such as `CtrlCHandler` and `wstringToString`, are now in the Ice namespace. - All functions that create proxies, including `Communicator::stringToProxy`, `ObjectAdapter::add`, `Connection::createProxy` and more, are now template functions that allow you to choose the type of the returned proxy. The default proxy type is `Ice::ObjectPrx` for backwards compatibility. We recommend you always specify the desired proxy type explicitly. For example: ```cpp // widget is a std::optional auto widget = communicator->propertyToProxy("MyWidget"); ``` - The Slice compiler now always generates an async skeleton (with an Async prefix) in addition to the usual skeleton class. The async skeleton provides only async functions, just like if you added the `["amd"]` metadata directive on your Slice interface. You should consider using this async skeleton instead of applying `["amd"]` to your interface or to some of its operations. - The C++ structs, classes, exception classes, and enumerations generated by the Slice compiler can now be printed using `operator<<(ostream&, const T&)`. For structs, classes, and exceptions, this operator prints the type name and all the field names and values; see the [Slice/print] test for examples. - You can also implement your own custom printing by applying metadata `["cpp:custom-print"]` to your Slice type. - When unmarshaling an array of short, int, long, float, or double, you can now choose to use unaligned unmarshaling by defining ICE_UNALIGNED when building your application. This optimization requires the non-default array mapping for Slice sequences, enabled by the `cpp:array` metadata directive, and a compatible little endian platform. In Ice 3.7 and earlier releases, this unaligned unmarshaling was turned on automatically on x86 and x64 CPUs, and turned off on all other CPUs. - Replaced the `Ice::registerPluginFactory` mechanism (with `Ice::registerIceUDP`, `Ice::registerIceDiscovery`, etc.) by plug-in factories on InitializationData. The corresponding plug-ins are created during communicator initialization. See `InitializationData::pluginFactories`. - Removed StringConverterPlugin and ThreadHookPlugin. - Removed the `--nowarn` option, which was used to suppress warnings in `icegridnode`, `glacier2router`, `icegridregistry`, and `icebox`. - Added overloads for the `ice_invocationTimeout` and `ice_locatorCacheTimeout` proxy methods that accept `std::chrono::duration` values. The corresponding `ice_getInvocationTimeout` and `ice_getLocatorCacheTimeout` methods now return `std::chrono::milliseconds`. - Removed support for using poll as a selector mechanism. - The Ice runtime now calls std::abort when a selector internal error occurs. The underlying platform selectors — IOCP, kqueue, or epoll — can fail with internal errors that indicate fatal conditions such as application bugs or malfunctioning systems. There is no clean way to recover from these errors, and keeping malfunctioning systems running is of no help; aborting the application allows the replica management system to take over in a replicated setup. ### C# Changes - Upgrade to .NET 8.0 / C# 12. - Added full support for nullable types: - Both the Ice C# API and the code generated by the Slice compiler are `#nullable enable`. - Ice now uses the standard `?` notation for all nullable types. - The thread pools created by Ice no longer set a synchronization context. As a result, the continuation from an async invocation made from an Ice thread pool thread executes in a .NET thread pool thread; previously, this continuation was executed in a thread managed by the same Ice thread pool unless you specified `.ConfigureAwait(false)`. - The `cs:attribute` Slice metadata is now limited to enums, enumerators, fields, and constants. For other constructs, you can define custom attributes using a C# partial class, struct, or interface. - Replaced the `Ice.Util.registerPluginFactory` mechanism by plug-in factories on InitializationData. The corresponding plug-ins are created during communicator initialization. See `InitializationData.pluginFactories`. - Slice structs are now mapped to record structs or record classes: - a Slice struct with only numeric, bool, enum, or record struct fields is mapped to a record struct. - a Slice struct with any other field type is mapped to a sealed record class. - Updated Ice.Communicator to implement IAsyncDisposable. The preferred way to create and dispose of a communicator is now: ```cs await using Ice.Communicator communicator = Ice.Util.initialize(ref args); ``` - The preferred way to wait for communicator shutdown in an async context is now: ```cs await communicator.shutdownCompleted; ``` - The Logger interface is now disposable. - Removed ThreadHookPlugin. - Removed support for serializable objects (the `cs:serializable` metadata directive). - Added overloads for the `ice_invocationTimeout` and `ice_locatorCacheTimeout` proxy methods that accept `TimeSpan` values. The corresponding `ice_getInvocationTimeout` and `ice_getLocatorCacheTimeout` methods now return a `TimeSpan`. - Removed support for using `clr` as an alias for `cs` in metadata declarations. - The Slice compiler now always generates async skeletons (with an Async prefix) in addition to the usual skeleton interface and class. The async skeletons provide only async methods, just like if you added the `["amd"]` metadata directive on your Slice interface. You should consider using these async skeletons instead of applying `["amd"]` to your interface or to some of its operations. ### Java Changes - Upgrade to Java 17. - Removed the Java-Compat mapping. - Add plug-in factories to InitializationData. The corresponding plug-ins are created during communicator initialization. See `InitializationData.pluginFactories`. - Removed the `com.zeroc.Ice.Exception` base class. The common base class for all Ice exceptions is now `java.lang.Exception`. - Removed the `Ice.ThreadInterruptSafe` property. You no longer need to set a property to use Ice for Java with interrupts. - Removed ThreadHookPlugin. - Reworked IceMX to avoid creating split packages. - The Logger interface now extends AutoCloseable. - Added overloads for the `ice_invocationTimeout` and `ice_locatorCacheTimeout` proxy methods that accept `java.time.Duration` values. The corresponding `ice_getInvocationTimeout` and `ice_getLocatorCacheTimeout` methods now return a `java.time.Duration`. - The Slice compiler now always generates an async skeleton (with an Async prefix) in addition to the usual skeleton interface. The async skeleton provides only async methods, just like if you added the `["amd"]` metadata directive on your Slice interface. You should consider using this async skeleton instead of applying `["amd"]` to your interface or to some of its operations. - Added support for the `Ice.ClassGraphDepthMax` property, which controls the maximum depth allowed when unmarshaling a graph of Slice class instances. - Added the `Ice.WS.MaxBufferedAmount` property, which controls the maximum number of bytes that can be queued by a WebSocket connection. Once the WebSocket `bufferedAmount` reaches this limit, sending additional data is delayed until it drops below the threshold. - Marshaling a `null` enum value will now result in a `NullPointerException` instead of marshaling the first enumerator of the enum. - Marshaling a `null` struct will now result in a `NullPointerException` instead of marshaling a default initialized instance of that struct. - The Ice runtime terminates the Java Virtual Machine after receiving a selector internal error. This typically indicates an application bug or a malfunctioning system. The underlying platform selectors — IOCP, kqueue, or epoll — can fail with internal errors that represent fatal conditions. There is no clean way to recover from these errors, and keeping malfunctioning systems running is of no help; terminating the JVM allows the replica management system to take over in a replicated setup. ### JavaScript Changes - Added support for `Symbol.asyncDispose` on `Ice.Communicator`. TypeScript applications can now use the communicator in `await using` expressions. ```ts await using communicator = Ice.initialize(process.argv); ``` - Ice for JavaScript now uses `console.assert`. You can configure your build to strip out these assertions in release builds. - Fixed a bug where a reply could be processed before the corresponding request was marked as sent. This could break at-most-once semantics. - Added support for `Ice.ClassGraphDepthMax` to control the maximum unmarshaling depth for graphs of Slice class instances. - Removed support for the Internet Explorer browser. - Slice modules are now always mapped to JavaScript ES6 modules. The `js:es6-module` metadata has been removed, as a single module mapping is now used by default. - Slice `long` is now mapped to JavaScript `BigInt`. For input parameters, both `number` and `BigInt` are accepted. The `Ice.Long` class has been removed. - Dictionaries with `long` keys now use the built-in `Map` type. Previously, `Ice.HashMap` was required because `Ice.Long` objects could not be used as keys in a `Map`. - Marshaling `null` for a non-optional enum value will now result in an error, instead of marshaling the first enumerator of the enum. - Marshaling `null` for a non-optional struct will now result in an error, instead of marshaling a default initialized instance of that struct. - The WebSocket transport is now supported with Node.js 24 and higher. In Node.js 23 and earlier, WebSocket connections do not reliably report errors during connection establishment. We advise against using the WebSocket transport on these versions. - The `js:module` file metadata directive can no longer be used to generate bundles with the Gulp Ice Builder. You must now use a standard JavaScript bundler instead. This metadata remains useful to indicate that your generated code is published as an npm package and to control how other generated code imports it. ### MATLAB Changes - Upgrade to MATLAB 2024a. - Added argument validation for generated proxy methods. - All argument types are now validated, except for parameters that correspond to optional Slice parameters. - A proxy or class argument to set to "null" must now be an empty array of the associated type, such as `GreeterPrx.empty`. `[]` is no longer a valid value for such arguments. - Changed the mapping for `sequence`. A `sequence` now maps to a MATLAB string array. This new mapping remains highly compatible with the previous mapping (cell array of char). - Changed the mapping for Slice dictionaries. A Slice dictionary now always maps to a MATLAB dictionary; the old `containers.Map` are no longer used. The dictionary key type is the mapped key type. The dictionary value type is as per the table below: | Slice type T mapped to MATLAB MT | Value type of MATLAB dictionary | Mapping for `sequence` | | ---------------------------------- | ------------------------------- | ------------------------- | | bool, numeric, struct, enum | MT | array of MT | | string | string (1) | array of string | | sequence, dictionary, class, proxy | cell holding a MT | cell array of MT | (1) A single Slice string maps to a MATLAB char array, not to a MATLAB string. - All fields are now mapped to typed MATLAB properties except optional fields and fields whose type is a class or uses a class. - In such properties, a null proxy is represented by an empty array of the proxy type, for example `GreeterPrx.empty`. Likewise, an empty sequence (array) is represented by an empty array of the correct type, such as `string.empty` or `int32.empty`. - `[]` is no longer a valid value for proxy and sequence properties: always use a typed array. - Changed the default value for properties mapped from a Slice struct type. It's now an empty array of the mapped class; it was previously a new instance of the mapped class created with no argument. - The `slice2matlab` function has been updated to accept multiple arguments, which are passed directly to the `slice2matlab` compiler. In Ice 3.7, all arguments had to be provided as a single string, which was less convenient. ### Objective-C Changes - The Objective-C mapping was removed. ### PHP Changes - Removed the flattened mapping deprecated in 3.7. - Removed the `ice.hide_profiles` directive. This directive was intended to clear the `ice.profiles` setting after it was read by the Ice extension, preventing untrusted applications on the same web server from accessing it. However, it could be circumvented and thus provided only a false sense of security. The recommended and more secure approach is to use PHP-FPM, which supports separate PHP pools per application and avoids the need of sharing PHP settings between untrusted applications. - Updated Ice\register to accept fractional minute values for the expires argument by using a double instead of an int. - Removed support for Windows PHP builds. - Removed support for PHP 5 builds. - Removed the `ice_premarshal` and `ice_postunmarshal` "hooks" called during class marshaling and unmarshaling. `ice_postunmarshal` only makes sense if the application can register a custom Slice loader and Ice for PHP does not provide custom Slice loaders. - Marshaling `null` for a struct will now result in an error, instead of marshaling a default initialized instance of that struct. ### Python Changes - Upgrade to Python 3.12. - Added `Ice.EventLoopAdapter` for async event loop integration. This adapter integrates Ice asynchronous methods with the event loop of your choice. With it: - Asynchronous proxy invocations return an awaitable that can be awaited directly in the chosen event loop. There is no longer a need to wrap the returned future to run in your event loop. - The same applies to other asynchronous methods in the Ice API: the returned awaitable always uses the event loop adapter to ensure it can be correctly awaited in the selected event loop. - Asynchronous dispatch methods can be implemented as async methods that run in that event loop. Ice includes a built-in adapter for Python’s asyncio, and the same mechanism can be extended to support other event loop systems. - Added async context manager support to `Ice.Communicator`. You can now use the communicator in `async with` expressions. ```python async def main(): async with Ice.initialize( sys.argv, eventLoop=asyncio.get_running_loop()) as communicator: ... if __name__ == "__main__": asyncio.run(main()) ``` - Added a `checkedCastAsync` method to proxy objects to support asynchronous checked casts. - Added a `Communicator.shutdownCompleted` method to asynchronously wait for communicator to shut down. - Removed the copy parameter from the memory view factory. In Ice 3.8, the factory always receives a memory view over the input stream data, making the copy parameter unnecessary. - Ice no longer uses `Ice.Unset` to represent unset optional parameters. Starting with Ice 3.8, `None` is used instead. The Ice.Unset global has been removed. Furthermore, there is no distinction between a non-set optional parameter and an optional parameter set to `None`. - Removed the `Ice.generateUUID` helper method. You should use Python’s built-in uuid module instead. - Added support for building pip packages directly from the Ice source distribution. In previous releases, the pip package was built from a separate tarball that included pre-generated source code. - Enumerations now inherit from Python's `enum.Enum` type. The `Ice.EnumBase` class has been removed. - The default value for struct, sequence, and dictionary Slice fields has been changed from `None` to a default initialized instance. - Marshaling `None` for a non-optional struct will now result in an error, instead of marshaling a default initialized instance of that struct. - Removed support for the `python:pkgdir` Slice metadata. Generated code is now always placed in the corresponding package directory relative to the specified output directory. - The Slice for Python compiler (`slice2py`) and dynamic Slice-to-Python compilation using `Ice.loadSlice` no longer support the `--all` option, which previously allowed compiling files included by other Slice files. Instead, you must explicitly pass all required Slice files to `slice2py` or `Ice.loadSlice`. - The `--prefix` option, which previously allowed users to specify a custom prefix for generated file names, has been removed from the Slice for Python compiler (`slice2py`). Generated file names are now always derived from the Slice definition name. If a name would conflict with a Python built-in keyword or module, it must be renamed using the new `python:identifier` metadata. - The Slice for Python compiler now generates a separate Python module for each Slice definition. The module name is derived from the Slice definition name. For example, `enum MyEnum` in Slice module `Foo::Bar` results in the Python module `Foo.Bar.MyEnum`, generated in `Foo/Bar/MyEnum.py`. For classes and interfaces, an additional `_forward` module is generated to contain forward declarations for proxies and class meta-types. Application code does not need to import these files. Package index files are also generated for each module unless the `--build=modules` option is specified to generate only the module files. - The Slice for Python compiler no longer edits existing package index files. Instead, it recreates them on each run. When generating package index files, all Slice files contributing to the package must be passed to the compiler to ensure that all definitions are included in the package exports. - The `--no-package` and `--build-package` options have been replaced by the more comprehensive `--build=modules|package-index|all` option. - `--build=all` generates both the Python modules for each Slice definition and the package index files for each module. - `--build=modules` generates only the Python modules. - `--build=package-index` generates only the package index files. - A new `--list=all|modules|package-index` option has been added to `slice2py` to list the generated files. In previous versions, the compiler generated a single Python module with a `_ice.py` extension per Slice file, making it easy to track outputs. In 3.8, each Slice definition is compiled into a separate module under its Python package path. The new `--list` option helps track the set of generated files. - Removed support for the 'marshaled-result' metadata directive. - Removed support for the `python:seq` metadata. Use `python:list` and `python:tuple` instead. - Added additional (optional) argument to `python:memoryview` metadata directive which is used to specify a type hint. For example, `["python:memoryview:CustomFactory.myByteSeq:array.array"]` indicates that the factory function will return an `array.array`. - Added type hints to the Ice package and generated code. - The `Ice.loadSlice` function for dynamically loading Slice files at run time now accepts only a list of compiler arguments (strings). Previously, it accepted both a command string and an optional list of arguments (which served the same purpose). This has been simplified to require a single list of strings. ```python # Old syntax (no longer supported) Ice.loadSlice("-I. Foo.ice") Ice.loadSlice("-I.", ["Foo.ice"]) Ice.loadSlice("", ["-I.", "Foo.ice"]) # New syntax Ice.loadSlice(["-I.", "Foo.ice"]) ``` - Removed the self-reference parameter from `InvocationFuture.add_sent_callback`. Registered callbacks no longer receive the `Ice.InvocationFuture` instance as their first parameter. ### Ruby Changes - Updated the optional `Ice.initialize` block to only accept a single argument, the communicator. Previously, this optional block could accept one argument (the communicator), or two arguments (the communicator and the remaining command-line arguments). - The `Ice.loadSlice` function for dynamically loading Slice files at runtime now accepts only a list of compiler arguments (strings). Previously, it accepted both a command string and an optional list of arguments (which served the same purpose). This has been simplified to require a single list of strings. ```ruby # Old syntax (no longer supported) Ice.loadSlice("-I. Foo.ice") Ice.loadSlice("-I.", ["Foo.ice"]) Ice.loadSlice("", ["-I.", "Foo.ice"]) # New syntax Ice.loadSlice(["-I.", "Foo.ice"]) ``` ### Swift Changes - Upgrade to Swift 6.1. - Removed support for Carthage. Ice for Swift now uses the Swift Package Manager (SwiftPM) for dependency management. - Updated to use async/await and fully support Swift's Structured Concurrency model. - Removed the dependency on `PromiseKit`. Functions which previously returned a `Promise` are now async functions. - Functions in dispatch protocols generated from Slice interfaces are now always async. The `amd` metadata directive has no effect on the generated code. - Servants must now conform to the `Sendable` protocol. - Proxy methods generated from Slice interfaces are now always async. The `Async` suffixed functions have been removed. - Simplified the server-side mapping by removing the generated Disp structs. You can now use the generated server-side protocols as servants / dispatchers, like in other language mappings. - Added a SwiftPM plugin, `CompileSlice`, that lets you compile Slice files as part of SwiftPM and Xcode builds. ### Ice Service Changes #### DataStorm - The DataStorm publisher/subscriber framework has been integrated into the Ice distribution, and is no longer a separate product. - Added `NodeOptions` struct to configure a new `Node` instance. - Added support for running DataStorm callbacks using a custom executor. The custom executor can be set in `NodeOptions`. - Added `DataStorm.Node.Name` property to configure the name of a DataStorm node. The node names must be unique within a DataStorm deployment. - Fixed a bug in DataStorm that can result in unexpected samples received after a session was recovered after disconnection. - Fixed a bug in filter initialization that can result in segmentation fault when using a key or a sample filter. #### Glacier2 - Removed buffered mode. As a result, Glacier2 has now a single mode, the previous unbuffered mode. - Removed support for request overrides (the `_ovrd` request context). - Removed support for creating batches of requests (`Glacier2.Client.AlwaysBatch` and `Glacier2.Server.AlwayBatch`). - Removed Glacier2 helper classes. - Removed session timeouts configured using `Glacier2.SessionTimeout`. The Glacier2 router now relies on the common idle check described under [General Changes](#general-changes) for these connection-bound sessions. #### IceBox - Added a new operation on `IceBox::ServiceManager`: `isServiceRunning`. - Added a new command called "status SERVICE" to `iceboxadmin` and `com.zeroc.IceBox.Admin`. - Added a new "service status SERVER SERVICE" command to `icegridadmin`. #### IceGrid - Renamed the icegridadmin command "server state SERVER" to "server status SERVER" for consistency with the new "service status SERVER SERVICE" command. - Removed deprecated server and application distributions in IceGrid. These distributions relied on the IcePatch2 service. - Removed deprecated Freeze database environments (DbEnv). - Removed client and admin-client session timeouts configured using `IceGrid.Registry.SessionTimeout`. IceGrid now relies on the common idle check described under [General Changes](#general-changes) for these connection-bound sessions. - Interop/upgrade from 3.7 - IceGrid registry and IceGrid node must all use version 3.8. For example, you can't use a 3.7 node with a 3.8 registry. - IceGridGUI 3.7 cannot connect to an IceGrid registry 3.8, and we recommend using icegridadmin 3.8 with IceGrid registry 3.8. - If you've written your own IceGrid admin tool using Ice 3.7, it may or may not work with a 3.8 registry, depending on the APIs you're using. You should upgrade this tool to Ice 3.8. - The registry database schema remains the same as in Ice 3.7. As a result, you can start a 3.8 registry with a database created by a 3.7 registry, or vice-versa. #### IcePatch2 - The IcePatch2 service was removed. #### IceStorm - The IceStorm configuration now uses the `IceStorm` prefix instead of the IceBox service name as prefix. - Added a new operation on `TopicManager`: `createOrRetrieve` creates or retrieves a topic with the specified name, and returns the corresponding proxy (the returned proxy is never null). [Ice 3.7.10]: https://github.com/zeroc-ice/ice/blob/3.7/CHANGELOG-3.7.md [IceRPC]: https://github.com/icerpc [Slice/print]: cpp/test/Slice/print zeroc-ice-3.8.1/CONTRIBUTING.md000066400000000000000000000023741516567600500156550ustar00rootroot00000000000000# Contributing to Ice Thank you for your interest in contributing to Ice! ## How to Contribute To contribute code or documentation to this project, please follow these steps: 1. Review the [ZeroC Contributor Agreement](https://gist.github.com/zcabot/1a4c24dca55adaa83d78cdeabc63226b). The CLA assistant bot will ask you to sign this agreement when you submit your first pull request. 2. If you're planning to make a significant contribution, such as a new feature or major changes, please discuss your ideas with the community first by starting a [discussion](https://github.com/zeroc-ice/ice/discussions) or by contacting us via [email](mailto:contributing@zeroc.com). 3. Fork this repository. 4. When implementing your contribution, please adhere to the project's naming and coding conventions to maintain consistency in the source code. 5. Submit a pull request. We review carefully any contribution that we accept, and these reviews may take some time. Please keep in mind there is no guarantee your contribution will be accepted: we may reject a pull request for any reason, or no reason. ## Contact - GitHub Discussions: - Twitter: - Email: zeroc-ice-3.8.1/LICENSE000066400000000000000000000432551516567600500144340ustar00rootroot00000000000000 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 Library 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 Library General Public License instead of this License. zeroc-ice-3.8.1/Makefile000066400000000000000000000020241516567600500150540ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. top_srcdir := . include $(top_srcdir)/config/Make.rules define make-global-rule $1:: +@for subdir in $2; \ do \ echo "making all in $$$$subdir"; \ ( cd $$$$subdir && $(MAKE) $1 ) || exit 1; \ done endef $(eval $(call make-global-rule,srcs,$(languages))) $(eval $(call make-global-rule,tests,$(languages))) $(eval $(call make-global-rule,all,$(languages))) $(eval $(call make-global-rule,clean,$(languages))) $(eval $(call make-global-rule,distclean,$(languages))) $(eval $(call make-global-rule,install,$(languages))) # # Install documentation and slice files (don't install IceDiscovery and IceLocatorDiscovery Lookup slice files) # install:: install-doc install-slice $(eval $(call install-data-files,$(wildcard $(top_srcdir)/*LICENSE),$(top_srcdir),$(install_docdir),\ install-doc,"Installing documentation files")) $(eval $(call install-data-files,$(filter-out Lookup.ice,$(wildcard $(slicedir)/*/*.ice)),$(slicedir),$(install_slicedir),\ install-slice,"Installing slice files")) zeroc-ice-3.8.1/NIGHTLY.md000066400000000000000000000232101516567600500150540ustar00rootroot00000000000000# Installing the Nightly Builds This document describes the nightly builds for the 3.8 branch, which are expected to become the next 3.8.1 patch release. Ice 3.8 nightly builds are produced daily from the 3.8 GitHub branch. For nightly builds of the next major release (3.9.0), see `NIGHTLY.md` on the main branch. - [Dev kits](#dev-kits) - [Ice for C++](#ice-for-c) - [Ice for C#](#ice-for-c-1) - [Ice for Java](#ice-for-java) - [Ice for JavaScript](#ice-for-javascript) - [Ice for MATLAB](#ice-for-matlab) - [Ice for PHP](#ice-for-php) - [Ice for Python](#ice-for-python) - [Ice for Ruby](#ice-for-ruby) - [Ice for Swift](#ice-for-swift) - [Ice Services](#ice-services) - [Linux](#linux) - [macOS](#macos) - [Windows](#windows) - [Linux Repositories](#linux-repositories) - [RPM-based Linux (RHEL, Amazon Linux)](#rpm-based-linux-rhel-amazon-linux) - [DEB-based Linux (Debian, Ubuntu)](#deb-based-linux-debian-ubuntu) - [macOS Brew Formula and Cask](#macos-brew-formula-and-cask) ## Dev kits ### Ice for C++ #### Linux First, enable the Ice nightly DNF or APT repository on your system as per [Linux Repositories](#linux-repositories). Then, install the C++ dev kit: ##### RHEL, Amazon Linux ```shell sudo dnf install libice-c++-devel ``` ##### Debian, Ubuntu ```shell sudo apt-get update sudo apt-get install libzeroc-ice-dev ``` #### macOS Ice for C++ is included in the [ice formula](#macos-brew-formula-and-cask). #### Windows Ice for C++ is distributed as the `ZeroC.Ice.Cpp` NuGet package on Windows. Add the following feed to your NuGet sources to get the nightly package: ```shell https://download.zeroc.com/nexus/repository/nuget-3.8-nightly/ ``` > `ZeroC.Ice.Cpp` includes C++ libraries, header files, the Slice to C++ compiler, and the IceBox service. ### Ice for C# Ice for C# is distributed as NuGet packages for all platforms. Add the following feed to your NuGet sources to get the nightly packages: ```shell https://download.zeroc.com/nexus/repository/nuget-3.8-nightly/ ``` ### Ice for Java The nightly packages are available from the ZeroC `maven-3.8-nightly` Maven repository. To use them, add the following Maven repository to your build configuration: ```shell https://download.zeroc.com/nexus/repository/maven-3.8-nightly/ ``` #### Gradle Here’s an example configuration using Kotlin DSL: ```kotlin // settings.gradle.kts pluginManagement { repositories { gradlePluginPortal() // Use the nightly build of the Slice Tools plugin, published to the ZeroC maven-nightly repository. maven { url = uri("https://download.zeroc.com/nexus/repository/maven-3.8-nightly/") content { includeGroupByRegex("com\\.zeroc.*") } } } } dependencyResolutionManagement { repositories { mavenCentral() // Use the nightly build of Ice, published to the ZeroC maven-nightly repository. maven { url = uri("https://download.zeroc.com/nexus/repository/maven-3.8-nightly/") content { includeGroupByRegex("com\\.zeroc.*") } } } } ``` ### Ice for JavaScript The nightly NPM package @zeroc/ice is available from the ZeroC NPM nightly registry. To install it, add the following line to your project’s .npmrc file: ```shell # Use ZeroC nightly registry for @zeroc packages @zeroc:registry=https://download.zeroc.com/nexus/repository/npm-3.8-nightly/ ``` Then add the `@zeroc/ice` package to your project: ```shell npm install @zeroc/ice ``` ### Ice for MATLAB Ice toolbox for MATLAB R2025b: - Windows: [ice-nightly-R2025b-win.mltbx](https://download.zeroc.com/ice/nightly/3.8/ice-nightly-R2025b-win.mltbx) - Ubuntu 24.04: [ice-nightly-R2025b-linux.mltbx](https://download.zeroc.com/ice/nightly/3.8/ice-nightly-R2025b-linux.mltbx) To install a toolbox, download the package corresponding to your platform and simply double-click on the `.mltbx` file from MATLAB. ### Ice for PHP #### Linux First, enable the Ice nightly DNF or APT repository on your system as per [Linux Repositories](#linux-repositories). Then, install the Ice for PHP package: ##### RHEL ```shell sudo dnf install php-ice ``` ##### Amazon Linux ```shell sudo dnf install php8.4-ice ``` ##### Debian, Ubuntu ```shell sudo apt-get update sudo apt-get install php-zeroc-ice ``` ### Ice for Python #### PyPI The nightly package for all platforms (Linux, macOS, Windows) is available from the ZeroC PyPI nightly repository. To install the latest zeroc-ice nightly package, add the following lines to your requirements.txt: ```shell # Use ZeroC nightly repository as the main index for pip --index-url https://download.zeroc.com/nexus/repository/pypi-3.8-nightly/simple/ # Allow installing packages from the official PyPI index if not found in the ZeroC repository --extra-index-url https://pypi.org/simple/ # Enable installation of pre-release versions (required for nightly builds) --pre # Specify the zeroc-ice package (latest nightly version) zeroc-ice ``` #### Linux Ice for Python is also available as a RPM or DEB package, depending on your distribution. First, enable the Ice nightly DNF or APT repository on your system as per [Linux Repositories](#linux-repositories). Then, install the Ice for Python package: ##### RHEL, Amazon Linux ```shell sudo dnf install python3-ice ``` ##### Debian, Ubuntu ```shell sudo apt-get update sudo apt-get install python3-zeroc-ice ``` ### Ice for Ruby The nightly Ruby GEM package is available from the ZeroC RubyGems nightly repository. You can install the latest Ruby gem by running the following command: ```shell gem install zeroc-ice --source https://download.zeroc.com/nexus/repository/rubygems-3.8-nightly --user \ --pre --version '>= 3.8.1.pre' ``` ### Ice for Swift The nightly package is available via the Swift Package Manager (SPM). To use it in your project, add the following URL as a dependency in your Package.swift: ```shell https://github.com/zeroc-ice/ice-swift-nightly ``` ## Ice Services This section describes how to install the DataStorm, Glacier2, IceBox, IceBridge, IceGrid, IceStorm services, and the associated admin tools. > DataStorm is primarily a library-based service, installed as part of Ice for C++. The DataStorm component described > in this section is the DataStorm server (dsnode). ### Linux First, enable the Ice nightly DNF or APT repository on your system as per [Linux Repositories](#linux-repositories). Then, install the desired service or tool. For example: #### RHEL, Amazon Linux ```shell sudo dnf install icegrid ``` Refer to the [RPM packages README] for a complete list of available service packages and their package names. #### Debian, Ubuntu ```shell sudo apt-get update sudo apt-get install zeroc-icegrid ``` Refer to the [DEB packages README] for a complete list of available service packages and their package names. ### macOS All Ice services and admin tools are included in the [ice formula](#macos-brew-formula-and-cask), except IceGrid GUI, which is provided by a [cask](#macos-brew-formula-and-cask). ### Windows The Ice services (Glacier2, IceGrid, IceStorm, etc.) and all admin tools for these services (IceGridGUI, icegridadmin, etc.) are provided in a Windows installer package: - [Ice-Services-nightly.exe](https://download.zeroc.com/ice/nightly/3.8/Ice-Services-nightly.exe) ## Linux Repositories ### RPM-based Linux (RHEL, Amazon Linux) The nightly RPM packages for Red Hat Enterprise Linux and Amazon Linux are available from the ZeroC DNF nightly repository. To enable the nightly repository for your distribution run: - Red Hat Enterprise Linux 9 ```shell sudo dnf install https://download.zeroc.com/ice/nightly/3.8/el9/ice-repo-3.8-nightly-1.0.0-1.el9.noarch.rpm ``` - Red Hat Enterprise Linux 10 ```shell sudo dnf install https://download.zeroc.com/ice/nightly/3.8/el10/ice-repo-3.8-nightly-1.0.0-1.el10.noarch.rpm ``` - Amazon Linux 2023 ```shell sudo dnf install https://download.zeroc.com/ice/nightly/3.8/amzn2023/ice-repo-3.8-nightly-1.0.0-1.amzn2023.noarch.rpm ``` See also: [RPM packages README] ### DEB-based Linux (Debian, Ubuntu) The nightly DEB packages for Debian and Ubuntu are available from the ZeroC APT nightly repository. To enable the nightly repository for your distribution run: - Debian 12 ```shell wget "https://download.zeroc.com/ice/nightly/3.8/debian12/ice-repo-3.8-nightly_1.0.0_all.deb" -O ice-repo-3.8-nightly.deb sudo dpkg -i ice-repo-3.8-nightly.deb rm ice-repo-3.8-nightly.deb ``` - Debian 13 ```shell wget "https://download.zeroc.com/ice/nightly/3.8/debian13/ice-repo-3.8-nightly_1.0.0_all.deb" -O ice-repo-3.8-nightly.deb sudo dpkg -i ice-repo-3.8-nightly.deb rm ice-repo-3.8-nightly.deb ``` - Ubuntu 24.04 ```shell wget "https://download.zeroc.com/ice/nightly/3.8/ubuntu24.04/ice-repo-3.8-nightly_1.0.0_all.deb" -O ice-repo-3.8-nightly.deb sudo dpkg -i ice-repo-3.8-nightly.deb rm ice-repo-3.8-nightly.deb ``` See also: [DEB packages README] ## macOS Brew Formula and Cask You can install the nightly ice@3.8 formula by running: ```shell brew install zeroc-ice/nightly/ice@3.8 ``` The ice@3.8 formula includes: - the Ice for C++ runtime and dev kit. - all Ice services (Glacier2, IceGrid, IceStorm, etc.) and all admin tools except IceGrid GUI. You can install the nightly IceGridGUI cask by running: ```shell brew install --cask zeroc-ice/nightly/icegridgui@3.9 ``` [RPM packages README]: packaging/rpm/README [DEB packages README]: packaging/deb/debian/README zeroc-ice-3.8.1/Package.resolved000066400000000000000000000012521516567600500165160ustar00rootroot00000000000000{ "originHash" : "17b3fe1bc76447ca7b611f83703debc194392a835971c87010aeb89c7e22dfd9", "pins" : [ { "identity" : "swift-docc-plugin", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-docc-plugin", "state" : { "revision" : "3e4f133a77e644a5812911a0513aeb7288b07d06", "version" : "1.4.5" } }, { "identity" : "swift-docc-symbolkit", "kind" : "remoteSourceControl", "location" : "https://github.com/swiftlang/swift-docc-symbolkit", "state" : { "revision" : "b45d1f2ed151d057b54504d653e0da5552844e34", "version" : "1.0.0" } } ], "version" : 3 } zeroc-ice-3.8.1/Package.swift000066400000000000000000000063071516567600500160350ustar00rootroot00000000000000// swift-tools-version: 6.1 import Foundation import PackageDescription let package = Package( name: "ice", defaultLocalization: "en", platforms: [ .macOS(.v15), .iOS(.v18), ], products: [ .library(name: "Ice", targets: ["Ice"]), .library(name: "Glacier2", targets: ["Glacier2"]), .library(name: "IceGrid", targets: ["IceGrid"]), .library(name: "IceBox", targets: ["IceBox"]), .library(name: "IceStorm", targets: ["IceStorm"]), .plugin(name: "CompileSlice", targets: ["CompileSlice"]), ], dependencies: [ .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.4.3") ], targets: [ .target( name: "Ice", dependencies: ["IceImpl"], path: "swift/src/Ice", plugins: [.plugin(name: "CompileSlice")] ), .target( name: "Glacier2", dependencies: ["Ice"], path: "swift/src/Glacier2", plugins: [.plugin(name: "CompileSlice")] ), .target( name: "IceGrid", dependencies: ["Ice", "Glacier2"], path: "swift/src/IceGrid", plugins: [.plugin(name: "CompileSlice")] ), .target( name: "IceBox", dependencies: ["Ice"], path: "swift/src/IceBox", plugins: [.plugin(name: "CompileSlice")] ), .target( name: "IceStorm", dependencies: ["Ice"], path: "swift/src/IceStorm", plugins: [.plugin(name: "CompileSlice")] ), .target( name: "IceImpl", dependencies: [ "IceCpp", "IceDiscoveryCpp", "IceLocatorDiscoveryCpp", ], path: "swift/src/IceImpl", linkerSettings: [ .linkedLibrary("bz2"), .linkedFramework("ExternalAccessory"), ] ), .binaryTarget( name: "IceCpp", url: "https://download.zeroc.com/ice/3.8/Ice-3.8.1.xcframework.zip", checksum: "22d6ddc85a895321a8fb12b7cac06c12504b56849cef198517324342be719ad6" ), .binaryTarget( name: "IceDiscoveryCpp", url: "https://download.zeroc.com/ice/3.8/IceDiscovery-3.8.1.xcframework.zip", checksum: "943a3293a08fdf4d94288519c0d9d4f8815dcfd9bd83d18743b3c8361655f5cc" ), .binaryTarget( name: "IceLocatorDiscoveryCpp", url: "https://download.zeroc.com/ice/3.8/IceLocatorDiscovery-3.8.1.xcframework.zip", checksum: "371a9a8cfccb84666eba311a46e37c81d3a071dc036cfc4ba78df8e9f9e37f4a" ), .binaryTarget( name: "slice2swift", url: "https://download.zeroc.com/ice/3.8/slice2swift-3.8.1.artifactbundle.zip", checksum: "9efbeafe341c8c99c92c1fc20d4cea69dac54627dc7a9aeaa7877ad15e512ec6" ), .plugin( name: "CompileSlice", capability: .buildTool(), dependencies: ["slice2swift"], path: "swift/Plugins/CompileSlice" ), ], swiftLanguageModes: [.v6], cxxLanguageStandard: .cxx20 ) zeroc-ice-3.8.1/README.md000066400000000000000000000125071516567600500147020ustar00rootroot00000000000000

[![CI](https://github.com/zeroc-ice/ice/actions/workflows/ci.yml/badge.svg?query=branch%3A3.8)][ci-home] [![GPLv2](https://img.shields.io/github/license/zeroc-ice/ice?color=red)][license] [![Static Badge](https://img.shields.io/badge/license-Commercial-blue)][Commercial] # The Ice framework The Internet Communications Engine (Ice) is a complete RPC framework that helps you build networked applications with minimal effort. Ice allows you to focus your efforts on your application logic, and it takes care of all interactions with low-level network programming interfaces. With Ice, there is no need to worry about details such as opening network connections, serializing and deserializing data for network transmission, or retrying failed connection attempts. [Downloads][downloads] | [Examples][examples] | [Documentation][docs] ## RPCs with Ice Remote procedure calls ([RPCs][rpcs]) are at the heart of the Ice framework. You create RPCs with an easy 2-step process: 1. Define the contract between your client and your server with the [Slice][slice] language—Ice's [IDL][idl]. 2. Run the Slice compiler on these Slice definitions to generate stubs in the programming language(s) of your choice. For example: ```slice // The contract specified using Slice. /// Represents a simple greeter. interface Greeter { /// Creates a personalized greeting. /// @param name The name of the person to greet. /// @return The greeting. string greet(string name); } ``` ```shell # Compile the Slice contract with the Slice compiler for C++ (slice2cpp) slice2cpp Greeter.ice ``` ```c++ // C++ client // Call operation greet on a remote object that implements // interface Greeter using the generated proxy class (GreeterPrx). GreeterPrx greeter{communicator, "greeter:tcp -h localhost -p 4061"}; string greeting = greeter.greet("alice"); ``` ```c++ // C++ server // Implements the Greeter interface by deriving from the generated // Greeter abstract base class. class Chatbot : public Greeter { public: std::string greet(std::string name, const Ice::Current&) override { std::ostringstream os; os << "Hello, " << name << "!"; return os.str(); } }; ``` You can use any supported programming language for your client and server. For example, a Python client could call a C++ server; neither side knows the programming language used by the other side. ## Complete solution with a uniform API The Ice framework provides everything you need to build networked applications: - RPCs with a compact binary [protocol][protocol] over a variety of network transports (TCP, SSL, UDP, WebSocket, Bluetooth...) - Configuration ([Ice Properties][properties]) - Logging ([Ice Logger][logger]) - Instrumentation and metrics ([IceMX][icemx]) - Pub-sub ([IceStorm][icestorm], [DataStorm][datastorm]) - Server deployment, replication and monitoring ([IceGrid][icegrid]) - Application gateway ([Glacier2][glacier2]) ## Language Support [C++](cpp/README.md) | [C#](csharp/README.md) | [Java](java/README.md) | [JavaScript/TypeScript](js/README.md) | [MATLAB](matlab/README.md) | [PHP](php/README.md) | [Python](python/README.md) | [Ruby](ruby/README.md) | [Swift](swift/README.md) ## Copyright and license Ice is a single-copyright project: all the source code in this [ice repository][ice-repo] is Copyright © ZeroC, Inc., with very few exceptions. As copyright owner, ZeroC can license Ice under different license terms, and offers the following licenses for Ice: - [GPLv2][license], a popular open-source license with strong [copyleft][copyleft] conditions (the default license) - Commercial or closed-source licenses If you license Ice under GPLv2, there is no license fee or signed license agreement: you just need to comply with the GPLv2 terms and conditions. ZeroC also grants a few [exceptions](ICE_LICENSE) to the GPLv2 terms and conditions. If you purchase a commercial or closed-source license for Ice, you must comply with the terms and conditions listed in the associated license agreement; the GPLv2 terms and conditions do not apply. The Ice software itself remains the same: the only difference between an open-source Ice and a commercial Ice are the license terms. [ci-home]: https://github.com/zeroc-ice/ice/actions/workflows/ci.yml?query=branch%3A3.8 [Commercial]: https://zeroc.com/ice/pricing [copyleft]: https://en.wikipedia.org/wiki/Copyleft [datastorm]: https://docs.zeroc.com/ice/3.8/cpp/datastorm [docs]: https://docs.zeroc.com/ice/3.8 [downloads]: https://zeroc.com/ice/downloads/3.8 [examples]: https://github.com/zeroc-ice/ice-demos [glacier2]: https://docs.zeroc.com/ice/3.8/cpp/glacier2 [ice-repo]: https://github.com/zeroc-ice/ice [icegrid]: https://docs.zeroc.com/ice/3.8/cpp/icegrid [icemx]: https://docs.zeroc.com/ice/3.8/cpp/the-metrics-facet [icestorm]: https://docs.zeroc.com/ice/3.8/cpp/icestorm [idl]: https://en.wikipedia.org/wiki/Interface_description_language [license]: LICENSE [logger]: https://docs.zeroc.com/ice/3.8/cpp/logger-facility [properties]: https://docs.zeroc.com/ice/3.8/cpp/properties-and-configuration [protocol]: https://docs.zeroc.com/ice/3.8/cpp/ice-protocol [rpcs]: https://en.wikipedia.org/wiki/Remote_procedure_call [slice]: https://docs.zeroc.com/ice/3.8/cpp/the-slice-language zeroc-ice-3.8.1/allTests.py000077500000000000000000000002661516567600500155720ustar00rootroot00000000000000#!/usr/bin/env python3 # Copyright (c) ZeroC, Inc. import os import sys sys.path.append(os.path.join(os.path.dirname(__file__), "scripts")) from Util import runTests runTests() zeroc-ice-3.8.1/assets/000077500000000000000000000000001516567600500147205ustar00rootroot00000000000000zeroc-ice-3.8.1/assets/favicon-96x96.png000066400000000000000000000113351516567600500176610ustar00rootroot00000000000000‰PNG  IHDR``â˜w8 pHYs''~ú|tEXtSoftwarewww.inkscape.org›î<jIDATxœíy”Õ½Ç?µt÷l=+ «€ « A@ÜP1Æ-A¢_Œ/$qÁåùr<Œï—£QsˆÍñEE4*Êc!€‚,ʰʾ ³o½UÝzÜîéêžî™¦§›e¾ç̦ª«úÖï{û½…bY6tl:‘ 4»…À‹ÀñÐ ÅFÀ àU:…ÞѨîæB˜€À?%}ã:«`!e>W±,«;° ÈIï˜Î:ÔU¤Íï~êáîU,ËÚ O÷hÎRlV,˪§Óñ¦ õЇv"µPÓ=€³¤¤¤¤¤§%5&¼[et¤ýÐÓ=€¶À´ ¤>®¯€YPìH÷¨Ú‡Ó†€Í ð^œ°Ízå ¨Ýž,¬’³>g€üOPÇÖwÐ|ºÙdî:£éX¼bU[ÿm#T­.Õ8¥LÐÖcÏîcç^•14¦‘ÇãÐðQ%õÃä|˜RŽSD}N Ž6˜<¿®ž%[Mœ>j„p“U®õ[ðI¬®ƒÂXw’nܤ•iñúŽZþ²±£^ÃE8¦Tmˆ8 œ¬ý¬4à2XS·t^Γ¼Q,àãµ<¾©’Uà 8pE}& }Ä+,ª&Ý]m{œxâ\â†ë !GkÓåIAÊðo€ k¾ã¶ ‡9Ôß+ÚMtk>`ñ‰:—ìä7;Ëh0E›Æ#,XY ³À²hÛÕíGÊ pi*ù­Õ²-à1-¼Ââ©='8Å.^?P×lÅCƒ€÷Êe´”J¤œ€"‡Æ‚Ñ}™7úzeÆ7šmdñš¦!ŒàK¡¬Q0kÓq&q€š@âó¹üg/ž•ð%IAÚò€kºå°nRî–‡c‰h@ÈQû……*T43üóU™]uþVÇÑÝ3»Á¯{ÁÀ y¬¬^ðIJÆ¿TÜ5^ü˜?¤5 ÊÒU½ €ûäðß+êØv |Nmƒ 2MÐ ÅRPEøÇ4ã·[ƒk àŠÜðwy ‹·7ùxm­¯T¡òúªK· î¾ÔÉ•C“/®S"Zèà YPêãÅÏx|‘N8ž!± ™ª¼¥ „ˆq¡K•B¿¦2‚š',ø¤ÔÇK«½”×Z¨–‚&Ô&"€ÇÞ0ÿ\“û§8é×%yYÜ)AHaþ`¨‹ñ}œ¼üY€ü¬ðC¶êL%L@U¨äëÒÎ_[ güaE#Û T¡ ¯Xáû…ðÕ^Á§› ~91y5ð´`Xð5PmÈò@®…Ù ³¯ÌŒZ C#4 ‰ËFÀÝÝ#¯=V'øó‹¾  Ͳ_¯F _…{®vpñyÉM’FÀ‹Kä¸à'ãd$0AJ=²«u4è'WÕIÓ0­@š ;òA›M³¹©ð,ÞÜàåÍ/}üaS£4iŽ‚b…¯ËËTø÷Kun­Gø¥d!iì>.ظOðÉ×&3¯t0yDìXÿX@ÆÛßDÅÛ>‹«am½4—ä†C´ÖLi(h†ÚdzB6 ,ÜîãO+½TÖ7·óÑ‚whpýE:?»\'ÇÕq•»¤› u¿ýØÏ‚M*Lv0 [ät~ý8ì÷Å¿¾Ú€ÿ=!³ÓÁà̶:á°PC¬;๕v·Ûy5bÖÛ1n Æý“ô,èø’iÒš…P­¦‡Ù´_ðÓW}\=\ãÞ«MNõá^²ÃõYµôñpÀÏ‘ì‹CXÈ$CA7Uéˆ?ß`þV?_ì1²óCz¨Ü7ÙÁˆsR—%‘© ,%¬Î‚%[LÖìÜy™´£Nn(„ñnx'Ô‡'þ¹° i€Ý(,) ÈÍFŒ4SŠü.n…;/Õ¹vTÇØù–<T«‰€ ª3©ÎkñÂ’o0¸o²“ï÷W)vÀ¬²ÙþN¹,·>ÀÔ"£ &ÇßÎg8à¦Ñ:wLpe ¼v{¡¯+5M›¤0¨»Âºƒ’¡(¨ª‚*ˆˆ¥÷•[<ôWž¯q÷UŠsFfÃÐ,XRŸ¶b–¢’ˆpÂJ33£DÙy¸|˜Æ¯&:è‘>~ÈïWÀ¶Fx¸' ÌL‚`ZAÒxpBãú:x¦ÄÃÞr%,…P, Xö­Éê&?«sëx.~PßwÃ;'`[ fÇŽhN6O¤†öT¹o’ƒá6;_mÀ‚*ø¢6õåè¤oÐ0ÌÝâå•Õ^<^"ír û[œ«ðó+LNp5Kè'“·G6òÙ6#ÊÔÄþ{xì°¼UÉ…^vœvÐtCn½ ƒIüe­‡¶A¡H­°""²Z¶.Ú¬2k²ƒÅ*#³aH¦Œ––ÖÄoI6™ @d)"ÚÎÛ5 db·¶þY!—9¦IÓ€¿‡LU¶öìµ–oË ž^îaëa³UÛ¬©0í™WèäÃÖC~xû„tŒÑx¾dkð_ó¼¬Þ!"¯*põpiç‹rÂÇK=0¯\Þ·%´¤S©%'TMšÔð•6Ô˺ÎUy +p~±Îß§»YPêã…U^*êªb¡ª’»0ÌßhPRjòÓ`úßÛ)s‡µuÒAÖÙf¬ÒäTÛ<ÕWåÞIu é€O^¿=ÿ¢)àŽ!™ZCðÜw弸¯‚¯'  _fû»ùI7ABªöêZøqÙa U:¯:ÏÉ›¼¼±Þ‹;èè°µÖ#ÃÖO7›Ü?E&FcÝ02æWBI°wš×S ¿w¡ÂÌ+\1,¬‚U†4e‰:ØA™0£‹lÔ„oï«ãÉÒrŽ˜~LÍÂk&Çu&Í={vÅ0#²`zèj{ ýÕ&Ï®ð°zOØqFÇìvŒ¨ñÐTÝòäñý>XZ wËÙú×år3n­ãÊÞ'ägWC 'ÌÓàÆ"¸Ø&ÖíõðÔ¦jv7ú1u#˜p®¿ºƒsÚ¯NHSti®ô6Ó¹ö@€§—{ØW!"|CKÎô¶ñœ-è­°à‹:©)µ 8XMËbŒmóQƒgÿUÏú2¦.¤àCè‚ÕS{3È}šB¾¿ìçf„ùM‹ß—4òá3b• z*;äá±Us´NDÚ}Kif†\ŠÂÍÃ3øÅ%.ÜÁƈiÁÆ•-ýËÎc‚ÜL…îA'},s\d¥cÜps‘̪CØ~Tð§Å¾9$°¢0ùøö|ú´¿=Ù!d©2˜˜YQÜ]àѯ*YyÄÛ¬«ˆ6e€‹ÆeÓ;/L_©G ÷ˆžì#£«ÇÿégÕ“[ÇéÜ~IXC67ȶgE•V— “ò`j$d´d‹É+ËTÖ[M_C7yÿÎÎ-l?IõºãÜréw´­nG%OS…0AÕÔp *X"œEaLO\ìf¸mÞQ?Ì«ˆlej¡DÌŸ[i°¨ÔàÁÉÆ«32†eÉ5Ÿ «dh>!—®¯¯Ì_¦ŒÐ¸|¨ÆÛk¼µÚ КEhíAÒ4`»GîX,ŒCéEËö²»6ib,[ TÎËqðð¨<¦®4˜R0%1Î>ÛOÆï³ß÷³¼Tz_±˜Œ¤ñ뉙ôtKí©2àÃJ™Q'‚˜ùK¹Å‹K¬Ûcòö¯2èSÔ~RöºšQ%{Ø"ÀŠì\94îRÀÌ!nÁ³aÁŠZéT=qfîûÉ%åÎó³b{$¦.Ð3wŒvñó ³pÕeGp5ÆáÖW-ÆÍ_J÷P“Ò=KYjí§PTa¡**šÊÏúåñÈù…ä:ÂOkKj,ØMP,x ‹—¿ldþ³'¸™ÐËÅàL˜Ý[&kUB} akhÝÒÆÙF eÉC{&¯gœÒ<@¨`¢pC/7¿ZL߬°Žï÷IÁïJ°!" 5Þ[cpÇâ .ëçäɱùôÌÒ¹4.ÊO*c›7;ªƒ;jJjäŽ{"Ù^¤|eÜåEÙ<5¤;£rÃOq²©Ÿo¦qLòC^VÍ?ÂÌs3kX>ÙªÂ-]dàðnyü<&„½>xú0LÈ…]“³´.Yò^_TÈ é›&åG:è“EÊøÍÀâ¦[ÀÆzYŸO$FM±uÄN"Œø¶ÆÏÔU¹¹o¿VL±KgLŽLî–T%^Em/R¾Acž:sŽ'&ünqf™=͈È%"; xçP ÃWíæ¥}˜–…S‘ ?GúˆŽFʨ0àÕã2cÞÛÂÒÄz:庡'úÈÌ:šÍÎÇö¼yüîJ7ݲmtÅðÕ“‡J1~ÍwôÈЫkpç̃=åX¢‘,åèpÔÖÆH¶ ×Fî\ÑbÍ~,ž r»Tn’Á”ó\¼ºµžW¶ÕPÛÂwç9´¦<$„!Á°µ¤•œädÑa„V|PѶÆÈu…Íg|,54A±ï’e¦®pß(7ÓgñÜÖjÞÚW‹AxŸ“éàñÅÜÖ+?îØ&æÁèø°BnðNÖ¢¹!`‡GÆó05 Óþw‰ÿò¥“Õ€è˺ei<3¦ˆ»†æòØÖrJ*¸wP ìBFim®wË= ]’´I&©Ô™ðÖ Ù™J}\á%è!TL^ÞWÁ=ýŠ( –5cÉ&´¢5¦\$pU>8”ëàÝñ=ðš±ØmÉ>$™€ã ´ó4Y1Ÿž¥~añÚ¾jþgwU¦ÁµÅn ó$3­™ ¸¼ùQ¿,;”ÔÂô¢pts2ÂO6’J@±~¬³|\¹†b·„ 4òø– öyýº‚CÓ°˜´ªV8Q ©6dø;¢Nf²E§ÀŤA ù{9‘íÁY²ŽbWß5‡üü~}-[«}˜:85[ÖŠ¼g4ZõJ¼L¶4ÂöòÝAöL:Ðas K•¿,W–úÚ^‡²í˜É _xXsØ©[85STÍD †¹Ì°P—0;ñJÐÅ:zwÐúz¸µ« 7ÓWBû’aÁ“óý,þÆÀÐÀ©i˜¶•ª¦Gpw÷È×UF¼5'ÜRè~<Ï‘}á5ïäu4RjUzå+¸T%ØÚ ¼öE»Á8ü{ÁòñªÚ(üÝ%L´aÊYrT§)wCw^æàÚQ:s–X²%¸·K˜ÂŒ –ãÍÓà¶®²|l¯#µ¶µµb]¾.·ÆNÈ=™'jÒç*Ìþ¡“i#/, °§ 4S $@ÄŸ¾ý3 ¿í︯4‹Š‚¢¯å˜J¤5»°ŸÊßþÃÅÂMs–Ô47Zèf›VÄwÂÁó1ÎÅŠÊÒ´Gš ×]¨sùP7V|ð¥ê×ÛD€ˆÃ@,ú¸d2–ŠíG‰ í„›©0k²ƒ©#5^+1(Ìn¿¨A/àP¤ÿ¸¾Húôç¿aœÿ‹ÒŒW¼¬°"–ºÉ†YM¯>³8µÂ)÷êâ“A¬)¤©‘¯=;…§ jìX@ï|•&f¦üµ'ƒ3‚€Pšá€[Æ9¹c¬³Å]4§N“a¶Œ ‡ÂÔ‘*¿¸2rKêé€3 ŸÎ8#œðéŒNÒŒNÒŒNÒŒNÒŒNÒ ¨O÷ ÎbÔ©ÀwéÅYŒ=*° Ý£8‹±@±,«°HÁjøNØPœ§Ç»HÞ’÷N´ )ó²P4˜d¥‹:`:ðÈbœýd7à^`0ÈNõèÎP4;…ÀŸ²Ð‰ÿo?öóWõIEND®B`‚zeroc-ice-3.8.1/assets/glacier2-128x128.png000066400000000000000000000060531516567600500200550ustar00rootroot00000000000000‰PNG  IHDR€€L\öœ pHYs  šœ ÝIDATxœí]ûSIŸ¿i:™¼&™¤ñ¹*î á± œòºÒˆ{"ë=„ÝCàdÝ¥d98@Wzâk·,|Å^‰…wZ%e¼c=àÎ;`K¹@]ª¬d®b\ˆ™ž¤g2“™ó©þ 3íô÷óM>ßžžÅ…`0ØÕÕµÿ~ŸÏwïÞ=ž|P<9…BUUUt FGGyÂA###±Ñ§iBx’A +++Â8hšnkkãI1466 £OÓ4Ã0³³³<± ƒ¿ß@@Ó´Ïç㉄Ãá’’:!ÈuD‰Ú+DNNÎëׯyAª½B\¸p'z' ©©IkÀØ…ÌÊÊ"Ñ’R$j¯ë×·ÌÛ aI)â´×Rð38¸æúü;cXRŠ,íŒÝÝñ=\ƒƒk–¼C°¤YÚë8Ô>\swÌÆJº%¥ª{M0ÛÓ÷r8¸f«8Eº%¥Ò^çÉ۱ѴÞeàÜ$üäùóçyB ;B¡Pí6öè°ðÕ•žPÄi/|·yHKÚÚÚÊ“Š8í…‚F´%¥ô_÷š7}èé•€1KzøðáTnfzzº½½ýôéÓOž<áßübuoÓxâèG,éWf‹R–4wvv®ß àÊ•+¼± …BûöíÃ×^a³•7 /÷z½¡PHÒŸÏ×˲*©:E¨öBaSÂ’ÎÍÍåææ ;¡iº¿¿ß°¬ÈÒ^LKÊqÜ«W¯pncbbÂår!£OÓôŽ;¤~™ˆ! ¯îMÚd[Òp8ÜÓÓ“à©gããã„ðÏ7PO{¡Ð’~6!ìŠa˜¹¹9I“>•••Äðüùó¢¢¢è}‹YòPÊÚ›¢%ݳggÏž@@8^~n·ûÁƒÂO^ºtI8H`q¸Ïþ]6ø–t||ÜétŠÅØ9á àÆÂ[gæÚµkjh/ZÒd«¤I'}&·ÚÝõ°Yq·Ùl˜’®áp8??_l`íííápXYí…Ø–4úà~uuµ¦¦Fìiì•­ž\³<-ü÷sçÎéšdúÇ¢®®. JXs”ÓuCÂÎ9Ž{üø±˜ÓÀâpþòúÆlÖ9O›Uý¨Â„Ãá¼¼¼ÄÐ4]ZZZ\\¬¬öÆ·€y«—–Ó¦Ý_>—ôÂZUý(•æôO ©îÅhÈUR10¹Õžž%a'Ü©IUý(•¶Ù?))k/¦%M0é#›ùƒ…ÍÌÌèŽdú›·zíÛ“ÁŒ±æ¬ %ݾ•uþêFâNØc^ØÔÔ¤/B¡×‹˜s'¾Œ¡þbâ@¸Ç~‚UÒ“>¢õ¿l¼]v8ЬRj§?X};#ÿæOÈÒ& ëÞcj|" D=?˜v>2éïÜçùý0;QÏRªšŸhúÇN¦¬ÝÂEÁì*ñtýK –ÔÄfyz~ÀìA=?ª 7oގм%G¨lžîEfw©ðÃQ˜à.¬9Aê—@d•Ô^т߉µðˆ~”J[úo„£ï¥µøZÀι>ÿNq–˜-6ß*ùQ*é¿ÑVíÕgh‘¥ÀXÙú‘ôXRKÞaüÔð£TšÓ?¶±Ÿ^¥ÍˆÍëÞ|]Àib{I]Mw1{PÃR¤ìÌÐ<)txéYX ûS^˜KfIÍ[rà¹ÿâ\îé{‰\MÅRj¤?{â ‰ùÕßÒgDVIÙ£ÃZùQJÃô‡øÖèŒ_'–Tq?J)^úJJóí¶ãØÝÜ©IUWImå͘= ×GïÞ½›nÐ¥ï–\©é7B³j¯þBÔÙÝî³³Šp€|pÌ̵Xeý(¥‡ô‡1­Az•HÝtèkU-)~ÿæmJ=¯§´ý¡kd¯ú­ª–¿ý(¥«ô‡?6î˧f5R¶B>¸w}6{¹Èú¨Œ•)]Ìþƒˆæé^°äüx<¶Ê6;‘ù¨|ýþm•­’.WÊR:LûUh™b_Æ_±‘ÖV]Í÷Øú®ý±ÔkÝgg…~t×®]Rý(¥«ÙÕñ£TúK_Ã4Wó=a(ªªªT$ “þPéõQ dÒªàG%0::š™ý¡Òë£TÊëþïãì•ó£¸dÒª³>ŠE@&ý¡j~‹€LúCÕühr2éÕô£É Ȥ?TÓ&! “þPe?!`jjª®®®±—IÌÛòÍÛ 3Í`C¼ä½{÷nd`ëêꦦ¦"Œ!CœÚŒQ8oe  (‡Ã¡V÷$˲TYYYÒÏe 8@ùýþG„d 8Ž{úôiÄ-..öööžÌ èíí]ZZÒËq5ï32hŒ #C€ÆÈ 12è’¿ß_VVÆq\~~þ;wx£Ãï÷———sçõzoݺ%£‡`0ØÜܼé ZZZ‚Á |8nã•v€¼{"KKK±ã¥izrrRj'q'@Õ××Ë' »»;®fs:I?$]]]qã­©©‘Ôõk×âz¼xñB&ííˆÃMØåWW*®ÿÏxÍí­ˆlVN þåûÿ0o²!NþÃLY÷ïßG®]ØÊš4ß„UhÀቩõ'¿Hñe›ìììõ£ñ$Àó|m-bŸ…!7áº;¾ÓQ7„y9[¨±±1œè‹°²²²sçNDǧܣP=ñp”\Û_°ÈëœGÀsüøqê€ééi‹qÄ’ykž²o¯CM›­²5n€ÀlÁ<79ùlÞ¼YÒÁ¢‰ ±ááaËó–ÒÛ Û^ˆs!ûó Èàܾ}[ÉJXT Ž_ÖŠ¯ÍÛ Ò6ùH#  ÅØœ‘ŒÆ-[ÿîO˜שûºSà’RwàJ*»äH >øÇ83¹Õñn̓ڽ],µV|ò‘L@"1À¨ „Ð4í¨éÓŠç‰o…÷õþ9m“R䲉ɿòt=׿«1ùÈ$@¬26W1˜·!ÎV·î­×y ¬`Ù¥©ˆAä¬)ÄX@±ãÈRS``s!ßx0qÛÔ˜|ä`™ÈZšD ¬ÅÇ„W™6ã©Tã:fèÔ ¯ìRŒÙbùi"”—p¤W‘50>™|R%@¶8júWYYÏ×ÿÐpJM>© _ t ÆŒ@Ó?ù(³1K^eðæäG-ÕX¨À˜hiiáõ¶3NL ìÕ_°G‡Åò¸bóojcd \QQ‘xGssóÄį4 @ô™,8ÔWc¤«úÃñªï ꫱P†ÁßL¨Ó͹b• X‹¥Y‹ŠŠxìŽéjüŠÉzvwÜÿwòäIÞììlE0oñªT#øâÅ‹¼1ÞXXXðù|6›M·jìD­Bk¥ÀzyAcUL¨¤ÆºR`½ … Â[÷*©ÆžßýÛVÙf²Øõ£Àz!€çù‡ª§Æžî{õ€ÚD®­눞çWã7YßÝŠ! X_,//#O­`kûT }d‡ŸÅ²¸¸¨á¨uD/¢Æ&›SÒsã·¡·&?†‡a˜Ë—/k;d}JMñCo2™æççµ±Îàåªqb™}§#Ž92;;Ëëº#€QcÓæ=H5&7ôú%`OI½~ à“ÕÆÆ½® ‰¨±¥°Ö‘Y– ™%’^Tid=ð"jl˜Ð@À²ˆ#ôÀ‹o{1@èÉ $¢Æ=ð<ÿèÑ#“ÉD¢Ã1<Ï_¿~Ýã‰ìe³X,† }ÿ³“ Œ=gÅ IEND®B`‚zeroc-ice-3.8.1/assets/glacier2.svg000066400000000000000000000064721516567600500171420ustar00rootroot00000000000000 zeroc-ice-3.8.1/assets/icebox-128x128.png000066400000000000000000000044521516567600500176370ustar00rootroot00000000000000‰PNG  IHDR€€L\öœ pHYs  šœÜIDATxœíûSGÇïoA)Œ)P“(&•D¥R‘T%–y˜_4e´Lé/QSpy)(D ET4¾z îìãfç6uÊ»ÙÝ™ÙcºúgûsÛ;ÓÛý€%¼!lUß‹äUBPNê¹ʉ~Ã0-ñ-`‰m½!´¹A%}¢¿¶‹A\ÃSæž6ÍYè}w‹68).ÌÑã}FVPqý¸//Wv“:¶Ä3±`l]xYSE'î <¿ Vß‹ Á(àF}xÎaº'÷ÂzµkY˜Fgð¾ éžÜKZµ¡)!^ œ¨ëD¿±âjéžÜ³‚Ê‘kºbà% jÅÒý»Õ^Ç}¿3ûbÀÑ%à^ØüôótOîÛÕþçæ’0®àý:(ãs@:/½¤={…3€Ž¬S·Œœ C^{N…rê–¡£Œ06‹êÊ9 ¥Õ«wÃfæhB\ö9À…g•–ÁH&hŒˆ™ñAZ/SZŸ ¸3nfÓ+éÏ=;¨°ÎE èÈòQÞ‹xQ½ÊôÌ@å€Á=|€†WÝøÂÖZÞ§\@É j »*+#ˆ{à=ÿ›Y•€]:÷¨z~°K÷€Îûþõ |[£ê3¹b—€M_Y¡ø Â÷2ÿ²U»=f.+Oÿsaôf@10÷È;M+« ¾B3út³ä¾Õ¶%@¯¢¯ìïÔ_h Ëô ú;šÔ;ãÉ ;dúõµðÂãHŠï¾dúœ åxŸÓc%È"ú¥—´Ù7^ Ò ýö¦Øîž$ô¤ú‚ØðÙíó‘OäÛé&@÷é~tÆùIU€ŽC_T¯v?u[¬— cTÚ:%è…ðK@ðo5Ô¢a2A €¦É'` }±h˜LAP iò 7™‚b&S”)ˆ¦ÉDn2eb jò®5Úrm7Ÿ›9#lmCȆ¦Ì¯hˆüOŒÙZÞÕ¢=¢-=D ÀŒ=rM_NÐd) Å4*H~øI[»&U,„­†‡ˆ‘È  jYíÃæÆ:W4¿  *íºn\¡­ìE~%÷'ðgR[ma½ê~rÆ9€‘i¯E~€ aˆv$mèv½¤U{òÒô@\äG`‹Lõr•ÕK‡ ©š)DäèA›Îx´’ÕŽ¤‡þù)x¿!v&=ð»È%ؙ̆ôPši ¦ ÐÀwCì¬1;€Îôž»ý²—®óÞ'õuéF’x0a~Ñ,Ü,@ ±³áœ…Ôˆu¸G\(°ãÇnÐ9féÊá]C)ŒLãÎr_(Ì`/¬W4Ïx>¯øV ÁÒö¬ à¾@æùU1ýNîË ôœ åh/Qß–•+?wë/gO.Ü“ÞË”}ÚØìÇ’³­èv¶h'æîÜ×cësI1_\ëg+é j‡ÜWe냰_äÌjº%•Ìæ¾6[->P6Ÿ@“ÿÚi ò€âFõV:‘î‹´Õçq‘‚.îKµÕêY6E~ø®Öî­¬¢(½¤=µyoÇÕ:¸—X\ŽE~Õ:¾™[Dù§]]ê ¼]­Ë»éÅO ñŠ‚cžE¿,¹È±_äT(Tîï^¸½H•_¬®¢£ª¼@e(U€€| LAP¦ ù€ò% åKX܆B¹ •ç(bPÄäIÊRd]ŠXW›Yµ 5â§ZÐДIò‡ÞŒºµ¬æÁÉJ]£ˆ¤-.;¨¶7i‚¸OUä‡5€§qé%ÒîhRG®éÂCüÓU>Ìèøh¯n+£íÕ·ÇM ö"?`SñYc_ÅçnØŒ é7ªBèôPäÇ=€¾rvû¶F5Ÿ’ìA‚œ4K. 10KàÙ Þ{Ùùjãuss¬Å.Ò˜60w‘rqѶNT/çü»Ž„9a˲¦4¶*) lÕüÉ?Í?è$b¢m"5®þñ¢zuúõ¿?¯1:ƒ7Ôy  ç)ÚÜ â”`RwÆÍMnW»±>KÐëøŸZJbFÇ‚·ŒL㯉÷ËÜŒ+ø‡¿(lˆ‹›Ô0\D-åMB8É@’2€bàc×)ˆüäUÂÊ£–Múz@3­ßo¹nW›TNö'驤Rµ¦ €žê¥²¿SŸx-àºN¥Ä"¨‰öR‹ìX¨u§öÝ6/y°-ÞÝB[¼Ú¹okTo§ÛKm÷_˜ž•²7q2ÇáD==þŒç±|Æßq$„ÍK6wñÁf†÷L±yƳlŽíš†bÌ+]oç©Ïq¸½AãÁ„¹“žÆnI«FeŽƒÖ­=©½xq=\¯/ñq`)¤q¡ „ÍOÜ•tÈ›½»EÉñæ/ŸÞ…8ä?߬­æŸ!)ß#6®à‰‹VËË•C=ú”»A87¦D¢¿’W¥fu,lˆ9ܤ78i~ß¡¥ø^±ªèÒíNi3²±WøP·žbS—Tö^Ñî¿`òrb nŠÛ‡Ññ>ãÛËÚ®­ä¢¶ïŠöÛMãêr¶ccj†kæ9ÑoìëÐJZc þæ²vì†Ñ>l:»‡?i$&p6 Àâ à?áÄαT½gIEND®B`‚zeroc-ice-3.8.1/assets/icebox.svg000066400000000000000000000012541516567600500167140ustar00rootroot00000000000000 zeroc-ice-3.8.1/assets/icebridge-128x128.png000066400000000000000000000052321516567600500203000ustar00rootroot00000000000000‰PNG  IHDR€€L\öœ pHYs  šœ LIDATxœíûs×ÇýÈÆ€câ@2¤MS¸hKÇC)LŠ -¡tR˜Æ’B~…z¶pÀ\Š˜µC¹Nx%.Ρ ¥š´P^MB€é HÑ®Þ/ëiiWÛUìݵ¤Ý»º+q¿s~°—c­ÎùìÞÇÞËÙ ¨rÀž ,° À‚ ,° À‚ ,° ݳEªœêwœßØ"¤‚8TºÃ¢P¢ %º´ÍJJ €C¹J# Wi$%À!*û”‘HØî—uØÊ:ltÔqû Y»ŸÈDì €8š©Á’(ªÁH‘ÄÑŽžävžô" ˆ¯›hX#¨¿¤ç:r “â àÖŒ±Ë¿p#†íDl÷é‚M·n¢aqÛ}º À‚ ,° À‚ ,Y òòíн¯eÈ­êw¬ê´•¶ÚJ´æyMæg6™žÙd*®ÅŠk1êçyMæ­¹´Õ¶ªÓ¦êw´ ¹è}W¿)gÉ@0Lž¸ê×tþd»uN½iJU²ç‘‚lJúTƒ©´Õ¦9è¾ J5©Ê@&7ÞvÒ]Új›®Æå¢eœÃÊÑéj¬´ÕÚvÒmrã#€ÿxi·uº:]Oj3ÔØŠ=Ö¾f?€3ׂËÛ­“+bû ü,¿-Ô˜éG^Üã~©ë­éó®éóR?¿¸ÇÍH«Æœ_!°¥ª4þ¼ÝzöF0ÛxøëG\E5ë|ЇV 6Ím´–îr­ï÷µ GIÝgì Ëâúh‡#ëû}¥;]sÿh-P›ø|‡Y5¦Æ£.oÏx&7¾ªÓ–«JvÉç1”ÜGôÉMŠ!Wi\Ým·xðŒ`rãe{¬Šow5M´É•ØB­­| У—$¹||zôäkïhm“«ß寕Vé0äP{`ÖôØ7¼íØ:ä>ò/ß]Ë#mz!²îklCË&U`󵶺ÁÔÉEúÔ =ßlŸTŸDž }ýˆë§w¬áÃç}Ú!÷†·kzìÔþ¢œ¸{`4™ÛOy0·`},J¼§ã•·¼=zÉExûôèÉßôy÷ è™k‚»hÔÙ5ìy~ cAÙÒ6kN¢KU¡D§V¡›Žº^¾wŸJçLÒ¤O.’’Ï3V8y&ÄîÅޏ¦T&ü´\¥1'yÊJtv=vòj ù™,ü;q³ë-rN.Âç¸!ΕûÝF“•kwü²ÿÉ:îÀŠ.ϼ-¶ü8í ±ù˜;¦;ÖðØÖ1˯Ä^Õùdž\„ŸÏS&ôÒÓÔè,ùÆûŒII,'ؼ-¶]ž„¨Óïþ;ñÊ[Þ'êØä•:ÇÄ^è­Ðä ·XÉVG·>3’‹ðóéÖ“óµ¶ 9ôÒQVBp‚|퀃åY\g^»ßûç3ÄÄÏ€²®O£+{FXwCÃýd·ÌaVöóT膿øä“8DTŸWu¾\“A…ñŽ•qÔdt„ùتž‘®O£‰>?!Ê?-Ô0÷ƒŸù¨3¹|øLfË3¥ ÓžŒÈ0qˆx>MÃÖ¤¡Hƒ¹|±þ`Àà§ÿÓtµiÓÐhòÏç€Èí§ð¢Úñ樠½÷pwü¢mŒvúFÓîOÙ&ϧý‚õHã‡Û,T_X@{„>«Æ¼ýÎùùܹåx˜Ž}-bï=3ºöÛãe_V‰CÄóÙ}†˜ZÅ`Ðû߯÷Úé i:æóù¼ ò÷:Ýs­)ÌU¡-F2"qˆx>ÚáHžjü¢œÄ|Þµ¾ßŸ$™©ØwŽüÞfö0€²Õ}^ž'Ë&Ä@®I0g~n³mß9RdˆÔel–§lv½%ù_e1Ä@ƦռÏxÒ%€}çÈâzöùjßp²lòAZÝ`ˆ•'ÌÉ/ÿÔ òŒY\¡ÆÌù'Ù 1362zãÝA9 ò£ZÒæ„~ÜʘyU¦`ÙnÝ–´9Ôʰ’–ñ‘5þÉ«Àè–_‰T›¦©ÇîO?ž‰>jS>3Þ¼ Œ57.i±³’¶¤ÍÉJlBÐiOBÎTñö?ASLÂÔ*4G©c?ºƒ¦HWTýΜx°tÐýñÈ€ÁϲÁ‹þãWt;q%@ÿû§Z±1£ïúÛHVš‚Gì'˜;~%0x‘ØÄŸ¸À á»"è'{¶3úq2K¥ v@€ ÀÊ*R×b“BY@êZl€å:Ë×ýC_ù¦c¬ŽÉ¡Ûcà+sl=úKSXè—ÈÄQ“Bnˆow Q^ Mg-¶ÇŸã j±I¡ŒÎZlR(㤳›Êxé¬Å&…²@ÊþrPVº›Ê*R×b“BY@êZlR(Ûdœ À‚ ,°dÀ7{êÂNX‘~}¼ÔAäö8¢Qò†1¬Ó{ËuŽùM þ?ý“‹³b —¶3jÍo2—ëýç¼7Œro‘¢‰c_&Mì v/¾kØóÜñßt3CcÚs6~uV–uœ² Ù÷7›ÚOyø¿“ m⌽ãlTŠØÇ¼wÞŸüEG¿ÜË]ŽnÌÊö&{?«¼è'e#€±Çüõßþ$/Ü¡ln£uÖÎÓæ6rŽšCò`6ö€Ìö.=¶°ÙLÊ@`c˜ø Œ4X¡<þwØØcÖõ2êQ¦Ç~×g'e °±Ç ÎÈÂæ´Þ‰%Íæ^“%…ÀÆ>>  [Ý<ßøø(VTƒ5s{ƒ2š!Œ=ó?ó½Üm+»eœ©ÁVïµú§/0*£Ô=ᣜ ¿üftÀào>æ^×k_Üb™Sq×(ËUçÔc‹[,ëzíÍÇÜÿµÿâ2M;àØ…-Èivãw-‘ë÷ÃŸß _¸¢¶Ù\¸úü^øúýð]KÄìÆeþ÷Ô$Qì2z§üã)° À‚ ,° À‚ ,° ,€ÿŠ;ލ@}'IEND®B`‚zeroc-ice-3.8.1/assets/icebridge.svg000066400000000000000000000167701516567600500173710ustar00rootroot00000000000000 zeroc-ice-3.8.1/assets/icegrid-128x128.png000066400000000000000000000060311516567600500177670ustar00rootroot00000000000000‰PNG  IHDR€€L\öœ pHYs  šœ ËIDATxœí{TWÇïD ¼AÑD@°òJË#ˆµŠh©ZP¬òˆà£YYY,è¢èê9®»­+ô€q±Vk·Û "ÔŠŠÕÊÃâYÏÖZ]©Šà©¼Üž-[Û#“;{8Cï$“y°™”¹ßsÿš¹ó›™ïgî̽7“ù‹Uvw…°, €ea, `YËÂXÀ²0–…X€úúúZÃTWW§V«Ù>fë•Z­®««3ÐÌúúú>7nÆ(>>žíÓ´^-Z´È(3srr€£££QÛ:;;Ù>SkTGG‡±Nš`> T©TlŸ¬5J¥R“åëë»e()Š®®.¶ÏÔzÕÕÕ¥P(†´Ñ××W€˜˜¶Ÿ+Љ‰Á~=”JeMMMvvv||¼T*•Éd …¢¹¹Ùâ‡mÕjjjÚµk—L&“J¥ñññÙÙÙgÏžU*•æ(//÷óóÓ­Ìãñd2~$ÙÙÙ™œœÌãñt]ò÷÷?q℉Ôjõ† n ‚«W¯’V]]ݸqãw)''Bh4€mÛ¶4zôèœTSS“›››!.mß¾Ý8.\ ­ c»‰.Ïo§ˆ-k\ìù£ÐÚ™3g’V¬¼¼¼—udþXB‰L°çƒ­iàöé>‹~¸H”ï%~É­%ââÅ‹F˜={6Z¾d.è½Jõ¿”Ø–pñô¢¹8ËeÕðþ”§d‹çOÐkï=z„.oøùŠVh²9 ¶§ÂöÔò§¡mSRRHŽÉd(ÚßßÒ¶è¶Ë`{ê“{É^BÔÚÚÚ PZZо©ºž€ß½FxÖºÌÝÕŽªfggçg)‰D¢¬¬¬çÏŸkÚ¡T*333E"‘nýwß}÷¾Ž"##Í< ;»þsí ”×µ]ºçGYÛSÿ´1 ™YVVf€üü|´°ê€€¶$=f†°¤ââbMEEEÕ+Þyyµé%L¶Å÷˜bN¨ŠGÀ´‹0ÙÖaš¸ÉB°†À²0€ `¬|0û(£äÙfz‰ÌÚâ Ãf›j " £¿Å™µØãO_»ÇBðòrÜ •ãq~-EŽbr<Æ/fÉñT„ÏáWåx2NŽgCÍ™JLÂÓÑx &ÿµLGã‘°ã‘0 Ë-v jhhˆŽŽ¦gCW¿7é`7 ×p?õDwdæ{È¢˜˜˜ÆÆÆaðõ×_Ïš5Kw¾›gïìÿ‡I‡~Â#áŸýš¸ÙÖÁY×%‰DrùòeÓ( :W•®l½^ôÝÛÌåÿˆ%5¹M b‘Maa¡)öîÝ;H\zc'¾ðA7È>iwL4Ä¥}ûöàÆ(MSß÷i`Wq­œ¸w†¨:@È^ãkdwŽSrÀ„WbQ@‚K¥}i.î|ÞgTAá)  äóù7oÞ4€frú™à?_i¦0±ƒûPbkCçõ~ëŸ\° àôm`8ª`¤» ýþVÂŒ—Ç¢:¯¿þº¡:;;Qþ’1nàû/µC7½D%ñÙ¹%Ew‰~ƒküç®DÑþ’ÅHâcKe[ëúv)ÊuÇãñ?~¬@CCCJJÊúõë»»»©EGŽA¡·¬ÖI’õÝ| ÀÏÍÉŽýhž½³«Xêaz†Ð}-‡1žæ„¨8ŒñD»†Ì23êö8;‚'—i¬&¢4V›×¾„vzôèQÊáîîîõë×§¤¤466‚juVV–n&½Óïé&rKDÑ%Ó¨&g5#œy’M¡È¢ÏŠèW1 (‡ß|óMjIhhh_‚F*ÃÜÜ\´ÍêèKSI©d¼ÅÏ×êôê ÝLzbdQÍ'sPÍÜÜ\F*CÍTU4€ƒ¢…»7ëfÒ[H…V=J/°·è¹Z¥¼Þd$ó @ ¶Gèæ¿"™çíÛ·ÑÂ` ú–™)— ]ñ1ݸâââHŽ)66vÀuƒlK¡²=¾àŠªÝ½{×ЄÎaatÖ«´›Xƒ+l—µük±§ ?S®QŸF1:tè:}ohýBû2m™©nKýýoéArxx8Úvhš«–Ì·Nö‡~ú Qœ?^0–¾ùˆD"Fv_.H©TÒ¡z€C¹ýÉÉz¢þ$ñ<ºÓ8uê”H’\¾|9£Âø±@ô3™žÝ•+WHNêÒ¥K¶¶Z±·ç÷Y$ô`z‹R §§'.. *>Ÿ¯ –ƒª¨¨Ðœ³Ñ«E‹õôô €$I•JµcÇ'''½q#""®_¿nÙóµF]»vmòäÉz-rvvÎËËÓÍch(J………óæÍ  …b±8--­ªªÊðOâŒxA+++ÓÒÒ„BaPPÐüùó÷ìÙÓÕÕ¥·¾q°†]€U.J555†$¨ä¬z{{«««‡´188˜,‰D‚ïþz!”H$FÊèÉ¢ŽŽý‡Àmuttëd_6!!Á¨m&Ož zeroc-ice-3.8.1/assets/icestorm-128x128.png000066400000000000000000000064121516567600500202110ustar00rootroot00000000000000‰PNG  IHDR€€L\öœ pHYs  šœ ¼IDATxœíËsÛÆÇõϤI&Óä¦[“K½õ¦½ôØœrH3¶S{Ú¤3m<ɤ3NÒH²ã‘£ñ#ÎtâXž„”À‡$[~éaÇ–$AR|?$ñÜ%:-Š! ±Hqç{)àûÁþö·¿Ýg” mÉB}}/ÿÍýýÅÕØ5¿žõsòü µà\Z‹ÝxºG•2ÞÙëœQ&«ÑÙú©s+Ô¬‡4¨s+ÔwÛ©D±áÈO€Íhi!5î{¿üôf¤lóeO€d‰[\b}·¾ DC)`ÛÅ7¢¥ÍÔœ§ß­Õÿî&yI¶áÆ@]€1Örë;ºà£“%÷]Œ+€+€ >í¬i+ŠwTKY d• ±hÉKÞÇ92€{ä¾Zý ¼-aº1PiȾ.÷íÐbà%c¹Úq Ãæz„ívß6³òÎf=äÍ­”Mpd>Äøèt¼Ju «ûÄØ˜õþ'yìždÖÚ¤kw­4÷0Ëÿv bAªê#+D¨|s'·¸fÙEࣱܺXµ¢ÜF„Áxýq^ «2Sƒ=êÿû‚¸±™÷šØ#íˆò@À ÆÃQŸ÷Hía†ßut“ð“7÷‰ÛdqÆùŸb·3\ŒÕôÝ€¶|aàWGܹŽIßÜßÇ€Êóù?Ùˆê>õ¦tˆ~ÿ¨à¸ã=Z\aðCÊôì ³?äƒÖ›ð4¦Ñà‚vÜ÷ŽÎ­Pì$UöQéh5R W$Sî›pÀ€½r+á¸õmÍ{Ãl%LXÔT“Ë´ç0¸ºá sœA«‘Zd(÷‡ÐN¾ºœð°g¬ ØážýQ´,£“<Ð…ÁY»Eqh÷GÐêy4;·<¹YPÚÀ<`+Íâþˆ¬ì•pë<€“¸³­ÅFst>\½ãØ€|›,à­éïØ-øX ˜: W嫆nÄ룻o ‚×73ö»¿à`¯†V89H³­rªU=~Rw‹-=Î TÕôœ € Å©j«²} ¸º¼[º¾™Á:m`]¡Rà~}øü’±€Î¤Áò^é¢Õ 뜗˜VÄ8exMgìp¤pkáÊmˆëï¶3m»¬ A%ËÙg=c'€Ã * þQ{Ãür¸ýø[ €Ãb8Œ£Ú PàÆNn·ÈbÇ7 4¥ÀÛí;〧 UæN)™ÕkwÆ!EÉÚñ÷håNÕ93¯æjŸöî9+0€¦Óî3Ž8`Œ3˜÷†ÓåÞWÔÀÁÈøÀÁêBÕˆûç–­>ÐuvŸq‚Þ'%}÷/´Öë‡ AÅ‘œ‡q%ŸîÛÕ[ŒÎ[>†`¾Ï¸@»¢×¿´pn9|—ÆpJ’“]|7 Hpóa¾cýœ—ôìdŒ×€•f|´;Áâjt=”ÇxR^„Šã¦3®@€Ê™~Ë¢ieÁyÓ·¸¯c`C…™[D2Â@FîŠ?ŒÛ Q0hÈMÇgÜ àQº@EpQʸ€ÙaÀ€‚kæ_Œ[i#€Ü9€? 0pÕŒqe °p¼úϸ€+€?„Á TÅ è‚ÆÝ=`=Røc†q1€Iœi(ï¦B4ãJ¡ΙpSQ˜Ú´t”L¾â~f|×Â÷õ?U5ûboÓj’»¢á´é£‚†€%î¦(D8mz·*œéŸfIÒU%9ÂiÓ;ºæGf†‘‹:á´ïO¥Ã ÏØ¸gWãÍGÿ‘¸§0G8mýÁyc ™\‰´€Œ”„ á´û>‡ >£8œ;Ì€pÚ}³‹ÀV8X%væ` ã>ÐÅ‘Ü·æ„ '#“"Â9÷cåQݷ쌘Û/D8á~ùš5?khÙ!=„Z«1ÛÃa»û[ɺÙÝW:ÍâsÂ"jÚœž6Z¿«åX‹ÏËIy^FyÚ38ø}÷‘à~¢žµ(æô4ŒïŠ€¨U:-ðp¿ŽÍôµ(»µßˆ• Ž“¿!#!E€(Òÿ“ûád^Fu­pôÁw¢|[0|š ênIè|°[wŠB©!±b÷I^¼Í¢yx"!ô‹æ¡ñ/ùoVì|ðò©^¥M$…uØù`·6ê&.Ã’6 LÓ`_›† ž6 AÂ4 Ód_›† ž6 AÂ4 Ód_›† !*JND1æDÝ àsµ™ðk—΄e¤ÐÚä - þªÒ€ŠŒ¾.IMò{û[’ÿº$U,-EYàZQêðÛ˜ú y–ÐéŒô2Åw¾ÿeŠ?“‘Òêð¸O'ެïÖ™ÿ¸]€äá‰øÓ«íÜÛµ²ì*^¾>²¾[/…ùe 9xòð~Tu2ÎïqÐ=EY©Êík~†~B ï>ŽÀZ>Kª»ßÖ³!>Pký¯)$5­ïèïû‚ Š$¤lÕ¡È물]‡ªþ½UEɈhÈgÒâ݆é i @*÷p À‹eùó¢ü-€¢î?¬A唦õýŠêP™ y ûmf/Iè“tïߟJðŸfEoUîE,0J3 -¡ä7ââs}ÏòobBRÂ|Iè~[çKò̧]…¾>ËjvóÏt¿äT‚_,ˆ©ƒ+ »I §üs$ÿsŠÿSRÜÕŸ§ Äÿ..ΗäGÊJFëc6Ð ÞMþ„‰ˆ䑟eEý©‡V‹ Ð Ú0€»‡Îý wJ7#X*÷vÖž{+)Z Ä”滋™oRþ‘“žïˈž'ùsRçþQ9º,£ /Ĺœx© ®¹lQ)t£&àqCe¸ê÷î‚h9À•Šé¿ª-%¡ó%ù´øÇ„øNZü¢$§~ŒÕ¾%Éë}ï 3šŠòQ_µCÀ+a~DÿÌaÙ‡«Úì›ÊÙÔðöŦêUô{‡ðjDnÀƒEùí:À†ÆTCÕĵËV觘ã )ÊûÉ!U.hø…u/º ¶¥\Ö˜xÓ{€Æ0®êãÙa{ÀɃÜ|’¬i,?Ѓ$õš«ªkõæp.šY×K5†Ú@ô1þ,èûA£÷ØÐ*=1º…&Só€…Òà§x“S°iÑÒ·{¨Ö®O'xƒ…œ›•A3á„¡ÝA5¨ü´¯ô¯Sažªµë ÖDä jׂN®)ŠòeY6^až(Úõ©ÿqZØ1ÿÔUdt³"ýë°úKŠËd5´Ý–|=Ú*Î ¬0ãkÿ3çkq&ógëIEND®B`‚zeroc-ice-3.8.1/assets/icestorm.svg000066400000000000000000000050651516567600500172740ustar00rootroot00000000000000 zeroc-ice-3.8.1/assets/logo-128x128.png000066400000000000000000000227141516567600500173270ustar00rootroot00000000000000‰PNG  IHDR€€Ã>aËsBIT|dˆ pHYsÄÄ•+tEXtSoftwarewww.inkscape.org›î< IDATxœí}yxUÖ÷ïÜê€DA…tX QFƒïˆË8ƒâ2ß¿™Wp„tptDÇ0 ¤ *àÈ\IŽ:Ît^GœyqgQGE aK'¢nÂ’µ»îùþèîÐKUwUº³èÇïyê¡IݪºU÷ܳßsÓøÿÔÙèhäWñÅL¸%™ñðã™t¼³ûÓÙ°tv: y5|6$b` Ñ(ð€õÝ¯ÎÆžò?b+÷À˜àŒÎîOWÚœÕ|53–ƒ‘~NaÈÎèSWÃ’œÕ<Œ¥`\§×†O€LÙÃÝ, Š˜qk´¶RwP·º4~P`±`63´=-|ÝD‚n†Ûž&?0 2þ>§ À‡ï¸ÂÅ–j¸ÎÆ-ï¼íêQ|NJ2èÚbå4ß30záÉŸzDÓ§DôŠGI¾;ü¼) Kùn¾ÉéæíyÕü+0o<¬ß ¸èÑc™?Z|¼œ$þ°Ï¦—RKË7ü>–‹É `81þâtãýü}<:‘÷o/tipѲ£éRgC•3Ù+’‚Ï4 Œwíª.e§›_T€ûžqзíö¬8Ñ59€‹Å g¾™Üdõì%P€¤ð&Rˆˆ¡&iB´¿ LR½Îj.È­d[;?¯MèrpþêWèwhƒŸ#à,½vZ@vM+ ŒE=’°ÃéæŸwÐ3 £Ëˆ€Þån‡µÅòˆôp®ÐŒR‡þ5€Lt¢ €b„Ö `½³Š×©Œ«QM"ŸßVt:è]^™ÖsM•‹TQÁŒ\£×iêlü}w’+˜p½"°;ÏÍÅSö°aÇU{¡óÀÅ"uí®ÉÍ‹L…ÐóÑ@à` .lÑ  òÊŽ’Ó6¦+ìÉsóäÎ4;…’×UŒ³ý¨òfzÀÙ ÌMM‡À¶açp[×ÛÖW”'¿¶ë|£÷‰} x®3ÍÆŽ%f²­¯ø«x„ñÜJSÄá ¦óáÓ‰r%ñnÛúŠEx«2-ž>áRØâtóów¸YWñmt,¼ý¶àR3— É´8Ìp€0ÀÄAŽ%¶(°5bu}EG±è€Ù¸gZ Ç59Ì>´ã0nœ·EQ‡X ÀÏ­´8™P#\Á¬•?Àç ÆsɯíÚj_[iŠpÛŒVN;^¸vD}Ëøa³Y`€­Á§ÈD’²ÔøPlâ}d¸H‘@L L£‹­Ý^Ùó|Ú?ÜÚ,ÚLçµÑÂÀ ‹ Ž•i{œ÷2ŒN³?Oqé2)̤Z¬‘3MûÀÛP >¦… 2J3hñŸP“V£á+Žô¾¬öyEŠHŠ]"äðC€˜z0cQºhÜ‘³ ~¼Ñ÷ Ë@;fõ\+N6^Éó´þ.µD€  B0Yb+€¾ßìßK „hö@uZ²žü6mXqíCPi1& & 7aâ(ŒÔŽÁ`z-§¨þa£ßè"J`,|ìêÛÀu颓ÿ£¨xÀ…dÄG5VÃD€Âl ]úÊ`}jŠÖw;æÿw Ì.H;tîb‘Ý£ö6´ÐÂÑ'ò9ÑÑ(ðôÑot1˜²‡» àL=“èÃÙiÛáâ±cDÈÍsR>Å܈&† À*C­’¦ÿñCÿÖíè %ü+mÆ{¤àå’´'Ús‡¯8òcÈÚe¤Ò ¶Áo(RÎzÏ•¦Oxèàbªq+èí¬æ—%á÷«R„쇋äV`æiÞÊ0(ÉQÄ„$«ÑiQl:Àš,j ;øYŵç)Á‹[‰‰ŒÎvB«Ç>bÌÙ\˜²Æè»#&\á:šîÉ ð·÷æÙíC¾›ÇtcG¹‚q³ŠO1QÈÁ¸ð†›dõ}ìØ¬Øê±ž8YO~›¦´(÷Q@Œd£³=ð; j‰ðèQÕ¾¬ÒE-Q[FAÌi&ëh¾Cwä5”+÷½;'å˶>0€üj>10IÇxK¡  ˜”çæùÇ2°JÏ| €aÔ>óz¬U¯Pb[.ÃÓÜŠåQb>û”·œ÷0èY›ô<ø¶«»iz8bÎ%4Ao¢*±÷²ù ‹®pq›bå“¶sj~»˜±À$—ô%`ez5væW³îroÀ\BH²ª(’ ›oKÔ‰3¼øðUÃϨÝFR<'$ÎÖ¾¶¥}ðy# ŽÜ2Ï>-ƒ´Í ´¡À+w-jœlæBg5OINE5 $›|îPf¬sºùµiU|¡f iÜäíÆ$Y5œ>a¿}‡UM0bÉwƒ²—)‡*6’Ãõî¡EÑžÀ»Á<~ó¼Ôk6ÏëViô &¨R;@Ã@??—SÔðæ˜¢“Ù±î“_ÍÙ`¬‚V ˜9Œ—„íN7?ž=cÆÐÒ¦HÅðÍTE*! û©ºÙË/b¡ìL¹îã{>Ì‘­›Gˆ0³Ï”ìÍ…©Œ¾›Äü`>ÇgTmdœ€øä²¢Æ•W¸ŽŸ©×¨d *ˆ1 À‰6ô3w¨@•³ŠÿpÏ—la‚«Ô7D8‚lâLðzH€KV²5»¸6Ÿšå^!E”%ŠË‘ŒV4Ùš26ÍM)^31ºîb²ÌÑ Oþ”$þePA©%BQŸÁö'ô:}Ç^>W*XÂÀ-mí´¾ð>€\ŒPl%£Èøÿ€²ƒ¯Ó#Ú¹`ü$¹`€¼X0¤Î¸ž$ï;¿Þu…‹#äsÉ(ò”fP±¢b(€âzsˆ$ ÖèÊ›ÿˆž-dFÎ70c1’ìC6ÍK-iO9 ±µfÖüPBнC zDcÅØù šéLÏ ¦ƒ¥šÌÀU`}wj1,"„`=ŽeÖ3kTIY[ Sfo. Mî—ˬ8«x¢³ŠÛUDÆ$¬J!ƒ;ì7±ÿˆ)2˜P>¶¨ñõ1®æ!Z Êô&Ãpf‚PßÖ—2€ °GPlˆjÏ3>”c7ÏM™ø¾Ë¾_¯³Š¯M¯Æ6þN„¢Ä¼²6b€ÇæùH¿&[åØ!NFă¯BÝ1¶¨aÉ%‹j#J·Ä‚ªb8ëâ|?=D&“¨°j9}´1´e¾8@ Û6ͳÿx뜔-zí¦Uñ…Î*^ Âë²€Û9`“*ï:ëäÎ{z]Ï$¯QIîÒå¿£‚•YÉ-ÉÕc4ÌÈ-çÏÚêATSšI$ãmЂü1f~z¯'æùjš}ЦyöçAÚ-§ìá¾ùn^) ;@¸>ï†=g;ï9s£-µçE¬ðLUðq#zý 3–ÜÛøáåE 9Z VeÒÚ4²ˆ1€fJ•i˜ˆ`÷’ /X¥tl*LumEZ&mçTg5(ìa 0œj–0´i5ËÐeßõ±@¸ˆ)˜D¸ÝU3d ûœ „{õ¢SÝìÀ ñVÚ8Qê îÁ¹äèç$é¼x3¼ÅRÎÚâJûT¯A ÿÀbΉq¿WKt£±×2¸–3 [úÝ(Ab1I 7¬ž˜ëÖ#eá†éÔ¬Õ`jO„Ç´u÷±R¥ÿáâÅGDŸÖ>FäÄt~¹‰ñÀ¦‰Îj¾Œ%†ìk»@\I¡³z´cfÏò6)ðM‚ÄB*¯k¬» ^S®Ê¤µ”‚ ýbA“Hb R@±†Èãr¾Ž³»§Û‡Eüü*¾Øéæ7Áø_|ÀÄj©¶ &p½Å–ƒçáF6–dÐ1½v­™/ ?Ã2ãeälÆÄÞ(¤eÆ{®¤]Zg§Us¦žã§±Þ¥õŽÀ‘2…®.]x¢Žg˜àT^­†ôÎÝâê¦[.¯Šû Â\¦¢m2þŸ¥º© ×BLpVñµ~³äf<ØÏgÃݨÁ±ä»ARË„¤ñ  žöHûÜ\ÚéaS«x‚Bx’þ1ßø®ÔA!¡ä?|²ž˜RŒÉyÞ(Á³¶ÎÓ_šug%§ym¸ ÷°è“Ú•b;‚N…XÏ&BÙÁjü'¿šÇêµß~oï};göºŽ¤àššÓ-¢qÏØ¢ú|¸8¢ß«2imc=†úÅB¬¹ˆQkRhÔÁßKŒ‰›ç¥^£7øù±5ÏÍùž$¸Ù—øÏà›3Ù6Tüʶ¡âûÚOÏÕ¼-:ÀÅÌx×YÍåùÕ¬»RvǬžkÕc=†²Â3¥à Òú0he5~pYQØð“/Œ ú’Lr©ÃlÔ»‰Ö²2Ád‰"çk‰0»NÚ‡G“óN7ßÌé¨ `%âO|á€Ñ¶Éë+¯´½¾ë?`üŒU‹³¨ELWÅ7áÓ Äøc‹‹ô–=¾%ÎI^e8<%Z/œj,v΄?«BþþƒÓ¾Ñ:›WIþTóðÁ8Tê ÖÙq…‹-ÑèA$ %`N«æQ’ñ€ŸDë°I4ãIÀÂÇ3µ­¡Ò^©ºP]Rpn€£ˆÑòóìÿ‰vm¼€›”dRThÄÒ×2Ñ b@ýà$1/9Ê)h¥Gÿæ3N·¨˜OÀ]8¥„(uP«®0f)ÛÅÉÆ†Ð+y# gFËÁ»ÝÍý­ÀòÈevŒu$pWI}­YÏ?Wõƒ…æ²ÂS¥`E\ò䫊ì0ð÷ocFi&é'.Ò¥™þHLg%vø>ß³ynªæ^€þ #ŸðcûK4 p.g1wCsc@¹ÜÎD³¶Ìµ¿©÷ ß~Î=¼-(aÌ'·F}bÜ]’IÿŽÖ¨wù·iÖÆÆû¤Â÷³`{«EzÕ/'\ä»ù&¢Þ$ ž„yÑÌÆì§êzP‹êÓİ/‘ƒ/LdÖ0°NH1c“+9¢«‹Ytã¿h,ˤ—‚Ï]6¿aªúMþ“^l>ÿ#¶ÊtÜNÀD©cl„z’xìh ñ¯0ÒÄ%+ÙZ'¾º]r|V«ÞDRC—’`ÂÍ'nuò¶ðÙÚDXP7OD[Бýøá!ä¥å‘Ž—Xh!àN²ÏÑ‹·›…ßû¸€#÷kc—pç³Ò_lÃL>ñÝ/U…JÁ!¡x-kªõ¼¼¹î—DAøDÓW9hs´F×ÖNPLÀ£9váþ°inò z‘¸X˜Z× ‰Ç\Þ–ëõ@À^)pwÙ@úßhíF.©»JòQ)äŧf|¸)Íà°ÿûÛÜ|äG§à³»_ð2î{6Sù²¯.NÊlbšC ‘@ýà=–rz´M8¦ÖðùBb€[gÌ$ÙýèGN\(vIâ\­Ï"’"¹ßüí¯D%€ŽZL&[¸W¯ÑÖYý+>r3Id“ÿÂÀKÍŽÂ .'!>¸Ìu¢4·-àKÅJ¯Á£ø€Ä–ec¼hUpßSôµ^“ÑŸ<Û¢Ò£¬Ò­ÄR`dA¾fn=|€}‡dHpëß"·ÔˆDG€ðg&<­QÖ“ßžÃL±”ÙäãÌû~û^š‚^\ë·&!xxb3Òb®§ëU^*Úeð·—fÒ­±šY¼¢„ÉÄ€¢ éŸÍáÎìSš…ô º`&H"{K„˜Àñ³¿’qÿªLÚ¦×à [¾:ç›»¼’çp  f[A0°ÎBbÖ»s“«Œtö}ëÜÇ£!°‰”û„lgÏOKÆ¢eýµD@XÕ…Ò+z4 •‚ˆ\úg;C†ôOŒ® $b»&bƒÜ|3€˜zYbÖ€e‡þKHz‚Ù†d¾Ž©‘Œü‡X¹/ž\ûähá ”e ªbšóPý(HZ ÕåÍ@¤²® )ˆL¸É}Ç9ÿŒÖ™„_Jà¡XëùÏ_¹¿,–ÅÄt+±Ò(|á>Èßâ Íý° µÍš0òq êq? X§Ï;,0=j-!f» iƒ#(sˆIƒBD?A@Þ´÷wEŒZ<ê(ŽÀ[lé÷Åw©ˆ˜ºGÅ&|ÄtŒÅgÔŸQü¶Kûù.fq°¿cp©ƒ ‚Ïå5Ldm‹Lþ \‘áîÛÝÜß< c5 ŒBxÑ˸7šuôÓ?rjCCÃï™h6‚vV Ìx]‹@ÁM»~wf|WÍ¿ ölÔA Ïxê•C àœ¿|öH<.Xdk¢©üö¦g…b³mz7ݘïæqLX ÆE zÑ}õSN¢œ¢†Ï\Æû’øÎ­óR5u–<7_)€b†Eÿr¦p„ù±œfÿµ )S2/c„ʈ ±û=B½qÇÌÞ¯F{p< Ax™=(ЫêÀ™/ïïw±` Ô–ñÆë’3+¦Ÿ]­÷ì©nvÂ#ÛÊ£ÀÌ©rŠD%^ô*Þ{>| û‘ð{ºÞbËþ˜àzE{wS |*TÌX9ˆ¢ê-c4]ͬÔZ(#D,¸‚"oÜvo¨ÐÖÖFH\­Ê5à­·,éåûfHÕ»‡ “$1ZI¤sËø@|ùî½'è þo>ãtg/@Eøà@ýÿŠÐßð ~]š|Äýt³~baík%ñljªmðÕ|õÁþøÄŸ‘-Z§•ü¡û-¸œUñɈ%G‹G¯8Ò=ü|I&}RšË‰1¾b‰@  m*öå¹Y·Ó{¦~µež}FÐ,B|©]7CJ{u×+`qcÈ,–f¸ZˆÅ3öî¿}€®‚9¥†+ŒZ¬^„úÒ ©r–SÔð€ÖLaMSK0TÁ_I’³+gôÒ43'mçT{ ~ßfã[D˜Q’Aú{¸XäPÓí ~ÀÙLâÚ-s“£æ´+Ø×íz…$nlƒfÏÄôK|3ù]cê—ÜS4á~î9×m]©ƒzÿ!§¨á€žÿëÀ) ›ßaòÞµëw}4“_ô”Ï8á%`5Ta|‹ £b5j_ š æ[ZNùº¬×õšjäð!œ}«ƒŽàÁ°3PxFwOE÷WöjîìU2€ö”:èg \`wBžj xv»æ¶ŒÏÚ@s]?àK¶àFÜ Æƒ tkϾ„@›tÄñÌx-õŸ»×©w7Ý)K3hcþG<‚{àN0ЇT(ö;uζqÌ”_Ź܀]`,BG>©ø¢} @›Ñ›L=ºž,\™üZ¥ ë«’ÂO¶–Êó¶VP;³INSkøRg561¡‰Íµ3ƒÈ]Ó)!…Bšw&m¨¸V«Áê!t¨ÔA“A _5tSˆºÃ^üŽÏø§›ÿ.$ÞpY¢îKÀ^fä‚0ÛÄE!PsÔÔw`bú+‚¢~qNÏLf¼n[_ù7½‚¥ôŸs3ÃÀm¢®kíh €ÀAªŠÝ&"q²ö(³“#Ê2é%Õà fa" é+S}ªÜ9³×¯{š†€ðåÞߢ*–ÝI*îÑÚ›ØE$Ëô¼GÁ`0#vCh7p1‹<7ONJm-•’¨Ð¨—€/cpi-O i<+‡Ã>^osß¡ Ìê߸çγª@&ÏÀWX=^tcÆRÛ¿viï‰àO¨®4“fû« DÝFF¨ÄòÝ<î` >&à9…Í`£F–8hZx­U15!à„¹ïâǯþí9ßVç÷ù­ªÐ04k„B_`0𠃧¶ü,+æÆP«ÒÞR—ŒˆX ï¿_ÇÀ´jÎtVs9o²oÆ"\_ê kV9¨B«I³j"//L$ÛM¸™5ÊÌÀSúìú<¯ßuDt5À†¡úáa¦kÓ`ÏøìÕf.\•Ik6c¨?ÚxÒäsCLÉØ™ÐF-3Ï=€ìX+Œ¬ L ô6×HFä}ñ›~oüì¼K˜ÉhzØ:õ\—5׌Ò-¨ k²¨¥4ƒŠ½À…ÊÍ\—#¨5SÅP+fø«Œx-±× ¼PMdF„€uƒs\¬ÃBà"ù5°¦ïÊC¯ÉîÍwxa¾vƒpoËøa ÛÎ_dâg?E¹- >ˆuM› ÀYÍWd,%]û„±Ž€™¥™¤›ë¯O¼ÂhÑØ0Ð a`e+ ÇòMëÛ`ñ™ÝóQ_µÐc54yí´MLi&½ÀÐ>Ϧ `J VT<Nx]ûOÀ˜åï¼.l¯WfµH›ã3C†[ijØÓ’@Âx(Ž#ÃLùnŒìëÀ§ZUTÿjÈ!ÓÒ_®y$I´Ô¾qH‡o’¥S:@~ߣHT$xSƒ¯˜0åÜ ü(ÚàÛ6ìnÛP±’+lÔüûðó'ë&ZLeEÎZg5nbÂǪ±iZ к êþÏÀÏ»Òàf9áLÓ×裑¥¶f,z*‹tµWûËUýØÚ2—%¦2ùwáÈØAz ¼†w“6S R0!|6×)ñQž›Ÿ²3æšØö¾Ó`Š”8èA® ¿¤ÙëØ‹¬2ÍÑüÞå•iéköºl$÷Y¤’¯¨BR¿»½˜0e(xLpÖÒdÈw´0½‰°;Ú‚Ž®Óf`‰ƒÞ:7#ý~iÝÕ¸Z`à#"\^šIôÖf•WÚÎ~ñ³|¨öjEZ …*ìÕ·ÞÍâõZ«þ]W˜ €p3І ³m}_žsºù)5<Øpß:mòüÒ«a¿Ë¢¹S=IDATôA¦õËÀè’ Ú¤Ù‚™Î{ö@n»-ªXiQÅYW¼þCPT¯†ò­Ò1¦¡‡€ÕŒÀ•Æ£Ç+‰mùU캻ŠÙšˆ¸AOŸOGƒüÒZnÐ0[›1¤ÌA%zû zæë«%_dñŠr‹ª TZW·úV¸¶þßX¼ºÝ6¤’ %X¯‰ï )bgÞØ™PØDØ™WÃ×}VG ! Ýê´ÀuþýpŠ á%î+qè<ÎZqäB»T¯Ì .oF­•¯(¨ð‘ðBÒ˜„xad‰X¸¨€ŒÚ Ž )!Ș/1“$þí¬æ5L¸»l EV9ï`$4%ÌŸÎt‘膳žLõÚ^|¤Ÿ‡”¹Òã«rÊVþzwA.åÏüçUE‡Ó3¾AsWÒfÊ)¼ A£úaTˆÒäãg5»±¼+$<'°dyhþØ…u=¼^[«êtE°ZïNˆ°×+‚(µGK&#‡šQV>¦³Xad(’€ Ú’ÆòôjLžZÿ]5>4}‡ Ã2‚ÆÕdÍ­0 U±+AZ}«²~„)ŠÚÚV“á®êOµešÁÙˆ–bfªft`‘°k\,$¶æ»yåÝUœø51Ða@’þ¨‚z(ÐRþ,a‡¢ X¢ø lí.uÐÏt·¥pˆm&¸–(dÜYN‚üf¶\ŽÜF·=Ña°Å•ö©”ÕÔ Ôµ ŸñáB$^áµb¸mgýù‚§Na p‹q?@Û¬C`àƒŽÖ:4v«ëŒÚMóRf°”£Àh­„%$ùE6èá\ÁƲþÔXšA‹‰EÀßá«üyp¯'0þu‹»ðóRý:Îû˜FG‹¿lûOÆÎ¯ŸÀD+\À¿C§@hAdÕÅ=¥ š…ÿÿ›ÿ[ýŠj+D+¬nt&L 4¼©F{¢s†ø±©0um“´gó|@X¹3M® T#…е>ø€1 N)MG+!£4ƒŠPf Y|좮Ѯ†2EÁ#ľR¬¡U²Ê¢óh,dTª0ÅíØ(3Vf’î’¹ŽD§@¸R˜œ3¿ñY^öm°ì ˆå©Úù æ[Ò¡EŸîÔVÀØÃ÷–eÌáŽC§Š-l.´¿eUí—x€Ã@¤Ù%Ð&˜Q¡¡R4”ØÚÕèB o»È  dŒëØKа²ß³ ‰æ"Î`Ž#ÈCÀ³x°$S¿¤[g£Ëq€`蛉}ŽÔùZ\Ý `#Ø·€%Z=¿®€.ɱŕö)˜¯¸lAã-D(xk쫌C‰(Æ 0H#@¾’ùPIŒY±vþìJø^€ˆ·ƒïH($\Ð#©ÁZ<®xñiÿØàG‰X#Øaøþ@;BÙaÍ_BB+ì_¼²¶=úÖÞèÒ:@GASß´°õÏmpCvaœ&Љhž„~ û÷§E~€˜BÀÃÄOzšå¢ŽèSGá4ð …ð†ÊræŽ{zi.Mÿ>ã4zž@B1=øŸû»ë±þ¾ã4àH3ð$1–ôLM]¸a:]sü½Äi@¢5È+ZíUÔ9<˜Öé)ÛÓÀ«¦lR¨q±Â\þž+å“ÎîÏiœF‡áÿ§È¨)q„öIEND®B`‚zeroc-ice-3.8.1/assets/logo-55x55.png000066400000000000000000000052571516567600500171700ustar00rootroot00000000000000‰PNG  IHDR77¨ÛÒF vIDAThíš{ÔÕ•Ç?çþÝ== Ù"„T€D`ÅE…u“àf]ZnÀGˆ¸ff%`¹¢¥Q¡ŒY“0˜MâôÄeeb k^°l")M0DÈ8ŒàôÈR³"óèþ=îÙ?º‡ôðH1Ì [¤øþÓõ{ÜsΧï½çž{»EUùs•ùÿ ?uîBÕE¸ Uá.T¸Ïìc@m–¥çÃW©úN@j[˜ëº4)¬èO_§“ÛŸÆ«³Ü¬Âúâe®?}N}ÞsUOþ~ØÌ•¹Ìôå#THžx ÄgjS›åþÏìcx_ÇÒgp’ÙéU4¼½ØuÝ}ªZí:&-¥ö{¦¶ w;.oÖ¶ðù8Pò…ôR}—ÜØ4û}7#Ô°Ønö õÍÓ˜)Sa™ózm sû"®^Ã%7ï½Á`ž¤Š@çU¤›}  ¢uþæ¦_yÿÙxõLV¨°¾&ËÚÞÆÖk¸Ü ã7Ç6¾dúÇ.‰PkåÔa©ª®cÍ´DÎeÐóÙ[OcÒëÄåÁ®:”šXwäÓc–¿;ð\bë“a™ŸSõ›ÿ½}ä Yò@:‘è>,¥ç…Žï.‰Ð1~àŒ<ÉÔ&g*¸sëóï\9TË›¡·vHÂo½feçb™·ÁéI\}¶¨¢0líÔ/þn³â?Þ¡Ñq‘ä)Ã2z®‰768±Sð/üTà»õ£yeÒ×Þ>)’í‰Ø›îÆ&k.UøêŒI³ßÖõ9ܵËÛ'ƒܺ¬ü—'?«ieJ¼bî°û*©¨Î"]ÃT‹p~èú&œØà„ÆȌ枱«Ž|`²˜z™…žuŒœ¸øÝ¯JÌ}/?š|õlãíœqœ)ªú¯×~¡c£µæÞíË’j[X…°˜âtáÅš,?DxPÓ•a¤˜kܼñÜØàZá\™y»,èôï-SçsNhÊÝØÁ‰)´8(b}ùsésJ.g —7¡ºê`¬|Â1|ôÚOúZöÄå XÇŒn*yýf”•Ü+K×sb'6¸±¹%î”…~ì wbƒDEÿ€aåð(õÔúÇÎ zP¢dl/"r-*¶LD–…¦sïžµS2Ül„Y(o”4ñPFu]HÎ \Ï üÀÁ œ*?ô†û‹:ˆŠUe]ìèØá¤V ™ÏGϬGpjøq˜ˆŸü0¼˜Øµ£ŒðüÌ•¹v¯k{»<ÉTQ–sš:òÄœ Ï\üÐÅ\¼ÀÁXAáçÆq¦l},uç‡oKOÔÂNÛƒäÑ+¸]KÛ³xðÝ¡O ýègø±±¨ê,×8{~µ&W·óÙãÿ"J°©›9Ñs¾ºxy·+aìü­¦fŸçG5Y6¢¼€0©7`=‚«nåöÚ,ÏM›}iÛîû<Ÿç„~| ð""/F ® 5IãîÛû\ç'Žý7Yep8±ˆ'#Ïs#ƒ GExè˜MM¼üÖÔöš,k¬ÐÜXâ¶[=êolš”øÑ®ñ}g,i…[]ØWÓÂ×}lè‹NzЄȗ^˜ëšCT©;Üܹcß÷rG¥Œ _¤k¨Z,P'^XqÙÜÔ7®žÏc"ìîê°ÛÂ-#ž=<âÒ Ùú„uwjÂ;SÙvîp%J!<&hžò1>¹gÉÏÇ¾Ž üh]à…^„u¦ªÕ_6=ÓùoÍrO{y¦äÚs“®Ÿ™zàò¹—Ì5.ûÊJìCXòƒLÛ±áàÞñ_ûý‰v³?Ýá×”µûÎ€Ž³ß4œ5œýcMÜ¥ÀWÿñ-&í¹wȡؖ†~üfàæbàEX£‚2WýÎ×ÇÓðÚƒÿpøƒüB ^`ØI6ßt`lf4«_ÚV ‡¶¤;“–w$SéŽ$éö$Éã^ßÙîÛ”@á©È¡²~íKM£ž9´8çÅo^4&ð `¡úñ;‘o—x6õ×µ­\0ãŸà‡ÌQx NÙã‰áÙê7÷âÃÞn£Ü•ȹ­éŽeí Òí>reœ­z:,-ÂÇalC‹7½öÖÄ¿¸ìC;ƒ„­Ë{á%AˆÐÚ/ZљΪúTz]å|¾¢ÊoÈç^ݵ¡}éÁð°ÂUÀ¶“|ÌÞê,«§ÜQö‹cšG$KRÞñtG‚²ã~ßà larf4ó¾9²snøýÀ?œïê©Dçýè™öDþ²× ]yõÇßw‡Éó†À¢;ID–±ïíß±ñÈ„† f(,Pø]‰;O`QNh¾z>·m,õ”—`¼9ß)ïôÛÏ:æÞü„•Ø´÷7–KÝØÁµÎ›·½cÌîšVf‰²J¡ªäõl¦‚ÊkWt¾…adÞ y?|QËí=Ó'½ÿ`ªŒTxHœäêת,j¨¤G…sïösDžmλÁì#_qý¼kÆäj²lByá$0 P#J÷tð‘0´{¶4|<³kï—Åa2ðÓ“ÚNakm–úÏdðÙ†×+8ë§‚ªŽ©Ú^eµÆ4w†×C ][vDPð]4Düæç^ßU¦‚¿E¹ ȖƪP‡Ì9Ûøzw÷Ø /ÕÌçŸÖâ¼*ÝeK®#(Ô?Q4 ˆœ [ûíÄæ¦Ÿ4ìk|]Ž1a ðÞ¹ÄwÎp [˜š¾DñÄ«¨”/Åã~Xr¿¸uQÅEÓê—ck&¨ê¿K÷±=ÇÜSaf4«ãˆqŠhÕÓŸœV=>f¨maª5¬2Â_ôH¾ï–veÓêVâ’¥?,|ˆé OŒ‰[>;¤øä°uþá+ ¾ã8K:þæòKÄ3cù-pgm+Ž÷ \u–;EX#zJoE¸/3š_{?i¼nM³y8wÄ£D%¹¸§'vçVÑÚý U‡'gÏùPÃ(fü)ÿõ£y¥'ñöhX~«‚u¢Ü,Þ:¤° ¡‚™›¶8þþgÿ{ýÀ\ÙK^à6™ÝÐ p"¦ Xˆ­Uw‰åšVσpý)õNAë+Ùà噀rkè0¦éÇ?Ÿ¼êèÓƒ‚òÆtGbnº#AYGa™RK+]%–áTMפÇX㜈aJÝ ,;¾ÅUç®K_O[¦’õkF’3múxº-Y“îH¸é6Ÿt{‚òö\¦’õV¹x)À‰S8ûQ¬ÅÆrJ‚˜j,Ûj²ÜÐ+2úàPö•GËÄÖ^ŸÈ{{Ó Òí ÊÚýSí[•ìj¨à:'æ^ÕB¶¤ÐsrJ -¢Üž©`socë“çíËÒ[:%';j–$sþ{éŽîÕ“‚~ó2/¥«âS[1Å„vQ–‡ë+ÙÐqõÙ‰ókõ„Z}Õòöïù±sû™ß#¢( 8ÖF´‰á*¬ÈTò?}ô²p>ÍüB®366øù„½¥qÑ ô—¯óþo-¬s¿5ÆÔ¾~tõúÓW¿þ&~:Yì#‰8ýô¶ûiƒeýêë¼Ëó©‹²¹PuîBÕE¸ UÖpÿäc6%ÅO¯IEND®B`‚zeroc-ice-3.8.1/assets/logo-white-background-160x120.png000066400000000000000000000177251516567600500225540ustar00rootroot00000000000000‰PNG  IHDR xu¢ùosBIT|dˆ pHYsÄÄ•+tEXtSoftwarewww.inkscape.org›î<RIDATxœíytÕ™ö÷V·ÔÚ,Û€± Æ `0¶±Ø0†}302ÃH&“ÌIHæËòq&0døfB’ d!„°Â Ø`™Ålˆ¼a°eyÑÚ’z©{¿?ªKªî®ê.µÚ´ZÒsŽÔ®®êª¾Þý}¯ˆD"šŒ @…¾ oŒpÅû‰° ϵ슋BßÊ@ Ð7P,P–… žk3+8£Ú,ôm=Fè"’ÇZ vÄú¤ž€yÁ3`w\ðt›Áê®tKe„ùÁ]Qðr‡ÁÒƒ˜Gj„€ùÁSÐj îh Ю2Sl„€ùÁˆœ‚æ¸ÈJ>±ó…¦@ù|ßÈ— ÛïQiXµ ⩌IL~¦–\µ]s탊oýѤñ£dÆùå_¾4ðß{$ÿ¹+È»ÝÃr)†—òI›æç¯Çyíïš@ÜÀL‘€~U°È“¨ü4&ØüjO€É¥ŠKëL 1<,Ø×üæÝ(½cböH}SDÙg-Ø‘ܾKrb…âÜê8•FösŠCš€Jß7Gøicm‚`ÜH{`™J@Ÿ Ü_N°Ò°¼S²º«„³jLTšCÚN²lÜåÇow²q·&3xP&€>¯¿¿£0aµ4†%‹kâšjyÈpG·É~ÐÎS›{/³Kçù¶?£8à'QÁ]»ƒL).«7©7†‡ æâ¾ÍmÜ·¡3" øT\¹ªà|©E¿tZÛ#Ù°S²¨Êäôj“à „½y¡4üag;Ç.ÿ˜;6¶1Ý—Ôk½R%Y®*ø¡íœñÎ',oíöy…þ#ªá¹vƒí ²2\ôK9›£& Þú˜ë>ÜEs4¹6OØɨœmÀ”óVµGXÑÚÍYï|Â¥ïí`[OÌç•úVSð»}în$•ˆ#Šš€aS±#b/×e)LÊUƺû…=aæ4~Ì÷?ÚCGZª%°Â6AÖq»xï8´,È;Ççúqµi’Ì/òåÇTò™Ý¦â®­­ÌycïèØo¾Cs@ x“¢& @]Ðà'Sxeî8Ž­)ÍðNw†¦Ù€9ÆPhJ •`W·æ«ïïæ¼•;ÙΟZ®4`qÉ÷ÆÆŠ:sRô´qlu)/œx ·N¯£2å±ë•7 ˜8Ñ"žì% ýzåž¿ØÒáóêÞ(•pz•ÉÇF9¥Òt•ü˶šÜ×¥eÿùCyà Ã„àŸ«âüƒ*¸ãýžþ(’ý$­qÒ)×8`ÌÔñ4%Z 4‰ŸÖ¿Øz˜ 'T(Ω1©’î&[Zw¿á­ ¡½«øÇ™W¤d¦õ†mŒ Iîœ[ÃyGùÆ0M­ÉÇÜÉU§Êظ™~Z ”“x}¿+3]\ùù¼é!Å%u& ¶^kæWoEytMì{ЂHX¡xéÃ(×Í pê”Á§ð†$mœrp Ç_ä÷#üfUOO¾T°é$  U?âCK5ÔÄ9¼Ôý®b&<þaŒûߌîÑçç;ˆ¿cŸà‡O›<}ˆææ…’ÃOèfH Ü0+Ä9“w¼eÕ–äã9¢SÎ3MËÞÚ–‚©*”O<& 9·Ædf¹7c—m5¹sy„m:ñ™²—ôn$ZðÞV¸îAÅYÇH®9 jË OÄ!O@ãk$÷žâ•&w/Ut$ü|I@¥-gChR0Ug¾f•gV›,¨pw.>l6ùéëQÞÛ¡úˆç$šr|¾ƒ„6Lϼ«X¶Að‹« U>x?aØÐÆÂÉs‘üêUXú¢®"5íO*¤ZSf‡ÄA@‡ v±ëš„EU&§Vš”z˜i»Ãš{£¼°>ÙÎK³5•ãóµ÷³LjÐTdŠZ}F²\‘tš0«\¥Qª*$øÆ™ðõ3ŒœØ©°>˜NBíÒm7§\q\yÔ“ö=qÍ#kâ<ðNŒ®M&k¿–ºú®ƒZ 9yZáÕ/˜€1‚y4ÇvL3x¾]sQ­ÉQ¡t{Ê|¹†aÒl@›ª ^*Ø xySœ{ÞˆÒÔžl繩Xçk7T†W/¸ä8‘÷ï| (—¬ÒüâoŠW¡˜^å¹6ƒ×:ý>c(ÝÄÅô&¡'A³Øy5å‚+Ož¦I±¡p” ¤²š‡z‰§S#ù”žüæuÍKš®Ñü —̭֙Pü©%À¶¨ålp^Y:ž\„à,vW±ÙÔmЀóŽ|ù$9(RhùBam@¡‘Òò“Ég½öRCŸ¶ÀžRÌzn^d0aTòñ %šoŽŽñZØà™6ƒžýÐä¼+Sõ©LgêÍO(Åwü$Á×N—Œ­q?®4¼–¼Ôa°¸ÎdºKÖg°¢`œt€C£”;ù„ ½Õ2Xóý®}Ðä’ã_oJ©â–±1.¨Í<2)mf–¾3ÇÃýWKn9Ç|] žhµæþy}~á·°|SWŒ+×ìdNã6îÞÖ2€O… Юl °"¬Y\çP—fìi£$¿¼¨Œe[Mîx-Â®Ž„}‰tž»çìf‹íí´Š`—¬ܼHpÄA}ï kþÊÌ2Å£-ô¸ì–鸤×¶l @q Ë: ^h·ö 0»\q\yfõ»/jò³­mÜ·½•n¬÷ö¨Â¹ƒ†€6¶Eÿ¯9Èœ ÅEµî¥óIa›Uq¢±ÜÃ6ëvjnþ½æ´£7œ*“ú&F474ÄYÓ-y´Å`Ÿ£ž/U;Q|!KКnÉ­»ó°óú˜€æÒz“i¥Þ,î65¿ÞÜÉ]›Úh5ã()H% ›¶t„¾òª÷º­Òù3ªM)ë ®SÂÙSƒÜ»"Â+™éäÓ Ñ¨$b¦ÛiJÃÒµš)×α£ËSCŠÛ ^î°šž á<ßzaH«`àKó5eîÄÚ,i ðQdàÄ+•x~?Îg[²­›ÛÖ´Ó£$½ÄS†ÆÌâ­ïoÌ ~ªÕ ªúÁè€æ’:÷ÖJo}jò_Ë¢lÙ;ð°Í!õVoŠ[­Ý®¸`c`~eß½„#ðp£âôé’ ¸_sŸ)x¦-9éé!Ååõ&u¦æ¯ØãÇo‡Y×ë³ ë§é°—o:¼šïO+LEkQÐÆÔÄVVc=Z+ã û û°¿ÅÙªPü ¬à%—vÑ\1& ¹¬Þdju»¶Ùä§oöðæ®X/ál²™)Žš’ЧVñïG¸Ä¦>ÁR}^a©ãÊ2Å ³eSJpÑlÁ•'JÊ<ò³nˆkX6x®Í +fV™„sj2Ïù¸UóóÆ(/mŽc¦,xFßï×O«à»G à¯l(:Ú¨14_mˆgl4_½Ãäº%Ýà£/›Z] ·œk0ãÌ÷¥w»$OµìɃƒ! £CÐÖ¥ùãÛŠGV›D´ñtFIxý‘|ûèÂL)”NˆÄY“òí1ëËO«¸ï°GÏms;¬Úª˜qHæÐéS­/ àË |mtœÉ™Ôí'šo?ªèŽ‚’€˜R! ûÙJ[Ž˜EH !5J ”¡¬ ~Pt ˜WarNI¹š»4w¿ÕͳbˆÞ~“¾°Œx†m$v…vŸZ>¤®9Éß@ŸcËkºeÖLŠ_dû#«.Ô•Cw¢¡Ý0-I®z%¡è•„B „¡,2:ˆ9,½à%ý”8¶\qaé¹-A\ÁÃë#ÜóNÝQ’øL=)uˆµ!Éççç^Mã»ÀáÙ6ƒî<ØÓC–ó•鹟^­y`™"ì‹­¤Â4Ò3D}jØúù•¥|cvaÇ…œZjÙ@ãJ2„vŸue'›[­VO!EºšU ¤FjárŽãZS,ž!ùâ\™q:ƒŒDÝáœ2“çÚ –u¾§n¹amd]“d^…Éù5é3.ž-8ešÁƒË5Ͻ§PÚÎOkOIhKÊ èñ%š kM¦d°šºÿõ^'K¶ô$ÍeN«¨vxÃ^’ÑN pÓ¼ V»/ÊÇQ«ˆâ\‡  ?½©™5&I?o{TðXk€My>ךók¬Î?¯«­Û©¹ïeÍŸö-mªôsþ~Õ¬_û\aI¥¬34gV›Ì«ôþ’cJó»Í]ܹ¦ƒ®˜•›Žþâ4¾×nÈ܃%ÿrb)SÜ Ë6Sðt¢\K3Ëu¯s°¯îÿ«B ¸`¦àË'%È8¤Dó/£c¼Ûe¥ßZ\&¥úE[bŸ¸Æ.+g~°K`Ú‚{¾(XºVsÿ_-]}çØ’ÐRÁ ¡ W“2¨X!aQµÉ)•™+Q–ïŽð½÷ZØÜn«[$;8ɧ´'9«‘Ü8»”Ó º~VLÃß: ^lOî#qæ3ÌÄÿ+ O®Ò¼òw¸æd͹3dïf–+Ž )^î0øKÇÀÓ{·7%ræ5qªR”‰Î˜.8iŠÁŸÞTü¡Që­Ú1zp¨àAA@?ž-Àž¨â_ßÝÃ_šz,U*EoèDÈd›.)ôâ §Lx~ !ÁÍ3C\8¥4)¯kÃŽç=Ùš\„`ùީÅ$mÝš;ÿ¢xq½â &ê;¿TÂÙ5&s*·¬u©´ñ ;g¾¶»„³kLTšiõue%ð¥ù’ÓŽ„û^V¬ÜlÍã1L‰T–m8, ’ôŽÔ8§&sNÓÆ’<¿»«Wšáˆë¥:½j6…œå†ä+G–qÍQ!Ê<2øÛ¢‚'²ØlNÒzMU}ïÅ—ÿ`rá Áu'©(é;©! ¹¾!ÎúˆUi“K_Š.µ,ï”,®5™æ’3W·]*Yµ ~¶ÔdÛÞ¾°Í°$à¢*“ÏU(_ijÓ}µzÕl"®—T£A¥Ó@sþ„2¾}l% eîR§5açù)H®†ñ~Ÿ©àÑ÷L–n2¹i^€³§“ìÚ©¥Š[Æ(–å¡]´)&¸ww€é!Åeõ&õ.ßí¬ ð‹/<ú–æ¡*?Ìý3Š‚0 èù´ AÀ„šu!_’dLŸ?:ȿϨæˆZw;/—–G?Љ½]š¼aɆ8ß™_¤º>%n‡mf•+žkxIþÚɆ’EUîS`ƒ\q¼àŒélTœ8yJÀ\`Í´w[íÝÒi¶2µ*À÷Ž®á´±î!Û†zªÕ ½ŸjÈiö‡,ïìˆsùQäæãʨp°£Zj>_çÄ Á£­¶ lÕÖØ7Â’ój,m“ŠQ•VÙY!Q\„^L"¨ì–NðÍÉ5\1¡ÒÕÁØ<Ñ–û"ûUÁnˆ+xèÃ(/|áÇ•sÁ¤äqWãK4ÿ::Æ›aÉ’VýÀ^hµÃ6a+›2Øö.*Úè›®šL¾ iðÏã«ùæá5TxìÜbZûˆ d*T¬3ê`ïc»»5ßy½“Ç7wóƒÏU2©ºo9líØ²<…m»œ[§rìR”Ë´fLC¸ò j¾{x=£=6ÆÍ÷h é Ý@{zwÅ8ç¹¾0¥”oSEE =ls\"lãÖ åö.«»J8Ë#lóY£¨è¶Î'ׇ¸}JGUºOm´í¼ª²Tô× É†¸ÒüfcÏïèæ[GW±xBrqÀhGƒÔã­«5 'Â6+ÒŵÖpöB¡¨èÄÌê?ž<Šùµežïéï>"ýA60×%mêV|ãíþ¼£‹[gÔ2¾(¬m]¯°¦| ¤ÑIC^ZCsEQðÔúr^Ÿ;Þó¸×~qù† ¹1}õu÷(ÍO6´ñÈŽNn;ªžÓ’Õ²=NdA¥à±–[÷ãLìý…BÛ y™0®om*aé½E?"¹1ÝUfàBookWœËßiâòÕ;ÙÞO;>±DóÍ11®¬SéÑ7’ … Ì•tÃúˆä±ƒûÁÎóBªŸíosYæäs^ÜÝÅßÚ¶ñõñµ|sb=¥Žö8;lst™âÙ6ƒea÷d.$‹V~ÜÓàgÍ“Os+_mˆSá#>–Üö»Ð ‚S dÜß#ã¥t™ŠÛ¶ìãÄ•ójKwÚ[Ê[U|olŒ#Š`Z~ÑIÀ°I^ÊÜmL,Ñ\\ç°D(¢!  g)M% /'DÀ¥G¹fv ë÷–ð“7»Y±+šã]Æ®(ç®ú„Åcª¸{ÚhªSïcVÛêšnÉc­{39ñ¡¿Èw£O­¡9Ï¥´ÝO‚ u&¿^p0ÁÜ©üê¬J^û$Æï„ÙБû=¾«ƒkÇÕp‚G8ÊÛü-1…k a›ý¢ `>‚¯6ì>nU"€ë6²©H·ýÝW굌 2ÿàZžÚÒÃíïv²;–™©<ŸUâ¶É£<Ég#˜77§\¹–›8!Ø<Þà£FÕ¦ÂÏ„°SlýSÁÙl@û°›í'\tXˆ3Ç—òËuaþ{C']Y®7¶Äà–Ãàêƒjúµ_\m"lsB…å¸í}1( Øf žÏ°F1¹TqI–¶N~4'0˵Ë‚¯O¯äòIåܵ®‡¶u¦={™!¸v|ÿ6±ž*b ?˜\ªøv¢ö¹6£ßu™ùÄ " WP®hX-Œ3û‘fò³¬©*8Ÿè±e’ÛgÖò…‰åüèÃV–·tš3ʹýÈQL(ËÏ’I'Wšœ\àæƒ‚€Ù€ú‹r §W[Óâ½7ö(MÈE$å&ý1ÐíÚ1«-:£®„'æfis7uAÁquE´\?Pp†ü|Op@Õ¿6dbtÛÙÕ¦g½[kÌäÎm-ü|{+wNmઃ’Ç’ùò‚sŒ¦>áî¸àÖ¦ ³Ê—Ô¹Û¦§Îì`; NÀ¸ìKÏ.õG„,;ÏkxeTiþði·nÚK³i}à¯Ó—Lyí×Lõ‚;M‹¼owI>è‘Öü¿AP£÷Y¢à¬14?80ÆKí¹‹Ž h.ʰG®žÙÑÅ­ëZØÜCI!¥5¶Í~?µö$W'ÄyZ·£FïòÚ8 X£÷Y¢à(VÕîq*7ØS2Ùy¯ïŠòãµm¼×EIM@ʤÑnsñ|9!YT°×½§^Ûí}Û£‚;»\Rã/5X̴ѧ*·âŸ¸”NÈÒ×°©Íäž÷Ã<»½ÇA¼¾ŒJ L­\QæE{\#U{IN»ŠûïÝA.¬Í<ˆ¨Ø1¨hcrHóíPzWX¶!åÍaÍý«{xlc1‘ ž¡{2š:ÑÔžQæ6ÀL•¸~4œ%íÒ¡ú]^÷|îbÆ $ $—½6˜X¢=GÕ¶÷h~»*ÆÃkctk…’€tÏž‰'UŸ 6´« ú``‘ò`fÂÆÁm»‚,¬49»&óà¦bà% riå1Ý3áùµŠ_6ÆÙÛ£PR¤cL®o4mB»HÀEU&{cdì>ëw :ñ1ÂO¢Ù¦†¥«»%—Õ™Y¥V~0è è…õMš>©ØÕŽƒx–g éNЭí™xönw\oXÝg™ ]SUp®0 í‰ þ;1ÿ%ÛF5Å€¢ 9µuAK—õ»T‚@ÜÀ0%†) ˜¸$·~q‰70â’€}Ü”½CÈÝ0µTñ11×™¤Î2Ê5«êvÃÚÉ4i.`CQ>P´œ{˜àwל>½o S&ˆg‘Ï&žE:'1„ÌÒ'l úáØ(';ĹÆóqAME!G[åE«‚ÁÚöþ–s$g ÷¾¤Ø¼[;¶*Ð}ÛhçXÚ„ 64ÒçhÚ Ã*sŸ[¡x¦Íàð” ±_ äCƒw1m1¢¨ hãØÄ†ÐÏ¿¯øßeÖÎA©3‘ÍÞÉð}6a7h™Pb•¹§"WÜß*šçȵbÅ X[¥ž{¬dÁTÍo_‡%«tb«вxIhd°ûƒL*Øy(-íóúk”‹k‹ßéHÅ! ê2ÁM‹gmmUðþö>µ,•N’„ùÚ¢JåXŽå笉%šKÒÜ³Ô ×-˜¢Wæk6²ï0LŠÅ–é´¡dçeÂ% Ìœ`ðÈJÅÃ+5Ѹ½g†áš ɾë}„aJ•ÊÿP¾#ÒPÄ' @(hmUpö øÕkŠ¥k­•Ïìòˆ¶í¼‹j݇‹U Ú°Ã6g¿C1íÀ<‹.•€¶'{h©eçMôÑ45Ô0¬hcöD˜=1ú-W<½LñocbŒ/ñÛY<ô0, ˜o¤«`jë–I¬ØâpÆ00s÷?² êýu¸Š¹ !`àÇ 9¨ZphÝÈ׊œd²CAÁ³ ®œ Ô«yec„€y€›À©S$7žl0¶j„x^!`*§Œ|u¡ä˜q#*7F˜Øò­¾þédÉÓE¿¦V gŒ08eš œ}Œ ¼¤ÐwS\‘Hdx¢FPPŒ)#((F8‚‚b„€#((þ?©­S+؆úŽIEND®B`‚zeroc-ice-3.8.1/assets/logo.svg000066400000000000000000000133611516567600500164050ustar00rootroot00000000000000 zeroc-ice-3.8.1/assets/slice-logo-128x128.png000066400000000000000000000150411516567600500204170ustar00rootroot00000000000000‰PNG  IHDR€€Ã>aË pHYs  šœsRGB®ÎégAMA± üa¶IDATxí]MŒd×U>çUWÛ! Ï,ˆ„¤²Ç •K¬ÜÂm[ÆY°…g(Š<5R6àØ;HžÙ±˜¶"+2–œÈˆi'Y !â¶YJn ¡Œ'ýîáÞ{~﫚AÉô­É;RuU½÷êUu¿ï|çÜW³Ì2Ë,³Ì2Ë,³Ì2Ë,³Ì2Ë,³Ì2Ë,³Ì2Ë,³Ì2Ë,³Ì2Ë£&³TyüÖ½añØyBø$&<ƒ„{åixbð,ŒxŒ€ÇC‚|?aß#Z}ïwž<„-–ŸZØùÊýaçñˆÆ} 8¿€¬ô4&Àä>[C6†ò,PÞ¼½ì'ÌF’÷Õm·‘†C:¡7þý÷~é6l‘üTÀÎW¾µ ü ½˜U{¦lC*7,·¬TÄAŸ‹âããø<+ªAP6ŒüºpŽóqpòÃ7þõ÷ù:—GÞÎܺsæ>¶s9‡ðóû,†ÿÙ”_T;BQ"-H”™xßdñ|ùuu»Ä`Çר€õq‰ ÞËÛnÀ½›ÿ|õìt(®dÅï>¾û]Éÿ䙸 Ë`¢Àð¸zr1ˆù¨*}?ÈñEáP¾ášê oŒ´¸Þ›!<’°ü›o¾ˆÃâíÙÆ¬¾,P#Iøf#ð^=\ ø" ^ðñQ¡òºøPÎ%ÉÁŸ¦–úiò'Bqbª¸¤hÞÒ¥/¼uíã+xȲU=ÿVQ¾"|õü¢}Aü¦¶.(ÏÆ^ {ª` Û4åÿ%-(“0²ðvõz‰*†ö=ZhI)™ªFÿú§|î׿¾úø©C[c˯~óKùî|yÌeq®×ð_#€ú-{»]îàIˆæÐŒ±,k€¢y5¢Wå7Õ‚Då’¤ë"9𬟔“~aøåöÓ©)_¾Ëþ¥R»8¼þ c¸¦w&Žkñ¢¸… x1‚X*xƒ)×oå!„ÆŽ×ÿ¡)Tjú´u5¤àýØÅªÝò£l Pû?ÓEC¨ë >'£)÷\Í»ÖÔ‰^{úÕ{Ì t,{tmàXÞÆµönH„1ìƒóƒì«õsGð×O;ìGé: ,yå+ߤ#nEç\·3¨À,v†|­×ÕÓ¹6—óÁ๽=õÝ•á|Þá#”R2ö¨%aŸKÕzÚ®”_¤[X~õÛ—AÈ+ý¨¡v!òö@Õ[ë6 m0¨S:Hjz2ÂHj}&kòþÚÖ•ào¹½xüàž¥[Èx ¼~¯ê‰:ÉùSéÖò×¹ªõý&†t¡áøC ØÔÿÌïqn"(DØÔpî©À©aôi¡çA¨Ð»ï#³=åO79*]@Éý2ÍÃØOØÀfåøÝÓ‚@ ÍÐÖë®`†!õ=„òŽâc²(ö Üx$ˆÁ±)”PÏ"Ìd Ùßz¹OåéÒ xIÜHk(óüX^™÷:Úo•ÏGæå)˜À0Õcäå"¹£‡[VàT`l¤F+nHnÿ­ký*¿HU7{¾ƒLð³÷'¦[G^ƒó ?+N»n±ŸGº!<–AM›nJÄÀ8vÐΖx_a„ß +ÿásû?ªt–i±_¿N §%܃÷èÛAMõઔPßW³€õAM0–ŠahfšÔ@> ªà/baEø1ì†ïë{¾J)`.[»TZºC ûFÛàú|pÙA©Šâ“æq™³ÊЊ¡”ãÊ;£qÔ–h 6u˜¤,ž¿-Ê/ÒW (³ü-?`ªBÀ¼rCÑ‘Þõù|kØL5¬“$¬•ŽO8Q¤uý0{’¶‘k©(¿ÚŽÖûpû?ªt»»/¸ïÊ…ç]š];|Fþ4M £cØ¡&†ä…5€õœ ¬²ÈߣœŸÐ¦ˆ$upüáΞÔ)ð‹ŸÚ¹ýW¿»»UÊ/ÒÕLàéRôdtYQ¥÷^`Þ>‚‘:ƒOêJE¨ Ï^[ʯÁ¦û'F€ä ;î!Ô¦ƒÅb$ŠAبô)ê?wqŸÿÍåþŸ}®Á–I_€ø¬yjh¿²Bdà’{uœó“ƒAEñ6ä¡a]ûè5 8”+hÒKþ0#P~ÂÁñŸ»¸Ä§/.e¬^Ù2#èk*8áùV1 îxË{øqpÓ&v5×>ü)Ê×c¤r°t1¨‡;Ç0ZTN7› ÒÓvàé‹;TSJñ_ŒàûôØé–U¼í<þ_Í|¾Õïí¯…ýĉ’! sP˜ÓÀ±DnçFbÈLëüµ)Žú­Uå_Xr“'°VB8œÀsW sé&Ü…óCSC­µEù4ñx¬7mÒĨúýN žPÒ'A(ï'08$/õäý« #Tå_\’†}íPL¥„3'Ü‚-n `9,ŸÕ7î™ÌáЭaŸÉëêåç iÜ ¡£¥ ¯Õc¯ž¹ºÁKC^¸F4ŵX¹|ˆL_Uþ§wØÙm°·•j;ç¿ø>­ sé$:«Ê&«næÏò=Ÿ‡4mˆÃi_ ó¡Qòd.ªÂ à{êÓÜ*‘|Ï`@@r¬ ùµL`Ï’G‡|x—Q H¸üÀ”WAžuøÐs¹t‡¼ÚaŽ!z¾Ní&Ž¢ò»²r +Ú¿(Êvêù)4÷K¾7Ï×°¯Ê·ý?~—ÎCgÒpïïÏÍï$%oHr¼,QtŸ¤ó'äQl…r±Öû‘ñs‘Psþ²²|Àø¿–s–÷ѺÌ¥öÙË%#HÊÂèŽ"î‡ ¼ ÇÆèY]/ 7wØVR÷KßßmDš7Y€ß”Z3(Ê?W<_ÎM Pï“N¦·ÞRð~pL@d÷Hl,/BgÒöÉlp4ÈbذeÖÒ4".HŒ¯ñáN´szW¯†{TÄmcGj{jñ>+ÑC˜'©Hó’Aa"à {WÞí vÕ ÌÍCmÂè,~3¨Éi!¤Å Êåë¢ Cý_ÄWì°§3ɳ”²]ÿHZ`a³ØðäÆä„*@ž×“C¥*è te;„o‚õôJZ‘Ébz”¦uúx[=¶´tÑžK(ÑA«ó/Tn¿n@Â}²NÙSÍïìÑž÷óÝs?J‘Bª„®p@W#aY凔 û³ú>¶ ìÀŒ@¨Þ˜>Âòlo.ýüE}²Ò”ä8™ì…ªøz¨OõbCš_=œô9½ÐÁüX.W(·®"@_C¡Yöþò?>ÈŠ;cå ^r5Îû¥h~›PÏO<ÍSÎ   ¹Rã×R/æyièÛcÛnÎ)ÉvCúÉB~Ý'x G9¾ÞsUñ©¿x²Y¿Ñ7ÌÛ åOš<Ï«s#kÈFì››6ìØUùvîÉÍsðpâÜ]ÁÝ(7ŠÊ§ïi½ˆ`±¼Ã8®]ÎöÔ¤;Xœ 7B{wÞUƒÀ4¥=ŒÜ>‘¯/¤¼Qr~û¦AùÒé—ûÍk(+÷b/bDhŽa!1=èDº3€“»w³ aøš 6éøvŠ¿‹Dl™»b çžßµIà4yŒ ìê+T‘œï£âk(!^ÁÝ„¦ pk Yª@ø$t"ÝÀÑÕÌŒxÃ&ÈÉõðíê\Càþë%YRKî¨ú‹âkW/ìÕ’Xo­ÞGÒÎòI„ÀqêïcØ÷hV%œN¤ËkgÞ ¿Ã:—?$£0Ðiô®Œu Ç‚ôT㺰C¨ÅžŒp MÆÇî×j~R€·ƒG‹( ¤ô×™ àAò/ð‰C,¿Ä¥£Ú K¼4÷a‘'Úl”zÖÊð-ð¾ª4¡óôJda/äãbƒÇá£dF²<Ÿ¬Ü32(DJx:‘n¯žµpÝÚ¾II äôÉ |R¿“+³¬Ø†ÏþË5%^m 7 ¡éãÄ•C/Òý/†üãçžXe…VÔ?¢·‚°áö) sðæðEëãZzPÛ¾¢l hßûþÁËÕÌ@|$L¢†R¾ýÇÁr¾¡ÙŠŸŒàä·2ØûpØÐ»&yÓS™ÛG/óhÃq4„-cHøW 'ƒ =)õŒ&~WŒÔð”·ÍÆñ.t"[aoþìQv«Eå§U¦û‹×ŸÏwOÚºÈ5¹!| 89$§I·<Ðл4}î%cÛò ‘#Ð¿Ì –¦ÔGЉlÍF½ýòÏÞ 4^ÇƱò™Þ] Ôn ¦ Ï×1ׇH€qž íùWe‚QÁ÷b“(4Š”#x:‘­úÕ°o¬~n•¿Ñ›åq€O]XÖ¼ßäz»rn°¹>}ó\€õ1/Åà`N1€Ò¾Mß_Þ³¾3HNîÂCý] ÉÖýlÜ’î]É_ða!yž¹¸cÓ;Öñ Ù_Gÿõ  Ôê‚’ÕGÀa?@³@çj5+PQHñÎÁsx ÈÖýjØíÕÙãWþ“ò7~¾êD›7üGó>{!OX³W<ÕB;ïMÖcé†ÓüžÀ^ÀA¢Ðä˜&ºñþ"[Ê…˜²–V ™<ÌïßgrˆÚ_}螌“Ü_I€òa’ÚÈAfò®¡$ÄÑC¿–~¼BhБlU 0­(Ìè¡8Êeýõ20ÉpG˜íóúŸB@m”P7^s?x‡0` »t¸Zý¬?€7¡#Ù(ÊÏ_êJžÚ(åi i„óÁt «¯%Gé-ñ!Œx-LÙ5׫4á)Äðºb”=åÿ"[‘Ôóõ¹·ú[ÂÇÖñç~YЯJÆF‘䆼ߟ Šoöa8*_'~ݨ1„àý¹þ¿ Bç2ñ|ŸßãǾ\[¿µ|C!hµyò¼_½7Õ\]C¸oZ¸`ÝÁ†0€Ž`ÓÀ>%œBÿ@£ÀÑÏà“Йt2ÚgÏC[¥ÉŠŒÝ= Êççõf´-M”ïù¦a^æøŒ¾Õ}!´×÷³Y€éqÐLºå5èPºÅ5ì§ øÔ›ÅÓ¥Óæ…ëõI0.¾Æ…a³ ’<‘ Üø¢‚ë„ÔbÃGΣ6ù~ÔúWéÒ,ì³âcntrˆÖ¡÷åÁAE£fŠs<`²F QI(6…B¤i¢àüA‡Ò] ˆÊW†‡bÎç{˜~ɇôê€Ë6õbGô½ õþI`£HaEò^þ–oB§Ò•åSæÚ~R`S}ºƒÂ Ù6mËBé š.çhfÿh½¿¯eᨩ ~ŽvY™VO÷{ÉØnª€ªüø¢·K/¥\Ìð|š³C¤„+J§F©ST¯ãÚ¸vŒïw ˜ ú°P aŒ¡†&õèà\È?JÀ<Ÿ ®Ç÷%ZÓp/7‡­ò#;ñÖèpSš Ð¢0lõ=€‹Ú9­-Lžöóýð\‚ÎåÔ À<_$"y"/ù&¢©ÛžE…DÕí_+ëAä F“ˆM©ðž¡Ë/ô ü¢œj0%y¬{§áÜ{ûNø°Û{PËà|õ^ëNÕS¨hÒÙ‹ü¿xzSÐ$-˜Ñ¡öúÁx5‡þWa äÔ"@ø´ÜSî^ÄœßÙ>tph‹‚L9ЄõØÃ!=¶ož€H3&Ú`däÀ…Z.y?‡þë°%r* Ê§Ð¨1µÓ}€©¯ááôž&š¼OâÝ“FO¨ñy_j{ Ý(¢r5çOÎo峨å_ê­áó YÀC–˜óÑ}z½ÐÓÇd¥*°×˜"ÀÑ{}ž«¾ÈЮG9©BjI#ïÀ†&ÿ9ÊlßolCÞòÐ#À˜T­"S öx£x X¤0p§›D|lðþHæÔÚ¿ŠÐT­q)6HM«W_WîŽò{^Ú6å9à•ïRùqèWm ¬æ7Ћ6IIeŒ¯œ¢ñÂ1µˆ|­n§DŽÀC¨ü’n1]FR†`V~ÇdσäT0À~_Ë_à¥üE‰+¡-ÝÒ!Ï0žÕ„ ËjK5ðr®)Õ\Ù~<úãzJ~ i$±ô`{œ?QþíœóŸÛVå9U&ðKïÓ-àkT.™2‰QÐIŸôYŠ5´cÓß÷‰Ýi”€–ù‹#c!šÈö¥­žÁ­Aû÷“.¨à†pC‹çÊ>z𠇆ï1pýµCKdTn³X$Å÷ñHs”OúÙƒ_ÃÛðH7½‹{Sl @PùöÀÃ7¨|£óàzÜèJµ¶nÂ0ÑÓ^ç#cùü0{þ•yÿ—tc*¯|Ÿ.×Alq{ìÒYíÞæ{W,ø¾ò«A€†MCþ J"H5šr¹€+·~»YÒõã’î @Å !ãQ¯ÔÅ^nsâÙq6?^¨¹í ÜOfÈ o<ëJ¸ß$݀ʟ—^<¸œµ³_ó95´,)Œe“çì˜ÇÇò!``H¡ðÁI‚›¸7ÿúW°«U Øöà8— kXÕ‹ßÊzÙÙs»ww„°ÝëÖ˜ü>¥ê‹š`¢O­ã÷){˜bå›ÿ/Í3J®ú# ë|£ì;ßÜ~ç|Ek⡘$bÇMI¢:Å6éX7«°Ì2ç¤.ØI¯³»S—ÑÖï™ëײz*Ò£BÑš¥¢¤/ã&"•bmøx ºúü«,W^yýQx¼µ`ßù•Y !ŸI#t”RÙN%ÓÇÐÒt;Z85Éø¸×@Ûœ¤5+Š¡Î‘Ù[+}Úú!¡¨W1?SŸüûäÿÊj8ç=ôŸÁY¥_QõƤßYäCõÀ‹ãÊ*O8H˜çënßIe%h®§·g–甑þNU6TŒÎË&éÓQÒ(çh-X)/.ßS߯b9K#\ÌhBûµD K‘Ö?Àåü†]q¡*×Y=³'–ìÖùLuvˆpŹ®Í}Ú¶ MXã-D<þ6´P´#ìïùˆà+'‚x—™‘JõÅI­(q ¤„…µšð®ƒ É»B–EøÑ@ÒÑÁTOH¤:¢Ì6`ñëMöÈ\X”-½", ¸‡då=Èý7ûÓͤhõ#·@ö«àOù7[:¦¦ôŠAü`ž7¨Þýq0B •º›#0í‰ßWòGðC™üôÞTs OQù<—"<+h’½‹SÝø£jvï|¦8Ë¥þÞ WfX.5090‚0‚ù #BpWeË]*ËpØC…,Øv60  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca10 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚¶©’:ЀŒ H!´Åa¬lŤ‹àT-^_ÌXÉᙬ÷ƒp7Z>Ÿi­eÛiàN*o9†V¡ü¸Y.b;ûÛÀHãx …a ”Ug˜™R¥~B•Š˜\–d¥FuüHR®AõyBžðŠñà¤;¦qyêÓº3OG–…Äõà“‡ý¨RÞ\÷¹Ðì®þD¬$L¤ëÄ“ƒ¬vGvZlÉ):ðµ[Âú|ŠU¶2|rŧĎÚD¹Úg™ƒÐ¤Ùo¾ñöþÙNû>Ÿ\ªhÆviœn€3 ø€ ìºxÉÜQÒ‰9WÐ’~ÿ*X×Ày¨Í±ÐâSI’íR˜÷ÑÞ]—*¬·£c0a0UJ8\ôl{? Ì)Î)¬¤‡Ð:é0U#0€J8\ôl{? Ì)Î)¬¤‡Ð:é0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚Ý ™–c¼fâGÃ|ï!ÿÆs+à¶é€ 7Ö’”V®&¿Ý_Žá=«î͹^6¬ÆÄŽ8qÉËnжôßx­W3ãîÎ|kJ Ë/]ÿ!íkðŰUäñ¬2j!NÂ'üiÆÉPivõØ:Ò˽ ãžÙ¾Qcõ ÿA·ggÌÜ×&6ÍLìÚc™¾ /ä ö·ð/áÌ_Ÿ2Í/gÜ+OCÊç"ͯ¬S>š¾Ò¡bÔËKca2Ç­Ø&ª7ãsìX~kûl~кCrÀ '¬ˆFf‡9*ý]–*þïvk/]P6a/"žl\°Õ8T£ê%™ièÈWû¥´‹©´Q|ÀdZ`‹Bø4zeroc-ice-3.8.1/certs/common/ca/ca.p12000066400000000000000000000052021516567600500173170ustar00rootroot000000000000000‚ ~0‚ D *†H†÷  ‚ 5‚ 10‚ -0‚Ï *†H†÷  ‚À0‚¼0‚µ *†H†÷ 0 *†H†÷  0³ÆÇC±— €‚ˆ»’R¾¿ ýÄB˜å-¹:ôn †¨Tš˜ãë-ðE–Sˆ>"ªÁkI?·ª/R*ˆçpªFÖu‚8ò›q瀓iL °’-o ݰñT?2p®æùSŽÙŸË:^¡wxÃå:•ŒâfûqÔ³ì¬e†Ú˜­ýÓCΙ\«2Ü¡ ½ÓÀMrÓrœI¯ÙAÑê<°°Šsk -—èž½ þ¨‚wdÑŠ´zcÂƆÀó'Ä9)äÐô!r?¾îÌX¶°ž|Ð/§ ¿}áüDtY­.h”ZÚKZ«ùÆ€ £P@B*Ûœ‡CcEO'ÎÚµ6A¨BÃÑ4¾Z¨ïV7ÕõrbÓc=éŽÂà“_B“Ê¥aÌ ÐXìYï‚À±Õé%>ÂKeÕ2Ó|ªlÔ/C¾a sr…g˜/rÕØ‹=ƒì…F;£÷Ì:~²DªÈ~•(ȸӆ{ký¹Ó¢Û‚VÃáJQ(aŸÝÄ{KâX²'Ô¥NDœI‹¿Ó€¶Ë𻎅Ó:*ð¯$9L?`êÈÉ+U1êtpòˆ n˦ûŒ#w RúîZ=Ë¿,Á}ƒü©íà=zJ¥å¸k¥`%ÊÞġܾO%$i “.‰<:0Pé2‰.÷Ø›pïAE¥6ä*R©Ãiaè²ÒH0Y˜« š×zOÃS2¥xÙüùáõ‹ŽY…5_ „òĆ#~{x]¥e–¨às´'_>~SJv-‘™æ:K6]¤'us"¤·þñ DÉ«¾›ê©o¶’ Þ161ß¶­q•0uÍ.Kë&‰ÏÒbìBZ’ÅñÞÊÄ4e ·+„¯“ðIçQ)K[r¾}Ôë,P³Xæ Q”]°Õ¤ò9^Cë¿BÒDg?ûÛCJçžÞŽÇa±4Â^™|ê™ú‘‰>χ0àXà"ûO•ÓE2gY»Ñì}#ír˜”xò¦;9ï²V¡)'u«ÿ2‹f<ËYëEÎÖ¸Z; uѧGÅÉ€B0×øJAÄú¼× Ü̆ýø5ï_‹»?ßYªã=ôé’4åk+ñ d=;ãGxÁ$[ØžýϤ¢_Å[‘B$œ1¼0r­:¥ï³¨:06}íñN ¾OôTwÙ$‰ïù“KÖNA‡0Y"ᄞ§ÒPÄ;Zàxu8jˆjRe çË™ušûÒTÄZY(”°»à€J•¢èŒÄO‰@T7äh`å®Ô¸ÏF&Ñ2'â””¹evÀazË~{ëJ{²D<Ë:+gµû>θRôQÉø=oÛ#jÏy1/>¬à:Î×ýDb öoÕ:¯¨Ö'ŽÚ¤§å€x¬_At…SÚ‹ŸÔ+RMã€Ì¿'ýP õ|XÀ!’ű ) M)úÕW%w£a»óJÿØÖ1Æ{ÏSŠ`mÕTÔ“<ÇÈõ»}~P(Î\\ :}W,ëŸ3i5€ß«1‡IÍ «Å d÷UŸdøõî¢;je#eì–@0‚V *†H†÷  ‚G‚C0‚?0‚; *†H†÷   ‚î0‚ê0 *†H†÷  0AW`fY±ü‚ÈQ£5¦ZP;‘<:û§ wUÑNÞQZ±´I«áùŒ!J«] P½e#%Ž­%ÞªlÛ[ÂIW?ÝvÉdÓ‡ùÒ‚Œu)‘ÁŸé¤©2ÖVU?#Êw:Ü¡‡Ÿ/÷Ë‚g †ˆ½ìHTª°ÓÇ=܉ˆQY¶)Ðefœ Sv*^Éaá:wä@¼Þ HGº½6èÔô©ÿ6x"»_˜¨¼èÊSí €°†g^Ö‰#ª¿ã”`\Fe/“Þ[\ ཈ò±÷²$/hY–‡Á/©}¸[ÿGØwïuE²x¶™/§×_n dM‚Ð¥Øé¾v>UvåÊh_ofgõÁøV>¼»Ï7„‡X( Vö'ˆ¨Ø³‰\­ïÚbiæ]|ñ‰œfþ±>—nUœüÐÙ¦Y¸ Û¦á´ÆLÆY¡÷%t’¤ÉK0ÙôË \‘Oö§º;k«×õ{l÷Šø¿¤_RíXâ.¢è¹…†‡ïS©ë6°C©Ãév|ß36L¥—‡ó þÕƒXÄ;› 'ÌyÍF=c3[£À·ñôS¸(èJ‡CûrT®ES‡…¤X— É·mix?ñó%8“™Á)×x‹vJ@ÂáaÀjcÇ ™C»vÚ¸¨¶4ÖO}¦NåûlÅÚW×™W0ZÄtÙ’w¥-ŠÙ»˜)Q—(k½â"®pôˆàº¿»ú]b‚˜ºöƒJ; luòÏÊ="ÝŽBb’¿­)FüyäùKã(Â+­òÁGT²€×c|bjèht–£ø;ïá¾ÊR¿ìçú+;q¨8,î”ãWÎØÀEÍRž8NA'³âÝqš/·3‡ "¸z:i>BT<̤¦ŽÖØ´qhŠ¢ š¨˜åk)h›Ô†÷bþ…‰NÁ f|[Š–Î`nCÛö£Š± ÚvMTˆ%Ž%7Ž?„^m:žqÜy+ø› óωS“yìtÉ­ž;øÂ½‘+ì@ùÅKX8(̉‡,RH4pxúê—Èï-ƒVª¾¢/É_²4ºò#Í’Ïë_Ô"uüï +¼ÑxB¯˜Aù/ô÷ŠY½÷7Z¬/ÝúÇd‘ö0 ­9G‡|Ñ’£Áêí%øFMåp:O±Å1kf¿dîîD=@~Ò~¿Ã|@ÅŠ˜Åb=˜±"Èo²ˆšx ËqàëQ ÔCRt7N1s—%¨{ÛNŒ.!:•%b»Kið?;q/Æ<žö[–ªèÃ/=¢)Ž»è¶{ Ê5èð€Äiþ¶Á¤‘Èq ØÙë.d&c&²V‡–í÷ªËëð;ÍŽERš1:0 *†H†÷  1ca0# *†H†÷  1—dË ½Ê‚ (¡Z%’nL2ÿT010!0 +齚ûJª ù™&lÜhÝÁ´m%ƒ1Eôûî|zeroc-ice-3.8.1/certs/common/ca/ca_cert.der000066400000000000000000000020251516567600500205040ustar00rootroot000000000000000‚0‚ù #BpWeË]*ËpØC…,Øv60  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca10 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚¶©’:ЀŒ H!´Åa¬lŤ‹àT-^_ÌXÉᙬ÷ƒp7Z>Ÿi­eÛiàN*o9†V¡ü¸Y.b;ûÛÀHãx …a ”Ug˜™R¥~B•Š˜\–d¥FuüHR®AõyBžðŠñà¤;¦qyêÓº3OG–…Äõà“‡ý¨RÞ\÷¹Ðì®þD¬$L¤ëÄ“ƒ¬vGvZlÉ):ðµ[Âú|ŠU¶2|rŧĎÚD¹Úg™ƒÐ¤Ùo¾ñöþÙNû>Ÿ\ªhÆviœn€3 ø€ ìºxÉÜQÒ‰9WÐ’~ÿ*X×Ày¨Í±ÐâSI’íR˜÷ÑÞ]—*¬·£c0a0UJ8\ôl{? Ì)Î)¬¤‡Ð:é0U#0€J8\ôl{? Ì)Î)¬¤‡Ð:é0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚Ý ™–c¼fâGÃ|ï!ÿÆs+à¶é€ 7Ö’”V®&¿Ý_Žá=«î͹^6¬ÆÄŽ8qÉËnжôßx­W3ãîÎ|kJ Ë/]ÿ!íkðŰUäñ¬2j!NÂ'üiÆÉPivõØ:Ò˽ ãžÙ¾Qcõ ÿA·ggÌÜ×&6ÍLìÚc™¾ /ä ö·ð/áÌ_Ÿ2Í/gÜ+OCÊç"ͯ¬S>š¾Ò¡bÔËKca2Ç­Ø&ª7ãsìX~kûl~кCrÀ '¬ˆFf‡9*ý]–*þïvk/]P6a/"žl\°Õ8T£ê%™ièÈzeroc-ice-3.8.1/certs/common/ca/ca_cert.pem000066400000000000000000000027001516567600500205130ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEETCCAvmgAwIBAgIUI0JwVwVlHMtdKstw2EOFLNh/djYwDQYJKoZIhvcNAQEL BQAwgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdK dXBpdGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFz dHJ1Y3R1cmUxCzAJBgNVBAMMAmNhMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9j LmNvbTAeFw0yNTA1MjMxMDAxNDJaFw0yNjA2MjUxMDAxNDJaMIGPMQswCQYDVQQG EwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwGA1UE CgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJlMQswCQYD VQQDDAJjYTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2BKmSOtCAjCBIIbTFYawIbMWki+BULR5e X8xYyeGZrPeDcDdaGxc+n2mtZdsSaeAdTipvOYZWofy4WS5iO/vbwEjjeKCFYSCU VWeYF5lSpX5ClY2KmFyWZKVGdfxIUq5B9XlCnvCK8eCkO6ZxeerTujNPR5aFxPXg k4f9qFLeXPe50Oyu/kSsJEyk68STg6x2RwF2WmzJHSk68LVbGML6fIpVtjJ8chLF p8QAjhbaGEQaudpnmYPQHaTZb77x9v7ZTvs+n1yqaBzGdmkUnG4OgDOg+ICg7Lp4 ydxR0ok5V9CSA34A/ypY18B5qJDNsdDiU0mS7VKY9xjR3l2XKqy3AgMBAAGjYzBh MB0GA1UdDgQWBBRKOFz0bHs/BQvMKc4FKaykh9A66TAfBgNVHSMEGDAWgBRKOFz0 bHs/BQvMKc4FKaykh9A66TAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB hjANBgkqhkiG9w0BAQsFAAOCAQEAjd2gmZZjA7wDZuIWR8N87yH/HQbGj3Mr4Lbp HIANN9aSlFauJr/dnV9/juE9q+7NuV42rMbEjjhxyctuFtC29AbfeJ2tVzPjBu7O fGtKoMsvXf8h7WvwxbABH5BV5PGsMmohTsIn/GnGyVBpdvXYOtLLvQ3jntm+UWP1 DP9Btx9nZ8zc1yY2zUzsHtpjwpm+oC/kAwz2t/Av4cxfnzLNL2cE3CtPQ8rnACLN r6xTPgcUmr4D0qEEYtTLgUtjYTKNx63YJqofN+Nz7Fh+a/tsftC6Q3LAoBMnrIhG Zoc5KsO9XZYqB/7vdmsvXRNQNmEvIp5sXLDVOFSj6iUQmWnoyA== -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/common/ca/ca_key.pem000066400000000000000000000032501516567600500203470ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC2BKmSOtCAjCBI IbTFYawIbMWki+BULR5eX8xYyeGZrPeDcDdaGxc+n2mtZdsSaeAdTipvOYZWofy4 WS5iO/vbwEjjeKCFYSCUVWeYF5lSpX5ClY2KmFyWZKVGdfxIUq5B9XlCnvCK8eCk O6ZxeerTujNPR5aFxPXgk4f9qFLeXPe50Oyu/kSsJEyk68STg6x2RwF2WmzJHSk6 8LVbGML6fIpVtjJ8chLFp8QAjhbaGEQaudpnmYPQHaTZb77x9v7ZTvs+n1yqaBzG dmkUnG4OgDOg+ICg7Lp4ydxR0ok5V9CSA34A/ypY18B5qJDNsdDiU0mS7VKY9xjR 3l2XKqy3AgMBAAECggEAJxRzMAFOuPrdB3+tJ1/kJt7rxHt/y7LwPUUGQ938gRlA /0h9qev9HqXtc5xV3+s5gjFBLSZFsJ4Q+6eyLMdCORlczPIeTOTgsNhxaJdQhQ0h QbyIakRyRJwRXEKCyyhtX54LzgEAFmT+XWStRNnvUEw/Lftp1wjF3dTvMsgMGs+v qMXd1wwTDHgdRIOGqWN5K+moXveRCTK3OcZsaI7tMobOO2jaVlaj7I/O1Qpp/roH XwMIx3d8Q+LbS4AO/wPeEt2pMQ5rPd2xBSr2VjWIQ9hZc2tQSgArR728XO3WMomT c6lfp6LLVboxM9T3kudU4ybQrxWpeXuOw8m8joBysQKBgQD17esadM1Wu3Xh9YPt +NWA9l65TC+IWMxQsnvAoaFF78w70Nxq8dokZqFAoB0Pawr+qw16IHZQ+FnWkH9h 1oLJFbAU3OwsWNCOl1KVZvtB50BmFJOMxDt+Jz4RSDmKxpaUnH218FEI9hWkLTFG +tabcwMdVXMcfVoHvzouZ4CIjwKBgQC9eMMmysIAlBwuvpnUqLkmCNo/5L4TyEkf xQd7jnOLf08DNlzU2wJJBoTqAjs6+ShqARq5ICTlPbNWYjQEHyr60n1U/Bi9OMcB iH0AgPeQhQsgpGCqC6jTPB0oKFvvNqp+GysCNhPns/t+c7AeCM00HbiR3t17mq0N 4fb5900dWQKBgQCOIIC12njtPgtjmhMzzZH+JOQbbIcv4jm6DVxtuDtPAsXib9Ni zwEF9nYMtjv1NCS3hz2Trf0S0GSDFyE29tTAx5Lqi77F5lIphhSJGWnt7WqPVCbt vF6xipZZQIdYx2ow2rvgENGUPzvElQWcgszSK8bKBh8vgNYuEfra5KAoywKBgHLY +YnRC0lofbDD7eDeqOPqJ8jk8WZyWAi+2GtHjLg44f7ze8+2NStonTZvRdHYZ2vh 4X3ngxXFkahB/H+nGNlSr4/NA33nJZHDVunwQp/CVV1i5gkM6jeoT5Ag7qEQhMXN 2AMOHoCrMz2SCGYcNa5qeY9KBPzAZDdvCdK42XB5AoGAGEL4+tKd7dOIRkXR7HtX EYT3vnpT+1+l1jsOhXmjLDnI9H1tfYRL1n2HQuScGw+bzJw/rvqG3gllyNVKLFtm eolUkBROG6ErjpLASrr9JtsoRm9XWt0eIJM63za12TBrr5FvoLecMooD5APiZu4b XryxLhVFrn3wLHxk+Ojq1Kw= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/common/ca/client.cnf000066400000000000000000000011151516567600500203550ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca.client emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = clientAuth subjectAltName = @alt_names [ alt_names ] DNS.1 = localhost IP.1 = 127.0.0.1 zeroc-ice-3.8.1/certs/common/ca/client.jks000066400000000000000000000066231516567600500204070ustar00rootroot00000000000000þíþíclient–ü—v0‚ü0 +*‚è2ϰ¾ÙBòJæpÞ›«0‰ô‘ÁÞ@ò±M•µy!rÚ3g‰áiQyE.¡¨àYç<ý²{.Ï…s íqì<‘ë±» Œ¯N˜¯1^Â7žË¬áÆDz_ζ2žèuÔ`)þw‰»Ž baD ‹±Ë¶±?FÁe³½`›³ÚÍÓ|#m!ô$zÜdGò‘ & j²Œ†¬›`ˆðtHcZÇgqœœ¡=^k ÈaÊ7]Gn›"ÂE©o-®N r=f„`S?œ<ØEé»þ²Òtiÿ¤”œeêm$2 õÞ=ÙHܯ^PñS­¿c˜%G š:æ “lãO+¿lu†¸ÕQN̉ók§F€HI.,µ³“â-nê¢Q#™'‚Kï°“å0ò€¿‰­¹„ 6<ÑïÖwguk5Û;/YÕˆÞì ‘Á·FœrãRãÀæ ¶+¡ÅT—‹‹Îõ«†ìƒîØ´¤1»®M z•Û}MÆrK¹(¬Ã¢§ÑE‰URê‹ØÖ òX÷Çú¤T•Tó•FWÜ¡nÙç…^+¹^Zi”CG®‰akeP©+¬XÊÅÅqb7ùµÉÿ`œ‹Ò0“-¨¾àÒÈ"]B)mõsHU óc.|ñáI~à{tç6ˆ-N$"d€‰ï ©¥òr°ˆJ‡þÂ…Wx§„´ê¨Óyë¬Õúw{V¾¡„‘”ÌÇp¦n4º$ŠmZŘt_5 ¼Â‘qÊk[žx¶Þ®´Ã±hÑ"Ù9ÜôƒÀ\'û;çÿÈÓüD¸yÔ¶[sÖÖðj ´ªÈé“…Jà=6ìÄh÷ÀxêcõnUãK;6rE…~-Ò·&ˆHwÀ¾®’J'(£}½3­ó ñ«õg/:@ ’ìˆKˆçå×}_<[[˜FI*8úYþ³’%Ä vðHâ8á'ú£b6¬“TT¦NÇòº;¾/b …ÝgæNì¿T9ØÂªÈ†¬„Ó+sÆSýæ¸0-©;2V~ØZHóh!–λ÷´oûÿ8ãº?ÉwÕ¥t«qµ=ÙûÆÖììo }X\_L ¿¯‹÷É â|!EÇV¸½)F/_´~`mµGã¦@…›ióѱ‡`ø’¾šñyù}2­dë’c®k-Ç¿gÇaͦaÒbjª=ß4[^rˆnÓB•@Ä­=2ûc)'˜Â±ïï‘Ó€;ÌvÒ(Wä‚a•áí**‚ü'¡œr òÈæ0i+nȵ» ŒõÆJŬ¼;ìó>Ÿ’-|è†R“³(¨öÄ¥‰ ‚½æ¹:^ào½8ý?@xÈÈÈoµ~JZ†Î/…Œ®‹c’ÂufÙî0WšÚX‡ÎäáW‚Þ–9ûé‘/NêÛÌzm4¿\ªÁ=m2etBiÕšûzøXl$:·l†î›)P?9ª¥Öú©¿÷Ü?ëyÒãÓq@É^œ»ÃFŸA©âª.öû89/Ì«°èÅkÖˆ?'¸A‰ÔSíî‰GÙâCR‘[Äx$+ 2-škø$—¬†T÷‹÷÷XÔhx]V¢ßxõ™‚%CÏ3wÓ]ç#»ßPÒ®6DäòéØÈ¶B ·þ"ñ\k'ü¯'Ê㺕Á¶lb¢dD-@Ò¥Q^”¯}ì0ÎUHX.509,0‚(0‚ 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca10 *†H†÷  info@zeroc.com0 250523100146Z 260625100146Z0–10U ca.client1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ÂûáƒHKFn|·®NV”A&ÈÝê yWÈi?Lnal=£S‹Ðô E¤]h–‚,Š<¢áVwèÍÊü%¢$cë–^oëÑsE£;˜\µž äÜç9÷‹ÓÚçYYî„O¬Ò³òýÍlb;fødçÅN÷lyšñ˜Ñ8âl¯ò:á~þCµ­C`´cáýçW9Ýå¾)(ƒNÜLÇ›/ªtèËêý„ð-yßYÁkËè¹ÁX£g¦åZ]´xe¶D5ð7¢¥ ¦n<|OR’p(Ë55ë*þ¹ºÿKBѲHá8ªÓ5°ŸbGdÓ <ï FcÂ…ª÷ðo Ï›eÓjÖµ£„00UF˜Íh†Ê 7½:Q 6hC¢¯¼•0U#0€J8\ôl{? Ì)Î)¬¤‡Ð:é0Uÿà0U% 0 +0U0‚ localhost‡0  *†H†÷  ‚X}“ú·rÊÀ”¤=œÈºO:h\îªt±\AöEYÍëó5‡S™KŠH(Fű‹-ŽmnypUJv¨µùBŒíë/'íó6ÎŽ$ ‹(*9½žüÁ2EFüº‘ùÿ&è2ãoKÛ—¯.Jn‹¿Lë5½];8–³ÑÛ[ ¨â ÀLWï žX89=.•¦Sh1·Ú¢Pd—üÛ\M³ª ¡¿½c:ÊÉí=Në=ŸC_”8Ó€åÛcŒM„›° 9µë Þúva³L›yƒžS`œxZÛ Ã+÷Àû¦Öã6ØGÇØuÓöf¦ì[³íûŸi­eÛiàN*o9†V¡ü¸Y.b;ûÛÀHãx …a ”Ug˜™R¥~B•Š˜\–d¥FuüHR®AõyBžðŠñà¤;¦qyêÓº3OG–…Äõà“‡ý¨RÞ\÷¹Ðì®þD¬$L¤ëÄ“ƒ¬vGvZlÉ):ðµ[Âú|ŠU¶2|rŧĎÚD¹Úg™ƒÐ¤Ùo¾ñöþÙNû>Ÿ\ªhÆviœn€3 ø€ ìºxÉÜQÒ‰9WÐ’~ÿ*X×Ày¨Í±ÐâSI’íR˜÷ÑÞ]—*¬·£c0a0UJ8\ôl{? Ì)Î)¬¤‡Ð:é0U#0€J8\ôl{? Ì)Î)¬¤‡Ð:é0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚Ý ™–c¼fâGÃ|ï!ÿÆs+à¶é€ 7Ö’”V®&¿Ý_Žá=«î͹^6¬ÆÄŽ8qÉËnжôßx­W3ãîÎ|kJ Ë/]ÿ!íkðŰUäñ¬2j!NÂ'üiÆÉPivõØ:Ò˽ ãžÙ¾Qcõ ÿA·ggÌÜ×&6ÍLìÚc™¾ /ä ö·ð/áÌ_Ÿ2Í/gÜ+OCÊç"ͯ¬S>š¾Ò¡bÔËKca2Ç­Ø&ª7ãsìX~kûl~кCrÀ '¬ˆFf‡9*ý]–*þïvk/]P6a/"žl\°Õ8T£ê%™ièȴӧΩy#Gg3nÐÌÌÅ5“ì¯zeroc-ice-3.8.1/certs/common/ca/client.p12000066400000000000000000000073521516567600500202220ustar00rootroot000000000000000‚æ0‚¬ *†H†÷  ‚‚™0‚•0‚ / *†H†÷  ‚ 0‚ 0‚  *†H†÷ 0 *†H†÷  0©tÖ‚”´¢€‚èD7ö ¿‡ò{„mâš”x†÷îõËR׺vÛuJˆóqe]%5;ÖÁ1¦ñJÇK¥êãäþnÿ˜I.èk ÿÄÍ 5‡JMPÆ>ÒÎìõ*ù¦ïQÑñ’õ Ë5ŒÉ.FŽ‰Ê ÁõÓä“M.]`nU¥s„“Vã>æÑ Ü„¸™Îƒ1*-„•øÏ;GY<©Ê~f×ÒT¡LHry ɿؿî^Dƒc<¶ù. „)C¿4€æÑë&ˆ=c”’ózl…òè|’ï«À¾XJnÕGÛs;)BÉzÈ.çsm¡à„Æü,ï ÞIÈ#|ñ÷vï©ù¥. ­¶hÖrö¾•…ÙãìCß‚ÀF•LKÍoÃ8<Ëî\8fåßYQ6{yØÝˆLÞ[ÅU§Õ—é6Ûó]±!£Á01éQ~߬NzpŒ€edÍLÓhÍÉß:'vïÆ.‘ÛG ÿF–^'Ÿ®óÙ/…ï`ŽÄCš÷tˆÓ©`ûÏH-•… *lÚ‹•ÀÜ»…g¤.ùv‡¬¥TF €† ÉÒª‹bÛò¹±Ûš8‚¦ˆ<Ú> ±»˜ö‹Ù)5Î0#»¾ß¹seâ~Í!‡T¯ë`ƒ€Á'á|™<^;ÞÕ4'`çìø"2Œ¢çI·ï¸Ç&P_E&}®06v™ê€ Ý'×T jæCV±'ŒÛO9¡”b…P)À4¦:jþ_±ÛîáÛî}«OEG`­™Õõܺ?]BKCºÍÿ•ó©iK5á05´SˆáQ6dJX¨Ur…ªñâïwY+Â;dØ«:X‘À"}±¿†ÓE׬”%¿†´ay§ñâÒ8dÒaà¶ž–v|øÚyô7KˆòÍr¬eï\¢éåv¾“ÝNëCS.µbCj š.úÙáÁœ®%­äžï9”äB Ú®tæó]²!‡˜5#í-ÙHI­2vÇp^åAL²`ç6ašM½ÑhSÇNËóA67¦Úf™õ’V*Áªúx£ÚGºaîÜæªÕÜÆêáblC½£XçÓë¼öÁbZÇÈ!Ù¾áx²íí7ôYÙLÁ¡ž°s›‡.µ=eLßIÅU Œ]šàŠNÛrþ³Ú/ú´ÚõᤷœŽáý62® sùîwÙMc/Ƥ„è¸3` µâþF!¶aÜûÕIå~:úKê¾+Oˆ^Ì®¿1G©ªò_W#§ÌŒïšG9ß2r 1‚šë?X÷Lcú_¸2uv¶—_ÒÎü3ì•D`¦r· bÓ®¤¿ C®~j¦ÚVeükã<èPn®I¹PX´;ÿ³—ƒÊ½`¾I¿7F÷Aª€£Íâ)n^%¿té‹j˜ñ•ö¯ÿŶíšèp~‹ï¯3­ÿ¢%iÕ!) ø»ƒö!HlÈ{Wd •øôË£û1± ?‰Ÿ¬M|c™4¾æLGokNè¢Ú-[ò{Šôiø›½Ö°´%u…:CâqFzƒ@Q5T|óµfú§ËãâƒGŽ}`~¨®"ämZ_ÔÏË­Rš°š\IöǪ6zù„1Ê¡#ƒÛNõÊ6’·!o¤¶ˆ\«é´Zá$ïUâøIà~ñÀq\>&À\L®tŠhæn2нªÂe ‰*‘3’ìí¾zØ¢9øãHáQE=>_…Ôwœ„2ëÀüjëËf„pcÓã$cE”òg7ú3V{Wö™ÞÎr‘c7ŸYù8))IäXÝ=9‰-IT椊jÞ’v¡Lp [DYtLâÒ XGe¥»3!M€"M‹€¿ÛøÁXïKAöI¯ø ëäˆv¯·Ù¶&§R¸æÕ¶æºX9ꟉkŸ‚¿s!r¥cä4$µ…Ï× ”–l•„ô]J¸O›¨¥ƒ7Kôöm"{ÔSÅP³Év‡µÊ»Àµ)´ ™îS-cƒO3¬Šö«MCÓàžCuh_7Ò”æÅvæþ[m5ïä/îÛÚ«h»öKî$n¨ DyD2›ÏÖEUºóÆñQ cB2– ½ðZpºµò\ÍÞ7dªø’$ÛÅÍöeˆÔ¿X²±Â¶ë4úÐ/ä´Ún›S&!å^WGBRGÔšºlrî3ÇU›Äerï—:7nþ$® …øJ›N(Uã¬vÄ~ wožSE×|Ð^i¿­"kýkËa ìÿq«Ñymxã DˆûÎÅöþ’«»1ŌΔY7jþóA)x±‡›’-ð)ùãëú»<Â?žX,:ck9&øDaà¼b$«æŸï1hï‚Ç:ì‘§‹j{øðo‹6‹ ]õ÷úf\Ým¯ ’¶{mÆ÷%É©nPFñ-)²²SÜÕ;G»{ˆË:wpqÊ€:«ü;ü¼°ü9#ÀÍ ·6!åÕW! ëÉ}Œùt=>Â4®9¼¹¦©ù•gò°Ö#7œŒwXìÎ Æ1*AÃçnòpnübñ®-„'R^ËùŒe¶ú·­¹âûÅJ¨àdEh;²É3xÀ ÏÑ#Ry‰CŸÛ˜Ø>sP?}0Ü%žsú¸”R¥Ñ3èsÄéúÉÄ€b³•2ÉcºdfÒɾu9P2›,(;þðÌ‹§ºOçTdô”¨•1¾Ñ·§á›q} ýQ›œ‡Âܵ㭠ç¶rKŽÍ ÚRnú!@0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0Ìo0¬¬„)À‚ÈŸ.ÃõÙDIîIŽÅÊb?™œ׆Ÿy< à–e(Y]Äק穜y{Bl8‹Ç6†Ò/Å]µ"zç#\Wd1QáãÎÑäö úOd ´EÙusÓʉÚP‚pR†urn¹FýðO{[þð­'ßGë?í…f"è™åâzfPÙgÀ‚8Ù7ðÛîq¾—Ö…G^§Cÿ-=Èa%èñD¥%£nœ¸5lÓ€ÆÏ·«ªÑæ—¬n~îºÈ4õËvEÿ‘N înëJüRMA1Kv€2Y é)°¹C¦{'¿&lëã À§åÌ4^ãºíÉ~jOß៴ruz‹nÐYHüÆ{‰bWúÌÁïö ã |DZÞ<ÿA% ˆ¡ú@ˆ‹ÅEAárãò=Ï‹‘Ö:¥-ÓQ&â­IoôÐY̺uÍh-db©|NTb³à¥é8‰*–ç/çÏ=‘_²e¬ÑIŸ(bÊÙÉÁ±açû“yª²´l‰n‡“Aº €Éñ•Yæÿ^æÑ…£ß¥;pm—Õ÷à<žÎ]©†•• YBÍé?°…qRïl²€–öˆ´>oª¯zWì77E¸®µœP[&P62sq`OŸí홀G‹AÄ(j¶TqmåAcÑvï.ȧÚ,Ú¶^»# 5óuª…\I€ïn¾ŽJ¿¶Y›cöÝàê[³âa²æeA)5È—ãg%¯UXsc~Çy]¥„+øq‡\áÅÝÄ#øBäÿ×éoƒá # Pª(òr&‡—1Z-¥Dœr4ùÏ—ûÞ•{¯&NÜáxþa9b&þ…¢ŸÖÅÍãqÔ`½^LtÊä„![HÝ1ý¼©#.»Ž6ÓǼæzj}®8ÚxZÎ[ðnÑ«òø¬âvrj„ŒJ«\547÷Ö%žé*ôT/B:±' jQkIfð-ã­®}ÿº…`Ê¿nÞJî0_Û ´3É€ªË³¹)€à*Pz ü'ï1W,÷Ql½^@¿«ÉªmX#´þÄðORÁ+a%Îǵz:X)™úÄ.-Œ¥Œe[bÏ9œã^Ó÷ {í×7žðiµí¡2md£1™RÝ)‹¦o# ú½ oÿÎq¾.°yt +Õ‘ ë)}¦ÞL-ä`É›`umijïUåÓJd ’[††{ž*hº×‹s?N`|×µFŠ $cûêfñùBH„‘n¤ñi Ê¢ÈAwÍé¹h€P;ù¦Ü³õH‹++¢X±¥› H…d'Z ‚âÐ)ÝnnIg7ì"N€µÉ†q<À¶ÔðLcçm?ŠˆÁ—ª¹¢Ùé’˱“ïj“µíóñ¥Qé•XäÉyê¡O^FP K<^Þ `zqœàß0XÍV¤ôw ZºÎVבÓdœuð-ålv[Ö˜üÎâ|:#!³ï/˜Qtœx3‹÷zŸ²å+Ïxþx'¿ßʉvtµ0–LÅÏ'ë"Wf¨Ú¸7L@-Ã4fáâ‰aB?à±+æ–¥v1Ïv™¬!ùÂÙÆÏ ´¬Yj±y|¨j?2 —ºíÛY6J‚ƒ´KÅ»Ýi¿¥½–·ÈêÊ@¹AJ™õ±´Å *]1B0 *†H†÷  1 client0# *†H†÷  19‹É2سHÿkpe;Ðx/G="010!0 +­ÚûR·:¶F6\ŒV豈Òa¬“Š2zeroc-ice-3.8.1/certs/common/ca/client_cert.pem000066400000000000000000000027351516567600500214160ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEKDCCAxCgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxCzAJBgNVBAMM AmNhMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTAeFw0yNTA1MjMxMDAx NDZaFw0yNjA2MjUxMDAxNDZaMIGWMRIwEAYDVQQDDAljYS5jbGllbnQxCzAJBgNV BAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYD VQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxHTAb BgkqhkiG9w0BCQEWDmluZm9AemVyb2MuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAwvvhEoNIS0YVHm58t65OVpRBJsjd6gt5V8hpP0xuYWw9o1OL 0PQKRaRdaBGWgiyKPBWi4VZ36M3K/B4lEaIkY+uWXm/rGNFzRaM7mFy1ngnk3Oc5 94vT2udZWe6ET6zSs/L9G81sYjtm+GQW58VO92x5mhHxmBPROOJsEK/yOuF+/hJD ta1DYLRj4f3nVznd5b4pKINO3EzHmy+qdOjL6v2EG/Ated9ZwWvL6LnBWKNnpuVa XbR4ZbZENRzwN42ipQqmbjx8T1KSF3AoyzU16yr+ubr/S0LRskjhOAiq0zWwkJ9i R2TToDzvCw1GY8KFHqr38G8gz5tl0wECjWrWtQIDAQABo4GEMIGBMB0GA1UdDgQW BBRGmM1ohsoLN706UaA2GmhDoq+8lTAfBgNVHSMEGDAWgBRKOFz0bHs/BQvMKc4F Kaykh9A66TAOBgNVHQ8BAf8EBAMCBeAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwGgYD VR0RBBMwEYIJbG9jYWxob3N0hwR/AAABMA0GCSqGSIb3DQEBCwUAA4IBAQBYfZP6 t3LKwJQZpJA9nMi6TzpoGBtc7gWqdLFcQfZFWc3r8zWHU5lLikgoRgbFsYsZLY5t G255cFVKdqi1+UKM7esvJ+3zEjbOjiQLiygqOb2e/MEyRUb8upH5/xQm6DLjb0sO 25evLkodBG6Lv0zrNb1dOziWs9HbWwyo4hoKwExX7wmeWDg5PS6VplNoMY+32qJQ ZJf821xNs6ogob+9EWM6ysntPU4Q6z2fQ1+UONOA5dtjjE2Em7AKjRc5tesM3vp2 YbNMm3mDDp5TYJwYeFrbIMMr98D7ptbjNthHx38e2HXT9mYSpgXsW7MRH+37PExn tm16zSs3IbUR5Fpx -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/common/ca/client_key.pem000066400000000000000000000032501516567600500212420ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDC++ESg0hLRhUe bny3rk5WlEEmyN3qC3lXyGk/TG5hbD2jU4vQ9ApFpF1oEZaCLIo8FaLhVnfozcr8 HiURoiRj65Zeb+sY0XNFozuYXLWeCeTc5zn3i9Pa51lZ7oRPrNKz8v0bzWxiO2b4 ZBbnxU73bHmaEfGYE9E44mwQr/I64X7+EkO1rUNgtGPh/edXOd3lvikog07cTMeb L6p06Mvq/YQb8C1531nBa8voucFYo2em5VpdtHhltkQ1HPA3jaKlCqZuPHxPUpIX cCjLNTXrKv65uv9LQtGySOE4CKrTNbCQn2JHZNOgPO8LDUZjwoUeqvfwbyDPm2XT AQKNata1AgMBAAECggEAIi+sWiUXb08107SWfFP82zQ6KhUsx2TEnS3/uf/qGH20 Xub+jB/Fj0lOsTjoNSGfCQLYIH8bHf+697JHWIyfqb88CYnA5ASRG+QPRlr24uMk M9D8uljTR72pTlnB7ABGnxNa6l19g8mbd7CAzZksC7iCp48+1yWeWMVmIhTfORBS cvHqQntWvGRj0v+/KVl+TttHDN55ArU1jhn6A91NUZ1e0zEYA7L0vZtrG2LwkeVn xtAXkTEURjcljCaI9LSpv7C+bRIRnKgunNsKeh3KAM1S1WmvDpFvJsPWvtha6qty XRyoCB5gLuc+T60jv9P5hTZ0WxFW4SMeidCT5gGurwKBgQD5lCjKCno4vLQZ776L svtodFrjk0AyMU5fSnaV4p7NG2OObVL1HWQyCNSMtYnZYjC26+7vnXmqMwM59dBl ZLChhXOfbvLVm3iUTsQxCTqbLOz5q3G4wVkFq93oEBOERrfS2gSXEQOm1AbAqncv TAPD5AthLAaJC8R+lVPvJ+gV+wKBgQDIACIPYGqzlEfBhYjA4zlacZvRlS8EzYWR 6jn5eOUOFdJLT6OwDNVU9Sz+A+BFEklY6WU/d5LgTfW3TljISW5SbHnT52HUzfH1 NJyFVsmThcpal4D/JnsnOIkJ9jHShZ8d/NnL3+pxJ8rQA+T7lvdH28UbD6FUA6W3 xsIDdwgXDwKBgBM2YZF0DwaRGDgq6XstkwbudhSwwC9c9lCFle1h3aGiax6Ksekm kxD69wnB69OtKFzceq89ayE7/hKXJqy3fJVihY0PaGgjKLwZ+CZiNH2/jpqFpSJ4 19aE7XcwzZ/QJdR4bgQHDkXoaoCoXrZoXp3Uzz9yuSoRmtW3vxdY9hfDAoGAfeuH hkLgKzxaiT83wKnPPGB3CFdzCQUU6a+c3LL/FAUtJ/l2R6tszVaoAy4Rj6tZvr8D 3he8w7iR0d1kDIYfDYn6ki4F7GPVyNpdCZ6Av37mzm7A6uQheaogrcLxz2gNrGW8 Ap5yDthM2vb4vmZoPjfiO411t12sgq6DDIdu8oUCgYACMBwew04uuOCZghOMTX0E sxOSVxgyaUEpbTuggKYYxouFQyFV+ZhMvNwOH9dimEWyBF4aO4lc2YQ2PmyAXsVT KCRdnnhvuYbSwEW08PE0qGGqFaRpB0BzW6fLRaSfjvnxIoCG3rpeMGqxfOCaYroV fcHSwgYs6k06f7qIYGWdgg== -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/common/ca/index.txt000066400000000000000000000004121516567600500202560ustar00rootroot00000000000000V 260625100146Z 1000 unknown /CN=ca.client/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100155Z 1001 unknown /CN=ca.server/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com zeroc-ice-3.8.1/certs/common/ca/server.cnf000066400000000000000000000012521516567600500204070ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca.server emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment # With C# clientAuth is required for servers that act as both client and server. extendedKeyUsage = serverAuth, clientAuth subjectAltName = @alt_names [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = localhost zeroc-ice-3.8.1/certs/common/ca/server.jks000066400000000000000000000066361516567600500204430ustar00rootroot00000000000000þíþíserver–ü—˜0‚ý0 +*‚éd^?Çöå‰Ðu„¾1ÿb r(GS%tR°²jÒcٳٯî,È5ŽÉêÖl´Úm·’lxÈ3dDû½É‰-«Ü ñ耸ù¢`è!©ÿ¥¨½·sÉàÐ ÈÒ[›©˜EÛ“º# ¬ŸÓ&*(/!wC GŸÏ†Ñã;ôñ­¤þ5ÅGý££ õlTÎÁ»|€YÍÿœÐâp ~àó‹À‘8ú1>)µÆ¤JhîéÙ#øÔb!F!3±íe§Xý¾¶Tw÷Åfµg â\*"ÂÕ×î%k[DƒM|4ÛeëÒÚÌ%õè1kA¢¾õqqøØæTá½1;‘Ÿ¼qýãâ–[«þ¾rÐ¥‹8¾”}Cµ´pâÍð(Îl=ihK×À·îÉW¨Ÿï]T×?+†BʯKâioßaÄFu¤€QÓHIE¦,AHBÈÎÝN q ïŽÊ늰æV8“‹WŒerÑÁFZºgXöé&Þš ›i*Á{”º|›*nì÷œ‡ã³b5‚GïÖ|‚fó#*ïËœg\U»Ëà A/jV>D¬'J¬s4²ÛÑ:¦„B¤Ek®Ì©³›6˜È%{!:?mJ¾‚ßmu•òÍua…81¥|iìàðÄjçÍ•¼æ_y ×ÔÔÆÕS.{’=§Ää5{iJÎ(/†;“¼_æktj¡ð—×mì‡sÅýZ´óü®Ë'™?ˆù6ˆzdÇIp­–1ÍË®$Ÿ¹3ÔÃD¾xLÄkúòæGÖeßFNý€g%“Ää-·Éì-9=mj­Ü ¬¨O›#bÏâ ˆ< ûr3+2"#͉çí›Âœ[™Ý7OÓEJvaIõ~F‹Wž ‘:H£ª ,"+Ø vt²:q`iªÞ ©\\¨ä¼6E37á‡zBߥ¤äÓì;&lÎî÷Ϊñ>|Ž™ûª¯?Ì<@xZ—œÞ®ê»N<çkõ”˜éy¤5·|3 ½dUâ% 3êǧ’2„æp<»cG„åä8âC |äxåγ®ú~¤Å"ñC20øl^¯^z©¿‹E½È¤á#sÛî,æ½bñÍO‚!†C²Iž=Gx>8*Yç7Mí“‹Q0Ë™*1H²{3{y ± Ñ [W‰bÉbdCU 9[{«“O^»ZÉ÷ÎhƒHhFÈ®¯¹Ðå´ê B46¤¥oZ]`êÜú“v”7RÓÃX.õ‚'„C †)=ºKªTÎU¡ô¨Å"˜~× ¦Û'õòGê¬Ûr‹y0EâI£ÖTAÖó`’‚Èæ0ã¾7êXµèc¹KFµMo†œœííª™r\ëûAfÍJNtÎîÓdè “kžDäè½_¯M0'¶ç9áö À…e(Xa;Y”6‹è=L˜ð)[tø¹zþBs›^vºêI¥ÜlvÿSnÌ5¥$$H\aaŒs ^òÕùú/Ù\‚ñrT~†új%‡&‘ÜÅ[ûèÆØßÏøs&´Òw 0„Zóv=áÜI†fÁö¹ÙóbËáƒf›B÷£›…´í™;>àaüªET1 R±æ$‚Òƒ¥àù:w)Ù›!4þ;¯ ”I'àÅ28O>”‡X.50960‚20‚ 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca10 *†H†÷  info@zeroc.com0 250523100155Z 260625100155Z0–10U ca.server1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚¾%TçÅÚZÑö¦·§`ù±ƒý5ºK+‚ýììqõÒÉ7ʹêô±À Rˆ!“–Dâ«$ÐÚâì,BŒ1{FiËubW-n´ì8ôMÔù‚æœ^ïè®´é`wÉ>euMË,­HŠß“C'p’£þÍã«©øo5¼Ä&–o†xž¿ÙvæÁá{V&0èþÐi» wgty º;Ôös.+-îr•E£Ž0‹0UdÒ뺨=lF˜ƒUT428Ôd°0U#0€J8\ôl{? Ì)Î)¬¤‡Ð:é0Uÿà0U%0++0U0‡‚ localhost0  *†H†÷  ‚­ç}û•ì"@aÏe×®˜Î¡Ƨû‰Ý“î™êX ƒR­…â5Ìu0â‹;; ‚PA+'µNN ¿Ô‡½Ëqb\æÔNŨ¼‡NÙå{° Žyäß3ugòý­<ᡉ¤~b*—ÈÜü7oÍÅú¥ïjõÚÑ;hæ±i›ÔšU Ÿi­eÛiàN*o9†V¡ü¸Y.b;ûÛÀHãx …a ”Ug˜™R¥~B•Š˜\–d¥FuüHR®AõyBžðŠñà¤;¦qyêÓº3OG–…Äõà“‡ý¨RÞ\÷¹Ðì®þD¬$L¤ëÄ“ƒ¬vGvZlÉ):ðµ[Âú|ŠU¶2|rŧĎÚD¹Úg™ƒÐ¤Ùo¾ñöþÙNû>Ÿ\ªhÆviœn€3 ø€ ìºxÉÜQÒ‰9WÐ’~ÿ*X×Ày¨Í±ÐâSI’íR˜÷ÑÞ]—*¬·£c0a0UJ8\ôl{? Ì)Î)¬¤‡Ð:é0U#0€J8\ôl{? Ì)Î)¬¤‡Ð:é0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚Ý ™–c¼fâGÃ|ï!ÿÆs+à¶é€ 7Ö’”V®&¿Ý_Žá=«î͹^6¬ÆÄŽ8qÉËnжôßx­W3ãîÎ|kJ Ë/]ÿ!íkðŰUäñ¬2j!NÂ'üiÆÉPivõØ:Ò˽ ãžÙ¾Qcõ ÿA·ggÌÜ×&6ÍLìÚc™¾ /ä ö·ð/áÌ_Ÿ2Í/gÜ+OCÊç"ͯ¬S>š¾Ò¡bÔËKca2Ç­Ø&ª7ãsìX~kûl~кCrÀ '¬ˆFf‡9*ý]–*þïvk/]P6a/"žl\°Õ8T£ê%™ièÈ1 §÷kØ™7}Lç1·¹’-ž±zeroc-ice-3.8.1/certs/common/ca/server.p12000066400000000000000000000073621516567600500202530ustar00rootroot000000000000000‚î0‚´ *†H†÷  ‚¥‚¡0‚0‚ 7 *†H†÷  ‚ (0‚ $0‚  *†H†÷ 0 *†H†÷  0ºjÏlæ}[€‚ðˆòº’ÙwmÒA:z¿€6ÚB/ÑÊáÿzŠrî+~Zæ Ò:êØÜTÔŠóèß5AßìꉛŒ°BÀÙ€çsžp!§3­ÅN¹³ÄÁ¡Õ¤ :üŠ )\*†QDÈËÿIñÛé#Ä;§)~-µ˜rpfð*u ßÿ`Û²mFùÂf•h¼<"¬t²•3­m;}uª#If,l8IL—\|Ú͆:Ú~ý ¼Z¾tV"ë#ÂIÇ[ð~`á~OzanƆ= ¹¥Ì§`#~@#2[ºÁÊïÍny%¯ ƒ¶ÇµÀ¤ÂÑá÷ÖrÁ¸íVÌ:Ïü<¾ɧ Ò¼LDÖ»¢‹å(@’¹Þ–+JYÁ¡(LËgù ìZøˆeé8‰æ„kè“®Úy¥^-ø`0ÛÂs+¾ï"(¹:4-ìð'“g_2p‚ I‚nÍ ›¤S…ï‘%ƒIÝÐ'üælmg{Pt=/×R£{`òKO×’DðxÆkú^•[µ¦â `ƒŒ¤·”Çm¡„ÖuÄJ€SÍ#&¼GrÌ6ÐÖµÛ`e·,By‡"K'Ó¬^ ÃV±ùèb®*"lIù $H›?Á×aJó󣎯¤‹½<Ö*M~ßãcνÜý +Ï åç¸OÌ, ½]IÎ'y%ö¿’×TNùÀ?â£âi{÷,¬P]åo6¡ÔBˆ‡Løîö4têgÂǽÒ9=Vœ„÷XJQwšåê!`åyÈŠaÄîœËÃŽ1ºäÈïDnˆ³0òlž¸-=ò0`çгŸ&dgÜWü™î܇åj&滄‘·òÍM¡Ç@ÛýøgÙÐW½ýUr›‘KŸ¾2ï¥é,N©ŒMo`Ãü-¸þÿÄé³­¡ç–ÂVÍr^6áŸ~c^ÿzž$Àߤ³åŒÅ!1_›4ù”N^/pã&ÕŸ±C5ýìÞûˆ½^Ô'ÕâPšsZ¢k¨—ñ©&A= æ÷û¹yÊü1üÈôYªÝs†ÂÂE-rD«D÷7!ÛãáKßû«N8UFnÀùm|W¬±|¯>jçµÎÁ>?c"s‘3]ÔHcA¨˜ùæoö_ÚÌKM½4Ï/>Ôù ¿Z¦`Bn¢JÜ3ñ}[™Æ‚M*‰¬ß§öÐQi«9 Ý›ëws_½ý kÚXÉS)%“`amX€ßVÏá¨Æç§\'IØù]P¹š•Ž^¶~¶P¯Â‹×E!1­Ô#hq‘Û«˜„sݤ¶ùVA¥…v’Ûg ÑŽX $¼P©|©k%—ÇÇ´*AÜß4hfŸƒq¹åc5ÔüË¥ÓÖ ïä!zŒÂŽÔD¤(',¤ü¾vf/¦a}Š%¥£Ö³–tÙ^×±y‰QߪDpÿIO¬³eÀ6‡Ó®û —*ûÊæžÚhÚA‰]¡‚ÉjK,(ú{éÞƒ…ŽåóÈ’ZoËÕÉ!²ÖF,õ~tÇ3;q‘ž;Ì  Ç 9–¬\®Ìu;ԔœW넲¢ÂëžcKÄͰH q²ˆ\›KÔ¶3j´ô¾×_/Òþ#ŽÈ¨êppž„ë¯'®Þ?¨%CGo‘£«——®ûœŃ<‚ú{.veà%_ëÛÞ&„©5DdµìÍ̽I~2NP)×:ú'c€âêЦ Ëí6&½a/sK ,<@«þx·”­N·÷`Y3ôY+Ú?”úV‘Y(_b>'YïƒÛ—5tV»q?gTJÉOO÷ÝU%`{«J Þ2ähgÿùТ¥óWyïAÔÖ츭KOF›ÕvB}]jÈáìZQÒµ7ÂÞhÀµ-Ù£GpIRåEÉÈèo-ùŸwþT_±(.ËØ1™R Cvêû “ÎJP\Œí hL` I,lM$3ŠªF Âiz…·3–Z ·"å½`ž10ù]Ë绂™û¹ÙÕKŠÍ§6îIW†ÏF0¾3ggmWUž!~5¥@<\›äûÄRSÚU³‘‚\Š€jìÚúˆËuE ö6¢æc£øŒ8Ánt6|¾ºñÄ¢zå;‡CÉ%[5¦ÈBf§LºbìO–CD4ŒJ§]’ý/AÑÂ&‘Þ7{ÄñÃØmó[índö±€ «pè·ª“!3Îv\S1%(:£wÀþݦ"Y¯¡>³pÃ)6í&pY÷À¦uÈþÞ{êÍßJj¯ØÏ·yÿSÒR™ñ!äù4(]ƒ”ŒOÄ­Wˆ „Nâ’ÐâÕÎÝ…ñ“™MS;aæ`\ì’¦u.Ž (ŸÄÄÂIì©Çß™óÞõ $;†ÜœÜ&oïh'|ÀͲmIéXÀúÉÆ3€ñé_{oÝߦ®í«,ýàµß©‰Ã=w*šîH^!”9çýe~ʼn–<Ä’¹k‡êÖÿ d$‚Ää •4*÷Ò·ø¦Kß±AÖ= ¸àCª¼¼¢¿†§Y„UÇ0VÒ2NRÝÖPÖNêÍ$òS‰u¾W]Ûç7&¸œŒ+/©GƒÖÚA$#ä•;×CÊÉá £š™ø~dâ½Â(¬Tµ„±ö.µ$ œ3õJâúZª9VCQ-gmÖèDB~ÚxMÉj k[§ëðtAГ߃Uõ ¯ÚöZëˆ-ÆG/ödíªé 9·Ñ :ƒÌPf‡õªÔ#ÀZ\ ’á…´xTž rôëÇë6À¿¥Á^¹ö_ÐMôzÛ¢]keJ±D$;u|âµX뻋µúÒØÀ¡5„'ÛSµþÙñlY$àÓ WSÿÿöœ¸Èň²  ”±ØðbU¬øÙd0 º„­©Ü4iõäª'z$¹°"kx#có½2Ê ³Ü d:lgœ·–À(ÙñæÍ2Pói’}R©BÃ%ûjn˜ÉÎÌÞž\m*F`ÐVGµëF…ˆ '´áKÎÇÞ.Ù ò§‰ù 2å†Hìèøk$ølµ*ÖÄèô:8½Ž.ÇTÿ=³ ôBúñű“Ä\CíGCHyŠÚ ¸|Ö+€¢"ˆåU©™í˜ŠÑ©Þe2ÍI‡ë3Ï‚>CNæFÝ_·e?ÄyÜFŠ +õuœï݃Çw…5ÕiÂ9ÖöHÊfjG‰Ò¶S¦¯÷<Çëûîr_¡øfóêÕP]Œu&± û¾Õ0ô.œJivâaiŸ 1‹«…JÐÅn^$¼ï‚î‹ã‰Rôë1ƒ»)‘K­½ÉõäN äbÏÛd#{Ë).À jêåKw+•p½D{ÈIì ò"}9&NÜI–ÑÖ~(y»:gFˆ’3×ÀjBî¼+Q)èšD*¦ÝíCZšR)\óÅÆƒ=nç>Ç›†ôEÉSê¿mÕõ 1B0 *†H†÷  1 server0# *†H†÷  1¨"ÏLº2(U Š„‡Xa¼Ó„2 ×010!0 +Ñ0A}C盢v~=Êêî"  FVy|žzeroc-ice-3.8.1/certs/common/ca/server_cert.pem000066400000000000000000000027551516567600500214500ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEMjCCAxqgAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxCzAJBgNVBAMM AmNhMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTAeFw0yNTA1MjMxMDAx NTVaFw0yNjA2MjUxMDAxNTVaMIGWMRIwEAYDVQQDDAljYS5zZXJ2ZXIxCzAJBgNV BAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYD VQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxHTAb BgkqhkiG9w0BCQEWDmluZm9AemVyb2MuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAviVU58XDmlrR9qa3p2D5sYP9NbpLK4L97Oxx9dLJN8q56vSx wAxSiCGTlkTiqyTQ2uLsLEKMMXtGacsddWJXLW607Dj0TdT5gsOmnF7v6K606Rlg f3fJFD5ldU3LLDxTxMXGRJlWXSue6c+yIBsMYQjif828qt3N0Kdt9ZJEBs8yBNAe qTiOHiA/9ZzQcPdMCgiClyQXElYX0UTbXlcWZ7ftCN5/IUMt/zewPOgImZlfndUy EIllr65tb3k+rUgYit+TQxUnE3ARE5Kj/s0R46up+G81vMQmlm+GeJ6/2XbmweF7 ViYw6P7QabuBC3dndHkMujvU9nMuASst7nKVRQIDAQABo4GOMIGLMB0GA1UdDgQW BBRkf9Lruqg9bEaYg1VUNDI41GQWsDAfBgNVHSMEGDAWgBRKOFz0bHs/BQvMKc4F Kaykh9A66TAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG AQUFBwMCMBoGA1UdEQQTMBGHBH8AAAGCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsF AAOCAQEAred9+5XsIkB/HGGNz2XXrpjOoYEZAMan+4ndk+6Z6lgLg1KtheI1zHUw 4os7Ow2CUEErJ7VOTqC/kNSHBL3LcWJc5tROxRSovIcYBU7Z5XuwDY555N8zdWfy /a084aGJpH5iKpfI3Pw3b83F+qXvavXa0TuPaOaxaZvUmlULPGbvsNuxxT3NqPdg dE+eVxqkd1Qec7cZcA4TVbPGOlFbC3j8SWomSHtYjs6j0sgSmXdSuyzNH7chuMeX oVY5eCTPDLP9HiNUPShPPce/U9KmpF303DbLlvFpDdjwWKyeM+9QeYyd6wHJlmea QR0K4dogGwrvoD2SClodHL3tVDQP7A== -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/common/ca/server_key.pem000066400000000000000000000032501516567600500212720ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+JVTnxcOaWtH2 prenYPmxg/01uksrgv3s7HH10sk3yrnq9LHADFKIIZOWROKrJNDa4uwsQowxe0Zp yx11YlctbrTsOPRN1PmCw6acXu/orrTpGWB/d8kUPmV1TcssPFPExcZEmVZdK57p z7IgGwxhCOJ/zbyq3c3Qp231kkQGzzIE0B6pOI4eID/1nNBw90wKCIKXJBcSVhfR RNteVxZnt+0I3n8hQy3/N7A86AiZmV+d1TIQiWWvrm1veT6tSBiK35NDFScTcBET kqP+zRHjq6n4bzW8xCaWb4Z4nr/ZdubB4XtWJjDo/tBpu4ELd2d0eQy6O9T2cy4B Ky3ucpVFAgMBAAECggEAAMdNr1vrmXCGbDhx3Lk/Qc8k30PHAQOanzi3SBFiijGb TJn54avAlBbHGutnSNoavNAHCttZkEOindZGEEVPJBF6+NNMNMa1dX1Fll2menu/ TouwYx/jbot0MORuUN0NCWuMjJqwHtY0jV0wq9ml1ak1UYlPHMf8YBP/auz8DacT twVzDGwMZ3sOBJNFCkNKo/8DfzUXkT8JfzJ0n0Xkct6OdTtR+uUgkUE9l1vrC4aV TfVdUTNBlI/8/kz+36HJxFWH32t26BFHllMNAHbQ02cTeuGXqSQjtQ48A0whrFmp 5DPbO6btAvxGqvVojACSoS9eH/4vnDQs9rwOmGkQ9QKBgQDqGovDjeS+eXs9+QFH I2h4OKkMhPvxh92CKL/EnhXddxt/0U3wsSi4kTZ1kknTqnpeYpErKUa5UlQPX1Kn GtO4DiNpZ5eRQAFIhkuuIZORBFHeNKadJh944nuAfYJfBT9qVLUhBiaDUeXz3KYR cPW1qUtH+V4T+etmD/kyDGOJ4wKBgQDP7j6Qp8veFbyzeP58td4axzVUyWf2ydCZ 4xRd7T1ajvntk//6CetFC5qocdgEfaCZCuzyVG1/D9n/BQflhb0joVcn/xqwqt4Z YwJGyLpXASdYDIoRDSJwI/MBBXetAqSm2YnAOjjsUsSZ3NUIfmhJZg2r7CMkJwfH tbUCHYgstwKBgQDguEa9mzGe3gI9xQ9C+GxKKymrSOSIP8GUNgWPeajHhJQzJ/nH OGg8c7hxN9ICiz0X6UoswlyPfMYQU5KFsizWG0xG3BgUZ/pTYga3yqdap2jnAmeF ppjDc7TV7KT/DYyIR3PvlXXWzQEODBql12cl0LLhDjEOv/MFcAPn1RifvQKBgH85 E5jowilhfXMGjhd6I6qYxr3Y+b6bXwI5WcXamZamMq+1xYKUvRoi7n8wIO8merQJ Zk8jb1e2ODj8OAesm7yIRE6ZnRgJhBleZg8vVCxV7V/HVFb4hWC97jpqwP3fxyS7 p7gxJ5EZV2eZIdOvnFmEksrlkd7V7sG4IUdpEF/jAoGAIzYZGLLBE4qtIOSL//fx menm90ntOVv/Oa6DBj1BW7GdWJPHKca4P6PgQwWgSjI0G/fjKPQqhw68s6a2tPxD I0IE0LjdSMqDGgOx6r6i1dScIkKSHLgluxEhi3fvlFyDeLSik3hWllics31Qrnrf nJRb+hvtCXYon/w9jrwtRRQ= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/000077500000000000000000000000001516567600500174055ustar00rootroot00000000000000zeroc-ice-3.8.1/certs/configuration/ca1/000077500000000000000000000000001516567600500200515ustar00rootroot00000000000000zeroc-ice-3.8.1/certs/configuration/ca1/ca1.cnf000066400000000000000000000020371516567600500212070ustar00rootroot00000000000000[ ca ] default_ca = CA_default [ CA_default ] dir = configuration/ca1 crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial certificate = $dir/ca1_cert.pem private_key = $dir/ca1_key.pem default_md = sha256 policy = policy_loose default_days = 398 [ policy_loose ] commonName = supplied countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional emailAddress = optional [ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca1 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, cRLSign, keyCertSign zeroc-ice-3.8.1/certs/configuration/ca1/ca1.jks000066400000000000000000000045351516567600500212350ustar00rootroot00000000000000þíþíca1–ü—f²0‚þ0 +*‚꽪Wä`ÙâîJËZî\P!h¯Ö1H-ÔC¤Nx>¦>š/kœv€tœçN¥ËNsÞcFÃÀ©×&GÅJ›`Ôz˜Nî³8P <}}-‡=ÍW=nC¨‡}-›%F榧ÄÆÁX£âi {MúrcîÔi4<¢±<ýå¿kIY†ÔízÖÓfêgm ôÄŠ^I(T“JÙ Ÿ‘6ƒ!¡zŸ^ôÒ5^#l¨¢"·ßT‹„'~vÅËßÿö”Á1ÐàÙ»õŠZYlþvcŠ ̯×4ùâßÁްÝÛžž›ý†'ýæ/?§ûãÉ©é$ø˜â@;”rïÝ]ÐÈŠY&JËbeŠÎVêI_kd@°ÿÌßCª¨ºÀó“«M¹Èû½j«xð¯™댼Â,~¨ &…yãY•ϼ¢©ˆìžTLëÏ?xuc¬`]¿‰½±z>}‘Ñ#6ò+Ã÷@PÜñ3·dogôÓê3-¡VÜ Ýf»—[j• {6'ß½ü}˜wÄŽ¯¸æaU÷²"ÀVʘc¬þJr¾I0rù.ŸÖB%ª¡ùâZÖïDï? x ðâþnãÂh”Ô­¹‹$c‚ÿ¬'õ"l¤l‚v6@¹yzåÕüyá$Dš„ÏMJÿœCmH¬–#’´{Bs®~7‰œþ:CF7µëkÃù²_GÁx7§i’ìJ5÷ýöصUEäP4³éÿ(È.ÐLgƒ¾Ñ'2ßöÅŠgt›X“W¦{.ú¯4ú T–Ít=öÇÑof#4³Ùl`Þ ô¶¢ºYÒdC3=l2• ›9¸í Íñ2Ò«Ä* |x’–‰ºÛ÷¯#מ?""m…›Éž7®VˆÎင© ` #ÿ¡ª@]ô”åÈ› ¢˜Pñ›•yÝäI®·KÙ‹7‰ ÷ ¾ý¤åB6¡´32®\ª(þØ7{Ô73„µþ{nÝâʲ(olbGÊ7“|ðêÀcÊwÖF„e©iÂ{æ¨ñw@°Zµæ/Ö¤j•ÎIÊ(tÖ8ÑÚò¯Çù¼/I BwM“JNâ@a®ÐPæÚÆ?î}v©T›ôüvúê29J¨QXxËb¼DÇ¡æå›xˆÂç¡Æþƒ1¸ÂÔUŽª /ñ&fl›ß“E@ÄsŠˆ¨cs¾¡Ô‚Ýr¯-S!…ªáÃzόПe«âÁo¼CxÇò€;4åÒ¯}À­5Ú¢„Vá0!aªqãN®(!q…ç¡éRÚÚ šì–˜°4`RÞ‡<ÇØ.ˆ[ÛQúŠbääµnç± ySJÅŒ¬¾ñއhv&@­ÇUVû¨–QQ° pZ~LΆYц”Î#T»<»Ç<2jáSìÍRìf,å(X.5090‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}ò.æ'ÆQFaØßiNuÅÛ1!{aH;º £}èûj{éiì{€ 7ÿG,ëc^Öw‚ƒ®àË×W(Ý`ñl¯G=îF…Qìž&=ÜØ:ú‰“æ®®3È ÛÔ_ÉqDyåÓú Ÿ$ýüåó uï7•‡¨ {—ÂN®þ§g=AK'ûnMq1â‚#ÍeӉϿêŽ1ûòþúàÙ_sÌà–­€Ü•íuÍ V†¬F& Z¾zí$^–)SLŒ‚òtó:í@ 5Vt@ñ ¹¶þÈ–ÆvÙNJXs[V\l¿X]u là0`ÕLWα ¯ƒ¯Ú4Tæ£iÄM‚+ú.e„³ I× ÃHsl5LÏž¼J{ i2û¯kù5ŒB'4*Ž˜ìøÄ¸0x¨W§ÔÓœù7 à¤_ë$b—³ªóZMÆÇçý%Q·—d™‹5;jÈò…9ãúÄÔ›Ÿ¯Uro,äÌÒçq(õó á„'‘ ‡¼NŽª ¥ä[£üŸŸéq$y›%±õèwÛÅêí gŽAPXΨmFÝõ52k ÝGõ»6ÁßS€j›Üsöç w¡cá›û!W¾¦á¸–H©@QQ(7#G›–Ýä+sd+$Áçy¨Œ)³ÀÌ"uY–k*z8§‚·sª"ý£ùëZ¼9¨—ª·Ûe2Ìëºï<5Ñ>e¼7ªh?JK&w±&…lFXw_À-œÏ£oE·òpã3sZ¿¢à<šáø=‡ˆ§@·À´÷Lšt„ „~+“M ÆìÙÓipë®Ö¨”èF(K@ƒzÏ~Bù:6s6Tƒ›?}ë!%¦ûÔJì5b 7y ¹uãåúŸGi¦ÙðlT«¶tªmpƘ\Lb¯¿XnþÏ„IÐö±`’ï´Æ¡ÏõŽ=Í™¼¬ _ÉãçfEÒo;mGæ8Ïç‚*Ž™1µ_ ç:0‚X *†H†÷  ‚I‚E0‚A0‚= *†H†÷   ‚î0‚ê0 *†H†÷  0æ¬A‚¸³,‚È‚ža°:{è „ïí`¤1û")^§;j¼n¶š¢TœCN•YTèŨNͲ1Ùú»”;P yƒAgÙ ÏÿMù 7RkfÐÏ$rc5ÐWz …¬zwð¼)*Ö‹õà ‹âBi ‹@kjs’y#:/M?/4êšx1´Rp²#¦S30´Ÿ"°½Æ‰WÊ¿á)(ûhFÇ -k&|ÈTßô¿zÓU:ÓÌšÃ^¦ÿ cªÁW­QÐÒÔ€Ù@Ÿ€¿Fve¤Ó1N,WvãÑVåÝ[¡ÿß{ôFÿ²nœšÌfP%yëÏ€Û!ÝiƦ~Q|¿ºtÝûª¹~(Ò™$•ćv(Ç=fׯÂY6q3ÿ±þ¨zÅpÇŠµt †h÷Œ–÷–ÍBrzÄ&¿ }'˜v‘€h×­g‚ÞUilEuV~gB$a·•¥1ÞkcZµ—ϨOºáÞ“4ß•^ëQ¸Þé³ofשþ€ìOJ ]kèE÷IBÚÁÅçnì]{;¢TRÿLjs¡þúHTM×MrxVw)Nìë &œÄ "^ø˜¤*T× m‡ðû]PdöÒÇ“¶ˆ8–Øæôû¶îqŠ’Ôàî´QÌm¶Ç†‡dH6L~i4vÞž¥ƒÑ²\‘+\4B‹fXMÂ1ð^nêû>›„ŸLæ^sŽdºãŒKN}3Ì\í©ã–ÛOJ´‹ÎbÔk6Oñ^ÁVSûD‚À Mh`‚D™öý&xþé)°åFä.gßg€šüÞ†"$!ƒ‘ÔUöV<0U§+CA´ø9Øj0Î#›kšœI ÍéÈ7ÓJ¾ºžžmÓŒ ÷þΰ%ë%ó©v#Ðê„"vU’L¨’‚‰' d½›k!„9€c”Ö÷•¥ØL? í¬%îÍãÉ¿dŽ%:V¬âÛŒkYÃGØ~ßÓ—®}ß^6b[ †¨ŽmrzK;€ãûuå;ý €棣„ëÊÞZÍÆçª¾„1÷,¨«oMXšà[\1ôcÇMÆo€qìiSÖkía¨€.'}WþW|ÏÊïb‚ ‡GÁ ©NÌ¢²Cê‡ðÓp"ÿL°”S–¤ ¬@bŠ›ª ˆŸ-† #¦šz46ä-.Ž;fóÝG´#acñnI4~°0ÈcëZm‚ÖiYyg€\XÞa±Œ¸’…y i½-2͉&²’ö|‡‚|Áâ0ÒP`àÃ#n0´kº+’óÍÊ wžØ`‘[_75žfšÍ¶—ìÂÂãf-Úäë¹Î%‚Ö%èÈSêÑ! ˆ)HS~ëj–ïÉ{ˆ:ÛÂ@r—ðpoƳ®FS”—&Œ8/ÕSİ´æ÷z»~¯Å[áÉ”¼YE„JÞ´ßð.ÅᡳJ(R_‡¶Ù¿ Cl ÛnkæpIXÆÁ×*%¼{à­‡ Özg{»*=Åj­^7ÂÔ@*‰4¢a“)ygž¿1<0 *†H†÷  1ca10# *†H†÷  1Òw·“=­}^1€4‚@„KC@010!0 +Æú|…,ôpšæZb€ÏÙÙ5ŸK“| ß{ðzeroc-ice-3.8.1/certs/configuration/ca1/ca1_cert.der000066400000000000000000000020271516567600500222270ustar00rootroot000000000000000‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}òTÙ¥Ù&où(ç2º°cŠùfeÃqÿQät™-ö…'>mjµÅ?9îªp&äH´8t¡•i]”ã|¶å±mÀFÐEê’¦6…>Ñôx?9ð™°)f»æ=ŒUÇ¿xw*ñ¹âö¥]l†|žyoÔçm˪¨P»m~âeKÈy8Tò¨4)P z7p¤,ž|ÛÇa!tþÜõ!ÃÏŽ$Ͻeªzî _¢(6Þbîw]J{!MÊL*p50ö÷R?ã䲄—_\ÝKÈË™Ý8!yÞã©â¢W ½—œÛ0? é˳"$ƒCé]è16Þ,©ª‡nR]ª›¿Ü -¥ÈùlÅœ§ÉªjDD‹ ÄãÒ€é¼O6PÜg °È¶°,ðfK¿S%ç =sYU^ˆK—=6„6Ú¾Œ¤ÀÅ/À’[qš‘N¿Y—µp<@Ø ˆ‘lˆîAø»Òóˆ3Wwe¾Í ¸[•¨úAyôcMF¬p¢ÒYº—¯Ý[Ù¾•C…tÉhÚ&Ь÷§ÚŠx;äñ50=éÇÕÁöÓ,âZ´×9u Qž¥ª‘4Mü¸7@‹â™ SÑVळ3äÏ›z³îWÞÑ£fP#¼7õh)$ì‹kй8Ï.×tcš ™¿¯=á=Ÿãû*¼>ü%ÉÃú nE8Ñ)ûßÕa¡Ò6À EõŸŽ{ªv;ƒ—<ÚZ®t98ÖzKÈÇ‹ûùÒÁ«kl«f~$FT=¿f& [å¸àL|­2À°Ý­ ]½äIÈÄ£ Óª˜.°<DÅ]0À[¼8aÅ²ÆÆ”e×â§c‘…Zx%ˆž¶xQ åøÒõ Xé"°÷-Œ‡ôA|ŸfõQX.509*0‚&0‚ 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100145Z 260625100145Z0—10U ca1.client1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚«Ï„Oʇ¦Mâž!ô¥E‹y>ƒ|“† †ÕA'ˆ±wE–*e‰…Å×È¡‡šêŸ¬¬Êp6´‡MÞW6K)Í]²-VÒEaJ¢vgñLÐôåäÓlò¹^Þß{ìŽùCÇ7—¢»Io1ƒÄ,é¿ 5’§ôxð¹ä#_Îx‘ÁkÑòÆÃã\øÜ茘OÿUUcÞ›êYQÇ\¥¿R Ò6a3‘ümŠùÃq&•_ÜÞô{QâÀÄ@íÒ‹FÂ¥º‘ðˆ —©Ó#gtʰv3%þ å¡Î=Ì•¢»Êø¯me亙éRÚ$Š;¦í Ìõˆ9F_?ߣ€0~0U5õëI€ =%g«Cìë=Ε(0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿà0U% 0 +0U0‡‚client0  *†H†÷  ‚$Ý*/V®$ g¢d˜ß`™;¢å~”¡­ÉêNF"Ú[˜ÂÜ[ Ø¡[Ò¨ÃîC:5,0#›IknõÜhÌðòD¼(ÜrËi3x&;ŠÃÛ“í~;UI@ßši«$u9äèd%ë¶I” ÷™±yÔ3¸¨þ}Le†57$MÜ´íJ=IÔS¾(€ å›Ð¯'ìË!'A¾!%^8«y®g˜Ñþ4÷‹[L¼ƒ›žBÖõ§4Ë15\L] giiÿŠvÇN/>+‘ع.‡µùøô}×Z ÌÍFÓog@©×¼ímÅ$ DA7ø™õ”Díc‹C½·›»×~›'Ê”X.5090‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}òwÍèÁPDªþ,F"8­«à~§-›û"sl j›“¼ù£³Aªàs[Š_‡ºi#~ÄSøÃ°üÅ;Í;öFR %.²™ ̸I:䵆ïšZA©±5EÈå»H¯îæŒÙÁ£YŸEñàvèèYí=çõ.,j#Q‡’-BHªÃâ),ÔŠá0{”Nkžø7EY•òé=B˜Þ©±±Ú‹Jm=j‹|᪮…"VÀ“êëö~Ç]@uÒd\åVûš»ÔiÒŽÝ8ÞRʼsŒä 93ȸ¼~Òk>HÚÿ`Õmà+–ûŸ•@ܸ×ÀeÕÅ8—3ag$Š@¾Ç'e›…}|åæ—›Ÿûé Î$¦Ïöæo¥mpÌi\·é“mý«3œ=p7oxÔžJµÒº èð¹“`A¯ùƒ3ï\± ºbu÷£²:‡I惟Kk£Dä¼7tdM§—ÖG[RerV†ü]¯¼y¤úî!UVtê-.¾\ÉñÛ¼=ar𔡭PsßCu¶y¼¯CéóÓ.<8 ]óC*Ê_VJ§­›†yh“M&¼VÛö–à"²\blWó£,æ,­ù<ž–˜dÞD8üƒÃg”E +Âô”ÖôñhñsY{V¡Þ{/Ê2mM¥GYŸ‡\CUtyq…ò†ÔiÆPÀWj¼¤c’õ &µ‹vuœ•3W€B<>Ñ»;ÇG4q¤â׋JGUAy¿ÐÁñ„þ¦,M†Nµ“bŒû¢‹{ØÝÁ«!gì>mÏA_z³:ˆ9&œD‘Y5f¦Y–Ã<>e[ ›ye+¨–b$€› !mJûWÙD4-LÙôæ¾2sÑîqĽˆxi ¡'È02#ê=åh1‡:m.¯Qv ™éyþïᜆmVó ·–vŸ~‚c2¸˜\‰%YèÕí„êiE`…R̨aX`Fod´¼ä‡½¬F$žÈ³‘bvR:m€ÏÙ™w;¤‡ÉÀn¼¸Íõ[Œä—I¼sª}c$$öêYôÑLaͬK {‹8Ê.ìÒ¸^CAéòýÆwqÓá!·L˼túdtä4 { éG‚ÄqÆ÷:U"¤Œ©9÷»ÞkpV{ãÍ–0ã…¿¯Ó‹!1,·@»,»i ¤üÝúÄdr?±Ê—i¦þ߆àWéY“¯"ûw8Cã-Ê}»×:¸§ÃÏÃgyXúï8XLŽRBÑÞVßIuÿ4j¦ÒÓã`¬ÞÛºd ùc(>K°Ç ØÄàÄ„Æîœù ÞF²4°ÀúpÄY­÷‘ÿ\xÑZ;êÜÔ†ˆ'óieÙ‚¨zí'Ëá“'C=¯¦©Ï[Ù4gH¼?—k-/¢féy¶úã‰XjCµ{:—Þ<VÅïŽ#+â²I¸^Ay^v¯V£ˆí¾÷}0—rVñAÆ<1m_í1ò?7Þ¹vèiÍG¥‡sj…qW¡ÿÓRrWÇÓJuìL™#ƒ“øYp"geáOy_‚h˜É`›¶çòBÔ"7¨n­?sqÄ3j…è.­—˜®8Ùór·cܵ Bê?o€“T¸d5´Êæ·^ùó^™Å“þh—»Lx±•b(G(É%×>£Xa±Z5cGÜy®wu:h0b˜é¼*e/j š Ê™†¼c±^ÄðâÛbd›òÕ–Q]°yHõ¡ÿ=Ýë1°Fx%.“}Ò½ùõüÅlnØ@žæFèÁrìó­†!: #½‰ Ô›ËË-Ø_¾š2^wÔƒ…µŸšó áAŠÁK!A\§WdíËÇOñ‹Ð]=@Ï·—Ï\¬'p½*|ÌðcðÞ8¿õ³ %ÜÆµÐhÍH™úoÈ^}£m¹\ŽÖeE‹4‰Ä‘í‘%Y¶Xð¹½DU²òL±áRd€—5²yfÆjDGŽ[(»¸˜‘’ÔIõM,;ä- gÅõU0ÑP=út«wZ9Ù3Ž·Þl˜E$ŠgýÇÁ•0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0Ò(D‰ñÿ/†‚È`lüC3jÀåÑNŸÜéŽÿúx±+ &em9î®H #úEVæb¶ÛðIkM;*sßíÚò4L3¥jÞÑ_ÜCOf„D:v|NcX7a®ð†.µßnÑx(%4Ù<š„$:®þY˜j|+Ð¥|‚±Z ÊÔâ•»Š©ÎAïí;’¬“²h‘( Ur' þ*Z]Ùý2ëvC¿T!f´áLŸ çªI»t‘¸ÙKÅÁHðÆ*Ü»³£>ÞZCoï ÿú@Mæcܬo·â1Ú·Wa³P·A²ì¨êW®òÄs¾Ã#¹–æŒ “¼êÒKn!îô÷oo on[o|‹&³¼„÷“Î –ÙÍeœuÊx~B‡§ZÌ’iž±Ÿ" zæ˜I|3² >e‰ hG;¸¹ËZ‘m²(¢X±©mË窾Uìpç§\Äj´@/³æC¥H?I%,BŠ`? -u2iBn#4b“fPœòNý¤5î¬IUДš6%×—©3σD–|ƒ9ù€q•¤Cû¤Ê—7Ððhi­ fxS Úg ÂJíeY›¯=í® “éDySWÏóßù¶z³«%3 oÞåb™ì´€©‚¦Pµ  72‰ä¾‹q‰8;Ô;…¯:Àîßäµì3.ëƒ!ûÐô·rm³‰sSé¬4™Ú‹™îßìÉŸL‡v¤rÚÃJŠ1gÍÀHfm1§±IAJHÖ8Ǹ>ÖÔ` ~ â÷ý¢ÒNs*£?|ÍQš×†;Ö½àÕ¥-„Þ¬mYðÏ2D÷ŸåÊQ$05ÍÞ’'`¦Ó¯'õU|u÷ýœC†X@:Å%»všYt՛˜;Sž>'g5”ï®áÔðuÖ"üDðþïN@£’C¢]“´]ˆc0Ç`•j^˜)À–á9¨(™4w&[d ]%‚X‚?]<+“j’Ó©¨³q;è¡À­é½ŽÒò^}ñ:!Vƒïìe«Í ÕèÓ=Ö‰¦£êxò8!‹¬Ì#;˜$~3aª- R @lc“ŠåÂÏ~ A<ê˜0VjùÒÆãšYÿ0mêÈýÄÓ‚¨‚ìÀ·l)^r؇âlW„õ.õ£ùEy‹¸¶Çk@‡ëÚ’yrã<‘VP²8$’ŠÈȈ’KŸÛ›UÍÃÈŽåLeƹ2ÚX¾Ó°­¨z¿²¾›[0§æ„èg‰xâÄe{÷墸 Ì»’±OéȨŠDTªÀAYÏræa’àÄÛ&eø¼dÔÓ?Ô¨d¥!F{ú†çÓöG€\ØÏ&}èœI—V”•èO<¿?Š“l¥€Ã«Âo/ÛV`‚ìØMG¹ö•«ˆ(·ñM&o»9v¹qó‰:¯ý‹^iã—Ï-”wx%9`f4 âÀ+¢Þ?÷èn„ÒÈt38ðÜ!I]ÌÛ Ucd‡ßXg5XM-#aßBpXƒ@IEÑ%or X¥¾:á×1öí€0þp óE%…{÷_‹½DSn[,ÃJ½f1ìë Âb¿­Ì¥JŒÝGÄ’ü^ò¬` KG\cÅ癊ÐâEz@0rHò\/瑽ÏGð—1B0 *†H†÷  1 client0# *†H†÷  1~(5g·9Ä(¯Ì¸ŽïªµU3C%010!0 +¦²ø%"68çDÖst³‡Wï+'>}an£zeroc-ice-3.8.1/certs/configuration/ca1/client_cert.pem000066400000000000000000000027351516567600500230560ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEJjCCAw6gAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ1WhcNMjYwNjI1MTAwMTQ1WjCBlzETMBEGA1UEAwwKY2ExLmNsaWVudDELMAkG A1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAM BgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEd MBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCrz4RPyoemAQ9N4p4h9KVFi3k+gwN8k4YMhhnVQScIiLF3 RZYqZYmFxdfIoYea6p+srMpwNrSHTQfeCFc2SynNXRSyLVYO0o9FYUqidmd/8UzQ 9OXk02zyuV7e33vsjvlDx403l6K7SW8xg8Qs6b8gNZKnD/R48LnkI1/OH3iRwWvR EvLGw+Nc+NzojJhP/1VVAmPem+pZUcdcpb9SDdI2YTMVkfxtivnDcSaVX9ze9HtR f+IRwMQPQO0FFNKdi0bCpQS6kfCIIJep0yNndMqwdgczJf4g5aHOgT0IzJWiu8r4 E68ObQdl5LqQmekeUtokijsbpu2gzPWIOUZfEj/fAgMBAAGjgYAwfjAdBgNVHQ4E FgQUNfXrEEmAjQs9JWerQxrs6z3OlSgwHwYDVR0jBBgwFoAUMJ+2glf+XyNpfMgf /QYIWv2tf2cwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQMMAoGCCsGAQUFBwMCMBcG A1UdEQQQMA6HBH8AAAGCBmNsaWVudDANBgkqhkiG9w0BAQsFAAOCAQEAJN0qL1YR riQgZ6JkmN9gmQYbO6LlfpShrcnqThdGItpbmMIDF9xbDdihW9Kow+5DOjUsMCOb SWtu9dxozPDyRLwo3HLLaTN4JjudisMVkNuT7Rh+O1USSUAD35ppqyR1OQfk6GQl 6wS2SZQM95mxedQzuKj+fQhME2WGNRo3FiRN3LTtSj1J1FO+KIAK5Qeb0K8n7Msh J0G+ISVeOByrea5nmNH+NPeLW0y8g5sAnkLW9ac0yzE1XExdoGdpaf+KnXbHTi8+ K5HYuS6Htfn49H3XWgobzM1G029nQH8Qqde87RVtxSQJREE3+Jn1lEQT7WOLQ70V t5u71xR+myfKlA== -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/client_key.pem000066400000000000000000000032541516567600500227060ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCrz4RPyoemAQ9N 4p4h9KVFi3k+gwN8k4YMhhnVQScIiLF3RZYqZYmFxdfIoYea6p+srMpwNrSHTQfe CFc2SynNXRSyLVYO0o9FYUqidmd/8UzQ9OXk02zyuV7e33vsjvlDx403l6K7SW8x g8Qs6b8gNZKnD/R48LnkI1/OH3iRwWvREvLGw+Nc+NzojJhP/1VVAmPem+pZUcdc pb9SDdI2YTMVkfxtivnDcSaVX9ze9HtRf+IRwMQPQO0FFNKdi0bCpQS6kfCIIJep 0yNndMqwdgczJf4g5aHOgT0IzJWiu8r4E68ObQdl5LqQmekeUtokijsbpu2gzPWI OUZfEj/fAgMBAAECggEAGvnDl/WVfm0nK9Q7fjBXwgdn5iE9lbyMl6shzje4ZbYf Sw9MHbmrMdZCOZg8Xt3yFnNbe5U98LUZrvUB9ckvtd9PUGR0NnKSl9LynCHZa/Sv 2hUW2BU8GLtzLQIg28pc/RU3/nUFUhZHFO/6iA9mo1YrVvtXJ/qql9UtWy3aHo7i hSdgwozIRsVHEkvfmmrsWfp+TxpAea7BkYiuXovumXDZxPiziNOedNUdodeWU5br 7O58WebgVdYcxWSz/mWe1nIRMpxiTlKqySF7dWZvSpnS3kGauniKIXZnKlZBuvqX tKy5quCxmAYNaQP/7gfUfXvwJscOmh91929JM07KsQKBgQDbD7AmQAqmoy0mbakg +802HulIr9JEPsEFQicEbPpOBJN6m7tsSyViqI/YCvC2ZBxXaL0kps47/sh6lsZk RJZjNoWAHQ3Y6tuUwJoHRZMAPn1y4LhiReCzx/+KIbbRAE29go/mrWUT+ZNvhqmA svqwXzx1OMG7wCH8bW15aA53UQKBgQDIyCOSP8nfgut3Zc4VzwbK77gt1M6xdE94 PCIocYoPktdIBPH6vWfClyYHBN/fXgpv0Ye3RoTb+tTOrXqPjvDnAx4DcIIKs3/j iAKjsCegFXOjvaPy6+81PLVsT6DSspn4wuxR0fGAo4dOkeeYBB6RZFTo7VOqFo3W biFMQF7YLwKBgQDGmR9yXgcJ8c+iEjMN4xq1YSrPqg6vrlDhyoqC+aWni4CE3KD7 WdlH61eVXr3CLVqAaEVp8Avy2la4xO6Rwpiw06IOdsiyCqIN5tr9krbltsGWn2Kq PX2sn7ntaglKy8Ku96osULDdfhuLNYOAWULrGTw/bbg91b86EZ75PTw4MQKBgQCj 82Gwi6wBentiHNyCzHGkhskji5FYMDywVpIh6kytWN+4LGmXsNAogpoHw0A3uifV lQg4bToSEylwtxHMZhFq4g3BCz71FAwLNMXK+g3xV3L9Mt7Mf0Hue+s9TWxqgHLg QfMNAN0uiNn1G4k8haicWoxHQ3w8+HvLrFQ+WpXX+wKBgQC9CKIBqkudScr325Sk sck+FMi8hZ2Pwpy9pzUM8bSLcn4olsOn29zxZA1g8/Aq4Qb3LOoQqZjDBBvK6+qX aAw51y3ofW9hlnyTD83TqTWaJPyGMjuSQA1lYeOvZl/iMcnKtFS16Pmdn81HLGWu nrrhxzi9kLy4tCOHkdwh5/XMeg== -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/client_password_less.p12000066400000000000000000000052421516567600500246260ustar00rootroot000000000000000‚ ž0‚ d *†H†÷  ‚ U‚ Q0‚ M0‚ç *†H†÷  ‚Ø0‚Ô0‚Í *†H†÷ 0 *†H†÷  0$bûï1|J€‚ e=ž}“|ÆâCE¯À‚ö@)s¢š/¥îþ$vÉ7&B™J|Ò$7•7høÇêŸG3 ·KÓØµ9èž1AÉO|û‹¦Z—KŽqÀ 6N,–"Þ Yÿ '!t„ >Š‘‹Móuô§1€wÖG óäÖCLJœÁûF¦K0jFGbÚÅ® ôçoQÓ1[Iü<éÅÊ^4B¦­€Ï6ÂÀ½&Å5¬­M,JP!=蜚ךõK…Äh²Àõ§ÂÖʽ+–fó,æÞˆ÷d Ÿi;yÉ… -ùéG¨6º-çú"¾_¡¡¾½»SÝ%yTÕz<¶CÿÆTÒÄžjB¨›EM`}ßÀI~‡cmxfÞ>‹Ÿ­\cyT@XÀæÎÁBåŒmu«Hö† yqó6—ÙÚÿ¼n kwMèeííðóÊ[JؾÈ%â<ß{eŒæÑ²wÝ[Ý`˜DW·¯5Æš«.Úb@ãëÝ1ÄÎm²¹ˆªwÙDÞt  )µº³*þÅÍì Ýu?uÌj¢˜¿Áµê|:ÔaÑÅÃ)GÕ ¾úú)ÉTI=-L 8ÊŠ¨± ߊUj@>ºe8¹Ÿ jl3¥ß ¤PTþÇ 3 ²_k—; )íTª:S%#¼©Õss‰:ƒVje4í´D·Ï™ ¡xûÖ˜ÜEAÎ_6ÆkK_‹[ÖÚ¡7¢YA“3œZ¿¾¿ 7¼i„œó7šò˜{|T´­[xI.>‘ÇD·çÚ€·Î¢ÿq::Xƒ9±˜ùz¹ÁNÛ£Uü!Ù k€Šl `¡41Jÿ¹6‹ÅåIž—M‹¹  Tü'ƒƒlºQRÓŽ €bmÞÅï‘]Ñ㽫}æ*œá'‚gçÒ-.¼I­ñ×òú ¼™Bµ]}îûo‘‹uâ[?O‰æ€À˜«S¦è¶hã,ǃ\¯®ŠÃô}n\#biæ!N4üÖTÖÁ¬Ð6°‚NðÜfPº)nä×›·?cF¢ð׊¸b?&?§vÊÄ„¶`öw÷pøý „Ë)x”0 vx/Ù8øÍï2N[XæH#0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0”’—Ÿ­úÙ‚ÈbrÊõE:ç„_˜ç<ð—Ð>験þ›îÍÕnõžõÏÁÕ20MJ;Ê ŸF·Ó¸…Ki¥7ÑÝ©~䙀T– ô²½2ŒÊvÑ“)1S~ð‹ÃB˜€ гî;8õÆGåìüæÞë tøh=îm¨‘Jn™ïà&sDX›h¹»F`gÕðÿ=—BAõ6eÍL[oñ‰ã#óãÉÉ6BÓÇÈÚ»à˜þRu¤ øQr´hÌs!z UÎ ¿J“¤ÌÞ:Á)I;l¿ÒCšjnî28 1’ZhY û?!€®;iy‘Úéþ+ðžžF¡é$w6··!M¤Ô˜«cI5j¢—5ûY1cn`Á·1³¢,nÁY!-®}ø€­nÒCÆÁèEÀ^D×r!,c_ÉÚ+}´ãþ¸º— âO=РÄ7ù¶F_0z‚†¤Òžm¤ïÝÇ“ðfiŽvÁÁëR€] ¯3fŠÀôµwŸ‚¿ápßò¥¿:¶Ṽù‹PX”®î ¶T”‘†¾WôtÌ^ ¸x±<óH#¢Ò–UÉ.í¢è‰þÄý6U¢"%¢PoÝ£svÃÞŽ°ÀÜÊ,4ŠÒå!}ËL~Érß:Ëý¢Òð¤~®`Ĭ„›¬ 7| fve]õ…µ/”ëÅlˆe–$ÉJ1|ÂÂ4oI¶«–v›ÛÉcøŠÄ’b3Ì!'L$Bk›îQÔÄþ± d®E¢aª,!‰”R¢|ÊÊж`jG2gß! Ý »„×,âìÍÖ÷ó›•Uân¬C¦¿ùY2dxá·K2ìÎÑê•V%=Ò©5q)1B0 *†H†÷  1 client0# *†H†÷  1~(5g·9Ä(¯Ì¸ŽïªµU3C%010!0 +A† UU‰¯K7³ Z¡&Sú¾P÷;Nvú÷jzeroc-ice-3.8.1/certs/configuration/ca1/i1/000077500000000000000000000000001516567600500203625ustar00rootroot00000000000000zeroc-ice-3.8.1/certs/configuration/ca1/i1/i1.cnf000066400000000000000000000020431516567600500213620ustar00rootroot00000000000000[ ca ] default_ca = CA_default [ CA_default ] dir = configuration/ca1/i1 crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial certificate = $dir/i1_cert.pem private_key = $dir/i1_key.pem default_md = sha256 policy = policy_loose default_days = 398 [ policy_loose ] commonName = supplied countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional emailAddress = optional [ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca1.i1 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, cRLSign, keyCertSign zeroc-ice-3.8.1/certs/configuration/ca1/i1/i1_cert.pem000066400000000000000000000026541516567600500224220ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEBDCCAuygAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ0WhcNMjYwNjI1MTAwMTQ0WjCBkzEPMA0GA1UEAwwGY2ExLmkxMQswCQYDVQQG EwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwGA1UE CgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJlMR0wGwYJ KoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAJIngUDwVVyC0ZGW5JuCYha27KGcmRYkkYv3kePzYgKTDrJVOjvu HI9ypDEf3BsCPYR59tBgg+CoweP+IXNqXGAvAvU3/ud7/81p9BXwcCHd1qPRmscW 2AxL0APkmpklSfzq7BbzoZOzjFJUczmo7TnZWZU827Iu0MKnhIEZvrF1fZopndVS JW+269g2Oiwfq4vFFMA0dG+j77UyFgcsTgYmWfp6Du5hilb03GyvheJfRThPb4Rk jg9uIOFKCvLhrfrraRdGklX0KpobdLIjbop7iCyrtKhe6VRB7P68LJI//euVns3s j3X+XIDjz4H7wsFPMWcQZgJQ2RJJMQdyWnECAwEAAaNjMGEwHQYDVR0OBBYEFJ5l HYQCLfglK4V3DWUSvCtjiz4cMB8GA1UdIwQYMBaAFDCftoJX/l8jaXzIH/0GCFr9 rX9nMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB CwUAA4IBAQBT3VAjT8Im7nrYhXJ3NdyJR1lhQGBj6DO5Bwl7ZRK8ifx3qXn0OJrx R1VeLdcTaNhFm4S/hzJVO2hgGPSDo3Plpwn6Z3hBBbAjws4dbkZRyyXtKOTmLsJG uKuHH94KxCcQgyqinBi4pjmKxeJWaiU04Dcbfb/IaKNBeMwIa8k1yxiuuOlM+uLF Qkk0Hboj+PrOPxotdSk4HPmlfms/r9uo2GjXharFHiaFpxJ33xl1ALMY+q7e9Vo7 4ysOtCWy0Mfe1BU5Oea5gL9OJwQmfz7pZaPv9sc9ZbCXwaXWM3aGnMKLSFjomDsW fdPF08YKwsRXby+/tP4xhR2ZUj2OE7xr -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/i1/i1_key.pem000066400000000000000000000032501516567600500222460ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCSJ4FA8FVcgtGR luSbgmIWtuyhnJkWJJGL95Hj82ICkw6yVTo77hyPcqQxH9wbAj2EefbQYIPgqMHj /iFzalxgLwL1N/7ne//NafQV8HAh3daj0ZrHFtgMS9AD5JqZJUn86uwW86GTs4xS VHM5qO052VmVPNuyLtDCp4SBGb6xdX2aKZ3VUiVvtuvYNjosH6uLxRTANHRvo++1 MhYHLE4GJln6eg7uYYpW9Nxsr4XiX0U4T2+EZI4PbiDhSgry4a3662kXRpJV9Cqa G3SyI26Ke4gsq7SoXulUQez+vCySP/3rlZ7N7I91/lyA48+B+8LBTzFnEGYCUNkS STEHclpxAgMBAAECggEAMGM+4kKPaFDxVDu6VRf+JJoMTtc7Qb76pvXgibEe7k5E q9sWrBfBweZJIPB03UZJGq6MfeGuV7dXdgXBimYYzklSN+CBlp8Rii79fjP70+KP uO3gyfAwuCVzaY6KdpCHZeJbJqAjivSDTRCjk1/vplrk00lyTRQ9zmxKrLlazoJg 4A+8l1lkmVnp4NntZPUQebqkpfjmsLM0PZmUhNRahirH/D2YMeOjf7varDilS+cO n2atKxoLd4oMoeKDmrx29YM1LUL3k04f9IBsDq5S1V93GTxSXxfzHDFKodxSyznM my/+CAmNCdlgahRqwfagbCigWJeTG1lOXDtQfQZULwKBgQDHHvsW6QBjlf08j8a8 6+vydCBglTgkPr0N9keIEf6KMQ4JOB0uWbTJrV/t/06Vx4HQzXO48wlHpvcZx+r7 QvNu9ZEGZVNLf3ycI6hdj/bnVkMZEYQ6YK9hpEc8peInoIA10BuljWXk9q2b3sQt Z42ux5hr2Wh3/+AiRDfRMKakMwKBgQC750FrsmT0Q1QYmZgsfyXlVur3Ql6tHBKd L7sIxrkqxl9k8MKEW3Qe4zOxwImMaAAGOxgRa2pn6kLXLIrVjXdU7N53812sJioG XUpfapbW1hZ11bVoV1y5n5ALHiX0B8yz/y0mgVWx7n6dzGfjxQ0DKLmRYh6+wExj v5C5ziNCywKBgDl11z9lPZd/UPSJCPC7o/rzR+SXKvxKnoPI7ht2Fd4LCeHfL4yQ lnscbPJhGmxehjebEins+GCU7fmil0yqpVT/yDnwQ3kl8O+d2pglUzquye4R//ZY sEOdBHGb7QdCab0dsNy1URIhnTe9sR7pIxmsv29f7aWzURqSVQko4O3BAoGBALYx J6y+H8b71Xm4y+UxL9Rsb41pzBT7qEzC8A41aWtBR1O/YkwlxLUCRahvcK80U/m2 qMKTLWwup7qtVLx126P7vEYAMe5uXscnA6r61eDfWo3MtoXCV4UgYvF0vQYd3e0V WnkAZNAO2LQ2cvFVqiVLAosl4XvBRxBcuX5/ko77AoGBAKmx3oZEr3Tzqkp+Bdlz l7RQci+CG9dAuKFR3lemj99S3PmavTt4nGKiBozLvPl1okRIeBeHW+OKLDGWA7bP S34BTJXaVh22irMkyBGNC6YM8PFKipeyrteid0M8ZRkgsddnfFw2mxSreh0rUpyg khOgtooCMr5s6GaDg8kX9Wpr -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/i1/i2/000077500000000000000000000000001516567600500206745ustar00rootroot00000000000000zeroc-ice-3.8.1/certs/configuration/ca1/i1/i2/i2.cnf000066400000000000000000000020511516567600500216740ustar00rootroot00000000000000[ ca ] default_ca = CA_default [ CA_default ] dir = configuration/ca1/i1/i2 crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial certificate = $dir/i2_cert.pem private_key = $dir/i2_key.pem default_md = sha256 policy = policy_loose default_days = 398 [ policy_loose ] commonName = supplied countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional emailAddress = optional [ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca1.i1.i2 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, cRLSign, keyCertSign zeroc-ice-3.8.1/certs/configuration/ca1/i1/i2/i2_cert.pem000066400000000000000000000026641516567600500227360ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIECjCCAvKgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZMxDzANBgNVBAMMBmNh MS5pMTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1 cGl0ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0 cnVjdHVyZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIz MTAwMTQ0WhcNMjYwNjI1MTAwMTQ0WjCBljESMBAGA1UEAwwJY2ExLmkxLmkyMQsw CQYDVQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEO MAwGA1UECgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJl MR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZIhvcNAQEB BQADggEPADCCAQoCggEBALdcOFw+PuTCaCDB3Zlw9RP86hoDDeM+K9K2c7jqDBQj VMRWJFN25ZsioX7X6DI0wD8ur86pHmCxQFkEojF8ZKdJ7HaH2I7b2TN1ZK8QZwmO Gj8CzWp+g9TYAkBsI5xKnigZRuV1XSiHoL8Zyr+zYVZSkIjbKfdqrsi4NLpME9aJ M8+ail8zr4vE8rFnL5uwDkHuPfaF0j3kOstIZEdcMp8STiDXc6lrwJJrK4DM9NXC GaKqvqXwR9eiTY19RCvmvzVsdOR/GzGYgRPLsnEz/fy6qOqDDF72HCeYH1nynfvq 9X0g/MiYvV4IYgXZUwO+kOcgPdEUmbAu4B/wyeVRha8CAwEAAaNjMGEwHQYDVR0O BBYEFHXrpTrtApSEu474vhqXwN69AOjFMB8GA1UdIwQYMBaAFJ5lHYQCLfglK4V3 DWUSvCtjiz4cMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqG SIb3DQEBCwUAA4IBAQBBQq1uQua8KaE2PcGYaBI6nqrLwL4TrwH2Oez/slAzgKrb BN8PbIvuVpNQ9H+svS8rBhqEx4DqPn2KYc+i9N/M98ZHrk/yJXCtJPOUhaZ4W7bd zlBFsTPNyNDVkWlfhvGUtuPg37HruxKB8yPLwH3VNZsNqen2e7MRoiYs8X7eRDEC g/7y3rpB4oH6twdV10WrwM1tl+BR4DiQYjzIC0DxDFG1iS9D2JQMTZNRcrNch849 1MujzMjOb6duW0w3RHSvqZAhaW0jbpmu7luku7C8KOa8JdKmDdF1NCNtjfwsgdUT SYK14ZGDXIrsbB8xpn6B+iHi+CtXER3fUPNwg8AT -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/i1/i2/i2_key.pem000066400000000000000000000032501516567600500225610ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC3XDhcPj7kwmgg wd2ZcPUT/OoaAw3jPivStnO46gwUI1TEViRTduWbIqF+1+gyNMA/Lq/OqR5gsUBZ BKIxfGSnSex2h9iO29kzdWSvEGcJjho/As1qfoPU2AJAbCOcSp4oGUbldV0oh6C/ Gcq/s2FWUpCI2yn3aq7IuDS6TBPWiTPPmopfM6+LxPKxZy+bsA5B7j32hdI95DrL SGRHXDKfEk4g13Opa8CSayuAzPTVwhmiqr6l8EfXok2NfUQr5r81bHTkfxsxmIET y7JxM/38uqjqgwxe9hwnmB9Z8p376vV9IPzImL1eCGIF2VMDvpDnID3RFJmwLuAf 8MnlUYWvAgMBAAECggEATquYGOeyB2dr0sYrBFclJ7bHYHK4BixaFBWpEAkHNqq0 B2soOdFVERsqLCiJnOTqKRGoZ6RC/tx+DdOBnXbQHsCGXpLJdP3ZsoznLn98nepk 020p4ku21174lFhxbPDM68pwkymoVyfd7bAsv9RAao+RKM7Tsi6JIGB8awQSLOTD 9HSqFbpIIctqeHR2eMO+F7wHud0fk8P016iH0KUBcYYjI2ALc3SPw9QIUJPHAeNp khgJEQDc/Wl2/WnfqAdYgPYUqQlP+XR4TfFDKTl9Y10JyD0BH8bNGGrtRS0frDQq dGKaNQaPLKCr+aMv8oMeZ7I27CznuQf+SXkQHJb1cQKBgQD9JkCjJWOqwXyqJR4s bCg7gbG11DgsVgEPHxisvf8EGeNvW8FfF5L1jX5swNPdFO2fCjmgEN6PjQw7eTLN ltCN9vyRuBtoBmCfnrkG7IUHWaBnMSmKzZYE8iHocJXKME6ce57+GUl/yz8PIXuP 74YjfIgU9e6USiRigxPF4FqYfwKBgQC5bMnCND3vv9bZpRKE6BZDAL+jlHfoBb6l ybMAZsYTj+OYGhr3ZkKAWeI29AyGc4RMJlKeVqHkOfB6O95d7cIdFYj8ppoEJRLI YoIznCFZYkxzvZzGUjlP28eHMCLUYANByhWuCsToVkRN2ZlSXsLw/mk/m9fZA/1u ou2d3hH60QKBgGaoqZO/qOBpYLXbIZZgMhyXpsqXCkSoh/tq3+XFkvJF0V6qdgur ErSzsa5GsGQ6hXZ2fhH0ZV0PlQNVTg3jeCXqIFizsaGI3Iw+oMg3CGeHqC3Q2Qjq AEl3K9sINSZuWqLI2xwugwjpEmR/bo1bVCl16fWeGidWvdSZVV5scjDfAoGATVbh xF3T45bpfzgJxGOlPWcnh4wagy06Op4pSiaTwX8Hl95zlvMRE8Xpw7ABNWcjLDvj w+UweyfrdKBZ/GV5zHW6AF9g6A+qiOgFlI8vnb+RUckphdKv0u5Bh9J9BIXTdfJb Ho+hV6L7tFjpSWD7AFetAHn5CqxOXYIZh/ojF7ECgYBe3p3sDSbVj1xD/vuh5ZFB HqDakDDSYuqWiqy58fzZ+vy44veODZv16QKraPic6BHW2kpL/hwWPDLrLsqOa5ns sH0PMJQzR4RJhRwTooo15uv9LqIozb9JnH5c4tCXKFoKnMc6N3O0gJS3Vu/lEuau qxttajjYs6ZXkW+DmXUJxw== -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/i1/i2/index.txt000066400000000000000000000002141516567600500225410ustar00rootroot00000000000000V 260625100150Z 1000 unknown /CN=ca1.i1.i2.server/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com zeroc-ice-3.8.1/certs/configuration/ca1/i1/i2/server.cnf000066400000000000000000000011211516567600500226650ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca1.i1.i2.server emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = server zeroc-ice-3.8.1/certs/configuration/ca1/i1/i2/server.jks000066400000000000000000000106521516567600500227170ustar00rootroot00000000000000þíþíserver–ü—ƒÏ0‚ý0 +*‚é¦ÐÀHÿ®ºœ>ê>O\sôàâL¡B1‰aÝ}öX‹Ï[!»IMsÔ"ßÅü®aË ›p9øqÿ«^Ê—*pnrLèVòovõðÃ{»"Μáxðº)i*”˯¯zAóÚ¹rðbàCÍ_™ÔŠ8b‚üWÊŽ<–8û»býz J‘u_*%ÜJuµSóì+±´•¦GvŒÁGA­~ fµŸK=h¤ùš½3AÝž1Õxf~ÎùUÉVÕa$Íçì€Ñã} Äüû:X•AÊi?Hí“93Òyy•A šöæîÖ_ŒÛi½z”ílç6šŽ6¼X{ìQŠsªMYÚ°mºQºJ|‹9‹aæ½”lû~z4ô¢p‡NÖ"©µÃÉeØþ´/Àtœï'Ľ%˜1™c1¼p;INÑu˜d¾`!±•f~‡×odÆ|þdåùÒ¤QsÀ Ì!ý_²vøSü(?ƒFzò JÈM t¡˜±¾iK«¦ÿ)OÚ“Raª Ó¿XvÞìpœ$*½ØŠ"0VúÀd³w}^ÑÞ•qþ,Ã…?¦³ hScOÕ/A¿*>·Š{‚2‹iˆÊÊûiG"%\hâŸú37máË,ÛS÷@êf–¯o³¤>½ÏUÐîâkE@§-øuTŸYPI–M™Ï?²—ìE8˜*…^W¼b9ú7Û íþ;0ø bä†oœ §Qã׋z—˜Iíí‰E¤N“K-û€y÷ѹ‚C¬p¸(@9½KꈃYŠ. œE:v(ÉZ¢·À½ýë *š^þÒu‰q<ÊQ-~óþý°ý›‚] _¥ù;µ¢]=#:X:p¢ÄÄÄ>WV>/I«‡K ûHWºf%äîß‹ 5Bý¦OΞ£ÊÉ84×ùû€I¿Ød¥r‰ÓÅ Ñ©¾²ô@´ÃQÎCt'W¨p-"aŒ´YÃSD‚hȲÁXPØHÑCäŸR0$?lóUCa‹¥vfbªT3 Ö,Ožìν€AßÅŠ¥¹ó@“qP—Ì™ˆ›£êmo¢Œ] Ï ' ›¼²–ÎÈ$˜ŸE°s'9swy³­Q–ÝGÃí£?ƒCy9kvû%d0wÚ³¬;?Â~ÊcÉà‹µO½³h€Œ¥gî_þy ˜Ý,R½ =,‰ªÆ¿ªBM²d)ÿ¹Õ$¶ø9`óü…çœæ)žÌ–Š4ÄÍr{|HW°[/\õŠ„-êÁÈ\m#Ú•²_¢òN)þÿ©¹ã£háv1µÝ, ÞÃâÎíâΛYÞÑ-$]´–¿Tý]E4S´Ñ••×þÃ+ИGD1RbDZš¹w14z^ÿN\„í·7iqà Hò'ÚÐW`s¶,Ú ø U;`žXÎ'[Žôÿ,Á+úĺßÞºYQš¤ŠÏ÷sþ’žƒëÀÚtÒwW—1Þ‚Žï»kd5´Á!´…ÐÃmÊ\ Ѿð Â=I{œ0òÈ8|fNÀ‘s[D*eë:n|P6ž‡òꀛg^öšX—¤ôaƒÓþC“ÿ3ðBõ›YB€›`^õ] ²˜¡ÕjéRw+‚Ñ\G ÐNV–¬Fö¨:SÿeOƈaÇàÓ"™çX.50960‚20‚ 0  *†H†÷  0–10U ca1.i1.i21 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0 250523100150Z 260625100150Z010U ca1.i1.i2.server1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ÁhOB”8„;£ÇÓýG|:Ø[,<M¨±§KÕ¯È öóž\1L\ ¥´ŠNêËþá*^õÙ`œ!†£f#ˆÿ+F“;¸Ð-m·bÂþ¦€ŽÚAV3GˆþwF¤×Dzþ¸pM'ûâ=rHc«WÁŒGœ/ºÊF?Ýè{š¥âÛ! i÷—ùÀ‰YZržª§¨ «ƒfØ³ÕÆ‰rûɈïKÐò†“_4Óû¥yÂ.CUѬ*_'˜öÎx—EˆFš–Ù*]J/dÃËx¶…®Ã¥3b«ñeCA‘Ž{N„ÅWÁΖ1¾„?³œóg©ZBM7½£€0~0U@º1“@ÃH«r×:÷û²^0°¡±0U#0€uë¥:프»Žø¾—ÀÞ½èÅ0Uÿà0U% 0 +0U0‡‚server0  *†H†÷  ‚€žê<ô4¸Ü‡†¸Â f?‚o1Á—({1¯n÷Eõ÷¦ó¯+“ º·Å;½„iâ¹õ¢0¾…ö2Öf P3mä\œœëvgÞ©`lìž#¿œD¾F¿j.Gxî|Òä¢f.@Œ©Aꘘ“«khl6ÑG ¯~ÁOÙ¡þbðN91KsTùú±p(íŸ'áÄPí›Îæ¡ÎÛ/j–Íí!óžÛ°2>d”¤Ù‡H蓈ÀY—”´*JŒKØwÝ¢ðK·A+›‹7Çéˆ÷‰ÒEà¸&ùù÷Ø+Ô-D!ÊöR׊ÈXi‚d{¥ •Ædƹm†X¡S.9K„»IloX.5090‚ 0‚ò 0  *†H†÷  0“10 U ca1.i11 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0 250523100144Z 260625100144Z0–10U ca1.i1.i21 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚·\8\>>äÂh ÁÝ™põüê ã>+Ò¶s¸ê #TÄV$Svå›"¡~×è24À?.¯Î©`±@Y¢1|d§Iìv‡ØŽÛÙ3ud¯g Ž?Íj~ƒÔØ@l#œJž(Fåu](‡ ¿Ê¿³aVRˆÛ)÷j®È¸4ºLÖ‰3ÏšŠ_3¯‹Äò±g/›°Aî=ö…Ò=ä:ËHdG\2ŸN ×s©kÀ’k+€ÌôÕ¢ª¾¥ðG×¢M}D+æ¿5ltä1˜˲q3ýüº¨êƒ ^ö'˜Yòûêõ} üȘ½^bÙS¾ç =Ñ™°.àðÉåQ…¯£c0a0Uuë¥:프»Žø¾—ÀÞ½èÅ0U#0€že„-ø%+…w e¼+c‹>0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚AB­nBæ¼)¡6=Á˜h:žªËÀ¾¯ö9ìÿ²P3€ªÛßl‹îV“Pô¬½/+„Ç€ê>}ŠaÏ¢ôßÌ÷ÆG®Oò%p­$ó”…¦x[¶ÝÎPE±3ÍÈÐÕ‘i_†ñ”¶ãàß±ë»ó#ËÀ}Õ5› ©éö{³¢&,ñ~ÞD1ƒþòÞºAâú·U×E«ÀÍm—àQà8b<È @ñ Qµ‰/CØ” M“Qr³\‡Î=ÔË£ÌÈÎo§n[L7Dt¯©!im#n™®î[¤»°¼(æ¼%Ò¦ Ñu4#mü,ÕI‚µá‘ƒ\Šìl1¦~ú!âø+WßPópƒÀX.5090‚0‚ì 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100144Z 260625100144Z0“10 U ca1.i11 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚’'@ðU\‚Ñ‘–䛂b¶ì¡œ™$‘‹÷‘ãób“²U:;îr¤1Ü=„yöÐ`ƒà¨Áãþ!sj\`/õ7þç{ÿÍiôðp!Ý֣њÇØ KÐäš™%Iüêìó¡“³ŒRTs9¨í9ÙY•<Û².Ч„¾±u}š)ÕR%o¶ëØ6:,«‹ÅÀ4to£ïµ2,N&YúzîaŠVôÜl¯…â_E8Oo„dŽn áJ òá­úëiF’Uô*št²#nŠ{ˆ,«´¨^éTAìþ¼,’?ý땞Íìuþ\€ãÏûÂÁO1gfPÙI1rZq£c0a0Uže„-ø%+…w e¼+c‹>0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚SÝP#OÂ&îzØ…rw5܉GYa@`cè3¹ {e¼‰üw©yô8šñGU^-×hØE›„¿‡2U;h`ôƒ£så§ úgxA°#ÂÎnFQË%í(äæ.ÂF¸«‡Þ Ä'ƒ*¢œ¸¦9ŠÅâVj%4à7}¿Èh£AxÌkÉ5Ë®¸éLúâÅBI4º#øúÎ?-u)8ù¥~k?¯Û¨Øh×…ªÅ&…§wßu³ú®ÞõZ;ã+´%²ÐÇÞÔ99æ¹€¿N'&>ée£ïöÇ=e°—Á¥Ö3v†œÂ‹HXè˜;}ÓÅÓÆ ÂÄWo/¿´þ1…™R=޼k@IR !}â=w¬Z¥‰p¶k~Åzeroc-ice-3.8.1/certs/configuration/ca1/i1/i2/server.p12000066400000000000000000000135321516567600500225320ustar00rootroot000000000000000‚V0‚ *†H†÷  ‚ ‚ 0‚0‚Ÿ *†H†÷  ‚0‚Œ0‚… *†H†÷ 0 *†H†÷  0]X±xvÌ€‚X±D,W]ã¢dùÆÏ;*ùæƒu%¹´ÐQ¬˜IHH0î[5ѹ1¯š|_è]\ýqCæ5Œ¬Òƒå\3ž8ð|E;¹hN™ÉtêѨºKPî9Ü|]ðŒhd‡žÐÕê{Ä‹ï"¡Pr8_»úB?£mË$kÅ•DΛ¹2YöÃ}DçoG¢Bî·TClãöÆï9…þ¶< ¼’T¯"³áQŠÏòƒ!7¾h2e¯â(Y ´h žàn©ç©Æ‹í9ÖK}UÑ-½kš ,Öán¡KÉÓ±·wäb°š…F»9Õ.ì§äÈ–Õv¤©‚0îs ·Ô;µö½¹|­È±½ì~åæIÆ¥94'l2w4¾L4ï Ùr9L£±ä® ,ß•ó.hžÔz†«Š%å¢~I~”W…1R’PÈ…Äìï‡A˜DÝ jº¸0©ŽXA>vžÁØ!4ÏHå;p&yƒ 6©E´l¼„/tsRêÔ°zù8_×hº¨'þÁéL?Üɨ´ò¨, Û\é(0r#Z!;œóœ2Îõl‰1QJÕÞJMö,ÎÜÕ¯•F[ŒÐow²C»Ã^„ÛGHè¤ÞÏsìç’€Ë?‚ZbVr\FòÚÏÆ5¼§ÕçBUY–Óa¦=X•GüÖIì»6¤ÒÁ8ú‚?šiËOÏÔ0£R–„€§r“*i^"‰šXf‰P«æâà ’z5¢æ©¸8², gÓææz—G£ ‡B‰9@ƒÉ ­ïÞbܰ"Õÿm)Ê~ kèù˸ނg~ (×ÂjïH •ådž› ¨v°q°³¼gâþBE0›~xMÉ%å'÷8=â—@\8šP©ÊlhíÇkd½÷”WÏxR£Δ)¼ÇÔ L¡¤™“µÝTØ ëABÄQøÎ=}î0øÚìO¹OÎ#‚ðV7S•ÓŒÄ ÍÃ&¼F»ŠFf6)^už„®VøÜ«}Ë$¥¯ÑÆLëó=ú´1•Yù¡ Ž>=lë¾NJáXL†Já!Rtû¶yÏöÛük»ð?eyñŠìºÇâícYãIg-CN½±¶ßBæ"fohØÄN*üm#Áæ3–‘y½aÛè©ÌJá©ßpì!Ëþ §çŽ8²Že⌠ǭÃáÃ& bmTºÄ¥™É@ì€6УÕt€+o>ICEšˆ×ø©ÝO®àÛÌîÅn”Æ\àèGXç"Cäü¹rwa=ÅÜWG¼[HÃ2<Ô½Yç÷îß·G?hÅÚ†ô»3ûîRñj{²Ê;6ŸK©bɘ8³t4ƈlc„×ÖñzÿsVc^HmÒUS§§Øž×œ(yy2²ÎáÏî›øO›¦ô[šë´ìCÀ´qž¡(8+GÏäžE`²ģÿ·©*è£#kßèÛ¥l7ñ+à刚‘ih(á¼X¥6†Ï%V³H~#ܯ9¤Ú2o³Y;äW8þþI `âL±°dqú ¡MšsgÅÎCe >ýp8U–¥”²VOi´ýKå’ùŠšbÒ ¾—¯sc6Û O\ñay] ïNR"áM/´P[ƒÍh§?8øÔaÍÞ*6.Ë–¿N×óc‘(FyÔ‹¿ÞÅmb™¥8>D°oÞ^‹}rFÓ˜C‘š¶Îƒ‘µ=´Ú˜¤ ¤y‰i9qmü°ß?Ÿ'ÓN^fQ ú’Ô€‹ÔŽGîÃS ª°9iåg5ëõœÔI¿æØ‚êÈtÇ­D…äI3£lz”øŽ•بPQÜIB¨@J¡L“_h´|=uâþ@WΗ2:‘¾Ò„1lÁ„îÉ ´¨ý„Ó„éÈúÎüÂo˯(t{dÔ=Oäb9l‘lɲ5FÞ‘‚Ê›ZdÅݯ|ŒÍ¦Ø ²¿8%BÁ‹õ-0¶]Š~“ €"zÃD™«9«1PÏl²Y}”T¶q'!áªkK6¡Ðµ$>¾ 20¾•@_!•i+„FÛpoÞzG½T” kÊ/šG ­0¶Àvx…•W[äåÔ˜R¦]º¦R¦]bŒkèn‘ƒAÏ¿þµi«Ñ·|PóÝ*§‘¤³OÍŃÁ¿âÉöI©ØP‚ k¨ú‰Í`>†°ýÕ>j™¢Êy½ÿØ5Ï ÜÔ‡ðŸJ=7 jÕˆQŠÍ’7äéRÆYϯ‹Ea  è3@¸:g¹ësݺ’Ð öEÖQ‡a-¨ÚÙ>ÑÍSõœão4/Áðö3Äuê‰XÌ5pu²ª_9jÊ$GèVC¥æåRä©’XÉ„oË*ðKóý.ÕæB0™‡òVd«…ÒFÊþ ®,rá .p^hMp7In]µf÷Ö ¶x,<ô¦uŒD&øT/E[7ßµ'q%ÿ÷~0“Á^%7ŪÄåµ e6K sóÁh4°ÀšX¼Œæ+ÿy§#ÆÜ¶EûŽA¡g%îÜtK.#™}çÂy±}XuUð¬[÷¼±¨Œù“Ö·±ƒ#ÚÕçºÉ4(ñª»ÌBw¿Ž Ò„_2µ3òD_Íì TÁŽñÁt_ê”t-wê Ó°ÈâLS`>eý†Å¼yË’®·µv"Ãù ×•YÞ6$+ y<Š1í™ûBgÓ@&¥töÌ-ò/óïâ$˱6›.NÝ!‡Æ|`Ïüþúiã{pökkhZ×›bNƒ±¿üV[óû]tkf°L‘œxp…¥"Ð,áU­8ÍÊ%<÷.0ðÕ÷ÌåARÒçðÛ2aŠœ Ã– ´˜§LÈT 9hžÞ‹1:L9ˆž…¨UéB rF/D™×²TÊe߃{Ú=²uˆô!_ËÃ#ÉQmc^+Vg_Ø·=¾ ogœÒò Ž!ð­!µè:@Û-ïé—8¦#z cJܶ`ÑèüzÅÖìµ <8×Ñ<ÈÍÅ·vï ªô¶¤¹˜ðJQyÃnøø_•4"F©Y6É܉~Ãsº$­Ýõ w~ÿ dO/gúÇIÇ?Ÿ8 þG*$Bí·huStÆ^XÕGNÏx] Ãm.¤c$Ù­ÏúÄ´û=­ŽÌþkG}véž-=ã*ï2ôˆ~¨DjÍn¸0]ÛùÚš†‘œx)l'Q<Ø:½àÙyÙÏ·Ã3wþQ•Þê' ¢÷‰vÆŽßãþ`›8ÝaÜ6aÍWØ‚1iú†¡³±£} e_þÙ]o+ÞõÎóomëà!÷èS½+ú%6H*+`Vn!k'ȇõCžCo/pÚPPʘÚml܈ ÌX$ãH¼^º#¨æ3d÷j©’…úŽZ}yš©÷´2…%F‘åªHOcÙRACˆÞ\r}É!…1u 7Ùò­¥ö(hÝ©ží Á-¾‹>Ã5†ºÿÙµ©®r~dÍ ¾Ìj©)úú¢KOñ˜E6ieÁáýö¥x ¸Þ[žƒ«Œ ÇRGqòq6ûsTÔÒø9å*e¦(ˆh1•È„ ¾§˜„md½XÚÐÖ$€™„§öÔË£úÚÈÁϦŒ`?­E¾z§!b_Ù|JºxÑ/É›àCEÇWXŒŒÃÆ©j„ø5þ 1ZyKàlÒTÖ0Â"#z 7LJ©Dˆ6Qr”8ù½Ë¿Â«Äü]¬k¹;! 훺!Ì6¤|.ÏáL¾ 4~NЯÖˆŸ²U]¼†O4~)Na‰Uüìî|¶I&&ÿbÄJö V 4×VQ.ãLìÔ…àéé˜9´0­¬“ü/ö(“Iî>h!”ã%Wäu§RÁ¥sÊ&¬¯³R&—a«Š~@¯­éyr•€ïü©} p2ç¡EdÉ0O[>Bó^Ý*‹ˆØ€QÓË+ƒ¼9b$â•ËaØ!z5Œ38ùßõh&8ÒcL_Jï¼ÝdßA5¦'½xúЦ`búqf,Ÿ·uÏÆ„%Ì)i]×Ô (&— ˹m j}^­ÍRÄ9À0íI†±MØs¤Æ&ЋÍLóé ‡Ú¶B\¸Ñj\ÔnŸB‡.#^þ†aŸб¹ü]&Yî§·Š`Vëé‚Õæú¿×f¬†L¾µ‹g¡‘Ì…8š’/r4jÄŠ]’h˜ˆ¡É¥~iø½h!ùvÅ7„œ(Ū,Ö7ˆÎÙãÁˆ¡H3púFÂj‹Â-ƒv‘!¦û—>j}Y>ÌR‰ëWgêÔ+0öüŒ]æÓ ‰éîŒõ°ÐÜÏ»-$| 0‰åü€ÀSŒ¿nß9S²ÉÉ=«å Ú0¹aÔêÆˆžBðå‰Ü³Å‘a'Èó0­m  f¥ 1+KùŠâ)âÅ¥¼Á&S?áàϾD˜æ¸9ìE·å{]DíGmÀ;ë•ÅÓâ‘Ìsçqì`=›„o¦Šq.Ý’³ë–f€€s6ï`üSŒÍìß[3£5% õjˆJÓ*#ˆÏ*Ku¹/”OÊŽ¸Ý Gó'É£Éú¨…ªÊ¶wyôsR Ã󢹦öžÇ-#9—O¼äqê­“\¬Ç§Ï8åê–OgÈsØ d®:ëxYBs&t ¦&S]#·ut#¾ŸÊ¸®î»KLØýÉëxü•  c­ªÀÉ]¬xq8“ˆ!Ï·©y°”Ÿu}„%¢ 5…i2)ßáfëßxbº$àÖÁ‰6è´£ó­êC¿Î¬‘s9Þ)ˆk0¹Ö ‹Ëþœ1BØo;Ã9ò0E¿b˜iE'Ìêû¡9/ñRÜU »W{†t¸ ‰vª"7DÐVQ„ëÆð‡µàLI,Vñ 0ç‘ñF§¦‰;?ª=6æuþPÊÁÈÈÂ’aA¥§Ü¯ãƼÛ@ýÊÑ@…+ÙmôÞ–ü&1£\tì´“@º¬¶þ•Ó@J€£±‚§l0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0Ÿúè*¸…´ê‚ÈÂÙ·WPw—£?ÊíÅ{†*(¯´óBfÈã’ǨŠdU @Y·åšl¦ø&HLŸg©÷aº†?¿;w+ ÷=´+ |ªO«Õw<ð.ê‘Øq‰»<ã¥!eQËám3"Ê™@ £e¯¡<=W&N—Š?I÷ÐeôX:DÈèèä=Žžé9jÈQÃ{¤‹^,ZnYjp–cðq°|ô~×ýo×,SN½éc×g‘ié–ìca§ÄM›š³rti+uF>œÕ§®¢Ì¡°’iÖáC¸9=Ίñ¢˜vI”çú—$ðu‘¦­ÉíÕF]¢ U¯k[Ä5p+'‹|Y#MøÐ ™Ö†T'HÄðémB[θ2Rµª}>”eŽMfª\г€ NÃÛqsc·­ÈHÞm~„¹í¦ ¾¡£úó-uòøæà®Ï¼&¢aïÀžÇ»¸GÑ$Ìë¯R?õª²Uªιð#Ó{€Ý<ÄùZjéX—|oXßîwc#¥![2‚®ÕOœ`V€ùØœ8Èõ­¡Ë‹Ùÿý2k°´«’’p0bQ…èã¾âtÞ²¼Ïù‡Éo‘ [$Mј€´yížöÇw ‚¼Ä#¹k¡ d‹esÔ .ó0î›ÑÌïi]°jÐNc“ ïè§‹Äð×ñFàÜ æ¬3:@ƒþxoÓüU:Žý%7Ÿæ"﵃Aò(1ÒT S¤"éu-ý/ßÕ h5˜ô–®Ùê¯=Aã×âòfH =TJÛm^SÚ‡&IT¥uU}!vÿ˜”£q í}êA`5 <©[yú~øåƒÃ×ý¬féæ©KJ™ÞºXà¾Ë7>ÍÄ+{r‚Qá_‚Ý~˜Æª‡(ª-¨[D-p¦)P&G”°¾ApIìšO¼àÃdÑžö³`ögÄ®µzLCº{<ˆZ½ß }è´¿ä¼JŽ'@mnô ;ä»@T4±¾ß/–þ¹Êº‡X'n±Í0YÂ\)NkÍSg¾å̱Iz2l}Þ)W®Ö”8Ù¼cê±eRb¥1*Šzæá0¿²èbƒ«™iÿGÕRÔm +£1Õòm(YvÒišùyŽ3·•!ˆ8¬&üøK‰2gŸAÓûÜÊÌÒìÇ7À %É1ÓQ©]{¼ˆå¸rY©®z ÙSû˜kNàrð•ÛýÞ»X‚Ȫÿ0—oÅrîûüU$Ë$BÏh?O¦ÉQ2´¸ßTÍøaß|H¿ X£Ì~apéëw&zùÍSÅ¡rÇ2×~˜ yƒBàtRW%¡ÖûÔN  .A.‡îiFÃ~ÊÁN¿_”XK³Ü3°L«J1B0 *†H†÷  1 server0# *†H†÷  1¿^·ŸÐñ2iɘ”/gÑþ7Ô010!0 +˜_nC®9ެò抎MÓ*uÏ%7½1&•zeroc-ice-3.8.1/certs/configuration/ca1/i1/i2/server_cert.pem000066400000000000000000000105151516567600500237240ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEMjCCAxqgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZYxEjAQBgNVBAMMCWNh MS5pMS5pMjELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcM B0p1cGl0ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZy YXN0cnVjdHVyZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUw NTIzMTAwMTUwWhcNMjYwNjI1MTAwMTUwWjCBnTEZMBcGA1UEAwwQY2ExLmkxLmky LnNlcnZlcjELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcM B0p1cGl0ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZy YXN0cnVjdHVyZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBaE9ClDiEO6PH0/1HfDrYWyw8Ak2o sadL1a8YyA3288UAHb5cMYFMXAyltIpOEOrLF/4b4Y8qXvXZYJwhAIajZp0jiP8r RpM7A7jQLW23YsL+pgKAjtpBVp0zR4j+d0akCIHXRHr+uHBNJ/viPXJIY3+rV8GM R5wvuspGP93oe5ql4tshDGn3l/kfwImQWVpynqoYHKeoIKuDZtiz1caJcvvJiO9L 0PKGk1800/ulD3nCLkNV0awqXyeYj/bOeJdFiEaaH5bZKhZdHxkQEUovZMPLeLaF rhHDpTNiq/FlQ0GRjntOhMVXwc4FljG+hD+znPNnf6kVWkIdTQADGze9AgMBAAGj gYAwfjAdBgNVHQ4EFgQUQLoxk0DDSKsfctc69/uyXjCwobEwHwYDVR0jBBgwFoAU deulOu0ClIS7jvi+GpfA3r0A6MUwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQMMAoG CCsGAQUFBwMBMBcGA1UdEQQQMA6HBH8AAAGCBnNlcnZlcjANBgkqhkiG9w0BAQsF AAOCAQEAH4Ce6g489DS43IeGHLjCC2Y/gm8xwZcfKHsxr273RfX3pvOvK5MJurfF O70RhGniuRz1ojADvoX2MtZmoFAzbeRcnJzrdmfeqWBs7J4jv5xEvkYev2ouR3ju fNLkomYXLkCMqUHqmJiTBKtraGw20UcMr37BT9mh/ghiBvBOOTEZS3NU+fqxcCjt nyfhxAFQ7ZvO5qERztsvapbN7QUh8x9/ntuwMj5klKTZh0jok4jAWZeUtCpKjEvY G3fdovBLt0Erm52LN8fpiPcfidJF4Lgm+fn32CvULRhEkCEXyvYVUtcFishYaYJk e6UNlcZkxrlthlihUy45S4Sdu0lsbw== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIECjCCAvKgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZMxDzANBgNVBAMMBmNh MS5pMTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1 cGl0ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0 cnVjdHVyZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIz MTAwMTQ0WhcNMjYwNjI1MTAwMTQ0WjCBljESMBAGA1UEAwwJY2ExLmkxLmkyMQsw CQYDVQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEO MAwGA1UECgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJl MR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZIhvcNAQEB BQADggEPADCCAQoCggEBALdcOFw+PuTCaCDB3Zlw9RP86hoDDeM+K9K2c7jqDBQj VMRWJFN25ZsioX7X6DI0wD8ur86pHmCxQFkEojF8ZKdJ7HaH2I7b2TN1ZK8QZwmO Gj8CzWp+g9TYAkBsI5xKnigZRuV1XSiHoL8Zyr+zYVZSkIjbKfdqrsi4NLpME9aJ M8+ail8zr4vE8rFnL5uwDkHuPfaF0j3kOstIZEdcMp8STiDXc6lrwJJrK4DM9NXC GaKqvqXwR9eiTY19RCvmvzVsdOR/GzGYgRPLsnEz/fy6qOqDDF72HCeYH1nynfvq 9X0g/MiYvV4IYgXZUwO+kOcgPdEUmbAu4B/wyeVRha8CAwEAAaNjMGEwHQYDVR0O BBYEFHXrpTrtApSEu474vhqXwN69AOjFMB8GA1UdIwQYMBaAFJ5lHYQCLfglK4V3 DWUSvCtjiz4cMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqG SIb3DQEBCwUAA4IBAQBBQq1uQua8KaE2PcGYaBI6nqrLwL4TrwH2Oez/slAzgKrb BN8PbIvuVpNQ9H+svS8rBhqEx4DqPn2KYc+i9N/M98ZHrk/yJXCtJPOUhaZ4W7bd zlBFsTPNyNDVkWlfhvGUtuPg37HruxKB8yPLwH3VNZsNqen2e7MRoiYs8X7eRDEC g/7y3rpB4oH6twdV10WrwM1tl+BR4DiQYjzIC0DxDFG1iS9D2JQMTZNRcrNch849 1MujzMjOb6duW0w3RHSvqZAhaW0jbpmu7luku7C8KOa8JdKmDdF1NCNtjfwsgdUT SYK14ZGDXIrsbB8xpn6B+iHi+CtXER3fUPNwg8AT -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEBDCCAuygAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ0WhcNMjYwNjI1MTAwMTQ0WjCBkzEPMA0GA1UEAwwGY2ExLmkxMQswCQYDVQQG EwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwGA1UE CgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJlMR0wGwYJ KoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAJIngUDwVVyC0ZGW5JuCYha27KGcmRYkkYv3kePzYgKTDrJVOjvu HI9ypDEf3BsCPYR59tBgg+CoweP+IXNqXGAvAvU3/ud7/81p9BXwcCHd1qPRmscW 2AxL0APkmpklSfzq7BbzoZOzjFJUczmo7TnZWZU827Iu0MKnhIEZvrF1fZopndVS JW+269g2Oiwfq4vFFMA0dG+j77UyFgcsTgYmWfp6Du5hilb03GyvheJfRThPb4Rk jg9uIOFKCvLhrfrraRdGklX0KpobdLIjbop7iCyrtKhe6VRB7P68LJI//euVns3s j3X+XIDjz4H7wsFPMWcQZgJQ2RJJMQdyWnECAwEAAaNjMGEwHQYDVR0OBBYEFJ5l HYQCLfglK4V3DWUSvCtjiz4cMB8GA1UdIwQYMBaAFDCftoJX/l8jaXzIH/0GCFr9 rX9nMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB CwUAA4IBAQBT3VAjT8Im7nrYhXJ3NdyJR1lhQGBj6DO5Bwl7ZRK8ifx3qXn0OJrx R1VeLdcTaNhFm4S/hzJVO2hgGPSDo3Plpwn6Z3hBBbAjws4dbkZRyyXtKOTmLsJG uKuHH94KxCcQgyqinBi4pjmKxeJWaiU04Dcbfb/IaKNBeMwIa8k1yxiuuOlM+uLF Qkk0Hboj+PrOPxotdSk4HPmlfms/r9uo2GjXharFHiaFpxJ33xl1ALMY+q7e9Vo7 4ysOtCWy0Mfe1BU5Oea5gL9OJwQmfz7pZaPv9sc9ZbCXwaXWM3aGnMKLSFjomDsW fdPF08YKwsRXby+/tP4xhR2ZUj2OE7xr -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/i1/i2/server_key.pem000066400000000000000000000032501516567600500235550ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDBaE9ClDiEO6PH 0/1HfDrYWyw8Ak2osadL1a8YyA3288UAHb5cMYFMXAyltIpOEOrLF/4b4Y8qXvXZ YJwhAIajZp0jiP8rRpM7A7jQLW23YsL+pgKAjtpBVp0zR4j+d0akCIHXRHr+uHBN J/viPXJIY3+rV8GMR5wvuspGP93oe5ql4tshDGn3l/kfwImQWVpynqoYHKeoIKuD Ztiz1caJcvvJiO9L0PKGk1800/ulD3nCLkNV0awqXyeYj/bOeJdFiEaaH5bZKhZd HxkQEUovZMPLeLaFrhHDpTNiq/FlQ0GRjntOhMVXwc4FljG+hD+znPNnf6kVWkId TQADGze9AgMBAAECggEAHtobMqgJmpvCP5aDI7Z0ffOP9dlO4Wcdec0SIRDgnBE8 zreamIL+eNuCL6NsyzvgSG+BBe+QR+uyqhoYLceIsrjOvk6/QvxUxig3gLXjzPTV 3YtGgOgeIX1wltqFcZo99t1d4PoNPg7Wkz2al6IXqzvRWi17NCZu4B+a3rlCFoXs VEWQ3oXFftw4D/iS0ApOyPNkb/t0kTOXwJXtiGZ6XgWfyUGEVxkMvYWi1nVtGBbP LUzlHkFElLUbUCYw6dHOeMLow4p+2pCP4LFIqllkWadZODCufXHwQFrT2ZqlLYBt IPhj8K2yowdKQfuzNnT1FB53slkLySwBanx9UIQgfQKBgQD5vJoFV+Z1i6KBunVD aiWokEfWQy5gpFkNXpD5ZwlQw8tUHGP4n+zTgMC3bfNF7s9sKwfsXMB7E+JVeJmj YNrhIt46NjTuFMYLsBpSlpe+7xTdBSK8RyWc0li4yZ/ohr/0eV9O+rSgVFnzyIu1 gi5A+WydUotBVGh3T/hJZGLpAwKBgQDGQg3Zey5L4BweHjD/AZ1e48vA82/FGdS0 Dkg74x5kgR1e8YGFCvMzhWSue+55fBIEsM19L52hndAaJPQWfKAlGUByFXXtEcC3 Q+5NqZMsYKauEKACy6K05YjgUxDpuciDAZHTvxXLpiJ/PILtFhtZzWwuENKXzx6j iWFrR7agPwKBgQC3jcjCzqWDldsecJaJszX0m/9A22X2ADW33t69gN7W7uG+c5OD BMCDf+mlqHma1/i6rzIGpvGORMIhQh/idmjJ+t/Nd1QV/UzHAGuIckkcPAtgm8q5 Ca36gpxVTVRsCsaBgMfte9VQ1k67IJaXFRS8CterFiVmIg0aTLvX7aHJUwKBgDK8 BpVH+4H5ONjQOxOW0zHMM4EOCuUyhgcJvJxus4FetShtvwpP0gq2MRyhpFY8VNQU dpF5lOod23pFSJ1UiRrVSnOnYEUpjNqZLKt9IKdzmFPk9z2f5ORL9OoK98IIA/La fPnl5Wr2+c77qjmHtboWYn+rWGj23M1Ww7JTaL27AoGAeGmbcZsqJw1lwIvsb70a zybyPfjuqSY350ZftO4x3uMhHdJVfURDCbCLOEngtNj8pRrRIsIN3MVuR5M76Bdt eJk6sONxOrYDesxNVmRkjbPepM9OkquVRrOblam0JAhlOt9BCS6EqktjRRDN0dPP dDyq8lhANHu6fEvD5X2pu0s= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/i1/index.txt000066400000000000000000000004161516567600500222330ustar00rootroot00000000000000V 260625100144Z 1000 unknown /CN=ca1.i1.i2/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100149Z 1001 unknown /CN=ca1.i1.server/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com zeroc-ice-3.8.1/certs/configuration/ca1/i1/server.cnf000066400000000000000000000011161516567600500223570ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca1.i1.server emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = server zeroc-ice-3.8.1/certs/configuration/ca1/i1/server.jks000066400000000000000000000066121516567600500224060ustar00rootroot00000000000000þíþíserver–ü—‚0‚ü0 +*‚è Nú°‡H“¦EñK¼" €ó߃ Cå\b͵±BþeǶ[üx¸&¥r®ÛR{•ªO&«ƒ´ø½ æÓ,ä_àL«^Ô§êó¸+%â‘GÚ|Îûª‰ÏUž¬(G†Ë¶ó ’ýûKÔF¼}íV¤gQI˜Ú Ç“ØUð A›x¶§¼’W&'û˜•·è=GðX²AͰ‰Ý8jôÍ— ã> ÿLÁR•sHV¦õ@:\¢ÏJz¬VŸ^Û,0‘s6©ú2óÞ¬¡T†ªŽÐÆ©6¶ñÆÑ*? »D€nïìØ[¾¾hCÉ>Å8+ßÎOÉ8&†l 0¨­ô’eRp4ÈyÉX>ƒ®‚ˆ¦W¯Ó:k쩪%óÙÐÜh8Þ2wcýYHW Tà6Pô¦cSêô÷=?Ë\óòmAÝ.£ÖnÎ:þ…Ûé>g7!ÁùŸì™^Ë TNáÑíNê6 âwURü£f/fHÂ[ÙP €›ÖaŒfkv$%¦ë^Ãd_4G±nsÔvñUncx CêÄ÷ìOÚAIâaTaep+:Œ…æÂ2WÊígF  4¡r“«–g±<гpa·ÄÃÇnÓÕ0! w³z¡Aç㟠úßÎÅö x(ìKs¡Ì†ŸlŒË­ÜþVlŽ)mú=²ˆ'$ÐØ3Ò¹Œ…Ÿ·eÉ…¦sewy_%Ù EìJí=áÑFåe-c±šèÇßäo rt$E‡,e©[Ü^<¢ûÂxÎfkö2ê ZÞî¾*smuW…éfé¼ jnôDäY ¶MS[³ò÷Í"eG‰Â· >ñÍY-b¤æ”mëËp²M’o,·}*®Z¹îœv9VAÀ £öä`¶YÚa‰ *‰w(%éH5Ï¡š˜#îOß•dº…ŒÖ7˜¹Ú²ˆK]Çô£²­á–°åÂõrÊAêžÆÿ°Zªf¤c¾ÝRÆøÁ6Óƒg;x]g™! °Áæ·ÏP€~¨œÒs¸?¯îOÙ}§DLT\–½æº_ÇVþæü~sdµâÃë"1gw[8Çá:jŒ6Ï¢ô×=“,¨)Q.@ã:þíY¿ø&´dÛD“™–Þ«w9XµÔOus¦©æ×iépÔ‰`Ìóxo03M•¹¿TÒ½ŠKv*¼,‡X‚Z,Óµeê÷þp@*Q²Þ5~p·dtÈ[Õœ<=xKnW~Å6SÓµúe¬òåÜœùHúÙq[ª†|Î%ID/2lÕP¶\°Ú^åäHìƒì®Áx?Ì­^…EO·SÒÊ”½y§æ¤‚2¦Ï˵ܯåÏ$ÃÜæ>ì>Y‘ä—8pð¯)†à¿­õ³±ÏڧѲ• DPÕÝØ1Õç¤i†Xõ«¶±z=NW~îÀ<ÞÁŠ*ĨsLgë÷žîÉs¥þê¥vÙB-ðÖq'ò•l×~tô“aaY/ü¿c oP}½®¼ìæ2ý¹tEDI°¶h†ÂØ4àZ×7¬äìr a™ÝNP“d(Ï··€.ÇþÅÛBÇ°à’—0Uÿà0U% 0 +0U0‡‚server0  *†H†÷  ‚˜”~P—<–Z0¬DYöJ­´¯œ¸¡÷°ò$Á‹ç‰¯» É„ Þ¨Æ¦þ=¯õFés› å býÒYED `ƒó¨" uc~_í¬QhBIPœEWR¢\þ_yñ•|uËû™¿²ñQ*Ô² "5 í ºÇÑ6îûô ¸t¿ö\°:¬ œv\êFˆ²-]}íNÚ†Ü6UºÁÛY«=‘KÍ¿=~‰BǸÙX^d‰ £óŒØlÃÇ:¢µrÝœêY•¹,Ó"TØ„¤À©½Ïõ÷ìCÆþ1fXÔ)Æ "|óUý¨=Xê*ØoEéåp¶î¯TH» èÖÍ?˜X.5090‚0‚ì 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100144Z 260625100144Z0“10 U ca1.i11 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚’'@ðU\‚Ñ‘–䛂b¶ì¡œ™$‘‹÷‘ãób“²U:;îr¤1Ü=„yöÐ`ƒà¨Áãþ!sj\`/õ7þç{ÿÍiôðp!Ý֣њÇØ KÐäš™%Iüêìó¡“³ŒRTs9¨í9ÙY•<Û².Ч„¾±u}š)ÕR%o¶ëØ6:,«‹ÅÀ4to£ïµ2,N&YúzîaŠVôÜl¯…â_E8Oo„dŽn áJ òá­úëiF’Uô*št²#nŠ{ˆ,«´¨^éTAìþ¼,’?ý땞Íìuþ\€ãÏûÂÁO1gfPÙI1rZq£c0a0Uže„-ø%+…w e¼+c‹>0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚SÝP#OÂ&îzØ…rw5܉GYa@`cè3¹ {e¼‰üw©yô8šñGU^-×hØE›„¿‡2U;h`ôƒ£så§ úgxA°#ÂÎnFQË%í(äæ.ÂF¸«‡Þ Ä'ƒ*¢œ¸¦9ŠÅâVj%4à7}¿Èh£AxÌkÉ5Ë®¸éLúâÅBI4º#øúÎ?-u)8ù¥~k?¯Û¨Øh×…ªÅ&…§wßu³ú®ÞõZ;ã+´%²ÐÇÞÔ99æ¹€¿N'&>ée£ïöÇ=e°—Á¥Ö3v†œÂ‹HXè˜;}ÓÅÓÆ ÂÄWo/¿´þ1…™R=޼k²4ÃÊRT†K/¾QWîµtSzeroc-ice-3.8.1/certs/configuration/ca1/i1/server.p12000066400000000000000000000114221516567600500222140ustar00rootroot000000000000000‚0‚Ô *†H†÷  ‚Å‚Á0‚½0‚ W *†H†÷  ‚ H0‚ D0‚ = *†H†÷ 0 *†H†÷  0¼1Õ¾4瀂 =J6šyõ"¸ç1ñ°¼ú?@.-Þ—€¦’× Em çßÐU;IGŠ‹cõcõ×{a,ªRȶªú: ­ûbW½y«uQIÁ¦ÉÍQã2²Å]¿›Ð»ré×$6äãXÈš”º¥„úë¡ÿ†RAéøM‘ƒÁ±È0ç ÊÓ`¼$ÊI¼‘š Ýô’þàæŽþß9øÖ c½ËÛÛh}t$SÌî¼½-«-@ª-#pÉH@Ž_¨¤ xn«è{/„7§/Ûbø!¯3l‘ÁÕÕ§H´_GË›ª‰'£‘;š•N9D~ûJ";Áµ¼?Yx°¥IÆÿ_FÓj5wÅéÆïà`Ç¡À>ñŠIõžŠów”Y}x`ºæ¯FÕ’¼¦¤ûTm6—hoã0rp:ýÌÑ#¿ŽWäýÙùÄz!ÃÀøÏõEJö“'E½£t3<&®öì.º"Ⱥ»ÌOt NÝ=ê*6f¢ò^º¤¥a_‘xoz7ÊÌh*Öû5Z0½ø„²ÍŒØ4üOx;‚œ38¾@z Lq5^ë¹öy!ï/ãOüWLQ½~°¬±°•<ðÇ´ܾ+Š2y¾ü‚MUl/ÅÞq\å³ÞµsUZãŸîA"ÔÔ‡ »…Àé÷N-K‰‹.¿:æ€Ð€0±ÍªoZT+d·Of."&>$˲"ÐÀ4¢áòP6XTÕÛí¿ÄÇÏq„–;IÃû³Q àj,rŒ,D&©kNŸ›[p½ÖÚ”öä#;Žc&>n¦ Ï3ªÏIÞñËøiÃÙ·Xï_O'ÉÃøÊx¨¾{õx°ð%±‘’ä-`{-[Œ½z%–à¶/Þˆ¶}K¥«ôG@ib€Ü rfÅuñ³ÂÉ»@Lœ÷¯‚'Ðx¢—×[§p•—#AzŒp±fÊÙNHzý{Nú "»Šn-“bH kˆòïF*§Ò¨ïT‰›AyHïWº2lÎj .¾Àþ„—»¿«é;±]Ý6ž›§ ÙéGšÐ2š‰RxJùù]õBÃjë®eò¥rÛ²zxO-RÇ®¥(ÏÙSÛ$0+¬½¢Sò0ìl“Òô3?¤ê“×~21ÎàÉ ˜$ç)Õ!YÅÍ×Ïð«s øþˆÊâm¾'–ë°ñqæY]Ö쓆 ¥#Œ<¥géföaB›µ¤S¨ÂtŠ0ÿ 33­)Aµ§Ö?ÚÛ–y¦°~êr™ã; ­Úky;-g:Ì<–jr~šÑ{6AL«yŒQÊ[‘vŠ"…—7¸² "oû£ßüPµ(%_-£|×Ü}“f.¥”ô1à#pI”OwßQ¿é“ÿƒ™ÒGÝò™FO)î~>^üÎ|Ò¿ùÚÒ¢€LU€ZíHªÃmï"+»u’8yƒjp|¬Ú•!”%”Ö)›kô*WÇ=ºÅGý%îš#J+^˜ž²4ý|Ÿ·ª?ß±D EÏuf„ÃSŽhž3ªÿ¦·'ÿ»©¯Lwo`b¼¬DËRÒôdÎ/½;vX2V'ø£P‡gCjö”ÏûZqBq7²ßyAøE§ Ó$N)±?MŠÕ=mÕvÇ@K@jBÇ¿†ìî1¡Ì3<#;¢¾½yèÛËQ”†Dlnï­JáÛkˆ8¹AÜ„žÄÏsªµ[5jåÆ ¯d¸Õ9!µ÷"LÇÑîîð¥§nm1ÿ‚F]Ñ„ž=ãì•×v+“¥—HÜ„ÈR~4ªc,Ÿ»% h”"8LÖëa^x¬*ãÁÏFÆ{æ) rÚ‡*Phû^ô¡ä}‰‘‚ç,ÇÞp÷® [zR¬ýŽ ó´à³Jg³<>o#ì°hID(êê¼ÿ¤HuŽ%T€ýJŠ!ƒÉ&ÂqŸÁö*eJ§J}Wô›VIÌñÚœÔA·Ÿ£ñ¹ Œ’Ô6Á ¾› Ÿ‚Êmÿ¼˜tNí 'ÝA°©ÎGT˜¯ Œ:Y¥~WpcQíRçCI³Ýß—œ´›ØZ6H†ÐSÀ âÊÍ¿g"«Ñ"6€:põYåR\¼öŠ-?÷»šKïN ½ú=¯y«ÛøÊÞQ—wùЄÙÁ{ -‹ŠÑ:áx¡‘*ßÁlól‹.¥`r¶ä’ɘÉf«-¾V/\ü(M%‹J‡Æ¨3¶ tƒƒœ{)íºüÌê`8[ÁÚ kx«¶Iµ¥¡àZ7{÷Eà3ÏÌœƒÿU kÎZ‹3¤I5´m:ZóéÅ'Â#°Å‹#úL7 Ù+´¦Œq·“ ¼¹>ø×™8º9³jÔ)$h7UÈίú¯{ï:EULp™+UÈ18£êE€¦0Ê÷j°¬KäGötÑ"¦EW¤>ÃÚMônFÒ:átN¾Š«„IØ%¦5ݳA D €wø‹„;›ñµ‚ò€I$_™¨{ÿ<,¶q_(î§?p¡Õùú]žÛˆÝÝX+©9 [Ò R d‡™ kgiú@¬"LÃBŽÄÇž£odH.C“ ùŒ¾Îô gÓO·Áç_IëååjÚ¦¤~dóüx»zo`º/üf§—dé„¿\tÎ:Ú.= Ðä=Ï™›)þÛ9f.ÔuYšiÓ»4;_ ú°q&™ÞòHzfÛ«a3`½¹™nÇêE%ƽ·‡t…/òNÔî”YeU  À‰ŸEU\ƒU»ïÃëѦ?(`° Aú|} ^w¼àV'r^×™È:£›„˜Zõ‘Á…k€ÂÊ3òÆk|²}õS´ÑYç± D\"þsᜱ—?{N)ó\œO £/êZ5”fS®-Íc–9Õ,Ûø³ßÂHÃL3ÇDh<0ëó"EHr¶®áÑÛ§:ÁùO!3q/Ä]Û5풇̧‚DF†÷³-ý*.Ã#ËæÖ9pðôMr6ÙØLÑå>)í¾¨œ¿ ÆQÂk¦òUIçTœFç4Þ©.§,]ºŒ`4¼ój¸†Ðä>v.×Õèâl;ÖÌ\G‹*LŽøâ‘¥U£7^çÃd¨ç†r#®Ú‚|‰É?Ìx¥±×:<¡`™éeb-¦´&À¿íRÿìjƒ²›}b ÞuÑ’ì%°7(½{(ç>‘A‰Þÿ]«‘d¾õ×Nº€ÇúÈî*‘\ ÔMˆÓ[PiNÌ™Lr¤… ”(ˆ Ç‹R–@¥9Éx“›$Õ”hœ9­·ZNf]8 Úœ×ÍOôÍ,¶Ä*ƒ«Ó?#@2C‚q£¥#+\ÅÞ»[ï"3n¼'@0 Ýíw”xK´ÑÊÓ‰ú«Ã«…KAÓæû’‡ žã¬AädÕ¤ýÎt¤ºâŠû©’¬6[’o FåùS™þÁv]ü`0±é˜çû#)À`ë“«@ük,·tt²6²¡¾þ_l€C*úÁûzþ>»69ª©FÄÉíõW~GÝ2êãÉ)y.eå~¥½³1¢ ª‹~Ô¸’(]T:Ä=¯Øjèø=4é—Î$¬ÑÆO|¢0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0Û16LËÛ´œ‚È!¤È[E’ ‹tÂ%§Ü)ª Bž³¡“KQÛ¢ÿ'Èí^r浬HJðµC`Îv'œéde†Oô]ñ_ö™Ä]ñÃÓšÖX³‘tQÝÅsÖÂ$mħfmÊ×%(¯Õ p1*Úmqá±Ä´TBgõÌæ‡ïó×ÌUNNfZ‡ûYŠ ‘Šl%·ßiÃ9ôÔ&“$ Êoåþ=½–ˆYrÐ].Ž[©ŸU!ÖÃÓq,_sraÅdÅzà—Š5Ù«]¡ë6Ÿ°Å˜Bü¤oÁ×ùÊduJ Ôówýi£mµô‡ŽAAwÄB…=³ÅTd7ù¯OƒïJ›HH*Kt<\¡Ù €¤#ƒ3ò% áÿm=5§Ö¶Ô>“&ÞúsN”D|I)(ȹÐs£Ká$(ÒpJ•¹O;é{N³b|ÎGÏ2«ŽsTˆÀÆÁ’Ô‹–Ô\AþÓ"ÃeBLAaõ­Ê¾â ÝUÅ›ªÀ?ÉRv0ò wÌ Z¥:Øl]ÆâbµÌÊä’t÷ºÊ-¸€t2 /v·NÄv+éjñ,ÀQMÒõ1¢²nÖ#Ë7šL‘ßB’$l®»(v»åФ|Øk><¢&))£&—ì—?彬¡ÓøöÔaXçõôpwû4½qcß’› ,À™Õ±#w,è9¾ùž-•¥‰õ80ªÖ€€gN9IŠñ,‰4Í=4JÖte<‚ž¢¶>9Œ¦½®¿À¡Æ,¯º|wGÁ›E…êú‰tÞ"ŒJ…ö}h#F68q¯ÓM4çn¥{ÅQ¶ *1„`ŠŠUªtɾê'îH²¾þb5Ü+- =Ÿx½Œ›­;ÉÇ!,3‡GK6áhɧow–ø=àÜ¥®ÍÕu ç‰OM€×ØU¹ÓYö¹ÑaÖé z)«iÆ;XQÕÛ•ÎXZ0âÜr^UUîþlJ÷¢f\¦qãj/• MðwbÚüÏ,Ú·Jžê«¸œÃ*™ë2Ÿ“Ã:«¦´Ž©éE£VU†ÊѲZ²ºžR©‡‹G\¤8Úõw›„ýVo™EŠÑаŸ`÷(”\ˆ·YR"2ð±¯ê íŽ,™*:´ÎÂ(2±9O rìßxž¢žAö·mÿ/c’HµËµœ?„lÁ¨2Bå…BÜ ž,KÏüÛxõ¬¼©I¼|Y`9£V*ˆ›¿®êÏÿà£?©_Wi|tRˆ4—™á%ÅÔc7Ñ»9߸SMüDžc"5©67ÔS1c¥ªË°A×"#Jõ,ÈŒ:‚>á„Êíbtyf(ÌdW°ç]5Ièª_'ÅSÜåVÿÇ|;D¼ ’ïZ[Õ S«ÀωÔ7X“æ"öÎýÂA lÏwº¢¨4µwÃщZ5_ôq£hÌ'³üü8X0‡—½âîsĆ£ÐÍÌ,·eøY¿2þ, v× !åqþ}›¼CiWxfþA–µ¬úÏþØoˆÄûµ{ù@†£Û÷·ÜaˆÄv+·l ‡”Ø3´#˜òT±¯LN0ÂuNYlþBìZ¥G¯zH0”“F£Ï}Ï̤æB²h×È©ÉZé1B0 *†H†÷  1 server0# *†H†÷  1.Ïèyà@³:ŽS{ö¼O/5žÝœ010!0 +­-îˆ=è§š(iÎÂ#tJ 8Ьoâ=æ.zeroc-ice-3.8.1/certs/configuration/ca1/i1/server_cert.pem000066400000000000000000000056211516567600500234140ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIELDCCAxSgAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwgZMxDzANBgNVBAMMBmNh MS5pMTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1 cGl0ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0 cnVjdHVyZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIz MTAwMTQ5WhcNMjYwNjI1MTAwMTQ5WjCBmjEWMBQGA1UEAwwNY2ExLmkxLnNlcnZl cjELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0 ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVj dHVyZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQDRuOgeHjk6t1XmKN6eOw95KVmHLs4PbgREp/6w /D+RIw/IT6IILzMP7a4M56Z/uUBm9nhCCp46S5K4J4ZpRZ9XjpkyM23V2KsxAtQ8 5PW1ogt1N48ppKUeXRsOwjfer9qGvfisfs8/RowyHXm9oybFM9tdFOMBIiDSqXZn Y9KbbSm9Ib3odG7ckF97pb1F7cOlZkwMih8LrhI4f22antDKemuZkkAqHH3L442Z sQgWE5WnoROth8/45FUEh5Ypws2qyqzbhowwl6JYuq2gd8JpzKbPn6qdO4/Bm8c0 Yn7K1+GNZwNQv7qlCye5SAi4B59QyzAiAqI3LZDPP+BFzidFAgMBAAGjgYAwfjAd BgNVHQ4EFgQULq4ERBN30BAapQbbtuNgrVGvWG0wHwYDVR0jBBgwFoAUnmUdhAIt +CUrhXcNZRK8K2OLPhwwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQMMAoGCCsGAQUF BwMBMBcGA1UdEQQQMA6HBH8AAAGCBnNlcnZlcjANBgkqhkiG9w0BAQsFAAOCAQEA FZiUflCXPJZaMKxEnVn2Sq20r5wUuKH3sPIkwYvnia+7CsmEoN6oxqb+Pa/1Rulz wpsK5Q1i/dJZRUQLYH+D86giC3VjCH5f7axRaEJJUJxFV1KiXP5fefGVfHUZjcv7 mb+y8VEq1LIKIg41oO0JusfRNu6Q+/QJDLh0vwX2XLA6gawNnHZc6kYViLItXX3t TtqG3DZVusHbWas9kUvNGb89folCxxi42VheZIkJo/OME9gHbMPHOqK1ct2c6lmV uSwS0yJU2IR/pMCpvZDP9ffsQ8b+MWZY1CnGCyIHD3zzVf2onT1Y6iofEtgBb0Xp 5XC27q9USLsJ6NbNP5iQkA== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEBDCCAuygAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ0WhcNMjYwNjI1MTAwMTQ0WjCBkzEPMA0GA1UEAwwGY2ExLmkxMQswCQYDVQQG EwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwGA1UE CgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJlMR0wGwYJ KoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAJIngUDwVVyC0ZGW5JuCYha27KGcmRYkkYv3kePzYgKTDrJVOjvu HI9ypDEf3BsCPYR59tBgg+CoweP+IXNqXGAvAvU3/ud7/81p9BXwcCHd1qPRmscW 2AxL0APkmpklSfzq7BbzoZOzjFJUczmo7TnZWZU827Iu0MKnhIEZvrF1fZopndVS JW+269g2Oiwfq4vFFMA0dG+j77UyFgcsTgYmWfp6Du5hilb03GyvheJfRThPb4Rk jg9uIOFKCvLhrfrraRdGklX0KpobdLIjbop7iCyrtKhe6VRB7P68LJI//euVns3s j3X+XIDjz4H7wsFPMWcQZgJQ2RJJMQdyWnECAwEAAaNjMGEwHQYDVR0OBBYEFJ5l HYQCLfglK4V3DWUSvCtjiz4cMB8GA1UdIwQYMBaAFDCftoJX/l8jaXzIH/0GCFr9 rX9nMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB CwUAA4IBAQBT3VAjT8Im7nrYhXJ3NdyJR1lhQGBj6DO5Bwl7ZRK8ifx3qXn0OJrx R1VeLdcTaNhFm4S/hzJVO2hgGPSDo3Plpwn6Z3hBBbAjws4dbkZRyyXtKOTmLsJG uKuHH94KxCcQgyqinBi4pjmKxeJWaiU04Dcbfb/IaKNBeMwIa8k1yxiuuOlM+uLF Qkk0Hboj+PrOPxotdSk4HPmlfms/r9uo2GjXharFHiaFpxJ33xl1ALMY+q7e9Vo7 4ysOtCWy0Mfe1BU5Oea5gL9OJwQmfz7pZaPv9sc9ZbCXwaXWM3aGnMKLSFjomDsW fdPF08YKwsRXby+/tP4xhR2ZUj2OE7xr -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/i1/server_key.pem000066400000000000000000000032501516567600500232430ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDRuOgeHjk6t1Xm KN6eOw95KVmHLs4PbgREp/6w/D+RIw/IT6IILzMP7a4M56Z/uUBm9nhCCp46S5K4 J4ZpRZ9XjpkyM23V2KsxAtQ85PW1ogt1N48ppKUeXRsOwjfer9qGvfisfs8/Rowy HXm9oybFM9tdFOMBIiDSqXZnY9KbbSm9Ib3odG7ckF97pb1F7cOlZkwMih8LrhI4 f22antDKemuZkkAqHH3L442ZsQgWE5WnoROth8/45FUEh5Ypws2qyqzbhowwl6JY uq2gd8JpzKbPn6qdO4/Bm8c0Yn7K1+GNZwNQv7qlCye5SAi4B59QyzAiAqI3LZDP P+BFzidFAgMBAAECggEAHikacKJmFpShLN15zoWt3v3cWz2W8s8enAUQ8sEEH0pM jcEuC0FGdab33fE+l6W7plMRzmWahcWyjvtYMDGMDdp7G6YbyKJFVGIUxcEjuQBZ 53ybASElge1f48p4oHTn13LgnWYLRg1OQjLM/EHHZJrllEhZsSMIV2N5nLrVYfaZ DwjI8U6Zp3bR2iysIWlaUEf4WTQpi0UwYK0L/0kUgiXxoZJs4BlVh39XjD4l6a+b T73zCiUGxJ6sGFRfnM/gwehTSwpEkzS4ykM0/FdlcvUXOIg7RKcRSDJ4tWnmWWAR ERvLYqMB2fsahSdnuwmDqdb9b0cwr9Wqdef/LlLTwQKBgQD/q58YbFtHTlNKRThA eKMn7cqU9dR/q854m5GbsXBsRHlrpRdDI/lEFIR7C6BEtlelihc9TYWwQVHuDdcw 3Ol8l0koUIt678ai38L4sBcjxj3jBUu470pWDEwDZJnWSuQkkffRBbunbg5W4+LT b6+9y0xVsVlt5r/0Nkhd0RjaMQKBgQDR/h79inO9fK3gkryFI2iMTJw203FmIgGP 1qLjsVySxhfuLVsPpIof3OKknYBrzw5muLTsBTtUOv7y0dhMR3Ug5aCc0Mxp82Wu h+En33H7VSB7qKmCWKwZtFcnzCCrPFXHwrlqj4HgEcbwtuv89tL1jqiQ/L6b2rMH fagj84bFVQKBgDzWrv4V0sauCb3TqOYWjuSSfjFiKhXTYUdr5YNB/vmUdbw6xcVR SyB7LWdGRfXz2flnWc5ZoyVk9cULABj9iIYATgVM3VP8uKzLSE77QBZgNxvNh85T CsJdHL118/F9UrqtDWZs0dGuq7Tbd39OxWgJd3mwwRIY5baMMD464ooRAoGAHvfs GBYQBZTai7D4LmZPZ8lwjEFYiuhe9JiBwzSH43llVBHKSR9J43MO1ZoIs12A0TNS MzB+VGiy6pp53J35LxXOPvIoA0QK7ddKJDg2tgsS1EnGXdu33b6Tz+Gxu68VM3WL JKTvUV0typgfa1n3OJGGWIN9lLyHBIbKgirK6FUCgYB64aVjyhJSX5TKeCjipHqV IIlg3A/8GhkcfQxraHGRdIFZzQ8qsGS2zLqI8smecjVRmKw49TCLmsU5yQBP3fZM eZTTb4wUyhk9SSdhBu2Fj4Uj+Kt463neAsHYpndl0w5Q2T+UdoWkswOsUJKcHI09 JTUfUuMx7FV+ZD0+5L1pzw== -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/index.txt000066400000000000000000000030201516567600500217140ustar00rootroot00000000000000V 260625100144Z 1000 unknown /CN=ca1.i1/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100145Z 1001 unknown /CN=ca1.client/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100146Z 1002 unknown /CN=ca1.server_cn2/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100147Z 1003 unknown /CN=localhost/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure (ca1.server_cn3)/emailAddress=info@zeroc.com V 260625100148Z 1004 unknown /CN=ca1.server_cn1/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100148Z 1005 unknown /CN=localhostXX/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure (ca1.server_cn4)/emailAddress=info@zeroc.com V 260625100148Z 1006 unknown /CN=localhost/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure (ca1.server_cn5)/emailAddress=info@zeroc.com V 260625100149Z 1007 unknown /CN=ca1.server_cn7/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100149Z 1008 unknown /CN=ca1.server_cn6/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100150Z 1009 unknown /CN=127.0.0.1/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure (ca1.server_cn8)/emailAddress=info@zeroc.com V 260625100150Z 100A unknown /CN=ca1.server/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com zeroc-ice-3.8.1/certs/configuration/ca1/server.cnf000066400000000000000000000011131516567600500220430ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca1.server emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = server zeroc-ice-3.8.1/certs/configuration/ca1/server.jks000066400000000000000000000066251516567600500221010ustar00rootroot00000000000000þíþíserver–ü—…â0‚þ0 +*‚ꃷIô0®ÂpÍÏàz€}ãVÝ?BãÀ£§ö”A Cq|›ÑD\Ëd>™É‰»ƒç¾—ÿ¶i²\à…/u.$Ž{pì%±­š˜yúä1iFÞÿ@N*N²_BÆ^½/ÂB¢Eâ²$úfï™pú·6\›! ídßxP¦KW:ñ8û¶!Ê»§NÌt…_ÎÍÜ}úÕHÛP<$ª 9Ô)^•µWÉÃÎÌ+•ef-¶¯~´3ÏUŒ‡ïX´«ÍU‡‹þQsóÃÍPåù—@ž1 ±pUØiþÍ¿˜‚˜­NòÎâÕIàÞN´§çƒÑà<€ ÀRà¨$ž5L×÷ã¡‹ÿ+ËäÚâ]™5Ë}u¼D~ ¥*2ÀìÆs#¼SõEeXÙìó”€÷ïñSöÿÁÛ²LV»ÀA¾Kfèñ(ðá•ÔŸb7•7ÖçY®A°~q¾`®ÎµºíŒf¼?…™ŸõdtWiñj§YÄ£=ÒûƈŠ}GIÌq"g/hýùŸ»«Vo|ôå—ºOã1ôË™œñ,Ú2²cyÚzhK¢ÝÆ8#†IãÜä¾2°”ªÓ³»‡j®f·Ü u„T‹•½jàÎîƒ+Í|ðK^i*+tsMx~Þ£5a‰·Ð”ÔÛ¯ Ÿwt<ÜܾfQõ?æhý¿’Áâh}~nfG{Í®[¡Ô#ˆ÷ýubD["•¥Î±˜þq¼süBíO5ºöæ®­ø‘¹9{_qSŽ/T>§äö±”"( ô‹Tè¢Í€S< “„øpJ†Vj.5¤OÀ. ¿¡ú¿íÀRåï"lF=~Y=æœN:¥%DO6vPÉ}}‘ž¿û¨^ÌÁÖ58 E…W†æ7©Ý¤|_6FâÀoŽ3Ø´“™‡,“Ò´2˜†mái©=†Æþ2N§¢…¹Ûøí¯nŠÀßoÂϧÄcnûâª^[VNù<4òzŠÆ·n"7>Aï?ÑTŒ"³Ñò#Ø®©aÓ&ò°ÌȧÐ#ñ  L¯æÍCŒC¥¥ãûðReö(²`B,žRa‚δ6êÊ!\B–@?z«:¢ «×î­Ž-±Ç •R¡á:  œÑA2PZ|*1 V³,9ŽŒ^àA°ŽßÊbŽæÚ,+¯kl··×¬¨BFoA2zQæ¹¢ÍÇÜíáçCϳ¾´@Ap ¡ؽìßá žWSHŠI8ãíýX.509*0‚&0‚  0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100150Z 260625100150Z0—10U ca1.server1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚»2²ÀåêûþZt­’ª´šºwÚ×þš‰b;Ä.,¬JBB‚)ÿ Ît¿-:¤í‡¼£@!ê ¬ªÖ‡=.©M9›Qµ‰Ra˜'&Jv¤öÌ׫ÀµqŸU$t™¿Æ°*qŒwÅŠ¼¿ëx¼Å1lä)™îâéßôǹ}$*fb6 üv½Òü)Á3m}ÅÒL65ÈT–»ô«ÒðV䜗=ÞØwýƒS»p¯yÍİ9ÀØŽÞK^0ÚØHlj)ˆ…•cQUÔ¨G9éò%žô(EÈZ‰YBüÏn]µéÌ¢åZNÝ5ŒÉÙýÅþÔôäΞšõÊ-½‘&Áÿš¹£€0~0U!'­ç¬š=§'$ê3ç/—±¯0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿà0U% 0 +0U0‡‚server0  *†H†÷  ‚_:¥8¿àg OWxëÁœ]TÑÈ ùó?$ U™ß+Ý—`›(þ&ymžfkº¾e~0g6€sæ‚Ò?ÓýÖ¡¸´û¼Ä«º†±Ï°ÿËÏÖ%º]̧oEç± r.! ª#öBM ê©øífíúþ ç‡7&h°{c€=H‡:PéÁé¹ínNýÝÅÛæ§õ|¨:ªiÒ.–‡.)¡•þa¨ê5©TÜÍÊrÔ‰„Á¸–¢ ³‡ªNŸ™/Ëfôú~𬆋~4¨?"ñ¡ j—ˆÂëé’~+ÔèÙ€~Ã…ë…U;ØüstpN¡ÞnØ÷_7#+$NX.5090‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}òN:œ§®ªü;ô·|0ã©wÑÇ“IYßϢ˧EQþ!“щL%tô9‹åe^Øéž-Ù›`3ø”¸‡1P;´ì ±Ú[CY [u¼ÛTGË4>ï9C§> ÒP-å:œ–*‘f-™U/ëQZ½ÛåèVÉ–Gâ¸zñëãß—}H(Ê·!5@;ç vË;™ò«U’û˜E›™5>Ùh\Åéä¾Pžeƒ>f½ÈÅà;ë÷5Q­£µÃš%5èFd!…ôÖ qjXàÁï§!½mÖÜ1>ã~öcð^‡ª‹XG.é´ÃFs­´vK±¿^…á‰o]ðþJ+_ž.O—Ðê ÏÖ}xÄœ¹L[ÔUÃCÊXkÅH¹aõ$éX“XeÚJϳ 'X•?PrÏëZ«¸2Ã]A¨½T‡E+®†ƒ=¨ÓdSXz …à³Ö,ñ{]n”jå?u”„ÀpK§Ywç[Ïæ3m¯òjs'ëe$¼»UŠÆ¯ƒòV+áælÓ¹k†ÏÔu°Ï·ÇÝn¤Ó!ᘾ×1b™?Ä’ôNh|à€Rײ„Ö7x¦rÑ#¶]c¢®‰ÏÙĺõQhk£d=Ve­ÌÈgè}ø­KO(&£PÂeázïÙ} yC7Ô£!¸ .zp@ÏY6^@kcȘ‹„6éo­ î’‹âŒþ}Õ+<ŽU».$ž=H£ôøO'0k´¢™kö,'`ï÷d|ÝöÛ X {”•€’@T1©ýxoq[‰=}Z¤Øå•ëàK€¼V3ÝíØ¯#Óó¿}®ŠÁz nà€Úh‰²‹”ü„‡æ&ÈVç":¤2y¯Ki£º;¦ì€—7IÙ(5ë]ŒÏÖä1ŒÞ‰¬\JIk£KïÇÐfoóü O\ñ¶'`…\´RÿŽQA ü\â’/䄦kNNæ%°y[J|à¦÷üYƒ®¯aµ€eZÖîx3JþÛëN žÕ‹÷JÓñŒà]Àký¼îÚfa-¼y:ÅŠ»X_.€q½_.Ú È†ù0‡g¸^z¶œ--kŠTE{z³@¶†ÂøRfÅ@Øl7 ^ïQ0õÕy.ÇdʇV2P0²M†eÕ^ðÉ)Ú=éˆiLÔUʼn´Ä® ¸`á¯Ë0‚;Cž4•M@éG/ê JhŸàØaŒE¡2ܘë˜R÷V…1êok÷þs–¹‰0 Í“ÊrâmvÇ”rp Ó• …É¡Q\—ù˜5wa±©gÎaâäMþ€WF©Y;˜»ÀsÕh„o"Õ!ù¶8òXj^&<­îv»QúÜ×çŽD>wi´NØ·ZâO¹ †Ý-H¼ÇÁ òl)€A¿¢´B{C7µ{¾&¦ÑÈ•·Qò¶PúÔãHK™ÃûÖœ7/‚+âýÑ™T’±øÍ¥°ÀúÑ«BeÔ9sÎÓ\õÛÙi•5L‘Îooúæ"Ö×›G"à%o>ŒoGëî‹k"Œ)Åú:ª͵gÈXµºåùĂ갟$’ê§vÕ©GøÉ䎎©¾Û|¦:³áÜ+2Žç‰«œæXm­·ÞËÀO#ÀÌW2ÓpÌÓ îEЦÂÿ•Q¿1Ú¬ÅeI°í6¤îrÔa½-{T•ߘ}œ Ø#R‘Y_r;j[,h­Ç*#¤HÂ"ÊWÚÍuyµµôm9³¡=–³pÑËCëp`ÌFÛx¯v‹™4H·†6¹µ8œDf\KR¤7LìI©)ϾÔÍ Ö<^y0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0Ëž¥¾p‘ç‚ÈïÉ1µ™©ÖžU$6ë }S4â»qÍükbz¨ÇkMŠÕ•ë ¿kد¢ùAÏy²Ý©ªöÕí(«0½íþKTÓ*fê}3ãÛ/Uî]SPÍ"Žy³1×>ã£î&0ûÏáWê·½Ì1?’ýºÚ†%U!8Û4_è.#€dcÏIÝ‚{é˜8˜ŽI;MÛ–Ñy!Ö×y ÛÔõü•08‰Ë©Dˆ]Ff°bQ¼*³ZY'ñÉì^%P71î…WöxŸËç<±z~ÈÛɦŸ($*yNåxøwR£5[Ï8À÷‰Jâë+KsáAÞv&<«ål õ¥“ïÄY“½½Š#×L›á6õÂa¨[£°šËÝI¬ëLg*z7oªÙȼÙ*ÕÞÓ,E7¹Ñœ‡Óy°w­\GUV}à·cÉ–Ò\Q…ºkSTn!ýV׿ýtk ‘º¶j–=™ÙrÍ‚l «ƒ!ƒnUy8Úªsoéud†õ ž bôˆ"sd p•A{äî½Y²£n´ÈMz†ÿ‹?Ûçý>lc±c!à$ |gàðÈ_¾º&ÓÖ°Îìf¨_€û0K™IAÙVã•—U²Ö¶«-df>TþtZvÁCjùŠ$"·‡@¶2ï]8ÕªhQ[¨LmS[•ÛqÐ ŠÃÓÖr[ñTщ’@Ì·æ ¶xùزÔqºb)üBs  õR™¾^ÿ—äN-ðk“‰¥Oð“Ìè …HÑ ‹h*g×÷aQ“Ÿ#G øi¢4E“¤RQÃïïxŽhNœ}=·Á0nü«f0—µ¾ðÙ“L²õEeÖ ej& 3 ¬¡ú§™œÇ›ªÔ”ÂmoD;¨©2­ßÌ8êá .%rô$ ?Ô~>ÚðÉù)É–BA„ÝR …¿áIDiUŒþµ'ï@•r¨‚,æ¶ pè%×m´ZRnÂ/X8‚¡¾yõ%yj=‘nv#žLÌ* pX >î¿’™°âM>qèzÁ ¿=¯Z+ˆí"…÷à³Ä_5öÀtl)¢^ê°©òó—“¥¸aGžDêSäT@mR‰FX)ÞZ^î1ÔÅe‡¬÷xš'£ÐY€Ûl¨qä>$¸Ó-ÖQn@F(È4aà ó%¾¹^­ä÷‰µc u¦sÙÐ}BY Þƒ@݇Ú@O,cúp^0^’.ˆ#†‰ØÈ¥¬ÚyÕ¢0Î3“«ª‚š¿4€r€´v•Ò‡®ËëYQ@6ë—Ý­ƒ„Ö¿¦ °";€#-o“bS˜ÂþTÎiÝÌå|˜®Û"î¢ïPÙïPJ­˜jv®Ç{éJÅþÖÎguL›pŠ¸Æ‚XöÅì—Pë~‡““”¶õ”m h{–¥U¶cÿ2PJ³‰í&‰üo+î®Ù㋈YT8Õ,h¸>¦˜M¢…ä!Si*HÓãzœK~I/¬Œ×ÇîPöcGF†ªPî¸R²²ù ²Þ©B„£2Ù'`œT ¶MüŒ«î-M&µ‘þ¨¥ËK"[gGÅuÈþŠÇ$>åZüz…‘Úh,–*€Çc1B0 *†H†÷  1 server0# *†H†÷  1°[1ƒ¬¦Ñ=³¿ìoå˸'ôÅå010!0 +¡dœ•x÷ÊøtŸÄlpS_ý,–Ñ>! K‘ÜVzeroc-ice-3.8.1/certs/configuration/ca1/server_cert.pem000066400000000000000000000027351516567600500231060ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEJjCCAw6gAwIBAgICEAowDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTUwWhcNMjYwNjI1MTAwMTUwWjCBlzETMBEGA1UEAwwKY2ExLnNlcnZlcjELMAkG A1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAM BgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEd MBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQC7MhYTssDl6vv+WnStkhUPqp20mrp32tcF/pqJYjvEDi4s rEpCQoIp/wzOdL8tOqTth7yjQCHqCayq1oc9BBMuqU05m1G1iVJhmCcaJkp2pPbM 16vAtR1xn1UkdJm/kMawKnGMd8WKvL/reLzFMWzkKZnu4unfBvTHuX0kKmZiNgr8 dr3S/CnBM20cH33F0kwENjXIVAeWu/Sr0vBW5JyXPd7Yd/2DU7sFcK95zRDEsDnA 2I7eS14w2thIbGopiB8ahZVjGVFV1KgdRzkb6fIlnvQoRchaiVlC/AfPbl0WtenM ouVaTt01jMmP2f3F/tT05M6emvXKLb2RJhXB/5q5AgMBAAGjgYAwfjAdBgNVHQ4E FgQUIScUreesmj2nJyTqM+cHL5cXsa8wHwYDVR0jBBgwFoAUMJ+2glf+XyNpfMgf /QYIWv2tf2cwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMBcG A1UdEQQQMA6HBH8AAAGCBnNlcnZlcjANBgkqhkiG9w0BAQsFAAOCAQEAXzqlOL/g ZwpPV3jrwZxdgVTRyAz58z8kIFWZ3yvdl2DCmyj+GyZ5bZ5ma7q+ZX4wZxQ2gHPm gtI/0/3Wj6G4tPu8xKu6GoYfsc+w/8sezwEQAtYlul3Mp29F57EKci4hDgmqI/ZC TQvqEqkR+O1m7fr+IOeHNwYmaLAFe2OAHwgHPQJIhzpQD+nB6bntbk793cXb5qf1 jR98qDodE6pp0i4TlhmHLimhlQH+YajqNalUHNzNynLUiYTBuJaioLOHF6pOnxEW mS/LZvT6fpqshot+NKg/IvGhCWqXiMIb6+mSfivU6NmAfsOF64VVO9j8c3RwTqHe bgTY9183IyskTg== -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn1.cnf000066400000000000000000000011001516567600500226000ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca1.server_cn1 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [ alt_names ] DNS.1 = localhost zeroc-ice-3.8.1/certs/configuration/ca1/server_cn1.jks000066400000000000000000000066301516567600500226360ustar00rootroot00000000000000þíþí server_cn1–ü—{”0‚ý0 +*‚é© 7„¥Ÿ´üÓHÊݼ&3µ×“~‘PÒãJóæåždSíž•í*bkp&ð<·–ékÒpBê† yƒ/™øPS)f‰Ùƒ4e„FdUƒr¨3äA©íJ å"/ÇÞÔâ2F8}÷ĘMneìïês¤Ümô©â9  ¸Ä\ëµì(µ¡êT8C•rx‰¬ýç.oñÐuÙz†§óÔycÔ IàÏßÝæ˜ùQºW'êj„‚ïSƒÔ7Ÿ¶Ø4$o½Jl7ã€æ„™kC”é $οÿš¬ÈŒ° þ„Mˆ¹íc}Ùïa¨+[2/AóÊÎXz,·U¬ì„݇öØiŽçÒÍBÕd•„‰ìtvhZD!êUc%Ž…l²ÇL>èiw ©Y'x›KŠjõƒŠì’–qýeªÍW…¾ (°6KV!6¤W™ V-BhŽK/ÔÐQìù6,<Æ^yÎÁgìnmÁEµ{ûoSö»>ªéç õu¨­cù-{.L(äÔ9~WlZTÁÄä`(Tk?¬¾ªZ~Pf/§îIø ×ñ›ÞpöcëX»K?q‡Dp™¾FŒÌCmÙ¦¥¯>¶UÛÕš2=`ÁòVÔŠ¹é$xÙa™ÑëZêÃ…5“‡}¹ðÜñèk%°€wˆÖO˜„Rã7X¥Ç±f‹Ÿý”‚çP¯LZƒ Áä ·à9 ƒî1î›C„}¦1€|Ò ¾Ë°›Éyi—9DÜ]}eÖ—·óø(zûq€Á ²òn<¨G(@=xeiÝXN?  ‡–i·rÆ“ vÿÑçãð>wÓCíŸ3àjRyßí¤D‡’³ì«5?ªz•øZmŽvr_\yDŒ‡pÛ¼ƒIí7¦¯‹Yrߟ€Ü)7½kû qGqÃÇê?šÙf¦€IÞ)Ü*PvR¤êçÞlq9ÃHäš~+¡ö©è©%\¶"ÆaŒ”›~àdÁ޵ÕÁJW QZ/õzßZluÿÙ»4ý%¾ZúÖ£M“›õ”x0D@šE[?¼Ì%ý"Ã5ª½=“-[¥”nWºÌ’óá Œ³-Ⱦ I¯Ù}ñ iTtÏùtêº3µê*õ]˜§Ÿn(Ê­…:Ÿñ×'÷ã¿-RNt ‘X‘ÏÛÓc O«ã†Ž´º nPÓœÊ5+„®Çpp%¨j>=”gÝT"œ5¢©gÀZV¬vó«>dN©(±ô(íÜïågìrÍ%Á|ƒk¶Mr z‹œÇ®ˆ7î#—t]‡Ñ(íŒOe<ÀÎã…Q#Ýân ÆvRQؤ£G±\›VëÆ&5žÿògWÒm¿"ã\Ë)ªÞY+Ód§Ôœs±]Âõ¿á3áï¾[:‚̲q´ IPæfµ× uS¡¶>nÕá(†ÇÂ)ß÷F_±‹âì­ŸðÛô~ó ¢ç*>FMuÀÒ=·W/ÝE'2ºë‹ ¸ÐT!7üfTáŒÕ]îHT_šÿ}¢9m}ç{Z„¡~ðÕMùµ4eº>GÍVW_dxñþðmãGMê>§QY‘¹–ly[RùUò-å½ê ê«9üF+CˤtýÝÎlЃùX.509*0‚&0‚ 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100148Z 260625100148Z0›10U ca1.server_cn11 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚°äxå’‹±yÄL†‡Ži Ê*ˆ‚›Ël ~ªk´@;[Çštv8Øø‡ÅõΦÃðm˜vx@tܰˆhFÏæ¹ˆ¿¶¿šq^1uf¦¯¤jaá'Enä ¨5À¯* lÇÅu—ë¥Ô¼X6¹N,û&²§0ÙÜçe»)êT,®:ìóÌF•eVðm¼/1}qšwï·Fœùžê›1n+=hNàè åÁ¨¿qz}1`½ÕÍØÿ=/*øL„ý1„Þ{жÂ;#V» ÓC¬XMRà/k:&œXMîz^ñæ5qïŽs-wæáWÏ"êŒ@.3¾ñºgàg£}0{0U—¼?{ï— ©a²X>¡y·D>ÓÑ0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿà0U% 0 +0U 0 ‚ localhost0  *†H†÷  ‚V¯t`lPÉà£ÿšTaIšññ4kØ:ÞB6‚f*IåqhOÊë=ê§Åö1¬°ÜëŸO‰»q[yç.5¨Dfßí‚~|“ 2é|Z˜Òiy¿á—°³s¯ é§Wý³"ü‘÷ÉOúHÀ¢¸]‚/?–¡‚^s[êó•}Èbvž/¢†Eµ\ÆØNÖͯZOkbÿaª±fÃNS?';ÆR24é1Yà—FÇ ë]ÇGÉÝ{*^AP$ñ'Ô@>4„sUx€U–)Föí1iâíGkrt¦}T,2OAe™I¥wW±›´{R{8eÙzä¡X.5090‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}òNÛúl+Ü‹Œ«”½åÎí—x‚´˜7Ùdµ+@&íÓ´ü w*W`•b’¥#-¬ð3ðoƒ¦ÔýTzW ö·°IlbÝ<ìÏÈn™*¸<†"SP Üm ;·…×WÒxg#êÔc»f˜Û¼RBNÙÜ›{¾öHNë“ι¸œÛµ´µŠ»˜$Î\ ­uÐÊÝޘ׬‘˜¤k²‘ßíé·M‡‘›®F£¡N×ä3‰RÊîNÛR§ÚÕu) d tœª&4w;'¹èËš ]l ÿ±ß™|—Ò¼O õ,J=¥\nz Ç&l2ŠÂéÎÔõšœŒ”²Vëˆlª)=ocm¯-™qEøçÒeŸ+ïT,ñ'÷¼gM}¬Úæ_¡ýS£¶0Y‘:¢cÛoH¿#¥è ­šC ÐKjíì®âB<þCWp„è{ø{—@e3E$vž;†½/LÜ"4¦Ç ²T_:EŽ“¤ÕHÌŸb®(×™·¯zåœÿU6ÒËÔÖiZøï+ÃršãCÄJEä1”И"çꇱ¤| +½à¸Ð”¾º÷¡"­üÐ6C ñ‘П4å½,#²“þBÈNˆ¯9\+Î[Ñåæl£Û j€ùŠ.Õ"mµ¿ópZÚkŸG:?Œ^ªP4U;Fм¨×N/ÄNÇÈtNGY¼K4XõµÛ*i!,سE“u´+Ö#1z'ãæÅÕfW±^·g×Ѭ,HBž—+¹ù]°«Ý“€ßÃLŸÐÕÐ$^'Úr–F?4SQÞ¯³‚ïØið%:Ìb·~…u/1ð-ÙeuW“j-C<ù¶YÃ4ã–GŸXú)Jï·f€:»}\«ÌøJÆ 5_]b,ïêm!ìëÞyM¬ÐUIš'°L…¢é£¿éªyI²hY…P³cùïÓ(óæƒYª¹_éJfm‘^›i…l[j í D ‡ÚADCù¬_6íÛQ9o†áôôžèš²“âj_”°ÖµµýÐYÔ^Å|&R= «#BAá£E3Ò»ø®Eqóq£û±!¡;r¨‡÷øEÈp®÷…½:¹bP¯³±#Å^Tã÷JiïËÒûA6‰ó…‡´–Ïu?Aá8©ŸÞ§\½{¼vÅÆ—:Fì 5âÖºvª‚,£ÌÖÕ匲PVK úŸY±S@6`?ÌÑ%Ä4ÎWfRõŽe#ÿÖy=ñé}Õï»öZ³Ë%dƒâ.q”+À‡–‘ìÔ§cp”Þ{VG…ËARTj”Ò2¬¼<¦ ùf mV^CÀ1ÓÈà~ž)È"CC¨¢ë¯”%ìÇåääþ‰‘yvI™áäMÓµXQð§7ÔóƒªË-+yëcˆ!;WPÐL>Uì]°ö8:=lÂ'•¡€º€šŒ$,$ÚõªÀM`Ô„7P•}U˜w”&½4L¬DVÞ‰tEèâ¼fA_†½WóÙþ´8ç˜öRó(|wÂÉ4›œâE—g\| an»ÇPæÜ2Žtq•ZÙ—×é:Ã@†ç‹úÚYò¢±fm]¢¤‰¨è_¯Gîøž‘0‚f *†H†÷  ‚W‚S0‚O0‚K *†H†÷   ‚î0‚ê0 *†H†÷  0À¿ª…׉‚ÈüK5C£‡>â;afößÎ=ÀÑߡȤgEÞ¦Gc¥à‰~>Ëì±mˆž*±lÝ0}Z†ü£±àß,"rë¶*8$Ë:MÖ#f“\˜£ˆ«rçå×ß{ê6®†ML—û=á9;"™ûrü½w_˵KKýˆõ÷Œi¬UÉkzÉ#‹¾»#óÔ4¤(׆aüÌõåÔ© ¿"qVQ³6Ø(Æ Ó{nª•G²é /ë& BuˆnV‚ ¦ºSÍ PÖ—/ë2ß«P¦¼¥ÆjùƒeØ!¤4RÞLÁI@üŒÒ]»½­;µ¦—Ï¥‡}rõÁøØ@`·f†w²Æóc>_SÂTò›ÝÔ+Ò\ ¦¢oyÊoãúĹð&IÎ\Ö½mL1ôA93Šañ¯%y¥_Ь—22)òYoëï:—O›sŽP>Mpd*ÆP…K+æ5Ù§Ê›'ǧ¼Ñ—¤_GI²~¯Å_[y£èßUá@¿AkUcþþÁ‚âÊí•(ÅÝYƒÑ§mš¼n=ÅlXKÂT«ƒM=U^­r”š¾NHÛâ<ÀYæDt–ƒïF#dâ 8’Ÿ­¸ÿS\ÍÈ|ŠïW(‡¹õ`Ci(µæÊÚx¬…ÐÿÎÝÎþÛ‹†œËºÝ#1¿ 1i{à¼t¶zö4¸p³¹"~–å7z‘%ÓÝ¿ÚkéÁ1* jís½Ï³ÃxŸ›ôÄç¾J!VpJKy S8¾Í¢ÍG¯:$`Ôks„ö$ÆÀVûž¹»Ä£G¼±´$¯…Žå*Õo ”–Ø ¥ŒãŽ®`!—H¼1†½Â¾Rüîñ¹ž³ÔÜ•e­°0ýÈìäµ0ìÓ¢‰DòE‹xÉË éØŠ“N”DÈ -KÍšFvý£Þƒ3‰ÊþPrU´î‡#?_i&‰áQÔ¾ugÏtD³—¦¬ª¾¦Cö…ˆ)rt,Ê™Æ8Ѻ”ÌÛ©“éê›k¸‰xÑ`'Í6?‡¿åŒ—L/)6å(›iÖÔ˜*JýìÀ ¿;fKäoYñE÷®ÛµÚÍç'Lnƒ¹¤ZþPƒ x­Š,Ø,DMÒå´Bï囹88]®?½ü ÂÐŽmiE*ò}ª.óJÆØôº|äh­þWsñ€¶Œ+²ûÛQãšC›m˜ ÿ¥¨h)#Cܹ͈LHÐtéŠé€²Y˜&µ:›Ð¯Sl5‚h‰Q‚Ж^”æAå,ÜÉ뀛mq‹çÄ)rÛÇïf=’¸”8H O_~Ç Råªû9§DÕ¹ñmˆŒ7F-îPŸЄêÄ3 †åÁÖXz­¦nÿcÌ’Ýä(•Ä1SxmEŽÌ'cóC!"¬H"ÿä¹È«ƒ°ª¦TûÂt§³H«ïC«~Ì7„]¼»MzÉ9Æ'L‘C±»­®ºçéX¥`Å`B!Üð¨«i7‡ÿ’Üà L îëý£•.=®÷)$lðüÿMN{üF4ÚÄNWÒ7IÀ‚5FÊ¿<Òv$‚øÝÈM¹xo° –BZ32n®…”qØ„?å}QXüõÔ)ã÷ˆFÇõË™£*ÉTY#tsñ,:7ñ!iW ŽÆ3}L)¶û\àÜÀcbµƒ'Oÿ>#M?¢(Ñh\¦ ëÕÏ¡X[V*©¯™Occî×ûT½é/~çÅ¢±eG(û‡£˜¤ˆX¢>€bºÜû¡(AïîÛO<¦®ˆSréÔÅß®$‘é³#­cG¼ÿ¯þá«Íh⯠6ø˜4X"Ä:ÕÝõ‘‹n[HSmö¡:5œèàxï£ÙØBÁÃV”v_üY¨ 8ª¦Î2¯ßUŽ5Ò´Q(tŸ<)½ö$;Þ構>œ‹=‡ª¾WEǃ13ÿ_¨ÅìKñ-|±Uk¡©ØwczÅõÑðç¤Ä‹Ž™¦Œ¢Ò…B ,ž.jáv‡õE¯-ßБ€¹÷ZÒAuâ6ªôægØÖõ[ÉFYAeóµ/Ê`¥­ÙõWâz'4‹zJëßq¶r:Å@&8 ïËÂ>' 0ñUF§ãŒðþ&¹o X&wv¡t3¬ÙÈa¦t®ƒ…±6˜œ$A‚èõ4Ô¨{°±É®°oxÔŸ0Cl^ ‚coMN¿7´¯añºqËì„K ¸F…¾ÕÍ ƒ‡ˆ)ÉvØ‚r˜¯Œ·G ÆÙ«È‚ó]r&—O\ù={Á¯ð©ê´+ºÂ:]ŸQðûX.50970‚30‚ 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100146Z 260625100146Z0›10U ca1.server_cn21 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ËKHœŒó†²Žð_ nç,qRprM @·ôôÁÐÿðoÌÂÎn­\4\Ž) '†q\´õ õ}ãµ½Êׂ S†x|UP‹>~ÜÛòJ‡Yò¤VÛìß³t^½E1Ÿ‹Ã–Ø’å.ãá¾AÝ39üÚ ºÀ¥î'Ú˜£«tT\¹¾™°æWÄÅÝSÿcᔑ½38Cj‰9Æ+Ò}{§‹GŒ>›a>níÁö!PNÓhaß7+ož/!Ø­ºmÑå¥ÑQ¶¥Í;´sº7XyhõA˜ ÁóyÇR'òG0“ºmM ä¨4Ð]­V=Ë®}ò 3£‰0†0U4d†~õÞêC¹Œ,N,R¼RÐ0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿà0U%0++0U0 ‚ localhostX0  *†H†÷  ‚:v¼yVZâB!RèY¶ }[‰ˆ•Ï´ªÑî¯ 1à¹VÓnƒ‘ò ¼È¨„x´ì„Ò‹@4I‘;ä=:¤IÆS-K˜¾bohË{U}{½ô FÁ _RŠë4®’Ü&©œNê{[;AŠû6¡,Á–’WíSÊWÛÍBˆl¸Hµ ö I˜Ú¡ltž/kq ©Wqýã%ÏIæ:vtg¥îÉÀ¯.”½ÞË£î)“ïÎës‚rLÈ#7l×þ^×È£>4AïÂq~\ˆÜF‹CzØjD[¤o»>ðáaOcÅQVµâ+ÍKS9H_‘v[¦þa½kMŒ»YªêSX.5090‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}òVû¶+Î7œè‰¼wzeroc-ice-3.8.1/certs/configuration/ca1/server_cn2.p12000066400000000000000000000074121516567600500224510ustar00rootroot000000000000000‚0‚Ì *†H†÷  ‚½‚¹0‚µ0‚ G *†H†÷  ‚ 80‚ 40‚ - *†H†÷ 0 *†H†÷  0L}Âè¨Â&E€‚ gº äbŒæË!ãéz*+›OF±è¦v+¬[ Lå»XÈäAz/XZTRvpý ÏÃ2kËŽz“§çðý? ò­Þ åÕ S g4Ýÿž1Š˜‘¢ +ã#Ó´6k,ö:R`I‰D8ïÚõgѼÆ7eê÷yŸµ/æÁsCÔ{&þ·¾òGżڬ ‡–€îé¦j2™è2))øÌ~¡{¨bëäÿp#=N þ?.Ò!¼ %Q~y嬦‚ðuGäì}¹AÔµÀqÁš›ž‘* ¬[¿Ï‡¤ŒÕcëÇa{9œ©¹µ3èÒ Z눸Àðܪԑa~ϲ°R\ð¨I˜ÕR°üÄìóâý~×m‹ :ި߻P݉FU¸ôºk÷ ¹—|Ùxr‚ã·kH]µª*‚x7úQ!?É™þœ žq 'vö=ÀËú¤Ûþq_ »‰»õÖËþTq(C/‡Æ‘sÙ5rÁHÉÿÉ‘± ê®iæ§Ôë2”Ï—×½ð¶Œ= x7ycü ZóØ*øxÏ|íM´³¯ó(Ò¹èz€DêÍÑÇÆ›Ý:IÚZ1I‰T“´ ’Oe0e9y/š'E}ñ⺅*öâªpð_0[,mÿ Îîg­±Ñ—&)Ù—¦è\j&™»Ÿsp>Öb'R/ÄVá{ÛÁ7˜fazc:‰õ×(©œG–*Èä»—W²£j,:&Ÿ-§œ»ÅW3~äêœ7$èóf½çœX÷Õs^HËy͸÷é F|³©Ú¾BŠ12©TØFhTêœüÕ0вÇû4f-ÑÅABåÁ“ø8’Q#T~•Ñú¦EïR“i ,êä7èZ¯·+ŠFµ[žê¼¼¼8;á/aTX’YFxóD¯ImoJÊlŸÍ(ãT„oÿxìñ–àà2]¶6CÑy¯_€æ5pHÓìòéà_žK§JÐzX7b¥ÇÞVVYùØ$!ɳҕ7¤cú0 ¥§½ŸMÀï•Æx½7‚},½ŽÒòZØ…¨$IÇìµÕ\#AX;‰ ]P6v ×{ìíø~ª½T l¸½´èV‰³1~—Ší$iÌYÜ âæzµŸ!v¤ eÚ•Å_ÜèjÎU® 0Û²8Ôéëk€ó.¯ù& #œû팼®KEÂtÁº\‹«éü— rï]`Ö»²\r¾›[ܹ`ûƒQ™U¹(¥uk#i sðjGpÀlbÑ„ÑÉ!ªzñŸÜ—ЄQ þ§ÑÃbþùºáÚÛôöMFüÃa÷|%ˆØ›'§ù‹ogÁ/þ€fïú—38Zî5 »ä Î<슢ƒtÄ×úëÑ4tÈò`¶AWf™Î«h?W×$'Î6ü±dÑë:ÆÈŠN3·”÷üŽ?³þ­ª0° T<*|Ž“ù‹SJ¤•AW 8â…á ׇ(ðã‡æï÷;[Qü_2Fùâgûðà×7æGRH>ÿ°ٌYŠ55mIoeȳ©EaT{ì»aÆ~Žö>…<¤–ˆB'Žœ³wÃdö2*.ǧpÅϰA'a…¢hOy¶[,yc’“%ï7ÚóåYL#ÃI¹zåùÞE;ÕvÏÿð2¨¦½<ÄHXO«’haßkç!Yf[§$;ÑÚ|LëÁì­¾µ—#Ru8Q#RšÖ`a(62Õ`øé\ò3$êðd&Cr¸ÊuîY†J”Gy ™Óz¢¤t‰ÚhŽæS`”ö-JýüÂq¼ †Þï?oÀù9%ûv…ë=rñŠXsÉÉI!¥¾Ê®H’ 3LÖŠD#c ²|£ù¥Qy7! {Š®zÙ;!2˨›9Çå‰Éü(ZŽ¢®ÃîÑ­ k\"¤ïÄFKaòüX…*CÙK*êÈd©eFÜÚI":ÈšAú g\"8µ gÑÎtòðQäڪɸPúº*ùA/P)u&À^éË“«÷gokp©÷Òq,D„%!wÝfüÌ£*‡8ªƒ‡WÜ ¨*•Çq Tù ÊšÃ$õòsæT²dXŒAµ¢Ò¢¡•PÒE’3¸Ó£1 r„L<¨Ûâ_th¯ðßqQlÞ!޲âê„«áªï·>ßÈ‘A‰Î±q^˜räp`HûîR˜ÄÔ»(¨bÁ\k0+g<'¿šíEÔªàp‚Š£l‘!Ú T¡Å‚o[»/¸ï+À#–‹ÀA{–®&½R·oäÎÊ¿ô±ß ùª­˜U:%±0‚f *†H†÷  ‚W‚S0‚O0‚K *†H†÷   ‚î0‚ê0 *†H†÷  0Éu|Økºr‚Èeƒ²*U¿Óç/šèfÚ~…1ì±C¼}[۪ȗÒk¶K)ëVÞŒa¸ .º”PA=^è™ôzB³±§MïïŒØˆ|CàÉ—è_0<}`n'Ú..”!Žî!{“C²|,èJrñ…Ú–ç è2½ÃìdDyù‘÷ªlÑGšzøâŠ?CÅpÛÔoE­zSuOÏí< :§dÿ™cÅ„’**³Í+¢² ]Ázÿ£ïðQÇXþîâ§K/—‰hñè7¢\gðbÚH+×6¬¸¡áO„bÒs9S•¿öÊþ0Uc-Yƒ}tJ>.%„ „CsÙ‰Y—Êm/ý ‘¬=ì¡AÄÍ te| o­^TPæHqÖ¡Æö`*lsN?<§eºW ¿8èžã&=Ð~„7Ke³m 2}@B”©ìΤN@}JDñë&dÍU?pèõ•À­8Ÿ‰÷·,$9ëÃn¡ú³ä+C½t“É0ZcŸû‡5H_x*Å«Ú$Ŧ CõÊ b,Œ |²%kM^YË”Èo=JBd¸Uy(yFÖŠ:Ÿ+­È èp…B£f¬LDòSÒyÀ„r–wdÝ^GlˆnnðzYQñ8[{w¼]0ÞUÀ–¢½uœ±KÀ4SA«‡¢¢NŠS'º»@Z]óŠTÌ©}ûxãn뜚;¹e[w?™å‘ç’; ‘LÎ1÷Ì lÁR¤ä.Œ¬"<òú€BŸËwÝkkÖžuuÖ*R‰gá›!ÉýŒÝ¾ÜÈç ÛwÛ þ×úª2A|Gì&Ôáþ„E,Ư’ýz”ö{D—W|½æF±ŸhÄTt®ïe$‰Ak^ʪYì `=>ÓAó0›^ïZ1©* %ƒ 8ÆŽR*I…}4Çè݉`€†ÆÜžû9TÄ…‘y2^/·r ’|ªã®òvXs~²2áWÝ+ºDW0uL7ù„%¶9ðŸ))Ÿ>†Ù b¸’˜ÕªžvR`[…Ša=˜½˜?4S¼&ÆÌ<ȃâm†(®9¾¹V >›¾ ïëʵ“*p¾ýàwµª˜šgdJFwý“£W[’õéw?tVÚ ¢©ŽÚÔ6ORÇ3~ñe°&_€QߟL2Þq Ë–kÀ7iÇKâlž‡õ@èD«Ÿ£›Í²'MÊ…\»ŽL&ˆ6j É_YCáÛZ\DD36&l‚â5õ5ãj5L¨½³r6e1EºÀêÁ"#™›gØɇÆ,íILÉl1J0# *†H†÷  1server_cn20# *†H†÷  1ÂÞ™Ó@¤ tS ÂëL8”N010!0 +úWiŒ¡“òó½ÖW…cÉ{[¤”éãOè\yzeroc-ice-3.8.1/certs/configuration/ca1/server_cn2_cert.pem000066400000000000000000000027551516567600500236520ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEMzCCAxugAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ2WhcNMjYwNjI1MTAwMTQ2WjCBmzEXMBUGA1UEAwwOY2ExLnNlcnZlcl9jbjIx CzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVy MQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1 cmUxHTAbBgkqhkiG9w0BCQEWDmluZm9AemVyb2MuY29tMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEAy0tInBEAjPOGso7wXw4KbucscVJwEA5yEU0gQLf0 9MHQ//BvzMLObq0WXDRcjikMJxaGcVy09R4M9X3jtb3K14KgAFOGeHxVUIs+ftzb kPJKh1nypFbb7N+zdF69RTGfi8MIlp3YkuUu4+G+Qd0zGDn82g0fEbrApQ8W7ifa GJijAqt0VFy5vh2ZsOZXxMXdU53/Y4/hlJEFvTM4f0MRaok5xisH0n17p4tHjD6b YT5u7QPB9iFQThrTHJBoYd83K2+eLxkh2K26bdHlpdFRtqXNO7RzujdYeWj1QZgL wfN5x1In8hxHMJMSum1/TY+g5Kg00F2tVj3Lrhx9BfKgMwIDAQABo4GJMIGGMB0G A1UdDgQWBBQ0ZIZ+9R3e6kO5BowsTiwRUrxS0DAfBgNVHSMEGDAWgBQwn7aCV/5f I2l8yB/9Bgha/a1/ZzAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUH AwEGCCsGAQUFBwMCMBUGA1UdEQQOMAyCCmxvY2FsaG9zdFgwDQYJKoZIhvcNAQEL BQADggEBADoDdrx5D1Za4kIhUuhZDrYJGn1biYgRlc+0qtHurwkx4LlW024Ig5Hy DLzIqISBeLTshNKLQDSQSZE75D0EOqQcScZTLQdLmL5ib2jLe1V9e730oEbBIF9S ius0rgWS3CapnAJO6ntbO0GK+zahLMGWklcA7VPKV9vNQohsuEi1DAv2DEkPmNqh bHSeL2txDKlXcf3jJc9J5jp2f3Rnpe7JwK8ulL3ey6PuAymT786P63MFHYJyTMgj Ejds1/4dXtfIoz40Qe/CEHF+XIjcRgCLQ3rYakRbpG+7PvDhYU9jxRZRVg614ivN S1M5SF8XkXZbpv5hvWtNjLtZqupTnQI= -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn2_key.pem000066400000000000000000000032501516567600500234740ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDLS0icEQCM84ay jvBfDgpu5yxxUnAQDnIRTSBAt/T0wdD/8G/Mws5urRZcNFyOKQwnFoZxXLT1Hgz1 feO1vcrXgqAAU4Z4fFVQiz5+3NuQ8kqHWfKkVtvs37N0Xr1FMZ+LwwiWndiS5S7j 4b5B3TMYOfzaDR8RusClDxbuJ9oYmKMCq3RUXLm+HZmw5lfExd1Tnf9jj+GUkQW9 Mzh/QxFqiTnGKwfSfXuni0eMPpthPm7tA8H2IVBOGtMckGhh3zcrb54vGSHYrbpt 0eWl0VG2pc07tHO6N1h5aPVBmAvB83nHUifyHEcwkxK6bX9Nj6DkqDTQXa1WPcuu HH0F8qAzAgMBAAECggEAR/NGKI5P7pMGOk4ivtG+WZASB62Qoe4q6vqsDpvM449x RBQ5zXOpEjzKbCnQFDRs66yqOpcAKLzRA1Xh8OHSV8IQlOz668u9ejs+DDJot305 aXwpR4bCYayu2+HoBQRSHmoRsRT+oMbieJ7d8nuyaMGlPxtjwqehJQoZKIMMSqWg zIoxK3sklxbc/iX93oaJJEN4Bm7NPnC3c2vjtKOtrBMFDiLtj2hCypJm7EE5NGR+ qTaLYHWjemFg+mxioI0k9BLSylVCVbArsFCreaz19vdNQF1bH0YDvUEFmXV++2xb UcxzHeO4EqKBOhSbj+VZtD+dMZXwg8r1yAGjapeYsQKBgQD777f/h1LuCT1L3HSG Kc87AUj6Gz6lyC46jEomfZxw8ogw+iWRzLF0g8KBoMQuoIOFPCi85wxCJvBc/JKr udhD/Uut3BSEboJTbHNYZE9FfVYDrzq4txyZgN13oKikqLWj8aqlncE/x4n1wavv vUIdOoMaPNcQS+EG7MvZZvX3+wKBgQDOkra8Ec40+TvG0NjFOjAQAhZfSgeqWhmC mZ/Zs5rhUve9adlALl7WiQjIDcHRNBzgHTO/5uLFo/6Nhnm2pFfmVLd4UZrRuA/n xzCprts9l7Iq4B3/bwhNoWDeNPi2hU+NYwzUE2fMi/ujgSxscyqb8GnCXhKl5R5n arFtgThrKQKBgCvsdWXlj/3UOo2ZV+90Jp8g8Do6ucdpiTXH872WNMo0Xq47ToWG 7IFl32l+P/XpIkT+YhPdLHP0Gf/8QQ4TjrL73E/piOI16h7lT47fnjp9SZvG1zQR KLlSkEolBoH+r/xvS9MoF+MoxNLF+1YG5xn1c5oFdXFv6UGt0zSKEOQ1AoGAHshS HrhwiAhT1g6tHsbK/rew6cY4WjRO9N07qs9O1yDr9ffd/ehrDYEiI92Y8jnXy7XO TlxzkowblK9jV8oppxMcu/s9HN9Wz20pXT/HP+hpDmaTUcsT662Op84w+dHnxuPp t3ik0SBTAUxweEC5Kr+qouIt2TbJTxPhGLZW1/ECgYEAkKUW1DLDeGzMrIcxCzzT CBqlfq5/mHeTUez/13VebzIMn+Lg6DKtE6qSH1NSWBzp+aRcMqqGf577Zg+hJNYr duDzZkMVwwNk14ErLltbZf29vvQKrXyNXdi35v6Lhl7ru5Nn/O+7tYlU14qqgRFA KQAoQ6bQwzhUzXZdRarMF0g= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn3.cnf000066400000000000000000000010171516567600500226110ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure (ca1.server_cn3) CN = localhost emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth zeroc-ice-3.8.1/certs/configuration/ca1/server_cn3.jks000066400000000000000000000066161516567600500226440ustar00rootroot00000000000000þíþí server_cn3–ü—y?0‚ý0 +*‚é Ñ»Ä06t¢lúÜÜ*•)¯¶Ú “jVd÷äQ w‘ó%Iá[ãè¡¢á©\bü³|“L”ëš¿îkclûcµu½Ë€DæZ;â4G`M%ëAÇôá'm¢uúO×yÙ¥J m”çp’½JP¯‹›Ç–uM`}î´ƒ³z 0e².xéòñ·wáËwjèœspûkN¬£§Î¦Æ)À‰;l¦'"äî¸ÏjMh~$높ËD¦¸fïPÄo=fÄkÀê9w¶ñ+ªWŸµ‚?U8Š›çæ¿]o ª|…à°nï³#¼ÓªÖÑ’ãFmW/ZÞŒC£‘YËTɺ06ß0cg~1[‰²j5Êä,¬Ímt° Õ/ÿfµÔ9S N <&ôÊPÿÐÃý|8ïWœ©׃2W§ùšËðn%"h–Jè|f.æï$à?Â6ʲ}u_ž€·Sx´ËÀXâ’ƒ‘¯x9‡¥cÚšº™1fR¥€Ãl€ÝƒßK¬6œåMæ ò;qe´°¥N;bU†œ˜TºÓƒ"‘ü îô(ä%4<ˆÃ ÚG±Q‰AΟ>"¬j°w®*xtЏ¦YE“çiRæWåþÏŽs:|ý` Íaì!ÿÔK¾‡Â^7ÎûÁvûI¿O¦Ä‡e·€ØÛtóƒ°æÈ}ûJzÐíLÅþ1çýÐÆz÷Y ‘„ºD!ùR… l G/lž±Q-Áí|¤^ËWÒß;Uù¢ Ö–hoí@'×kÍ»RL&…ÙÑ=U¹M0…+‚¸‰subëÓµp,Ȥ9„³­ºÌàXS?ç’ò£ÎlU.ÓîüÕÊ4F'Ñ÷Ó5‚/3×?Ó¸ÙÓé„•]àYå9ïpûãï (¢ûØ`^aÈÓç€F뇞ÿU*=p5M¶]‡¡œ²ŒzãçA’G,UÄÒQ›ÔgzšX6$ÝD²±¶9…ëÇÿ)9sÓwX¹g =Ñ·†´ô®9âTMí¯ZÔxÌÐ,(Ò°ä`ãU‡¶¦ù1³Ú›è  X.5090‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}òÔ0ÿêåeñ>fI ºÊXþIk {pÓ𵸠Ë5Ïüʾg1µ 1¼º ³b Ä)Ð [Ž.\Û¸†°HÇÞòó$û#ïföÛrÍ* ÚƯW$½Hå–ÓˆÆ[C¾ëþ#¤ØÓÇ˶ÐÝÉ˃ó n¨"Êô Îù4T¶ÚÃÞmgb0bvCçšH懥¹Áùñ‚?iö}#Ñ ‚â•Úóe>ÿô[—…§©d‰N0€§ø,4’•› Ûû„ô¸¢J.qÀÄ.Ĺs§æËR\ð×+cAwSì±h)Q}Û·’'ýˆÝØQ €Äô§i:¥C@Èǹ¨ê‰9͘ÙD nE¦“œVFól†tõûG%+Ó1wñl¹ ¤M«øh¢ß–m¥!ø7ƒd€ÃW[¨A»Èu{/Ž¥b’×#i½© B#]¼ú“Åü"„E ³1”pfŠ3™H©Ÿ&̸QÍß}Œì9“9mŠºÁr¢¦±º*H5wßnT)ã^¨Ÿ²’ eCJ8`ˆqDQÇìÊDõHÙ²Õ³ J¸-ªÅÀ¸õ/Kƒ³Š%Ó,’aÈ,&Ä௩ 庸#=¸_gÜö TEã¡C‡sÇ" ühÆ,ý£Óq¤ÃNÎYÅéwÇ jœÑäKò{ýþçÅ¿œµL&+ÛYSŒQm°±±`™LóÃN…ô'_bsTù‚X?`Qû®Ùè9•н…YÏ4LðˆW O—Å"­:*ˆºTy4]c¢hµ’ŒJ+'iÞZDÇž%¨´±dœ«Ùï˜q¾&ÄÆ…ZàáI¦ÏxœP×¥;_ùOí餯PØ÷óˆÔHüÿß§9¥YuQ~:ý‚tkÏÄ;jèDCéÞ^„ùÞJ sÉS‚d4Fí|†´‚mxô3“¸çâ ‰‹p!#RRSå`aÑ«„›KMâÓùfí#Ë•x.Ü|6Ñ ‹ËuÕ+o'!ðbÒÍni`„q›’TDÉ7ð– [‰nA¯åý¥ô5eä//.ZPÌv-ôXáÛ4PT‹¬®%É{HÞ íû}zN7™*â%‰(É`׿"dX¦´»€U}Ë›øª§bµ±#KÇGǪ«™Àb±)¢]­èÑg ‚Wl S“­âC ŒØ[;‚¯p&hºRŒö\ãGÒÑ(Ñõñ[)/Í0Uâ±!îè¦ä@b…oº¯~@Ô {|b§4Ô,½k€“…/{CCg„“CÓHPD*æÎ½£|ëð -J€KüM…9”½lZÖäxcåîx½N1(_IàïÅ}|>Ã@5ôÿ¯EdÊÛ…X ¾4[Ÿ’öþ+:Æ`7«hWb”Ò²Ìæ rD¬ßEœ+ô-é¡ÎƒÒO(Œ×ùþ®+¸4åàyâR¾¯¥—í;—Ý eñ‚æ"`­NФqÝm­äâºöW9šöºÉ¿Á!ðî¡àaZ[ ¤!ƒ·ã·%SÖ› Ê:µ‘êéB=¿tžçƒŠ;”WCæZûðˆVX>ˆ¸ðIÚ]ª“)à3Î"O¶cŽ¿&·ðCm¹ÂÊ~¿»?e'xј *Y Ü:¢H a€”R!ók‹ûû Ç£\·WW°"g—êß'{õ‚uj}öD½'óSQøGu¹©UÃ,ñcÁYô²ÎfÆ!CR“e¾EÝ“¦Ñ ??)ŠPx»¿;´ESØhUòeaþeeÃ+ôþŽ>ôe¸bQ"\u¶Vá‘&"Êf²7f72´-M4BA,lC|ÑGà´¯.öòFB~“¾üíÓîóî<¡8kAj6‚6bMµ†µÙŒ^ùp¦£BÍ(6ðs¨î½Ä”EÎÌ–³²K¨HmÎL£C’Ð #ÐÀ •±bíò·Ï½ªuÞû2°ìs>478½@zë± 8J‹ú§–Ú€ÌkŠïFX ú2}Ù9*,¢ƒiY¦$—6I¼âqïâãWVAñ”i’ã~´iìØ4 ¤¿¬×nF—ceÅ‚‡ôœ‚‰µ•H{émbÆû¹b†àñÙOØ.~…™M»Š¥E”5üé‹ýæóX»Çˆ!¬ß’yŽ›ýÿ[!urÂUJ@,¨$,‚C#_3ñL¢g¡=Ž–âß_Ú{÷GG]Ék Ο.ú5‘/¶ÝåÖˆ~&Ùú —ïèÁbþßÚšêeùþIàc=UÌÞÂ' PÉÎUÜ[˜ê’rØ–ø›€õO”bè¿”­ñEA¶òF8ÒÊô!ï–AÎ%Ì{Ôš¸9³eÒ¥fÆ®çÀwØQ¦¬ÁàQÆžH™¬ÛWåe çÒ²’ÎZ­3Èû<1ÛÆ–5¨ìê*Uyyúä«ÜO€múI£48ÊÏ+7/ó¥ñ$°è”ÇôLô0W‹”IZ€ ‚D{ 2Ô3!¨Ê@°3·µ’+aÍÃŽ5]G•móvË0€Ó!mw¸k‰â JÎc€Ì{¶=ÃP”kµxDç“ûôyBü†«•iF »ßÈÓüX~Äâ_Lµ3À<'Û“O¿ ¤©d¬½uî÷«¡â4×úÐL¯[ób»U}ÓE‹.² ©}©~¸|ö2óK©Ì—¬±'^,Ž+Uˤ¿ÌV<ã)ßHÿS8KZE/Eц¢Ö]©Ê²±õà7ýo§†¥ªÃùU{{Vš/?HŠ”òçÞ‰ÃU@I¹ÔzÜ^x³›å5òäþñ€c⌆Ùc#’ŽÈ .ßt*ƒ8E’Ô Yè ˜#µT‚eöﺯÉœ@U[ÄŠgQ.`içïLêr©Ò8¥›Î+k¾IÄcj¢á`-‹‰úý:Û-‘yF¤ôâ*Ú(¿Ë=‹ý^çŠfµðXÜTZ›¬p¾¯ MdY$} Þ«ÜʆÈÄÌ ÷«òŽT¥ØFW•qrž®ÖuïÕ`€˜Ûêïà¾)Å™}ödpûÜhu˜0]0‚f *†H†÷  ‚W‚S0‚O0‚K *†H†÷   ‚î0‚ê0 *†H†÷  0`/Ò !KÄ‚ÈåèŽP¼$e€›°¼•…s6ˆ“_rõƒÈ M¼ìºCÁEïüËr¼`;«èûªµYªQŠ`ÌA""óÒY$%‡Í6c驲‹\/„KElv×·µsŽõKÔ­fp|¨p.X(þQÝc§o\îíñ¯º´6whunïéý 7B@¾DAWC…y±hëAͰƒ’©ÆúBÙ)¬>Ør"õ?ÏÉ…æfðób’f@ ÚŒß\ ŽóMu专pŸîÔí¯ÒS›Jí““yEâº^Ñ…Â1g5»³;ETt/Ô CçâoàJôÐjˆû“Øšy-Nn'²^@7'`‹ÑÀÿkE´‹•^W[ÁÚØ<ûÕÖ¡ô¦x¸Å¥#\ûa,QQ ]²Îy"i„ÒÒN6rO’š…âƒÿákÑ{ž¸{ ÍgÇo\û5ÎRÁ›êŠ'Pætã•UGœrB`‹×á[Anaö¢¦œ‘YÕèîé³U˦`ô~Ž5õÒñòÔz å-Ø(µƒ+®=’óác+¹Ißß­¡|!ÀàδÊë4ižì)Ǽ%JôN!RI>"Ž“íÐJJÙ/<þ/•KVÿÑ•$!M=1 ÿŒ9ò†/ÝO¢Tñ‰Ó¨£Ç'išl+ƒŽpi'ì8ìzåÁêˆþu¹S'N-Çðü²qáÛÇd†UbÌÏþÿF ïÌ—›|TŠ—Á¤."§`Žé¢\?•Èó#ꪲ:'Ž€3Ÿîco€åî{Pj9ЬŒ+Båf„êĨ!TÂrèëGô§YÞn‰>O9?1ÿ$0¡ÅÀ27ÀO$í=ð‡'ÉHaðoœR‚Ë&úùÁSšúhØËç*Gá€éM"Ç?І]°áªc†øÃ~7ëX_½ ¥Íÿ²}ÂùÚÃúfÐÞQÎï°Byx¤óPw¤¯xéQåcÎÒª’s \MÇÛzõ8”)ñ'çr,œâ¸Ámë9kÚ›Ñï~_uOòœ]‚M%è•@~ 2\Ëöƒö¿ç€­÷ƒm3”=$9Rºâ-:øqdzíÿ¯ˆ×:ìseç¾Ç£³¸NÄ1J0# *†H†÷  1server_cn30# *†H†÷  1ƒ˜ÛqF›ó` ó«µEa€”ñ0010!0 +„œæx^Ñ.ª\~IféŽé2ë!"0/zeroc-ice-3.8.1/certs/configuration/ca1/server_cn3_cert.pem000066400000000000000000000027141516567600500236460ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEHDCCAwSgAwIBAgICEAMwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ3WhcNMjYwNjI1MTAwMTQ3WjCBpzESMBAGA1UEAwwJbG9jYWxob3N0MQswCQYD VQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwG A1UECgwFWmVyb0MxMTAvBgNVBAsMKEljZSB0ZXN0IGluZnJhc3RydWN0dXJlIChj YTEuc2VydmVyX2NuMykxHTAbBgkqhkiG9w0BCQEWDmluZm9AemVyb2MuY29tMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1GGS3um5qHVilHSCYSDYbkV2 h7i8maVu8IG6Bef+/eH71aR1tApxHQVbdnii8RV+dheCIJ0kHvQ9qzKZYnSF2nFj gHpXuM86WCprr9PSKLQgwPV0IJ/Xo4y83c7x/C/w0sKgDIJEIzHdkcy82aYHfDkE 397OzJjltkFSpdxE4rrydTp9S0ohuk3KUuddhHMHpbkkZ50jUlcpm2ad826nbu4G 7qdcUKv5V7CdSQrCWKd+46tq8g3gE0ytlPwunYpQa6Z71OhGUgkIPYhyI4pRa4ML T5+aH2/COJXE4l8d+75GTmo7lzbaKQD7n1FyCe+AAmIj8Y4CrOsfKduoTWNVEwID AQABo2cwZTAdBgNVHQ4EFgQUzKRuquaZtLe7OAtbkDyivQlry0owHwYDVR0jBBgw FoAUMJ+2glf+XyNpfMgf/QYIWv2tf2cwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQM MAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IBAQAKxeUyUriXZ4DAgkbVinMx GN/Oayu7gapjwpMxWSwhV/J6DJzHy5DUrc1ZJguUMbDQfaqFTbUDVETuLjriUceO ltgfCGeicIDOkE851T6jzmwfVS7T7vzVyhgQNEYnHdH30xE1gi8z1z/TnbjZD9Pp hAOVXeBZ5TnvcAL74+8gKKIbF/sC2GBeYcjT54BG64ee/1UqPXA1TbZdh6Gcsox6 4+dBkkcXLO4UqIJVxNJRm9QdAmeBeppYETYkkN1EAbKxtjmdhevH/yk5c9N3WLln Cj1/0beGtAQE9K454lRNkB/tr1rUeMzQLCgU0rDkYONVh7am+R8xswHam+idDA8g -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn3_key.pem000066400000000000000000000032501516567600500234750ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDUYZLe6bmodWKU dIJhINhuRXaHuLyZpW7wgboF5/794fvVpHW0CnEdBVt2eKLxFX52F4IgnSQe9D2r MplidIXacWOAele4zzpYKmuv09IotCDA9XQgn9ejjLzdzvH8L/DSwqAMgkQjMd2R zLzZpgd8OQTf3s7MmOW2QVKl3ETiuvJ1On1LSiG6TcpS512EcweluSRnnSNSVymb Zp3zbqdu7gbup1xQq/lXsJ1JCsJYp37jq2ryDeATTK2U/C6dilBrpnvU6EZSCQg9 iHIjilFrgwtPn5ofb8I4lcTiXx37vkZOajuXNtopAPufUXIJ74ACYiPxjgKs6x8p 26hNY1UTAgMBAAECggEABlbWlPEXWb1jO2N85BxLCYOTmvp7JVToSk/STHcqcnaK gfZ+OD5a4Pm2IK5PeBsNosW8hxpZp9OKJwWEHt8JLcYrqPvoiWYkwNlHTJYUfvgy xWpY1IPLjSCtdIDG/Uw1snzHsofi3nAQboJ/co7/nd1v1U99Dw398Uzi2XuJJ4FM u+g5az43xKT5v1GPh9rOEgMAwjxtxpJaAh0lAMRjjFxVQAYwS0AAf6Y9C94ZRHdF fZo3cDRkk4kUaFCBPy05f3nsAOb9WqsoxawLgpW3LFpDq9OaCFk5TZwiNUqyA51u rEIrWhPfjgrc5ZgdEMdNdIWx4yfwl7Ct9xIbFzFkaQKBgQD2tGyBiPJNH//Xp244 BcQ1Q0IuWFJGudaYp2jm3Ht0qLPDkd/E0ewQuQJl81z67/NQ90dlPyf4BvdhiRtn kFi9OzCMN/dLoUY0XHycF7zceRz5KJZGFaz5fYNBaFZeyNw0Zq5XpyiKhyDvz7v/ oRMXaHIlrj31x6WDHC7RO6mBiwKBgQDcYhVUUUx3HY4hkcLNJekL0O3+eC44ytOB H2Atn8lukfur/Qkoos8I99YPzHHNRI6rZh1ZHaSnV94KO8mKWTtYbM0pi5STFmwM SJY/v7HrPihin+Eaz8ZGoDsVsCOUFKjXxlbu1ThjwOFA8vBKyuBvV5bn1qvM0Y/8 4ot4LCnbmQKBgDmUYr7Y97SIg24R5eetcN39lLS8aHeZaDy41gML8sSHm21J3rBR ToeYprak1k67Mk7zZ/Z5hxqchaB+H6dMSWnhJrOTXGSKf5g4/dxwrePHYLvGfUxe QsD4Smo5r+7vcnXIgWhz20J5x3YxRe+j6JDOD9Y7lLqInli7ezHaevWBAoGBANrA kSNsv1XNBHPV12MCqlyMOnBIorjEu0SD/FfNL4iNZx7Ev/6R/KeOOfDcoml6D5Oa fK8keXeSBFhsGBU3lWykMtF2Nzf5Ha7jriABC33R6QxcXnjanJkmGv/gIrCuARqN SWUwSBTcM7rgahwTXMuoSaY+s7FOonoF9SKH09ShAoGAdh/fz9mwIcB1rh0EvUKM nG7IGP3P5rS3M0dpwqG5kUtnga8YsxlpmX1CgwOmaztodk5GhkHmVNB6UNZ/nalV vLb/tdKd2708c954jdogx9Yq7aLCmrFXfQwcXsBJpLEBTEpeu33yRMgzYjncgeZ0 TPRpq4d987nXSMUihVemyuc= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn4.cnf000066400000000000000000000010211516567600500226050ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure (ca1.server_cn4) CN = localhostXX emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth zeroc-ice-3.8.1/certs/configuration/ca1/server_cn4.jks000066400000000000000000000066171516567600500226460ustar00rootroot00000000000000þíþí server_cn4–ü—|¨0‚ü0 +*‚èv’=;¡7uW:žEËú¼#­üY¤Kµ(£‰Êl6 -ˆùð[®ô á,¦üŸØc¶uÒËL9>ü±m·´D„e;¥ý%5×ÂT"åa!d³û²ÅÚ mDQ4rïÅi}ÞóÆ.-q„S½_"ˆ·9Ñ’†ÙÛj6¢)P¯ ;!Ö*¹äÚ.+àŸ§ŠÒCK›xUÙ!;÷Ñ:C•¥£õ{q¬ì¨æNð‰0¢á#ãbùÊò¸£‘t#“ ¥g…$³(äÁÉ©q›²¨„þ©zÞòóé‡À + 2Y²ž¢ì(ö ù$êX¶Œ&]t‚V[Ÿ¹<Ù'ÑèáQˆ}«½Ä=uãd›NÌuø‡ó`sA>sØ ºãŒöçöl 27ƒ…Æb®©ã¡õø1;ƒ4¸ÓTå´ÖΫù#1ðv HFEÑuX±ô@Z€?pŽu±@G\%Š{ò㺵t*±ÛBa€*´zäÉP ” Ö÷ØùV­±>B”-Is$ž2!"#ø 7•¦½Æ8VÿèPÁ[-% Áÿî_êd8ô<(cŒ îã.„'HÙ,…z§.*!Œ+§§•?œ±êŸ 1ÏA ô›œlA¼gÜÈ*2sf;d¸vÿv›/lŒýz˜|±5«ªTt%Éªé …&¯’¦ö€.LZ°„¦Ãgkˆ\|•kVÈæFÝ‚=+t ·ÏàyzŠ:>݆öÎÕg¸õ§ñ‡Ä¹W‹›+·)ÉZª½ÙˆgÔ Ïš1(øe>p/^ÍÍ{'g ÙxÖv±öF#õ·þØwEöù0A%‚Šõ ,Ñ|–œX.509"0‚0‚ 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100148Z 260625100148Z0©10U localhostXX1 0 UUS10U Florida10U Jupiter10 U ZeroC110/U (Ice test infrastructure (ca1.server_cn4)10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚¡â¥5YÔƒ©Ní^”sñç$Õêb¨^'Zà‘ðEc¡NŠå¹IPW' Ý"‰ E51"Ô™+OHw›dõÛã¶2¯/Â9±Ý ŠHÄŠÇA®Ÿ X2Mµôˆ ÁÒtÜOWÜæÙM µcu¶ë*Ï£eåˆ;kå™eRXß27„0‰Mâa'\€ ¬&¨Á/©È”Tƒ]°÷èwÒ{J6R'تcò‹f&fæ©™³2heÄ«®îc\õ‹òÕÿ@Øu>øJ—x§™¬œ¢LÌ“2EKJþû÷A¯† <©_ÜÑŠ±‘† Ôb9|„õ5ú¢ ¢9?ûÚ@Åç£g0e0Uûfi$E%¤/ç6ÏÃîÔ³AÖ0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿà0U% 0 +0  *†H†÷  ‚_UAÂy¼’±íÌÙÓ0ó µ"’[q†:ÐÇwˆÙmh5¸í "ü¥${EA]Ä5V"t fZÚ—Ò ö>] ù‚Ì“zº“0ìxÈd˜.ªL#Þ߀åzJ šd¸ÉtI+xÄ4MžÂÌ”bD¹oÄuÑo°â9˜Ën@˜][îÂ…ðñ:Oþ†Ž,i0ÒÔŽÝÒ‰!6£6Y×]nK{x ÁËSV•Ж aŸ¦e?mHp$ ™r #qÞ½—ã¨Q‹i!‡<†¤]€ä ïñ!4³[œDùO€ÃcÖy“×ORnÂîa½)<î•íæRQ_…ÙX.5090‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}òzeroc-ice-3.8.1/certs/configuration/ca1/server_cn4.p12000066400000000000000000000073621516567600500224570ustar00rootroot000000000000000‚î0‚´ *†H†÷  ‚¥‚¡0‚0‚ / *†H†÷  ‚ 0‚ 0‚  *†H†÷ 0 *†H†÷  0áý%}€‚èI@¢–¿Õ־͇ ¡ùv°ÔÞÔâ"#4¡.».œI'°‚A¯A ØÔÖ•G‚>yj#Æ 5.Et¾æ­©Èñù=p•åâ^«‡% 0§^›íçåyïM‡-—õ££Ü%£AxQ`2V¬¦ÊÚºx²?UÖeŇ½„6§hp+<}šÏ±6noÈ@RNkS²ú,ÿ)iÊ<•päÅ?ƒŽðƒ˜”F"o£)i@ËN³ü,–Mº]lÍ»^’Ë3P ó³áó³!ú] )”1·¡Eh¶O§0Ô—w·”ŒfCâ¯f$¬¸òŽÁ™ÕfÈÄýæQ9ìq®²F‹¥›ü“ö í$zº}}MÑŠÀ⛎1ò»Ý´,”†òötDÚúƒKPüPÎu<ĽÚÆk2mÔ±•ß4,ø¸S‰¬Z–Möüã*7Ô¹¨Š(ŠD…òóâ1Ó¹5PÙš¾Pøš3Õ67¯.ˆ¼ËGùÍ£æEÓÊÐöv'­ÿñbþŒ¾· =v”`#ºï> kL6#­ee[œòq^‡ƒ Úqb©F2Z±ƒ H³ðÖ hŒÝ!%±Ùt>%¾„Ó|Üê=µ ^5°[—¦µØÌ£§)¹²ÅÂIBñM-äTBy¹Ôû“Ü÷‘+>–~»ÑÞ¾¸<Ææ«k1Ò7)Ü"C-eT\Û]OŒýt¶Yñe'P ÇgóèÁy@ûícÔ¾É4 &0¹\ÐØÛhÉÖâûœKµ½’Vz]%”ÎEä«­!ŽÉúW»;tÉûP5R<ž‡SÒÌæ½Ñõñœ¦.Ut©Òô5Æ;µŽ8Dê|Ýâú/$ñDB7$<êNéá2°êm UÜHl=]"ýôO¹.%QMâ‘ "3S~™µ4”¥•äݤ…:J^?ÿb®Í.î†fÇÝsŽnTl† 5|eƒgcöžµ`aÞt´ò ?Šr»4Ì@j^N?ª´8rè OQ è+{ ¼ aГc£UôéÌËàÎY9 /ç-#¨5¸)™¼ «ýYLW+µÏ;ÌŽW>£)Æ-#ê•Ãöž˜9`¨cÊXÅuîƒ`ç“5³«ïÖ$ ¿ÝÍâ³j|ÈñÂq;;u[f­ Ä|dš\޲j¶ 9K3ÊóÖÛtí/~@V Ðæwcay=þIÌ*Lì´ T9J®Yy:z™þ.+Rž’ò¸øîõm¹ÇßÃlë« qæÿ¦Îr%[užmvb tGåP"´š-js$ ȶµ°™Ó<Æ‘ ù‹A =ü @)8‡H½‰VKò›äÜWAŠh“ ¤èÌݰ[z¦»ÈÈn3¾ ¤1TKUDåË+ÀN•ÉæjÝŽAÖìœABü?CšaZ ß¡ˆÍU)~" ÏÀøÛªï¯׬ÆËn ö·4 ô¾ÂH™©qeßÙzm-\fÐäÔ+£ÍyÔTŽ[±P‹K›ÊIožëòn/p­ JI“ ªúvË#Îî,Œ¤Gწëƒ!½&0@M[˜s"t{¶ÚÑ–öZ8?Z~®U”¬‡¢ mµƒèg÷Ä,ðƒÏ‹Ÿ»Ý4Ue•¸ñ¿>ó¢ò”­}¸v•Y¾ÅÚ²‡mŒ+àfJQº}gòkYO_C?­ëîjÛudA§S&úÚg öIvî¦*ô&zy9}ïÒã¬Oì *À€;)ÐP‰fûÕëæœuÀ•ÆÝ0ìAb¼¢:µŸºÆ³ÏN€s{gCØá‡è(”o¨Ï#,Mø:k‡'+3ªÚHuðøi¼ÿé>ŠÀ÷Ñš¥½t­ŒmEí6P1T ?j‰­„z|9G…}0¥ÓãÃIÜÂ0ÒoÔn<‚¦1Ú“"­gÙ1IBÂÚ3Çñ°iëyfx”33Æ„"(‡¨.qIкϴóyëÑ—éˆÜ*æÜ¯UÓtº¹nÄ&~…Õœ‰¥©©BxÜÖ>ÑõÜ—¹—)î^þ¦v´Eðú…ÖQÎGƒF‰òXÞïgˆ¼ÆZ&XV%=ô÷ T“‚±ÆùýöAAÅ•hOŸÌÌ}ñ0\±h “£D#^hÏÌ4Ób%½iÄWƒ£?‹†¬“ä­JN½hê­L¥ÐŸ‚£ôPøÍ/~÷”2¡¥DÓÉ (’–¬T4ø½ˆCyŠ5*r×ä"ýD¿óH°¸®›ÚÔó­ñk } e¨ÄrtÌüïRÿ޵–íÇÔóY´ vˆóàù7øRöö¥{ (\2XWë^¬mó@&¥~;S;‰Ýn-]25FEÕqs>†˜ºI2ÿ±L. ±ÿ0³7!¹´›ì×\Žd,9Å’ÛwúiÞr–±ófÈoj{Z¦|1´T@.”È|p"®«&ôr;èMÅ^7´”oº6È×Y"ûxsl2Û6úrÁO¾ñôp=¯HÅ„÷ݲÌ2lŠé½!´ŽÎßæÍaRüé€P¨AMJÃõ.‡aˆ=­ @ÅÉ«ÃOOþ•€¶æÄëA¦!öèX1ÚÇS±.ýß ).À21}˜g›ÙÔòž4}"³6£ÿ©ëÄì³i†sˆçЂ·¶Ôçž BŸ=<üçØNØ¿‹Ãë0ý$¥ãuF^!ÂÜ IÌkޤA{(»§v9v•$£4 Ƨ‰]ާ Îz­ùå©W4= w²ó¦¸!ò³*Â÷X-m5x>}kCqòœ½¾NJÈúO4Ž‹5¿]$'~3¶Q®ßû&/ÆJflüøPw†w 59¥ÝŸ/ª÷ ÏLžjªr ïYï\Õ†Ú=ÕŽgÏ“º*[௙hB4Ú0œ©ñ…ˆ™ ¹9y¶Lh™vb|x؆{ßj´ÜÊLï1ŽV`¹õG”Hê(KEÎÓiR¸Š ã-¬ÑÉàÇ8ÙoŸq‰6  ÙýĿū&Á9QÝÉ5ôAÆF·É¿‰8UôÝE›V?JÁí*#‡ê {Ÿº\ÛÏÜÆ—Dk˜ÀåïŒúzTfùMøµCßÙe>[s¯ ÝÄX9 c7yöòœsM†»3øñë"¼“tâ×;õD*µìÜŒ…L —sS;Ä“¶¡õPäQ3¨„ @ÆKõÀç[`‰+&<á€%×G€å/¶•hâG\POF×qº>•ñ§6è×-A rÔÜ#ßïI´Î.eÁ”ž¯ÂŠlW$9=—7Ü0ᎺOZ.´yIb9¢a_|Ù7TŠ‚W‡žQžÐ¨@XXv1åõ•-NHÿô>ç¡ïf*fß¼éBÝ*ù+[+’,ˆ§tB¦Ú²"ìy¦Éˆ Wøs?O¼ÈËP‡Wq"‘|ØF?ëòÊ^Sq°æô)Ló—pªPÔ#];€h&jùeÙ±ÕŽ„M }.Òã‡Ã»ÐÖsU5(Äõ!ÀN°$À“sÛÎdœü»> :¥ÓÚR7ñpiwÈÚ`¶H>¼7½ñ·3¯}˜bºÆâ!«q¯`RýC £â¯#‚ÙSRÈj“§Þ‰@Œ4jyP m–.V¼HcÁ>õ7¼°êŠž¬>{Õ왶ΰ»±K¤Ï*6_Æ¥Fc™q÷bÙý¿½ôá7ECq¦T³“Gv`lE—׳b¢é~Øù ðw !ì.¬›”4 sVyŠuù™Æø8n7)iøz ãSGT„L èÕ&(»¹!*Ì xäÔuFf™ù“tú‡0»Ì˜N-õƒqmž®ìFCmˆ0Ž|­¹D˜§VXäyþã´ú;˜š‹å¼®œ©¤^ÿL&òCuÚh€_•ù?1ßJÆf|3©¢ 2±ÕR/WgªiP ;€š½HÞð‡MøÔT„K‚n®1¦´ÑÚjDÿ/݆þúûŠVB(`ZÒÔ/{¼‰ÜáÐñ F¡P‚ž#¡qÛ*Þ׃OÐt1h,ðM†éEØö’„Ô40Ìj®«`Ï‹S’eN <‚/£«‹Ð‚žpŠm«Ev¹Ç!9p–ukfýM û³÷ÌŸðyU’Æ¿Ý*4 ÅÜn0ìÔ°û„è›»·¬ zeãþÕìý; ïL¾KñÀAÄÞìþô=uN¨lZ%E¦^ BÕaa„žœ•gpæ¹÷W5GÊ·œ†Š ÓPX×à1:ê*Îl›Úù :¬;! jJ¡R"•Õ7·î¶ÂWàÀÁ"òy2”f1J0# *†H†÷  1server_cn40# *†H†÷  1ÌÜ›Ù<ÆÞt²+›€·W$›,?Õ010!0 +ßòÖcM› fÑÇiÞä6ÿK·ø§k–ÂYzeroc-ice-3.8.1/certs/configuration/ca1/server_cn4_cert.pem000066400000000000000000000027211516567600500236450ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEHjCCAwagAwIBAgICEAUwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ4WhcNMjYwNjI1MTAwMTQ4WjCBqTEUMBIGA1UEAwwLbG9jYWxob3N0WFgxCzAJ BgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4w DAYDVQQKDAVaZXJvQzExMC8GA1UECwwoSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUg KGNhMS5zZXJ2ZXJfY240KTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20w ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCh4hmlNRNZ1IOpTu1eBpRz 8eck1eoPYqheJ1rgkfBFY6FOiuW5SVBXJ6DdIokLRTUOMSLUmSsYT0h3m2T12xXj tjKvGi/CObHdDYpIxIrHQa6fCVgbMk219IgLwdJ03BVPV9zm2U0LtR9jdbYV6x4q Ds+jZeWIO2vlmWVSWN8yN4QwiU3iYSccGRAWXIAJrAAmqMEvqciUVINdsPfoG3fS e0qPNlIn2AWqY/ITi2YmZuapEJmzMmhlxKuu7mNc9Yvy1f9A2HU++EqXeKcVmayc okzMkzJFS0r++/cTQa8ZhgsPPKlf3NGKsZGGBA3UYjl8hPU1+qIMojk/+9pAjcXn AgMBAAGjZzBlMB0GA1UdDgQWBBT7ZmkkG0UlpAQv5zbPw+4P1LNB1jAfBgNVHSME GDAWgBQwn7aCV/5fI2l8yB/9Bgha/a1/ZzAOBgNVHQ8BAf8EBAMCBeAwEwYDVR0l BAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAF9VGgQdQcJ5vJKx7czZ 0zDzC7Uikg8eW3GGOhYH0Md3iNltaDUZuO0LIvylJHtFQV3EGzVWInQLZlral9Ig 9j5dIPmCzJN6upMw7HjIZJguqkwj3t+A5QF6SiAbmmS4yXRJK3jENE0EFp7CzJQA YkS5b8R10W+w4jmYy25AmF1b7sKF8PE6T/6GjixpMNLUjt3SiSE2o4E2Wdddbkt7 eCDBy1NWldCWC2EEn6ZlP22BSHAkoJl/cg0jcQHevZcZgeOoUYtpjyGHHBUGPIak XRiA5CAW7/EhNLMcW5xE+U+Aw2PWeZPXT1IEbsLuiAii7mG9KQ887hOV7eZSUQFf hdk= -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn4_key.pem000066400000000000000000000032501516567600500234760ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCh4hmlNRNZ1IOp Tu1eBpRz8eck1eoPYqheJ1rgkfBFY6FOiuW5SVBXJ6DdIokLRTUOMSLUmSsYT0h3 m2T12xXjtjKvGi/CObHdDYpIxIrHQa6fCVgbMk219IgLwdJ03BVPV9zm2U0LtR9j dbYV6x4qDs+jZeWIO2vlmWVSWN8yN4QwiU3iYSccGRAWXIAJrAAmqMEvqciUVINd sPfoG3fSe0qPNlIn2AWqY/ITi2YmZuapEJmzMmhlxKuu7mNc9Yvy1f9A2HU++EqX eKcVmaycokzMkzJFS0r++/cTQa8ZhgsPPKlf3NGKsZGGBA3UYjl8hPU1+qIMojk/ +9pAjcXnAgMBAAECggEAIvHOvWXmpnaEcVDTVn+vHhQy5DW1D9spIyH1sRJvvlrS YEUFb+jOifHI/NNOp/sph8W9kgz6S4YZy4/kzFmdsQkMidXqR0/zABfDKRAcMQUR r8zxkvVZ5xRBJeCSEJ3Nj9IUolR4GDXh77NiOfsGCOgnlEsTsEO7d9WUFKGQlKMl U1+jzeTb21qrljQz38kE8xUNi1iwRUVMBBm5iWBePQTx4KevCmTcGgYbQiiejeeK mZTVe/6+OXCybhE4FMsQBT0mc0BmCrVBPDAA1vLRXvGoQXth2z5pJI02vFhgwEds Vhp085EII1b7iiPuBpzg7lpdKvFooSAm1RC3D/VwOQKBgQDUUB1JtfMGrXHyZxFp eIzBwesi1oYRU3LOlVPBCMyH1UTGccLLJwD7QoKZT+2qMHmbhEKJuyecP2eKm/St aU25+zTWt5LghHefFg0eyb0U14uJgZiu4ExKLp7DRRbyDkvMVyDELuwStscYShAc 2aucNhL7m4mlvps3wi4d3wNkRQKBgQDDMYcMTpU3yjnDwFfhYkGO2F9K2O1c/icL M1nDvt1NqeD/Y+fjZghzeLk91Tm5dDcUJhBT4pzcr58EnSR8f2f2u3nutpFu0Or3 FVR+/vquI/bWonpV0XT67vm+PtjMoWaRf11UECtc3napyGKclthH11UMdBYLVSk5 vz71WiqiOwKBgGrEYwYXXsBj5qJs3F+6xKYHW7SoRsFdwqVKiNTRFPHV+QEGYlwB IEg6eSyZ+j2UpQLk7wUOPewgInSc2t190B2Py1GS/WS0mOdCkpSCBPj/L+eVaW+/ 0f2YFjTCgLh3Ifz/b7XYltUOX27Ch/nKKLekpcUrwXu9L5dJqiFRbgY1AoGAb5yI Xi8o/8ewlBANsCCg3+81PfUgdMYWyT7JmzYuENSMhTw5Qjv7pRtowMSFx1d+jxTc zTqM+1uoj9jTHiUz609z/12Bd14anMIjmKJv8Nc7s6sgTKYCP+IaCACjsw6vOY8c bI76XJYQQDEGwgc3EI0+YmqWmFBPzGdgtqaiLjUCgYBhi3sWTwPRIL0uCzQh14hX ItChhq2+OwRbYF9Xco25J2TGS2m4UBFdk5LR7CdbebeHWBih4IzM5RNj5yG0Le5a bP6qXwwpnzNXVrhpBbPSam+b7zAwIj9VWROdfixHHKUC1i9GGFHlOMhsvj6TiWU7 DaHyWOL8Slxs/94n+rjZ1g== -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn5.cnf000066400000000000000000000011151516567600500226120ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure (ca1.server_cn5) CN = localhost emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [ alt_names ] DNS.1 = localhostX zeroc-ice-3.8.1/certs/configuration/ca1/server_cn5.jks000066400000000000000000000066451516567600500226500ustar00rootroot00000000000000þíþí server_cn5–ü—~?0‚ý0 +*‚éÞl‚î?Ö÷‡a˜×¹—ê“qøæ®ó-Öü,®W1[ÄD;«A·-¨¹o|© ÔìþQ_Ï»XÞ÷š©rÌ!•°ÀÓ÷g~°^ }Çþj.çEG¼,ÒÞÀùåô‚vÒ áq-_?qáàÄ5©ŸESÙNŸ®` ¢ÀáÜ^÷I“EkKÊ4ÛÖgµvÄ®SƒÞl*çÉ÷Æ !粈c«n’òaœ5Zy”özD)^¯¢ÙÚŠ4Ûêç8Lh–œ»í7#âßÊ  …3’áðÇ»>=¥è¥ ÇõÓŒe¼0åõªÚ*¯›t`º+/7õüKDœö4(ÿqä ÙźÏ*ìæu‰~ó'ŸÐm;Ͼ0F€{íÌ+“•„sá[ú†Õq¤ÜS MÖ!‹ºO¢q2–hsHݪ˪S×óÍg»“¶Ÿ^ÇEÇ(Ì9l"ŸId—^TßÈßWUÆß>ÙSð—ÅÜ'ž ÉBŽŽòÊ_ôñT¸P|ï\Õ`UkýÁ*?íÈÙØËÔ•Üí^3÷\«á98Àù&®rµ*ш0Î%Ðñ·Ù“¤—,¥ëu.Ý¿¤¯ ¢*½Û–—ÐW(´‡¢w+ΓÏÞF$’'`Iv'Ÿ(Î@‘P®–ˆó^“òksÂ@w Ü9¿èVþô8yßrž&µúÐ3¥=·háוÅ?šT¢ãî:XSš]ôO„À¼¿:ˆ7ž7/h]g2®  ,ÁÀ=Ç‚k}y·)l“N’+n3öX<ÝÝàÉjñë“—>ÑO&”‰“Aù?î´"ÕŽÒˆX-X»&‘¾ÑíyÞâÂâº:š4™* ‰ÈZÚ6º*Lcuõ-2 ¶áiHÙ»”Ÿ-yPá\—9¾$ÞëJà‚¡s­e“°÷Ð.„ßãEÂÊ^Îd¾ô!3æ°\/²ˆçó/*Ÿ8Ô5Ê<2QÇ» »gÚ‹Áõ˜GEÓ¾Ô«F„X#Ô’¥’Aœsž,¨¤B°ï çsº:&/S…ÇÏbܲŒ ²ü6æ¶ÜߑЂ†øÀ•|®Ê嚆Xü8À‹Ý¯kÊ™¤êÂn¨EÓ¡% {øiI™²,YÂl9¡î؈ί+?þÇN™b{Äû²8ÀA%­ÍnÃëÜEFfü/=£~0|0UôÏ ÁHFH˜pdž s&FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}ò27…óËsÂ.Ì’·%+ÏåL’i]ÌÂOqúÚ™ø#+Àã ñ€ù˜¦ʼ|:%N0ÔÚ„¨æ ]Sì4‚HoɶÈèX;† ”ájÚ‚ þ·´€ô*OSÔú×5””40OuµeúcöC6¯=)BÛ;‚¯Ó|O©Ù„Ÿÿ•^?ï¼p’¦ß}êê£þbî£à‚X]ÿ:‹0_B0½:›N[ˆy*톀qÏÆ±H¦dŒG’ÅáÃjâ‚Ø=Ú÷Á<À*Ãb×M—a¼´†ÈÕŽtPZF©¸ tòdÑD1XØ„B"IVõRj¸~×F¸†otRzbÀ It©Ó„cbH³©B ¢‡úú܈P°*šb+„³Èzí.4uûM#»‘ÓíÁ(K,,‹2uèã¦Ü_&ì¹µˆÖÎÑOØc9‹zжa/Vú&3ç[T2vüv.XðXFIúÇmb¡è¬{Piµ0c¤Â¯Vd?mÉ‹/àƒ„Žrèð}a‰õ…öwå<—“±9Þ_ss!¯ëEHÛZ2¥k `¢ç‡‡»3Pm(s¿šY$Û¥å­j?æßœP:öPY­íýGC?Êv†+O«€à_žCÛ¿¥¾¤ÓÝ”ðÀ} ¾Ø¡ »lcú ´™õq™`ô&… ý¦gV,°­-õUž5³ô@ØŒêXc?ëz;1e4'ËzÖ;yîx/8e½ß7üé”ÑCU8GîwÑ@2·îíÀd²W8­û \Þ­?0š.Œ¤N'tË6ñ¡I Ô¾ZlyùBmÍן+/Á‘:ñ"Öf…e1 0~'/#+K>È–¤ÔÛFÄDi£i¤j„}ÓQÀ¡nþ,‰‹Ênöf`ÔÞŸ2—AÿŠ#|ïÄ–Ú*úej{@ÂZÛÙse(–(!¼Œ8Ààžåüu i5V_f@ôLçL••jÎÈÿòًи“ Ô¼\½²ªõUÚ dÊD1Ã@¯Ø“ ¯ÏE•‘ ~j¹“K€YoüÆà þï”?ªgOÞ6&Œí°Œ•@Í&óFqW?~áz7wÞWn¡u‹¿v+³hzc¿ ˜>ƒ¸´Ø>–ñsV<¥D¢\]òÀ†üëÖ•¨†^£L›aµ­—lÄjùWt<Õr½U>Ê   3ÓÑy¨†òÓ‡½éE†·÷“ï>‚›&f/æì_‹÷‹b)¤R¿ùiFÙ›s5.^e æÍ˜ÿè‰=™a\îdŠtA7¾øÀ¿`Œã£³Q7Þ÷@, ×ÊÐ@1 ž+dúƒÄGI”!¦†¦L•˜Ã…zDÅy²ÉV”Ì–» 5°ž £®ß²R‘Ë0Ù€k›1M¦æâ…Ëðƒ´XÞQPI2ŒLIls¼ºì5 }%|á†( C§ƒý]NÞšÜJnLŠTÜÊ/FÐ=Ó·åÂÍ ¹žo¶J³a¬SFUÉa¥ÞŠL)­ šÆÕªÂ´.Fµä_u=0Â\Tqµ«˜"¯Œ¸C&ßLF‰ÄnÚkn°búèêF­^È_覔ùÈñõãzt«ªsñ0®ÑæjŠ©ÕaéWí$Öà™ÂŠÅÊÙœZ/TóÂN“×}ajóYç³DÖ1ÝïA)»Š9²×s$“Ò¤ ùpŽìèx,ذ‰û¶|—1êðó}F\»IJ­Âв}Ýí£Ó·‡ØÑö “5œG1…;Œq¾WàY Ö%ƒð˜ßEà(ÇkË\$Å4û³0‡Q¯óƒÔfé`õKØ mX±šU¦¶t ZärF²fÐñ–¤)Ã` kq]Œ{˜-é¯úc›ˆ×kˇâùrШœ„‰4{þ‰ìÑN‚Ú£ ÄW±N+ç±ïÏ<·×÷a ½L…뵃êöt°ø“b^0áN8_À±¥¯ãûŒ¡®>“ügëO\òÊxÁòÉÄ¿éßîi^ˆ ì0RõótÂÂåÑÜ«GbOyݰ¬šŒÐâcœtÒ~Ö³Hn§ó+3ɲ ˆøŒ9u˪QîAUÑFÂÒ³u\)0<)Ø.y¼ËͰéÝ™?j3£%ïÒ‹;#`Iúâ_8eX7WùQ¡ËXD£”?ûÎÇÖr ìÏjr-"U)£cÇ^^¸ôm6&.šÿ;C£´¨q)…”<¦c$Ú²¤œŠòàä_!\E¢+Y’÷ó“—4b ‡²爤ƒ¨ï²üÔ"M2ý áâ3Âýñ9?U'f\°©»$í¡ú®.i±B$ “b¤…õè"r/u‰œ`“.ÏdB•£}”ÂrâcοŸ”QòSµˆ¯éÓ0;€ô¼{¾\¬*HŒŒ“‡1G1„6 Å+f+µ ÇoÕMèÄT©û—]±:£­è¦gäõú÷¤d3ÃØ¯yó8•~½–œ%µÉ—­Ãl­4jR¦ÝRòä?Í¡ö/1çÝS·G©3‘n6|ZNñàÇ¥ë¾ÿ mãA¼PQ6Ÿ^åBÖF\WÑÓ5¸Rù‡T}•¬ênEÞ(ÿ&ÙiòÈ4Q35 ãæÌø&ÔÑp2á²ÿæ¬'•ý÷0?zSLŸjåBì½ïLŸÅÉ:ˆê~Ç›ø@‰8 (<Ãk•}b·,ðáÉøh&V €<¼«ctˆÁfÁ ¢¼0¤Áõ@¡9rÀѳQy”¾è*›QE‘:éÍ›å ò̤.4œf˜ÖÁE…„NÊz:’/0‚f *†H†÷  ‚W‚S0‚O0‚K *†H†÷   ‚î0‚ê0 *†H†÷  0âÁ˜Ð¢ Ïì‚ÈNÇbr‚lÉ==D¦µ1çmï~QQÑíªT<åÙ6dùS‰fhªÉèþ?‹Ã%!í2‹gücņš&wàj/AÚLFÌ=B«ÐÎå ob„p'} T Öoí®ÍdVÚDåjCã7̱DûÂ×]1 ÿÍ•µ®Üz#Á_çEc ÆK_®_DüŸ(›]Úü#ÈvŠÄ'ã»”/©zê ‘¾í7rl¤ÇD’3f²Bòáv¯6tï5_-Ñ#ŽFŠÈã@»¢ÝsÖl­.áÿÀ][Cߊ>1(i.œ¼k*}‚¤óÁ¢M´Ïµ?Rý«×ð¹Ú€K¶&œ#O’‘Î.ŠýœòÔ—*£É°'U™ÞïžZ@ÚÇæØ—bͦ½02__‚7æ’»“E¨ßu´+ߨ^Jþ‹qã³q§uÃJ–¸ÌÞ¹£7­µ×‚%€cɲeÒTîÁzŃÊ8bL%?ÔWE9†bä!®þ¸w®ºG*ù0¹¤)„æÉ)é‘D˜/Átþ#pc¥ôª­æØØÿV€Ä¡jÕéší$M»øåx±—1É®‡qPƒYûøåà­¯;®¡ ÀHMÐNþ fÐ_ߩǓMq¼‘dȳÌ3®±¿ ¼…’-ÆÂB<€k‡àI˜²ÔÙ‹J+q" Wëu5Å_Ê [IÌ^iZiP9_¹ç…QàŒjð·MR÷WÅùáN!ïi÷Ç‹øM‹Ó÷Í›p”¿æ¼¯2É:ñ¡áÑ:¾ ,ôª@AåóÓŸÉÙ¿²-Ã1sËÜ·VfìPØàÆFuÄM_Î÷Gtµ²À!Ý-TÄŠ´ðÞåüðÑ)ƒœÖæô›Ì9ä+^®Ò® µŽgßPÓTŽ…ž1GÙ&ßÒLL¯š0žr—ðÛ¨xéàs,®ŒˆZÎ]Ÿ£¦5¿»4 ù&Z¿#«nUU>õ6P™C:ÑhÔžÇT”¶«êâöÍ"²'´;jß-ì䪮ûƒä—T‡Äsõ‹ÄdzÚDS—ì^>µ„½1ÍQÏ/¶ë6HGÉ|€¼æQWý‹z£öY»E#]R˜šíä²ç&]û¿}žGÛv:úQÕÏèÔ—.«kÔÄ ûV‹$lÁ BUms9ú¤&—Eƒj±– ¹7 ó¾ ¯ñvi±¡PeÃB™ICª5ÜEÿåõo'FúÙ=¥¹q+ÔZ(q½k‘¢€òz\Mf)u'7+½¢6ï¼—sࢧ¥ª#šlPaí³!:†—uÓâÞqvCb@{ÖÍAóL´®Mq;Õ\µŽX;G>Këf½0v%žV?J¢qWuRdfm\êáOg’qôq³O»;ŸÏòšË\w†¦–¼ BEZª¡ïMt‡{…z/âjàŽÏ§Ä©ÑUÅ;³OÈȇ|~ÇÐCŒ±}Àªøf¹m_)Cø’–>NSÁÂÔa“>ÂŒr-“T§æcf[2Œq—ì-HC éè–ˆË ®#X&¦¶XÃ@!°Ñe{¨w V+¸©0E‹àiqÌ@d,ͧ™§ºr¦ž†XDò¹«8€ ¸6¬zJjËTÂtØô[?ë1J0# *†H†÷  1server_cn50# *†H†÷  1Y•´¯' ÐG’¸œd»A”êò010!0 +誜ââ7øÎ#¡9Úšà#{ —8¯(üozeroc-ice-3.8.1/certs/configuration/ca1/server_cn5_cert.pem000066400000000000000000000027551516567600500236550ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEMzCCAxugAwIBAgICEAYwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ4WhcNMjYwNjI1MTAwMTQ4WjCBpzESMBAGA1UEAwwJbG9jYWxob3N0MQswCQYD VQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwG A1UECgwFWmVyb0MxMTAvBgNVBAsMKEljZSB0ZXN0IGluZnJhc3RydWN0dXJlIChj YTEuc2VydmVyX2NuNSkxHTAbBgkqhkiG9w0BCQEWDmluZm9AemVyb2MuY29tMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlflsCv2+Iq+Teab9y2PEe//3 sjMOH/fgMFEo+Ji531xARACR1HDAlUDzVqA5JBWrIY7+3bKZsXTsmuLAGgBZjPcb QzBvi1rAsTiLcPyyxoMlpc8W6irq1FW/ISxlNkIT3hwRjHk3x3VaPKYyQJJ09IxH n0JMj8Wa1AqymklF0DhVW+3RGImySvsE2UxP1L3c68TpPLZD9W3OQIHGbTUXs/2z MjXjRK9iSJ9wh9vSOSncJ954Pbn/pFWFGifAyp/Ium4WbYWh2d2GJyOqiNfLcj74 BmlJmbIsWcJsORyh7tiInc6vKz/+x06ZAWJ7xPuyOMBBJa3NbsPr3EVGZvwvPQID AQABo34wfDAdBgNVHQ4EFgQU9M+PCsFIRkiYcMeGDRRzJjxNu7IwHwYDVR0jBBgw FoAUMJ+2glf+XyNpfMgf/QYIWv2tf2cwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQM MAoGCCsGAQUFBwMBMBUGA1UdEQQOMAyCCmxvY2FsaG9zdFgwDQYJKoZIhvcNAQEL BQADggEBAFVP1X53n3HcRXRZpkUpmrzZOPGBwiwSHvVK1kzO/Ex0sMhzBQ5mXNeG Rnekix2uGVjjVE+ok10IYu1H3rk944LKM89B3CIQuD8Fd9HOotl+gdAKhkgJQ6T2 bCzkr4sQ9MW7WKQYLIXSDu9KCmAEfL8fsy5Mkdf7JXmW8/0tuuzyt2rH8ZjVCYIT FIqx8RQ/JXeOlY93850bNPYHNvKQsg1gXX5XIH0Btccx+F0oXeMJKFWpOd+dIO1k 0Ecly0IJ4iLF0pT8zR//CpbNJERJwm4gUcWDjCa0GV+AgFBJCkF/6YTmyGwFwF/d US1sf//1tGsgCAu/j439jLPbX097KtY= -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn5_key.pem000066400000000000000000000032501516567600500234770ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCV+WwK/b4ir5N5 pv3LY8R7//eyMw4f9+AwUSj4mLnfXEBEAJHUcMCVQPNWoDkkFashjv7dspmxdOya 4sAaAFmM9xtDMG+LWsCxOItw/LLGgyWlzxbqKurUVb8hLGU2QhPeHBGMeTfHdVo8 pjJAknT0jEefQkyPxZrUCrKaSUXQOFVb7dEYibJK+wTZTE/UvdzrxOk8tkP1bc5A gcZtNRez/bMyNeNEr2JIn3CH29I5Kdwn3ng9uf+kVYUaJ8DKn8i6bhZthaHZ3YYn I6qI18tyPvgGaUmZsixZwmw5HKHu2Iidzq8rP/7HTpkBYnvE+7I4wEElrc1uw+vc RUZm/C89AgMBAAECggEAGWMtjPbDNu/t0QwZrlJnMm50KbBG1daKFuPGQb7oyAy/ vEM0bHfhweJKzwE0aw1X+MhSEIlpRwb5/oYf6sbgYeJ6tPcACuED+XwO7sN4J+6P cvAJev5k3ijdv+naAENTRagOuG7UqGkPK3Ee1Jt2POd6QFVizHuw5/Afp8p7jPGZ 4v/fYU4rMOaUi5juyyNDvhY3IWrYSRrl1pcXrPBXxyIQeu0izwqjHbW68e0wDb8S ouNB5iH9HN/buKIzfHhWTJDtm+CKe36xGr0Na9OY/98fRtWNYrSoXgcvO3PBQFGx xCZKJ/uwbwy5Ay1RxWbh6mRXlWAo8suASMXKfMXqAQKBgQDOmVw4hW2XHpoHTJJY 2mk1znnCFOKYUcUxO8vLZz8UZTCD8CeMzNTkH1URzzq5+1ePRxrIVUuapTJxidTD pe5rrVB8VXXRBS2NLXOR3/JHJ+0rbI6F0SeVwEXMXo7/hCApS51nFVayQoEY97R9 p7M7q6Y9PE1EWSo/lvIo+d+oQQKBgQC51d2NSV7r49WsUdmF5/YRpWTgjYtbzJE9 OHiMHxzm2D43rkoEaFA4dxTpdZGWoLJ+ToOcfg47q+d7TM6UIlfb2oF4BBMtLaO6 i8xt7TkH+Li8W1jMXIv+hBVDWi8xb/WotHJkyQb25DdqWV/5tqDEDjnzz7kXh9wm 13u+thEn/QKBgDLm4Czg2v53wLV5rTkNHwztwVwLL0UeKHqX4/9KgeUxhUGMowHy 2aUW/yuzJiH6hjk76KJhOY5xkzscHXrS4CpReloX6D5Gi1GUWDwhtBzJ/opLZdYc kSc5RzkyNwNHd3EVO0PRoxmqfwo6xZKMBgH2qa++sr7bRSiDtUhZQDzBAoGABD6v Xd/ULD07D0GbX2SqCUMm574z9bfZhXV5w3GefmNoIGt5w1oCoxeNQbvuxGsNSLdQ aE2004YctoNNoLKcISh/lpc5POny+HrjA4vMprL2vU60244toHWx6qTvuQheqyjc CBNTdmZGIcbC23hhebj9d+VBzBjNXZHEgNm10J0CgYEAxtYNbV4DzBqjl1KDE6US 6I/ROlf5BYJftCi2BTQ1FHuOn5tN/tCTCUEK1JH2Y1VOxkPE12fg2C5YOZGBPc9C EyNZXYEiF/pQq8zz7Zv4TMnZymp5zkh4hKT8MJlmKz2g0sl2kXDk/RkY0nOSuppB 4sEp3ynWQVqEgQ8enA3WV0c= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn6.cnf000066400000000000000000000011001516567600500226050ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca1.server_cn6 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [ alt_names ] IP.1 = 127.0.0.1 zeroc-ice-3.8.1/certs/configuration/ca1/server_cn6.jks000066400000000000000000000066241516567600500226460ustar00rootroot00000000000000þíþí server_cn6–ü—>0‚þ0 +*‚ê6ï?i¯úsÊ·ÒÎÀso^€ì1=\ð¼ÛÆ$r­tœ¥ë(([ëðISr:ð„‘½Ç9¹nk_®ÙdwÛ 0*Áq 3ÒÙTï˜äQÀÿxø·ê;~†Ot. q U9ÕÂsd4¼ƒª0Äi­~ç«7ëÿ¯í¼ûÎ[ãáõ x¿y™*D»èä÷&ºÂG¬)!o긒|XƒÈåðxµ8GíÆ%*¤í´$¹âA.?̘Ã0p¦•jÒn¨1x£¤Ô´î¿ú ˜6€acu/¢ßìñΙ„VÀ±Ï”6½Ë!̰¸¦T²õýIzOòÜY¼Œ«ÍZä·ä{sÒŒ_úŠêGs GìV`®…ã¿Â@þðöM8‚ 0·aÊa0]ž1z¾F2ïV¾ëý9ìÅp@Ì=ã~ÇßÄ íIj,RPÀîyE݆Ìa2y2 ¹ï^ ´så€s´í#Ùž[l®­ç ‚G'Ç`.lBvÛro«hïx7«Xè?‹..õ?ɲá.Y)k{S"6)B±]c«bS™Ñi1rMc|E,«ÒzÃ,"/ 7sZ©°±ƒ/}œ´Š¼7á†VG7ìžM»Ë²2…œNa®Ò_žæ«¤QNŸ“—´Su«ò`•®Z„1Îýáò"­>=· ó4Àix°m46@’k-BÃðÿ‹ñ¼1Î(ïp}¢ (]‘àê-1Nõ˜p¬-å-¤U£¯ËXÛ!Š•ÌŽñ@PÊO#ÛdEæÀëTÈ’Œ(›hLÖ~4?°Ô‹ ³µ?[Q˜çAoïGêbÉÁêµò’Hº¦nMŠžïþÂv9±C«Ùª©[6•£~áïk®RRš¤ ÜÛs<·Ö¹§¦DŸrÙ±Ý Ér@Ã^bnÅñídð" iO*ˆ&ƒóÊcpZ"Všs‡´ÚQF€~†­«™ÒÍö›ÃÚV¤þ¢Æúsîxò§÷31— Ü﫪΃:¬XÆ©;I¸,…—Õ0';OªöËíìr¹KÝýˆæÜ™Å7ÇŸPR”Ç0L!îmLËÕAN|nŽhôI„–#w`,®ˆ®L¸0x¶OrÒkh"’÷”>·PÈ?ÇP^͸,ÐÞ÷+=E[Ý ¡ß|÷/Ü´{ÙRÜr½ù{ûý“Ôõs!O’£ÇËÌê$§ò©ýÞ…ÒÁkKà’îúƒ¦ÔbdÜup/XŸ˜ù¬¤Öj™ù¥Ï(ö*Š/Æu#lÃ-_Ø÷^*€Ùà($.¾!ÖbÁ…UD†À„wÊÌ,ùs‰ ‚§ ¢Æ 3–µ1¯{“#Ùƒ½ñÎ;&å7–*RUdHàÓ¤óæÒÐØ¦ö´ˆØª2Ίs0ÿ·NWÞ¶š°®RÌMY%A\Ó +ç‚“=mÍÜ…XX BÖ2w±r/h‹ÅÖë ‚í²!&P3zÍÙÁœ%{q\ïƒør¿+¸«xÀ®›/ÁjJó>à‚ØÄËÀµ9°4ä'Ž®¯2»|0§QZÞ¥X.509%0‚!0‚  0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100149Z 260625100149Z0›10U ca1.server_cn61 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚Àš ±[œÎ&z' À^ѹ—YÀ©ÊÍÇO÷¼eÚ^Ead¥9 wcÐ?SB7þ=Æ(Ñ»3­ \SS­Qtx¥âŒ‘>Î*ÑãÚ»”nèèÙä³DÒ´P ¬ÕÂfw¬âÍêÖŸWOB—C$AåS ´[cÊÐçzÁ–Ò˜ [4ÙÉú¤u“Ž_73ëËyw‹¯½Œ+ñõ¬ Ú–»QÀ'!ö$¤~(`Á¸ 5Óu’Ôï×9Lõxæ¬'Õþ+Äp…ÝF¤p èÏò¿ªÚ›ÎÃ+úûe‹£ÇE÷Q."¬‚t–HL_I&³F "8Þídœˆ5]©£x0v0U¢*äµ×'uÒIþ¹QQb¬ 0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿà0U% 0 +0U0‡0  *†H†÷  ‚0Îb|]›º™m-]F<,¶»”Ü|`?ù3b»ÌãÜ4gëqÙßë~‘‘†ÊÈ é¢‹½fJªÊÕÚ•Dñç–SL,ûS’ãðÔ´<ð®r¨^íüiÔ5ýø§ë[";Ÿâ;Ð{å8feàî×—t¶CXË~Hë›ó=¨’†±'Ѥˆ/ý©Î„~½è¦›w°qu¸ÔÏší ›CËœgjÆB¯”1½Æq×µ¬ÆÖ°™v»ø5,Âb¦.›ÎÆRŸ¥PʼaþžÀÚ8÷ô<9F;Ù†lYix`:Ñ¡ðDjón‹ÌØÆ×σ¡¤÷‘>˜R|w%*kX.5090‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}òpÑÚ{‹ÀËŸçoˆo-&þ3ÑÊ5™ªêÝÀ/6‚më°°#Ú–éߊðƒýV?ô ?ÒMñŠ]Öˆ­ÓlþéÆñëâ™ŽÍæë¹øä£âåÞ¨Ýju¬w¾73 Æ>nZ>šiDœÎ¤ÀÈï–fZ¿döfÐ FD hå•™iûî``šA'À„šÜ`ð À•žÎ;Ö¨[øÂ#žÊì¿è_ÏÅãIúϦMɈ‹”˜­*`A¯XA%£„h,F‹ÅˆóeW­þ2@_)e#4õ¬AøOs>tE¢'ªñR ÌO¢ÝJ!TKÔ¯«ªhúJÖÊ>ÞËWš€ëUë†üJô©/u½}úÇ|oñ;oÐG%”“Õ¾6›ÞU°ã~ªß &%~õHÌK<¢¼_±n:¬´JˆµÆž£·£}[¡•æ/é–¨I¯÷° £[<ýÚŽˆØ+¾ç»¼p¶lÔùrî7Óê³å´ŠFµç}pôV&;×&Ô„9÷7¥ ¨Ýlié$V£†-$±ZªgJ_Ðj+„Õ¿câŸs¡éÌVøëašÄäºèlåœ!¶±©Ö¶Œ£Íæt'›öï]Æ|i¾h›¿Œ59Aµé«[TfýL?z|ÖÇÏØ ܵÜ#šØSà»çy3tÝã¹U|åÐVUHîjÍÉ8ј\&ÝGU á—${ꇴÜÏlõF£Ÿ5Ó&‡8Y¸)Üj/¨€bJ©âÛ+ d'Œ@$Êã€Y”„‡ˆ}ëi8WvT„:!EV‹„ ì·ª¢SÅÀ ïI=‚º_â¥äÝûd¶ªS qSñxX(ÒƒJi£”Ѱ°ý¥”k’‡w!lœÂtDD^ž°sêGÜÙ&Ú;oj9&R ˜ï•ÿƒ!´ˆ«rÛ]"H¸o©ß¡ñø.ú«A»Ž®˜´*î°,ûÍš/ì¿¶+ܨé3»C‰;ËÁ']8¶”.ª–‡2#Zåg¨=x¯ âÑLÌúiÓôÜħ¸ŠÍŒb§GKšTïȵ®JfWx^f’ Å Ü[þd<ækðÙTôö:„ç!?ðžltûH+“ç%åñi‘æb¿õÁœÿþ¼üä*K`cšOCåwAÞî3Êw£ƒ-Ô4¯{&äTß:Gk5žÝ¦¬«‡æ¾<Û·Ùn/Ý[ä®òšáòzËRÞ”<*_7ïï‚öµ~*›· \‡Ï„š[Þ H| ò7ü?ðàÕ.¡#/iì÷íM¾Ô-M‘&b&%LŒÅ O+M²É¢¤4rJ{Ü¥Ùtбën¹½7“BóIÊyµ0J˜žÕá4  {?}‰‰S¡H!7Z¬HHö^š¨Ê3$(yn½¡/>ìhSî`M¤õBn›r2+—£/é±Àˆ“ÎÐ` ³·£œy°0Q~’»/@æTb»ÀÆBVPrU—9v-AsîOþŠ–8Ô 3Þ×…Ž*»ëÞí¸V7½g- 'Rð`(ú•a´˜ÝëÇÀrmNxøeqTÕ_†ñq°Þö ÕtîG.x`‹É²U<¶n%E?Rcÿl!½ñd þÿ‹ ï>¾'jÛXÆ9wZôÏ’-®3RétŸ~´ÅmõHÑPËÅ›gw…ÝS–§oâúÁ2‘ŽMž/=Kä!ÌýŽ®:½edP_¿r×e2 »úèI±>žƒtr0 è¥&™ÏÓVG~GÒÕ[£yX1aý)TÉÛÄåphSò|ÀÔFf#ú„s¹%Æf xtÎ|Þ¯ÿ#ëjȉ @ewÇIºÔæVX˰¯º#D"ù2­E€Ýeƒpb3-å¦ë3\åk?òwŽ÷oÊœmÆpèZ0ÒcÐ"‡H/_,­ëb*·ÃEx³Qñ |Yï0M;¶}»hp²U’ª7T‘¬æAoaßÊ „…pô2õðõ¶ü_…„Mw ?Ó DÙg9^À2–ýÎßr5´-¹ÈMòDº¢¬ÿ) R* ²y¢ÜBÉÞ7Ý…Œîû=fè8ˆÔu·ŽTñÅ)dý˜Ê!k"ºï¶…ç‡ðEâ\ Ð6@ó=œ›îdôÕ§eÓ‹+!gña°q4—ÎénÖPázáAë²5]XëcGš~éí ñû¨Ì^Aý«Ù¿Äb_¶¢ “¡õ?ÜpA¶àÕÀ7ú1Íðo>ŽåãÔ\‰ÚîQ± ΔÁa©·”“ƒ5Ò¡õÞy- ¦j ](_Ïf–]•ÓÞ6îïšr‡Hñs#Ë×ÇO3ôRòéoÔagÁrÀEëüiŸßÒ”}Ï»7ØK§Øºÿ cœÆµUÔÜ0‚f *†H†÷  ‚W‚S0‚O0‚K *†H†÷   ‚î0‚ê0 *†H†÷  0æ÷]Érb G‚È s=`•¢Ößfó6II²ŽÓ§Ñu‰eoÀ¦.6„#È›¨6‹Ìë†rº£·¯ïBOª¤ÄÛĤJÂìdÝ!Uë[ÎWòìsªxpÂË “õwÁ_šÅ—°ê¡mú{n²®¡>pÕ{¡þåIU/š„4()l „ØKD^–·‚32Õ¬¿!÷ö C§S60 `#þ8€´ï?¤2Eü›¶¼<¯ãC­(Ö©@¦ƒ0ÎëÝl‹à—r`§0â˜æü(³±¡¾¯¼ ¬$®×—J©>uNV¢{Å rtGèJ¥˜Wⴾ횡–wæ³2Ή¿ì ÕŒ±)=‰jñÏ6õ—Y¬µ^õhÂý¦‰Át¢Ó~™L½¨ßæÔ‡ô%¥xf¥¯ß‹½!#Ø'ç•ö@­þîË`Àvs=a/×$qpÏÅzIïO{x"‘önçÂw£FÔጻÀ«©|ÍÃ,„G¦M¤4Læ3ædö7 DùݳBñ*§:ÏÇØ…÷¡ñ3­gú:…%Ü>ÑÞ‰m }Ž>NŠÞ¿ÙIÝLz1²o‹ ÛA`Ìs÷y xUïã÷\tfåÝÛ÷Zø`Fùì²Ä·R™¬L‡è%f ])ùÔ?‚2 É‹ºü‚zsþy›~LâÛ·tÐÙßúáE³xÄŸ&Û°ÃÏ™ß#çÍ¥ò':\‡ý8šGK¸¦S¬KH}0?22èú|°pòLj99 CT)ð.8ˆ‹ÞÎñØ“’L¸- ¥o#hçq-÷`Ê&Ãð€ï&ä±^&˜zaúÅF1g¥áOSÆàI#.«jîÅF&‘‰ø5·K%ûð­Çg×ÚŒb·Î„oDŸ3ý:°£°&š—ç¤W|IûWòNø€êÛ„“”©€h„<=l"Çö^3.¡çnÏzlÆÊâT¤ém¥ô•04W(Ö»ÁÊ»YÞžz©­ÑèRWÏ+ð9#s¸Ù7´}ã…?¨•ׯGi$#YwÄ–¾äxAF$ÕÏJnØÈ_H~ã2_yËÝÜâ÷Õ~ÌåÙ hïåÄr<î@\줡î m^3¸7wAü ^&”µ @%%¶õ?6˜Z&‹?Êm I´d‡@âgŒ¨ <«¥B˃ÔEÞòî¸aîv¼¹hŒYL:ʃÑ;{Žúžðÿ‰Ï©R_tüv³µ aFfºGw(Ø;­Jƒä7ðËãD5w%J–[³C\Š”ÍÿÔ‚»~¸™Å®»Úçúû\~®}E?ÇmÏ{ÅqÓ–õP·f')WŽËI˜ís¡/qW&Öê¦Ü9EØ Jèh‡ø+ÙÏ?ì1•Ü Âõãí³CR}ôf <^|yÞ„ú“ ˜#®Q¾î|DJ3pÃÔ®Ër2y•Ø §Éz :@ãÕ/¯ÌHæ­ò)ñ’ž2ÔTn¸I!ýê¢G*«ýsÍhøm§œèœTµƒ•ª3?¹'ëÔö?s±_’¶Às‡µäåjkšfAï8€H^ì!“úÂSú$Æù@Ë W!Õ©36Òä—xñBñÑ[Ÿ¨q‹ùîcôÄ,Y !²:išr÷1J0# *†H†÷  1server_cn60# *†H†÷  1ïÑòÿ$9Øò]ÔÁ% 010!0 +õ>ç!³ß8K3Hgþï(ø†2iܼs¾åzeroc-ice-3.8.1/certs/configuration/ca1/server_cn6_cert.pem000066400000000000000000000027251516567600500236530ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEITCCAwmgAwIBAgICEAgwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ5WhcNMjYwNjI1MTAwMTQ5WjCBmzEXMBUGA1UEAwwOY2ExLnNlcnZlcl9jbjYx CzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVy MQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1 cmUxHTAbBgkqhkiG9w0BCQEWDmluZm9AemVyb2MuY29tMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEAwJogjbFbnM4meicNwBUCXtG5l1mNEIHAqcrNx08C 97xlAsOaXkVhZKU5C3dj0Bs/U0IUN/49xijRuzOdrQoHXFNTrVF0eKXijJE+zioe 0ePau4EUkJRu6OjZ5LMfRNK0UAus1cJmd6zizeod1p8HV09Cl0MkQeVTDLRbnWPK 0Od6j8GW0pgNWzTZyfqkdZOOXzczEOvLeXeLr72MECvx9awfINqWu1HAEych9iSk fihgwbgNNdN1ktTv1zlM9QR45qwn1f4rxHCF3Y1GpHAN6M/yv6ram87DAyv6+2WL o8dF91EuIqyCdJZITF8BSZ0ms0YJACI4Ed7tZI+ciDVdqQIDAQABo3gwdjAdBgNV HQ4EFgQUoirktdcnddIFHkn+uVGdUWKsCQQwHwYDVR0jBBgwFoAUMJ+2glf+XyNp fMgf/QYIWv2tf2cwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQMMAoGCCsGAQUFBwMB MA8GA1UdEQQIMAaHBH8AAAEwDQYJKoZIhvcNAQELBQADggEBADDOFGJ8XZsWuplt LV1GPCy2u5TcfGA/+TNijRq7zOPcNGfrcdkP3+t+EJGRCIbKyArpoou9ZgVKqsrV AtqVRPHnllNMLPtTkuPw1LQ8BPCucqhe7fxp1DV//fin61siFzuf4jvQe+UaOGZl GOAX7hfXl3S2Q1jLfhdI65vzPaiShrEfJ9ETpMuGL/2pzoR+veimm3ewcXUEuNTP mu2dCpsfQ8ucZ2rGQq8VE5QxvcZx17WsxtawmXa7+Bo1LMJiphMum87GUgSNn6VQ H8q8Yf6ewNo49wj0PDlGO9mGbFlpeGA60aHwRGrzbovM2MYe1wTPg6Gk95E+mFJ8 dyUqBWs= -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn6_key.pem000066400000000000000000000032501516567600500235000ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDAmiCNsVucziZ6 Jw3AFQJe0bmXWY0QgcCpys3HTwL3vGUCw5peRWFkpTkLd2PQGz9TQhQ3/j3GKNG7 M52tCgdcU1OtUXR4peKMkT7OKh7R49q7gRSQlG7o6Nnksx9E0rRQC6zVwmZ3rOLN 6h3WnwdXT0KXQyRB5VMMtFudY8rQ53qPwZbSmA1bNNnJ+qR1k45fNzMQ68t5d4uv vYwQK/H1rB8g2pa7UcATJyH2JKR+KGDBuA0103WS1O/XOUz1BHjmrCfV/ivEcIXd jUakcA3oz/K/qtqbzsMDK/r7ZYujx0X3US4irIJ0lkhMXwFJnSazRgkAIjgR3u1k j5yINV2pAgMBAAECggEABYmux2QxYFR4vJGtFEO07QOQi/0k/wU8D9RKDyG9AHhZ iVoU/LyPDLIk7h1KJQyX4HCbC34zMrAj9L1FA1nIppQHgEOICW0ehzCF7oBUoRLf wKAQavH8jPF8TJCRMIFnLGMd6i1XrCwkZ90ba54uO33j7P+qq/GlhU0V6aLIjQNI REZr4hiq6AvBJg3GHSw90/UMlXUQqgPBVEAxG3LyH/xxVQMMUOnnu35TudVsMsWP HVtudQvFg2y4BSR4FPiY5ROjGJxIzz147I7coGGpA3z7rdU2rFUYw6W/ZHQfdnx7 AhRSnRfWLmrc6K3BtKroeWwrcUFsjbdr1YTrBiMHoQKBgQDgl4n+b5yEBZvqPfsH jpppVB++xl/2HrTa6ADXBfs7T5c6R5Kxo5oPjNdIPWNtxHbhKsKZpc0Vvg+naB43 wIiSss308XP4V0SQTipYVLwvxw8W41YiCk9E83U8bJVn2ZvUsLCMUYQzTKkSTXNQ otNxgPy2aAQXPv3m/z51rq4YOwKBgQDbiVcXk0Wmrk6ruDYUjFjGKjgVsS08urDy FqwSaJcCIa6NTw1rnm5KH1NqJpEqi86vgikZ+1G1zPVT1wey/wmtA9OadGIXYaXC /kXrWeoecfUj5q7PenVp5zV91sIros3ev44cb/9Bj4dJq6mQHLmx13KnOTKuOsY8 djWDA3znawKBgQCUElTgcyV1xVzuKr7+VH5pQxVK6e8KjWQfjyY+narth6PkwJtu krZX2jt1XUPYctcNzOtP8Ygs9YnMjVCe4Ukprskq3KXg7Wg+28n/Qp5vwYWpSWjY OIPaqch5df1q4oVizLsZSAUo7Tnq3zVPzIorIyd5+0n3KYisa0v6upf9UQKBgB3a f01laYNREMGpOzFwJGJOO3I3tb8cZBOHob6fGmnfyqzMozaPRNAvklhNBlCS0nhr asttsZ7XUEUmaJWeuOIeMxg921jynmf1y+xFPeEF/h/zrrHoJS9RkaSbH6xvZy9z PRAA6uUvb2ZFQbmnLllQwvaagJnQxERUjtJSFxohAoGBAMFfSNAAGYG4WnL86/G2 lGe7j3xqaTWpo7vgZoM8/Wn9+fyOd8nv30HFP9dylhj7CNeN0oLOYNDODD0F4BNN izbpBlHThEfVOK4O0++xFnyKd44GuGVBgqWg7UV1ZMfrOSltRcbR1K05mdD49Qrp YlOIuO8Roh+y8E7OTVkpyV1r -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn7.cnf000066400000000000000000000011001516567600500226060ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca1.server_cn7 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [ alt_names ] IP.1 = 127.0.0.2 zeroc-ice-3.8.1/certs/configuration/ca1/server_cn7.jks000066400000000000000000000066231516567600500226460ustar00rootroot00000000000000þíþí server_cn7–ü—X0‚ý0 +*‚éðo©´xÂæ HAñü‡X¾th“¯[œÍмPº.1§€ÄÏÓ\‡®”ð.àjYø.áãÁîún5F'TÚ„yI“šase«“»ÎÔÃÝ1“®}Y+n™ÑúlDK¡íàÆÌP¸R´¦ºDôFýÆp§‡µ°#ú=q)žsûcÙä/ú ƒ‚X’ÄÒ:þºAÿÐî‹<Yź`”¡mfc¸i#Ú›üLÆù¹Pêš$_·èÓú$öv=”1¦®i§¥“¾Ãxs!|«¬íAÄÛ]óÇÿ¸ô§é=z}³pêá×»Cî_`´×ýæìºPˆhq/–Ï3Mæâ¾î†ÿ¶G`ËÕé앋ǽk–õ·XýÌ+(¦=ôÓ½a»Ï[ãèì¨WÆžÂ]ÉHgéU 5¬’µãœW‚:ÝPë±Hv\˜5=Iý=Þ »ðØòź‚ªó¬ m‡$­ÔL,žòˆ„ÉOA4‹ÄžYÄ¥—ì6€›ÚMCÐ#FÔ5¹'ºI<3¤MûcýY~w%”÷ö“•Qy8ßi=Œóx ?a|=œ=ØÊ»"'•Þ÷? b|\=}ØÞhÈÀV„Y×z‘Ïöþ!°X÷ÎDÛ쮟ŠvE€%““©³Ú—´xý~_¤7Z Øa5S- D̈|hOPîÊõëâ{»]{§¥ÄŒ!ºà²÷|p×¾-çÀûÏ+ë8NûB|Ø~é!xxZzµKLßù5)(#ß±•ê˘CÀ¢‹Ð8 ”SžÛ·ìz„+¾ÈEžL{;ë‚!Ÿ©zêÛ/§pè¡’ì_ý3çWº](ìÁ›FÞí ½I˜ëq„‹?Ê͇È0ލX°Ã*CîìV¥q2?o ꨪÝ%’fâz#ïoûb6WÔç|•ˆ^Pjä.Ýy68ß²Ëtú3©^ȱ•.¯òÁ¸–ª”GìLeŒAåаêxK¶š ÕoÃx…X S²!ØXÿZ«íûœëË E3 È5³èS:[\÷z˜ïK]Ö¿t  ñøIhf\¢HH±uuÝífÕð†^áHÿ¼”¢ù2ü=úsØ6Xm8ê²ÄrL÷gŸP#;1”I™ëíÏš¾æ~yˆÔ8.¬Ù)Úâø<¢>Œ¨Óµöº8ÌîÈbäóËÆ—qëQ/V?˜Ù~«¨ŒA¾²¬wFãp¦ñ[š_ÓK¾x )oÇÒs?YÏÜTÊøÎRäÿÕ¸3¥ÐóRIåú‚;ÿHàt~S@ ‘&ùQö[à’|vßÇu1vzƒ·"÷@5+çÚTö¡]§ëXˆU…âæÒŽ|~8­7Å(C@ŠÉíPmPã#f𥀋ébH!a wUš´Ï\HÝmÐzº¨¹8µnžÚR­ä¬™Š=¯†… ɼ$#TMó¨LÎãž1m0Îi?­cháàžNþwÿ¥ÆÑ]Ó.-FÓ{†å‰ÜNÿ#Åë0ä—°:X¬øi’aòìà—@x $qÂyÄúwß/³yp[ã]/ƒuÖ(l Æ£ÏtÑ—h=–3ãs¿œzàÆN Ú?•ew³¢•/˲Ô{ÇЀô k¯Å´Ë®R`,úq¯{¬­ñETñ5 Ï7"‹ç«X.509%0‚!0‚  0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100149Z 260625100149Z0›10U ca1.server_cn71 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚·Æ.âû½hÉ^á—j©ÒO|TP]C©ø-8aý)ñ/WoÄf?ÚŠÚjå NÛF›(›5˜ºj܈°¿$UÎ]¢TBevç€è…É.º¬ñŒëŒt»ã—ç7v5š XÑAQš„­NˆJ.¦²¢¢Ö} 0§7ë {e÷'—³îö°…B“Ýâb§](±zþ%ˆçiVÔÖ‚šõ|0ŽŸÊ9ùõ7n9ñѺ”á2MÀú_JÊF ³àxL8µÁ>êžÓ†j~€ëý7z'&´îånXe0½¡ÕV…â°Õ¿ ø×¸GÓlk§{ x/‘¸ |Å?£x0v0U«vú;βZ&êÂO™_Ûf0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿà0U% 0 +0U0‡0  *†H†÷  ‚ò–fX±Q= ìœ!±·¹|zkðíy¦Ê®N«äcG0tiòÖŸÕLSÎ]¡òo'—#–bfÌûŒ5¥”tÁÞ|ŠWÄZ…d_?-ã__P:’KÖx›¶ðS@aœb.øÉȸ×ÃïP?Š"ÉCTÛÃ<•zœZŒÇýèm»]¬önP_ lðE‚!Éê¡Nè{RÏ‹åê’€›f9ŒÙ– ‹¦³Ÿås9öÁtÉ*œ!V¹Ã:kþ4Üç™ñXc#ÕíÿÙ€3Ö|š|¬—{;ú‘æCvÇš+,Â;»DåÕ¦VД҃KÏs´ùÖÆ!X› ùÃX.5090‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}ò3@WmGŸ8JtÒoQ$úëQÐ]ʃS_Àêå†ÿúô òþ³1Ò€ú}åÕjôó™ù2\Ðܾbˆ•~³\Ú“m/l@a1+€^¨æ¯®áÍÅ -lõlýöÐp­81½k‘ýnK«Ä3‰bBšï¹òåKæö´[WbéæVkáø%cþÛóâPöeÈ´¥œá.q¯¹ØCÖJ¥R¬úҋÆä̤zW@ôÜHÏø§v8X[íØ g¸²¢vPÃP޶|‚Úäì±yœã‡¿ wA«1öG݅ؼ—ï—ëñ¤:Qÿ"ÕB­£Õç>ÌïѦH…Ç9ýDÙÅö•€ñ¶gíך;é™'ï“O7¸¶JþdHÍÿÏCIÇdÐ[UÞÕóvÍk7}tˆÏ ƒ „õÿ¯ÒE!vµH&îåÒ$éìãsdxøhcé…)qc¢LèânHãý ¼‡ÆSúž‘ †þ˜J€?—j¹¹t¨ŒâPR±Rë>Ž0:9^kcé ¿z@ ŸÒ¨DЂxÚ¯§å¼\¡CVÓŸ;ôÂÊÆN.LšRËéb®)¬=³³©ïîÖ87:ßK—×!D%»ô´rHZ!-‘p[þíÔ Ócy2 }J{ÊÚÃnZ )< Š|5bÙ"Âtæ Y—>²VGߨÜ '"ã‡ÅÂ[B¶ÉÓ;3Nÿ²Ìü‡mOb¾)Ll†¦í¡f’n˜>¢uµ<¨ø‘7„™û©À²‰X³FïZ“R¸þBÿ·Ü‹Þ òʳf›QÊ{DòoÇá\XoÞÄ5d5ñì”ò9}Üà‡äDy€S_ÓWà qˆÓÙŒ<žz—²$8 "Úò”—íÉäÜxÖõß¿–µ—YOe¾x×èG•%<—$ÕJ8yǼ~Ïô–u8Àa?á,l´Æ¤ôJ!æjšGqµ.„p†Í-u]m“þ|†×ž­¯›œuó`ïú+ÈѼ*Çf8üЖÄD¹·­Äsö2ý=w‰-Ý“(Ò/Š7§ÚìZZ9^^Aá —…ÏÇ눜ÌÊß.Ùx5˜¿PPÅxù^`´Ìð±k“]CM4Z=´z1}ßmW”ˆ–Z&;—+]3ÁŠÕùZŒ©#`ó‘¶põ ëFwuWŸÛòÀ|Œ=?¼P ›ÿH”’½•Þ›C ’¿ðדEKë§}¦Hö¸¾ÌÍÜåÐO ™ý室H€ñü‘ÔÚªöQüz"n †S=çÝñ+ì!Ü–ô®`û¢F3c®CSÜF¿ë‹ JÁ]¤`„ÚÃ(§ÖÇxˆ9»ÏUZÓ!zN¾-‚쌋ÅÐä”ïÆÒTƒºä3} ömÔoy‚\ïäSIJÞhgôµTkÊÙÆT:Æ¥2Í*>ÑMŸz–#¯>B“‹Ïש‚²%ä/òþFë~Õ“‚ï¹°Òæø[Ük§¤ŒôñäÏ¢‚±û ¯~Ž•ôŽ–h±2{ØüHvá«êøìèVKHÚv0ðmCü:êXF5é¼¶™àÔíjˆB–8­ù¾UÞÜðbžAæ×K·j=6ð"âT QÌ Îú2d¢éÿ`&-ωi¿¹–yxü*bØ¥wF^ycykg;öC+‘m¤·Žè,dÔFåEº‰šÙ}EBzPúê¼é4sbzVfö X]iUÒˆ¡>¤ÂŒìžàq¶bÿNÌÅ@¿g¸ 3ñ’渶÷²Ð²´ºÔš"›@N5û+XU¸ÎQ¯Ãqyêí‚Ñ”ŒƒDÝ~Õ^ȼ6Þׯášl¬u1Çžùùöd¬Â íKžJ‹Ökœ“„Áû¼½{½>d*q*`jz(½'r“í77¡:¯~Žf”D—;¶TZ)Bµ¯%=ð¤q¢NͼLùYBí9¸1Žé¾Ž.'Švc§þn¹Òj'ñâWÌñûÈž¢æÞ•Ïù§œ2j¥Í'¸.õéà ½‰ZËDš?󯂼”â†e³3'žŒnAÁUlX‰.SÔp˜ñ zØäžPq;ÊT€]kùOû)UÏZ¸öya€é£my ä÷ð·g3qëçÓçÌ×>§Öéq÷¨Wñ›Yšõ´góoo¾‡»ä¹ ®UdØôê«EÑ6£F5=Ö˜aÐþI)Yx’NØC ¶©¯}U0†P¨tÇÔ ­þ<ì²ËyÖ¨ù·alDUŽÆe³˜£?B?lpƒ0ß$Kš× ǪÛÕ+pX­lÖ'Cémwny6Èm6ä“w!C@ xz%?*þüõÓ¿17w¶ÓmS-ÓˆtPÅ&ÿ±úsLÖÁ”½låºtt˜Wy@,»ËÉ͎´u¼ Øuf3¯w@÷å&”Ì[’,Ïm8ÔÂæ±y³zWNšÜ+¾Éy]4+Ÿ^}ôdÈUWèb—¾Ap’-7"šÃ#†yroœˆ — {³˜ˆÏÒýÄ¢&z°Œ÷@¨”«$Þá4“òÞ÷?T­ûVËâ>óàc™65¥?©zÄåHq+ÌÄûMM6EÍD*2úÀ 8Õµ›Nõ\¤ÆèN‘7J‰ÇC©;çšÑƒç“Ê& tb$Þåýn€Û-éÿªëå)gÏýí¨+‘H»¯wð)T¦<û¦éc…©-Ïkx:Ÿ»¦5YbA…\6f{tK¹rH^lm&)’ÓóWnò½AN¸lEl‰]o94ˆ/Ïžš¾¶:™ªq÷eO/ŽÙÍkSb—É×÷\ŽàAîE ]/d'éì`á®krO€(U>ÌÿcAO,0þ©X^ ŒÂ%¢E¶µ[I"4²¡tûD•˜)|Œ“løéýë]f¡›¾›¹œGÏ·bF±ùŽÐ]"d¼õ”Sʆ—gq¼gÿŒsÇPï×¹úéÑókw¥¯¤r„™¬Û“Òž¡O‡™~Fwx[(û ¶šj#ÆN7 Ä$Á£)L:Éù’ÒOñTàuN´*Ù†¨Å"Úÿ9,9:^ëï‘t£°ÚnŠ?ô{ElV\¿‰MàçÜò–~/’l‹Õ¶`½A?lCkkÒA>]§&Ãu“g I’Ù`ûÐJÈ¿ŽÚvcˆêííÀ²W^ U ­ªF¯±q–ö‹Ü¢Ÿ¤òŒ¾²3_¶‹ä‡ «˜L™Øi®ÎÒ ­Î*sS#ý¬,Îü•… î€ÆzÁ¸Þ­FÞļc,£,‰pú]¶kcÜ„=D¡Že¤üÍ6Õ"fkBŸ‰°Õ´‘ÝRLÿÃð Kˆ½nˆJ3øÿNæj˜N5FU“ÃUç¬#-{ [ƒ)áþ·÷µÇ ïMæ@øžãÎ"¾œÚétÜäÌ!§´˜DŽèáè¨EÇ hÝ©¹Ùª]üð,vsÉâ[sóéŽ}郙’ëÜÝ`®Ñ§5¹d¢\ äßN‰Bx·rš»U(µŸ1eYFÄ‚Mßüb踜÷ 별n67Yo²=OÌXUW#YÌøt¢ö[ÿ×sàøj½F+œc¢Û.Ë/¶´qGФ~aÉÐ*h¥ÇEÀÝ™"Ÿ­—е±ÆöJÓƒvøýÕ¢Üb¬~­3ÈÖö1¦h!1J0# *†H†÷  1server_cn70# *†H†÷  1Š=PSe\~6êÜžŠg fÏÄ€®010!0 +¹ÊkZ—Ôeºû0jÚ-øˆÆžvü†/­LÁÖzeroc-ice-3.8.1/certs/configuration/ca1/server_cn7_cert.pem000066400000000000000000000027251516567600500236540ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEITCCAwmgAwIBAgICEAcwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ5WhcNMjYwNjI1MTAwMTQ5WjCBmzEXMBUGA1UEAwwOY2ExLnNlcnZlcl9jbjcx CzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVy MQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1 cmUxHTAbBgkqhkiG9w0BCQEWDmluZm9AemVyb2MuY29tMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEAt8YukOL7vZBoGMle4ZdqqdJPfFRQXUOp+C04Yf0p 8S8YV2/EZgY/2o+KB9pq5Q1O20abKJs1mLpqj9yIsL8kVc5dolQeQhpldueA6ASF yS4AuqzxjOuMdLvjl+c3GXY1mqBY0UFRmoStTohKLqayoqLWfSAJMBGnN+t/IHtl 9yeXs+72sIVCk93iYqddFCixev4liOdpVtTWgpr1fDCOn8qdORX59X83bjnxAtG6 GJThGzJNHcD6X0rKRgyz4HhMOLXBPuqe0w+Gan6A6/03ehgnJrR/EO7lblhlML2h ndVWE4Ud4rDVgb8J+Ne4BkfTA2xrp3sLf3gvBZG4DHzFPwIDAQABo3gwdjAdBgNV HQ4EFgQUGqsGdvo7zrIVWibqwgdPmV/bZhowHwYDVR0jBBgwFoAUMJ+2glf+XyNp fMgf/QYIWv2tf2cwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQMMAoGCCsGAQUFBwMB MA8GA1UdEQQIMAaHBH8AAAIwDQYJKoZIhvcNAQELBQADggEBAI/yDhYTlmZYsVEe PQzsnCGxt7l8emvw7XmmyhKuTqvkY0ceMA50afLWn9VMU85dofIBbyeXI5ZiZgDM +4w1pZSBdMHefIpXxFqFZF8/LeMUX19QOpJL1hF4m7bwU0B/YZxijS74yci418Pv UD+KIoHJQ1TbwzyVkHqcWowZx/3obbtdrPZuUF8OCmzwRYIhyeqPoU7oe1LPi+Xq GpKAm2Y5jNkSlgsViwWms5/lczkb9sF0j3/JKpwHIQ9WG7nDOmv+FjTc55nxElhj I9Xt/9mAM9Z8mnysl3s7+pF/kOZDdseaKyzCO7tE5cOVplbQlNKDEkvPc7T51sYh WJsJ+cM= -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn7_key.pem000066400000000000000000000032501516567600500235010ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC3xi6Q4vu9kGgY yV7hl2qp0k98VFBdQ6n4LThh/SnxLxhXb8RmBj/aj4oH2mrlDU7bRpsomzWYumqP 3IiwvyRVzl2iVB5CGmV254DoBIXJLgC6rPGM64x0u+OX5zcZdjWaoFjRQVGahK1O iEouprKiotZ9IAkwEac3638ge2X3J5ez7vawhUKT3eJip10UKLF6/iWI52lW1NaC mvV8MI6fyp05Ffn1fzduOfEC0boYlOEbMk0dwPpfSspGDLPgeEw4tcE+6p7TD4Zq foDr/Td6GCcmtH8Q7uVuWGUwvaGd1VYThR3isNWBvwn417gGR9MDbGunewt/eC8F kbgMfMU/AgMBAAECggEADKYDRnhDmK8mZa5WbXMdJZsSsB1NerMm26yhGNLH3uW9 kycKKXYnUZpXhxAtaJ5wiFRlEXe9SfRqqS7QlE7+PTmlkCqh+oK+ll8mAXzDiIPg tk3OQkNkDhTF0WAEltK1Vch7fyDecPgjcChJPXS+ZBs5EAZIcO/bcSna521sKIU0 jdz7iypGSDtVchEki5yC2cd7ZrpwZ6gWCWvKh7fb8vfQtR1QnhFQmm/Ze2MLxnsc k7H7V7PokoahFBQ4EZdjakPhBxILl96DN8Br3xDwl5mfuWHFVNMA1Yj5RMUA0sEd VzNQGL1yjcioqZRDDux8TjUwSiG09L8BFqG5vHKCYQKBgQDfx7Lvmn9nbVsjkov1 V0SSy7VR/huQ9M8nZ4IEnqH6TM2TDbpmOUYvD4pMTjsDMljZWrj4PJRNBjTD0Dpv L0Gc5uIzGY0/vAqHnWXJ8Up+5PiNEUCdPdjdUjS1zn20jiD3djOgcuRKXxNNfpme Yf5cm8g/M3yCRLeceHulMXufmwKBgQDSO+fzjdxOLoQWg3SM7QjVJwRtVaU5zkga oGd93wKuCzBJ1TQNrbw/n/c78T+C+h+04e1kX1zwyQ0K7CzXBAe19eykmskNtYJv ujLrOO44D1wtoDoQ0jwTlOLAFYpMHqdF2gvV5RRSMptT7CcinggzbuWQdHyBwAOD oF/VXJ4VLQKBgQDClQi4Y2UI8APhqJneWWWdJ1ig1Q3vO4+tOcnKbo118baHedZs 8LxgS2j79MJHg03SoZpY74QcfZr/8V3+M98fqXti54L0unOFfI13zUHzmPGu6COB Frgtqj9/HvAbQcLUqok1qPFs4cMNDVpSZ+8fY635lrFbLJljizgoaiCOpQKBgB47 8Uqsfx9bPzHBq/RMbnXBC7jxlTZv/RyfLuMCPG9tOn+Tws2oy6bWyYZ8Vmbus7qe tzY1JLeYImEMwBIYCUfY2zR88icfkGei/omngVLcmqQRI+ihY3RpeAap0l7KFcJM 7mDPdhGwJ3h1QNeQpJtI+ojAx9sdEyRN3xpfHHjtAoGAf9SVFDMPH/pxl5QEKsQy R0iWSzxO0C1kAZGB1m1shZJmq9AKTs+GLKwcGj72EJmL1jyuUqRXjU1KJOR6fuTt 9Epgoow+L2qHhvl/3Zp6/l2v6w8I7YG/kFOPBpA/ZZZEUrSNyyHQ8DBQbzpdou6L qOJhEGdjv4n6tMCmypvfIeI= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn8.cnf000066400000000000000000000010171516567600500226160ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure (ca1.server_cn8) CN = 127.0.0.1 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth zeroc-ice-3.8.1/certs/configuration/ca1/server_cn8.jks000066400000000000000000000066161516567600500226510ustar00rootroot00000000000000þíþí server_cn8–ü—„ø0‚ý0 +*‚é«5<áÌ£d ;ìy™Œugdx hÏÑXémÝy]H;ÖíŠZš‡!ù"àØ‚ÂÂå}þëxDÉPm?­Bm«rº_ Õ)/ò>Bàã*¦P^ßµˆÜ•öÙÓü‹ŽâcѦ'Íb}wäÄ>¡¼‚HÓ)뺒zQ./dj%£U¼ÄéBÄÙGó‰ ñ>odö˜u†ÛÕ–/»º‡Æ!µÏ¥±ÂÈÚ·yã:€m’Ù=×}KròÅÎ/®Ú¯aœF…rrß±»ÿÝ´ÉËy«I£^Ó2ËÔ+ß4Ì3(vüñýD¿«Þœ?Ããƒã$ó/ë÷y«À¼Bþ|­S¶Ú¾Î ÉÜsæø40$Lå(‡ŠUq½Å@µ,‘ÄØYLŒìÁ¼c¯b~î3tHºê¶ZŠ÷ðHJQÓª®‰Yç”c¬|y7í@qøq\Êûaù²}žóh®Ï1 ®†äsÒœ.·“bL\ŸŽÚ!)’´µjšWÿ‡±0Øóí×ö½ü‹â€ÌƾølÙ&YqÀ–`êÝ ìm7žÙèGÕ5Žˆ—Í-ì±°bºcÖP¿FÓ}m)z%Œ=Ép‰A„W[b½!¢Ôb6 A;ìk,‘ðtÜšUƒ]…\\áZsÞ°#–áQ¬†°U”óöžšëÆGVP&al‡ªV`àGšCý·³ä§“±£/¨üåúArÁ>¼}Ïâ+é¢Ã»?o $«¾ñ.iËEÍ‘¤’󛜩ȋÀé«ò®º‹[ðüØ(å­¥Ë>_yc/Jw²Å< ?3"Å1 7ê:wÚÿ«Gw$ŒÌ%é«oÇ-'÷²Ñ6Œ7U…¢I`ôŽ×@ GÒ 'µiž%"¿ê’žj™ Ï÷[QIœÑÛ'!ž vÃ!ë•ÐteöB‰Ä,Þ1ŠþᕟY \ô!Ðü„•¤s[|„ó§®`šÆ$´®ŸDl“-¹i|þ ú&¥ë‘‚¾ó ,8äâJÈœG%Ø“jIgçfñÇùȉÁ$t Öø«¨åµìç¡Ø¶ð3twko_¹„–„o@õ˜QkÙCÒÓV—L›1<ôð"ì¨fuhb^Y3×6ÃÆeÀà#áëzêZ•ãA|®2¥r\êó™Ü.8ã‘×.Ü€SM ݾŇ °¿an±±}£žö§ß s Ùu^PË­‚Á…‹9ßu‚2ú×a+ºéÒ㨧$¿ZàIXÀ‡ÊÁuP²Ä™J}ƒ8±ÌtêÀ¡ yÈ)çHs¿TÿªbÆ•Ì<ØN¾[jG ib/kË¿}3q¼~ÕÞýI±S}•ËXo ž%¦]ðßñÒm!AMÐÖ/ü¡ÐÌÜ}â +è;àÙo^°‘ûÓ£g0e0Uh*7¢# Ͱäð1‘Tѳ/X0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿà0U% 0 +0  *†H†÷  ‚'xÒÄà'[G„K¿ÉDð<ðí+Ó‘¾¾N®(ä–‘§©ñT¬x “«ñqH‘çzéÌêÍ(¤ëd)!«9z|+=ˆïï”éxÔf_yhf ît<Ã?èUïF›œ›4%·*Ÿ¨xñÔ!Êuª4¬ºŠË×@&WŠ;†–£›·#)*ÿ“d„¢Þåè%.Å– ¯…‚º)£á$ñ † #+z|{rÌW?Wðít›(ƒa ¿ G¡ŽžH»×_¤]•ߥ< d›”‹ÛE™áuwPÃÛšÁ”¦sCDýšñ´Ew–*OjëìÒËlvÖdà/]R† {:ÿfÉX.5090‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}òù¸[wŸÏíÒȵrÀÕ¼ç¥1Jñpv«=ÕYÂÇ2í>~N–úÙ ¼¥úO¹Á¿NZ!Å¡åLÃw J2ÝBqCîÑû‡gëÕI0+ ãó÷Ž—CP#½¥F¤@¹4õ=uÜû= -¯6!cbx½Å@>1|sökô[´ñy»‰™D :4™±¿á³^¿– ΃©é…¹´ðpKzÁhÐTÍ#t;‚Ëoùgüäy8î’£Ì,ø:‹‡ì0jò`ˆû`±elµçr»aɾ¤pDdŸ[°0ˆ£ò¬Ùûø˜/6›ÂvíC-w'ã^®@¯iëi˰Dr§&Ö®Cl‚›]éaÞ%õÃb;+ Z¥™Xïmõ§ø eñº­ÿð_qQ…Ñ%X-;?AÉüʲu~ì”)4ÏA³B,–ÈwLŸqÈ‚ó-ÉŒeìÛâÉäíIäÛ±ççÊ·ì4LFíM{ŽÀNà÷+æØÌ^l+ó^†™RYÖ÷Rø£¦SÅ.µª Æ,ØŽ®Ê2Îaßê[}{F[A¢ q¤äsž¾jµhF*bí_ÃÑÀ_żívY‰1ÄûG1K܆ø‹ÀÿÅs$£\@9ÔÛ<0xoª® ë¦4•|¯Õõ_á×Fj6Ž6"ìÜ™Gÿo÷Å©DØî¼åç°ƒ¥Š]‰Šóÿõ x²·Sâd—qÌÑŸ:À@ƒò‡p1*OœG§™zDfã ôƒÝ„˜ç!ó-;'NÄ âœºÞ|k¨º€´¶>D©ÆÁœÊTÄÛâê«ò;oÁcŸð~Ò1œ1ñªšóLé?§¯‚í‹ØÈ°Awß 9ìC\s×´´*™Q×4(õ0?£2qõ–6ˆ¬ì¡7• äBœ’¢·±ÅŒ’Ý FÇØ´Vš™isúAßYò@C+¢ûæ ãš'áõD«‰D¿*FOÛÎ’ÿU2è€û­4§1 ²ø§ãbv¦©p?ˆ¾òµE_ñ õþġӦYÉøœâNƒ[û"\¶‚8.¬dTäõþZuš©PB€8ºÝ~ïÑÀ‡>Ït¹´2™èªÎ¬½ódÏÏaQi²g£v-WS$}ÅV=†ÐÐßa_’䢭˜-_}íVÞзÝ|ÒCM©Øb¤ 7²t s\¦ô5£SÓWÿ‚ËêE²|-º3¦6¥¯ÿi‘¢Lú¬Ív´dx»»KÞÚ»ÑfNZ©?a1Pár×ÒpRúI.&1ÎŽYærW6'ÌÒú;Ñáò€Ú-ß’[ÒßVnQ_›¹©Ù€B~û<Žwx=É^ØœÏ&oÖ½gµK¥óL]ûž Ж:j7,:“dX•ÍÏ&`áa¹:( vb¸ zŽËôâ)´¢8ªiZ¡Ðá¶©ìÛj1j/ µy§fuáÝ= žNª•ü[“mÿ`„DíGƒ5G¥nùÔU¤x^ D¥\-¶æeBŠ5)Cùêœ|ÆÑk³9’vˆ1H`p=»:Jzm>ö.™õnyÃ¢è¶øïH4ì 7í.€¬b&35^[6@œü9?1-;RS’g»2Ù’bމöåé It»ÛÀ˜AÇÆ('V{=š3L9U¤Æ³ç3G[ª¼=Xçí— gîlÖÍÊ×ëm˜oÕI«ÜƉ¸S¿ãæmŒàðÖª.€â‚ÓJ3!•F™€9Õ ½ ­ŠU‹±CñaçÒ˜oBäÛ¨×\Žv<¼#­ ÍA&PÀ&ùÆSg7qäA‰XÆQ»r†¢¦·X‰]ZˆÂ…êâ†&±jèûxæSâÖw4ÙQÌÎc£ LxÓo ¯‡ÁÚVÊØÇwÕå½{¼!æÓ¥g’u3É5Z’Èã‘cØ좔æú¦š‰IøT5R£"ÕÿÖt?L¿Ó¶×(ÇèA¢2pù&pq÷™Ð+)÷_®!‚6VæLk¥ùtw7·ŠO=»k—Œµ¸àÀÊ`<@ðD ]*€{yÒìål­óÞña 0i¦ù“½ÉFq´XcRïA±7ô~¶ì†xÛ½ô%0EúªÅàYAS1›_„ou¬š$[>“ílìSZ¡êæþþžÖÔŒéöÒ$ -)꽦ÞJÞ¦÷¿~…T‹ÌL€nÔ<2ÅÚtßÙ{u„5Øp¡2™±Ç—²û9ºÑ sÁå$ ܦ‰T‡¦Lö¦”«òB…¥õ5ꕤ„Ù @%†4Yo¬½$"u§…\yŸMoQò2›–D4,xy €Œ%¨97U~°ÜŠÈù,&|®:â)vtÌ›çøš)×.—m¶ö½¶ à§Í¬NƒæÃ†‡Þ%&WVA\†&Ö™¿»<êGjv!K ñ  rÏ—Èíßß«ÞåE”DÃË!C»f³pAµ›K7”a¾ZQ&¾L@ɼ5ÒŠq+ÕdS8,™¾‰Î×ã^ÐŒQÀäât$0‚f *†H†÷  ‚W‚S0‚O0‚K *†H†÷   ‚î0‚ê0 *†H†÷  0zò­IŒ>õ‚È`ú> h´ÉôF3½3z·«=ô†Œ·cÒ¡kY<Ȩ~- ýÓt¢Ð_¤ ª2ãÙVSŸÄtàÈÉ-™ÚÞL_,®‹&ÜLÞœœ3§?E€5;J£k ÓZƒÒä,çíT¬"{"íËCGÎÚˆšÒNÎqˆ›#ù;H}/ÿ¥Ü¢”ØCfâ忚{á3eÖq’Þ!D\oÕ$õ'%KÜ}D"Níþ•DZ³ðÔ"zÜE‹}/¼híy»× &`¸*~6¶‚OéßÁyöæUЈpDÇ(èF÷†…!»£/>PŒ¨÷6=uí° d„††g?ô’ÁCá™15H.ò'Xˆ·Ã)=Â,ˆ)}—gÌÇÿ|Œ»MÙ 0äA"ÝúF{vžY•"'jˆNÌ¢%ô¶œ’_®Ÿ\yúà­—F¢ „Äsøm’é£Ä;гÛì@è‘]ÅG°àÊ8Vr1ˆWÜ=§i‰¬—kIÿ˜0ùñ¯¥ê.¾‘¨·ª*e }¿Å|³Ý]"0Ì <Ó—€aLWRœÝ3Ž›xp1Ñ=´Qô*k¢ûÎ0´®ö£,¯ÑFôϲӺGÙ-`ÝýXÜUâ8šnWDAoXõ!ÔÕ·Yô¡‰=$ ¬vôïÃEQô>K>« ¥ šB½uyÚóxØd¶`øN‹\ð5˜Ó¶×z¶ü41VéwY•3AæÁyÅ™žGr£«qŒê«M¦XMg®ÊwmI.XÔù–ã Ò–0‡Aª.öx5±²§ £øôn?ïÌ©ËOKÃÀcNoò¶ý^¡ÕÑ®“Zw$Æí0ñ‰¤Ô³ÕÉjG‡ùæä—~fgð › nIJ÷\ņŠ<¼b©ÔYç9õu¢á€D‘ÜQ9úc»74Yô¿"©&üÔ§øãêÓíh¿›-,IŸ"ú˜ÈWÚ»øßþå©SîoüW»p ÁÖ  ësçb Fç Hÿ1üLó.Žva¯ Ÿ^€Gr¥O1J0# *†H†÷  1server_cn80# *†H†÷  1Áèb¢}ñLs½‹ä´ƒ^“X010!0 +v]D1|†mš¨X§AÕI]Y?½b»8å;зzeroc-ice-3.8.1/certs/configuration/ca1/server_cn8_cert.pem000066400000000000000000000027141516567600500236530ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEHDCCAwSgAwIBAgICEAkwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTUwWhcNMjYwNjI1MTAwMTUwWjCBpzESMBAGA1UEAwwJMTI3LjAuMC4xMQswCQYD VQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwG A1UECgwFWmVyb0MxMTAvBgNVBAsMKEljZSB0ZXN0IGluZnJhc3RydWN0dXJlIChj YTEuc2VydmVyX2NuOCkxHTAbBgkqhkiG9w0BCQEWDmluZm9AemVyb2MuY29tMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt0soCUMDeVX5ZT1prYW8gGgv sX0QJvdLyiF9ojWaUb6vgmDrwqk+Yo1eWTPXNsPGGGXA4CPh63rqWhWV40ECfK4y pXJcBurzmdwuOBjjkRnXkH8u3IBTTQrdvsUdhyCwv2EFbrGxfaOe9qffIHML2XVe UMutgsGNhYs533WCMgX6w5dhK7rp0uOopyQVv1rgSVjAh8rBdVCyxJmPSn2DDjix zHTqwKEJAXnIKedIc79U/6pixpXMPNhOvpBbBWoTRwtpYhMva8u/fTNxvH7V3v1J sVN9lcsFWG8JniWmXfDf8dJtIUFN0NYv/KES0MzcfcOiHgwr6Dvg2W9esJH70wID AQABo2cwZTAdBgNVHQ4EFgQUaCo3oiMLzbDk8DGRjVTRCLMWL1gwHwYDVR0jBBgw FoAUMJ+2glf+XyNpfMgf/QYIWv2tf2cwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQM MAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IBAQAnF3jSxOAnW0eES7/JRPA8 8O0r05G+Eb5OrijklpGnqfFUrBV4DZOr8RsYcUiR53rpzOrNKKTrZCkhqzl6fCs9 HIjv75TpeNRmH195aAZmEgvudDzDP+hV74FGm5ybNCXCtyqfFxWoePEI1CHKdao0 rB+6EwOKy9caQCZXijuGE5ajmwK3Iykq/5NkhKLe5eglLsWWAw2vhYK6KaPhJPEN hg0jK3p8e3LMVz9X8BLtdJt/KINhCb8NR6GOnki711+kXZXfnaU8DWSblIvbRZnh dRF3UBfD2xGawZSmc0NEEP2a8bRFGneWKo1Pauvs0stsdtZk4C9dUoYgezr/ZhzJ -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca1/server_cn8_key.pem000066400000000000000000000032501516567600500235020ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC3SygJQwN5Vfll PWmthbyAaC+xfRAm90vKIX2iNZpRvq+CYOvCqT5ijV5ZM9c2w8YYZcDgI+Hreupa FZXjQQJ8rjKlclwG6vOZ3C44GOORGdeQfy7cgFNNCt2+xR2HILC/YQVusbF9o572 p98gcwvZdV5Qy62CwY2FiznfdYIyBfrDl2EruunS46inJBW/WuBJWMCHysF1ULLE mY9KfYMOOLHMdOrAoQkBecgp50hzv1T/qmLGlcw82E6+kFsFahNHC2liEy9ry799 M3G8ftXe/UmxU32VywVYbwmeJaZd8N/x0m0hQU3Q1i/8oRLQzNx9w6IeDCvoO+DZ b16wkfvTAgMBAAECggEATKANOS38Nk3USFgPpTx67L1hbtQnG/sXAoXUtSqufEz4 p0soVEUXcPDDiAwNhPX8CvgC1VD64cwNS6KpegsT5JaYUqUHxtaTBvfOlKIHBIJm pSAeMY0uBc+smtNhwDtQ2HjRYhDD8A+mZVwRgcnGot6XkrRLMZYDuVfWVk4UIx+6 lwLvttDgN1W1KtzDDhCRpW/w14hIl/tliwoQxgC0vo2DAX5lLg3WmXQY3Rv32b1W pv5Lnh5gcu7e9st2lS/NT434qAn0E4cD7sRQ9uEZ4Mqlqc6EnnkjYoD3CdL9nAEN OvbCDKeqwslevgKqZubYizxM2I28FDQA2TQTSq4beQKBgQDgVqE3yi5Z2DS/eHb5 iBYypBMDvBD2dNgzNrj6cbCJ/T9eon4plijj/MC8oMze0jr2rGKA9NMZFVR3MBzq ahFUV23+mkVRj7BocIyplPlTTYmmv9dlFYS3/W4amKoZ7b0kflHjplYATyfXStXp RAR4bgHOTYwFOQ43xfMWmfndiQKBgQDRKZKvJqFR04FBp5GITHHylvKG/AOSRb3u xCCGC6Qg2t7IbOUyGgTox7gfKRiSfp7U2Y2qhw0iAfkLMuBlUWZkhVptuBPLonj/ yeHXtJwB/f/wxh4wpVW5wyXPHlsZCBcz+5/ZL0E3WQ/Sazl6OFNRFoTX81RMglFD 1TRM/wBzewKBgHdlo+hNct3edDRzqN6lzyqkqHoUXfLNvUOEnG6uk4bdghyb3wnD IYA1xV6fNmpg+YDPvp1jr/Zpo8rLkJgyW4bIAYLAGKSQFROA01xuLURowBo/gCQM j9Zcy3zcQ6wJG+GQWYUPwjXn6wxqh+7ehIKUCeIC48Lj2u1ULUyaJqIBAoGAfelk 4AOFQVjtirRxK3e5cKvlu9Sh4cASIlX2rjr7xrt7OXQ0VQDMy8TO1hNLM4T94GxG l81M3pgJb/BknRlvZjvQwBP79q4L4Q+K4OtcruZU2ICrU+Vzwav0asZ/WIZCUYy8 IWYNAGCg4a6inyyhG0NPHSDiMlyQxyDlpyQrBVkCgYEAuIm2Y2xfrh18xQ6jXLF7 L+mGF97gkilPefy2uAqlWqaYgmhioEMHpFcOANMjUSk3m5M6EKJtVwj28aTgF1hG GUyNOfzwSNS8zNs8Ug6FmhmcvF3A5dQVD0zm7GtfpFbdBvIj3ZXGl0vauXjA+xnI smbAj3BSgI0KEgkISJKTQsQ= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/server_key.pem000066400000000000000000000032501516567600500227320ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC7MhYTssDl6vv+ WnStkhUPqp20mrp32tcF/pqJYjvEDi4srEpCQoIp/wzOdL8tOqTth7yjQCHqCayq 1oc9BBMuqU05m1G1iVJhmCcaJkp2pPbM16vAtR1xn1UkdJm/kMawKnGMd8WKvL/r eLzFMWzkKZnu4unfBvTHuX0kKmZiNgr8dr3S/CnBM20cH33F0kwENjXIVAeWu/Sr 0vBW5JyXPd7Yd/2DU7sFcK95zRDEsDnA2I7eS14w2thIbGopiB8ahZVjGVFV1Kgd Rzkb6fIlnvQoRchaiVlC/AfPbl0WtenMouVaTt01jMmP2f3F/tT05M6emvXKLb2R JhXB/5q5AgMBAAECggEAD9L4Eso1jDoE+0diPZnvtddSZYX+5UrWimcvYRWwv64D MTuPO3Kr1ij9SCaOUqB2eK3UwGgXddVDh12DKSFDDdq58Hi0u4fUMvPNumQqP0VK p55DopKs3oH9jItew9bVNOchmiI1zLiP8LPQIUtATTlHDe6YnoXUA14mufvrk7mg k4V14bod8pFxorLnLmN1nJiKBSQKhflJ0PWqW39wm7rYyKglYFxbM/FLZRqeTA/4 q839BLK1e1afSP1BSPVbeDjKg5TAC8jSKLhQWpELwIqZ5ACfLHa0SlhEq1DxLsIX 9szkYVM0hLYvKR8khtVQs9uh8ow1EldGDhwxmiu4UQKBgQDzh0R+xt3S0rnmY86P rIRQVQcV0R12c4/cV0X6poEmePdbO0Txi+bcYaQyGefIdRhtuW/+6FBRhcC/WF/0 ETp7m2VH4PYSIJoHoHWXYx5QLp/QGg3WgEFEM8GtlbSSm7cR0mVT2aJ6xej9HxRB D6JYztA2Q0QWTW0zrjDYiDP5bwKBgQDEyEdwERvzpGIK30q+WeAwi5iL1UrqIs+v m7yt6xV0fjs3HT+04nVkcss5+57jFLW070G1W9a4eQGT32NqKb2hY/FpliJXBvrE pP/Kn2hz3e9ROG4j5LsEMNex25Goe/P/TnyixmBUww+/51To+2fIEBG9OTrLl4mf oikxGiCKVwKBgHHr+2zbFvYCwhg25HBtoc/6lr/r/T5mPQw0f3YL4irfN8ej6FKe wbairq8JU1aBAJaDwxKaFsisK0jXzLteO9+LCEwhvrsoKSYcOCZDpfCYfwZYydRo Vx/Snm3XtItI8NETfXdGPi3021Nd8Jmm+KlWxiw8N2O/gLBGcm84+CddAoGBAJau 5kUiVM0Uqx64LXvlRo7l1kH9aggv7+kA0FI9GYjCwIVLmGTipBHu9T/JNbmdOib6 rs45LQrFXjflbzL0E4lqBopbtJ//cDb0QgreVhWjdIY1N+G0XKCw5foDsF3bzNNL PpVGYq2FUKIaeiKNoMLJy0uibytHNtNOUUyQPSqxAoGBALMQETvZJtRBeQuHWXqB /T6WyNFOX1JryqEmNWw2mrTDDypTng7WN9uB84kdjzHOdQjFruxlKKbbtZFpqmVd 0e+uWWyWGqRrjVU0azRBSOF5H1t/h9802R/8Y9Lewe+LYnBExcbKPQmbxpll+5rF N5k/2eLVzEVZan53SfPrOprR -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca1/server_password_less.p12000066400000000000000000000052421516567600500246560ustar00rootroot000000000000000‚ ž0‚ d *†H†÷  ‚ U‚ Q0‚ M0‚ç *†H†÷  ‚Ø0‚Ô0‚Í *†H†÷ 0 *†H†÷  0T<\¹ÞÆÿK€‚ ÜÒº}1Å´žhAÎOj1øØv’Ø%áý¹  U0R>¯¤ Vا'±C²Sä’œ¹Êî¦NÿO³KðDíKª?$еiM'¼or(‰aþÇ«Då;pÿ¶GÛNâ”ÐÍŒ¶Ø7®…-Hb‰ 9O¹ÀS_› ž9KZ3&\Ý€Fˆ§«à„¸Ö½"Ïå–š‚;•–ltqÓ–já<2Ò°‚I‡_ ðã8|oèF³Ü3×TލÖS:Øö ízóÍ4)2EÞ'½•eçïk}©;âÞÌÿ šsÙ‰ÜÅmUSëÆŒc¬¹+…&XMYŸ—Z=R›Jö¿õ<þ‹Šð¹ÌŒÚ†‰ÊaWo{I:­…·ŒŠ̹kùÏï¦ÊVº7”é±¼'}ˆ}Ó °¿ U­%‡Çý"ñÖLë £Ó€yàW~ŒM3'‘ê‰Æ•JûÚm!éà;´ ‘¬#$XÜ€?í13Áä×'j½¯1„Ö˺ övhΤ²5urnêeVáòßuÛ_‘Y\ú1•ˆê(›7L×níäLI¿¤`T€ëÈNð”¼Ê«kñ*»mÜ‚,Íå,Nük^©}h2ë¿o‘qS Ê¡DZ6IᛀœyZˆ w>“™j\Ò¢”6óyKì!³æÒÖHrüÕ©]¼¤©c˜­A~(î‹|Ī~œçq»Ò«¸†°Æ º'x®á`ˆ(.€Q…+v¢@¿Úœ¹¹cG}ÐhÕRVùíìTy„JùºŠ2“í/•²ªO¤ãzšU€Q`ä4/a`ßÅb›Ÿ{ï”yóغDÀä1˜YG1²ŠÿKÆ#Õ\€¿ˆwAf,o®Œï–¨Û”¼nUá@nðâòú<-1SÑÅ>ë;Èáíü89ÙÔ:j0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0µ~^Ø"kV‚Èô²¼F èfûÏ gkP(^rò¤B©NLð^J³Ú­ôØÊc •æ¬y¸Ö¨Ð'Àšþ”RÓ翽èÐ9®„Õ4»&Cȸ{#oˆMŸØ‹êã×!'IéÕ«TB4 _†¾¹:|‹ÑËA3‚_¦K#»«OvPüÁ|lŒ4«„‹göbN0ÍçJÒYŠRÜ8m#ñ¥‡¦swÑŒ²§Yªx£ +´¿Û*6¿ڽ]³y›šJá‡Ûå¤tzüMseš÷½X…0Ø!¨ÅëIJbF¿ZN/†½¥\_ïK­Vfݳ­{ì]¹àã©kZ;ðkøP"½z_{-´n‘ÝxËÂòÌH`šS{Ä€GõÏ®ìdÙ“¥t½:á‡EYbÊëd4¬Ühü×{Z¶C Ž@nÒi>ª€S¶„¢ÒîÛÇ‚àáž ‡9|(µ]f ’±À]ÕœÈxØ8]¯¢—&3Lõf×A`GGå=t¡œX_¨þÎbªéç»$GÜÀÍ3Ú/I Q‹uÉÚ‡ßÚ”²6.%]ìáû®LJÿQ'¾ñ’,ƒRÓ„Kš—ê~nÒ4eªñ¼U߆ôçCþ=Ȳ&™Ð!µ“/¶«ÃG¼g:!þMøûßNj—¢*v”’@ÉßÊ»£«Ûw/}Û0ÂÂ$๧qß×ï8òÏž(D&F}øï ² cuÆÕ^†d‹ÂÕŠÌxÙ÷©°±ZãB.fF/lÂú@8þ”2% Øy8òM:ºi˜óRG­ËF,­‰a2‡G\¶ºjUÒ—QàŠ2¡â4=P´—Î)âëúÓ™©T›ä'ø´t/4Ò<çú4Uîz“öÏ þ,{./Z³ëŽÞT,~ç>(W¤‹F1n#pBwy1šC@€Ï,‹$—mŸ**ÝöÜ'ø·ùbS­r‰gÀPoKË3XË‹æÔΖ÷:ËJC7i—¯)ÂÒÚKàâR#0:*PÇ«8œ °·+([ŸÇA-‡ŸÆYB6£iüŸÄéyPs˜~W¾´Ò—e¾¥–yjδ&hnz8k‡‹d]ÆØ¡K¦ý-3¨‡¯YŠ/·8\Üh‹ÎœªD@b©`0"~cÙ¿ç®ûë9*óé?X§·†úc]àR­¥š¹Õ¬>¬2],«-Õ‹È(Á´Ï˜/ªÇ2¯ >öGääË0 Ö”C@ÐÉœ•e»™!8ùþKov|ÚÔ¶]ìÈ!–{^‹óDæ}”èoÀús¥ &Úß>™%ßÙ±GçêƒX…>-Ý“ßã&PB1³6ü”n m˵1B0 *†H†÷  1 server0# *†H†÷  1°[1ƒ¬¦Ñ=³¿ìoå˸'ôÅå010!0 +¥ÉÕ* RÌa5ÚŽ†»–r‘Š‚R“EÊ’±Wzeroc-ice-3.8.1/certs/configuration/ca2/000077500000000000000000000000001516567600500200525ustar00rootroot00000000000000zeroc-ice-3.8.1/certs/configuration/ca2/ca2.cnf000066400000000000000000000022661516567600500212150ustar00rootroot00000000000000[ ca ] default_ca = CA_default [ CA_default ] dir = configuration/ca2 crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial certificate = $dir/ca2_cert.pem private_key = $dir/ca2_key.pem default_md = sha256 policy = policy_loose default_days = 398 [ policy_loose ] commonName = supplied countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional emailAddress = optional [ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca2 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, cRLSign, keyCertSign # CA2 is also use as a server certificate extendedKeyUsage = serverAuth subjectAltName = @alt_names [ alt_names ] DNS.1 = localhost IP.1 = 127.0.0.1 zeroc-ice-3.8.1/certs/configuration/ca2/ca2.jks000066400000000000000000000046171516567600500212400ustar00rootroot00000000000000þíþíca2–ü—h¨0‚ý0 +*‚éâ¿’b±–m}N죇õ )Æh|+/w¶s¹¸É¢»‡üÄmxÜÉ^®›óªM¨ÖôGša"­=’o u ¤ž’–Éh#ôÛ©ÚÀé%µœ~ÔªƒíÐKó÷Fk—óV»6øR=Öåð‰%–e½Ýƒ™2Ž#àqf¾K×z0 'üaŸm+W<ŽvüÀy„¡]îPíâæ×™Mìé7`éðñÆsê>ÂRÙ‡Qª/EÇYз¾uìCp”nk“ïËì– ±o`‚"æäéR„Ÿl/„Hý"Çb×?ÂbªéÔåÀAáöX7­8J3`𿃠©hxÆø´Ñqû¢ ÓÛQWàò#Ö¥nã¡äxÿ ¡†×ÔÜ«uÁ¡"á’+N]jòßÅ©Äﻑ­c¶54\ìQø°6LÛ¨^qE_¶ú»<å[丒üÌ’Ùk¹ N§²j(5$÷J3ì® ”Fn³{Ò)ˆ€X¯ƒßDn”7Θ÷v3ÕÁ ^Öî† ¬D ¬‘b ‘WŒñ“ûÔ” Yâê—{÷)¤æ<°¶e¢þ`9Æóm¼÷%áþ#šPACåò „[ûZöa(;$$#‚p´ób€26F÷lAL0Xþ¯’<kp‰e¦‡—†žLT¸<ÊPSi"q-—þHMp'±]B–ƒº 7­7ú Fפ‹­¨KðZ0qñŽú2ƒýêsn¨œ9“<[󲦸¬†Üà/¿@Mµý7¬½®Â#­7%ÆS¤æÔ¾¸lR¥1#”C9×s,-Yí5ì!nòz€Mé†9 íPLë@GfTÁÿL½îˆÄ½v _¾¯êS£BZ¶O%¿L sÊg[µ¦Œ‡nfÄÔ8(9¶pMáë.kµYKx¨n}_ R<£ÏÇt¦°«Æ‹jæ†~ïÔœYì² $à¿›$ú9Þeú SgYÃbëû~“ûTºÏû âs|B%]¸„ÊV/¸ŸôwÈ×X.509J0‚F0‚. mß— ­ Ìç‰YŒ"§9Ž|0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca210 *†H†÷  info@zeroc.com0 250523100143Z 260625100143Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca210 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚è­×…oýeÈá(îvj?ºú#â[RŽGqÁ÷´=,êýbn f­Æô³ô&g‡ƒÄž£úSܧ* ½x"(Žü;÷="d£Ùj… ]qÐH³îåìcÜn±¸E"¬+ÿú ³?ØÁ£Ã*Ú]D œÏ4~3·°½Cñ«îm±š¶ð"#y_R‹2þj•—…„åÈïÏHÈêÿµ0¶Ó«EÆ.`©ÒSMô³*-FBÛ(¯° ämŰú}Ôtâ¯ìE>·ÅàÎp¿Q¡nt9â›òÑøy³Dÿ _$TðwB:%÷£•0’0UÖ"ì€çÛÒj˜qDYœá/:0U#0€Ö"ì€çÛÒj˜qDYœá/:0Uÿ0ÿ0Uÿ†0U% 0 +0U0‚ localhost‡0  *†H†÷  ‚€u ÝŠ èj è~¸¡óÝà-ÅÁëž­Ñó²Íâï ž# €¯z ÞÍ +ëú¥)öS¥¨”ü~xˆ¹ýÅ)1ºÃ EO½%öt̹›×y«Ù³˜«õtÝíÿÄÆBçHáK?}Jn¹¨½ÊµÑ›±:<ÎÁ;Ù±T3:¯(9t>xHY4ÌšdSp§Í—S5zgãÐÒ±1 ’êñøÄÇíÚ÷ü|Œ†öÛ€ó‚X«W6>äµa¤5ôÞ+ j wùz!C(&Tc9iBnôK0ò·µý+#ÎaÕëõ‹È¤¬#~;«cT^7دY¤ÈhÒCñv„ )GA;á[yFMáwi1סÀØzeroc-ice-3.8.1/certs/configuration/ca2/ca2.p12000066400000000000000000000052741516567600500210530ustar00rootroot000000000000000‚ ¸0‚ ~ *†H†÷  ‚ o‚ k0‚ g0‚ *†H†÷  ‚ø0‚ô0‚í *†H†÷ 0 *†H†÷  0×”èYÅm€‚ÀwÙíë×ûÁowd‚@M!mïèÚfõFô­Ó‚æ„hÊl}‡Ã;Îðw¿'"·@uEV̉ΆpöÔc:Õêm•þsÛÖ ïØŠCM•-ÆyKñÁÕö% …ef¶ë!Ïcß²h‚_"3Õ2Å D‰C&Aþh­§›¥úmeÍÕ¼^åVþšžöÕô´Ÿ?\I“Ü0¿æ’QÊøœôèh¼å]2±@¼°¶%®ã8Jn™ÿäýmïå°aÜ-CIXCjµ:p+VÊ»è—Ç/˜ êÙ«>mh¨¨¯‡^¬¿Îíš» ²§Hð@ÆAºû%O•Ák%Ð%±| ¤v˜E¥‘HɾÁZ!…ò° );¨´ùÁuA•gÈÔ`†³}‡‘h@ér¶4îתcù…=2JImå}Céó&Íi? ŽuúÊžM½ñcçÛƒÔ%ÿ@”0ë;øœÒŒùÎN¢f(ÄÉË„¹@hû¬wï£ÎNË¡<è°ÜþBzG6’V1©.ÎÊÇÛWWtþ®áæò<Ñ}…¿îSÕj’š¡šÑó‘™^½ÖYçq‚·ï¿;ÅŠ¾1H¿W?áw‡Ü°ØÖ̵!4HVæ5wõE“FŒ@bp¿Í×ð]›öÿº+É6Q-ðš²ás­ÿ…=‘ýçÃ•Š±V ´{E!žÕ­®NW£¼fø<¶EWo˜H$1ï­»óà皺åË(ÅãéÌÅ-Ý hp‹‚λi;KqÒ°Ì BVŠ"^Ø$õœ.©ñ@|@òM뜇lìÞ<'Õ  "Ø`噇wä}Ø)¥ RÇoíÿXNüâ3òáð/”˜CKÓi¬úŠÏÚ…íz Œ½xï¾Ú›Ó‡;šsÒw³ëx˜h×ÛKxú‰G:a¸T¤Cý¬·s[˜ —¥µ{¬åëbOR=ÞúŠÖ1d¸%£åI~ uwÈM÷þk Ñ0zÌqÆxDØUÈ‹¤‰5>³Ÿ;újÏÏK¿,Ò ¾:k±€úô1/ýK Z„˜»b‰‡í)±ªVµ³-ç뎗<ó ¥ .ï˜ DÉ ŒaꃕöJ¾ˆÑºOý.hÑäâ%\hõ£nƒès€Ï‹f¹È7Œ™F1Üih5« ÷Æv‡(Ùs»*©’°ÿ¿4#$‰ƒ«ömôô  •tâIœ{‹=C‰Œ§ ƒcãE’!¨7¹Ÿžw•îÃøº©k*„bcg¨©f‘§A¶¾ØKƒ?PûðºîÆuÅŸ/èp>ÀœÃ^Ì_¸[µrdÿ潚wfeÝ̪i5,-+§ p©8?*ÁiÓ;à‰ò|–X§$¨w²ÁËÃÇa®ðiÓé¼ßTÖ_1,d“ ,&§b,çŠΛŒEùf–Vý@E M%SåÖŒœyë¨Ç*Š¿ƒ:cžÚ"¦ckŽ0‚X *†H†÷  ‚I‚E0‚A0‚= *†H†÷   ‚î0‚ê0 *†H†÷  0(“ûÛ«Vþ‚È@\6Á)”…]Ÿ?Ñ£¯7D4˜ .„“2.Ò›Po° 7\kd(CfkÅ… Å°»åž¾MÒ~êW­ïýŒ_Š'N×™z@±ªƒÛ×t” _†ÿdÉýc?FØg5HH§LôÑyy³l8PÎLZù=Ì„ãª*·H“‡×oà€‹ù{öè#KƒTfѳ3û²ͧg÷Ž·Ž.ÉÚ2ÉÒ-mA ÆŠ^Còì¶÷ÿÙö sÅ™P®<õ}cdB‘ç–—3íUÙ?èäà[:㤺 C#Iç87q±/e¼96°‰¢^Žæiû'ó‚{VzÎL1~HïiÝzxèÕx‡;çþÁ ä´#Hukž"N»§ò»e ßÝ->‘ÿ¡†>rê¦UŽëDù‡23¶Ì³¬~í"¸03>â1ýyÛ@fr+Iƒfã°XBâ©ýb!×YQŒRW]£Õh­æôÖ\V”¹G±DBdéÖŒçÐÐpˆÝ sª‚«Š¶@!>//LoÁÑ–µ°ÇþÌVüäé–üóz[•N{ŸkŸ•+O®”`WgªÓ”$q%€ûdƒ'Ÿ“LÓÖ]BW¶‡Ï¬ ÚÒâ,LžÕ[VPtùŸ¹Í´Þg™eïU·$ó~°¸»èàÏàŸqeûµ¶®»lînÚÑ=ñÓÉ4’â=GM21äTz±/¦[¦ {AžÙøgFJ/ÚÐìËY\`/TÓÉ}~ð^BdÞG˜-— |\ã‘ IJ¹µ#àMHÞ ÇFät… Žï ÍQ¡/ç4,‹Qü¯s!“Lå³ÞzíF®TV#q[©iE-ƒ¸` ÕBSÎÐøBñ»JÝ‹#ò¢¹Ä–n²‚5ù¸}Û+,hׇ¢1Àߊû–þ=M wtòGæq„XkëÑŸ @‚“Ói»ö¤£V¨iD2ÒÛ£« J/IKµy¶ ô¨—K×­µy•¿€= —ûdÞ_†Úgž¥Î̓رM|ºµÍ—ú-ÌÓìay•gd¤jŠEõxUÙ6’œãšØ¹ÅÁêE}ÿo#[ž0ê®\av—¢aÌ5û˜ª/íCö|b‡a(®‰C÷Š8[àgÅ×ôy–Õc¤E=ç\ˆ¶­’Ê¿!ýs ‹p(BEš裬V"…¼5©¯i¸ûÚiŸÇIjòfÙA`ÖÈA£åÆ3& ™DŒˆî”Kh¹¯î°m b‘Éþ :ÃÍz|®çÕ¸+àà)°÷ûÁrMqÿ6Û{ƒ~û`5ª‚8£MÌ÷ëåÚ1WOŒ7¢g•]e˜[ŠÈ·ÅàÎp¿Q¡nt9â›òÑøy³Dÿ _$TðwB:%÷£•0’0UÖ"ì€çÛÒj˜qDYœá/:0U#0€Ö"ì€çÛÒj˜qDYœá/:0Uÿ0ÿ0Uÿ†0U% 0 +0U0‚ localhost‡0  *†H†÷  ‚€u ÝŠ èj è~¸¡óÝà-ÅÁëž­Ñó²Íâï ž# €¯z ÞÍ +ëú¥)öS¥¨”ü~xˆ¹ýÅ)1ºÃ EO½%öt̹›×y«Ù³˜«õtÝíÿÄÆBçHáK?}Jn¹¨½ÊµÑ›±:<ÎÁ;Ù±T3:¯(9t>xHY4ÌšdSp§Í—S5zgãÐÒ±1 ’êñøÄÇíÚ÷ü|Œ†öÛ€ó‚X«W6>äµa¤5ôÞ+ j wùz!C(&Tc9iBnôK0ò·µý+#ÎaÕëõ‹È¤¬#~;«cT^7دY¤ÈhÒCñv„zeroc-ice-3.8.1/certs/configuration/ca2/ca2_cert.pem000066400000000000000000000030051516567600500222350ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIERjCCAy6gAwIBAgIUbd+Plw0grQUgzOeJWYwipzmPjnwwDQYJKoZIhvcNAQEL BQAwgZAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdK dXBpdGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFz dHJ1Y3R1cmUxDDAKBgNVBAMMA2NhMjEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJv Yy5jb20wHhcNMjUwNTIzMTAwMTQzWhcNMjYwNjI1MTAwMTQzWjCBkDELMAkGA1UE BhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAMBgNV BAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEMMAoG A1UEAwwDY2EyMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAOit14Vv/WXI4Qco7nZqP7r6I+JbUo5H cR8Ewfe0PSzq/WJuIAxmrcYb9LP0JgVnh4PEnqP6U9ynKgy9eCIojvw79x4SPSJk o9lqhQ1dcdATSLPu5exj3G6xuEUiFqwr//p/ILM/2MEAo8Mq2l1EChiczzQTFX4z ArewvQ4TQ/Gr7m2xmrbwEyIjgXlfUgeLMv5qlZeFhOXI7wfPSMjq/7UIMLbTq0XG LmCp0lMVTfSzKi1GQtsor7AN5G3FsPp91HTirxnsRR4+t8XgznC/UaFudDnim/LR +Hk8eajy+XCeZWUgkuBqWbwyJidhJ5mWPrNE/wlfJFSd8HcFQjoljfcCAwEAAaOB lTCBkjAdBgNVHQ4EFgQUBR3WIuwTgOfb0mqYcURZnOEvOo0wHwYDVR0jBBgwFoAU BR3WIuwTgOfb0mqYcURZnOEvOo0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E BAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwEwGgYDVR0RBBMwEYIJbG9jYWxob3N0 hwR/AAABMA0GCSqGSIb3DQEBCwUAA4IBAQCAdQoa3RGKChnoan8L6H4TuKHz3eAt xcHrH56tCNHzsg/N4u8gniMJgK96Dd7NCivrAAb6pSkV9lOlqJT8fniIuf3FKTG6 w6BFT70OHyX2dMy5m9d5q9mzmKv1dN3t/8TGQudI4Us/fUpuuai9yrUX0ZuxOjzO wTvZsVQzOq8oHTl0Bj54G0hZNMwSmgNkU3CnzZcPUxM1emfj0NKxMQuS6vH4xMft 2hb3/HyMhvbbgPOCWKtXNj7ktWGPpDUX9A7eKwlqoHf5eiFDHg8oJlRjOWlCbvRL GDDyt7UC/SsjzmHV6wj1i8ikG6wjf36QO6tjVF432K9ZpMho0kMd8XaE -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca2/ca2_key.pem000066400000000000000000000032501516567600500220720ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDordeFb/1lyOEH KO52aj+6+iPiW1KOR3EfBMH3tD0s6v1ibiAMZq3GG/Sz9CYFZ4eDxJ6j+lPcpyoM vXgiKI78O/ceEj0iZKPZaoUNXXHQE0iz7uXsY9xusbhFIhasK//6fyCzP9jBAKPD KtpdRAoYnM80ExV+MwK3sL0OE0Pxq+5tsZq28BMiI4F5X1IHizL+apWXhYTlyO8H z0jI6v+1CDC206tFxi5gqdJTFU30syotRkLbKK+wDeRtxbD6fdR04q8Z7EUePrfF 4M5wv1GhbnQ54pvy0fh5PHmo8vlwnmVlIJLgalm8MiYnYSeZlj6zRP8JXyRUnfB3 BUI6JY33AgMBAAECggEAJPQrJQmuxIIdXx48lTj1qzP8DAC2AVvOVv9R8Q3Co4Yk vQPBeka6dZrOB+CQQ054gtBw45knxYUVFBXpZP9tChlZ+4ApDnPOZALbY86B+2p8 ovsfsCYCBeCa4/vwfuK0EmwrXNyYh7qax63gJWzfb55D+EDJqpPebB8ZP4mGwnRe 7lAHsPqSMIHQ7Pzm3nHLuyyrALxVgPO7awGGXEz2fhj2uWLZzAxpIodgAqQzfLux t/yAY0hraVGF+xx5KII+Y9oehiJ2WEj1RJwgTOw39eiH5cxuNiEHVOyirZqBNw2f u7+Kd6iFQ/6TUPCtXaERBpCXV/F9xrKOkdVEGeaxLQKBgQD4Ic13SOrZ/alnYVny WrigdckobXB+7EtzpKfgBl76F2486H5x52yJ/BkXQ36PxVu9gmUG6qYJEt96myRm 0TOjH+UTueAaqITgu44ytwCA4opdVpmIN6BXEyyw1+k7gCqKxe9OOpt6rgAbXcwM xgXlDQJbvfOlN+gH48xQMWWDDQKBgQDwDpnGQzr/JRd5+72btCK2OOICX8DHUscM twmdhWhNaGP7fuaNmPru+sGWmRVkpb0dZ55c10rpw/tiEmtFlkYf6orDJt0j4wg/ mwHNfi/7LoRR9SVXApmxrpHBdOlz6xhBDVLJRdmSdyKZ2HNQzjdPu/zD0i54YXVg TsDS3iskEwKBgQD1YSg5cGifjtR6IbG7k6/FLvXw/tkjCzZKdGh3iJVgKM+heCGj LsMNabq+YMbGEtv4evzBbEcp7foG22mSLAwuoxn8+fH/KuvM+m1TBdp/mohOaZeH N8tekN2/PKWva72mYruW1ypulagRaB6j+yhVLRpJ830AxFq3grTIETFb+QKBgDms OFOCmWzs+1vqGB6NQ32l4t6RJJ5+i6XJX70BbRKTztmAHmHMbBT4F4RX2OTqUKn8 1/YUH0JUPFPOewkn1kcasSW7c4uIotWtJty4wUxGW7HZBJSH4mbmusvQi7m2tIgE bGxApMnkZ2Kwttul/3HfhxWArHttZqaxpO/EQncTAoGAGUvZWrlxucl7/16Kohlb m69uAN6/j8InSuHNmydbP+/bwAQQvxHYYzgd1V8GERm7ZA12yf2kmxTdnSo15Y2Q zzNzyscPFj7GRYtQ0W681W9ZHoIZzeZ8b4Rdt+mY4VRixd6MVuLMzEdralGU7wYb aoSiM2TzO/7Z9VgNtEqiURk= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca2/client.cnf000066400000000000000000000011131516567600500220140ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca2.client emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = clientAuth subjectAltName = @alt_names [ alt_names ] DNS.1 = client IP.1 = 127.0.0.1 zeroc-ice-3.8.1/certs/configuration/ca2/client.jks000066400000000000000000000067061516567600500220520ustar00rootroot00000000000000þíþíclient–ü—t¢0‚ü0 +*‚èI¹& ¾c¶‹_IT8~â$}G§•“ƒåÛ«ô³WW> Ó$/ŒìgZ5wä$îóÊmšÌ¶7xê­ì ÿãîdf=èC®¿Ãº§Í—¤Ð‰òUX½Àž4&5ë®|U•  /JßÌëxª¤„vðØJ\P‡iî íÛO5¬Ù ß™eð•,¶¾öFv=ÊÇÖÒåÕ/`zcÛe£§,ºçñƒÔø:Âdàb,7ýoHÀªßnzñÞæP˶„ygš>í4°‰Jç€ôÛåXfOF™}¨gßâ|Æ‘Õ#ŠOnÒa©‘ÆM[1’Þ‰ˆí ¢\%pøÕ)§:ì— ~PåäõÇ­r×ä¥EܹRò+ÕÉ-ÿC=2„¨rÑ–i½}º¯ÎbÇŽí-îD³Š?˜lí£§¹ÿ e&ND¨¢\Txõ|r¾ê=p=±¹í’>"Blìm¡­3A/oÇ4¢CP.|1 ¹Tù[« êOu¶îº«¤¤8í5)¥rh‚y{‚ÏLʉ?jœWÝ#|ïv4^å$ Q1­®Å´ý²ËÛK‘Ö7•v;nþ5È@c9·ÅàÎp¿Q¡nt9â›òÑøy³Dÿ _$TðwB:%÷£•0’0UÖ"ì€çÛÒj˜qDYœá/:0U#0€Ö"ì€çÛÒj˜qDYœá/:0Uÿ0ÿ0Uÿ†0U% 0 +0U0‚ localhost‡0  *†H†÷  ‚€u ÝŠ èj è~¸¡óÝà-ÅÁëž­Ñó²Íâï ž# €¯z ÞÍ +ëú¥)öS¥¨”ü~xˆ¹ýÅ)1ºÃ EO½%öt̹›×y«Ù³˜«õtÝíÿÄÆBçHáK?}Jn¹¨½ÊµÑ›±:<ÎÁ;Ù±T3:¯(9t>xHY4ÌšdSp§Í—S5zgãÐÒ±1 ’êñøÄÇíÚ÷ü|Œ†öÛ€ó‚X«W6>äµa¤5ôÞ+ j wùz!C(&Tc9iBnôK0ò·µý+#ÎaÕëõ‹È¤¬#~;«cT^7دY¤ÈhÒCñv„Ü>%!¦âO^ÿÛ)+—ØïLzeroc-ice-3.8.1/certs/configuration/ca2/client.p12000066400000000000000000000074321516567600500216620ustar00rootroot000000000000000‚0‚Ü *†H†÷  ‚Í‚É0‚Å0‚ _ *†H†÷  ‚ P0‚ L0‚ E *†H†÷ 0 *†H†÷  0,d7ו£z€‚ ÄZ´Pî² £½t4O0QpóUæ" á… ô™5¨a7!Pù÷€yŸá6—§kfšàéƒÕ~¬Õ–þç°M‡†\!PÅÙBÌ îªÞëÃ%ØÀwé/® ›‘á þÛ&TSBr–ba„ANXcêâoŠÞ¼Û² û÷P—@•¡˜´k¹ÓQ?WÎøŸg+±­¿–\€ÉN±ûL¦)˜£)˜þVh©S\&‚m°aÂ1Îl¬ ý‹êÃØ“ñ¨Ä"3oÓó}ÚJ¨B¸P[6î0Â>ÀUnðhÛwmY½Fî'åÌ@ü~ÌÕÀî-w3Î@ûáóA #eaì«BÎ CýaÄwˆÌWN½r³ÛÀ*)È`‹Öò½Xø ¦:‘jY& ¡x­S¼XU™ÐÝÑSˆìTId]Ëäeö×|:á @TDí’áôëÀ€‡\…TÝ:_ÁUÂ%)X´–zðg]þ÷"åmîîý;­­‘àøWŠNó›þ–Û6o‡¾ç ªf¼å¬¬Y‹h´7I{ů}% Pè³êiå]içJÝÛãjšhBƒz' ˜êF…«¯ºÖiö–`wØJA™²2,{±’¸¾Í3–uÌœA¥xMãÄn%”a—ØŽf,ÅTjáÌË OtÊSz#,ÉÖ\h<ñþE5œï;×An·)¯¿ÅkçŽv'Ûa°³*êf‚î1"&ª]¡µÜ:-~h]™Ùí­ÊÑ'سÃØ‡s£•ëéÑ6‹Ì‚8#Be7"Ê‹9ò‰]òô»}"IáéŠßíýûG°¨:Lé4šz<'†Šz#ŸC |QŽÏõ,‚ß ÕdßuÍã!Eâ.óÀJbe;FòÉÔ Ž¦ ©_(Þ«U|å"¬Íñ±‹·°ÔrÔÇ`i«?$±¥ŽbF ðLœÉøüø«=Ñwß7úsƒM)®ò‘S¼_ò!ñŒ—®hNI¡n~#Û}¦Â®á¥B£Ò´§Ý``ÑRd Ï2ºD“Úí<!•¨G?j¹»õ²Ú/R¸‡…É„’ ‰©°Ê]¬/DznÏŠÍ~rK’pÓ®­e¨oMpqÉÏà®Ûx@‰¢óÅ=Ù¥gœ í¬ØÅ¾aˆ¯17øeú‡×²ŠøÆ‡ÓÜø“%p6ê[*ãOiñ' ‹$!œ£Ávö¸¯®ÈáweDß^ ƒ]’¿ÆfeŸˆ˜vèeð§½Õ~çß¾•ø<§kÞ7²‹¶¶F ¦Û~²e]}Î,TPòûü‹+NòŒ vQBðd FÜ èBI©aIÒ,îóGµãÝ#ÛºŸöû<¿m’_™•îÚädgdû¼u¡ºuràb<3ÊñÜâ }ÆèÏfM©+âF†\æ¡— –P¬, I1T±zäRðÖ;×J,ò¨~^Š•–¶ÑûÕôÜöªf°5œhÊ¿± •6‘*‹JkÜ0 ¾tÔÜ=W^BȧoÊ„¹<„ØõŒæ‚ñ Æ[¢4”!缇•G7—–㸷!êOFt °dBsÃ'dÉÙ¾<šiwõaf¤M“êßb{æˆ#k'G¯rV¾mJÌn…Û¨ãN´hIjkÖf” j8ÁyíÇaäý¯˜«ŠÕ´ï4l„€§‘}a0(8jˆ1Ö0ŒGîD¥÷]Ö?{ÇÑ-{ªK #wƒèoþD»¼l¢„SÿÐ|H£¸zbN/'|ä)í•LÈx=i g¬hÚ™5”(ïýƒ8k—6_„|üØ=L ž1ºÞbIkb³SªM«QrN‚÷Ê4dP~«º¬ØK¡«þ/¤ø]|ÁºáóCË{‰¥|þ "rÞ”"…7&y»)%¹ÿ_à/ß»ëÙ»i‡i~Ò1Šqi‚o^„ÇX›-b¿eªª­¾F`´éeáEв”ø¼ù.îˆkþ{²@Œî‚ŸHåH—>šê²b!$ð·‡IVNºí¥Ê½†²©§¤më¥/…î›A]˜bË°Ž s¨}Í)¤ÿKÈœßöÈEø-а„…ñD†˜Àá/1#ýl±SæÃÑÛíB<Sçut>W-¹1_ ¹BÏÒÇ3íeE,ÔGXfµµPé×ǾA·ÁÐM7>ºWh~Úl>]| CÆwf‡&àlßi«|ˆ½¤õ?%`´$ùš *&ebÌQËÁ- swÇR±Bþ¼#• l‹e ÿ¶ÆZÍè¡<þÌùá,®¿K¨@x{TUW³´b60õõ½î«‹9ó SsÎóçÏÃ~;µR“œÕŒJJ}‡F–{¡ër¾Û”#Ÿ^ 3ðÉ9;Ÿódg¢ÿ”“tJȈ˜6+$d ¯—HÁ!íM.ö¯Zìa‚lÕœ!YÓ¡¬ùðÑ÷EŸˆO™d=p!í³¢eؽX~¾—õù¥‰ßo†þég?Y‘³ÿ°Uò(PÏáV–H`¨ˆc:Â;¬O´Xab$äVvø „‘a¾Ä޽V¤RÃ!ØÚ²’O™wO*|lºµš#;&R¢-TY[¸nXXʃk-ýL½ú‘‘8ÈbónT/Õñò›™‡‹Ìv±”DQQü‰W^=ŒD5üUwÉd©Áú¹t5ùÎ_Q9*JŠeȧŽå5 _Íó‚þj(Ø|~Mº Õö˜E=óqã$ÚâLxfrøÅÛïp<$ •c˧â¼›V|ôÂÿ=^D?¼ˆnriìû{¬€‹è¯cÒ ¿,&—àƒ·Ì[0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0¶5œò]¨T˜‚Ȉ´Í»ü%õ&õ´æ7uª G zÞ6¬;cû¨EèÓ#LêeZ¤z×åMõ´KÐô¶ÙªÛé?çÕã>Ší&×w§ôq1¹ûE¸=ÖŸx‰[;ô±ŽWp«^%[•%’„DÜ·Ó=?‚ÔkÎ$Ó7±Xèóƒ‚k ŒzeÁúÇÏÁw óY¤ÑØí3¿S{ÈUt%´Y¾Â mzWv+‡ìƒ)Ùœy¨é­"Ù4èáÁö[¤kùŸLDB…$"ØoÖIõ¨­ºèkÐiE¥®QIÝLƒYvÝõe E€„§f½5ÐÁ¢ùXýº_(ü6‰ªü*93î¶–Š­Pm!ÚçŠþ 1€'m“IMKÛ2«@¡Ú°/Ý•ˆ;”#aöt‘áCÿ™±@íÌÀÍÅúÇq‰ AUV8óîVäÿL£&Ò@;‡l>ßÊ™‡Dåì žª`µFÐáÄŸþKšŒBdT¾ŒU"‘¨z‚ÛºóÜ€X‘¡)+ÄlkzS÷çÄÈš+´z%¤ÑG=ÓìQ"z˜=ãÜjG½êß®!JÏœ„,¿ú–”ê8Ððvëk ½Ü­“øF['' ¹ûH'Ú„YoÁ¾ |xu¡Tš~¬I[œ¬ÛØPu*Ð0úŒ*^‚ðTKŠ`ƒ²ý7,­]$¤ÕN:rÏä‰7·j…Î~„Peš³%溇ÙU›+Æ«]¬ü.5Œ¶öDÁ”û$¼\?é“Låg[¿au“°`’¡H„èæ}Òy*SK½è“EjÏ\ÛÈ1?Ó÷Çám™HèŒ OÌ»m9eRÕàVéÖtçUÚò£L` üp¢Dy>¾§€qÙâ.d]•ê@éÔ·©™dñsz.(e¢ä³ ݱ)nÓjôͧJ å‚ù¡.”É×9“ÞZ©\À Ô¤p±{)ÚìA`Œ`^¹óC\\ü>ĉ6VëÓsÆ^ ¿âƒüýº TO;¤³Xú8ÓélT:O1˜þÜ€ùCÞ|¦º‰8£Ü¿T—›o?¡@Uý«×BLX3ìŸïø ÙAÌáúy|³f\ƒºUç÷ç>  9T;öì¸ßVÁBœkÀàÜÊ Ú4¶žð˜¸&ß.1B0 *†H†÷  1 client0# *†H†÷  1Ôy×¾®3ׇŒ}S‡hº-üD-j010!0 +×áhÈÂ]cìpì+nðvÖPi©¢£h¥\ñ"‘zeroc-ice-3.8.1/certs/configuration/ca2/client_cert.pem000066400000000000000000000027351516567600500230570ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEJjCCAw6gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMjEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ2WhcNMjYwNjI1MTAwMTQ2WjCBlzETMBEGA1UEAwwKY2EyLmNsaWVudDELMAkG A1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAM BgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEd MBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQDQ2MoQKTCKBYvsYQncltBZkmVkmPsaP2r+SbKd0MaFiB9Y /WzJYr+PyYU241bF5g6Df4utAj2N9coKJH8kw0MMvpuds2SdD0nFYOxW5BkDkptm 9fTJBzYCTCDnEnUUzpbu7yiejP9RKKmhIMqV+uwttGiGpEVygMHw1iT6ZfqKgydM x5/Haxe8LoYQ32tbXkXhEycd3XMhTSdcaE6dC9O5dnjwlHCgLMytSYJBdCB37ox+ uE5Wn0dzIgGiz4JZv6wbOCuX5UCwA4pqyIWXemL66QgaCNPlcBWd4gqb1KMIgtJI x5zI9RZoCkTLzFtDnWLLOTsGvs+7SE1RL40F7wKtAgMBAAGjgYAwfjAdBgNVHQ4E FgQUh+WshsTlMrkI7AMzJJkMCVmZnAswHwYDVR0jBBgwFoAUBR3WIuwTgOfb0mqY cURZnOEvOo0wDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQMMAoGCCsGAQUFBwMCMBcG A1UdEQQQMA6CBmNsaWVudIcEfwAAATANBgkqhkiG9w0BAQsFAAOCAQEAe3GoM2Hp neQnKXkMrf/fPLYQCFgP8wE4/MPRpgzu6bgB/0Kmi39+WV7b9RBLEDrCVxcgD0cy i+Qp5Lbj/U1sUS9aZ5PvnC8bVrLtb0yHNth8TU/shoGxJCAKP1DuyXHvbM6Ww0k6 gCtfhwjgyndKMReiMASel7jv33xB15Jcaa1zzLeRz9XIsEcrbbIRw44nR53M0rms JcIRnIBVIKTnUgYYnltXWzx1b1fCFm4py6JwL25/NXchpO2KQryI4H1JzupGAt5z 40E93ph70cyLIaE3wCeC/RdyCVQDVxKmFpJQIFU5ubFcLHa7X6/lwU39o+wVG/7F jXUzT3D8j1sxDw== -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca2/client_key.pem000066400000000000000000000032501516567600500227030ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDQ2MoQKTCKBYvs YQncltBZkmVkmPsaP2r+SbKd0MaFiB9Y/WzJYr+PyYU241bF5g6Df4utAj2N9coK JH8kw0MMvpuds2SdD0nFYOxW5BkDkptm9fTJBzYCTCDnEnUUzpbu7yiejP9RKKmh IMqV+uwttGiGpEVygMHw1iT6ZfqKgydMx5/Haxe8LoYQ32tbXkXhEycd3XMhTSdc aE6dC9O5dnjwlHCgLMytSYJBdCB37ox+uE5Wn0dzIgGiz4JZv6wbOCuX5UCwA4pq yIWXemL66QgaCNPlcBWd4gqb1KMIgtJIx5zI9RZoCkTLzFtDnWLLOTsGvs+7SE1R L40F7wKtAgMBAAECggEAWmlXhIqIWGARVJonzka92OEPIu81WYYV2BLoj/iHUNx+ kaRYeZBV1LYNhRcDBDZVlyjau2Gqay/6MMze+/fKKZTEwo8cYf/x1FBi0DT7/Td1 LiwRNgv4niL95Xrwk7rhzXtcjtMEXsqnMLmE6kvP/fNJguxPokPKcewK4xnNzjMz zmyK0eouWO86EsCoFI/P2b6fHkT/WxvcWL4KY9oxIguKYFblW/oB13QaYbY+g731 vK0YzjKzwm8MM0K9ZmDDDa88oQuyTIl3uCGLD4L4QMk1sLVsxZAkYKp64P8hpv6b k/qFoMZDQjNFrQbcwa8wULEBUX7KbIaBXE0Vugq6owKBgQDrkSby4R9uZSyIxwMZ Bv/0hVFeWRAJ92lIOSVm6kKPH7odSLB9R7koy9KGMNbDcisr/5e/8NMxbWI4TNbY Kxtu1dI0V1+1EYlsGYu1mjEjsmMCjPJ814WRdDqrgl3RKIwb4jKQpc9EiwhIhPkO 232s2IqtZO1fQrGDqckRHqeGgwKBgQDi9k51d2DsEcgVVdrVlAOdDZODy/9OwH92 aOTYv31zgCvxgjmzPwxbwlXgLjkWUTujNTvR3+FV/aOcSh636hLBX/W17AWDUM7V mVWmxEXsnrjPAvEkcG1OpMjrSs11awoe4P09vB0NsjJ7P2GF7J/pWEi1gDcIFqlZ bivrR4eLDwKBgB8gqxjlDpYz4FKimZIxDpltFHd3JVtrygm1I3AZ/HmVI67C8C9d zuXJKSR6R6bD61iBCbhfRkj9v0DZRnqCF7npn0EzWn4+tv4F0iRJH70r0VGA9nnw sMGrriUDsQn2Za05kpzyjBTumkWa7J49+rlgU9Ldx1ATLAnN4bfVaSWpAoGAT6Xu fMyrJ81JsSsTA/bQmdIE3bC+ZQ2q7Yv8G5B/3wOw6C0yQJQ0qxL0/hpakFlrm2f4 GTv/ISVEwHlGdHZhpJkfantsp9u46j7ITyD8BQDijEtVAtutkHbFx8TVe4pX3+RH Gt4kOAU8MAJbIBudNs9znLZlGaKSRb8jDItqpsMCgYAEyKCDTgLULXeg8qOtg1ed vXgvWA8tW9AhJomUO7V768BLbbpzsw4lZQr6FIIV91SfH86rAPr6mtoeLf9Pdg6m PUvRx00p3YUq8vGxzP69BeyDQdGE2lOSaLgvsOKYujNrRER1uI4xAMi8Oxw9uxAk 9ymJoezaKskuKChRUOSIBg== -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca2/index.txt000066400000000000000000000004141516567600500217210ustar00rootroot00000000000000V 260625100146Z 1000 unknown /CN=ca2.client/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100152Z 1001 unknown /CN=ca2.server/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com zeroc-ice-3.8.1/certs/configuration/ca2/server.cnf000066400000000000000000000011271516567600500220510ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca2.server emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth, clientAuth subjectAltName = @alt_names [ alt_names ] DNS.1 = server IP.1 = 127.0.0.1 zeroc-ice-3.8.1/certs/configuration/ca2/server.jks000066400000000000000000000067211516567600500220770ustar00rootroot00000000000000þíþíserver–ü—‹õ0‚ü0 +*‚è×\Ì7Ýö2²ƒ¹40=×›‡ˆ€ô–3Ú™ƒ›•š£4êÙêÛ7 Lxô  O2롚HF ëúK„ùrý"^ÄÇAà“ðDãr7!È݉˜¡0fñsòÆísì,âْ£ïÑ6bIÑÿ­©º,L‚Í£s’5¿þ ónl|:}ÏßèÕ¡RÛÍvp~% G$×]@® HØ! /Š•Z>æ‘5¬˜¢J„ F…@‘vkq«”¾4ˆ8eu‘¢cîó~ØÞd Ë~ÝmDïÅkÞÂg6| ¶¼®­ååŠÿkEOæÏ eÿ¥dê¡nÐᙆ³fò—µ¹©\c›Ç7B2KB³!Ƴ'ùK¹´!rùœôò@:)ö‚/Þ¡ŠŒûõ͘wˆ1Þ«½¤9 @t}çë8‡Z%®Ÿ­HÑ-T D(g½R£[žiL—=PXu°ÓÂã·àì³»ò…„MT¿Ì&¨ç5ù4&s]w½’5çû’;M«7qrKöO4•!팺3È31ï\æò8êŒ'[±ÿÊ*AË<¯ŽÒ+ £ÐÃAZC*¨2b#£ÀôaØ·ª#—±nå”Hiƒ‹ ?f¼©ÙzJ[16ñ (Ü;´€Ú«JDÁþd"AºeóG Ã#Äâ6F&ïW•#ñ A%†@39fžMJuú¢pc¾«œÊðÕäìøéSá”PZyET3“è6ŽBã#¬Ð`1QrbîZ¿K¢ÕZ }$’ù ç‹9ËÑü=1j¨R¾;ÜH‚7ãø\›þ¤PÈ4Á“*ž“ñ¤ÉȬd‡ ϰM0°ºÇ"gAù’Ú7fo\VÌ×;¨ †!¸ï÷¨`<þl=4”“3…¶DÛåcoÌêÒ6…wÃ(.8—³•Äé/á²:<±ªD“<*ÿ$kãÕÜ¡M=­…ég+2‘’X#ȃäí ºò „$°ñGi>ÕÝù‹~ŽïЇÆOÝ@všU9ÛÕKƒÃ1õ¤ïË|›ýÀaÄÁ]\Ì‹´ÉÐ ®éwæÂANgk^^¾Õò¨Ûÿúh(,ù³Óq’ÀÁh8Ó7Åik㥿8âÁó–GlÀSœ l3çGò–»ÍÔóÞT_õïqM[Hr(XãYqÑÔ–…¡`+û×@z€¯Â°Å÷Œ=)÷êÝ® e2Ü|ù -çÇ̶J¨ñ½½Õ¢Æwáš1–¯§1&ù~ª¨½þŒ¹¬àP˜üÖ$'4™z/7÷a16i]ù†ë™¥Ì'öÁiPÔaêz `Õä?uªCH"›«Ti=`‰ñÑò¢¹x x0è!È­îTg­Ð›DR}™ó†‹ðéöJv=ãWÜ\Éu·ƒ{Á¹µ³Î’ÇÏâ,ŠŽˆ]ú›·ò|÷›o{â•âeÁh“8BñÝ!°"¥÷p e0ømh°ÀûøÃ0Œ>Á¡Rd].¢ìì/0 MhVHótO!ÿ rý!ñWwíÖ×Ý#ˆ¡wðišÒeŒB6°R«Lvë©#“Þêù¥/@¯vÀË™k‚!Æàjô`Â-‡¥ÓÒ\XOt˜™Yt¨´ÊÂWé• {âSïqÂÞgc`"NVßXŽ ·tŽì ÏüƉF„‚ åÉ"X.50950‚10‚ 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca210 *†H†÷  info@zeroc.com0 250523100152Z 260625100152Z0—10U ca2.server1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ŸØD»XŽò´fœî*¨6:ÿqçÆEùPÏú©ß æÇ€ ä®Ü&èÊ0¸Sž ?Ö!Meu’SÖ¿á:Bîn_³³ÞóÀ–‡5ùɪGŒɳ!3>féhÃöhß-·¹=a‚Œ#À… Šh)wçêÀe « GžTÖ‰rØ@Œñõ`úœ[¤ ¦4Q^S"ö‘á곜òí»{º‰¤Ü”.oßuí˜Èë ѯ§*i¯$Ë8%4U Ëåɨh$ÞX.509J0‚F0‚. mß— ­ Ìç‰YŒ"§9Ž|0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca210 *†H†÷  info@zeroc.com0 250523100143Z 260625100143Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca210 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚è­×…oýeÈá(îvj?ºú#â[RŽGqÁ÷´=,êýbn f­Æô³ô&g‡ƒÄž£úSܧ* ½x"(Žü;÷="d£Ùj… ]qÐH³îåìcÜn±¸E"¬+ÿú ³?ØÁ£Ã*Ú]D œÏ4~3·°½Cñ«îm±š¶ð"#y_R‹2þj•—…„åÈïÏHÈêÿµ0¶Ó«EÆ.`©ÒSMô³*-FBÛ(¯° ämŰú}Ôtâ¯ìE>·ÅàÎp¿Q¡nt9â›òÑøy³Dÿ _$TðwB:%÷£•0’0UÖ"ì€çÛÒj˜qDYœá/:0U#0€Ö"ì€çÛÒj˜qDYœá/:0Uÿ0ÿ0Uÿ†0U% 0 +0U0‚ localhost‡0  *†H†÷  ‚€u ÝŠ èj è~¸¡óÝà-ÅÁëž­Ñó²Íâï ž# €¯z ÞÍ +ëú¥)öS¥¨”ü~xˆ¹ýÅ)1ºÃ EO½%öt̹›×y«Ù³˜«õtÝíÿÄÆBçHáK?}Jn¹¨½ÊµÑ›±:<ÎÁ;Ù±T3:¯(9t>xHY4ÌšdSp§Í—S5zgãÐÒ±1 ’êñøÄÇíÚ÷ü|Œ†öÛ€ó‚X«W6>äµa¤5ôÞ+ j wùz!C(&Tc9iBnôK0ò·µý+#ÎaÕëõ‹È¤¬#~;«cT^7دY¤ÈhÒCñv„”Ÿ›s߈ÅÚGÐ_R¨O—û¾Œzeroc-ice-3.8.1/certs/configuration/ca2/server.p12000066400000000000000000000074521516567600500217140ustar00rootroot000000000000000‚&0‚ì *†H†÷  ‚Ý‚Ù0‚Õ0‚ o *†H†÷  ‚ `0‚ \0‚ U *†H†÷ 0 *†H†÷  0Î}ÇZ 樀‚ (Eí:‡' dÍ€üK>i­23܇vÛºƒr+æI~ÑûVûÑ¥>Þ“8¼ÏLØ™(‚è¹…ZP’³—MÆÎ„¶;8Œ ÇN$(Jý/O¶IÎÈÑgÍy¼JQ¼N6–:Ê2Ò]*éÃ1§ø6Hâ½H‘ö£ïº0 ôoÝ™^ J’Mé EòžqS¿U1o\«O¦ÇÛ©ÖÄ=µµ‘³a‹ß¢xqˆ³Cç·é]ŒaÈ­H‰dGïPÐ67z—«Ô°yA+'3ªì…Õe+ &‹gpæ¡_æá %jÁ~4TAØÀ²«‰OKöœkÚ¶Ø];Ú0ìèœÉjnSéT$.­uÓÝ™X!G%vl :pðXèŸõ9jR©gs_ëÿeŽ!L[èêÈPB“O육Éj›å|…JýÏ…)äc‡êd_Yhö‚¬— ¾Mùª\x´äU$.E?fŒIèusõmC?fœº%R  Þ]nÎs¦Œ3']H¨Hix"ÛqûÁÕ´µ¾m+gÙQÍô%°„¹€ì¶ïÇ¥æ#(nÜ̵îvä*%‰ w©µ Àó`îTj[T¡k~#³ÕÉa Ôða¨"¨Äɇ#nS„exèzò,@˜áädG<q‘;™K÷åldæ^î´—ê’úm£© ®E_• ¨©LÎôWeÁÜÿ7õæiÚ‚&]£45Wž”íù!“…IpXî2-ìw’ùŠRõ‚ÙðÈ‘'Cc³ö+ÑÀêÍýÖJ ØQä‰m›gñsÍU®®ÖcØo³¤-úlh¼žp«>0¯ÖŒ™…Sß(Œ~‚¬DŸ+)Ø…³¬àkÆÆ´°Êœù‘’­fto Ûê‚{(²öC.WÇ?ªkøg¾66JÎO[ŽwCœ”ÎÒû(&û¶E¹¬ä×Z°'p¤çyO^¢pó)é>ÉáìöFÇÝwâßaP"å¥Ã#¤ºyì±è#u¤$ÃfíÛ›o€ƒ„ù^,èÅ<½ÆfıúGs‚kC­¥¿ :î7°Á©U\Cº§?"@èIçÿDôûF,~p è›;üÅ0 â²€U1gÞÁUñ&}OyÍ ÷+Ž¾ß Z^ Îwij°4p|4EŒÁN*½¤cÍíÈ@ÝCêÆ î+€=M«.îz…ÎÝkÑ„±ä¹\¡a˜EçÂUœÿw£ öq˜v7Dnì¸#åb’UfðÆûºØ‚ŠßÁÅsçÖ/$b‡Ò_ŒÛXŒ—} ÞSoçHGw+Ýdƒ)„º‰†Ì –H& …x)| $ü–¡ÛR7¯­™e0¢ûøÝ¥e×µºO_ˆp¨óÓ¢'hiîL£[~”N»!dÔ„`›$ ð@¶¿“E¿±;ü³éÆæPÒRÖHì¥á̹¦à0(×èiBº2=Ý*Vȯó²>‹NøipËjЕ‰§¤ç´ ðbÏtK+êJâXd»P}…m(RŸîâSænP&ù¶þó슸iœ¸¥èç„;À_A„Q„\";@yùq+”ózÏÿU{h:ûÀßuÔ7ëù¾ÀÅv¹Ø‘'óåè¾=Dí_˜*iÿKŠ™H£*ˆ6ÒÓgŠ6G›s–‹jÞé>‘#´,­8íf@O>áŸÎH§K²ºK#§¬Î“#%øVf@Ï Ðj„:]}x-Q7¬­ d^!ôñmò 9j}t õÁDЀµ<Ï,ãKâÜÌ&sg]«滯PÝ`~oÞ”ÕI©O*Áü³4=èv´”ÅðÐBD>x´.¯lÝ4ëäÀB'(;+°F™å{ÀÇŸo•ø³e)~½àŠ ,IÜ¿žmb¶0=pÔ3 { {QCì^r¦ì^â ¤d‹TùÀ·ëÒƒ– "uléí]±¦kFªß)zzâ,ÔÄ&‹í÷P½Z›¹aå¿«PG/¹°U„rèm™ ³«ó¸Â2¸Y –#»Í0PôÙ‡…,}5!ušzÄxÚ °.F¤´‡†æûÑ)ú(FíA¸Á9BjDªcÕ‡XuVI†½Ì\÷¼ç>‰0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0³ò™>Ñ‘ñ‚È´òryMÊ`„ÄL¢±®&‰oz’M®WôoZ@–ËÚdeÒÉG(J0uÏ›ˆ¤‹GÜwow$ý›¢lº9Y›UR(¦LØW{Äö¦qâ{1©÷Ïvˆ\ɧ¾|=oö¦¡Z¦}¥Æ“ïñ¨ Äp&Æòñ‘&Õ‚£’Q°‹\Ù¯~ó@åÁ¨B&b tý·ÐÕ{ÖÙãužûhËìK]¿uÆk†ØDnO~Š…îÁ0"Žª­q¹bþ èï=üÛ-`8¸jèP á3m´}áä¯ÉLƒÔ(šæ{ŠõF,–kAY°G0(°á6uÜ8êHÄÏ Yå“f“‘­»¥5…#ööj.¼»A›áÏ1Ðæ^ðœz&X>+µæ‰ªô¶{óUÌ2ó.­é¸)|0ÓúbZ6˜JïØlÐã™gÑPn«vÿ®#ãÄúu½©õ%®”—6Ýpé\ dt\ž‚‡_ä®îzÿ&Fuú˜m.VD2O'UxöcføªÊñYèØtmèÅ¿º'y!…ܰ)â’ɀїŠÂÆu9†BEÍñeB¿0d©5Éø¬%˜”ú%æ™_0 ÉúAâQ³ä¦*#aoßÏVµ÷â× ›³ Èÿª<ÛÀï@Kãp ÎÅŠ‹~$7† Þ2h)lþ”yï­äøÇg5 \Ëþ†Ÿ'ŒvŽ«ªÑC͆1E‡GïpwbB¶?˜¤ãi‰NïHŽÊÕ%Æ\"àØ³¬z}ˆÆ’‡­ž ÆÃ³™ö:¦Ó(7ç€ø¬ØyY~Â\[R+cë`æ`/PünªS™…+Þâ¨)q'í½ö$‚ÏÃ÷iä~enc”õW÷ŽÓ]Ÿ€ÃÉ ö! 'ˆÚHM€¹š¤¸%íi¶´‚ÿ`G óõwŽíúy“â—Ù¹¡‡e0e© ª N–§íCƒ>dÞö‘0|cZd¨}{ùÍ9 µÎÒ\ÕÊ&.Äû–rÞÕô&rD¤ÀŒ]¦€–Âo‡‰@Öë)†ÔLÓ´|âÞÝ€w4q¤Xв ˜Æs–ü‹ Z“:?md;ûê‹q$WßÜÓÈ/òÄw•ö‘¾øãË6/À7×w$7|®GÝ(óˆ‡&[ô)»Àsð‘•ROïÀÍP>C8Q5žXØ–z¼¿gûˆ:˜å§p¯ü- HõnðÌ/-) ÷-‹œ]Iê †ìa Å`!È£«àÎ[¬¬Kó^ ‡ìÐMâÕX†·Ú>ÉýQ:Hÿ7ÎdIÅØb›7êöÅÁÌ£êÛ2v1Ò€’†NòÇ)¢g 9Tçe œzEÔ¿m]Ÿº$âí¤Éû«kg ¼ïsOËh¨Äæ`ÓÕJShhëbyW˜ëO«o)¡P£Oziéh˜Ù5Dï½ÜÑs1ó85墱?>õ?¬A…«ûXù?ÆkºÒ[¿ÁÖF¬eL?o²d^ÐàNÈÁ=ÇÁcA®0ö ÄÉ õõ¤9G‚^\7TÈþdÜt&ƒ›ìÿ 6z±Dï7¿t–=á`!›‡ÞÀnb¶ªÓ{â&¯¼ydé1B0 *†H†÷  1 server0# *†H†÷  1u‘I1¦KùG2¡Ã±8–ö£J.ª]010!0 +€ÕÞ‚aÙø«ÖzØ¡xtDû2ìX´3Øzeroc-ice-3.8.1/certs/configuration/ca2/server_cert.pem000066400000000000000000000027511516567600500231050ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEMTCCAxmgAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMjEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTUyWhcNMjYwNjI1MTAwMTUyWjCBlzETMBEGA1UEAwwKY2EyLnNlcnZlcjELMAkG A1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAM BgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEd MBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCf2ES7WI7ytGac7iqoNjr/cefGRQed+VDP+qnfIObHgArk E67cJujKMLhTng0/1gchHk1ldZKdU9a/4TpC7m5fswaz3vPAloc1+cmqR4wOybMh GzM+ZukCnWjDHBL2aN8tt7k9YYIYjCPAf4UdCgaKaCl35+rAZRALqwxHnlTWiXLY QIzx9WD6AJxbpKAYpjRRXlMi9pGQ4Qfqs5zy7bsQe7qJpA/clC48bRbMCVBj8Rdu 2aHCrVBlY4OTRMVuVmKfk+x56lLKK6OnDDe6xkorDtUwdba23M/bwohavOAREHB8 deCemKk1ZzNrlG/51goKCSnL3XrIRE0k51VUArAxAgMBAAGjgYswgYgwHQYDVR0O BBYEFOzzphSZ0Ea4wEbbydqLf7prB7rjMB8GA1UdIwQYMBaAFAUd1iLsE4Dn29Jq mHFEWZzhLzqNMA4GA1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAQYI KwYBBQUHAwIwFwYDVR0RBBAwDoIGc2VydmVyhwR/AAABMA0GCSqGSIb3DQEBCwUA A4IBAQBGIV+ITpTyn84YZcY6W8w7lxi8JY691dzLptBx5MNeTr8IBuHGyvbOf/Fa VYRSyN9pJJCrs0cblyjt/2adZVExloijMjMpY4D+mClLWDSAULNGVRNUlkRnmJPP F4EO9T3wQJd61TRg4Wz8ou2DtcNyzKyMPDekJv+n69Z9ZphXJK9ZBJhKXVWbJhjS 8b4MnTstLxPL/EWvQm/yKW2vCkxNkWXh7BqPLWmu0PuO0xtIklPLPBhmbSZGAlvb kisVpm4om0Zvdv5uZPRefudfBp/TDvUxIRpC+jNqkxi0UejjjD5v33XtmMjrINGv p50PKmmvJMs4JTRVDMsO5cmoaCTe -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca2/server_key.pem000066400000000000000000000032501516567600500227330ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCf2ES7WI7ytGac 7iqoNjr/cefGRQed+VDP+qnfIObHgArkE67cJujKMLhTng0/1gchHk1ldZKdU9a/ 4TpC7m5fswaz3vPAloc1+cmqR4wOybMhGzM+ZukCnWjDHBL2aN8tt7k9YYIYjCPA f4UdCgaKaCl35+rAZRALqwxHnlTWiXLYQIzx9WD6AJxbpKAYpjRRXlMi9pGQ4Qfq s5zy7bsQe7qJpA/clC48bRbMCVBj8Rdu2aHCrVBlY4OTRMVuVmKfk+x56lLKK6On DDe6xkorDtUwdba23M/bwohavOAREHB8deCemKk1ZzNrlG/51goKCSnL3XrIRE0k 51VUArAxAgMBAAECggEAB3pIsdp5WnuLwtrl8jdSQH25xeXYDsD5cbdUX9C0VyAj ckrE7v3ffUj08I136XT34anfHUhYJuXDibetv/CTR4USotLC5K8uDV19fIqrD8yK BZoWBjzueN24B0uei/o5OZRrFSbk/QS+TeyxQ5vi1TH9AaPe8KfxrZgPg6Cxr5UM zYVIWVlI0xw1ChAt5fW6idEkiMesKcovBsbf7WvU71VohLEBCyvEgSEv3urvumkh OB3WPkvoQAwgg0lx2ymP9NZgvNCQJpISX5TFckoGdinSjzXZupv2oz8wDv7PUDEs LeTmZFLyJyLmTJCUzGApKEyHnOkG0DPL/sSoKfIoQQKBgQDWm7iXfRIJor7uyZvZ Vgvs2odhyAPkpAP5YUddfD0xjnpmFrTQFbIb2RYHClWS9DRt8jNTSm+3R1MD04F2 IcicuufBUXAHAg3gAFIfHv9Z+GBOd9JKcHSN7Jg7dKzbIn4igWmOYmWQEjXmv8kA /ErGzW38RHuNxjlKc4gfgJhhYQKBgQC+rJoBct92/v6dfA46XU6I1zxIQPOpTnzR VbFJApUT5RyYMLejtig6dKZ684Px7cqzNwboGSSDUT09TQRQGAIGso4fjnKYlyKv W8YWI+UE3orabVQ9JzbmI9OSHXxzBrmaHdG2N8mjzYx3P57FyBjazX54wboP5Ewl Dtuuzvkw0QKBgCUF1EB+GSCEbP/w0+wYhhIkWPqrcNB+4xigiZk9F6l29PKrtCG5 vHJFbyFjzQN/EZRuFiCmVMN/kHi2gj0I8vzm2ZhmHjd3SUF9jK1FwbOZv7OJxEOH RvQ8/r4zEKb1OmFlhfpES1Uhbx8RsvFylMvbIMBGaDI7IiMP70nP+3nBAoGAYN5x c1D35I2Rr1KKK+6hanXmw1J0N8yPLw6Y/d2Y/T2FtG/zq/FsKJ6AwbAblXpYY4oO MTYszaYlNZJ+IW7BAMQP3kpRP+JwlaRLU44y2LFy25t1k4frpSoIX5ApXIrLGlgR 5cAb6eMQfLjOoe6Raf/CQ/kv3MkAQkd1Ji8yfDECgYB8ldJ2SzBUWgxcbgxP7nkB slEUqgSZowPkQN1i4tA7wc8s15zrsIakx0WxuCy1xTP1fHqQaCqiRAcp36JsuJqq 3B/H6fMkY3c8/5XFUqnmVyfqTLxQokyLb1aHvqpdOq0ULnoRtdlocvdSJKCxNqqy UEBHQbhTQzw5hT+qrifYUQ== -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca3/000077500000000000000000000000001516567600500200535ustar00rootroot00000000000000zeroc-ice-3.8.1/certs/configuration/ca3/ca3.cnf000066400000000000000000000020371516567600500212130ustar00rootroot00000000000000[ ca ] default_ca = CA_default [ CA_default ] dir = configuration/ca3 crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial certificate = $dir/ca3_cert.pem private_key = $dir/ca3_key.pem default_md = sha256 policy = policy_loose default_days = 398 [ policy_loose ] commonName = supplied countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional emailAddress = optional [ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca3 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, cRLSign, keyCertSign zeroc-ice-3.8.1/certs/configuration/ca3/ca3.crl.pem000066400000000000000000000013571516567600500220110ustar00rootroot00000000000000-----BEGIN X509 CRL----- MIICAzCB7DANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMCVVMxEDAOBgNVBAgM B0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYD VQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEMMAoGA1UEAwwDY2EzMR0wGwYJ KoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbRcNMjUwNTIzMTAwMTU1WhcNMjYwNjI1 MTAwMTU1WjAqMBMCAhAAFw0yNTA1MjMxMDAxNTVaMBMCAhABFw0yNTA1MjMxMDAx NTVaMA0GCSqGSIb3DQEBCwUAA4IBAQAbqGUprIw1daHWYEAX06dUhkvgSN7XX4wU NfSwQvdbdQmSDiA5i7WPTEPJc1OioxhGKe/P04xXXmxYAtdzfH1sk3df4fgZ5TBc 85FSny9r0ThXBtBIW/CM6KQ2KdE3mabBxU7JKdeS+VcE/nnj1GCtv2rKVqZmp9G/ BxgIiXDG2Ck+SyOsL46abizYZJGvPfEOfLuUh1UAq/5kPSZFkB4C0pC113YGUr/a 3PXvYK9opRat1jXiLcel9ZZxXmT/kL+tO+by3wdne0CfM0QqPr3njTV9jbm7vNoD N/1PLmhgrdJNt9Q0BevfiXjOP84rManNdWWRXz9ijSrexdFVlzF4 -----END X509 CRL----- zeroc-ice-3.8.1/certs/configuration/ca3/ca3.jks000066400000000000000000000045341516567600500212400ustar00rootroot00000000000000þíþíca3–ü—j30‚ý0 +*‚éf®•õü·ÔðΡu&©5{•8]F÷Èt:ÁÑÏ?ÑÙ‡mõ¯zñ¬yiÔ/sTUDû§akЄ۾ûϤž=WH©<Úõa –ý­Ý"W¡¯ ‰vý~ìÛeŒÀòF)ç"Æ' íü‡ì<{.¿á³s\ÙmaoæIÝ9Bµn RÆ¢† ùʰ·,Ù;IoQ¨˜ýÇEÞDTˆ@׬‹tçà ’Óéð̓sNtC«âÒTtpÑ]Ù]^õ¸!̨×û›Q†¨7½?JŽh3Xa×A…>1ÑñJû$~¹…¤k*5†›ŸfïU%öEÂwõf^"â⯋ò·±#滦óºÅ„“‚„¢TÈi¬* h9]Í* óDõ¦¥¨¢¹„AÆžRs»ë·šöÐÈ¿ŽLA&$ ¡w¯ÁZY–/਼l`FF½¡  kÌbB˜ŠïÛR *º»CTâÈ5Â…eÖš%ø:ÊDÆ–´6)šLwÇ+Ï`Îuø%¡6FªU™MN(ß3Oåµç}ÅcÈaúéT š]×#tº•–ü¦J[½+årÔçWŒ—B*˜Ò€Ÿ[¤‡eHÜ)ŠãQ°JEDZ°’ÆãÞîooßÚD¥Ÿ=£]Üè×ò"”cOˆR¼…ß'ia­™ º&œ‰äBû—þÕójm,—¦*§Å'j“KŸ¦,Z2•]eA±§ÏWŠiWªJîò´<ÿ¢åsˆÊù“Ð)¹˜¶;k™œIœsÉ]Ñàµ>BMšz¤äÇO*yÊ 7ׂ·¡D§ýøU\h ¹¼ºŒ jÎú =åp)fÔ“ŠÀ–‹™ÔyÈaë‹+ Ÿ x'™ÀrLý£Î™‰æ > m“»#ÕÃrIÚsò'R]¬­Š‘9ØtÖf |ÿ“׊÷ýig{¦“ªP¢hiðQë äe$¼‚ò"ˆ"X^_„Çíq˜©.S¸œó)dŒ%³2U€$UÚÌ,T¡ûNhH{~‚æådß¶<{\ZJÜÿ0·Có®á¢füÅ4°$6ÃcÀ±VåÛô ‡g1’ƒ#HÕw/Xì¡ ÐOËú€S’—À¨A£MÿÞ/ˆèÖø;ðη¨½ÐæÅDìÍ€Õ‰[–â=°¯W¥Amüêh2sÀ=pXÑЧ@(…ÊaÀwË ˆl˜ÏÅ 5Ìcw#|Èç«Ú¯<,X]ÇØ%inÆ’á˜Ú¢xWKœ–# Üø½n4Éšk 3@D¡r³Ä'ùÓD%PŒOÿ4ïå¢ÓXX.5090‚0‚û Vk˜ß<3¾„Í -½*—ß 0¾0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0 250523100143Z 260625100143Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ÁT¡O‘Å„nz½x›Jƒç5p¹ÔnÏ>Ï-E0xÊWå—µ ß°ÎËãYœu÷ —Ùûÿtƒ[ßxv_à€cÐÚ:><ù§0fŸõVÍTe×ÑðŠ5ÎkìÃ"[‡^gë1F%3‚Naß«ÙÕˆéø”©Í⌥ ¶º‘´'»”¾Ô'ÐRÂaösŽë¢è»G~íKæCÔ­·¡{áâ2¦i[8±€mÃί«‘ާ³ñRÙò?#›Î ‰Þ®¤°œ©G2Zs°g¼ÙÍŠÐîx1…ÆüàÙIM×3åØ`K1yÖR p`XÞËHå=»^˜î{ùV‡Cõ}£c0a0Uvo cÈÌcYöjà´–,Í*­Çµ0U#0€vo cÈÌcYöjà´–,Í*­Çµ0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚MåËÒ‡å‰BínØÇn$g#箥[ìë¹í…DðO‘sµ©"ÈG§Jþ6»_1ˆéÑ7TƒPÂv"ôV­ü%A¯²Þ#L›§8+¹göHfƯ+–`  Îèz`x×~`à ™o`DúRÈ@Þ"Ö8lµ›W‡R¤¦Š±+ã¾`üϘèàRW>³‡Õœ¿ Ý©øî2@v;û¯0oº9zeroc-ice-3.8.1/certs/configuration/ca3/ca3.p12000066400000000000000000000052041516567600500210460ustar00rootroot000000000000000‚ €0‚ F *†H†÷  ‚ 7‚ 30‚ /0‚Ï *†H†÷  ‚À0‚¼0‚µ *†H†÷ 0 *†H†÷  0YEvƒöÃa€‚ˆ"C¿‚ü/=;Ýé±vN¢­«™›hÜ&Ò˜p*ù‹“‰æzÈÓèOAXÆ–"KÁ®,.$pãÜI*\KÙvÅÉøÚPÑÜÉÊRJ^âAýùÇsu q^Ùg%ˆ?ókƒ©Â‰†]…*º%æ“£’‚÷)B€§ÒÒ5˦‡ÔÀ³µµÒlZnFÎYœm?‘ùÔ'ªßbd¢dÃÀššrµŒ¨F„>a¯ Ú.ö ]Îô+.+Pø©a“®‚¶!Œï;UmºÞgr“‚¡`V›ܽl†6¬ÍPlæe˜ khØÆ.®H…©}V@ æü¨mf/R²Bž™iOýϸeš±öëÎðÓq=¸uÌLpKBV”ö'žþÐLc„&›Yn5ªËâÎÅ–}Mïbå}"„É[>eTr"÷"×cÈZ:4׉¯òùÒf )(ÀF»j¬ÍùéO^fAVS-æÒB=´½{iÖœgzô1h­ø¼ûÚ'­Ô™ý‚`ª3ªB¿ôA&9)ÍEü }P#ï§Y¬Gè«d+å0øk¸Ñÿ0sL"ÓñÜøÏm¡ˆ½µ<}IäR1~uÕ÷™w ó+ÿÿ'þÚ"E£rôh)° Åí¹-KxÊxëošóiƒíþu’Š8r$¦F^7õ¬“†ádØÍöôKo„½5 ýçêû™4ú®G±Lé3ªcñEˆùÜÔgøê»;ƒ°ÇA–µ¬&“ó̪N·¥»ùíþ4$¿ûšÎUwÏ l›yëf#_ô“ç/þV˜SmµžY/<Œ:Ž»’ؽŸ™ïýÇHÌžtÖ“Y›ó,pµ1N€¿šZ‘ ôî*ÿËkï)Îû5ê"?FÑÚ =$š9l¿ƒ˜Üª`¨…íÄkå㵦ÿ·¶aÀÓN†Fb¼é¨°d}à]ÎgMzCÝJgß(äáŸð!¿,<ï\=©©â xŠZˆþ)\c2ùHå xØpúƒ›à"x›…(gÁV®ðêÙÕ?®¾„†Ú´!&˜‚cKÀÊ4éáš °ô; ¹%Bù¿\'>éüÇÕêV>„ð=˜‰«k ߤ—¯‚òáwôëZÞeBt^l¥‘ôgS¦£·gîÈ6öÕX¿>ûqN¢Pd'ŹV:,»2$f&¿a ˜"Èן8|Ú¦Û7gœ{1ÈΩ÷qŸ=¬œ^Z‡õu®t $Ã:'-©ŸqLãv B-EÞ×åŒy˜*DÑeÛRhbSô(Ì\îÉÖÞÔ¡Ž½ ŽðÈS¾Ë äRË=ŸÜÏ$ò-̆|y½YÊy˜ (cFɲ\ß\û@ôNx»Ëá¿:&„Kߨ¾×bEV+Ò€ÕƒSókÂ×g­TFœ«É¨@[/°8¬‘¿Â–iÍ©‰\å‘ £Ìç:UR)é…›HåÁ!ËÅÓh—JDE Åóôg¥íhfo5ý-Qô¬MrÒÙpÝ*†Ý"­þ‰è^õÒA&¿èÁ¥Ä1ËÄ0‚X *†H†÷  ‚I‚E0‚A0‚= *†H†÷   ‚î0‚ê0 *†H†÷  0b“â‡qךm‚È‘lÄßû5̯Ä8Ü=9#=%/j™šõ ˆ9|YGÞÛ[3:=ñ! . wJs/ò½ ×ÞO%™«Y‚`B$eFý!S`cû}V`A š2«]3&ø¹“ß¿~Rî,3$ùÊ@Òiêñ-º#€0&º”d’/cû6d¨'ZÜ“=„ÿú{ÛŸÖ³¾t™—GqUlX7 ¢ãøY`À)´œã…­7ÕÉWä@£“6¸MᮃÒÃ:æ]a( =j´Ð¡Â t× º”o³†ø€P ,TÒ†Mñ Ð_ì)±¥Åm†Và[ûp–‘|ý£ì—{L¥¿N~Ýdœä[G6åº"µÎox¿eê6iStŸÓñDÓvô¾ýXžúKn? ÌMAí×µß3R × ÂüI/^±•À.nÐIŸv.Ý7ФôèšþíiQÚ匘¾vÌL.(“ôËwFb|z™]ZTÁ8>¬ž%ÃgÈõCCÞ$é¹UvÙÆ‘'J ­×LЦ‹ç–…ÇO'ÉÎv”šàÌq÷| `ß‹žGÉ(¾Hõù’¹D]Í çC#@åU¯;¨ ¶õ,Êš8Qïr[Q¹Æ”`7oiLäs$­€¤Z^Dèï/˜óÔšöå™ÓÚ¬Ñ5 †@-ÄúpØ?ŒºES¹ñG˜þUò€î6Ðì& À{DG Nmsi—µ ¨ÌóÄwÚ>Ûx=]¬^ï^¿® Ÿ1]tœ^ß@yá¯òâH×–¢RqÀÞ€TÔǸ0g{k£HùîÑ>Œ†mÊ”®çÉœPè—mÔ€÷.é/¨çÐ…ìVc’ñ‡ú–IQõªi1@¥jc¦?— «ä`.5‚@èõÓ6»w&éUa QX‹µ˜PÊX‘«%`‘;4¥‚€B/ â¡%v¿.Ô9°¦Ÿ;0xHÄÃI“€”Z òÝ#s&™½is8¨à¬$xçý øw[ÁTšÈ¶¦‘èQÏì/uyÿ.ÕÒí åý\¥Œ#=*ñÔÛÕåQË-úö#Ç·u8‹¡Ö+JCJÍ‘B: œJ7òFí»AèT}pj¯Ž9&ÿÃk4ÈÙÈÈý)SC“€h«lÄûÍ¡ì>R6i}òxÕ>xÆîè’<•¸î ª†’’ðsÀß=ÉÇ]ndކÙ7ÕÕã–‚©Æì@é |Qüêîz<¿'H4qKèeÅ+¶½±[6—÷Ï+©ƒ’Ù’~2ŽÉR¨a%˜ï+6rî˜ÏpÇ;mæðÛ–]Êf•S=%×…÷^\ ‚윒U,4xû g²r”’õ1Xï5׳"Úåñ~›¤8bCDúG»쩜³µËîC{¤ÌyƒŽ6!¢³G\ÞÏ\ f C«ËìÒ˧>Èu%æ©p¢¢€u–E‰þ¹¿~îN•»æ'Z… `Gç3jÁ?»<ÒFÊ‹}Ü¢[B8j€‹p;‘«ÔÃ55)Øëv¯õ’fÃ|}ÀkꀑHôRÌÛQ#IÉÆøí𤔤±P/A?ê Ô¦xntmù焊n¿ÝQÜ*5òXaÀ©³–5»w8™…WÎmFNœ1<0 *†H†÷  1ca30# *†H†÷  1Mö…Þ4‹Ò ±0Å'ƒØ‚6Ø010!0 +NMP”®^7¸ÁÓƒ{ÊJ塤3J(ïÿ‰ìäu£zeroc-ice-3.8.1/certs/configuration/ca3/ca3_cert.der000066400000000000000000000020271516567600500222330ustar00rootroot000000000000000‚0‚û Vk˜ß<3¾„Í -½*—ß 0¾0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0 250523100143Z 260625100143Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ÁT¡O‘Å„nz½x›Jƒç5p¹ÔnÏ>Ï-E0xÊWå—µ ß°ÎËãYœu÷ —Ùûÿtƒ[ßxv_à€cÐÚ:><ù§0fŸõVÍTe×ÑðŠ5ÎkìÃ"[‡^gë1F%3‚Naß«ÙÕˆéø”©Í⌥ ¶º‘´'»”¾Ô'ÐRÂaösŽë¢è»G~íKæCÔ­·¡{áâ2¦i[8±€mÃί«‘ާ³ñRÙò?#›Î ‰Þ®¤°œ©G2Zs°g¼ÙÍŠÐîx1…ÆüàÙIM×3åØ`K1yÖR p`XÞËHå=»^˜î{ùV‡Cõ}£c0a0Uvo cÈÌcYöjà´–,Í*­Çµ0U#0€vo cÈÌcYöjà´–,Í*­Çµ0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚MåËÒ‡å‰BínØÇn$g#箥[ìë¹í…DðO‘sµ©"ÈG§Jþ6»_1ˆéÑ7TƒPÂv"ôV­ü%A¯²Þ#L›§8+¹göHfƯ+–`  Îèz`x×~`à ™o`DúRÈ@Þ"Ö8lµ›W‡R¤¦Š±+ã¾`üϘèàRW>³‡zeroc-ice-3.8.1/certs/configuration/ca3/ca3_cert.pem000066400000000000000000000027001516567600500222400ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEEzCCAvugAwIBAgIUH1ZrmN88M76EzQ0tvSqX36AwkL4wDQYJKoZIhvcNAQEL BQAwgZAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdK dXBpdGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFz dHJ1Y3R1cmUxDDAKBgNVBAMMA2NhMzEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJv Yy5jb20wHhcNMjUwNTIzMTAwMTQzWhcNMjYwNjI1MTAwMTQzWjCBkDELMAkGA1UE BhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAMBgNV BAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEMMAoG A1UEAwwDY2EzMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMFUoU+RxYRuegAYvXibSoMFAec1HXAd udRuzz7PLR5FMHjKV+Udl7UL37DOy+NZnHX3CgaX2fv/dINb33h2X+CAY9DaOj48 +acwZp8bGvVWzRNUA4Fl19HwH4o1zmvswyJbh14ZZ+saMUYSJTOCTmHfq9nViOn4 lKnN4oylC7a6kbQnu5S+1CfQBlLCYfZzjuui6AC7GUd+7UvmQ9StELehewDh4jKm aVs4sYBtw86vq5GOp7PxUtnyPyObzgqJ3gCupLCcqQIBRzJac7BnvNnNitDueDGF xvzg2UlN1zPl2GBLMQd51lIJcGAAWN7LBUjlFj27Xpjue/kZVodD9X0CAwEAAaNj MGEwHQYDVR0OBBYEFHZvFgljyMxjWfZq4LSWLM0qrce1MB8GA1UdIwQYMBaAFHZv FgljyMxjWfZq4LSWLM0qrce1MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD AgGGMA0GCSqGSIb3DQEBCwUAA4IBAQBN5cvSh+WJQg7tbtjHbiRnI+eupQFb7Ou5 7YVE8E+Rc7WpIsgeR6dK/ja7XzEXiBPp0TdUg1DCdgQi9FatgfwlQRWvst4TI0yb PG9oXDeBHTnJXBMPDXQiEjBNV8MNdEc7PWu/FPkHxE4SUXGCVJmsm/R3v8rEz3OA I2BIzWUjJ7h0uio6rmKGFrelxmo8vOlC9tgvtiww9d0bb2a0WxoqdqIBoL0NDJZn gLLLYclu0OZ9Oh3LUpzAH+dvNAo+pzgrE7ln9khmxq8rlmALoM7oemB4F9d+YOAY CZlvEWBE+lLIQN4i1jhstZtXh1ISpKaKsSvjvmD8z5jo4FJXPrOH -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca3/ca3_key.pem000066400000000000000000000032501516567600500220740ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDBVKFPkcWEbnoA GL14m0qDBQHnNR1wHbnUbs8+zy0eRTB4ylflHZe1C9+wzsvjWZx19woGl9n7/3SD W994dl/ggGPQ2jo+PPmnMGafGxr1Vs0TVAOBZdfR8B+KNc5r7MMiW4deGWfrGjFG EiUzgk5h36vZ1Yjp+JSpzeKMpQu2upG0J7uUvtQn0AZSwmH2c47rougAuxlHfu1L 5kPUrRC3oXsA4eIypmlbOLGAbcPOr6uRjqez8VLZ8j8jm84Kid4ArqSwnKkCAUcy WnOwZ7zZzYrQ7ngxhcb84NlJTdcz5dhgSzEHedZSCXBgAFjeywVI5RY9u16Y7nv5 GVaHQ/V9AgMBAAECggEAAM15Ok4XNUCgf4nFbEUtcZlOo8yCkdxXEOohMKLQuQ3d phFlp4UbA+H9J1atyITETkYSCSsjY8qF9o9Qqxycsx8oAEOOVy35dbJQ/sCbTkud CtiVXM8U2WGHPqjmBuiC+ox0OwBdKtVJ6+n33xH1AYQu9QwlUclZ0/xPlY4QMXhC I9GH3j94eenU5u8pGdC4JVKViLIOxQpRyGsuITOn8S4a1WdR120rECaebwtoBbMe tNK5GZ4EaXpyFU5ux6CiKiHkV74j2b+rXXEIYrFvgh4ZbKfxliuKpK9lcmEDch55 0yS3vnd+GvOlGX/T3xMhxZ3R/PG9MzzL0MWSZl1NMQKBgQDh5NsR/e62oxXpl+Nh f5WnaedwCCmolG949TEXy/ao44e9nsFTlzyjxupI3hHAXF2z354XMcScDfDlDX+B fZS8udxLs/Ey3CXBlpaEjuUceXRWok3HhJEWN1/n9fXuW/ffenMqXq/9jpGqecPd a6219X3Gav7vcQm3afnfPuvRMQKBgQDbGMNuSUNR7OA8KAiaZpIK6E7aRBEKrXzr r5P1zwys0wl/HrWdMcoQ3SHfRH/cdO4+ULPe/NmnMrIuVUq2qFMt4qRsnnC5mr57 i93Qfw/OMdR/wwUjCxSzETU73gFHCvfTdrNb3w8XTnvhXO9fZK82oQS72tVjfsW/ PeuiT0o2DQKBgDWJM5I0CFsok4zk/nKg9irTIpKenKDjbPfRxGzLXg3wvr7l3ROe iDSYc/YJC1P3kA2NNb5xgRMrCqh+ZnWd+Z4wvlECuGtBWYFj2xBXfV0eO8A8fwqG FIybWxNya3KuQTSppJmqDzOcklFAwna7ilPRdpmLyhedRpw9dYa/NsxBAoGAG0Xj 3fCkvqf76cEaAQ5Pk6gDWMwsSuX5rOT4SBrz+vdyMS7DcMPn4V2Ff+No/ypXFc65 9UIIXfXDlFztpfsiD44s5ZB7e781gu+QNwn6D7LIPvcpxoj0lK3JsKAcDJni66HV BdSobkBIz27gJUHFRcmZa0D8WxxGxV2R3Wx9UmkCgYEAuHw0+CaWOY+pSfFFiiIC F91AEiJJG7YW8IfU0BeKkrtxS2RjMaKCvUhWQvVBrYGxsbTJDfNGUOVMtDE4BFFx m8MsiUPc09e84k1l/MJpfUrOMDxJi1lshRwDrR8U3A6s73xZ/7jUh5Kojwi5jmYW GgXfm85K0rl2XZvRt+gNosw= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca3/i1/000077500000000000000000000000001516567600500203645ustar00rootroot00000000000000zeroc-ice-3.8.1/certs/configuration/ca3/i1/i1.cnf000066400000000000000000000020431516567600500213640ustar00rootroot00000000000000[ ca ] default_ca = CA_default [ CA_default ] dir = configuration/ca3/i1 crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial certificate = $dir/i1_cert.pem private_key = $dir/i1_key.pem default_md = sha256 policy = policy_loose default_days = 398 [ policy_loose ] commonName = supplied countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional emailAddress = optional [ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca3.i1 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, cRLSign, keyCertSign zeroc-ice-3.8.1/certs/configuration/ca3/i1/i1.crl.pem000066400000000000000000000013271516567600500221620ustar00rootroot00000000000000-----BEGIN X509 CRL----- MIIB8TCB2jANBgkqhkiG9w0BAQsFADCBkzEPMA0GA1UEAwwGY2EzLmkxMQswCQYD VQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwG A1UECgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJlMR0w GwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbRcNMjUwNTIzMTAwMTU1WhcNMjYw NjI1MTAwMTU1WjAVMBMCAhAAFw0yNTA1MjMxMDAxNTVaMA0GCSqGSIb3DQEBCwUA A4IBAQAmzADZkfNwSVhIr/zGj4YBfrXBvHFG5d7rA/0Rmf9KMkOyvP9btpo8qtO6 8w5tVkdCcgRsHvuZ0Ml8uWhU3i2/HqHTlzcJRCRnizytNy0IwrppY/CfWGB2wBgE iEYDsFBabRtwpgNkQyqkikRjexabwWFUYw6fqQSG6a+thahHKE81A1hotByb4w3k 9iStKzdsa6GKyVtxZ21Nn3jePyjEhMbGdJNSBaF3fY9FwZTGKL7x+SdyHzwvAH6r xkVQK02gipLAs+AuRd5z0Bt0ERZp4Xy0WB4e3ajSJWw0tRMp9Ky2OvfxwI8BwHqm 5GuN/umPzveIYWA09VwaUloURqzd -----END X509 CRL----- zeroc-ice-3.8.1/certs/configuration/ca3/i1/i1_cert.pem000066400000000000000000000026541516567600500224240ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEBDCCAuygAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMzEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ0WhcNMjYwNjI1MTAwMTQ0WjCBkzEPMA0GA1UEAwwGY2EzLmkxMQswCQYDVQQG EwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwGA1UE CgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJlMR0wGwYJ KoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAKlT4mh8Ht+hkGThsxsjpYd4feAzyx3rJYTpBfWeOtXvD9EJ+hMz PGSPtllhuRWp8uMJObEapEabLJ/mLSwiv6LJsz1XdCA0WM1qMuiGYF/bu0/UyRMe Hr7GEXhxDDOzkZ6R0t1+0YOKMzkwzg5n2M8FpJqPlLOZu8W/LcjrW3mFmAnjWIOv 8dAIX02yEFvyibuwrX0uZ2KkpR8Wy2HLNnT1ScCGj6oOnnZFICGo/xqWntdgaRpy MF4Uhb824h72D3TMhEw51XD2sK8eppazdujpi7fG6fudZR5dN2UxmI5QBCQyqPo6 T4v2Kp06lFgBbQdFOgP8AqqElvfKyyhDkvMCAwEAAaNjMGEwHQYDVR0OBBYEFDQm hCXtgT2mvNomLtDCVdRLsrkMMB8GA1UdIwQYMBaAFHZvFgljyMxjWfZq4LSWLM0q rce1MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB CwUAA4IBAQA/+bMrZf00JwUBrdDBhszp3TACReimgrnHU+upxTp/P6XU9E16yka3 abrvAbFbgk97FK7RmYxPI7H9asTd8wcQ9ZT/xyVRSy1s8yqoUJiL2fioLjqexy+t Kj6PYM/PnK41PXM6TiVFGtRuSfRzZc6dYVNLJ8v1zyWbvFfH9UR4PI+9u2isy24A Ds367S32XRoKScg+GfXh1JOsY73AAQFRpvNxkcI5FC7KnoqYsHF1HIQbebpw/lh3 9GmVqmNGY1NU3s73wtqdTD9N9ERoKlJYAVxhF8gT1qrnk3s5p5NzVoQvO7D5121g UKZL4t4utXwyKuTWW+Z4qxqO2s25vxEy -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca3/i1/i1_key.pem000066400000000000000000000032501516567600500222500ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCpU+JofB7foZBk 4bMbI6WHeH3gM8sd6yWE6QX1njrV7w/RCfoTMzxkj7ZZYbkVqfLjCTmxGqRGmyyf 5i0sIr+iybM9V3QgNFjNajLohmBf27tP1MkTHh6+xhF4cQwzs5GekdLdftGDijM5 MM4OZ9jPBaSaj5SzmbvFvy3I61t5hZgJ41iDr/HQCF9NshBb8om7sK19LmdipKUf FsthyzZ09UnAho+qDp52RSAhqP8alp7XYGkacjBeFIW/NuIe9g90zIRMOdVw9rCv HqaWs3bo6Yu3xun7nWUeXTdlMZiOUAQkMqj6Ok+L9iqdOpRYAW0HRToD/AKqhJb3 yssoQ5LzAgMBAAECggEAATT7AZenwdMtR3PzQXMf4hJ2p82bR5uZxJPoEPfYn4QL Sj8EPr44Lfvk1JEg5gnGpt3siewQsWpu4rYJmGRfBC2/4Ql7+Y/vGhxOQATpwmCW 3qQ7pPgZItyykXfIP1c9MHvhClTagy07lD0RGvCcRZaj2gLCRyjhp8LnGO4bZtBW RVtoyzDul6gMrawBeMiDpnBHXOiBnaKYLma0u5ndBi0JjuP4RSLYGYPxhwF6WnXq iRzcX4s6llm+/BvN5gfAG96N8f11rDq57WgzMGl98r0Xsr1Kfri9PLXKm1v22DJb 8FVf9J9EXxLZR+HZ74jUun2RkkfegCEuGFAUoK5kYQKBgQDjr6AmOinbQUUnoTOp gtL8bwpxYalKugC8pxPtqp0yWBKxAd7FiprHnF/ud1nD5hasxvHlt9AQczpyLqgi 9D8Dqv747V38lxnxGBK8Kszkt4WMLSRHHt9xYnv3sudZduWxq+Cz+AH9dxZtrC8k 7QDYiKKlcZJKQqkPmQIKD0xHWQKBgQC+YmxLApbNvbJHzA9jwQSyWu/G9xwTf/jf T8FEGpdcjl5HrbDcdl4GQL3Kvr1XbBe/PWLlLe3VxlgDhGHOSejCuDdVhgP1XIpN 1/SSj4omp/lJsYzSdEGneHVuCdDKCrMOIwy/xl1aqbwAVoLYWLuLAJYFO1nKka53 /ZyN8yRvKwKBgGFLOi87qYk0wf1mSDJGYixWsuqyZeo1w3zaFIz53ESYGBylhPF7 AhsMOn4naCdrGgNo3BNi0blF1BLY1yZgotDJcD0lCYWXeBFrTQ41Z+rQdXPqEleF 3MuR3xGA1JWJVivvG40sDIWoLuBctKSd1j+xW3dBKdcr1xyAMLvlv525AoGBALxq 8/oYid78imB8GA8Fi/xn+z3SebriwA9iA0e/eWVkkPIneA34J33QvQTWWNUYaTgf LKzcE7GqJpj0f0eF5hIv9rNxeqFuAIKh467Y2EUBoLnKOjBeVkvD75QDqtsKU8L9 9TQmwWVk7mb3N2+eAZ3D6rUq0+ai3yRpnnLt23UZAoGBANDU9xYOEF4e+sBWfCah AImzz/Pk/Re5G7F1CDeMadr8bkiDtEqxnRBKq7IA2A1LC3Q463pBQBDBkYYOibg+ FvXqM1iCowGckAKTDXm3sNhmLFb60xAQ59ksv5h4XYXaG3NxgBmcW3JLECOHj329 A8W1nbsj7B+dX4kmLO77bQ4Q -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca3/i1/index.txt000066400000000000000000000004471516567600500222410ustar00rootroot00000000000000R 260625100153Z 250523100155Z 1000 unknown /CN=ca3.i1.server_revoked/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100153Z 1001 unknown /CN=ca3.i1.server/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com zeroc-ice-3.8.1/certs/configuration/ca3/i1/server.cnf000066400000000000000000000012231516567600500223600ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca3.i1.server emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names crlDistributionPoints = URI:http://127.0.0.1:20001/ca3/i1/i1.crl.pem [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = server zeroc-ice-3.8.1/certs/configuration/ca3/i1/server.jks000066400000000000000000000067071516567600500224150ustar00rootroot00000000000000þíþíserver–ü—\0‚ý0 +*‚ézž:rTYðÖñ’£‹êÈ^; ­5gZ6ûÎôä×€vV}$”@ïyÉÆØzjuBlª“XÝ“7¤ìŠ^éù!¯¼w-GäYšñ{WÏFJɺU†·}ì Ó¬x’8e/Œy’Ã$Fo²•_°9RjËùÜ8X2²ýGôÊ%™9¾¢ýû†õÞÿ¡fÂDÓXeÁk‡­ÂÎWŽã94’JÌØ‚ƱYÖɽ=äLÏ™·eŽ«Íö¤j<ók†ÉK•ÿ:ÈåäÈä4}g¤,üiÙÞð,Üò^åµmsŠþ¿[m¿Íf燉¬C²§¢¹:è†m(ðLïoù. ­Ð"pFãÒÞo¢ˆBƒiçÉGøÿm9€ãNy9´öE5â]éÔÊhÁׯQ,:3ü3y\ʯo…)gß~½ž¡^·G-V‡ž¬ÈÏý¦ÞÂöÙ}¦«7zBézÁÔ¶†sð{AtníÑ\Š#øû†KUÏW”Í týêª5ïØõ>„üêzºIVU|FfN–ßz}ÀæÆ/YÕ±©W¬ÝOƳκµÔyÁæ ºL[¸öŽÈQõïY€ x±ÂgÄtÄ­Š ÞE8èdçî¼!4ØivóÈVà{¾$V%ºDÞ%¢cÌÆ‚yË9¤¹P5`0è'`Ã:Üoq«œGš6ÐÛ ÝJÓ¾l§~:V¹4pˆf³[Å)Ó“®™hZŒ‰åÄÔkQ' IâÚ† ~]Ö”úÇo]a”ç{ƒ‰ÍÞ.g&î+¡F$ܾc´þ«AJÚ+[ÅñÐð£ÇkÝçr¬ {‚Ü¥ï…ÔN¦Ø¹VÀ2…Yêþš˜-‘“±Ô7í̪ÚÅíêö½Œ9–Üz»œ^ó‰¾é"ð/å„HMØ:¾½'9B×*µÏctöÏh[R€ö´~¨º2`PÂ60ð3쎨¬¨Ûõè>¾3öülqÒ鈟kš+-¹p©;²ª…¤SðõÖø™Wf­åPrb QÞ’âÎOl…´.m}ù_ÊFËq¥PØ~é-yÔ÷:´i=r&Ëé $ð'\sÜ1­Ãêøf*«'S‰Oxjqšój™[äx2©ð"ît3éA_fBz(`•ýЀÛ@ ÍÏ ·WR§½Šžÿ]5QÚSӼ텵äd\g‹pbJùü›y”íŠIÏÿ·Ž&ÿ™ød+çêŒV]48Ì#  ÁòŒp‚sl·ÔÎ^Ä͘Èj0xU\_c,eR’—¯€)T1ÑR=FšA’ÚâQ†_/åo–’’J»t$ü^6„ÎÆÄÂà¡+R±<´Ê1pfÂÞX.509l0‚h0‚P 0  *†H†÷  0“10 U ca3.i11 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0 250523100153Z 260625100153Z0š10U ca3.i1.server1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚­ôl¬ º{$€œË•UH`UgxÆgÍwº©Þa²Õo’EŸ[ù ’@kÍS|ýM`<:øêBÐ)ú}äÚš’H]_¯ÁÕ‡€Xzé¢ÿ‰8%ÁÖ¨RäíNk%×ÎåaQ#ø¢Êù;7¨ê´ÜÇJ%Yä« •úЗo†r|a)i‘Ãe2ëf&O$è?ùxì{Àµ†›ª˜â°£@ã3örÂåâ̼ª®ÌxÓ› lñ¨•.¡‹šƒ¸ô¤Ð¼QäYJ´vP¿U&™O—àô먙®ymŸr0’»š¤×÷~A6[¿Ô£hë¬/ï4žè92 ¼£¼0¹0U½öåg1…‹`MáõxfÏFþy0U#0€4&„%í=¦¼Ú&.ÐÂUÔK²¹ 0Uÿà0U% 0 +0U0‡‚server09U2000. , *†(http://127.0.0.1:20001/ca3/i1/i1.crl.pem0  *†H†÷  ‚SÖþ z]./¡"©ÌÅwýP~il©•]!7-øHL졼úœü[?èôä3ü™ÒýŸÒ–«Te/ô1ѲÑ$ÁVPÖ#¸Ýœ$š jÃAh™5ᦠäj%™û ÑbëFÆ$¸Âágþ¬»*£FaÓ¡‚º‡ùnqóÎéï}Ð]8|‘T]yn Ø‚ýA£þ…Gþ§¹'pãaC£@_Š£DuÛG¡t”䵇n‘$?ULñ9:žëë"B¨AùÆ¢`ÏÏœ®5=s:N%EÔnIôseÎaSK'ËõÏ%›¼WÇõDx<½»h¬ËnÍúí-ö] IÈ>õáÔ“¬c½ÀQ¦óq‘Â9.ÊžŠ˜°qu„yºpþXwôi•ªcFcSTÞÎ÷ÂÚL?MôDh*RX\aÈÖªç“{9§“sV„/;°ù×m`P¦KâÞ.µ|2*äÖ[æx«ŽÚ͹¿2¯Ö¤{¿½>ˆ£ÐV²çB?zeroc-ice-3.8.1/certs/configuration/ca3/i1/server.p12000066400000000000000000000115221516567600500222170ustar00rootroot000000000000000‚N0‚ *†H†÷  ‚‚0‚ý0‚ — *†H†÷  ‚ ˆ0‚ „0‚ } *†H†÷ 0 *†H†÷  0¼ô^mqIJ€‚ PûÅ,œ;ÃíÎŽ9S!5¤¨KQÔßfùÜL©ÙûùÎ@Û¤"å³Ó4ÚJ—óm·Þ‚’®m›‚‚d=b¾!9~zµa÷ûœ[MdLbf#ªTG@Ì€¿×Հ紷ں_`‡Ä¡[¦Ññó›y$‡xí\ØØà²jƯ/¬¥£DÅ#°H±ÿŸoÛˆTe}ÍR´³v'ó!=',;h˯¥2nb³v!“‰DK¾OqÀ¶æ]¸¯ÂfH¿KÁ.”Eø]©Þ!Ì_ ;Q,þ:¸yh‹VPp "¡öñˆ;Ý<\†ÏÁ=Þ:ŽLGÊ+ïWû;W´ã&¾u¢#­‘â #¹¾Ö0…V«¦6un;†r‹ŒÖvÂlÓ‘Ÿ3(Dg)Ñxbø4Øé (ñ¹Œ_gÖYB]µ<Ã\³¿„ª‹Õš—ðÙÛ(ú~c,â]ǘ?Xa¶Œg˜ªÙbÍóÜþš²¼2¦˜ì‡^Ü$Ž5,•Š[>?kU/Í–‚ðZô°‡ãÍ›¿IMb¥ç‘HÚú » «7¥c]uêw—ïR Ô:CÖðøË† ÎIä´¥£ D(#åaßÁ*ùYt._‹9G„-xíŸ4eŠXúœ+ü‰•ÛLPÉ=øüÈfÐG3ÉÈ׫ö²4’! wâiz Ç ª4Þàü¨ÉQZÑ/IžO·¸òAîÄä>H éÇM¨Yr”ÝùEÌ´('ùÿ.Õ¦¤£ª˜é÷5šø¿Í£{òárû¢©h™+éÄIõ13ÏQZÚÊÚÐíðU¢%n–ºó}Ð;ï ãÞN­ÛÀ~’¿,[È黸e¿9xÚĹ6òŠíºûobpc…¢4âø±ú¥ÑJ: ޱ2C+8‹`¯]ê+ÚØhXïÕ2 ¶*À· ˜<7bç&z"0iù×c5 ¯Ž€¾@Pei‡Ea³Ý$#\?¸„R+ËŒC¾ê0¹ëAsÁo¢­’HM(t}Äg|Elß1§{»Ú{§(K>‰áÔªá‘ÕÏ—,„ª¨)ãþå*‡Ý‹ñã½8ÏL'wj=@øû3TÖf¶¯†`'€‘¯Är‡ “Øewh=$Ív/•Cq«“ïÕÙ,L —©mú§ó>ÜYf –¼û/¶Ð:D´›ÇJ$uÍë9ØÉ|†] מCÔ{nòÞ´Ï}âËÌ”E>‹Epy?õ¼¨~çI<.Ø`Ï@]¾¨tÿ­NÐ'•7yž`3. Ÿ•š¯!9{ײés%œÙN[äQïZL­FÌ.nÃFeizÓÏ Â«jq"/œŒp2ù&mj(Éi2½ÕöjsøBæu‡+w¬ì@¤s¥Q0ªjÓY»l^j§fL¯ì¨Õƒo(B“Çþ¢{H^F‘`c`ÊMXë ߬¬Š“¹ÔÇ6%j€UX ÓÜ”ï{x{Lpà iß‹vÑý‡±ÜÁI®q6ÇÄpÒßtùòtÅ(ÒøJô};Ž—I™ 9Zgxõx(™úN@â0G~Í ó{=íôïé‡I_[ ª#U mWcyºÛl­ q:{ij¬ný4CZ›šþñ)º—- x'sǽhÁ¦«n¼†_ƒËOÀ";\|è_ÏYö9˜ÓKƒ¹ÅÇç¸P˜tã×úî2¹ÇuV°£'a" „©Ù}ÑÝCÐRÑ"«?†Y'ŵ§ÓQ¸Œ„üj{¿¦©.c->WŸÙGÞćˆ #ŸÅQB/‡Æ]Ù²n.T‚Žòχ^#$ÚÆ}íË¥à“È­HEÞŽápB¿–oë´¸:îé!á Ú`þ²¨Oœ‡Åh–Ç…MZfq» ãU»D¬ú9È Ûi¼Õ\6;naÏÅÀåñ!¯æó@ émUn Ró†/ùݸþ˜†¦ÿOP^ŽOª*òÐåbj²Ü_ôœó¨~yb ¨Æ¢:ÿs 8ÊRߤâzöôÒyŸâ<%Z¦ºÒ`œAe—›ã’v‰ù«ÞîË6öLŒ Îïb5À—Û¥w°¯òqÛÆ­5¬+¯€YWÞð+ûSäõ÷?=QgʾS-ݬ™Š¤ôpl`×4œ/'/b+ãr•Üìß`V±®þŠŒýˆù$ƒM»°ãzƒÑ‹ï‰UTe¦ t«Ä~÷B#°^‡¤ffîŽj8‡FZ»¹àpl ªQ3ÍÐ¥²i ¢¶WŸŸä ÂigêB….©w3\ð¹X¾vý µà|½&@ kØúï×Apü…’^öûYwB>ÚÀ¤oqW:ÁÿƒUÁêÚŽ1F󷞈4V£Ö¾¬£úg_iò DäGMÓ£nùŽ‘ ï žä.ÓÜ} _˜ý~TèöE ŠK:™Ž'aWÌQÎ\]`bÑì.ÆÃ‰µpÔE×àä AIít…+”ßîg¡ä5@ í\sÕb—)G¢1X×U]½e±“ãÁZ 5¨ Ý_Ce 1ÞÚ¶À2u»Ù3yÑ7²ÝfoЊí2óö˜ä¯‡%5„+½[ þIRBtªb›.÷Ï`,C0­?ÝRÜ3\k1 tì‰r®ûÍmš´"pHÌÒU£Ý ¤ð6Ê9ýl2!¿…ÍÅ0‡´B¡ÜU6ó"6Øä—5'ãЦ¡æé/˜RxC¿Ê2ó]‘ƒ‰Ì…å!Ä͈ùášòœ ¢WD ‘2 …ºöga… ¢÷—3mðBL[X ü£ïñï˜Î7ô¦$ì3¢ºñSÇ.‡Dy+Úšpi 6DRåj­\ÈšžFI§o¡–­È(çË$ÒOÁ ×¶nVY»+©k Üf³/æ‡à.{BÆaº”ä wµ$ýˆŽ¼‰ñ3`¥áÚm-$ãÏ( Àý«¬bâQÎ,ðBØbaæØB6U]—wû¥Öã¿2«p|iž–ûKåÆá),ûåªV5–‚¢m$ó¾Ébÿý¿EæC¯xå"5™J‚ rè3VþH¼IVò’Íd×|8.» ²äßË)ô³±¬Q@•¯!œÛ¯toøåY>Ã%Ìgè$Ý¥V[pG·¬üåæ,ÑÍÞë/ÒIxõù¸ÃÎM±ðÛ‚ ‘´7PÑÏáXÉè‹»ÄQ<©RÃJäBYb+h* >S Ü©Z“˜¨SLÇß㟸I/„ß=ò²ÅIžÕÛØ¤y¼¾šÂ|mØ^¹i9²ÀaÒÌÞ¾ªs«Ñ9]ÏûèÙj0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0&¡Ï`ÖÚ‚ÈØvHòºbÅmå¨íŠ3믖ñgZçe-à@_E\ ÙWÌJoÑs©/yóù°×Í–þ'XofŸŸÊÈ&m¬òØõ$RëoÙ:è½Â•ÐÎÙi ÍÄã>ð‘cx_\诸ySy×;¤ÊWl,RîGè%êdzp_Áà5IËeœð¦MK‹àíx0+é0rZïŽx‹#ÿꬰwH<âUjjœa©˜ž>oIÁ >e@gKÈQdMÇX{Y0Ú° 1>, ÉuÓß¡„¼\Í0üÖ°[ªáæ" é½Ï †OýQ?>ùŒ¢MÀš_|K Aábz!ðNHÛ‰º¯ÑðaÓ› $™©GQf ?ûޤÆù´¢gØÉnd:6äÙa*kð@Ú ‘Lµe/ž}ڦʷÐÔ½gŸbN™k)Ó(©~®DBž¥‰K¢ç­½ÁÙ¦…KœZìU|sq Í8Z‘w ˜½HvçAt¯ÏÀ™¶ûS2s(’í׃¥†ÿ¸#/¡B4Ô›\:ÑK: qkµ•>fU5§êÞ‘Â8ôŸîÿ„ÎÅF÷øÍ sçsÑ£èI<Ͱ%x–á4[–¿ýÀV¶ÁúÌò=¹ÓT|¢)!v~VßWÇê4‚¯o£¿p®8Eš®„Ð\±ª«ÃÞk¼˜L3+^)—jLˆDËãRL¦l5þà9spÉÆ€ «1<ÌÝpðÁjûõ¯+ ûœê/+´ut2œQ¶«ŒâÕhÌ#Yï]¯³âL¥CŽgsö}È${–>éGJvÀrÛyû)tkóÔ%Ï•.69ôìûƒyÓ¡ã¥Â±ü—efÔ‹}kŽò¦5ݧ¬Ôý¨7LÈÏ/óÇe„*朻΢ GJ5Øpù,}hp²;˜ÿâ=2‡¡TGaaï~éD}fµ##´Œ¤FCp tx»VφzsôÔ{FRþ#S£¦ï]û±¤†‰uѰƒÙ&Ùï%±‰ÈµÊxûÔl‰‡àº' M¡ÌÕšüð¥.høsÅ뜳Âê·çc{[î9aFpƒ! w⪮qb³ýדïœP´¾î%"‚)FÒNC®¶øü¡K‡š4–%¬Ð~°«=Ü?‹‘v·‚ùÀY÷”æ¼§*•׋2ûÎöBR9 TÈö/…Þyây ëÄnE2iÐHàÚPLJK(ÍÁ»lÒKƒÏzÈî‰Zà>#`ïý­óîhWŠSùRHÕ•˜%ý€5¼Þ\v§Í'ìuã]@ô`zll"VäAÉÙìV§EªU‚c-ÒÊA!é&rÂH"â!»/‹<0qh\ Ö,2ÞåÞ6Ì交ނ)ÉrÄobüÓ‰Ïú `û‰ÞgøÿèyäîDSï)µØQÛ(R`ÌHŠˆ™Îàkç‡Ô(¦;ñ9—ãÈ À9ïÈîF«°îhÿcHzêÝXçÁ_‹G`Ǩ7Cûµ$ûWž¸@«ƒÒQnv(Syº=V)Ov®=…Žöz;`ÀǺ»$v©"Úü 32_\êã¼®ïæÊø í婞ÙÁ£ŒÒýÓHºP=¹“x\Nk?ÁwæC;¥"“t¯¦ÃHx§õÆùíµw†!1B0 *†H†÷  1 server0# *†H†÷  1Ÿ:Êy«•´G›Yx6H^ýù010!0 +:°ü ¢q ¶ãÝ%{Rÿ »¢˜€wBUÅÁR_zeroc-ice-3.8.1/certs/configuration/ca3/i1/server_cert.pem000066400000000000000000000057421516567600500234220ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEaDCCA1CgAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwgZMxDzANBgNVBAMMBmNh My5pMTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1 cGl0ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0 cnVjdHVyZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIz MTAwMTUzWhcNMjYwNjI1MTAwMTUzWjCBmjEWMBQGA1UEAwwNY2EzLmkxLnNlcnZl cjELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0 ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVj dHVyZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCt9GysC7p7JBCAnMuVVUhgVR9neMZnzXe6qd5h sgLVb5JFn1v5CQMQkkBrEc1TfP1NYDw6+OoIQtAp+n3k2pqSSF1fAq/B1YeAWHrp ov8eiQA4JcHWAKhS5J3tTmsl187lYVEj+Aaiyvk7Nweo6rTcx0olWeSrCX+V+tCX b4ZyfGEpaZHDZTIH62YmTyToP/l47HvAtYabGKqY4rCjQOMz9nLC5eLMvKoXrsyB eNOboGx/8aiVLqGLmoO49KTQvFHkgQIeAFkWSrR2j1C/VSaZTxiX4PTrqJmueW2f jXIwkrsemqTX935BNlu/1KNo66wv7zQUG+5/h7ee6DkyILwTAgMBAAGjgbwwgbkw HQYDVR0OBBYEFL325WcHMYWLYE3h9XhmzxNG/gV5MB8GA1UdIwQYMBaAFDQmhCXt gT2mvNomLtDCVdRLsrkMMA4GA1UdDwEB/wQEAwIF4DATBgNVHSUEDDAKBggrBgEF BQcDATAXBgNVHREEEDAOhwR/AAABggZzZXJ2ZXIwOQYDVR0fBDIwMDAuoCygKoYo aHR0cDovLzEyNy4wLjAuMToyMDAwMS9jYTMvaTEvaTEuY3JsLnBlbTANBgkqhkiG 9w0BAQsFAAOCAQEAU43WE/4Nel0uLwWhIqnMxXf9UH5pbKmVXRsaITct+EhM7KG8 +pz8Wz/o9AjkETP8mdL9n9KWq1RlL/Qx0bLRJMF/VlDWIwZ/uN2cJJogasNBaJk1 4aYL5Golmfsg0WLrRsYkuMLhZ/6snbsqo0Zh04+hgrqH+W5x8w7O6e8XD33QXTh8 kVRdeW6g2IL9QaP+FxMShUf+p7kncONhBkOjQAZfiqNEddtHoRh0lOS1h26RJD9V TPEGOTqe6+siQqhB+caiPGNn32Loj/k8KnOM990vv7K810X1m1WWyVmu3JLBq1TQ z2hDokB6Jf+BcnrwQzSYGgSFKP73TDBcYlthQA== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEBDCCAuygAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMzEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ0WhcNMjYwNjI1MTAwMTQ0WjCBkzEPMA0GA1UEAwwGY2EzLmkxMQswCQYDVQQG EwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwGA1UE CgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJlMR0wGwYJ KoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAKlT4mh8Ht+hkGThsxsjpYd4feAzyx3rJYTpBfWeOtXvD9EJ+hMz PGSPtllhuRWp8uMJObEapEabLJ/mLSwiv6LJsz1XdCA0WM1qMuiGYF/bu0/UyRMe Hr7GEXhxDDOzkZ6R0t1+0YOKMzkwzg5n2M8FpJqPlLOZu8W/LcjrW3mFmAnjWIOv 8dAIX02yEFvyibuwrX0uZ2KkpR8Wy2HLNnT1ScCGj6oOnnZFICGo/xqWntdgaRpy MF4Uhb824h72D3TMhEw51XD2sK8eppazdujpi7fG6fudZR5dN2UxmI5QBCQyqPo6 T4v2Kp06lFgBbQdFOgP8AqqElvfKyyhDkvMCAwEAAaNjMGEwHQYDVR0OBBYEFDQm hCXtgT2mvNomLtDCVdRLsrkMMB8GA1UdIwQYMBaAFHZvFgljyMxjWfZq4LSWLM0q rce1MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB CwUAA4IBAQA/+bMrZf00JwUBrdDBhszp3TACReimgrnHU+upxTp/P6XU9E16yka3 abrvAbFbgk97FK7RmYxPI7H9asTd8wcQ9ZT/xyVRSy1s8yqoUJiL2fioLjqexy+t Kj6PYM/PnK41PXM6TiVFGtRuSfRzZc6dYVNLJ8v1zyWbvFfH9UR4PI+9u2isy24A Ds367S32XRoKScg+GfXh1JOsY73AAQFRpvNxkcI5FC7KnoqYsHF1HIQbebpw/lh3 9GmVqmNGY1NU3s73wtqdTD9N9ERoKlJYAVxhF8gT1qrnk3s5p5NzVoQvO7D5121g UKZL4t4utXwyKuTWW+Z4qxqO2s25vxEy -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca3/i1/server_key.pem000066400000000000000000000032501516567600500232450ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCt9GysC7p7JBCA nMuVVUhgVR9neMZnzXe6qd5hsgLVb5JFn1v5CQMQkkBrEc1TfP1NYDw6+OoIQtAp +n3k2pqSSF1fAq/B1YeAWHrpov8eiQA4JcHWAKhS5J3tTmsl187lYVEj+Aaiyvk7 Nweo6rTcx0olWeSrCX+V+tCXb4ZyfGEpaZHDZTIH62YmTyToP/l47HvAtYabGKqY 4rCjQOMz9nLC5eLMvKoXrsyBeNOboGx/8aiVLqGLmoO49KTQvFHkgQIeAFkWSrR2 j1C/VSaZTxiX4PTrqJmueW2fjXIwkrsemqTX935BNlu/1KNo66wv7zQUG+5/h7ee 6DkyILwTAgMBAAECggEAQl02GlrtHW6QVyi6aHHdR1ciQHzsoIxcKZwFyZq6hwfm M2aNFZCxGSDar55eiYPtNRhKUitFSbqHpQQ6BFW706QE7yrct6PJapcW6Ux0bQdS TJlm/khI7zrl3zNkIE9ZUNxUMtc8XN33wHYJl5FXR8VGDcLiQLhCcwr5ilSTY9ha XUDy2pmf+Rw1CTXEzaKbGjN94ZVSuCY9joTRrvCa3gfasJfMzLj8We90KpjhTUla iNHfD+FUMuXv/V/zStqSa2b7dirarNG/1doWmggzgI9OaL+VcmzkdUheOonxyben HVkP+FWpwIzkxMYJq7ZOJtnGUXPWS3fpdCmrF4tLvQKBgQDxD32RABcJxJPlcI/Q jCdumzdFwmulaiCaiE9NSMjYKrgJ3PtxvU79PkdbavlvDmvWyWi+kgKLAKkx7ROb a4d8kAwHDx8R7L+1kRL3Q8IG1RBKiwEzacgFOLmzt2pRg6Ajug0nxnEr/s8+2yGi XMrhM786B79q3S82H1TWX3FRlwKBgQC4vEczT+7HzJvZ//I09THxYsHcPihAcytk zMOnDlQ1a0EN5QZtBVCDinf7VYH/5+aSHgv1d5xoqDGq4e3md5JFe5iwxdeWoVw3 o8nDBQziuWjKRYQhYpAg3DERAW5LMkZqGxTDPLoISnRJg1qpq6bOoOr9a3Gs9e3z Gqi8nytA5QKBgFqDloJ7pirkxSPBwD5uYeAGKBrphcH2t4dO53f9fGyunawWbdOn YaF1YRXSdRZeM9/SgKIN8SaAeQdmHZaeKaF79QgxhVkVrGZgst5lctVd62ASEcFc Vt6fDhuNIz64TckccxQcTyJV6zuOzHJKpWMqKwN/JUDbDH8mBJT6AXLBAoGACLlj h2nT9f2UsqPitVuLA0JNs3AACKMnvnfpGX+UvH0XMmfJeOaSWdP1PJpaLFKwUeA3 Yl1Gtq6SweYvjP3Cm6Ntn5OITeXK7BnBEoOvixmEeGD2D3mPIu4jJxFxOv3h02r5 /QpmIrQZb8tTQcYId6Oj1Vn4oVlv5lYw989whH0CgYEAmCDv8tYtSl8ypdqk7WdW mXcptrMLMqGsdZBCJAGB+BDg4nVK+ly1DVGejHTWFWdXvQk9udBQAB/26+PbbaAE sNrDAegdr/r1NvydrTmzmGkHyJAA2dRuzZVeF8R/TFu8N8ZetRlMUroacG1HDcCM 2WsubhI3ClSkp54P22vINtc= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca3/i1/server_revoked.cnf000066400000000000000000000012331516567600500241000ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca3.i1.server_revoked emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names crlDistributionPoints = URI:http://127.0.0.1:20001/ca3/i1/i1.crl.pem [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = server zeroc-ice-3.8.1/certs/configuration/ca3/i1/server_revoked.jks000066400000000000000000000067261516567600500241350ustar00rootroot00000000000000þíþíserver_revoked–ü—Žö0‚ü0 +*‚èIÙÄ%ÑŠ¯…]o¦K óV1#] ¡_PUDäÕ“—aÁc†Ó_Hó·½Ôqôí}¯Í9Uð¦sµÞãaÀBHùyäÞØÕç„ëÖpu–?ÏÝNT õÕ—¿y¡ˆ¾UãOK¸ÃrëésåŠdNýš§Ü(¢c¶¹xýzÉcY5©5HƒÞ¬Ð€g3‘/ ]ÁÔœïB9˽¤*‚ñZöuÝF—­ê[p{±œšåùÅÖ'n8êĈlMÆÈ õÇ~¯%xø2„„+ò†»J¤ó&OQòñªy¥I£¼0¹0UUýŒÇFZ2LÞé[ÌI ´™ &.0U#0€4&„%í=¦¼Ú&.ÐÂUÔK²¹ 0Uÿà0U% 0 +0U0‡‚server09U2000. , *†(http://127.0.0.1:20001/ca3/i1/i1.crl.pem0  *†H†÷  ‚“€è/’œ¿Að"5O‘øW$x*µ›ôí?3BÄ›ÍåE)gH²Ç#ÿɶfôÉúÎy^”“S"eZÓ¼J 3E™ìóÂ{è„Ð\¦ÄN=Äb˜y€"ÙùÙ÷OèŽæfœË1bÎ$9Ë6VÍ'o¿Õø÷¬¼`JPêëPÄB£Ã¿íŸJzÑJ&ÚйèÂIÒÞŠŒOPm˜UNè.#¾9¶|£ÍºNšÏñD¼B™¾¥,’(xã8:¦L)oXT²v; &ùXf.(±Çhûæêõ7O¨ÀÊÄ7éî‹ÍÆ·æ¶¹ ‚f[­ –ÆõuÄÞD¥µhX.5090‚0‚ì 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0 250523100144Z 260625100144Z0“10 U ca3.i11 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚©Sâh|ß¡dá³#¥‡x}à3Ëë%„éõž:ÕïÑ ú3`ÏÏœ®5=s:N%EÔnIôseÎaSK'ËõÏ%›¼WÇõDx<½»h¬ËnÍúí-ö] IÈ>õáÔ“¬c½ÀQ¦óq‘Â9.ÊžŠ˜°qu„yºpþXwôi•ªcFcSTÞÎ÷ÂÚL?MôDh*RX\aÈÖªç“{9§“sV„/;°ù×m`P¦KâÞ.µ|2*äÖ[æx«ŽÚ͹¿2úÐÿ¼a»tÑ{و惦³ágzeroc-ice-3.8.1/certs/configuration/ca3/i1/server_revoked.p12000066400000000000000000000115721516567600500237430ustar00rootroot000000000000000‚v0‚< *†H†÷  ‚-‚)0‚%0‚ ¯ *†H†÷  ‚  0‚ œ0‚ • *†H†÷ 0 *†H†÷  0‘Ci|ïð<+€‚ hN|ﮦùqY©ÈÝÈ6]éej¹Ul€DÁ¦€a¿!ëÅù(í(Pv¡ ³Ø;+`Y§lÕ?}¬Fèõé¹iÐÝuišÅ¨ìè÷¹‡PåàϘüQ%…Föñ3 ¾osrÒì¸â*üSÝ@dÄIÙÐÚðë±& ”x¡ÞýÀ_~·fõz°Žx y¨ó+I:˜šDµº' ÑÚzïÀ'œÿ¹7e×#ßG®*I®²H3¯þºœ©äcÿv?n³5/4ª_“lOÏ@ kœn½HFRuÞC.uµ[¿üiôák +Mdë Ò€\)§ÛãA/<õ·ÈU@%ÁÀ©þlk[8‹ Z¯8 Ò3¤á׃>S’`hŽ2d'C3/Ñ–²]Ûýð¬z Ÿþ”hÜÛ“ª#¤ÿß³)PÏPv^ýLK"Œ6Òo«¾deÕ=>­Q¬¿àÆ]_AÒµOÖ\öÒu…³Rò•Ê€+:tJXW\ψŒHéÛ¶v0Nb^Šã¡Ök/[Õ«O= m³Á¯y©DƒõhRáÙ!¤Ž+X=hRtá¹Pë;Æ“ÃI´à†{c+¯d 4 ŠkPö(Ö‡ äÐÀ§ã‘ª¬é0÷ªv>½¼²ârÖ±`eìE'gÎQÏ)‘¦"jÿíîðþÜÛ’ÓÞê‰nA0ÄÄ‹~¥IÆø÷ªôÚ5Êm6fÜZ\lÁžðñðÆXÎÝ@MûáK|]ê˜)¥"iqÒ·­š6ù~ei?þ©Ñ•Zéén¿â:ÝJ×f#: ½[vË@Ëñɶ)ßþHÏäöRè•_ºC1Cyw{\Ää~Þ†Ïa¥ì•"‰UHPí8“}áPâIÊb;vÊéô*“Xæ¨ =m:â× 1å C;4':JóAÅôÄÌb.EæLHº€Ðà+ åñ‘ø{æ¥üo^”|÷¸î!†¿Tæ»Ö8ºÞîZE˜•|ßr–²¸0Kfa}Húúš+ǃe*âz“3•'+.Ú‹Bž.ç°åŒ ð?`!q¿ü‘}9yµ@r¥C ÕÒšIÁªðíÛšÎóR`«]Áš×²Ö.)÷Œ„/Üm~A†Ž«ccX5Ž"Ôñ»+‰N¿ó™sñ;ÅN·ÆÚmE÷ÅÙR‹}IY‘½Â:¨+¶W¶Í7¦ƒýéâ0Ñ¡ŠR‡æIÎ>™y´v•È¢Ÿ­l™Ð—Bs+ßoVy9±7§W]r9:âõJãí:kõÜJðá§R½½Å ÞÕ²’ð=¿jÀ`:ÐëmKü†ÿzù£ŽÍ$X:l´m±%èG®g†S‘I­¹¿¸Áÿ<4ÏëùûÎ1¼à¤B¸DNhÞÅçz„yp2ží.ë¼2|vd—¢a5¡0PÂþ Œ¿ò¡+þ :£{„¸š@®LTûör®rÄ™ÿ‰‘둼YôýU.êuÕ=­}¨É«äéߌÞñØ5­Ö'ᮨPíçÄÙåS‰ëX ®‡+&L`åß@ »L~˜Ð2'ÓˆŠ¢4ËdrEÊ$œ‰bwçZUÒÒ+Ã甑ƒ@¢ÿ€-²qPài~©¼qЖ#nQÇÂì:çú¥DTK¸"šþCkà;ý{j"~:´S>^7eÌÂÿ€3©¼Õ\–üÔ=$Õöϑó9–ñ¨j-ô`´ï–’—q5BÞ‘<ËêMÜ¢)ÕÑ4þø¤ñkXËuÍe"[=X:8÷“4Çcúž4aˆˆêÛôæiáþý ý =7—~gÔû"çÔ]ÌmR†gkY…­W¬QžNºüÏhsñÑ›0i4 oɰœø'H¦?”ïíàE|@f¾Ú«’µ¬ ¢¹@5>ÙÚ6ˆ©"ÿUé¾®5Mu) ƒiïBמ««ÜÙÝ}ðŸVe楋ŸZ÷ú5M*°‹ü|³X¸ö‹á9/€Öæl~×R ê®ÄÛÛ$MÈÓp®òy¡7+‰m¿Ù; ‚¡š1¹“½®×bZaÙw|×"f"’]|ˆÅd`Ìò#kjÍ„5s ôi+ Ky÷úþ„»±PJî)ä}êCžà+ÈžN¤¶†õm­Ì€Ï@šÉÕõ¯AfÖk#ÇsÙïäX2ÒSºÜ¢Ã2‡¿—`­±Y*$"‘’ËÉ}opd¬íb/qâ۩ΣJR9—ž3~û?9RÄ¿Û\›)QßbôàiüRR÷˜‰!¤Çß,ÅqÓ·™EOª(KxÉ Û­2Ù1cŸË®T‹xÜHJœz…óÔ›ÌòØä ÝÌî†x)ñCµù<eí?|*‚'VÄ£.Ö,¤Ð ==K¼„ÛçØg‘QÙAÓ‡ŽqWU 9ŒòúÄ ŸG Ø~´NI´Â*á>7½rÉQ!®­[6e¿7]…‚ÅgkóÓ¹;šŸ}ƒrRññFíÿäU †•wt3¥y‰g»cÿõÞÔùÆã4GpOâŠUìœ]ëÛ“…)^Ç* öO¨^Ðàà6[>˜ÿ«¾=.³×ér¼^i¹ÃG]u}‹apê8€°×³4ƒ©"kÖ°€½€§+y5Ýã‹çUû.°DÃ-Áv½5ûŠç•©Ï?±´,Ç×õþÙO(MdÍBx^?Kls>•ïo ~@ç¢ÅQô¥£ÃV‡PܬNw÷03¾xaE{·Ûu1c¤’´zû/èu7}ñùÕjFyn÷TâAËò;VbÔÍô·S}×»,Ý÷¶Õ#Ì£e¨f° °[ Öcgê×|:œ]ù7!¸„Eß“JÁØ o M|yã»2´îhìåÏD·›L$öOfšÄ%qlOÃd ãÂ&!«+~3èþ KL-ÆãœF* ^J¯m'ÞsÝFÖU‹íƒVW æyÓg”`2&wÇѤ­Q5^^WË’4ÿ1o®×õÏÜÑ#vÝO‰Ÿg¸¶nkÂ3y–ï¼ [X– ‰Ö"ý+rès£À úï©kdž€f| þz‚èoÿj…ÎÔ£úJ"0´ºVvú0)»j–îž!÷Ý¡Yb¢@úe/ÔéÉ"ê‰!ʬï(“xÜßçØ×ë×Kì"Â<Ô±â®7tÏG·î-–¹ ¢¬È6ÎpÌBÁäV‘!-ož6&YNhCÍvWnn´Éæ18Ù q>s}%WnD¦Ý† 'm_ÂYÅ!Kb0ëU»“û~Tå@ ÅzG ÍRu•Ú1{åó\”©ŽR Ó Âù? ¡BŽß ð2¶ý@®ã€›|«Ô5i.gOüô'Ú¥ø¢¶ãŠŸ-ä쪯ZHMNxóu[Ò¤60OU~ð¨<•¿³6¥ÙŽWG¤}NÓ,òíg¢UÙ(–‚§’ËÌ‹â&¥7 NȇٹC+ Uó}#… ¾8£Hr†ÑŽN9ç&–[€áË9KféÖö­Ñ²²F®0dKŠ4S jg…„¢~xk ±l„Ôç!Ë…Ö²m ¡…§•“ l$áf%øBƒÞ-Ñùài \ O]W)ú”×H'–Ô6ÿw_N]?´ Ü€&óiš‡>ŧÉäõ)I'5 $("¨õ•èPà&Ê‹>Ž ³:éˆÝ&•|u¨WRPÔB°¸y§;Â=(ªŠÅõ[©4—àTì¿Ó 0OüÁÕ¹Uÿúåæ8Ã*sQ¼ù¥fƒ!¸Ë7~òéŒsÃÍ+’bõ—œÞdd¢0w™ÚT$WÞš%UTry<Ù:|~GÕ]Ø—þü»¾÷°°4a]çÙÍÈê‰6J<å4Ôˆ© Ï%8wõ ›¦²=Æ’ržÝûƒû]p®µÜ †qîX×ÄåPì6—ᆵ»7‹®æ´pýK»êýŒ–ÿÙêÒyŒj™°êo”¾¼«Dr«”¢€ÍlKÝT}»„´ª´¦E€Ø¨‘èÍD1R0# *†H†÷  1«ù:5Ò|”Öx¶[öbáR„0Ó0+ *†H†÷  1server_revoked010!0 +\ÇÜák( s-Ç[£Zyùñ_ÑðÁ©ó5’Ô’Ôzeroc-ice-3.8.1/certs/configuration/ca3/i1/server_revoked_cert.pem000066400000000000000000000057521516567600500251420ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEcDCCA1igAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZMxDzANBgNVBAMMBmNh My5pMTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1 cGl0ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0 cnVjdHVyZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIz MTAwMTUzWhcNMjYwNjI1MTAwMTUzWjCBojEeMBwGA1UEAwwVY2EzLmkxLnNlcnZl cl9yZXZva2VkMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UE BwwHSnVwaXRlcjEOMAwGA1UECgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGlu ZnJhc3RydWN0dXJlMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALrl88+4yjjzet7fFOsvMbzXCJ2r CGrpYC1jF2wPoZZgNcuMsNlOgE74mo0tM79cIdktcARSKF99mOSdBRmRRwALOqZP LapDqgk3OFnKcgt0JgDq68m1ATgw+sXaEEGcRXebPR0QbeT5b2kucrWOa9+nXZjD eFUz8nxAgAfUyaV5tgUIYoGJWTfiF178za86WEmY+FR2FQJJfva/thDf2h+r7l5b DhxA8zXwUDwApjbGEVvKDbi/u2ybfLHmviZzASPdUKCHkjy6pwlqFAllOPtN6ifT 7vKYrhEnHQyAbT7IDA/1ncd+ryUdePgyhAeEK/KGu0qk8yZPUfLxDqp5pUkCAwEA AaOBvDCBuTAdBgNVHQ4EFgQUVf2Mx0ZaMkze6VvMSSC0FJkJJi4wHwYDVR0jBBgw FoAUNCaEJe2BPaa82iYu0MJV1EuyuQwwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQM MAoGCCsGAQUFBwMBMBcGA1UdEQQQMA6HBH8AAAGCBnNlcnZlcjA5BgNVHR8EMjAw MC6gLKAqhihodHRwOi8vMTI3LjAuMC4xOjIwMDAxL2NhMy9pMS9pMS5jcmwucGVt MA0GCSqGSIb3DQEBCwUAA4IBAQAck4+A6C+SnL9B8BMiBzVPkQf4V4EkeCoDtZv0 7T8zQsQUG5vN5UUpDmdIsscVI/+BybZm9Mn6znlelJNTIhBlWtO8Sg0zRZkBjwfs 88J76ITQXKbECE49xGKYeYAi2fnZ90/ojhfmZpzLATFizhwkOcs2Vs0nEm+/1fj3 rAG8YEpQ6utQxEKjw7/tn0p60UomHNrQuegcwknSBt6KjE8XUG2YVU7oLiO+ObZ8 o826TprP8US8Qpm+pSySKBh44zg6pkwpb1hUE7J2Owom+VhmDggunSixx2j75ur1 N0+owMrEN+nui82NDsa35ra5oIJmW60Nlsb1dcTeRKW1j2ga -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEBDCCAuygAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMzEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ0WhcNMjYwNjI1MTAwMTQ0WjCBkzEPMA0GA1UEAwwGY2EzLmkxMQswCQYDVQQG EwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwGA1UE CgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJlMR0wGwYJ KoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAKlT4mh8Ht+hkGThsxsjpYd4feAzyx3rJYTpBfWeOtXvD9EJ+hMz PGSPtllhuRWp8uMJObEapEabLJ/mLSwiv6LJsz1XdCA0WM1qMuiGYF/bu0/UyRMe Hr7GEXhxDDOzkZ6R0t1+0YOKMzkwzg5n2M8FpJqPlLOZu8W/LcjrW3mFmAnjWIOv 8dAIX02yEFvyibuwrX0uZ2KkpR8Wy2HLNnT1ScCGj6oOnnZFICGo/xqWntdgaRpy MF4Uhb824h72D3TMhEw51XD2sK8eppazdujpi7fG6fudZR5dN2UxmI5QBCQyqPo6 T4v2Kp06lFgBbQdFOgP8AqqElvfKyyhDkvMCAwEAAaNjMGEwHQYDVR0OBBYEFDQm hCXtgT2mvNomLtDCVdRLsrkMMB8GA1UdIwQYMBaAFHZvFgljyMxjWfZq4LSWLM0q rce1MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB CwUAA4IBAQA/+bMrZf00JwUBrdDBhszp3TACReimgrnHU+upxTp/P6XU9E16yka3 abrvAbFbgk97FK7RmYxPI7H9asTd8wcQ9ZT/xyVRSy1s8yqoUJiL2fioLjqexy+t Kj6PYM/PnK41PXM6TiVFGtRuSfRzZc6dYVNLJ8v1zyWbvFfH9UR4PI+9u2isy24A Ds367S32XRoKScg+GfXh1JOsY73AAQFRpvNxkcI5FC7KnoqYsHF1HIQbebpw/lh3 9GmVqmNGY1NU3s73wtqdTD9N9ERoKlJYAVxhF8gT1qrnk3s5p5NzVoQvO7D5121g UKZL4t4utXwyKuTWW+Z4qxqO2s25vxEy -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca3/i1/server_revoked_key.pem000066400000000000000000000032501516567600500247640ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC65fPPuMo483re 3xTrLzG81widqwhq6WAtYxdsD6GWYDXLjLDZToBO+JqNLTO/XCHZLXAEUihffZjk nQUZkUcACzqmTy2qQ6oJNzhZynILdCYA6uvJtQE4MPrF2hBBnEV3mz0dEG3k+W9p LnK1jmvfp12Yw3hVM/J8QIAH1MmlebYFCGKBiVk34hde/M2vOlhJmPhUdhUCSX72 v7YQ39ofq+5eWw4cQPM18FA8AKY2xhFbyg24v7tsm3yx5r4mcwEj3VCgh5I8uqcJ ahQJZTj7Teon0+7ymK4RJx0MgG0+yAwP9Z3Hfq8lHXj4MoQHhCvyhrtKpPMmT1Hy 8Q6qeaVJAgMBAAECggEABpANCeH5/dp02c8ZB7IaS8B8PbcT/lcQCL/2QlXhLWvW 770St6q1QDCkEql/6+wDB0J8cLZm0wWQwRRPacirZtG+HzlgB97E4Xp2KNb+Pq83 J2iYW3aW4p97qsdfs0IWwV6q3HKnfTcSBa47Gmt0F8Ajffn9J3bBwMGuDThYVU5b qfa6HCflJQL/FReS3BBeI2Kl1RYe2ibb0j3ZH3MINcatj+4RkU9v0/ETP1Io9I1C BHCz768hRrCaoEakP7VqhMcpFkiJBRfSV6XFUAVvSsW/EimmF1HoAgeXzujOwEe/ aA77MUru1NtN8JZi+SAamU+9HcZj0jJJuzbrR0rjQQKBgQDizjCxE9weWywy6j00 eprXP338KXgxqQgqNyDe/SJ9oOlHC6cDaHIJQm0YKEQNT13PHcyD3u5ihkaswYs0 dfijAZ6JObSisD6R88HranFl/QeNtey3+LjlGVpR7sA1ispS7+EpSyfrnCncJbSN 1sOKGv5URUINYvo6SRE+pOGeoQKBgQDS9LhepfAN2LfF6OXCryklWKra0wfoKE/v T40coIeHgyOe4mNVqpoyW1BcDFlrocXOo0Dh8NZ/KOyRxFSxjyRg8us40jBDcLD8 a3DuNpQCIzs58Q7tq3muqnloBoQLaxIkuD8Ik5Mu6KJQ4esrK0PgAkS/Ea2WTCZ2 Ix0GeuHNqQKBgCew58qFbDcPw4thfLaLYj+bB+QyKaufJiOlJCaB7CBKIajiPCcX hyVhr4/TtB0UL5mIYHsPb25ki0e+UysqHgoAxYrEQ31ZFIocO2qEZTXw8vp0xOlp KIpHRowiGRcFo+ShwCim02SjHpw9KPzNgcjQcoOy3x1SnfHHSbJJzoYhAoGAfZ0a 68EDYDtbso0rwvFqHsLdec+PNb5LWsST0igEi7yayVEktS4RA0s8XpM768s4bgLn 76HpF27W7zVo+RGzJ8d+KSd/daj0ull/tVjqaRtxeN8BdKRWoJsCD99RYTswYo0T e5fkXFpJzL+5uMrab9jp9pwgMQ7HGDFwZxtkuYECgYAciIsqLTJM3/M7nVeJ6UeK SkP/DdODT7NECelBGLnHbiC5SIlTQvO3NLI2nKGoLXXQYxjZvkvFlIGrtvwJKJec pHMio82Z1hFyzx7DR8L/7TawUBYfl7IIBg/8VUPKN2IxskjORYPqG8vxthDggq1g uvelmOw26sQUpMD5aNLifQ== -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca3/index.txt000066400000000000000000000006601516567600500217250ustar00rootroot00000000000000R 260625100144Z 250523100155Z 1000 unknown /CN=ca3.i1/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com R 260625100152Z 250523100155Z 1001 unknown /CN=ca3.server_revoked/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100153Z 1002 unknown /CN=ca3.server/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com zeroc-ice-3.8.1/certs/configuration/ca3/server.cnf000066400000000000000000000012161516567600500220510ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca3.server emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names crlDistributionPoints = URI:http://127.0.0.1:20001/ca3/ca3.crl.pem [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = server zeroc-ice-3.8.1/certs/configuration/ca3/server.jks000066400000000000000000000067171516567600500221050ustar00rootroot00000000000000þíþíserver–ü—‘S0‚þ0 +*‚êÂøøýMŸÅ ³u[žSö =·ž'ÕXH”˜ÉÔÒÈCi8èÛ%J_|‡úeª>‘–ƒØ/u^­ÌZÕ6‘Òçc†Ø—+æ‰sµ Ñæ~õš ‰]éT§•‰,ƒR´°â:ûÇöÙ‰¨Zÿý)L3½›ñÝåÄK—œ£Nòˆ‡†VJsòFÊÊØðΆÓJß-ý]=u!Ž˜¯O¥c-‚õiÆ#ˆž-ŸÉ:.g¢|L{^tc·ùË¢frÖP}`väX$'SæªèîWÙr•TqPÿ!Q±3§‹t³˜ô¼ãŸ¥Îõ¨1[êîu ‡Ó3ÚÛlˆdïñæ0<*\õ`0î+9¡Å ,Üã¢ðˆ0ëaï– £¬¼¿7>s¼¼7Ïh‡î‡î³d2qD2]a;¤ßëŒç Ìy[|KcÝÇp¯©‰ßãÄÌÎô\¸‚øÌ¯¬qªïW0;ùÛE†X& @4ßÕöÖ[\ŽYÀ!nÒësì”!…¶ qSO†…,írWðŒ9œÍ^ñ^?ïåƒÕ8 ræ6è[ŠõcF­dµnœêéß#ä´†I¾âØÈôÉ<劦áKýЍÝOŸ#eB«‚0ÔcÓ[B43ŽÛr¥K÷ΦÆ)øï¤yx‚í¼iù‘Él²T eŽEt/R$f?(rP4ª`JðáÈ‹,ç²&.Z&çc¯*;±»¿D¸Aqj¹Ý°—©¬8À²ŒëÌ!~«ËÛÈNÎŽf—uBñ²ûÔ®3!ÀëWã-¹C’'TP¼_¥}çwûŠ7yÉÔP­Ý[ÎQÝ<öme!šèÄA ,[BÚ4‚ñé€R“4hiÛë°á¬?å7é«å5s©Þã€èÊ¿.?e.ÇØw¯¤)¬š.ØÉׇ!»‰àG÷wÛbÐÕZ˜fµ<^EôõN¶â î Ö3¸…Rêè FOÄHMZw _Ř‚hÚlâ…«"DXOœÞÿÂw%Z‡ÁÉ J€*Zÿ'‹ƒ_]5¥ì/Ž•–Ñ^Zc Éík:ÞØ¨50Ë6zsëæì4Ãç.š˜m(rl|Ø€»ï^¼"jê{íèÜ ^ÀÙ»­&àsƒH¥å$¾fÂè=ÙØ9ãb)¬‘—»mè8ögR¡Düo{ÀN-¥û,LZ˜O6®|Æ] ûx4W•:¹ËüJ‘c³R7«³ÏŠ}¼;@§^…²vÓ›ezëÕdå¸4óR!ÙX.509d0‚`0‚H 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0 250523100153Z 260625100153Z0—10U ca3.server1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚²=Üsa_úB– .qÑC£iªŽ.o¬þgÅ‡à€´ù%›îGnSÉŒøà)ómg©LÓ¤Ç6Ø…ÝÂ&\; 6¨²xã†b>Fpø:tË!œ>xÿòeG1|ɲ³;+à%=Ñ«(X¡uˆ@ƒ2\A1‡¿RËöüX·ç§Ë;0ˆ¢\=}}-ð¿X8Ђ6° –®²q7äávx»|‡¸6x‹ûè*çF¢g*ô5@NÖï`ÇõÁWà1褲EÌ_꩚'5R9Ó7€ºß«º±ÞwÈ r¨Éã£#fÕÃDA ^H•HPnUV nShŒFóP÷À^Îf#ªדÁ#£º0·0U ‹ÕA¸>¸÷@þ±ñ5[(Ÿ0U#0€vo cÈÌcYöjà´–,Í*­Çµ0Uÿà0U% 0 +0U0‡‚server07U00.0, * (†&http://127.0.0.1:20001/ca3/ca3.crl.pem0  *†H†÷  ‚$üc’F“8Ù¢… ËFîZ¾?]z¼C  `ú£™9¡ŽÌ•0]ÙÃ`'@Ó— (‘êFèæÓa9j¯‡¯[!(ë#$ðªáÌULiÕë I²Ñ(–´_cå{îzá ó¾g þPàÊgÉÏà衤ÓÈ6Diùº³LË9×1n4 H~~×Ö¨©ËÎ6ù=Jn±èÓ©ñ‡öh´bŠÞ¸8™ù~3‘” f'JÅνC–ùlôÔΟSò”ÿ{82zX¤ÌlM¬¬âר5\‹”ui$êýÚˆUÞ†½€=D*Ó ‹Rnæì<‰c¹Zhå–",XŸ?X.5090‚0‚û Vk˜ß<3¾„Í -½*—ß 0¾0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0 250523100143Z 260625100143Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ÁT¡O‘Å„nz½x›Jƒç5p¹ÔnÏ>Ï-E0xÊWå—µ ß°ÎËãYœu÷ —Ùûÿtƒ[ßxv_à€cÐÚ:><ù§0fŸõVÍTe×ÑðŠ5ÎkìÃ"[‡^gë1F%3‚Naß«ÙÕˆéø”©Í⌥ ¶º‘´'»”¾Ô'ÐRÂaösŽë¢è»G~íKæCÔ­·¡{áâ2¦i[8±€mÃί«‘ާ³ñRÙò?#›Î ‰Þ®¤°œ©G2Zs°g¼ÙÍŠÐîx1…ÆüàÙIM×3åØ`K1yÖR p`XÞËHå=»^˜î{ùV‡Cõ}£c0a0Uvo cÈÌcYöjà´–,Í*­Çµ0U#0€vo cÈÌcYöjà´–,Í*­Çµ0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚MåËÒ‡å‰BínØÇn$g#箥[ìë¹í…DðO‘sµ©"ÈG§Jþ6»_1ˆéÑ7TƒPÂv"ôV­ü%A¯²Þ#L›§8+¹göHfƯ+–`  Îèz`x×~`à ™o`DúRÈ@Þ"Ö8lµ›W‡R¤¦Š±+ã¾`üϘèàRW>³‡€U|£—Ó!Þq4^–Óp¥æÕ9…zeroc-ice-3.8.1/certs/configuration/ca3/server.p12000066400000000000000000000074421516567600500217140ustar00rootroot000000000000000‚0‚ä *†H†÷  ‚Õ‚Ñ0‚Í0‚ g *†H†÷  ‚ X0‚ T0‚ M *†H†÷ 0 *†H†÷  0Ø©¢¹ÿYfÙ€‚ U8j®iÑÀóáÓUgí9ƒy²)ˇݎAË2›2‘^Ím… ™Øh ¿}EÊŠr`-Þš”°Cû¯9BW–oéµéjV~«:ìû†n£7aiïJ<ðnœÞÍþ¾6Îgß+ÅÛLDœ9TÌ#%‹±X§~b hq]Ü›˜Âô/Ò`üÊxGçæÝ°%Óp¾}•^Ò§ùŽev± +kö· $Ý¡ùiÄb¤Ê%ppåãdÞñ‡n=KŒ™ýÝ-ÕªÔr$&§òkA çA8wE÷d¹YrûÅÁ•¹cKNL îÝ*ï p’ßÙblpíM1‹J?rÍ[_Âü×b¶Ë/a'¹yz¼O»±}M,¡ÿ<öv†2CE"I¶ÎÀK%„ç•A1”yŽU’N"`rà])aD>pŸÛ{Ãf¾Ý6d.ú=ákÔ°¼ÊœÉP{’¥µ \*›¶6\ƃ›í®+ 1°•£AäÀþêÆ¸”æRh'ït¥Ë(%.g7ÃÑõnª”D‡eVèz悚á”[èu꼫+5Aý±z‰³!Ü*ÿƧ²œî«a %ü ƒgjË ’Ù‰q;“Œ¥—^°ü%ì…|èQžÎ1U¶­tøïñ=XOsÙ¦ xd ¤^a̽¬-RâkFýb4kÙê´Ûg“òÙxM6±ò »²œ’løÄããòªísBƒusu˜t´Œ2©`Ç¡³cÏB°D¤¿Ig «Ž8Ûʤ–cïu/"!EµOË<ÓDŸË-ÛK°†S6ŒyF¼ŸRÅñ*†NM¢žÙXÒ©…M:çnæÎµ÷™Tû[Rð™M1g9DæÊ‡í®“SXþ ÂþòTyˆ*Fšø××D¹I½È+žŒÌ±±ã‚/;HÅM¶ÈÈ“ëàò‹¨t‡‰_Š ±Z€ó¶½ðhéfSvT)¼*ʨE—¸¹-™`/>pªV¤qÒ*÷x'^éQ$ÏL´÷,aÞ¬I­?•Ýé·J Ùzi„þXgȼ—S[xWºPé>Ï€INUÇ46&{ƒ¿:ñÝÿw]x‘ü5é⻺WbC²÷<¹°ŸL6-¯Ñê Œj4ø÷9”ç=6Ý×éïà$±Ù˜:hˆwãö…ÀÔZA¶­]A ’¯]H(ÁÏØW„Ý÷,ïgW¶Uô½¸x4•á,-fAZl+¸78¶$qã0“§¿í4¨c”“­[…”ߌ3O“UBÒ¾’—¢ð!O¼£Òï™ô¹•f>qã–ÕKÏv†50‚ÿô® Î_ †ù÷ft*½ƒ¸*U ÅT?HÏD(¶wnœ;oD‰€ßPEö{æL;»ãêsn€(Ã2¨_X=®ëËL—0n”g½o¹LË:Æž›ðŒÔïÝ1]Bt(» ·°t›DvуÏ{kõº&6J4ŽÍ9tg)í¢Î_q§| ØoÃ,^\g+¢Ö¶üb¼ÜÍ·þn@É ƒþdPÜÞ2'fs³4VÝÀî"‹9TTã1¾áE¿‰MsZyП¦™r®£qžE§~Ÿ©Ò?ÖƒÏ~sû˜ ežÕ—yÜñxHˆT#p·¡°‘¨ÚPÒ9ë(%¢©šü}Ê[…l½¹moÎ-A䞨T‰ èÁš¼(·h?Õ[»¼¡>´óŽG¯SLKƒ«œy<‡wÂoÿ¤£`* 6Àè«÷íÖí ŠÂ¼Ô:pîéОòª-n¦9X ÁªA¹iOà?®Â+?idFk­Ð$ØÉ-ÿÖl²‰¤]¥ Fj‡bz’¨qÃQ~0Õtßl-ÒÓlª¢#>KóDטáÞH¸¿Íö³ó 1Ûd?èµPœÖú߯žŽÄ¨tToðÉDœ±^ät%Ëé3m ÑM÷¸‘Žòn„ÿ›ŠÇÎÞ`ä>c%néÆÑâ5—¶·é1# ¾äuÇ…Åw/Æ2𠺌ì*°þðü6òš“»¹:ÇMùH3=¡«½ùÆÃ: îð„ŸÅìï ß'—ö鮨oÄúsâ)Ò^ëòG‚Çó   Å >­…W ×á¡\`æ9¹6ÀCD9@*;˜5à—¨Åå|„·¢‰>4”ѹ; jNÕ_Ù …²Y9a0³ ‚‘V—»Oœz ÿÏ*¹3Å¥bh¬±eŸ¢ Äj²bÕ?´Ê>²I{k²˜ùg6±ä¬:€Â-èô PfFfÛ TlÞàèUŒÆAXö9Bh®SÖ45áÔ= &8r’êÞ¬"/QÚƒè{1m>øžYú©C ¥èz ”çdX„ã6‡:†ÝZ­V³yö[<,¤ s$ð¥Rc*… Ú«wHû4¿ÿ,Â,ƶzØøõÊ´ñžØŽÅ4õsѳ+s̰ɤêާ‚™Ø¤†#ÜòHt0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0 žÛûÕô ‚ÈÑü,OI¶´EHÙÌxdìUezæ¹÷]Ö¦J¯pp hˆûEAñÖˆ$>LÒMÜŽ csVµ˜±íJŠÌ•ŠG20oŠ£".ï4ÖðZ¥£:Ék9Êo3\(¢'S]û‰: Ù|=o¢H>\ésÜ`á öªÎmxÆfQÛ4ÚÎÿ§Ög aªL¼ ªÛÁüL wtSÖR$"¶ôðÃsíH_»$°D…j1ÿϳHŽ‚.ñîíô™ ÐW·ð¬‡”`Óï©”ÛðƒyDï)ÞCÕI$û¥µtžè:®ÿ–Âe1$ŒXjY”¼Úé ó~—ù¡’ú,x±Õ…ˆ'ãï#Y²£oñW„‚ ãNZ°¸âÑ*Äë“…p+¼.‡Þµyó©Ot˜ú 5ðŸáÔ¢óïû `T6#¶0Qï‰ÅA‘¬¡±™ A*ïc1€ãùè_„`†á:É`Ûôîêq*.nbX7©ù’™ß¹O#[Ô1ˆpÏ3 SdO´'É¢À<¦•K‰›<J»„¬^bW$îWí3k]ñ¢ÔôkkkË·ÙYF•çŒwfâGè¼5Ïyßqk܃2Σ¬imfTáß4Îsá€Í°JÇNM5OÒ]ÅNg9Ü›c3:º± cضCŽ9;K=«LÕ®Pæn”çh¢­rÁXZä û«†0b`>¾œP²BõÚç“~BNCU>ÍW¢,q`R;Çÿu{krÉöüÓRV«)½êÏ Ú¦b‚,ƒs숰_’®ÒðÃ’¬ÆÓ@ÉR Xrç—»©*RDJ Fº–› óÁïö©àÇ6]ŸÇæã]|Àf3M1R¯DËCXäQK]å„#Ê{ËÊì‚ïL"¥Cãë!FgŠ‘RÔªü?ÓÄ…˜ˆôœ^RÂÅyÜ °×­gDJØö¦óôLÜA $ñpÁFM*œú·øï|Ü"ËÅ0ÈI™ïÒKLò?œâÀ&Ñd¥ËöÚ« ;Ÿ>ƒ-š?wˆï®¤Då»ë–”*w¾Tã|j]û¦mªå;D¡2º)1jßýô¸F{ ̰r^…—B°OåkÁˆŸWIW~|çîÐiÇ#ß\úa0¹ñâÜx¿oã¡¥x…~Ó}±IVÿlq(3]€ð·ª2aÄö¬—HF¸±{žSêHàæäÊ;V­ÝœU\¾1B0 *†H†÷  1 server0# *†H†÷  19OXãóñÅ¡&ONhîk?F4`010!0 +R7aÒ±x…L8}nª0mvëgÓ) u¿Özeroc-ice-3.8.1/certs/configuration/ca3/server_cert.pem000066400000000000000000000030521516567600500231010ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEYDCCA0igAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMzEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTUzWhcNMjYwNjI1MTAwMTUzWjCBlzETMBEGA1UEAwwKY2EzLnNlcnZlcjELMAkG A1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAM BgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEd MBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCyHT3cc2EdX/pClqAucdFDo2mqj44ub6wH/g9nxYfggLQC +SWb7kduU8mM+OAp821nqUzTpMc22IXdwiZcFjscCzaosh5444ZiPkZw+Dp0yyGc AD54Gv/yGWVHMXzJsrM7K+AlPQLRqyhYoXWIQIMyXEExh79Sy/b8WLfnp8s7MIii XD19fS3wv1g40II2sKCWrrJxAjfk4XZ4u3yHuDZ4i/voKudGomcq9DVATtbvYMf1 wVfgMeikshdFzF/qqZonNVI50zeAuhjfq7qx3ncAyB0TDHKoyeOjI2bVw0RBDRRe SJVIUG5VViBuU2iMRvMVUPfAXs6BZiOqAo/Xk8EjAgMBAAGjgbowgbcwHQYDVR0O BBYEFAqL1RBBuD4EuPdA/pCx8TVbKBefMB8GA1UdIwQYMBaAFHZvFgljyMxjWfZq 4LSWLM0qrce1MA4GA1UdDwEB/wQEAwIF4DATBgNVHSUEDDAKBggrBgEFBQcDATAX BgNVHREEEDAOhwR/AAABggZzZXJ2ZXIwNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDov LzEyNy4wLjAuMToyMDAwMS9jYTMvY2EzLmNybC5wZW0wDQYJKoZIhvcNAQELBQAD ggEBACTDvGOSEkaTONmihQ3LRo/uWr4/XXq8QwsRDGD6o5k5oY7MlTASXdnDjWAn QNOXCyiR6kbo5tNhnTlqr4evWyEo6yMkHvCqG+HMGlVMadXrCkmy0SiWtIFfY+V7 7nrhDx4J875nIP5QEODKZ8nPneAQ6KGk08g2RGn5urOBTMsYOR/XMW40Ckh+ftfW qKkPy842+RU9HUpuHLHo06nxh/ZotGKK3rg4mfkYfjORlAtmJ0rFzr1DE5b5bPTU kM6fU/KU/417ODJ6WBoRpMxsARVNrKziENfYNVyLlHVpJOr92ohV3oa9gD1EKtMJ ix9SbubsPIljuVqQaOWWIixYnz8= -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca3/server_key.pem000066400000000000000000000032501516567600500227340ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCyHT3cc2EdX/pC lqAucdFDo2mqj44ub6wH/g9nxYfggLQC+SWb7kduU8mM+OAp821nqUzTpMc22IXd wiZcFjscCzaosh5444ZiPkZw+Dp0yyGcAD54Gv/yGWVHMXzJsrM7K+AlPQLRqyhY oXWIQIMyXEExh79Sy/b8WLfnp8s7MIiiXD19fS3wv1g40II2sKCWrrJxAjfk4XZ4 u3yHuDZ4i/voKudGomcq9DVATtbvYMf1wVfgMeikshdFzF/qqZonNVI50zeAuhjf q7qx3ncAyB0TDHKoyeOjI2bVw0RBDRReSJVIUG5VViBuU2iMRvMVUPfAXs6BZiOq Ao/Xk8EjAgMBAAECggEAHByzv1WHTfNwlKL2fEN4Q88z0Hj2TXZQYOCPaOcLR6Vj WWwegf/NTr4IZpN/ZKT9rxSlwhUqC4oy3Wnqfl1Ujga9D/Tbt2Pd5CgFG95/R3Yq LgJMhHi/zePb5tffj2wrkBrK4XBsP1CJk9eZV9yAIz+JW0/Gzu16DvZ9FvdBA0HQ iPbeK+Kft/pJ9A4yeCUinb+5/wOZ3IZxzvv8GhFkrH7M5eofiyjVho0IoKD5/GKO BQoMNXPrEl7fneHrGaj3n6ZeU3wVwGuQF+rtYIJoMGVWQRg9rAgtFZ/7+viNyNh5 DeN8rSRJtxzlhlT2mrqsEIXSBcoZE8MpV1pmLXNJeQKBgQDXZJpVXRpB76vnBTMQ nNx66PPg6Aa5Ywz1SBLMGNtGzfOsT6bCoaq3zcVt8Z2w9oZlJ/LZCJpDoRIenplK 0Czuao0Gnal2Yy4o2k9zdWKu0NGb7LIdzKmasXSaqOdm/miUtECGr7rltx3ZHAH0 iEgZJflLGux4AIPrIwUMGbkR+QKBgQDTsXlY8WFzbKGIRHgyIboswn1m3FntXxqO iz/rk+3RO2ClC3ZsygQHu7oLlgMU0f79/ZEFXZa7fdQq14vCOagglSEWeSuPLyCO Ja6k4DdXgoRPBbaOa11uzXtDaLOBMTZ+68fJSHwWQVJPqiHYiY8sFrRd4CcKz9w3 c0rXnaCy+wKBgGuYo8f0xEMf2L2EyWeJFFKJwBofjgxZwIVexZUS7abHBuyStXkQ jVlX/0HWqrFV1Pj/Jb7pHzadZZHKJEVNDMTkkSI27ApprQtXUs0YXH17btn3OVrN fAP8lYUUztOSTufJy1n8ut45xT1JUmi3E10MrSWpg2rGxx9U1RagWuTxAoGBALfe b3LUfXs+wHLWXbvVVZqo9zjPbYBiWXOz+ToJy8cvFrtj4GGPeb6pzGdhzZ1Y5G0B v+N0LYb+PLlVbHuvjpt2TD3z0uTT3yf4DOACK69jmr30TWMYWBf0e/rJxxgQga/t 5SKsRbMi23Z8ZFdq66M0uUbMebzHXBQBnOD4dWrfAoGBAKoGbeKYrnzVJHqwlA8u 1fJ4tLAGCaUOpQLcHRGFHaC7PIkSmsEItVHdd3z+iTLNTP/EnAIaP2Y5bkAzWuA0 9R83wCeQneZaESFP1grKWRZD0F2zBgH0xOOMc7ZIeUDCixv4Lwz4GMnq0jHN7e7G oEt/LWzUc0if+h17VMiaVtgJ -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca3/server_revoked.cnf000066400000000000000000000012261516567600500235710ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca3.server_revoked emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names crlDistributionPoints = URI:http://127.0.0.1:20001/ca3/ca3.crl.pem [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = server zeroc-ice-3.8.1/certs/configuration/ca3/server_revoked.jks000066400000000000000000000067361516567600500236250ustar00rootroot00000000000000þíþíserver_revoked–ü—{0‚ý0 +*‚é·î(ûì]ÂìÔŒ¼é}Á"c¬>ìÈEÏlåòíꃆØ7ëŸ<ü%¡ f3˜PÒå4Û„Ø0óüÂö.Z´ÙKÂû÷5Ð • n›Ak‚¼já/‚@†'û¨‚“ÀòL¼00åU®]z"²7vpFaާè¥hÊè0 Á—.•ïÚßëöUíKþC5ÍPÂÕ~a?Gn³¤ar-Ææo$Mf<^┫§ãøúÑuÏžñó~"®vŽNB2µƒŽ>b1Výº±ç½ÌÚø‰=:ÝzÙ°i,=Gjþïx Iz¿íñž¾‰êà¨ÂY2Zÿ‡™ ›ý:àuürË CŠÎv†lÊWñ&dŽÈ¹Ð¿ˆ;+rôÄrÉ”¯õ‚ÝÚH0ûGNfº¾«&ñA%yÜɳU[T6ãz5åsÛÝV>¶‹LPT7`‚xk 5`Ψ‚uc¥ƒuÿsÙ4œ5ZîZ„¶ÆÀÁ\ùa\@qY ö¾"Wf*Ê7Ô(£Ó7+šÄõ¨˜W,ú r(aH9EšŒ‰G—³eÂÙ"²®ì‰¡ÝÆÒ¢´‘Ö…A¸ÝeI1ðÖœèyõÔ³•'X³ãbâ5ÇÑmr¨êŸÇ!;IM^ë+ý¥¡©Wšv&gÝ'>véÔ}+eo¨¤œKëéjyÊ1—wÑóG‘–Ÿæ"û¾)qBÛ`ÿº$üçârÕòpEÆÜõ"’§\ë.¼AÞ$iÙŠz,Ž2©ÊÆIf¢îVŽ\èg~ÊnÓ8Ý]‰zB¨HÁ^·=i¾‰±žô® fMZêsÈž”¸l¬¡b9†´.M¿ð!V`kú«¶†¿·¹½Çl'+ãߦ3#ÞÎõK/ZÁæ!˜`肎'Dr ±ÓuȾÎvM5Ï­èZ8Ðtwk¾Ê,TUŸâýÄòHùåâóN@×1ñÜ.öYÛ.Pi…ëÍ5Dx2! ßÉE‰ˆðžéi–0aÞî~5Sµ%=j_¼0 Çí’? ¡äeT”ñÅ{>¢c; M¹c ò$ŒþæuT1rÇ´ÎCV:ø8;y8›Üu„i0à%²2uÍ-+hO4 [ÆÕËD½ô°¦ÛPbilTSÜrO–SJ«ìl´i}D[(²êßuíšÈvÄBsá25mõVSæèA)·!Ô‡Û,!ÌÂq.o‹ K™ò¥ŠGº´nes×\[Üàlb"“¾ ! ×’6`¬¸Qr<™¡Q£Mª+dS̸§UCî\¤6½pX@‘²ô†^ŠŸ¸€ÿéªnÌî |¡BE!„“GÇX—`[É=¯@Á®ã4qrÌú¼9"Š‹ez¼îÓ§/Ûf¢OžI9¡T`²^aLµ²šêH­,»GûV€¹ ë% Åœ–@¢تý‘r~R’«œec£Êmˆ%ÍÒŽ©+BÆ'kAgXË*¤a.Yî2<#GJŽ6þÁŸØ{b~¿Í!±wƒ*‹Ãd¥¸¡RkÁyíÔl%7Í Îqý˜¢•Êr]ÝÆ`¦ô‹Xêó\sYËöyÌJ\–á·8ï§’~0³# _,‹Pö—ÚbsqrÃ&AËŒáS:•[lÎëGsNÌŸÑrJ1½=kRU‹q‰° P¯².º X.509l0‚h0‚P 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0 250523100152Z 260625100152Z0Ÿ10U ca3.server_revoked1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚«Ñ¨'QÄßš´Ð`¤Nþè߬"Û¸õ.õj «—¹ºÏ°ßoM^ªl74‡¡¹"I穌ZçøF°ÚªŒ@&4¶¡»è©QÇvR´*7Gkues©;¸Ç³*à’~Ö~¹ÀL4QìÃdô㸌ģ{i‹ök4í.ÇÅóã]lu IÃX¶,ô­¤‹ýúApÌÐâsRõŠ"â-zMælNV³îZóÜJ>4õl–_RúæÒÜÀZFôµ^ªR9Z•{¨ìø~i' I7%×Âm!®&œËøŠØ ³½YÎ O¢DKãf->Á9¦Ü'1é¬öõ“‹›Ão^ ) j Œ†Š+ýöx÷}U»ùpzù-• ËØ+שÆQg¯>ià:‰Ç:ŒD%Óø¥è!NVD 2c»p’¼Y LÇœÐA,ú Ü>GÓˆöùïüf¡Â£4¨¬äŠ£i­Ñóós€èÎÐ Á9ÔϾhöÊ E 5†Ié™[!ÿ²ë(üB_6û~uBp²ìU²-¨îÝîÔÿž$ßJ9͇`Åm²‚û'X.5090‚0‚û Vk˜ß<3¾„Í -½*—ß 0¾0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0 250523100143Z 260625100143Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ÁT¡O‘Å„nz½x›Jƒç5p¹ÔnÏ>Ï-E0xÊWå—µ ß°ÎËãYœu÷ —Ùûÿtƒ[ßxv_à€cÐÚ:><ù§0fŸõVÍTe×ÑðŠ5ÎkìÃ"[‡^gë1F%3‚Naß«ÙÕˆéø”©Í⌥ ¶º‘´'»”¾Ô'ÐRÂaösŽë¢è»G~íKæCÔ­·¡{áâ2¦i[8±€mÃί«‘ާ³ñRÙò?#›Î ‰Þ®¤°œ©G2Zs°g¼ÙÍŠÐîx1…ÆüàÙIM×3åØ`K1yÖR p`XÞËHå=»^˜î{ùV‡Cõ}£c0a0Uvo cÈÌcYöjà´–,Í*­Çµ0U#0€vo cÈÌcYöjà´–,Í*­Çµ0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚MåËÒ‡å‰BínØÇn$g#箥[ìë¹í…DðO‘sµ©"ÈG§Jþ6»_1ˆéÑ7TƒPÂv"ôV­ü%A¯²Þ#L›§8+¹göHfƯ+–`  Îèz`x×~`à ™o`DúRÈ@Þ"Ö8lµ›W‡R¤¦Š±+ã¾`üϘèàRW>³‡Ü'åª!îhk@+¼U±ñý«zeroc-ice-3.8.1/certs/configuration/ca3/server_revoked.p12000066400000000000000000000075121516567600500234310ustar00rootroot000000000000000‚F0‚  *†H†÷  ‚ý‚ù0‚õ0‚  *†H†÷  ‚ p0‚ l0‚ e *†H†÷ 0 *†H†÷  0(ƒI®¤ùW€‚ 8 •ÃwcCeW©úõþ+ #ì_†žù\DÒeaéF'¤ ŽU ÁÔûo<8ÿÞŸ7¨ëú›?>¼+L²±w¤Š?³S7ã; QÄ~ØÉ+ä®ƒðOРER íhV´•Ü îµ"ïY›½°Ì)_nHÁl–$³íÌ(-G½ õÅB½qb¢¤×ê3¥©>EP^"UiÖõnN NÎþú£«Ëžc0¤A]¯b¶n<ž¤•n +© 4/±P:p¦æ§G°QJhÒ­a¬ó%.Rˆã$åOéMUº½‹ÖàÝ€LP Gÿÿ/glùœ«Àr_ áp?óû¹¡h…¹æ“Utc†û:i Kõ‚ÎÿË1"JlËGvYò'FX,tBD-‡y¿ÚtÈ·pàð½ÊA.ÁH²*i·ãàŒ7«C[’>±“Yl&.TPè½<ÚÉÔ&º½xWÃL9‹Gx7y# /`FwNžè,g1H/J0…¸Ð ±ƒå¨B ދɧß'ÅÚ¡`~rߦ0ò«Q_,/ -ecÅ%´}V¨ÍzôÁÃDV2ácS«%{@LÓíPéOXÉ—ÍÝù^¹áCuæ ó“yƒÎ`¢ Z\äeÅE`‡N(E$c—I˜Øà>ðàé«Ð†å÷.䌾˜Õ–<µ%§$:Ö¤° Ç?;6“]Tg*¢A€c°žlõ[E±±Þ@]Z6@Êá¿Õª½>pÚZ2¥> ´IÊò­ùpKæ *™ÿ%Ôÿ~¬ss³ Ô ò]¯fÈS~ÛóG>iu«< /ä^¸² ÌômΑ™†ÅË"ŠMbmVå„ –Ž”Ñí93óæoYB—’j­D?·j°6*V óZ›/âšîÐÔäÕÝŽå™×ªÏQÞ·´~ëç ´¡›(¥Ôœ8ǧã_Åæ…Ò›./0AæçVí!0ï™±³F¢hÐ!½ÈW´îÉ*[ ™¢2†ùJâ{ Ý}Ëà \iÄ]~žÁôž€ŸäîÔ­×^µÏU6;ñÿ¬|»r“C¼‹8¢î.¿@'¤ApÚ}ôZ$‹«ô IJ2ã>uR¬7g7«^ ŸÙc[&fÍù4ô_ÃÙ\Àú‡^Õ•@TÎÜ„¼ŽS±pAæâWÅÆ—õxùh,õÂÒz¬\ƒ>8.§¿ú±á…»]Â/¿ë)8EöºúæØ!ƒÚ€Ñ° ¢mdŒ~Ùoç•k”OÎS¬âÇ@Å>“tq¼˜-ÎÍ•}´•ä*•¢£Xö sË„â›vÇߢî!‚º±·ö-é:iRG³.äiÄ-z€O5µèÊp`ÿêè?.#D>ôJ{”-ea‚î&ò„$¢švu9x1¤]­$Zÿ|Xû \¼9ÍH%­Àv²ìq êÖ€0×P + ?,<øšô17+Iýfù;‰ðñ˜¿8ØA娄´t¸,§ÿ‰&:¼Dl.¦gòô¢øáÔþú·B«b ð…©¥¿·ˆq"öªÒl—8"–¾»whb•ë.‚z?=¸UåÒe›[Ý6ôߤi÷ô¬}JÖÚüQ¿»,³ºœZCÙU «që·ùÊÛ—*¡à^I¨Á9f_6Ð ßb¯‹¥ ´¥+ƒ €Zÿ%Ä ”|™¦‰ÏX!ð6o%‚Qj:úzaxL-=fœºµn’äBà_Ì}/Ï—3ÜÊA¬Ã`Fß'¨P$úwÞ°™”Œ.xûc4ÄÞ|ÍdÌxù¥¿Õ(pß±D…‹—;O%óꉠ•W•H³gÞ’€þï¥gÔt ^jª7V'Ø·ÊÕ6€9Ã;Cì£ó=/²½Q^‘«ÿðÑ…Sp·Ü€ôPAÚtü0žà핬ᴑ_DºÇ :\'-ñ2é âZ±„þflz€k²ÑÚá‘ík„/…î"lŸ„ÓÞ˺ómK"‰]›—J׿§Qˆk\£ªKèk+;Þµ°°˜9xp"×û¢‹&ñ6uÆüîË5×5÷4cú·´àÙf¥I ’{WuéìÛ›ôÖ3 sQ¸l¹#ÛH˜ÿd´B ,§º­î)ÏNÃ2æ… T›¨õæ%QDUÒýDKJ¾nëQzÒ»ª@Œ 5lÖþ€ìç”Ðc-œ^GK¡i“+,ÕdÐSºÜµÅhYÁë€*PÝŒ¹5‹sÑH¼ëdZaŸ Ø*¡Œ½-“Y¬)Ïv…ÏxxÈ;êÒj¸Dœ¬{¬’¦®µ>ÚS^a)ÍÕÚHXP,¤g+xÕ,äÙ¹ï ÐH‘Z»Ÿo<±›nž¶æzùíEçôÃéx#ŒA%|cÏ,pür©4Žÿb>·Ô¬\cí TRFt2ï$ZÈÛ‚¡ü!£xLˆì¼–ÒðÝ¥²)×zã? M­yÒRÐB£-écDyó[Êk€GU6çHD^5ê!cB0‚n *†H†÷  ‚_‚[0‚W0‚S *†H†÷   ‚î0‚ê0 *†H†÷  0æ=ɪž‚Ȧ00Z Z‹• øÆïLE¹SWrjµ½a,Ò!"|)ú H )¥@G{Öðî†þô¹‡Óü' umxûá‹¶úÈÜG9bPêÆ«‰ ϪòYñŽóœÍ«·p¢sÑ‹Jü]„˜''Ä;jåRI_Ûórnæv_/bRc2ó+æ·z –i]‚ý°ÿð ʇÎ<"uGš|ð¶prPF|ÅW­…zBÁÐO÷ÎìˆðÍ…šùîþ«Î‹ÎÆhjw,`šÔÐh{ߢ›„è¯n_jþüµlštà*þ$00ûVö×íyæ“ÑÎãR"Êg@' ÷ÎÌ›|÷ãsÍîlj昫@¤ÁWàÉùÿs¾‡5cX»^¾EWÑ=%w÷ ÁÏZkÈ<‹k‹¦ÞJ 'ÌEö=ôÒåùœ¯eÐ4ªK$Pe Ùöª=»ÿÓÿ¡7=Ç——6g㊂â›>V< ’ÆCXÝu¬‘EKž2ÐÌŒR÷€Svš—2ö_¹7ùû··&ïsÞ&áMGKãñlˆF°3¶£r¦ÚV„”IȃU‚v#ôP¶B»ÿõúˆbÄ’x–Ôòdêž’µÆ¹AUÒMsÍDåòð}ÜØO˜¤3”P2 éÈ–õ,™¤.1áæ]@î2¹„äU¥޹à› Ð6„ᆖÃ&AQe[õØ/%Ø“uüZŽèÇ 80d*¥v{Ûöóò:ë56’ê±HÑ6ë]tu{‡c r¡.­Ð!Χ†q…¨°²õõàšÞ` ëéãe^]ñ]þ®Æ&_>W{ÐZÏVÖLðAšh`xgèø2錜l½Kæ¶´uj»ŸdÛ>_¨”^$Ðh|¡ø” òW›¬¤…s"ŸÈdÈ|Nˆœtâ°mëk•°¹»¶Ë¦‚ zß9§å­&rh'<æôYG ÏmË”ö•™×iBØë^)À¬‡ÁO‹Ã86êŒ;5€\mHËOYv.iëBL©z Ù§™ÚÆcñm_àÛB ¦$%ë4SfKø ¢ È ™A5@¦wë‰Ä€<ŸXÕÃIêÂ/^ÜüñÒj詬Ö* xÈï4HzŒ©Îpož ÇÒ•Ü9Q?†þIÁ²3¢«ŠÞt»žÔؼªÒÄ”%`á)g¨{¶FK7@agàI›°4ƒî²÷èi UQAWBGé€o’ónëU“eæ¦Ûh˜gÍúY×ËdW‘ŠqàO‰2dž¦‹­˜PN]UÖ3¸q€ä™5o‡šÚ ¡}a™(ÖZNº1R0# *†H†÷  1¿7í­(ü{HèøáïÅ{ê2’ýh0+ *†H†÷  1server_revoked010!0 +¯ÚÊXÿªy0Dƒ—3ŠËŽfÖäÁ|×·³† zeroc-ice-3.8.1/certs/configuration/ca3/server_revoked_cert.pem000066400000000000000000000030661516567600500246250ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEaDCCA1CgAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhMzEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTUyWhcNMjYwNjI1MTAwMTUyWjCBnzEbMBkGA1UEAwwSY2EzLnNlcnZlcl9yZXZv a2VkMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVw aXRlcjEOMAwGA1UECgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3Ry dWN0dXJlMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAKvRqCdRxN+atNBgpE7+6N+sItu49QYu9WoM BKuXubrPsN+db01eqmw3NId/obkiSZ3nqYxa5/hGsBfaqgiMQCY0tqG76KlREccT dhJStBUqBzeQR2t1ZXOpO7jHsyrgkn7WfrnATDRR7MMTZPTjuIzEo3sdaYv2AGs0 7S7HxfPjXWwEdQsPScNYtiz0raSLD/36QXDM0OJzUvWKIuItDnqdEU0R5h1sTlaz 7loV89xKPjQZ9WyWX1L65tLcwANaRvS1XqpSORJalXuo7Ph+aScNSTcl18JtBSEA riacF8v4itgJs4EGAL1ZPFrb3NQfqQrh3sVI2mOyImLDIfRspocCAwEAAaOBujCB tzAdBgNVHQ4EFgQUNBseB+DiPb78Hf8Pl9Jxk49wtlowHwYDVR0jBBgwFoAUdm8W CWPIzGNZ9mrgtJYszSqtx7UwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQMMAoGCCsG AQUFBwMBMBcGA1UdEQQQMA6HBH8AAAGCBnNlcnZlcjA3BgNVHR8EMDAuMCygKqAo hiZodHRwOi8vMTI3LjAuMC4xOjIwMDAxL2NhMy9jYTMuY3JsLnBlbTANBgkqhkiG 9w0BAQsFAAOCAQEAhOCCy/Q5XOPE+01EyA0RpvRGBMuB+1iKuzNiwgHakqV/n2D+ p7ihB1fgrx7vuisMB5BF/s4o16Q+zh4MBAhPokRL42YtPhjBOabcDicx6az29ZOL FZvDE29eoCkNagyMhgaKKwX99nj3fVUBu/lwFHr5LZUNy9gr16nGUWevPmngOonH OoxEJdP4peghTlYRRAsRMmO7cJK8WQlMx5zQD0Es+gncPkfTAoj2+e/8ZqHCozSo rOSKo2mt0fMP83OA6M4R0AgJwTnUz75o9soJRQo1hknpmVsh/7IV6yj8Ql82+351 QnCy7FWyLaju3e7U/54k30o5zYdgf8VtsoL7Jw== -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca3/server_revoked_key.pem000066400000000000000000000032501516567600500244530ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCr0agnUcTfmrTQ YKRO/ujfrCLbuPUGLvVqDASrl7m6z7DfnW9NXqpsNzSHf6G5Ikmd56mMWuf4RrAX 2qoIjEAmNLahu+ipURHHE3YSUrQVKgc3kEdrdWVzqTu4x7Mq4JJ+1n65wEw0UezD E2T047iMxKN7HWmL9gBrNO0ux8Xz411sBHULD0nDWLYs9K2kiw/9+kFwzNDic1L1 iiLiLQ56nRFNEeYdbE5Ws+5aFfPcSj40GfVsll9S+ubS3MADWkb0tV6qUjkSWpV7 qOz4fmknDUk3JdfCbQUhAK4mnBfL+IrYCbOBBgC9WTxa29zUH6kK4d7FSNpjsiJi wyH0bKaHAgMBAAECggEAD9JvrKc//ONPMT0lBE0+/pHoZ9lhXt9mJAzVRUPki4pi nETwIezMvshaovui1dyNcOgLWexpHhjMUHYHYGAh7CLAiqY2J5lajL2DCu7ovGYx YfF8Ui3uWLdF0584JYOmmd2Ar/RAUDUXG2Om0VJDBVt6PnUX6haONVEbYkptNScd BTvtiFtDalRi5rLk9/UlEvEFHEkQr+2mjz7Czr5tHRo3Kyf24U6NfPNjUBVjJKab kWPyTiPwmyl5SmvXpobOFbWfZbIOuFq8ws0MJlWoHjIx2uHYAdyOXeWYqOvwJEtD uDys7V3Wwa2fBdldWoqGWK6v+ESR5uzmXTG3ae5oaQKBgQDlHW4BZ8OBJ7u1BDaz 7HcxpqaM9mfvZJ/l2cfDTKufm4B0Qar/t75GjHyhhJE91f34im5OFMRWvKQ3CPSs h+xwLMd9KhFoEuIq2QBVWwwbBNP6usSPMcJPo+cf9fUDljByV0mzbvfetqziQshD nIF64Gb67Ip50kQWY+xBIqSJ3QKBgQC/+xECv45OgAyZhn9LQUyKDOtvtB6CLQDA bJjCBIG8bxGSrbE3iJ1pKb/WIATvSfeYFVnh4L1CReiME3+NVkAgp0dhgjpEJg1u LP7q3iTe9YsL1408BYIE67A0c5CYFOO1xaoa4LBscypkYcjjwHerH8n5ZcPB21Ui bmYEbJO1swKBgQDB5YkeaVk8KYsio4FD/Z/WBio3a6UEJQ1pMUhs0KsB9VDdkmGL 7k16WRR0gMOGKF66AzVcoRiUKytyZALlLFb9i/f7xilbAXgkOOeeVOJGz2wyafNF GCBQ0+4az0VelrFDYvm9f/EHq2NeTJQ9G+s8OUMNojeC51618DSV3yKOhQKBgCVf ZMJaNAPIHavNaP5nadT+Ct8l+0JwLFNJULuEURUzsgIR2gvrhmkwfW3bsdo7Vf2/ Ok4kh/Nc1JZgPVZwUe+JYPX0eg9GMRsfm0hxkk/tEPJvNclXcSYwE49CaAWTG3kJ T8IHt5CFIt2Dw63CjAk+GP15+A/G+N3JDAcUc/TNAoGAIXPIcxa/f36+OqF/SY9G cO7uiiy1uSi26vI7MLxQ/Dd1L+oJVqiCQbk9Dx9QGw+Pa7YyntbFPQapY41iAy5J oXS2wo3kZmGaiQDkIJYoNbyLqIikSP3XY5ZDT2Ri1zJLPASyBCRwgF3rBfK4czRk EoLXyGg0/67K5Sj0fEpkJjk= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca4/000077500000000000000000000000001516567600500200545ustar00rootroot00000000000000zeroc-ice-3.8.1/certs/configuration/ca4/ca4.cnf000066400000000000000000000020371516567600500212150ustar00rootroot00000000000000[ ca ] default_ca = CA_default [ CA_default ] dir = configuration/ca4 crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial certificate = $dir/ca4_cert.pem private_key = $dir/ca4_key.pem default_md = sha256 policy = policy_loose default_days = 398 [ policy_loose ] commonName = supplied countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional emailAddress = optional [ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca4 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, cRLSign, keyCertSign zeroc-ice-3.8.1/certs/configuration/ca4/ca4.crl.pem000066400000000000000000000013571516567600500220130ustar00rootroot00000000000000-----BEGIN X509 CRL----- MIICAzCB7DANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMCVVMxEDAOBgNVBAgM B0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYD VQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEMMAoGA1UEAwwDY2E0MR0wGwYJ KoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbRcNMjUwNTIzMTAwMTU1WhcNMjYwNjI1 MTAwMTU1WjAqMBMCAhAAFw0yNTA1MjMxMDAxNTVaMBMCAhABFw0yNTA1MjMxMDAx NTVaMA0GCSqGSIb3DQEBCwUAA4IBAQApbwvg6oGAYnUnaPB1jHf2gX1zQmzQki5Q nH2YgZiEvvRri3m6bsQHiinclOXz5bGDX++oVCLYTC3fQy7RLFdZ26ct2qikQyAm EZeMQdzOr+xhjwv+r3OTSgg5CE7TpU+8E1+rvAoAS8rBnsYbFtRuKTSHk2RsN8Gb D+/JkhAfTwbNG8Jgz1mNcMW1bHs8mqpGTYEfvyweJ6bOW4ICxsDCHyoPwdlpQxTO 36fG+VscW6qcUYZSrSWsR0bfhiI06EaLZUg+7QfdHK2IEyeIZ5QGwRrUp+yo9ZgZ Z9Zv1UbVWknPWj+Ja++1FKkzRQntBQn4WgoEcjBkmfb7IF2LFoBL -----END X509 CRL----- zeroc-ice-3.8.1/certs/configuration/ca4/ca4.jks000066400000000000000000000045341516567600500212420ustar00rootroot00000000000000þíþíca4–ü—kÚ0‚ý0 +*‚éÛ!›‹/˜&Sê‡ìÏ9WPC˜Ñ©E4:Šþ—ÄÖúqÚðmŸ1eËH±$dhN¼÷K;›‚C€Œ¦ˆ€TÙUÀ|]8¯¬ÛÇ$†ù^ ³¥¯Õ‰’°ÄÑ`Ýút£z£Ú±ˆñ¤5+ÐV«È\\ÜÅ '!Ô¾rdÙ¾»¼¾]Ú+wMüF§jÌ¥CÑw)s׆AØM>i­Û›!¡ú†S8âÅìƒòžô²2ßtÙ| Hß*:B¼(ÿçµÿ®Z÷ì$¬Ht$¾Çò[i^ öQ+ÅÙQT˜­Í JR¶ðêMnvÌ[Ç\Ê9xܳ¥ÑkŒ½º`eWZÆ_°Þ-Hn^ϨH¬hzq,'_>u(¤ãP1ˆ &~ÉLE.£ÎÆ€û `CÄí5÷È>Îàácÿ„3îb ‚»ot¼‡&ƒ/8 #N$O?É@ÕBùd惈ÿ—™kAºówç¹ïîš·.Œ‘SÄ·Ü}«F´ø¦…Ä|òRIË«¨ŸNuQ*}Â~ÍC"¯Zö÷ˆ Ó»&Þ‘ð¥R))š°Êšl(môš“¥¼ÍÈw`¬ÿ)Yì”äÂ/¿É@Ɤ+™‘A{\û6ŸœøŒ®çÊÓÙw_„²^ðþ­ùd†,ÅŠ«þN$BE×LzSªÇ0Nâ×û×ÔõpPLìd ¼„)Õ4Ê×¼ŸÖo¸+ÀQÈ¿ã需xËï@£úê¾c‚æäÉ'æªì®`d Óºu6Ý4¥Ús™,í‡U²ëý>uXˆ úïuÖúê¾#7KÈIk*ž­=¥ÈÝq+Ї§íá< &Ñ¥†ë3tÅ…E‚ºì*ç/°Ôµð8ãp9ª„ z6p€½Sùíüf‹Ü§‘"‡â3r"9QœØ«?\ ŒÑ·Çq@Y]º !´¾‰HKkàHQ¦íäFä;ÉìçyíE¡YËc‡¥Ï`ê£ÒuÚç•¶ºa¼ú&Þtz85°3 îÆSsB:«–_;U˜QýC€µ÷/ë¤)SÀóiT7"aÝÝB>õõ¨ðD/,%€éZçþõjKøä–8U¾þï#¯%1~ÑOs2e ©T2Ž> 8C‡µë›ÏwËÅ•åÀ1Ð)Y9èú|ów§õ X†;Ú()?Ïkûüâ&ÞÜTÓm£Ã¾û`Ôü÷éoeãMJÀÍ¢ÓQ®÷Œ;X`ë›ÚYAÁË©xsŽú$c¢Úï˜iàLð­ìéƒù§_Ç¢Rƒ?ÅœÙJb¸„7ŸA!àÒ< Êû°Ðµcyçâæ–-NÚ!ÌÒ¡+"ا6ø3:¿øq‰ºÝàÚšå:0Êlî\{“}šÑÁ`´ì;ÿ¯oëøË t‘jhæÔZyŸ˜–G%rg²\¡Ù¼ÿÈ“N¿‰IwÕ#:[,ƒÁaEC„¨>â¯.­RÕ«Ãþ+¶ú?ôLæúÇó /1ÃÏ¢|mLEõ•DEÅò:RÈD%™ü¸-JœÊ:VÝ™*¡Ð—tuWAX¼‡nÈéô÷›°Ç} nâÚ4Opq Ìb Íf VöâTMéŒÊåGÇtÔPì°bHÛ’ü,ÆÖ UÇø¿æ´æàûdJ ¶•­EX.5090‚0‚û pKžÎ8¿¹Sâpÿ"Ü Ûú>rí0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0 250523100144Z 260625100144Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ ”ßU|«ºÐÜçÒŠ×l7±†J¢a»Ú€Š[”¶®Œ,ÒX½Vsš+<_ëš'?TLÏ·Q`b½û’Ȉð¯sçâcw¯?¶3ÒïF{¦Õ1®\uk%-¸xõ^Ô]Y•Ü3ÿHF,qÕr.—BZíŒ-(M|í`pK’;iO;4ou¼¶èNqÐL–…Ó…ÞôÓ STaÂ6‘Åõüla9`"kU5ˆY=óÔ <¼û·S’Pô}ÀoÏ9‹ä–±gþŸ¢d‚?®VÚ)B[å‹Ýí¸|ÛáIæ>^êþf|ÖǺ]M¬ÃëÙP™w‚|È4Ú(mçÉ£c0a0UÛ‰ëÒ+·ýˆÎúý2]œæ^¢×0U#0€Û‰ëÒ+·ýˆÎúý2]œæ^¢×0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚ôJo ¦Þ%`êaåËÖi„µ!¨¢°:ܤܙ­àê|Py`<¸ïŒM |8bômqšßm\Rº”•/+b¨ÌÕñ+Bfq-òXͧ½ŠÆ¤_”2„Ñ˲'»mŸU¸v\š Ú¤ëÆ‚ÞžœO’2û©È®)ãg¶ŸZM(“•ö’F÷ÅôP‚›³)%: N$âæm|HTeɹoÿ6OûØõ ¢·öñŒ’nϯ~VE¿t“Ÿ|£@›r°u•­p<\çSÓrsž;‹ìùoø¯K9êû5ôta¬‰yjaYŽ‚Aä]T+x+e¾©¯Wsÿ¨‹HŸÍÁ eVëC[Õ‘_”'Æ9 zeroc-ice-3.8.1/certs/configuration/ca4/ca4.p12000066400000000000000000000052041516567600500210500ustar00rootroot000000000000000‚ €0‚ F *†H†÷  ‚ 7‚ 30‚ /0‚Ï *†H†÷  ‚À0‚¼0‚µ *†H†÷ 0 *†H†÷  0/ŒFô¨€‚ˆ¯&d8¡øucâ§K4?·Kì^Ô«Ž•¶6dÊÐÖà:ØMÑ®Åß‘i ˜]))ˆá%¨QýÈs^¡Œ…ˆïOäSÅàL¦Úw%.kr?SÀÕüÈ0FªUÜD…ÀÛDpVêü›˜Å£Šœîƒ®ã'ÿ®õK¹ÇaaõK°–Ã`Ÿ,nAm£úkÕ h$æ_$ƒ/SÓ]aàp%´´¸(å+Š?V—B™R*òfp+?ä¯>æ•|›Î’Ô_·¶Ì IŽÔ¸áÙV pa=?Ó +ÛT#ÅU¨ºIJŽÔYKñV}S©-E$¤0˜—k EqY…Ä}Pý* ×(¯K\OäÒ¬õð…È ë‚™ã «Í¡·íæ)Ø~þŸþó¥î©F¢ó¾Åéè‹2pÏ´ŒÑ™R„aߎ¬)a¦Ûw|nüLT¦^ýì÷?þÖʦ©• fÁD•E0bK€á– JW¦¨K’½É‰€Ûü=*žÆá°kïx%/šÊÞ›zva²Ð@…7ÙVP‘Áx²Z„ëâïÃ+h¸¡×kU„Ôx“0l¨H–?Áª«ÖÂiØp7iÒèôu˜=ß‚ào9^máq·ÚG/pÓ,øPwXt  é¿ lW6^§Vè¹élǹÆÕÁ‘R°¾yÊÏvOMÏR›“P™…ébH¸>¦[¹‰üÂiMœœÙ>¾r쨢êÃäaÃÏÜj>Ĭk>ƒH9v·°Q9}¿[R^|íÖóèÑÛ>·W[“è¿Ó‚¨Ïã¾»j6Ê%<8cœ©ýâ©ðð^&¸è[tÒW>ÚFƒÆ‹å©Ñç±we?½Œ°@©»yF»TMc¼¹3ôŒÂ+àÙu±©@=~¿…–´1Y#’”²:H`MŸy>·tŠEÞv«c/<âÌSë˜{”ÂRHpìJ€ñï×ûî!X{¢ÎÆÝ·;æ‘ÏëÍ¡Ycñ­Áï§"n×±ã7†øê‘NaŽÞð=ÒªbôáBƒ39¼Å%Ñ‘nFóå°BÈØ–þÒøèùK'eÏ 4^=nUùýç+·UCGþÖÓÀ¾<çº$8øMÒä§é´2Šš$†«ì76È/C})]ø5iP›˜ˆµ+(ãΪOÂÕ4¹î‚%ÌÔV_6‰N2¿£53º_fÄ6› ˆXŸ£[czæãU–ËÃ÷BºÀ*}Rà„$Æ_»ö)¥ „¦D/™Œ?€®!óf í¤ëe(`¨‡ÂšK»FÖŠç!—¶Í^FU©µ‰a“ Üp-<©¦Ë­äõùRÂrˆL?*µÊÉÈ¥÷ìfD2ש `¤Géÿ`9MbxcmòÝ´™%ðr×ñf¶øçh‹œ¶vÉóÂ;úš»–=ReA±H™‘™UòBí ÉlaX •»›³aÿ FA9ˆ_¯;â/rŠÒµ)*ûîç£GÍp@2"#Ùú§´§IR7d°ºë#@&V++`‘V`÷¡ìésÆhó¯ýޝxFot<Ÿ$B¼VØ|jDro  º†…‘¶gƒrRÙ¥/¿/oç Õ«Zv Yyò}”¾—ØP|7dBáb€PA@kŸ±Ä¾½L¿sÿË©Ê>–Ç­šŽ(Qb[ñMwGw9¿ÐkQ¨º™Yÿgu%mÁ_mémp’"ç… áªä«L@ ?VKsèðnOw©±µ9>‚Üÿ*¤xgÑ)•Òà aI=3ƒä޳0°Ó ²RÀó–œÿgà~l®ÆÏÐDu6©„`j´¾Ä}é7ŽT¿õ6mr3¸¡­«— òÔ·¬~¦®@ÎkŽiÖôòj/â~X3KÝ rgyFMsFq*{ñ·¶Så- 3>4_Ò'œñ‘{=yÍéFž@nHþBxàyFOê:Í@Ê®Ùy¼®B†¼Þã½AØL#Ñ —FæƒK´–xí¨™—ª)&60å>á®h6Ò öŠÌ 5~ &ó¸ˆà%_¬³ÚÖ -X5)A« kB‰‹¡à‡îüç@:UD4ôwd‘7’K8Ç/˜ëÛÆ§m¦/€ä›5ÍáC]cê@Â>E“À–È4Ý᪠[ÃÊKÝH ®Î4œY#帵ÓH%•†‡lŒP(‹+`²ÁˆÄø‘De‘¶aôWCø©"€Zwv=ݾÏþ ×Öe(ú´$§DB?÷¬ºî¤Çí$4…h;Ík—dªéAHñÃÖÇ€É:q ‹ä–S ‚æY.cI… R!nl‡ñB6$Ùäe«)ÝøøØDÎÎ…” +VlóÊ~¶ƒ4'ÉðP½ ¾Y÷ ëìPñ,H1<0 *†H†÷  1ca40# *†H†÷  17ÉL´y«ñYáµ€Õk¡Í010!0 +Ow<*öVo¦»V”Ì€–0-=‡žXyœµöH­zeroc-ice-3.8.1/certs/configuration/ca4/ca4_cert.der000066400000000000000000000020271516567600500222350ustar00rootroot000000000000000‚0‚û pKžÎ8¿¹Sâpÿ"Ü Ûú>rí0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0 250523100144Z 260625100144Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ ”ßU|«ºÐÜçÒŠ×l7±†J¢a»Ú€Š[”¶®Œ,ÒX½Vsš+<_ëš'?TLÏ·Q`b½û’Ȉð¯sçâcw¯?¶3ÒïF{¦Õ1®\uk%-¸xõ^Ô]Y•Ü3ÿHF,qÕr.—BZíŒ-(M|í`pK’;iO;4ou¼¶èNqÐL–…Ó…ÞôÓ STaÂ6‘Åõüla9`"kU5ˆY=óÔ <¼û·S’Pô}ÀoÏ9‹ä–±gþŸ¢d‚?®VÚ)B[å‹Ýí¸|ÛáIæ>^êþf|ÖǺ]M¬ÃëÙP™w‚|È4Ú(mçÉ£c0a0UÛ‰ëÒ+·ýˆÎúý2]œæ^¢×0U#0€Û‰ëÒ+·ýˆÎúý2]œæ^¢×0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚ôJo ¦Þ%`êaåËÖi„µ!¨¢°:ܤܙ­àê|Py`<¸ïŒM |8bômqšßm\Rº”•/+b¨ÌÕñ+Bfq-òXͧ½ŠÆ¤_”2„Ñ˲'»mŸU¸v\š Ú¤ëÆ‚ÞžœO’2û©È®)ãg¶ŸZM(“•ö’F÷ÅôP‚›³)%: N$âæm|HTeɹoÿ6OûØõ ¢·öñŒ’nϯ~VE¿t“Ÿ|£@›r°u•­p<\çSÓrsž;‹ìùoø¯K9êû5ôta¬‰yjaYŽ‚Aä]T+x+e¾©¯Wsÿ¨zeroc-ice-3.8.1/certs/configuration/ca4/ca4_cert.pem000066400000000000000000000027001516567600500222420ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEEzCCAvugAwIBAgIUcEuezjgIv7lT4nD/ItwJ2/o+cu0wDQYJKoZIhvcNAQEL BQAwgZAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdK dXBpdGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFz dHJ1Y3R1cmUxDDAKBgNVBAMMA2NhNDEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJv Yy5jb20wHhcNMjUwNTIzMTAwMTQ0WhcNMjYwNjI1MTAwMTQ0WjCBkDELMAkGA1UE BhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAMBgNV BAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEMMAoG A1UEAwwDY2E0MR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKCUgd9VfH+rf7rQ3B/n0orXbB43sYZK omG72oCKW5S2rows0liPvRtWc5orjTxf65onP1RMz7dRYGK9+5LIiPCvc+fiY3ev P7Yz0u8XRnum1TGuXHVrJS24ePVeE9RdWZXcMw//jxJIf0YscdUWci6XQloH7RaM LShNfO1gcEuSO2lPOzRvjR4Bdby26E5x0EyWhdOF3vTTClNUYcI2kcX1BvxsYTlg ImsTVTWIWT3z1Ao8vPsXt1OSUI30fcAVbwfPOYuNBuSWsWf+B5+iZII/rlbaKUJb 5Yvd7bh8BdvhSeY+Xur+GmZ81se6Dl1NrMPr2QdQmXeCfMg02iht58kCAwEAAaNj MGEwHQYDVR0OBBYEFNuJ69Irt/2diM76/RgyXZzmXqLXMB8GA1UdIwQYMBaAFNuJ 69Irt/2diM76/RgyXZzmXqLXMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD AgGGMA0GCSqGSIb3DQEBCwUAA4IBAQAGFMMRtEpvGQym3iVg6mHly9ZphLUhqKIV sDrcpNyZreDqfA9QeWA8uO+MTQx8OGL0GG1xmt9tHVxSupSVLxkrGmKozNXxK0Kd ZgVxLfJYnc2nvYrGpF+UMoTRyxOyJ7ttn1W4do9cmiDaj6TrxoLeHp6cT5Iy+6nI rinjZ7afWk0UKJMUlfaSRg73HcX0UIKbA7MpJToLTiTi5m18SFRlyblv/zZP+9j1 EqCit/bxHIySbgPPr35WRb90EJOffKNAm3KwdZWtcDxcF+dT03IQc547i+wI+W/4 r0s56vs19HRhjX+siXlqYVmOgkHkG10IVCsQeI8rZb6pr1dz/6gI -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca4/ca4_key.pem000066400000000000000000000032501516567600500220760ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCglIHfVXx/q3+6 0Nwf59KK12weN7GGSqJhu9qAiluUtq6MLNJYj70bVnOaK408X+uaJz9UTM+3UWBi vfuSyIjwr3Pn4mN3rz+2M9LvF0Z7ptUxrlx1ayUtuHj1XhPUXVmV3DMP/48SSH9G LHHVFnIul0JaB+0WjC0oTXztYHBLkjtpTzs0b40eAXW8tuhOcdBMloXThd700wpT VGHCNpHF9Qb8bGE5YCJrE1U1iFk989QKPLz7F7dTklCN9H3AFW8HzzmLjQbklrFn /gefomSCP65W2ilCW+WL3e24fAXb4UnmPl7q/hpmfNbHug5dTazD69kHUJl3gnzI NNoobefJAgMBAAECggEALi2WzYFZbKOGd1RBwSEa8Fdz3Zq5f/tth/qMIuPm4zTH rELleJdZVAe/9clpc7/H0oxPz2/JWhfaRnsI4hSuILzr8XaukQgCI+TyV1RTrhJz g7Z3G0MlLWk7y5/yxuLTdN+ehY7B94mGpEj6sUMjsddIuvhFi3LjN5BVCTRvBqQB fng4Fi+5KKHUyDWmc4jLC3K3NTzHveahsAqN6I5kLSsqZUy7I5mjq0I+Lb8nyQ+G S3qW5uPfd/DqTfUw0Muzyn6wgxIA/Ky+MCPVDbCp8frb/XPu3CGRCO5s2Lkrmult noIWXNkLm8yWeyv14/kwItCORDtXyFxplRypnM/D4wKBgQDX9M5PPPyDay5yBWqv rl35Xa4/jxXePkRgW58XviT2n95FYqTvyiyTFdFphxc49Z6oPUzE2ydqkOxw92P0 0ywKnJEjCzlQlzJjD3CGKvAu/oz+6zjG+ofMeVyVIM6GGdBCV41fJ1tgz0Jx1Iyt bqXZ+VNqcxeTBq1WqGNRlaXd5wKBgQC+Ww8Xhevz7R/dKK3zpWtUT87UosZI9D+E 133lh/B6zktpWYOg8dfOl6lI1+2MwcAu6vqLqVFUAnbmCQME39Zf0Xi9s/Gcok4z bNbd/F8Hc3tmrwoIfIo8XmxuPFQ3sKprf5A+kWtB9PN4slnlwHpG1aSYRPgCBfuV gFGPneF2zwKBgEZPLLA9odTDm46B1vc1pODgMC//TNZbnXVlvwlC3dPxvrMGZ76u Kw8EJnbeBaCEz0/lDU52L4IRhvlMgh2edxNJYDNxnwpu/3ei+jakWihitdL1EDow LPBUfuEKmlKsqtI+oQdez/BX6kEXO2nnwVWTSCY7LGyw2tSA5D0WpLb3AoGBAK9O pUOArqDizOmcwTcWLRZkuZLSpdIiPy1UWDm/TBWNT54iNjtO/vTgb6MKWVe8SAXt mfhtYtz/uAh6XDFtA70S6SOsSON8BpENt4SRG+N80zTqF09hgt2+CBYtsVHofcqq nGlC+4iu0lthxbD15qa9suwY+F7Eq8Ivfu3I9Q+5AoGAGYUG8KQtuFiTIA3vYEtr fcXN1cM1W78gRijgx4C807OjbmWZmdbfoe5Ansfys8QGj1pLM/qTi3dHTLPGCFFh HXnH36DfLgs5Bq1iaMNW9OKtbOZm0MXxG/PPBPiqzFqttT7AUB9v9wJQISjGM019 2nvJZ1Q2w+uSZFDP3RlgFtA= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca4/i1/000077500000000000000000000000001516567600500203655ustar00rootroot00000000000000zeroc-ice-3.8.1/certs/configuration/ca4/i1/i1.cnf000066400000000000000000000022201516567600500213620ustar00rootroot00000000000000[ ca ] default_ca = CA_default [ CA_default ] dir = configuration/ca4/i1 crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial certificate = $dir/i1_cert.pem private_key = $dir/i1_key.pem default_md = sha256 policy = policy_loose default_days = 398 [ policy_loose ] commonName = supplied countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional emailAddress = optional [ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca4.i1 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, cRLSign, keyCertSign authorityInfoAccess = OCSP;URI:http://127.0.0.1:20002, caIssuers;URI:http://127.0.0.1:20001/ca4/ca4_cert.der zeroc-ice-3.8.1/certs/configuration/ca4/i1/i1_cert.pem000066400000000000000000000030761516567600500224240ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEbzCCA1egAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhNDEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ1WhcNMjYwNjI1MTAwMTQ1WjCBkzEPMA0GA1UEAwwGY2E0LmkxMQswCQYDVQQG EwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwGA1UE CgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJlMR0wGwYJ KoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAMTi3UCeRSDKkxz/CL5oePudIcbZc92w7j77R5liqx8V/79jZZAj 0o2LrjC2GXpwjTlMl8pJs9gQJVCUm5uI15YY4lDTKtLOKUEdROuGVHxjVgl4eO5l jdBZ7QNl+gqId99216pfKCEVIH0ch1e6vm4wBRa/dqDUxaAPui/vmTAlO5I54d0W C64hEjvHJVLIlhjh7rInV4w4ln8V6PhGcXOiBpctEhuP4//QJuQZPKHOLjaUbnDt P0DIE89MmlT9yy8luVg3ZAteh2IxWGNMc8NTYvjNSiMXotrwmqwAf64Mu5GGyTLx lEpI1svrQNInBouETVoHOPNnQIy+VdLhUv0CAwEAAaOBzTCByjAdBgNVHQ4EFgQU 6tFeXsIWcKShq3Dvw4QaCXAnpVowHwYDVR0jBBgwFoAU24nr0iu3/Z2Izvr9GDJd nOZeotcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwZwYIKwYBBQUH AQEEWzBZMCIGCCsGAQUFBzABhhZodHRwOi8vMTI3LjAuMC4xOjIwMDAyMDMGCCsG AQUFBzAChidodHRwOi8vMTI3LjAuMC4xOjIwMDAxL2NhNC9jYTRfY2VydC5kZXIw DQYJKoZIhvcNAQELBQADggEBACcVW4dLuaWSeXL81pv18CsRGKb8yFMGUiss4Ax6 8KmS/QsSqQWeR9BzZ/SHbgxeAGCMRVj7oXo6ikLX+Ijybwxg6sq0BojhXMPUuNDL lNOpuRvxH6LdEKwiuxWDred13Mmn3J2tBoom7Br6hBIX8GwqbKesCHmL48H5rxCM kAXiTSm5nl1yeZ8CEA3uik/KkYT60/uRQgOtfcL360UJvZotoLmotZdj3NNknGtx fkOGCikOelhAQbbdRo+UlhvwrwGUwB8vIx74y+qRJgGpOcwQaBHF/rzW4Pk09muS dF6/KCc4JzQVnAaWIIJgecWDKVwMnvpii2MC69DjD5Akf28= -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca4/i1/i1_key.pem000066400000000000000000000032501516567600500222510ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDE4t1AnkUgypMc /wi+aHj7nSHG2XPdsO4++0eZYqsfFf+/Y2WQI9KNi64wthl6cI05TJfKSbPYECVQ lJubiNeWGOJQ0yrSzilBHUTrhlR8Y1YJeHjuZY3QWe0DZfoKiHffdteqXyghFSB9 HIdXur5uMAUWv3ag1MWgD7ov75kwJTuSOeHdFguuIRI7xyVSyJYY4e6yJ1eMOJZ/ Fej4RnFzogaXLRIbj+P/0CbkGTyhzi42lG5w7T9AyBPPTJpU/csvJblYN2QLXodi MVhjTHPDU2L4zUojF6La8JqsAH+uDLuRhsky8ZRKSNbL60DSJwaLhE1aBzjzZ0CM vlXS4VL9AgMBAAECggEARJKFH8/f4LtdQJCc0YBefrfr/y9WWQSZ/eqTtdr1IZcO Y3Cxe2HWoADhssqBljDkJuxDw6smzZ5V+LpBdgrTl03kaOUbOZ+fI7QXgHZhL4+D dDn22IUbPtFLKM9YJloAch6Yn5iTx+3tSlXo14fNcmAcLZ+SqBJjIEvJ+48WCfuZ WKNSWJ/fX8f2jteK+ualDvViQnDSfDQ3XohkYZzREEQNFp49fdeolvfteFOCVFG4 VAiFQ/n93OIe9vc8Jdu+fUTD6pkmXmXWihChBXAQDffhp8u9UdmgDUgvAYKGfoQ2 UBd6FWCLLoYF0Xc8B9TiVqOYM/vNiyAG9lK4O1s6uwKBgQDlBPHngCZq0HAWiy+L NsPVtoDshA/kNs6krEZtvswWrGZy79CFVBzok0aMdnYvvlHVzEx+HnRRn2tyznJ0 8nH3TB4RgOt+Zw8wgNHz6cBvqjGvkHRlO1BncaAbZbVvpzruWDEkY92TExDVXldo z4tpfZCW/kBLR7VOVw0SW0N1kwKBgQDcFM7Fn2QlgTLfOhw405wWsqS8lBWt5p0H 0HgXRv2NRnXaslUNFXOSWwHoQtxzHU0cCgUUZC3GWW5lYXAhR22jHyAdV40GpgpX l/iBgWQpZpHpJ/F5eImkovFaRbtqAiJ+YYn5NRZo6ehpJ6uo9dcGnWHsaS33E2HB DzLemuxvLwKBgQCpQ2daly9NoLJHJyXDeX1x1YohxFVOcWd289C1yd9jHpY1eqMd 95XKGxd4NxGQpdQr9OvQBsgnj3DFkGmtn4a1pK9Qdn0Wlir2yS7jXC8bGKnSPSyZ qSX63lLcDOb1F58Ji2r+n0SjL+MwH6Lw1vwNwnz76/wu51fMB7CkkYkhOwKBgQDE ILb0Xss8sRrI3FxyOAKOJ72vYLjBNRcT87BR7i3fTL+SmgI5mrhX4Uqd1Zfn7mDd cAB+35f7f49mQaNPxPvrtr1D6NYA6s+kqAYKQ2kjjAjUI4iKm+TuF1fG/wW5vxVG U15F/A1wiaNYssXD2PI7Lt4pdMJFwbwH9Kd8wcuaeQKBgFrYnc2Mrqu277u8m3+/ NkrCKcKuI5YjaMo08Vcr0tS9oJRN0DrvF0AH0u2ADUT5qbYtMbwjO30jwAih9NTG fccmkfcxDN4kFx9o58v1enfLLizkBB5aBFiymLBn5ckUw0ikX3Fg7iaJp4kgtmTC o4a8tCTy49DdLN8SYvixF3mT -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca4/i1/index.txt000066400000000000000000000002111516567600500222270ustar00rootroot00000000000000V 260625100154Z 1000 unknown /CN=ca4.i1.server/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com zeroc-ice-3.8.1/certs/configuration/ca4/i1/server.cnf000066400000000000000000000012731516567600500223660ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca4.i1.server emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = clientAuth authorityInfoAccess = OCSP;URI:http://127.0.0.1:20002, caIssuers;URI:http://127.0.0.1:20001/ca4/ca4_cert.der subjectAltName = @alt_names [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = client zeroc-ice-3.8.1/certs/configuration/ca4/i1/server.jks000066400000000000000000000071421516567600500224100ustar00rootroot00000000000000þíþíserver–ü—“ÿ0‚ÿ0 +*‚닃ƒR^â]—ÔµÈOm^0ù^mÜžw˜y¨"2ü!'ã uc•ZØ@keÁÇ–í÷ÕÿR{Úp, ÝJÂ[†#ñ,è`›Ç}ÀË*º#ù>Qý̹^—b2âÀ*häÏͪQ)BVÅ¡QIŽ% = øòÐù€À¿Ò \Ðàoyxs¤Ü$ÔÖžŽ»KìÉ0Ñè¼fý -1Æ¢Ôß,y7èBBáѰ¸Iý‹zÓ³í{=ƒFY±g·‰Êìí*DÚ½×<é-ZØõÈÎ9×&&Ußµ÷þ†ì_ädŠïÅWÔá.*¬e_û®³wçC>ã^¦³dŽL€6âÌÛØéÛkcY謒˜+8¥Øi¶›‰1ê¡!¿tÂÆhƒE›“îo7/‹p &cÒ]Ä; Å×ÜÜ"T<~,â@œžR!ô²ì a‰1E1ðÔ§? ˆäV æã±é#t®|ºªÜqçòÓ¼w{»ªÔÕ±¥… ¤D'Þ¡æí Њ;üçMLôYðáEäœOaôñ›Ÿ$£éB^âöŠÔü&k­Ê)e[ýÙ½©Â_”kTεOÛ7KûoÛ%ý«ÀË ý b=Uœ¸/ã fØ/ý»w¹à°ÎÒÄrA¸Üð~_ú$¢Ÿ1ȳ%]:Áì|&±Ê#.d§f[Îщ‡®pÄô‚Q‡ë€¡={híwUŽ{Rœ“‚,±ØéÖZ4¥ÔÊ–§£»Ø@°Ãº‡U“¾?:è,mjh ÿórùeÉ®êm¬uæ˜É0?<ùö2´{ŸP4"é«*Z:¼±­†ÎH~Ô+:_Ä×›G³¼ºíuyëÀ[v•Ž)R[Ø–rFÊàŽ­ ŸP›‚X¸ž%Å0l‰lÏC)­u??^ @ò ÛçÝÏööðá†òÂ_Ñ~5¥†L>¬ýxN — µÖ¨^؈Qò6a`'vH!‡p=T(­zžÿãÜšè!D^þO³oTza2ÊZÚ´ä-Зÿ¼/·¬>dWDZ¿¦–£¹ÊSAŒKüÞDA@kÄ` þ÷ÖŠ¥Ÿ”oJæ%ÔËŠö©”Y½ø{N“ŸáÂÒ0HU”¾te$ñ9z¦¤ÛYLžâu¡K¨W‰‚YÞïž}½­>!S‡v{¿j*Mkô³ÃT9«ØùÉ­:•ë1UºLËB8A3® :©ýaIÈŽ˜™SãöˆO¯éá^®ÛÐ1T˜åtà—{öõÑõÂ>ýÒ, þ‡±ÿ8•=–ãÒàù 4—ò1D [¨¤¯<.6®z‰ãßâÐ ¸€sÙ ãM¥iFžªˆ”l‰y »»”Ü•:§|<#%Ó·á|à   p³iJ\0ûì4Ÿm+âñ:²p+j¼ü1* ÏzVqDgTéO°“£k>¼Ö'$½Á ncü¼eÏØ² ²µLØ*šß";íªÙwÅ® ÉY\GòYžU[ð=ºuo¿û„¬:TÌWÑýnä"b©õV®=œéÍkˆG1)lGHwLcœ¼Œ·[ûÒ¤ »”f¨ÐL9±¥D†.QÚÅI/á a0è eéÉ긴ÜS0ÈD$È"i!mP/I¥\I¶/h6uËdlG"Â1lœ&X.509š0‚–0‚~ 0  *†H†÷  0“10 U ca4.i11 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0 250523100154Z 260625100154Z0š10U ca4.i1.server1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚§<˜Ip{çB“ëа ·‡È /¸÷kŽ[m$·h™ãލåHÞ÷nV˜†KÝ¿Ù-¼€ê'õIˆ÷â¥ke 9D`ˆ™×<UòZäa(ÏDZ}šÔßÌXW{!Kü·­ýxÚ4‘2Ýð®37ƤåaøTëä_¾ò¨¡û³Õf5A«YÂѰ€¼VMЉ Æ!HòyUˆÊ$DÛDSqŽ™“Ç¢2ØJ;5êbHsXUšXpì¹8çÔI09‹¶Q%¶À^ª`ˆ¶ª¥?SuÈ Ü½á­ïóe·ˆPÖ÷@ÉE5M&zOÈ;“« JØPýh·(^9Ý£ê0ç0U—Ã’Iyn®·ÂDCÌpVRRd©u0U#0€êÑ^^Âp¤¡«pïÄ p'¥Z0Uÿà0U% 0 +0g+[0Y0"+0†http://127.0.0.1:2000203+0†'http://127.0.0.1:20001/ca4/ca4_cert.der0U0‡‚client0  *†H†÷  ‚W˵”•èžñòûoÁªÜÂQxìT´^Ò Ñ#"Q$(¼©¡ûa©ø""mO»*.ÜQI£Føî¤à¹mCýÑb®É_c³‚2µMÏÿ vä¡–¬T¶àI™âÐ|ûú  ÐÊEùÄ`°°.W¿­tœ¼næL¿í@´½n¢,°ŽðŸñT&˜éGû˜ŸU\‚ù­¾8Ò'ÇcE®pÊ‹¤î­^"©«· ~&¦’À¯ôcA[Ú7Yèý-Ÿ]wµ¨çÌjÍ?„â’’ µwi*2`%=[wûG™b«ÿ¿ce#Ò‹®0¶zp9L—ÊI³Ø%P”››ˆ×–âPÓ*ÒÎ)ADë†T|cV xxîeÐYíeú ˆwßvת_(! }‡Wº¾n0¿v ÔÅ º/ï™0%;’9áÝ ®!;Ç%RÈ–áî²'WŒ8–èøFqs¢—-ãÿÐ&ä<¡Î.6”npí?@ÈÏLšTýË/%¹X7d ^‡b1XcLsÃSbøÍJ#¢Ú𚬮 »‘†É2ñ”JHÖËë@Ò'‹„MZ8óg@Œ¾UÒáRý£Í0Ê0UêÑ^^Âp¤¡«pïÄ p'¥Z0U#0€Û‰ëÒ+·ýˆÎúý2]œæ^¢×0Uÿ0ÿ0Uÿ†0g+[0Y0"+0†http://127.0.0.1:2000203+0†'http://127.0.0.1:20001/ca4/ca4_cert.der0  *†H†÷  ‚'[‡K¹¥’yrüÖ›õð+¦üÈSR+,à zð©’ý ©žGÐsgô‡n ^`ŒEXû¡z:ŠB×øˆòo `êÊ´ˆá\ÃÔ¸Ð˔ө¹ñ¢Ý¬"»ƒ­çuÜɧܭŠ&ìú„ðl*l§¬y‹ãÁù¯ŒâM)¹ž]ryŸ îŠOÊ‘„úÓû‘B­}Â÷ëE ½š- ¹¨µ—cÜÓdœkq~C† )zX@A¶ÝF”–ð¯”À/#øËê‘&©9ÌhÅþ¼Öàù4ök’t^¿('8'4œ– ‚`yŃ)\ žúb‹cëÐã$o+m{je °ÈpzP€Ú['²Æ7zeroc-ice-3.8.1/certs/configuration/ca4/i1/server.p12000066400000000000000000000121221516567600500222150ustar00rootroot000000000000000‚N0‚ *†H†÷  ‚‚0‚ý0‚— *†H†÷  ‚ˆ0‚„0‚} *†H†÷ 0 *†H†÷  0©®” Îü>›€‚PØ–'°÷ª|ôÐ'3¸Ôä%âFoаXß¿]èj"EÍ0¾î›"ܲ®}&„=À*ý$ÿ4£hòwʪÃõz JI#ëŒe«åƒ up‹Vê‘Í5ãPN¿ £ý°„Øê“2“s¹3ÂVÔ =F ÕAŽo»²mÖ:•LYIt FãvÃ+ãÞ¡ˆà¯QtK ;@Ú~^o½uhUç]]-6#û@Æ3EÙ’AÃéöŒÉý`n°<¸.—E4ÝXŒŠa€íò‘TåÇ‹$4ìG‹uÑ,•éTÍCh¥ø9Tä§ÔÉË)v¥¼aNÉ/ã:ª»Þ*· ¥$j¸Ê÷nŸôhQ.ú|l]¦ K˜wÍøàÐw4J‘ýŸ´²Àù½ŒÃÅ}ny™„†2M…m£”©™/[ /`õ&”ûYˆån‹2ÉZ„µL‰F˜Ëk{û[$Œ±ÕäЩ=-zª#à½pƒ]г êrª×ëÍñÃ+Øc-\um¡üÆC~«:°,’µ¹I]HÙ—T#÷BŒ’šÎæÌ 2«ƨ~¿ÓZT%tË~Š aï>J*_~mãZ_r4Ië @@¤!¸óÄvƒ#± ã%Ë@á;æ˺Òö©8—ˆ0p+yUb8•D ÎzÁ¢•~Ä‚Ê>ñí.¨Ãsç¸0ÈRfjrO» Í·SWhëq®\–K0¤Ã£µ‘3mj…êj5)2Ý>¬©^‡kñSi($4jÐ9èZk"Ã.3FÖGYß§Ý}k©ÒN`€™€[ŒoZÁMð|zl½ËúE²{îåõVÁ…ÕdGLý–q²Ó)ZÁV—OÛ6׊ø·?ºä¼õ-Pà~»Û‚çr¨<‹ª{òíÏb?ÀHåÊš(EWŸäœwïH"ÊHzo„_ÊEY;÷OØ®í €¢µÒ½ÿ¯?½É ¶«z<á@¿V›Ãƒ‰ IªÁ”p¯ù9¬’‚Ydûî{~ÜܾOX'´‰)üÿ¯~°q´ŸYׯ™ÑK¡GfÌ–}Œg$ä(Gî…YªÊZ³llpµäš÷X 3AB¹hÚÏØ‰¨3¶+’ ¢ñ¡LÖ}í={Mu÷ѬFíñÌZpxë¡>Á¯áìõE%æWLA3ûÛcVM.=™ï?¼>õ¿×:/<ô¤ÝSL Ø6ÉᚦÄ×òº¬Zà6[Æqÿù輞¡€‚ýdÿ×ÝÅ`’œ4ÿã Q|Üè•â¤3À;êæ~\6`Dìö÷â¡ÛþÏ£€]qß gððvWsÈ ôÖ¿ÝÒ–Ö®/ÎYÿpYú­(+VÎÃIÞ7)Šå‚c[yV£ð8æ¦Ô³Â‹®­Voh÷AæÕ)á˜j5FöK½éÆ[ˆØâ3Z×¶ˆ}»“«÷á© M÷ߘxû4jQqKÂ9à!.;¤Kš³ç%™û_ψÞcÚ|L­`M¡ii„}VSÏqåfîçUŸ7¼Vîþ4¨Ó|uçļ†~âytÓ,ZÌR¤ªYª¬ÝëÝÃp´Ãj«=ÿÆ‹¿¸‘È­óìÔ¦ÜöŠD¦jädž¢{ñ²ϯhd½"?"M1âAs†Ú;!ZÆ,ÜHË÷WÅù|Hú)ýLУf}$k+×gyp¦M¡òuàí̱† ™ù±IIâpî.®¥„!MýpÞ²¦Ëÿ !Hvse•õ'È _˜^³œLÄ`²Ø_|“5„„ò*¦—×5Æ5ÓÁaØoÀ2ƒÀó3Ç—jøSA¨ m&žõñ23º¼(ûûÐlm’Üu[ùêã¤)_ƒ®EÕe0é¨Þù5f¯–ÚüFh1¤ÙŠ=ÈØÈ »:,’yûKIßgÏ’þåsŸÙÄó‡le!ïë!Äv³À´!¼’ÔÉ'þ4ÈÍØVñØí¹÷@|¼UyS`ïQxE4¼wó.àG:Ä`9Zp6¹)á0¥ÿq{ CÝ’>|gõiF :Ï{½á]@%ÌÄöþ†’ÅÄáR 4NŽ™FQÜ;£âjoæ”cüí)OÙûuXtèÑè%Ëx>½­å2ªÞ¥…X>Ù[ÍM¹£ÍëlH»“w‘˜îO÷t R'ÙS€Û±vãÙÖÛÙF ç:!ó_“v}”á&á²®8¡€KÑiNc§>²òrK`jq#gÿcöLÝb„b­dGå,¤Øg¥PBšùDq¼Œš‹„®])Q¤€UÔÜÂn'$[Éè 0ŽŒNYØÓo¾1ƒc;x#ÅN§ƒ‹J…2¦X¢Öš­Ÿ:^iÞþùìËÅWÞ˜ËIÃÀGZÔBÌ÷MÂÕðˆƮ0éçØ‹—QÔïCrCTLÿ—Gü ®:Xd'HZ…»&i9¯…J.Ã8ÈzÕ‹gÞùd'ÒKʶ¯pE×G;|0 ©hSDünî ªL|÷O¤ØˆÆv2øwUßÅäl9­ãîu¾ô&rŒÃŸ¸B¾‹v*HÏpbcî}Ä™CºÇ@fE~]¸¦6‘œ jú7ÿ€µsÓù‚3æmy3:úÃó!J€{ñÚ‹m]¡ºÖP·4hÛyõt‰„u«½YŸв]%¯ Ù9µç©?rŽXÏÅ5UÖ*£ÃVPûi<.‚cÒô!e ×!–CêàMŽ£-ƒísÒ:ôÔ´xAX4e‹ÝäsbÌ]è+N:ðÀY/¾-lsnµÔ¸3ù TÇ@“³ô¥ÿ딋™È†í Í’v¾ªu$FÕ9Ï®ÙÀ(àó¦Àƒ~jµ6>™eŽ1hyw¯r9§7™ãWc^ÁD T.”s^ Ñ#(|ÑU*Ay¼Aõ»‹ÏrÓð¨hõй‚¿“±p¿l­¯.?ì]ÿÄ ¾(ÿÈUU΃øæððómÈezqŒ¨Â¼ÙNœ5Ö‰ƒœ»3"FÅ%àÄ>-õ0¨°G™ÀÁ»l­¯ïh踦¦ê{²íZØ€6õ<ˆ¦wÝÁ“¡ãJîü²xÒâ&‰/J¡0aÿ8oLKX… ÂBbnyz6SHV`†#ûþÁýMûW®2®”|Ù]z ì`ñW†MRjPó6Ÿ Y ‚™ô¼nçÂä¯Ç°*rÕoWNš]1ËvtÀpýz'ÊA.]¬´óÚWJ~:”Íib/"·‰«–jë"¢ñÖ®Ù1û‚YêVž6]3qGëÎkÁ¹Ò\_k—f‹D—$öÒâN0€;9-Ÿ/3S*8xö¯!„rÂÛ=†1p)ôÜ]`‘kÏÓwÐ’B€ÿè\ÐLZ‹7 Çð3èÿðZØ/KƒçÀ”#(ï;[¯:£²|×=o Ê"–aæÇ××qå¾á>.ꆽ^Ð ½¥¨Déë~F/zy£3¶"[’5`¼ÉƒõðšÚkyÚ Ž½Õ™<뇢àW‚§^É Fƒ› Úh_RÒZ_Èè´nATŒ™¿ó‹ùvþ‹âÛ[•?ãñæ ËÓb‚‰8ÑK#å¾Þ‡ØÂÁíIö¡F¨vjùŒ=€ŽÐÕ*È&*öú‚æ_t£îuæÖßmô/vCv\ñ0àÅ.»¢õÉi!÷æPÎÝÀéò²0m`Ò–/®e¾¿†+Óñ©„~¶B¬U”%óg"$œ‚^½åG_¯(¢œ½¼k¶V¢yˆÍN?´Ÿt3!]ò×j:@œáUF¤ª€q½N‘rH¨·`M.Ÿ—nfOü½šxS€ñOÕØÒ!…)Ö¼»ŽõÙ+ƒKôÐ)IÔõL –Þl†¯Ë .æä‚ð;wY˜rY{¤ýü ;ê%c ×UhC@’“E(—ê.qiðÓ‘™©†±pÁ¦Ç {Ñfú47“ tã¡É׊ÝG¡ÐC%WhV‡e”Þ gAùÚÚÔyóGéY0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0B˜)8È0Ò ‚È8µlàî]Õ¹—°04:7”huyë}D×]ÇiÛcÀN84[1ËQ*3Br`’"Fœ.“XAK²Àèü²ßckõNOé'ErR=rNÇFye¨"µŠ4 ÔŒŽ`åX€™§.Y¿+ÀÇ?“7R„¨bwZ›ò6W6àšôR{0dðÔ;€ª•¬Zc’ðû‘{ kïùEY®0Ÿº Ap+ø+s‚Z‰dg†rI;IY±r¤ÿ¤ÞK&i=T_2ðÏVîWF ÷Îë$¦8v¾md¢bK©WÉyh˜Éì‡Õv>f<ÙÒÍl[½Gó/w;C˜²ãÕ§ëÈÊjºÐK1=ࣔ…Šô¸{]ãNvådá²“ŠŠÎbHoºþ¶'4û@ÕŠÑ M<õm{-ÔÞ9÷aÌ Oúoyåëq핃Æ,…›5߆‚èYºŽG\X­f$'GÀÓÑÆã r’ ¾ <[Ýìßë<ªà@>è¥N5“ß*0é7Oñý}¯ðÚÛµIؽ]êË*&œ d×üâ}´ ê/1V‹Æ³¯Ê:‚Â:ô÷òû ÝG+¸aÎP`7ÁHQò¦Ô9}h¬ÝeñEk«d‚?aG&àƒ²zN.éÉ·¸ýØ%¾7Ѐ—*! ýÖúï´rÈ(‡c…'îååÆWd-ÆÑ>~M¿À¤ä`asù—‚\íœÀ_ßN`]öX(nôqÎ'ðSí+Àî0A Aš´X­³Úh¬Î9~vҸʻžƒmF“V£á#¶lò‘íìtFØŽÇtð³äíÏøîÄæb7|BZO‡ çâ46ÒìÞLèF øÿð")Ž5 Ì Ø66×™,°2ŽhïLî{©ö×ý‰åz"‹!9@?ÔÏòñŽrù’ÚdˆýcÌų²SyRšÿójö¤#æ*C ·”ª”ß(Zg~¬Ù^tZ¼¥H}´¡:µ ½–'ã»dbüI?¸ ð.Ö¤±Ð—9:’`hÛÈBxvBoNëÊàxfu1O^ëcMNb—¥@l Â{ÞÁ m@:JW“A«¦ajVT igG®¼ìm9õ.€h)…‡´EH×ú@þæq\G`õøgpóõ"ÅÎaQ „Öœ©ß#ºÙO»³³¨ýje…dé äqp-D´ï¼(`3hJÜ‚µ=&TÔ\f­Ä÷û/¨º3S·Ž?b-¡w»®fZ’—Âæíem€óLeŽGÐ÷sh³kœ¸Êy ‹EQ„Tfµ«áè,2Dø|.d•ÙÚ^z#%Íx1YK`™1ç•FÎÊ}ù{E š ~U`$H5?¤¿Úüæh½íoNÃ×DV'·b†ö·ÚhZÑs7–ò’ï ¼ñ€Tig^½$b`Ù+AÇ}ï¢ÑH#Tc®!æ¡î|0o·Õcà®õZýµ“ŠÕëÚ7”K%2™ïM}œ¼PuÙ.Ríæn²å¨ç Z&9ËFTøÉQ—kxÝúÒûü0Œ}é'oµËŒ íZ䟪Ad8Ù¯þ³oüØÎ^ð—&âµt”‘1BÎB#1B0 *†H†÷  1 server0# *†H†÷  1ú ~jw½ì½½p¡[X²U¤! 010!0 +3»êe¯;êŒt‡?ìõ”Š)ZÊÕ?­ýÃ]zeroc-ice-3.8.1/certs/configuration/ca4/i1/server_cert.pem000066400000000000000000000062611516567600500234200ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEljCCA36gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZMxDzANBgNVBAMMBmNh NC5pMTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1 cGl0ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0 cnVjdHVyZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIz MTAwMTU0WhcNMjYwNjI1MTAwMTU0WjCBmjEWMBQGA1UEAwwNY2E0LmkxLnNlcnZl cjELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0 ZXIxDjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVj dHVyZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCnBDyYSXB750KTnR/r0LAgt4fICi+492sQAX+O W20kt2gHmeOOqOVI3vduVpiGHUvdvxDZLbyA6if1SYj34qUEa2UgOURgiJnXPARV 8loX5GEoj89EWn2a1N/MWFcVeyGQHkv8t60A/XjaNJEy3fCuF38zHDfGpOVhGvhU 6+RfvvKooQ77s9VmNUGrWcLRsIC8Vk3QiQnGfyEBSPJ5VYjKJETbRFNxjpkBk8ei MthKOxQ16mJIcxNYVZpYcOy5Bzjn1EkVMDmLtlEltsBeqhVgiBi2qqU/U3XIINy9 4a3v82W3iFDW9xRAyUU1TSYOek/IO5OrCkrYFVD9aLcoXjndAgMBAAGjgeowgecw HQYDVR0OBBYEFJfDkkl5bq63wkRDzAFwVlJSZKl1MB8GA1UdIwQYMBaAFOrRXl7C FnCkoatw78OEGglwJ6VaMA4GA1UdDwEB/wQEAwIF4DATBgNVHSUEDDAKBggrBgEF BQcDAjBnBggrBgEFBQcBAQRbMFkwIgYIKwYBBQUHMAGGFmh0dHA6Ly8xMjcuMC4w LjE6MjAwMDIwMwYIKwYBBQUHMAKGJ2h0dHA6Ly8xMjcuMC4wLjE6MjAwMDEvY2E0 L2NhNF9jZXJ0LmRlcjAXBgNVHREEEDAOhwR/AAABggZjbGllbnQwDQYJKoZIhvcN AQELBQADggEBAFfLtQSUBZXonvHy+2/BqtzCUXgS7FS0XtIbC9ERIxAIIlEkKBu8 qaH7Yan4IhEibU+7Ki7cUUkeo0b47qSP4LltkEP90WKuyV8aY7OCMrVNzxP/DQh2 5KGWrBdUtuBJmeLQfPv6oArQykUQ+cRgsLAuV79/rR90nLxu5ky/je1AtL1uoiyw D47wn/FUJpgb6UeP+5ifVVyC+a2+ONIngcdjRa5wyouk7q1eIqmrtwwXfiamksCv 9GMSQVvaN1no/S2fXXe1qOcDzBRqzT+E4pKSDbV3aSoyYCU9WxsCdzx4f/h8bGAU 0RlG7uFbGPJ3ZZK1d2Uktohu2sKzmkU8iIk= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEbzCCA1egAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhNDEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTQ1WhcNMjYwNjI1MTAwMTQ1WjCBkzEPMA0GA1UEAwwGY2E0LmkxMQswCQYDVQQG EwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVwaXRlcjEOMAwGA1UE CgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3RydWN0dXJlMR0wGwYJ KoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAMTi3UCeRSDKkxz/CL5oePudIcbZc92w7j77R5liqx8V/79jZZAj 0o2LrjC2GXpwjTlMl8pJs9gQJVCUm5uI15YY4lDTKtLOKUEdROuGVHxjVgl4eO5l jdBZ7QNl+gqId99216pfKCEVIH0ch1e6vm4wBRa/dqDUxaAPui/vmTAlO5I54d0W C64hEjvHJVLIlhjh7rInV4w4ln8V6PhGcXOiBpctEhuP4//QJuQZPKHOLjaUbnDt P0DIE89MmlT9yy8luVg3ZAteh2IxWGNMc8NTYvjNSiMXotrwmqwAf64Mu5GGyTLx lEpI1svrQNInBouETVoHOPNnQIy+VdLhUv0CAwEAAaOBzTCByjAdBgNVHQ4EFgQU 6tFeXsIWcKShq3Dvw4QaCXAnpVowHwYDVR0jBBgwFoAU24nr0iu3/Z2Izvr9GDJd nOZeotcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwZwYIKwYBBQUH AQEEWzBZMCIGCCsGAQUFBzABhhZodHRwOi8vMTI3LjAuMC4xOjIwMDAyMDMGCCsG AQUFBzAChidodHRwOi8vMTI3LjAuMC4xOjIwMDAxL2NhNC9jYTRfY2VydC5kZXIw DQYJKoZIhvcNAQELBQADggEBACcVW4dLuaWSeXL81pv18CsRGKb8yFMGUiss4Ax6 8KmS/QsSqQWeR9BzZ/SHbgxeAGCMRVj7oXo6ikLX+Ijybwxg6sq0BojhXMPUuNDL lNOpuRvxH6LdEKwiuxWDred13Mmn3J2tBoom7Br6hBIX8GwqbKesCHmL48H5rxCM kAXiTSm5nl1yeZ8CEA3uik/KkYT60/uRQgOtfcL360UJvZotoLmotZdj3NNknGtx fkOGCikOelhAQbbdRo+UlhvwrwGUwB8vIx74y+qRJgGpOcwQaBHF/rzW4Pk09muS dF6/KCc4JzQVnAaWIIJgecWDKVwMnvpii2MC69DjD5Akf28= -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca4/i1/server_key.pem000066400000000000000000000032541516567600500232520ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCnBDyYSXB750KT nR/r0LAgt4fICi+492sQAX+OW20kt2gHmeOOqOVI3vduVpiGHUvdvxDZLbyA6if1 SYj34qUEa2UgOURgiJnXPARV8loX5GEoj89EWn2a1N/MWFcVeyGQHkv8t60A/Xja NJEy3fCuF38zHDfGpOVhGvhU6+RfvvKooQ77s9VmNUGrWcLRsIC8Vk3QiQnGfyEB SPJ5VYjKJETbRFNxjpkBk8eiMthKOxQ16mJIcxNYVZpYcOy5Bzjn1EkVMDmLtlEl tsBeqhVgiBi2qqU/U3XIINy94a3v82W3iFDW9xRAyUU1TSYOek/IO5OrCkrYFVD9 aLcoXjndAgMBAAECggEADpZ95W5KsyPSqpqHgn0mmSD2rOgI3Y7MzOfYmJpPOO0F Gt7b46bIahpBgeNx7IrsCLkK03FdfOQW6+OJoV8sOyvXOB6QZJ8h0s0k8s3ZhSs3 Okf/WlDOFkNALfTMXG22E4S17eOsKoE5OFPtl8QPZOFcBJ6TF5hpCZeFt8Mn3h3m 34KGKeu9J12Gs3OPAG83Uq4SOOZnHTsHK4jjmSuRGoobcBf3SgmSTt4J7qptfiaG tHOFeZgU4kasHSpJXtRBYqLx8w25yjbKkIf8ohmfXKOL7z6Zceykz6iXOaTa7Lk+ /4+eg8N0OBAmKF92daNVYdz/fMrm0+K936jNc+oZGQKBgQDrNdpdvh6G79rB6HnV iN1t1Lx3mmXYJidey1ugxcZncji2tUcpBgv+VSV1EAQAdDz3tcBSIud+Sb5mel8J Yb0jul5QDKXvb2dGu1ew8CjJNSuO1Ye6vyvOz8v5+pykVg+qGfBZGS+L41iAcMcx coNhWosyQOZnyFyfdbsYuiIGpQKBgQC1x1meZ2Q4gqTeapfQksBeWB11QWQBsIac AQpkyKvz2F/sR31x4rY1iZaR9JEF8NjrlkIPSrIOK6sqK4hpNg4oJQE43Ofxw9KW 1uMSg3q8fPu2TxV9rgCN/Y6pIMHo09pU0cpG0Kopitm1y8YmeENntK3qk0F/rR4T 7xzCXcC42QKBgQDLhQ6MnIwHkBUGQeThyopmlXP6PYOwMttQH8AJ7feN3PyLw3Fu YsgP6pb9or0Ds5Bpej+OEpuh36c7Ptlq4cJp3sHqm/ccpZWEU2g+Np/j8fjdn4/R G8eJLK4/gAT4AWuOcOFSBwPoE/CpOmxxMbfSjijxc8ypsmnKpHEepTf57QKBgQCG bSrQIqORysNDm84zNyM9Yao/OSFMwo95NKfMCj5nMH8XS3LwUnjutJX9z7+jhg3U gqTNjC6Kni6RG+pf69KiS2NQ+sQoHOlSFQ2Ndl/AnijDFE7PR2svle/3ELt1g521 FgOhRNRhrkX70/rwHgWy3oGytD0+vvY8RZqd/hj0WQKBgQC7BYMkrL21+upyjB1O +zMZstFFxoU/m70dCEcbXpBpLVjHXrIQuIIq7QGCIM5Fa8s2todKzqBxngb4Qtjb Qd6W4hwce4aRS2ro+WTZWNa1MGZYEA66EhT1jEnnkDkxdjHDeaRdIGIGvhlxIEtr de/T3Jf8bfji8KLQNnkIycRQFA== -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca4/index.txt000066400000000000000000000010761516567600500217300ustar00rootroot00000000000000R 260625100145Z 250523100155Z 1000 unknown /CN=ca4.i1/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com R 260625100153Z 250523100155Z 1001 unknown /CN=ca4.server_revoked/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100154Z 1002 unknown /CN=ca4.server_unknown/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com V 260625100154Z 1003 unknown /CN=ca4.server/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com zeroc-ice-3.8.1/certs/configuration/ca4/server.cnf000066400000000000000000000012701516567600500220520ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca4.server emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names authorityInfoAccess = OCSP;URI:http://127.0.0.1:20002, caIssuers;URI:http://127.0.0.1:20001/ca4/ca4_cert.der [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = server zeroc-ice-3.8.1/certs/configuration/ca4/server.jks000066400000000000000000000067771516567600500221140ustar00rootroot00000000000000þíþíserver–ü—–i0‚þ0 +*‚êÂâSÕ[ÅRÇì” ŸéÓ2îq{SÁÉXÙ|µS@¸/å°ÇZ¬»Ò´–NkþŒïª¹šf1¾CÁwŸð”1Äqx\3î--%–wü êöý;¢ÁmÊŽ B­,]¾ˆ2¦îVmQ°Ây—aïj€-6Þ>çsÞ’gxX&i ¾rmYshûšÂ4ÁŽ!›Yº³Ëeñ½Þמr[ÊrÒ\ÍjÔ°±/K/GwEc¢JeÙÅx†Tò6…ýWùqzV¶:¨åìÞâŸ&äl:#ùĤåAy!~(„Ý$ëJðv0HA™óBOì#º!“UIuá¾Q}bœò˪è8†©ââ3,*Ñ’qÛÛ%q“uJÅÉäÑ“éf ©è ÕW1 {ÞO²³RTä|L Rz-ÄæZ‘Æ•#[qe¦8¤¨ A‹Ç«D‡ÏN­WUó‡(øO:žIÌËŸ¸…±¹æf-Ss[Ž T²’j6/{\ßñKÖà>gr#õ+_ÕAÚ¨P5Ñr¶ÄI ø"ÜÓ$Ý¡Ywïû5¿¼3ºè›d5h ZŸ¼C'i¼zûÎŒ‚|¥zªÆÍ«åàtKàGpžþ \ºwH:–"¶_‰ËÏÀŒ±6~cNÑ0ú0ÝxYÌõ €5˜lùz'­phO{Ý ³|6Z™LÿŒo¸lg7vAS¼A=eK½Fùªm~‡W3‘ÎtT¸>l—7$Úl¦Û ^µ‰ÌZÇÜ>þŸôÈx2Õ.DÃ|S~z8œHDSXÜ)Dxërý^¬vmKµœÂ¶íð¥Xj7€Òž®¬ˆ# zµ©žtèuÅŠ˜6-q‘NäZ•ô*×JŽ.…º?½ÿ©óÎÝ©xh^|g"ób *µIòïC©OÎoƒ ¸ ™ß& :@œ°k…L¾}6ŸYh˜pv'oRÞð`zz>‹1GInEXý ¿è Ìp-aŶú¿Ê±w5n{)££7b-†;_ª"GG˜ææ¥q7éÐf¨K «9^M ¬Ññ F×öp¶Ýy¥[{]`…GÏŒî±^5Ù›§S'eúSNÁ¾ÿUb@é9ɧµÏz¯¹çóC5g¶Éšrèlœš‘›Ë«U=y ç)ÑC”h| ~/átü€æ„(¿½‰Üz¾7iëÁHY˜”f"¿Õˆü\ôZ¢´)»Œà³Ç&ßÄØTÜ z‹[x.$¨¸Ô—~dWh4ðü¥”vâh/7Rt˜¥ÈMÝœBn¼®|ò™“i6â˜Í²ªÆZÊóÔ@Ü Ð‚¼ƒ@(;ù5ÿ§ÈÛUî¶>ð:xþ&R¸fV ®dêQ’-ÓÇW¾J\êÕVõÇx«ìGÍ/IŽª6úbzÍ`•’š'ÂEB¦}ž¥t„}Š?›ÚmøÇ‹û©6ûÙ²¨0ù¹ÒZXQ1Ê?_ëX.509”0‚0‚x 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0 250523100154Z 260625100154Z0—10U ca4.server1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚´Œ{o‡0*—­înŽâ˜:ªô¿Y]Q­«RÝÌÆi½Éj|=ôŠº/Çóf#¡ÒJ|0_y%0ÒڇծΠD'X޾Oa#Ýp—ûÖlü>áÕ6¢¨ç×ä¿x¼|»W×ü……=.g7FTvÐOî8Ïs¬rkµÛ®a·Ÿü먚£öà7_4Ÿ7«çuûqhµoƒ¹©>â" çĺßùÏ.x¦y  ô©Ep¿ѱ„¾¡]@NÂI ‰ÔôxÆžc› ®±¼LR ÞUEõEv¡§Àt\Y…ÀÁ¸èÙ ƒwaÔ–x¼0ëãê0ç0U‘¢œ—rÅæD\…¦‹DväÐ#¡ð£L™Ž¤Â²©6ÕO2þ˸; ;Z$-™kø5îÑåL+MŒ ³r"óÊê ›Ç,cŠÅêp°h~kDZ’”aýÞFÆÛBeÐj8%&w£ŸGÉn÷K`&Rp©î®¹N%…(b‘ã±)\ÖnUNÕnæ¡I”“Ç?ºP+nÏg™ñgyik£Y@<2­"ɸV6Çg=”ÿ!Ѿ}§ÇØú7©‚…I>7ë ]5‰vt®“©Cy.¨¦mÓŒC¹F†’:{Ž3^ì<‡kÑNæ“g}cËÔX.5090‚0‚û pKžÎ8¿¹Sâpÿ"Ü Ûú>rí0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0 250523100144Z 260625100144Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ ”ßU|«ºÐÜçÒŠ×l7±†J¢a»Ú€Š[”¶®Œ,ÒX½Vsš+<_ëš'?TLÏ·Q`b½û’Ȉð¯sçâcw¯?¶3ÒïF{¦Õ1®\uk%-¸xõ^Ô]Y•Ü3ÿHF,qÕr.—BZíŒ-(M|í`pK’;iO;4ou¼¶èNqÐL–…Ó…ÞôÓ STaÂ6‘Åõüla9`"kU5ˆY=óÔ <¼û·S’Pô}ÀoÏ9‹ä–±gþŸ¢d‚?®VÚ)B[å‹Ýí¸|ÛáIæ>^êþf|ÖǺ]M¬ÃëÙP™w‚|È4Ú(mçÉ£c0a0UÛ‰ëÒ+·ýˆÎúý2]œæ^¢×0U#0€Û‰ëÒ+·ýˆÎúý2]œæ^¢×0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚ôJo ¦Þ%`êaåËÖi„µ!¨¢°:ܤܙ­àê|Py`<¸ïŒM |8bômqšßm\Rº”•/+b¨ÌÕñ+Bfq-òXͧ½ŠÆ¤_”2„Ñ˲'»mŸU¸v\š Ú¤ëÆ‚ÞžœO’2û©È®)ãg¶ŸZM(“•ö’F÷ÅôP‚›³)%: N$âæm|HTeɹoÿ6OûØõ ¢·öñŒ’nϯ~VE¿t“Ÿ|£@›r°u•­p<\çSÓrsž;‹ìùoø¯K9êû5ôta¬‰yjaYŽ‚Aä]T+x+e¾©¯Wsÿ¨ÈË€bÓö€öF“ÖIø§Y{4ªzeroc-ice-3.8.1/certs/configuration/ca4/server.p12000066400000000000000000000075221516567600500217140ustar00rootroot000000000000000‚N0‚ *†H†÷  ‚‚0‚ý0‚ — *†H†÷  ‚ ˆ0‚ „0‚ } *†H†÷ 0 *†H†÷  0%}Œëî°/€‚ P±”½t°Ì¬Ó}Õ)‡¼<dÎH^Caÿ1Jh‡9ð{q¤ü¡³ûU‚úÉÓZ\tä‡ ±9ôà§ñë#ëPÝ4‡‚,^æ[+oÁ¹31©% ØÔ”êWò¾ôIXô6Ýë®ýAßl¡7+¹_×’½£IK^0ò·… yÇÖ1ˆ$[F¢›yÖEƒ¤¢¾í¯%$²Sp?ù‚m>±eï\ ˜mdˆM sy –±ò4ÚÞ„³¢èÕævP(úÚG¸2Æ^¤É„úöÙ ¼§œ¯Uì]Ÿbéê†áóœnVsðúöÙ`Uzé9.K˨ïÄÊ‚Û~è$’¢1Bš”<ÿÓ «ï"V‘ŒÏ®ÚÓ$ ¹ËcôÈ`‚‚9vTÆÔ»ÌÆ¿M`ƒ‘5Šæ™³@àçøëœÐEuÃzz³lë¯ y¹'×ô2W‡'W Þ€ +°ÕCàF7)¦IÔéO ÃÁ¹ÎRQïôæêðì7àðŽ• #×{=*JWÉÐôÃûõb¾þ¶8¥­¹!@î¥níjV¢`½ <¨s8ÃÅ™Éð˜èíàÊÒg“`0Ù‚i›œÀ¸æ²°¹÷œ3ßÒAÔÃhlð@É=­NQ&ÄÕË×÷~`dîwO62evm_þçØ—0Ý2¼¾¦l_yäæpfkðèIè M¢=2gZÐ Ñ8x‘’PÞ}¢#–‘n„è)¥×Ý´T*çÞ˜ØAåŒçi)UYX[ØpHEE¯’i 9O¬2™iõâîåIÄ„2neSRã8‡$EîÞ…Ù"&6¼A¿MŒ­¹³›Øaµ¦›òx,~L‘Sä0F3ØöôâÉ%?æàÌoU$H=h½©ÅÄ=mœ$·ðpx”NƒN9ظ›˜©ÿ ÍÀk$UÒÚß°brkÀÇÌö4zGP´¸·Û1ËM\L^K•8ojnð‡ c?רS«è]ÌÕÞ¦¯#Åj”C?]øäÕ£/¼x(2Ð †©zÆÔOØJ  ;3HÙ’4qëÐ8„='‡†…T4ïuŽDÈÌ8B›Ð" ÃñcV’Pl!e– ã>m—’QØ|7¯ 8j;ÊÚ)½ÐWÜÄ7ó.7@êçÀºDcƒl&þeE}Å\Ü"Þ>Wæýû>faä=ÑÈÓjÀ‹ëx1ÑÏ–÷ .KÖ¼KÖêß¶*p¹q\vŽõ ê¿ E gÑkd=Ä‹³}>Ë`znƒa˜píÐ餀…²]¾9D|¢Ï#bÉ\QäÙÿ9sd »Ì©°ý~‰-1¤j»2€—Üà;ûµ ›Š½²Ëx^™ÛävoË.'öœÏIŒFÃlyúÜdÊÓ‡x‰–PËdÓSŠPgSK+zíôŤ¢Ñ‹“CeÚ`+äXL¶zHc ¡†ýÎÿ† wL4¦X¶›ê 2/sæÕÞ?AXÃéQzƒÀ£¾Ï³ÕÏ™ÕB¡éªÌñXELS `!£g¹&«ªËÿg¼Š0È e/'ÊÀkúI“ ­#sÔÆ¤Œh[F&t³¹W’ Ö?~w9Æ He<ï±Ôzp­¯ÅT¨>[Êð6×1"è.Þlcô5^„Î;eúÁÅ|^ù©B®J²|ð›‘î»:ãc.9{ö@ô„ùØjÂr‹<ñ­ðýtl>ÂÈ HH·à&Ù)€ÌÁÀo‡ݜ˫Ӗ+~§¿çØÌ(0þãÏù© LJ9µ{ë]—öǃò+3ö³ ¬š ±5ReëëÐÚÉ '¡Îþ\k®uÏ e²¾£#j^¢Ö•]T`^Ôe \CÙD ž‹f¤˜Çºß«‚6§cLN21ô/?sµ‰»èÄlÂÎVpª^íñ­‹'ŒðVä¶?óx¦ò\ÎóµÜʸÀ@LUkG‰Aþu63E¥ Ǥ…˜ FÉNò'8~ÝpI– ‘Ç ÷&'†’±‹Ÿ©!²®†ñÝÙ¬ñ!¦¢S¡Å"œÞeE"@(½rÓöàVŸxV¯Cã(ã×[G\6ë€ù­ó^7{-†.X FIý+ù·- *k#Ñ­ÞU* B[ ´©ÁLD†¨Qí[“MÏâ!,{ç£˜Š¥€r؆¡¿s’·žÄÕqi¼fsÕe.GüÈ:·@Jht«`ÂÈVˆJ+”Îþµž¤#_À4-^¶€°Ÿ6ÝoàìÞø­ø]¦•2VÏn¡gði¶ðàªs6 õ¬ú-誓ÏóvÉF¯Ô*¸.I)WZ?6»ð¿¢^öW É}IÊ~Ó‘7Ô¼?f’Ýî+˜¯­Jõ7|lž ý­}…;!›Uí­.ÓMd`‹4¡0çi¬§ÕmfcÍÏnø¦:×àµK䥺¦[æ­p°z9ÆØYÉ–°”Ôµ.W¸¡ÖÍŠÁödõ7¢KÏTûƒ¼tBiŽùá¢?ª  ‡BØ Þ$Äѧ,'YÅíß4 ;|ºGLß}Y¯ó2 á«w»=;£ì£YÆgœûO6ŒzÜ_ú¦—„Ü Æ€ÅlFêeמ${ÈÑ Ì~Ú–~erØ Kùê>åq6ôÊ ó,ñðÆPšðžI3öÝd ©÷±V©!»ót&ŠºúµÛBìÇÅ¡Ü&˜v :ãµ½¹ŠÛ.ÝTf-ƒÕ€Æ…r€¨ºp ènÜ ¢ës'¬€T“OìÂ8å°^„¿«^0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0R¿½qJÍý‚È&ߺ„”œÞ|ÛÙÜ:î˨_Ç“¦ 勾Ā]H‘NNçOChU9Ê¡¤lù«hh—\E(Ü^¾f?¥h»ïê:Ó¿xØëƚȓxa¼V¹9lRú–hk2±”y×úÞ»4`ü1Útøùé#PÃúÄ<ä³JÏú·B%X‡|ºÏyk@véàE…séUéi#¡ÊÆO¼‰Ê’õ ‰À ¡Ápæ[ÊRïÏ¥†æÅWð­5ÂÙü "‘ÆO]S{EÙ¹¥ÃK¸¥3óè Piƒþµžú#J~%Ÿ¬‹µ5v¯ =4ÙLj¨äÏÖº…azKäxzìÒ-µåf(2™dvÇ ËG–ö¶”J×Ä€ âÍ<3/UÆ }æ!ÎøÔ {gn9.g} <Žªœól™5>íqÅܽAuwŸnÙ3ªûzrh¦?_ˆãÕ&Àû^.ï€WJ58*p” N¥˜¡w_B–K–†øÊ5¤~Û`4jRa±ÁózÃ[õ„^»ô\J¶)§îÛ&%‘Þ Kþ<Ú²<5 •*Ù’‚ÿx‡ï–Œéfþˆ©H¬=# ¥d"¹ÁCùÈ:¶…´RV±º¥þÄ݉ïæpÔ$l"™%:?Cæúþmõóêµ7]CÏíÇyËç:½,[¬ ©gr¼Åµï©øÖž˜÷v«Ò¤q—²Âåʺhûßö£Õ ·§Tm'ŠÜ¦¨ v·â(G¾KÁÍÌ´iãÁ^ýÀ¨1ÿ•n\°]¡O裵.ЦàÌXbëz¾\óÜ÷›T¬w«X¾Ÿ2}@ÕÏÞÉfÀÞî<» +Ekâ(j<í„­i«²§~/«˜ßÅÖ,²Ñi¸‡ðùC=]¤Œ­“Ä=ðS){o3>sêí(ùغ·wŽŸºFÇ­ðÕßβûÏl¥Ì8Äž@*Õ†”£N†ŠêÔ.SJã¿k‡.‚êñZ‚ÍÌ$:wo=º#‰MS!º‰<ÛM_¼ýþJæ4¼H:ß©«TËL|ǺN ?ô—n—Rf&¿þ·Ã§1Ùú¾¤;މ¾³B¢œ$ˆŠMc(ÛÖcà¡þ,_*'U§`³—®rfµáüŸL˜¤¾iÕ™{N›¡ÂÙƒm.Ì”(nŒ­Å¼Up bÝBùM§pŸÏù–R›ê“;>Óµçžîên¢Ô×Ñ{P£KK±²³wm Ž@ÕÛV¿”$¢å¨+EàñÂÛ}dˆÕ]É>q›ÌïÀ¢æ^ú½Å’¬é8DövkÊœô/@\$Ÿ¥Ú&Èåx/rÆ3%&!ÐIX>ñ¸™¥5OÝ9!ÑzVúõäÏüAÍÚ ¸ /±³Í áº&|b8vO}g“•ßÈÂXaû榎qÛ–¾³Êt<"1* -çí6Ë<Ô6ìÓ,ºvá€üîé_inè¤U¯¬c;ô{]Z€cç*pÁoÔ …m ÑU£Wžûþh¥în´Z'ý)Kf^QÒ½3Eðï#ùöxƒÞÝ¡ø* »u©ÁÔèØ1èé °†¬í&›Çêƒw~‡rÀúclž ó…ŧ‹2ÃAVDêûRª»NcÚ4Ý-€`஘¼7±·z…°¨R MrÁÄŸ‡Ú£? Ew sƈÂhvé€{%gý%é¼–¹zš@4gÒŸ"±uÔ/0[R_õ%;‚´Ââö`2HÉÿ„¢Ó¿a™ÒaÍj42†cíœÔÏÐsR´”ÐlÂ~%Äžçùº®Ga;G'ÖzÕõXæ‹É¢ š;I­b©¹9ìþ`O’¶`é9HOËLÅZÝz_i¯TÑÓ•…øiÍMz>{ŒÌý]ðˆ4bµZ"Z6²Üü±Küx©ißÏÚ )MÝÜŒ“µÇÞ«vÆí¢k¥üA©v?´(y ýI›y C$} fÄ6A>þc"ÅòÊyÓ¸Ž7”bï"Ó˜ß W’ÓÔhÃ%{§ÝQmd WÁB4Øë8Ï*/ÓÑgÓ¦š>Z°/öó½ôÇŒ½ §™CÉ.¯8ÐÑ‘'hÝ’g9ú²¤:êqË[ðÇ¥Ô©y|.é‚J¬èH/åSl$¯ò¼E®Mz$3FÑ´œZ¡d+žW‘Š¶ÙŠ¤!*aïþ3\5ü¡ FÿwÉ©Ž?`,u ÒW‡¢ejºßØ% %lN#MŠnPD½ÍhGÈ’®k+¤¹+¤Ê«!Ûx Vll‰·ã?}®o脾‘Mӣ勯8„¶wm†îüë3¦“#ßK•ØmØ_ 6^‚V¯9.)°3%„Ÿ’gÖ±Ö¹þ]NŸ…^*³™éz³{_•–&0è ¬*‚«´Àñ¹{åWu7ÄöoXŸÇxÍ EŒ"ÖÕÑ/¥×7Õ¿ ’&Žßsµ öˆ^Äó“ç‘Ï?ßaש¥Z ªKÇ›E¬‹Õ`ÈþóÌ#Ô\Y0 šÄ/BG°‡„OgÏ~¶¡Ü›éÕAV¾†S9œ&ló`$É6¨^Ö.r¹ºõ]ø… šIå‹Âö+‰ÿÝÁrí0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0 250523100144Z 260625100144Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ ”ßU|«ºÐÜçÒŠ×l7±†J¢a»Ú€Š[”¶®Œ,ÒX½Vsš+<_ëš'?TLÏ·Q`b½û’Ȉð¯sçâcw¯?¶3ÒïF{¦Õ1®\uk%-¸xõ^Ô]Y•Ü3ÿHF,qÕr.—BZíŒ-(M|í`pK’;iO;4ou¼¶èNqÐL–…Ó…ÞôÓ STaÂ6‘Åõüla9`"kU5ˆY=óÔ <¼û·S’Pô}ÀoÏ9‹ä–±gþŸ¢d‚?®VÚ)B[å‹Ýí¸|ÛáIæ>^êþf|ÖǺ]M¬ÃëÙP™w‚|È4Ú(mçÉ£c0a0UÛ‰ëÒ+·ýˆÎúý2]œæ^¢×0U#0€Û‰ëÒ+·ýˆÎúý2]œæ^¢×0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚ôJo ¦Þ%`êaåËÖi„µ!¨¢°:ܤܙ­àê|Py`<¸ïŒM |8bômqšßm\Rº”•/+b¨ÌÕñ+Bfq-òXͧ½ŠÆ¤_”2„Ñ˲'»mŸU¸v\š Ú¤ëÆ‚ÞžœO’2û©È®)ãg¶ŸZM(“•ö’F÷ÅôP‚›³)%: N$âæm|HTeɹoÿ6OûØõ ¢·öñŒ’nϯ~VE¿t“Ÿ|£@›r°u•­p<\çSÓrsž;‹ìùoø¯K9êû5ôta¬‰yjaYŽ‚Aä]T+x+e¾©¯Wsÿ¨d&+ÔWeÜ-ðo°¬NòÉEzeroc-ice-3.8.1/certs/configuration/ca4/server_revoked.p12000066400000000000000000000075621516567600500234370ustar00rootroot000000000000000‚n0‚4 *†H†÷  ‚%‚!0‚0‚ ¯ *†H†÷  ‚  0‚ œ0‚ • *†H†÷ 0 *†H†÷  0í_kí¯&U€‚ hÀKb¼Øy"ÝÎ‹Ž‡4:g@¯´{oÑ¢KØÞ¨¹ÍiùoeG/ŠR2B€P§ñ=ù×'B·U;÷ÉIÜëL5ÝšÊtÕ5x&?¿}‡ÊT-‹šõ¦ ,©¹qHnëtöì©&—y÷Êá¦Sßz®@ehçûæ·/_ÈãÆ7$Rņ5¸Á³°Æ æ~NLìÍc«¤F’gqNþ!8|fãØbÒh–ç­1µ^³*'Ÿ‰¬Üóö…¼ÄgYkLˆhµ[ûÛ ŒSxpC! 6ˆÑhw‹0‰|Ë¢}\êÕÙ îúcˆ¡ø"År€ôy‹¶…-•$7Ž‚FY6 ú¾g‚P>5¢¦$F<ï!w˜· ¡ÊžGGé? €Ò ¾”3 Àµ4à°#hœ®FkM’4x{Ë?oXù‹K“΂ž ÄX[ÝE¶vó¸T¼eeêjiÊù2÷âÉ6Y3KÂI^¯ÚרôFZÁÏ õËþ®õzÊe+‘±×Xƒ鄱RÆ•ù]Ȫ£@XP3%zwžÂo„Ýó™¿–v§aÿD'(ÌGæñër νÅç?@ß ìÇWŽ]å—qñ 9ËcŠ‚c5Å ÊVÓÄC>D y#ž­mâÞˆ\ò¶amñÑ{´s•ˆÎÒ‚Æù_éåÕî|Ìšö3J£;8¡ÁêËŸtBl\½(Ç…Ï<ê±ÿRÖœÓë)F×+M·§ï³S'Ém;ÊÁmÅЦC¸Ï¼`JâˆØÝüãJµKvØ¥ªÛõáÑI¿gLnr068Ê>þ ·cø€÷ÎÙÔjkö+MªÞ¾SŸÂåÊNx8ˆkórf_ 1ß]åù% B¡m-gC"æ6ÒŠƒu¨™Ø×ÑDL1¢llžOÃ\S»³w‰+W´Ódjƒ©ƒä&¥–oñl­€ JŽÇ­•~Jœ1sœ°ìçßn ÈÖîpÈÓÄz;䘧› éÿ“4›c#y:<' ç!÷®¯2S!-¹TÏ)mÙ–gŒ~“«å•™¸ÇZŠåõá­Ê»Ç#¸-Åç”AŸE/•ïec¥½²²ßfõhˆøïÈ@j˜C"ÕÅ‚(©Pþ>&¿wì½ Buv¥ŽiÏw^^Ê,£Á¡Õ<©†K—M°DžLqïqˆï 3)_SÍÏÚZ¶e`!ß“Cò]²;ª¦kç…kU?Á&åwãj±ý+¡"Ñ%Exµ…‘èÌ«X'çß·NIùè$ЬÌ® 6à á€l¤— {ƒBâ2fBì'­Ç2ì.¬2·.J1†ÍÍÕ_(Ò­X fÅé$¤àh!Õƒ»öÌY¶¥ìÀLtÔmÔbíÔ¤†çG²ða §Ï‰ã*~F¦"õô€šáîø/Ýl'¡°²™§V,w´cCsô:¤¤ð óUÐq†jJn SÓbèP1\‘ºóÝgjè×ôÒþñH:Õo¤k‡cŸáóæLœ›F¾ñA9“ῆIé#^a™NXFÌç5Ƕž ÅMûRR±ïî…pD… / oöztŽ”ÈgØ¿“krL‚‰Lø¿·“ܸD+[Câô´+G6ùˆTïÓÏçá‚ ‰ûlSB>á-k0=Ðè0!€\dL4Ã`!aÂÚÝ3m¥•æ(–­½ˆ¼RÙWð×FÉ+›ðé’Žñ°dV÷sûãËI“  îz/]§ud+jìGñn­ËdEW_CxW"?Ì ]#qwFLú4òKE¥*Aùò…˜w4‹¨¬ä[W±¹¹øl­ä†¨{øÕ¹ŸèѨ¡vqGÒ@ÐUÍ|³'Éíˆë«_0©®LÁñcƒh><ŒÞ³kC|3é©ÿ1o»á”W‡{Þ¹˜¨Ñ¼² $dÿ1¸ÑÓ¡w£Kôâtd½›Œ î;*«º¹[‚úÚVxÍõ‚\¶7TSÚJÅÈ÷+¶¶®§ñ½f§Ê¡ˀ3“ºÆ=>àæ„ôr #Êõ?ßm»F¡ÖS>„|sø.ŒG•N£˜Œc¾YŒí4/y¾¶ˆ‹B-Z3Ρñ‹B¿n±û×ÛW[l;ìZ"¿¼ìYLUXNdŸ·ùó€&fÌy™šŸi[îb´gà÷x<—«vîvzûž Òh²P'<ãZQlT†‰½6cysM¤^ïëÙEZèW¿vÅô x`>‡);´°O?2y¤X"íU˜G»þëÚ\.IšN”ùØ™aæEújÐSðéEûqÄg^å»Wbk:3„©oÔˆw&%b¯ðÖOíÜa*«å´ö÷4Pq¿+*hÑsŽOrœÎ³¶-2¢;ºž8‚w<Ë”ÖsŒdqà/ΰ;ch|Ø=<¦ù¼0È?Qô†¼JNã¹¥ñ ™GÐÄ7ûÙäö¬>È(Ae{l²‹š=bÐÑç'¹š¸~Ä«nypp¥>ÿù7ÄíÒ™o|£vªÚ.C_V¢€ °ùhŠùÚϬ"@FšÅNwF½·VCùãº{×(*_'Iš0‚f *†H†÷  ‚W‚S0‚O0‚K *†H†÷   ‚æ0‚â0 *†H†÷  0gœ¸ómŸº¸‚À¾V_GŽJø ×Z¼/$ ýì{‚/“(Þf'„Åõè~¼“!h3­(ó·¡- ôë¡p;P@)—ð´R´<á6ºAÜÙuáEZ¼4+^·õ-eVU¥a‰8ÛwéžÍÕŒÞÎ ;ã#»&nLyðÐd)6Ï:Ú§äo1ßÿ–ðjK¡q$–™[¿-:Oþ½3ûÓíÙĤ(´ÊºY®„Ê1d¯Núè‹t»e Ý=,“Ñ5Ζé ¼‡†–0ˆpqF’'acÿÓIUHCu-Q SxŒ+#H"@Kaf-­ íÍîsá¼ð?0÷@ˆO·ÒâoÑ…ÞÄøä Æô›d-jîí¼\yEd7ý@|­Š´“YëáÐÿ^»cΉ&`øL€AîîE p•ø&rÐ[õx=Õo= –Y´ú©†—\(×!¯Â,?üc”))ªw.:Y˼ ¬+ôå#D¯Q8^ª #ŠˆÜÜ >KÖh'±ôÈr^u{,..u95žëê,áÆàëÁ•TŠ+—}€‹ˆ*ð’×úÍbTh`êKcGPçbÎyi¸Œ>)ã~Uí½mâc¼áVÔYP0¸îú²È-âòo†…6Áç€ÛcÜ_îØM,¤HM5Jío,uXæÐ ð•Ô:SLzN¯eBÝéA7`‘pæb¼)†M huá0\£´K<0ãÅ^Ì­ 9Ux—vå`ýúËû}J‹é0$H{Ûo¶¿±©vÅHÁl “ïÙäcÎpSްÌ(ðîçó†IÝ–\¬I’d1‘}ëoøªéûü½`4fw‡û kõƒÅI¾þdË"öðM+L™ÑÃH0¶ì>Ÿ‚¬Ïª« úM|F=É&¥B(™Ll¿ð/çCtíàˆb‹j–’Bw¹R §Õ¡Äz¨Ñ|?߀îÊÛéëPtÓÓV6§HfDûÖï?47§N-/ ‹>HÈvYû+Fh%b®ä¥YÅÝ8{2åÓívIBŽÜà ‚Ïû'`ÄöÛÛOV—(qâ˜óZîšSÕ#ÃG?à0<ÝP¸m#£c,ñêaݦTˆ¬!>8€$ú¨XK¸’ ÿÅ$òò{ítsÂ.6â^P¶ŸaŒîïbÔcin¯:gÃïã•Ë[FvRJÕYM ¸MIׇ /ïØÚÃ{ÙbÓÏÛýH UòûY\”Íl¾Še1p3ú# ÝBæ}ض¼äèïW#û­‡â®B\S¶ÜÐ\b÷=°ç£Ê°«¤þ1Ja)lâš—.è4³+00ΣŸ¬ü„FðsæÎ³7¸ÓýºOo©÷àc¿‡êÍQooûÃïªqϧWaååì¾ T”Ù¼Jœ^ÇëòmtïeæZðþ,Üö7F 2¡MZLã´Ðå%np½8*¼ÖÊòNÖ)›OߖѦ¾`Ëž AÝ…0¬ú&d'ÃÂÂ#1½î;8ÍÚYU±ç84ý˜O=ª•J´BŒ(`”Åy‘àKõÈ1R0# *†H†÷  1¾Ôq†@8M]¿Ÿjå³@G$«0+ *†H†÷  1server_revoked010!0 +AŸ,÷ ¿#&š)ïQ<.íÉÀµŠ¬X7Í özeroc-ice-3.8.1/certs/configuration/ca4/server_revoked_cert.pem000066400000000000000000000031671516567600500246300ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEmDCCA4CgAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhNDEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTUzWhcNMjYwNjI1MTAwMTUzWjCBnzEbMBkGA1UEAwwSY2E0LnNlcnZlcl9yZXZv a2VkMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVw aXRlcjEOMAwGA1UECgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3Ry dWN0dXJlMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAM7JrOBB++JMM9VofwSCExhOGMzYfxFlyFCL 8P/BqYLieokrAhQ5pIeen7nKHJDeNEUtTU+GfMxnHX+ofePXPdPf3atdq94v5dhB AYo9h4Yn7E8AiAtN9k5vddwo2Fw8N4yFFd91v9qRTPmr6XJPHRugLsJfmbpLyxAt BPOIwOWxcgvcHx98ICgw+pkKwduLY2ss5yLXo5TBoAys0mxDjtSMZwdNr2+iYgZ+ xEee6Op1nuHVKqIazVav4OIeIsqRfMAWVo45xubh4xXqwsPdK2I8OvCXSCrPWTvn 5aEeFq6pbNYNlwpFYnWFbGEZHJAavTyo6fx/pPi8ZLIWBZoOCisCAwEAAaOB6jCB 5zAdBgNVHQ4EFgQUP+Ulet+4gcWBhoOlRoDy2dfjlgowHwYDVR0jBBgwFoAU24nr 0iu3/Z2Izvr9GDJdnOZeotcwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQMMAoGCCsG AQUFBwMCMGcGCCsGAQUFBwEBBFswWTAiBggrBgEFBQcwAYYWaHR0cDovLzEyNy4w LjAuMToyMDAwMjAzBggrBgEFBQcwAoYnaHR0cDovLzEyNy4wLjAuMToyMDAwMS9j YTQvY2E0X2NlcnQuZGVyMBcGA1UdEQQQMA6HBH8AAAGCBmNsaWVudDANBgkqhkiG 9w0BAQsFAAOCAQEAbxncW3vd1nVVva/4dAFVaBDWix12PxaDsj3WZcMbwvqdTHr/ THqXqhXMn7I1zXoHb1UI/Pq4jje2vRvR0QnG7vJW94Yxvdjxwn5OYk/Fi8cFfGvF sp1ENvtFlFw5UEASuHsUbpl8KqjjzvDguWbfJx2YeW64Eg4rNrY0Anuqm0mHBisM hfLXlIbgwDOt4PYVCIT+CncHZ8Op0GcEewTgRRZpeen94DmQndQzEldotHttY1Bv XyCXS4Rs5oncgzjCc+PdvjecLKnyXbpPs7zWYfNtLF4BsTSqevcfeiZ2Wni9WcaH SEjkX2z0G3R8pnjCsoy6VhjnTI/UMGKbYIE9Vw== -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca4/server_revoked_key.pem000066400000000000000000000032441516567600500244570ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQDOyazgQfviTDPV aH8EghMYThjM2H8RZchQi/D/wamC4nqJKwIUOaSHnp+5yhyQ3jRFLU1PhnzMZx1/ qH3j1z3T392rXaveL+XYQQGKPYeGJ+xPAIgLTfZOb3XcKNhcPDeMhRXfdb/akUz5 q+lyTx0boC7CX5m6S8sQLQTziMDlsXIL3B8ffCAoMPqZCsHbi2NrLOci16OUwaAM rNJsQ47UjGcHTa9vomIGfsRHnujqdZ7h1SqiGs1Wr+DiHiLKkXzAFlaOOcbm4eMV 6sLD3StiPDrwl0gqz1k75+WhHhauqWzWDZcKRWJ1hWxhGRyQGr08qOn8f6T4vGSy FgWaDgorAgMBAAECgf89Ezdfr6unVaGHyg4rqj9rUd6PhZrlszhokdAcZJaeH/DY PT81SELsdhfv1gkoFc5aZ04KrvUtMQ6Tl5PP/pf9Jr4K0ObkAAi4HZeBhByRPACB VO319wKd0qMnjgU8xv4S5lhIYKl0SD0s1hmdDPm2kqc83f+Xv1lItObPsb8OiYqx Ummc+iHJQhNR3XhNmKnlm54hGqwKuUcYqaBGdLXHV6Rfnt8YXt3jadDM1AqfA+bu Qveld9aIglxfI+f9MMwVQRHtcXa48Zd5udOQvGbIYE5Ux5pgc/1bOiOmC1WXx0kn j/sMW9YcOrb8izVwc0dntORREkQmZkFhxS+rbrkCgYEA/LJ1jlZfky5+AEh3x6yh hxbSeAEFqaA+lfD9PTWRqPwi/9Lx3jaVZ2ttGGsL1UwAHo+1Nuxq88pR5hRcwuCK S0A0jByfbubXdPHAq7GhDwB3EJPKhWeFvXT9hiPuUolxqWKIZK3qIM3NjkrNQYUl JN9NclG8cYupE6TMXTex/EMCgYEA0X2Zv3cZRnz8nbIFfOfGzI1eJYkWLP/GPJAh wdCoKqWi2ldlVUnpjrOzr0btJajM40E0zLWHdjp/cYUlcShWKl2pmIwUaR7TYgAa ZXZHgkRtZmptznWaAH1jVZCA5Mk7j2MbB0m238L1NxQaqmIS87R+w8R33pjnz3Dk a0SdT/kCgYAbqFivhIqfbFZEJ6pcg2uGgpv0oIADKdPPy3mcKnHP4hDemTL51FWT 5TEinAzGgrP8pFP8N/IYzssZ+J6SgcsBI3zc3QEiPUfVt+QTprRvFOjzOonPAh6k NtrMxL//7qUvGea9xj866euWqF9AzZbcK0ipu4J5lwShbscjaMYlSwKBgGuiJMSC 5LGathAvzzIFw9aFK8INVR95qtijFTUHh9+hirK0BJR1jVKMcd20i1O2Ds8USZSE ED1mgORKjJo/J0ZNKT3/et0nwWOwud83jjYYAj2EoTZape1qfwcPX6os2jUprlFo RlVhTawm4Cx6h1I/goIDB7OOzEuArVuPvWPBAoGAUsQAPETFjfExgZaagkM/5m49 Mnd4DpMSyzE0YUe+NezCYY9qiWbE+SePVayRvw1LNrFtTkEVPihGEwWVpVshP7XO Ayn/ZLMewEEjlUSPzH6cp/sb3UtoXNnZKM2nWESa72T6+6hROa/nkBP7/e0qtJcW /7PiBHuBioML51Bfv5A= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca4/server_unknown.cnf000066400000000000000000000013001516567600500236230ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca4.server_unknown emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names authorityInfoAccess = OCSP;URI:http://127.0.0.1:20002, caIssuers;URI:http://127.0.0.1:20001/ca4/ca4_cert.der [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = server zeroc-ice-3.8.1/certs/configuration/ca4/server_unknown.jks000066400000000000000000000070161516567600500236560ustar00rootroot00000000000000þíþíserver_unknown–ü—•!0‚ý0 +*‚éŸIýì ,tŹ ¾…m”IÁ,ÿº¨K… ;~¼HÉ‹®Y(˜¶Ìﻯd[cö|EMݶ?y×"4ZÌVQ{}¥$QQÀ9· ˆñ 3›¿‘Ø#ÐÖODè¨ ˜Žq÷²º¸Ï÷&¿g%gSŒAYX… üÝAðæ¬áÄæCèù7·ØÙœ¶+ºP R÷väSI]{Hz dçrƒ-R“Ö§£ZÑܶÆÆîé[Ú ‡!Bˆè‘Õ„•ÁæÆ¢…XL´ô£´#!–æÏ4:m_]…¹TÐ/ Êxá6£ÓYœù=ì'…¬}Æ8ɉٚї-A„K¶|}ÄQ™A¢‚„TAK@L¸ ºB²”[ˆQ-&eB(Ï&ÐÇ3SóÿeyŽé óº°Äq4’­M{4@'‚Bà[–Ĥ ª&{ü‡R!`d”r.Ü • b+­JŸåcÕTS~УYÁâ:4a 8à¼4àÅg+Y€#É0¯¡…0´Ñq¦¯HŸ·a8}±"9z–Q‡þY©~Eg(¬V)c¼žÍ‚ÐýK „i»”ĵÄÀïÉ"€›X©c­ÒppqM9â8jLY2PÆ!¯õ2š‹&š:•wŒ„1oBœ%Ãù3šu®`€»–e,òåE‡ Õ¨+UÍ”]º<\Û4à Fœ ÔÀÞÐRÜ«w,ÑÿÝé o{ÏK ¿‚ÍQ ¸Éâ ‘8^‡7ƒ¬ÝvmlÓ”O¼+èŠàîdFæ:¿8jõv­y,‰QAgý­™þ5ÚµvªJÝ>^ýa¾E¯¤.eÇ ©GϦó;4ˆ«Ð±ÿըШhÞ"(»ËœÏÂáK Ÿx1tmtzÁ*t 14Û×Èo¥ïqŒ¹9¾[/LN§(©N/Ùr²ãn4}››LÃÖ]¤~Ù2m8SœÕ̇ª«°ë~¤0"ÿ€¯[ZµìšElå¨Éš6\Âu;S¤^“ËtýnöðíN¾ú&¿Ær®Æî¼žìé`<’ˆMÔ0Vù5¿IÚ\ñw• t±âw ­»àû£)À0Æø!„+* ŠîÚÆ5²øŸÈ€˜ÀÎ=‚¹¼Ÿ¬nlBUhy‚ =Eh=ë–ÑR°à2Ud%2Ãb{³y+^׋l÷:qSQ“¥mÛ§$]ð oð“¹Eô^°»Ìp˜vµ£l}D)-´B« ¨i÷X±(ßÊÔŸ°‚‹¹:NcN+Ê~*g@’¨‚Z¨ñY•r—L?\fV¡£ $LmH5»›‰Ü ޾NáGÑ—„â‰W ·‚Š:~È%ÇëÀ…ß,Ã?Äq“QKõš9ªjö¹t¿d—³%xe7óYøàÄŠ®Úƒìþ;–ø²ð!3dò„êcJ„|^(&ÙjÅLõ]àr²&X6,…\ŒÒš¶é8‚ÙÂ÷9>³ Ì\¥ø.Çævõ2\[aês WdkøjdÖ‘ÉÉFuâµµ)KVxHé9nLˆ¹P‘þŒô¹c/»—WäµÁkµv“SM”õêÆ2Ö˜†6<ð*+â&ƒ¨áËG |Èݯä4I@ãQp^O`Õ#DÿÈÍÇï£ ‡øá€Ï‰hÇ×Fø³»úï3Uôuç²Q^¹Rx<â§XôsŸQ/¶X.509œ0‚˜0‚€ 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0 250523100154Z 260625100154Z0Ÿ10U ca4.server_unknown1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚Õß@˜y_çSSR´_Õɤ3ï!Än„)Ä !l¿¢+ÉPúÑë|h#Á=LõìK1ù]qìhiõ%Û»t¤»¿v¦;ÀŸríÄ0‹w*?fÑW9õ/äÖ¢ÿ%Ep•q2jŽÕаý¹ sŠ¿þãã7«t‡{½åÖ¯«; TxJ¯éÐnòï hê&*ˆ°€#0UùÀaFŒÔ/ã’Œ”œNvè*mǰ3õ°þ@»JVåƒËPå•$"w¹Ð‘‚K¤vtRû¸òíÿÌЀ@í| x5—=ñâéh³j„²p—c?Ø9È&I,Û|)£ê0ç0UEП—‚& Sˆ*T¶ëï¿Â‚á0U#0€Û‰ëÒ+·ýˆÎúý2]œæ^¢×0Uÿà0U% 0 +0U0‡‚server0g+[0Y0"+0†http://127.0.0.1:2000203+0†'http://127.0.0.1:20001/ca4/ca4_cert.der0  *†H†÷  ‚X¨ÈtCt<¬|ƒ¼ gŒmûøGçêÞà5Bpó7„Êï¨áê¶Ú<©8 ã=Á6$ÖºýFºò:+ƒk;ÉX׳Ð7²™EtÿK,‹\C!€µ2⊔WZ$´Kôa`Ñ•€Pîõ‡Vëìíòe×ò×C'!¢p@1`a;ÄZ=ç>e[_[£šü?ibŽÂ§ð½qÝñâ º‰‰¦‹@vËÉq*ÒélÖÆ©kÛtUfßjÁÄ.ÚyVt#¾~{† rûåCC (B)5T q°áâ) í¬±#Ò¸"ݢσ×· J wÊÞžžB‹ëÌX.5090‚0‚û pKžÎ8¿¹Sâpÿ"Ü Ûú>rí0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0 250523100144Z 260625100144Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ ”ßU|«ºÐÜçÒŠ×l7±†J¢a»Ú€Š[”¶®Œ,ÒX½Vsš+<_ëš'?TLÏ·Q`b½û’Ȉð¯sçâcw¯?¶3ÒïF{¦Õ1®\uk%-¸xõ^Ô]Y•Ü3ÿHF,qÕr.—BZíŒ-(M|í`pK’;iO;4ou¼¶èNqÐL–…Ó…ÞôÓ STaÂ6‘Åõüla9`"kU5ˆY=óÔ <¼û·S’Pô}ÀoÏ9‹ä–±gþŸ¢d‚?®VÚ)B[å‹Ýí¸|ÛáIæ>^êþf|ÖǺ]M¬ÃëÙP™w‚|È4Ú(mçÉ£c0a0UÛ‰ëÒ+·ýˆÎúý2]œæ^¢×0U#0€Û‰ëÒ+·ýˆÎúý2]œæ^¢×0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚ôJo ¦Þ%`êaåËÖi„µ!¨¢°:ܤܙ­àê|Py`<¸ïŒM |8bômqšßm\Rº”•/+b¨ÌÕñ+Bfq-òXͧ½ŠÆ¤_”2„Ñ˲'»mŸU¸v\š Ú¤ëÆ‚ÞžœO’2û©È®)ãg¶ŸZM(“•ö’F÷ÅôP‚›³)%: N$âæm|HTeɹoÿ6OûØõ ¢·öñŒ’nϯ~VE¿t“Ÿ|£@›r°u•­p<\çSÓrsž;‹ìùoø¯K9êû5ôta¬‰yjaYŽ‚Aä]T+x+e¾©¯Wsÿ¨bV‹€(…ÅáQëO¿Ï{«|Àazeroc-ice-3.8.1/certs/configuration/ca4/server_unknown.p12000066400000000000000000000075721516567600500235000ustar00rootroot000000000000000‚v0‚< *†H†÷  ‚-‚)0‚%0‚ ¯ *†H†÷  ‚  0‚ œ0‚ • *†H†÷ 0 *†H†÷  0!@fT3H©—€‚ hC…;Æ)ÉSٹƞc1¸¾gö«†„>cÁÈ'$ª#Фf‹ÞlÍhBƒÀƒq‚ž C´ÂÛÍÐy;€ØçØúÄ ³’ƒJoÚÚŒ$;ëw'E4n,'Ø£ á*¹¼ê ‚6@j‡-axkf‘¸¹mft,+¢ÿ!H×ísº¾êc!žeÒêAÚ"Î ž*’–j|']Ï2symmü2Ð.aèa—³R¨aöâZE _ÑÑ^ÒúG*þ.Æy;=^㦡þ©ó]¬v»¾X &®Ù’¯¤ÄP”fÞaðKÚ\ª#·‚añé}»µaÁ—¬YêSêEì†éÜ£ÍÂD`}Iߘk¶  RÂßÎZG9e‘~­Î{´ï^·µ)œäMpb„>ÚÕÍÍ]sºœé¨Ô³¢XLžsS-šYÑ… "N?}¬²|”ù²^º°mšÂ÷þ‰šý‘Ô„÷) ~1ä\òÕKÞ:õEli”_ä>¶š—‹²,s UlÄÀŸ=1w9òîï*ØÌ®™3ûÏuý…X&”“Qá¼ë7![‰Îj `K1Žt”ÖÝ©û§©í%8ã@™|ñÞýí¯£Å•õ¹EÐív…k’«‡¥ˆɆ4ŠcجӇUO|´»§Üª¾c7EóŸ©Çgò]»¤zMkµ¦‚†F“µ }e^g58Ö …t—qŧ…¦¬ß•ïWÛˆKAC%ó‰ïÒ¹T˜ÃÚäÒ l’p6ŸoûBÙ²/Òø¥LÁŸ[hØŠš¥½m!rCªÍéß«¡>zg)(¾ÆhV7ÏfÄz¤0Ï%ÆíAÔË3U /0w™÷R‚¶=ò{, ûöÌÎÓarBÏTçòžÞh× “ ï¡„ka“,$n³ ]~ç³Ñ‰dRˆÓ@sð’'¡K¬AÔ¨ÑB¢„¾žgÉsñh~¾0M„ZVéóî`YŠº‚b ¸{Ç?ãöA×À"§Ê?˜·Ã$üé93®Õ; 6xUAȉj–áüÂQ0Fô §`¤‹#Ã’p2¡®ðÿU'a²S\uXÖ|ù-À¥`À–›Ú;‹…èá4Ò´Vü,ß…]ÒO²êbXWc×!ÑTSeÅòWÓ.›Î.6‡CG¿z¡m»CZc’Áf³ŠÌ&C ²¦ |dÖQy2[Z!^‰Â\z·½ÚêŽ à«öêaöK‚Ö>µÌú6þ Y 4ÏPi„1tËás ‰à-‹ãvÖO?’nbRe"mòƒò°|®0ΘûZcžl’w¬Ã3…ª,XÂúw`kWµŸ€’Qз#Mª¦tÐÁȹfäkڔ⒬î‰y-²%úŸA½ ÁtC,Jùì<;„‰E’4Õ‚•órþä=ZpeyÓ¨v<º ¯­4œô5_d§õÂS9î[57•y|Ós¤ñ—z™‡ÒG^þ©2‰ä2Å™òІ+±0FâÅIÕ­íõpïé:»ªZªÔ̯7¿ÃÂø “ð‚{æR)²™` ñã­—µõß*ÝÁÃ%† [Î*!³þfïg•öxŸðErkÛô‚ }»ŸüJ;C$ÚÕ&“)“H¹âî˜cʼnßC_œ5³Æ5”]ÀðÁ0ä€L«üÞw|Hø®pù¾¬‘¨Ÿ·÷ŒH¾5‚ õ—Pr¦6•‰Û‰§ÞØKoFIפrž‚}Ð2ßýB>ÿ7š/v{Œ‚ùdÿ;Α‹øßh r¢›T‘JþhÙ€Èu ùÿecØz$^Ç{*µÞ$òwê¾f:3­â´8xa¼–¨g±°ÑK\œ(%2xÊ#$‰°ºoCžo§XàçšT›lO„£á¹Ë¼ÀèµÁei2ê@äœ)—x±zI…§ ¡Ñ˜)>«¥Ò‘Ãgëxâm[o¬3Þb»…"÷ÙOFf6h<—Áƒ9Þ{Ã)6î&hK³:ÕÀŸ³m2• ˜j‹Êøp™îgG¦+ÒÀºçe]»þU÷ÜÛ”Cè¥ÈYÏÓ­z´sìÖâ+|A¨§µ¤.KÃ"D’¥9z>]ˆ2‘|PeN¸ª`K¦yÝʃaý ¸§\’ ¬ÀϚũ×áŽØÒ’ÄxèÍŸ«ã'&Ó·²·çü(q“Àx÷GÛ® ë߈/¸S5£÷úŒ#«Þkù‰pŵ~äHãJõžðÍžÄ/’zÀ)¿ÇøûT{€'ŠØ€Ä¨Ú_IÑ–UIDõ—“¢ñúÞ“äàÛŽÎQ™ ðtýþØ^¹µà)Më~å¬%”6ðùÕ0ú|ßÓ:Ç•q¸‡ÞŠ6GW¢G˜šKÁì³L¸6sÈ óãgÙýb¬¯¾ÃÈèýjq²õ|òµÌ Õ`ñúµ‡ƒ'=¨6›[}u$\º¬¤>†‹m1×dÝ”À¶v:Gf-NTÛQY&@3­j…Ó??-|™,˜¬•<"œ¶ÂT$` Ú'p}"ÚÏäÏá@`c—²¶Ýôž/z‹AAlƒ3×i:ÅàK%÷í"´¸¹›"ŽÅ:; à³rQÊáJËè(ü™ ýWhc9¥v¨©înÌ:(àVØÖ*¬*wÍX˜$2 ‚·º!ŸUë~pxØúÔðð¹Á¨J o)<,IÄžwL{¡‚÷¶6gj[ž®”â÷DIãPháÎÑ9 Æ?ÌúÚµ²6ä“iC€50‚n *†H†÷  ‚_‚[0‚W0‚S *†H†÷   ‚î0‚ê0 *†H†÷  0Yå£âä$]‚È¡ôμf:/Y—+¦ }"]Ø·PƱés–N#Êg‹˜¡¾Ý™; 5ö-ë&«V§‹‰†¨r¦ÄÄÒ{>m¥¶2Xº_û=· ?( ù’ʯ>>|ªÁ!,Ó”VLÁ¢4—¨2Ödõ¸hïP©Y-˜Ðå\•¸—ÍêNöòÔ= Œß-ƒkJxvÓðo}‚íÝ)’%P‚„¹ÌЫ>r}éî$è£Á¯ßµWŸY¶¦nJ“ù>4ÅÓ]ÙMêCÅP ͰûÉÀq›!®=„WÈ ŒJ¿¡ÑÿŽß†R[pTÁ[§c(ÓKWf‚ç†FA[lçÆÝwzp获ôÉø í[™©0)Ü£Äߣ‘Ý£º‚÷Cï³rVj x´¢ë†R1@ŸÂ9«{³/1ç­§Ùð´{ý©±ãÁ‚¯ëPRx""å2»,sË„—sùVî¼û#KÙ¬åwJ‘!ðgmànß~‡èêý+‡SÍ—r¶“`Z” ÈLÖ’ÎÓ¬Z£—¿ªï}a©A…~ÍM*²ÃlX—Ý p”HÓôè>]»Ï#6ƒ… ˆ+A ìÆöú<6lhI}øfCò K+—%@£3厫ÖWFu‘5ð‹*ƲùCi7A?æM§â†q®ÜK޶‚&óW%'òœAW˜,´ 쬘Æ>Šu¹yiHÈô²bw)žR?t\’xsü„ï./7Y«Íñpj7BX˜ŒxïÇó1Â+I…ÁÒ´é Úûê5È<ýaù8!›ðNÍ.%üdLx6N6á(iБ­ UvÝõ=óŸÆyóœ ÌÚŸŠM‹û6aÝõ±ù$Tá{‰¼ žzµá\°SrdŽ9êX(Ò»OuR[§&€:í%NÂûèNñ“pV^ƒÝ/ g,æZ¾Â Gqâ0D´e±ØdRoô²Q¯¥“‹­1:$O.§Ž¿+‘Þÿ63ý½ÔA'¨×ioŒIsQdÓMSíŒÎÜ$ö»]÷ú¬E©Bh,ôQ€‡´Âòûǰø8RWÉ7О&B’–Zf¹›M÷äçæGdoõŒÂˆvØ'7‡€å>ߨ{£"ÈÜ Õ à›¢îË#Ö4MÙf½Å¾’s}m›ÇŒ®À{pÎͶ-ý™o€§‰ñ ÀÃ<>Åy«7jjÝÚFFZb8¸¶ü?œÔÌ\W'¶IÊäû×2è…Ü“ö¹¹>ïíe¨±1•®…‚|Ø×oá§µvŒ0„˜ £ÛíoWøõ89oùè°ûꪥ?ö~òtujç³EsLé|ð¡Uç[/ÿE{ìàhNȰ¸è|sÆÊt4:ó¤›JÐW"7–ô}|™S˦¢0Ùð¹ Åøî…f¡{ÇÓŽŠöÉhB©3°@v/«ù­¨;Zv£üL™×AŸj£8t¦Kf*Yl2ÓÏ0ÛAýí0§ˆo÷b)‡”ã0ÄjfØî‘!x¿NÿàÖ× "Œ‰;zÁ žªSÍìt^¡¤€YÆwSŽ!ÂȦ5ÆjŽ “'¾MXß°2ßm+ûXä*«ßÁ‰=Ì1R0# *†H†÷  1XUŸÆ›;£c>ûårûë:B0+ *†H†÷  1server_unknown010!0 ++™Ð7Æ…²½Q»_æ/0ø¡iþYœ€¡/óTzeroc-ice-3.8.1/certs/configuration/ca4/server_unknown_cert.pem000066400000000000000000000031671516567600500246700ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEmDCCA4CgAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhNDEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjUwNTIzMTAw MTU0WhcNMjYwNjI1MTAwMTU0WjCBnzEbMBkGA1UEAwwSY2E0LnNlcnZlcl91bmtu b3duMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVw aXRlcjEOMAwGA1UECgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3Ry dWN0dXJlMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBANXfQJh5X+cfU5BTB1K0XxLVyaQz7yHEboQp xAohE2y/oivJUPrR63xoI8E9TPXsSzET+RpdcexoaR/1Jdu7dKS7v3amO8Cfcu0d E8Qwwot3Fio/ZtFXOfUv5NYBG6ID/yVFcJVxMmqO1Yqw/bkECnOKv/7j4xA3Fat0 AYd7veXWHYGvqzsNVHhKr+nQAG7y7wxo6iYqkIiwgCMwVfnAYUaM1C8a45KMlJxO dugqHgZtx7Az9bD+QLtKVo/lg8tQBeWQlSQidwK50JGCS6R2dBBSAPu48u3/zNCA QBIPAO18C3g1FZc98eLpaLNqEoQbsnAZlwRjP9gTOcgmSSzbfCkCAwEAAaOB6jCB 5zAdBgNVHQ4EFgQURdAAn5eCJgpTiCpUtusY77/CguEwHwYDVR0jBBgwFoAU24nr 0iu3/Z2Izvr9GDJdnOZeotcwDgYDVR0PAQH/BAQDAgXgMBMGA1UdJQQMMAoGCCsG AQUFBwMBMBcGA1UdEQQQMA6HBH8AAAGCBnNlcnZlcjBnBggrBgEFBQcBAQRbMFkw IgYIKwYBBQUHMAGGFmh0dHA6Ly8xMjcuMC4wLjE6MjAwMDIwMwYIKwYBBQUHMAKG J2h0dHA6Ly8xMjcuMC4wLjE6MjAwMDEvY2E0L2NhNF9jZXJ0LmRlcjANBgkqhkiG 9w0BAQsFAAOCAQEAWI+oyHRDdDysfIO8BwxnjG37+Efnf+re4DVCcPM3hA8Syu+o 4eq2D9o8qTigj+M9wQU2JNa6/Ua68jorg2s7yRtYG9ez0DeymQZFdP8ZSyyLXEMh gLUy4oqUV1okFrRL9GGNYNGVgFDu9YdW6+zt8mXXHfLXFEMnIYEWonBAMWARYTvE Wj3DH6c+ZVtfW6MEmvw/aRxijsIWE6fwvXHd8eIKwroSFImJpotAdssAyXEq0uls 1sapa9t0AxxVZt9qwcQu2nkFVnQjvn4Ce4YJcvvlQ0MTCShCKTVUDHGw4eIpCe2s sSPSkLgi3aLPgxDXtwxKEAx3yt6eFBieQovrzA== -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca4/server_unknown_key.pem000066400000000000000000000032501516567600500245140ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDV30CYeV/nH1OQ UwdStF8S1cmkM+8hxG6EKcQKIRNsv6IryVD60et8aCPBPUz17EsxE/kaXXHsaGkf 9SXbu3Sku792pjvAn3LtHRPEMMKLdxYqP2bRVzn1L+TWARuiA/8lRXCVcTJqjtWK sP25BApzir/+4+MQNxWrdAGHe73l1h2Br6s7DVR4Sq/p0ABu8u8MaOomKpCIsIAj MFX5wGFGjNQvGuOSjJScTnboKh4GbcewM/Ww/kC7SlaP5YPLUAXlkJUkIncCudCR gkukdnQQUgD7uPLt/8zQgEASDwDtfAt4NRWXPfHi6WizahKEG7JwGZcEYz/YEznI Jkks23wpAgMBAAECggEAAXUEbSWCjEIP4S9XoO4eqbOwLIC4E9xRPnBEaCdCiR6j HbZA6XyNpKrW94WR5SkHeB2hOFdDo+8wLCoQ6HbV/BtVWhsW1CCh+VCV5mPIp4eX rJEDA9Ea0XtSjUyzof5x+hCHjFUZmVVAyjGbgOuwoInk9fkafm1JpgHj0sb6i7rP BFINtvBc+WXyqR5CnZcb4DAcguA41LPzkV3z3MjByicYM9mkKTxm3G3KHnyzP9yz 4fgLdOlEYi/aBd5PI1J4Crc7sh+OBEm6zcWuQ1qEkJndjeX4rCwj4Z2trKOLsl0l g9CpZ8Ublizvadz+ahlD2IU2dBlXzZlNniY39ly/qQKBgQD/VZe4i4nO63X+0qHi 1gaQhUDYFXiUBqbGSLjdztK4hlCSBHws3H2wOiVjjAXj4BeeQsU1/QKBU+OxO0kj tJZlZxUWv7X+gqpBiCJ7T+oYQ8BqqTkFHrZML3klCrWfzSaEty+g/kpJpaiVvDCJ UqKJ8ABpVnERxb2CvZElPonzXQKBgQDWbfz7AOJ163pbDOe/FKNJbjkoJX0eqkwU QoSGXZnoccDI7140oasS6/bhUezDblG4qokqXv/g+JwiMbuegiqnjhd+wuHtREqP m9+mdMgImG8Y5Pm5jXWelT1oP7KhG0OJEcMbeyFSExl/qLqqrlw8Z2ks7WrtB6q7 p8YY/a2LPQKBgG2ZbOWvJ7klAuIdwZVfrzOrrxjRpo9Lh5zHLGsxUuwX40+6Ex8i ieTyIIhpW0HkN98b5BD3iHLA8pRp0Uw9QO1H4RqBsfoMVk6Iw9xQgjhmJJrkBnC3 LSLoocSPo0Rzx9vh0dT2MicIr6OOQvs++DvjRBnzG9e4HE+ZVUs6W/aVAoGBAK7N xzgQBo0+w+ZJ5Pp+poaMFohF13QSPCcf+s1WrMszQIgNquyZBs9MEVyp3quK2ZAD ZgJmo44Q3ad6h4q2bnNdgIXT9T3pOCdOWMpn1VI8ggT3VSUQztvSqda8ZrCzeyDY nAdhH067R0Qsls/hiEutua3odgx4/ZQxN2rUEo+5AoGAZ4ougDMreUFm2gTcqGVH IhfMp0G9ah/MbjxWm1xi8BwlkpV3C50T6z8c9xhdkHvIxXaFK85NswbIamJ683ML becdUqHk0VH02kgFegcH5eiiOte6IzXQ13Dna7OodU/hKr7C6KrB943BuaJFGzw0 dKBfoBs7MDGbFYoFS38oSmI= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca5/000077500000000000000000000000001516567600500200555ustar00rootroot00000000000000zeroc-ice-3.8.1/certs/configuration/ca5/ca5.cnf000066400000000000000000000020371516567600500212170ustar00rootroot00000000000000[ ca ] default_ca = CA_default [ CA_default ] dir = configuration/ca5 crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial certificate = $dir/ca5_cert.pem private_key = $dir/ca5_key.pem default_md = sha256 policy = policy_loose default_days = 398 [ policy_loose ] commonName = supplied countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional emailAddress = optional [ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca5 emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, cRLSign, keyCertSign zeroc-ice-3.8.1/certs/configuration/ca5/ca5.jks000066400000000000000000000045331516567600500212430ustar00rootroot00000000000000þíþíca5–ü—g·0‚ü0 +*‚èÏÊ[ÑêEteyè K³f.¢Í#•°Ö©°/V¡•=õ‚lQ}?Žþ'ª>V!9žÛ‘k˓ϙ}€a ˆ”º:´‹2䞌µÿrü”ðдxNáß^@ ÿ’\4'¶žV)ì/èåÉ:ÄïæçÝ ¯40ôGêÞ] ÈèaŠÅ½°¤ši( ^bx{E{€*Iò¿ m{°”K£ø {ñ©½R€ ©º8°Ð_&!Ù9Ws(>!¼õÊ\ýdÕÁÈ‚b*&å÷‚@?\•Ž¿¸nP3€ŽN­xGÝyÅÕŠÄff}TPšªé—kî…ºŽ1NãðïHQ`ø)PŽë³è`Ï㌠‡F½¨‘<ºEN å´Á§Ùôm/jzêŸîtEnŽÉE ÂÁæ¹X} N4íÇ ì—ÿ°³y×ݘXe5ÃÙ#|#“²¤&2‡fÆÉQ¢GªKk‡ÙcP¢; MêsžUìº#‘ãâ£_¿Û¶(Z4í$ 2¢ÏvÙrïV;¾R[¨Ñ\'t“Œu[þ´I2déWi1·'äà›¼Ç 1óù­ÕÓ´9P‰Áa ÙÈ·á/!¯ÜZ$§Åuƒ†ïbÁàÙ#Ó˜ÿZÝ2tQƒËf4$ÁýŽ ÁÇI¾3tÚmDêTÞAaúöó½ L3´€1¼Ïêù:ÒèhÁ`Th¡%Zq²°'ò7æÎƒ÷è4ì¥bwFã³íç’êÒä·Wþ ºÞß%Àêë-¼#×n,W†gã ¾…¹²ÅÒ\nS~±$¨cÉÂ$Ê+âmƒÎå¥]Â3u#hãAŠ˜fƒ¼ а!š9„·ËòŽN°ïE·3q)ìÌmÞÜÌS¿V^ÄÙ¡Àù,”’êåÙ—zé2‘:+xÊ+µÛNEYž…®úãè¼Ø˜–²ˆwÕÙ³îw` Uº¿ð )‚Y¦_ØÈ¬QöØ þéÉO>õÑ^è˜â_ ²ÿ¸÷TžHÚv‡Š:U‹V °§hÓáýÝ]í{±šÕš7BnœŸ0Žêb‚Ÿù¤ÐóÞ£©l³Œ&T¿æ¥Ì[hk}ǼIk¦cŸº˜©¨G0wQiqKK?¸»’ãñ²Ê|m=ãÕ ÆPeÎlìG/±EøÁ‡è/çƒjBïXÄX¦iVzú¢38bë}¦ñS)£ÝEü3ŠHÐÑÛÂ[àÌúŸ³û:+¥VWuE‡&wÍd`[4Fì’*{¼í‡–oOÂPDç˜ M¸½¡ö‚ÌŽMfNWà\>FWê~ã&Òü+¤ÔÚ4)?udïa_ÄNÑ>=n#á+ÐDÂb”†‰nÃ-¥ÄÃ(£.`˜eë‰-ùk 8ˆÈ»z$¨f“…àÊÞôçq`­Œ;Q¼XùÓVǺP3ws³L–ôÝ é™Ýâ|š¿cÐ}¤¨*6ø¦G:©ÕÈŸgfHç’–XõBs!oçAƒoX.5090‚0‚û Àɇ7ÈwL`º—IR^Ý?Ð0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚¯ ¦õ(g•Å^å¼&^u:é©×$C ŠG"Æ´ ~ßÊJQ„0Ãî¬PþUxĺïOpœÑ²˜Ž4<» SÂNLÍoåFüµ r‰®³Áÿß¾¬íƒ¤)‹Úäû Ô½‹ž ½«ò …äÖZb7KÉ#E¡žÚÎK–‰:;|‹(·d¨ï}KÄ´„3¼w¾'çÊíNaà%~°(ãÈÇF‘ª¥”ü*„äÒSQ;hŽÎ¯zÊY©Ý¦æ»Å|$° u§;ª2}Ù¨$§ÖÄÛÈ×ñ ‚ì]ËÃäæ~8¹” ìZóZåÐv Q#F6 QÏ›í¦¯ÛY˜¥$1’>ò­£c0a0Uàk©´é‚­¹*ß§ÑöÁŒ†0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚}à¸Êm®¼õ^GÑ.Ú¢d‰­<¸Þ›Çœ¥Ð£æ|W>…a™–œ’ëiâ£$y•Íö%Ç£nSUñ/W»»UÙúîð¡º6W´›0ö? K[nT’ˆ½`y¥ì¹VÅÁY£mHt2ùHÅâ±9‰ÍÆ‚‡÷㪕¬¥,ÖQ­ãü¸˜Ž(óƒuºÈtx4씽†ïn©WK¨I[]ZÂ"œ\¿œž¼àcÄS|ÖíÞÜÖŽÈi·\Üì]Œv6Ô³Ëå‚k¤üà`VÛ¼‘t¥îõ¦fñb/U™9Ø'Ú .VQnbe¾¹öBºÓÔx¯D]YW3H&×îoÿÞ¬¯njJq¹ (zeroc-ice-3.8.1/certs/configuration/ca5/ca5.p12000066400000000000000000000052041516567600500210520ustar00rootroot000000000000000‚ €0‚ F *†H†÷  ‚ 7‚ 30‚ /0‚Ï *†H†÷  ‚À0‚¼0‚µ *†H†÷ 0 *†H†÷  0’è4¡Šiý€‚ˆ3‚´Ú’|ÛòZ®üÑjL ì=Æ-¹6É2mà¸ÏÇZ˜š¯{$÷e°w¸ñ+´?VØ¢cF0`w›úgÎn«´(¦FpŽíÃ0I|©ñK‹ÈÓ~;©h7&™³U}!ž&Ü?Ì÷µ‹F|ôS¶° o ±ààÞñL“E#"ö½û×Cüì2UH–âf¸ZÀíá¡‹>7{rîYn=k¤WèþÇ&Ç9u'PÇU$-÷—dXQéDü¦\éåe¾¡Nñ¿gdJO´Ñ†‡;BB¥h§öïD(eqz,¿=jªÅ{w/T ‹Oè¦ú€®g60xõðÊ‘"ì/ÎC—ùÅ!Ð/Åf¶˜¢æÈíoŒ“ Ô;QjàísE}F‡^™2J€&5Ú—Nò2äçB‚´ÿyµ \HK>n†ß4®3O >γߦkk»vKZÒ{´sa•kdc¤ ûÔ (Iëí—ÎøHÜ©=Ò~𣢪hSÕ¸šèß~o­µÀ¶<ó8£:N4êiPmTYÌŒ7ø7Àç¢"öÓÅ„ÄH$8­ë'YH.§^‰qU£-ÇfÖûÄ¥«ÏÐ#†`Ê)P_ÇCŒ G”\rg Â1L4 ›¼ «§ªøJ¥\²Ò³ o¡2¨; a9ÃüTªS;)Y÷›C®_¼ýFékUø@èŸØŒ:ަ®²Œ¨ÏGÕ"ùlüGÁ%€³„|›â„¼LUÑ2Ô‰H9'd`kq !“š+œÇÏkQm2ƒp½©o¯6Þ½1PÄ›½]µ8/!W¾¾rÀAt9Ã÷PÕ 'q•âù«‘ìÛóÎIÖóŽÿ- ¶q[ÃL©3 ÷ɦ¼#"ÆÁRyÿÊcR@ŠÜ¤Þëoæ“Aî¦!Ü0•v)ètþF³~|ÿ·ÔxÚé×pÀPGTñ-ªÊU1•‹—Kcæ¢ÚõE‹Ì¢÷ iÎñN³fR¹®Ûp€šZà~'>@àN«\ǘÍÖ` D¥^œãõO@ö®²RùqEÔ‚É8-¼W76e9æ¿Ð‹À§+}°“çK¤% ®üщUs.Þ'Ãñ(£ïgöc±šú¿ÁgÇŽìù-5H×»R/õ¤ì \Ï·LªÐ)¾®%5Ò…ŽTÇñÝù‚NAK}êë„®u € žÍŒŒå'‚o'vMÂ7£¹|70ã਀Վl¸o9ñB g€Ê‘ÅùN†_%PîFV~`âT2´ÃzÏ;£>ð[p6‰¶­ù=\D ;±[è0‚X *†H†÷  ‚I‚E0‚A0‚= *†H†÷   ‚î0‚ê0 *†H†÷  0–6Ú‹¸©‚ÈËjªuœõÔÙªŽžãËDã›þ’tô4­­a´Ë½ê™qÉCXr@MÀ¯#Ú×âtêì zè…3v`©½¸®ï×–€OûIm÷xtSë^{ùtö²Š,èšýíç)òžd¿C3EllCðÊ–CE(çurÓsžh™*| O·A¶Jr~mvØz\lRè¡k«}¸‡üÛ‹òzÕì5BîÓ`ÖjÐLÒzÁŠìîÉÆ”Ó|´òüÔ¶-Ô¦ÌÁ¦p¥À{i¿… _ûT²µcz2Tè´UK:-T¦¤’okÞ5CØȺ-¯ëÿ‚Œ¶,çó«éÞ5Ø7f’‚¶lÇ:€÷r›¸ÄÑLH2·ÖÖ^8iCbà…ÈSƒî•2¸6`tócd…52žØ!@Ô³Õ`*µ¯§ÓÛjåW…ë–NŸ™Zž @~êÓIedó£fÐOYf´žÃãUu:`ãDÇ”c-ŽÅµ_æˆ|;#©¼„Q®‘éš«•áKüú%$ù.ƒúÇ©Š.(ʦ±®XêcŸ:F¦fD¸øuTÒ¦ø;§¯' »h—¬^›öl‹k Éo(¥5åj¾5 #iÝÜ<ºv_‹‡´?5¼1½ˆÄY댢]xÓ»càù*÷6yFK±Im ¿¨<$¨ÖôwÍ9À?Šz^ÿ÷³¦…žŠí\Ò|©¢ ÈæAyw¾žAfyÁ‚‚^Þ5K °£ †‡] È S:s]Î"»Ÿø!þ¦“üÿö;¡M)õê;ÕMÒoÅ…ƒ&M93ç´|)DÔ`†¦“Iä`è·/!HÀ'®3Ê€Ü.@¢¿b—%$‰Q"m$2õ$Ú…à|Oц;uĪÝ{ÀìÉ×èwü«î «{r$÷ɾײ¡Ë'çZAµµ RTÄTQÚÎwéòâ›Ó’”µ®/ìádF6–}dA¾4ÞÍoÑ3暯×ÌÖ÷>9ï…áb{h1<0 *†H†÷  1ca50# *†H†÷  1?Û½Yuÿ©ä ¯¿YŒÏá`Ã(010!0 +t2šá›hPHÅ!w!·žd|ø¨ã;˜åpùzeroc-ice-3.8.1/certs/configuration/ca5/ca5_cert.der000066400000000000000000000020271516567600500222370ustar00rootroot000000000000000‚0‚û Àɇ7ÈwL`º—IR^Ý?Ð0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚¯ ¦õ(g•Å^å¼&^u:é©×$C ŠG"Æ´ ~ßÊJQ„0Ãî¬PþUxĺïOpœÑ²˜Ž4<» SÂNLÍoåFüµ r‰®³Áÿß¾¬íƒ¤)‹Úäû Ô½‹ž ½«ò …äÖZb7KÉ#E¡žÚÎK–‰:;|‹(·d¨ï}KÄ´„3¼w¾'çÊíNaà%~°(ãÈÇF‘ª¥”ü*„äÒSQ;hŽÎ¯zÊY©Ý¦æ»Å|$° u§;ª2}Ù¨$§ÖÄÛÈ×ñ ‚ì]ËÃäæ~8¹” ìZóZåÐv Q#F6 QÏ›í¦¯ÛY˜¥$1’>ò­£c0a0Uàk©´é‚­¹*ß§ÑöÁŒ†0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚}à¸Êm®¼õ^GÑ.Ú¢d‰­<¸Þ›Çœ¥Ð£æ|W>…a™–œ’ëiâ£$y•Íö%Ç£nSUñ/W»»UÙúîð¡º6W´›0ö? K[nT’ˆ½`y¥ì¹VÅÁY£mHt2ùHÅâ±9‰ÍÆ‚‡÷㪕¬¥,ÖQ­ãü¸˜Ž(óƒuºÈtx4씽†ïn©WK¨I[]ZÂ"œ\¿œž¼àcÄS|ÖíÞÜÖŽÈi·\Üì]Œv6Ô³Ëå‚k¤üà`VÛ¼‘t¥îõ¦fñb/U™9Ø'Ú .VQnbe¾¹öBºÓÔx¯D]Yzeroc-ice-3.8.1/certs/configuration/ca5/ca5_cert.pem000066400000000000000000000027001516567600500222440ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEEzCCAvugAwIBAgIUAMDJhzfIEXdMYH+6l0lSXgXdP9AwDQYJKoZIhvcNAQEL BQAwgZAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdK dXBpdGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFz dHJ1Y3R1cmUxDDAKBgNVBAMMA2NhNTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJv Yy5jb20wHhcNMjUwNTIzMTAwMTQyWhcNMjYwNjI1MTAwMTQyWjCBkDELMAkGA1UE BhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAMBgNV BAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEMMAoG A1UEAwwDY2E1MR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAK8KpgT1KGeVxV7lvCZedTrpqdcZJEMN ikcixrQSCn4P38pKUYQww+6sUP5VeMS6E+9PcAOc0bKYjjQ8uwtTwk5MzW/lRvy1 DHKJrrPBH//fvqztg6QpHIva5Pug1L2LAZ4QIL2r8iAKheTWWmI3S8kjnUWhntrO S5aJOhI7D3yLKLdkqO8OfUvEtIQzvHe+J+fK7U5h4I0lfhqwKOPIx0aRqqWBlPwq hOTSU5BRO2iOzq96ylmp3abmu8V8JLCgjXWnO6oyfdmoJKfWxNvI1/EKguwGXcvD 5ATmfjgXuZQg7FrzWuXQdqBRI0YPNgxRzwab7QSmr9tZmKUkMZI+8q0CAwEAAaNj MGEwHQYDVR0OBBYEFOBrqQSQtOmCrbkq3wCn0faPwYyGMB8GA1UdIwQYMBaAFOBr qQSQtOmCrbkq3wCn0faPwYyGMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD AgGGMA0GCSqGSIb3DQEBCwUAA4IBAQB94LjKG22uvPVeRx/RLtoHoo9kiQStETwG FLjem8ecpdCj5nxXPoVhmZackhnraeKjByR5lc32JRrHo25TVRYIjR3xL41Xu7tV 2fruEvChujZXtJsw9j8PoBtLW25Ukh2IvWB5pey5VsXBWaNtSHQyjflIxeKxEDmJ zcaCh/fjqpWsGqUs1lEXD63j/B24mI4o84N1uhnIdHg07JS9hu9uqRcOV0sbqElb XVrCIpxcD7+cnrzgY8RTfNbt3tyP1o7IaX+3XNzsBV2MdjbUs8vlgmuk/OBgVtu8 kXSl7vWmZvFiL1WZOdgnAdqgLo1WUW4aYmW+ufZCB7rT1HivRF1Z -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca5/ca5_key.pem000066400000000000000000000032501516567600500221000ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCvCqYE9ShnlcVe 5bwmXnU66anXGSRDDYpHIsa0Egp+D9/KSlGEMMPurFD+VXjEuhPvT3ADnNGymI40 PLsLU8JOTM1v5Ub8tQxyia6zwR//376s7YOkKRyL2uT7oNS9iwGeECC9q/IgCoXk 1lpiN0vJI51FoZ7azkuWiToSOw98iyi3ZKjvDn1LxLSEM7x3vifnyu1OYeCNJX4a sCjjyMdGkaqlgZT8KoTk0lOQUTtojs6vespZqd2m5rvFfCSwoI11pzuqMn3ZqCSn 1sTbyNfxCoLsBl3Lw+QE5n44F7mUIOxa81rl0HagUSNGDzYMUc8Gm+0Epq/bWZil JDGSPvKtAgMBAAECggEACP+KI00bA6AuYj97GZnXeuzSH02akJvclOWTw2P+CBb2 0SZa5GnBWL6g90IbkDlklvPFdVoVaZHwFX1dvCpVHcNS+EKYEJuaBTVQtsrhwzyU R715+/FlF0dsaAcPiKLhtWds13NEYiNIWMgwI0ZmbfOXvSGe0e6y8g0h4BgLJsLG 0coGbfff8GW1FlR+IzUrTCuD4gdiMS9x0l+aHa/A65bjTaryOhQCo8AbeYnzv0DX yZiHWvLed1Ui9HQ1Cev1b+IZObQHsOjNGvCjPZw8HXqC9EMqZbymIgjno+Ni0zZ4 HlOg7jXTgTd/5TFaxv+8CyMAulD2kcyfjbjxZcL0XQKBgQDaT3q06BSCHWEdhVv7 C9TeePxoYD3PHVypP7JxH+dgq/16vtRS2jjo3UsD6B6wtP0wviAEVwESek08aRrD s/lcT9mlmsXFGdoRiRLF/hpW+7DMNa2kP0H4MHb8wQrxNE5uVtod3IB+si8Y2/iP 1mV6IAzeEZ7m3if3AzgJmW9TxwKBgQDNQtgUZe/hx+jVh6a1XMQ+KTeHePLjRPSZ co2GH66/VJwFnDDMux2NJ3ZZVZEzJhy+9rnCyFw+R3QDm/gZeTIlE+fLHTwi1ORW dtqgPk0IincWeReNyaxoZX3kVvtAY18K/L9AFo12rFP0oSj24cRIhkekFmNINY/A m+G8n/Sd6wKBgGKfu1iU7AboDOKQR8B/VNh4odbpe6LgqebQHuYaOqYirO3R3gvc CA+zQVtvdsXvzd5CViZ/w708QT5EYVH+MW3xqOq2pBfqGOkJGtEVfYLES9fFfD+S UFQ2WNrQvwe+0JvqYrlQzz/tcXdykLUybz+f0RBVt4qm3DksXBmCFpgrAoGAOqF9 V1ZGzxdrSpMU63k0FQ1w7yF9P63SsIIoKseiAsUITBHxXomUR12eUKZAc3vPejy/ kwPoVWHTobRLifs0d6LX8wzGwKxPDOOmT198YZQrsB+murmApdFXxIGUAzBfVaQc fRH0FpHi6V2fdeXHS3APxq8ebOHfzgS41khad0ECgYApoGAqnRpBixJ5ylMHdn8U QdVeadcpeoGoynVOnJydpucOn1OQpLWbUd649IXEUUPWJ32WCI62y954kTZsRbrB xLTSicAEoTzySf6zxJAbmjJeUcTwDhD1OgO6lRvmQ6VFS39ogLUifcHVTtwoBuud brryfCb4DL4u93+5wUE+IQ== -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca5/client_expired.cnf000066400000000000000000000011231516567600500235400ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca5.client_expired emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = clientAuth subjectAltName = @alt_names [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = client zeroc-ice-3.8.1/certs/configuration/ca5/client_expired.jks000066400000000000000000000066441516567600500235760ustar00rootroot00000000000000þíþíclient_expired–ü—sK0‚ý0 +*‚é#ðÍ• â™8L,³BÀƒo4º·~äÅ^‘k²R5±UàG?@%ðÕˆ²ÆZqíf´Vº£•I­žì»·Tœ¨_Ÿ£Ò¯ÿŽ.6õ™‚$3³õôÄŽ¶–¯òVý«ÞvÜ›/â Æ8Kp|¢"Ó¶¸ÔWÛ—­¯ŒÏÔñ\ð W ãéÚÆH­ý´óU.È蔤Ö*¿¨³Jt ½§C‘™?¨z ¡A7æó*¥3—½Î“UùÝ@> ¿õE–¶­qtrºOw%Ì&¶;÷ÁüAVã‹!ô»ÐÉí¸!CDÝ›Ì<ô_4ÿZ·T\RFUׯd x^5“|gì P}&æpò£`v@xÂ3!šùœTç"|ë´ÍÍ/-&f|pƒ ¢«Ž¶`3rq<3[ W!ñzoMTùïMó 2:®¼›«áô¹8§ãØHCzE…n/B„¬k™4•±iÂäP'A,Ö\0JR0˜iðÃÕãõ·'×…†!9—²G`-”{w×úجuÏ@¥æp°'ZqœY…OÆZ}M,\i|ݱ9“&¥Nÿý6/ÂNÆ’Ló^ÏÈçïc³šl·i°ÃjЄØJîD'%˜ƒö †Ïùà_hT ÷Ÿa(¼âq¾­íÝçaè Pl\÷ѦÌßÏcÚ"8Ó”e_“73ÊÌJx*è-Òó‰(..Ÿ«\%ØWhŠán&–|@ÈŒIFÕçu(JEÍjíë¾Û¸‚æ*}8&x½áÝV¼þj¸¿Ð¹Í7Àœg;u†}=!­}°(D †.ºÿ¥vrM g[ææÍ›òÔ !çy\çfaõ>I‡æàO"[žíŒm·„”ù‘¸_#ÅÊèÎöû¬K«¥÷Bïùèé†Îã}~ªe`+‰L8^'/êä³FÄÛÅ$`ÞM ª;A!xBÕ¯·W@“ñ–„¹C^pSPc=œîÀRV­e´+ø'9QX;ª îVT'·ºªØD¿Í9œ2Ÿ—‡kVæYjz¿>÷•„°¦£÷‹áêøÛóL;3!pøxËŸˆ†–=©…—ߣ$ajåp @\6v&DÞõ;Z„ö!í6™_þ™ÅÍì£\3Äp;XY 䌫»ce2+Úa@hû4·yå*FÞ$c?ñ³e¨þ äE÷ Æ•ºO£Jƭׂ“&ÁR4úãEm8©ö£«õ˜7½ßV8þfžê†©‹ž®;¦ÄÔ ™çtœ¸B/Ò5( žÛœÖlwþ@ò4T:-Á’ù)ž3Y:Ÿºö@_OÍíowŸ™Ë! Ç^–ÒN¯º*¬™âÄý.‡mÄ< ¶À²Û3GœÄ„›˜­1³…~%Êcy¾Î|.yÒ±Æ7“ø Ó´—‡Hþ«EË£‡”Ø4PS1oŠ·•9ÖÂM^Óà}YzñÉW#“ý«Ý5Òõ m€¶wÎVH•Û"uã’þt¶¡i…fõ½Á‹\M`1ÕDƒÊJmQôóé‹úTuêío¨ùݱ¼ù/¿UWI$ìlÂ/báffH-%ðá‰Ќ/Ê;{Œ8ÌcÌ]1lzaþµÂÆ~¶§¬†:£‹1ûys—Dý?ãÄߺºp$W-X.50920‚.0‚ 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0 240419100145Z 250522100145Z0Ÿ10U ca5.client_expired1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚½é¥òw“þE™ßÙ¤æÐ½¢ÄPÆ, OcU]¨­ªWôÙ»l/fY™¾­þšñ–í¯Yºju!×*V×Þrx"4l3îÛ¡åÞá/‰ ˋӆ­†*½Ù0~]¦iˆÌ’rÄÉ£I› ›ÚƒÈ»ës¾ÈÞž—žÍ•ºj`ÔVÆH^-Ã"Û|¬fòÐÿD¡­<tEðMˆòŸJ,ÄÀæðbÁe„2)³†ñ7u2J¡¡Dl¼&¨aÞ·?¶ ¼9rÍÕîÝ5“ã^Ú%”Üó ´òdÃo@¢úâ …îN@vÃG£ë<*u îÞi6&–—Œ÷ÞØO3§£€0~0U‚ø;_<È¢|JsZý"Ž€×Z0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿà0U% 0 +0U0‡‚client0  *†H†÷  ‚”´Yü4ßáÒÇ_°z€=X5ÇðÖàâÍK=oŒ[P`Uì‰Ô‚Àx¸IˆWø<@…T«4¯;£3Ápðü•,< ­úx«&µž ×$a$›óü2*£SXŒ“AA¸’û‚`L|½û1:ÁW ņ FÑ:¹‹iF°—³Ï‚697„ ñ¼ÿÍû8\ÔpÍi« ¡õµ ño ú ã†ðÁ I7ú¥Ùëï§Æ£*|`QŒ‚‹¤>ñg“}È uî9š~L\…¡4¡ØZdI^(.¯"ùÖš4ð¦“ʧ°{¥%­=Ä31y‹€ÚWbhhٌ؞`ÖlšRX.5090‚0‚û Àɇ7ÈwL`º—IR^Ý?Ð0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚¯ ¦õ(g•Å^å¼&^u:é©×$C ŠG"Æ´ ~ßÊJQ„0Ãî¬PþUxĺïOpœÑ²˜Ž4<» SÂNLÍoåFüµ r‰®³Áÿß¾¬íƒ¤)‹Úäû Ô½‹ž ½«ò …äÖZb7KÉ#E¡žÚÎK–‰:;|‹(·d¨ï}KÄ´„3¼w¾'çÊíNaà%~°(ãÈÇF‘ª¥”ü*„äÒSQ;hŽÎ¯zÊY©Ý¦æ»Å|$° u§;ª2}Ù¨$§ÖÄÛÈ×ñ ‚ì]ËÃäæ~8¹” ìZóZåÐv Q#F6 QÏ›í¦¯ÛY˜¥$1’>ò­£c0a0Uàk©´é‚­¹*ß§ÑöÁŒ†0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚}à¸Êm®¼õ^GÑ.Ú¢d‰­<¸Þ›Çœ¥Ð£æ|W>…a™–œ’ëiâ£$y•Íö%Ç£nSUñ/W»»UÙúîð¡º6W´›0ö? K[nT’ˆ½`y¥ì¹VÅÁY£mHt2ùHÅâ±9‰ÍÆ‚‡÷㪕¬¥,ÖQ­ãü¸˜Ž(óƒuºÈtx4씽†ïn©WK¨I[]ZÂ"œ\¿œž¼àcÄS|ÖíÞÜÖŽÈi·\Üì]Œv6Ô³Ëå‚k¤üà`VÛ¼‘t¥îõ¦fñb/U™9Ø'Ú .VQnbe¾¹öBºÓÔx¯D]Ys$¹Íè Vý‘ͦ¸ ‚£¸”zeroc-ice-3.8.1/certs/configuration/ca5/client_expired.p12000066400000000000000000000074221516567600500234040ustar00rootroot000000000000000‚0‚Ô *†H†÷  ‚Å‚Á0‚½0‚ G *†H†÷  ‚ 80‚ 40‚ - *†H†÷ 0 *†H†÷  0–O!ÛâTÌ΀‚ Âí õ]¸Ü}ÓX!L?ÓO¾¡y®°«w퉬œ+vÙü\‚ѧ…=x_€³³?Z&,Lûd¯FeAøï³Xn´HIÑ9ß‘f^ý·Ío¾è“Úžáüùnáê åÿ¼ÿ®èòUœÅ·áê¸7 ì¡g¯¦¹^Š_ÀÙ?Üp1²Ñ6n¬îòI@™¤Æ}Áw|4Â6¤óV‚“?^SùqÆÉ_=柗¤ö5-“í49±v lrùÙ?<‚·* èÊh^D+ø>¼ûpFÛjŸÆÄ+QŒdÙÎ48iqTÏN‰Î ä¼ûy­öü3Pmß -~_ëovÏéK;t@‚mÑŠµ—f¼G{þ’Bf³ëüíÊù%ˆBÿ³áøÝ1v®ÝÁžšTp=•­A$™vå}Iuå„]öƒþ®ntúˆ.³5à‰â„ <ƒ Išn¥ñ|ûƒ‹òJÒ§d¦í}ZáôQ´Ie«ÂÔJ;ŽñúÓvÇ›h”êÄ®…ÐAmCØ¡ÞGäÞR7Ü[-û<Óðú²H¯i3höÝŸ±bË<Ôô©"=H½9#LaŽ­>O –.}aBwç57^"%Ã×ó#BœÌÈ}1-ì’¹žøopjw«?è³Tÿ¿xÙÏ’Šªi¡s\™}ØnGiŸh†µ[Paü0îwé×çi+Óˉ}6䤿» 9P<•h¹œÿœt»ŽLöz§ÿÌú,D»ûž_EŠ·ö<­Lþ³WïØc»xƒœ±©ýÛδ|8Õ!¸%ÎFAÃÚv}~ç¶Ø^C˜„ù9ŒSM¼”KÀ›…ÉõPÒ¥”AuåBУ<÷ÝYªÒë4aÑ¥ŒÚ¬?‚ô¡ÚýÍ«¯CÃKrW'¾ZýF¤zFÅ[Æ­Tx9fÆð¢VEc§ÐYâüMÆž5ÕßHå¦u7÷_u_\ಀצ1t'ÿÈ@ÊGî€ôš¨² "á)¥ú§òÏïÖ ÊêLs½?T ®œ®lˆìôÊ©, ›ŒGì‡S» ãì£ÑÅôùQ, ˜aÛÌþ›YHÕrkë KÐþ’§9 =× l7»(BqŸØ3æO¡ ÿ³ý§˜cK0lžÚ‰ÍF^Ê!†Lªd‹ò¬ç«Ã=U»ãÅÇ:YÆw6<§ÚD¤H2 ùž1}7E°|¦‚ËêaÜë¹{kÊygQ¯¥c°ŠÈˆ»0¿îîA†¶»†Hb´+nþžÕÙa¬1n°ýÆMFW±0–JÎ rÛIX…:ĦÖÅ]+ñF‡çÌÞ\5´ U­Ì¯š5ŒÊq&!}@…˜”ÈÛ¾gʽÅAg,•´Rœl8Bx±/š•†Þ‘ “^hPÖÝï´Zf ¦>x$âüò8ô‹(yÒågœutôä™úC&AôT—ÄVW[c CÓŠ8O%.ªÂZ62´ªGõ0êªTÑÎ2eFE|o  (ŠQDªhêY4ðʶ.]=[¸ Þl¾„Š+¼õ १Ê09à”0mo”ï&òýØ9ÃSŠŠ5ADádØ›¸  0ºñ9]«)Àk`TrôQ9ððò»×Ni™'>X‰m†ÿêÛÚÊIü€ÝPÍdý‚Œ›©“jÿét®Š@Æ·Ó<^©Æge¶ŠÈÌúáù…bß§ÀWçÞZC¤²äcõQEÁ30Sn4#–¾KÙ*iW:¸Å}YñdÝØÖâ9yìöœ÷Íë¯Þ]ÓL”nr‰s…~ `<»ËŸŒ7æ0âO~¹“ß}Ý8À3!ü]dÍ­ÁÆ`W ï¤ÿ;¬¤¡xØë¥Š‚~</Ôà»3WìZéKÆóS§ÖtXÚ8æõŸõÆç…L”–E¿‡.‹;sE«ÖÂz2Ð{‹g‹föNLÑ›‹[žL 4´õ6u󷒯˄INœù¾´& ¼òP.pŸ>Iœ$’Ù00Ñ«Õ œ3rÎþO5þ’žÏXYäY{Œ_M%\-|b¾€L!°2øsèîÈõNå\|t¾Z(Zx{¿)²OEbtAR½†“è2 ï, Íg¼‡²mh¹Á{íTïÝj’ˆ'Ñv¸ skßœrÀH›mó€.0ñ¶ù‘Ìr£³ÖFégUØô²œ,×4i ì3õð»rZK{^§yÿºý”ªÛ´Åc» v÷ñ¢49 ç†’¬Š&}Ó“œ»°uü.Ù#ìü4¥}’+cÙó%ûIúA „°#ó—¯Ô¾ƒ¦Yµ—k­Éz@lò’¯½8ÓÀÁ§'[»Q9Çã<+(‰Z>¸¦ùKi¼i¼q€'ÔÀùFzÙQ0OdUC˼6ZêYê›ÛçõHíd×±cz‘În± »¸XHüèÏ×na»æM‡<Ÿè€çæax‹¨(ˆƒ;ÝO¯"|‡¼žîÓaÎià™=BŽ(X¯æ¶¢Û«`÷%d}eR~Ò¥¡L)D³Ø)h½õe°˜-Ëf@!áÁ÷7BšÈq¸ªøW"IUS¥ÿ«ƒ™‹ãr@öˆNUÚuoä‚’\G«ÊªïÜù¯À¸r3{wñx#d{'Ö‰ÕüC®Ks=%ŒkGwg±pêÝ}üyĽ!ìFdC4²! ›ðê‘À5¥ƒ… ØÊ¶rŠôä×YF¾½?é\CJP/Ç>Ë‹ï¾d1ž¸O»¦ÂŒ™ñ$bûuœKO—ýÑ1K-5ìŠæÁ×uêŽM^®Š¢‘ÙÀÊùM™0e¥–¹ @Ñ hþÝ: ]lì–Á[¼Eiá¿ØC7ÎËãù§®p9ªç2{Y9¦ƒù°±Ù'Óýý#™Ì¦¾†õRFvÔ÷6M^2@‡ßQ”mz0‚n *†H†÷  ‚_‚[0‚W0‚S *†H†÷   ‚î0‚ê0 *†H†÷  0;ÆxK/‚ÈQÇvƒ™ E¨FViÖÊ2âWJúG÷EõŒÿ6{Áætåkâó¸ÚcÕówî¼Jl$rH‡µúIÀ§Hóõ‡p޳€`Ú ¦#ü„÷oüwGPKˆ·r(º †òV–ˆÛ‡nø@ùK(È…'z‘i’b‡-=îŠtƒÈ´¨ìMR ¾ÉÒÓ*>8³*+èU:l`¥èRÈQpùÜÆW“MÉW™~¿4“šÅv#’üóF¤(ѵmäŸj¼H%Š<ÙGê´­à÷Øá3€vb>Í g0`÷‹z?¯Q·lé,BÓØìj›×{1¦çÞÈÌ÷¹~aoySßn!nÜÝŸËbÛñê†9ÙuòlË]P™AĽWnÞ6 j×¶˜¾{}ÖB_[uE·üؾ÷;‹€¯¾ö‘âm ÿ׎i¼~ÈÖEÌé²ãÙ¸äoïhi‰¬KÝ ‘põ]þ¬ÒçjÝD™¡{4ÌU‘QiK?>"Åg¡_Q²YrvÂ`ksEºJlmÕaÐ;f<ôA üÅ *"1ðj\‰Ž ÊS“ÿ±v⌬¦ž¼§Jz]¢Yfä=”?£¡`µÿ'¯À¤ŸÅõzuž†Ÿx7Ä*çkÖ ®"Ô <ÖäýòQÚƒ—ôYôaó…ÍÞ%ùÅk² —ëð¢f+·‘¦`˱«:œªê1Ï«&[§©Ö›î3XªHò™Þ©0wÎùyÁˆ¿¡‚Öà4Þf¾´eˆd(¥`Ô<ÒŠ]Ô¢È'Ø×VÓÓ¬0<¶S™`‹$æm%`,:3æË2+®åÖ'úÝá–NÊã@unåz §º;ÕWñ…Æ $û9Ò·M0pLì*ü¡ãŠEK°²Zæ*¶Å‹6gK‹¢VÔõ^áª-Ž-ö_BOè+Øt^ð?Ô#L¶•56!ÑeýÓÔqß^3Ú$×Õ´XYµ_¸Ï}ðª,t°1è˜ß{ Mj#ù†ŸÊ](lª0‘{®[þ³¼jÐÛ4bÒ&p=]ÙbãäÑWZ5T}X­úYÉJQÄ›_Ž.b]`p®·¶zWݲZ“h#{RZ"`/«9W2©{‰HšCç¬eTÙ-Ë…I”X“˜,æÎýÿ]µHÌŒyYÌ’«âø»/3áŒÛ‚3£ËLEÁÉYÝÉmËÚáÖ~Û¦ex„“_L”\p:g,”{w!r(-K™öRÆ ŸöJþº±ÿ‰û9u#GÕÕzId²ÁÓ©¸Í уV}}Ö¦ÎYW†ˆbB¸s“g£©Ñô|à[Åã´ÇÅ.&ËÉ̹xWîò–±þ…qM›°ÒÕ´µÛêüo†: ÖÈŸ…ÒÝ="5Á$ACo/ÿ½÷. Œ`ù%[ÜlfrØÃ>8±¦ñå :~ƒSP]^¦QĻ̦ÈêT1ôZ  ÎÐê‡DðÓ–pá_€3ÌOƒ*éìHJa ÉÜ%"Çl°_;x÷ÂhWËGv°1x®¹68‡È z©¼~ï¢Û¾¶=Ï”"ëá ‘óTåµþZ‘Eëi'»Ò%1R0# *†H†÷  1ÉÕQ€]ãYÊ8Y_¯òɱFZ0+ *†H†÷  1client_expired010!0 +r??1 ±IÜ=×Ú°‰½‹Ü®ižB¦QÄ­œ×Žzeroc-ice-3.8.1/certs/configuration/ca5/client_expired_cert.pem000066400000000000000000000027451516567600500246030ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIELjCCAxagAwIBAgICEAMwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhNTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjQwNDE5MTAw MTQ1WhcNMjUwNTIyMTAwMTQ1WjCBnzEbMBkGA1UEAwwSY2E1LmNsaWVudF9leHBp cmVkMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVw aXRlcjEOMAwGA1UECgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3Ry dWN0dXJlMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAL3pnaUfEvJ3k/5Fwpnf2aTm0L0ZosRQFMYs oE8YY1VdqK2qV/TZu2wvZlmZjb6t/prxlu2vWbpqEnUh1ypW195yeCI0bDPu26Hl 3hbhL4kgyxeL04athhMXHiq92TAAfl2maYjMknLEyaNJmwyb2oMQyLvrc77I3p6X ns2Vumpg1FbGSF4twyII23ysZvLQ/0ShrTwFBHRF8E2diPIfn0osxMDm8GLBZYQy ASmzhvE3j3UySqGhRBFsvCaoYd63P7YgvDlyzdXu3TWT414F2iUFlBvc8wy0AQXy ZMNvQKL64guF7k5AdsNHo+sFBzwqdQvu3mk2JpaXjPfe2E8zF6cCAwEAAaOBgDB+ MB0GA1UdDgQWBBSC+DsQXzzIA6J8SnN/Wv0ijoDXWjAfBgNVHSMEGDAWgBTga6kE kLTpgq25Kt8Ap9H2j8GMhjAOBgNVHQ8BAf8EBAMCBeAwEwYDVR0lBAwwCgYIKwYB BQUHAwIwFwYDVR0RBBAwDocEfwAAAYIGY2xpZW50MA0GCSqGSIb3DQEBCwUAA4IB AQCUtFn8GzTf4R7Sx1+weoA9WDXHjfB/1uAR4s1LFD1vjFtQYFXsidSCwHi4SYhX +DxAhVSrNK9/O8IUoxYzwXDw/JUsPCAArfp4qya1ngvXJBlhJJvz/DIqo1NYjJNB QbiS+4JgH0x8CL37MTrBVw3FhqCQG0bROgS5i2lGsJezz4+CNjk3hCAE8Qi8/837 OFwA1HDNAGmrCqH1tQkc8W8g+gnjhvDBDEkSNw8e+qXZ6++nxqMqf3xgUYyCi6Q+ 8WeTfcgMde4cOZp+TFyFoTSh2FpkSV4oLq8i+daaNPCmk8qnsHulJa09xDMRMQF5 i4DajVdiaGjZjNieYNZsmlIQ -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca5/client_expired_key.pem000066400000000000000000000032501516567600500244260ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC96Z2lHxLyd5P+ RcKZ39mk5tC9GaLEUBTGLKBPGGNVXaitqlf02btsL2ZZmY2+rf6a8Zbtr1m6ahJ1 IdcqVtfecngiNGwz7tuh5d4W4S+JIMsXi9OGrYYTFx4qvdkwAH5dpmmIzJJyxMmj SZsMm9qDEMi763O+yN6el57NlbpqYNRWxkheLcMiCNt8rGby0P9Eoa08BQR0RfBN nYjyH59KLMTA5vBiwWWEMgEps4bxN491MkqhoUQRbLwmqGHetz+2ILw5cs3V7t01 k+NeBdolBZQb3PMMtAEF8mTDb0Ci+uILhe5OQHbDR6PrBQc8KnUL7t5pNiaWl4z3 3thPMxenAgMBAAECggEAC25jpGv5m/0OoqBYVYksp8ks71thRlr7pSIY7cN61y/L PQjWQOq9ZiARE3uZ4jLFWVY8m3n4Kkkp0afqNHMEJpbSHFz2oyzRefreiP05yBGt QXGTl4Ib++VivESvk6NNkYPrl+X+1EgVsW2qY4vnqNP6ms64kAqCbx4sdOHgvETI W2WecJKto3MitJfztkRAmMrdx2oIPb159fK3gCnYjFvRUqOwg8uj82f7k3SyEGV5 9ogFzdcHKBblumNTFJwPyYh/fEvFdreW6ptLeJfCCtYrSjzdLtEviKjmwWUM2Rzg eRBcdudTVwGGbKypeUmGQGhwCiI14RISrM0/2hr7wQKBgQDxoHWILP/kQvgFe7US H9BN+d+AkgugTllXGs/OWJJdDwHK1/AT0ydeOxbG1hr7UF4Yanbxw3ve0JcSvBRN QY7TK+s1JSCCZdjnu1WwajfMDWl4DGkLZnsOGMXu321gu1d+QJ9RO2ABEtps1E1i 2QQcd2rL8ekze81fNUNkfgItXwKBgQDJNaRfbvBp69bB4LWV1dxE3+W54mtsDeEX pwAmS5b5Cqd3cLZHzUSxvLqFiboj+/DUfbOkSQo6/6ZnWNvJIbRQJFSchXGXBb6U 0oNfZm89h/7Ewy1woCZ4SKyTiqv2jkgsbXLyyJkVsznUM288KxfW3wyVVhVzOqto p5BMxBRyuQKBgQDTwIV/87/F8RKe640B9zN8QpEmgdcCg+czuOGIuoJ6X154v8k7 9n63zBzn4FcBC6uKxjK7KU/zMuZSmtVH5z4dvo2Ao6rb3Bm866Xq1wtTHiXh+S5N uV/6OKet8cxPS58fm86DR/+YsUcOvPecuwcpU1YaqURvw/11hJ4tAWkzDQKBgD24 /ttnpMhZWF/RFuMH37IhHM+Q7XMQLuSajikxNvbeldDF+qS8Cz6arn0YaslvF8mX ZewXm9PNaLZ7Q7DHbhDHlE0PgnDZikUM7s/tFGLDvRuO4/mQpzxuzsHT4DyaGPnH +WMQtiU5/Ztiy9ShQ4belXWaGqpmbP6FqHZkEAHBAoGADT2d6uOGNzRzltZFTNSO I8Gr1GZEO+qJsV+2s3eMyYDq+5/vfdUpXlFOVr/GFxWq7K/MH0CZtMel1X73i+RX 4racEI8UGTqyr4dN4432RAtp8/TwRWqobP4fPdxJAb6K8fclUBKHCpfEAqUElW/y u2YG2y7+X/+cMMBbRDg7R1E= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca5/client_notyet.cnf000066400000000000000000000011221516567600500234210ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca5.client_notyet emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = clientAuth subjectAltName = @alt_names [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = client zeroc-ice-3.8.1/certs/configuration/ca5/client_notyet.jks000066400000000000000000000066421516567600500234560ustar00rootroot00000000000000þíþí client_notyet–ü—q¥0‚ý0 +*‚é}š˜Q ˆì– †H“çmö-cT%È”›>µadá–¹L$­71|…OâšYí ŽøÀÔ°Š ¨UÜäv·‡tcDn´]U»¹$"[ÿCÌöWä±|G€·6£šÉ¬ó×Ýüú*›&²"Ê´²Õfž3Gþܛӈ{>sçäµ” ˜ØÅƒtGWoU ÔÕÿé„óÚ± ÁÒe¥~Ë)±®mNqÊ ÂçyAÇ¢Xd·p•ÕéäË!e¢{ÍJÖ²×ÖÿPdsP,‰sѦð“‰G*Qf}"°}´¹ ÃM5xxÙq) mî”õ ¦ñ5cÅ/oŒ‘—‚tòa|Èô©RcšƒlÊKùñx“Q 8çC UÑ4Œ®5–19LS}ÈH¶`g6g…‘­»Õ[²söž3l~RÖ8Ë†Š²?9fØ?G†O"{#.—á.°Î%¸{ךRëªY7#uFtnÕ^R§½\xÚ‹P&±SCâŽ>Ò®ÙZdøzv%ʼn– E¦@¥ºJ¡‰°ƹXÄÞÞË;Õâ÷,¾±K7%séZÆÆ+8¢©¶ñ£ýqœÍ÷¬y9DÃбW§pØM6W©—ßWfõ§ÆyûzÅ0Õ ¸‰Ìf/!sœB%æÓˆ ÓQ!ƒÆ`øÚ4ÝOûÎx%¢%v§”±µÜ!modÎ21üÖAJož&8 ‘õ²íÒ¦ÑK'™#Ÿ…k‘ƨ7ö˜„¹T¶‹taôÀ&õã¤Êr¹“tþGõ—àl’©å~8 AzÜ/ôö'Sü×Éuج8lûqÍÑ‚Kjú‚!50 —ùZ+jŸ!p$&™NƒõÔú ’!"Q؉Â3X/|5|Ü(‚%}jº®Þö|´'rˆ&'QKh«4#uÊŠ‹»òÀ˜imÛºC‹•… ¬ùùS¹R¬DJe“7BkÅ{€"$Š ðü®ÃÊ—ùj¢ðÏ"9:I‰®~±þ«ÊõÍçu#>M¾0J–ÌÁJ`„ÃÖ„Aûˆ·ˆ¥Xèj /Ž+îš͵­ ÿƒ‚#F?Ïst—òky µÄBW?©œãt-!û:~DWë Ô‘87œ“µ·tâÀëW#VC´ h¡iŸ…Yi‹Ëø@fåo{E‹žr3›Nk,W%1\f+!–-„…£úNÏMþÅ¢¼âpTZžÞMZãùi}K̯yZÀ¯"ªÂzô ô®Œèöh’©´wäð#Q‚c?j›.Ÿ¹kLJa·¾Æ£vÕux*‡Sú@u"å˜NuÆBÄÇ*Ó€®üX.50910‚-0‚ 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0 260626100145Z 270729100145Z0ž10U ca5.client_notyet1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚—š—T}ÌäJ0š((ÑfÆðuÉÀH¾—-Ö^°©3…2M´ãžéA8c’Ü4Ò6uðHãꜟñÂTg^!1‚Œ«§´>Yו¨‚Ù¿ÐÄdáJý`B´†A¹NpŒ=>B‚þFJ×yízý€æ†cFñÏ}BˆÓæi½ÖOÝ¿FeОœ:ºÒs¹™í—õ°HÖ­Ù¯¯)`Ò¦Þ»•Xãxñ«‚¸ë%àÖ<ì»(C:Óµôþ;ŸºÓÕÙ4Λ㇗9ýe{Îp5|[5h‡ä®¢Ä– – –Ó£ýȹnNæå¡“±»ú@«b,ß›u£€0~0UýuÎ8Á•ÈN)–GAˆÀdbJw^0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿà0U% 0 +0U0‡‚client0  *†H†÷  ‚«?þ§P@Aê±K/µ5û|Ù‹#Ïq!b00£œD•!'‚ä¾ÿ*»Çj‘ŠÕ!$aZ)GYž0åÓ_î´¤Ïgk¤ª ZÆ Òp€06ƒ; ù }ĔЄ?)xcf¾Sm~ýÉ·Ö¥ó•UÎåY(1zê$fuFÕÍt@ÕhCèl÷J%xÚ7r§ÿó—Y;—åÍ£ïF´:?ÚœyøžùÌo<¨gÖ…R¥‹ELŠÂFÎý¥¢”3f)³fFiÆ@X.5090‚0‚û Àɇ7ÈwL`º—IR^Ý?Ð0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚¯ ¦õ(g•Å^å¼&^u:é©×$C ŠG"Æ´ ~ßÊJQ„0Ãî¬PþUxĺïOpœÑ²˜Ž4<» SÂNLÍoåFüµ r‰®³Áÿß¾¬íƒ¤)‹Úäû Ô½‹ž ½«ò …äÖZb7KÉ#E¡žÚÎK–‰:;|‹(·d¨ï}KÄ´„3¼w¾'çÊíNaà%~°(ãÈÇF‘ª¥”ü*„äÒSQ;hŽÎ¯zÊY©Ý¦æ»Å|$° u§;ª2}Ù¨$§ÖÄÛÈ×ñ ‚ì]ËÃäæ~8¹” ìZóZåÐv Q#F6 QÏ›í¦¯ÛY˜¥$1’>ò­£c0a0Uàk©´é‚­¹*ß§ÑöÁŒ†0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚}à¸Êm®¼õ^GÑ.Ú¢d‰­<¸Þ›Çœ¥Ð£æ|W>…a™–œ’ëiâ£$y•Íö%Ç£nSUñ/W»»UÙúîð¡º6W´›0ö? K[nT’ˆ½`y¥ì¹VÅÁY£mHt2ùHÅâ±9‰ÍÆ‚‡÷㪕¬¥,ÖQ­ãü¸˜Ž(óƒuºÈtx4씽†ïn©WK¨I[]ZÂ"œ\¿œž¼àcÄS|ÖíÞÜÖŽÈi·\Üì]Œv6Ô³Ëå‚k¤üà`VÛ¼‘t¥îõ¦fñb/U™9Ø'Ú .VQnbe¾¹öBºÓÔx¯D]Yöc‹`"*½þC£•â’æØ­zeroc-ice-3.8.1/certs/configuration/ca5/client_notyet.p12000066400000000000000000000074201516567600500232640ustar00rootroot000000000000000‚ 0‚Ò *†H†÷  ‚¿0‚»0‚ G *†H†÷  ‚ 80‚ 40‚ - *†H†÷ 0 *†H†÷  0e-R™ÙÓ€‚ ^M‚ìÑVM§# sSùÔ¯ŸR–ëw½N¯8è ­\Oõ·þVºÿßÏ-j“P?(²¦Ä•”ÿ™µc‡ßåÜÈ]øÍ×DV?-¹âœ„Ú¤XU(ÓR(!°6¦o|:Ý^E³š¿e‘(Ž ‚QÏl0|€{¬Fü1ƒ×ð‹àø$ê¬ ÑžŒHCßaûŒÚï=À)¢ÙïrI+ûõñ­4,*ÏL°ànŽvn ȹ{õ˜el‘QsO$Ÿµ`Ä}’»Pž0®í³Y¸8q&„{U eçº2;@wà&}«$bIˆ*› Þ,'à²ì )(ˆ)óš2X²AiwÑ;‰ƒ86ñ=´ÎÔìo©$®_2‘l¿²X°àßÜüAǼY¸ƒ9Týf÷w’ÆßÚìJ÷ ¦Œ¬"碦”¿ôˆä µׂ“žÀ´–ÖŒ‘ç4P K®ßúùK¶½sê%â½D¸¾.p•D\= ñ?aê/3KàwFÒ /=8»Ëņ¢öìZÜôZFLR?–[ÉB0˜D&œ·•‘ÐÀ­Jæ*žy& ÷à’~Ö&ÝiRÌT¼Q4¤Êv²iuæ¡*ÖûÁÞ(‘7c’x¡jáÉý(Bd¦='Òlk½pè‚‹è—ÏWkFùÎ÷7å< O?#qOƺž¹™KøûBêDâÅñaôâÊì1m•}yA9{³ðöÄèé4  éQ5.ܵ]”KÄrÆ·Yz¯Ý 16…ßâ¿õìÛ÷eÌÂêm¡Ææ¨Q”ÿ$ÃïÎY¹5%ØnJ Û¼vQŽ7ªv¨`sh—ÛQ}yŸïqæu“èyÝ3Ê|¦¨§i§ … ÍÒ°Ú À£L1ùwXî¼@þŠV!&^]mF¦À;%%áPø÷€È볤’‹¡–°›z/YBe——JÈ,¯ž×³Ù÷ öéÒ±;íÉþ[*Þ9ÐÓW˨Ãuˆê>™§ÂkU:[—Gs€ý ©kh‚t¨ÞÇ’üAu!³¡HWmD¥—’!8<ŒUe¦Šö ,QúKlÖ")æŠÒÿFÍÔ«/ùF2"ô],•š4ü¦ä…%§„ªSÛÏÿ“’ -Ø<§4”¬` æÖfM€ Ö‹¬^s´>mŒ2°„<÷kô+h‹Þ}Šqï¢ ¼:þ®p›iÊ{Ê|—°œ÷*(Uîët‡~\]ж±ö“ADu*77Eéþï1òTËÞ?S^X4ás8WÔ-1)Š}Š4§2÷Ox¶|,´³&aq@‚ûLJFL>Uú-zÇdÛµJñé%7s žÕ‹óbŠ÷3qñ†Ž”s_æcx¼Âc:þ ž™YšÛbÓf5¾FénNT|üzð8“¸þUkvô‰ƒ3ý [xÓ”Š;G©Îû¡SÀ(#Ÿ™ˆDŽ]$ˆhžÌó¼G£J4Uûä§(1Uðwªð¸ñ²#F—/Ð>܇º„¾÷HÞ1UqâìôÛ…˜">kOÄý„±êE£²¤I|rëUýÖw³¹ñ/‘ë¼‚ŽºÌŸ"Òm‰´Ò•½£`kÿq"û«¬Ú—WQ¨Ê,9Šì›ì`Db…z¼/Öu0×°þ™‚xŒ_F »zGâœÝªyaoÕ”w–Æ–ªUƒ¡®6oUR$h•Ù/·Q©t؆Ýošt}Zõª¯ :G¤5´HÏÍ›W‘íU=>zºz¢a‚¾z[Úi”Fè -5ÝüÍ"HË €„ºZuU¢H¿ÝœVÛÓÅKÏOz×”&ÑgsäꎅEj'Ñ‹‘‘ŠMsö—k>3]`ŸGøz4ܨë&ö-{Äfïú Õóóá± Îးê¨Ð*i=@˜ÝêW l·€µ€ZÊPéÇI³è Þ}±ê€_€tK‡üL åõ ÐäåÞm¡À(¶µª­©üB$ÜK+"Éõרd÷Ú4·Å“/Í\˜›pQeõ‹›Ú½­¸„Úk­‰FõÝUŽ)CÑ™}/6…g$c²a[ÃT3þ5”dE­ ÑtüHî•ÑîM‚{|A8ÃàZx&qUp*¶7ظU(2UváÃܨlõŠ“,»Ù+BÊø5’Á™ßëçUžãi{füfQeÿS¬x"£Z‘¬9…i¢âýé™ùFb½Z@-®¹¬¨Êx¤¨ÛáßEmò T½‡Õ6.CØTêmß ÝgBm„ÖM6²“µC(o8#ŽÅ+5`–§U¢pVîöäs£ ¡K›HØcÿœˆkF„ߥ}É{:ÄÛØM'ÚŠŠg|XÑC ôk?ÃzTä­äYÂB¯9âc°%׿ˆý/¢ãªgˆí ˜ ¦É«Ý¿(öd!Pã—fÑȺìâÓÏ{ÃÁƒï¸@KaÃækdx ÎÔ"uãhÖD8вö}þxöÙ€R>ÙN$å=Wâ¶ŽþRz8w€\ùL»P:.¤!.Áewh¥r3dœÅÞ (ySÅt‚.U7èGT:½N8±â@‚C–jy޳Œ¤Ë±•i%žðšêW`.câ–´·Î¤›•—æ/ÆØ4ò§éœ¼Hó<Vœ_W±bM´;,«8 `íÑnSa’ÝjOº/aï²·à‰˜nÁÔý©Õ«Ÿo´³q bxÉ¿-P°Y¶ÿÈ­`d¶é‡×X&À©ýÊRïbÆ»Äv ÀËú´Ÿø_¯ÿÜ ÜpFù…0‚l *†H†÷  ‚]‚Y0‚U0‚Q *†H†÷   ‚î0‚ê0 *†H†÷  04ñÈ9”L³‚ÈNO’k o‚IßäÕùÝ4ÀÐ.&<¯ÌÚ»ß@ d] QÍDg¥Øœùìïo@ )=Å… VèÄ!Êö)ܘÈSõ›D†ƒ=âµl‘‘!}èA#XdùŸ™p5ÈÈ,ÛF¤‚ýu)TƒT«ª1¥rA è0‘‚ùü-MNâd/ Ÿ8)·¤AŒ\•/<$“dׂƒ²¼PÇ#¦g–VÅ«(|å#žù€òékuu@âs/ô†ˆ*8ÖŸg¥¤S'#ñ‡®– À£Ô 0Â×¥‹èý»Ü6€ã9ŸEæ“Z!±VÀéy:oØ:úo•+o|èÿ-ò•:-A20NºRBn®RùªšÃÿáf‡^“˜ŸL?‰”!­¦_ì!i8%Èndþ¬ÀËPÉÈfÖsÝF· ?.h-Ôǰ¼íéïBSäcŸö·:CïYÛqÁöŠk[è#8*Ðè~o°3¬Q íå¸èìù·”ŠdÔ¬Mˆ²8û;H–ŸG4i#`,2—à¸þ~ï[gØã¤²îRÁFã ¾ÖͶ_óŸ±'MŸLo` ^CùH°Füû!YÞk2X Ó×/Æ!f¯vÐo~º'¹/4)íïVj¶Xýƒ|ëÌyÕ÷k…ÂtÜÈ,àÒaÁ†Y@Éùü¯„óub)_ö¸ÂNó‡È(Dí!¸B»:QdW׃„š5¦*·»>O!+ Ok-ZéØ×‹åÏ÷£ÍFX´ùJÙœí–\¿ê8 ‚ï€ÿj­ÂXj¶äQ …ig˜=Öž‘Ž„ž)©Ý4›¼üÞ4$dÛ"µï¿+m$a¬l§{Ѧ'v©K€CÆ”$+‰ZŽBâFn‹ÒU+QŠz s¤ÐxÌ” ¥ÿ—P#&•ÑŶԆ¿ƒ’t+®žÜ};Ù)Tãûl”HÙo‘ùbÅhÇðh.ŠüŸ¾Måu|F¿€ó`¬¾FrAVZ¾òd(í}0 >íá³[³®$ŤC¤­,‚õ¾µj‚üúàI±“ ¢q¡¡Ð¢-¢íxÔFÏþ/¸›­´cç² Ý ì¬Mh¤cÄu @ÇgóZ·~öðÂ"E½®ûˆJ´†î ƒÓº€— ÑÏ‚q•Wyç èbwŒÇ­Æ«÷©Ïìã-~MüÀ±é\Š+œÏtŒrï[TÎdÄôî Ò8ƒ“ÛJ+¢å  ÿûÆ”£Þ¸š÷“N˜¥5~TêyÍèHÑK0/!Fì²LL¡Òcí‚æ€®üò!±«ÙøévJU‰´ dÝŒÆ)áFMY"]Ò 4yÉûzo ’lÃy>,òî.2Uõþ:-fÁ²ryÇJ0…=8°³àŽñBÒêàƒœ!›§’nhr…f—ÿ²ªÎr2ÓÛ¢ë½6n|¢9ÜßÉ•ok¿jöþZ´?tôÜXG&Ÿœ%„ær®M7#| ‹~jó1ØH㳘 ,‹ÝΉ…+EöÜê©e-ÅÑÑv&ÝK:Šfý“PÀ+]˜ÎJ6@ð Á(ÛïY{LÖ^"a fÿ×?£=Õoû›²°o^zÁ¬§·;5ímäí$ØTQ×J»k¥¹Ù ñÀ÷9ù6šS‚eïôãP¥"{i‹{Ò#ËÛ$Œ¦{N¯NfÃ"`ASm¥×8!ЉfÜ©ƒ¯­^\ÅpýÍ­r„¶^Ǽ¶.ú›H—c ï`æAªÁ ’.Ý%3&ï^=,—ñœe–¸TšÜ¹*þýÝÉ‚Qõ LeÙóg ·8*_:’Uö;­ ‰*ÞÙÞ—ÉdÅù‘’½'‰\fó6@ä±÷sôyJVm:º:+ºý"¡jga¢(Ra$I•úÇÖïîVš]'^<–t¦Nð­c$Po² φ5²r/2Ðã!”?;`½›ðQYKò@3–Ù6¹ÏBÓ¥±dúž|1coi„bönÀx)6ÈNQ39µ(îSXÜD‹s4^MÖTÓG"Âò"a‹òwÂæ¤™e+¦Æ®É(ª‘'Œ­÷‡3I×¶)¡î`)6Ì͈qoÓß]CüßÕŠÞÁƒmMÕö1œƒÁúmãôÜ©(PWSq›*—»ñ–žàAÝ»7c40hÕˆyõ¨_t¨Ô-Ê–Pn!ìO*Ù1zÛº)/8ÿ³‹vÏyÚ6U¥z ˜ŠÑa¾Ñ4X.509@0‚<0‚$ 0  *†H†÷  0›10U ca5.i1_expired1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0 240419100151Z 250522100151Z0¢10U ca5.i1_expired.server1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚д͸N™üve‚ú%>6 ΓGäoÑö±PPóF7ýn0‘Ü·)R¼cW„ú±kGÿR¸kßH¹FÈÆ±®â1ߊžJdÕÇS["ä ÌÈÌ’#ÀwÖ$@<4ÞB}$HÞõ„*«:¸ .NcüºÚ®=K%ži –Îé-u„/鬡}lZËÔ6HësUV|Dfº4ÀóùE(gÓç3-Hµ‹q9fq|6i~’»‡-rÙ@ùBóQÓXóB|…ÕôcÌžmÆt¸»ÍQÚª¸¥á×#­œKNËùî®›ˆ&ˉoÁ|P™¸óû?_™[œB:Ÿ±Æ;£€0~0UX±ˆ¼šÎÑî­‚ªW.µá‘öÞa¦0U#0€÷kŒÐ©ËäæhçÄèìDâÜÌÔ‚0Uÿà0U% 0 +0U0‡‚server0  *†H†÷  ‚>[ê_ËðÐ#ÈîQQ±ý[Ϥj$®À…Ë$Ÿkš v»0à'8`ö ÿ¹,"øwÉ/ X}@˜Šåü»¶Ÿˆty¶]kó¢ 6)žðûDÃDÝžU_.‚kà°è+ð3¿0&ú²¡ò¨ó7œ·ÞɤêÆC…èïÓ§a{ÿ”ŒR…†f6! Õ/‚bôïÂçf6<ÃãÊÔ{•µHñOwÍÓ1ä·ü0xsbî;±Ç¾Ô”Г]Ù`~ÿÛñÚg¶Xé†T’šóA#¾èºId¾/Qgëî’kVNƒ‹‡·9îò‹÷jY|¸É?É÷ƒ‰OÏ9…PñQ‹™`Ùå/X.5090‚ 0‚ô 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0 240419100144Z 250522100144Z0›10U ca5.i1_expired1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚®PHË!`Q§~WÅ×ãx2b’&*qE>¥‰¸óe˱õ9ã}A#X—/¹özc±µ\Îk/?‚ 0¼V5Zƒ»ƒ'w9c@oùomh)Ç “LvÇkbí¢‡–½®oMŠZ# Õ§ˆá»OaJ¾"¬ô~Å?…)ËôÙ=Xðìt *Ó‡¨:3X÷g× žGW» qâ9¾&VÉÈÈkZN n‡J×:…‘ý}ÓÕ§ù’fl ”}¹ƒØ©™Æ{?YçûîExa&r dÄxHýÙ/®²Ô/ÝŒ¹7…ôÃŒ2ÿíCÐ;‡î%MŸ0O£c0a0U÷kŒÐ©ËäæhçÄèìDâÜÌÔ‚0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚6Íß&–r±Y=ží–¤»Ø·Úûÿ€5Pƒ¨1JJÉc’‡pÆf¾ïÿ[€êj—´ýëC½Ç[¤ø¦ Á±m`‰8­œYÂgnÊè1ŒD[£½È%rƒ`ðj¨F^L#^÷öÌ“áOlâ¼aŠèÖ¥j`–8Y;WÁݼÈÈrhŒ»CW?5Bƒ’x—ze)V˜u´ÖQ…šûêìÍ7¹n fYÝôƒ¸öŽ:J&óyF'OïOU£ êµ&GiÊ œ¶·hÍN¯X‰½?Ø+(`åéBލýüTHÛjŠ7Wn|” ùÞ ëk—“Aúb✲Ě- mÑ (x žH—ëÍÌ„"”pÆëUñc ˆûzeroc-ice-3.8.1/certs/configuration/ca5/i1_expired/server.p12000066400000000000000000000114621516567600500237440ustar00rootroot000000000000000‚.0‚ô *†H†÷  ‚å‚á0‚Ý0‚ w *†H†÷  ‚ h0‚ d0‚ ] *†H†÷ 0 *†H†÷  0iU½N¹*Œ€‚ 0À') Ñ©¨ aQ¾ß»§ßMá)O»q)Õ" Ÿ;ÕgLmz„H†gþ™äHïÔgÝ›­i ù³æþ‹j×ÞºIë¡wóÁô`…md45Ñv*Mc”%µ­q° ‡ïÒÃ6ùKÒ/•,ÆwJè«}+è8 s#àÑ¡[j vjfÍüÒD+ôáJ )£u ¿5ÆÑå­›µ+ü:ýQ´gN“XoëXލJÏŸZC(¸å{H¥²ÕÜ3Ã>ÐPZ îì$×Ð “ÿVbf²ó˜ÀßÌ>)¸é`ŠaO¦gÖK5<V\üUjüÄ—¹U:¯v"GÛÔgÛߌūèÉN¶ªÇè@£Î^?ˆg›48»¿°®:nLx€ ›¶ïºÂ.¡<ÄšE Ó>5”û³*½ï{Öëí˜ÒZ}’‘Ç)±ŸfQÏJu[ËëI—^®¸®ëE6©âÝ9¦—ß±ŽŸ:¡•˜Ê$[hŠ]‹ýèzü²š†ÛjP|Æ’eíÉÁÃ3„Ü­h¦Íƒð6˜¨YÇâ¾æaá¸ol[Ÿ«õK%?kÍi“£wæËV1b^™7w½áÜ7u¾ç4+2[hå©DíuÕ+‰÷o¼nÜÒ’b“t1a48ª~ÒÏ7K`(aàãj `>9ì,ý÷j°ÕÇò|J­6¤ËÕœ:8xf30Éä ¢ú!­-ÓüX‡`îRÉ#ž0Žœj–ÐÀOݯýŒôSLª²½Æœõ… ÀjŽ/ž¥>'Yòi¬÷˜1$Jq€÷°È£øüüÂ?L­7<·‚Ø%ð2ë+»`ÀK„›Ý)–V³š%ÿ®+mËyÅà¨â¦Ùõ, Ì·rF*oXQ} @Û þ€`ãhÆ.”"æêýáû#S)Ü™ž&¯Í.‘‹Ôa00þgE|Éy iÛ4"͸Gœäˆ¥´„íç8K™Rs¬8Û%ºÅ*q¼ˆýL?qE±þ7É -½²Ù?T¶œù¼ ½æyµº¥öú•×r#Nû>þ^Ó/´Ï:)HZ·¢W¥}¨r•ó¥d³ÉH€[ÙÄÜ¿t-íö(^¡‚ò†Q1ý΃è¨:»“ Ù!GÇàBï' ›w /m%K!¦É´ŒÃöºÕ€O¨»° >õ8ÕJn\x4âý×Qå¯Q£”Mõ­¹9Œ·+2q’1"ØÑº4ý«Ð¡ÖÕ Ë{ ñÚ‡§Ð»L)¿'hr;…`úµ±qKºK š¹Ê¬\S©óŒA•¢¸íˆFçAŽ4Tª; =X ÅÌ쟔ûX©«.¬ÉÛ67vœê¦?™™)²» &/ðÜÃú„kز‡îM[‚Öín—Kk¢è.‰”^Xp Å>õdQ%—Q€´˜.)•l= è`¦ûœVº€ûÓpÕ® + Æa¬_iŸ¹~c£ùÖI£½Vè1"¨88Ç›ŒÑŠYÞ‘™|‰‘òœÐ;(6ñL®–ýà3¶0ÑZQSÒOñ©[+´ÆÑnî›[[`TnµÙö„h”þ“à ån"µÀx ßÔ ëT¾º+/X™ˆ÷Å•AŠß¸/¸ÁcéµjÊ lr5%/ ™ãŠüŒá]¦°÷7íÛâ¾’´~<¾'—=œ_Kl÷¼Ì°’­{øÖ@Á®ó;"žáƒÑÊÑ‹ܬT ÒFo'<}þ‚Ž ÏvògUO¦MñÁ9'°}$Mpµê ɪx9À$ Ø.ÿLøp3ó äí{ŠÐÄ ªú)~‰óÓ‹2[_Œ~)wÑm mJßÈ›*éÑ ˆa#Øå&‡UüHW`OŠö†¤L¸wr½ÎŒvès&–©o*Eóí"Ø{n#îS8n(™Ãe&2âg•ÝœUŽwÒvTÇunzô¬Pº (†±­Ô]fƞºĎã°Ið”ú+Þƒg–Þ˜¡jÞq¸ã?†/ð!áÑ©¡Œ“ójHÌÞT"oÃÁcx»6I²€Ù®Ç7ü@ýC¹”ë•z’ö|'úS1 ãÊq=m#x”’*é1‰ spÌLRá›Ag~`©Œú–¥Çû°¡SÞÆ' ŠÅ Ug ÐÀÝb¢Þ¢,c^T÷`ë<– îÚ<ƒ`ÿ9¼T‡Üq=šaYm³U œºn»€›×2¯ì8z}é9Ÿ‚?]²óg¥‚Ý0ÿ |7t‘Bè—÷[ƒpNšší‡ûIB‘ÔU=‘#·5Áî ¦náWæP`ã½(Ü‚<¯{m«1™L>þÉãÖÖ!Æf9™ ¯B_E›„¥¶›&Üìšós·ä=ÔmiÏŸ.=œ Ü Y·Ýa¼A0I䤥Å,G´qȦÆ­Ë×Ôb+ ñ÷÷ÜÙÂÆDÃtÒsRÉe2Ç,¬ ,ÿ¿g˜î |îŠ[›C"™îž>5s Vã7ªO]Žâ)ÑbÇþ:'èŽö÷§éB‰GЍtäN¨6…ZÁ)QÔóõhàâ‹{kg RâÃóÿ"ÇH'{å"‚µ3Õí,×uϵ4$ 7u'E\QÃÜ[.5ÐÿìHTþ#ÓÕ‰X¬MMLVÀ¨„óú¿À±Lî('9pòý ÙÓÎWÝÉ×§˜%w‰Â”{ݺÇ|ÀzØÀÐ(¬Û6–šý³È†AÞÚÑô¬Ïì‡n´…Ð06^æ¤É“ZÖ@~ÒŽ»a!åñ‘Ž`oÑÝ;^/—ŒsÉí(í »é\ø*DªícÜÂ^þ®ÝrI5ßãÙ:«8‰rDç –;§Þ/œ‹ƒ¨•8eN#B^(EÔôuJ©˜(kf½P ”¼Møºøà¤ƾoªG‹^‹)œø J€ÛQ"ÆüÀK*cÓ¾À} [_›­…Ãew\ZJ`ŽÌÄß biñ²Õy‡J3Ê»h‡|ø‹”Í”¯¯¾¬%†'ŸHø]®Jè¶—T|¤“G·_!m¸ ù©ÖÅåÀßBÇ®d´d¿=¥œãÅ»:ûu*”ÅÉ ÔQÔ-ÒfH­pºW$D)£Èϰ4½-a,2J[qÈ6Áȉæ 4"[N}ºF™)àó‹Ìš5¼³£PeëžÔñ›îs¬«¸2»^;JÑRÑ›ð,µöïÑøC±mÚt¢(owB‘ÔŽYp$´Žâ”ÏÍpÜLÞ|>ïYvyϸ³G*’¨‘²_†_o³Ïká.E@¯GV‰Ób²§Pµm78þºñèö«¬€äÖÈ@g¿în/l! €?Õ¸×Z©');{sŸ®é˜¥Pºñ'YþÞkû¹W£avUì#Ü\?éjé+M‘®¨ ÎYö(¦`Íö{ ˜7·.ÆTÔ Ñdñ¢2¡ð€Ä#Ĥ&Õ¦šà6-hG"ò5Z¯Qó‘}MƬdxÐ|»×iƒùv§)]…àèÈ,Ëžýi¶(QM_§àÞÀ¼m††v`tŒ¡\“Ñ{?£Ü¥›ˆ/ ›}fqHcÚžû›s¥í¾Žš ý¹k;\¹}ÅåõN3D‚ñ°?'w†*˜` f<ô³e>Ó,èRÂÆ1qô6€Þ€·ff°2²Þ8^_ù¶ëëSµá¯ ù ¢Ì¤`³¡J2 ˜k8ÌëUº!nfx5÷xŒípžÈíñ‹Y^ƒ¥¶è›¶§ó¯à°kcÆæêÓ¦%'ÊÆÜðÒYb¾Ášõæíê¶Rë•Ü¢šXõ’G;§nù‘Ç'a0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0npÈ0ÿ‹‚ÈãëåU;"£Z<ý¯lœKáu¢%¦² ˜ÓW ‚?„Óõè¶P×þ›‘áNm{„sZc#Tq6_©¿h°²ÏÉE‡ZÂçîjÐ-fÈŽ6k7dØ+(Þ‹CÓNl œ‚»¹âƒÕžõNî7Ii3£F‡šÆ{ˆlyê¸ßÀ”%AôSWDpч3ÍÜÆgã~Ûk‰×hÑA².ØÔ VÒWÐÀù ˜ÈœK£õOÒ.(7ÎC'ëŠä»Yì=îM“¼±7„Šò]‚8¨\M#™òb"N±M䄌À‘¥å¹+å”N Û›K–;4ò\ï7•:/éò PüÅ@lGt.%ª„K5Á'ào¼‘In¸,GŠ¿Kd”†–E—+œÛ†)rÆ»*ˆe{ÎÖ€ºŽÿeïyÆ;’<¿Ý@í4Jû/ãöæsáéÜ;qáT¯2£};G†½ò‰Ž®0§ð(ͪI#Ù~ô·“qÛ×° ú±¥pqê¤=ÝZ®®—'AV¤½]>¦ „^1Vþ- aŽ ñé×ì»ÿ0^–F©Cñ¹¿q¡ÆÇ!Oi-*Ö 6ù%²Þ¯ ›ŽÃ_Ó³\ªÜVº›×+Õa›1+wN7NPQÑØß åÌÃÒÒ× «|‡·kZ$uñ¾Ý¤…#çWlPð=âvMÚ§yELæT×eØd=˜jÿýZßUÓQ7=÷)1ϵ̒{hÇ©Ëö\Ö2ÿëgxŠu¿°ìhKjÌÂbÞCalióa;­W&µõvÂú®{,ƒ/É_^ÄØŒ¹[e0°¢ð×]OXÀòU2±+ñšX4òüAþˆ2»»ì£|á ¾?ÚÓe8U}È fíŽ13nû¦Óq`/š`ì«]4»áòGº‘µÍ|»™«AªO[ÿu™_‰KPJò¥¹®Z&ʤN4¹Ç 9›:HÁÎ̤ýÕƒÚtwl¯í¯ÎçÁl—_ŸUéödÞ+"å|ÖŸ·±T¨Î]ÔÇtåÒõñsDÓ@‚Mõj¡¸!C’²~áFû.æ!ºò EªE Å|ƒkºf£\øƒ´âÄÓ³2¡‹ Ð) ‚@çä=0ŸPVoG‰ôÞR£Ç(ëÍ Mt#Gb©ˆG:sGLpà â“8V ßq7þ“6â÷ ‚ªmg~½RÓ½98âaB<×$ïø;`®@Žæ!Týéþ‚UBüìu¤ûQLèQEç“6kÖ˜:y¹ªÚÔº'ž“¹~uäµI^1Î’sf´QÖº@w.¬‘u¿g&ÉÍ( Ñð«¤Îk£rjÀÞÏ›°=Õ¼W˺ÈÏ[ +/i|}ÖHMfy›1B0 *†H†÷  1 server0# *†H†÷  1ï«66¡Ñmßi¼<œ$4þ“|¹010!0 +>¦#c¯é2$O› è#täÏyí¤D•êo„zeroc-ice-3.8.1/certs/configuration/ca5/i1_expired/server_cert.pem000066400000000000000000000056611516567600500251440ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEPDCCAySgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZsxFzAVBgNVBAMMDmNh NS5pMV9leHBpcmVkMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4G A1UEBwwHSnVwaXRlcjEOMAwGA1UECgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0 IGluZnJhc3RydWN0dXJlMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTAe Fw0yNDA0MTkxMDAxNTFaFw0yNTA1MjIxMDAxNTFaMIGiMR4wHAYDVQQDDBVjYTUu aTFfZXhwaXJlZC5zZXJ2ZXIxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRh MRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNl IHRlc3QgaW5mcmFzdHJ1Y3R1cmUxHTAbBgkqhkiG9w0BCQEWDmluZm9AemVyb2Mu Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0B60zbhOmfx2ZYL6 JT4BNgnOk0fkbx3DkfaxA1B/UPNGN/0abjAUkdy3KVK8F2MYf1eE+rFrR/9SuGvf SLlGyMaxruIx34qeSmTVA8dTWyLkCszIzJIjwHfWJEA8NN5CfQEUJEje9QeEKqs6 uCAuTmP8utquPQVLESWeaQqWzuktdYQv6ayhF31sWsvUNhZI63NVVhB8RGadujQP wPP5RShn0+czLUi1i3EIOWaQcXw2aX6Su4ctchLZQPlC8xtR01jzQnyF1fRjzJ5t xhF0uLvNUdqquKXh1x8jrZxLTssb+RPurpuIJssSiW8AwXxQmbjz+50/X5lbnEI6 n7HGOwIDAQABo4GAMH4wHQYDVR0OBBYEFFixiLyaztHurYKqVy614ZH23mGmMB8G A1UdIwQYMBaAFPdrAYzQqcvk5mjnxOjsROLczNSCMA4GA1UdDwEB/wQEAwIF4DAT BgNVHSUEDDAKBggrBgEFBQcDATAXBgNVHREEEDAOhwR/AAABggZzZXJ2ZXIwDQYJ KoZIhvcNAQELBQADggEBAD5bAepfy/DQI8juUVGx/VvPpGoEJK7Ahcskn2uaDHa7 MOAnOBNg9gv/D7ksIvh3yRUvIFh9QJiK5fy7tp8WiHR5tl1rHPOiCTYpnvAG+0TD j0TdD55VXy6Ca+Cw6CvwM78wJvqyofKo8wM3nLfeyaTqj8YXD0MchegS79OnYXv/ lIxShYZmNiGg1S+CYvTvwudmNjwcw+PKFNR7lbWPSPFPd83TMeS3/DB4c2LuO7HH vtSU0ACTXdlgfv/b8dpntgVY6YZUkpoFf/NBByO+6LpJZL4EL1GQZ+vukmtWToMA G4uHtznu8ov3all8uMk/yfeDiU/POYVQ8VGLmWDZ5S8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEDDCCAvSgAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhNTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjQwNDE5MTAw MTQ0WhcNMjUwNTIyMTAwMTQ0WjCBmzEXMBUGA1UEAwwOY2E1LmkxX2V4cGlyZWQx CzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVy MQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1 cmUxHTAbBgkqhkiG9w0BCQEWDmluZm9AemVyb2MuY29tMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEArlBIyyFgUad+V8XX43gyYpImKghxRT6liR2482XL sfU5431BIwFYlwQvufYYemOxtVwfABHOay8/gguQMLxWNVqDu4MndzljQAFv+Rxv bRVoKccKBZNMdsdrYu2ih5a9Ba5vTYpaI6DVEKeI4btPYUq+GCKsnfR+xT8QhSka y/TZPVjw7HQgKhzTh6gROjNYEfdn14ENCQGeG0dXkLsgceI5viZWyRbIyAIHnWta TgoIbodK1zp/hZH9FX2N0xfVp/mSZmwNlH25gwLYqZnGez9ZGef77kV4YSZyC2R/ EsR4SP3ZL66y1C/djLk3hfTDjDL/7UPQO4GH7iVNBJ8wTwIDAQABo2MwYTAdBgNV HQ4EFgQU92sBjNCpy+TmaOfE6OxE4tzM1IIwHwYDVR0jBBgwFoAU4GupBJC06YKt uSrfAKfR9o/BjIYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJ KoZIhvcNAQELBQADggEBAAg2AM3fJpZysVk9nu0RlqS72Lfa+/+ANVCDqDFKSslj kodwxhtmvu//W4Dqape0/etDAr0Ix1sPpPimC8GxbWCJOK2cWcJnbsroMYxEW6O9 yCVyGoNg8GoFqEZeTAYjXvf2AcyT4U8dbOK8YYro1p2lamCWOFk7V8HdvMjIcmiM u0NXPw41QoOBkngFl3plKVaYdQO01lGFmvud6uzNN7luCmZZ3fSDuPaOOkom83lG J0/vAU9VowzqtSZHacognLa3aM1Or1iJAb0CP9grKGDl6UKOqP38VEgI22qKNwdX bgh8lAse+d4g62uXk0H6YuKcCLLEmi0cCW3RDI8oeCA= -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca5/i1_expired/server_key.pem000066400000000000000000000032501516567600500247670ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDQHrTNuE6Z/HZl gvolPgE2Cc6TR+RvHcOR9rEDUH9Q80Y3/RpuMBSR3LcpUrwXYxh/V4T6sWtH/1K4 a99IuUbIxrGu4jHfip5KZNUDx1NbIuQKzMjMkiPAd9YkQDw03kJ9ARQkSN71B4Qq qzq4IC5OY/y62q49BUsRJZ5pCpbO6S11hC/prKEXfWxay9Q2Fkjrc1VWEHxEZp26 NA/A8/lFKGfT5zMtSLWLcQg5ZpBxfDZpfpK7hy1yEtlA+ULzG1HTWPNCfIXV9GPM nm3GEXS4u81R2qq4peHXHyOtnEtOyxv5E+6um4gmyxKJbwDBfFCZuPP7nT9fmVuc QjqfscY7AgMBAAECgf8uvrbdfggpjgsJweFte//Jo2pCqmMkkgrbPg2EMRBnnjyn VrIZDbORD4IURgD5P8jA0WeM50yxXye1RIViUDsV3YsLPML28qubCgrOTnbqgWu3 AUgYqrpdAI2YltTvCvzkFtnvTG7HmmiVLOCDerbr5Ilfbr6z9fxmXYy3CynUTyOZ asJUj8q4Ywrt3DO+Ne7nviYmrI7CB9099xeyZDa+0vp+cVWjsx3AipfnjTmD0sQn 50QH63k1GItuVLBqhIoXjV423qspaQ4fhXisqV5PJn10dYG7Xi3xKgkciJ2KpVkE 18uEiEtRfkmBNIt4XGyJDY9ly/7aKSHi6sDlB8UCgYEA8dVmQSslxgNg/DYqBOoC aOhoLRA+sD/GFtrfsH+HHpR53GSRDjuuDLCysQYsnwnObUrSssWbn9emzUOExAsL jAzEmO5XNSqoiZVIqj/JgeHZ/wPF4pjMH9ZInNLoBuoi0CPhOaUGUjm1LeE2s9Yw 1XS6mHjXpwJvcL+9KITNKy8CgYEA3E+6Y6Ao0Os+4n4bqP6NhnPKW/IEEVRfbSvG o4r1Cw4CI55vZSJs/+LyOoB+YGmw/GmaakU7rDO2nJDuZVH+KXYISY8w93wyZk97 L7sddk8B3Ws/P3utoXVKYgJ3Jx58RGu5GdTs3YwVbHUNyMyMgki2soxQFpZYu+du L+H6IrUCgYEAw9/O1NX34Gx4L5BHdHd9wC8NwgI4ZFUjQvvA1ppUfOZR1br26opY LRspgMy5c49jzY4fHoGDzXHEPtmDPa6cibEFw8C4je2hWN67XnoP4s1l3nHV4/VS 0C6l3a/OE1utGt0U3bXWat8m6qRRxFOmdh33zOuD8Fe+n5oNwjXeYC0CgYEAmN+q Ep98MxxKEpg3UVjxk66daJfTQsMtRG/v8mPmDbm2ukiiO6dbw2QTeYzYJMayTTRq Nfu8oI1x1cqr4hq3JsYEkiaOb+z6fAwDCufoVcQVIzPcO4zyuurMpp3XWInK6R9m 3gnmIwWliBDhc8icZ3tVayf6GvJQuHKq/wbrr1ECgYAvdgr4ritJ2tIYXpyFGS2I APvTjMFq3G/33/ay/NA/AR2EIr0U6Il3yIyvZQd9t5zQB5Y4nTYXI4E3VL1R7es0 Agx+pwlSXrj4R9BbX3jx/B4je24vvGij+VupzNn7b9nQ7oeSwzbQxNAgTgk0FdlL 0VMVbsi9iGmnAks2AW2eIw== -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca5/i1_notyet/000077500000000000000000000000001516567600500217705ustar00rootroot00000000000000zeroc-ice-3.8.1/certs/configuration/ca5/i1_notyet/i1_notyet.cnf000066400000000000000000000020771516567600500244010ustar00rootroot00000000000000[ ca ] default_ca = CA_default [ CA_default ] dir = configuration/ca5/i1_notyet crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial certificate = $dir/i1_notyet_cert.pem private_key = $dir/i1_notyet_key.pem default_md = sha256 policy = policy_loose default_days = 398 [ policy_loose ] commonName = supplied countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional emailAddress = optional [ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca5.i1_notyet emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, cRLSign, keyCertSign zeroc-ice-3.8.1/certs/configuration/ca5/i1_notyet/i1_notyet_cert.pem000066400000000000000000000026701516567600500254300ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIECzCCAvOgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhNTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjYwNjI2MTAw MTQ0WhcNMjcwNzI5MTAwMTQ0WjCBmjEWMBQGA1UEAwwNY2E1LmkxX25vdHlldDEL MAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIx DjAMBgNVBAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVy ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQCYLjw4iilfZPyEHMAZlS7HZgDZZAKoJRtbx+bMmvy4 /12hcqIbV0Nqyzr6/RdK0tEiF0sFlRi1tcaOV+55ijneQmy0ZOLWVLNm+NfI1v2E 2LGQjK/c8TbUVGIvIh6yhTo8F0BdsgeG/OqKeJtFDNGtChxIzr0oGPUrYgJqVdCj bBObylnseB9u27dJ74Q0HRlEI8S2Grb5eI+7TZ4TjParKfKREyUPBoTTs3s3fQi0 UCAHgdbHaV0zbyipsjWVQmKhRa0jGu9SyQJRHThRYivQl6bc9zzK49zJmknbqVsC nhMm3XtkYppquQrs/Poe7grK5qfUUcdbh2mzDrdY0RftAgMBAAGjYzBhMB0GA1Ud DgQWBBR9oqsw+eVwBH0xpXE2v6OnSY64xTAfBgNVHSMEGDAWgBTga6kEkLTpgq25 Kt8Ap9H2j8GMhjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkq hkiG9w0BAQsFAAOCAQEAMzbtwfosDVHpzF2mY7XvuBPtPfrQvA9cJrwZO9zzXHbA nn2PCwhbCENRZkCHvnKxnYtHVCr5N9QeOpK4ImQfW2KaReZquULy6WHKBVoEVtxx MvJ7b1OkBBUjRbpLWC1GQd/ZIzP5jTGTqxT962cihqP4yCINc0IhedHwAd4dskCE k+Al6nAouw5uV757SXOlSPrB24VquJ+a3uVa53Bn3ITpfSdpR398JYPXS36u5zNk P9fHsqHGuQLm5d/2HRCKvq5J43P9jLWYKmyj6GNbp12TQRop8RS2q0j9RLYWCFYQ kvNnawXrdbaGPxwJ6DWZ2uypJagSS9xDZIEitUcqNw== -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca5/i1_notyet/i1_notyet_key.pem000066400000000000000000000032501516567600500252560ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCYLjw4iilfZPyE HMAZlS7HZgDZZAKoJRtbx+bMmvy4/12hcqIbV0Nqyzr6/RdK0tEiF0sFlRi1tcaO V+55ijneQmy0ZOLWVLNm+NfI1v2E2LGQjK/c8TbUVGIvIh6yhTo8F0BdsgeG/OqK eJtFDNGtChxIzr0oGPUrYgJqVdCjbBObylnseB9u27dJ74Q0HRlEI8S2Grb5eI+7 TZ4TjParKfKREyUPBoTTs3s3fQi0UCAHgdbHaV0zbyipsjWVQmKhRa0jGu9SyQJR HThRYivQl6bc9zzK49zJmknbqVsCnhMm3XtkYppquQrs/Poe7grK5qfUUcdbh2mz DrdY0RftAgMBAAECggEAJyAgAINZDrsmhwrjQtCNpdtuVXX2jud3aLn0917TofaZ yoPv9KqTXTYiFFyUq/qWpTaq5aUHJNS212r5F4t3xFJ8o0aa4XMGau+IfwzzQj/6 KwlYv6vOpnmJgse5b7l8Fu39cPlwIP8OiAppFTAuCliim/93N4NvKTe6Gj+09AbU VJtxPbCYgGLPwS6EC08aOj1HUbEs3t9vNDHjeAOKVl9E6WaqMQrwf5CfLhPcEfZo 5PN2AyEIE+G02wkr/Z0e1drQScqqnp47yReVmq2KsPg2GjYKNwr1o0wnc9ND5T9i 5CmTY6QEVnOBqNFQkU+yFBixC9GSOeQEbqYhM+dvOwKBgQDNDlytePmKobx1aHrB 853mkOCYtp5DFiCkTbhrVOCfgf3whVXbw04WterT2AIToIEmlBREEWWWHUbJRPs/ sx+fGJTzXq/U/JGag9Tib8JDeI1cDH+PgN0INabsP/gqN1IFPB8UmVID/pAbhnCk xbYqgprw+0/wshiYCn8yM/ZSZwKBgQC9/PlDwH038o+xhXi4h+c9zSbXz+xrQezE fE+zkg7PifWanVvTyZR5eSmJtmp6WS55aUYCnbhPLK1wlq1y9UUlpyC+cAcYGVqr sDZMSlW4dkLfAO6ak8uUzM6nn28alsEYFJ/qU4CX1/OLS14h2UtFpdooOk2wxyHU WFqmSaaWiwKBgD7teWODDJGOsNcXCRUcPgjTzRkQceEEmV/SuhW2JnjM27FEOeUH Op+dlEMOtxRu3TOJne6FqDc5JM//a1tRDRM16AAHvs4N9GEGs/4JbgRmqnrlGwBe +3XZgTBfMTlDYNhaau9XXeP76x2HVGo8gnrpOcNaXF3xSbre/cnaSG1hAoGBAJIE WIty6IpUWY3leCfTA62i+8SIIDs7Gr7Uj+kCS3HEpUfkwwud9Qf7UCpwUZug6TAU 8eLW1y26t749gCdHTJKoxWi37yvdaKtlrgWqaAFymuiL7dZN2vyNABMiXSDBVrys NU/CR6XsKlkXXsyDFe/8jRO347gHBAAQu/LrziYLAoGBAMKeMuVFBUv/VaIYAdVQ KeWM1giQ/2knUGHwM//Vl7Di985xHZANq4ArG3alNsCGkFcilrvnXTcaKbp4KIVC iBNWayGAh0LPEd3HS6fqrcjSajfbyovfOhqBSg9QMubw8wRSk3q9iAe17vdSe0LB n+2qaxAlbLloS/65CAoSgxmv -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca5/i1_notyet/index.txt000066400000000000000000000002201516567600500236320ustar00rootroot00000000000000V 270729100151Z 1000 unknown /CN=ca5.i1_notyet.server/C=US/ST=Florida/L=Jupiter/O=ZeroC/OU=Ice test infrastructure/emailAddress=info@zeroc.com zeroc-ice-3.8.1/certs/configuration/ca5/i1_notyet/server.cnf000066400000000000000000000011251516567600500237650ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca5.i1_notyet.server emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = server zeroc-ice-3.8.1/certs/configuration/ca5/i1_notyet/server.jks000066400000000000000000000066401516567600500240150ustar00rootroot00000000000000þíþíserver–ü—‰0‚ý0 +*‚é^Fê¿ß¶ÈkëälËa 0 nh±Šû¤ ÿ‘e`ñ$gm´uBŒg ™ýÉ6)EÚ7ÉP€ÚÔõ3¼+å]/ãcÇx²ßšQy*`ùmF\ŸÐ|,²¹àˆù³T41kÛJQÎ{™m,ý2Ûâ¬5À,öû!üû’UIi±)ÞßXá&àù¬ Þš8¨ŸÀcqD)ú‘Zo]ù ŸŒÆú;q…?iKyã£Ï¡ß »ÝÿaEÙââùfO ·k8`=Þ–Q7>‰º!þ8ÙIœöœµóJNCéVÈ?UuÊÒPÂ+#G‚ÚÐr&ºk–³…®Ê»a!É“9Õˆ¹"P‚•9®ßæK$qÔõ3ñá=ñ-üð"µÅ?z,ÌYîÞÀȰSï ÉòÂNI‰Å®û¤ˆÔI¯\q–MÇA÷qˆÍ¶¢o§Ô›pæ5 êkrtBéГkö”o-ýêz›ÜÞÞÇ%£³]LÊ|[ëC̯>³¡â•`BI”ÜÓˆw¦çá)A>*oÕ&;àó pi²ém=ŒÄr OCšXÿItÛAHš*ˆ%Næy\äjë½a‡Ek›0kEõf$˜Ñ*äC‘Ð +èPXÆ¥î>˜:Õ3ãßQžâß3K@¡d§˜AOXWœmìuÑ‚ç ØbX-û½zhïYZ… zœ³Ý‚Öî”a.gY&üôÝŒ]a #“s=Ó³ i»c‘¶“ŒŒ^ßÎ ne<5£@ôX™Ñy‹kÎltIŸª©0†¯”"Cß_•£ŠÉY "Ï•þ?ÅËô†Êkñ€B#”Òz ”çK;‘R)›ÖlÞë‡ì¾ãX£¼-5øö¸d4Ô zܰÌýgÇ;™DA‰²ÑwâU>‰jj#OàŽû¼6À´BõÝÈ¢kÊ[Ê)ñÉ„ Æ™Ú_—Ðk+³+p󩪽¡ÓÎ$SÂÔ?“Å!¤HGOk…ŽŠáš™ž!ÆÂî—È+ЉOTüÎ!Òô#A ú‹öZËTêY¡P–ªµÄyæý¼Å#‹ÍùeÙW:õ…õªQ (y3Î`ÕœñµƒõWZO¢Éþ†mo°× Ñ.J?•Ô×IWHãØ30Èüm.ylŠ•oªz¦óÙÁÜŸÅýþ_×vûÙÎhÁ|ß³ÎPзïîK*Äü f–¢REöu&Ë<&˜}Íʯ‡/÷Kå¬Åéò÷"‚íUè°{·×Ò¢mQGÑxWW­r–f LÕK•–©ty:ÏS‹ `2¾ÖÕí_͵x2(]ÛEÎù6sñ«;i rtWeGn{Ș¯zsr<ô“wÌ¥ÝÛ±ç”AsK»Ú˜my“ðí“¢V«,¤Ìá¼ÿXȳš‚zƒ%±;C!û¬ãUã7hÝÖu½UÍ¡U Íz‹ß5­(µ›ZYŸj®Î¨«Xp3špA”ó»y@˜¹£¯¯!ØŠV0^¢Mé×Ik^ –Í®ÔhkßýA]f“ó¼ïcµúìÑëý~Vo@³¤›\ŠwæÚÐ.Ñ?wb«›(ò8?=4ؤºÃ±{I\âZï³)‚ág[Ô™ò'œX.509>0‚:0‚" 0  *†H†÷  0š10U ca5.i1_notyet1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0 260626100151Z 270729100151Z0¡10U ca5.i1_notyet.server1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚¼*$í¼Êöøêhºm+ Š¿Ÿcˆï$Ù<ÿÔV‡ÛÎ’zWa¸w9,ÜJ ÏÒR“¿˜ b°HBÁô¿é®¢ê¤M ßxX(qDÃlR|ƒ®ñ|æ•l›ìÿZ• #ð¨Lœm]fêÁ˜ËCžàÓ±D.>~A‘ÓÃ6à‚¼OZ0¥iFg-»F+qs%?ÖºŠ¤CV<&ÀNÃO#';ž7óyÈrð(|Ú®S¹î~œmOÈ/Ò#˜t¤ý [Ûñ´åy¸\ ‚<ÎÄ#ŠãTÒsò ‚éIû<ð]&@ƒ/nJ”}P.—jgÁ a©Ø]æÝº&3sóŒe(±üB4'£€0~0US“N}ÏI9æÅ÷-§åSñ‘Ê0U#0€}¢«0ùåp}1¥q6¿£§IޏÅ0Uÿà0U% 0 +0U0‡‚server0  *†H†÷  ‚Z*?µ˜O'é#Œ¾¡Ãï6J Ë#Ò…¹²±º6™ˆ^†•ŸU’àZPÆ¥’?W}®‡‚õ®i%5›7Íß>iÉÂÎ×ííW®~K¡ª¬é(Fµ—Œ~¹A‘kÁ DÕ_JÄ(ç(j"W§÷;ÅqL9ª?Y)ãÜ­½·’kÙúÇç£^ˆ·ôýÐÃj™#]h¿L>G|¢nRéé4œ,®˜£ .|7žo,ü´åºCßWcß±é>Gã±ðaJ­5yfjr…@-ŒÖÎ_œì¾ß[á)f xw¾å$¿cÔŸ-¦%à+#°™d4PK'Ý3e.€:ÒX.5090‚ 0‚ó 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0 260626100144Z 270729100144Z0š10U ca5.i1_notyet1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚˜.<8Š)_dü„À•.ÇfÙd¨%[ÇæÌšü¸ÿ]¡r¢WCjË:úýJÒÑ"K•µµÆŽWîyŠ9ÞBl´dâÖT³fø×ÈÖý„رŒ¯Üñ6ÔTb/"²…:<@]²†üêŠx›E Ñ­ Hν(õ+bjUУl›ÊYìxnÛ·Iï„4D#Ͷùx»MžŒö«)ò‘%„Ó³{7}´P ÖÇi]3o(©²5•Bb¡E­#ïRÉQ8Qb+З¦Ü÷<ÊãÜÉšIÛ©[ž&Ý{dbšj¹ ìüúî Êæ§ÔQÇ[‡i³·XÑí£c0a0U}¢«0ùåp}1¥q6¿£§IޏÅ0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚36íÁú, QéÌ]¦cµï¸í=úм\&¼;Üó\vÀž} [CQf@‡¾r±‹GT*ù7Ô:’¸"d[bšEæj¹BòéaÊZVÜq2ò{oS¤#EºKX-FAßÙ#3ù1“«ýëg"†£øÈ" sB!yÑðÞ²@„“à%êp(»nW¾{Is¥HúÁÛ…j¸ŸšÞåZçpgÜ„é}'iG|%ƒ×K~®ç3d?×Dz¡Æ¹æåßöо®IãsýŒµ˜*l£èc[§]“A)ñ¶«HýD¶V’ógkëu¶†? è5™Úì©%¨KÜCd"µG*7%,FVúDMY`ÅÑådž©zeroc-ice-3.8.1/certs/configuration/ca5/i1_notyet/server.p12000066400000000000000000000114621516567600500236260ustar00rootroot000000000000000‚.0‚ô *†H†÷  ‚å‚á0‚Ý0‚ w *†H†÷  ‚ h0‚ d0‚ ] *†H†÷ 0 *†H†÷  0“U¿°¤p€‚ 0¶©Ì˜¢é¥ovêÖ‘ H…Ij¯-!€-½ØË%—y¿µpm$“s™IcÅby˜4qÓÇæËW…_Úß$ˆ‰„åæ5‚&B= ÇÐ,¦íffÅ Þü9cGØìc[ 9sßâÀ·þ©P;Wg@ËösU‹ÀžíadtÕöñŽK¬lábžvø¨’þdèì=U"±¸Ç˜¶q@PŽի·Öåª1ŠÄ˜µ!Cžƒ‹ÍrêgVÞq›}kFËöpèÅü™ÀËH¬hhÜA…wL@a‚µõ5EÅ"’zeFG"¨4kðÐqá Áž8Àá5Ë$.öãe’Þú < —˜–ÞЉ7Ò,ƒÉ_¬I%½ÀiS• ™ñZ Žþà×Ë<ŒÿRù7säxú±Í€¾ûþåÀi¼ zí GôRòÙ!…8‚‹‡1]Hý` z×:A®L3[(LШBè'º†Êªÿ/d‘2°‰@ûì•gQP‰kiÇiSÛ:È“M Å•‹Áqï÷ .–þDmþZ(žnÊô§´ Ó›s·Ûc—ÝñØW_<S«õæœ^8U¥Ö”‰ö @‡¾"à‘!Øž`u2¦G™Â6ÖýO?xBW Z(‰4bvõãÏ%šÉPŽ÷&ò.j¦ïth!x€/·»…­ÀèmëÿÙ€îÊižo[½ßÙÍ̃Ÿ6»S#ר0'¼­>§ÖY ‰`É«()29y_>¹¬õ§¹1‰¢gà ²ÚÃÊ•*;ôŽ"ÒÛœëP!š€ˆ†'ÒÇ&­ØÔæÂóî=w…Þb”änqÏÚD²v¥Ù¼˜I/­QßB{‚šžˆ±Ÿ á£Ä¿¶Ÿý—턎«Ýãm¥T×íK7Ϊ'M‡ÊΤ.Þ~£¬ ,ótûÕðR§ç× õ]•ºÂ¹ùIÜÚüÕ²Mî{­ëx¸\Óf™~:Õ~´ÕÔ€€õ’D»¬×o$ù³õÛ’ŠèÏ…:«ãÖà'|T„¦Èp—âØQsƒÑÅ`õ&NîIèJÈ–¯¨-Ö.Òìè7èÖ¸MÀ--±éŽì™úu_ª¾J§!üæ èë9v®¤éÄ%ß÷‹Åü§ˆ@êê•?¨õWcÖ¹@*ä,¬1×5™˜ú@& ¾‹ÓÅâÆ-.”Ãè'ª‹[û“œ<±)eÙ€B*ßÌݯìö&šý˜¦lçy(ü<Š,+{*O×ì[è£ÂoîO?°î#¶ˆãöKq×ÒÉêбfl‹D£´ù,Àø.å DIVO;¥>çðPxêÜíj›[c¸!™aà –(YÌ[axCW—Ñí¬àì†{Nó'IŸ¹–«+?C‹þoxïNc اUkëÍa5A ;ðšŽÂ,ÃúeB«ƒ^Ø«{¦×“‚â¢:%ë–Å-w*_h@–ºRÊæ% ¨äñýXÎQ­[è®”¸tÖài‘Ù¯Ïð… æp¦]¹é5ø ÓÔüÍ ;æIøŸãÍ’…¸9qN°×òýŒVÍÆ:ñçbbÂ7Cz»7ªÍŸt¶m³Âñô»‰Ô8žæ×~°<—–÷S‰Œ†~ô†‰)EIG1À8ßTÒÑ&(±á»uvÝÊ­\Âg (‚µ˜~Çå$E´<ãRï’”Ó7RÈ!Oµ‘Ãø?8§aý’@L_FX25UÿJ`CŽެkB¶ÏǾnÂEbãï³àJÖ‘ Å'…bx¬t üѵní¥¼ [ù¹Eàsñõúc\nêGÝ<Ÿ[µ!²Ýá8Ñ^HôãU¸<˜ê/þº5ÜîªQ°Ðg˜{ý›g¯å¯Xì >iêÙë$Èôi GØM¹ÝfGÿúŠLCíL ‚ÑXó8Õö·sn0u¦cu4)•qg,Vß5Ý^¼Šî¼$z9RÍüQ†¿¯K?ÿBÙ vbèæÁüÛØÈŒæ(œë¨R¡–>´”¡>?¬œ;LÂÎ?Œåawò=®ƒ) šïnʘ¦Yf1”ØòÇ2§òõJ$ž¯—€—B<‚LκÕj£¤žÚÆT]@Z$É t‘Ñ^ÂlÂ>P/¬k‰Œáqc”ÞÜŒ}C Æ›à€¬©/ ™Ð­@:Ò•û”“µDç¨ËÚ‹äÜzn=ð4û±+²EüofûÉ>ˆO¿¶Z&™l žCcÒês;Ô´ !îJ¢d.tfÝ„çpͨnB÷JnèŠ" 'ø…ml 7{#X ¡¸[æGIzšÞ›Ž"w!¡4aD…ÉckMgdiyïÑ=°·@Ý‡ã ”š€œŽ—2©µù>¬¨]wÝòµÌ‡T|Rrȱ–÷Îa ^éÕåsòü;ÀEÄ”§ôœáf¦új`;ë[þ¤ÁAV5ëÇÊž …©£ã‹Œg¶‘Ÿì¤×{^ñ×õ’Uïjë黃"¸W;¶ÄmüÒ¤ÎÛ½V(¸l–·Í&»dûÓÎáU:|j§úh"Ÿ_O»¾[ÄõìYéÄÚ½HvÏcy‰ä¢àt¿ˆƒb™[Òf˜½Fß`L»L8rï*šYæDËìòC  …«ø2Åïà+ðãÞ(¸:MYŃRŒÔa‰ ¦Ãw¥ãˆñ6ØÜ§EÜѧ¤Gä½-ýÅõ±Q2çÎCû)}㱊A-¦òïÜãQ©V·šÇ%Ícܰ&agˆó^ÉòÅé ³P›;NépfЍECå Ù<ûà5§i?«ÕÛë¨ÊG£Qü¨~R:ËipPèÿUTó¿çø!5ßIgªV_GvÍ3ìÛþy%m¸óf]²ˆ"ÏKè›Cü‡*v»Uа7ðسZàIá/¡±׋a1á ÕÄQcâñBÞ× Á\5-ÞŽ4³‡5ŸD½¬÷|Û&Êú敞6´_ñSƒèDÒXvuÖ¬¡ªø#´½Ÿ‡éöAêÆ4c+|E®9±O†Œé£÷áɃ?”«±#¦¹ðóqå0l+ŒIÕ½ÓkÓ'õ¼fkªÍ§‘ö">•MYIAï –3‚:Œv­é½¿”E!2ɵÜÕCÄ||šcÍh'0M]þ‹ä½ÉÑ:$“?âåÿè5r ½n{¤1¯¿þ9zµ¹ŸüuØÎ >75c×ÇY~§ó¡ÇôGt7Î…8B$9Dî‚jy›[ž7U¹?§úâ¡Që³…5ÀWŠASâçøqÒp5öž]2RÁˆ¨Í:írà$ÉÒ U’€kêu}ühâ=WÙì-mÊÀ–“,¿Ð·#2È:.««£h¹K•ƒõçßU:†Ï~Ȭò‹ E#£ <º—ßÍòŒ}>ni]ho¨ ìÉåd’‹É£C­ögÝŸ‰÷²Lúw®Öï\:æƒ-#?[?ú~‚Q}¿Œ¥õý’©öØÄ‚i¸¦t­AEöä‰ãê¡ç~ZMTôF) ÕE¬¿[žŸÔ £åžõsV¥Ùk·ñt;B4ö¯,.4HßWòÔâQ¾«A0Ñ"•<ŠäU~ÕÊk‡7Ñ¡=ÌÿÄò Û5ôÏê‡ÂWáûP*§¢˜œ@K“u7È5L9c‡\÷¡“öø3–ì•E¥Û™[¤z³,¬fªåÿâPŠÁV%^(³Kem£Y8´æK/+ŠŇÀ—áïI¯ÒT¼ `Ò^Uµ²tz?øŽöîlßB¸Ö|Âäò÷Ó-˜¯;ðƇãv†[^Þ‰Œ®¥Ðm¸ùÆãëãËzt…2¹Hõò=U‰BB¡>Ì®çuò qS‘&%|ê^ Bb0¬?Áž‹IæÐX-®³Š–,J¬ Ä•«BÙ0Ü"TsõVfc3¾d0ñ‹[‚ šÎ.Xk/ÊØVçpç;ÕAᜒ6¶ø sCÙãøYá–,¤¡Š3ûYÃ9/¹+–PÐEgÙCTGÕÿ2²Hçþ„Tª2TîÙ•q· 2=V6i92"i-Ü 2¤iµ·(%}Ú0‚^ *†H†÷  ‚O‚K0‚G0‚C *†H†÷   ‚î0‚ê0 *†H†÷  0Ý_Jâþ¼§‚ÈÎt ÚqÈËACпH ó²áã.ÈÌê.4lm}ì¡©ÍDf5V°ÞíÛ6–P"΋aàb£–¨ºl¢˜ôê†É)Ýmw,ÆÔþ4;퀒A…Rñ(à*–ePãˆSp$ÆéÚòIQKü´£„J?ú’3Ô®Qýœùè~do@<)¨ú¡s gšÓ~&‹šÌh¶òpçÝ}pÜe?ýø‚Ùºì°;ýε"(rgíýá+³eðÇ0¥TRóR(E_K`°Óãs3¢f[öõû±QM¼bMæ_ ²wþ¶”íc˜ÌäÐ^Ë€ˆÉ |IöÎ$ÚðÒÇU'µWeçý˜Ù…ã`zYû¶œVÊ·ßÂ*[›¨Ä Á”Y*½üœ£M‹‡½N<_Thêé„m‰8³Íîá¼ýÕgº«m´ QË«q¡:ÀÛ˜ó…1™âÔ Ž*¨ƒõMëþec… ¼w¥Ýi¯,IEù×M*­fNí.³{„°a°HZâ×l›ÜlƒßP›…ÓëÚ,ËžDºF(‹V«¸¢=r­§ìv›h©@Õ'Æ4U6ƹ½:àpÀ|=ÍÀ3Jn€¶æ°W`ª.óO~'RÂ'¤LO¥Ö˜ŠÃ„ ê[Ê.é`²9*_?ÅýVävd‰hÊü/gIyV£4¯*ż*HW{€ 3Ûu¯„ E»ÏÑŒÁ*/íEàÆXÅ€Úm§Üù•–t_‘•¢sþKË™÷vŒŠÁ¶bùç@šo;@Œî6.ùD!rb ÍŽÙãÒ¾% ^5Ç Eò{C#‘Hzâ´)½BÅÕ¨ØV£Ôõ$áϯ‡Ì¡èÂsÉ[Gø¯É‘L#ô_i”•ªÀæˆ6FÜ“ŽÂŠ3yƸŠ ÒI]¾ÍÑ‘Äà‚õÊ$61ÔC´A˜òº®‡ ¡îœ`Âç+X/^ïÝÛ’¤Ï³þä6çá·?ˆÂyÉqiÕõC*~ˆ3cÍðD”™`›_*îDTÎì)©9ƒ¤Ð¨3ÀRV­ŒDµ‘žÌ>¼êæââê붃fº%Õ……+€P„·HU)Y*º]Câú_>‚|Ùfª 5'gR*ǰäPQ×­’«^»h½éiÈT!Ú/ø4XVé ©XÔ ê/=a1iJsûB4á¥/ðú™<Ô}¨—&ÊJñ©Z`©Œ·EƒUûÎëûnl>†à‚`Ù•ÍÑžcÐíÙÓeˆq±—ÃðXhOð­5¬ÿ›Rçp1¯ræ‹òmX°Z>+m¬JÉÊvË<–]Ù Í&¼1 ᔦªsFí¬®½¸>»`ôSˆTºí´"Â2w¢Œ}š„œ‰úN©WÓbT Bnêâ(1æÛh>QÓ3Ü –Ò7¿í¬_œ½|5DØýž º¨Ä=z@O8Ø®~—é™lt »wŧ3*­ õùoG>ÙÝsqò¬»ƒ´-áMià<­ Ž  y¶ßJ«ãîÆ«s†Úõi2Ç„šªZ¼|æÁ ™²ZX#æ¸Ô¹9†2x¾AiÏKÚ*á:))éháVV”,wïY墅ªFˆEäm wÕ— ö9 €iNOSè$%RkÞ³Ѓ%ÀÁ.œ=O'´ëäE‹º¿ mðªG˜äÍV;Èòå»-ÿÿ‡qƒ~įT‰Ä+üSÑêCÇN—Å@ˆD‘•ã!‚ élóI¬üÚ¿±ÜÍŽ™[Ðñìg›*”EZ ᚤôŒ2 q‰‰ÛZÖ˜-v¨+ú´ì^@9öûíàMH ¶å ÂwCìÌšª†Êq¬ÙmŽÒÝpœÊ’ o}óánMÚ¨…;,Ñ$%õt¤óïÃ2Ú¡Ž@¦ )hNR>³)M<Ü&ðÃS¥ ¸¦À8™“û\î^›:¢)Š´à3iÈÓÂcõ!}Ò¦Ô)Ãýù¨¦Èá¾ ¿¤ÐÙaåӜ楤æíä€ô¨É<ò<ˈ°¸ë®Õñ ÙU§~N}/Òqû(€‘àé<¡ó¾&"TÞÀH ñlÚvŸù"äíãýH4Á6ec®«TÀÒý8T:#ãœG 2ÿ3Ô L Ù›¸3[Ù±’Âù2°÷$ Õ÷¬½î{ âµæ#)¢¸óôh‘Žò`o¾ÅOk¸Yyðbb'b„ïzOÄÄ%ã‡P;KÓn‘ë?D²©ˆ9MÐáærJ5oÂ,­bç3ÿK½ÚÓD? åRó%2©hÇwå5jó¡2jþ~'ÖSÿ€Üp¢ß“Ë¿M¨:QÚ0eic:‰qŒN–´à•kÔ‘lü"ë9šò|¼ÒÊá±J§µ‘BTQ¾Eá¿ø©ÀmÓgdÞ}aù…†ôAhùÚˆ+'õ™^Ké¡’Ík@~ä tÉé7m,½,¾ä3Wk+®®L„O ‘uƒÝ’3…Ĩ‘Ùü%2Ô†Þ^PÉécå{_W; Z„CSó*º;8wËù¸‰ÕÇ\¡PùVs»£ï ôÎrA,2ÉÆAXX.5090‚0‚û Àɇ7ÈwL`º—IR^Ý?Ð0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚¯ ¦õ(g•Å^å¼&^u:é©×$C ŠG"Æ´ ~ßÊJQ„0Ãî¬PþUxĺïOpœÑ²˜Ž4<» SÂNLÍoåFüµ r‰®³Áÿß¾¬íƒ¤)‹Úäû Ô½‹ž ½«ò …äÖZb7KÉ#E¡žÚÎK–‰:;|‹(·d¨ï}KÄ´„3¼w¾'çÊíNaà%~°(ãÈÇF‘ª¥”ü*„äÒSQ;hŽÎ¯zÊY©Ý¦æ»Å|$° u§;ª2}Ù¨$§ÖÄÛÈ×ñ ‚ì]ËÃäæ~8¹” ìZóZåÐv Q#F6 QÏ›í¦¯ÛY˜¥$1’>ò­£c0a0Uàk©´é‚­¹*ß§ÑöÁŒ†0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚}à¸Êm®¼õ^GÑ.Ú¢d‰­<¸Þ›Çœ¥Ð£æ|W>…a™–œ’ëiâ£$y•Íö%Ç£nSUñ/W»»UÙúîð¡º6W´›0ö? K[nT’ˆ½`y¥ì¹VÅÁY£mHt2ùHÅâ±9‰ÍÆ‚‡÷㪕¬¥,ÖQ­ãü¸˜Ž(óƒuºÈtx4씽†ïn©WK¨I[]ZÂ"œ\¿œž¼àcÄS|ÖíÞÜÖŽÈi·\Üì]Œv6Ô³Ëå‚k¤üà`VÛ¼‘t¥îõ¦fñb/U™9Ø'Ú .VQnbe¾¹öBºÓÔx¯D]YÌÃ…(î_Â.+€³LÃl‡Ûzeroc-ice-3.8.1/certs/configuration/ca5/server_expired.p12000066400000000000000000000074221516567600500234340ustar00rootroot000000000000000‚0‚Ô *†H†÷  ‚Å‚Á0‚½0‚ G *†H†÷  ‚ 80‚ 40‚ - *†H†÷ 0 *†H†÷  0íÌü.&𒀂 ÑTel*J‘à ?$/Ó¾Wÿ¦ã|º­Ô?¨©û®þ¿fç‰D-PÝ5f NŒÂÙ#ŽGg\Ü"XÉ<‹õÚÏ_¿ÌyÙœ1­ï}Ø0ÜÞ÷CŸ‰G%àÎHü×ä^AD°V²V”5¦ ’Çì_á»›åÞ@‡âÊÑn=?Íà«ÞB¾GÅQKjú¿&¡£ƒ î)a¹`_LJÄòåΓªî&/ùß”OÖýM%HT¨“Ù×0 ‚¯…U¢Ÿ®1]8:ÍâZ Ãòa5mk‚›”‡Ñë|¹“Ų‡ÜÏí™ÑQÝSÀ/ìSèŽ “·›7É{#œÖC™…€\ ¸¹±% ߆&³ÓxÅþ÷“Œ¡ƒ¦„Ï¡1/àçV€:¾ï÷ÚÖ¼#zjdæ>Ët]!P]•rê 2U¸1vü^ëS÷ºËQOew¹çÂáži)cåN{"Ù†ßM%÷T§…×A² Pû+ç>¸Ç±"Úkc#2°ªåÞ–]W©ù!„ˆ O4P+Vò·øÒ»,ºëõâ=qà­‡ cƒú²y.á R‡Ôc“ ¸àüÇ&¸Ç‡EÔî«41â2MåþNÑ{>jªÝ~ôZÓNî2ª!úõSòÈЇ$>}Óf곑㩽±ÖŸ81{v>Üìy6ØCн ©Ñš¥cÆ)Kõ× µªeÉþX{ »Ð‰AÆØY”ÓRr˜‘c)ââ%vDUßP=ñ øÛ¹ŸØ¼€3eŸºõ¦tüËÓÅЮ¤ß5àý†µ¯=ˆQkÅš¦zç×:Ï­ESüjD+MbCêƒO½‘©uóóiÎ3¨Ýmòƒ]…³ß@U[\6죕²Í-G0 s|ÓZq7§jÈ?¹zb £bgÍãVĺ>“p‡nÍqº–pÒ€$ŽL%ÞË~>"ýkþI‡Þ @Xú’$è &¶UÑ4ÉëÞ€ykóâõß‘%‰uƒÌtÕÛ}þ1-“zs5ËD¶ŠëÅÅ+açWÛílKý×6àsÈfZØÈ¢¼33ÌB…ô)€ª©Sîh6­¹å„÷Ç`2¢r N•¬%g‡þJ‚ ¤²ý‘ÓR }£½ prE7?â‰ÿþe]¿4ñ¸éÃ÷O(êÍ÷sê»3¨9E6] êÁ ~R^`Øk^þUÐW'GÖ,‹l&a¤Âµžp„ù”ÝP¹­ÀA›©¤ÂÞ’Sõeö­œšïtK2€ö`Ä‘ÚàË+hC/D£k† µÚÑK7žDÄO5àú(ø¾A½аk´¤wªXÐ#Ôôʬ­’M\Íùñ%hû®$ßke(apJïCÄ®-x> u>ÂÂa]äëVc@»¥ð…|ŒOÆ&Yw×ðþÍ+ÐH×"þmJQCýl5…ÇRú.[^wUâU’‡×ì@ ÛwÍþ4MÍkjÝûƒt0ÅÂ.Ýnon‰K¤Ñ[(ü”Ke•Zxv±«BÓÙt®AV¤Þ'Œœm9æ#DÒ³Œñ½¨ÝQ'Í(ð±£T*_¬&'€üÿe5¼©øÑ ;7Ê·exÙ k<‹=ü\pó›½-ãµD™ç¯ Ž·‚0e ©ƒAPÆÄùÌ/Çœ/¯xjØÏ¶àbŠ˜ ÎŒnñ;ÃÃVä( 'Sfh’”ž%רüŠÉRåÛvʨÑ5Ïþó_¾*à=¦­dìdKJ¡N˜ßûôêJ=ÜÅzEîØˆ´:ãÚY¹ŸïÃÖ¸ž=—’ ¬w4=ù7¹WÌéÇ—uïg’Â@OVܪÑ÷ãCŠï3%Í®§k-zÇ·1<@cûìcUpßYòOB%² “;(L{£WÅó"—Bk2o¨ç‚÷0ñG¾ œ9Õ©k}‹Å³WÆmßÐ,¯²J‘ô¾SûrU@$‹_½îügÏ£éQ°Îk2Ibx wÖ(›OåFm?Ïýîñ–áï°Ó,²A„Ôz|VDí#¥ÁqTç¦Ý?­£ òâÈeüïå`ø_ôŸ¡íhæ2¶E:\…Å’]68XÈ?£½9}«1þh¡&ÒOT.ÊÒœç¾p‰52:R^fˆÂŽþ[û|€‡–SÁÓz¥8ˆRÚÉê`Ïãd|ˆÉ„Ó&£øÈÙ= §´æØCãfqf‚Ñÿ4ÜiÁe³VòÚV9ºe£ B¿°Þì·Že”‚!QçÓÁ»ukWÛï”ü¸zQáå_UÖœR²*jm °yÙ$Ôÿùšgצ#’gÖö‚‹¿ '}9­XÝ‘5z&ðïÖR¶º¬¶"5[í;ÌíyýßqJ|¦ªº§o&X¤#­zŸ.“?)Ò]èâ…ñ¥\ 0ë²*F}<‡x†Ðlž2×{¿FÂ:ó©õÌÓ5¢|f¡‚*÷{[`aØ“0³e;]XÎ0‚n *†H†÷  ‚_‚[0‚W0‚S *†H†÷   ‚î0‚ê0 *†H†÷  0J¯û-2>Ôy‚Èûb„é\ ª•ãoº×(CBŽÚÞëÄ @'³¶5sL%£/ìV᮵ÂÄ´o°Ѥ33àÒ¼\¡Ë  "ôqt͉1×X7W bhÕëgŸ>GÐòº9gSQbÂeH1Ißá/0—`U v4ˆü&%2òU¶]"¤†ŒÞžŸÿÄÓ…—Àý•Ö¡}á‘+í("–‰ç< [·§:B÷ùÈIDYECINYÅb«y'á³è×±2ƒ]ÕͲѲ(ÊQl¾®Rdvªü¢mÿ@¡/‡©®X Ã Bûï}¼Êõ}1 íË3gÃ5xósF¢Ž‡ô(f¯ZU|€Ÿª=ËÖÂñœB{/4vñ%”À Øoó¦À²ÇZölA¢òúÌFT_zn8Ô&Û.Ua ÌßÒŠÖû\õ€·ìÛ¼¦âëŒgáÂJÀ”;¯›\ 0;ax³ø³õ¿ ˜îݰíX¡L3Ñ€?[#ˆìÎ+jþ~3߆Né]¼æ¡LöÙ†³ÊWúšŒ€>í¶¡D_ú? fÓðbõ_eœmOE`Õz_•ö[õ MsÙYaŽp¾ìOÌy°7¥p g[ü‘ân±¥X>»’âU–7¡X¼A ç+c=íÝ”ßß`dðœŽHl¹Ûâ®ÀsªÊÞOËŽyÏ 4$ÿùAÏñÿ—T¾(K^¤‘;É@k¤.“çÂ/7PðYùÔѧt÷IMŒÉÿ‘Þ ÌãèËü×Û%¢L„ìýæ¹B"¾ŸöÒò1R0# *†H†÷  1ÆM·—hn›±cR`ÉêA•ä0+ *†H†÷  1server_expired010!0 +½Èø`VºGuëN{k÷³p1¯„¡ ’È-1zeroc-ice-3.8.1/certs/configuration/ca5/server_expired_cert.pem000066400000000000000000000027451516567600500246330ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIELjCCAxagAwIBAgICEAUwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhNTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjQwNDE5MTAw MTUxWhcNMjUwNTIyMTAwMTUxWjCBnzEbMBkGA1UEAwwSY2E1LnNlcnZlcl9leHBp cmVkMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHRmxvcmlkYTEQMA4GA1UEBwwHSnVw aXRlcjEOMAwGA1UECgwFWmVyb0MxIDAeBgNVBAsMF0ljZSB0ZXN0IGluZnJhc3Ry dWN0dXJlMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBALaoH/z5mNG9EsKPjdIKug6gqzYI5cW/9sBO O60tvVHhf0qyuU2IX7jc2O4YEcumzcGp0/bZlfKKH1g7K2dNLlUBN5nmEeP6tmRY pb7F5B6qIlw8Bb46Jo6W/FuS2Wbdedq+n9jk8sc/x6GsSO6t9ZEBt/zIklSpOnTH 4unpokTPZvBX4ahgVgoZYb82EoneA9d72vnmr/lxbL+0yEl1nrRoExskSvXo9/uQ PWQtojcbT8ttH/x1gIkjFTWK7jlY0kb/qgu2fUFW1SAgl+VpxUtNukpMx6quQ+/X DFM/krHHQ8NlWAu8IO8AMg3W98SpQEjenwHMtxLbLE69ZJM3w3MCAwEAAaOBgDB+ MB0GA1UdDgQWBBSpgkniae7u4/KdTiGxTAkLGtN1CzAfBgNVHSMEGDAWgBTga6kE kLTpgq25Kt8Ap9H2j8GMhjAOBgNVHQ8BAf8EBAMCBeAwEwYDVR0lBAwwCgYIKwYB BQUHAwEwFwYDVR0RBBAwDocEfwAAAYIGc2VydmVyMA0GCSqGSIb3DQEBCwUAA4IB AQBh+dTPaovxgz+5yCxAAeWWslCyQrZ2W++E/zEg4LXYB+C9Cjx3QRt1dJlnNN6x h+ehu/wE4cf7Y6Bl3abov9QvnyzbD1eZjKOEoejC2NuSiN1lnpi6v+sSmjj2pdik BtvDCxrGoyiYDVt0CdfnawLcG/xOA09RduF1Gtsb7uUUSRAVvJAyzJCKvY+IHd/3 faSzjj/hTCtfAHiXxTXTgCMQy0j+DQJfAB0CSVVNDybL00h7jR5owRv9Lz7dkjOF xKiR2fwlMtSG3l4GUMnpY+V7X1c7IFoDhENTGvMqujs4d8v5uInVx1yhA1D5Vhhz uxOj76D0zhpyQRksMskZxkFY -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca5/server_expired_key.pem000066400000000000000000000032501516567600500244560ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC2qB/8+ZjRvRLC j43SCroOoKs2COXFv/bATjutLb1R4X9KsrlNiF+43NjuGBHLps3BqdP22ZXyih9Y OytnTS5VATeZ5hHj+rZkWKW+xeQeqiJcPAW+OiaOlvxbktlm3Xnavp/Y5PLHP8eh rEjurfWRAbf8yJJUqTp0x+Lp6aJEz2bwV+GoYFYKGWG/NhKJ3gPXe9r55q/5cWy/ tMhJdZ60aBMbJEr16Pf7kD1kLaI3G0/LbR/8dYCJIxU1iu45WNJG/6oLtn1BVtUg IJflacVLTbpKTMeqrkPv1wxTP5Kxx0PDZVgLvCDvADIN1vfEqUBI3p8BzLcS2yxO vWSTN8NzAgMBAAECggEANFtNzAQ5n0kskvN2KfJkMaQxX2w+fKgRUT87kODvBwT1 qVJAlm5UTdeUIO9qTm9SRERrWzM0bZDU+kP/pX00ni4ao3UUxL4NQQc9/0iXIokP D1QvKz9c5Pt3e8JEqd0rPB3vEMtTofRwwzFwuGXJ4ZZWCFHvy++0L1xKeVU8a69x SeUSiZxYhsr/4Jxz+G4Lo4sPKWVNidPaS0NNRDKo9O2gVA7lQiDnLCn4ANr20kXV DbhOuw9k05GzV8oDyHUmxgcBpEatWWqjEhhJWYcOVy8ye9S4c6qQPbNq/Br2e6ar FrOrIdKLuTNp0VF2F5PetF8Csv7FtOXiKdbefeArYQKBgQDqYWGIXE6tzRv7VWzb YW5XwvUc1sbiClSTV8L2/Soj/Pp5oWc+mi2z53kcAqt+qjc1RRVf9wptnJEp+wVQ RKWqIzpYwpQ1cxgCZ4PQhfoQmLaA0qEwA4e/NnU9x4iLgWzWGmfIcElmT8rOog04 iDQIfzcQ34omNKm/FelOZ6jBEwKBgQDHgVmsi5TorJQax2cTX6eefEpc93nJtS09 02O6zkg05saeLK20x9mjOZkkPrz3bZDo7vhUrcxgRIWPVNvtDqeEBxn4LZ9U8rg8 4F9ocGrj66mNHOT+mMsso5Uo3mTW1/oEYeRi6La+TgcIuEhM4VTClnB3BzytEVs9 7LKj32mgIQKBgQCTHWzK2qXIEeZua8BYM1+/Vm/kGivb1gAgPAX0YhQBYtkVX2oe sUfelHxASKy8ZLsihKpWAgpZoty7LQS4zV3u3Q3SiM/efM+lMrRaPr4njLOBSLRE HvMl4ljU3lmmtyZJfWmHNnPb9FmoOa9yvItsie1WefmM4aFqf6ZhwE78YQKBgCWk HRQ1/bFspkDrMGJyYMDBOJKTyrGo8lFA6gcb1nnMtNqxGVELh9+JBYDWKXcRgA7C z63CYNYk94IUg64VXrvFTzwI94/if6pUtwuQckpwczwBoJ78mxDgCEt+sk3qz+w1 wA59U8VSGXemtVV0CjbwhWWfwu3wYWOsngPXKimhAoGANfCwXtnyr/dERgtC09hH G26rKRfbMZcPaee4q/b1CwHlRBNOZ9heIsT55ZQ/rnyt0pEJXeMcJmVo6RG5kv8/ zxa0ZGiGIp9S1f+O5lVE9CNq6TW+mDjpYrugW//bXwQNoV3Y0+NhWOW1OtOMYnNf +vMyjp7yiJCzxxvmNpPIQdM= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca5/server_notyet.cnf000066400000000000000000000011221516567600500234510ustar00rootroot00000000000000[ req ] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = v3_extensions [ req_distinguished_name ] C = US ST = Florida L = Jupiter O = ZeroC OU = Ice test infrastructure CN = ca5.server_notyet emailAddress = info@zeroc.com [ v3_extensions ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [ alt_names ] IP.1 = 127.0.0.1 DNS.1 = server zeroc-ice-3.8.1/certs/configuration/ca5/server_notyet.jks000066400000000000000000000066421516567600500235060ustar00rootroot00000000000000þíþí server_notyet–ü—†¿0‚ý0 +*‚é0ü)ŒÊaH7TÄ[\µ5l(Ù/× ­“¶ !€­6¬W³9™@ &;aZûÿÞ:74?>Š–ÃÆO ÔñeÅ—S=?—ùÉ(e<Ðhå“á’þ³,ÚM oˆü=•ʨN§zö¾hLÙ„Ö#œ}=“}—ÜŠ[Z†ÍKUcði®{Á?އÄJ˱î=ڛϣXèŸ:V±š°c‘;†ŽgÖÛj:ÀÐk±½÷ÓJ¨ çAãRIêƒwï ¸s° ‰KYÖBC<(ZíÍ•çmê6S¥ËÂO.òW——– õßWg¯QcÉâê”O=zyØ€Üp½¥•«K$µWeùÉÄmµús í¾qéŠß54ˆR7qb¤ײP\cLAÌö^Ql›~ °õÅÊ ´b,ÞŒñ¹ÕJ/ùÕž‡,ÈÕH[»‡è)1Y[“­rã·­ýã"OlHr [äfþr’Æh¿¹áJ'ô¿Èêé"UÁ¨åj7èKi³… Íxpw‚a5 ÕPÐ>R;›*Tߟ bG´”;Æ àÜE¥•Pø6²ËÀñÂW¥?ðÒôiIk¹–¹<ê·kޱûxû™@ͼ=1'K5h×Äú`IF Ñc8êTüwKƒ;+>MþÊ·ÿ¶N€Í~²½ƒG_b[ã{*¤]†Ç Qzeª€5ü\u£h8Þgöºqs|W/ÂMóˆòfþŸœTÔ+ìÑÕ¸=¢H%«&vÕv°´úŒ ’}Û:ä1rƒ!\z2ˆ8ÐnÌGfØGÐ92EŸâ IÀL¯•Òc;–R;><Åà ‰ýÿJ©ñˆÞefgX%È’‹„Ü£ÿx˜2Aä´úÞo‚:pÃnލ2ï»Z(ʽdcÕ½IìWèÿδl 8ªšŸûâ§·e®^×AÄÞànsâüÇ…¼†ç¿Æòš›RyI+“X *&Æppkh< j¢¬Y T¹Ž¹âIT¸¨me’Þ©³á W+Ù˜D@SíÃÛE ¼úÛ^Qzø¸áj®¿ðÂÒ¯vÿ´&zŒ 's_aœpqjˆß3P]£méÂQØî$$ÝnßB j.‹)aù'ò3¼J•‰Ôz“â®ý Ïhð—ž/üÁ¬]~Õ;%fcÓþ$aæéñ*DEß\Èš;)^M”Úuþ[ãÀ:"+UTƒ_½e!îÙ¬Ó6!…^a³M’ùhŠ˜-š˜‘ãà4t1 ~ø1v(BE-™ÌhH”X.50910‚-0‚ 0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0 260626100150Z 270729100150Z0ž10U ca5.server_notyet1 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure10 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚®ú2} 0µ”Tú/ÏI óí©ÁÏnnN*;\Í1?ϹLêɽé*Z/Ru<µ}àݳÍ`èƒ$‚442Hô‘ŽD딲àU‚]i8‚8‘sò‹¹3™®´Öú§i]x¢x„ß¶MÚ««®7ÇêÅd­Ð ‹ê}Clg.WѶÈB/ê´­¸T5íSP"“~+c´ïò¯DnŽHÓ}„³Ø}L\çžš®yÔY?,GS|%zÏ`›Çî&0R¢6×åwtד⤬ƒ¾Üz+k¯…óG@\5LqÍ[Úª_=Ëp‘ÊáЇ—¹åÆ3ð\èÔM£€0~0Ua‹þ ÈDÕ8œö¬A:ëðÿz~Ñ0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿà0U% 0 +0U0‡‚server0  *†H†÷  ‚pî@éb|f¿„åŸÐæ 5Øî;–r©þ˜©ÌÿãK»’çvÇOo¦Ô2³–aTÀ”äåÉ»cßž wÀ5˜WQAKˆC ¬3º7ǾEL©cÓ‰¯îiwf0ÿ¯RºMZÉ”ÿPŽÁ¿þÇqA9ŽK ?Ù}šI^™ø^u 䈛 ’à¾éá”wÈÞvø”?"œFÊ7Ÿêa²?ôQøÿÖÃq‘éϾw41[‰z'C¤ ŠŒˆÐÚîïÙêÏc«Šú€ ÒÌx•ቂv¥[#)Çi.õ‚1±N·|Š&ŠAVì´š\ÖXÿ&X1K$¾)X.5090‚0‚û Àɇ7ÈwL`º—IR^Ý?Ð0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca510 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚¯ ¦õ(g•Å^å¼&^u:é©×$C ŠG"Æ´ ~ßÊJQ„0Ãî¬PþUxĺïOpœÑ²˜Ž4<» SÂNLÍoåFüµ r‰®³Áÿß¾¬íƒ¤)‹Úäû Ô½‹ž ½«ò …äÖZb7KÉ#E¡žÚÎK–‰:;|‹(·d¨ï}KÄ´„3¼w¾'çÊíNaà%~°(ãÈÇF‘ª¥”ü*„äÒSQ;hŽÎ¯zÊY©Ý¦æ»Å|$° u§;ª2}Ù¨$§ÖÄÛÈ×ñ ‚ì]ËÃäæ~8¹” ìZóZåÐv Q#F6 QÏ›í¦¯ÛY˜¥$1’>ò­£c0a0Uàk©´é‚­¹*ß§ÑöÁŒ†0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚}à¸Êm®¼õ^GÑ.Ú¢d‰­<¸Þ›Çœ¥Ð£æ|W>…a™–œ’ëiâ£$y•Íö%Ç£nSUñ/W»»UÙúîð¡º6W´›0ö? K[nT’ˆ½`y¥ì¹VÅÁY£mHt2ùHÅâ±9‰ÍÆ‚‡÷㪕¬¥,ÖQ­ãü¸˜Ž(óƒuºÈtx4씽†ïn©WK¨I[]ZÂ"œ\¿œž¼àcÄS|ÖíÞÜÖŽÈi·\Üì]Œv6Ô³Ëå‚k¤üà`VÛ¼‘t¥îõ¦fñb/U™9Ø'Ú .VQnbe¾¹öBºÓÔx¯D]Y/üå«î- ©6¾$¾˜È%{zeroc-ice-3.8.1/certs/configuration/ca5/server_notyet.p12000066400000000000000000000074201516567600500233140ustar00rootroot000000000000000‚ 0‚Ò *†H†÷  ‚¿0‚»0‚ G *†H†÷  ‚ 80‚ 40‚ - *†H†÷ 0 *†H†÷  0ÿ§\ÊAŒR€‚ ‰ø +Bd…Îb(<ãáö“—a§°¡ÐHÕ’üWÒ¦×Ûì›úžCÁsºÚ³@[i¤z¼…ôA€NïYO²±;á`½ee¥×aÊÅеKCeº$–´å‡¿aè`z—•Ío‹ø½½æ»Žu€˜Lj!'ÑÑÞ!‡îMLºgäòæT‰,ºC¡^) ô úªµZÀ¤èud»zB/Ø=µP¼žMÙÂű`ßhL‡Ær‰Z­˜°l}‰ …2°Š «üƒ|ƒY+»;bV…èXvó‹OÔ[\ýuuh a¼ÂÕ !ÐëªÃ\óžèX‡™4{}#ÞŽÅâ/ퟵr€0JÆZìöÌg«Œ{F¥z]¥hGC&e=rÓät²?n(—X$œÒo«G˜MãÍ·8mJlãñØä.¾gL`úwNç%«„?Q:YyÒ÷"m.N\ ´ú½kuA›>¹0õá7·Æq=†•ê•|·¡Oªyát|k£ixˆ'Ç)ƒësÑfmo•±FDBÔe¶%¿ýì¾áh!îaø°Šö?€=ñ,® 8¼rªÛ Ñ8-슣ëbá!·8Ì‹ ]”ªÍÛ½uCÆÄcwô™ɾ—~WŠA8&¯ÀÄÕ+Fâ Y÷m¿ÿB¬5Θ…e/k[ñÎWO÷kr²Ö·Î7y~PÿOèîPré»Á¸î2®³ÔtC¬{ðƒòF ×®¹Ò®y{^lªÄ䜟iÿÜ©åQÒC,FEEvœTÖY )èñºAT€BŒpïo@#뛺Ԡ´]³V-U¨Ù pïŒgò¹&ðó`×WÚ'6ïÍ:˜óêËýAäÝ>ÛZË]¥ –'jsâ#–Ù§ÑÌ ó«öõ¹«š­mÎ-ßÜkÚ¤cP¿~¿¿’é¶Ö©¡‚2¬P– "%æ©?‰:Ô_¼ë }z”æÖ“ÚϦOŠyé>öb-q¯ç°ó*­ûwœ¾´IðKw¸µ»þAL8ÅßÊ—w¿}f ž]<àà*Få÷Ã:iº2ÞSÊÚÌ,ìãbÛÍcþ ábàŸÛ¯~?ŽRÞÝÒ o!åLözèR]@:€Ìc{ÜѬ¢yÕñ³Ùdã••Ÿöî8Ò8diþÚ´Ô•€Õ³u`wØ#å!º ’Ur®csß^™îý TÖ<¬×n ‚’9/%Ô0#L•¥æ]ŸàdC˜AÝ0¶s¾5nµ@ÜÈÌVêxwÂðÖgþ¯!þ#´1HpÔôî©„•_ÎbÚ6£¾ÂÔšð|¦{ì÷0­áÉ‚åäãêÒÂÒ²‚rx·Ó~åöŽ.~·„¶¹)c “ëB§@¯`U¢œPÞºVµçtƒÜ—9/$uš€<°âjN)ÛÖ{\/M½C´GWÏØ*€×Gp–“ñæ^ïÇc ifñІˆC¢=–Ïö’Æ¢É?ug¥ØÇå\Á‹;³ÑÿRmüà˜RÇò yv×µWüÉ‚YäA ´v!„'ÇÂ35²æ“»@¼!—HÙg´x¦cåU]s$—¶+{Šãiô< »®ÿ§>&&Ãÿ¸j†[ã&zù/¨9‚4“ 3ÎÔyx€¾^'XéŒ~ˆ½:‡%ÁNœg¶há—N#¤ê‰Ñ2ÎÁŸ‰¿w×Çã, a\ f†wž°+)ÃæŠ™q›±”WŸ†æ[S!ñÑ]ÐÌ7ÁQ‹} }¼[%áxÑ»Õ!A;Bùºñžsú5FGqžè#ýt¸ÞKD;àë{,›ª´B ’*ˆˆƒôUí%¿_!cZùÄÊ9‰TºgÇ×T» dð#Êd$Xy/8ñYÿWÐ1‘¢èŒbŸëlþl·zÍ´ã §€ ¬9Õ äèþfòvVÓM—Øä9ÀÑp@l]$™.Ÿø™4†-N}üÓQÒý*h•½ˆh\cy?O+Ö9zÓôUE*în©^3ÄÏ7Ÿþß3«"X"ÒPëX£  ÿw¿Œ^[¡oWͼº1ê’ý+îÈÍãûÝ Ó4«û£TÖ›ÇfÖ‡0Kæ@úÒ6.îÙ– äÉ(BXƒÆ*1I–íðSx711µ:Vù‰Û/ç¶ZXã3Zˆì„`:¨Hë-n©r] Ê ÷·úÐÜi.ØZ™mꛀÇÀV·ë7,è€èÉzõß±O¼}9G¿_Ó¥QQ¸…b šªY_Ž”è Q‡Z&¿ŽE;¹ž¼ ±E¸Ï]Šó–'Èb¥«eô ÿmÞ ËÑžëÊšÙ¢÷“‘¥@_5)ÛâC …¨B:ä 3ðÌÚn˦É~¤Ybkm”¸gCÔèZêhÙ%"¤¹ŠCj¡×CÞ0w+,ÿ †÷ñëäÝ>¦(?Ń®)u̧íãß7`¸ ¥^nž¬ ‰uíÂj ×dâ×Ô*ýv#ŠEŠOž®Ò]Uù‘ß!O ýòÓý!MfšzçuK+’COšññ¤Qé_9+-«9a%¹ôge‹¥7—’x`ËæG²ô…£>wÎô¾©ÆÚݤU5·–,Ñ‚|=±.<žU±Ät „t>©„'½óó;æ›Â2_ ®Wè<ýl¬o…æ-ä#l]0ÒŽU-â“÷R0‚l *†H†÷  ‚]‚Y0‚U0‚Q *†H†÷   ‚î0‚ê0 *†H†÷  0 k‹_vÌ ‚È.â¨e˜Þ:[^… ÷Á'akqe´ª( »éùe©`¼ÉDa• R¦7ÂÙu )^*¨“)p¬'úº©,«£­¼tfhDÜÜÛfêxEI!йnÔ¡¶YᆭNž ‘IVÜ5ë^Jn%kš>®ˆo´ßÃמԛ1º|20—V"$šof}’š!‹o‘­ªyE #~ãc\Q!N41•$æñg¥aÖ’KAt·¿Žcàt wÆH¢`ŽúnbâÌ'ϧꭅ|\ÍÐ;U£x¦¹]¬'IaÛ×!,×bs¨\ÇN¼W3ÈÂÞíîå}C70Úg#¿±Z|ÌËOþ‹cîÑ\šè¬.Û¹ƒbÃø>fãÔt!{êkPâ”GwÃådµ“é Õ·!Ôø®dsã]`*pyB©„qz’ƒ Œl ê©´´ŽŠ‹+W+W/èÉ£Dq/hÄY©pšÒ;³Ù¸’iÅz µ#ßÖžLè¨|àl7š°Æ•¾g]Í?@©ÿYSoß Õ¾Õh‚Ü&)¬#I&­Ã½ÅXTÿ2ÚV“ˆfÁC Z,Vó±|®ä ¡+SeOÓ¶î¯H3*–Õ¬í™5_èñ ;`¢x ¢Ah±¥ùAqÖå|A ¡=˜7î~ë«1ÚIwÊ`jGr›Çl̵i¡X3;á7¶Iʼ§–{w#Òµ-ç;7(4"ÈÜÄPÍß²•Õb‡S¿Ñ¿Î;¥žöô*|¢ø¥¶T‰m-—v‹jñi`Aô‚âÈjày—X§—?XE]¿&$^» "k³ýâÙl|6YI¡pp‘73l’kŠÂ/z^ÖÂ,Êä?¬D™€BohFo1L2Î"fsxeÎ%ÒÀÀ –¢KôËzhsåú~¬?<|1N»E‹Ôi®\ç«Sj}dˆãά ¢·¬Ý–^œÌfvª»àe)Ñ:¬½ñmÛ†²ï³È&Æq{oõ„ ¬¬ ý#£#T¶HüÕ "9ã$1I:ûÑì.ïöÅé”EZL%öQý¶çiŽYjÚÀKJµbNc7¶UHNZ¬Ì¼^ ¦ÌMðr~‰JÉb‚z|]µò?R\ˆM§¾S/ò 4Ð"˜Ò“6à¦=ˆÑð£(N 1 â\wz‘zËÕÉôŸ ^Þö<'üñ,&$(å†Çr}wµÒÇÿÀ%æ|(ÒWdÄPúñâUY˵Å7 Ù ­{UŠM–ËÔn:kZçgRÿXªNƒ/‘„¦%ž·` ¿·íË×mF Òæ×Is‚'}g‘º àÂÏÞuÚía­_# À~“²âœðˆæKÝN´ð z½ÛÊÅJ§@]K¹¬£[4Çhs©p vX²¤šÿÙNŠrÐõ˜:Ú+>`þ]¢ýR×Ög71P0# *†H†÷  1¿÷=½wÀN·ápg³G¯‰q9—È0) *†H†÷  1server_notyet010!0 +¯’X¬/·ky»Ž#4?—=md_׃ˆÈ¡aƒ4äzeroc-ice-3.8.1/certs/configuration/ca5/server_notyet_cert.pem000066400000000000000000000027451516567600500245150ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIELTCCAxWgAwIBAgICEAQwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVT MRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBpdGVyMQ4wDAYDVQQKDAVa ZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUxDDAKBgNVBAMM A2NhNTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJvYy5jb20wHhcNMjYwNjI2MTAw MTUwWhcNMjcwNzI5MTAwMTUwWjCBnjEaMBgGA1UEAwwRY2E1LnNlcnZlcl9ub3R5 ZXQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdKdXBp dGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFzdHJ1 Y3R1cmUxHTAbBgkqhkiG9w0BCQEWDmluZm9AemVyb2MuY29tMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEArvoSMn0gMLWUVPoPL89JDB3z7anBz25uG04q O1zNDzE/z7lM6sm96SpaL1J1Dzy1feDds81g6IMkgjQ0CDJI9JGOROuUsgSN4FWC XWk4gjiRc/KLuTONma4etNb6p2kBXXgFGaJ4hN+2TdqrqxGuGB03x+rFZK3QjwyL Gep9jY1DbGcuV9ECtshCL+oAtK24VDWBf+1TUBgikx5+K2O07/KvRG7FvUgQ032E s9h9TFznnpqueQXUWT8sR1N8JXrPYJvH7iYwUqI21+V3dNeT4qSsHIO+3Ah6K2uv hfNHGEBcADVMcc1b2qoDXz3LcJHKw6HQh4GXueXGM/Bc6NQRTQIDAQABo4GAMH4w HQYDVR0OBBYEFGGL/gvIRNU4nPasQTrrDvD/en7RMB8GA1UdIwQYMBaAFOBrqQSQ tOmCrbkq3wCn0faPwYyGMA4GA1UdDwEB/wQEAwIF4DATBgNVHSUEDDAKBggrBgEF BQcDATAXBgNVHREEEDAOhwR/AAABggZzZXJ2ZXIwDQYJKoZIhvcNAQELBQADggEB AHCQ7kDpYnxmv4TlHZ/Q5gwbNdjuETuWcqn+mKnM/xoc40u7kud2x09vf6bUMoGz lmFUwJTk5ckUu2Pfngqdd8A1mFdRQUuIQwusMxkXujePx75FTKlj04ker+5pdxFm BjD/r1K6TVrJlP9QGI4fwb8f/sdxQZ2NBTmOS6A/2X2aSV6Z+F51C+SIgZugkh3g vukU4ZR3AcjedviUPxwinEbKN5/qYbI/9FH4/9bDcZHpgc++dzQxW4kDeidDpKCK jIjQ2u7v2eqPz2OrivqADdLMeJWN4QaJgnalWyMEKQLHaS71gjGxTrd8ih4cJooe QVbstJpc1h1Y/yZYMUskvik= -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/configuration/ca5/server_notyet_key.pem000066400000000000000000000032501516567600500243400ustar00rootroot00000000000000-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCu+hIyfSAwtZRU +g8vz0kMHfPtqcHPbm4bTio7XM0PMT/PuUzqyb3pKlovUnUPPLV94N2zzWDogySC NDQIMkj0kY5E65SyBI3gVYJdaTiCOJFz8ou5M42Zrh601vqnaQFdeAUZoniE37ZN 2qurEa4YHTfH6sVkrdCPDIsZ6n2NjUNsZy5X0QK2yEIv6gC0rbhUNYF/7VNQGCKT Hn4rY7Tv8q9EbsW9SBDTfYSz2H1MXOeemq55BdRZPyxHU3wles9gm8fuJjBSojbX 5Xd015PipKwcg77cCHora6+F80cYQFwANUxxzVvaqgNfPctwkcrDodCHgZe55cYz 8Fzo1BFNAgMBAAECggEAIpb93Ow+XlKu8YODWAyuoI4VSAC8dwCaFJzFnXmRcfTm 6+3yJiHegIbmUB+JU4tJR4qZ2S76/svZ/kFKneou4OYbTUWS3gQnddcBj+y6hoef PWAPvftSfTReDprG7yxDYFJXE8O59m5xD//v2sACffLcsZEYF3iC15x/rQ5dZotY P77ifGT+QUchJL5WaMQhtNSI+his0y04cBRbvJc6088KOUfG/Z2n6y3H6k8cWYGk xv9naESAFjSN7ELp5Jr5MFjJMOkptrQAkVnXnrC9f1aF4MWbRn7AgeKxAevkM3lY CiAcmAl9+5LHA0+ZjTuH2JtwEQziWjxW9slF5FpGkwKBgQDVfo/KAmI/N1RzsBlS VwiOwAYWAazRzID5a0H/JkIyW/JK79eMOYFaHN3v7ynIYQEoSVCR7MF30LkRnUG7 KsNLT63qVqndGjRI0nLxcGr31uFcNppTrXanF75JyHGswhMIo6NaYgkjliKmLsm9 JA/4Ng1RIu0oa9J7jY6A0Vxv1wKBgQDR0FZONPo055v9c5B6YBWvnH/YwNH67pRu f1AgCPSCJww8w8KaLrn81bYxzH869WqU3cIL4IPxJM/23Oo4k3lJNvUqiHiRd4dO WprI9BXmMZA1Z3BE/moCF8sZRuOowRFORiZCZxBxgs6WSK1DfG7pIEW2FrJsJBn3 ba0pT6GzewKBgAQeHMfYo+x0NLzGeLaN1yxpp7Rk8+BYAWTOHMe/BSfTfijT12Rs 94G1bNJj2npy5ILSZytpVZHqBKfCULI7cOjS8JfEdCI/jyKYbH8bm/SLwGz24KMc hV1Tp+fkZczfMV7JSS1FFsgI7UInRNzRBT3UTQ1zjv9olPatFEKHxzChAoGAIb8d spSIzeuWxmxJB7XepxFH6ugQngizrRYjIBPwp+J58GgYK85qMcV5+YaHzEbe7rTA WkKxVh7yqCUeMx1dO65wPngW1GbiR3MBRGMmBpFgPYa2oxI8oLuM+jLRuTnce7eC vdlv5qIAcmGcJKel+y8qpz/9ULF5z7c/S864FnMCgYEAlwF5SF4Ta2b4PKnj5lQ9 +pDrfXfPfUL869t19BdH+CAC/AWoXifUoxj3/xA9ZarKNKC16JYalDcYSmOVyXMj F/DzqU3YwAhhIbrCbDbkJuNF4zUAraMRRmQnB/zkGjyd2fvxxKKotDTLqMwWol7m iH6PpXTc1UHuCPwrmeAhujA= -----END PRIVATE KEY----- zeroc-ice-3.8.1/certs/configuration/ca_all.jks000066400000000000000000000125221516567600500213330ustar00rootroot00000000000000þíþíca2–ü—šéX.509J0‚F0‚. mß— ­ Ìç‰YŒ"§9Ž|0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca210 *†H†÷  info@zeroc.com0 250523100143Z 260625100143Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca210 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚è­×…oýeÈá(îvj?ºú#â[RŽGqÁ÷´=,êýbn f­Æô³ô&g‡ƒÄž£úSܧ* ½x"(Žü;÷="d£Ùj… ]qÐH³îåìcÜn±¸E"¬+ÿú ³?ØÁ£Ã*Ú]D œÏ4~3·°½Cñ«îm±š¶ð"#y_R‹2þj•—…„åÈïÏHÈêÿµ0¶Ó«EÆ.`©ÒSMô³*-FBÛ(¯° ämŰú}Ôtâ¯ìE>·ÅàÎp¿Q¡nt9â›òÑøy³Dÿ _$TðwB:%÷£•0’0UÖ"ì€çÛÒj˜qDYœá/:0U#0€Ö"ì€çÛÒj˜qDYœá/:0Uÿ0ÿ0Uÿ†0U% 0 +0U0‚ localhost‡0  *†H†÷  ‚€u ÝŠ èj è~¸¡óÝà-ÅÁëž­Ñó²Íâï ž# €¯z ÞÍ +ëú¥)öS¥¨”ü~xˆ¹ýÅ)1ºÃ EO½%öt̹›×y«Ù³˜«õtÝíÿÄÆBçHáK?}Jn¹¨½ÊµÑ›±:<ÎÁ;Ù±T3:¯(9t>xHY4ÌšdSp§Í—S5zgãÐÒ±1 ’êñøÄÇíÚ÷ü|Œ†öÛ€ó‚X«W6>äµa¤5ôÞ+ j wùz!C(&Tc9iBnôK0ò·µý+#ÎaÕëõ‹È¤¬#~;«cT^7دY¤ÈhÒCñv„ca1–ü—™2X.5090‚0‚û œº‹@TOnžÁ*‘j‚Á76V\0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0 250523100142Z 260625100142Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca110 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚0‹mÞ™Û Ù:yŸˆògîÄ g”ü.דí69ãÆØÀ¯I½k;à9tp?²ÁÊåöÏ `Òñ3¹§˜Â!…­s~€|à ó‘E]_Kù‚.“o9®2ìÌ?²_y}»J´VH,àg$Ñ&Ö‰œÚšÏä5аVG<Š…y¬_4ÖŸ?r'n²· Ò¹ã¼pg´R߯â :ùVÒ§ånè™ó»¢OãyÚ 3ê´¸]z–÷Ca“¸ ¤oœ˜v.à~Œ¶I+·µáØB—DŽíTmó² „Êc…'ì—(f-¶ó™þ#V¶ʲÂÛLoŽàÉÕ)£c0a0U0Ÿ¶‚Wþ_#i|ÈýZý­g0U#0€0Ÿ¶‚Wþ_#i|ÈýZý­g0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚I°‡tûœ©7»=|û“*NŠº9\O8çy¢WµâyàÕÁ}Êkµ­zm3/ÿÑ›¬"ÕÛìúºÐÐð+ò/ÏéëCI^ÿè^H ep" 3>FÚ†Á×ÎÇ)È7¾*nMý.{h>ð›‡ÿRÂTÍ0N*òIHHø£¿ëYn·tèÖ0êÎõÅ$g+–oö[?mþ—b>NËU> µ/ŸP©aˆ¼*3O•úîNGŽÅRÀŠÕ Éœ©1’郠[È÷W`Ù\°»Ù_ž<¥/pñ:»>lŸûAo]Шé¶]}òò­£c0a0Uàk©´é‚­¹*ß§ÑöÁŒ†0U#0€àk©´é‚­¹*ß§ÑöÁŒ†0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚}à¸Êm®¼õ^GÑ.Ú¢d‰­<¸Þ›Çœ¥Ð£æ|W>…a™–œ’ëiâ£$y•Íö%Ç£nSUñ/W»»UÙúîð¡º6W´›0ö? K[nT’ˆ½`y¥ì¹VÅÁY£mHt2ùHÅâ±9‰ÍÆ‚‡÷㪕¬¥,ÖQ­ãü¸˜Ž(óƒuºÈtx4씽†ïn©WK¨I[]ZÂ"œ\¿œž¼àcÄS|ÖíÞÜÖŽÈi·\Üì]Œv6Ô³Ëå‚k¤üà`VÛ¼‘t¥îõ¦fñb/U™9Ø'Ú .VQnbe¾¹öBºÓÔx¯D]Yca4–ü—œÄX.5090‚0‚û pKžÎ8¿¹Sâpÿ"Ü Ûú>rí0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0 250523100144Z 260625100144Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca410 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ ”ßU|«ºÐÜçÒŠ×l7±†J¢a»Ú€Š[”¶®Œ,ÒX½Vsš+<_ëš'?TLÏ·Q`b½û’Ȉð¯sçâcw¯?¶3ÒïF{¦Õ1®\uk%-¸xõ^Ô]Y•Ü3ÿHF,qÕr.—BZíŒ-(M|í`pK’;iO;4ou¼¶èNqÐL–…Ó…ÞôÓ STaÂ6‘Åõüla9`"kU5ˆY=óÔ <¼û·S’Pô}ÀoÏ9‹ä–±gþŸ¢d‚?®VÚ)B[å‹Ýí¸|ÛáIæ>^êþf|ÖǺ]M¬ÃëÙP™w‚|È4Ú(mçÉ£c0a0UÛ‰ëÒ+·ýˆÎúý2]œæ^¢×0U#0€Û‰ëÒ+·ýˆÎúý2]œæ^¢×0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚ôJo ¦Þ%`êaåËÖi„µ!¨¢°:ܤܙ­àê|Py`<¸ïŒM |8bômqšßm\Rº”•/+b¨ÌÕñ+Bfq-òXͧ½ŠÆ¤_”2„Ñ˲'»mŸU¸v\š Ú¤ëÆ‚ÞžœO’2û©È®)ãg¶ŸZM(“•ö’F÷ÅôP‚›³)%: N$âæm|HTeɹoÿ6OûØõ ¢·öñŒ’nϯ~VE¿t“Ÿ|£@›r°u•­p<\çSÓrsž;‹ìùoø¯K9êû5ôta¬‰yjaYŽ‚Aä]T+x+e¾©¯Wsÿ¨ca3–ü—›ÚX.5090‚0‚û Vk˜ß<3¾„Í -½*—ß 0¾0  *†H†÷  01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0 250523100143Z 260625100143Z01 0 UUS10U Florida10U Jupiter10 U ZeroC1 0U Ice test infrastructure1 0 U ca310 *†H†÷  info@zeroc.com0‚"0  *†H†÷ ‚0‚ ‚ÁT¡O‘Å„nz½x›Jƒç5p¹ÔnÏ>Ï-E0xÊWå—µ ß°ÎËãYœu÷ —Ùûÿtƒ[ßxv_à€cÐÚ:><ù§0fŸõVÍTe×ÑðŠ5ÎkìÃ"[‡^gë1F%3‚Naß«ÙÕˆéø”©Í⌥ ¶º‘´'»”¾Ô'ÐRÂaösŽë¢è»G~íKæCÔ­·¡{áâ2¦i[8±€mÃί«‘ާ³ñRÙò?#›Î ‰Þ®¤°œ©G2Zs°g¼ÙÍŠÐîx1…ÆüàÙIM×3åØ`K1yÖR p`XÞËHå=»^˜î{ùV‡Cõ}£c0a0Uvo cÈÌcYöjà´–,Í*­Çµ0U#0€vo cÈÌcYöjà´–,Í*­Çµ0Uÿ0ÿ0Uÿ†0  *†H†÷  ‚MåËÒ‡å‰BínØÇn$g#箥[ìë¹í…DðO‘sµ©"ÈG§Jþ6»_1ˆéÑ7TƒPÂv"ôV­ü%A¯²Þ#L›§8+¹göHfƯ+–`  Îèz`x×~`à ™o`DúRÈ@Þ"Ö8lµ›W‡R¤¦Š±+ã¾`üϘèàRW>³‡JDañRi§g!œmЦ˜ÖÀÇzeroc-ice-3.8.1/certs/configuration/ca_all.p12000066400000000000000000000136261516567600500211540ustar00rootroot000000000000000‚’0‚< *†H†÷  ‚-‚)0‚%0‚! *†H†÷  ‚0‚0‚ *†H†÷ 0f *†H†÷  0Y08 *†H†÷  0+‰‘9ü²x„¼ú¹/,æ!Žt µ½' 0 *†H†÷  0 `†He*–/cqX‹ôRfR“½Œ›î€‚˜ssi31í€~u ƒŽ"9éõ«;‡bºÔÊSÍð¥ßà$|h™µ2é§K>•…¥±1“#}ýiIjÁJ0æsxŒl¾c] M(" !î&·- ³€½mE4&þâIm=^!L4OÚiçIsCcFN±Ûvét‚{oºt|­7TÉ~7?&å)‡Ç $—øB:›"O’_Ö4¡MDäDxBlÜHF“ÖÈD²š'耠[z*ÿÔçž4çöGïÐDŸ;Џh¾ŽXÉwð8U«çí$™K„ñûÅ«øy3XìCS âsuTÜJè롺ƒ2˜l¨±|×,D@wеªIx<¤7²p±lîËÝ€` ?e?«¦Ì}Øwõ3Ql%©R»B¿ØðAª¥Û¤*˜†¶L5ùM[Õ Õ~4òžk‹hŸ%_&Îì8 7As‰R!ŠÁ­º›!P¡~n;”ðòr4Ñ0óU6˜‰}!ßü¤ B.ˆkéÚ!b¿ú=Y&kv Wn„w-β¸¬f‹ÙT»¦Ój[çÏÓ¡÷ àÞcìçï T„r2îëÀIÐ’Ç5Dô`Z[†òdr·©Ò“NetfIï^ ì&žP_;Ž›œ¼Ù,÷ùvð•®`ÔbøZÖTêT+sJ ö8°2;÷é;^Ð/„žØýäœÔ]­Ûöjñ©dQ„(ú‡sò˜óM«gU%õ¿ù¼®*ÍZOœoȩЄèqmWÛ¸$ FUÇ€R®HÚ¨Š€–5Ìúé†õÛÊ“Ën¤^Žd“N¸mså¯Ô—Tt·±kF@ËV’²ª´ÎSβçG_R\F4U”ãõ‡z jÔñ³Û¾ÀÖ¢¹Ëìõ4‰¥s¯ƒÐÅ÷Ô;"å©Í ÝÛ>žˆÒ’>è÷µ@àÅ–I ª‡âj5ãáVsæn_Cìô™Ç±·… Æ<Ýú.ìˆ÷CÓ—±Å 0¨Ÿ„Äß±—¦åØÉØÃ„5†Jç%â2q£lšòìëÛ©O Yh 2ÙLv¼¬cÄÒÃÇ“â€ZucáÈFçyŒÅu”á8kŸ¹Úc:Š>Ag¾bÜN:(•<yÀöÿ‘£P,;‹£gò*·²úX-Ô†ˆPŽ^—cWDªSç¤CYh-0 uËQ‰ ×Qá äó’œéï…Wâ8a‡–§£’jÚKxäí)ìß…Èm–@þÝb¥Ê¡ö W,$ÁÕõF­>_U:N W›V [ÒÏÀ}G›Y]ôЄüÇ08XÐqæ¸?]®‰‘_5Q¼ëŠ‹zs"gÚ[wÆü¦(ì© %(Œ‹nšÍ7púž9²È9} 4„šÚú±ÁË*j1=/Oèµi¥îÞ'JIø¡±&±B²èÚ£»Û/À…Ûû ö"ñŒÆ}m'¢›tÜ%rû-ä«lUî:\«RFa`"ÈxY³ñÕ„]wëÀ¬7 رqãÙ•ÏæèÒIÁŸBE# *ÐqÛ¢šÎV]‰5þ‚pkýïò Á½ë^?p( @s/õ50îåo”sª §Ò¾- Ã2¸ëŽ%Fû6Óæ•©ÕyAœdÌ€³"¹>"*~"{$íõ9äkw¹nÿ2ëã«N-„d¤S¶Ë¼Ö.©v5V)£;ý\ŸW%Þ¬£ˆjo–ÎÿÀúy«ß¢Äâ— ­„µ´uÄ'Fr„—%ú`  3mƒq-îøÄ³ÊꕼC#ëlÁݱ\þa>•SÞv£+’¿"´–_lÞh›å³‚ ¿à$‰LÀÚß+ˆJWÜ;4ŒÒôÒFÆÓ¬e§ý‘‹&΂ªÍ.Á cº~®ÑÖƒ/ÊüJ2Ï}g¤‘V•\Œ¯ôÀ¾f¥ÎÐÔ8Z}}ÛCr!N[ú~sfy)ܳ­²‹,X¸’ô n^Zõp©8Üòp=eéú‹2»–¹ë„š#ð”þ#¼«º+[Q÷kÊúñ%t™‡DÔ¦Ý/ÎëŠHüN¨:>5a+7Ò(•¡EÚâŠ$âÿ3Êet¾Ù¨×}c Ϫu©(û<2eÌÈ3öQãHý^üO.ûÃbPÄz¨ŒÂ7J¤RIŽ }$$ê7²~;£ò]Æ:Æâ ̇W‡ °þ [t!KD—«®6e\s`œóL¦Ôº´`'õxù¨§¡ 9iV¬a„âÊAq˨‘¨Kÿh ݦMd ])¶_9ÏϾ'ϲ|—|G^ªÎIÈ9ë7º¢²¾ x;ì%<Ž¡VÿË®ç¤ð4 ¡ ¦7„ÀîÑý£@( Ü€¤ ‡¥“ÝçOמ†Òp혽8ñY­ÚmvÁ _ä%ÿýØËS/V‹Åºd]Iü(_}”´†.‹ mõãˆôÃpº‹‡ôÀoÛ»6…_qÒçUAÿ.¤Ð ,çŠåSÅŸÊü¯%Dèg7UÆ„¶nP_áÏ}í/ Gð¥mP œ–Ï¥lº×*#”íµ;‡np>·û¥´„’åŽÔ²g£iE[BuÙ„tU@çnÜ uÓeÿ¨$žEÔ,)WÙi³]à%†ªˆ#Ž…m= ®J ‹¨íÙ&oYе<ŸÏjßåjCõ4IÓx|0,úL¼ÇE¬Ë“:P扭«":óÁÏà6š´î]9ÙÍ"PqŸÅ;ºúeM¶•› ‡2ªaE•á —}èfr-ïÜw+0¡ÖWˆLôó<;ôŸÙë­*6_„‰2Xãeš¶ìž¢…åïj'£JÏk=U´Ü_é³Ü̹àŸvÐt²/nÈJ±-´¾Û'Ü»ßçÓdæ ?mPCô/Ñ}dý.ØÚ ·—“MÚÑànk¡Ñr‘ÜŠ¹+RÞÄ^°E\¹î|hYR¡Ÿþx®[°Gºµ·V;ùovuRÏ]ÆK°$¿ñÙ-¶ÎòD~[.'L=ùE”w þ5nØ >Ÿ¤¯ÆB ë9ô‹1Æ'‹Ÿ‹Û©zåPš ŒœÁåMð<N·k3{}‹â:ò ˆÀñ#™üŽÿ@ró¥øÿ7‡;~óhÎÜvfKP{X?'MùLp[.#òQ Œ¡hŒÒÆ9Ú~F%_0IÓ ì0žT­³Ë¥Ùµ´É=ÙXÔû£¡FÕë&ulóø?'ölh µ)TÅ1yÄß‚9êdX“F«N :ù!ðz0žà†¯Ø »yEÊk9 ÁÈ:Shš aùÂñÔuß}¦:&¶(KêGï\X¡~<•Q[9‹Æôÿ† OÚßP¿ˆ:ºÿ÷ÜíøôNSË4꾊ú@ìæl¸¨~=»•¸OȰ0Kå“B–zd8J¦ §Iް¨œàãÖ`VEOzC#ìk|V(GÔ¬Y9ô£h5ùBh^â¹®x¿—š«g ¸7þÀ`õ"LÓ¦˜ý½çاü¹¦ÔïˆfÖ¬žOG³réwcÝ6iÊ4¡03û«ä©uªU¹ÎH¡J]{Þ¥?¼Z1‡!y­þÿÊÙ/ÓŒ7ýý)@V;GŠ8ª]œ¨k6LºèŒ9§[zBV½ë-ƒW¸ŽË½êËô×󸚡C£¿_¬7é‚÷õ…9ÒSh„ÉHí'“¶'>?eòÂ"22V—ŸcÑ•mð¿€Ü^@ïS»}ô¹ÞF¥ºón˜0ð§>ù‹fþµxÌ;ä÷¨õtox¢Dç/h´ƒ(—eQ¡©}UX¦}h‘¥(*šmÿós¼ä™Ku» "О²U…ôKbèaê’XcâÐÀV´käIÐZçﳉ´¬‚‰çwŽ„O}LZŠõ’[ü_Põ ëp©ÝÂf`=ÝÛ×Cà¦+qÔVHFXíc+ìÃÌçÁãÿÜîsKz8ØñŽý¯Ôµ$q!McÌ‘òn.õi“¤Y²h–.;}²±Ö»X.gàHýÔS ÔgNëˆÆèØÖ™ D±±¦á ˆÑø] ZF†ËƒŒÅ“'e¦ºÒ€ABå`í¬|3=0«ûdµã)T°P.Gù‡¨w/Æ«¬®!’Á¹!ˆHÎ ¯>þëíüÄ“çyßVU]Â,ä+ƒÍõÔQSE ¡›HßzFíÃi诲¿ÚvÆígÿt;R¤n4I¦lÙUhÑÀ³ûW<Ÿ<8S÷èãd{s¿tÏ^ä‚U¯<¹a–£…êZB„3ÆŽŸ©u¢ôöØôÀ\náUÓv»L6»¿YaóA’ûöº¨FÙX™#=/íòò«ˆ:Uz‘£ìzLÌYȰއÅBÑôD§OañæNQ™ ŒŸ?–vã¿ìqF‘˜FÈBÞ®äû—Ø™§³Þæ45¯\€1’á(Lub¡ÃñTvØòQOåw9;&õ5Þ"r£*¼1Y%‘žvÆ4“íPOJ*4Îeþ_Å«‰&n!a«¢˜¦ƒÈu©±°àŸ!âmS¹d ÄùpÒ¹„HÛ9n=ú¯§¹ßΜžç©Á ¢U÷ô¡e&õgþ–ËÁÿE.s¢Q$ŠÓðý_ ¾íâW°«qÀ0¬šØT/:þóMQA¨ Çí´’B âŒÓ¶•ÌöôtkߪóÂALä×΄»Í(§üŸxG–†\+øÄP’^Î <¸èå$iRîÜ™Pãí´¼åcüXpxÄU™Ј‚oʼnÒTWÖý€ƒ¬JŒÓ¥4˜9B •F¯\É;Ù9|¸É°GeÎÈáí”rÊî€Ñ°dï”)l9  ë7ó·Ï viAqXrý jDÏ/}"\|Ç%””{×ùé$Þ€òìwpÈ«'ç{ÜLD“J$fÜ4ŽS(ÿšˆÇ|¹+HÃah`Ó÷ã%$_w¼~^÷ \]T&S÷ú>NÔÍ1AHb ¯yîoO=i$BÉ„ˆÐ4Y8K ]™œÕä5 Èa-Éâã?VîoéC.JPŒºùé†\¶`¶†„_†JxD®î¨q†=Ui±ß¨„ÙÊœx„o–6•³4»î^QÁ`©Ž¡YH5Þ²ðÚbÔ=w"»’lgL8ŽçNд–¶³÷»Z*cÌsƒ‡®éZ’û´‰ß›¿Ò\`ÙK8ù$ÝÃNXÏ ?Ò¼:îìíì¦If´Cîm&²Ïä×,¿¸F ¸ùׇWÁý´Dú±œ‡«‹Tû¿é‹FµBIÇ |¨x ÐŽœ‚Ÿ½O4‰·ºW2pn.¢¤ºÇÛç×±@c£’UG![’YÌ\•š™©ôâýU³œÌ8žù £*¤=³÷qr.5:;k׫ÿ¥ÈÝûuÂjûæ·Wº¨V´Aª\Û‘¥'EÙçµgúYÕ,ÅLÈÜWR(Tà'ÄO¨™vßÑB»Nˆë¿TfoXÚFŽrÊ\‡ÿ‰& ÇÑ¢§&°h­æ¢fœ¡\ýÈˉñ÷BÃÔa­vÏ?½'Ê5=Q$÷Sãr†jš™”×ó”MVÇÞtzÀíb3(Ã÷ŵ?d2¼ÄÔŠ¹ùT5¼Q“¢ŠËÀõºxØÄ?+å*¦÷Gj ñ<úÈ2´F"}€á2¨#IÉ 3ö÷æ‚ñ›fJIÝKÒ ”O³Dy«wgﺭ¿¹€ŸnÐ’DÀĬj¨Ú†2ÿÚv!ýJAq˜‰t­¾?ᨉ¤’ǃ·Ø¸è]íhnúö¹_¹“Ž0•ØPÆr׬%3„¨6¤«¤Ë<žÊÞ¥ q—«‹7òkX°ç2ü‡¦0?=V·:Œ öY„~` zC{Oª/ ^–ˆv¯ \Y8´. 9jžd³“¿ý·2´èÀ¯@ WÝKNá;å[A5¥¡«$“uägD1Êu$V}M#ï0Q¹Ct9(ê¶Ì ~ßeXaj'†û ìfáýàÞˆÒ@¨¹>ÐéÚ]€ ´Í$>Õˆp}éwÞQ˜örE%ÿX/0‘®MÛdé’ù”b†úð-Á2ßf£’5zå¢oa$ð§öÚèS'ÉC†)89Mj[ ú¾èÈ5§¢Œ^ÔcÛjñf02†^†¸]·I ØÞ ]WØh4{öúatã³Þ‡jâJ0=Ÿ†7‡iòÏ&³êf¼÷¬ÕØ„p¤´A“7æ7]9+‹¬œâi*Å´Š”ÜŸBiTA3Ñ–!(¿¨…ZGÓMxSLýK‡ìƒ×ÔõhIÐnÝWçÝýÊú/@Þp°ß±1Ž%ʉ>OXƒ[-Eo‚B8¦{K Ä*À«õ¡X·ð?Bß ‚Ó&^d§¬SüÀ`ÄKq>ÚB©ÍÄã¤YAÚø{Û䀇œ~Ë‚Cð°’OßÒýò%áÒza¬×øé»Xpm1l 9\ú*X™¢¨—ãtyÈŹV$Bµôú¸ ¨tQq‰ã^ ›R7…ÃXX?\fIMalb`‹6м…q'~ÔÁA†DØô2º&xu%"ÛÊÙ7ß B_áǶ ê£>Pâ¤ÖBpýz)8*™l—AÑ絎ÜtE`øÜ¡ •Έ(nš*M9ž"UW ¥A ý{ E‹kIåºö6ÕË\Ôb|f#œ’y‰)ξ‹ÕúÙ°é ¹êËîK÷|窨ŒHx¤•òÿˆáõ6 ®âRÆmñ3wlØÜJŸ]oø»í5_º\¾ˆ-}îMšàKÚ—­ÇYñŠŽÈ®£¼0y‹÷TävFÌ÷ ®<¶Ö]ŠŠüÕÁo6Îf éà«ÿ_PÒë«7dîߥ Ç¥wKƒc‹À’Z™c#ŸHà;õ³¨cRûþj ¡òç° ‰8FkBíüJû½šLuÜÔýlŽ}Âûuk$F–ªE,01¬ãI'Øppá“®vº 0M010  `†He ä6Mž¦bÅãÑa¡'˜â¡ tDz7•úóY¨Ü¤£Å`êdâ|}Ê^¸“‰—Bé@œ'zeroc-ice-3.8.1/certs/configuration/ca_all_cert.pem000066400000000000000000000164051516567600500223460ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIEEzCCAvugAwIBAgIUFpy6i0BUT26ewQgqkWqCwTc2VlwwDQYJKoZIhvcNAQEL BQAwgZAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdK dXBpdGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFz dHJ1Y3R1cmUxDDAKBgNVBAMMA2NhMTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJv Yy5jb20wHhcNMjUwNTIzMTAwMTQyWhcNMjYwNjI1MTAwMTQyWjCBkDELMAkGA1UE BhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAMBgNV BAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEMMAoG A1UEAwwDY2ExMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAwi23emdsN2Tp5n4jyZ+7EoGcQlPwS LteTFe02OePGnY3YwAWvSQa9azsG4AI5dHA/GLLByn/l9s8DC2DS8RkTMxzCuaeY wiGFrQhzfoB84CDzkUVdAV9L+YIuDpNvBTmuMuzMP7JfCHl9u0q0Vkgs4A9ngSTR JtaJnNqaz+Q10LAFVkc8ioV5rF801hCfP3InbrK3GwnSueO8cGe0DlLfAq/ikAk6 +VbSpxflbuiZ87uiT+N52goz6rS4XXqW90Nhk7gKpG+cBJh2LuB+jLZJK7cSteHY QgWXRI7tCFRt87IMhMpjhSfslyhmLbbzmf4jVrYbyrLC20xvjuDJ1SkCAwEAAaNj MGEwHQYDVR0OBBYEFDCftoJX/l8jaXzIH/0GCFr9rX9nMB8GA1UdIwQYMBaAFDCf toJX/l8jaXzIH/0GCFr9rX9nMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD AgGGMA0GCSqGSIb3DQEBCwUAA4IBAQBJsId0+5ypfw83uz18+5MqToq6OVxPOOd5 ole14nng1cF9ymu1G616bTMv/9GbrCLV2+z6utDQ8CvyL8/p6x4AQ0kFXv/oXkgJ ZXAiCzM+RtqGwdcdzscdKcg3vipuTf0ue2g+8JuH/1LCVM0wTiqBHfJJSEj4jR2j v+tZbrd06AjWMOrO9Q4XxSRnK5Zv9ls/bf6XYj5OjctVAj4NtS/uuLOfUKlhiLwq ETOQT5X6D+5OR47FUhXAitUNC8mcqTGS6YOgW8j3V2AS2VywuwbZX548pS9w8Tq7 Pmyf+0FvXdCo6bZdffI8P2T8PYhKtcO9IUYRxA/gCLPbBq/mJHOD -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEEzCCAvugAwIBAgIUAMDJhzfIEXdMYH+6l0lSXgXdP9AwDQYJKoZIhvcNAQEL BQAwgZAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdK dXBpdGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFz dHJ1Y3R1cmUxDDAKBgNVBAMMA2NhNTEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJv Yy5jb20wHhcNMjUwNTIzMTAwMTQyWhcNMjYwNjI1MTAwMTQyWjCBkDELMAkGA1UE BhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAMBgNV BAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEMMAoG A1UEAwwDY2E1MR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAK8KpgT1KGeVxV7lvCZedTrpqdcZJEMN ikcixrQSCn4P38pKUYQww+6sUP5VeMS6E+9PcAOc0bKYjjQ8uwtTwk5MzW/lRvy1 DHKJrrPBH//fvqztg6QpHIva5Pug1L2LAZ4QIL2r8iAKheTWWmI3S8kjnUWhntrO S5aJOhI7D3yLKLdkqO8OfUvEtIQzvHe+J+fK7U5h4I0lfhqwKOPIx0aRqqWBlPwq hOTSU5BRO2iOzq96ylmp3abmu8V8JLCgjXWnO6oyfdmoJKfWxNvI1/EKguwGXcvD 5ATmfjgXuZQg7FrzWuXQdqBRI0YPNgxRzwab7QSmr9tZmKUkMZI+8q0CAwEAAaNj MGEwHQYDVR0OBBYEFOBrqQSQtOmCrbkq3wCn0faPwYyGMB8GA1UdIwQYMBaAFOBr qQSQtOmCrbkq3wCn0faPwYyGMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD AgGGMA0GCSqGSIb3DQEBCwUAA4IBAQB94LjKG22uvPVeRx/RLtoHoo9kiQStETwG FLjem8ecpdCj5nxXPoVhmZackhnraeKjByR5lc32JRrHo25TVRYIjR3xL41Xu7tV 2fruEvChujZXtJsw9j8PoBtLW25Ukh2IvWB5pey5VsXBWaNtSHQyjflIxeKxEDmJ zcaCh/fjqpWsGqUs1lEXD63j/B24mI4o84N1uhnIdHg07JS9hu9uqRcOV0sbqElb XVrCIpxcD7+cnrzgY8RTfNbt3tyP1o7IaX+3XNzsBV2MdjbUs8vlgmuk/OBgVtu8 kXSl7vWmZvFiL1WZOdgnAdqgLo1WUW4aYmW+ufZCB7rT1HivRF1Z -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIERjCCAy6gAwIBAgIUbd+Plw0grQUgzOeJWYwipzmPjnwwDQYJKoZIhvcNAQEL BQAwgZAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdK dXBpdGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFz dHJ1Y3R1cmUxDDAKBgNVBAMMA2NhMjEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJv Yy5jb20wHhcNMjUwNTIzMTAwMTQzWhcNMjYwNjI1MTAwMTQzWjCBkDELMAkGA1UE BhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAMBgNV BAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEMMAoG A1UEAwwDY2EyMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAOit14Vv/WXI4Qco7nZqP7r6I+JbUo5H cR8Ewfe0PSzq/WJuIAxmrcYb9LP0JgVnh4PEnqP6U9ynKgy9eCIojvw79x4SPSJk o9lqhQ1dcdATSLPu5exj3G6xuEUiFqwr//p/ILM/2MEAo8Mq2l1EChiczzQTFX4z ArewvQ4TQ/Gr7m2xmrbwEyIjgXlfUgeLMv5qlZeFhOXI7wfPSMjq/7UIMLbTq0XG LmCp0lMVTfSzKi1GQtsor7AN5G3FsPp91HTirxnsRR4+t8XgznC/UaFudDnim/LR +Hk8eajy+XCeZWUgkuBqWbwyJidhJ5mWPrNE/wlfJFSd8HcFQjoljfcCAwEAAaOB lTCBkjAdBgNVHQ4EFgQUBR3WIuwTgOfb0mqYcURZnOEvOo0wHwYDVR0jBBgwFoAU BR3WIuwTgOfb0mqYcURZnOEvOo0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E BAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwEwGgYDVR0RBBMwEYIJbG9jYWxob3N0 hwR/AAABMA0GCSqGSIb3DQEBCwUAA4IBAQCAdQoa3RGKChnoan8L6H4TuKHz3eAt xcHrH56tCNHzsg/N4u8gniMJgK96Dd7NCivrAAb6pSkV9lOlqJT8fniIuf3FKTG6 w6BFT70OHyX2dMy5m9d5q9mzmKv1dN3t/8TGQudI4Us/fUpuuai9yrUX0ZuxOjzO wTvZsVQzOq8oHTl0Bj54G0hZNMwSmgNkU3CnzZcPUxM1emfj0NKxMQuS6vH4xMft 2hb3/HyMhvbbgPOCWKtXNj7ktWGPpDUX9A7eKwlqoHf5eiFDHg8oJlRjOWlCbvRL GDDyt7UC/SsjzmHV6wj1i8ikG6wjf36QO6tjVF432K9ZpMho0kMd8XaE -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEEzCCAvugAwIBAgIUH1ZrmN88M76EzQ0tvSqX36AwkL4wDQYJKoZIhvcNAQEL BQAwgZAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdK dXBpdGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFz dHJ1Y3R1cmUxDDAKBgNVBAMMA2NhMzEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJv Yy5jb20wHhcNMjUwNTIzMTAwMTQzWhcNMjYwNjI1MTAwMTQzWjCBkDELMAkGA1UE BhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAMBgNV BAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEMMAoG A1UEAwwDY2EzMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMFUoU+RxYRuegAYvXibSoMFAec1HXAd udRuzz7PLR5FMHjKV+Udl7UL37DOy+NZnHX3CgaX2fv/dINb33h2X+CAY9DaOj48 +acwZp8bGvVWzRNUA4Fl19HwH4o1zmvswyJbh14ZZ+saMUYSJTOCTmHfq9nViOn4 lKnN4oylC7a6kbQnu5S+1CfQBlLCYfZzjuui6AC7GUd+7UvmQ9StELehewDh4jKm aVs4sYBtw86vq5GOp7PxUtnyPyObzgqJ3gCupLCcqQIBRzJac7BnvNnNitDueDGF xvzg2UlN1zPl2GBLMQd51lIJcGAAWN7LBUjlFj27Xpjue/kZVodD9X0CAwEAAaNj MGEwHQYDVR0OBBYEFHZvFgljyMxjWfZq4LSWLM0qrce1MB8GA1UdIwQYMBaAFHZv FgljyMxjWfZq4LSWLM0qrce1MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD AgGGMA0GCSqGSIb3DQEBCwUAA4IBAQBN5cvSh+WJQg7tbtjHbiRnI+eupQFb7Ou5 7YVE8E+Rc7WpIsgeR6dK/ja7XzEXiBPp0TdUg1DCdgQi9FatgfwlQRWvst4TI0yb PG9oXDeBHTnJXBMPDXQiEjBNV8MNdEc7PWu/FPkHxE4SUXGCVJmsm/R3v8rEz3OA I2BIzWUjJ7h0uio6rmKGFrelxmo8vOlC9tgvtiww9d0bb2a0WxoqdqIBoL0NDJZn gLLLYclu0OZ9Oh3LUpzAH+dvNAo+pzgrE7ln9khmxq8rlmALoM7oemB4F9d+YOAY CZlvEWBE+lLIQN4i1jhstZtXh1ISpKaKsSvjvmD8z5jo4FJXPrOH -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEEzCCAvugAwIBAgIUcEuezjgIv7lT4nD/ItwJ2/o+cu0wDQYJKoZIhvcNAQEL BQAwgZAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdGbG9yaWRhMRAwDgYDVQQHDAdK dXBpdGVyMQ4wDAYDVQQKDAVaZXJvQzEgMB4GA1UECwwXSWNlIHRlc3QgaW5mcmFz dHJ1Y3R1cmUxDDAKBgNVBAMMA2NhNDEdMBsGCSqGSIb3DQEJARYOaW5mb0B6ZXJv Yy5jb20wHhcNMjUwNTIzMTAwMTQ0WhcNMjYwNjI1MTAwMTQ0WjCBkDELMAkGA1UE BhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGExEDAOBgNVBAcMB0p1cGl0ZXIxDjAMBgNV BAoMBVplcm9DMSAwHgYDVQQLDBdJY2UgdGVzdCBpbmZyYXN0cnVjdHVyZTEMMAoG A1UEAwwDY2E0MR0wGwYJKoZIhvcNAQkBFg5pbmZvQHplcm9jLmNvbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKCUgd9VfH+rf7rQ3B/n0orXbB43sYZK omG72oCKW5S2rows0liPvRtWc5orjTxf65onP1RMz7dRYGK9+5LIiPCvc+fiY3ev P7Yz0u8XRnum1TGuXHVrJS24ePVeE9RdWZXcMw//jxJIf0YscdUWci6XQloH7RaM LShNfO1gcEuSO2lPOzRvjR4Bdby26E5x0EyWhdOF3vTTClNUYcI2kcX1BvxsYTlg ImsTVTWIWT3z1Ao8vPsXt1OSUI30fcAVbwfPOYuNBuSWsWf+B5+iZII/rlbaKUJb 5Yvd7bh8BdvhSeY+Xur+GmZ81se6Dl1NrMPr2QdQmXeCfMg02iht58kCAwEAAaNj MGEwHQYDVR0OBBYEFNuJ69Irt/2diM76/RgyXZzmXqLXMB8GA1UdIwQYMBaAFNuJ 69Irt/2diM76/RgyXZzmXqLXMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD AgGGMA0GCSqGSIb3DQEBCwUAA4IBAQAGFMMRtEpvGQym3iVg6mHly9ZphLUhqKIV sDrcpNyZreDqfA9QeWA8uO+MTQx8OGL0GG1xmt9tHVxSupSVLxkrGmKozNXxK0Kd ZgVxLfJYnc2nvYrGpF+UMoTRyxOyJ7ttn1W4do9cmiDaj6TrxoLeHp6cT5Iy+6nI rinjZ7afWk0UKJMUlfaSRg73HcX0UIKbA7MpJToLTiTi5m18SFRlyblv/zZP+9j1 EqCit/bxHIySbgPPr35WRb90EJOffKNAm3KwdZWtcDxcF+dT03IQc547i+wI+W/4 r0s56vs19HRhjX+siXlqYVmOgkHkG10IVCsQeI8rZb6pr1dz/6gI -----END CERTIFICATE----- zeroc-ice-3.8.1/certs/makecerts.sh000077500000000000000000000217111516567600500170550ustar00rootroot00000000000000#!/bin/bash set -eux # Exit on error, print commands # The root CA for running the tests with --protocol=ssl COMMON_CA=common/ca/ca.cnf # The root CAs used in IceSSL/configuration tests CONFIGURATION_CAS=$(find configuration -name 'ca*.cnf') # The intermediate CAs used in IceSSL/configuration tests INTERMEDIATE_CAS=$(find configuration -name 'i*.cnf') # The client and server certificates generated by the script. CLIENT_CERTS=$(find . -name 'client*.cnf') SERVER_CERTS=$(find . -name 'server*.cnf') # The root CAs generated by the script. ROOT_CAS="${COMMON_CA} ${CONFIGURATION_CAS}" # Default days for certificates, we use 398 for compatibility with macOs requirements. DEFAULT_DAYS=398 # Default password for PKCS12 files DEFAULT_PASSWORD="password" # -legacy is needed for compatibility macOS Keychain, it doesn't support OpenSSL 3.0 defaults COMMON_PKCS12_ARGS=(-legacy -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg sha1) # Initialize the CA directory structure. init_ca_dir(){ ca_dir=$1 # Remove existing files rm -rf "${ca_dir}"/newcerts "${ca_dir}"/crl "${ca_dir}"/index.txt* "${ca_dir}"/serial* "${ca_dir}"/crlnumber # Create the required directories mkdir -p "${ca_dir}/newcerts" "${ca_dir}/crl" touch "${ca_dir}/index.txt" echo "1000" > "${ca_dir}/serial" echo "1000" > "${ca_dir}/crlnumber" } # If the filename contains "expired" or "notyet", run the command with date time adjusted by faketime, otherwise run # the command normally. run_with_faketime_if_needed() { local filename="$1" shift local cmd=("$@") local offset="" if [[ "$filename" == *expired* ]]; then offset="-$((DEFAULT_DAYS + 1))d" elif [[ "$filename" == *notyet* ]]; then offset="+$((DEFAULT_DAYS + 1))d" fi if [[ -n "$offset" ]]; then faketime -f "$offset" "${cmd[@]}" else "${cmd[@]}" fi } # Add the certificate chain up to the ROOT CA without including it. add_cert_chain() { local cert_file="$1" local ca_cert="$2" ca_dir=$(dirname "${ca_cert}") parent_ca_dir=$(dirname "${ca_dir}") parent_ca_cert="${parent_ca_dir}"/$(basename "${parent_ca_dir}")_cert.pem # If the ca_cert is not the root CA, add it to the chain and do a recursive call to add the parent CA certificate # to the chain. if [ -f "${parent_ca_cert}" ]; then cat "${ca_cert}" >> "${cert_file}" add_cert_chain "${cert_file}" "${parent_ca_cert}" fi } # Create self-signed root CA certificates for ca in ${ROOT_CAS}; do outputdir=$(dirname "${ca}") alias=$(basename "${outputdir}") cert_file="${outputdir}"/$(basename "${ca}" .cnf)_cert.pem cert_der_file="${outputdir}"/$(basename "${ca}" .cnf)_cert.der key_file="${outputdir}"/$(basename "${ca}" .cnf)_key.pem pkcs12_file="${outputdir}"/$(basename "${ca}" .cnf).p12 jks_file="${outputdir}"/$(basename "${ca}" .cnf).jks init_ca_dir "${outputdir}" # Create the self-signed root CA certificate and key openssl req -x509 -noenc \ -days "${DEFAULT_DAYS}" \ -keyout "${key_file}" \ -out "${cert_file}" \ -extensions v3_extensions \ -config "${ca}" # Export the certificate as DER openssl x509 -in "${cert_file}" -out "${cert_der_file}" -outform DER # Create a PKCS12 file for the root CA openssl pkcs12 -export -out "${pkcs12_file}" -inkey "${key_file}" -in "${cert_file}" \ -name "${alias}" -passout pass:"${DEFAULT_PASSWORD}" "${COMMON_PKCS12_ARGS[@]}" # Export PKCS12 as JKS rm -f "${jks_file}" keytool -importkeystore \ -srckeystore "${pkcs12_file}" -srcstoretype PKCS12 -srcstorepass "${DEFAULT_PASSWORD}" \ -destkeystore "${jks_file}" -deststoretype JKS -deststorepass "${DEFAULT_PASSWORD}" done # Create Intermediate CA certificates signed by its parent CA for i in ${INTERMEDIATE_CAS}; do outputdir=$(dirname "${i}") alias=$(basename "${i}" .cnf) ca_dir=$(dirname "${outputdir}") ca_config="${ca_dir}"/$(basename "${ca_dir}").cnf ca_cert="${ca_dir}"/$(basename "${ca_dir}")_cert.pem csr_file="${outputdir}"/$(basename "${i}" .cnf).csr cert_file="${outputdir}"/$(basename "${i}" .cnf)_cert.pem key_file="${outputdir}"/$(basename "${i}" .cnf)_key.pem pkcs12_file="${outputdir}"/$(basename "${i}" .cnf).p12 init_ca_dir "${outputdir}" # Create the intermediate CA certificate signing request and key rm -f "${cert_file}" "${csr_file}" openssl req -new -noenc -out "${csr_file}" -keyout "${key_file}" -config "${i}" # Create the intermediate CA certificate signed by its parent CA cmd=(openssl ca -notext -config "${ca_config}" -in "${csr_file}" -out "${cert_file}" \ -extfile "${i}" -extensions v3_extensions -batch) run_with_faketime_if_needed "${cert_file}" "${cmd[@]}" done # Create client and server certificates signed by its corresponding CA for i in ${CLIENT_CERTS} ${SERVER_CERTS}; do outputdir=$(dirname "${i}") alias=$(basename "${i}" .cnf) ca_config="${outputdir}"/$(basename "${outputdir}").cnf ca_cert="${outputdir}"/$(basename "${outputdir}")_cert.pem ca_crl="${outputdir}"/$(basename "${outputdir}").crl.pem csr_file="${outputdir}"/$(basename "${i}" .cnf).csr cert_file="${outputdir}"/$(basename "${i}" .cnf)_cert.pem key_file="${outputdir}"/$(basename "${i}" .cnf)_key.pem pkcs12_file="${outputdir}"/$(basename "${i}" .cnf).p12 jks_file="${outputdir}"/$(basename "${i}" .cnf).jks # Create the certificate signing request and key rm -f "${cert_file}" "${csr_file}" openssl req -new -noenc -out "${csr_file}" -keyout "${key_file}" -config "${i}" # Create the certificate signed by its CA cmd=(openssl ca -notext -config "${ca_config}" -in "${csr_file}" -out "${cert_file}" \ -extfile "${i}" -extensions v3_extensions -batch) run_with_faketime_if_needed "${cert_file}" "${cmd[@]}" # Add the certificate chain app to the ROOT CA without including it. add_cert_chain "${cert_file}" "${ca_cert}" # Export as PCKS12 rm -f "${pkcs12_file}" openssl pkcs12 -export -out "${pkcs12_file}" -inkey "${key_file}" -in "${cert_file}" -certfile "${ca_cert}" \ -name "${alias}" -passout pass:"${DEFAULT_PASSWORD}" "${COMMON_PKCS12_ARGS[@]}" # Export PKCS12 as JKS rm -f "${jks_file}" keytool -importkeystore -srckeystore "${pkcs12_file}" -srcstoretype PKCS12 -destkeystore "${jks_file}" \ -deststoretype JKS -srcstorepass "${DEFAULT_PASSWORD}" -deststorepass "${DEFAULT_PASSWORD}" done # Revoke the given cert_file using openssl ca, and update the crl file. revoke_certificates(){ ca_config=$1 cert_files=$2 outputdir=$(dirname "${ca_config}") ca_crl="${outputdir}"/$(basename "${outputdir}").crl.pem for i in ${cert_files}; do openssl ca -config "${ca_config}" -revoke "${i}" -passin pass:"${DEFAULT_PASSWORD}" -batch done openssl ca -config "${ca_config}" -gencrl -out "${ca_crl}" -crldays "${DEFAULT_DAYS}" \ -passin pass:"${DEFAULT_PASSWORD}" } # Create a PKCS12 password-less version of the main client/server ca1 certs openssl pkcs12 -export -out configuration/ca1/server_password_less.p12 \ -inkey configuration/ca1/server_key.pem \ -in configuration/ca1/server_cert.pem \ -name server -passout pass: "${COMMON_PKCS12_ARGS[@]}" openssl pkcs12 -export -out configuration/ca1/client_password_less.p12 \ -inkey configuration/ca1/client_key.pem \ -in configuration/ca1/client_cert.pem \ -name client -passout pass: "${COMMON_PKCS12_ARGS[@]}" # Revoke client and server certificates used in certificate revocation tests revoke_certificates configuration/ca3/ca3.cnf \ "configuration/ca3/server_revoked_cert.pem configuration/ca3/i1/i1_cert.pem" revoke_certificates configuration/ca3/i1/i1.cnf configuration/ca3/i1/server_revoked_cert.pem revoke_certificates configuration/ca4/ca4.cnf \ "configuration/ca4/server_revoked_cert.pem configuration/ca4/i1/i1_cert.pem" # Create ca_all_cert.pem, cal_all.p12, and ca_all.jks with all configuration CA certificates rm -f configuration/ca_all_cert.pem configuration/ca_all.p12 configuration/ca_all.jks for ca in ${CONFIGURATION_CAS}; do ca_dir=$(dirname "${ca}") alias=$(basename "${ca_dir}") cert_file="${ca_dir}"/"${alias}"_cert.pem cat "${cert_file}" >> configuration/ca_all_cert.pem keytool -importcert -alias "${alias}" -file "${cert_file}" \ -keystore configuration/ca_all.p12 -storetype PKCS12 \ -storepass "${DEFAULT_PASSWORD}" -noprompt keytool -importcert -alias "${alias}" -file "${cert_file}" \ -keystore configuration/ca_all.jks -storetype JKS \ -storepass "${DEFAULT_PASSWORD}" -noprompt done # Cleanup some files we don't need to commit find . -name '*.old' -exec rm -fv {} + find . -name '*.csr' -exec rm -fv {} + find . -name '*.attr' -exec rm -fv {} + find . -name 'crlnumber' -exec rm -fv {} + find . -name 'serial' -exec rm -fv {} + find . -name 'newcerts' -type d -exec rm -rfv {} + find . -name 'crl' -type d -exec rm -rfv {} + zeroc-ice-3.8.1/config/000077500000000000000000000000001516567600500146635ustar00rootroot00000000000000zeroc-ice-3.8.1/config/Make.project.rules000066400000000000000000001267751516567600500203030ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. # $(call project,[$1=]) # # Returns the project name by removing the lang-specific directory prefix. # For example, ./src/Ice becomes src/Ice, and ./test/Ice/ami becomes test/Ice/ami. # # $1 is the project path. If $1 is not provided, the current directory is used. project = $(patsubst $(lang_srcdir)/%,%,$(if $1,$1,$(currentdir))) # The platforms, configs and languages to build. # Define the platforms to build, excluding those listed in SKIP. # If PLATFORMS is set to 'all', include all supported platforms from supported-platforms. # Otherwise, include only the platforms in PLATFORMS that are also in supported-platforms. platforms = $(filter-out $(SKIP),\ $(if $(filter all,$(PLATFORMS)),$(supported-platforms),$(filter $(supported-platforms),$(PLATFORMS)))) # Define the configurations to build, excluding those listed in SKIP. # If CONFIGS is set to 'all', include all supported configurations from supported-configs. # Otherwise, include only the configurations in CONFIGS that are also in supported-configs. configs = $(filter-out $(SKIP), \ $(if $(filter all,$(CONFIGS)),$(supported-configs),$(filter $(supported-configs),$(CONFIGS)))) # Define the languages to build, excluding those listed in SKIP. # If LANGUAGES is set to 'all', include all supported languages from supported-languages. # Otherwise, include only the languages in LANGUAGES that are also in supported-languages. languages = $(filter-out $(SKIP),\ $(if $(filter all,$(or $(LANGUAGES),all)),$(supported-languages),$(filter $(supported-languages),$(LANGUAGES)))) # The platform the build is running on, if not set default to the first supported platform. build-platform := $(or $(build-platform),$(firstword $(supported-platforms))) # # The list of platforms to build for the given component. We iterate over the platform # list (which is the value of PLATFORMS or the default platform) and check if the # component is either included/excluded for this platform based on the _excludes, # _components and _projects variables. # component-platforms = $(call unique,$(foreach p,$(platforms),\ $(if $(and $(if $(filter $($p_excludes),$1 $2),,true),\ $(or $(filter $($p_components),$2),\ $(filter $(or $($p_projects),$(if $($p_components),,%)),$1))),\ $(strip $p)))) # # Same as the above but for configurations # component-configs = $(call unique,$(foreach c,$(configs),\ $(if $(strip $(foreach s,$(subst -,$(space),$c),\ $(if $(and $(if $(filter $($s_excludes),$1 $2),,true),\ $(or $(filter $($s_components),$2),\ $(filter $($s_projects),$1))),,$s))),,\ $(strip $c)))) # # Some variables for utilities # INSTALL ?= install -p MV ?= mv -f RM ?= rm -f MKDIR ?= mkdir CHMOD ?= chmod Q := $(if $(V),,@) E := $(if $(V),@:,@echo) # $(call install-data,$1=filename,$2=srcdir,$3=destdist) install-data = $(INSTALL) -m 644 $2/$1 $(DESTDIR)$3/$1 # # $(call install-data-files,$1=files,$2=$srcdir,$3=$destdir,$4=target,$5=text-output) # define install-data-files $4:: $(patsubst $2/%,$(DESTDIR)$3/%,$1) $(if $5,$(E) $5) ifeq ($(filter $(or $(call files-to-dirs,$(patsubst $2/%,$3/%,$1)),$3),$(installdirs)),) $(or $(call files-to-dirs,$(patsubst $2/%,$(DESTDIR)$3/%,$1)),$(DESTDIR)$3): $(Q)$(MKDIR) -p $$@ installdirs += $(or $(call files-to-dirs,$(patsubst $2/%,$3/%,$1)),$3) endif $(patsubst $2/%,$(DESTDIR)$3/%,$1): $(DESTDIR)$3/%: $2/% | \ $(or $(call files-to-dirs,$(patsubst $2/%,$(DESTDIR)$3/%,$1)),$(DESTDIR)$3) $(Q)$(call install-data,$$(*),$2,$3) endef # # $(call make-objects,$1=srcdir,$2=generateddir,$3=objdir,$4=sources,$5=dependencies,$6=cppflags,$7=generatedext, # $8=platform,$9=config) # # Defines pattern rules to build object files into directory objdir. The sources # are specified by sources. The srcdir and generateddir specifies where the # sources and generated sources are located. # define make-objects # # If there's no dependency yet, ensure the objects depend on all the modules dependencies # and on the generated sources to ensure that all the Slice files from this module and # other modules are built first. # ifeq ($(wildcard $3/*.d),) $(addprefix $3/,$(call source-to-object,$4)): $(addprefix $2/,$(call generated-to-source,$4,$7)) \ $(foreach d,$5,$($d_targets)) endif # Add a dependency on generated headers from dependencies. This will only work if dependency # Makefile.mk are loaded before this component Makefile.mk. $(addprefix $3/,$(call source-to-object,$4)): | $(foreach d,$5,$($($d_component)_generated_headers)) .PRECIOUS: $3/%.d ifeq ($(filter %clean print,$(MAKECMDGOALS)),) # Include the dependencies -include $(addprefix $3/,$(call source-to-dependency,$4)) -include $(addprefix $3/,$(call source-to-dependency,$(call generated-to-source,$4,$7))) endif ifneq ($(filter %.ice $2/%.$7,$4),) # Rules to build generated sources from /generated $3/%.o: $2/%.$7 $3/%.o: $2/%.$7 $(E) "Compiling [$8-$9] $$<" $(Q)$(or $($8_cxx),$(platform_cxx)) $(CXXFLAGS) $(call depend-cppflags,$3/$$*.Td,$$@)\ $(strip $6) $(CPPFLAGS) -c $$< -o $$@ $(Q)$(MV) $3/$$*.Td $3/$$*.$7.d endif ifneq ($(filter %.cpp,$4),) # Rules to build C++ sources from $3/%.o: $1/%.cpp $3/%.o: $1/%.cpp $(E) "Compiling [$8-$9] $$<" $(Q)$(or $($8_cxx),$(platform_cxx)) $(CXXFLAGS) $(call depend-cppflags,$3/$$*.Td,$$@)\ $(strip $6) $(CPPFLAGS) -c $$< -o $$@ $(Q)$(MV) $3/$$*.Td $3/$$*.cpp.d endif ifneq ($(filter %.mm,$4),) # Rules to build Objective-C++ sources from $3/%.o: $1/%.mm $3/%.o: $1/%.mm $(E) "Compiling [$8-$9] $$<" $(Q)$(or $($8_cxx),$(platform_cxx)) $(CXXFLAGS) $(call depend-cppflags,$3/$$*.Td,$$@)\ $(strip $6) $(CPPFLAGS) -c $$< -o $$@ $(Q)$(MV) $3/$$*.Td $3/$$*.mm.d endif ifneq ($(filter %.m,$4),) # Rules to build Objective-C sources from $3/%.o: $1/%.m $3/%.o: $1/%.m $(E) "Compiling [$8-$9] $$<" $(Q)$(or $($8_cxx),$(platform_cxx)) $(CXXFLAGS) $(call depend-cppflags,$3/$$*.Td,$$@)\ $(strip $6) $(CPPFLAGS) -c $$< -o $$@ $(Q)$(MV) $3/$$*.Td $3/$$*.m.d endif endef # # $(call make-slices,$1=slicedir,$2=generateddir,$3=includedir,$4=slices,$5=sliceflags,$6=slice_compiler) # # Defines a pattern rule for /%.h /%.cpp: /%.ice # define make-slices .PRECIOUS: $2/%.ice.d ifeq ($(filter %clean print,$(MAKECMDGOALS)),) # Include the dependencies -include $(addprefix $2/,$(call source-to-dependency,$4)) endif $3/%.h $2/%.$($6_targetext): $1/%.ice $($6_path) | $3 $(E) "Compiling $$<" $(Q)$(RM) $3/$$*.h $2/$$*.$($6_targetext) $(Q)$($6_path) $(strip $5) $(SLICEFLAGS) --depend $$< | sed 's|\(.*:\)|$3/$$*.h $2/$$*.$($6_targetext):|' > $2/$$*.ice.d $(Q)$($6_path) $(strip $5) $(SLICEFLAGS) --output-dir $2 $$< $(if $(filter-out $2,$3),$(Q)$(MV) $2/$$*.h $3/) endef # # $(call make-bison,$1=srcdir,$2=flags) # define make-bison $1/%.h $1/%.cpp: $1/%.y @$(RM) $$*.h $$*.cpp bison -tv $2 --header=$1/$$*.h -o $1/$$*.cpp $$< @$(RM) $1/$$*.output endef # # $(call make-flex,$1=srcdir,$2=flags) # define make-flex $1/%.cpp: $1/%.l @$(RM) $$@ flex $2 -o $$@ $$< endef # # $(call make-static-library,$1=libname,$2=libdir,$3=version,$4=soversion,$5=objects,$6=dependencies,$7=ldflags, # $8=platform,$9=config) # # Defines rules for building the static library in with the objects # define make-static-library $2/$(call mklibname,$1,$3,$4): $5 $(E) "Linking [$8-$9] $$@" $(Q)$(MKDIR) -p $2 $(Q)$(call mklib,$2/$(call mklibname,$1,$3,$4),$(strip $5),$1,$3,$4,$(LDFLAGS) $(strip $7),$8) endef # $(call install-static-library,$1=libname,$2=libdir,$3=version,$4=soversion,$5=installdir,$6=devinstall) define install-static-library $(DESTDIR)$5/$(call mklibname,$1,$3,$4): $2/$(call mklibname,$1,$3,$4) | $(DESTDIR)$5 $(E) "Installing $$@" $(Q)$(INSTALL) $$< $(DESTDIR)$5 endef # $(call get-static-library-targets,$1=libname,$2=libdir,$3=version,$4=soversion,$5=devinstall) get-static-library-targets = $(if $2,$2/$(call mklibname,$1)) # # $(call make-shared-library,$1=libname,$2=libdir,$3=version,$4=soversion,$5=objects,$6=dependencies,$7=ldflags, # $8=platform,$9=config) # # Defines rules for building the shared library in with the objects # define make-shared-library $2/$(call mkshlibfilename,$1,$3,$4): $5 $(foreach d,$6,$($d_targets)) $(E) "Linking [$8-$9] $$@" $(Q)$(MKDIR) -p $2 $(Q)$(call mkshlib,$2/$(call mkshlibfilename,$1,$3,$4),$(strip $5),$1,$3,$4,$(LDFLAGS) $(strip $7),$8) ifneq ($(and $4,$(filter-out undefined,$(origin mksoname))),) $2/$(call mksoname,$1,$3,$4): $2/$(call mkshlibfilename,$1,$3,$4) @$(RM) $$@ ; ln -s $$( in with the objects # define make-program $2/$1$(EXE_EXT): $5 $(foreach d,$6,$($d_targets)) $(E) "Linking [$8-$9] $$@" $(Q)$(MKDIR) -p $2 @$(RM) $$@ $(Q)$(or $($8_cxx),$(platform_cxx)) $(LDFLAGS) -o $$@ $5 $(strip $7) endef # $(call install-program,$1=exename,$2=bindir,$3=version,$4=soversion,$5=installdir,$6=devinstall) define install-program $(DESTDIR)$5/$1$(EXE_EXT): $2/$1$(EXE_EXT) | $(DESTDIR)$5 $(E) "Installing $$@" $(Q)$(INSTALL) $$< $(DESTDIR)$5 $(Q)$(CHMOD) a+rx $$@ endef # $(call get-program-targets,$1=exename,$2=bindir,$3=version,$4=soversion,$5=devinstall) get-program-targets = $2/$1$(EXE_EXT) # # $(call create-component-with-config-targets,$1=project,$2=component,$3=platform,$4=config,$5=comp[platform-config], # $6=nobuild) # # Defines target variables for the given component/paltform/configuration # define create-component-with-config-targets $5_component := $2 $5_platform := $3 $5_config := $4 $2_components := $5 # # Compute the target and installation directories. # $5_targetdir := $$(call var-value,targetdir,$1,$2,$3,$4,make-dirwsuffix) $5_installdir := $$(call var-value,installdir,$1,$2,$3,$4,make-dirwsuffix) # # Compute the target rule and name for this platform/configuration combination. # $5_targetrule := $$(call var-value,target,$1,$2,$3,$4,make-targetrule) $5_targetname := $$(call var-value,targetname,$1,$2,$3,$4,make-targetname) $5_version := $$(call var-value,version,$1,$2,$3,$4) $5_soversion := $$(call var-value,soversion,$1,$2,$3,$4) # # Transform the dependencies to [platform-configuration] specific dependencies. # $5_dependencies := $$(call var-rcompound,dependencies,$1,$2,$3,$4,make-deps) $5_libs := $$(call var-compound,libs,$1,$2,$3,$4,make-unique) $5_system_libs := $$(call var-compound,system_libs,$1,$2,$3,$4) # # The targets to build. # ifeq ($6,) $5_targets := $$(call get-$$($5_targetrule)-targets,$$($5_targetname),$$($5_targetdir),$$($5_version),$$($5_soversion),yes) $5_install_targets := $$(call get-$$($5_targetrule)-targets,$$($5_targetname),$(DESTDIR)$$($5_installdir),$$($5_version),$$($5_soversion),$$($2_devinstall)) endif # # We define a secondary target for component[platform-config]. This is necessary # to allow dependencies to be used as prerequisites. For example, objects for # IceSSL[osx-shared] depend on Ice[osx-shared], see make-objects. # .PHONY: $5 $5:: $$($5_targets) endef # # $(call create-component-targets,$1=project,$2=component,$3=type,$4=nobuild) # # Create the target variables for the given component. # define create-component-targets $2_project := $1 $2_target := $$(call var-with-default,$2_target,$3) $2_targetname := $$(call var-with-default,$2_targetname,$(patsubst $1_%,%,$2)) $2_platforms := $$(filter $(platforms) $$($2_always_enable_platforms),$$(call unique,$$($2_always_enable_platforms) $$(or $$($2_platforms),$$($1_platforms),$(call component-platforms,$1,$2)))) $2_configs := $$(filter $(configs) $$($2_always_enable_configs),$$(call unique,$$($2_always_enable_configs) $$(or $$($2_configs),$$($1_configs),$(call component-configs,$1,$2)))) # Install files necessary for development. $2_devinstall := $$(call var-with-default,$2_devinstall,yes) $2_install_generated_headers := $$(call var-with-default,$2_install_generated_headers,yes) # Set default target directory if we're not building the component, this is used # when building against the component binary distribution. ifneq ($4,) $2_targetdir := $$(call var-with-default,$2_targetdir,$$(if $$(filter program,$$($2_target)),$$($1_bindir),$$($1_libdir))) endif # # The installation directory (install_bindir if program, install_libdir otherwise) # $2_installdir := $$(call var-with-default,$2_installdir,$$(if $$(filter program,$$($2_target)),$$($1_install_bindir),$$($1_install_libdir))) $$(foreach p,$$($2_platforms),\ $$(foreach c,$$(filter $$(or $$($$p_configs),%),$$($2_configs)),\ $$(if $$(filter $(SKIP),$2[$$p-$$c]),,\ $$(eval $$(call create-component-with-config-targets,$1,$2,$$p,$$c,$2[$$p-$$c],$4))))) endef # # $(call create-project-targets,$1=project,$2=nobuild) # # Creates all the target variables which are necessary to depend on the components # from the given project. This is used by various language mappings to depend on C++ # components such as the Slice compilers or the C++ IceUtil or Ice libraries. # define create-project-targets ifeq ($(filter $(SKIP),$1),) $1_targetdir := $$(call var-with-default,$1_targetdir,$1/build) $1_bindir := $$(call var-with-default,$1_bindir,$$($1_targetdir)) $1_libdir := $$(call var-with-default,$1_libdir,$$($1_targetdir)) $1_install_bindir := $$(call var-with-default,$1_install_bindir,$(install_bindir)) $1_install_libdir := $$(call var-with-default,$1_install_libdir,$(install_libdir)) $1_version := $$(call var-with-default,$1_version,$(version)) $1_soversion := $$(call var-with-default,$1_soversion,$(soversion)) $1_caninstall := $$(call var-with-default,$1_caninstall,yes) $$(foreach p,$$($1_programs),$$(if $$(filter $(SKIP),$$p),,$$(eval $$(call create-component-targets,$1,$$p,program,$2)))) $$(foreach l,$$($1_libraries),$$(if $$(filter $(SKIP),$$l),,$$(eval $$(call create-component-targets,$1,$$l,library,$2)))) endif endef # # $(call make-component-with-config,$1=project,$2=component,$3=platform,$4=config,$5=component[platform-config]) # # Defines rules to build the given component with the given platform/configuration # define make-component-with-config # # Compute the compiler/linker flags. # $5_cppflags := $$(call var-compound,cppflags,$1,$2,$3,$4,make-flags) $5_ldflags := $$(call var-compound,ldflags,$1,$2,$3,$4,make-flags) # # If component specific cppflags are set and multiple components are configured for # the project, we build the component objects in a component specific directory. # # Compute the path of the object directory and add it to the project's # list of object directories. # $5_objdir := $$(call var-value,objdir,$1,$2,$3,$4,make-dirwsuffix) $5_objdir := $$($5_objdir)$$(if $$(and $$($1_multicomp),\ $$(filter-out $$(call var-compound,cppflags,$1,,$3,$4,make-flags),$$($5_cppflags))),/$$($2_targetname)) $1_objdirs += $$($5_objdir) $5_sources := $$(patsubst $(lang_srcdir)/%,%,$$(call unique,$$(call var-compound,extra_sources,$1,$2,$3,$4) \ $$(call var-compound,sources,$1,$2,$3,$4))) $5_sources := $$(filter-out $$(patsubst $(lang_srcdir)/%,%,$$(call var-compound,excludes,$1,$2,$3,$4)),$$($5_sources)) # # Computes the list of objects to build based on the sources. # $5_objects := $$(call unique,$$(addprefix $$($5_objdir)/,$$(call source-to-object,$$($5_sources)))) ifneq ($$($1_component_with_config_extensions),) $$(foreach e,$$($1_component_with_config_extensions),$$(eval $$(call $$e,$1,$2,$3,$4,$5))) endif # # Order only prerequisties to ensure the object directory is created # before we start building the objects # $$($5_objdir)/$$(call source-to-dependency,$$($5_sources)): | $$($5_objdir) # # Object rules # $$(foreach d,$$(call files-to-dirs,$$($5_sources)),$$(eval $$(call make-objects,$$d,$$($1_generated_srcdir),\ $$($5_objdir),$$($5_sources),$$($5_dependencies),$$($5_cppflags),$$($$($1_slicecompiler)_targetext),$3,$4))) # # Target rule # $$(eval $$(call make-$$($5_targetrule),$$($5_targetname),$$($5_targetdir),$$($5_version),$$($5_soversion),\ $$($5_objects),$$($5_dependencies),$$($5_ldflags),$3,$4)) # # component[platform-config]_* specific targets # # NOTE: The component[platform-config] target is specified in create-component-with-config-targets # .PHONY: $5_clean $5_distclean $5_install $2:: $5 $5_clean:: $(Q)$(RM) -r $$($5_objdir) $(Q)$(RM) $$($5_targets) # Only clean if platform/configuration matches (this prevents slice2cpp from being cleaned) ifneq ($(and $(filter $3,$(platforms)),$(filter $4,$(configs))),) $2_clean:: $5_clean endif $5_distclean: $(Q)$(RM) $$($5_targets) $2_distclean:: $5_distclean ifeq ($$($1_caninstall),yes) ifeq ($$(filter $$($5_installdir),$$(installdirs)),) installdirs += $$($5_installdir) $(DESTDIR)$$($5_installdir): $(Q)$(MKDIR) -p $$@ endif $5_install:: $$($5_install_targets) $$(eval $$(call install-$$($5_targetrule),$$($5_targetname),$$($5_targetdir),$$($5_version),$$($5_soversion),$$($5_installdir),$$($2_devinstall))) ifneq ($$(and $$(filter $3,$$($2_install_platforms)),$$(filter $4,$$($2_install_configs))),) $2_install:: $5_install endif endif endef # # $(call make-component,$1=project,$2=component,$3=type) # define make-component # # Slice files for a given project are generated in a common generated directory. We # don't support generating Slice files with different compiler options for different # components in the same project. # # For single-component projects we allow setting the sliceflags and the component, # the flags are moved to the project level in this case. # ifneq ($$(and $$($2_sliceflags),$$($1_multicomp)),) $$(error sliceflags are not supported for $2 component in multi-component project $1) else ifneq ($$($2_sliceflags),) $1_sliceflags := $$($1_sliceflags) $$($2_sliceflags) $2_sliceflags := endif $2_install_platforms := $$(or $$($2_install_platforms),$$($1_install_platforms),$$($2_platforms)) $2_install_configs := $$(or $$($2_install_configs),$$($1_install_configs),$$($2_configs)) # # The source directory can be set at the component or project level. # $2_srcdir := $$(or $$($2_srcdir),$$($1_srcdir)) # # Combine settings set at the project and component levels. # $2_sliceflags := $$($2_sliceflags) $$($1_sliceflags) $2_bisonflags := $$($2_bisonflags) $$($1_bisonflags) $2_flexflags := $$($2_flexflags) $$($1_flexflags) # # If we're compiling a library, we check for a ../slice/ directory. # If it exists, we assume the Slice files from this directory are public and we # generate the headers in include/. # ifeq ($3,library) $2_slicedir := $$(or $$($2_slicedir),$$(if $$(wildcard $(slicedir)/$2/*.ice),$(slicedir)/$2)) $2_includedir := $$(or $$($2_includedir),$$(if $$(wildcard $(includedir)/$2/*.h),$(includedir)/$2)) ifneq ($$(filter $(includedir)/%,$$($2_includedir)),) # Generate headers in include/generated sub-directory instead of the include directory $2_generated_includedir := $$(patsubst $(includedir)/%,$(includedir)/generated/%,$$($2_includedir)) else $2_generated_includedir := $$(or $$($2_generated_includedir),$$($1_generated_includedir)) endif endif # # If sources are not specified for the component, we search for them in # the source directory and eventualy the slice directory if set. # ifeq ($$($2_sources),) $2_sources := $$(foreach e,$(source-extensions),$$(wildcard $$($2_srcdir)/*.$$(e))) ifeq ($(BISON_FLEX),yes) # Make sure the source files generated by bison/flex are dependencies of the target to prevent them from # being considered as intermediaries by make and being deleted. $2:: $$(foreach e,l y,$$(patsubst %.$$(e),%.cpp,$$(filter %.$$(e),$$($2_sources)))) endif ifneq ($$($2_slicedir),) $2_sources += $$(wildcard $$($2_slicedir)/*.ice) endif endif $2_sources := $$(filter-out $$(patsubst $(lang_srcdir)/%,%,$$($2_excludes)),$$($2_sources)) # # Compute the list of slice files from the sources and gather the location # of the slice files. # $2_slices := $$(filter %.ice,$$($2_sources)) $2_slicedirs := $$(call files-to-dirs,$$($2_slices),ice) # # Append the slice directories and slice files which are not in the # slice/ directory to the project slice directories and # list of slice files. # $1_slicedirs += $$(filter-out $$($2_slicedir),$$($2_slicedirs)) $1_slices += $$(filter-out $$($2_slicedir)/%,$$($2_slices)) # # Define slice rules for the component Slice files from $(slicedir)/ # if it exists. Rules for other slice files are specified at the project level. # ifneq ($$(and $$($2_components),$$($2_slicedir)),) # Add an order-only prerequisities on the directory to trigger its creation if it doesn't exist. $$($1_generated_srcdir)/$$(call source-to-dependency,$$($2_slices)): | $$($1_generated_srcdir) ifneq ($$($1_generated_includedir),$$($2_generated_includedir)) $$($2_generated_includedir): $(Q)$(MKDIR) -p $$@ endif $$(eval $$(call make-slices,$$($2_slicedir),$$($1_generated_srcdir),$$($2_generated_includedir),$$($2_slices),\ $$($2_sliceflags),$$($1_slicecompiler))) $2_generated_headers := $$(call generated-to-header,$$(filter $$($2_slicedir)/%,$$($2_sources))) $2_generated_headers := $$(addprefix $$($2_generated_includedir)/,$$($2_generated_headers)) $1_generated += $$($2_generated_headers) endif ifeq ($(BISON_FLEX),yes) $$(eval $$(call make-bison,$$($2_srcdir),$$($2_bisonflags))) $$(eval $$(call make-flex,$$($2_srcdir),$$($2_flexflags))) endif ifneq ($$($1_component_extensions),) $$(foreach e,$$($1_component_extensions),$$(eval $$(call $$e,$1,$2,$3))) endif # # Define per- rules for this component. # $$(foreach p,$$($2_platforms),\ $$(foreach c,$$(filter $$(or $$($$p_configs),%),$$($2_configs)),\ $$(if $$(filter $(SKIP),$2[$$p-$$c]),,\ $$(eval $$(call make-component-with-config,$1,$2,$$p,$$c,$2[$$p-$$c]))))) # # Component targets to build the component with the specified platforms/configurations # .PHONY: $2 $2_clean $2_distclean $2_install $2:: $2_clean:: $2_install:: $2_distclean:: # # Install public header files if building a library # ifeq ($$($2_devinstall),yes) ifneq ($$(and $$($2_components),$(filter library,$3),$$(filter $(includedir)/%,$$($2_includedir))),) $$(eval $$(call install-data-files,$$(wildcard $$($2_includedir)/*.h) $$(wildcard $$($2_includedir)/**/*.h),$(includedir),$(install_includedir),$2_install)) ifeq ($$($2_install_generated_headers),yes) ifneq ($$($2_generated_headers),) $$(eval $$(call install-data-files,$$($2_generated_headers),$(includedir)/generated,$(install_includedir),$2_install)) endif endif endif endif ifneq ($(filter program,$3),) $$(eval $$(call install-data-files,$$(wildcard $(top_srcdir)/man/man1/$2.1),$(top_srcdir)/man,$(install_mandir),$2_install)) endif $1:: $2 $1_clean:: $2_clean $1_install:: $2_install $1_distclean:: $2_distclean endef # # $(call make-project,$1=project) # define make-project ifeq ($(filter $(SKIP),$1),) $1_objdir := $$(or $$($1_objdir),$1/build) $1_srcdir := $$(or $$($1_srcdir),$1) $1_generated_srcdir := $$(or $$($1_generated_srcdir),$1/generated) $1_generated_includedir := $$(or $$($1_generated_includedir),$1/generated) # Is this a multi-component project? $1_multicomp := $(word 2,$($1_programs) $($1_libraries)) $1_extensions := $$($1_extensions) $(project_extensions) $1_component_extensions := $$($1_component_extensions) $(component_extensions) $1_component_with_config_extensions := $$($1_component_with_config_extensions) $(component_with_config_extensions) # # Components add slice and object directories, slice files, generated # header files to these variables. This is used to collect the slice # directories for which to generate Slice rules. The list of generated # header files is used to clean them. # $1_slicedirs := $1_slices := $1_generated := $1_objdirs := ifneq ($$($1_extensions),) $$(foreach e,$$($1_extensions),$$(eval $$(call $$e,$1))) endif $$(foreach p,$$($1_programs),$$(if $$(filter $(SKIP),$$p),,$$(eval $$(call make-component,$1,$$p,program)))) $$(foreach l,$$($1_libraries),$$(if $$(filter $(SKIP),$$l),,$$(eval $$(call make-component,$1,$$l,library)))) $1_slicedirs := $$(call unique,$$($1_slicedirs)) $1_slices := $$(call unique,$$($1_slices)) $1_generated := $$(call unique,$$($1_generated)) $1_objdirs := $$(call unique,$$($1_objdirs)) # # Create object directories and generated directory if we're not cleaning. # ifeq ($(filter %clean print,$(MAKECMDGOALS)),) ifneq ($$($1_objdirs),) $$($1_objdirs): $(Q)$(MKDIR) -p $$@ endif $$($1_generated_srcdir): $(Q)$(MKDIR) -p $$@ endif endif # # Rules for slice files for each of the directories where Slice files are # located for this project. # ifneq ($$($1_slicedirs),) # Add an order-only prerequisities on the directory to trigger its creation if it doesn't exist. $$($1_generated_srcdir)/$$(call source-to-dependency,$$($1_slices)): | $$($1_generated_srcdir) # Create generated include directory if different from generated source directory ifneq ($$($1_generated_includedir),$$($1_generated_srcdir)) $$($1_generated_includedir): $(Q)$(MKDIR) -p $$@ endif $$(foreach d,$$($1_slicedirs),$$(eval $$(call make-slices,\ $$(d),$$($1_generated_srcdir),$$($1_generated_includedir),$$($1_slices),$$($1_sliceflags),$$($1_slicecompiler)))) $1_generated += $$(addprefix $$($1_generated_includedir)/,$$(call generated-to-header,$$($1_slices))) endif # # Project targets # .PHONY: $1 $1_clean $1_install $1_distclean $1:: $(abspath $1): $1 $1_clean:: $(E) "Cleaning $1" $$(if $$($1_cleanfiles),$(Q)$(RM) $$(addprefix $$($1_srcdir)/,$$($1_cleanfiles))) $$(if $$($1_cleandirs),$(Q)$(RM) -r $$(addprefix $$($1_srcdir)/,$$($1_cleandirs))) $1_install:: $1_distclean:: $(E) "Cleaning $1" $(Q)$(RM) -r $$($1_objdir) $$($1_generated_srcdir) $$(if $$($1_generated),$(Q)$(RM) $$($1_generated)) $$(if $$($1_cleanfiles),$(Q)$(RM) $$($1_cleanfiles)) $$(if $$($1_cleandirs),$(Q)$(RM) -r $$($1_cleandirs)) # # Global targets # clean:: $1_clean install:: $1_install distclean:: $1_distclean generate-srcs:: $$($1_generated) endef # # $(call load-dependencies,$1=projects) # # Load the given projects and create the project targets # define load-dependencies tmp_projects := $$(projects) projects := include $(addsuffix /Makefile.mk,$1) $$(foreach p,$$(projects),$$(eval $$(call create-project-targets,$$p))) projects := $$(tmp_projects) endef # # $(call create-project-dependencies,$1=project,$2=home,$3=srcbinsubdir,$4=srcmappingsubdir,$5=libs,$6=programs) # define create-project-dependencies $1_home := $(or $2,$(system-install-dir)) $1_system_install := $$(call is-system-install,$$($1_home)) $1_src_dist := $$(wildcard $$($1_home)/$3) $1_bindir := $$($1_home)$$(if $$($1_src_dist),/$3)/bin $1_slicedir := $$($1_home)$$(if $$(or $$($1_system_install),$$(wildcard $$($1_home)/share/ice)),/share/ice)/slice $1_libdir := $$(if $$($1_system_install),,$$($1_home)$$(if $$($1_src_dist),/$(or $4,$3))/lib) $1_includedir := $$(if $$($1_system_install),,$$($1_home)$$(if $$($1_src_dist),/$(or $4,$3))/include) $1_install_bindir := $$($1_bindir) $1_install_libdir := $$($1_libdir) $1_targetdir := $$($1_home) $1_cppflags := $$(if $$($1_includedir),-I$$($1_includedir) $$(if $$($1_src_dist),-I$$($1_includedir)/generated)) $1_libraries := $5 $1_programs := $6 $$(eval $$(call create-project-targets,$1,nobuild)) endef # # $(call create-translator-project,$1=project) # # Defines a project for the given translator (Slice compiler) # define create-translator-project $1_programs := $(notdir $1) $1_dependencies := Slice IceUtil $1_targetdir := $(call bindir,$1) # # Only build the translator with the static configuration # $1_configs := static $1[static]_ldflags := $(fully_static_ldflags) # Make sure the static/$(build-platform) are always enabled, the native translators # are required to build the sources for foreign architectures $(notdir $1)_always_enable_configs := static $(notdir $1)_always_enable_platforms := $(build-platform) # However, don't always install the translator for the $(build-platforms) if it's # not explicitly listed in $(PLATFORMS) $1_install_platforms := $(call component-platforms,$1,$(notdir $1)) # # Defines the target extension and path of the slice translator # component. This is used by make-slices to create a dependency # on the translator for slice files. # $(notdir $1)_targetext := $$(or $$($(notdir $1)_targetext),$(patsubst slice2%,%,$(or $2,$(notdir $1)))) ifneq ($$(ice_compilers_dir),) $(notdir $1)_path = $$(ice_compilers_dir)/bin/$(notdir $1) else ifneq ($$(ice_bindir[$(build-platform)]),) $(notdir $1)_path = $$(ice_bindir[$(build-platform)])/$(notdir $1) else $(notdir $1)_path = $$($(notdir $1)[$(build-platform)-static]_targetdir)/$(notdir $1) endif projects += $(project) endef # # $(call load-translator-dependencies,$1=project) # # Define the translator project and create the project targets. # define load-translator-dependencies tmp_projects := $$(projects) projects := $(call create-translator-project,$1) $(call create-project-targets,$1) projects := $$(tmp_projects) endef # # Validate configs and platforms # define validate-config ifeq ($$(platforms),) $$(error invalid platforms $$(PLATFORMS)) endif ifeq ($$(configs),) $$(error invalid configs $$(CONFIGS)) endif endef # # Create the targets for the given projects and then make the project rules. # make-projects = $(foreach p,$1,$(eval $(call $(or $(if $($p_type),create-$($p_type)-project-targets),$3,create-project-targets),$p,$4)))\ $(if $4,,$(foreach p,$1,$(eval $(call $(or $(if $($p_type),make-$($p_type)-project),$2,make-project),$p)))) # # $(call depend_cppflags,$1=dependencyfile,$2=targetfile) # depend-cppflags ?= -MT $2 -MMD -MP -MF $1 # # $(call rpath-ldflag,$1=rpath) # rpath-ldflag ?= -Wl,-rpath,$1 # # $(call mkxxx,$1=libname,$2=version,$3=soversion) # # Defaults, suitable for most systems # mklibname ?= lib$(1).a mkshlibnametarget ?= $(if $3,$(mksoname),$(mkshlibfilename)) # # Check for system install # system-install-dir ?= /usr is-system-install ?= $(filter $(system-install-dir),$1) # # Helper functions # dirname = $(patsubst %/,%,$(if $(findstring /,$1),$(dir $1))) currentdir = $(call dirname,$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))) unique = $(strip $(if $1,$(firstword $1) $(call unique,$(filter-out $(firstword $1),$1)))) runique = $(strip $(if $1,$(lastword $1) $(call runique,$(filter-out $(lastword $1),$1)))) files-to-dirs = $(call unique,$(call dirname,$(filter $(if $2,$(addprefix %.,$2),%),$1))) join-with = $(subst $(space),$1,$(strip $2)) empty := space := $(empty) $(empty) comma := , escape-ldflags ?= $1 unescape-ldflags ?= $1 mappings = cpp python ruby php mappingdir3 = $(if $(filter $(mappings),$(notdir $1)),$1,$(if $1,$(call mappingdir3,$(call dirname,$1)))) mappingdir2 = $(if $(filter ../%,$1),$(call mappingdir2,$(patsubst ../%,%,$1)),$(call mappingdir3,$1)) mappingdir = $(patsubst $(lang_srcdir)/%,%,$(if $(filter-out ../%,$1),$2,$(top_srcdir)/$(call mappingdir2,$1)/$2)) # $(call subconfigs,$1=config) subconfigs = $(subst -,$(space),$1) # $(call var-names,$1=varname,$2=project-or-comp,$3=platform,$4=config) var-names = $(if $2,$2[$3-$4]_$1 $2[$3]_$1 $(foreach c,$(call subconfigs,$4),$2[$c]_$1) $2_$1) # # $(call var-value,$1=varname,$2=project,$3=component,$4=platform,$5=config,$6=fn) # # Returns the value of the given varible name for the given project/component/platform/configuration. # It returns the first defined variable from the set of variables returned by var-names defined above. # This checks first for component[platform-config]_varname, next for component[platform]_varname, # component[subconfig]_varname, ... # var-valu1 = $(if $(and $1,$(filter undefined,$(origin $(firstword $1)))),$(call var-valu1,$(wordlist 2,$(words $1),$1)),$($(firstword $1))) var-valu2 = $6 var-value-names = $(call var-names,$1,$3,$4,$5) $(call var-names,$1,$2,$4,$5) $1 var-value = $(call $(or $6,var-valu2),$1,$3,$4,$5,$3[$4-$5],$(call var-valu1,$(var-value-names))) # # $(call var-compound,$1=varname,$2=project,$3=component,$4=platform,$5=config,$6=fn) # Returns the combination of all the values for the given variable name defined at the # project/component/platform/configuration level. # var-comp-names = $1 $(call var-names,$1,$2,$4,$5) $(call var-names,$1,$3,$4,$5) var-rcomp-names = $(call var-names,$1,$3,$4,$5) $(call var-names,$1,$2,$4,$5) $1 var-compound = $(call $(or $6,var-valu2),$1,$3,$4,$5,$3[$4-$5],$(strip $(foreach v,$(var-comp-names),$($v)))) var-rcompound = $(call $(or $6,var-valu2),$1,$3,$4,$5,$3[$4-$5],$(strip $(foreach v,$(var-rcomp-names),$($v)))) # # Return the given value after applying platform/configuration customization. # # $(call make-xxx,$1=varname,$2=component,$3=platform,$4=config,$5=$2[$3-$4],$6=value) # make-dirwsuffix = $(if $6,$(patsubst %/,%,$6$(platform-var)/$(subst $(space),-,$(config-var)))) make-targetrule = $(patsubst -%,%,$(subst $(space),-,$(call platform-and-config-var,targetrule,$2,$3,$4,$5,$6))-$6) make-targetname = $6$(subst $(space),,$(platform-and-config-var)) make-unique = $(call unique,$6) make-flags = $6 $(platform-and-config-var) make-deps = $(foreach d,$(call unique,$6),$d[$(subst $(space),-,$(call platform-and-config-var,dependency,$2,$3,$4,$5))]) # # $(call var-with-default,varname,defaultvarname) # # Return the variable value or the default if the variable is not defined # var-with-default = $(if $(filter undefined,$(origin $1)),$2,$($1)) # # $(call get-all-deps,$1=component[platform-config]) # # Get direct and transitive dependencies of the given component # get-all-deps = $(call runique,$($1_dependencies) $(foreach d,$($1_dependencies),$d $(call get-all-deps,$d)),$1) # # Helpers to compute cppflags/ldflags for dependencies, libraries and system libraries # ifeq ($(embedded_runpath),yes) ifeq ($(embedded_runpath_prefix),) # Add rpath relative to the path of the loader if linking with library from different directory. make-rpath-ldflag = $(if $(filter-out $1,$2),\ $(if $(filter /%,$1),\ $(call rpath-ldflag,$1),\ $(call rpath-ldflag,$(loader_path)/$(call relpathfromdir,$(patsubst $(lang_srcdir)/%,%,$2))/$1)),\ $(call rpath-ldflag,$(loader_path))) make-shared-dep-ldflags = $(if $($1_targetdir),$(call make-rpath-ldflag,$($1_targetdir),$($2_targetdir)) -L$($1_targetdir)) $(if $($1_targetname),-l$($1_targetname)) else # Add rpath with $(embedded_runpath_prefix) if linking with library installed in different directory. make-rpath-ldflag = $(if $(filter-out $1,$2),\ $(if $(filter $(prefix)/%,$1),\ $(call rpath-ldflag,$(patsubst $(prefix)/%,$(embedded_runpath_prefix)/%,$1)),\ $(call rpath-ldflag,$1))) make-shared-dep-ldflags = $(call make-rpath-ldflag,$($1_installdir),$($2_installdir)) $(if $($1_targetdir),-L$($1_targetdir)) $(if $($1_targetname),-l$($1_targetname)) endif else make-shared-dep-ldflags = $(if $($1_targetdir),-L$($1_targetdir)) $(if $($1_targetname),-l$($1_targetname)) endif make-static-dep-ldflags = $(if $($1_targetdir),\ $($1_targetdir)/$(call mklibname,$($1_targetname)),\ $(system-install-dir)/lib$(call platform-var,installdir,$1,$($2_platform),$($2_config),$2)/$(call mklibname,$($1_targetname))) make-system-lib-ldflags = $(call escape-ldflags,$($1_system_libs)) make-lib-cppflags = $(foreach l,$($1_libs),$(if $($l_includedir),-I$(call $l_includedir,$l,$1)) $($l_cppflags)) make-lib-ldflags = $(foreach l,$($1_libs),$(if $($l_libdir),-L$(call $l_libdir,$l,$1)) $($l_ldflags)) # # Helper to define third-party library flags # # $(call make-lib,$1=libname) # define make-lib ifneq ($($1_home),) # Check for 3rd party libraries either in home/lib or home/lib $1_installdir = $$($1_home)/lib$$(call platform-var,installdir,$1,$$($$2_platform),$$($$2_config),$$2) $1_libdir ?= $$(strip $$(if $$(wildcard $$($1_installdir)),$$($1_installdir),$$($1_home)/lib)) $1_includedir ?= $$($1_home)/include endif $1_ldflags ?= -l$1 endef # # $(call repathfromdir,path) # # Returns reversed relative path for directory (e.g.: test/Ice/operations # is transformed to ../../..). This is used for rpath computations. # relpathfromdir = $(if $(findstring /,$1),$(call relpathfromdir,$(call dirname,$1))/..,..) # # $(call platform-and-config-var,$1=varname,$2=component,$3=platform,$4=config,$5=comp[platform-config],$6=value) # # Check for platform and configuration specific variable. # # The configuration value is decomposed based on the dash character and the value # of each individual configurations is recomposed with a dash (so for the config # cfg1-cfg2-...-cfgN, we return the value $(cfg1_VAR) $(cfg2_VAR) ... $(cfgN_VAR) # for the variable VAR). # # This also supports default value for platform/configuration variables. So if # osx_objdir isn't defined, we'll use the default value platform_objdir. # var-or-dflt = $(call $(if $(filter-out undefined,$(origin $1_$3[$4])),$1_$3[$4],\ $(if $(filter-out undefined,$(origin $2_$3[$4])),$2_$3[$4],\ $(if $(filter-out undefined,$(origin $1_$3[$($4_project)])),$1_$3[$($4_project)],\ $(if $(filter-out undefined,$(origin $2_$3[$($4_project)])),$2_$3[$($4_project)],\ $(if $(filter-out undefined,$(origin $1_$3)),$1_$3,\ $2_$3))))),$4,$5,$6,$7,$8,$9) platform-var = $(strip $(call var-or-dflt,$3,platform,$1,$2,$3,$4,$5,$6)) config-var = $(strip $(foreach c,$(call subconfigs,$4),$(call var-or-dflt,$c,config,$1,$2,$3,$4,$5,$6,$c))) platform-and-config-var = $(strip $(platform-var) $(config-var)) # # Functions to transform a list of source filenames to generated source/header, object or dependency filenames. # generated-extensions := ice source-extensions := ice y l cpp m mm generated-to-source = $(notdir $(foreach ext,$(generated-extensions),$(patsubst %.$(ext),%.$2,$(filter %.$(ext),$1)))) generated-to-header = $(notdir $(foreach ext,$(generated-extensions),$(patsubst %.$(ext),%.h,$(filter %.$(ext),$1)))) source-to-object = $(notdir $(foreach ext,$(source-extensions),$(patsubst %.$(ext),%.o,$(filter %.$(ext),$1)))) source-to-dependency = $(patsubst %,%.d,$(notdir $1)) # # Configuration variables # # The variables defined below are called with ($1=component,$2=platform,$3=config,$4=$1[$2-$3],$5=value[,$6=subconfig]) # # Defaults for configurations which don't override the specified variable config_targetdir = $(if $(filter %/build,$5),$6) config_objdir = $6 config_dependency = $6 # Static configuration for static builds static_targetrule = $(if $(filter-out program,$($1_target)),static) static_cppflags += $(strip $(call make-lib-cppflags,$4)) static_ldflags += $$(call make-ldflags,$$(call get-all-deps,$4),make-static-dep-ldflags,$4,runique)\ $$(call make-ldflags,$4,make-lib-ldflags,$4,unique)\ $$(call make-ldflags,$4,make-system-lib-ldflags,$4,unique)\ $$(call make-ldflags,$$(call get-all-deps,$4),make-lib-ldflags,$4,unique)\ $$(call make-ldflags,$$(call get-all-deps,$4),make-system-lib-ldflags,$4,unique) # Shared configuration for shared builds shared_projects = % shared_targetrule = $(if $(filter-out program,$($1_target)),shared) shared_cppflags += $(strip $(call make-lib-cppflags,$4)) shared_ldflags += $$(call make-ldflags,$($4_dependencies),make-shared-dep-ldflags,$4,unique)\ $$(call make-ldflags,$4,make-lib-ldflags,$4,unique)\ $$(call make-ldflags,$4,make-system-lib-ldflags,$4,unique) make-ldflags = $(call unescape-ldflags,$(call $4,$(foreach d,$1,$(call $2,$d,$3)))) # # Platform variables # # The variables defined below are called with ($1=component,$2=platform,$3=config,$4=$1[$2-$3]) # # Defaults for platforms which don't override the specified variable platform_cc ?= $(CC) platform_cxx ?= $(CXX) platform_ld ?= $(CXX) platform_ar ?= $(AR) platform_objdir ?= /$2 platform_targetdir ?= /$2 platform_installdir ?= platform_dependency ?= $2 # # The projects variable is used to load projects in Makefile.mk fragments # projects := # # Global targets # .PHONY: all all:: .PHONY: clean clean:: .PHONY: distclean distclean:: .PHONY: install install:: # # Rule to view the value of a variable (e.g.: make debug V=Ice_sources to print out the variable Ice_sources). # print: $(foreach v,$(filter $(V),$(.VARIABLES)),$(warning $v = $($v))) zeroc-ice-3.8.1/config/Make.rules000066400000000000000000000111061516567600500166130ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. # Select an installation base directory. The directory will be created if it does not exist. prefix ?= /opt/Ice-$(version) # # The "root directory" for runpath embedded in executables. Can be set # to change the runpath added to Ice executables. # # If not set, a runpath relative to the path of the executable is # embedded (using @loader_path on macOS and $ORIGIN on Linux). # #embedded_runpath_prefix ?= /opt/Ice-$(mmversion) # # Define embedded_runpath as no if you don't want any runpath added to # the executables. If not set, defaults to to "yes" # embedded_runpath ?= yes # # Define new_dtags as yes if you want the linker to enable the new style # dtags, this will cause the linker to add a runpath entry instead of # a rpath entry. This only apply to gcc builds on Linux # new_dtags ?= no # # Define OPTIMIZE as no if you want to build with debug information and # without optimizations. Otherwise Ice is build with optimizations and # without debug information. # OPTIMIZE ?= yes # # Define PLATFORMS to the list of platforms to build. This defaults # to the first supported platform for this system. # # Run `make print V=supported-platforms' to see the list of supported # platforms on this system. # PLATFORMS ?= $(firstword $(supported-platforms)) # # Configurations to build. This defaults to the first supported # configuration. # # Run `make print V=supported-configs` to see the list of supported # configurations. # CONFIGS ?= $(default-configs) # # Third-party libraries (Ice for C++) # # If a third-party library is not installed in a standard location # where the compiler can find it, set the corresponding variable # below to the installation directory of the library. # #MCPP_HOME ?= /opt/mcpp #ICONV_HOME ?= /opt/iconv #EXPAT_HOME ?= /opt/expat #BZ2_HOME ?= /opt/bz2 #LMDB_HOME ?= /opt/lmdb # ---------------------------------------------------------------------- # Don't change anything below this line! # ---------------------------------------------------------------------- os ?= $(shell uname) include $(top_srcdir)/config/Make.rules.$(os) include $(top_srcdir)/config/Make.project.rules include $(top_srcdir)/config/Make.tests.rules dotnet := $(shell command -v dotnet 2> /dev/null) nodejs := $(shell command -v node 2> /dev/null) # # Languages, platforms and configurations to build # supported-languages ?= $(strip cpp java python ruby php \ $(if $(filter %/node,$(nodejs)),js) \ $(if $(filter %/dotnet,$(dotnet)),csharp) \ $(if $(filter Darwin,$(os)),swift)) supported-configs ?= shared default-configs ?= $(firstword $(supported-configs)) version = 3.8.1 mmversion = 3.8 soversion = 38 # # The compatversion is the lowest patch release with the same API. # For example, if 3.7.2 introduces no new API compared to 3.7.1, we # would set version to 3.7.2 and compatversion to 3.7.1. # Used for macOS libraries. # compatversion = $(version) ice_cpp_cppflags = -I$(top_srcdir)/cpp/include -I$(top_srcdir)/cpp/include/generated bindir = $(call mappingdir,$(or $1,$(currentdir)),bin) bindir = $(call mappingdir,$(or $1,$(currentdir)),bin) libdir = $(call mappingdir,$(or $1,$(currentdir)),lib) includedir = $(call mappingdir,$(or $1,$(currentdir)),include) slicedir = $(top_srcdir)/slice srcdir = $(call mappingdir,$(or $1,$(currentdir)),src) usr_dir_install := $(or $(filter yes,$(USR_DIR_INSTALL)),$(filter /usr%,$(prefix))) install_bindir ?= $(prefix)/bin install_libdir ?= $(prefix)/lib install_slicedir ?= $(prefix)$(if $(usr_dir_install),/share/ice)/slice install_includedir ?= $(prefix)/include install_docdir ?= $(prefix)$(if $(usr_dir_install),/share/ice) install_mandir ?= $(prefix)$(if $(usr_dir_install),/share)/man install_configdir ?= $(prefix)$(if $(usr_dir_install),/share/ice,/config) install_sdkdir ?= $(prefix)/sdk # # Support for 3rd party libraries # thirdparties := mcpp iconv expat bz2 lmdb mcpp_home := $(MCPP_HOME) iconv_home := $(ICONV_HOME) expat_home := $(EXPAT_HOME) bz2_home := $(BZ2_HOME) lmdb_home := $(LMDB_HOME) $(foreach l,$(thirdparties),$(eval $(call make-lib,$l))) zeroc-ice-3.8.1/config/Make.rules.Darwin000066400000000000000000000177351516567600500200540ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. supported-platforms = macosx iphoneos iphonesimulator xcframeworks = Ice IceDiscovery IceLocatorDiscovery macosx_ar = libtool macosx_cppflags = -mmacosx-version-min=14.00 macosx_ldflags = $(macosx_cppflags) \ $(if $(filter yes, $(allow-undefined-symbols)),-undefined dynamic_lookup,) macosx_targetdir = $(if $(filter %/build,$5),/macosx) macosx_cmakedir = /cmake iphoneos_ar = libtool iphoneos_cc = xcrun -sdk iphoneos clang iphoneos_cxx = xcrun -sdk iphoneos clang++ iphoneos_cppflags = -miphoneos-version-min=15.0 -arch arm64 -fembed-bitcode iphoneos_ldflags = -miphoneos-version-min=15.0 -arch arm64 iphoneos_configs = %static iphoneos_targetdir = /iphoneos # TODO: disable all install for this platform iphoneos_installdir = /iphoneos iphoneos_components = $(xcframeworks) $(iostest_components) iphoneos_targetrule = $(iostest_targetrule) iphoneos_excludes = $(iostest_excludes) iphonesimulator_ar = libtool iphonesimulator_cc = xcrun -sdk iphonesimulator clang iphonesimulator_cxx = xcrun -sdk iphonesimulator clang++ iphonesimulator_cppflags = -mios-simulator-version-min=15.0 iphonesimulator_ldflags = $(iphonesimulator_cppflags) iphonesimulator_configs = %static iphonesimulator_targetdir = /iphonesimulator # TODO: disable all install for this platform iphonesimulator_installdir = /iphonesimulator iphonesimulator_components = $(xcframeworks) $(iostest_components) iphonesimulator_targetrule = $(iostest_targetrule) iphonesimulator_excludes = $(iostest_excludes) ifneq ($(shell command -v brew 2> /dev/null),) MCPP_HOME ?= $(shell brew --prefix mcpp) LMDB_HOME ?= $(shell brew --prefix lmdb) endif # Always link with the static version of libmcpp on macos. mcpp_ldflags := $(MCPP_HOME)/lib/libmcpp.a -Wl,-max_default_common_align,0x4000 # On macos, objects are always PIC/PIE, and executables are always PIE. So there is no need to pass -fPIC or -fPIE to # the compiler. cppflags = -fvisibility=hidden -Wall -Wextra -Wshadow -Wshadow-all -Wredundant-decls -Wno-shadow-field \ -Wdeprecated -Wstrict-prototypes -Wconversion -Wdocumentation -Wno-shadow-uncaptured-local \ -Wreorder-init-list \ $(if $(filter yes,$(WARNINGS_AS_ERRORS)),-Werror,) \ -pthread \ $(if $(filter yes,$(OPTIMIZE)),-O2 -DNDEBUG,-g) \ -std=c++20 # When we export an API from a shared library, we check for weak vtables. This flag also works for static # libraries/exes, but is not necessary. api_exports_cppflags = -Wweak-vtables # We compile static and shared with the same flags so we want their .o to share directories. static_objdir = obj shared_objdir = obj nodeprecatedwarnings-cppflags := -Wno-deprecated-declarations nounusedparameter-cppflags := -Wno-unused-parameter loader_path = @loader_path # $(call machoversion,$1=version) machoversion = $(subst b,.6,$(subst a,.5,$1)) # $(call mklib,$1=target,$2=objects,$3=libname,$4=version,$5=soversion,$6=ldflags,$7=platform) mklib = $(or $($7_ar),$(AR)) -static -no_warning_for_no_symbols -o $1 $2 # $(call mkshlib,$1=target,$2=objects,$3=libname,$4=version,$5=soversion,$6=ldflags,$7=platform) mkshlib = $(or $($7_cxx),$(CXX)) -dynamiclib $(if $5,-install_name @rpath/$(call mkshlibfilename,$3,$4,$5))\ $(if $4,-current_version $(call machoversion,$4) -compatibility_version \ $(call machoversion,$(if $(filter $4,$(version)),$(compatversion),$4))) \ -o $1 $2 $6 # system install directory system-install-dir = /usr/local # # $(call mkxxx,$1=libname,$2=version,$3=soversion) # mkshlibfilename = lib$1$(if $3,.$3).dylib mkshlibname = lib$1.dylib mkshlibnametarget = $(mkshlibfilename) mkpymodulename = $1.so mkrbmodulename = $1.bundle mkphpmodulename = $1.so escape-ldflags = $(subst -framework$(space),-framework+,$1) unescape-ldflags = $(subst -framework+,-framework$(space),$1) # # System libraries # Ice_system_libs := -ldl # Frameworks for macos Ice[macosx]_system_libs := -framework Security -framework CoreFoundation # Frameworks requires for iphoneos Ice[iphoneos]_system_libs := -framework CFNetwork -framework UIKit -framework Foundation -framework Security IceIAP[iphoneos]_system_libs := -framework ExternalAccessory # Same frameworks as iphoneos for iphonesimulator Ice[iphonesimulator]_system_libs := $(Ice[iphoneos]_system_libs) IceIAP[iphonesimulator]_system_libs := $(IceIAP[iphoneos]_system_libs) icegridadmin[macosx]_system_libs := -ledit -lncurses icestormadmin[macosx]_system_libs := -ledit -lncurses glacier2router[macosx]_system_libs := $(Ice[macosx]_system_libs) icegridregistry[macosx]_system_libs := $(Ice[macosx]_system_libs) icegridnode[macosx]_system_libs := $(Ice[macosx]_system_libs) is-iostest-program = $(and $(filter-out macosx,$2),$(filter test/%,$1)) iostest_targetrule = $(if $(is-iostest-program),iostest,) iostest_components = TestCommon \ test/Ice/% \ test/IceSSL/% \ test/IceDiscovery/% \ test/IceLocatorDiscovery/% iostest_excludes = $(addprefix test/Ice/,\ background \ faultTolerance \ gc \ logger \ services \ stringConverter \ threadPoolPriority) # # Rule to build an iOS bundle for testing (this is used for packaging client/server programs) # define make-iostest-program $2/$1.bundle/Info.plist: $(Q)if [ ! -f $2/$1.bundle/Info.plist ] ; \ then \ $(MKDIR) -p $2/$1.bundle ; \ sed "s/NAME/$1/" test/ios/bundles/BundleInfo.plist > $2/$1.bundle/Info.plist ; \ fi $2/$1.bundle/$1.dylib: $5 $2/$1.bundle/Info.plist $(foreach d,$6,$($d_targets)) $(E) "Linking [$8-$9] $$@" $(Q)$(RM) $2/$1.bundle/$1.dylib $(Q)$(or $($8_cxx),$(platform_cxx)) -bundle $(LDFLAGS) -o $2/$1.bundle/$1.dylib $5 $(strip $7) endef get-iostest-program-targets = $2/$1.bundle/$1.dylib $2/$1.bundle/Info.plist ## Xcode projects # # $(call make-xcode-project-with-config,$1=project,$2=platform,$3=config) # define make-xcode-project-with-config $1/.translator-$2-$3.dep: $$($$($1_slicecompiler)_path) $(Q)if [ -f $1/.translator-$2-$3.dep ]; \ then \ xcodebuild -sdk $2 \ -project "$1/$$(call $1_project,$2,$3)" \ -configuration "$$(call $1_configuration,$2,$3)" \ -scheme "$$(call $1_scheme,$2,$3)" \ $(if $(V),,-quiet) \ clean; \ fi touch $1/.translator-$2-$3.dep $1[$2-$3]: $$($1_dependencies) $1/.translator-$2-$3.dep $(E) "Running xcodebuild for $1 scheme=\"$$(call $1_scheme,$2,$3)\"" $(Q)xcodebuild -sdk $2 \ -project "$1/$$(call $1_project,$2,$3)" \ -configuration "$$(call $1_configuration,$2,$3)" \ -scheme "$$(call $1_scheme,$2,$3)" \ $(if $(V),,-quiet) \ $(if $(PLATFORM_NAME),iphonesimulator,-arch `uname -m`) \ build $1[$2-$3]_clean: $(E) "Cleaning $1" $(Q)xcodebuild -sdk $2 \ -project "$1/$$(call $1_project,$2,$3)" \ -configuration "$$(call $1_configuration,$2,$3)" \ -scheme "$$(call $1_scheme,$2,$3)" \ $(if $(V),,-quiet) \ clean $1:: $1[$2-$3] $1_clean:: $1[$2-$3]_clean endef # # $(call make-xcode-project,$1=project) # define make-xcode-project # # Define per- rules for this component. # $$(foreach p,$$(filter $(platforms),$$($1_platforms)),\ $$(foreach c,$$(filter $$(or $$($$p_configs),%),$$(filter $(configs),$$($1_configs))),\ $$(if $$(filter $(SKIP),$1[$$p-$$c]),,\ $$(eval $$(call make-xcode-project-with-config,$1,$$p,$$c,$1[$$p-$$c]))))) $1:: $1_clean:: $1_distclean:: $(Q)$(RM) -r $1/build all:: $1 clean:: $1_clean distclean:: $1_distclean endef zeroc-ice-3.8.1/config/Make.rules.Linux000066400000000000000000000231271516567600500177170ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. known_distributions := rhel amzn fedora debian ubuntu # Assign the linux_ids from the ID and ID_LIKE variables in /etc/os-release if available. linux_ids := $(if $(wildcard /etc/os-release),$(shell . /etc/os-release && echo $${ID} $${ID_LIKE}),) # Assign the linux_id to the first known distribution in the linux_ids list, or for unknown distributions to the first # element in the linux_ids list. linux_id ?= $(firstword $(or $(filter $(known_distributions),$(linux_ids)),$(linux_ids))) is-bin-program = $(and $(filter $(bindir)%,$($4_targetdir)),$(filter $($1_target),program)) ifneq ($(and $(filter rhel fedora,$(linux_id)),$(filter x86_64 i%86,$(shell uname -m))),) # # MultiLib Linux (x64 libraries go in the lib64 directory, x86 executable names are suffixed with 32) # supported-platforms = x64 x86 multilib-platform = yes # We filter out -m32, -m64, because Slice compilers are always build as 64bit executables, and we set # the correct value for each arch build below. We also filter out -march setting to ensure our x86 builds # target x86-64 capable processor. ifeq ($(OPTIMIZE),yes) # Use default system packaging flags if building with OPTIMIZE and CXXFLAGS/LDFLAGS aren't defined. opt-cppflags = $(if $(CXXFLAGS),,$(filter-out -m32 -m64 -march=%,$(shell setarch $1 rpm --eval %optflags))) opt-ldflags = $(if $(LDFLAGS),,$(shell setarch $1 rpm --eval %?__global_ldflags)) endif CXXFLAGS := $(filter-out -m32 -m64 -march=%, $(CXXFLAGS)) LDFLAGS := $(filter-out -m32 -m64, $(LDFLAGS)) # Targeting x86-64-v2, compatible with most x86-64 processors. This matches the defaults in RHEL 9 x86-64 builds. # https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level x64_cppflags := $(call opt-cppflags,x86_64) -m64 -march=x86-64-v2 x64_ldflags := $(call opt-ldflags,x86_64) -m64 x64_targetdir = $(if $(filter %/build,$5),/x64,$(if $(filter-out $($1_target),program),64)) x64_installdir = $(if $(and $(filter-out $($1_target),program),$(if $5,$(filter-out %64,$5),true)),64) x64_cmakedir = /cmake x86_cppflags := $(call opt-cppflags,i386) -m32 -march=x86-64-v2 x86_ldflags := $(call opt-ldflags,i386) -m32 x86_targetdir = $(if $(filter %/build,$5),/x86) x86_targetname = $(if $(is-bin-program),32) x86_cmakedir = /cmake # No Slice translators for x86 x86_excludes = slice2% else ifneq ($(filter debian ubuntu,$(linux_id)),) # MultiArch Linux (libraries are installed in lib/, executables are installed in bin/ except for the build # architecture where executables are installed in bin/). build-platform ?= $(shell dpkg --print-architecture) foreign-platforms ?= $(shell dpkg --print-foreign-architectures) supported-platforms = $(build-platform) $(foreign-platforms) dpkg-arch = $(shell dpkg-architecture -f -a$1 -q$2 2> /dev/null) ifeq ($(OPTIMIZE),yes) # Use default system packaging flags if building with OPTIMIZE and CXXFLAGS/LDFLAGS aren't defined. opt-cppflags = $(if $(CXXFLAGS),,$(shell dpkg-buildflags --get CXXFLAGS) $(shell dpkg-buildflags --get CPPFLAGS)) opt-ldflags = $(if $(LDFLAGS),,$(shell DEB_BUILD_MAINT_OPTIONS=hardening=+bindnow dpkg-buildflags --get LDFLAGS)) endif # $(call make-platform-config,$1=platform) define make-platform-config $1_gnu_type = $(call dpkg-arch,$1,DEB_HOST_GNU_TYPE) $1_multiarch = $(call dpkg-arch,$1,DEB_HOST_MULTIARCH) $1_cc = $$($1_gnu_type)-$(CC) $1_cxx = $$($1_gnu_type)-$(CXX) $1_libtool = $$($1_gnu_type)-$(AR) $1_targetdir = /$$($1_multiarch) $1_objdir = /$$($1_multiarch) $1_installdir = $$(if $$(and $(is-bin-program),$(usr_dir_install)),,/$$($1_multiarch)) $1_cmakedir = /$$($1_multiarch)/cmake # # Disable ABI compatibility warnings for armhf using -Wno-psabi # $1_cppflags = $(opt-cppflags) $(if $(filter $1,armhf),-Wno-psabi) $1_ldflags = $(opt-ldflags) endef $(foreach p,$(supported-platforms),$(eval $(call make-platform-config,$p))) # For the build platform architecture, build and install executables in bin, libraries in lib/ $(build-platform)_targetdir = $(if $(or $(filter %/build,$5),$(filter-out $($1_target),program)),/$($2_multiarch)) $(build-platform)_installdir = $(if $(is-bin-program),,/$($2_multiarch)) else # # Single architecture Linux # ifeq ($(OPTIMIZE),yes) # Use default system packaging flags if building with OPTIMIZE and CXXFLAGS/LDFLAGS aren't defined. opt-cppflags = $(if $(CXXFLAGS),,$(shell setarch $1 rpm --eval %optflags)) opt-ldflags = $(if $(LDFLAGS),,$(shell setarch $1 rpm --eval %?__global_ldflags)) endif build-platform = $(if $(filter arm%,$(shell uname -m)),arm,$(shell uname -m)) supported-platforms = $(build-platform) lib-suffix = $(if $(filter %64,$(build-platform)),64,) $(build-platform)_cppflags := $(call opt-cppflags,$(build-platform)) $(build-platform)_ldflags := $(call opt-ldflags,$(build-platform)) $(build-platform)_targetdir = $(if $(filter %/build,$5),/$(build-platform),$(if $(filter-out $($1_target),program),$(lib-suffix))) $(build-platform)_installdir = $(if $(and $(filter-out $($1_target),program),$(if $5,$(filter-out %$(lib-suffix),$5),true)),$(lib-suffix)) $(build-platform)_cmakedir = /cmake endif rpath-link-ldflag = -Wl,-rpath-link,$1 make-rpath-link-ldflags = $(foreach d,$(filter-out $2,$(call get-all-deps,$1)),$(call rpath-link-ldflag,$($d_targetdir))) # If building objects for a shared library build, add -fPIC or -fPIE. # gcc in most Linux distribution is configured with --enable-default-pie, which is equivalent to auto-adding -fPIE -pie: # https://gcc.gnu.org/install/configure.html # We pass these options explicitly in case the gcc we use is not configured with --enable-default-pie. shared_cppflags = $(if $(filter-out program,$($1_target)),-fPIC,-fPIE) shared_objdir = $(if $(filter-out program,$($1_target)),obj/pic,obj/pie) # If we are linking a program, add -rpath-link to locate secondary libraries that aren't linked with the executable. shared_ldflags = $(if $(filter-out program,$($1_target)),\ $(if $(filter yes,$(allow-undefined-symbols)),,-Wl$(comma)--no-undefined),\ -pie $(if $(filter yes,$(new_dtags)),-Wl$(comma)--enable-new-dtags,-Wl$(comma)--disable-new-dtags) \ $$(call unique,$$(foreach d,$($4_dependencies),$$(call make-rpath-link-ldflags,$$d,$($4_dependencies))))) # We use the same obj/pie directory as the shared build since all the flags are the same. static_cppflags = -fPIE static_objdir = obj/pie static_ldflags = -pie # Link the Slice compilers without any shared libraries. # On Amazon Linux 2023, disable static linking since libmcpp-devel provides only the shared library. ifeq ($(filter amzn,$(linux_id)),) fully_static_ldflags = -static endif cppflags = -fvisibility=hidden -Wall -Wextra -Wredundant-decls -Wshadow -Wdeprecated \ $(if $(filter yes,$(WARNINGS_AS_ERRORS)),-Werror,) \ -pthread \ $(if $(filter yes,$(OPTIMIZE)),-DNDEBUG,-g) ldflags = -pthread # As of GCC 13.4, https://gcc.gnu.org/projects/cxx-status.html#cxx20 still describes C++20 support as "experimental". cppflags += -std=c++17 nodeprecatedwarnings-cppflags := -Wno-deprecated-declarations nounusedparameter-cppflags := -Wno-unused-parameter loader_path = \$$ORIGIN # $(call mklib,$1=target,$2=objects,$3=libname,$4=version,$5=soversion,$6=ldflags,$7=platform) mklib = $(or $($7_ar),$(AR)) cr $1 $2 # $(call mkshlib,$1=target,$2=objects,$3=libname,$4=version,$5=soversion,$6=ldflags,$7=platform) mkshlib = $(or $($7_cxx),$(CXX)) -shared $(if $5,-Wl$(comma)-h$(comma)$(call mksoname,$3,$4,$5)) -o $1 $2 $6 # # $(call mkxxx,$1=libname,$2=version,$3=soversion) # mksoname = lib$(1).so$(if $3,.$3) mkshlibfilename = lib$(1).so$(if $2,.$2) mkshlibname = lib$(1).so # Clear the iconv ldflags, iconv is part of libc on Linux iconv_ldflags := ifneq ($(OPTIMIZE),yes) libbacktrace_fullpath := $(shell $(CXX) --print-file-name=libbacktrace.a) ifneq ($(libbacktrace_fullpath),libbacktrace.a) libbacktrace = yes endif endif IceUtil_system_libs = -lrt $(if $(filter yes,$(libbacktrace)),-lbacktrace) # # Support for linking with MATLAB's bundled OpenSSL libraries. # Set USE_MATLAB_SSL=yes and MATLAB_HOME to link against MATLAB's OpenSSL. # ifeq ($(USE_MATLAB_SSL),yes) matlab_ssl_ldflags = -L$(MATLAB_HOME)/bin/glnxa64 -Wl,-rpath,$(MATLAB_HOME)/bin/glnxa64 Ice_system_libs = -ldl $(matlab_ssl_ldflags) -lmwssl -lmwcrypto $(IceUtil_system_libs) else Ice_system_libs = -ldl -lssl -lcrypto $(IceUtil_system_libs) endif ifeq ($(shell pkg-config --exists libsystemd 2> /dev/null && echo yes),yes) Ice_system_libs += $(shell pkg-config --libs libsystemd) endif glacier2router_system_libs = -lcrypt icegridregistry_system_libs = -lcrypt icegridnode_system_libs = -lcrypt icegridadmin_system_libs = -ledit icestormadmin_system_libs = -ledit # If BlueZ and DBus are installed, set the IceBT system libraries. # The build system uses this variable to determine whether or not to build the IceBT targets. ifeq ($(shell pkg-config --exists bluez dbus-1 2> /dev/null && echo yes),yes) IceBT_system_libs = $(shell pkg-config --libs dbus-1) endif zeroc-ice-3.8.1/config/Make.tests.rules000066400000000000000000000056311516567600500177620ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. # # $(call test-sources,$1=sources,$2=dir,$3=main-src extra-srcs) # # Returns sources if set, otherwise if main-src exists return main-src + extra-srcs, if it # doesn't exist, returns an empty value. # test-sources = $(call unique,$(if $1,$(foreach f,$1,$(notdir $(wildcard $2/$f))),\ $(if $(wildcard $2/$(firstword $3)),$(foreach f,$3,$(notdir $(wildcard $2/$f)))))) # # The test executables to try to build in each test directory # test-programs = client server serveramd collocated # # The default test sources for each test executable. # test-client-sources = Client.$1 *Test.ice AllTests.$1 test-server-sources = Server.$1 *Test.ice TestI.$1 test-serveramd-sources = ServerAMD.$1 *Test.ice TestAMDI.$1 test-collocated-sources = Collocated.$1 # # $(call create-test-project,test) # # Defines a project for the given test. # # The following variables can be defined to customize the build of the test: # # _cleandirs # _clean # _bindir # _libdir # _sliceflags # _cppflags # _dependencies # _programs # _libraries # # The following variables allows to specify per-target (program or library) configuration # # __sources # __sources # define create-test-project $1_srcdir := $1 $1_programs := $$(or $$($1_programs),$(test-programs)) $1_caninstall := no $1_client_sources := $$(call test-sources,$$(call $1_client_sources,$$($1_srcext)),$$($1_srcdir),\ $$(call test-client-sources,$$($1_srcext))) $1_server_sources := $$(call test-sources,$$(call $1_server_sources,$$($1_srcext)),$$($1_srcdir),\ $$(call test-server-sources,$$($1_srcext))) $1_serveramd_sources := $$(call test-sources,$$(call $1_serveramd_sources,$$($1_srcext)),$$($1_srcdir),\ $$(call test-serveramd-sources,$$($1_srcext))) $1_collocated_sources := $$(call test-sources,$$(call $1_collocated_sources,$$($1_srcext)),$$($1_srcdir),\ $$(call test-collocated-sources,$$($1_srcext)) \ $$(filter-out Server.$$($1_srcext) Client.$$($1_srcext),\ $$(notdir $$($1_client_sources) $$($1_server_sources)))) $1_programs := $$(foreach p,$$($1_programs),$$(if $$($1_$$(p)_sources),$1_$$(p))) $$(foreach m,$$($1_programs) $$($1_libraries),$$(eval $$m_sources := $$(addprefix $$($1_srcdir)/,$$($$m_sources)))) projects += $(project) endef # # Returns the tests which don't have a Makefile.mk fragment specified # tests-without-project-makefile = $(foreach d,$(patsubst %/Client.$1,%,$(shell find $(lang_srcdir)/test -name Client.$1)),\ $(if $(wildcard $d/Makefile.mk),,$(call project,$d))) # # The tests variable is used to load tests in Makefile.mk fragments # tests := zeroc-ice-3.8.1/config/PropertyNames.xml000066400000000000000000000653601516567600500202270ustar00rootroot00000000000000
zeroc-ice-3.8.1/config/ice.common.targets000066400000000000000000000013751516567600500203130ustar00rootroot00000000000000 $(MSBuildThisFileDirectory)NuGet-7.0.1.exe https://dist.nuget.org/win-x86-commandline/v7.0.1/nuget.exe zeroc-ice-3.8.1/config/ice.version.props000066400000000000000000000013421516567600500201740ustar00rootroot00000000000000 3.8.1 30801 3.8 38 3.8.1 3.8.1.0 zeroc-ice-3.8.1/config/makeprops.py000077500000000000000000000477111516567600500172530ustar00rootroot00000000000000#!/usr/bin/env python3 # # Copyright (c) ZeroC, Inc. # import os import shutil import signal import sys from enum import StrEnum, auto from typing import override from xml.sax import make_parser from xml.sax.handler import ContentHandler, feature_namespaces class Language(StrEnum): ALL = auto() CPP = auto() JAVA = auto() CSHARP = auto() JS = auto() commonPreamble = """\ // Copyright (c) ZeroC, Inc. // Generated by makeprops.py from PropertyNames.xml // IMPORTANT: Do not edit this file -- any edits made here will be lost! """ class PropertyArray: def __init__(self, name: str, prefixOnly: bool, isClass: bool, isOptIn: bool): self.name = name self.prefixOnly = prefixOnly self.isOptIn = isOptIn self.isClass = isClass self.properties = [] def addProperty(self, property): self.properties.append(property) class PropertyHandler(ContentHandler): def __init__(self, language): # The language we are generating properties for self.language = language # The section section we are currently parsing self.parentNodeName = None # Dictionary of section names to attr dicts self.propertyArrayDict: dict[str, PropertyArray] = dict() def cleanup(self): # Needs to be overridden in derived class pass def openFiles(self): # Needs to be overridden in derived class pass def closeFiles(self): # Needs to be overridden in derived class pass def createProperty( self, propertyName, usesRegex, defaultValue, deprecated, propertyArrayName, ): # Needs to be overridden in derived class pass def writePropertyArray(self, propertyArray: PropertyArray): # Needs to be overridden in derived class pass def writeProperties(self): self.openFiles() for propertyArray in self.propertyArrayDict.values(): self.writePropertyArray(propertyArray) self.closeFiles() def moveFiles(self, location): # Needs to be overridden in derived class pass # The list of property arrays to get generated def generatedPropertyArrays(self): return [name for name, propertyArray in self.propertyArrayDict.items() if not propertyArray.isClass] def reservedPropertyPrefixes(self): return [name for name, array in self.propertyArrayDict.items() if not array.isClass] def parseProperty(self, attrs): name = attrs.get("name") usesRegex = "[any]" in name deprecated = attrs.get("deprecated", "false").lower() == "true" defaultValue = attrs.get("default", None) propertyArrayName = attrs.get("class", None) if propertyArrayName and defaultValue: print( sys.stderr, f"Property '{name}' cannot have both a class and a default value", ) if propertyArrayName and usesRegex: print( sys.stderr, f"Property '{name}' cannot have both a class and use a regex", ) return self.createProperty( name, usesRegex, defaultValue or "", deprecated, propertyArrayName, ) def validateKnownAttributes(self, validAttrs, attrs): if "name" not in attrs: print(sys.stderr, "missing name attribute") for a in attrs.keys(): if a not in validAttrs: print(sys.stderr, "invalid attribute '%s'" % a) def validateLanguages(self, attrs): languageAttr = attrs.get("languages", None) # If no language attribute is specified issue a warning and skip code generation for this element if languageAttr is None: print( sys.stderr, "missing languages attribute in property element %s" % attrs.get("name"), ) return False # languages="cpp,java" -> ["cpp", "java"] languages = [lang.strip() for lang in languageAttr.split(",")] for lang in languages: if lang not in [lang.value for lang in Language]: print( sys.stderr, "invalid language '%s' in property element %s" % (lang, attrs.get("name")), ) return False # All should be by itself. Issue a warning but continue generation for this element. if Language.ALL in languages and len(languages) > 1: print( sys.stderr, "Invalid languages attribute in property element: %s. 'all' must be specified alone." % attrs.get("name"), ) # True if the current language is in the list of languages or if the list contains 'all' return Language.ALL in languages or self.language in languages @override def startElement(self, name, attrs): match name: case "properties": pass case "class": name = f"{attrs.get('name')}" prefixOnly = attrs.get("prefix-only", "false").lower() == "true" self.validateKnownAttributes(["name", "prefix-only"], attrs) self.parentNodeName = name self.propertyArrayDict[name] = PropertyArray( name=name, prefixOnly=prefixOnly, isClass=True, isOptIn=False, ) case "section": isOptIn = attrs.get("opt-in", "false").lower() == "true" name = attrs.get("name") self.validateKnownAttributes(["name", "opt-in"], attrs) self.parentNodeName = name self.propertyArrayDict[self.parentNodeName] = PropertyArray( name=name, prefixOnly=False, isClass=False, isOptIn=isOptIn, ) case "property": self.validateKnownAttributes(["name", "class", "default", "deprecated", "languages"], attrs) if self.validateLanguages(attrs) is False: return property = self.parseProperty(attrs) self.propertyArrayDict[self.parentNodeName].addProperty(property) case _: raise ValueError(f"Unknown element: {name}") @override def endElement(self, name): if name == "section" or name == "class": self.parentNodeName = None class CppPropertyHandler(PropertyHandler): def __init__(self): super().__init__(Language.CPP) self.hFile = None self.cppFile = None @override def cleanup(self): if self.hFile is not None: self.hFile.close() if os.path.exists("PropertyNames.h"): os.remove("PropertyNames.h") if self.cppFile is not None: self.cppFile.close() if os.path.exists("PropertyNames.cpp"): os.remove("PropertyNames.cpp") @override def openFiles(self): self.hFile = open("PropertyNames.h", "w") self.cppFile = open("PropertyNames.cpp", "w") self.hFile.write(f"""\ {commonPreamble} #ifndef ICE_INTERNAL_PROPERTY_NAMES_H #define ICE_INTERNAL_PROPERTY_NAMES_H #include namespace IceInternal {{ struct PropertyArray; struct Property {{ const char* pattern; const char* defaultValue; const bool usesRegex; const bool deprecated; const PropertyArray* propertyArray; }}; struct PropertyArray {{ const char* name; const bool prefixOnly; const bool isOptIn; const Property* properties; const int length; }}; class PropertyNames {{ public: """) self.cppFile.write(f""" {commonPreamble} #include "PropertyNames.h" using namespace IceInternal; """) @override def closeFiles(self): self.hFile.write(f""" /// Property arrays defined using sections in PropertyNames.xml. static const std::array validProps; }}; }} #endif """) self.cppFile.write(f"""\ const std::array PropertyNames::validProps = {{ {",\n ".join([f"{name}Props" for name in self.generatedPropertyArrays()])} }}; """) self.hFile.close() self.cppFile.close() def fix(self, propertyName): return propertyName.replace("[any]", "*") @override def writePropertyArray(self, propertyArray): name = propertyArray.name arrayName = f"{name}PropsData" prefixOnly = "true" if propertyArray.prefixOnly else "false" isOptIn = "true" if propertyArray.isOptIn else "false" self.hFile.write(f" static const PropertyArray {name}Props;\n") # In C++ it is illegal to have an empty array. Instead, we set # the `properties` field of the PropertyArray to nullptr. if propertyArray.properties: self.cppFile.write(f"""\ const Property {arrayName}[] = {{ {",\n ".join(propertyArray.properties)} }}; """) self.cppFile.write(f"""\ const PropertyArray PropertyNames::{name}Props {{ .name="{name}", .prefixOnly={prefixOnly}, .isOptIn={isOptIn}, .properties={arrayName if propertyArray.properties else "nullptr"}, .length={len(propertyArray.properties)} }}; """) @override def createProperty(self, propertyName, usesRegex, defaultValue, deprecated, propertyArray): propertyLine = 'Property{{"{pattern}", {defaultValue}, {usesRegex}, {deprecated}, {propertyArray}}}'.format( pattern=self.fix(propertyName) if usesRegex else propertyName, defaultValue=f'"{defaultValue}"', usesRegex="true" if usesRegex else "false", deprecated="true" if deprecated else "false", propertyArray=f"&PropertyNames::{propertyArray}Props" if propertyArray else "nullptr", ) return propertyLine @override def moveFiles(self, location): dest = os.path.join(location, "cpp", "src", "Ice") if os.path.exists(os.path.join(dest, "PropertyNames.h")): os.remove(os.path.join(dest, "PropertyNames.h")) if os.path.exists(os.path.join(dest, "PropertyNames.cpp")): os.remove(os.path.join(dest, "PropertyNames.cpp")) shutil.move("PropertyNames.h", dest) shutil.move("PropertyNames.cpp", dest) class JavaPropertyHandler(PropertyHandler): def __init__(self): super().__init__(Language.JAVA) self.srcFile = None @override def cleanup(self): if self.srcFile is not None: self.srcFile.close() if os.path.exists("PropertyNames.java"): os.remove("PropertyNames.java") @override def openFiles(self): self.srcFile = open("PropertyNames.java", "w") self.srcFile.write(f"""\ {commonPreamble} package com.zeroc.Ice; final class PropertyNames {{ """) @override def closeFiles(self): self.srcFile.write(f"""\ public static final PropertyArray validProps[] = {{ {",\n ".join([f"{name}Props" for name in self.generatedPropertyArrays()])} }}; }} """) self.srcFile.close() def fix(self, propertyName): # # The Java property strings are actually regexp's that will be passed to Java's regexp facility. # return propertyName.replace(".", r"\\.").replace("[any]", r"[^\\s]+") @override def writePropertyArray(self, propertyArray): name = propertyArray.name prefixOnly = "true" if propertyArray.prefixOnly else "false" isOptIn = "true" if propertyArray.isOptIn else "false" properties = ( "\n " + ",\n ".join(propertyArray.properties) if propertyArray.properties else "" ) self.srcFile.write( f""" public static final PropertyArray {name}Props = new PropertyArray( "{name}", {prefixOnly}, {isOptIn}, new Property[] {{{properties} }}); """ ) @override def createProperty( self, propertyName, usesRegex, defaultValue, deprecated, propertyArray, ): line = 'new Property("{pattern}", {usesRegex}, {defaultValue}, {deprecated}, {propertyArray})'.format( pattern=self.fix(propertyName) if usesRegex else propertyName, usesRegex="true" if usesRegex else "false", defaultValue=f'"{defaultValue}"', deprecated="true" if deprecated else "false", propertyArray=f"PropertyNames.{propertyArray}Props" if propertyArray else "null", ) return line @override def moveFiles(self, location): dest = os.path.join( location, "java", "src", "com.zeroc.ice", "src", "main", "java", "com", "zeroc", "Ice", ) if os.path.exists(os.path.join(dest, "PropertyNames.java")): os.remove(os.path.join(dest, "PropertyNames.java")) shutil.move("PropertyNames.java", dest) class CSPropertyHandler(PropertyHandler): def __init__(self): super().__init__(Language.CSHARP) self.srcFile = None @override def cleanup(self): if self.srcFile is not None: self.srcFile.close() if os.path.exists("PropertyNames.cs"): os.remove("PropertyNames.cs") @override def openFiles(self): self.srcFile = open("PropertyNames.cs", "w") self.srcFile.write(f"""\ {commonPreamble} namespace Ice.Internal; internal sealed class PropertyNames {{ """) @override def closeFiles(self): self.srcFile.write(f"""\ internal static PropertyArray[] validProps = [ {",\n ".join([f"{name}Props" for name in self.generatedPropertyArrays()])} ]; }} """) self.srcFile.close() def fix(self, propertyName): return propertyName.replace(".", r"\.").replace("[any]", r"[^\s]+") @override def writePropertyArray(self, propertyArray): name = propertyArray.name prefixOnly = "true" if propertyArray.prefixOnly else "false" isOptIn = "true" if propertyArray.isOptIn else "false" properties = ( f"\n {',\n '.join(propertyArray.properties)}\n " if propertyArray.properties else "" ) self.srcFile.write(f"""\ internal static PropertyArray {name}Props = new( "{name}", {prefixOnly}, {isOptIn}, [{properties}]); """) @override def createProperty( self, propertyName, usesRegex, defaultValue, deprecated, propertyArray, ): line = 'new(pattern: @"{pattern}", usesRegex: {usesRegex}, defaultValue: {defaultValue}, deprecated: {deprecated}, propertyArray: {propertyArray})'.format( pattern=f"^{self.fix(propertyName)}$" if usesRegex else propertyName, usesRegex="true" if usesRegex else "false", defaultValue=f'"{defaultValue}"', deprecated="true" if deprecated else "false", propertyArray=f"{propertyArray}Props" if propertyArray else "null", ) return line @override def moveFiles(self, location): dest = os.path.join(location, "csharp", "src", "Ice", "Internal") if os.path.exists(os.path.join(dest, "PropertyNames.cs")): os.remove(os.path.join(dest, "PropertyNames.cs")) shutil.move("PropertyNames.cs", dest) class JSPropertyHandler(PropertyHandler): def __init__(self): super().__init__(Language.JS) self.srcFile = None @override def cleanup(self): if self.srcFile is not None: self.srcFile.close() if os.path.exists("PropertyNames.js"): os.remove("PropertyNames.js") @override def openFiles(self): self.srcFile = open("PropertyNames.js", "w") self.srcFile.write(f""" {commonPreamble} import {{ Property, PropertyArray }} from "./Property.js"; export const PropertyNames = {{}}; """) @override def closeFiles(self): self.srcFile.write(f"""\ PropertyNames.validProps = [ {",\n".join([f" PropertyNames.{name}Props" for name in self.generatedPropertyArrays()])}, ]; """) self.srcFile.close() def fix(self, propertyName): return propertyName.replace(".", "\\.").replace("[any]", ".") @override def writePropertyArray(self, propertyArray): name = propertyArray.name prefixOnly = "true" if propertyArray.prefixOnly else "false" isOptIn = "true" if propertyArray.isOptIn else "false" properties = "\n " + ",\n ".join(propertyArray.properties) if propertyArray.properties else "" # We assign the properties to the property array after creating it so that we can reference the array # in the properties themselves self.srcFile.write(f"""\ PropertyNames.{name}Props = new PropertyArray("{name}", {prefixOnly}, {isOptIn}); PropertyNames.{name}Props.properties = [{properties} ]; """) @override def createProperty( self, propertyName, usesRegex, defaultValue, deprecated, propertyArray, ): line = "new Property({pattern}, {usesRegex}, {defaultValue}, {deprecated}, {propertyArray})".format( pattern=f"/^{self.fix(propertyName)}/" if usesRegex else f'"{propertyName}"', usesRegex="true" if usesRegex else "false", defaultValue=f'"{defaultValue}"', deprecated="true" if deprecated else "false", propertyArray=f"PropertyNames.{propertyArray}Props" if propertyArray else "null", ) return line @override def moveFiles(self, location): dest = os.path.join(location, "js", "src", "Ice") if os.path.exists(os.path.join(dest, "PropertyNames.js")): os.remove(os.path.join(dest, "PropertyNames.js")) shutil.move("PropertyNames.js", dest) class MultiHandler(ContentHandler): def __init__(self, handlers): self.handlers = handlers super().__init__() @override def startElement(self, name, attrs): for f in self.handlers: f.startElement(name, attrs) def cleanup(self): for f in self.handlers: f.cleanup() def moveFiles(self, location): for f in self.handlers: f.moveFiles(location) def writeProperties(self): for f in self.handlers: f.writeProperties() def main(): if len(sys.argv) != 1 and len(sys.argv) != 3: print(sys.stderr, "makeprops.py does not take any arguments") sys.exit(1) # Find the top-level directory of the Ice repository topLevel = os.popen("git rev-parse --show-toplevel").read().strip() propsFile = os.path.join(topLevel, "config", "PropertyNames.xml") if not os.path.exists(propsFile): print( sys.stderr, "Cannot find top-level directory. Please run this script from the Ice repository.", ) sys.exit(1) contentHandler = MultiHandler( [ CppPropertyHandler(), JavaPropertyHandler(), CSPropertyHandler(), JSPropertyHandler(), ] ) # Ignore all signals. This script should not take long to run signal.signal(signal.SIGINT, signal.SIG_IGN) signal.signal(signal.SIGTERM, signal.SIG_IGN) parser = make_parser() parser.setFeature(feature_namespaces, 0) parser.setContentHandler(contentHandler) propsFileBuffer = open(propsFile) try: parser.parse(propsFileBuffer) contentHandler.writeProperties() contentHandler.moveFiles(topLevel) except Exception as ex: print(sys.stderr, str(ex)) contentHandler.cleanup() sys.exit(1) if __name__ == "__main__": main() zeroc-ice-3.8.1/config/valgrind.sup000066400000000000000000000002611516567600500172210ustar00rootroot00000000000000{ getifaddrs Memcheck:Param socketcall.sendto(msg) fun:sendto fun:getifaddrs } { std::string::_Rep::_S_create Memcheck:Leak ... fun:*_S_create* } zeroc-ice-3.8.1/config/version.env000066400000000000000000000003431516567600500170620ustar00rootroot00000000000000VERSION=3.8.1 export VERSION=$VERSION export BASE_VERSION=$VERSION # The next release, used for nightly builds. NIGHTLY_BASE_VERSION=3.8.2 export NIGHTLY_BASE_VERSION=$NIGHTLY_BASE_VERSION CHANNEL=3.8 export CHANNEL=$CHANNEL zeroc-ice-3.8.1/cpp/000077500000000000000000000000001516567600500142005ustar00rootroot00000000000000zeroc-ice-3.8.1/cpp/.gitignore000066400000000000000000000000101516567600500161570ustar00rootroot00000000000000bin lib zeroc-ice-3.8.1/cpp/BUILDING.md000066400000000000000000000167201516567600500157250ustar00rootroot00000000000000# Building Ice for C++ from Source ## Table of Contents - [Build roadmap](#build-roadmap) - [Prerequisites](#prerequisites) - [Building Ice for C++ on Linux](#building-ice-for-c-on-linux) - [Installing Build Dependencies](#installing-build-dependencies) - [On Ubuntu and other Debian-based systems](#on-ubuntu-and-other-debian-based-systems) - [On RHEL](#on-rhel) - [On Amazon Linux 2023](#on-amazon-linux-2023) - [Building](#building) - [Testing](#testing) - [Installation](#installation) - [Building Ice for C++ on macOS](#building-ice-for-c-on-macos) - [Installing Build Dependencies](#installing-build-dependencies-1) - [Building](#building-1) - [Testing](#testing-1) - [macOS Testing](#macos-testing) - [iOS Testing](#ios-testing) - [Using Xcode](#using-xcode) - [From the Terminal](#from-the-terminal) - [Installation](#installation-1) - [Building Ice for C++ on Windows](#building-ice-for-c-on-windows) - [Installing Build Dependencies](#installing-build-dependencies-2) - [Building](#building-2) - [Testing](#testing-2) - [Creating NuGet packages](#creating-nuget-packages) ## Build roadmap ```mermaid flowchart LR depends(Installing Build Dependencies) --> c++(Ice for C++) c++ -- doc --> api(API reference) c++ -- test --> tests(Tests) ``` ## Prerequisites - A C++ compiler with support for the C++17 standard. - GCC on Linux - Clang on macOS - Visual Studio 2022 on Windows ## Building Ice for C++ on Linux ### Installing Build Dependencies #### On Ubuntu and other Debian-based systems Install the required third-party libraries: ```shell sudo apt-get install libbluetooth-dev libbz2-dev libdbus-1-dev libedit-dev libexpat1-dev liblmdb-dev libmcpp-dev \ libssl-dev libsystemd-dev ``` #### On RHEL First add the ZeroC repository: ##### RHEL 9 ```shell dnf install https://zeroc.com/download/ice/3.8/el9/ice-repo-3.8-1.0.0-1.el9.noarch.rpm ``` ##### RHEL 10 ```shell dnf install https://zeroc.com/download/ice/3.8/el10/ice-repo-3.8-1.0.0-1.el10.noarch.rpm ``` > The ZeroC repository provides the `lmdb-devel` and `mcpp-devel` packages, which are not available in the standard > RHEL repositories. Then install the required third-party libraries: ```shell dnf install bzip2-devel expat-devel libedit-devel libsystemd-devel lmdb-devel mcpp-devel openssl-devel ``` #### On Amazon Linux 2023 Install the required third-party libraries: ```shell dnf install bzip2-devel expat-devel libedit-devel systemd-devel lmdb-devel libmcpp-devel openssl-devel ``` ### Building Once you have installed the required libraries, you can build Ice for C++ by running: ```shell make -j10 ``` By default, this builds all the Slice compilers, the C++ shared libraries, and all the Ice for C++ services. To build the static libraries, use the `static` configuration: ```shell make -j10 CONFIGS=static ``` Or build both shared and static libraries by running: ```shell make -j10 CONFIGS=all ``` After the build completes, the libraries are placed in the `lib` subdirectory, and the executables are placed in the `bin` subdirectory. ### Testing You can run the tests with: ```shell python allTests.py --all ``` ### Installation You can install Ice for C++ by running: ```shell make install ``` By default, Ice for C++ is installed to `/opt/Ice-3.8.1`. To change the installation location, set the `prefix` Makefile variable: ```shell make install prefix=$HOME/ice ``` ## Building Ice for C++ on macOS ### Installing Build Dependencies You can install the required third-party libraries using brew ```shell brew install mcpp lmdb ``` ### Building On macOS, you can build Ice for C++ for macOS, iOS devices, and iOS simulators using the `macosx`, `iphoneos`, and `iphonesimulator` platforms, respectively. There are two build configurations: `shared` and `static`. The `static` configuration is used to build the test suite against the static libraries and is also required for building the iOS test suite. To build Ice for C++ for the default platform (i.e., macOS): ```shell make -j10 ``` By default, this builds all the Slice compilers, the C++ shared and static libraries, and all the Ice for C++ services. To build for the iOS simulator: ```shell make -j10 PLATFORMS=iphonesimulator CONFIGS=all ``` To build for multiple platforms at once, list them in the `PLATFORMS` Makefile variable: ```shell make -j10 PLATFORMS="macosx iphonesimulator" CONFIGS=all ``` After the build completes, the libraries are placed in the `lib` subdirectory, and the executables are placed in the `bin` subdirectory. The build also produces XCFrameworks for `Ice`, `IceDiscovery`, and `IceLocatorDiscovery` under `lib/XCFrameworks`. These XCFrameworks contain static libraries for all platforms specified in the `PLATFORMS` Makefile variable. ### Testing #### macOS Testing You can run the macOS tests with: ```shell python allTests.py --all ``` #### iOS Testing The iOS tests use the `test/ios/controller` application along with Ice for Python to drive the tests on an iOS device or simulator from the development machine. ##### Using Xcode Open the **C++ Test Controller** Xcode project located in the `tests/ios/controller` directory using Xcode, and deploy it to your target device or simulator. Then, from the command line, start the tests by running: ```shell python allTests.py --all --platform iphoneos ``` or ```shell python allTests.py --all --platform iphonesimulator ``` depending on whether you deployed the controller to an iOS device or an iOS simulator. ##### From the Terminal You can also run the tests on the iOS simulator directly from the terminal without using Xcode: ```shell python allTests.py --all --platform iphonesimulator --controller-app ``` ### Installation You can install Ice for C++ by running: ```shell make -j10 install ``` By default, Ice for C++ is installed to `/opt/Ice-3.8.1`. To change the installation location, set the `prefix` Makefile variable: ```shell make -j10 install prefix=$HOME/ice ``` ## Building Ice for C++ on Windows ### Installing Build Dependencies The Windows MSBuild build downloads all dependencies as NuGet packages during the build process, so there is no need to install additional dependencies manually. ### Building Open a Visual Studio Developer Command Prompt, change to the `cpp` subdirectory, and run the following command: ```shell MSBuild /m msbuild\ice.proj ``` This builds the Ice for C++ executables, libraries, and test suite for the default platform and configuration (i.e., `x64/Release`). You can select a different platform and configuration by setting the MSBuild `Platform` and `Configuration` properties. For example, to build `x64/Debug` binaries: ```shell MSBuild /m msbuild\ice.proj /p:Platform=x64 /p:Configuration=Debug ``` The supported platforms are `x64` and `Win32`. The supported configurations are `Debug` and `Release`. ### Testing You can run the test suite with: ```shell python allTests.py --all ``` Use the `--platform` and `--configuration` options to run the tests for a specific platform/configuration combination: ```shell python allTests.py --platform x64 --config Debug ``` ### Creating NuGet Packages You can create the `ZeroC.Ice.Cpp` NuGet package using the following command: ```shell MSBuild /m msbuild\ice.proj /t:Pack ``` By default, the package includes only the binaries for the current platform and configuration. To build a package that includes **all supported platforms and configurations**, use: ```shell MSBuild /m msbuild\ice.proj /t:Pack /p:BuildAllConfigurations=yes ``` zeroc-ice-3.8.1/cpp/Makefile000066400000000000000000000057311516567600500156460ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. top_srcdir := .. lang_srcdir := $(top_srcdir)/$(notdir $(patsubst %/,%,$(dir $(lastword $(abspath $(MAKEFILE_LIST)))))) include $(top_srcdir)/config/Make.rules include $(lang_srcdir)/config/Make.rules # # Load these project first in this order. These projects contains generated headers # that other projects might depend on so it's important to parse them first for the # generated headers variable to be defined when we load other projects. # load_first = Ice IceBox Glacier2Lib IceGridLib IceStormLib DataStorm projects := # Create projects for all the Slice translators from src/slice2* and src/ice2slice. slice_translators := $(wildcard $(lang_srcdir)/src/slice2*) $(lang_srcdir)/src/ice2slice $(foreach t, $(slice_translators), $(eval $(call create-translator-project,$(call project,$t)))) # Do not install Slice compilers that are not distributed via the OS packaging system. # The compilers listed below are not included in the DEB, RPM, or Homebrew packages. slice2cs_install_configs := none slice2java_install_configs := none slice2js_install_configs := none slice2matlab_install_configs := none slice2rb_install_configs := none slice2swift_install_configs := none include $(foreach p,$(load_first),src/$p/Makefile.mk) include $(filter-out $(foreach p,$(load_first),%/src/$p/Makefile.mk),$(shell find $(lang_srcdir)/src -name Makefile.mk)) $(call make-projects,$(projects),make-cpp-src-project,,) srcs:: $(projects) ifeq ($(os),Darwin) $(call make-xcframeworks) include $(lang_srcdir)/config/Make.artifactbundle.rules endif # # Now, create and load test projects. # projects := tests := $(call tests-without-project-makefile,cpp) include $(shell find $(lang_srcdir)/test -name Makefile.mk) $(foreach t,$(tests),$(eval $(call create-cpp-test-project,$(t)))) $(call make-projects,$(projects),make-cpp-test-project) tests:: $(projects) # # Create projects for doxygen examples. # projects := doxygen_examples := Ice include $(foreach p,$(doxygen_examples),doxygen/examples/$p/Makefile.mk) $(call make-projects,$(projects),make-cpp-doxygen-example-project) doxygen_examples:: $(projects) all:: srcs tests doxygen_examples install:: | $(DESTDIR)$(install_configdir) $(Q)$(call install-data,templates.xml,$(lang_srcdir)/config,$(install_configdir)) install:: install-cmake # Install CMake files for a platform # $(call install-cmake-files,$1=platform) define install-cmake-files $(eval $(call install-data-files,$(wildcard $(lang_srcdir)/config/*.cmake),$(lang_srcdir)/config,$(install_libdir)$$($(1)_cmakedir)/Ice-$(mmversion),\ install-cmake-$(1),"Installing CMake files for $(1)")) install-cmake:: install-cmake-$(1) endef ifeq ($(os),Darwin) # Only install CMake files for macosx on Darwin. # We skip iphoneos and iphonesimulator platforms. ifneq ($(filter macosx, $(platforms)),) $(eval $(call install-cmake-files,macosx)) endif else $(foreach p,$(platforms),$(eval $(call install-cmake-files,$p))) endif zeroc-ice-3.8.1/cpp/README.md000066400000000000000000000053221516567600500154610ustar00rootroot00000000000000# Ice for C++ [Examples] | [Documentation] | [API Reference] | [Building from source] The [Ice framework] provides everything you need to build networked applications, including RPC, pub/sub, server deployment, and more. Ice for C++ is the C++ implementation of the Ice framework. ## Sample Code ```slice // Slice definitions (Greeter.ice) module VisitorCenter { /// Represents a simple greeter. interface Greeter { /// Creates a personalized greeting. /// @param name The name of the person to greet. /// @return The greeting. string greet(string name); } } ``` ```cpp // Client application (Client.cpp) #include "Greeter.h" #include #include using namespace std; int main(int argc, char* argv[]) { Ice::CommunicatorPtr communicator = Ice::initialize(argc, argv); Ice::CommunicatorHolder communicatorHolder{communicator}; VisitorCenter::GreeterPrx greeter{communicator, "greeter:tcp -h localhost -p 4061"}; string greeting = greeter->greet("alice"); cout << greeting << endl; return 0; } ``` ```cpp // Server application (Server.cpp) #include "Chatbot.h" #include #include using namespace std; int main(int argc, char* argv[]) { Ice::CtrlCHandler ctrlCHandler; Ice::CommunicatorPtr communicator = Ice::initialize(argc, argv); Ice::CommunicatorHolder communicatorHolder{communicator}; auto adapter = communicator->createObjectAdapterWithEndpoints("GreeterAdapter", "tcp -p 4061"); adapter->add(make_shared(), Ice::Identity{"greeter"}); adapter->activate(); cout << "Listening on port 4061..." << endl; ctrlCHandler.setCallback( [communicator](int signal) { cout << "Caught signal " << signal << ", shutting down..." << endl; communicator->shutdown(); }); communicator->waitForShutdown(); return 0; } ``` ```cpp // Greeter implementation (Chatbot.h) #include "Greeter.h" #include #include namespace Server { class Chatbot : public VisitorCenter::Greeter { public: std::string greet(std::string name, const Ice::Current&) override { std::cout << "Dispatching greet request { name = '" << name << "' }" << std::endl; std::ostringstream os; os << "Hello, " << name << "!"; return os.str(); } }; } ``` [Examples]: https://github.com/zeroc-ice/ice-demos/tree/3.8/cpp [Documentation]: https://docs.zeroc.com/ice/3.8/cpp/ [API Reference]: https://code.zeroc.com/ice/3.8/api/cpp/index.html [Building from source]: ./BUILDING.md [Ice framework]: https://github.com/zeroc-ice/ice zeroc-ice-3.8.1/cpp/allTests.py000077500000000000000000000003241516567600500163470ustar00rootroot00000000000000#!/usr/bin/env python3 # Copyright (c) ZeroC, Inc. import os import sys sys.path.append(os.path.join(os.path.dirname(__file__), "..", "scripts")) from Util import runTestsWithPath runTestsWithPath(__file__) zeroc-ice-3.8.1/cpp/config/000077500000000000000000000000001516567600500154455ustar00rootroot00000000000000zeroc-ice-3.8.1/cpp/config/IceConfig.cmake000066400000000000000000000014361516567600500203010ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. if(WIN32) # On Windows Ice ships as a NuGet package, so we need to find the package prefix directory. # This config file is located at /cmake/IceConfig.cmake get_filename_component(Ice_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../" ABSOLUTE) else() # This file is located at either: # - //cmake/Ice/IceConfig.cmake # - ///cmake/Ice/IceConfig.cmake get_filename_component(Ice_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) if(DEFINED CMAKE_LIBRARY_ARCHITECTURE) get_filename_component(Ice_PREFIX "${Ice_PREFIX}/.." ABSOLUTE) endif() endif() include("${CMAKE_CURRENT_LIST_DIR}/IceTargets.cmake") include("${CMAKE_CURRENT_LIST_DIR}/slice2cpp.cmake") zeroc-ice-3.8.1/cpp/config/IceTargets.cmake000066400000000000000000000167251516567600500205140ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. cmake_policy(PUSH) if(WIN32 AND NOT DEFINED Ice_WIN32_PLATFORM) if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(Ice_WIN32_PLATFORM "x64" CACHE PATH "Use x64 Ice library") else() set(Ice_WIN32_PLATFORM "Win32" CACHE PATH "Use Win32 Ice library") endif() endif() find_path(Ice_INCLUDE_DIR NAMES Ice/Ice.h HINTS ${Ice_PREFIX} ${Ice_PREFIX}/build/native PATH_SUFFIXES include DOC "Directory containing Ice header files" NO_DEFAULT_PATH REQUIRED) # Read Ice version variables from Ice/Config.h if(NOT DEFINED Ice_VERSION) file(STRINGS "${Ice_INCLUDE_DIR}/Ice/Config.h" _ice_config_h_content REGEX "#define ICE_([A-Z]+)_VERSION ") if("${_ice_config_h_content}" MATCHES "#define ICE_STRING_VERSION \"([^\"]+)\"") set(Ice_VERSION "${CMAKE_MATCH_1}" CACHE STRING "Ice version") endif() if("${_ice_config_h_content}" MATCHES "#define ICE_SO_VERSION \"([^\"]+)\"") set(Ice_SO_VERSION "${CMAKE_MATCH_1}" CACHE STRING "Ice SO version") endif() unset(_ice_config_h_content) endif() find_program(Ice_SLICE2CPP_EXECUTABLE slice2cpp HINTS ${Ice_PREFIX} PATH_SUFFIXES bin tools DOC "Path to the slice2cpp compiler" NO_DEFAULT_PATH REQUIRED ) # Add an imported target for slice2cpp add_executable(Ice::slice2cpp IMPORTED) set_target_properties(Ice::slice2cpp PROPERTIES IMPORTED_LOCATION "${Ice_SLICE2CPP_EXECUTABLE}" ) find_path(Ice_SLICE_DIR NAMES Ice/Identity.ice HINTS ${Ice_PREFIX} PATH_SUFFIXES slice share/ice/slice DOC "Path to the Ice Slice files directory" NO_DEFAULT_PATH REQUIRED) # Find all executables in the native/bin directory and create imported targets if(WIN32) # Create a helper function to add executable targets function(add_ice_executable name) add_executable(Ice::${name}_EXE IMPORTED) find_program(Ice_${name}_EXE_RELEASE ${name}${CMAKE_EXECUTABLE_SUFFIX} HINTS "${Ice_PREFIX}/build/native/bin/${Ice_WIN32_PLATFORM}/Release" NO_DEFAULT_PATH ) find_program(Ice_${name}_EXE_DEBUG ${name}${CMAKE_EXECUTABLE_SUFFIX} HINTS "${Ice_PREFIX}/build/native/bin/${Ice_WIN32_PLATFORM}/Debug" NO_DEFAULT_PATH ) if(Ice_${name}_EXE_RELEASE) set_property(TARGET Ice::${name}_EXE PROPERTY IMPORTED_LOCATION_RELEASE "${Ice_${name}_EXE_RELEASE}") endif() if(Ice_${name}_EXE_DEBUG) set_property(TARGET Ice::${name}_EXE PROPERTY IMPORTED_LOCATION_DEBUG "${Ice_${name}_EXE_DEBUG}") endif() # Set the appropriate location based on build type if(Ice_${name}_EXE_RELEASE OR Ice_${name}_EXE_DEBUG) set_property(TARGET Ice::${name}_EXE PROPERTY IMPORTED_LOCATION "$,${Ice_${name}_EXE_DEBUG},${Ice_${name}_EXE_RELEASE}>") endif() endfunction() add_ice_executable(icebox) endif() # Adds an Ice: target with the specified link libraries function(add_ice_target component link_libraries) add_library(Ice::${component} SHARED IMPORTED) set_target_properties(Ice::${component} PROPERTIES INTERFACE_COMPILE_FEATURES "cxx_std_17" INTERFACE_INCLUDE_DIRECTORIES "${Ice_INCLUDE_DIR}" INTERFACE_LINK_LIBRARIES "${link_libraries}" ) if(WIN32) if(Ice_${component}_LIBRARY_RELEASE) set_target_properties(Ice::${component} PROPERTIES IMPORTED_CONFIGURATIONS RELEASE IMPORTED_IMPLIB_RELEASE "${Ice_${component}_IMPLIB_RELEASE}" IMPORTED_LOCATION_RELEASE "${Ice_${component}_LIBRARY_RELEASE}" ) endif() if(Ice_${component}_LIBRARY_DEBUG) set_target_properties(Ice::${component} PROPERTIES IMPORTED_CONFIGURATIONS DEBUG IMPORTED_IMPLIB_DEBUG "${Ice_${component}_IMPLIB_DEBUG}" IMPORTED_LOCATION_DEBUG "${Ice_${component}_LIBRARY_DEBUG}" ) endif() else() if(Ice_${component}_LIBRARY) set_target_properties(Ice::${component} PROPERTIES IMPORTED_LOCATION "${Ice_${component}_LIBRARY}" ) endif() endif() endfunction() function(add_ice_library component link_libraries) # Find the library. If CMAKE_LIBRARY_ARCHITECTURE is set we check /lib/ and /lib directories # separately to avoid a single find_library with both HINTS and PATH_PREFIXES set, which could lean # to false positives with multi-arch installs. if(WIN32) # Find Release and Debug libraries on Windows inside the NuGet package find_library(Ice_${component}_IMPLIB_RELEASE NAMES ${component}${Ice_SO_VERSION} HINTS "${Ice_PREFIX}/build/native/lib/${Ice_WIN32_PLATFORM}/Release" NO_DEFAULT_PATH ) find_library(Ice_${component}_IMPLIB_DEBUG NAMES ${component}d ${component}${Ice_SO_VERSION}d HINTS "${Ice_PREFIX}/build/native/lib/${Ice_WIN32_PLATFORM}/Debug" NO_DEFAULT_PATH ) find_file(Ice_${component}_LIBRARY_RELEASE NAMES ${component}${Ice_SO_VERSION}.dll HINTS "${Ice_PREFIX}/build/native/bin/${Ice_WIN32_PLATFORM}/Release" NO_DEFAULT_PATH ) find_file(Ice_${component}_LIBRARY_DEBUG NAMES ${component}${Ice_SO_VERSION}d.dll HINTS "${Ice_PREFIX}/build/native/bin/${Ice_WIN32_PLATFORM}/Debug" NO_DEFAULT_PATH ) elseif(DEFINED CMAKE_LIBRARY_ARCHITECTURE AND EXISTS "${Ice_PREFIX}/lib/${CMAKE_LIBRARY_ARCHITECTURE}") # Find the library in the /lib/ directory (e.g. Debian/Ubuntu) find_library( Ice_${component}_LIBRARY_RELEASE NAMES ${component} HINTS "${Ice_PREFIX}/lib/${CMAKE_LIBRARY_ARCHITECTURE}" NO_DEFAULT_PATH ) elseif(DEFINED CMAKE_LIBRARY_ARCHITECTURE AND EXISTS "${Ice_PREFIX}/lib${CMAKE_LIBRARY_ARCHITECTURE}") # Find the library in the /lib/ directory (e.g. RHEL) find_library( Ice_${component}_LIBRARY_RELEASE NAMES ${component} HINTS "${Ice_PREFIX}/lib${CMAKE_LIBRARY_ARCHITECTURE}" NO_DEFAULT_PATH ) else() # Find the library in the /lib/ directory (e.g. macOS, other Linux) find_library( Ice_${component}_LIBRARY_RELEASE NAMES ${component} HINTS "${Ice_PREFIX}/lib" NO_DEFAULT_PATH ) endif() # Select the appropriate library configuration based on platform and build type include(SelectLibraryConfigurations) select_library_configurations(Ice_${component}) if(Ice_${component}_LIBRARY) # Set the Ice__FOUND variable to TRUE so that find_package_handle_standard_args # will consider the component found set(Ice_${component}_FOUND TRUE PARENT_SCOPE) add_ice_target(${component} "${link_libraries}") endif() endfunction() include(CMakeFindDependencyMacro) find_package(Threads REQUIRED QUIET) add_ice_library(Ice Threads::Threads) if(WIN32) # Bzip2 is included in the Ice NuGet package and is a runtime dependency of Ice. # This property can be used to copy the correct DLLs to the target directory at build time. set_property(TARGET Ice::Ice PROPERTY ICE_RUNTIME_DLLS "$<$:${Ice_PREFIX}/build/native/bin/${Ice_WIN32_PLATFORM}/Debug/bzip2d.dll>" "$<$:${Ice_PREFIX}/build/native/bin/${Ice_WIN32_PLATFORM}/Release/bzip2.dll>" ) endif() add_ice_library(DataStorm Ice::Ice) add_ice_library(Glacier2 Ice::Ice) add_ice_library(IceBox Ice::Ice) add_ice_library(IceDiscovery Ice::Ice) add_ice_library(IceGrid Ice::Ice Ice::Glacier2) add_ice_library(IceLocatorDiscovery Ice::Ice) add_ice_library(IceStorm Ice::Ice) add_ice_library(IceBT Ice::Ice) include(FindPackageHandleStandardArgs) set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG "${CMAKE_CURRENT_LIST_FILE}") find_package_handle_standard_args(Ice HANDLE_COMPONENTS CONFIG_MODE) cmake_policy(POP) zeroc-ice-3.8.1/cpp/config/Make.artifactbundle.rules000066400000000000000000000021271516567600500223660ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. # Creates the slice2swift artifact bundle for SwiftPM # # This rule creates a SwiftPM executable artifact bundle containing the slice2swift binary. # The bundle is used by Package.swift to provide the slice2swift tool to the CompileSlice plugin. slice2swift_artifactbundle_dir := bin/slice2swift.artifactbundle slice2swift_artifactbundle := $(slice2swift_artifactbundle_dir).zip slice2swift_platform := slice2swift-macos-arm64 slice2swift_info_template := $(lang_srcdir)/config/slice2swift.artifactbundle.info.json $(slice2swift_artifactbundle): bin/slice2swift $(E) Creating $@ $(Q)$(RM) -r $(@:.zip=) $(Q)$(MKDIR) -p $(@:.zip=)/$(slice2swift_platform)/bin $(Q)cp $< $(@:.zip=)/$(slice2swift_platform)/bin/slice2swift $(Q)sed 's/@VERSION@/$(version)/' $(slice2swift_info_template) > $(@:.zip=)/info.json $(Q)cd $(dir $(@:.zip=)) && zip -rq $(abspath $@) $(notdir $(@:.zip=)) $(Q)$(RM) -r $(@:.zip=) srcs all:: $(slice2swift_artifactbundle) clean:: $(E) Cleaning slice2swift artifact bundles $(Q)$(RM) -r $(slice2swift_artifactbundle) $(slice2swift_artifactbundle_dir) zeroc-ice-3.8.1/cpp/config/Make.rules000066400000000000000000000061401516567600500173770ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. # # Supported configurations # supported-configs = shared static default-configs = shared -include $(lang_srcdir)/config/Make.rules.$(os) ifeq ($(os),Darwin) include $(lang_srcdir)/config/Make.xcframework.rules endif # Validate platforms and configs $(eval $(call validate-config)) # # Define which projects to build for the different configurations. # coreandstub_components = IceUtil \ Ice \ IceDiscovery \ IceLocatorDiscovery \ Glacier2 \ IceStorm \ IceGrid \ IceBox # Add the Bluetooth transport if Bluetooth system libraries are available ifneq ($(IceBT_system_libs),) coreandstub_components += IceBT endif # # Build all the projects with the shared configuration, except IceUtil and Slice # that are static-only # shared_projects = % shared_excludes = IceUtil Slice # # Build only few components with the static configuration (core and stubs) # static_components = $(coreandstub_components) static_projects = test/Common \ test/Ice/% \ test/IceSSL/% \ test/IceUtil/stacktrace \ test/IceDiscovery/simple \ test/Glacier2/application \ test/IceGrid/simple static_excludes = test/Ice/library test/Ice/plugin # # If building on a Linux multilib platform, we restrict what we build for the 32-bits architecture. # ifeq ($(multilib-platform),yes) x86_components = $(coreandstub_components) DataStorm IceStormService icebox x86_projects = test/% endif # # $(call make-cpp-src-project,$1=project) # define make-cpp-src-project $1_slicecompiler := slice2cpp $1_sliceflags += -I$(slicedir) $1_cppflags += -I$1/generated -I$(includedir) -I$(includedir)/generated $(make-project) endef # # $(call make-cpp-doxygen-example-project,$1=project) # define make-cpp-doxygen-example-project $1_slicecompiler := slice2cpp $1_sliceflags += -I$(slicedir) $1_cppflags += -I$(includedir) -I$(includedir)/generated $(make-project) endef # # $(call make-cpp-test-project,$1=project) # define make-cpp-test-project $1_slicecompiler := slice2cpp $1_sliceflags += -I$(slicedir) $1_cppflags += -I$1/generated -Itest/include $(ice_cpp_cppflags) $(make-project) endef # # $(create-cpp-test-project $1=test) # define create-cpp-test-project $1_srcext := cpp $1_dependencies := $$(or $$($1_dependencies),TestCommon Ice) # Dependencies and target dirs for iOS test project $1[iphoneos-static]_targetdir := test/ios/bundles/Bundles-iphoneos/$(subst /,_,$1) $1[iphonesimulator-static]_targetdir := test/ios/bundles/Bundles-iphonesimulator/$(subst /,_,$1) $(create-test-project) endef # # Create top-level include/config dir # $(DESTDIR)$(install_includedir) $(DESTDIR)$(install_configdir): $(Q)$(MKDIR) $@ zeroc-ice-3.8.1/cpp/config/Make.xcframework.rules000066400000000000000000000047731516567600500217400ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. # Gets the library path for a platform (macosx does not have a platform directory) # $(call xcframework-library,Ice,macosx) => lib/Ice/libIce.a # $(call xcframework-library,Ice,iphoneos) => lib/iphoneos/libIce.a xcframework-library = lib/$(if $(filter macosx,$2),,$2/)lib$1.a # Gets a list of library paths for a component for all platforms xcframework-libraries = $(foreach p,$($1_platforms),$(call xcframework-library,$1,$p)) # Gets a list of component flags used when generating an xcframework. One set of flags per platform. xcframework-flags = $(foreach p,$($1_platforms),-library $(call xcframework-library,$1,$p) $(if $2,-headers include/$1)) # Creates a xcframework from a static component and its headers # Note: The headers are copied into the root of the Headers directory. We move the headers into Header/$1 so that we can # include Ice as . We also copy the generated headers into the Headers/$1 directory. # # $(call create-xcframework,$1=framework-name) define create-xcframework lib/XCFrameworks/$1.xcframework: $(call xcframework-libraries,$1) $(E) Creating lib/XCFrameworks/$1.xcframework from $(call xcframework-libraries,$1) $(Q)$(RM) -r lib/XCFrameworks/$1.xcframework $(Q)if [ -d include/$1 ]; then \ xcodebuild -create-xcframework $(call xcframework-flags,$1,true) -output lib/XCFrameworks/$1.xcframework ; \ find lib/XCFrameworks/$1.xcframework -name Headers -prune -exec mv {} {}_$1 \; -exec mkdir {} \; -exec mv {}_$1 {}/$1 \; ; \ if [ -d include/generated/$1 ]; then \ find lib/XCFrameworks/$1.xcframework -name Headers -prune -exec cp -r include/generated/$1/* {}/$1 \; ; \ fi \ else \ xcodebuild -create-xcframework $(call xcframework-flags,$1) -output lib/XCFrameworks/$1.xcframework; \ fi srcs all:: lib/XCFrameworks/$1.xcframework install:: $(DESTDIR)$(prefix)/lib/XCFrameworks/$1.xcframework $(DESTDIR)$(prefix)/lib/XCFrameworks/$1.xcframework: lib/XCFrameworks/$1.xcframework $(E) Installing lib/XCFrameworks/$1.xcframework to $(DESTDIR)$(prefix)/lib/XCFrameworks $(Q)$(MKDIR) -p $(DESTDIR)$(prefix)/lib/XCFrameworks $(Q)cp -pR lib/XCFrameworks/$1.xcframework $(DESTDIR)$(prefix)/lib/XCFrameworks clean:: $(E) Cleaning lib/XCFrameworks/$1.xcframework $(Q)$(RM) -r lib/XCFrameworks/$1.xcframework endef ifeq ($(filter $(config),static),) $(foreach f, $(xcframeworks), $(eval $f_always_enable_configs := static)) endif define make-xcframeworks $(foreach f, $(xcframeworks),\ $(if $($f_platforms),$(eval $(call create-xcframework,$f)))) endef zeroc-ice-3.8.1/cpp/config/slice2cpp.cmake000066400000000000000000000044041516567600500203350ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. # Function to generate C++ source files from Slice (.ice) files for a target using slice2cpp # The target must have the Slice files in its sources # The generated files are added to the target sources # Usage: # add_executable(a_target source1.cpp source2.ice source3.ice) # slice2cpp_generate(a_target) function(slice2cpp_generate target) # Get the list of source files for the target get_target_property(sources ${target} SOURCES) # Get the output directory for the generated files set(output_dir ${CMAKE_CURRENT_BINARY_DIR}/generated/${target}) file(RELATIVE_PATH output_dir_relative ${CMAKE_CURRENT_LIST_DIR} ${output_dir}) # Create a directory to store the generated files make_directory(${output_dir}) # Add the generated headers files to the target include directories target_include_directories(${target} PRIVATE ${output_dir}) # Process each Slice (.ice) file in the source list # 1. Run slice2cpp --depend to generate a dependency file for incremental builds # 2. Run the slice2cpp command to generate the header and source files # 3. Add the generated files to the target sources foreach(file IN LISTS sources) if(file MATCHES "\\.ice$") get_filename_component(slice_file_name ${file} NAME_WE) get_filename_component(slice_file_path ${file} ABSOLUTE) set(output_files ${output_dir}/${slice_file_name}.h ${output_dir}/${slice_file_name}.cpp) set(depfile ${output_dir}/${slice_file_name}.d) add_custom_command( OUTPUT ${output_files} COMMAND ${CMAKE_COMMAND} -DSLICE2CPP=$ -DSLICE_FILE=${slice_file_path} -DSLICE_INCLUDE_DIR=${Ice_SLICE_DIR} -DOUTPUT_DIR=${output_dir} -DDEPFILE=${depfile} -P ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/slice2cpp_depend.cmake COMMAND $ -I${Ice_SLICE_DIR} ${slice_file_path} --output-dir ${output_dir} DEPENDS ${slice_file_path} $ DEPFILE ${depfile} COMMENT "Compiling Slice ${file} -> ${output_dir_relative}/${slice_file_name}.cpp ${output_dir_relative}/${slice_file_name}.h" ) target_sources(${target} PRIVATE ${output_files}) endif() endforeach() endfunction() zeroc-ice-3.8.1/cpp/config/slice2cpp_depend.cmake000066400000000000000000000025141516567600500216540ustar00rootroot00000000000000# Copyright (c) ZeroC, Inc. # Helper script to generate a dependency file for Slice compilation. # Invoked at build time via cmake -P with the following variables: # SLICE2CPP - path to the slice2cpp executable # SLICE_FILE - the .ice source file (absolute path) # SLICE_INCLUDE_DIR - path to Ice Slice directory (for -I flag) # OUTPUT_DIR - directory where generated files are placed # DEPFILE - output path for the generated .d file execute_process( COMMAND "${SLICE2CPP}" "-I${SLICE_INCLUDE_DIR}" --depend "${SLICE_FILE}" OUTPUT_VARIABLE depend_output ERROR_VARIABLE depend_error RESULT_VARIABLE result ) if(NOT result EQUAL 0) message(FATAL_ERROR "slice2cpp --depend failed for ${SLICE_FILE}: ${depend_error}") endif() # The --depend output has a bare header filename as the target, e.g.: # Locator.h: \ # /path/to/Locator.ice \ # /path/to/Identity.ice # # Replace the target with the full output path so it matches the OUTPUT of add_custom_command. # We match ": \" (the depfile target separator) instead of just ":" to avoid matching the drive # letter in Windows paths like C:/... (where the colon is followed by / or \, never by " \"). string(REGEX REPLACE "^([^:]+)(: \\\\)" "${OUTPUT_DIR}/\\1\\2" depend_output "${depend_output}") file(WRITE "${DEPFILE}" "${depend_output}") zeroc-ice-3.8.1/cpp/config/slice2swift.artifactbundle.info.json000066400000000000000000000004521516567600500245170ustar00rootroot00000000000000{ "schemaVersion": "1.0", "artifacts": { "slice2swift": { "type": "executable", "version": "@VERSION@", "variants": [ { "path": "slice2swift-macos-arm64/bin/slice2swift", "supportedTriples": ["arm64-apple-macosx"] } ] } } } zeroc-ice-3.8.1/cpp/config/templates.xml000066400000000000000000000156621516567600500201770ustar00rootroot00000000000000 A Glacier2 router with activation mode "always". An IceStorm service, hosted by an IceBox server. An IceBox server that loads a single IceStorm service. An IceStorm service for a replicated / high availability deployment. An IceBox server that loads a single IceStorm-HA service. zeroc-ice-3.8.1/cpp/doxygen/000077500000000000000000000000001516567600500156555ustar00rootroot00000000000000zeroc-ice-3.8.1/cpp/doxygen/.clang-format000066400000000000000000000002071516567600500202270ustar00rootroot00000000000000--- # See https://clang.llvm.org/docs/ClangFormatStyleOptions.html BasedOnStyle: InheritParentConfig --- Language: Cpp ColumnLimit: 90 zeroc-ice-3.8.1/cpp/doxygen/.gitignore000066400000000000000000000000461516567600500176450ustar00rootroot00000000000000cpp latex icecpp.tag doxygen_examples zeroc-ice-3.8.1/cpp/doxygen/Doxyfile000066400000000000000000003725421516567600500174000ustar00rootroot00000000000000# Doxyfile 1.10.0 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # # All text after a double hash (##) is considered a comment and is placed in # front of the TAG it is preceding. # # All text after a single hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). # # Note: # # Use doxygen to compare the used configuration file with the template # configuration file: # doxygen -x [configFile] # Use doxygen to compare the used configuration file with the template # configuration file without replacing the environment variables or CMake type # replacement variables: # doxygen -x_noenv [configFile] #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the configuration # file that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # https://www.gnu.org/software/libiconv/ for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by # double-quotes, unless you are using Doxywizard) that should identify the # project for which the documentation is generated. This name is used in the # title of most generated pages and in a few other places. # The default value is: My Project. PROJECT_NAME = Ice # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version # control system is used. PROJECT_NUMBER = 3.8 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = C++ API Reference # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. PROJECT_LOGO = ../../assets/logo-55x55.png # With the PROJECT_ICON tag one can specify an icon that is included in the tabs # when the HTML document is shown. Doxygen will copy the logo to the output # directory. PROJECT_ICON = ../../assets/favicon-96x96.png # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 # sub-directories (in 2 levels) under the output directory of each output format # and will distribute the generated files over these directories. Enabling this # option can be useful when feeding doxygen a huge amount of source files, where # putting all generated files in the same directory would otherwise causes # performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to # control the number of sub-directories. # The default value is: NO. CREATE_SUBDIRS = NO # Controls the number of sub-directories that will be created when # CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every # level increment doubles the number of directories, resulting in 4096 # directories at level 8 which is the default and also the maximum value. The # sub-directories are organized in 2 levels, the first level always has a fixed # number of 16 directories. # Minimum value: 0, maximum value: 8, default value: 8. # This tag requires that the tag CREATE_SUBDIRS is set to YES. CREATE_SUBDIRS_LEVEL = 8 # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII # characters to appear in the names of generated files. If set to NO, non-ASCII # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode # U+3044. # The default value is: NO. ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, # Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English # (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, # Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with # English messages), Korean, Korean-en (Korean with English messages), Latvian, # Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, # Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, # Swedish, Turkish, Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. # The default value is: YES. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief # description of a member or function before the detailed description # # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. # The default value is: YES. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator that is # used to form the text in various listings. Each string in this list, if found # as the leading text of the brief description, will be stripped from the text # and the result, after processing the whole list, is used as the annotated # text. Otherwise, the brief description is used as-is. If left blank, the # following values are used ($name is automatically replaced with the name of # the entity):The $name class, The $name widget, The $name file, is, provides, # specifies, contains, represents, a, an and the. ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # doxygen will generate a detailed section even if there is only a brief # description. # The default value is: NO. ALWAYS_DETAILED_SEC = YES # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. # The default value is: NO. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path # before files name in the file list and in the header files. If set to NO the # shortest path that makes the file name unique will be used # The default value is: YES. FULL_PATH_NAMES = YES # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. # Stripping is only done if one of the specified strings matches the left-hand # part of the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the path to # strip. # # Note that you can specify absolute paths here, but also relative paths, which # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. STRIP_FROM_PATH = ../include # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which # header file to include in order to use a class. If left blank only the name of # the header file containing the class definition is used. Otherwise one should # specify the list of include paths that are normally passed to the compiler # using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but # less readable) file names. This can be useful is your file systems doesn't # support long names like on DOS, Mac, or CD-ROM. # The default value is: NO. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the # first line (until the first dot) of a Javadoc-style comment as the brief # description. If set to NO, the Javadoc-style will behave just like regular Qt- # style comments (thus requiring an explicit @brief command for a brief # description.) # The default value is: NO. JAVADOC_AUTOBRIEF = YES # If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line # such as # /*************** # as being the beginning of a Javadoc-style comment "banner". If set to NO, the # Javadoc-style will behave just like regular comments and it will not be # interpreted by doxygen. # The default value is: NO. JAVADOC_BANNER = NO # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first # line (until the first dot) of a Qt-style comment as the brief description. If # set to NO, the Qt-style will behave just like regular Qt-style comments (thus # requiring an explicit \brief command for a brief description.) # The default value is: NO. QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a # multi-line C++ special comment block (i.e. a block of //! or /// comments) as # a brief description. This used to be the default behavior. The new default is # to treat a multi-line C++ comment block as a detailed description. Set this # tag to YES if you prefer the old behavior instead. # # Note that setting this tag to YES also means that rational rose comments are # not recognized any more. # The default value is: NO. MULTILINE_CPP_IS_BRIEF = NO # By default Python docstrings are displayed as preformatted text and doxygen's # special commands cannot be used. By setting PYTHON_DOCSTRING to NO the # doxygen's special commands can be used and the contents of the docstring # documentation blocks is shown as doxygen documentation. # The default value is: YES. PYTHON_DOCSTRING = YES # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new # page for each member. If set to NO, the documentation of a member will be part # of the file/class/namespace that contains it. # The default value is: NO. SEPARATE_MEMBER_PAGES = YES # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen # uses this value to replace tabs by spaces in code fragments. # Minimum value: 1, maximum value: 16, default value: 4. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that act as commands in # the documentation. An alias has the form: # name=value # For example adding # "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading # "Side Effects:". Note that you cannot put \n's in the value part of an alias # to insert newlines (in the resulting output). You can put ^^ in the value part # of an alias to insert a newline as if a physical newline was in the original # file. When you need a literal { or } or , in the value part of an alias you # have to escape them by means of a backslash (\), this can lead to conflicts # with the commands \{ and \} for these it is advised to use the version @{ and # @} or use a double escape (\\{ and \\}) ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all # members will be omitted, etc. # The default value is: NO. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or # Python sources only. Doxygen will then generate output that is more tailored # for that language. For instance, namespaces will be presented as packages, # qualified scopes will look different, etc. # The default value is: NO. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources. Doxygen will then generate output that is tailored for Fortran. # The default value is: NO. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for VHDL. # The default value is: NO. OPTIMIZE_OUTPUT_VHDL = NO # Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice # sources only. Doxygen will then generate output that is more tailored for that # language. For instance, namespaces will be presented as modules, types will be # separated into more groups, etc. # The default value is: NO. OPTIMIZE_OUTPUT_SLICE = NO # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and # language is one of the parsers supported by doxygen: IDL, Java, JavaScript, # Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, # VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: # FortranFree, unknown formatted Fortran: Fortran. In the later case the parser # tries to guess whether the code is fixed or free formatted code, this is the # default for Fortran type files). For instance to make doxygen treat .inc files # as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise # the files are not read by doxygen. When specifying no_extension you should add # * to the FILE_PATTERNS. # # Note see also the list of default file extension mappings. EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable # documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. # The default value is: YES. MARKDOWN_SUPPORT = YES # When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up # to that level are automatically included in the table of contents, even if # they do not have an id attribute. # Note: This feature currently applies only to Markdown headings. # Minimum value: 0, maximum value: 99, default value: 5. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. TOC_INCLUDE_HEADINGS = 5 # The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to # generate identifiers for the Markdown headings. Note: Every identifier is # unique. # Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a # sequence number starting at 0 and GITHUB use the lower case version of title # with any whitespace replaced by '-' and punctuation characters removed. # The default value is: DOXYGEN. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. MARKDOWN_ID_STYLE = DOXYGEN # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by putting a % sign in front of the word or # globally by setting AUTOLINK_SUPPORT to NO. # The default value is: YES. AUTOLINK_SUPPORT = YES AUTOLINK_IGNORE_WORDS = DataStorm Glacier2 Ice IceBox IceGrid IceMX IceStorm SSL # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should set this # tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); # versus func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. # The default value is: NO. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. # The default value is: NO. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: # https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate # getter and setter methods for a property. Setting this option to YES will make # doxygen to replace the get and set methods by a property in the documentation. # This will only work if the methods are indeed getting or setting a simple # type. If this is not the case, or you want to show the methods anyway, you # should set this option to NO. # The default value is: YES. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. # The default value is: NO. DISTRIBUTE_GROUP_DOC = NO # If one adds a struct or class to a group and this option is enabled, then also # any nested class or struct is added to the same group. By default this option # is disabled and one has to add nested compounds explicitly via \ingroup. # The default value is: NO. GROUP_NESTED_COMPOUNDS = NO # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that # type (e.g. under the Public Functions section). Set it to NO to prevent # subgrouping. Alternatively, this can be done per class using the # \nosubgrouping command. # The default value is: YES. SUBGROUPING = YES # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions # are shown inside the group in which they are included (e.g. using \ingroup) # instead of on a separate page (for HTML and Man pages) or section (for LaTeX # and RTF). # # Note that this feature does not work in combination with # SEPARATE_MEMBER_PAGES. # The default value is: NO. INLINE_GROUPED_CLASSES = NO # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions # with only public data fields or simple typedef fields will be shown inline in # the documentation of the scope in which they are defined (i.e. file, # namespace, or group documentation), provided this scope is documented. If set # to NO, structs, classes, and unions are shown on a separate page (for HTML and # Man pages) or section (for LaTeX and RTF). # The default value is: NO. INLINE_SIMPLE_STRUCTS = NO # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or # enum is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically be # useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. # The default value is: NO. TYPEDEF_HIDES_STRUCT = NO # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This # cache is used to resolve symbols given their name and scope. Since this can be # an expensive process and often the same symbol appears multiple times in the # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small # doxygen will become slower. If the cache is too large, memory is wasted. The # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 # symbols. At the end of a run doxygen will report the cache usage and suggest # the optimal cache size from a speed point of view. # Minimum value: 0, maximum value: 9, default value: 0. LOOKUP_CACHE_SIZE = 0 # The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use # during processing. When set to 0 doxygen will based this on the number of # cores available in the system. You can set it explicitly to a value larger # than 0 to get more control over the balance between CPU load and processing # speed. At this moment only the input processing can be done using multiple # threads. Since this is still an experimental feature the default is set to 1, # which effectively disables parallel processing. Please report any issues you # encounter. Generating dot graphs in parallel is controlled by the # DOT_NUM_THREADS setting. # Minimum value: 0, maximum value: 32, default value: 1. NUM_PROC_THREADS = 1 # If the TIMESTAMP tag is set different from NO then each generated page will # contain the date or date and time when the page was generated. Setting this to # NO can help when comparing the output of multiple runs. # Possible values are: YES, NO, DATETIME and DATE. # The default value is: NO. TIMESTAMP = NO #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in # documentation are documented, even if no documentation was available. Private # class members and static file members will be hidden unless the # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. # Note: This will also disable the warnings about undocumented members that are # normally produced when WARNINGS is set to YES. # The default value is: NO. EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will # be included in the documentation. # The default value is: NO. EXTRACT_PRIVATE = NO # If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual # methods of a class will be included in the documentation. # The default value is: NO. EXTRACT_PRIV_VIRTUAL = NO # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal # scope will be included in the documentation. # The default value is: NO. EXTRACT_PACKAGE = NO # If the EXTRACT_STATIC tag is set to YES, all static members of a file will be # included in the documentation. # The default value is: NO. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined # locally in source files will be included in the documentation. If set to NO, # only classes defined in header files are included. Does not have any effect # for Java sources. # The default value is: YES. EXTRACT_LOCAL_CLASSES = NO # This flag is only useful for Objective-C code. If set to YES, local methods, # which are defined in the implementation section but not in the interface are # included in the documentation. If set to NO, only methods in the interface are # included. # The default value is: NO. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base name of # the file that contains the anonymous namespace. By default anonymous namespace # are hidden. # The default value is: NO. EXTRACT_ANON_NSPACES = NO # If this flag is set to YES, the name of an unnamed parameter in a declaration # will be determined by the corresponding definition. By default unnamed # parameters remain unnamed in the output. # The default value is: YES. RESOLVE_UNNAMED_PARAMS = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation # section is generated. This option has no effect if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set # to NO, these classes will be included in the various overviews. This option # will also hide undocumented C++ concepts if enabled. This option has no effect # if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend # declarations. If set to NO, these declarations will be included in the # documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any # documentation blocks found inside the body of a function. If set to NO, these # blocks will be appended to the function's detailed documentation block. # The default value is: NO. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation that is typed after a # \internal command is included. If the tag is set to NO then the documentation # will be excluded. Set it to YES to include the internal documentation. # The default value is: NO. INTERNAL_DOCS = NO # With the correct setting of option CASE_SENSE_NAMES doxygen will better be # able to match the capabilities of the underlying filesystem. In case the # filesystem is case sensitive (i.e. it supports files in the same directory # whose names only differ in casing), the option must be set to YES to properly # deal with such files in case they appear in the input. For filesystems that # are not case sensitive the option should be set to NO to properly deal with # output files written for symbols that only differ in casing, such as for two # classes, one named CLASS and the other named Class, and to also support # references to files without having to specify the exact matching casing. On # Windows (including Cygwin) and MacOS, users should typically set this option # to NO, whereas on Linux or other Unix flavors it should typically be set to # YES. # Possible values are: SYSTEM, NO and YES. # The default value is: SYSTEM. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with # their full class and namespace scopes in the documentation. If set to YES, the # scope will be hidden. # The default value is: NO. HIDE_SCOPE_NAMES = NO # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will # append additional text to a page's title, such as Class Reference. If set to # YES the compound reference will be hidden. # The default value is: NO. HIDE_COMPOUND_REFERENCE= NO # If the SHOW_HEADERFILE tag is set to YES then the documentation for a class # will show which file needs to be included to use the class. # The default value is: YES. SHOW_HEADERFILE = YES # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. SHOW_INCLUDE_FILES = YES # If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each # grouped member an include statement to the documentation, telling the reader # which file to include in order to use the member. # The default value is: NO. SHOW_GROUPED_MEMB_INC = NO # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include # files with double quotes in the documentation rather than with sharp brackets. # The default value is: NO. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the # documentation for inline members. # The default value is: YES. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the # (detailed) documentation of file and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. # The default value is: YES. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief # descriptions of file, namespace and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. Note that # this will also influence the order of the classes in the class list. # The default value is: NO. SORT_BRIEF_DOCS = YES # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the # (brief and detailed) documentation of class members so that constructors and # destructors are listed first. If set to NO the constructors will appear in the # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief # member documentation. # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting # detailed member documentation. # The default value is: NO. SORT_MEMBERS_CTORS_1ST = YES # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy # of group names into alphabetical order. If set to NO the group names will # appear in their defined order. # The default value is: NO. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by # fully-qualified names, including namespaces. If set to NO, the class list will # be sorted only by class name, not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the alphabetical # list. # The default value is: NO. SORT_BY_SCOPE_NAME = NO # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper # type resolution of all parameters of a function it will reject a match between # the prototype and the implementation of a member function even if there is # only one candidate or it is obvious which candidate to choose by doing a # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still # accept a match between prototype and implementation in such cases. # The default value is: NO. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo # list. This list is created by putting \todo commands in the documentation. # The default value is: YES. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test # list. This list is created by putting \test commands in the documentation. # The default value is: YES. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug # list. This list is created by putting \bug commands in the documentation. # The default value is: YES. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) # the deprecated list. This list is created by putting \deprecated commands in # the documentation. # The default value is: YES. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional documentation # sections, marked by \if ... \endif and \cond # ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # initial value of a variable or macro / define can have for it to appear in the # documentation. If the initializer consists of more lines than specified here # it will be hidden. Use a value of 0 to hide initializers completely. The # appearance of the value of individual variables and macros / defines can be # controlled using \showinitializer or \hideinitializer command in the # documentation regardless of this setting. # Minimum value: 0, maximum value: 10000, default value: 30. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at # the bottom of the documentation of classes and structs. If set to YES, the # list will mention the files that were used to generate the documentation. # The default value is: YES. SHOW_USED_FILES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This # will remove the Files entry from the Quick Index and from the Folder Tree View # (if specified). # The default value is: YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces # page. This will remove the Namespaces entry from the Quick Index and from the # Folder Tree View (if specified). # The default value is: YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command command input-file, where command is the value of the # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided # by doxygen. Whatever the program writes to standard output is used as the file # version. For an example see the documentation. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml # will be used as the name of the layout file. See also section "Changing the # layout of pages" for information. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool # to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. CITE_BIB_FILES = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated to # standard output by doxygen. If QUIET is set to YES this implies that the # messages are off. # The default value is: NO. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES # this implies that the warnings are on. # # Tip: Turn warnings on while writing the documentation. # The default value is: YES. WARNINGS = YES # If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag # will automatically be disabled. # The default value is: YES. WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as documenting some parameters in # a documented function twice, or documenting parameters that don't exist or # using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES # If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete # function parameter documentation. If set to NO, doxygen will accept that some # parameters have no documentation without warning. # The default value is: YES. WARN_IF_INCOMPLETE_DOC = YES # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return # value. If set to NO, doxygen will only warn about wrong parameter # documentation, but not about the absence of documentation. If EXTRACT_ALL is # set to YES then this flag will automatically be disabled. See also # WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = NO # If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about # undocumented enumeration values. If set to NO, doxygen will accept # undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag # will automatically be disabled. # The default value is: NO. WARN_IF_UNDOC_ENUM_VAL = YES # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when # a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS # then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but # at the end of the doxygen process doxygen will return with a non-zero status. # If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves # like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not # write the warning messages in between other messages but write them at the end # of a run, in case a WARN_LOGFILE is defined the warning messages will be # besides being in the defined file also be shown at the end of a run, unless # the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case # the behavior will remain as with the setting FAIL_ON_WARNINGS. # Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT. # The default value is: NO. WARN_AS_ERROR = FAIL_ON_WARNINGS # The WARN_FORMAT tag determines the format of the warning messages that doxygen # can produce. The string should contain the $file, $line, and $text tags, which # will be replaced by the file and line number from which the warning originated # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) # See also: WARN_LINE_FORMAT # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" # In the $text part of the WARN_FORMAT command it is possible that a reference # to a more specific place is given. To make it easier to jump to this place # (outside of doxygen) the user can define a custom "cut" / "paste" string. # Example: # WARN_LINE_FORMAT = "'vi $file +$line'" # See also: WARN_FORMAT # The default value is: at line $line of file $file. WARN_LINE_FORMAT = "at line $line of file $file" # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard # error (stderr). In case the file specified cannot be opened for writing the # warning and error messages are written to standard error. When as file - is # specified the warning and error messages are written to standard output # (stdout). WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag is used to specify the files and/or directories that contain # documented source files. You may enter file names like myfile.cpp or # directories like /usr/src/myproject. Separate the files or directories with # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. INPUT = ../include \ mainpage.md # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv # documentation (see: # https://www.gnu.org/software/libiconv/) for the list of possible encodings. # See also: INPUT_FILE_ENCODING # The default value is: UTF-8. INPUT_ENCODING = UTF-8 # This tag can be used to specify the character encoding of the source files # that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify # character encoding on a per file pattern basis. Doxygen will compare the file # name with each pattern and apply the encoding instead of the default # INPUT_ENCODING) if there is a match. The character encodings are a list of the # form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding # "INPUT_ENCODING" for further information on supported encodings. INPUT_FILE_ENCODING = # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and # *.h) to filter out the source-files in the directories. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # read by doxygen. # # Note the list of default checked file patterns might differ from the list of # default file extension mappings. # # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cxxm, # *.cpp, *.cppm, *.ccm, *.c++, *.c++m, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, # *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.ixx, *.l, *.cs, *.d, # *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to # be provided as doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, # *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. FILE_PATTERNS = *.cpp \ *.h \ *.d \ *.m \ *.mm # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. # The default value is: NO. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # # Note that relative paths are relative to the directory from which doxygen is # run. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. # The default value is: NO. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # ANamespace::AClass, ANamespace::*Test EXCLUDE_SYMBOLS = DataStormI \ IceInternal \ Glacier2Internal \ std \ Glacier2::IdentitySet \ Glacier2::IdentitySetPtr \ Glacier2::Router \ Glacier2::RouterPtr \ Glacier2::SessionControl \ Glacier2::SessionControlPtr \ Glacier2::StringSet \ Glacier2::StringSetPtr \ Ice::LoggerAdmin \ Ice::LoggerAdminPtr \ Ice::Process \ Ice::ProcessPtr \ IceMX::MetricsAdmin \ IceMX::MetricsAdminPtr \ IceBox::ServiceManager \ IceBox::ServiceManagerPtr \ IceGrid::Admin \ IceGrid::AdminPtr \ IceGrid::AdminSession \ IceGrid::AdminSessionPtr \ IceGrid::FileIterator \ IceGrid::FileIteratorPtr \ IceGrid::FileParser \ IceGrid::FileParserPtr \ IceGrid::Locator \ IceGrid::LocatorPtr \ IceGrid::Query \ IceGrid::QueryPtr \ IceGrid::Registry \ IceGrid::RegistryPtr \ IceGrid::Session \ IceGrid::SessionPtr \ IceStorm::Finder \ IceStorm::FinderPtr \ IceStorm::Topic \ IceStorm::TopicPtr \ IceStorm::TopicManager \ IceStorm::TopicManagerPtr # The EXAMPLE_PATH tag can be used to specify one or more files or directories # that contain example code fragments that are included (see the \include # command). EXAMPLE_PATH = examples # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and # *.h) to filter out the source-files in the directories. If left blank all # files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude commands # irrespective of the value of the RECURSIVE tag. # The default value is: NO. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or directories # that contain images that are to be included in the documentation (see the # \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command: # # # # where is the value of the INPUT_FILTER tag, and is the # name of an input file. Doxygen will then use the output that the filter # program writes to standard output. If FILTER_PATTERNS is specified, this tag # will be ignored. # # Note that the filter must not add or remove lines; it is applied before the # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. # # Note that doxygen will use the data processed and written to standard output # for further processing, therefore nothing else, like debug statements or used # commands (so in case of a Windows batch file always use @echo OFF), should be # written to standard output. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: pattern=filter # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will also be used to filter the input files that are used for # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). # The default value is: NO. FILTER_SOURCE_FILES = NO # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and # it is also possible to disable source filtering for a specific pattern using # *.ext= (so without naming a filter). # This tag requires that the tag FILTER_SOURCE_FILES is set to YES. FILTER_SOURCE_PATTERNS = # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. USE_MDFILE_AS_MAINPAGE = mainpage.md # The Fortran standard specifies that for fixed formatted Fortran code all # characters from position 72 are to be considered as comment. A common # extension is to allow longer lines before the automatic comment starts. The # setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can # be processed before the automatic comment starts. # Minimum value: 7, maximum value: 10000, default value: 72. FORTRAN_COMMENT_AFTER = 72 #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will be # generated. Documented entities will be cross-referenced with these sources. # # Note: To get rid of all source code in the generated output, make sure that # also VERBATIM_HEADERS is set to NO. # The default value is: NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body of functions, # multi-line macros, enums or list initialized variables directly into the # documentation. # The default value is: NO. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any # special comment blocks from generated source code fragments. Normal C, C++ and # Fortran comments will always remain visible. # The default value is: YES. # Switch to NO to keep doc-comments in the "source browser" source files. STRIP_CODE_COMMENTS = NO # If the REFERENCED_BY_RELATION tag is set to YES then for each documented # entity all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES then for each documented function # all documented entities called/used by that function will be listed. # The default value is: NO. REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set # to YES then the hyperlinks from functions in REFERENCES_RELATION and # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will # link to the documentation. # The default value is: YES. REFERENCES_LINK_SOURCE = YES # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the # source code will show a tooltip with additional information such as prototype, # brief description and links to the definition and documentation. Since this # will make the HTML file larger and loading of large files a bit slower, you # can opt to disable this feature. # The default value is: YES. # This tag requires that the tag SOURCE_BROWSER is set to YES. SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system # (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global # - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # # Doxygen will invoke htags (and that will in turn invoke gtags), so these # tools must be available from the command line (i.e. in the search path). # # The result: instead of the source browser generated by doxygen, the links to # source code will now point to the output of htags. # The default value is: NO. # This tag requires that the tag SOURCE_BROWSER is set to YES. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a # verbatim copy of the header file for each class for which an include is # specified. Set to NO to disable this. # See also: Section \class. # The default value is: YES. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all # compounds will be generated. Enable this if the project contains a lot of # classes, structs, unions or interfaces. # The default value is: YES. ALPHABETICAL_INDEX = YES # The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) # that should be ignored while generating the index headers. The IGNORE_PREFIX # tag works for classes, function and member names. The entity will be placed in # the alphabetical list under the first letter of the entity name that remains # after removing the prefix. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output # The default value is: YES. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of # it. # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_OUTPUT = cpp # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). # The default value is: .html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a user-defined HTML header file for # each generated HTML page. If the tag is left blank doxygen will generate a # standard header. # # To get valid HTML the header file that includes any scripts and style sheets # that doxygen needs, which is dependent on the configuration options used (e.g. # the setting GENERATE_TREEVIEW). It is highly recommended to start with a # default header using # doxygen -w html new_header.html new_footer.html new_stylesheet.css # YourConfigFile # and then modify the file new_header.html. See also section "Doxygen usage" # for information on how to generate the default header that doxygen normally # uses. # Note: The header is subject to change so you typically have to regenerate the # default header when upgrading to a newer version of doxygen. For a description # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard # footer. See HTML_HEADER for more information on how to generate a default # footer and what special commands can be used inside the footer. See also # section "Doxygen usage" for information on how to generate the default footer # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of # the HTML output. If left blank doxygen will generate a default style sheet. # See also section "Doxygen usage" for information on how to generate the style # sheet that doxygen normally uses. # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as # it is more robust and this tag (HTML_STYLESHEET) will in the future become # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_STYLESHEET = # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets # created by doxygen. Using this option one can overrule certain style aspects. # This is preferred over using HTML_STYLESHEET since it does not replace the # standard style sheet and is therefore more robust against future updates. # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the # list). # Note: Since the styling of scrollbars can currently not be overruled in # Webkit/Chromium, the styling will be left out of the default doxygen.css if # one or more extra stylesheets have been specified. So if scrollbar # customization is desired it has to be added explicitly. For an example see the # documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that the # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_FILES = # The HTML_COLORSTYLE tag can be used to specify if the generated HTML output # should be rendered with a dark or light theme. # Possible values are: LIGHT always generate light mode output, DARK always # generate dark mode output, AUTO_LIGHT automatically set the mode according to # the user preference, use light mode if no preference is set (the default), # AUTO_DARK automatically set the mode according to the user preference, use # dark mode if no preference is set and TOGGLE allow to user to switch between # light and dark mode via a button. # The default value is: AUTO_LIGHT. # This tag requires that the tag GENERATE_HTML is set to YES. # This tag was set to LIGHT for Doxygen Awesome. HTML_COLORSTYLE = LIGHT # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to # this color. Hue is specified as an angle on a color-wheel, see # https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors # in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the # luminance component of the colors in the HTML output. Values below 100 # gradually make the output lighter, whereas values above 100 make the output # darker. The value divided by 100 is the actual gamma applied, so 80 represents # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not # change the gamma. # Minimum value: 40, maximum value: 240, default value: 80. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML # documentation will contain a main index with vertical navigation menus that # are dynamically created via JavaScript. If disabled, the navigation index will # consists of multiple levels of tabs that are statically embedded in every HTML # page. Disable this option to support browsers that do not have JavaScript, # like the Qt help browser. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_MENUS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_SECTIONS = NO # If the HTML_CODE_FOLDING tag is set to YES then classes and functions can be # dynamically folded and expanded in the generated HTML source code. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_CODE_FOLDING = YES # If the HTML_COPY_CLIPBOARD tag is set to YES then doxygen will show an icon in # the top right corner of code and text fragments that allows the user to copy # its content to the clipboard. Note this only works if supported by the browser # and the web page is served via a secure context (see: # https://www.w3.org/TR/secure-contexts/), i.e. using the https: or file: # protocol. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COPY_CLIPBOARD = YES # Doxygen stores a couple of settings persistently in the browser (via e.g. # cookies). By default these settings apply to all HTML pages generated by # doxygen across all projects. The HTML_PROJECT_COOKIE tag can be used to store # the settings under a project specific key, such that the user preferences will # be stored separately. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_PROJECT_COOKIE = # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand # and collapse entries dynamically later on. Doxygen will expand the tree to # such a level that at most the specified number of entries are visible (unless # a fully collapsed tree already exceeds this amount). So setting the number of # entries 1 will produce a full collapsed tree by default. 0 is a special value # representing an infinite number of entries and will result in a full expanded # tree by default. # Minimum value: 0, maximum value: 9999, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development # environment (see: # https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To # create a documentation set, doxygen will generate a Makefile in the HTML # output directory. Running make will produce the docset in that directory and # running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at # startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy # genXcode/_index.html for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_DOCSET = NO # This tag determines the name of the docset feed. A documentation feed provides # an umbrella under which multiple documentation sets from a single provider # (such as a company or product suite) can be grouped. # The default value is: Doxygen generated docs. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_FEEDNAME = "Doxygen generated docs" # This tag determines the URL of the docset feed. A documentation feed provides # an umbrella under which multiple documentation sets from a single provider # (such as a company or product suite) can be grouped. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_FEEDURL = # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_BUNDLE_ID = org.doxygen.Project # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style # string, e.g. com.mycompany.MyDocSet.documentation. # The default value is: org.doxygen.Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. # The default value is: Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop # on Windows. In the beginning of 2021 Microsoft took the original page, with # a.o. the download links, offline the HTML help workshop was already many years # in maintenance mode). You can download the HTML help workshop from the web # archives at Installation executable (see: # http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo # ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML # files are now used as the Windows 98 help format, and will replace the old # Windows help format (.hlp) on all Windows platforms in the future. Compressed # HTML files also contain an index, a table of contents, and you can search for # words in the documentation. The HTML workshop also contains a viewer for # compressed HTML files. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_HTMLHELP = NO # The CHM_FILE tag can be used to specify the file name of the resulting .chm # file. You can add a path in front of the file if the result should not be # written to the html output directory. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path # including file name) of the HTML help compiler (hhc.exe). If non-empty, # doxygen will try to run the HTML help compiler on the generated index.hhp. # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated # (YES) or that it should be included in the main .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. GENERATE_CHI = NO # The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_INDEX_ENCODING = # The BINARY_TOC flag controls whether a binary table of contents is generated # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it # enables the Previous and Next buttons. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members to # the table of contents of the HTML help documentation and to the tree view. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. TOC_EXPAND = NO # The SITEMAP_URL tag is used to specify the full URL of the place where the # generated documentation will be placed on the server by the user during the # deployment of the documentation. The generated sitemap is called sitemap.xml # and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL # is specified no sitemap is generated. For information about the sitemap # protocol see https://www.sitemaps.org # This tag requires that the tag GENERATE_HTML is set to YES. SITEMAP_URL = https://code.zeroc.com/ice/3.8/api/cpp/ # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help # (.qch) of the generated HTML documentation. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify # the file name of the resulting .qch file. The path specified is relative to # the HTML output folder. # This tag requires that the tag GENERATE_QHP is set to YES. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace # (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual # Folders (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom # Filters (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom # Filters (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = # The QHG_LOCATION tag can be used to specify the location (absolute path # including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to # run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be # generated, together with the HTML files, they form an Eclipse help plugin. To # install this plugin and make it available under the help contents menu in # Eclipse, the contents of the directory containing the HTML and XML files needs # to be copied into the plugins directory of eclipse. The name of the directory # within the plugins directory should be the same as the ECLIPSE_DOC_ID value. # After copying Eclipse needs to be restarted before the help appears. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_ECLIPSEHELP = NO # A unique identifier for the Eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have this # name. Each documentation set should have its own identifier. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. ECLIPSE_DOC_ID = org.doxygen.Project # If you want full control over the layout of the generated HTML pages it might # be necessary to disable the index and replace it with your own. The # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top # of each HTML page. A value of NO enables the index and the value YES disables # it. Since the tabs in the index contain the same information as the navigation # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. DISABLE_INDEX = YES # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. If the tag # value is set to YES, a side panel will be generated containing a tree-like # index structure (just like the one that is generated for HTML Help). For this # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can # further fine tune the look of the index (see "Fine-tuning the output"). As an # example, the default style sheet generated by doxygen has an example that # shows how to put an image at the root of the tree instead of the PROJECT_NAME. # Since the tree basically has the same information as the tab index, you could # consider setting DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = YES # When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the # FULL_SIDEBAR option determines if the side bar is limited to only the treeview # area (value NO) or if it should extend to the full height of the window (value # YES). Setting this to YES gives a layout similar to # https://docs.readthedocs.io with more room for contents, but less room for the # project logo, title, and description. If either GENERATE_TREEVIEW or # DISABLE_INDEX is set to NO, this option has no effect. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. FULL_SIDEBAR = YES # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # # Note that a value of 0 will completely suppress the enum values from appearing # in the overview section. # Minimum value: 0, maximum value: 20, default value: 4. # This tag requires that the tag GENERATE_HTML is set to YES. ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used # to set the initial width (in pixels) of the frame in which the tree is shown. # Minimum value: 0, maximum value: 1500, default value: 250. # This tag requires that the tag GENERATE_HTML is set to YES. TREEVIEW_WIDTH = 250 # If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to # external symbols imported via tag files in a separate window. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO # If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email # addresses. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. OBFUSCATE_EMAILS = YES # If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg # tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see # https://inkscape.org) to generate formulas as SVG images instead of PNGs for # the HTML output. These images will generally look nicer at scaled resolutions. # Possible values are: png (the default) and svg (looks nicer but requires the # pdf2svg or inkscape tool). # The default value is: png. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FORMULA_FORMAT = png # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful # doxygen run you need to manually remove any form_*.png images from the HTML # output directory to force them to be regenerated. # Minimum value: 8, maximum value: 50, default value: 10. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_FONTSIZE = 10 # The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands # to create new LaTeX commands to be used in formulas as building blocks. See # the section "Including formulas" for details. FORMULA_MACROFILE = # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see # https://www.mathjax.org) which uses client side JavaScript for the rendering # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path # to it using the MATHJAX_RELPATH option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. USE_MATHJAX = NO # With MATHJAX_VERSION it is possible to specify the MathJax version to be used. # Note that the different versions of MathJax have different requirements with # regards to the different settings, so it is possible that also other MathJax # settings have to be changed when switching between the different MathJax # versions. # Possible values are: MathJax_2 and MathJax_3. # The default value is: MathJax_2. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_VERSION = MathJax_2 # When MathJax is enabled you can set the default output format to be used for # the MathJax output. For more details about the output format see MathJax # version 2 (see: # http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 # (see: # http://docs.mathjax.org/en/latest/web/components/output.html). # Possible values are: HTML-CSS (which is slower, but has the best # compatibility. This is the name for Mathjax version 2, for MathJax version 3 # this will be translated into chtml), NativeMML (i.e. MathML. Only supported # for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This # is the name for Mathjax version 3, for MathJax version 2 this will be # translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_FORMAT = HTML-CSS # When MathJax is enabled you need to specify the location relative to the HTML # output directory using the MATHJAX_RELPATH option. The destination directory # should contain the MathJax.js script. For instance, if the mathjax directory # is located at the same level as the HTML output directory, then # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of # MathJax from https://www.mathjax.org before deployment. The default value is: # - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 # - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example # for MathJax version 2 (see # https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols # For example for MathJax version 3 (see # http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): # MATHJAX_EXTENSIONS = ams # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site # (see: # http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_CODEFILE = # When the SEARCHENGINE tag is enabled doxygen will generate a search box for # the HTML output. The underlying search engine uses javascript and DHTML and # should work on any modern browser. Note that when using HTML help # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) # there is already a search function so this one should typically be disabled. # For large projects the javascript based search engine can be slow, then # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to # search using the keyboard; to jump to the search box use + S # (what the is depends on the OS and browser, but it is typically # , /