├── .clang-format ├── .dockerignore ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .githooks └── pre-commit ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature_request.md │ ├── ns-fs-bug.md │ └── question.md ├── stale.yml └── workflows │ ├── Validate-package-lock.yaml │ ├── build-arm64-image.yaml │ ├── build-ppc64le-image.yaml │ ├── ceph-nsfs-s3-tests.yaml │ ├── ceph-s3-tests.yaml │ ├── current-ver-build.yaml │ ├── jest-unit-tests.yaml │ ├── manual-build-rpm.yaml │ ├── manual-full-build.yaml │ ├── manual-rpm-build-and-install-test.yaml │ ├── nc_unit.yml │ ├── next-ver-build.yaml │ ├── nightly-rpm-build-and-install-test.yaml │ ├── nightly-rpm-master-build.yaml │ ├── nightly-tests.yaml │ ├── postgres-unit-tests.yaml │ ├── releaser.yaml │ ├── rpm-build-and-install-test-base.yaml │ ├── rpm-build-and-upload-flow.yaml │ ├── rpm-build-base.yaml │ ├── sanity-ssl.yaml │ ├── sanity.yaml │ ├── stale.yml │ ├── test-aws-sdk-clients.yaml │ ├── unit.yaml │ ├── upload-rpm-to-aws.yaml │ ├── warp-nc-tests.yaml │ ├── warp-tests.yaml │ └── weekly-build.yaml ├── .gitignore ├── .gitmodules ├── .jenkins ├── README.md ├── build-sanity.groovy ├── deploy │ ├── Dockerfile │ ├── Makefile │ ├── README.md │ ├── checkout-repo.sh │ ├── jjb-buildconfig.yaml │ ├── jjb-config.yaml │ ├── jjb-deploy.yaml │ ├── jjb-validate.yaml │ └── jjb.sh ├── get_job_numbers.sh ├── jobs │ ├── build-sanity.yaml │ ├── jjb-deploy.yaml │ ├── jjb-validate.yaml │ └── unit.yaml ├── prepare.sh └── unit.groovy ├── .jsbeautifyrc ├── .npmrc ├── .nvmrc ├── .travis.yml ├── .travis ├── deploy_minikube.sh └── travis_test_job.yaml ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── binding.gyp ├── config.js ├── docs ├── CI & Tests │ └── warp.md ├── NooBaaNonContainerized │ ├── AccountsAndBuckets.md │ ├── CI&Tests.md │ ├── ConfigFileCustomizations.md │ ├── Configuration.md │ ├── Events.md │ ├── GettingStarted.md │ ├── Health.md │ ├── Logging.md │ ├── Monitoring.md │ ├── NooBaaCLI.md │ ├── README.md │ ├── ResourcesLimitations.md │ ├── S3Ops.md │ ├── Troubleshooting.md │ └── Upgrade.md ├── bucket-notifications.md ├── bucket-replication.md ├── bucket-types.md ├── design │ ├── AWS_API_Compatibility.md │ ├── BucketReplication.md │ ├── ChunkedContentDecoder.md │ ├── NSFSGlacierStorageClass.md │ ├── NSFSMetrics.md │ ├── NsfsVersioning.md │ ├── SecretsEncryption.md │ ├── iam.md │ ├── images │ │ ├── IamCreateUserSd.png │ │ ├── NSFS_metrics.png │ │ ├── QuotaClasses.png │ │ ├── QuotaPartialStats.png │ │ ├── QuotaReadBucket.png │ │ ├── QuotaUpdateBucket.png │ │ ├── QuotaUpdateBucketClass.png │ │ ├── QuotaUploadObject.png │ │ ├── bucket_replication.png │ │ ├── master_keys_diagram.png │ │ └── nsfs_versioning_dir_tree.png │ ├── quota.md │ ├── s3select.md │ └── uml │ │ ├── ChunkedContentDecoder_State_Machine.md │ │ ├── IamCreateUserSd.puml │ │ ├── QuotaCd.puml │ │ ├── QuotaPartialStatsSd.puml │ │ ├── QuotaReadBucketSd.puml │ │ ├── QuotaUpdateBacketClassSd.puml │ │ ├── QuotaUpdateBucketSd.puml │ │ └── QuotaUploadObjectSd.puml ├── dev_guide │ ├── ceph_s3_tests │ │ ├── ceph_s3_tests_guide.md │ │ ├── ceph_s3_tests_list_single_test.txt │ │ ├── ceph_s3_tests_pending_list_status.md │ │ └── images │ │ │ ├── tox_test_failed.png │ │ │ ├── tox_test_pass.png │ │ │ └── tox_test_skipped.png │ ├── nc_nsfs_iam_developer_doc.md │ ├── run_coretest_locally.md │ ├── s3select │ │ ├── S3Select_Build.md │ │ └── overview.md │ └── standalone_with_db.md ├── non_containerized_NSFS.md └── s3-compatibility.md ├── images └── noobaa_logo.png ├── mongod.conf ├── package-lock.json ├── package.json ├── platform_restrictions.json ├── s3cmd-local.config ├── src ├── agent │ ├── agent.js │ ├── agent_cli.js │ ├── agent_diagnostics.js │ ├── block_store_services │ │ ├── block_store_azure.js │ │ ├── block_store_base.js │ │ ├── block_store_client.js │ │ ├── block_store_fs.js │ │ ├── block_store_google.js │ │ ├── block_store_mem.js │ │ ├── block_store_mongo.js │ │ └── block_store_s3.js │ ├── block_store_speed.js │ ├── func_services │ │ ├── func_node.js │ │ └── func_proc.js │ ├── system_d.conf │ └── upstart.conf ├── api │ ├── account_api.js │ ├── agent_api.js │ ├── api.js │ ├── auth_api.js │ ├── block_store_api.js │ ├── bucket_api.js │ ├── cluster_internal_api.js │ ├── cluster_server_api.js │ ├── common_api.js │ ├── debug_api.js │ ├── events_api.js │ ├── func_api.js │ ├── func_node_api.js │ ├── host_api.js │ ├── hosted_agents_api.js │ ├── index.js │ ├── node_api.js │ ├── object_api.js │ ├── pool_api.js │ ├── redirector_api.js │ ├── replication_api.js │ ├── scrubber_api.js │ ├── server_inter_process_api.js │ ├── stats_api.js │ ├── system_api.js │ ├── tier_api.js │ └── tiering_policy_api.js ├── cmd │ ├── api.js │ ├── backingstore.js │ ├── deploy_nsfs.sh │ ├── index.js │ ├── manage_nsfs.js │ ├── nscache.js │ └── nsfs.js ├── deploy │ ├── NVA_build │ │ ├── AWSClient.Dockerfile │ │ ├── Base.Dockerfile │ │ ├── NooBaa.Dockerfile │ │ ├── SSLPostgres.Dockerfile │ │ ├── Tests.Dockerfile │ │ ├── builder.Dockerfile │ │ ├── clone_s3select_submodules.sh │ │ ├── clone_submodule.sh │ │ ├── common_funcs.sh │ │ ├── create_vm │ │ ├── dev.Dockerfile │ │ ├── env.orig │ │ ├── fix_centos8_repo.sh │ │ ├── fix_package_json.sh │ │ ├── install_arrow_build.sh │ │ ├── install_arrow_run.sh │ │ ├── install_nodejs.sh │ │ ├── logrotate.sh │ │ ├── mongo_init_rs.js │ │ ├── noobaa-logrotate │ │ ├── noobaa.yaml │ │ ├── noobaa_core.yaml │ │ ├── noobaa_deploy_k8s.sh │ │ ├── noobaa_init.sh │ │ ├── noobaa_log_segregate.sh │ │ ├── noobaa_logs.sh │ │ ├── noobaa_logs_create.sh │ │ ├── noobaa_pool.yaml │ │ ├── noobaa_pool_secret.yaml │ │ ├── noobaa_supervisor.conf │ │ ├── noobaa_syslog.conf │ │ ├── postgres-deploy.yaml │ │ ├── rsyslog.conf │ │ ├── screenrc │ │ ├── set_mongo_repo.sh │ │ ├── setup_platform.sh │ │ ├── ssl_conf.sh │ │ ├── ssl_verifier.sh │ │ ├── standalone_deploy.sh │ │ ├── standalone_deploy_nsfs.sh │ │ ├── supervisorctl.bash_completion │ │ ├── supervisord.orig │ │ └── test.yaml │ ├── RPM_build │ │ ├── RPM.Dockerfile │ │ ├── noobaa.spec │ │ ├── packagerpm.sh │ │ └── preparesrc.sh │ ├── dockers_restart.sh │ ├── ec2_wrapper.js │ ├── init.sh │ ├── init_agent.sh │ ├── kubernetes_functions.js │ ├── noobaa-cli │ ├── noobaa.service │ ├── noobaa_icon24.ico │ ├── nsfs_env.env │ ├── openssl.cnf │ ├── resize_fs_on_sda.sh │ ├── setAzureVariables.js │ ├── spectrum_archive │ │ ├── deployment_guide.md │ │ ├── process_restore_candidates.sh │ │ └── setup_policies.sh │ ├── standalone │ │ ├── executable.Dockerfile │ │ ├── export.Dockerfile │ │ ├── noobaa-logrotate │ │ ├── noobaa_rsyslog.conf │ │ └── noobaa_syslog.conf │ └── supervisord.conf ├── endpoint │ ├── blob │ │ ├── blob_errors.js │ │ ├── blob_rest.js │ │ ├── blob_utils.js │ │ └── ops │ │ │ ├── blob_delete_blob.js │ │ │ ├── blob_delete_container.js │ │ │ ├── blob_get_blob.js │ │ │ ├── blob_get_blob_blocklist.js │ │ │ ├── blob_get_blob_metadata.js │ │ │ ├── blob_get_container.js │ │ │ ├── blob_get_container_acl.js │ │ │ ├── blob_get_container_list.js │ │ │ ├── blob_get_container_metadata.js │ │ │ ├── blob_get_service_list.js │ │ │ ├── blob_get_service_properties.js │ │ │ ├── blob_get_service_stats.js │ │ │ ├── blob_put_blob.js │ │ │ ├── blob_put_blob_block.js │ │ │ ├── blob_put_blob_blocklist.js │ │ │ ├── blob_put_blob_lease.js │ │ │ ├── blob_put_blob_properties.js │ │ │ ├── blob_put_container.js │ │ │ ├── blob_put_container_acl.js │ │ │ ├── blob_put_container_lease.js │ │ │ ├── blob_put_container_metadata.js │ │ │ └── blob_put_service_properties.js │ ├── endpoint.js │ ├── endpoint_utils.js │ ├── iam │ │ ├── iam_constants.js │ │ ├── iam_errors.js │ │ ├── iam_rest.js │ │ ├── iam_utils.js │ │ └── ops │ │ │ ├── iam_create_access_key.js │ │ │ ├── iam_create_user.js │ │ │ ├── iam_delete_access_key.js │ │ │ ├── iam_delete_user.js │ │ │ ├── iam_get_access_key_last_used.js │ │ │ ├── iam_get_user.js │ │ │ ├── iam_list_access_keys.js │ │ │ ├── iam_list_account_aliases.js │ │ │ ├── iam_list_attached_group_policies.js │ │ │ ├── iam_list_attached_role_policies.js │ │ │ ├── iam_list_attached_user_policies.js │ │ │ ├── iam_list_entities_for_policy.js │ │ │ ├── iam_list_group_policies.js │ │ │ ├── iam_list_groups.js │ │ │ ├── iam_list_groups_for_user.js │ │ │ ├── iam_list_instance_profile_tags.js │ │ │ ├── iam_list_instance_profiles.js │ │ │ ├── iam_list_instance_profiles_for_role.js │ │ │ ├── iam_list_mfa_device_tags.js │ │ │ ├── iam_list_mfa_devices.js │ │ │ ├── iam_list_open_id_connect_provider_tags.js │ │ │ ├── iam_list_open_id_connect_providers.js │ │ │ ├── iam_list_policies.js │ │ │ ├── iam_list_policy_tags.js │ │ │ ├── iam_list_policy_versions.js │ │ │ ├── iam_list_role_tags.js │ │ │ ├── iam_list_roles.js │ │ │ ├── iam_list_saml_providers.js │ │ │ ├── iam_list_server_certificate_tags.js │ │ │ ├── iam_list_server_certificates.js │ │ │ ├── iam_list_service_specific_credentials.js │ │ │ ├── iam_list_signing_certificates.js │ │ │ ├── iam_list_ssh_public_keys.js │ │ │ ├── iam_list_user_policies.js │ │ │ ├── iam_list_user_tags.js │ │ │ ├── iam_list_users.js │ │ │ ├── iam_list_virtual_mfa_devices.js │ │ │ ├── iam_update_access_key.js │ │ │ └── iam_update_user.js │ ├── lambda │ │ ├── lambda_errors.js │ │ ├── lambda_rest.js │ │ ├── lambda_utils.js │ │ └── ops │ │ │ ├── lambda_create_func.js │ │ │ ├── lambda_delete_func.js │ │ │ ├── lambda_get_func.js │ │ │ ├── lambda_invoke_func.js │ │ │ └── lambda_list_funcs.js │ ├── s3 │ │ ├── ops │ │ │ ├── index.js │ │ │ ├── s3_delete_bucket.js │ │ │ ├── s3_delete_bucket_analytics.js │ │ │ ├── s3_delete_bucket_cors.js │ │ │ ├── s3_delete_bucket_encryption.js │ │ │ ├── s3_delete_bucket_inventory.js │ │ │ ├── s3_delete_bucket_lifecycle.js │ │ │ ├── s3_delete_bucket_metrics.js │ │ │ ├── s3_delete_bucket_policy.js │ │ │ ├── s3_delete_bucket_public_access_block.js │ │ │ ├── s3_delete_bucket_replication.js │ │ │ ├── s3_delete_bucket_tagging.js │ │ │ ├── s3_delete_bucket_website.js │ │ │ ├── s3_delete_object.js │ │ │ ├── s3_delete_object_tagging.js │ │ │ ├── s3_delete_object_uploadId.js │ │ │ ├── s3_get_bucket.js │ │ │ ├── s3_get_bucket_accelerate.js │ │ │ ├── s3_get_bucket_acl.js │ │ │ ├── s3_get_bucket_analytics.js │ │ │ ├── s3_get_bucket_cors.js │ │ │ ├── s3_get_bucket_encryption.js │ │ │ ├── s3_get_bucket_inventory.js │ │ │ ├── s3_get_bucket_lifecycle.js │ │ │ ├── s3_get_bucket_location.js │ │ │ ├── s3_get_bucket_logging.js │ │ │ ├── s3_get_bucket_metrics.js │ │ │ ├── s3_get_bucket_notification.js │ │ │ ├── s3_get_bucket_object_lock.js │ │ │ ├── s3_get_bucket_policy.js │ │ │ ├── s3_get_bucket_policy_status.js │ │ │ ├── s3_get_bucket_public_access_block.js │ │ │ ├── s3_get_bucket_replication.js │ │ │ ├── s3_get_bucket_request_payment.js │ │ │ ├── s3_get_bucket_tagging.js │ │ │ ├── s3_get_bucket_uploads.js │ │ │ ├── s3_get_bucket_versioning.js │ │ │ ├── s3_get_bucket_versions.js │ │ │ ├── s3_get_bucket_website.js │ │ │ ├── s3_get_object.js │ │ │ ├── s3_get_object_acl.js │ │ │ ├── s3_get_object_attributes.js │ │ │ ├── s3_get_object_legal_hold.js │ │ │ ├── s3_get_object_retention.js │ │ │ ├── s3_get_object_tagging.js │ │ │ ├── s3_get_object_uploadId.js │ │ │ ├── s3_get_service.js │ │ │ ├── s3_head_bucket.js │ │ │ ├── s3_head_object.js │ │ │ ├── s3_post_bucket.js │ │ │ ├── s3_post_bucket_delete.js │ │ │ ├── s3_post_object_restore.js │ │ │ ├── s3_post_object_select.js │ │ │ ├── s3_post_object_uploadId.js │ │ │ ├── s3_post_object_uploads.js │ │ │ ├── s3_put_bucket.js │ │ │ ├── s3_put_bucket_accelerate.js │ │ │ ├── s3_put_bucket_acl.js │ │ │ ├── s3_put_bucket_analytics.js │ │ │ ├── s3_put_bucket_cors.js │ │ │ ├── s3_put_bucket_encryption.js │ │ │ ├── s3_put_bucket_inventory.js │ │ │ ├── s3_put_bucket_lifecycle.js │ │ │ ├── s3_put_bucket_logging.js │ │ │ ├── s3_put_bucket_metrics.js │ │ │ ├── s3_put_bucket_notification.js │ │ │ ├── s3_put_bucket_object_lock.js │ │ │ ├── s3_put_bucket_policy.js │ │ │ ├── s3_put_bucket_public_access_block.js │ │ │ ├── s3_put_bucket_replication.js │ │ │ ├── s3_put_bucket_request_payment.js │ │ │ ├── s3_put_bucket_tagging.js │ │ │ ├── s3_put_bucket_versioning.js │ │ │ ├── s3_put_bucket_website.js │ │ │ ├── s3_put_object.js │ │ │ ├── s3_put_object_acl.js │ │ │ ├── s3_put_object_legal_hold.js │ │ │ ├── s3_put_object_retention.js │ │ │ ├── s3_put_object_tagging.js │ │ │ └── s3_put_object_uploadId.js │ │ ├── s3_bucket_logging.js │ │ ├── s3_bucket_policy_utils.js │ │ ├── s3_constants.js │ │ ├── s3_errors.js │ │ ├── s3_rest.js │ │ └── s3_utils.js │ └── sts │ │ ├── ops │ │ └── sts_post_assume_role.js │ │ ├── sts_errors.js │ │ └── sts_rest.js ├── hosted_agents │ ├── hosted_agents.js │ └── hosted_agents_starter.js ├── lambda_funcs │ ├── copy_between_bucket.js │ ├── create_bucket_func.js │ ├── delete_entire_bucket.js │ ├── read_bucket_func.js │ ├── read_obj_md_func.js │ ├── set_account_ip_access_func.js │ └── tiering_between_buckets.js ├── manage_nsfs │ ├── diagnose.js │ ├── health.js │ ├── manage_nsfs_cli_errors.js │ ├── manage_nsfs_cli_responses.js │ ├── manage_nsfs_cli_utils.js │ ├── manage_nsfs_constants.js │ ├── manage_nsfs_events_utils.js │ ├── manage_nsfs_glacier.js │ ├── manage_nsfs_help_utils.js │ ├── manage_nsfs_logging.js │ ├── manage_nsfs_validations.js │ ├── nc_lifecycle.js │ ├── nc_master_key_manager.js │ ├── nsfs_schema_utils.js │ └── upgrade.js ├── native │ ├── asm.gypi │ ├── aws-cpp-sdk │ │ ├── build.sh │ │ └── s3-demo.cpp │ ├── chunk │ │ ├── coder.cpp │ │ ├── coder.h │ │ ├── coder_napi.cpp │ │ ├── splitter.cpp │ │ ├── splitter.h │ │ └── splitter_napi.cpp │ ├── common.gypi │ ├── fs │ │ ├── fs_napi.cpp │ │ ├── gpfs.h │ │ └── gpfs_fcntl.h │ ├── n2n │ │ ├── ntcp.cpp │ │ ├── ntcp.h │ │ ├── nudp.cpp │ │ └── nudp.h │ ├── nb_native.cpp │ ├── nb_native.gyp │ ├── nb_native_nan.cpp │ ├── s3select │ │ ├── s3select.gyp │ │ └── s3select_napi.cpp │ ├── test │ │ ├── .gitignore │ │ ├── binding.gyp │ │ └── os_test.cpp │ ├── third_party │ │ ├── cm256.gyp │ │ ├── cm256 │ │ │ ├── README.md │ │ │ ├── cm256.cpp │ │ │ ├── cm256.h │ │ │ ├── gf256.cpp │ │ │ ├── gf256.h │ │ │ └── unit_test │ │ │ │ └── main.cpp │ │ ├── common_third_party.gypi │ │ ├── isa-l.gyp │ │ ├── isa-l │ │ │ ├── CONTRIBUTING.md │ │ │ ├── Doxyfile │ │ │ ├── LICENSE │ │ │ ├── Makefile.am │ │ │ ├── Makefile.nmake │ │ │ ├── Makefile.unx │ │ │ ├── README.md │ │ │ ├── Release_notes.txt │ │ │ ├── autogen.sh │ │ │ ├── configure.ac │ │ │ ├── crc │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── crc16_t10dif_copy_pmull.S │ │ │ │ │ ├── crc16_t10dif_pmull.S │ │ │ │ │ ├── crc32_aarch64_common.h │ │ │ │ │ ├── crc32_common_crc_ext_cortex_a72.S │ │ │ │ │ ├── crc32_common_mix_neoverse_n1.S │ │ │ │ │ ├── crc32_gzip_refl_3crc_fold.S │ │ │ │ │ ├── crc32_gzip_refl_crc_ext.S │ │ │ │ │ ├── crc32_gzip_refl_pmull.S │ │ │ │ │ ├── crc32_gzip_refl_pmull.h │ │ │ │ │ ├── crc32_ieee_norm_pmull.S │ │ │ │ │ ├── crc32_ieee_norm_pmull.h │ │ │ │ │ ├── crc32_iscsi_3crc_fold.S │ │ │ │ │ ├── crc32_iscsi_crc_ext.S │ │ │ │ │ ├── crc32_iscsi_refl_pmull.S │ │ │ │ │ ├── crc32_iscsi_refl_pmull.h │ │ │ │ │ ├── crc32_mix_default.S │ │ │ │ │ ├── crc32_mix_default_common.S │ │ │ │ │ ├── crc32_mix_neoverse_n1.S │ │ │ │ │ ├── crc32_norm_common_pmull.h │ │ │ │ │ ├── crc32_refl_common_pmull.h │ │ │ │ │ ├── crc32c_mix_default.S │ │ │ │ │ ├── crc32c_mix_neoverse_n1.S │ │ │ │ │ ├── crc64_ecma_norm_pmull.S │ │ │ │ │ ├── crc64_ecma_norm_pmull.h │ │ │ │ │ ├── crc64_ecma_refl_pmull.S │ │ │ │ │ ├── crc64_ecma_refl_pmull.h │ │ │ │ │ ├── crc64_iso_norm_pmull.S │ │ │ │ │ ├── crc64_iso_norm_pmull.h │ │ │ │ │ ├── crc64_iso_refl_pmull.S │ │ │ │ │ ├── crc64_iso_refl_pmull.h │ │ │ │ │ ├── crc64_jones_norm_pmull.S │ │ │ │ │ ├── crc64_jones_norm_pmull.h │ │ │ │ │ ├── crc64_jones_refl_pmull.S │ │ │ │ │ ├── crc64_jones_refl_pmull.h │ │ │ │ │ ├── crc64_norm_common_pmull.h │ │ │ │ │ ├── crc64_refl_common_pmull.h │ │ │ │ │ ├── crc_aarch64_dispatcher.c │ │ │ │ │ ├── crc_common_pmull.h │ │ │ │ │ └── crc_multibinary_arm.S │ │ │ │ ├── crc16_t10dif_01.asm │ │ │ │ ├── crc16_t10dif_02.asm │ │ │ │ ├── crc16_t10dif_by16_10.asm │ │ │ │ ├── crc16_t10dif_by4.asm │ │ │ │ ├── crc16_t10dif_copy_by4.asm │ │ │ │ ├── crc16_t10dif_copy_by4_02.asm │ │ │ │ ├── crc16_t10dif_copy_perf.c │ │ │ │ ├── crc16_t10dif_copy_test.c │ │ │ │ ├── crc16_t10dif_op_perf.c │ │ │ │ ├── crc16_t10dif_perf.c │ │ │ │ ├── crc16_t10dif_test.c │ │ │ │ ├── crc32_funcs_test.c │ │ │ │ ├── crc32_gzip_refl_by16_10.asm │ │ │ │ ├── crc32_gzip_refl_by8.asm │ │ │ │ ├── crc32_gzip_refl_by8_02.asm │ │ │ │ ├── crc32_gzip_refl_perf.c │ │ │ │ ├── crc32_ieee_01.asm │ │ │ │ ├── crc32_ieee_02.asm │ │ │ │ ├── crc32_ieee_by16_10.asm │ │ │ │ ├── crc32_ieee_by4.asm │ │ │ │ ├── crc32_ieee_perf.c │ │ │ │ ├── crc32_iscsi_00.asm │ │ │ │ ├── crc32_iscsi_01.asm │ │ │ │ ├── crc32_iscsi_by16_10.asm │ │ │ │ ├── crc32_iscsi_perf.c │ │ │ │ ├── crc64_base.c │ │ │ │ ├── crc64_ecma_norm_by16_10.asm │ │ │ │ ├── crc64_ecma_norm_by8.asm │ │ │ │ ├── crc64_ecma_refl_by16_10.asm │ │ │ │ ├── crc64_ecma_refl_by8.asm │ │ │ │ ├── crc64_example.c │ │ │ │ ├── crc64_funcs_perf.c │ │ │ │ ├── crc64_funcs_test.c │ │ │ │ ├── crc64_iso_norm_by16_10.asm │ │ │ │ ├── crc64_iso_norm_by8.asm │ │ │ │ ├── crc64_iso_refl_by16_10.asm │ │ │ │ ├── crc64_iso_refl_by8.asm │ │ │ │ ├── crc64_jones_norm_by16_10.asm │ │ │ │ ├── crc64_jones_norm_by8.asm │ │ │ │ ├── crc64_jones_refl_by16_10.asm │ │ │ │ ├── crc64_jones_refl_by8.asm │ │ │ │ ├── crc64_multibinary.asm │ │ │ │ ├── crc64_ref.h │ │ │ │ ├── crc_base.c │ │ │ │ ├── crc_base_aliases.c │ │ │ │ ├── crc_multibinary.asm │ │ │ │ ├── crc_ref.h │ │ │ │ └── crc_simple_test.c │ │ │ ├── doc │ │ │ │ ├── build.md │ │ │ │ └── test.md │ │ │ ├── erasure_code │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── ec_aarch64_dispatcher.c │ │ │ │ │ ├── ec_aarch64_highlevel_func.c │ │ │ │ │ ├── ec_multibinary_arm.S │ │ │ │ │ ├── gf_2vect_dot_prod_neon.S │ │ │ │ │ ├── gf_2vect_mad_neon.S │ │ │ │ │ ├── gf_3vect_dot_prod_neon.S │ │ │ │ │ ├── gf_3vect_mad_neon.S │ │ │ │ │ ├── gf_4vect_dot_prod_neon.S │ │ │ │ │ ├── gf_4vect_mad_neon.S │ │ │ │ │ ├── gf_5vect_dot_prod_neon.S │ │ │ │ │ ├── gf_5vect_mad_neon.S │ │ │ │ │ ├── gf_6vect_mad_neon.S │ │ │ │ │ ├── gf_vect_dot_prod_neon.S │ │ │ │ │ ├── gf_vect_mad_neon.S │ │ │ │ │ └── gf_vect_mul_neon.S │ │ │ │ ├── ec_base.c │ │ │ │ ├── ec_base.h │ │ │ │ ├── ec_base_aliases.c │ │ │ │ ├── ec_highlevel_func.c │ │ │ │ ├── ec_multibinary.asm │ │ │ │ ├── erasure_code_base_perf.c │ │ │ │ ├── erasure_code_base_test.c │ │ │ │ ├── erasure_code_perf.c │ │ │ │ ├── erasure_code_test.c │ │ │ │ ├── erasure_code_update_perf.c │ │ │ │ ├── erasure_code_update_test.c │ │ │ │ ├── gen_rs_matrix_limits.c │ │ │ │ ├── gf_2vect_dot_prod_avx.asm │ │ │ │ ├── gf_2vect_dot_prod_avx2.asm │ │ │ │ ├── gf_2vect_dot_prod_avx512.asm │ │ │ │ ├── gf_2vect_dot_prod_sse.asm │ │ │ │ ├── gf_2vect_mad_avx.asm │ │ │ │ ├── gf_2vect_mad_avx2.asm │ │ │ │ ├── gf_2vect_mad_avx512.asm │ │ │ │ ├── gf_2vect_mad_sse.asm │ │ │ │ ├── gf_3vect_dot_prod_avx.asm │ │ │ │ ├── gf_3vect_dot_prod_avx2.asm │ │ │ │ ├── gf_3vect_dot_prod_avx512.asm │ │ │ │ ├── gf_3vect_dot_prod_sse.asm │ │ │ │ ├── gf_3vect_mad_avx.asm │ │ │ │ ├── gf_3vect_mad_avx2.asm │ │ │ │ ├── gf_3vect_mad_avx512.asm │ │ │ │ ├── gf_3vect_mad_sse.asm │ │ │ │ ├── gf_4vect_dot_prod_avx.asm │ │ │ │ ├── gf_4vect_dot_prod_avx2.asm │ │ │ │ ├── gf_4vect_dot_prod_avx512.asm │ │ │ │ ├── gf_4vect_dot_prod_sse.asm │ │ │ │ ├── gf_4vect_mad_avx.asm │ │ │ │ ├── gf_4vect_mad_avx2.asm │ │ │ │ ├── gf_4vect_mad_avx512.asm │ │ │ │ ├── gf_4vect_mad_sse.asm │ │ │ │ ├── gf_5vect_dot_prod_avx.asm │ │ │ │ ├── gf_5vect_dot_prod_avx2.asm │ │ │ │ ├── gf_5vect_dot_prod_avx512.asm │ │ │ │ ├── gf_5vect_dot_prod_sse.asm │ │ │ │ ├── gf_5vect_mad_avx.asm │ │ │ │ ├── gf_5vect_mad_avx2.asm │ │ │ │ ├── gf_5vect_mad_avx512.asm │ │ │ │ ├── gf_5vect_mad_sse.asm │ │ │ │ ├── gf_6vect_dot_prod_avx.asm │ │ │ │ ├── gf_6vect_dot_prod_avx2.asm │ │ │ │ ├── gf_6vect_dot_prod_avx512.asm │ │ │ │ ├── gf_6vect_dot_prod_sse.asm │ │ │ │ ├── gf_6vect_mad_avx.asm │ │ │ │ ├── gf_6vect_mad_avx2.asm │ │ │ │ ├── gf_6vect_mad_avx512.asm │ │ │ │ ├── gf_6vect_mad_sse.asm │ │ │ │ ├── gf_inverse_test.c │ │ │ │ ├── gf_vect_dot_prod_1tbl.c │ │ │ │ ├── gf_vect_dot_prod_avx.asm │ │ │ │ ├── gf_vect_dot_prod_avx2.asm │ │ │ │ ├── gf_vect_dot_prod_avx512.asm │ │ │ │ ├── gf_vect_dot_prod_base_test.c │ │ │ │ ├── gf_vect_dot_prod_perf.c │ │ │ │ ├── gf_vect_dot_prod_sse.asm │ │ │ │ ├── gf_vect_dot_prod_test.c │ │ │ │ ├── gf_vect_mad_avx.asm │ │ │ │ ├── gf_vect_mad_avx2.asm │ │ │ │ ├── gf_vect_mad_avx512.asm │ │ │ │ ├── gf_vect_mad_sse.asm │ │ │ │ ├── gf_vect_mad_test.c │ │ │ │ ├── gf_vect_mul_avx.asm │ │ │ │ ├── gf_vect_mul_base_test.c │ │ │ │ ├── gf_vect_mul_perf.c │ │ │ │ ├── gf_vect_mul_sse.asm │ │ │ │ ├── gf_vect_mul_test.c │ │ │ │ └── ppc64le │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── ec_base_vsx.c │ │ │ │ │ ├── ec_base_vsx.h │ │ │ │ │ ├── gf_2vect_dot_prod_vsx.c │ │ │ │ │ ├── gf_2vect_mad_vsx.c │ │ │ │ │ ├── gf_3vect_dot_prod_vsx.c │ │ │ │ │ ├── gf_3vect_mad_vsx.c │ │ │ │ │ ├── gf_4vect_dot_prod_vsx.c │ │ │ │ │ ├── gf_4vect_mad_vsx.c │ │ │ │ │ ├── gf_5vect_dot_prod_vsx.c │ │ │ │ │ ├── gf_5vect_mad_vsx.c │ │ │ │ │ ├── gf_6vect_dot_prod_vsx.c │ │ │ │ │ ├── gf_6vect_mad_vsx.c │ │ │ │ │ ├── gf_vect_dot_prod_vsx.c │ │ │ │ │ ├── gf_vect_mad_vsx.c │ │ │ │ │ └── gf_vect_mul_vsx.c │ │ │ ├── examples │ │ │ │ └── ec │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── Makefile.unx │ │ │ │ │ ├── ec_piggyback_example.c │ │ │ │ │ └── ec_simple_example.c │ │ │ ├── igzip │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── bitbuf2_aarch64.h │ │ │ │ │ ├── data_struct_aarch64.h │ │ │ │ │ ├── encode_df.S │ │ │ │ │ ├── gen_icf_map.S │ │ │ │ │ ├── huffman_aarch64.h │ │ │ │ │ ├── igzip_decode_huffman_code_block_aarch64.S │ │ │ │ │ ├── igzip_deflate_body_aarch64.S │ │ │ │ │ ├── igzip_deflate_finish_aarch64.S │ │ │ │ │ ├── igzip_deflate_hash_aarch64.S │ │ │ │ │ ├── igzip_inflate_multibinary_arm64.S │ │ │ │ │ ├── igzip_isal_adler32_neon.S │ │ │ │ │ ├── igzip_multibinary_aarch64_dispatcher.c │ │ │ │ │ ├── igzip_multibinary_arm64.S │ │ │ │ │ ├── igzip_set_long_icf_fg.S │ │ │ │ │ ├── isal_deflate_icf_body_hash_hist.S │ │ │ │ │ ├── isal_deflate_icf_finish_hash_hist.S │ │ │ │ │ ├── isal_update_histogram.S │ │ │ │ │ ├── lz0a_const_aarch64.h │ │ │ │ │ ├── options_aarch64.h │ │ │ │ │ └── stdmac_aarch64.h │ │ │ │ ├── adler32_avx2_4.asm │ │ │ │ ├── adler32_base.c │ │ │ │ ├── adler32_perf.c │ │ │ │ ├── adler32_sse.asm │ │ │ │ ├── bitbuf2.asm │ │ │ │ ├── bitbuf2.h │ │ │ │ ├── checksum32_funcs_test.c │ │ │ │ ├── checksum_test_ref.h │ │ │ │ ├── data_struct2.asm │ │ │ │ ├── encode_df.c │ │ │ │ ├── encode_df.h │ │ │ │ ├── encode_df_04.asm │ │ │ │ ├── encode_df_06.asm │ │ │ │ ├── flatten_ll.c │ │ │ │ ├── flatten_ll.h │ │ │ │ ├── generate_custom_hufftables.c │ │ │ │ ├── generate_static_inflate.c │ │ │ │ ├── heap_macros.asm │ │ │ │ ├── huff_codes.c │ │ │ │ ├── huff_codes.h │ │ │ │ ├── huffman.asm │ │ │ │ ├── huffman.h │ │ │ │ ├── hufftables_c.c │ │ │ │ ├── igzip.c │ │ │ │ ├── igzip_base.c │ │ │ │ ├── igzip_base_aliases.c │ │ │ │ ├── igzip_body.asm │ │ │ │ ├── igzip_build_hash_table_perf.c │ │ │ │ ├── igzip_checksums.h │ │ │ │ ├── igzip_compare_types.asm │ │ │ │ ├── igzip_decode_block_stateless.asm │ │ │ │ ├── igzip_decode_block_stateless_01.asm │ │ │ │ ├── igzip_decode_block_stateless_04.asm │ │ │ │ ├── igzip_deflate_hash.asm │ │ │ │ ├── igzip_example.c │ │ │ │ ├── igzip_file_perf.c │ │ │ │ ├── igzip_finish.asm │ │ │ │ ├── igzip_gen_icf_map_lh1_04.asm │ │ │ │ ├── igzip_gen_icf_map_lh1_06.asm │ │ │ │ ├── igzip_hist_perf.c │ │ │ │ ├── igzip_icf_base.c │ │ │ │ ├── igzip_icf_body.c │ │ │ │ ├── igzip_icf_body_h1_gr_bt.asm │ │ │ │ ├── igzip_icf_finish.asm │ │ │ │ ├── igzip_inflate.c │ │ │ │ ├── igzip_inflate_multibinary.asm │ │ │ │ ├── igzip_inflate_test.c │ │ │ │ ├── igzip_level_buf_structs.h │ │ │ │ ├── igzip_multibinary.asm │ │ │ │ ├── igzip_perf.c │ │ │ │ ├── igzip_rand_test.c │ │ │ │ ├── igzip_semi_dyn_file_perf.c │ │ │ │ ├── igzip_set_long_icf_fg_04.asm │ │ │ │ ├── igzip_set_long_icf_fg_06.asm │ │ │ │ ├── igzip_sync_flush_example.c │ │ │ │ ├── igzip_update_histogram.asm │ │ │ │ ├── igzip_update_histogram_01.asm │ │ │ │ ├── igzip_update_histogram_04.asm │ │ │ │ ├── igzip_wrapper.h │ │ │ │ ├── igzip_wrapper_hdr_test.c │ │ │ │ ├── inflate_data_structs.asm │ │ │ │ ├── inflate_std_vects.h │ │ │ │ ├── lz0a_const.asm │ │ │ │ ├── options.asm │ │ │ │ ├── proc_heap.asm │ │ │ │ ├── proc_heap_base.c │ │ │ │ ├── repeated_char_result.h │ │ │ │ ├── rfc1951_lookup.asm │ │ │ │ ├── static_inflate.h │ │ │ │ └── stdmac.asm │ │ │ ├── include │ │ │ │ ├── aarch64_multibinary.h │ │ │ │ ├── crc.h │ │ │ │ ├── crc64.h │ │ │ │ ├── erasure_code.h │ │ │ │ ├── gf_vect_mul.h │ │ │ │ ├── igzip_lib.h │ │ │ │ ├── mem_routines.h │ │ │ │ ├── multibinary.asm │ │ │ │ ├── raid.h │ │ │ │ ├── reg_sizes.asm │ │ │ │ ├── test.h │ │ │ │ ├── types.h │ │ │ │ └── unaligned.h │ │ │ ├── isa-l.def │ │ │ ├── libisal.pc.in │ │ │ ├── make.inc │ │ │ ├── mem │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── mem_aarch64_dispatcher.c │ │ │ │ │ ├── mem_multibinary_arm.S │ │ │ │ │ └── mem_zero_detect_neon.S │ │ │ │ ├── mem_multibinary.asm │ │ │ │ ├── mem_zero_detect_avx.asm │ │ │ │ ├── mem_zero_detect_base.c │ │ │ │ ├── mem_zero_detect_base_aliases.c │ │ │ │ ├── mem_zero_detect_perf.c │ │ │ │ ├── mem_zero_detect_sse.asm │ │ │ │ └── mem_zero_detect_test.c │ │ │ ├── programs │ │ │ │ ├── Makefile.am │ │ │ │ ├── igzip.1 │ │ │ │ ├── igzip.1.h2m │ │ │ │ ├── igzip_cli.c │ │ │ │ └── igzip_cli_check.sh │ │ │ ├── raid │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── pq_check_neon.S │ │ │ │ │ ├── pq_gen_neon.S │ │ │ │ │ ├── raid_aarch64_dispatcher.c │ │ │ │ │ ├── raid_multibinary_arm.S │ │ │ │ │ ├── xor_check_neon.S │ │ │ │ │ └── xor_gen_neon.S │ │ │ │ ├── pq_check_sse.asm │ │ │ │ ├── pq_check_sse_i32.asm │ │ │ │ ├── pq_check_test.c │ │ │ │ ├── pq_gen_avx.asm │ │ │ │ ├── pq_gen_avx2.asm │ │ │ │ ├── pq_gen_avx512.asm │ │ │ │ ├── pq_gen_perf.c │ │ │ │ ├── pq_gen_sse.asm │ │ │ │ ├── pq_gen_sse_i32.asm │ │ │ │ ├── pq_gen_test.c │ │ │ │ ├── raid_base.c │ │ │ │ ├── raid_base_aliases.c │ │ │ │ ├── raid_multibinary.asm │ │ │ │ ├── raid_multibinary_i32.asm │ │ │ │ ├── xor_check_sse.asm │ │ │ │ ├── xor_check_test.c │ │ │ │ ├── xor_example.c │ │ │ │ ├── xor_gen_avx.asm │ │ │ │ ├── xor_gen_avx512.asm │ │ │ │ ├── xor_gen_perf.c │ │ │ │ ├── xor_gen_sse.asm │ │ │ │ └── xor_gen_test.c │ │ │ ├── tests │ │ │ │ └── fuzz │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── Makefile.unx │ │ │ │ │ ├── igzip_checked_inflate_fuzz_test.c │ │ │ │ │ ├── igzip_dump_inflate_corpus.c │ │ │ │ │ ├── igzip_fuzz_inflate.c │ │ │ │ │ ├── igzip_simple_inflate_fuzz_test.c │ │ │ │ │ └── igzip_simple_round_trip_fuzz_test.c │ │ │ └── tools │ │ │ │ ├── check_format.sh │ │ │ │ ├── gen_nmake.mk │ │ │ │ ├── iindent │ │ │ │ ├── nasm-cet-filter.sh │ │ │ │ ├── nasm-filter.sh │ │ │ │ ├── remove_trailing_whitespace.sh │ │ │ │ ├── test_autorun.sh │ │ │ │ ├── test_checks.sh │ │ │ │ ├── test_extended.sh │ │ │ │ ├── test_fuzz.sh │ │ │ │ ├── test_tools.sh │ │ │ │ ├── yasm-cet-filter.sh │ │ │ │ └── yasm-filter.sh │ │ ├── isa-l_crypto │ │ │ ├── CONTRIBUTING.md │ │ │ ├── Doxyfile │ │ │ ├── LICENSE │ │ │ ├── Makefile.am │ │ │ ├── Makefile.nmake │ │ │ ├── Makefile.unx │ │ │ ├── README.md │ │ │ ├── Release_notes.txt │ │ │ ├── SECURITY.md │ │ │ ├── aes │ │ │ │ ├── Makefile.am │ │ │ │ ├── XTS_AES_128_dec_avx.asm │ │ │ │ ├── XTS_AES_128_dec_expanded_key_avx.asm │ │ │ │ ├── XTS_AES_128_dec_expanded_key_sse.asm │ │ │ │ ├── XTS_AES_128_dec_expanded_key_vaes.asm │ │ │ │ ├── XTS_AES_128_dec_sse.asm │ │ │ │ ├── XTS_AES_128_dec_vaes.asm │ │ │ │ ├── XTS_AES_128_enc_avx.asm │ │ │ │ ├── XTS_AES_128_enc_expanded_key_avx.asm │ │ │ │ ├── XTS_AES_128_enc_expanded_key_sse.asm │ │ │ │ ├── XTS_AES_128_enc_expanded_key_vaes.asm │ │ │ │ ├── XTS_AES_128_enc_sse.asm │ │ │ │ ├── XTS_AES_128_enc_vaes.asm │ │ │ │ ├── XTS_AES_256_dec_avx.asm │ │ │ │ ├── XTS_AES_256_dec_expanded_key_avx.asm │ │ │ │ ├── XTS_AES_256_dec_expanded_key_sse.asm │ │ │ │ ├── XTS_AES_256_dec_expanded_key_vaes.asm │ │ │ │ ├── XTS_AES_256_dec_sse.asm │ │ │ │ ├── XTS_AES_256_dec_vaes.asm │ │ │ │ ├── XTS_AES_256_enc_avx.asm │ │ │ │ ├── XTS_AES_256_enc_expanded_key_avx.asm │ │ │ │ ├── XTS_AES_256_enc_expanded_key_sse.asm │ │ │ │ ├── XTS_AES_256_enc_expanded_key_vaes.asm │ │ │ │ ├── XTS_AES_256_enc_sse.asm │ │ │ │ ├── XTS_AES_256_enc_vaes.asm │ │ │ │ ├── aarch64 │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── aes_gcm_aes_finalize_128.S │ │ │ │ │ ├── aes_gcm_aes_finalize_256.S │ │ │ │ │ ├── aes_gcm_aes_init.S │ │ │ │ │ ├── aes_gcm_consts.S │ │ │ │ │ ├── aes_gcm_enc_dec_128.S │ │ │ │ │ ├── aes_gcm_enc_dec_256.S │ │ │ │ │ ├── aes_gcm_precomp_128.S │ │ │ │ │ ├── aes_gcm_precomp_256.S │ │ │ │ │ ├── aes_gcm_update_128.S │ │ │ │ │ ├── aes_gcm_update_256.S │ │ │ │ │ ├── cbc_aarch64_dispatcher.c │ │ │ │ │ ├── cbc_common.S │ │ │ │ │ ├── cbc_dec_aes.S │ │ │ │ │ ├── cbc_enc_aes.S │ │ │ │ │ ├── cbc_multibinary_aarch64.S │ │ │ │ │ ├── gcm_aarch64_dispatcher.c │ │ │ │ │ ├── gcm_common.S │ │ │ │ │ ├── gcm_common_128.S │ │ │ │ │ ├── gcm_common_256.S │ │ │ │ │ ├── gcm_enc_dec.S │ │ │ │ │ ├── gcm_multibinary_aarch64.S │ │ │ │ │ ├── gcm_precomp.S │ │ │ │ │ ├── gcm_update.S │ │ │ │ │ ├── keyexp_128_aarch64_aes.S │ │ │ │ │ ├── keyexp_192_aarch64_aes.S │ │ │ │ │ ├── keyexp_256_aarch64_aes.S │ │ │ │ │ ├── keyexp_aarch64_dispatcher.c │ │ │ │ │ ├── keyexp_multibinary_aarch64.S │ │ │ │ │ ├── xts_aarch64_dispatcher.c │ │ │ │ │ ├── xts_aes_128_common.S │ │ │ │ │ ├── xts_aes_128_dec.S │ │ │ │ │ ├── xts_aes_128_enc.S │ │ │ │ │ ├── xts_aes_256_common.S │ │ │ │ │ ├── xts_aes_256_dec.S │ │ │ │ │ ├── xts_aes_256_enc.S │ │ │ │ │ ├── xts_aes_common.S │ │ │ │ │ ├── xts_keyexp_aes_128_dec.S │ │ │ │ │ ├── xts_keyexp_aes_128_enc.S │ │ │ │ │ ├── xts_keyexp_aes_256_dec.S │ │ │ │ │ ├── xts_keyexp_aes_256_enc.S │ │ │ │ │ └── xts_multibinary_aarch64.S │ │ │ │ ├── aes_common.asm │ │ │ │ ├── cbc_common.asm │ │ │ │ ├── cbc_dec_128_x4_sse.asm │ │ │ │ ├── cbc_dec_128_x8_avx.asm │ │ │ │ ├── cbc_dec_192_x4_sse.asm │ │ │ │ ├── cbc_dec_192_x8_avx.asm │ │ │ │ ├── cbc_dec_256_x4_sse.asm │ │ │ │ ├── cbc_dec_256_x8_avx.asm │ │ │ │ ├── cbc_dec_vaes_avx512.asm │ │ │ │ ├── cbc_enc_128_x4_sb.asm │ │ │ │ ├── cbc_enc_128_x8_sb.asm │ │ │ │ ├── cbc_enc_192_x4_sb.asm │ │ │ │ ├── cbc_enc_192_x8_sb.asm │ │ │ │ ├── cbc_enc_256_x4_sb.asm │ │ │ │ ├── cbc_enc_256_x8_sb.asm │ │ │ │ ├── cbc_multibinary.asm │ │ │ │ ├── cbc_ossl_perf.c │ │ │ │ ├── cbc_pre.c │ │ │ │ ├── cbc_std_vectors.h │ │ │ │ ├── cbc_std_vectors_random_test.c │ │ │ │ ├── cbc_std_vectors_test.c │ │ │ │ ├── clear_regs.asm │ │ │ │ ├── gcm128_avx_gen2.asm │ │ │ │ ├── gcm128_avx_gen2_nt.asm │ │ │ │ ├── gcm128_avx_gen4.asm │ │ │ │ ├── gcm128_avx_gen4_nt.asm │ │ │ │ ├── gcm128_sse.asm │ │ │ │ ├── gcm128_sse_nt.asm │ │ │ │ ├── gcm128_vaes_avx512.asm │ │ │ │ ├── gcm128_vaes_avx512_nt.asm │ │ │ │ ├── gcm256_avx_gen2.asm │ │ │ │ ├── gcm256_avx_gen2_nt.asm │ │ │ │ ├── gcm256_avx_gen4.asm │ │ │ │ ├── gcm256_avx_gen4_nt.asm │ │ │ │ ├── gcm256_sse.asm │ │ │ │ ├── gcm256_sse_nt.asm │ │ │ │ ├── gcm256_vaes_avx512.asm │ │ │ │ ├── gcm256_vaes_avx512_nt.asm │ │ │ │ ├── gcm_avx_gen2.asm │ │ │ │ ├── gcm_avx_gen4.asm │ │ │ │ ├── gcm_defines.asm │ │ │ │ ├── gcm_keys_vaes_avx512.asm │ │ │ │ ├── gcm_multibinary.asm │ │ │ │ ├── gcm_multibinary_nt.asm │ │ │ │ ├── gcm_nt_rand_test.c │ │ │ │ ├── gcm_nt_std_vectors_test.c │ │ │ │ ├── gcm_ossl_perf.c │ │ │ │ ├── gcm_pre.c │ │ │ │ ├── gcm_simple_example.c │ │ │ │ ├── gcm_sse.asm │ │ │ │ ├── gcm_std_vectors_random_test.c │ │ │ │ ├── gcm_std_vectors_test.c │ │ │ │ ├── gcm_vaes_avx512.asm │ │ │ │ ├── gcm_vectors.h │ │ │ │ ├── keyexp_128.asm │ │ │ │ ├── keyexp_192.asm │ │ │ │ ├── keyexp_256.asm │ │ │ │ ├── keyexp_multibinary.asm │ │ │ │ ├── ossl_helper.h │ │ │ │ ├── xts_128_dec_ossl_perf.c │ │ │ │ ├── xts_128_dec_perf.c │ │ │ │ ├── xts_128_enc_ossl_perf.c │ │ │ │ ├── xts_128_enc_perf.c │ │ │ │ ├── xts_128_expanded_key_test.c │ │ │ │ ├── xts_128_rand.c │ │ │ │ ├── xts_128_rand_ossl_test.c │ │ │ │ ├── xts_128_test.c │ │ │ │ ├── xts_128_vect.h │ │ │ │ ├── xts_256_dec_ossl_perf.c │ │ │ │ ├── xts_256_dec_perf.c │ │ │ │ ├── xts_256_enc_ossl_perf.c │ │ │ │ ├── xts_256_enc_perf.c │ │ │ │ ├── xts_256_expanded_key_test.c │ │ │ │ ├── xts_256_rand.c │ │ │ │ ├── xts_256_rand_ossl_test.c │ │ │ │ ├── xts_256_test.c │ │ │ │ ├── xts_256_vect.h │ │ │ │ ├── xts_aes_128_multibinary.asm │ │ │ │ └── xts_aes_256_multibinary.asm │ │ │ ├── autogen.sh │ │ │ ├── configure.ac │ │ │ ├── examples │ │ │ │ └── saturation_test │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── aes_thread.c │ │ │ │ │ ├── isal_multithread_perf.c │ │ │ │ │ ├── isal_multithread_perf.h │ │ │ │ │ ├── md5_thread.c │ │ │ │ │ ├── sha1_thread.c │ │ │ │ │ ├── sha256_thread.c │ │ │ │ │ └── sha512_thread.c │ │ │ ├── include │ │ │ │ ├── aarch64_multibinary.h │ │ │ │ ├── aes_cbc.h │ │ │ │ ├── aes_gcm.h │ │ │ │ ├── aes_keyexp.h │ │ │ │ ├── aes_xts.h │ │ │ │ ├── datastruct.asm │ │ │ │ ├── endian_helper.h │ │ │ │ ├── intrinreg.h │ │ │ │ ├── md5_mb.h │ │ │ │ ├── memcpy.asm │ │ │ │ ├── memcpy_inline.h │ │ │ │ ├── mh_sha1.h │ │ │ │ ├── mh_sha1_murmur3_x64_128.h │ │ │ │ ├── mh_sha256.h │ │ │ │ ├── multi_buffer.h │ │ │ │ ├── multibinary.asm │ │ │ │ ├── reg_sizes.asm │ │ │ │ ├── rolling_hashx.h │ │ │ │ ├── sha1_mb.h │ │ │ │ ├── sha256_mb.h │ │ │ │ ├── sha512_mb.h │ │ │ │ ├── sm3_mb.h │ │ │ │ ├── test.h │ │ │ │ └── types.h │ │ │ ├── isa-l_crypto.def │ │ │ ├── libisal_crypto.pc.in │ │ │ ├── make.inc │ │ │ ├── md5_mb │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── md5_ctx_aarch64_asimd.c │ │ │ │ │ ├── md5_ctx_aarch64_sve.c │ │ │ │ │ ├── md5_ctx_aarch64_sve2.c │ │ │ │ │ ├── md5_mb_aarch64_dispatcher.c │ │ │ │ │ ├── md5_mb_asimd_x1.S │ │ │ │ │ ├── md5_mb_asimd_x4.S │ │ │ │ │ ├── md5_mb_mgr_aarch64_asimd.c │ │ │ │ │ ├── md5_mb_mgr_aarch64_sve.c │ │ │ │ │ ├── md5_mb_mgr_aarch64_sve2.c │ │ │ │ │ ├── md5_mb_multibinary.S │ │ │ │ │ ├── md5_mb_sve.S │ │ │ │ │ └── md5_sve_common.S │ │ │ │ ├── md5_ctx_avx.c │ │ │ │ ├── md5_ctx_avx2.c │ │ │ │ ├── md5_ctx_avx512.c │ │ │ │ ├── md5_ctx_base.c │ │ │ │ ├── md5_ctx_base_aliases.c │ │ │ │ ├── md5_ctx_sse.c │ │ │ │ ├── md5_job.asm │ │ │ │ ├── md5_mb_mgr_datastruct.asm │ │ │ │ ├── md5_mb_mgr_flush_avx.asm │ │ │ │ ├── md5_mb_mgr_flush_avx2.asm │ │ │ │ ├── md5_mb_mgr_flush_avx512.asm │ │ │ │ ├── md5_mb_mgr_flush_sse.asm │ │ │ │ ├── md5_mb_mgr_init_avx2.c │ │ │ │ ├── md5_mb_mgr_init_avx512.c │ │ │ │ ├── md5_mb_mgr_init_sse.c │ │ │ │ ├── md5_mb_mgr_submit_avx.asm │ │ │ │ ├── md5_mb_mgr_submit_avx2.asm │ │ │ │ ├── md5_mb_mgr_submit_avx512.asm │ │ │ │ ├── md5_mb_mgr_submit_sse.asm │ │ │ │ ├── md5_mb_rand_ssl_test.c │ │ │ │ ├── md5_mb_rand_test.c │ │ │ │ ├── md5_mb_rand_update_test.c │ │ │ │ ├── md5_mb_test.c │ │ │ │ ├── md5_mb_vs_ossl_perf.c │ │ │ │ ├── md5_mb_x16x2_avx512.asm │ │ │ │ ├── md5_mb_x4x2_avx.asm │ │ │ │ ├── md5_mb_x4x2_sse.asm │ │ │ │ ├── md5_mb_x8x2_avx2.asm │ │ │ │ ├── md5_multibinary.asm │ │ │ │ └── md5_ref.c │ │ │ ├── mh_sha1 │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── mh_sha1_aarch64_dispatcher.c │ │ │ │ │ ├── mh_sha1_asimd.c │ │ │ │ │ ├── mh_sha1_block_asimd.S │ │ │ │ │ ├── mh_sha1_block_ce.S │ │ │ │ │ ├── mh_sha1_ce.c │ │ │ │ │ ├── mh_sha1_multibinary.S │ │ │ │ │ └── sha1_asimd_common.S │ │ │ │ ├── mh_sha1.c │ │ │ │ ├── mh_sha1_avx512.c │ │ │ │ ├── mh_sha1_base_aliases.c │ │ │ │ ├── mh_sha1_block_avx.asm │ │ │ │ ├── mh_sha1_block_avx2.asm │ │ │ │ ├── mh_sha1_block_avx512.asm │ │ │ │ ├── mh_sha1_block_base.c │ │ │ │ ├── mh_sha1_block_sse.asm │ │ │ │ ├── mh_sha1_finalize_base.c │ │ │ │ ├── mh_sha1_internal.h │ │ │ │ ├── mh_sha1_multibinary.asm │ │ │ │ ├── mh_sha1_perf.c │ │ │ │ ├── mh_sha1_ref.c │ │ │ │ ├── mh_sha1_test.c │ │ │ │ ├── mh_sha1_update_base.c │ │ │ │ ├── mh_sha1_update_test.c │ │ │ │ └── sha1_for_mh_sha1.c │ │ │ ├── mh_sha1_murmur3_x64_128 │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── mh_sha1_murmur3_aarch64_dispatcher.c │ │ │ │ │ ├── mh_sha1_murmur3_aarch64_internal.h │ │ │ │ │ ├── mh_sha1_murmur3_asimd.c │ │ │ │ │ ├── mh_sha1_murmur3_block_asimd.S │ │ │ │ │ ├── mh_sha1_murmur3_block_ce.S │ │ │ │ │ ├── mh_sha1_murmur3_ce.c │ │ │ │ │ ├── mh_sha1_murmur3_multibinary.S │ │ │ │ │ └── sha1_asimd_common.S │ │ │ │ ├── mh_sha1_murmur3_x64_128.c │ │ │ │ ├── mh_sha1_murmur3_x64_128_avx512.c │ │ │ │ ├── mh_sha1_murmur3_x64_128_base_aliases.c │ │ │ │ ├── mh_sha1_murmur3_x64_128_block_avx.asm │ │ │ │ ├── mh_sha1_murmur3_x64_128_block_avx2.asm │ │ │ │ ├── mh_sha1_murmur3_x64_128_block_avx512.asm │ │ │ │ ├── mh_sha1_murmur3_x64_128_block_sse.asm │ │ │ │ ├── mh_sha1_murmur3_x64_128_finalize_base.c │ │ │ │ ├── mh_sha1_murmur3_x64_128_internal.h │ │ │ │ ├── mh_sha1_murmur3_x64_128_multibinary.asm │ │ │ │ ├── mh_sha1_murmur3_x64_128_perf.c │ │ │ │ ├── mh_sha1_murmur3_x64_128_test.c │ │ │ │ ├── mh_sha1_murmur3_x64_128_update_base.c │ │ │ │ ├── mh_sha1_murmur3_x64_128_update_test.c │ │ │ │ ├── murmur3_x64_128.c │ │ │ │ └── murmur3_x64_128_internal.c │ │ │ ├── mh_sha256 │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── mh_sha256_aarch64_dispatcher.c │ │ │ │ │ ├── mh_sha256_block_ce.S │ │ │ │ │ ├── mh_sha256_ce.c │ │ │ │ │ └── mh_sha256_multibinary.S │ │ │ │ ├── mh_sha256.c │ │ │ │ ├── mh_sha256_avx512.c │ │ │ │ ├── mh_sha256_base_aliases.c │ │ │ │ ├── mh_sha256_block_avx.asm │ │ │ │ ├── mh_sha256_block_avx2.asm │ │ │ │ ├── mh_sha256_block_avx512.asm │ │ │ │ ├── mh_sha256_block_base.c │ │ │ │ ├── mh_sha256_block_sse.asm │ │ │ │ ├── mh_sha256_finalize_base.c │ │ │ │ ├── mh_sha256_internal.h │ │ │ │ ├── mh_sha256_multibinary.asm │ │ │ │ ├── mh_sha256_perf.c │ │ │ │ ├── mh_sha256_ref.c │ │ │ │ ├── mh_sha256_test.c │ │ │ │ ├── mh_sha256_update_base.c │ │ │ │ ├── mh_sha256_update_test.c │ │ │ │ └── sha256_for_mh_sha256.c │ │ │ ├── rolling_hash │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── rolling_hash2_aarch64_dispatcher.c │ │ │ │ │ ├── rolling_hash2_aarch64_multibinary.S │ │ │ │ │ └── rolling_hash2_run_until_unroll.S │ │ │ │ ├── chunking_with_mb_hash.c │ │ │ │ ├── rolling_hash2.c │ │ │ │ ├── rolling_hash2_base_aliases.c │ │ │ │ ├── rolling_hash2_multibinary.asm │ │ │ │ ├── rolling_hash2_perf.c │ │ │ │ ├── rolling_hash2_table.h │ │ │ │ ├── rolling_hash2_test.c │ │ │ │ ├── rolling_hash2_until_00.asm │ │ │ │ ├── rolling_hash2_until_04.asm │ │ │ │ └── rolling_hashx_base.c │ │ │ ├── sha1_mb │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── sha1_aarch64_x1.S │ │ │ │ │ ├── sha1_asimd_common.S │ │ │ │ │ ├── sha1_ctx_asimd.c │ │ │ │ │ ├── sha1_ctx_ce.c │ │ │ │ │ ├── sha1_mb_aarch64_dispatcher.c │ │ │ │ │ ├── sha1_mb_asimd_x4.S │ │ │ │ │ ├── sha1_mb_mgr_asimd.c │ │ │ │ │ ├── sha1_mb_mgr_ce.c │ │ │ │ │ ├── sha1_mb_multibinary.S │ │ │ │ │ ├── sha1_mb_x1_ce.S │ │ │ │ │ └── sha1_mb_x2_ce.S │ │ │ │ ├── sha1_ctx_avx.c │ │ │ │ ├── sha1_ctx_avx2.c │ │ │ │ ├── sha1_ctx_avx512.c │ │ │ │ ├── sha1_ctx_avx512_ni.c │ │ │ │ ├── sha1_ctx_base.c │ │ │ │ ├── sha1_ctx_base_aliases.c │ │ │ │ ├── sha1_ctx_sse.c │ │ │ │ ├── sha1_ctx_sse_ni.c │ │ │ │ ├── sha1_job.asm │ │ │ │ ├── sha1_mb_flush_test.c │ │ │ │ ├── sha1_mb_mgr_datastruct.asm │ │ │ │ ├── sha1_mb_mgr_flush_avx.asm │ │ │ │ ├── sha1_mb_mgr_flush_avx2.asm │ │ │ │ ├── sha1_mb_mgr_flush_avx512.asm │ │ │ │ ├── sha1_mb_mgr_flush_avx512_ni.asm │ │ │ │ ├── sha1_mb_mgr_flush_sse.asm │ │ │ │ ├── sha1_mb_mgr_flush_sse_ni.asm │ │ │ │ ├── sha1_mb_mgr_init_avx2.c │ │ │ │ ├── sha1_mb_mgr_init_avx512.c │ │ │ │ ├── sha1_mb_mgr_init_sse.c │ │ │ │ ├── sha1_mb_mgr_submit_avx.asm │ │ │ │ ├── sha1_mb_mgr_submit_avx2.asm │ │ │ │ ├── sha1_mb_mgr_submit_avx512.asm │ │ │ │ ├── sha1_mb_mgr_submit_sse.asm │ │ │ │ ├── sha1_mb_mgr_submit_sse_ni.asm │ │ │ │ ├── sha1_mb_rand_ssl_test.c │ │ │ │ ├── sha1_mb_rand_test.c │ │ │ │ ├── sha1_mb_rand_update_test.c │ │ │ │ ├── sha1_mb_test.c │ │ │ │ ├── sha1_mb_vs_ossl_perf.c │ │ │ │ ├── sha1_mb_vs_ossl_shortage_perf.c │ │ │ │ ├── sha1_mb_x16_avx512.asm │ │ │ │ ├── sha1_mb_x4_avx.asm │ │ │ │ ├── sha1_mb_x4_sse.asm │ │ │ │ ├── sha1_mb_x8_avx2.asm │ │ │ │ ├── sha1_multi_buffer_example.c │ │ │ │ ├── sha1_multibinary.asm │ │ │ │ ├── sha1_ni_x1.asm │ │ │ │ ├── sha1_ni_x2.asm │ │ │ │ ├── sha1_opt_x1.asm │ │ │ │ └── sha1_ref.c │ │ │ ├── sha256_mb │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── sha256_ctx_ce.c │ │ │ │ │ ├── sha256_mb_aarch64_dispatcher.c │ │ │ │ │ ├── sha256_mb_mgr_ce.c │ │ │ │ │ ├── sha256_mb_multibinary.S │ │ │ │ │ ├── sha256_mb_x1_ce.S │ │ │ │ │ ├── sha256_mb_x2_ce.S │ │ │ │ │ ├── sha256_mb_x3_ce.S │ │ │ │ │ └── sha256_mb_x4_ce.S │ │ │ │ ├── sha256_ctx_avx.c │ │ │ │ ├── sha256_ctx_avx2.c │ │ │ │ ├── sha256_ctx_avx512.c │ │ │ │ ├── sha256_ctx_avx512_ni.c │ │ │ │ ├── sha256_ctx_base.c │ │ │ │ ├── sha256_ctx_base_aliases.c │ │ │ │ ├── sha256_ctx_sse.c │ │ │ │ ├── sha256_ctx_sse_ni.c │ │ │ │ ├── sha256_job.asm │ │ │ │ ├── sha256_mb_flush_test.c │ │ │ │ ├── sha256_mb_mgr_datastruct.asm │ │ │ │ ├── sha256_mb_mgr_flush_avx.asm │ │ │ │ ├── sha256_mb_mgr_flush_avx2.asm │ │ │ │ ├── sha256_mb_mgr_flush_avx512.asm │ │ │ │ ├── sha256_mb_mgr_flush_avx512_ni.asm │ │ │ │ ├── sha256_mb_mgr_flush_sse.asm │ │ │ │ ├── sha256_mb_mgr_flush_sse_ni.asm │ │ │ │ ├── sha256_mb_mgr_init_avx2.c │ │ │ │ ├── sha256_mb_mgr_init_avx512.c │ │ │ │ ├── sha256_mb_mgr_init_sse.c │ │ │ │ ├── sha256_mb_mgr_submit_avx.asm │ │ │ │ ├── sha256_mb_mgr_submit_avx2.asm │ │ │ │ ├── sha256_mb_mgr_submit_avx512.asm │ │ │ │ ├── sha256_mb_mgr_submit_sse.asm │ │ │ │ ├── sha256_mb_mgr_submit_sse_ni.asm │ │ │ │ ├── sha256_mb_rand_ssl_test.c │ │ │ │ ├── sha256_mb_rand_test.c │ │ │ │ ├── sha256_mb_rand_update_test.c │ │ │ │ ├── sha256_mb_test.c │ │ │ │ ├── sha256_mb_vs_ossl_perf.c │ │ │ │ ├── sha256_mb_vs_ossl_shortage_perf.c │ │ │ │ ├── sha256_mb_x16_avx512.asm │ │ │ │ ├── sha256_mb_x4_avx.asm │ │ │ │ ├── sha256_mb_x4_sse.asm │ │ │ │ ├── sha256_mb_x8_avx2.asm │ │ │ │ ├── sha256_multibinary.asm │ │ │ │ ├── sha256_ni_x1.asm │ │ │ │ ├── sha256_ni_x2.asm │ │ │ │ ├── sha256_opt_x1.asm │ │ │ │ └── sha256_ref.c │ │ │ ├── sha512_mb │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── sha512_ctx_ce.c │ │ │ │ │ ├── sha512_mb_aarch64_dispatcher.c │ │ │ │ │ ├── sha512_mb_mgr_ce.c │ │ │ │ │ ├── sha512_mb_multibinary.S │ │ │ │ │ ├── sha512_mb_x1_ce.S │ │ │ │ │ └── sha512_mb_x2_ce.S │ │ │ │ ├── sha512_ctx_avx.c │ │ │ │ ├── sha512_ctx_avx2.c │ │ │ │ ├── sha512_ctx_avx512.c │ │ │ │ ├── sha512_ctx_base.c │ │ │ │ ├── sha512_ctx_base_aliases.c │ │ │ │ ├── sha512_ctx_sb_sse4.c │ │ │ │ ├── sha512_ctx_sse.c │ │ │ │ ├── sha512_job.asm │ │ │ │ ├── sha512_mb_mgr_datastruct.asm │ │ │ │ ├── sha512_mb_mgr_flush_avx.asm │ │ │ │ ├── sha512_mb_mgr_flush_avx2.asm │ │ │ │ ├── sha512_mb_mgr_flush_avx512.asm │ │ │ │ ├── sha512_mb_mgr_flush_sse.asm │ │ │ │ ├── sha512_mb_mgr_init_avx2.c │ │ │ │ ├── sha512_mb_mgr_init_avx512.c │ │ │ │ ├── sha512_mb_mgr_init_sse.c │ │ │ │ ├── sha512_mb_mgr_submit_avx.asm │ │ │ │ ├── sha512_mb_mgr_submit_avx2.asm │ │ │ │ ├── sha512_mb_mgr_submit_avx512.asm │ │ │ │ ├── sha512_mb_mgr_submit_sse.asm │ │ │ │ ├── sha512_mb_rand_ssl_test.c │ │ │ │ ├── sha512_mb_rand_test.c │ │ │ │ ├── sha512_mb_rand_update_test.c │ │ │ │ ├── sha512_mb_test.c │ │ │ │ ├── sha512_mb_vs_ossl_perf.c │ │ │ │ ├── sha512_mb_x2_avx.asm │ │ │ │ ├── sha512_mb_x2_sse.asm │ │ │ │ ├── sha512_mb_x4_avx2.asm │ │ │ │ ├── sha512_mb_x8_avx512.asm │ │ │ │ ├── sha512_multibinary.asm │ │ │ │ ├── sha512_ref.c │ │ │ │ ├── sha512_sb_mgr_flush_sse4.c │ │ │ │ ├── sha512_sb_mgr_init_sse4.c │ │ │ │ ├── sha512_sb_mgr_submit_sse4.c │ │ │ │ └── sha512_sse4.asm │ │ │ ├── sm3_mb │ │ │ │ ├── Makefile.am │ │ │ │ ├── aarch64 │ │ │ │ │ ├── sm3_mb_aarch64_dispatcher.c │ │ │ │ │ ├── sm3_mb_asimd_x1.S │ │ │ │ │ ├── sm3_mb_asimd_x4.S │ │ │ │ │ ├── sm3_mb_ctx_asimd_aarch64.c │ │ │ │ │ ├── sm3_mb_ctx_sm_aarch64.c │ │ │ │ │ ├── sm3_mb_ctx_sve.c │ │ │ │ │ ├── sm3_mb_mgr_asimd_aarch64.c │ │ │ │ │ ├── sm3_mb_mgr_sm_aarch64.c │ │ │ │ │ ├── sm3_mb_mgr_sve.c │ │ │ │ │ ├── sm3_mb_multibinary_aarch64.S │ │ │ │ │ ├── sm3_mb_sm_x1.S │ │ │ │ │ ├── sm3_mb_sm_x2.S │ │ │ │ │ ├── sm3_mb_sm_x3.S │ │ │ │ │ ├── sm3_mb_sm_x4.S │ │ │ │ │ ├── sm3_mb_sve.S │ │ │ │ │ └── sm3_sve_common.S │ │ │ │ ├── sm3_ctx_avx2.c │ │ │ │ ├── sm3_ctx_avx512.c │ │ │ │ ├── sm3_ctx_base.c │ │ │ │ ├── sm3_ctx_base_aliases.c │ │ │ │ ├── sm3_job.asm │ │ │ │ ├── sm3_mb_flush_test.c │ │ │ │ ├── sm3_mb_mgr_datastruct.asm │ │ │ │ ├── sm3_mb_mgr_flush_avx2.asm │ │ │ │ ├── sm3_mb_mgr_flush_avx512.asm │ │ │ │ ├── sm3_mb_mgr_submit_avx2.asm │ │ │ │ ├── sm3_mb_mgr_submit_avx512.asm │ │ │ │ ├── sm3_mb_rand_ssl_test.c │ │ │ │ ├── sm3_mb_rand_test.c │ │ │ │ ├── sm3_mb_rand_update_test.c │ │ │ │ ├── sm3_mb_test.c │ │ │ │ ├── sm3_mb_vs_ossl_perf.c │ │ │ │ ├── sm3_mb_vs_ossl_shortage_perf.c │ │ │ │ ├── sm3_mb_x16_avx512.asm │ │ │ │ ├── sm3_mb_x8_avx2.asm │ │ │ │ ├── sm3_multibinary.asm │ │ │ │ ├── sm3_ref_test.c │ │ │ │ └── sm3_test_helper.c │ │ │ ├── tests │ │ │ │ └── extended │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Makefile.nmake │ │ │ │ │ ├── md5_mb_over_4GB_test.c │ │ │ │ │ ├── sha1_mb_over_4GB_test.c │ │ │ │ │ ├── sha256_mb_over_4GB_test.c │ │ │ │ │ ├── sha512_mb_over_4GB_test.c │ │ │ │ │ └── sm3_mb_over_4GB_test.c │ │ │ └── tools │ │ │ │ ├── check_format.sh │ │ │ │ ├── gen_nmake.mk │ │ │ │ ├── iindent │ │ │ │ ├── nasm-filter.sh │ │ │ │ ├── remove_trailing_whitespace.sh │ │ │ │ ├── test_autorun.sh │ │ │ │ ├── test_checks.sh │ │ │ │ ├── test_extended.sh │ │ │ │ ├── test_tools.sh │ │ │ │ └── yasm-filter.sh │ │ ├── libutp.gyp │ │ ├── libutp │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── libutp-2012.vcxproj.filters │ │ │ ├── libutp.vcxproj │ │ │ ├── libutp_inet_ntop.cpp │ │ │ ├── libutp_inet_ntop.h │ │ │ ├── parse_log.py │ │ │ ├── prop_sheets │ │ │ │ ├── RunTimeDebug.props │ │ │ │ ├── RunTimeRelease.props │ │ │ │ ├── debug-2012.props │ │ │ │ ├── release-2012.props │ │ │ │ ├── win32-2012.props │ │ │ │ └── x64-2012.props │ │ │ ├── ucat.c │ │ │ ├── utp.h │ │ │ ├── utp_api.cpp │ │ │ ├── utp_callbacks.cpp │ │ │ ├── utp_callbacks.h │ │ │ ├── utp_hash.cpp │ │ │ ├── utp_hash.h │ │ │ ├── utp_internal.cpp │ │ │ ├── utp_internal.h │ │ │ ├── utp_packedsockaddr.cpp │ │ │ ├── utp_packedsockaddr.h │ │ │ ├── utp_templates.h │ │ │ ├── utp_types.h │ │ │ ├── utp_utils.cpp │ │ │ └── utp_utils.h │ │ ├── snappy.gyp │ │ ├── snappy │ │ │ ├── .appveyor.yml │ │ │ ├── .travis.yml │ │ │ ├── AUTHORS │ │ │ ├── CMakeLists.txt │ │ │ ├── CONTRIBUTING.md │ │ │ ├── COPYING │ │ │ ├── NEWS │ │ │ ├── README.md │ │ │ ├── cmake │ │ │ │ ├── SnappyConfig.cmake.in │ │ │ │ └── config.h.in │ │ │ ├── format_description.txt │ │ │ ├── framing_format.txt │ │ │ ├── snappy-c.cc │ │ │ ├── snappy-c.h │ │ │ ├── snappy-internal.h │ │ │ ├── snappy-sinksource.cc │ │ │ ├── snappy-sinksource.h │ │ │ ├── snappy-stubs-internal.cc │ │ │ ├── snappy-stubs-internal.h │ │ │ ├── snappy-stubs-public.h │ │ │ ├── snappy-stubs-public.h.in │ │ │ ├── snappy-test.cc │ │ │ ├── snappy-test.h │ │ │ ├── snappy.cc │ │ │ ├── snappy.h │ │ │ ├── snappy_compress_fuzzer.cc │ │ │ ├── snappy_uncompress_fuzzer.cc │ │ │ └── snappy_unittest.cc │ │ └── versions.md │ ├── tools │ │ ├── b64_napi.cpp │ │ ├── crypto_napi.cpp │ │ ├── ssl_napi.cpp │ │ └── syslog_napi.cpp │ └── util │ │ ├── b64.cpp │ │ ├── b64.h │ │ ├── backtrace.h │ │ ├── buf.cpp │ │ ├── buf.h │ │ ├── common.cpp │ │ ├── common.h │ │ ├── compression.cpp │ │ ├── compression.h │ │ ├── endian.h │ │ ├── gf2.h │ │ ├── mutex.h │ │ ├── nan.h │ │ ├── napi.cpp │ │ ├── napi.h │ │ ├── os.h │ │ ├── os_darwin.cpp │ │ ├── os_linux.cpp │ │ ├── rabin.cpp │ │ ├── rabin.h │ │ ├── rabin_fingerprint.h │ │ ├── snappy.cpp │ │ ├── snappy.h │ │ ├── struct_buf.cpp │ │ ├── struct_buf.h │ │ ├── tpool.cpp │ │ ├── tpool.h │ │ ├── zlib.cpp │ │ └── zlib.h ├── nc │ ├── nc_constants.js │ └── nc_utils.js ├── rpc │ ├── ice.js │ ├── index.js │ ├── rpc.js │ ├── rpc_base_conn.js │ ├── rpc_benchmark.js │ ├── rpc_conn_set.js │ ├── rpc_error.js │ ├── rpc_fcall.js │ ├── rpc_http.js │ ├── rpc_http_server.js │ ├── rpc_message.js │ ├── rpc_n2n.js │ ├── rpc_n2n_agent.js │ ├── rpc_ntcp.js │ ├── rpc_ntcp_server.js │ ├── rpc_nudp.js │ ├── rpc_request.js │ ├── rpc_schema.js │ ├── rpc_tcp.js │ ├── rpc_tcp_server.js │ ├── rpc_ws.js │ ├── rpc_ws_server.js │ └── stun.js ├── s3 │ ├── s3rver.js │ └── s3rver_starter.js ├── sdk │ ├── account_sdk.js │ ├── accountspace_fs.js │ ├── blob_translator.js │ ├── bucketspace_fs.js │ ├── bucketspace_nb.js │ ├── bucketspace_s3.js │ ├── bucketspace_simple_fs.js │ ├── config_fs.js │ ├── dedup_options.js │ ├── endpoint_stats_collector.js │ ├── func_sdk.js │ ├── glacier.js │ ├── glacier_tapecloud.js │ ├── map_api_types.js │ ├── map_client.js │ ├── namespace_blob.js │ ├── namespace_cache.js │ ├── namespace_fs.js │ ├── namespace_gcp.js │ ├── namespace_merge.js │ ├── namespace_multipart.js │ ├── namespace_nb.js │ ├── namespace_net_storage.js │ ├── namespace_s3.js │ ├── nb.d.ts │ ├── noobaa_s3_client │ │ ├── noobaa_s3_client.js │ │ ├── noobaa_s3_client_sdkv2.js │ │ └── noobaa_s3_client_sdkv3.js │ ├── nsfs_object_sdk.js │ ├── object_io.js │ ├── object_sdk.js │ └── sts_sdk.js ├── server │ ├── analytic_services │ │ ├── activity_log_indexes.js │ │ ├── activity_log_schema.js │ │ ├── activity_log_store.js │ │ ├── bucket_stats_indexes.js │ │ ├── bucket_stats_schema.js │ │ ├── bucket_stats_store.js │ │ ├── endpoint_group_report_indexes.js │ │ ├── endpoint_group_report_schema.js │ │ ├── endpoint_stats_store.js │ │ ├── history_data_store.js │ │ ├── io_stats_indexes.js │ │ ├── io_stats_schema.js │ │ ├── io_stats_store.js │ │ ├── prometheus_reporting.js │ │ ├── prometheus_reports │ │ │ ├── base_prometheus_report.js │ │ │ ├── nodejs_report.js │ │ │ ├── noobaa_core_report.js │ │ │ └── noobaa_endpoint_report.js │ │ ├── s3_usage_indexes.js │ │ ├── s3_usage_schema.js │ │ ├── system_history_schema.js │ │ ├── usage_report_indexes.js │ │ └── usage_report_schema.js │ ├── bg_services │ │ ├── README.md │ │ ├── agent_blocks_reclaimer.js │ │ ├── agent_blocks_verifier.js │ │ ├── bucket_chunks_builder.js │ │ ├── bucket_logs_upload.js │ │ ├── buckets_reclaimer.js │ │ ├── cluster_hb.js │ │ ├── cluster_master.js │ │ ├── db_cleaner.js │ │ ├── dedup_indexer.js │ │ ├── key_rotator.js │ │ ├── lifecycle.js │ │ ├── log_replication_scanner.js │ │ ├── md_aggregator.js │ │ ├── mirror_writer.js │ │ ├── namespace_monitor.js │ │ ├── objects_reclaimer.js │ │ ├── replication_log_parser.js │ │ ├── replication_scanner.js │ │ ├── replication_server.js │ │ ├── scrubber.js │ │ ├── semaphore_monitor.js │ │ ├── server_monitor.js │ │ ├── stats_collector.js │ │ ├── tier_spillback_worker.js │ │ ├── tier_ttf_worker.js │ │ ├── tier_ttl_worker.js │ │ └── usage_aggregator.js │ ├── bg_workers.js │ ├── common_services │ │ ├── auth_server.js │ │ ├── debug_server.js │ │ └── server_inter_process.js │ ├── func_services │ │ ├── func_indexes.js │ │ ├── func_schema.js │ │ ├── func_server.js │ │ ├── func_stats_indexes.js │ │ ├── func_stats_schema.js │ │ ├── func_stats_store.js │ │ └── func_store.js │ ├── kube-store.js │ ├── license_info.js │ ├── md_server.js │ ├── mongo_services │ │ └── mongo_monitor.js │ ├── node_services │ │ ├── host_server.js │ │ ├── node_allocator.js │ │ ├── node_schema.js │ │ ├── node_server.js │ │ ├── nodes_aggregator.js │ │ ├── nodes_client.js │ │ ├── nodes_monitor.js │ │ └── nodes_store.js │ ├── notifications │ │ ├── alerts_log_schema.js │ │ ├── alerts_log_store.js │ │ ├── alerts_rules.js │ │ ├── dispatcher.js │ │ └── event_server.js │ ├── object_services │ │ ├── events_dispatcher.js │ │ ├── map_builder.js │ │ ├── map_db_types.js │ │ ├── map_deleter.js │ │ ├── map_reader.js │ │ ├── map_server.js │ │ ├── mapper.js │ │ ├── md_store.js │ │ ├── object_server.js │ │ └── schemas │ │ │ ├── data_block_indexes.js │ │ │ ├── data_block_schema.js │ │ │ ├── data_chunk_indexes.js │ │ │ ├── data_chunk_schema.js │ │ │ ├── object_md_indexes.js │ │ │ ├── object_md_schema.js │ │ │ ├── object_multipart_indexes.js │ │ │ ├── object_multipart_schema.js │ │ │ ├── object_part_indexes.js │ │ │ └── object_part_schema.js │ ├── server_rpc.js │ ├── system_services │ │ ├── account_server.js │ │ ├── bucket_server.js │ │ ├── cluster_server.js │ │ ├── config_file_store.js │ │ ├── master_key_manager.js │ │ ├── objects │ │ │ └── quota.js │ │ ├── pool_controllers.js │ │ ├── pool_server.js │ │ ├── redirector.js │ │ ├── replication_store.js │ │ ├── schemas │ │ │ ├── account_indexes.js │ │ │ ├── account_schema.js │ │ │ ├── agent_config_indexes.js │ │ │ ├── agent_config_schema.js │ │ │ ├── bucket_indexes.js │ │ │ ├── bucket_schema.js │ │ │ ├── chunk_config_schema.js │ │ │ ├── cluster_indexes.js │ │ │ ├── cluster_schema.js │ │ │ ├── config_file_indexes.js │ │ │ ├── config_file_schema.js │ │ │ ├── log_schema.js │ │ │ ├── master_key_schema.js │ │ │ ├── namespace_resource_indexes.js │ │ │ ├── namespace_resource_schema.js │ │ │ ├── nsfs_account_schema.js │ │ │ ├── nsfs_bucket_schema.js │ │ │ ├── nsfs_config_schema.js │ │ │ ├── pool_indexes.js │ │ │ ├── pool_schema.js │ │ │ ├── replication_configuration_schema.js │ │ │ ├── role_schema.js │ │ │ ├── system_indexes.js │ │ │ ├── system_schema.js │ │ │ ├── tier_indexes.js │ │ │ ├── tier_schema.js │ │ │ ├── tiering_policy_indexes.js │ │ │ └── tiering_policy_schema.js │ │ ├── stats_aggregator.js │ │ ├── system_server.js │ │ ├── system_store.js │ │ └── tier_server.js │ ├── utils │ │ ├── bucket_diff.js │ │ ├── chunk_config_utils.js │ │ ├── clustering_utils.js │ │ ├── mongo_ctrl.js │ │ ├── replication_utils.js │ │ ├── server_diagnostics.js │ │ ├── supervisor_ctrl.js │ │ └── system_utils.js │ └── web_server.js ├── test │ ├── framework │ │ ├── convert.js │ │ ├── namespace_cache_tests_list.js │ │ ├── namespace_test_job.yaml │ │ ├── pipeline_tests_list.js │ │ ├── prepare_podman_env.sh │ │ ├── report.js │ │ ├── report_schema.js │ │ ├── run_test_job.sh │ │ ├── sanity_tests_list.js │ │ ├── server.js │ │ ├── system_tests_list.js │ │ ├── test_account.yaml │ │ └── test_job.yaml │ ├── lambda │ │ ├── create_backup_file_func.js │ │ ├── delete_backup_file_func.js │ │ ├── denial_of_service_func.js │ │ ├── dos_event_sample.json │ │ ├── test_lambda.sh │ │ └── word_count_func.js │ ├── lifecycle │ │ └── common.js │ ├── pipeline │ │ ├── README.md │ │ ├── account_test.js │ │ ├── config-local.js │ │ ├── dataset.js │ │ ├── namespace_cache_large_file_test.js │ │ ├── namespace_cache_normal_test.js │ │ ├── namespace_cache_range_read_test.js │ │ ├── namespace_test.js │ │ ├── quota_test.js │ │ ├── run_dataset.js │ │ ├── run_namespace_cache_tests.js │ │ └── system_config.js │ ├── qa │ │ ├── agents_matrix.js │ │ ├── capacity.js │ │ ├── cloud_test.js │ │ ├── data_availability_test.js │ │ ├── data_resiliency_test.js │ │ ├── load.js │ │ ├── rebuild_replicas_test.js │ │ ├── reclaim_test.js │ │ └── tests_report_summary.js │ ├── scripts │ │ ├── ec_in_db.js │ │ └── reset_cluster.sh │ ├── system_tests │ │ ├── README.md │ │ ├── ceph_s3_tests │ │ │ ├── run_ceph_nsfs_test_on_test_container.sh │ │ │ ├── run_ceph_test_on_test_container.sh │ │ │ ├── s3-tests-lists │ │ │ │ ├── nsfs_s3_tests_black_list.txt │ │ │ │ ├── nsfs_s3_tests_pending_list.txt │ │ │ │ ├── s3_tests_black_list.txt │ │ │ │ └── s3_tests_pending_list.txt │ │ │ ├── test_ceph_nsfs_s3_config_and_run_s3_tests.sh │ │ │ ├── test_ceph_nsfs_s3_config_setup.js │ │ │ ├── test_ceph_s3.js │ │ │ ├── test_ceph_s3_config.conf │ │ │ ├── test_ceph_s3_config_and_run_s3_tests.sh │ │ │ ├── test_ceph_s3_config_setup.js │ │ │ ├── test_ceph_s3_constants.js │ │ │ ├── test_ceph_s3_deploy.sh │ │ │ ├── test_ceph_s3_deployment.yml │ │ │ └── test_ceph_s3_job.yml │ │ ├── mongodb_defaults.js │ │ ├── nc_test_utils.js │ │ ├── run_sanity_test_on_test_container.sh │ │ ├── sanity_build_test.js │ │ ├── test_bucket_access.js │ │ ├── test_bucket_lambda_triggers.js │ │ ├── test_bucket_placement.js │ │ ├── test_build_chunks.js │ │ ├── test_cloud_pools.js │ │ ├── test_files_ul.js │ │ ├── test_lifecycle.js │ │ ├── test_md_aggregator.js │ │ ├── test_node_failure.js │ │ ├── test_s3_authentication.js │ │ ├── test_utils.js │ │ ├── upgradeonly.js │ │ └── warp │ │ │ ├── configure_warp.js │ │ │ ├── run_nc_warp_on_test_container.sh │ │ │ ├── run_warp.js │ │ │ ├── run_warp_on_test_container.sh │ │ │ ├── warp_constants.js │ │ │ └── warp_utils.js │ ├── unit_tests │ │ ├── coretest.js │ │ ├── different_clients │ │ │ ├── go_aws_sdkv2_client.go │ │ │ ├── run_go_sdkv2_client_script.js │ │ │ └── test_go_sdkv2_script.js │ │ ├── index.js │ │ ├── jest_tests │ │ │ ├── test_accountspace_fs.test.js │ │ │ ├── test_bucket_diff.test.js │ │ │ ├── test_bucket_log_based_replication.test.js │ │ │ ├── test_chunked_content_decoder.test.js │ │ │ ├── test_cli_diagnose.test.js │ │ │ ├── test_cli_upgrade.test.js │ │ │ ├── test_config_dir_restructure_upgrade_script.test.js │ │ │ ├── test_config_dir_structure.test.js │ │ │ ├── test_config_fs.test.js │ │ │ ├── test_config_fs_backward_compatibility.test.js │ │ │ ├── test_entropy_utils.test.js │ │ │ ├── test_file_writer.test.js │ │ │ ├── test_fs_napi_concurrency.test.js │ │ │ ├── test_iam_ops_input_validation.test.js │ │ │ ├── test_iam_utils.test.js │ │ │ ├── test_list_object.test.js │ │ │ ├── test_nc_account_cli.test.js │ │ │ ├── test_nc_account_invalid_mkm_integration.test.js │ │ │ ├── test_nc_anonymous_cli.test.js │ │ │ ├── test_nc_bucket_cli.test.js │ │ │ ├── test_nc_connection_cli.test.js │ │ │ ├── test_nc_lifecycle.test.js │ │ │ ├── test_nc_lifecycle_gpfs_ilm_integration.test.js │ │ │ ├── test_nc_lifecycle_posix_integration.test.js │ │ │ ├── test_nc_master_keys.test.js │ │ │ ├── test_nc_master_keys_exec.test.js │ │ │ ├── test_nc_nsfs_account_schema_validation.test.js │ │ │ ├── test_nc_nsfs_bucket_schema_validation.test.js │ │ │ ├── test_nc_nsfs_config_schema_validation.test.js │ │ │ ├── test_nc_nsfs_new_buckets_path_validation.test.js │ │ │ ├── test_nc_online_upgrade_cli_integrations.js │ │ │ ├── test_nc_upgrade_manager.test.js │ │ │ ├── test_net_utils.test.js │ │ │ ├── test_newline_reader.test.js │ │ │ ├── test_noobaa_s3_client.test.js │ │ │ ├── test_nsfs_concurrency.test.js │ │ │ ├── test_os_utils.test.js │ │ │ ├── test_s3_utils.test.js │ │ │ ├── test_url_utils.test.js │ │ │ ├── test_validation_utils.test.js │ │ │ └── test_versioning_concurrency.test.js │ │ ├── nc_coretest.js │ │ ├── nc_index.js │ │ ├── run_npm_test_on_test_container.sh │ │ ├── signature_test_suite │ │ │ ├── aws4_testsuite │ │ │ │ ├── LICENSE │ │ │ │ ├── NOTICE │ │ │ │ ├── get-header-key-duplicate │ │ │ │ │ ├── get-header-key-duplicate.creq │ │ │ │ │ ├── get-header-key-duplicate.sreq │ │ │ │ │ └── get-header-key-duplicate.sts │ │ │ │ ├── get-header-value-multiline │ │ │ │ │ ├── get-header-value-multiline.creq │ │ │ │ │ ├── get-header-value-multiline.sreq │ │ │ │ │ └── get-header-value-multiline.sts │ │ │ │ ├── get-header-value-order │ │ │ │ │ ├── get-header-value-order.creq │ │ │ │ │ ├── get-header-value-order.sreq │ │ │ │ │ └── get-header-value-order.sts │ │ │ │ ├── get-header-value-trim │ │ │ │ │ ├── get-header-value-trim.creq │ │ │ │ │ ├── get-header-value-trim.sreq │ │ │ │ │ └── get-header-value-trim.sts │ │ │ │ ├── get-unreserved │ │ │ │ │ ├── get-unreserved.creq │ │ │ │ │ ├── get-unreserved.sreq │ │ │ │ │ └── get-unreserved.sts │ │ │ │ ├── get-utf8 │ │ │ │ │ ├── get-utf8.creq │ │ │ │ │ ├── get-utf8.sreq │ │ │ │ │ └── get-utf8.sts │ │ │ │ ├── get-vanilla-empty-query-key │ │ │ │ │ ├── get-vanilla-empty-query-key.creq │ │ │ │ │ ├── get-vanilla-empty-query-key.sreq │ │ │ │ │ └── get-vanilla-empty-query-key.sts │ │ │ │ ├── get-vanilla-query-order-key-case │ │ │ │ │ ├── get-vanilla-query-order-key-case.creq │ │ │ │ │ ├── get-vanilla-query-order-key-case.sreq │ │ │ │ │ └── get-vanilla-query-order-key-case.sts │ │ │ │ ├── get-vanilla-query-unreserved │ │ │ │ │ ├── get-vanilla-query-unreserved.creq │ │ │ │ │ ├── get-vanilla-query-unreserved.sreq │ │ │ │ │ └── get-vanilla-query-unreserved.sts │ │ │ │ ├── get-vanilla-query │ │ │ │ │ ├── get-vanilla-query.creq │ │ │ │ │ ├── get-vanilla-query.sreq │ │ │ │ │ └── get-vanilla-query.sts │ │ │ │ ├── get-vanilla-utf8-query │ │ │ │ │ ├── get-vanilla-utf8-query.creq │ │ │ │ │ ├── get-vanilla-utf8-query.sreq │ │ │ │ │ └── get-vanilla-utf8-query.sts │ │ │ │ ├── get-vanilla │ │ │ │ │ ├── get-vanilla.creq │ │ │ │ │ ├── get-vanilla.sreq │ │ │ │ │ └── get-vanilla.sts │ │ │ │ ├── normalize-path │ │ │ │ │ ├── get-relative-relative │ │ │ │ │ │ ├── get-relative-relative.creq │ │ │ │ │ │ ├── get-relative-relative.sreq │ │ │ │ │ │ └── get-relative-relative.sts │ │ │ │ │ ├── get-relative │ │ │ │ │ │ ├── get-relative.creq │ │ │ │ │ │ ├── get-relative.sreq │ │ │ │ │ │ └── get-relative.sts │ │ │ │ │ ├── get-slash-dot-slash │ │ │ │ │ │ ├── get-slash-dot-slash.creq │ │ │ │ │ │ ├── get-slash-dot-slash.sreq │ │ │ │ │ │ └── get-slash-dot-slash.sts │ │ │ │ │ ├── get-slash-pointless-dot │ │ │ │ │ │ ├── get-slash-pointless-dot.creq │ │ │ │ │ │ ├── get-slash-pointless-dot.sreq │ │ │ │ │ │ └── get-slash-pointless-dot.sts │ │ │ │ │ ├── get-slash │ │ │ │ │ │ ├── get-slash.creq │ │ │ │ │ │ ├── get-slash.sreq │ │ │ │ │ │ └── get-slash.sts │ │ │ │ │ ├── get-slashes │ │ │ │ │ │ ├── get-slashes.creq │ │ │ │ │ │ ├── get-slashes.sreq │ │ │ │ │ │ └── get-slashes.sts │ │ │ │ │ ├── get-space │ │ │ │ │ │ ├── get-space.creq │ │ │ │ │ │ ├── get-space.sreq │ │ │ │ │ │ └── get-space.sts │ │ │ │ │ └── normalize-path.txt │ │ │ │ ├── post-header-key-case │ │ │ │ │ ├── post-header-key-case.creq │ │ │ │ │ ├── post-header-key-case.sreq │ │ │ │ │ └── post-header-key-case.sts │ │ │ │ ├── post-header-key-sort │ │ │ │ │ ├── post-header-key-sort.creq │ │ │ │ │ ├── post-header-key-sort.sreq │ │ │ │ │ └── post-header-key-sort.sts │ │ │ │ ├── post-header-value-case │ │ │ │ │ ├── post-header-value-case.creq │ │ │ │ │ ├── post-header-value-case.sreq │ │ │ │ │ └── post-header-value-case.sts │ │ │ │ ├── post-sts-token │ │ │ │ │ ├── post-sts-header-after │ │ │ │ │ │ ├── post-sts-header-after.creq │ │ │ │ │ │ ├── post-sts-header-after.sreq │ │ │ │ │ │ └── post-sts-header-after.sts │ │ │ │ │ ├── post-sts-header-before │ │ │ │ │ │ ├── post-sts-header-before.creq │ │ │ │ │ │ ├── post-sts-header-before.sreq │ │ │ │ │ │ └── post-sts-header-before.sts │ │ │ │ │ └── readme.txt │ │ │ │ ├── post-vanilla-empty-query-value │ │ │ │ │ ├── post-vanilla-empty-query-value.creq │ │ │ │ │ ├── post-vanilla-empty-query-value.sreq │ │ │ │ │ └── post-vanilla-empty-query-value.sts │ │ │ │ ├── post-vanilla-query-nonunreserved │ │ │ │ │ ├── post-vanilla-query-nonunreserved.creq │ │ │ │ │ ├── post-vanilla-query-nonunreserved.sreq │ │ │ │ │ └── post-vanilla-query-nonunreserved.sts │ │ │ │ ├── post-vanilla-query-space │ │ │ │ │ ├── post-vanilla-query-space.creq │ │ │ │ │ ├── post-vanilla-query-space.sreq │ │ │ │ │ └── post-vanilla-query-space.sts │ │ │ │ ├── post-vanilla-query │ │ │ │ │ ├── post-vanilla-query.creq │ │ │ │ │ ├── post-vanilla-query.sreq │ │ │ │ │ └── post-vanilla-query.sts │ │ │ │ ├── post-vanilla │ │ │ │ │ ├── post-vanilla.creq │ │ │ │ │ ├── post-vanilla.sreq │ │ │ │ │ └── post-vanilla.sts │ │ │ │ ├── post-x-www-form-urlencoded-parameters │ │ │ │ │ ├── post-x-www-form-urlencoded-parameters.creq │ │ │ │ │ ├── post-x-www-form-urlencoded-parameters.sreq │ │ │ │ │ └── post-x-www-form-urlencoded-parameters.sts │ │ │ │ └── post-x-www-form-urlencoded │ │ │ │ │ ├── post-x-www-form-urlencoded.creq │ │ │ │ │ ├── post-x-www-form-urlencoded.sreq │ │ │ │ │ └── post-x-www-form-urlencoded.sts │ │ │ ├── awscli │ │ │ │ ├── awscli_GET_ixt43o0n.sreq │ │ │ │ ├── awscli_GET_j4dv016i.sreq │ │ │ │ ├── awscli_GET_j4dviqlb.sreq │ │ │ │ ├── awscli_iwfg5hub.sreq │ │ │ │ ├── awscli_iwfgfsgw.sreq │ │ │ │ ├── awscli_iwfgfsjt.sreq │ │ │ │ ├── awscli_iwfgfsk1.sreq │ │ │ │ ├── awscli_iwfgfskj.sreq │ │ │ │ ├── awscli_iwfgfsl1.sreq │ │ │ │ ├── awscli_iwfgfsl4.sreq │ │ │ │ ├── awscli_iwfgpe7c.sreq │ │ │ │ ├── awscli_iwfgtw54.sreq │ │ │ │ ├── awscli_iwgdirgh.sreq │ │ │ │ ├── awscli_iwgdirjj.sreq │ │ │ │ ├── awscli_iwgdirjp.sreq │ │ │ │ ├── awscli_iwgdirjt.sreq │ │ │ │ ├── awscli_iwgdirjv.sreq │ │ │ │ ├── awscli_iwgdirk8.sreq │ │ │ │ ├── awscli_iwgdirkc.sreq │ │ │ │ ├── awscli_iwgdirkk.sreq │ │ │ │ ├── awscli_iwgdirl2.sreq │ │ │ │ ├── awscli_iwgdirl7.sreq │ │ │ │ ├── awscli_iwgdirl9.sreq │ │ │ │ ├── awscli_iwgdirla.sreq │ │ │ │ ├── awscli_iwgdirll.sreq │ │ │ │ ├── awscli_iwgdirlu.sreq │ │ │ │ ├── awscli_iwgdirlw.sreq │ │ │ │ ├── awscli_iwgdirm2.sreq │ │ │ │ ├── awscli_iwgdirma.sreq │ │ │ │ ├── awscli_iwgdis8b.sreq │ │ │ │ ├── awscli_iwgdis8d.sreq │ │ │ │ ├── awscli_iwgdis9x.sreq │ │ │ │ ├── awscli_iwgdisc8.sreq │ │ │ │ ├── awscli_iwgdiscl.sreq │ │ │ │ ├── awscli_iwgdiscn.sreq │ │ │ │ ├── awscli_iwgdisgt.sreq │ │ │ │ ├── awscli_iwgdisob.sreq │ │ │ │ ├── awscli_iwgdisoh.sreq │ │ │ │ ├── awscli_iwgdissw.sreq │ │ │ │ ├── awscli_iwgdisug.sreq │ │ │ │ ├── awscli_iwgdiszd.sreq │ │ │ │ ├── awscli_iwgdiszf.sreq │ │ │ │ ├── awscli_iwgdiszi.sreq │ │ │ │ ├── awscli_iwgdit02.sreq │ │ │ │ ├── awscli_iwgdit12.sreq │ │ │ │ ├── awscli_iwgdit1y.sreq │ │ │ │ ├── awscli_iwgdit3a.sreq │ │ │ │ ├── awscli_iwgdit5n.sreq │ │ │ │ ├── awscli_iwgdit9b.sreq │ │ │ │ ├── awscli_iwgdit9c.sreq │ │ │ │ ├── awscli_iwgdita2.sreq │ │ │ │ ├── awscli_iwgditi0.sreq │ │ │ │ ├── awscli_iwgditnm.sreq │ │ │ │ ├── awscli_iwgdito6.sreq │ │ │ │ ├── awscli_iwgditoz.sreq │ │ │ │ └── awscli_iwgditp9.sreq │ │ │ ├── awssdkcpp │ │ │ │ ├── awssdkcpp_lsumhdig_namewith=.sreq │ │ │ │ ├── awssdkcpp_lsun15mj_namewith%253D.sreq │ │ │ │ ├── awssdkcpp_lsun46rc_namewith$.sreq │ │ │ │ ├── awssdkcpp_lsun7xep_namewith&.sreq │ │ │ │ ├── awssdkcpp_lsundqfu_namewith,.sreq │ │ │ │ ├── awssdkcpp_lsunew5a_namewith:.sreq │ │ │ │ └── awssdkcpp_lsung2nb_namewith@.sreq │ │ │ ├── awssdkjava │ │ │ │ └── awssdkjava_PUT_j3y3x79m.sreq │ │ │ ├── awssdkjs │ │ │ │ ├── mozilla_iwfras1h.sreq │ │ │ │ ├── mozilla_iwfrazqq.sreq │ │ │ │ ├── mozilla_iwfrd85t.sreq │ │ │ │ ├── mozilla_iwg4z7vq.sreq │ │ │ │ ├── mozilla_iwg4z8rp.sreq │ │ │ │ ├── mozilla_iwg4zat7.sreq │ │ │ │ ├── mozilla_iwg4zavj.sreq │ │ │ │ ├── mozilla_iwg4zgyj.sreq │ │ │ │ ├── mozilla_iwg5embj.sreq │ │ │ │ ├── mozilla_iwg5en9c.sreq │ │ │ │ ├── mozilla_iwg5enz6.sreq │ │ │ │ ├── mozilla_iwg5eo3v.sreq │ │ │ │ ├── mozilla_iwg5eo67.sreq │ │ │ │ ├── mozilla_iwg5eo8w.sreq │ │ │ │ ├── mozilla_iwg5f124.sreq │ │ │ │ ├── mozilla_iwg5f12h.sreq │ │ │ │ ├── mozilla_iwg5f131.sreq │ │ │ │ ├── mozilla_iwg5f13m.sreq │ │ │ │ ├── mozilla_iwg5f16a.sreq │ │ │ │ ├── mozilla_iwg5f16b.sreq │ │ │ │ ├── mozilla_iwgdhgq4.sreq │ │ │ │ ├── mozilla_iwgdhl00.sreq │ │ │ │ ├── mozilla_iwgdhm2o.sreq │ │ │ │ └── mozilla_iwgdhm3y.sreq │ │ │ ├── awssdknodejs │ │ │ │ ├── awssdknodejs_iwfjrwfj.sreq │ │ │ │ ├── awssdknodejs_iwfjscft.sreq │ │ │ │ ├── awssdknodejs_iwfjsior.sreq │ │ │ │ ├── awssdknodejs_iwfjukzm.sreq │ │ │ │ ├── awssdknodejs_iwfjunsr.sreq │ │ │ │ ├── awssdknodejs_iwfjuq0e.sreq │ │ │ │ ├── awssdknodejs_iwfk13hp.sreq │ │ │ │ ├── awssdknodejs_iwfk33s8.sreq │ │ │ │ ├── awssdknodejs_iwfk36zu.sreq │ │ │ │ ├── awssdknodejs_iwfk3r71.sreq │ │ │ │ ├── awssdknodejs_iwfk3vfs.sreq │ │ │ │ ├── awssdknodejs_iwfqyfi9.sreq │ │ │ │ ├── awssdknodejs_iwfqyqjo.sreq │ │ │ │ ├── awssdknodejs_lsunnm4a_namewith%3D.sreq │ │ │ │ ├── awssdknodejs_lsunp5sx_namewith%40.sreq │ │ │ │ ├── awssdknodejs_lsunppst_namewith%24.sreq │ │ │ │ └── awssdknodejs_lsunqlri_namewith%253D.sreq │ │ │ ├── awssdkruby2 │ │ │ │ ├── awssdkruby2_GET_j5j8rpgr.sreq │ │ │ │ ├── awssdkruby2_GET_j5j9wb4d.sreq │ │ │ │ ├── awssdkruby2_GET_j5ja2mvl.sreq │ │ │ │ └── awssdkruby2_PUT_j5jajnre.sreq │ │ │ ├── cyberduck │ │ │ │ ├── cyberduck_GET_ixt3qlyg.sreq │ │ │ │ ├── cyberduck_GET_ixt3xo48.sreq │ │ │ │ ├── cyberduck_iwgdegdm.sreq │ │ │ │ ├── cyberduck_iwgdegnh.sreq │ │ │ │ ├── cyberduck_iwgdfcmd.sreq │ │ │ │ ├── cyberduck_iwgdfcqg.sreq │ │ │ │ ├── cyberduck_iwgdfcrc.sreq │ │ │ │ ├── cyberduck_iwgdfcvj.sreq │ │ │ │ ├── cyberduck_iwgdffdd.sreq │ │ │ │ ├── cyberduck_iwgdfkde.sreq │ │ │ │ ├── cyberduck_iwgdfkmo.sreq │ │ │ │ ├── cyberduck_iwgdfmbq.sreq │ │ │ │ ├── cyberduck_iwgdfme4.sreq │ │ │ │ ├── cyberduck_iwgdfmmm.sreq │ │ │ │ ├── cyberduck_iwgdfmp9.sreq │ │ │ │ ├── cyberduck_iwgdfmyw.sreq │ │ │ │ ├── cyberduck_iwgdfnpb.sreq │ │ │ │ ├── cyberduck_iwgdfnrp.sreq │ │ │ │ ├── cyberduck_iwgdfnx4.sreq │ │ │ │ ├── cyberduck_iwgdfnz2.sreq │ │ │ │ ├── cyberduck_iwgdfo3w.sreq │ │ │ │ ├── cyberduck_iwgdfpgw.sreq │ │ │ │ ├── cyberduck_iwgdfpzn.sreq │ │ │ │ ├── cyberduck_iwgdfq23.sreq │ │ │ │ ├── cyberduck_iwgdfqcm.sreq │ │ │ │ ├── cyberduck_iwgdfqey.sreq │ │ │ │ ├── cyberduck_iwgdfqlr.sreq │ │ │ │ ├── cyberduck_iwgdfqob.sreq │ │ │ │ ├── cyberduck_iwgdfqp9.sreq │ │ │ │ ├── cyberduck_iwgdfqtg.sreq │ │ │ │ ├── cyberduck_iwgdfqz6.sreq │ │ │ │ ├── cyberduck_iwgdfr39.sreq │ │ │ │ ├── cyberduck_iwgdfrbs.sreq │ │ │ │ ├── cyberduck_iwgdfrea.sreq │ │ │ │ ├── cyberduck_iwgdfrum.sreq │ │ │ │ ├── cyberduck_iwgdfs7m.sreq │ │ │ │ ├── cyberduck_iwgdfsft.sreq │ │ │ │ ├── cyberduck_iwgdfsi6.sreq │ │ │ │ ├── cyberduck_iwgdfsiq.sreq │ │ │ │ ├── cyberduck_iwgdftul.sreq │ │ │ │ ├── cyberduck_iwgdftx3.sreq │ │ │ │ ├── cyberduck_iwgdfugt.sreq │ │ │ │ ├── cyberduck_iwgdfuk5.sreq │ │ │ │ ├── cyberduck_iwgdfura.sreq │ │ │ │ ├── cyberduck_iwgdfutd.sreq │ │ │ │ ├── cyberduck_iwgdfuwf.sreq │ │ │ │ ├── cyberduck_iwgdfv5d.sreq │ │ │ │ ├── cyberduck_iwgdfv7e.sreq │ │ │ │ ├── cyberduck_iwgdfvrf.sreq │ │ │ │ ├── cyberduck_iwgdfvtr.sreq │ │ │ │ ├── cyberduck_iwgdfwcr.sreq │ │ │ │ ├── cyberduck_iwgdfwf9.sreq │ │ │ │ ├── cyberduck_iwgdfwmy.sreq │ │ │ │ ├── cyberduck_iwgdfwqc.sreq │ │ │ │ ├── cyberduck_iwgdfwvi.sreq │ │ │ │ ├── cyberduck_iwgdfwyh.sreq │ │ │ │ ├── cyberduck_iwgdfy9s.sreq │ │ │ │ ├── cyberduck_iwgdfycg.sreq │ │ │ │ ├── cyberduck_iwgdfz3j.sreq │ │ │ │ ├── cyberduck_iwgdfz70.sreq │ │ │ │ ├── cyberduck_iwgdfzpw.sreq │ │ │ │ ├── cyberduck_iwgdfzrm.sreq │ │ │ │ ├── cyberduck_iwgdfzua.sreq │ │ │ │ ├── cyberduck_iwgdfzwj.sreq │ │ │ │ ├── cyberduck_iwgdfzwu.sreq │ │ │ │ ├── cyberduck_iwgdfzz0.sreq │ │ │ │ ├── cyberduck_iwgdg017.sreq │ │ │ │ ├── cyberduck_iwgdg02o.sreq │ │ │ │ ├── cyberduck_iwgdg035.sreq │ │ │ │ └── cyberduck_iwgdg04o.sreq │ │ │ ├── postman │ │ │ │ ├── postmanruntime_iwf2l4dq.sreq │ │ │ │ ├── postmanruntime_iwf2m390.sreq │ │ │ │ ├── postmanruntime_iwf2p70i.sreq │ │ │ │ ├── postmanruntime_iwf2pmp6.sreq │ │ │ │ └── postmanruntime_iwf2qe9y.sreq │ │ │ ├── presigned │ │ │ │ ├── curl_iwfgwr8w.sreq │ │ │ │ ├── curl_iwfk6hmm.sreq │ │ │ │ ├── curl_iwfk6t1i.sreq │ │ │ │ ├── curl_iwfk7a6w.sreq │ │ │ │ ├── curl_iwfk833f.sreq │ │ │ │ ├── curl_iwfk8xcq.sreq │ │ │ │ ├── curl_iwfk9ovx.sreq │ │ │ │ └── curl_iwfkuaka.sreq │ │ │ └── rgw │ │ │ │ └── rgw_HEAD_BZ.sreq │ │ ├── sudo_index.js │ │ ├── test_agent_blocks_reclaimer.js │ │ ├── test_agent_blocks_verifier.js │ │ ├── test_bucket_chunks_builder.js │ │ ├── test_bucket_logging.js │ │ ├── test_bucket_replication.js │ │ ├── test_bucketspace_fs.js │ │ ├── test_bucketspace_versioning.js │ │ ├── test_buffer_pool.js │ │ ├── test_chunk_coder.js │ │ ├── test_chunk_config_utils.js │ │ ├── test_chunk_splitter.js │ │ ├── test_cloud_utils.js │ │ ├── test_debug_module.js │ │ ├── test_dedup.js │ │ ├── test_delayed_trigger.js │ │ ├── test_encryption.js │ │ ├── test_fs_utils.js │ │ ├── test_host_server.js │ │ ├── test_http_utils.js │ │ ├── test_keys_lock.js │ │ ├── test_keys_semaphore.js │ │ ├── test_kmeans.js │ │ ├── test_lifecycle.js │ │ ├── test_linked_list.js │ │ ├── test_lru.js │ │ ├── test_lru_cache.js │ │ ├── test_map_builder.js │ │ ├── test_map_client.js │ │ ├── test_map_deleter.js │ │ ├── test_map_reader.js │ │ ├── test_mapper.js │ │ ├── test_md_aggregator_unit.js │ │ ├── test_md_store.js │ │ ├── test_mdsequence.js │ │ ├── test_migration_to_postgres.js │ │ ├── test_mirror_writer.js │ │ ├── test_namespace_auth.js │ │ ├── test_namespace_cache.js │ │ ├── test_namespace_fs.js │ │ ├── test_namespace_fs_mpu.js │ │ ├── test_nb_native_b64.js │ │ ├── test_nb_native_fs.js │ │ ├── test_nb_native_gpfs.js │ │ ├── test_nb_native_hashes.js │ │ ├── test_nc_bucket_logging.js │ │ ├── test_nc_cli.js │ │ ├── test_nc_health.js │ │ ├── test_nc_iam_basic_integration.js │ │ ├── test_nc_lifecycle_expiration.js │ │ ├── test_nc_online_upgrade_s3_integrations.js │ │ ├── test_nc_with_a_couple_of_forks.js │ │ ├── test_node_allocator.js │ │ ├── test_node_server.js │ │ ├── test_nodes_store.js │ │ ├── test_notifications.js │ │ ├── test_ns_list_objects.js │ │ ├── test_nsfs_access.js │ │ ├── test_nsfs_glacier_backend.js │ │ ├── test_nsfs_integration.js │ │ ├── test_nsfs_versioning.js │ │ ├── test_nsfs_versioning_gpfs.js │ │ ├── test_object_io.js │ │ ├── test_postgres_client.js │ │ ├── test_postgres_upgrade.js │ │ ├── test_prefetch.js │ │ ├── test_promise_utils.js │ │ ├── test_public_access_block.js │ │ ├── test_range_stream.js │ │ ├── test_rpc.js │ │ ├── test_s3_bucket_policy.js │ │ ├── test_s3_encryption.js │ │ ├── test_s3_list_buckets.js │ │ ├── test_s3_list_objects.js │ │ ├── test_s3_ops.js │ │ ├── test_s3_worm.js │ │ ├── test_s3select.js │ │ ├── test_schema_keywords.js │ │ ├── test_semaphore.js │ │ ├── test_sensitive_wrapper.js │ │ ├── test_signature_utils.js │ │ ├── test_ssl_utils.js │ │ ├── test_sts.js │ │ ├── test_system_servers.js │ │ ├── test_system_store.js │ │ ├── test_tiering_ttl_worker.js │ │ ├── test_tiering_upload.js │ │ ├── test_upgrade_scripts.js │ │ ├── test_v8_optimizations.js │ │ ├── test_wait_queue.js │ │ └── test_zip_utils.js │ ├── unrelated │ │ ├── for_await_stream.js │ │ ├── map_vs_object_benchmark.js │ │ ├── measure_bind_perf.js │ │ ├── spawn_lsof_issue_with_cluster.js │ │ ├── stream_pipe_to_multiple_targets.js │ │ ├── tcp_simultaneous_open.js │ │ ├── test_pipeline_stuck_on_destroyed_stream.js │ │ └── test_pipeline_vs_pipe.js │ ├── utils │ │ ├── agent_functions.js │ │ ├── basic_server_ops.js │ │ ├── blobops.js │ │ ├── bucket_functions.js │ │ ├── cloud_functions.js │ │ ├── metrics.js │ │ ├── namespace_context.js │ │ ├── object_api_functions.js │ │ ├── pool_functions.js │ │ ├── s3ops.js │ │ └── server_functions.js │ └── web │ │ ├── index.js │ │ ├── selenium.js │ │ └── test_create_system.js ├── tools │ ├── README.md │ ├── bcrypt_cli.js │ ├── coding_speed.js │ ├── cpu_speed.js │ ├── diagnostics │ │ └── analyze_resource │ │ │ ├── analyze_resource.js │ │ │ ├── analyze_resource_aws.js │ │ │ ├── analyze_resource_azure.js │ │ │ ├── analyze_resource_cloud_vendor.js │ │ │ ├── analyze_resource_cloud_vendor_abstract.js │ │ │ └── analyze_resource_gcp.js │ ├── eslint_summary.js │ ├── events_generator.js │ ├── file_writer_hashing.js │ ├── fs_speed.js │ ├── fuse │ │ ├── mount-s3fs.sh │ │ ├── setup-fuse-debian-ubuntu.sh │ │ └── setup-fuse-mac.sh │ ├── gridfs_stress.js │ ├── http_proxy.js │ ├── http_speed.go │ ├── http_speed.js │ ├── mapper_speed.js │ ├── md_blow.js │ ├── md_blow_lifecycle.js │ ├── mem_grabber.js │ ├── mongo_md_stats.js │ ├── mongo_profiler.js │ ├── mongodb_blow.js │ ├── mongodb_bucket_blow.js │ ├── nbcat.js │ ├── nbget │ │ └── nbget.go │ ├── noobaa-db-info.sh │ ├── nsfs-enc.js │ ├── ntcp_speed.js │ ├── platform │ │ └── mkfs_or_mount.js │ ├── rand_speed.js │ ├── remote-debug.sh │ ├── rpc_shell.js │ ├── s3cat.js │ ├── s3net.js │ ├── s3perf.js │ ├── s3select.js │ ├── s3sign.js │ ├── stun_server.js │ ├── tcp_speed.cpp │ ├── tcp_speed.go │ ├── tcp_speed.js │ ├── tcp_tunnel.js │ └── ts2ajv.js ├── upgrade │ ├── migration_to_postgres.js │ ├── migrator.js │ ├── nc_upgrade_manager.js │ ├── nc_upgrade_scripts │ │ └── 1.0.0 │ │ │ └── config_dir_restructure.js │ ├── upgrade_manager.js │ ├── upgrade_scripts │ │ ├── 5.10.0 │ │ │ ├── upgrade_bucket_lifecycle_structure.js │ │ │ └── upgrade_bucket_quota_structure.js │ │ ├── 5.12.0 │ │ │ └── remove_allowed_buckets.js │ │ ├── 5.15.6 │ │ │ └── upgrade_bucket_policy.js │ │ ├── 5.17.0 │ │ │ └── assign_owner_id_to_all_resources.js │ │ ├── 5.19.0 │ │ │ └── upgrade_bucket_cors.js │ │ ├── 5.3.0 │ │ │ └── update_bucket_owner_account.js │ │ ├── 5.5.0 │ │ │ └── update_system_default_chunk_config.js │ │ ├── 5.7.0 │ │ │ ├── update_master_keys.js │ │ │ └── upgrade_namespace_resources.js │ │ ├── 5.8.0 │ │ │ └── upgrade_namespace_buckets.js │ │ └── 5.9.0 │ │ │ └── upgrade_accounts_ns_resources.js │ └── upgrade_utils.js └── util │ ├── NetStorageKit-Node-master │ ├── LICENSE │ └── lib │ │ ├── api-auth.js │ │ ├── api-request-parser.js │ │ ├── api-request.js │ │ └── netstorage.js │ ├── README.md │ ├── addr_utils.js │ ├── azure_storage_wrap.js │ ├── background_scheduler.js │ ├── barrier.js │ ├── base_diagnostics.js │ ├── bucket_logs_utils.js │ ├── buffer_utils.js │ ├── chunk_coder.js │ ├── chunk_eraser.js │ ├── chunk_splitter.js │ ├── chunk_stream.js │ ├── chunked_content_decoder.js │ ├── cloud_utils.js │ ├── coalesce_stream.js │ ├── console_wrapper.js │ ├── crypto_utils.js │ ├── db_client.js │ ├── debug_config.js │ ├── debug_module.js │ ├── defer.js │ ├── delayed_collector.js │ ├── delayed_trigger.js │ ├── dotenv.js │ ├── entropy_utils.js │ ├── error_utils.js │ ├── file_reader.js │ ├── file_writer.js │ ├── fips.js │ ├── flatten_stream.js │ ├── fork_utils.js │ ├── frame_stream.js │ ├── fs_utils.js │ ├── google_storage_wrap.js │ ├── histogram.js │ ├── http_recorder.js │ ├── http_utils.js │ ├── ifconfig.js │ ├── instrumentation_utils.js │ ├── js_utils.js │ ├── json_utils.js │ ├── jwt_utils.js │ ├── keys_lock.js │ ├── keys_semaphore.js │ ├── kmeans.js │ ├── kube_utils.js │ ├── license_templates │ ├── AGPL-3 │ ├── Apache-2.0 │ ├── Apache-2.0-appendix │ ├── Artistic-2.0 │ ├── BSD-2 │ ├── BSD-3 │ ├── GPL-2.0 │ ├── GPL-3 │ ├── ISC │ ├── LGPL-3 │ ├── MIT │ ├── MITNFA │ ├── MPL-2.0 │ ├── Python-2.0 │ ├── Unlicense │ ├── W3C │ ├── WTFPL │ ├── WTFPL-2.0 │ └── Zlib │ ├── license_utils.js │ ├── lifecycle_utils.js │ ├── linked_list.js │ ├── lru.js │ ├── lru_cache.js │ ├── mongo_client.js │ ├── mongo_functions.js │ ├── mongo_utils.js │ ├── multi_marker.js │ ├── native_fs_utils.js │ ├── nb_native.js │ ├── net_utils.js │ ├── notifications_util.js │ ├── oauth_utils.js │ ├── object_pool.js │ ├── os_utils.js │ ├── panic.js │ ├── periodic_reporter.js │ ├── persistent_logger.js │ ├── postgres_client.js │ ├── postgres_utils.js │ ├── prefetch.js │ ├── promise.js │ ├── rand_stream.js │ ├── range_stream.js │ ├── range_utils.js │ ├── s3select.js │ ├── schema_keywords.js │ ├── schema_utils.js │ ├── semaphore.js │ ├── sensitive_string.js │ ├── signature_utils.js │ ├── size_utils.js │ ├── slice_reader.js │ ├── speedometer.js │ ├── sql_functions │ ├── map_aggregate_blocks.sql │ ├── map_aggregate_chunks.sql │ ├── map_aggregate_objects.sql │ ├── map_common_prefixes.sql │ ├── map_func_stats.sql │ └── to_ts.sql │ ├── ssl_utils.js │ ├── stats_collector_utils.js │ ├── stream_utils.js │ ├── string_utils.js │ ├── time_utils.js │ ├── url_utils.js │ ├── validation_utils.js │ ├── versions_utils.js │ ├── wait_queue.js │ ├── xml_utils.js │ ├── yaml_utils.js │ └── zip_utils.js ├── tools └── releaser.sh ├── tsconfig.json └── tslint.json /.dockerignore: -------------------------------------------------------------------------------- 1 | .git/ 2 | node_modules/ 3 | build/ 4 | coverage/ 5 | logs/ 6 | *.log 7 | storage/ 8 | heapdump-* 9 | .vscode/ 10 | *.IGNORE 11 | .nyc_output/ 12 | *Dockerfile 13 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.js] 2 | charset = utf-8 3 | indent_style = space 4 | indent_size = 4 5 | end_of_line = lf 6 | trim_trailing_whitespace = true 7 | insert_final_newline = true 8 | 9 | [*.{cpp,cc,c,hpp,h,hh}] 10 | charset = utf-8 11 | indent_style = space 12 | indent_size = 4 13 | end_of_line = lf 14 | trim_trailing_whitespace = true 15 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | src/test/system_tests/ceph_s3_tests/s3-tests/** 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create an Issue and help us get better 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### Environment info 11 | - NooBaa Version: **VERSION** 12 | - Platform: **Kubernetes 1.14.1 | minikube 1.1.1 | OpenShift 4.1 | other: specify** 13 | 14 | ### Actual behavior 15 | 1. 16 | 17 | ### Expected behavior 18 | 1. 19 | 20 | ### Steps to reproduce 21 | 1. 22 | 23 | ### More information - Screenshots / Logs / Other output 24 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: Type:Enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | Description of what the problem is. 12 | 13 | **Describe the solution you'd like** 14 | Description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | Description of alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/ns-fs-bug.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: NS FS Bug 3 | about: Create a report and help us improve the NS FS Project 4 | title: '' 5 | labels: NS-FS 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### Environment info 11 | - NooBaa Version: **VERSION** 12 | - Platform: **Kubernetes 1.14.1 | minikube 1.1.1 | OpenShift 4.1 | other: specify** 13 | 14 | ### Actual behavior 15 | 1. 16 | 17 | ### Expected behavior 18 | 1. 19 | 20 | ### Steps to reproduce 21 | 1. 22 | 23 | ### More information - Screenshots / Logs / Other output 24 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question 3 | about: Question Template 4 | title: 'Question: ' 5 | labels: 'Type: Question' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/workflows/current-ver-build.yaml: -------------------------------------------------------------------------------- 1 | name: Current Version Build on Changes 2 | # Run on Backports 3 | on: 4 | push: 5 | branches: 6 | - 5.10 7 | 8 | jobs: 9 | publish-image: 10 | runs-on: ubuntu-latest 11 | timeout-minutes: 90 12 | steps: 13 | - name: Invoke Build on Operator Repo 14 | uses: benc-uk/workflow-dispatch@v1 15 | with: 16 | workflow: Manual Build Dispatch 17 | repo: noobaa/noobaa-core 18 | token: ${{ secrets.GHACCESSTOKEN }} 19 | inputs: '{ "branch": "5.10", "tag": "" }' 20 | -------------------------------------------------------------------------------- /.github/workflows/jest-unit-tests.yaml: -------------------------------------------------------------------------------- 1 | name: Jest Unit Tests 2 | on: [push, pull_request, workflow_dispatch] 3 | 4 | jobs: 5 | run-jest-unit-tests: 6 | runs-on: ubuntu-latest 7 | timeout-minutes: 90 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | steps: 12 | - name: checkout 13 | uses: actions/checkout@v4 14 | 15 | - name: Run Jest Unit Test 16 | run: | 17 | sudo apt-get update --fix-missing 18 | sudo apt-get -y install nasm libcap-dev 19 | npm install 20 | npm run build 21 | npm run jest 22 | -------------------------------------------------------------------------------- /.github/workflows/nc_unit.yml: -------------------------------------------------------------------------------- 1 | name: Non Containerized Unit Tests 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | run-nc-unit-tests: 6 | runs-on: ubuntu-latest 7 | timeout-minutes: 90 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | steps: 12 | - name: checkout 13 | uses: actions/checkout@v4 14 | 15 | - name: Run Non Containerized Test 16 | run: | 17 | make run-nc-tests 18 | -------------------------------------------------------------------------------- /.github/workflows/next-ver-build.yaml: -------------------------------------------------------------------------------- 1 | name: Next Version Build 2 | on: 3 | schedule: 4 | - cron: "0 12 * * 1" 5 | workflow_dispatch: 6 | inputs: 7 | branch: 8 | description: 'Branch to Build From - Optional' 9 | required: false 10 | 11 | jobs: 12 | publish-image: 13 | runs-on: ubuntu-latest 14 | timeout-minutes: 90 15 | steps: 16 | - name: Invoke Build on Operator Repo 17 | uses: benc-uk/workflow-dispatch@v1 18 | with: 19 | workflow: Manual Build Dispatch 20 | repo: noobaa/noobaa-core 21 | token: ${{ secrets.GHACCESSTOKEN }} 22 | inputs: '{ "branch": "5.11", "tag": "" }' 23 | -------------------------------------------------------------------------------- /.github/workflows/nightly-rpm-build-and-install-test.yaml: -------------------------------------------------------------------------------- 1 | name: Nightly RPM Build and Install Test 2 | on: 3 | schedule: 4 | - cron: '0 0 * * *' 5 | 6 | # Currently the only supported arch is linux/amd64 (x86_64) 7 | jobs: 8 | call-master-rpm-build-and-install-test-centos9: 9 | uses: ./.github/workflows/rpm-build-and-install-test-base.yaml 10 | secrets: inherit 11 | with: 12 | branch: 'master' 13 | centos_ver: '9' 14 | 15 | # call-master-rpm-build-and-install-test-centos8: 16 | # uses: ./.github/workflows/rpm-build-and-install-test-base.yaml 17 | # secrets: inherit 18 | # with: 19 | # branch: 'master' 20 | # centos_ver: '8' 21 | -------------------------------------------------------------------------------- /.github/workflows/nightly-rpm-master-build.yaml: -------------------------------------------------------------------------------- 1 | name: Nightly RPM Build - Master Branch 2 | on: 3 | schedule: 4 | - cron: '0 0 * * *' 5 | 6 | jobs: 7 | call-master-rpm-build-and-upload: 8 | uses: ./.github/workflows/rpm-build-and-upload-flow.yaml 9 | secrets: inherit 10 | with: 11 | branch: 'master' 12 | -------------------------------------------------------------------------------- /.github/workflows/postgres-unit-tests.yaml: -------------------------------------------------------------------------------- 1 | name: Unit Tests with Postgres 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | run-unit-tests-postgres: 6 | runs-on: ubuntu-latest 7 | timeout-minutes: 90 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v4 14 | 15 | - name: Run Unit Tests with Postgres 16 | run: make test-postgres 17 | -------------------------------------------------------------------------------- /.github/workflows/sanity-ssl.yaml: -------------------------------------------------------------------------------- 1 | name: Build & Sanity SSL 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | run-sanity-ssl-tests: 6 | runs-on: ubuntu-latest 7 | timeout-minutes: 90 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v4 14 | 15 | - name: Run Build & SSL Sanity Tests 16 | run: | 17 | set -x 18 | mkdir -p logs/sanity-test-logs 19 | chmod 777 logs/sanity-test-logs 20 | make test-external-pg-sanity 21 | -------------------------------------------------------------------------------- /.github/workflows/sanity.yaml: -------------------------------------------------------------------------------- 1 | name: Build & Sanity 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | run-sanity-tests: 6 | runs-on: ubuntu-latest 7 | timeout-minutes: 90 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v4 14 | 15 | - name: Run Build & Sanity Tests 16 | run: | 17 | set -x 18 | mkdir -p logs/sanity-test-logs 19 | chmod 777 logs/sanity-test-logs 20 | make test-sanity 21 | -------------------------------------------------------------------------------- /.github/workflows/unit.yaml: -------------------------------------------------------------------------------- 1 | name: Unit Tests 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | run-unit-tests: 6 | runs-on: ubuntu-latest 7 | timeout-minutes: 90 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | steps: 12 | - name: checkout 13 | uses: actions/checkout@v4 14 | 15 | - name: Run Test 16 | run: | 17 | make test 18 | make root-perm-test 19 | -------------------------------------------------------------------------------- /.github/workflows/weekly-build.yaml: -------------------------------------------------------------------------------- 1 | name: Weekly Build 2 | on: 3 | schedule: 4 | - cron: "0 23 * * *" 5 | 6 | jobs: 7 | publish-image: 8 | runs-on: ubuntu-latest 9 | timeout-minutes: 90 10 | steps: 11 | - name: Invoke Build on Operator Repo 12 | uses: benc-uk/workflow-dispatch@v1 13 | with: 14 | workflow: Manual Build Dispatch 15 | repo: noobaa/noobaa-core 16 | token: ${{ secrets.GHACCESSTOKEN }} 17 | inputs: '{ "branch": "master", "tag": "" }' 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # BUILD 2 | node_modules 3 | /build 4 | /noobaa.rpm 5 | 6 | # TEST 7 | *.log 8 | /logs 9 | /coverage 10 | npm-debug.log* 11 | .nyc_output 12 | 13 | ## RUNTIME CONFIG 14 | .env 15 | config-local.js 16 | 17 | ## STORAGE 18 | /storage/ 19 | 20 | ## DEVELOPER 21 | .vscode 22 | .idea 23 | *.sublime* 24 | .DS_Store 25 | heapdump-* 26 | .cache 27 | .clangd 28 | 29 | ## PRIVATE 30 | *.pem 31 | *.key 32 | 33 | # custom ignored files - add .IGNORE to the file or dir name to un-git it. 34 | *.IGNORE 35 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "s3select"] 2 | path = submodules/s3select 3 | url = https://github.com/ceph/s3select 4 | -------------------------------------------------------------------------------- /.jenkins/deploy/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM centos:latest 2 | 3 | RUN true \ 4 | && yum -y install git make python3-pip \ 5 | && pip3 install jenkins-job-builder \ 6 | && yum -y clean all \ 7 | && true 8 | 9 | ENV MAKE_TARGET=${MAKE_TARGET:-test} 10 | 11 | # Environment that needs to be set before executing checkout-repo.sh 12 | # ENV GIT_REPO=https://github.com/noobaa/noobaa-core 13 | # ENV GIT_REF=master 14 | ADD checkout-repo.sh /opt/build/ 15 | 16 | # make WORKDIR writable, otherwise git checkout fails 17 | RUN chmod ugo=rwx /opt/build 18 | 19 | ENV HOME=/opt/build 20 | WORKDIR /opt/build 21 | 22 | CMD ["sh", "-c", "./checkout-repo.sh && make -C .jenkins/deploy ${MAKE_TARGET}"] 23 | -------------------------------------------------------------------------------- /.jenkins/deploy/Makefile: -------------------------------------------------------------------------------- 1 | WORKDIR ?= $(CURDIR)/../ 2 | OUTPUT ?= $(WORKDIR)/_output/ 3 | 4 | .PHONY: test deploy 5 | 6 | test: 7 | cd $(WORKDIR) && jenkins-jobs test -o $(OUTPUT) jobs 8 | 9 | deploy: 10 | cd $(WORKDIR) && jenkins-jobs update --delete-old jobs 11 | -------------------------------------------------------------------------------- /.jenkins/deploy/checkout-repo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | fail() { 4 | echo "$(date) ${@}" > /dev/stderr 5 | exit 1 6 | } 7 | 8 | [ -n "${GIT_REPO}" ] || fail 'GIT_REPO environment variable not set' 9 | [ -n "${GIT_REF}" ] || fail 'GIT_REF environment variable not set' 10 | 11 | # exit in case a command fails 12 | set -e 13 | 14 | git init . 15 | git remote add origin "${GIT_REPO}" 16 | git fetch origin "${GIT_REF}" 17 | git checkout FETCH_HEAD 18 | -------------------------------------------------------------------------------- /.jenkins/deploy/jjb-buildconfig.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: ImageStream 4 | metadata: 5 | name: jjb 6 | labels: 7 | app: jjb 8 | spec: 9 | tags: 10 | - name: latest 11 | --- 12 | apiVersion: v1 13 | kind: BuildConfig 14 | metadata: 15 | name: jjb 16 | labels: 17 | app: jjb 18 | spec: 19 | runPolicy: Serial 20 | source: 21 | git: 22 | uri: https://github.com/noobaa/noobaa-core 23 | ref: master 24 | contextDir: .jenkins/deploy 25 | strategy: 26 | dockerStrategy: {} 27 | output: 28 | to: 29 | kind: ImageStreamTag 30 | name: jjb:latest 31 | -------------------------------------------------------------------------------- /.jenkins/deploy/jjb-config.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: jenkins-jobs 6 | labels: 7 | app: jjb 8 | data: 9 | jenkins_jobs.ini: |- 10 | [jenkins] 11 | user= 12 | password= 13 | url=https://jenkins-noobaa.apps.ocp.ci.centos.org 14 | -------------------------------------------------------------------------------- /.jsbeautifyrc: -------------------------------------------------------------------------------- 1 | { 2 | "indent_size": 4, 3 | "indent_char": " ", 4 | "indent_level": 0, 5 | "indent_with_tabs": false, 6 | "brace_style": "collapse,preserve-inline", 7 | "preserve_newlines": true, 8 | "max_preserve_newlines": 10, 9 | "end_with_newline": true 10 | } 11 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | save-exact=true 2 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 22.11.0 2 | -------------------------------------------------------------------------------- /PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Describe the Problem 2 | 3 | 4 | ### Explain the Changes 5 | 1. 6 | 7 | ### Issues: Fixed #xxx / Gap #xxx 8 | 1. 9 | 10 | ### Testing Instructions: 11 | 1. 12 | 13 | 14 | - [ ] Doc added/updated 15 | - [ ] Tests added 16 | -------------------------------------------------------------------------------- /binding.gyp: -------------------------------------------------------------------------------- 1 | { 2 | 'targets': [{ 3 | 'target_name': 'all', 4 | 'type': 'none', 5 | 'dependencies': [ 6 | 'src/native/nb_native.gyp:*', 7 | ] 8 | }] 9 | } 10 | -------------------------------------------------------------------------------- /docs/NooBaaNonContainerized/ResourcesLimitations.md: -------------------------------------------------------------------------------- 1 | # NooBaa Non Containerized - Resources Limitations 2 | 3 | This section outlines the limitations of resources and sizes within NooBaa - 4 | 5 | - Max size of a single object - 10TB. 6 | 7 | - Max number of locally managed S3 accounts - 5000. 8 | 9 | - Max number of S3 buckets - 5000. 10 | 11 | - Max number of objects per S3 bucket - 100,000,000. 12 | -------------------------------------------------------------------------------- /docs/design/images/IamCreateUserSd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/design/images/IamCreateUserSd.png -------------------------------------------------------------------------------- /docs/design/images/NSFS_metrics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/design/images/NSFS_metrics.png -------------------------------------------------------------------------------- /docs/design/images/QuotaClasses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/design/images/QuotaClasses.png -------------------------------------------------------------------------------- /docs/design/images/QuotaPartialStats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/design/images/QuotaPartialStats.png -------------------------------------------------------------------------------- /docs/design/images/QuotaReadBucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/design/images/QuotaReadBucket.png -------------------------------------------------------------------------------- /docs/design/images/QuotaUpdateBucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/design/images/QuotaUpdateBucket.png -------------------------------------------------------------------------------- /docs/design/images/QuotaUpdateBucketClass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/design/images/QuotaUpdateBucketClass.png -------------------------------------------------------------------------------- /docs/design/images/QuotaUploadObject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/design/images/QuotaUploadObject.png -------------------------------------------------------------------------------- /docs/design/images/bucket_replication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/design/images/bucket_replication.png -------------------------------------------------------------------------------- /docs/design/images/master_keys_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/design/images/master_keys_diagram.png -------------------------------------------------------------------------------- /docs/design/images/nsfs_versioning_dir_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/design/images/nsfs_versioning_dir_tree.png -------------------------------------------------------------------------------- /docs/design/uml/QuotaCd.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | /'To generate png file, use https://www.plantuml.com/plantuml '/ 3 | 4 | title Quota Classes 5 | 6 | scale 1 7 | 8 | class Quota { 9 | {field} Structure size 10 | Structure amount 11 | {method} BigInt get_quota_size_raw_value 12 | {method} BigInt get_quota_amount_raw_value 13 | {method} {size, amount} get_config 14 | } 15 | 16 | class QuotaHelper { 17 | {method} {size_used_percent, amount_used_percent} get_bucket_quota_usages_percent 18 | } 19 | @enduml -------------------------------------------------------------------------------- /docs/design/uml/QuotaPartialStatsSd.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | /'To generate png file, use https://www.plantuml.com/plantuml '/ 3 | 4 | title Get Partial Stats 5 | 6 | scale 1 7 | 8 | actor Client order 10 9 | participant "Rpc Server" as RS order 20 10 | participant "stats_aggregator" as SA order 30 11 | 12 | Client -> RS: get_partial_stats 13 | RS -> SA: get_partial_stats 14 | group get partital stats 15 | SA -> SA: get_partial_systems_stats 16 | group get partital system stats 17 | SA -> SA: _partial_buckets_info 18 | end 19 | end 20 | SA -> Client: stats_payload 21 | @enduml -------------------------------------------------------------------------------- /docs/design/uml/QuotaReadBucketSd.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | /'To generate png file, use https://www.plantuml.com/plantuml '/ 3 | 4 | title read bucket with quota config 5 | 6 | scale 1 7 | 8 | actor Client order 10 9 | participant "Rpc Server" as RS order 20 10 | participant "bucket_server" as BS order 30 11 | 12 | Client -> RS: read_bucket_sdk_info 13 | RS -> BS: read_bucket_sdk_info 14 | group get bucket sdk info 15 | BS -> BS: find_bucket 16 | BS -> BS: get_bucket_info 17 | group get bucket info 18 | BS -> BS: _calc_metrics 19 | BS -> BS: calc_quota_status 20 | BS -> BS: calc_bucket_mode 21 | end 22 | end 23 | BS -> Client: bucket_sdk_info 24 | @enduml -------------------------------------------------------------------------------- /docs/design/uml/QuotaUpdateBucketSd.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | /'To generate png file, use https://www.plantuml.com/plantuml '/ 3 | 4 | title update buckets with quota config 5 | 6 | scale 1 7 | 8 | actor Client order 10 9 | participant "Rpc Server" as RS order 20 10 | participant bucket_server as BS order 30 11 | participant "system_store" as SS order 40 12 | 13 | Client -> RS: update_buckets 14 | RS -> BS: update_buckets 15 | loop req.rpc_params 16 | BS -> BS: find_bucket 17 | BS -> BS: get_bucket_changes 18 | group get change events 19 | BS -> BS: get_bucket_changes_quota 20 | end 21 | end 22 | BS -> SS: make_changes 23 | @enduml 24 | -------------------------------------------------------------------------------- /docs/design/uml/QuotaUploadObjectSd.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | /'To generate png file, use https://www.plantuml.com/plantuml '/ 3 | 4 | title upload object wiht quota validation 5 | 6 | scale 1 7 | 8 | actor Client order 10 9 | participant "Rpc Server" as RS order 20 10 | participant object_server as OS order 30 11 | 12 | Client -> RS: create_object_upload 13 | RS -> OS: create_object_upload 14 | OS -> OS: check_quota 15 | @enduml -------------------------------------------------------------------------------- /docs/dev_guide/ceph_s3_tests/images/tox_test_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/dev_guide/ceph_s3_tests/images/tox_test_failed.png -------------------------------------------------------------------------------- /docs/dev_guide/ceph_s3_tests/images/tox_test_pass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/dev_guide/ceph_s3_tests/images/tox_test_pass.png -------------------------------------------------------------------------------- /docs/dev_guide/ceph_s3_tests/images/tox_test_skipped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/docs/dev_guide/ceph_s3_tests/images/tox_test_skipped.png -------------------------------------------------------------------------------- /docs/non_containerized_NSFS.md: -------------------------------------------------------------------------------- 1 | # Notice: Documentation Update 2 | 3 | We have updated our documentation to provide a better and more comprehensive guide to NooBaa Non Containerized. The old documentation you are currently viewing has been replaced with a new and improved version. 4 | 5 | To access the latest documentation, please visit [New NooBaa Non Containerized Documentation Directory](./NooBaaNonContainerized/). 6 | 7 | For a quick start, you can refer to the [NooBaa Non Containerized README](./NooBaaNonContainerized/README.md). 8 | 9 | -------------------------------------------------------------------------------- /images/noobaa_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/images/noobaa_logo.png -------------------------------------------------------------------------------- /mongod.conf: -------------------------------------------------------------------------------- 1 | # mongodb config file (YAML format) 2 | # see here - https://docs.mongodb.org/v3.2/reference/configuration-options/ 3 | 4 | net: 5 | bindIp: localhost 6 | 7 | storage: 8 | engine: wiredTiger 9 | dbPath: ./storage/mongodb/ 10 | 11 | # systemLog: 12 | # destination: file 13 | # path: ./mongo.log 14 | # logAppend: true 15 | # verbosity: 1 16 | # component: 17 | # query: 18 | # verbosity: 1 19 | # storage: 20 | # verbosity: 1 21 | # journal: 22 | # verbosity: 1 23 | # write: 24 | # verbosity: 1 25 | -------------------------------------------------------------------------------- /platform_restrictions.json: -------------------------------------------------------------------------------- 1 | { 2 | "azure": [ 3 | 4 | ], 5 | "alyun": [ 6 | 7 | ], 8 | "aws": [ 9 | 10 | ], 11 | "esx": [ 12 | 13 | ], 14 | "google": [ 15 | 16 | ], 17 | "dev": [ 18 | 19 | ], 20 | "docker": [ 21 | "dns_server", 22 | "time_config", 23 | "attach_server", 24 | "peer_to_peer_ports", 25 | "server_details", 26 | "cluster_connectivity_ip", 27 | "toggle_endpoint_agent" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /s3cmd-local.config: -------------------------------------------------------------------------------- 1 | [default] 2 | host_base = localhost 3 | host_bucket = localhost 4 | access_key = 123 5 | secret_key = abc 6 | use_https = False 7 | check_ssl_certificate = False 8 | check_ssl_hostname = False 9 | signature_v2 = True 10 | multipart_chunk_size_mb = 32 11 | send_chunk = 1048576 12 | -------------------------------------------------------------------------------- /src/agent/system_d.conf: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=The NooBaa node service. 3 | 4 | [Service] 5 | ExecStart=/usr/local/noobaa/node /usr/local/noobaa/src/agent/agent_wrap.js 6 | Restart=always 7 | SyslogIdentifier=noobaalocalservice 8 | User=root 9 | Group=root 10 | Environment= 11 | 12 | [Install] 13 | WantedBy=multi-user.target 14 | -------------------------------------------------------------------------------- /src/api/index.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = require('./api'); 5 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/clone_s3select_submodules.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #Clone S3Select and its two submodules, but only if BUILD_S3SELECT=1. 4 | ./src/deploy/NVA_build/clone_submodule.sh submodules/s3select https://github.com/ceph/s3select 58875a5ee76261cc0a3d943bb168f9f9292c34a4 BUILD_S3SELECT 5 | ./src/deploy/NVA_build/clone_submodule.sh submodules/s3select/rapidjson https://github.com/Tencent/rapidjson 7c73dd7de7c4f14379b781418c6e947ad464c818 BUILD_S3SELECT 6 | ./src/deploy/NVA_build/clone_submodule.sh submodules/s3select/include/csvparser https://github.com/ben-strasser/fast-cpp-csv-parser 5a417973b4cea674a5e4a3b88a23098a2ab75479 BUILD_S3SELECT 7 | 8 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/clone_submodule.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | enabled=`printf '%s\n' "${!4}"` 4 | echo $enabled 5 | if [ -z "$enabled" ]; then 6 | echo "not en" 7 | exit 0 8 | fi 9 | if [ $enabled -ne 1 ]; then 10 | echo "exit" 11 | exit 0 12 | fi 13 | echo "done" 14 | mkdir -p $1 15 | cd $1 16 | git init 17 | git remote add origin $2 18 | git fetch origin $3 --depth=1 19 | git reset --hard FETCH_HEAD 20 | rm -rf .git 21 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/env.orig: -------------------------------------------------------------------------------- 1 | DEBUG_MODE=false 2 | ON_PREMISE=true 3 | 4 | PORT=8080 5 | SSL_PORT=8443 6 | 7 | CURRENT_VERSION=0.2 8 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/fix_centos8_repo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ "$CENTOS_VER" == "8" ]; then 4 | sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* 5 | sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* 6 | fi 7 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/fix_package_json.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | count=1 4 | file="package.json" 5 | while true 6 | do 7 | while read line 8 | do 9 | if [[ "${line}" =~ "," ]] 10 | then 11 | sed -i "s/${line}/${line//,/}/g" ${file} 12 | break 2 13 | elif [[ "${line}" =~ "\"" ]] 14 | then 15 | break 2 16 | fi 17 | done < <(tail -${count} ${file}) 18 | ((count++)) 19 | done 20 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/install_arrow_build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -z "$1" ]; then 4 | exit 0 5 | fi 6 | if [ $1 -ne 1 ]; then 7 | exit 0 8 | fi 9 | 10 | dnf install -y epel-release 11 | dnf install -y https://apache.jfrog.io/artifactory/arrow/almalinux/$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)/apache-arrow-release-latest.rpm 12 | dnf config-manager --set-enabled epel 13 | dnf config-manager --set-enabled powertools || : 14 | #parquet-devel version must match the parquet-libs version in epel 15 | #otherwise node addon will fail to find the dependency 16 | dnf install -y parquet-devel-8.0.0-1.el8 # For Apache Parquet C++ 17 | dnf clean all 18 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/install_arrow_run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ -z "$1" ]; then 3 | exit 0 4 | fi 5 | if [ $1 -ne 1 ]; then 6 | exit 0 7 | fi 8 | 9 | dnf install -y epel-release 10 | dnf install -y parquet-libs # For Apache Parquet C++ 11 | dnf clean all 12 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/mongo_init_rs.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | /* eslint-env mongo */ 3 | 4 | 'use strict'; 5 | 6 | let host; 7 | let user; 8 | 9 | // authenticate 10 | db.getSiblingDB("$external").auth({ 11 | mechanism: "MONGODB-X509", 12 | user: user 13 | }); 14 | 15 | const rs_config = { 16 | _id: 'shard1', 17 | members: [{ 18 | _id: 0, 19 | host: host 20 | }] 21 | }; 22 | 23 | rs.initiate(rs_config); 24 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/noobaa.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "noobaa.com/v1alpha1" 2 | kind: "Noobaa" 3 | metadata: 4 | name: "noobaa-test" 5 | spec: 6 | ## either image or version must be supplied 7 | # image: nbserver:1 # a specific image to use 8 | version: "a643bee" # the tag of the image in azure registry 9 | 10 | ## if email and password are supplied a system will be created automatically 11 | # email: "demo@noobaa.com" # email 12 | # password: "DeMo1" # initial password for console login 13 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/noobaa_pool.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: noobaa.io/v1alpha1 2 | kind: BackingStore 3 | metadata: 4 | name: backingstore 5 | labels: 6 | app: noobaa 7 | finalizers: 8 | - noobaa.io/finalizer 9 | spec: 10 | pvPool: 11 | secret: 12 | name: SECRET_NAME 13 | numVolumes: 3 14 | resources: 15 | requests: 16 | storage: 16Gi 17 | storageClass: standard 18 | type: pv-pool 19 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/noobaa_pool_secret.yaml: -------------------------------------------------------------------------------- 1 | kind: Secret 2 | apiVersion: v1 3 | metadata: 4 | name: SECRET_NAME 5 | labels: 6 | app: noobaa 7 | data: 8 | AGENT_CONFIG: AGENT_CONFIG_VALUE 9 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/noobaa_syslog.conf: -------------------------------------------------------------------------------- 1 | $EscapeControlCharactersOnReceive off 2 | local0.* /log/noobaa.log 3 | 4 | # Provides UDP/TCP forwarding. The IP/DNS is the server's IP/DNS address 5 | # This is an example of sending everything except NooBaa logs using UDP 6 | # When changing this format make sure to change the relevant functions in os_utils 7 | #if $syslogfacility-text != 'local0' then @192.168.1.108:514 8 | &stop 9 | 10 | 11 | local1.* /log/client_noobaa.log 12 | &stop 13 | 14 | #end of file -------------------------------------------------------------------------------- /src/deploy/NVA_build/set_mongo_repo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | export PS4='\e[36m+ ${FUNCNAME:-main}@${BASH_SOURCE}:${LINENO} \e[0m' 5 | 6 | function config_mongo_repo { 7 | # create a Mongo 3.6 Repo file 8 | cat > /etc/yum.repos.d/mongodb-org-3.6.repo << EOF 9 | [mongodb-org-3.6] 10 | name=MongoDB Repository 11 | baseurl=https://repo.mongodb.org/yum/redhat/7Server/mongodb-org/3.6/x86_64/ 12 | gpgcheck=1 13 | enabled=1 14 | gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 15 | EOF 16 | 17 | } 18 | 19 | config_mongo_repo 20 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/ssl_conf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # echo ssl setting into pg_hba.conf configuration file 3 | echo 'local all all trust' > /var/lib/postgresql/data/pg_hba.conf 4 | echo 'hostssl all all all cert clientcert=verify-full' >> /var/lib/postgresql/data/pg_hba.conf 5 | -------------------------------------------------------------------------------- /src/deploy/NVA_build/standalone_deploy_nsfs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function execute() { 4 | if [[ -z "${CEPH_TEST_LOGS_DIR}" ]]; then 5 | $1 & 6 | else 7 | $1 2>&1 | tee "${CEPH_TEST_LOGS_DIR}/${2}" & 8 | fi 9 | } 10 | 11 | # Please note that the command we use here are without "sudo" because we are running from the container with Root permissions 12 | function main() { 13 | # Start noobaa service 14 | execute "node src/cmd/nsfs" nsfs.log 15 | # Wait for sometime to process to start 16 | sleep 10 17 | } 18 | # call main function 19 | main 20 | -------------------------------------------------------------------------------- /src/deploy/dockers_restart.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker restart --time=0 $(docker ps -a -q) 3 | 4 | stopped=($(docker ps -a |grep Exi| awk -F" " '{print $1}'|wc -l)) 5 | if [ "$stopped" -gt 0 ]; then 6 | #start all the containers that failed to start after restart (due to bug in this docker version) - fixed in newer version. 7 | docker start $(docker ps -a |grep Exi| awk -F" " '{print $1}') 8 | else 9 | echo "All containers are up" 10 | fi 11 | exit 12 | -------------------------------------------------------------------------------- /src/deploy/init.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | /usr/bin/supervisord start 3 | -------------------------------------------------------------------------------- /src/deploy/init_agent.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -f "/usr/local/noobaa/agent_conf.json" ]; 4 | then 5 | echo "noobaa already exists" 6 | else 7 | agent_conf=$2 8 | env_name=$1 9 | 10 | echo "notadmin ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers 11 | iptables -I INPUT -j ACCEPT 12 | service iptables save 13 | curl --insecure -L https://$env_name:8443/public/noobaa-setup >noobaa-setup 14 | chmod +x ./noobaa-setup 15 | sleep 30s 16 | ./noobaa-setup $agent_conf 17 | fi 18 | -------------------------------------------------------------------------------- /src/deploy/noobaa-cli: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd /usr/local/noobaa-core/ 3 | ./bin/node --unhandled-rejections=warn ./src/cmd/manage_nsfs.js "$@" 4 | -------------------------------------------------------------------------------- /src/deploy/noobaa.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=The NooBaa service. 3 | After=gpfs-wait-mount.service 4 | 5 | [Service] 6 | Restart=always 7 | RestartSec=2 8 | User=root 9 | Group=root 10 | ExecStart=/usr/local/noobaa-core/bin/node /usr/local/noobaa-core/src/cmd/nsfs.js 11 | EnvironmentFile=-/etc/sysconfig/noobaa 12 | ExecStop=/bin/kill $MAINPID 13 | WorkingDirectory=/usr/local/noobaa-core/ 14 | LimitNOFILE=600000 15 | 16 | [Install] 17 | WantedBy=multi-user.target 18 | -------------------------------------------------------------------------------- /src/deploy/noobaa_icon24.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/src/deploy/noobaa_icon24.ico -------------------------------------------------------------------------------- /src/deploy/nsfs_env.env: -------------------------------------------------------------------------------- 1 | ENDPOINT_FORKS=0 2 | UV_THREADPOOL_SIZE=64 3 | GPFS_DL_PATH=/usr/lib64/libgpfs.so 4 | -------------------------------------------------------------------------------- /src/deploy/standalone/executable.Dockerfile: -------------------------------------------------------------------------------- 1 | # This dockerfile starts from the base image which contains all the node-js code 2 | # and native libraries already build, and then it builds a single executable using pkg. 3 | FROM noobaa-base 4 | 5 | RUN npm install --include=dev && ./node_modules/.bin/pkg-fetch -n node18 6 | 7 | ARG GIT_COMMIT 8 | RUN if [ "${GIT_COMMIT}" != "" ]; then \ 9 | sed -i 's/^ "version": "\(.*\)",$/ "version": "\1-'${GIT_COMMIT:0:7}'",/' package.json; \ 10 | fi 11 | 12 | COPY src ./src 13 | COPY config.js ./config.js 14 | COPY platform_restrictions.json ./platform_restrictions.json 15 | RUN npm run pkg 16 | 17 | ENTRYPOINT [ "/noobaa/build/noobaa-core" ] 18 | -------------------------------------------------------------------------------- /src/deploy/standalone/export.Dockerfile: -------------------------------------------------------------------------------- 1 | # This dockerfile exports just the single file executable from the built image. 2 | # It uses a multi-stage to pick just one file which would then be exported with: 3 | # docker build --output ... 4 | # see https://docs.docker.com/engine/reference/commandline/build/#output 5 | # or https://docs.podman.io/en/latest/markdown/podman-build.1.html#output-o-output-opts 6 | FROM noobaa-core-executable as noobaa-core-executable 7 | FROM scratch AS export-stage 8 | ARG OS=linux 9 | ARG PLATFORM=x86_64 10 | ARG GIT_COMMIT 11 | COPY --from=noobaa-core-executable /noobaa/build/noobaa-core ./noobaa-core-${OS}-${PLATFORM}-${GIT_COMMIT} 12 | -------------------------------------------------------------------------------- /src/deploy/supervisord.conf: -------------------------------------------------------------------------------- 1 | [supervisord] 2 | nodaemon=true 3 | 4 | [program:sshd] 5 | command=/usr/sbin/sshd -D -d 6 | autostart=true 7 | autorestart=true 8 | startsecs=10 9 | startretries=3 10 | exitcodes=0,2 11 | stopsignal=TERM 12 | 13 | [program:noobaa_local_service] 14 | command=/usr/loacl/noobaa/node /usr/local/noobaa/src/agent/agent_wrap.js 15 | autostart=true 16 | autorestart=true 17 | startsecs=10 18 | startretries=3 19 | exitcodes=0,2 20 | stopsignal=TERM 21 | -------------------------------------------------------------------------------- /src/endpoint/blob/ops/blob_delete_container.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | async function delete_container(req, res) { 5 | await req.object_sdk.delete_bucket({ name: req.params.bucket }); 6 | res.statusCode = 202; 7 | } 8 | 9 | module.exports = { 10 | handler: delete_container, 11 | body: { 12 | type: 'empty', 13 | }, 14 | reply: { 15 | type: 'empty', 16 | }, 17 | }; 18 | -------------------------------------------------------------------------------- /src/endpoint/blob/ops/blob_get_container_acl.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | // const BlobError = require('../blob_errors').BlobError; 5 | 6 | /** 7 | * https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl 8 | */ 9 | async function get_container_acl(req, res) { 10 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 11 | return { SignedIdentifiers: {} }; 12 | } 13 | 14 | module.exports = { 15 | handler: get_container_acl, 16 | body: { 17 | type: 'empty', 18 | }, 19 | reply: { 20 | type: 'xml', 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /src/endpoint/blob/ops/blob_get_service_properties.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties 6 | */ 7 | function get_service_properties(req, res) { 8 | return { 9 | StorageServiceProperties: {} 10 | }; 11 | } 12 | 13 | module.exports = { 14 | handler: get_service_properties, 15 | body: { 16 | type: 'empty', 17 | }, 18 | reply: { 19 | type: 'xml', 20 | }, 21 | }; 22 | -------------------------------------------------------------------------------- /src/endpoint/blob/ops/blob_get_service_stats.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-stats 6 | */ 7 | function get_service_stats(req, res) { 8 | return { 9 | StorageServiceStats: { 10 | GeoReplication: { 11 | Status: 'unavailable', 12 | LastSyncTime: 'empty', 13 | } 14 | } 15 | }; 16 | } 17 | 18 | module.exports = { 19 | handler: get_service_stats, 20 | body: { 21 | type: 'empty', 22 | }, 23 | reply: { 24 | type: 'xml', 25 | }, 26 | }; 27 | -------------------------------------------------------------------------------- /src/endpoint/blob/ops/blob_put_blob_lease.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | // const BlobError = require('../blob_errors').BlobError; 5 | 6 | async function put_blob_lease(req, res) { 7 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 8 | // TODO implement put_blob_lease 9 | // throw new BlobError(BlobError.NotImplemented); 10 | } 11 | 12 | module.exports = { 13 | handler: put_blob_lease, 14 | body: { 15 | type: 'empty', 16 | }, 17 | reply: { 18 | type: 'empty', 19 | }, 20 | }; 21 | -------------------------------------------------------------------------------- /src/endpoint/blob/ops/blob_put_container.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | async function put_container(req, res) { 5 | await req.object_sdk.create_bucket({ name: req.params.bucket }); 6 | res.statusCode = 201; 7 | } 8 | 9 | module.exports = { 10 | handler: put_container, 11 | body: { 12 | type: 'empty', 13 | }, 14 | reply: { 15 | type: 'empty', 16 | }, 17 | }; 18 | -------------------------------------------------------------------------------- /src/endpoint/blob/ops/blob_put_container_acl.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | // const BlobError = require('../blob_errors').BlobError; 5 | 6 | function get_container_acl(req, res) { 7 | return { 8 | SignedIdentifiers: {} 9 | }; 10 | } 11 | 12 | module.exports = { 13 | handler: get_container_acl, 14 | body: { 15 | type: 'empty', 16 | }, 17 | reply: { 18 | type: 'xml', 19 | }, 20 | }; 21 | -------------------------------------------------------------------------------- /src/endpoint/blob/ops/blob_put_container_metadata.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | // const BlobError = require('../blob_errors').BlobError; 5 | 6 | async function put_container_metadata(req, res) { 7 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 8 | // TODO implement put_container_metadata 9 | // throw new BlobError(BlobError.NotImplemented); 10 | } 11 | 12 | module.exports = { 13 | handler: put_container_metadata, 14 | body: { 15 | type: 'empty', 16 | }, 17 | reply: { 18 | type: 'xml', 19 | }, 20 | }; 21 | -------------------------------------------------------------------------------- /src/endpoint/blob/ops/blob_put_service_properties.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-service-properties 6 | */ 7 | function put_service_properties(req, res) { 8 | res.statusCode = 202; 9 | } 10 | 11 | module.exports = { 12 | handler: put_service_properties, 13 | body: { 14 | type: 'xml', 15 | }, 16 | reply: { 17 | type: 'empty', 18 | }, 19 | }; 20 | -------------------------------------------------------------------------------- /src/endpoint/lambda/ops/lambda_delete_func.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | function delete_func(req, res) { 5 | return req.func_sdk.delete_func({ 6 | name: req.params.func_name, 7 | version: req.query.Qualifier || '$LATEST' 8 | }); 9 | } 10 | 11 | module.exports = { 12 | handler: delete_func, 13 | body: { 14 | type: 'empty', 15 | }, 16 | reply: { 17 | type: 'empty', 18 | }, 19 | }; 20 | -------------------------------------------------------------------------------- /src/endpoint/lambda/ops/lambda_invoke_func.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | async function invoke_func(req, res) { 5 | const func_res = await req.func_sdk.invoke_func({ 6 | name: req.params.func_name, 7 | version: req.query.Qualifier || '$LATEST', 8 | event: req.body, 9 | }); 10 | if (func_res.error) { 11 | res.setHeader('x-amz-function-error', 'Unhandled'); 12 | return func_res.error; 13 | } 14 | return func_res.result; 15 | } 16 | 17 | module.exports = { 18 | handler: invoke_func, 19 | body: { 20 | type: 'json', 21 | }, 22 | reply: { 23 | type: 'json', 24 | }, 25 | }; 26 | -------------------------------------------------------------------------------- /src/endpoint/lambda/ops/lambda_list_funcs.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const _ = require('lodash'); 5 | const lambda_utils = require('../lambda_utils'); 6 | 7 | async function list_funcs(req, res) { 8 | const reply = await req.func_sdk.list_funcs(); 9 | return { 10 | Functions: _.map(reply.functions, func => lambda_utils.get_func_config(func)) 11 | }; 12 | } 13 | 14 | module.exports = { 15 | handler: list_funcs, 16 | body: { 17 | type: 'empty', 18 | }, 19 | reply: { 20 | type: 'json', 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETE.html 6 | */ 7 | function delete_bucket(req, res) { 8 | return req.object_sdk.delete_bucket({ name: req.params.bucket }); 9 | } 10 | 11 | module.exports = { 12 | handler: delete_bucket, 13 | body: { 14 | type: 'empty', 15 | }, 16 | reply: { 17 | type: 'empty', 18 | }, 19 | }; 20 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket_analytics.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEAnalyticsConfiguration.html 6 | */ 7 | async function delete_bucket_analytics(req) { 8 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 9 | // TODO S3 delete_bucket_analytics not implemented 10 | } 11 | 12 | module.exports = { 13 | handler: delete_bucket_analytics, 14 | body: { 15 | type: 'empty', 16 | }, 17 | reply: { 18 | type: 'empty', 19 | }, 20 | }; 21 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket_cors.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEcors.html 6 | */ 7 | async function delete_bucket_cors(req) { 8 | await req.object_sdk.delete_bucket_cors({ 9 | name: req.params.bucket, 10 | }); 11 | } 12 | 13 | module.exports = { 14 | handler: delete_bucket_cors, 15 | body: { 16 | type: 'empty', 17 | }, 18 | reply: { 19 | type: 'empty', 20 | }, 21 | }; 22 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket_encryption.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEencryption.html 6 | */ 7 | async function delete_bucket_encryption(req) { 8 | return req.object_sdk.delete_bucket_encryption({ 9 | name: req.params.bucket 10 | }); 11 | } 12 | 13 | module.exports = { 14 | handler: delete_bucket_encryption, 15 | body: { 16 | type: 'empty', 17 | }, 18 | reply: { 19 | type: 'empty', 20 | }, 21 | }; 22 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket_inventory.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEInventoryConfiguration.html 6 | */ 7 | async function delete_bucket_inventory(req) { 8 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 9 | // TODO S3 delete_bucket_inventory not implemented 10 | } 11 | 12 | module.exports = { 13 | handler: delete_bucket_inventory, 14 | body: { 15 | type: 'empty', 16 | }, 17 | reply: { 18 | type: 'empty', 19 | }, 20 | }; 21 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket_lifecycle.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html 6 | */ 7 | function delete_bucket_lifecycle(req, res) { 8 | return req.object_sdk.delete_bucket_lifecycle({ name: req.params.bucket }); 9 | } 10 | 11 | module.exports = { 12 | handler: delete_bucket_lifecycle, 13 | body: { 14 | type: 'empty', 15 | }, 16 | reply: { 17 | type: 'empty', 18 | }, 19 | }; 20 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket_metrics.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTDeleteBucketMetricsConfiguration.html 6 | */ 7 | async function delete_bucket_metrics(req) { 8 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 9 | // TODO S3 delete_bucket_metrics not implemented 10 | } 11 | 12 | module.exports = { 13 | handler: delete_bucket_metrics, 14 | body: { 15 | type: 'empty', 16 | }, 17 | reply: { 18 | type: 'empty', 19 | }, 20 | }; 21 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket_policy.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html 6 | */ 7 | async function delete_bucket_policy(req) { 8 | await req.object_sdk.delete_bucket_policy({ name: req.params.bucket }); 9 | } 10 | 11 | module.exports = { 12 | handler: delete_bucket_policy, 13 | body: { 14 | type: 'empty', 15 | }, 16 | reply: { 17 | type: 'empty', 18 | }, 19 | }; 20 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket_public_access_block.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2024 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html 6 | */ 7 | async function delete_public_access_block(req) { 8 | await req.object_sdk.delete_public_access_block({ name: req.params.bucket }); 9 | } 10 | 11 | module.exports = { 12 | handler: delete_public_access_block, 13 | body: { 14 | type: 'empty', 15 | }, 16 | reply: { 17 | type: 'empty', 18 | }, 19 | }; 20 | 21 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket_replication.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | // const S3Error = require('../s3_errors').S3Error; 5 | 6 | /** 7 | * https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEreplication.html 8 | */ 9 | async function delete_bucket_replication(req) { 10 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 11 | // TODO S3 delete_bucket_replication not implemented 12 | } 13 | 14 | module.exports = { 15 | handler: delete_bucket_replication, 16 | body: { 17 | type: 'empty', 18 | }, 19 | reply: { 20 | type: 'empty', 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket_tagging.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEtagging.html 6 | */ 7 | async function delete_bucket_tagging(req) { 8 | return req.object_sdk.delete_bucket_tagging({ 9 | name: req.params.bucket 10 | }); 11 | } 12 | 13 | module.exports = { 14 | handler: delete_bucket_tagging, 15 | body: { 16 | type: 'empty', 17 | }, 18 | reply: { 19 | type: 'empty', 20 | }, 21 | }; 22 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_bucket_website.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html 6 | */ 7 | async function delete_bucket_website(req) { 8 | await req.object_sdk.delete_bucket_website({ name: req.params.bucket }); 9 | } 10 | 11 | module.exports = { 12 | handler: delete_bucket_website, 13 | body: { 14 | type: 'empty', 15 | }, 16 | reply: { 17 | type: 'empty', 18 | }, 19 | }; 20 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_delete_object_uploadId.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadAbort.html 6 | * AKA Abort Multipart Upload 7 | */ 8 | async function delete_object_uploadId(req) { 9 | await req.object_sdk.abort_object_upload({ 10 | obj_id: req.query.uploadId, 11 | bucket: req.params.bucket, 12 | key: req.params.key, 13 | }); 14 | } 15 | 16 | module.exports = { 17 | handler: delete_object_uploadId, 18 | body: { 19 | type: 'empty', 20 | }, 21 | reply: { 22 | type: 'empty', 23 | }, 24 | }; 25 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_get_bucket_accelerate.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETaccelerate.html 6 | */ 7 | async function get_bucket_accelerate(req) { 8 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 9 | return { 10 | AccelerateConfiguration: '' 11 | }; 12 | } 13 | 14 | module.exports = { 15 | handler: get_bucket_accelerate, 16 | body: { 17 | type: 'empty', 18 | }, 19 | reply: { 20 | type: 'xml', 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_get_bucket_analytics.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETAnalyticsConfig.html 6 | */ 7 | async function get_bucket_analytics(req) { 8 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 9 | return { 10 | AnalyticsConfiguration: '' 11 | }; 12 | } 13 | 14 | module.exports = { 15 | handler: get_bucket_analytics, 16 | body: { 17 | type: 'empty', 18 | }, 19 | reply: { 20 | type: 'xml', 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_get_bucket_inventory.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html 6 | */ 7 | async function get_bucket_inventory(req) { 8 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 9 | return { 10 | InventoryConfiguration: '' 11 | }; 12 | } 13 | 14 | module.exports = { 15 | handler: get_bucket_inventory, 16 | body: { 17 | type: 'empty', 18 | }, 19 | reply: { 20 | type: 'xml', 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_get_bucket_location.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html 6 | */ 7 | async function get_bucket_location(req) { 8 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 9 | return { 10 | LocationConstraint: '' // default US East 11 | }; 12 | } 13 | 14 | module.exports = { 15 | handler: get_bucket_location, 16 | body: { 17 | type: 'empty', 18 | }, 19 | reply: { 20 | type: 'xml', 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_get_bucket_metrics.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /** 5 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETMetricConfiguration.html 6 | */ 7 | async function get_bucket_metrics(req) { 8 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 9 | return { 10 | MetricsConfiguration: '' 11 | }; 12 | } 13 | 14 | module.exports = { 15 | handler: get_bucket_metrics, 16 | body: { 17 | type: 'empty', 18 | }, 19 | reply: { 20 | type: 'xml', 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_head_bucket.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const s3_utils = require("../s3_utils"); 5 | 6 | /** 7 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketHEAD.html 8 | */ 9 | async function head_bucket(req, res) { 10 | const bucket_info = await req.object_sdk.read_bucket({ name: req.params.bucket }); 11 | s3_utils.set_response_supported_storage_classes(res, bucket_info.supported_storage_classes); 12 | } 13 | 14 | module.exports = { 15 | handler: head_bucket, 16 | body: { 17 | type: 'empty', 18 | }, 19 | reply: { 20 | type: 'empty', 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_post_bucket.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const S3Error = require('../s3_errors').S3Error; 5 | 6 | /** 7 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html 8 | * AKA upload using HTTP multipart/form-data encoding 9 | */ 10 | function post_object(req) { 11 | // TODO S3 post_object not implemented 12 | throw new S3Error(S3Error.NotImplemented); 13 | 14 | } 15 | 16 | module.exports = { 17 | handler: post_object, 18 | body: { 19 | type: 'raw', 20 | }, 21 | reply: { 22 | type: 'xml', 23 | }, 24 | }; 25 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_put_bucket_accelerate.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const S3Error = require('../s3_errors').S3Error; 5 | 6 | /** 7 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTaccelerate.html 8 | */ 9 | async function put_bucket_accelerate(req) { 10 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 11 | // TODO S3 put_bucket_accelerate not implemented 12 | throw new S3Error(S3Error.NotImplemented); 13 | } 14 | 15 | module.exports = { 16 | handler: put_bucket_accelerate, 17 | body: { 18 | type: 'xml', 19 | }, 20 | reply: { 21 | type: 'empty', 22 | }, 23 | }; 24 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_put_bucket_analytics.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const S3Error = require('../s3_errors').S3Error; 5 | 6 | /** 7 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTAnalyticsConfig.html 8 | */ 9 | async function put_bucket_analytics(req) { 10 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 11 | // TODO S3 put_bucket_analytics not implemented 12 | throw new S3Error(S3Error.NotImplemented); 13 | } 14 | 15 | module.exports = { 16 | handler: put_bucket_analytics, 17 | body: { 18 | type: 'xml', 19 | }, 20 | reply: { 21 | type: 'empty', 22 | }, 23 | }; 24 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_put_bucket_encryption.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const s3_utils = require('../s3_utils'); 5 | 6 | /** 7 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html 8 | */ 9 | async function put_bucket_encryption(req) { 10 | const encryption = s3_utils.parse_body_encryption_xml(req); 11 | return req.object_sdk.put_bucket_encryption({ 12 | name: req.params.bucket, 13 | encryption 14 | }); 15 | } 16 | 17 | module.exports = { 18 | handler: put_bucket_encryption, 19 | body: { 20 | type: 'xml', 21 | }, 22 | reply: { 23 | type: 'empty', 24 | }, 25 | }; 26 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_put_bucket_inventory.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const S3Error = require('../s3_errors').S3Error; 5 | 6 | /** 7 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTInventoryConfig.html 8 | */ 9 | async function put_bucket_inventory(req) { 10 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 11 | // TODO S3 put_bucket_inventory not implemented 12 | throw new S3Error(S3Error.NotImplemented); 13 | } 14 | 15 | module.exports = { 16 | handler: put_bucket_inventory, 17 | body: { 18 | type: 'xml', 19 | }, 20 | reply: { 21 | type: 'empty', 22 | }, 23 | }; 24 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_put_bucket_metrics.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const S3Error = require('../s3_errors').S3Error; 5 | 6 | /** 7 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html 8 | */ 9 | async function put_bucket_metrics(req) { 10 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 11 | // TODO S3 put_bucket_metrics not implemented 12 | throw new S3Error(S3Error.NotImplemented); 13 | } 14 | 15 | module.exports = { 16 | handler: put_bucket_metrics, 17 | body: { 18 | type: 'xml', 19 | }, 20 | reply: { 21 | type: 'empty', 22 | }, 23 | }; 24 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_put_bucket_replication.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const S3Error = require('../s3_errors').S3Error; 5 | 6 | /** 7 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html 8 | */ 9 | async function put_bucket_replication(req) { 10 | await req.object_sdk.read_bucket({ name: req.params.bucket }); 11 | // TODO S3 put_bucket_replication not implemented 12 | throw new S3Error(S3Error.NotImplemented); 13 | } 14 | 15 | module.exports = { 16 | handler: put_bucket_replication, 17 | body: { 18 | type: 'xml', 19 | }, 20 | reply: { 21 | type: 'empty', 22 | }, 23 | }; 24 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_put_bucket_tagging.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const s3_utils = require('../s3_utils'); 5 | 6 | /** 7 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTtagging.html 8 | */ 9 | async function put_bucket_tagging(req) { 10 | const tag_set = s3_utils.parse_body_tagging_xml(req); 11 | return req.object_sdk.put_bucket_tagging({ 12 | name: req.params.bucket, 13 | tagging: tag_set 14 | }); 15 | } 16 | 17 | module.exports = { 18 | handler: put_bucket_tagging, 19 | body: { 20 | type: 'xml', 21 | }, 22 | reply: { 23 | type: 'empty', 24 | }, 25 | }; 26 | -------------------------------------------------------------------------------- /src/endpoint/s3/ops/s3_put_bucket_website.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const s3_utils = require('../s3_utils'); 5 | 6 | /** 7 | * http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html 8 | */ 9 | async function put_bucket_website(req) { 10 | const website = s3_utils.parse_body_website_xml(req); 11 | await req.object_sdk.put_bucket_website({ 12 | name: req.params.bucket, 13 | website 14 | }); 15 | } 16 | 17 | module.exports = { 18 | handler: put_bucket_website, 19 | body: { 20 | type: 'xml', 21 | }, 22 | reply: { 23 | type: 'empty', 24 | }, 25 | }; 26 | -------------------------------------------------------------------------------- /src/endpoint/s3/s3_constants.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | // `s3_const` serves as an alias for `exports` which expose constants related to s3 operations 5 | // keeping name referencing consistent to s3_const.NAME for easier imports and searches 6 | const s3_const = exports; 7 | 8 | /////////////// 9 | // LIFECYCLE // 10 | /////////////// 11 | 12 | s3_const.MAX_RULE_ID_LENGTH = 255; 13 | s3_const.LIFECYCLE_STATUS = Object.freeze({ 14 | STAT_ENABLED: 'Enabled', 15 | STAT_DISABLED: 'Disabled' 16 | }); 17 | -------------------------------------------------------------------------------- /src/lambda_funcs/read_bucket_func.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /* sample event: 5 | { 6 | "name": "bucket_name" 7 | } 8 | */ 9 | 10 | exports.handler = function(event, context, callback) { 11 | context.rpc_client.bucket.read_bucket(event) 12 | .then(res => callback(null, JSON.stringify(res))) 13 | .catch(err => callback(err)); 14 | }; 15 | -------------------------------------------------------------------------------- /src/lambda_funcs/set_account_ip_access_func.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | /* sample event: 5 | { 6 | "email": "email@email.com", 7 | "ips": ["1.1.1.1"] 8 | } 9 | */ 10 | 11 | exports.handler = function(event, context, callback) { 12 | context.rpc_client.account.update_account(event) 13 | .then(res => callback(null, "Done")) 14 | .catch(err => callback(err)); 15 | }; 16 | -------------------------------------------------------------------------------- /src/native/nb_native_nan.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | #include "n2n/ntcp.h" 3 | #include "n2n/nudp.h" 4 | #include "util/tpool.h" 5 | 6 | namespace noobaa 7 | { 8 | 9 | NAN_MODULE_INIT(setup) 10 | { 11 | Nudp::setup(target); 12 | Ntcp::setup(target); 13 | 14 | ThreadPool::setup(target); 15 | } 16 | 17 | NODE_MODULE(nb_native_nan, setup) 18 | 19 | } // namespace noobaa 20 | -------------------------------------------------------------------------------- /src/native/test/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | -------------------------------------------------------------------------------- /src/native/test/binding.gyp: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2016 NooBaa 2 | { 3 | 'includes': ['../common.gypi'], 4 | 'targets': [{ 5 | 'target_name': 'os_test', 6 | 'type': 'executable', 7 | 'sources': [ 8 | 'os_test.cpp', 9 | '../util/os.h', 10 | '../util/os_linux.cpp', 11 | '../util/os_darwin.cpp', 12 | ], 13 | }], 14 | } 15 | -------------------------------------------------------------------------------- /src/native/third_party/common_third_party.gypi: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2016 NooBaa 2 | { 3 | 'includes': ['../common.gypi'], 4 | 'variables': { 5 | 'disabled_warnings': ['-W', '-Wall'], 6 | }, 7 | 'target_defaults': { 8 | 'cflags!': ['<@(disabled_warnings)'], 9 | 'conditions' : [ 10 | [ 'OS=="mac"', { 11 | 'xcode_settings': { 12 | 'WARNING_CFLAGS!': ['<@(disabled_warnings)'], 13 | }, 14 | }], 15 | ], 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | autoreconf --install --symlink -f 4 | 5 | libdir() { 6 | echo $(cd $1/$(gcc -print-multi-os-directory); pwd) 7 | } 8 | 9 | args="--prefix=/usr --libdir=$(libdir /usr/lib)" 10 | 11 | echo 12 | echo "----------------------------------------------------------------" 13 | echo "Initialized build system. For a common configuration please run:" 14 | echo "----------------------------------------------------------------" 15 | echo 16 | echo "./configure $args" 17 | echo 18 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/examples/ec/Makefile.unx: -------------------------------------------------------------------------------- 1 | 2 | default: ex 3 | 4 | include ../../erasure_code/Makefile.am 5 | include Makefile.am 6 | include ../../make.inc 7 | 8 | VPATH = . ../../erasure_code ../../include 9 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/igzip/flatten_ll.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void flatten_ll(uint32_t *ll_hist); 4 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/igzip/igzip_checksums.h: -------------------------------------------------------------------------------- 1 | #ifndef IGZIP_CHECKSUMS_H 2 | #define IGZIP_CHECKSUMS_H 3 | 4 | #include 5 | 6 | #define MAX_ADLER_BUF (1 << 28) 7 | #define ADLER_MOD 65521 8 | 9 | uint32_t isal_adler32(uint32_t init_crc, const unsigned char *buf, uint64_t len); 10 | uint32_t isal_adler32_bam1(uint32_t init_crc, const unsigned char *buf, uint64_t len); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/igzip/igzip_decode_block_stateless_01.asm: -------------------------------------------------------------------------------- 1 | %define ARCH 01 2 | 3 | %include "igzip_decode_block_stateless.asm" 4 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/igzip/igzip_decode_block_stateless_04.asm: -------------------------------------------------------------------------------- 1 | %define ARCH 04 2 | %define USE_HSWNI 3 | 4 | %include "igzip_decode_block_stateless.asm" 5 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/igzip/igzip_update_histogram_01.asm: -------------------------------------------------------------------------------- 1 | %define ARCH 01 2 | 3 | %ifndef COMPARE_TYPE 4 | %define COMPARE_TYPE 2 5 | %endif 6 | 7 | %include "igzip_update_histogram.asm" 8 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/igzip/igzip_update_histogram_04.asm: -------------------------------------------------------------------------------- 1 | %define ARCH 04 2 | %define USE_HSWNI 3 | 4 | %ifndef COMPARE_TYPE 5 | %define COMPARE_TYPE 3 6 | %endif 7 | 8 | %include "igzip_update_histogram.asm" 9 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/libisal.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libisal 7 | Description: Library for storage systems 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lisal 10 | Libs.private: 11 | Cflags: -I${includedir} 12 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/tests/fuzz/Makefile.unx: -------------------------------------------------------------------------------- 1 | 2 | default: llvm_fuzz_tests 3 | 4 | include ../../igzip/Makefile.am 5 | include Makefile.am 6 | include ../../make.inc 7 | 8 | CC = clang 9 | CXX = clang++ 10 | CXXFLAGS += $(DEFINES) 11 | 12 | VPATH = . ../../igzip ../../include 13 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/tests/fuzz/igzip_simple_inflate_fuzz_test.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "igzip_lib.h" 5 | 6 | int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) 7 | { 8 | struct inflate_state state; 9 | uint8_t *isal_out_buf = (uint8_t *) (malloc(size * 2)); 10 | size_t out_buf_size = 2 * size; 11 | 12 | isal_inflate_init(&state); 13 | state.next_in = (uint8_t *) data; 14 | state.avail_in = size; 15 | state.next_out = isal_out_buf; 16 | state.avail_out = out_buf_size; 17 | 18 | isal_inflate_stateless(&state); 19 | 20 | free(isal_out_buf); 21 | return 0; 22 | } 23 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/tools/iindent: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | indent -linux -l95 -cp1 -lps -il6 -ncs "$@" 3 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/tools/remove_trailing_whitespace.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | sed -i -i.bak 's/[[:blank:]]*$//' "$@" 3 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l/tools/test_tools.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | function test_start() 4 | { 5 | echo "entering test: $1" 6 | } 7 | 8 | function test_end() 9 | { 10 | echo "leaving test: $1 status: $2" 11 | } 12 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l_crypto/SECURITY.md: -------------------------------------------------------------------------------- 1 | # ISA-L Security Policy 2 | 3 | ## Report a Vulnerability 4 | 5 | Please report security issues or vulnerabilities to the [Intel Security Center]. 6 | 7 | For more information on how Intel works to resolve security issues, see 8 | [Vulnerability Handling Guidelines]. 9 | 10 | [Intel Security Center]:https://www.intel.com/security 11 | [Vulnerability Handling Guidelines]:https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html 12 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l_crypto/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | autoreconf --install --symlink -f 4 | 5 | libdir() { 6 | echo $(cd $1/$(gcc -print-multi-os-directory); pwd) 7 | } 8 | 9 | args="--prefix=/usr --libdir=$(libdir /usr/lib)" 10 | 11 | echo 12 | echo "----------------------------------------------------------------" 13 | echo "Initialized build system. For a common configuration please run:" 14 | echo "----------------------------------------------------------------" 15 | echo 16 | echo "./configure $args" 17 | echo 18 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l_crypto/examples/saturation_test/sha1_thread.c: -------------------------------------------------------------------------------- 1 | 2 | #define HASH_THREAD 3 | /* sha1 related params and structures*/ 4 | #define DIGEST_NWORDS SHA1_DIGEST_NWORDS 5 | #define MB_BUFS SHA1_MAX_LANES 6 | #define HASH_CTX_MGR SHA1_HASH_CTX_MGR 7 | #define HASH_CTX SHA1_HASH_CTX 8 | 9 | #define OSSL_THREAD_FUNC sha1_ossl_func 10 | #define OSSL_HASH_FUNC SHA1 11 | #define MB_THREAD_FUNC sha1_mb_func 12 | #define CTX_MGR_INIT sha1_ctx_mgr_init 13 | #define CTX_MGR_SUBMIT sha1_ctx_mgr_submit 14 | #define CTX_MGR_FLUSH sha1_ctx_mgr_flush 15 | 16 | #define rounds_buf SHA1_MAX_LANES 17 | 18 | #include "md5_thread.c" 19 | 20 | #undef HASH_THREAD 21 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l_crypto/libisal_crypto.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libisal_crypto 7 | Description: Crypto library for storage systems 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lisal_crypto 10 | Libs.private: 11 | Cflags: -I${includedir} 12 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l_crypto/tests/extended/Makefile: -------------------------------------------------------------------------------- 1 | CFLAGS += -I ../../include 2 | libs += ../../bin/isa-l_crypto.a 3 | tests = $(patsubst %test.c, %test, $(wildcard *_test.c)) 4 | 5 | tests: $(tests) 6 | $(tests): $(libs) 7 | %test: %test.c 8 | $(CC) $< $(libs) $(CFLAGS) $(LDLIBS) -o $@ 9 | $(libs): 10 | $(MAKE) -C ../../ -f Makefile.unx 11 | test: $(addsuffix .run,$(tests)) 12 | @echo ALL PASS 13 | $(addsuffix .run,$(tests)): %.run: % 14 | $(SIM) ./$< 15 | @echo Completed run: $< 16 | clean: 17 | $(RM) *.o $(tests) 18 | 19 | $(tests): LDLIBS += -lcrypto 20 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l_crypto/tools/iindent: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | indent -linux -l95 -cp1 -lps -il6 -ncs "$@" 3 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l_crypto/tools/remove_trailing_whitespace.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | sed -i -i.bak 's/[[:blank:]]*$//' "$@" 3 | -------------------------------------------------------------------------------- /src/native/third_party/isa-l_crypto/tools/test_tools.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | function test_start() 4 | { 5 | echo "entering test: $1" 6 | } 7 | 8 | function test_end() 9 | { 10 | echo "leaving test: $1 status: $2" 11 | } 12 | -------------------------------------------------------------------------------- /src/native/third_party/libutp/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.a 3 | *.so 4 | ucat 5 | ucat-static 6 | tags 7 | *~ 8 | -------------------------------------------------------------------------------- /src/native/third_party/libutp/prop_sheets/RunTimeDebug.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | MultiThreadedDebug 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/native/third_party/libutp/prop_sheets/RunTimeRelease.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | MultiThreaded 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/native/third_party/libutp/prop_sheets/win32-2012.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | MachineX86 9 | 10 | 11 | 4Bytes 12 | NoExtensions 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/native/third_party/libutp/prop_sheets/x64-2012.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/native/third_party/snappy/AUTHORS: -------------------------------------------------------------------------------- 1 | opensource@google.com 2 | -------------------------------------------------------------------------------- /src/native/third_party/versions.md: -------------------------------------------------------------------------------- 1 | # Third party native libraries sources: 2 | 3 | - https://github.com/intel/isa-l v2.30.0 4 | - https://github.com/intel/isa-l_crypto.git 4f729766da9021e3074191bab07820a8ed6cad6b 5 | - https://github.com/catid/gf256.git 2f88f20ec3f80d304ce060c824aac31cb0d684ae 6 | -------------------------------------------------------------------------------- /src/native/util/common.cpp: -------------------------------------------------------------------------------- 1 | #include "common.h" 2 | 3 | namespace noobaa 4 | { 5 | bool LOG_TO_STDERR_ENABLED = true; 6 | bool LOG_TO_SYSLOG_ENABLED = false; 7 | } 8 | -------------------------------------------------------------------------------- /src/native/util/compression.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | #pragma once 3 | 4 | #include "buf.h" 5 | #include "common.h" 6 | 7 | namespace noobaa 8 | { 9 | 10 | /** 11 | * supported types: "zlib", "snappy" 12 | */ 13 | class Compression 14 | { 15 | public: 16 | static Buf compress(Buf buf, std::string type); 17 | static Buf decompress(Buf buf, int decompressed_len, std::string type); 18 | }; 19 | 20 | } // namespace noobaa 21 | -------------------------------------------------------------------------------- /src/native/util/snappy.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | #pragma once 3 | 4 | #include "struct_buf.h" 5 | 6 | namespace noobaa 7 | { 8 | 9 | int nb_snappy_compress(struct NB_Bufs* bufs, struct NB_Bufs* errors); 10 | int nb_snappy_uncompress(struct NB_Bufs* bufs, struct NB_Bufs* errors); 11 | } 12 | -------------------------------------------------------------------------------- /src/native/util/zlib.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | #pragma once 3 | 4 | #include "struct_buf.h" 5 | 6 | namespace noobaa 7 | { 8 | 9 | int nb_zlib_compress(struct NB_Bufs* bufs, struct NB_Bufs* errors); 10 | int nb_zlib_uncompress(struct NB_Bufs* bufs, int uncompressed_len, struct NB_Bufs* errors); 11 | } 12 | -------------------------------------------------------------------------------- /src/nc/nc_constants.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2024 NooBaa */ 2 | 'use strict'; 3 | 4 | const GPFS_EXTERNAL_BINS = Object.freeze({ 5 | MMAPPLYPOLICY: 'mmapplypolicy', 6 | MMLSFS: 'mmlsfs' 7 | }); 8 | 9 | // EXPORTS 10 | exports.GPFS_EXTERNAL_BINS = GPFS_EXTERNAL_BINS; 11 | -------------------------------------------------------------------------------- /src/rpc/index.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const RPC = require('./rpc'); 5 | const RpcError = require('./rpc_error'); 6 | const RpcSchema = require('./rpc_schema'); 7 | const RpcRequest = require('./rpc_request'); 8 | 9 | exports.RPC = RPC; 10 | exports.RpcError = RpcError; 11 | exports.RpcSchema = RpcSchema; 12 | exports.RpcRequest = RpcRequest; 13 | exports.RPC_BUFFERS = RpcRequest.RPC_BUFFERS; 14 | -------------------------------------------------------------------------------- /src/s3/s3rver.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | require('../endpoint/endpoint').main(); 5 | -------------------------------------------------------------------------------- /src/s3/s3rver_starter.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | require('../endpoint/endpoint').main(); 5 | -------------------------------------------------------------------------------- /src/server/analytic_services/activity_log_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | time: 1, 7 | }, 8 | options: { 9 | unique: false, 10 | } 11 | }, ]; 12 | -------------------------------------------------------------------------------- /src/server/analytic_services/bucket_stats_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | bucket: 1 7 | }, 8 | options: { 9 | unique: false, 10 | } 11 | }, ]; 12 | -------------------------------------------------------------------------------- /src/server/analytic_services/endpoint_group_report_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | start_time: 1, 7 | end_time: 1, 8 | group_name: 1, 9 | }, 10 | options: { 11 | unique: false, 12 | } 13 | }]; 14 | -------------------------------------------------------------------------------- /src/server/analytic_services/io_stats_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | system: 1, 7 | resource_id: 1, 8 | resource_type: 1, 9 | start_time: 1, 10 | end_time: 1 11 | }, 12 | options: { 13 | unique: false, 14 | } 15 | }, ]; 16 | -------------------------------------------------------------------------------- /src/server/analytic_services/s3_usage_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | system: 1, 7 | }, 8 | options: { 9 | unique: true, 10 | } 11 | }, ]; 12 | -------------------------------------------------------------------------------- /src/server/analytic_services/usage_report_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [ 5 | // There are many other fields in the table but this is a common denominator 6 | // and the hot query uses only these fields. 7 | { 8 | fields: { 9 | start_time: 1, 10 | end_time: 1, 11 | bucket: 1, 12 | }, 13 | options: { 14 | unique: false, 15 | } 16 | } 17 | ]; 18 | -------------------------------------------------------------------------------- /src/server/bg_services/README.md: -------------------------------------------------------------------------------- 1 | #noobaa-core bg_workers 2 | =========== 3 | 4 | bg_workers contains the background workers such as the build chunks worker. 5 | They have been split out from the MD server into their own process. 6 | 7 | scrubber - Rebuilding chunks which are not in optimal state. 8 | 9 | To run locally: 10 | ```node src/server/bg_workers.js``` 11 | -------------------------------------------------------------------------------- /src/server/common_services/debug_server.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const dbg = require('../../util/debug_module')(__filename); 5 | const nb_native = require('../../util/nb_native'); 6 | 7 | function set_debug_level(req) { 8 | dbg.log0('Received set_debug_level req for level', req.rpc_params.level, 'mod', req.rpc_params.module); 9 | dbg.set_module_level(req.rpc_params.level, req.rpc_params.module); 10 | nb_native().fs.set_debug_level(req.rpc_params.level); 11 | } 12 | 13 | // EXPORTS 14 | exports.set_debug_level = set_debug_level; 15 | -------------------------------------------------------------------------------- /src/server/func_services/func_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | system: 1, 7 | name: 1, 8 | version: 1, 9 | deleted: 1, // allow to filter deleted 10 | }, 11 | options: { 12 | unique: true, 13 | } 14 | }, ]; 15 | -------------------------------------------------------------------------------- /src/server/func_services/func_stats_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | system: 1, 7 | id: 1, 8 | latency_ms: 1, 9 | }, 10 | options: { 11 | unique: false, 12 | } 13 | }, ]; 14 | -------------------------------------------------------------------------------- /src/server/system_services/schemas/account_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | email: 1, 7 | }, 8 | options: { 9 | unique: true, 10 | partialFilterExpression: { 11 | deleted: null, 12 | } 13 | } 14 | }, ]; 15 | -------------------------------------------------------------------------------- /src/server/system_services/schemas/agent_config_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | system: 1, 7 | name: 1 8 | }, 9 | options: { 10 | unique: true, 11 | } 12 | }, ]; 13 | -------------------------------------------------------------------------------- /src/server/system_services/schemas/bucket_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | system: 1, 7 | name: 1, 8 | }, 9 | options: { 10 | unique: true, 11 | partialFilterExpression: { 12 | deleted: null, 13 | } 14 | } 15 | }, ]; 16 | -------------------------------------------------------------------------------- /src/server/system_services/schemas/cluster_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | owner_secret: 1, 7 | }, 8 | options: { 9 | unique: true, 10 | } 11 | }, ]; 12 | -------------------------------------------------------------------------------- /src/server/system_services/schemas/config_file_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | filename: 1, 7 | }, 8 | options: { 9 | unique: true, 10 | } 11 | }, ]; 12 | -------------------------------------------------------------------------------- /src/server/system_services/schemas/config_file_schema.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = { 5 | $id: 'certificate_schema', 6 | type: 'object', 7 | required: [ 8 | '_id', 9 | 'filename', 10 | 'data' 11 | ], 12 | properties: { 13 | _id: { 14 | objectid: true 15 | }, 16 | encoding: { 17 | type: 'string', 18 | enum: ['ascii', 'utf8', 'base64', 'hex'] 19 | }, 20 | filename: { 21 | type: 'string' 22 | }, 23 | data: { 24 | type: 'string' 25 | } 26 | } 27 | }; 28 | -------------------------------------------------------------------------------- /src/server/system_services/schemas/namespace_resource_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | name: 1, 7 | }, 8 | options: { 9 | unique: true, 10 | partialFilterExpression: { 11 | deleted: null, 12 | } 13 | } 14 | }, ]; 15 | -------------------------------------------------------------------------------- /src/server/system_services/schemas/pool_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | system: 1, 7 | name: 1, 8 | }, 9 | options: { 10 | unique: true, 11 | partialFilterExpression: { 12 | deleted: null, 13 | } 14 | } 15 | }, ]; 16 | -------------------------------------------------------------------------------- /src/server/system_services/schemas/system_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | name: 1, 7 | }, 8 | options: { 9 | unique: true, 10 | partialFilterExpression: { 11 | deleted: null, 12 | } 13 | } 14 | }, ]; 15 | -------------------------------------------------------------------------------- /src/server/system_services/schemas/tier_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | system: 1, 7 | name: 1, 8 | }, 9 | options: { 10 | unique: true, 11 | partialFilterExpression: { 12 | deleted: null, 13 | } 14 | } 15 | }, ]; 16 | -------------------------------------------------------------------------------- /src/server/system_services/schemas/tiering_policy_indexes.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = [{ 5 | fields: { 6 | system: 1, 7 | name: 1, 8 | }, 9 | options: { 10 | unique: true, 11 | partialFilterExpression: { 12 | deleted: null, 13 | } 14 | } 15 | }, ]; 16 | -------------------------------------------------------------------------------- /src/test/framework/namespace_cache_tests_list.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | // This test list is used as a basic sanity test list 5 | 6 | const tests = [{ 7 | name: 'namespace-cache-test', 8 | test: './src/test/pipeline/run_namespace_cache_tests', 9 | server_cpu: '400m', 10 | server_mem: '400Mi', 11 | }]; 12 | 13 | module.exports = tests; 14 | -------------------------------------------------------------------------------- /src/test/framework/prepare_podman_env.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source /root/.bashrc 3 | 4 | # we must stop all services to release ports 5 | supervisorctl stop all 6 | 7 | # remove all iptables rules to avoid blocking networking to the containers 8 | 9 | 10 | cd /root/node_modules/noobaa-core 11 | #install podman 12 | yum install -y podman 13 | 14 | # this flag must be set to allow containers that run systemd access to cgroup configuration on host 15 | # https://blog.tinned-software.net/docker-container-on-rhel-fails-to-start-without-error/ 16 | setsebool -P container_manage_cgroup 1 17 | 18 | #build docker image 19 | ./src/deploy/NVA_build/podman_build_container.sh 20 | 21 | -------------------------------------------------------------------------------- /src/test/framework/sanity_tests_list.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | // This test list is used as a basic sanity test list 5 | 6 | const tests = [{ 7 | name: 'sanity-build-test', 8 | test: './src/test/system_tests/sanity_build_test', 9 | server_cpu: '400m', 10 | server_mem: '400Mi', 11 | }]; 12 | 13 | module.exports = tests; 14 | -------------------------------------------------------------------------------- /src/test/lambda/delete_backup_file_func.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const AWS = require('aws-sdk'); 5 | 6 | exports.handler = function(event, context, callback) { 7 | const srcBucket = event.Records[0].s3.bucket.name; 8 | const key = event.Records[0].s3.object.key; 9 | const s3 = new AWS.S3(); 10 | 11 | s3.deleteObject({ 12 | Bucket: srcBucket, 13 | Key: key + '.json', 14 | }) 15 | .promise() 16 | .then(() => callback(null)) 17 | .catch(err => callback(err)); 18 | }; 19 | -------------------------------------------------------------------------------- /src/test/lambda/dos_event_sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "time": 1000, 3 | "concur": 10, 4 | "func_name": "word_count_func", 5 | "func_event": { 6 | "text": "The enemy is anybody who's going to get you killed, no matter which side he is on." 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/pipeline/config-local.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | module.exports = config => { 5 | 6 | config.NAMESPACE_CACHING.DEFAULT_MAX_CACHE_OBJECT_SIZE = 4 * 1024 * 1024; 7 | config.NAMESPACE_CACHING.DISABLE_BUCKET_FREE_SPACE_CHECK = true; 8 | 9 | }; 10 | -------------------------------------------------------------------------------- /src/test/scripts/reset_cluster.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | GRACE_TIME=1 3 | HOSTNAME=`hostname` 4 | echo "This server ($(hostname)) will be removed from the cluster in ${GRACE_TIME} seconds. you can still abort" 5 | sleep $GRACE_TIME 6 | echo "removing $(hostname) from the cluster..." 7 | 8 | cp -f /root/node_modules/noobaa-core/src/deploy/NVA_build/noobaa_supervisor.conf /data/noobaa_supervisor.conf 9 | sed -i "s:MONGO_RS_URL.*::" /data/.env 10 | supervisorctl shutdown 11 | supervisord start 12 | sleep 5 13 | /usr/bin/mongo nbcore --eval "db.dropDatabase()" 14 | /usr/bin/mongo local --eval "db.dropDatabase()" 15 | supervisorctl shutdown 16 | supervisord start -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/NOTICE: -------------------------------------------------------------------------------- 1 | AWS Signature Version 4 Test Suite 2 | Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-key-duplicate/get-header-key-duplicate.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | 4 | host:example.amazonaws.com 5 | my-header1:value2,value2,value1 6 | x-amz-date:20150830T123600Z 7 | 8 | host;my-header1;x-amz-date 9 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-key-duplicate/get-header-key-duplicate.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1:value2 4 | My-Header1:value2 5 | My-Header1:value1 6 | X-Amz-Date:20150830T123600Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-key-duplicate/get-header-key-duplicate.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | dc7f04a3abfde8d472b0ab1a418b741b7c67174dad1551b4117b15527fbe966c -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-value-multiline/get-header-value-multiline.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | 4 | host:example.amazonaws.com 5 | my-header1:value1,value2,value3 6 | x-amz-date:20150830T123600Z 7 | 8 | host;my-header1;x-amz-date 9 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-value-multiline/get-header-value-multiline.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1:value1 4 | value2 5 | value3 6 | X-Amz-Date:20150830T123600Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=ba17b383a53190154eb5fa66a1b836cc297cc0a3d70a5d00705980573d8ff790 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-value-multiline/get-header-value-multiline.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-value-order/get-header-value-order.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | 4 | host:example.amazonaws.com 5 | my-header1:value4,value1,value3,value2 6 | x-amz-date:20150830T123600Z 7 | 8 | host;my-header1;x-amz-date 9 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-value-order/get-header-value-order.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1:value4 4 | My-Header1:value1 5 | My-Header1:value3 6 | My-Header1:value2 7 | X-Amz-Date:20150830T123600Z 8 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-value-order/get-header-value-order.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 31ce73cd3f3d9f66977ad3dd957dc47af14df92fcd8509f59b349e9137c58b86 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-value-trim/get-header-value-trim.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | 4 | host:example.amazonaws.com 5 | my-header1:value1 6 | my-header2:"a b c" 7 | x-amz-date:20150830T123600Z 8 | 9 | host;my-header1;my-header2;x-amz-date 10 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-value-trim/get-header-value-trim.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1: value1 4 | My-Header2: "a b c" 5 | X-Amz-Date:20150830T123600Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-header-value-trim/get-header-value-trim.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | a726db9b0df21c14f559d0a978e563112acb1b9e05476f0a6a1c7d68f28605c7 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-unreserved/get-unreserved.creq: -------------------------------------------------------------------------------- 1 | GET 2 | /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-unreserved/get-unreserved.sreq: -------------------------------------------------------------------------------- 1 | GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-unreserved/get-unreserved.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 6a968768eefaa713e2a6b16b589a8ea192661f098f37349f4e2c0082757446f9 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-utf8/get-utf8.creq: -------------------------------------------------------------------------------- 1 | GET 2 | /%E1%88%B4 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-utf8/get-utf8.sreq: -------------------------------------------------------------------------------- 1 | GET /%E1%88%B4 HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85 5 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-utf8/get-utf8.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 2a0a97d02205e45ce2e994789806b19270cfbbb0921b278ccf58f5249ac42102 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | Param1=value1 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sreq: -------------------------------------------------------------------------------- 1 | GET /?Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 1e24db194ed7d0eec2de28d7369675a243488e08526e8c1c73571282f7c517ab -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | Param1=value1&Param2=value2 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sreq: -------------------------------------------------------------------------------- 1 | GET /?Param2=value2&Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | -._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq: -------------------------------------------------------------------------------- 1 | GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | c30d4703d9f799439be92736156d47ccfb2d879ddf56f5befa6d1d6aab979177 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-query/get-vanilla-query.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-query/get-vanilla-query.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-query/get-vanilla-query.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | %E1%88%B4=bar 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-utf8-query/get-vanilla-utf8-query.sreq: -------------------------------------------------------------------------------- 1 | GET /?%E1%88%B4=bar HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04 5 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | eb30c5bed55734080471a834cc727ae56beb50e5f39d1bff6d0d38cb192a7073 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla/get-vanilla.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla/get-vanilla.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/get-vanilla/get-vanilla.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-relative-relative/get-relative-relative.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-relative-relative/get-relative-relative.sreq: -------------------------------------------------------------------------------- 1 | GET /example1/example2/../.. HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-relative-relative/get-relative-relative.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-relative/get-relative.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-relative/get-relative.sreq: -------------------------------------------------------------------------------- 1 | GET /example/.. HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-relative/get-relative.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sreq: -------------------------------------------------------------------------------- 1 | GET /./ HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq: -------------------------------------------------------------------------------- 1 | GET 2 | /example 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sreq: -------------------------------------------------------------------------------- 1 | GET /./example HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 214d50c111a8edc4819da6a636336472c916b5240f51e9a51b5c3305180cf702 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slash/get-slash.creq: -------------------------------------------------------------------------------- 1 | GET 2 | / 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slash/get-slash.sreq: -------------------------------------------------------------------------------- 1 | GET // HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slash/get-slash.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slashes/get-slashes.creq: -------------------------------------------------------------------------------- 1 | GET 2 | /example/ 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slashes/get-slashes.sreq: -------------------------------------------------------------------------------- 1 | GET //example// HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-slashes/get-slashes.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | cb96b4ac96d501f7c5c15bc6d67b3035061cfced4af6585ad927f7e6c985c015 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-space/get-space.creq: -------------------------------------------------------------------------------- 1 | GET 2 | /example%20space/ 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-space/get-space.sreq: -------------------------------------------------------------------------------- 1 | GET /example%20space/ HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741 5 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/get-space/get-space.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/normalize-path/normalize-path.txt: -------------------------------------------------------------------------------- 1 | A note about signing requests to Amazon S3: 2 | 3 | In exception to this, you do not normalize URI paths for requests to Amazon S3. For example, if you have a bucket with an object named my-object//example//photo.user, use that path. Normalizing the path to my-object/example/photo.user will cause the request to fail. For more information, see Task 1: Create a Canonical Request in the Amazon Simple Storage Service API Reference: http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html#canonical-request -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-header-key-case/post-header-key-case.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-header-key-case/post-header-key-case.sreq: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-header-key-case/post-header-key-case.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 553f88c9e4d10fc9e109e2aeb65f030801b70c2f6468faca261d401ae622fc87 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-header-key-sort/post-header-key-sort.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | 4 | host:example.amazonaws.com 5 | my-header1:value1 6 | x-amz-date:20150830T123600Z 7 | 8 | host;my-header1;x-amz-date 9 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-header-key-sort/post-header-key-sort.sreq: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1:value1 4 | X-Amz-Date:20150830T123600Z 5 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-header-key-sort/post-header-key-sort.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 9368318c2967cf6de74404b30c65a91e8f6253e0a8659d6d5319f1a812f87d65 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-header-value-case/post-header-value-case.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | 4 | host:example.amazonaws.com 5 | my-header1:VALUE1 6 | x-amz-date:20150830T123600Z 7 | 8 | host;my-header1;x-amz-date 9 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-header-value-case/post-header-value-case.sreq: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host:example.amazonaws.com 3 | My-Header1:VALUE1 4 | X-Amz-Date:20150830T123600Z 5 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-header-value-case/post-header-value-case.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | d51ced243e649e3de6ef63afbbdcbca03131a21a7103a1583706a64618606a93 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-sts-token/post-sts-header-after/post-sts-header-after.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-sts-token/post-sts-header-after/post-sts-header-after.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 553f88c9e4d10fc9e109e2aeb65f030801b70c2f6468faca261d401ae622fc87 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-sts-token/post-sts-header-before/post-sts-header-before.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | x-amz-security-token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA== 7 | 8 | host;x-amz-date;x-amz-security-token 9 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-sts-token/post-sts-header-before/post-sts-header-before.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | c237e1b440d4c63c32ca95b5b99481081cb7b13c7e40434868e71567c1a882f6 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | Param1=value1 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq: -------------------------------------------------------------------------------- 1 | POST /?Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 9d659678c1756bb3113e2ce898845a0a79dbbc57b740555917687f1b3340fbbd -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-query-nonunreserved/post-vanilla-query-nonunreserved.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | %40%23%24%25%5E%26%2B=%2F%2C%3F%3E%3C%60%22%3B%3A%5C%7C%5D%5B%7B%7D 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-query-nonunreserved/post-vanilla-query-nonunreserved.sreq: -------------------------------------------------------------------------------- 1 | POST /?%40%23%24%25%5E%26%2B=%2F%2C%3F%3E%3C%60%22%3B%3A%5C%7C%5D%5B%7B%7D HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=88d3e39e4fa54b971f51c0a09140368e1a51aafb76c4652d9998f93cf3038074 5 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-query-nonunreserved/post-vanilla-query-nonunreserved.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | eefcefefb33f2f62b17696313b6d0dcb93231d17f4bdf722a1278a1931fa8365 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-query-space/post-vanilla-query-space.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | p= 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-query-space/post-vanilla-query-space.sreq: -------------------------------------------------------------------------------- 1 | POST /?p%20aram1=val%20ue1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=e71688addb58a26418614085fb730ba3faa623b461c17f48f2fbdb9361b94a9b 5 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-query-space/post-vanilla-query-space.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 64d815da3176ec9c192c391374e9d4084588659309187ce60e0fcffcbc8c81c5 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-query/post-vanilla-query.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | Param1=value1 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-query/post-vanilla-query.sreq: -------------------------------------------------------------------------------- 1 | POST /?Param1=value1 HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla-query/post-vanilla-query.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 9d659678c1756bb3113e2ce898845a0a79dbbc57b740555917687f1b3340fbbd -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla/post-vanilla.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | 4 | host:example.amazonaws.com 5 | x-amz-date:20150830T123600Z 6 | 7 | host;x-amz-date 8 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla/post-vanilla.sreq: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host:example.amazonaws.com 3 | X-Amz-Date:20150830T123600Z 4 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-vanilla/post-vanilla.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 553f88c9e4d10fc9e109e2aeb65f030801b70c2f6468faca261d401ae622fc87 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | 4 | content-type:application/x-www-form-urlencoded; charset=utf8 5 | host:example.amazonaws.com 6 | x-amz-date:20150830T123600Z 7 | 8 | content-type;host;x-amz-date 9 | 9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sreq: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Content-Type:application/x-www-form-urlencoded; charset=utf8 3 | Content-Length: 13 4 | Host:example.amazonaws.com 5 | X-Amz-Date:20150830T123600Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=1a72ec8f64bd914b0e42e42607c7fbce7fb2c7465f63e3092b3b0d39fa77a6fe 7 | 8 | Param1=value1 9 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 2e1cf7ed91881a30569e46552437e4156c823447bf1781b921b5d486c568dd1c -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq: -------------------------------------------------------------------------------- 1 | POST 2 | / 3 | 4 | content-type:application/x-www-form-urlencoded 5 | host:example.amazonaws.com 6 | x-amz-date:20150830T123600Z 7 | 8 | content-type;host;x-amz-date 9 | 9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Content-Type:application/x-www-form-urlencoded 3 | Content-Length: 13 4 | Host:example.amazonaws.com 5 | X-Amz-Date:20150830T123600Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ff11897932ad3f4e8b18135d722051e5ac45fc38421b1da7b9d196a0fe09473a 7 | 8 | Param1=value1 9 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/aws4_testsuite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts: -------------------------------------------------------------------------------- 1 | AWS4-HMAC-SHA256 2 | 20150830T123600Z 3 | 20150830/us-east-1/service/aws4_request 4 | 42a5e5bb34198acb3e84da4f085bb7927f2bc277ca766e6d19c73c2154021281 -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awscli/awscli_GET_ixt43o0n.sreq: -------------------------------------------------------------------------------- 1 | GET /files?delimiter=%2F&prefix=&encoding-type=url HTTP/1.1 2 | Host: 10.25.106.30 3 | Accept-Encoding: identity 4 | X-Amz-Content-SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 5 | Authorization: AWS4-HMAC-SHA256 Credential=123/20170115/eu-central-1/s3/aws4_request, SignedHeaders=host;user-agent;x-amz-content-sha256;x-amz-date, Signature=0ae5a5f751bc379fc962eea009e40672edcd1fe12adbe9119f5a441a71e19f13 6 | X-Amz-Date: 20170115T091714Z 7 | User-Agent: aws-cli/1.10.13 Python/2.7.10 Darwin/15.4.0 botocore/1.4.4 8 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awscli/awscli_GET_j4dv016i.sreq: -------------------------------------------------------------------------------- 1 | GET /first.bucket?delimiter=%2F&prefix=48%2548%2F&encoding-type=url HTTP/1.1 2 | Host: 127.0.0.1 3 | Accept-Encoding: identity 4 | X-Amz-Content-SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 5 | X-Amz-Date: 20170626T080617Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20170626/us-east-1/s3/aws4_request, SignedHeaders=host;user-agent;x-amz-content-sha256;x-amz-date, Signature=300e4e9abe282cab4a1f7a4c96eb4ea1a27d14e2f756606eedca6f3b4b429c62 7 | User-Agent: aws-cli/1.10.13 Python/2.7.10 Darwin/15.6.0 botocore/1.4.4 8 | 9 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awscli/awscli_GET_j4dviqlb.sreq: -------------------------------------------------------------------------------- 1 | GET /first.bucket?delimiter=%2F&prefix=48%2548%2F&encoding-type=url HTTP/1.1 2 | Host: 127.0.0.1 3 | Accept-Encoding: identity 4 | Date: Mon, 26 Jun 2017 08:20:49 GMT 5 | Authorization: AWS 123:XT4B8eTuIAqMlNlFQu++tkIz4nI= 6 | User-Agent: aws-cli/1.10.13 Python/2.7.10 Darwin/15.6.0 botocore/1.4.4 7 | 8 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awscli/awscli_iwfg5hub.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host: 127.0.0.1 3 | Accept-Encoding: identity 4 | Date: Wed, 07 Dec 2016 21:28:31 GMT 5 | Authorization: AWS 123:sQgcIy9uPkl9qG0CH+erwiWKje4= 6 | User-Agent: aws-cli/1.11.17 Python/2.7.10 Darwin/16.1.0 botocore/1.4.74 7 | 8 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awscli/awscli_iwfgfsgw.sreq: -------------------------------------------------------------------------------- 1 | GET /files?prefix=cyberduck%2F&encoding-type=url HTTP/1.1 2 | Host: 127.0.0.1 3 | Accept-Encoding: identity 4 | Date: Wed, 07 Dec 2016 21:36:31 GMT 5 | Authorization: AWS 123:5eu8jR4bGEbGb93zMgIpSPZP9SI= 6 | User-Agent: aws-cli/1.11.17 Python/2.7.10 Darwin/16.1.0 botocore/1.4.74 7 | 8 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awscli/awscli_iwfgpe7c.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host: 127.0.0.1 3 | Accept-Encoding: identity 4 | Date: Wed, 07 Dec 2016 21:43:59 GMT 5 | Authorization: AWS 123:d2zv0+r4LrnK7xb7soVkIhE7e8k= 6 | User-Agent: aws-cli/1.11.26 Python/2.7.10 Darwin/16.1.0 botocore/1.4.83 7 | 8 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awscli/awscli_iwfgtw54.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | Host: 127.0.0.1 3 | Accept-Encoding: identity 4 | X-Amz-Content-SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 5 | X-Amz-Date: 20161207T214729Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=a1c03e4ccd2b0f6dc19a6d33eb2f956765d87505587b1a85de43681b27d746cc 7 | User-Agent: aws-cli/1.11.26 Python/2.7.10 Darwin/16.1.0 botocore/1.4.83 8 | 9 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awscli/awscli_iwgdirgh.sreq: -------------------------------------------------------------------------------- 1 | GET /files?prefix=util%2F&encoding-type=url HTTP/1.1 2 | Host: 127.0.0.1 3 | Accept-Encoding: identity 4 | Date: Thu, 08 Dec 2016 13:02:37 GMT 5 | Authorization: AWS 123:c2/G63WucySY4FrMDbOVtXxCEyA= 6 | User-Agent: aws-cli/1.11.26 Python/2.7.10 Darwin/16.1.0 botocore/1.4.83 7 | 8 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfjrwfj.sreq: -------------------------------------------------------------------------------- 1 | GET /files HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Content-Length: 0 5 | Host: 127.0.0.1 6 | X-Amz-Date: 20161207T230955Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=30fa88e6a4fe38714bb118bbd160c2e6857add901672d5650fbeb05a73a94138 8 | Connection: keep-alive 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfjscft.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Content-Length: 0 5 | Host: 127.0.0.1 6 | X-Amz-Date: 20161207T231016Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=10dc13a1b60ab480b4ee31fef635b70fd71a196f1adbf53cb36ec561b6fcd9b1 8 | Connection: keep-alive 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfjsior.sreq: -------------------------------------------------------------------------------- 1 | GET /files HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Content-Length: 0 5 | Host: 127.0.0.1 6 | X-Amz-Date: 20161207T231024Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=276cfb1adc89c56375020441133a6ba259a75f6255685e9d10e91b98c3214437 8 | Connection: keep-alive 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfjukzm.sreq: -------------------------------------------------------------------------------- 1 | GET /files HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Content-Length: 0 5 | Host: 127.0.0.1 6 | X-Amz-Date: 20161207T231200Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=b44643cdc181e88e1d8ce9bc8a9047f85037a9969f5640de5725f1b4c8e27db7 8 | Connection: keep-alive 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfjunsr.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Content-Length: 0 5 | Host: 127.0.0.1 6 | X-Amz-Date: 20161207T231204Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=8808f0d938f1cc3c39f15deb5874b7fa4663994e5383b750a990ba1374e13261 8 | Connection: keep-alive 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfjuq0e.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Content-Length: 0 5 | Host: 127.0.0.1 6 | X-Amz-Date: 20161207T231207Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=5e29e4ce1c474439e1d69eea0a0d6cff0f739f181fc747b656b9f6ba90208388 8 | Connection: keep-alive 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfk13hp.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Content-Length: 0 5 | Host: 127.0.0.1 6 | X-Amz-Date: 20161207T231704Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=3cd493486a5af43d337f33118e2c9b17abddc3c4a7db939d8b20baae93ac8bfb 8 | Connection: keep-alive 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfk33s8.sreq: -------------------------------------------------------------------------------- 1 | GET /files HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Content-Length: 0 5 | Host: 127.0.0.1 6 | X-Amz-Date: 20161207T231838Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=5f9a866f10f03c063c973a1515264809ef155ee1ac51bd1cc24f5be527516ed4 8 | Connection: keep-alive 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfk36zu.sreq: -------------------------------------------------------------------------------- 1 | GET /files HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Content-Length: 0 5 | Host: 127.0.0.1 6 | X-Amz-Date: 20161207T231842Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=6660beeeb643a5adbd99bceac7565b9aee6b4f1d3f118a6dcb03dfb3470298ea 8 | Connection: keep-alive 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfk3r71.sreq: -------------------------------------------------------------------------------- 1 | GET / HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Content-Length: 0 5 | Host: 127.0.0.1 6 | X-Amz-Date: 20161207T231908Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=a08edcb9cd298e350b3c0a6c7214e26b0e977ab2eb0b4bfeb9591316c103916b 8 | Connection: keep-alive 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfk3vfs.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Content-Length: 0 5 | Host: 127.0.0.1 6 | X-Amz-Date: 20161207T231914Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161207/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=d765a9abc461df4716d4cef1d518f585530dffe66b3a46b55d4b7cfdc0c77308 8 | Connection: keep-alive 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfqyfi9.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lala%20123 HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.5.1 darwin/v6.9.1 3 | Content-Length: 0 4 | Host: 127.0.0.1 5 | X-Amz-Date: Thu, 08 Dec 2016 02:30:57 GMT 6 | Authorization: AWS 123:w2ovDawhTCLfIieR9Iba3bwHpBc= 7 | Connection: keep-alive 8 | 9 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfqyqjo.sreq: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noobaa/noobaa-core/35bfb7092cf7a967ea0dbd5d0b82a3e13ca99c16/src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_iwfqyqjo.sreq -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_lsunnm4a_namewith%3D.sreq: -------------------------------------------------------------------------------- 1 | DELETE /first.bucket/delete%3Dme HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.1550.0 darwin/v20.9.0 promise 3 | Content-Type: application/octet-stream 4 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 5 | Content-Length: 0 6 | Host: 127.0.0.1:8080 7 | X-Amz-Date: 20240220T174429Z 8 | Authorization: AWS4-HMAC-SHA256 Credential=QlBdp923Pnpu2qxn9Qpj/20240220/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=e8320f51d20857850f9194ed3878447b3c3cdb9f3924c4a7564751bee37646c8 9 | Connection: close 10 | 11 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_lsunp5sx_namewith%40.sreq: -------------------------------------------------------------------------------- 1 | DELETE /first.bucket/delete%40me HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.1550.0 darwin/v20.9.0 promise 3 | Content-Type: application/octet-stream 4 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 5 | Content-Length: 0 6 | Host: 127.0.0.1:8080 7 | X-Amz-Date: 20240220T174541Z 8 | Authorization: AWS4-HMAC-SHA256 Credential=QlBdp923Pnpu2qxn9Qpj/20240220/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=83c3f9484aeeff7fb1ff0e6cd7634471a6128bd4c1b0fa9433f8c3b7bd7d4f67 9 | Connection: close 10 | 11 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_lsunppst_namewith%24.sreq: -------------------------------------------------------------------------------- 1 | DELETE /first.bucket/delete%24me HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.1550.0 darwin/v20.9.0 promise 3 | Content-Type: application/octet-stream 4 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 5 | Content-Length: 0 6 | Host: 127.0.0.1:8080 7 | X-Amz-Date: 20240220T174607Z 8 | Authorization: AWS4-HMAC-SHA256 Credential=QlBdp923Pnpu2qxn9Qpj/20240220/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=c4963b728534483bebb29ba487511a93a39695d1f5786aca32482753631fc281 9 | Connection: close 10 | 11 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdknodejs/awssdknodejs_lsunqlri_namewith%253D.sreq: -------------------------------------------------------------------------------- 1 | DELETE /first.bucket/delete%253Dme HTTP/1.1 2 | User-Agent: aws-sdk-nodejs/2.1550.0 darwin/v20.9.0 promise 3 | Content-Type: application/octet-stream 4 | X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 5 | Content-Length: 0 6 | Host: 127.0.0.1:8080 7 | X-Amz-Date: 20240220T174649Z 8 | Authorization: AWS4-HMAC-SHA256 Credential=QlBdp923Pnpu2qxn9Qpj/20240220/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=928ca61d630f826daf8c8f59ade2af4f7bd7b0876204c2673650970c25f435ef 9 | Connection: close 10 | 11 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdkruby2/awssdkruby2_GET_j5j8rpgr.sreq: -------------------------------------------------------------------------------- 1 | GET /?encoding-type=url HTTP/1.1 2 | Content-Type: 3 | Accept-Encoding: 4 | User-Agent: aws-sdk-ruby2/2.10.12 ruby/2.4.1 x86_64-darwin16 5 | Date: Tue, 25 Jul 2017 07:10:16 GMT 6 | Authorization: AWS 123:wMxoTMtsIciymeqQA6YGrNjN+n8= 7 | Content-Length: 0 8 | Accept: */* 9 | Host: movies.noobaademo.westus2.cloudapp.azure.com 10 | 11 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdkruby2/awssdkruby2_GET_j5j9wb4d.sreq: -------------------------------------------------------------------------------- 1 | GET /The%20Young%20And%20Restless%20-%20Season%2083748716287351678235%20Final%20Episode%21.pdf HTTP/1.1 2 | Content-Type: 3 | Accept-Encoding: 4 | User-Agent: aws-sdk-ruby2/2.10.12 ruby/2.4.1 x86_64-darwin16 5 | Date: Tue, 25 Jul 2017 07:41:50 GMT 6 | Authorization: AWS 123:yFmc8fShciAYdXRQCB9Xa1Y3mH4= 7 | Content-Length: 0 8 | Accept: */* 9 | Host: movies.noobaademo.westus2.cloudapp.azure.com 10 | 11 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/awssdkruby2/awssdkruby2_GET_j5ja2mvl.sreq: -------------------------------------------------------------------------------- 1 | GET /?acl HTTP/1.1 2 | Content-Type: 3 | Accept-Encoding: 4 | User-Agent: aws-sdk-ruby2/2.10.12 ruby/2.4.1 x86_64-darwin16 5 | Date: Tue, 25 Jul 2017 07:46:45 GMT 6 | Authorization: AWS 123:oUrC/EWtrZe56xQUssMubkuKwmw= 7 | Content-Length: 0 8 | Accept: */* 9 | Host: movies.noobaademo.westus2.cloudapp.azure.com 10 | 11 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_GET_ixt3qlyg.sreq: -------------------------------------------------------------------------------- 1 | GET /files/?max-keys=1000&prefix&delimiter=%2F HTTP/1.1 2 | Date: Wed, 11 Jan 2017 15:29:28 GMT 3 | x-amz-request-payer: requester 4 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 5 | Host: 127.0.0.1 6 | x-amz-date: 20170111T152928Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20170111/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date;x-amz-request-payer,Signature=23e795cc0c518090235b5a184075122dc2549d2edf8c5e9cea4bddb5bcebb6d7 8 | Connection: Keep-Alive 9 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 10 | 11 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_GET_ixt3xo48.sreq: -------------------------------------------------------------------------------- 1 | GET /files/?max-keys=1000&prefix&delimiter=%2F HTTP/1.1 2 | Date: Wed, 11 Jan 2017 15:34:59 GMT 3 | x-amz-request-payer: requester 4 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 5 | Host: 127.0.0.1 6 | x-amz-date: 20170111T153459Z 7 | Authorization: AWS4-HMAC-SHA256 Credential=123/20170111/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date;x-amz-request-payer,Signature=94b6e3debe39ea98e20c341334061efdae18963420ddb6fc49f7922694becaf7 8 | Connection: Keep-Alive 9 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 10 | 11 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdegdm.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/IMG_0083.MOV HTTP/1.1 2 | Date: Thu, 08 Dec 2016 12:59:16 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T125916Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=9e9d06567fff1aee5a8c61339d289fb83b2ec2053552459e62bc3501238f1f7a 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdegnh.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/IMG_0083.MOV HTTP/1.1 2 | Date: Thu, 08 Dec 2016 12:59:17 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T125917Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=ff2084457a89476256126f5606dcc124e808cf77bf2fd8ac3b1ad54104469009 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfcmd.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/danny2.webm HTTP/1.1 2 | Date: Thu, 08 Dec 2016 12:59:58 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T125958Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=0b3edb1179c854995c579731df472b10447994d2ecbcd2e69e9a104ffb6913f8 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfcqg.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/danny2.webm HTTP/1.1 2 | Date: Thu, 08 Dec 2016 12:59:58 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T125958Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=a4dfa56fd50bb9d00c317ce6200f00db5b635b655739728361fa09775790ae4b 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfcrc.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 12:59:58 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T125958Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=7c64def2f29567a9b365937dd3c99320bad299524eed5df2332e8b6bf691717f 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfcvj.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/test/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 12:59:58 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T125958Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=79feab7c8c2ddde59be4e2f84a61221fdb5fe13d8c58bb71f8b72425a33f5384 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdffdd.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/browser/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:02 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130002Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=820ee9f68dfef92159ba5045adc81d939f6c910c6fc1708e8a6b022bb0ec8888 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfkde.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/dynamodb/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:08 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130008Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=5b907be922de42d5bfa9fe0f3d30354f282c0a007719b5c180ad836989749143 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfkmo.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/fixtures/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:08 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130008Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=d1bf721cdfa7b7a36d060fcc3a3cf674ba415896bfe8e276321d36bbcd62396c 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfmbq.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/json/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:11 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130011Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=98be6ff84d3df4be2a4dc281375f5b8d2859c1b93c21f1cd93815d28c5af8bdd 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfme4.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/test/json/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:11 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130011Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=67e4ec2ba41504cac54ba6f686778422483257595322f8b913567c2dcdd9ff26 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfmmm.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/model/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:11 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130011Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=24f5b73c43282d42f2ce65c37759574a2d35e617d76d5764f76565bfcaab4b3f 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfmp9.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/test/model/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:11 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130011Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=cdc35144f8446a24a9e866e4acb2fa9f48524de05f373ba31df183078caa2a9d 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfmyw.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/protocol/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:11 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130011Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=d940d56e67621357c7c207b0f1e26bfe30653e723f122a9bcc0f75684bc69d7f 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfnpb.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/query/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:12 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130012Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=7d8a8d0c3498c5e4709d23969ca85fa761250cb81c16e11c03727504624f51d6 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfnrp.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/test/query/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:12 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130012Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=c0d908261371de78897a4864d17a9c3e0dea59e732fdd34d56dcdffc7845c780 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfnx4.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/s3/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:13 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130013Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=a1b0cce35a05ca6f75e3135142ba8ee7a61f5a1f39ec4e965e1e7720b47beffc 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfnz2.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/test/s3/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:13 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130013Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=8cb24ee49ec3c719d24711904a3e7eed40aa65bd077174c624669620d8c8e516 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfo3w.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/services/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:13 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130013Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=7dc0817b51e7efb7edce3ccaae5addfa708b73267ed569d3c90d416060b3f03b 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfpgw.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/signers/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:15 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130015Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=880ba465c431e0edbe70f7c85b14b848859e2cd38be306794e06d38bf47f0831 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfpzn.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/test/xml/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:15 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130015Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=a89d12bd30428a0719eff2e50660e2b31729137c929cf29594d312dea09d83ca 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfq23.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/test/xml/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:15 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130015Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=2245384580edbfde3106291415ecf23b54d6fce2a0f8e4762047969c49d6cc64 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfqcm.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:16 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130016Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=54ddfbc973f67e034db4ea2954be342df7132dadba9df2331a3493076b53ada0 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfqey.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:16 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130016Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=ffc4444af539215d84300d4ef64ce9e6e33c15c282253d26ed4f84fc95926e80 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfqlr.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/aws.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:16 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130016Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=e8618d2e41beb8879fb3ccea10a537c42580980c7c3f09873df8292060ba95f0 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfqob.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/aws.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:16 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130016Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=0c8dd520af980973912528def49c35022e073d449931493b20fbe6e63d42ad5d 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfqp9.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/browser.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:16 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130016Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=e64d09dc3f881aada45db6205dadc27727d126dbaaec6062342a0db0c5e3c37f 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfqtg.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/config.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:16 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130016Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=19f536a43eacc984299519c804db82eb281fd944264e566139feac1049824f53 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfqz6.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/core.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:17 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130017Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=ff88475823d8931474521015d10ff1457d87bb1cdef388230cff1dca740f74ca 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfr39.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/core.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:17 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130017Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=935cda21cb4ca4db586f8df8b0c470d97ef2862a2c147b4755909b4e6fb02b0f 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfrbs.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/http.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:17 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130017Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=8a77fe491936822d59300538cdae653379906349cd16316ae5d6b69d6fbe7d1a 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfrea.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/http.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:17 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130017Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=75813fbe75ff66b9f8f5cc4cfad370577369df9a971badc85ef8e7ce14f5693c 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfrum.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/request.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:18 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130018Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=b4f458d6e0f7f04039061911fc9e6ecf4e7ef12be7dc54aade904cb84fcbe5db 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfs7m.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/service.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:18 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130018Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=5738a003e6120d4aecf7f55fb7a592e95bf784db6970470c0397a6c6f9c9dd9a 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfsft.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/util.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:18 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130018Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=530dff8a7ddee1e3d1b7b20c50fdc292517fa8021b75c7ba2de1fbd7c96e2ccb 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfsi6.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/util.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:19 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130019Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=124ffd4e83ba76b0c9ff246c248f64ce2f6e4b45500a72481a3165a378cbdc02 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfsiq.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/cloudfront/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:19 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130019Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=5a594fbd41480f5f5187bf85f9ca2cc71019e9bd61323d2dbebeaecb1c398f6e 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdftul.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/dynamodb/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:20 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130020Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=5b8ad1160a419ab7b8a462220ce72c7595d29fa748646effc3c9dc854a55e69c 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdftx3.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/dynamodb/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:20 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130020Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=08bfb64e4a1c223c7ec33f4df9028bcd333d37a1b2cb089894eef1dd39a8063f 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfugt.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/http/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:21 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130021Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=7b0988d46e6e4e719868878f470bfb0178443610a4deeb2503383a7f8cfe1da1 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfuk5.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/http/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:21 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130021Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=db731df99f3a798544a55f7cb06f6178c16c7990241d81c786b94f123320f20e 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfura.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/http/xhr.js HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:22 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130022Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=77dbc0d349ce28336e46a95528635c17a9afc5711e16a7611fb16a98381aa5b0 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfutd.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/json/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:22 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130022Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=bc82c299728a17f220431c96bea77b49ad17a8a137064632199c3ff1be63cdf4 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfuwf.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/json/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:22 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130022Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=b49197c022810bd818d8c46146fd58604306b5b0d109ecd6067e37e9c9b443fc 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfv5d.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/model/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:22 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130022Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=bf3fdb94b87d2a3c390d93906fe8e0c5c70e5b7bc4fe8d8aa91f135ef106d7a9 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfv7e.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/model/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:22 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130022Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=450db498410f698b60cacf12a6ac12d2add193946e5e4ca88cc05faeb1b658fb 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfvrf.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/protocol/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:23 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130023Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=8e46f7d333f5cee3a41fc5675976c1f77f0ad88c23af55a0293f96d58236128f 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfvtr.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/protocol/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:23 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130023Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=c46cabbac1efca51fda1b286ef2d43cab4e9111a12739cd9ee8e3c459eef5c71 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfwcr.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/query/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:24 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130024Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=beab3ff8a360c7e22759e8777fe1325b6b226a61fe7e1a24085e7c1efc828566 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfwf9.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/query/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:24 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130024Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=979493fa519a85fc598bef117b3940ba39ba3971f0a9a42cb6e8e1bab3a43e30 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfwmy.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/s3/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:24 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130024Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=872cf750786ef63058d4665653569dcdf1445bc6cbb86abe6fa335fa2def1d22 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfwqc.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/s3/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:24 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130024Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=7435c3d90fb7f0c46888c5b1fb57358ac5bd9d40b33ba527441b5d9daee89b45 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfwvi.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/services/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:24 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130024Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=fdcf1c92e307519b68f9e31d55f44c25be61d3d230184f5270561c9f8c588756 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfwyh.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/services/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:24 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130024Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=194a69fdcff90cc7f2afdd82bb0bd40d18af3ad2cc7118376457fac77f208c8c 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfy9s.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/signers/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:26 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130026Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=bafa7358e5a03d09ad03040f049a43c218d422fa4ab9835594d91a7f4c965e86 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfycg.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/signers/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:26 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130026Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=396340b490b4fb59c424bacb23e5faeae6b5323850d1194fbc3c12b0893ed8ff 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfz3j.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lib/xml/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:27 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130027Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=c5705620c8df98179b7f8c512e610d6ba57145cddc45f9dcbb120bf573930e6c 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfz70.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lib/xml/ HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:27 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130027Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=93d3e848ae5e052a99b90b62907391e5829b8788993c7a5f77a59ea4d893ea6b 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfzpw.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/NOTICE.txt HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:28 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130028Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=4400d18a77358837c197d2db71e2474c298e734fc8590229c6a03066ce23c41d 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfzrm.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/NOTICE.txt HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:28 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130028Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=8a33809f2b4ef18ee6b64ac4312176f8284c5e7925fa95b05a851dce95fae7b2 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfzua.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/testem.json HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:28 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130028Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=bd862b7adaad4b6cadbb5fdb6a3f9095735956ea8487122068cd6e58bc946685 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfzwj.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/testem.json HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:28 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130028Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=a078c9f9647947ca9f965d56f0e281eb00bfeb7d225c10e6beacf20edc231db5 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfzwu.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/danny4.webm HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:28 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130028Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=7f342c5aa09e7fd4dd970da1f80ee50c6a0595f81cb881b1b795ee52dd4087db 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdfzz0.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/danny4.webm HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:28 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130028Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=7a7e1fd8c941a79344b395a9e9fe4bee9845e5435b04fc14e44351e25b9fb038 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdg017.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/lala%20123 HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:28 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130028Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=0e7c15764711d2ac84d1319139f968cbe429d7fad01a18f30f236e19dd150740 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdg02o.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/lala%20123 HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:28 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130028Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=5f7898302e0b312a3a5666716a73123702301bb299a41a528c6e0d220d26c80a 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdg035.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/danny.webm HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:28 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130028Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=cd7b8e752080c092a0d757cc29f38480f1d88a4fa0cadc5d811fdeaa23dd664d 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/cyberduck/cyberduck_iwgdg04o.sreq: -------------------------------------------------------------------------------- 1 | DELETE /files/danny.webm HTTP/1.1 2 | Date: Thu, 08 Dec 2016 13:00:28 GMT 3 | x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Host: 127.0.0.1 5 | x-amz-date: 20161208T130028Z 6 | Authorization: AWS4-HMAC-SHA256 Credential=123/20161208/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date,Signature=1215cb87e4fe8b1193dde4767776be4abb307fc489b156ca63c89cd9e796d482 7 | Connection: Keep-Alive 8 | User-Agent: Cyberduck/5.2.2.21483 (Mac OS X/10.12.1) (x86_64) 9 | 10 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/presigned/curl_iwfgwr8w.sreq: -------------------------------------------------------------------------------- 1 | GET /files/jenia?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=3600&X-Amz-Credential=123%2F20161207%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Date=20161207T214857Z&X-Amz-Signature=543d3d89f9a0fe511062b86363e9beb00c6dc5a7b7751153d4121aa9e546611e HTTP/1.1 2 | Host: 127.0.0.1 3 | User-Agent: curl/7.49.1 4 | Accept: */* 5 | 6 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/presigned/curl_iwfk6hmm.sreq: -------------------------------------------------------------------------------- 1 | GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=123%2F20161207%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20161207T232110Z&X-Amz-Expires=900&X-Amz-Signature=62c8ace26c86b0665109e62f8c4bb3b3be62d01b0a99fbf9b1b814028445b2f9&X-Amz-SignedHeaders=host HTTP/1.1 2 | Host: 127.0.0.1 3 | User-Agent: curl/7.49.1 4 | Accept: */* 5 | 6 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/presigned/curl_iwfk6t1i.sreq: -------------------------------------------------------------------------------- 1 | GET /files?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=123%2F20161207%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20161207T232123Z&X-Amz-Expires=900&X-Amz-Signature=e62ab1f9d3512c5d85b1d76422bf4a556c7b07c9176c27e674602ddf7c5222ab&X-Amz-SignedHeaders=host HTTP/1.1 2 | Host: 127.0.0.1 3 | User-Agent: curl/7.49.1 4 | Accept: */* 5 | 6 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/presigned/curl_iwfk7a6w.sreq: -------------------------------------------------------------------------------- 1 | GET /files?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=123%2F20161207%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20161207T232144Z&X-Amz-Expires=900&X-Amz-Signature=72ebe710a3315074341d5da1abc40d024ecd4a5acdc537cfdf3ecdb25372d7c9&X-Amz-SignedHeaders=host&prefix=lala HTTP/1.1 2 | Host: 127.0.0.1 3 | User-Agent: curl/7.49.1 4 | Accept: */* 5 | 6 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/presigned/curl_iwfk833f.sreq: -------------------------------------------------------------------------------- 1 | GET /files?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=123%2F20161207%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20161207T232222Z&X-Amz-Expires=900&X-Amz-Signature=d1c3f730cd65f2bd64e347bb4f27b749f09e4e7f56e298556708da724d265606&X-Amz-SignedHeaders=host&prefix=%21%40%23%24%25%5E%26%2A%28%29~%7D%7B%22%3A%3E%3C%3F HTTP/1.1 2 | Host: 127.0.0.1 3 | User-Agent: curl/7.49.1 4 | Accept: */* 5 | 6 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/presigned/curl_iwfk8xcq.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files/jenia?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=123%2F20161207%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20161207T232253Z&X-Amz-Expires=900&X-Amz-Signature=68486e34e889cc4b46e70308cacb85ad8175941bbcc4e5d322e0e7412db28559&X-Amz-SignedHeaders=host HTTP/1.1 2 | Host: 127.0.0.1 3 | User-Agent: curl/7.49.1 4 | Accept: */* 5 | 6 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/presigned/curl_iwfk9ovx.sreq: -------------------------------------------------------------------------------- 1 | HEAD /files?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=123%2F20161207%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20161207T232337Z&X-Amz-Expires=900&X-Amz-Signature=aed3161ef944d0ce4a7d9e995513356187af23c5df2f81ba2103d80f0be789f5&X-Amz-SignedHeaders=host HTTP/1.1 2 | Host: 127.0.0.1 3 | User-Agent: curl/7.49.1 4 | Accept: */* 5 | 6 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/presigned/curl_iwfkuaka.sreq: -------------------------------------------------------------------------------- 1 | GET /files/jenia?AWSAccessKeyId=123&Expires=1481154465&Signature=QmkZO%2BRUxnMYhYbHiOaKKNhAdXw%3D HTTP/1.1 2 | Host: 127.0.0.1 3 | User-Agent: curl/7.49.1 4 | Accept: */* 5 | 6 | -------------------------------------------------------------------------------- /src/test/unit_tests/signature_test_suite/rgw/rgw_HEAD_BZ.sreq: -------------------------------------------------------------------------------- 1 | HEAD /awsnsbucket/bucket-head%2Flc-test-obj HTTP/1.1 2 | Host: 127.0.0.1 3 | X-Amz-Content-SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 4 | Authorization: AWS4-HMAC-SHA256 Credential=123/20221206/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=10edb5e15be2934bae5bf19caceebedaedd0aba1184ffb600c151ec243866051 5 | X-Amz-Date: 20221206T084553Z 6 | -------------------------------------------------------------------------------- /src/test/utils/metrics.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | // Get metric from prometheus collector 5 | function get_metric(stat_collector, name) { 6 | const metric_name = stat_collector.get_prefixed_name(name); 7 | return stat_collector.register.getSingleMetric(metric_name); 8 | } 9 | 10 | // Reset all metrics in prometheus collector 11 | function reset_metrics(stat_collector) { 12 | return stat_collector.register.resetMetrics(); 13 | } 14 | 15 | exports.get_metric = get_metric; 16 | exports.reset_metrics = reset_metrics; 17 | -------------------------------------------------------------------------------- /src/test/web/index.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | require('./test_create_system'); 5 | -------------------------------------------------------------------------------- /src/tools/bcrypt_cli.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const bcrypt = require('bcrypt'); 5 | 6 | // This is to support shell scripts 7 | // It is used in order to bcrypt support account password in mongo_upgrade 8 | const password = process.argv[2] || ''; 9 | const hash = process.argv[3] || ''; 10 | 11 | if (hash) { 12 | console.log(bcrypt.compareSync(password, hash)); 13 | } else { 14 | console.log(bcrypt.hashSync(password, 10)); 15 | } 16 | -------------------------------------------------------------------------------- /src/util/google_storage_wrap.js: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2016 NooBaa */ 2 | 'use strict'; 3 | 4 | const crypto_utils = require('./crypto_utils'); 5 | 6 | const { Storage } = require('@google-cloud/storage'); 7 | 8 | Storage.calc_body_md5 = stream_file => crypto_utils.calc_body_md5(stream_file); 9 | 10 | module.exports = Storage; 11 | -------------------------------------------------------------------------------- /src/util/license_templates/Apache-2.0-appendix: -------------------------------------------------------------------------------- 1 | Apache License, Version 2.0 2 | 3 | Copyright 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | -------------------------------------------------------------------------------- /src/util/license_templates/WTFPL: -------------------------------------------------------------------------------- 1 | do What The Fuck you want to Public License 2 | 3 | Version 1.0, March 2000 4 | 5 | Copyright (C) 2000 Banlu Kemiyatorn (]d). 6 | 7 | 136 Nives 7 Jangwattana 14 Laksi Bangkok 8 | 9 | Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 10 | 11 | Ok, the purpose of this license is simple and you just 12 | 13 | DO WHAT THE FUCK YOU WANT TO. 14 | -------------------------------------------------------------------------------- /src/util/license_templates/WTFPL-2.0: -------------------------------------------------------------------------------- 1 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 2 | 3 | Version 2, December 2004 4 | 5 | Copyright (C) 2004 Sam Hocevar [sam@hocevar.net] 6 | 7 | Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. 8 | 9 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 10 | 11 | 0. You just DO WHAT THE FUCK YOU WANT TO. 12 | -------------------------------------------------------------------------------- /src/util/sql_functions/to_ts.sql: -------------------------------------------------------------------------------- 1 | CREATE OR REPLACE FUNCTION to_ts(value text) RETURNS timestamp AS $$ 2 | select value::timestamp; 3 | $$ LANGUAGE sql IMMUTABLE; 4 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2022", 4 | "module": "commonjs", 5 | "resolveJsonModule": true, 6 | "noEmit": true, 7 | "checkJs": true, 8 | "allowJs": true, 9 | }, 10 | "include": [ 11 | "src" 12 | ], 13 | "exclude": [ 14 | ] 15 | } --------------------------------------------------------------------------------