├── .gitignore ├── .gitlab-ci.yml ├── .gitmodules ├── 3rdparty ├── crc32c_adler │ ├── README │ ├── crc32c_adler.c │ ├── crc32c_adler.h │ ├── example-dht.c │ └── example-stdin.c ├── libmaxminddb │ ├── CMakeLists.txt │ ├── data-pool.c │ ├── data-pool.h │ ├── maxminddb-compat-util.h │ ├── maxminddb.c │ ├── maxminddb.h │ ├── maxminddb_config.h │ └── mmdblookup.c ├── libzip │ ├── .clang-format │ ├── .github │ │ ├── ISSUE_TEMPLATE │ │ │ ├── bug-report.md │ │ │ ├── compile-error.md │ │ │ └── feature-request.md │ │ └── workflows │ │ │ ├── build.yml │ │ │ ├── codeql-analysis.yml │ │ │ └── main.yml │ ├── API-CHANGES.md │ ├── AUTHORS │ ├── CMakeLists.txt │ ├── INSTALL.md │ ├── LICENSE │ ├── NEWS.md │ ├── README.md │ ├── THANKS │ ├── TODO.md │ ├── android │ │ ├── do.sh │ │ ├── docker │ │ │ └── Dockerfile │ │ └── readme.txt │ ├── appveyor.yml │ ├── cmake-compat │ │ ├── CMakePushCheckState.cmake │ │ ├── CheckLibraryExists.cmake │ │ ├── CheckSymbolExists.cmake │ │ ├── FindBZip2.cmake │ │ ├── FindGnuTLS.cmake │ │ ├── FindLibLZMA.cmake │ │ ├── FindPackageHandleStandardArgs.cmake │ │ ├── FindPackageMessage.cmake │ │ └── SelectLibraryConfigurations.cmake │ ├── cmake-config.h.in │ ├── cmake-zipconf.h.in │ ├── cmake │ │ ├── Dist.cmake │ │ ├── FindMbedTLS.cmake │ │ ├── FindNettle.cmake │ │ └── FindZstd.cmake │ ├── examples │ │ ├── CMakeLists.txt │ │ ├── in-memory.c │ │ └── windows-open.c │ ├── lib │ │ ├── CMakeLists.txt │ │ ├── compat.h │ │ ├── zip.h │ │ ├── zip_add.c │ │ ├── zip_add_dir.c │ │ ├── zip_add_entry.c │ │ ├── zip_algorithm_bzip2.c │ │ ├── zip_algorithm_deflate.c │ │ ├── zip_algorithm_xz.c │ │ ├── zip_algorithm_zstd.c │ │ ├── zip_buffer.c │ │ ├── zip_close.c │ │ ├── zip_crypto.h │ │ ├── zip_crypto_commoncrypto.c │ │ ├── zip_crypto_commoncrypto.h │ │ ├── zip_crypto_gnutls.c │ │ ├── zip_crypto_gnutls.h │ │ ├── zip_crypto_mbedtls.c │ │ ├── zip_crypto_mbedtls.h │ │ ├── zip_crypto_openssl.c │ │ ├── zip_crypto_openssl.h │ │ ├── zip_crypto_win.c │ │ ├── zip_crypto_win.h │ │ ├── zip_delete.c │ │ ├── zip_dir_add.c │ │ ├── zip_dirent.c │ │ ├── zip_discard.c │ │ ├── zip_entry.c │ │ ├── zip_error.c │ │ ├── zip_error_clear.c │ │ ├── zip_error_get.c │ │ ├── zip_error_get_sys_type.c │ │ ├── zip_error_strerror.c │ │ ├── zip_error_to_str.c │ │ ├── zip_extra_field.c │ │ ├── zip_extra_field_api.c │ │ ├── zip_fclose.c │ │ ├── zip_fdopen.c │ │ ├── zip_file_add.c │ │ ├── zip_file_error_clear.c │ │ ├── zip_file_error_get.c │ │ ├── zip_file_get_comment.c │ │ ├── zip_file_get_external_attributes.c │ │ ├── zip_file_get_offset.c │ │ ├── zip_file_rename.c │ │ ├── zip_file_replace.c │ │ ├── zip_file_set_comment.c │ │ ├── zip_file_set_encryption.c │ │ ├── zip_file_set_external_attributes.c │ │ ├── zip_file_set_mtime.c │ │ ├── zip_file_strerror.c │ │ ├── zip_fopen.c │ │ ├── zip_fopen_encrypted.c │ │ ├── zip_fopen_index.c │ │ ├── zip_fopen_index_encrypted.c │ │ ├── zip_fread.c │ │ ├── zip_fseek.c │ │ ├── zip_ftell.c │ │ ├── zip_get_archive_comment.c │ │ ├── zip_get_archive_flag.c │ │ ├── zip_get_encryption_implementation.c │ │ ├── zip_get_file_comment.c │ │ ├── zip_get_name.c │ │ ├── zip_get_num_entries.c │ │ ├── zip_get_num_files.c │ │ ├── zip_hash.c │ │ ├── zip_io_util.c │ │ ├── zip_libzip_version.c │ │ ├── zip_memdup.c │ │ ├── zip_mkstempm.c │ │ ├── zip_name_locate.c │ │ ├── zip_new.c │ │ ├── zip_open.c │ │ ├── zip_pkware.c │ │ ├── zip_progress.c │ │ ├── zip_random_unix.c │ │ ├── zip_random_uwp.c │ │ ├── zip_random_win32.c │ │ ├── zip_rename.c │ │ ├── zip_replace.c │ │ ├── zip_set_archive_comment.c │ │ ├── zip_set_archive_flag.c │ │ ├── zip_set_default_password.c │ │ ├── zip_set_file_comment.c │ │ ├── zip_set_file_compression.c │ │ ├── zip_set_name.c │ │ ├── zip_source_accept_empty.c │ │ ├── zip_source_begin_write.c │ │ ├── zip_source_begin_write_cloning.c │ │ ├── zip_source_buffer.c │ │ ├── zip_source_call.c │ │ ├── zip_source_close.c │ │ ├── zip_source_commit_write.c │ │ ├── zip_source_compress.c │ │ ├── zip_source_crc.c │ │ ├── zip_source_error.c │ │ ├── zip_source_file.h │ │ ├── zip_source_file_common.c │ │ ├── zip_source_file_stdio.c │ │ ├── zip_source_file_stdio.h │ │ ├── zip_source_file_stdio_named.c │ │ ├── zip_source_file_win32.c │ │ ├── zip_source_file_win32.h │ │ ├── zip_source_file_win32_ansi.c │ │ ├── zip_source_file_win32_named.c │ │ ├── zip_source_file_win32_utf16.c │ │ ├── zip_source_file_win32_utf8.c │ │ ├── zip_source_free.c │ │ ├── zip_source_function.c │ │ ├── zip_source_get_file_attributes.c │ │ ├── zip_source_is_deleted.c │ │ ├── zip_source_layered.c │ │ ├── zip_source_open.c │ │ ├── zip_source_pkware_decode.c │ │ ├── zip_source_pkware_encode.c │ │ ├── zip_source_read.c │ │ ├── zip_source_remove.c │ │ ├── zip_source_rollback_write.c │ │ ├── zip_source_seek.c │ │ ├── zip_source_seek_write.c │ │ ├── zip_source_stat.c │ │ ├── zip_source_supports.c │ │ ├── zip_source_tell.c │ │ ├── zip_source_tell_write.c │ │ ├── zip_source_window.c │ │ ├── zip_source_winzip_aes_decode.c │ │ ├── zip_source_winzip_aes_encode.c │ │ ├── zip_source_write.c │ │ ├── zip_source_zip.c │ │ ├── zip_source_zip_new.c │ │ ├── zip_stat.c │ │ ├── zip_stat_index.c │ │ ├── zip_stat_init.c │ │ ├── zip_strerror.c │ │ ├── zip_string.c │ │ ├── zip_unchange.c │ │ ├── zip_unchange_all.c │ │ ├── zip_unchange_archive.c │ │ ├── zip_unchange_data.c │ │ ├── zip_utf-8.c │ │ ├── zip_winzip_aes.c │ │ └── zipint.h │ ├── libzip-config.cmake.in │ ├── libzip.pc.in │ ├── man │ │ ├── CMakeLists.txt │ │ ├── ZIP_SOURCE_GET_ARGS.html │ │ ├── ZIP_SOURCE_GET_ARGS.man │ │ ├── ZIP_SOURCE_GET_ARGS.mdoc │ │ ├── handle_links │ │ ├── libzip.html │ │ ├── libzip.man │ │ ├── libzip.mdoc │ │ ├── links │ │ ├── update-html.cmake │ │ ├── update-man.cmake │ │ ├── zip_add.html │ │ ├── zip_add.man │ │ ├── zip_add.mdoc │ │ ├── zip_add_dir.html │ │ ├── zip_add_dir.man │ │ ├── zip_add_dir.mdoc │ │ ├── zip_close.html │ │ ├── zip_close.man │ │ ├── zip_close.mdoc │ │ ├── zip_compression_method_supported.html │ │ ├── zip_compression_method_supported.man │ │ ├── zip_compression_method_supported.mdoc │ │ ├── zip_delete.html │ │ ├── zip_delete.man │ │ ├── zip_delete.mdoc │ │ ├── zip_dir_add.html │ │ ├── zip_dir_add.man │ │ ├── zip_dir_add.mdoc │ │ ├── zip_discard.html │ │ ├── zip_discard.man │ │ ├── zip_discard.mdoc │ │ ├── zip_encryption_method_supported.html │ │ ├── zip_encryption_method_supported.man │ │ ├── zip_encryption_method_supported.mdoc │ │ ├── zip_error_clear.html │ │ ├── zip_error_clear.man │ │ ├── zip_error_clear.mdoc │ │ ├── zip_error_code_system.html │ │ ├── zip_error_code_system.man │ │ ├── zip_error_code_system.mdoc │ │ ├── zip_error_code_zip.html │ │ ├── zip_error_code_zip.man │ │ ├── zip_error_code_zip.mdoc │ │ ├── zip_error_fini.html │ │ ├── zip_error_fini.man │ │ ├── zip_error_fini.mdoc │ │ ├── zip_error_get.html │ │ ├── zip_error_get.man │ │ ├── zip_error_get.mdoc │ │ ├── zip_error_get_sys_type.html │ │ ├── zip_error_get_sys_type.man │ │ ├── zip_error_get_sys_type.mdoc │ │ ├── zip_error_init.html │ │ ├── zip_error_init.man │ │ ├── zip_error_init.mdoc │ │ ├── zip_error_set.html │ │ ├── zip_error_set.man │ │ ├── zip_error_set.mdoc │ │ ├── zip_error_strerror.html │ │ ├── zip_error_strerror.man │ │ ├── zip_error_strerror.mdoc │ │ ├── zip_error_system_type.html │ │ ├── zip_error_system_type.man │ │ ├── zip_error_system_type.mdoc │ │ ├── zip_error_to_data.html │ │ ├── zip_error_to_data.man │ │ ├── zip_error_to_data.mdoc │ │ ├── zip_error_to_str.html │ │ ├── zip_error_to_str.man │ │ ├── zip_error_to_str.mdoc │ │ ├── zip_errors.html │ │ ├── zip_errors.man │ │ ├── zip_errors.mdoc │ │ ├── zip_fclose.html │ │ ├── zip_fclose.man │ │ ├── zip_fclose.mdoc │ │ ├── zip_fdopen.html │ │ ├── zip_fdopen.man │ │ ├── zip_fdopen.mdoc │ │ ├── zip_file_add.html │ │ ├── zip_file_add.man │ │ ├── zip_file_add.mdoc │ │ ├── zip_file_attributes_init.html │ │ ├── zip_file_attributes_init.man │ │ ├── zip_file_attributes_init.mdoc │ │ ├── zip_file_extra_field_delete.html │ │ ├── zip_file_extra_field_delete.man │ │ ├── zip_file_extra_field_delete.mdoc │ │ ├── zip_file_extra_field_get.html │ │ ├── zip_file_extra_field_get.man │ │ ├── zip_file_extra_field_get.mdoc │ │ ├── zip_file_extra_field_set.html │ │ ├── zip_file_extra_field_set.man │ │ ├── zip_file_extra_field_set.mdoc │ │ ├── zip_file_extra_fields_count.html │ │ ├── zip_file_extra_fields_count.man │ │ ├── zip_file_extra_fields_count.mdoc │ │ ├── zip_file_get_comment.html │ │ ├── zip_file_get_comment.man │ │ ├── zip_file_get_comment.mdoc │ │ ├── zip_file_get_error.html │ │ ├── zip_file_get_error.man │ │ ├── zip_file_get_error.mdoc │ │ ├── zip_file_get_external_attributes.html │ │ ├── zip_file_get_external_attributes.man │ │ ├── zip_file_get_external_attributes.mdoc │ │ ├── zip_file_rename.html │ │ ├── zip_file_rename.man │ │ ├── zip_file_rename.mdoc │ │ ├── zip_file_set_comment.html │ │ ├── zip_file_set_comment.man │ │ ├── zip_file_set_comment.mdoc │ │ ├── zip_file_set_encryption.html │ │ ├── zip_file_set_encryption.man │ │ ├── zip_file_set_encryption.mdoc │ │ ├── zip_file_set_external_attributes.html │ │ ├── zip_file_set_external_attributes.man │ │ ├── zip_file_set_external_attributes.mdoc │ │ ├── zip_file_set_mtime.html │ │ ├── zip_file_set_mtime.man │ │ ├── zip_file_set_mtime.mdoc │ │ ├── zip_file_strerror.html │ │ ├── zip_file_strerror.man │ │ ├── zip_file_strerror.mdoc │ │ ├── zip_fopen.html │ │ ├── zip_fopen.man │ │ ├── zip_fopen.mdoc │ │ ├── zip_fopen_encrypted.html │ │ ├── zip_fopen_encrypted.man │ │ ├── zip_fopen_encrypted.mdoc │ │ ├── zip_fread.html │ │ ├── zip_fread.man │ │ ├── zip_fread.mdoc │ │ ├── zip_fseek.html │ │ ├── zip_fseek.man │ │ ├── zip_fseek.mdoc │ │ ├── zip_ftell.html │ │ ├── zip_ftell.man │ │ ├── zip_ftell.mdoc │ │ ├── zip_get_archive_comment.html │ │ ├── zip_get_archive_comment.man │ │ ├── zip_get_archive_comment.mdoc │ │ ├── zip_get_archive_flag.html │ │ ├── zip_get_archive_flag.man │ │ ├── zip_get_archive_flag.mdoc │ │ ├── zip_get_error.html │ │ ├── zip_get_error.man │ │ ├── zip_get_error.mdoc │ │ ├── zip_get_file_comment.html │ │ ├── zip_get_file_comment.man │ │ ├── zip_get_file_comment.mdoc │ │ ├── zip_get_name.html │ │ ├── zip_get_name.man │ │ ├── zip_get_name.mdoc │ │ ├── zip_get_num_entries.html │ │ ├── zip_get_num_entries.man │ │ ├── zip_get_num_entries.mdoc │ │ ├── zip_get_num_files.html │ │ ├── zip_get_num_files.man │ │ ├── zip_get_num_files.mdoc │ │ ├── zip_libzip_version.html │ │ ├── zip_libzip_version.man │ │ ├── zip_libzip_version.mdoc │ │ ├── zip_name_locate.html │ │ ├── zip_name_locate.man │ │ ├── zip_name_locate.mdoc │ │ ├── zip_open.html │ │ ├── zip_open.man │ │ ├── zip_open.mdoc │ │ ├── zip_register_cancel_callback_with_state.html │ │ ├── zip_register_cancel_callback_with_state.man │ │ ├── zip_register_cancel_callback_with_state.mdoc │ │ ├── zip_register_progress_callback.html │ │ ├── zip_register_progress_callback.man │ │ ├── zip_register_progress_callback.mdoc │ │ ├── zip_register_progress_callback_with_state.html │ │ ├── zip_register_progress_callback_with_state.man │ │ ├── zip_register_progress_callback_with_state.mdoc │ │ ├── zip_rename.html │ │ ├── zip_rename.man │ │ ├── zip_rename.mdoc │ │ ├── zip_set_archive_comment.html │ │ ├── zip_set_archive_comment.man │ │ ├── zip_set_archive_comment.mdoc │ │ ├── zip_set_archive_flag.html │ │ ├── zip_set_archive_flag.man │ │ ├── zip_set_archive_flag.mdoc │ │ ├── zip_set_default_password.html │ │ ├── zip_set_default_password.man │ │ ├── zip_set_default_password.mdoc │ │ ├── zip_set_file_comment.html │ │ ├── zip_set_file_comment.man │ │ ├── zip_set_file_comment.mdoc │ │ ├── zip_set_file_compression.html │ │ ├── zip_set_file_compression.man │ │ ├── zip_set_file_compression.mdoc │ │ ├── zip_source.html │ │ ├── zip_source.man │ │ ├── zip_source.mdoc │ │ ├── zip_source_begin_write.html │ │ ├── zip_source_begin_write.man │ │ ├── zip_source_begin_write.mdoc │ │ ├── zip_source_buffer.html │ │ ├── zip_source_buffer.man │ │ ├── zip_source_buffer.mdoc │ │ ├── zip_source_buffer_fragment.html │ │ ├── zip_source_buffer_fragment.man │ │ ├── zip_source_buffer_fragment.mdoc │ │ ├── zip_source_close.html │ │ ├── zip_source_close.man │ │ ├── zip_source_close.mdoc │ │ ├── zip_source_commit_write.html │ │ ├── zip_source_commit_write.man │ │ ├── zip_source_commit_write.mdoc │ │ ├── zip_source_error.html │ │ ├── zip_source_error.man │ │ ├── zip_source_error.mdoc │ │ ├── zip_source_file.html │ │ ├── zip_source_file.man │ │ ├── zip_source_file.mdoc │ │ ├── zip_source_filep.html │ │ ├── zip_source_filep.man │ │ ├── zip_source_filep.mdoc │ │ ├── zip_source_free.html │ │ ├── zip_source_free.man │ │ ├── zip_source_free.mdoc │ │ ├── zip_source_function.html │ │ ├── zip_source_function.man │ │ ├── zip_source_function.mdoc │ │ ├── zip_source_is_deleted.html │ │ ├── zip_source_is_deleted.man │ │ ├── zip_source_is_deleted.mdoc │ │ ├── zip_source_keep.html │ │ ├── zip_source_keep.man │ │ ├── zip_source_keep.mdoc │ │ ├── zip_source_make_command_bitmap.html │ │ ├── zip_source_make_command_bitmap.man │ │ ├── zip_source_make_command_bitmap.mdoc │ │ ├── zip_source_open.html │ │ ├── zip_source_open.man │ │ ├── zip_source_open.mdoc │ │ ├── zip_source_read.html │ │ ├── zip_source_read.man │ │ ├── zip_source_read.mdoc │ │ ├── zip_source_rollback_write.html │ │ ├── zip_source_rollback_write.man │ │ ├── zip_source_rollback_write.mdoc │ │ ├── zip_source_seek.html │ │ ├── zip_source_seek.man │ │ ├── zip_source_seek.mdoc │ │ ├── zip_source_seek_compute_offset.html │ │ ├── zip_source_seek_compute_offset.man │ │ ├── zip_source_seek_compute_offset.mdoc │ │ ├── zip_source_seek_write.html │ │ ├── zip_source_seek_write.man │ │ ├── zip_source_seek_write.mdoc │ │ ├── zip_source_stat.html │ │ ├── zip_source_stat.man │ │ ├── zip_source_stat.mdoc │ │ ├── zip_source_tell.html │ │ ├── zip_source_tell.man │ │ ├── zip_source_tell.mdoc │ │ ├── zip_source_tell_write.html │ │ ├── zip_source_tell_write.man │ │ ├── zip_source_tell_write.mdoc │ │ ├── zip_source_win32a.html │ │ ├── zip_source_win32a.man │ │ ├── zip_source_win32a.mdoc │ │ ├── zip_source_win32handle.html │ │ ├── zip_source_win32handle.man │ │ ├── zip_source_win32handle.mdoc │ │ ├── zip_source_win32w.html │ │ ├── zip_source_win32w.man │ │ ├── zip_source_win32w.mdoc │ │ ├── zip_source_window.html │ │ ├── zip_source_window.man │ │ ├── zip_source_window.mdoc │ │ ├── zip_source_write.html │ │ ├── zip_source_write.man │ │ ├── zip_source_write.mdoc │ │ ├── zip_source_zip.html │ │ ├── zip_source_zip.man │ │ ├── zip_source_zip.mdoc │ │ ├── zip_stat.html │ │ ├── zip_stat.man │ │ ├── zip_stat.mdoc │ │ ├── zip_stat_init.html │ │ ├── zip_stat_init.man │ │ ├── zip_stat_init.mdoc │ │ ├── zip_unchange.html │ │ ├── zip_unchange.man │ │ ├── zip_unchange.mdoc │ │ ├── zip_unchange_all.html │ │ ├── zip_unchange_all.man │ │ ├── zip_unchange_all.mdoc │ │ ├── zip_unchange_archive.html │ │ ├── zip_unchange_archive.man │ │ ├── zip_unchange_archive.mdoc │ │ ├── zipcmp.html │ │ ├── zipcmp.man │ │ ├── zipcmp.mdoc │ │ ├── zipmerge.html │ │ ├── zipmerge.man │ │ ├── zipmerge.mdoc │ │ ├── ziptool.html │ │ ├── ziptool.man │ │ └── ziptool.mdoc │ ├── regress │ │ ├── CMakeLists.txt │ │ ├── NiHTest.pm │ │ ├── add_dir.test │ │ ├── add_from_buffer.test │ │ ├── add_from_file.test │ │ ├── add_from_file_duplicate.test │ │ ├── add_from_file_twice_duplicate.test │ │ ├── add_from_file_unchange.test │ │ ├── add_from_filep.c │ │ ├── add_from_filep.test │ │ ├── add_from_stdin.test │ │ ├── add_from_zip_closed.test │ │ ├── add_from_zip_deflated.test │ │ ├── add_from_zip_deflated2.test │ │ ├── add_from_zip_partial_deflated.test │ │ ├── add_from_zip_partial_stored.test │ │ ├── add_from_zip_stored.test │ │ ├── add_stored.test │ │ ├── add_stored_in_memory.test │ │ ├── bigstored.zh │ │ ├── bigzero-zip.zip │ │ ├── bogus.zip │ │ ├── broken.zip │ │ ├── buffer-fragment-read.test │ │ ├── buffer-fragment-write.test │ │ ├── can_clone_file.c │ │ ├── cancel_45.test │ │ ├── cancel_90.test │ │ ├── cleanup.cmake │ │ ├── clone-buffer-add.test │ │ ├── clone-buffer-delete.test │ │ ├── clone-buffer-replace.test │ │ ├── clone-fs-add.test │ │ ├── clone-fs-delete.test │ │ ├── clone-fs-replace.test │ │ ├── cm-default.test │ │ ├── cm-default.zip │ │ ├── count_entries.test │ │ ├── decrypt-correct-password-aes128.test │ │ ├── decrypt-correct-password-aes192.test │ │ ├── decrypt-correct-password-aes256.test │ │ ├── decrypt-correct-password-pkware-2.test │ │ ├── decrypt-correct-password-pkware.test │ │ ├── decrypt-no-password-aes256.test │ │ ├── decrypt-wrong-password-aes128.test │ │ ├── decrypt-wrong-password-aes192.test │ │ ├── decrypt-wrong-password-aes256.test │ │ ├── decrypt-wrong-password-pkware-2.test │ │ ├── decrypt-wrong-password-pkware.test │ │ ├── delete_add_same.test │ │ ├── delete_invalid.test │ │ ├── delete_last.test │ │ ├── delete_multiple_last.test │ │ ├── delete_multiple_partial.test │ │ ├── delete_renamed_rename.test │ │ ├── encrypt-1234.zip │ │ ├── encrypt-aes128-noentropy.zip │ │ ├── encrypt-aes128.zip │ │ ├── encrypt-aes192-noentropy.zip │ │ ├── encrypt-aes192.zip │ │ ├── encrypt-aes256-noentropy.zip │ │ ├── encrypt-aes256.zip │ │ ├── encrypt-none.zip │ │ ├── encrypt-pkware-noentropy.zip │ │ ├── encrypt.test │ │ ├── encrypt.zip │ │ ├── encrypt_plus_extra.zip │ │ ├── encrypt_plus_extra_modified_c.zip │ │ ├── encrypt_plus_extra_modified_l.zip │ │ ├── encryption-nonrandom-aes128.test │ │ ├── encryption-nonrandom-aes192.test │ │ ├── encryption-nonrandom-aes256.test │ │ ├── encryption-nonrandom-pkware.test │ │ ├── encryption-remove.test │ │ ├── encryption-stat.test │ │ ├── extra_add.test │ │ ├── extra_add_multiple.test │ │ ├── extra_count.test │ │ ├── extra_count_by_id.test │ │ ├── extra_count_ignore_zip64.test │ │ ├── extra_delete.test │ │ ├── extra_delete_by_id.test │ │ ├── extra_field_align.test │ │ ├── extra_field_align_1-0.zip │ │ ├── extra_field_align_1-ef_00.zip │ │ ├── extra_field_align_1-ef_ff.zip │ │ ├── extra_field_align_1-ff.zip │ │ ├── extra_field_align_2-0.zip │ │ ├── extra_field_align_2-ef_00.zip │ │ ├── extra_field_align_2-ef_ff.zip │ │ ├── extra_field_align_2-ff.zip │ │ ├── extra_field_align_3-0.zip │ │ ├── extra_field_align_3-ef_00.zip │ │ ├── extra_field_align_3-ef_ff.zip │ │ ├── extra_field_align_3-ff.zip │ │ ├── extra_field_align_4-ff.zip │ │ ├── extra_get.test │ │ ├── extra_get_by_id.test │ │ ├── extra_set.test │ │ ├── extra_set_modify_c.test │ │ ├── extra_set_modify_l.test │ │ ├── fdopen_ok.test │ │ ├── file_comment_encmismatch.test │ │ ├── filename_duplicate.zip │ │ ├── filename_duplicate_empty.zip │ │ ├── filename_empty.zip │ │ ├── fileorder.zip │ │ ├── firstsecond-split-deflated.zip │ │ ├── firstsecond-split-stored.zip │ │ ├── firstsecond.zip │ │ ├── foo-stored.zip │ │ ├── fopen_unchanged.c │ │ ├── fopen_unchanged.test │ │ ├── fread.c │ │ ├── fread.test │ │ ├── fseek.c │ │ ├── fseek_deflated.test │ │ ├── fseek_fail.test │ │ ├── fseek_ok.test │ │ ├── fuzz_main.c │ │ ├── gap-add.zip │ │ ├── gap-delete.zip │ │ ├── gap-replace.zip │ │ ├── gap.zip │ │ ├── get_comment.test │ │ ├── hole.c │ │ ├── incons-archive-comment-longer.zip │ │ ├── incons-archive-comment-shorter.zip │ │ ├── incons-cdoffset.zip │ │ ├── incons-central-compression-method.zip │ │ ├── incons-central-compsize-larger-toolarge.zip │ │ ├── incons-central-compsize-larger.zip │ │ ├── incons-central-compsize-smaller.zip │ │ ├── incons-central-crc.zip │ │ ├── incons-central-date.zip │ │ ├── incons-central-file-comment-longer.zip │ │ ├── incons-central-file-comment-shorter.zip │ │ ├── incons-central-magic-bad.zip │ │ ├── incons-central-magic-bad2.zip │ │ ├── incons-central-size-larger.zip │ │ ├── incons-data.zip │ │ ├── incons-ef-central-size-wrong.zip │ │ ├── incons-ef-local-id-size.zip │ │ ├── incons-ef-local-id.zip │ │ ├── incons-ef-local-size.zip │ │ ├── incons-eocd-magic-bad.zip │ │ ├── incons-file-count-high.zip │ │ ├── incons-file-count-low.zip │ │ ├── incons-file-count-overflow.zip │ │ ├── incons-local-compression-method.zip │ │ ├── incons-local-compsize-larger.zip │ │ ├── incons-local-compsize-smaller.zip │ │ ├── incons-local-crc.zip │ │ ├── incons-local-filename-long.zip │ │ ├── incons-local-filename-missing.zip │ │ ├── incons-local-filename-short.zip │ │ ├── incons-local-filename.zip │ │ ├── incons-local-magic-bad.zip │ │ ├── incons-local-size-larger.zip │ │ ├── junk-at-end.zip │ │ ├── junk-at-start.zip │ │ ├── junk_at_end.test │ │ ├── junk_at_start.test │ │ ├── large-uncompressable │ │ ├── liboverride-test.c │ │ ├── liboverride.c │ │ ├── lzma-no-eos.zip │ │ ├── malloc.c │ │ ├── manyfiles-zip.zip │ │ ├── multidisk.zip │ │ ├── name_locate.test │ │ ├── nihtest.conf.in │ │ ├── nonrandomopen.c │ │ ├── nonrandomopentest.c │ │ ├── open_cons_extrabytes.test │ │ ├── open_empty.test │ │ ├── open_empty_2.test │ │ ├── open_extrabytes.test │ │ ├── open_file_count.test │ │ ├── open_filename_duplicate.test │ │ ├── open_filename_duplicate_consistency.test │ │ ├── open_filename_duplicate_empty.test │ │ ├── open_filename_duplicate_empty_consistency.test │ │ ├── open_filename_empty.test │ │ ├── open_incons.test │ │ ├── open_many_fail.test │ │ ├── open_many_ok.test │ │ ├── open_multidisk.test │ │ ├── open_new_but_exists.test │ │ ├── open_new_ok.test │ │ ├── open_nonarchive.test │ │ ├── open_nosuchfile.test │ │ ├── open_ok.test │ │ ├── open_too_short.test │ │ ├── open_truncate.test │ │ ├── open_zip64_3mf.test │ │ ├── open_zip64_ok.test │ │ ├── ossfuzz.sh │ │ ├── preload.test │ │ ├── progress.test │ │ ├── rename_ascii.test │ │ ├── rename_cp437.test │ │ ├── rename_deleted.test │ │ ├── rename_fail.test │ │ ├── rename_ok.test │ │ ├── rename_ok.zip │ │ ├── rename_utf8.test │ │ ├── rename_utf8_encmismatch.test │ │ ├── runtest.in │ │ ├── set_comment_all.test │ │ ├── set_comment_localonly.test │ │ ├── set_comment_removeglobal.test │ │ ├── set_comment_revert.test │ │ ├── set_compression_bzip2_to_deflate.test │ │ ├── set_compression_deflate_to_bzip2.test │ │ ├── set_compression_deflate_to_deflate.test │ │ ├── set_compression_deflate_to_store.test │ │ ├── set_compression_lzma_no_eos_to_store.test │ │ ├── set_compression_lzma_to_store.test │ │ ├── set_compression_store_to_bzip2.test │ │ ├── set_compression_store_to_deflate.test │ │ ├── set_compression_store_to_lzma.test │ │ ├── set_compression_store_to_store.test │ │ ├── set_compression_store_to_xz.test │ │ ├── set_compression_store_to_zstd.test │ │ ├── set_compression_unknown.test │ │ ├── set_compression_xz_to_store.test │ │ ├── set_compression_zstd_to_store.test │ │ ├── set_file_dostime.test │ │ ├── set_file_mtime.test │ │ ├── source_hole.c │ │ ├── stat_index_cp437_guess.test │ │ ├── stat_index_cp437_raw.test │ │ ├── stat_index_cp437_strict.test │ │ ├── stat_index_fileorder.test │ │ ├── stat_index_streamed.test │ │ ├── stat_index_streamed_zip64.test │ │ ├── stat_index_utf8_guess.test │ │ ├── stat_index_utf8_raw.test │ │ ├── stat_index_utf8_strict.test │ │ ├── stat_index_utf8_unmarked_strict.test │ │ ├── stat_index_zip64.test │ │ ├── stored-no-eos.zip │ │ ├── streamed-zip64.zip │ │ ├── streamed.zip │ │ ├── test-cp437-comment-utf-8.zip │ │ ├── test-cp437-fc-utf-8-filename.zip │ │ ├── test-cp437-fc.zip │ │ ├── test-cp437.zip │ │ ├── test-utf8-unmarked.zip │ │ ├── test-utf8.zip │ │ ├── test.zip │ │ ├── test2.zip │ │ ├── testbuffer.zip │ │ ├── testbzip2.zip │ │ ├── testchanged.zip │ │ ├── testchangedlocal.zip │ │ ├── testcomment.zip │ │ ├── testcomment13.zip │ │ ├── testcommentremoved.zip │ │ ├── testdeflated.zip │ │ ├── testdeflated2.zip │ │ ├── testdir.zip │ │ ├── testempty.zip │ │ ├── testextrabytes.zip │ │ ├── testfile-UTF8.zip │ │ ├── testfile-cp437.zip │ │ ├── testfile-lzma.zip │ │ ├── testfile-plus-extra.zip │ │ ├── testfile-stored-dos.zip │ │ ├── testfile-xz.zip │ │ ├── testfile-zstd.zip │ │ ├── testfile.txt │ │ ├── testfile.zip │ │ ├── testfile0.zip │ │ ├── testfile2014.zip │ │ ├── teststdin.zip │ │ ├── teststored.zip │ │ ├── tryopen.c │ │ ├── utf-8-standardization-input.zip │ │ ├── utf-8-standardization-output.zip │ │ ├── utf-8-standardization.test │ │ ├── zip-in-archive-comment.test │ │ ├── zip-in-archive-comment.zip │ │ ├── zip64-3mf.zip │ │ ├── zip64.zip │ │ ├── zip64_creation.test │ │ ├── zip64_stored_creation.test │ │ ├── zip_read_fuzzer.cc │ │ ├── zip_read_fuzzer.dict │ │ ├── zipcmp_zip_dir.test │ │ ├── zipcmp_zip_dir.zip │ │ └── ziptool_regress.c │ └── src │ │ ├── CMakeLists.txt │ │ ├── diff_output.c │ │ ├── diff_output.h │ │ ├── getopt.c │ │ ├── getopt.h │ │ ├── zipcmp.c │ │ ├── zipmerge.c │ │ └── ziptool.c ├── monero_crypto │ ├── CMakeLists.txt │ ├── aesb.c │ ├── blake256.c │ ├── blake256.h │ ├── chacha8.c │ ├── chacha8.h │ ├── common │ │ ├── int-util.h │ │ ├── memwipe.c │ │ └── memwipe.h │ ├── crypto-ops-data.c │ ├── crypto-ops.c │ ├── crypto-ops.h │ ├── crypto_ops_builder │ │ ├── Makefile │ │ ├── README.md │ │ ├── api.h │ │ ├── crypto-ops-data.c │ │ ├── crypto-ops-old.c │ │ ├── crypto-ops.h │ │ ├── crypto_int32.h │ │ ├── crypto_sign.h │ │ ├── crypto_uint32.h │ │ ├── crypto_verify_32.h │ │ ├── ietf.txt │ │ ├── include │ │ │ ├── Makefile.am │ │ │ ├── libsodium_LICENSE │ │ │ ├── sodium.h │ │ │ └── sodium │ │ │ │ ├── crypto_int32.h │ │ │ │ ├── crypto_int64.h │ │ │ │ ├── crypto_uint16.h │ │ │ │ ├── crypto_uint32.h │ │ │ │ ├── crypto_uint64.h │ │ │ │ ├── crypto_uint8.h │ │ │ │ ├── crypto_verify_32.h │ │ │ │ └── randombytes.h │ │ ├── randombytes.c │ │ ├── ref10 │ │ │ ├── Makefile │ │ │ ├── api.h │ │ │ ├── base.h │ │ │ ├── base.py │ │ │ ├── base2.h │ │ │ ├── base2.py │ │ │ ├── d.h │ │ │ ├── d.py │ │ │ ├── d2.h │ │ │ ├── d2.py │ │ │ ├── description │ │ │ ├── designers │ │ │ ├── fe.h │ │ │ ├── fe_0.c │ │ │ ├── fe_1.c │ │ │ ├── fe_add.c │ │ │ ├── fe_cmov.c │ │ │ ├── fe_copy.c │ │ │ ├── fe_frombytes.c │ │ │ ├── fe_invert.c │ │ │ ├── fe_isnegative.c │ │ │ ├── fe_isnonzero.c │ │ │ ├── fe_mul.c │ │ │ ├── fe_neg.c │ │ │ ├── fe_pow22523.c │ │ │ ├── fe_sq.c │ │ │ ├── fe_sq2.c │ │ │ ├── fe_sub.c │ │ │ ├── fe_tobytes.c │ │ │ ├── ge.h │ │ │ ├── ge_add.c │ │ │ ├── ge_add.h │ │ │ ├── ge_add.q │ │ │ ├── ge_double_scalarmult.c │ │ │ ├── ge_frombytes.c │ │ │ ├── ge_madd.c │ │ │ ├── ge_madd.h │ │ │ ├── ge_madd.q │ │ │ ├── ge_msub.c │ │ │ ├── ge_msub.h │ │ │ ├── ge_msub.q │ │ │ ├── ge_p1p1_to_p2.c │ │ │ ├── ge_p1p1_to_p3.c │ │ │ ├── ge_p2_0.c │ │ │ ├── ge_p2_dbl.c │ │ │ ├── ge_p2_dbl.h │ │ │ ├── ge_p2_dbl.q │ │ │ ├── ge_p3_0.c │ │ │ ├── ge_p3_dbl.c │ │ │ ├── ge_p3_to_cached.c │ │ │ ├── ge_p3_to_p2.c │ │ │ ├── ge_p3_tobytes.c │ │ │ ├── ge_precomp_0.c │ │ │ ├── ge_scalarmult_base.c │ │ │ ├── ge_sub.c │ │ │ ├── ge_sub.h │ │ │ ├── ge_sub.q │ │ │ ├── ge_tobytes.c │ │ │ ├── keypair.c │ │ │ ├── open.c │ │ │ ├── pow22523.h │ │ │ ├── pow22523.q │ │ │ ├── pow225521.h │ │ │ ├── pow225521.q │ │ │ ├── q2h.sh │ │ │ ├── sc.h │ │ │ ├── sc_muladd.c │ │ │ ├── sc_reduce.c │ │ │ ├── sign.c │ │ │ ├── sqrtm1.h │ │ │ └── sqrtm1.py │ │ ├── ref10CommentedCombined │ │ │ ├── MakeCryptoOps.py │ │ │ ├── api.h │ │ │ ├── base.h │ │ │ ├── base.py │ │ │ ├── base2.h │ │ │ ├── base2.py │ │ │ ├── crypto-ops.h │ │ │ ├── d.h │ │ │ ├── d.py │ │ │ ├── d2.h │ │ │ ├── d2.py │ │ │ ├── description │ │ │ ├── designers │ │ │ ├── fe.h │ │ │ ├── fe_0.c │ │ │ ├── fe_1.c │ │ │ ├── fe_add.c │ │ │ ├── fe_cmov.c │ │ │ ├── fe_copy.c │ │ │ ├── fe_frombytes.c │ │ │ ├── fe_invert.c │ │ │ ├── fe_isnegative.c │ │ │ ├── fe_isnonzero.c │ │ │ ├── fe_mul.c │ │ │ ├── fe_neg.c │ │ │ ├── fe_pow22523.c │ │ │ ├── fe_sq.c │ │ │ ├── fe_sq2.c │ │ │ ├── fe_sub.c │ │ │ ├── fe_tobytes.c │ │ │ ├── ge.h │ │ │ ├── ge_add.c │ │ │ ├── ge_add.h │ │ │ ├── ge_add.q │ │ │ ├── ge_double_scalarmult.c │ │ │ ├── ge_frombytes.c │ │ │ ├── ge_madd.c │ │ │ ├── ge_madd.h │ │ │ ├── ge_madd.q │ │ │ ├── ge_msub.c │ │ │ ├── ge_msub.h │ │ │ ├── ge_msub.q │ │ │ ├── ge_p1p1_to_p2.c │ │ │ ├── ge_p1p1_to_p3.c │ │ │ ├── ge_p2_0.c │ │ │ ├── ge_p2_dbl.c │ │ │ ├── ge_p2_dbl.h │ │ │ ├── ge_p2_dbl.q │ │ │ ├── ge_p3_0.c │ │ │ ├── ge_p3_dbl.c │ │ │ ├── ge_p3_to_cached.c │ │ │ ├── ge_p3_to_p2.c │ │ │ ├── ge_p3_tobytes.c │ │ │ ├── ge_precomp_0.c │ │ │ ├── ge_scalarmult_base.c │ │ │ ├── ge_sub.c │ │ │ ├── ge_sub.h │ │ │ ├── ge_sub.q │ │ │ ├── ge_tobytes.c │ │ │ ├── keypair.c │ │ │ ├── open.c │ │ │ ├── pow22523.h │ │ │ ├── pow22523.q │ │ │ ├── pow225521.h │ │ │ ├── pow225521.q │ │ │ ├── q2h.sh │ │ │ ├── sc.h │ │ │ ├── sc_muladd.c │ │ │ ├── sc_reduce.c │ │ │ ├── sc_sub.xmr.c │ │ │ ├── scrap.txt │ │ │ ├── sign.c │ │ │ ├── sqrtm1.h │ │ │ ├── sqrtm1.py │ │ │ ├── test.py │ │ │ └── xmrSpecificOld.c │ │ ├── sha512-blocks.c │ │ ├── sha512-hash.c │ │ ├── sha512.h │ │ └── verify.c │ ├── generic-ops.h │ ├── groestl.c │ ├── groestl.h │ ├── groestl_tables.h │ ├── hash-extra-blake.c │ ├── hash-extra-groestl.c │ ├── hash-extra-jh.c │ ├── hash-extra-skein.c │ ├── hash-ops.h │ ├── hash.c │ ├── hash.h │ ├── initializer.h │ ├── jh.c │ ├── jh.h │ ├── keccak.c │ ├── keccak.h │ ├── oaes_config.h │ ├── oaes_lib.c │ ├── oaes_lib.h │ ├── random.c │ ├── random.h │ ├── skein.c │ ├── skein.h │ ├── skein_port.h │ ├── slow-hash.c │ ├── tree-hash.c │ └── warnings.h └── openssl-cmake │ ├── CMakeLists.txt │ ├── cmake │ └── BuildOpenSSL.cmake │ ├── patches │ └── 0001-Fix-failing-cms-test-when-no-des-is-used.patch │ └── scripts │ └── building_env.py ├── CMakeLists.txt ├── Changelog ├── LICENSE ├── README.md ├── cellframe-sdk.c ├── cellframe-sdk.pro ├── cmake └── ReadMKFile.cmake ├── modules ├── CMakeLists.txt ├── chain │ ├── CMakeLists.txt │ ├── dap_chain.c │ ├── dap_chain_cell.c │ ├── dap_chain_ch.c │ ├── dap_chain_ch_pkt.c │ ├── dap_chain_cs.c │ ├── dap_chain_policy.c │ ├── dap_chain_tx.c │ ├── include │ │ ├── dap_chain.h │ │ ├── dap_chain_cell.h │ │ ├── dap_chain_ch.h │ │ ├── dap_chain_ch_pkt.h │ │ ├── dap_chain_cs.h │ │ ├── dap_chain_policy.h │ │ └── dap_chain_tx.h │ └── tests │ │ ├── CMakeLists.txt │ │ ├── dap_chain_ledger_tests.c │ │ ├── include │ │ └── dap_chain_ledger_tests.h │ │ └── main.c ├── channel │ ├── chain-net-srv │ │ ├── CMakeLists.txt │ │ ├── dap_stream_ch_chain_net_srv.c │ │ ├── dap_stream_ch_chain_net_srv_pkt.c │ │ └── include │ │ │ ├── dap_stream_ch_chain_net_srv.h │ │ │ └── dap_stream_ch_chain_net_srv_pkt.h │ └── chain-net │ │ ├── CMakeLists.txt │ │ ├── dap_stream_ch_chain_net.c │ │ ├── dap_stream_ch_chain_net_pkt.c │ │ └── include │ │ ├── dap_stream_ch_chain_net.h │ │ └── dap_stream_ch_chain_net_pkt.h ├── common │ ├── CMakeLists.txt │ ├── common.pri │ ├── dap_chain_common.c │ ├── dap_chain_datum.c │ ├── dap_chain_datum_anchor.c │ ├── dap_chain_datum_decree.c │ ├── dap_chain_datum_hashtree_roots.c │ ├── dap_chain_datum_poll.c │ ├── dap_chain_datum_token.c │ ├── dap_chain_datum_tx.c │ ├── dap_chain_datum_tx_items.c │ ├── dap_chain_datum_tx_receipt.c │ ├── dap_chain_datum_tx_voting.c │ ├── include │ │ ├── dap_chain_common.h │ │ ├── dap_chain_datum.h │ │ ├── dap_chain_datum_anchor.h │ │ ├── dap_chain_datum_decree.h │ │ ├── dap_chain_datum_hashtree_roots.h │ │ ├── dap_chain_datum_token.h │ │ ├── dap_chain_datum_tx.h │ │ ├── dap_chain_datum_tx_in.h │ │ ├── dap_chain_datum_tx_in_cond.h │ │ ├── dap_chain_datum_tx_in_ems.h │ │ ├── dap_chain_datum_tx_in_reward.h │ │ ├── dap_chain_datum_tx_items.h │ │ ├── dap_chain_datum_tx_out.h │ │ ├── dap_chain_datum_tx_out_cond.h │ │ ├── dap_chain_datum_tx_pkey.h │ │ ├── dap_chain_datum_tx_receipt.h │ │ ├── dap_chain_datum_tx_sig.h │ │ ├── dap_chain_datum_tx_tsd.h │ │ └── dap_chain_datum_tx_voting.h │ └── tests │ │ ├── CMakeLists.txt │ │ ├── dap_struct_packing_tests.c │ │ ├── include │ │ └── dap_struct_packing_tests.h │ │ └── main.c ├── consensus │ ├── block-pow │ │ ├── CMakeLists.txt │ │ ├── dap_chain_cs_block_pow.c │ │ └── include │ │ │ └── dap_chain_cs_block_pow.h │ ├── dag-poa │ │ ├── CMakeLists.txt │ │ ├── dap_chain_cs_dag_poa.c │ │ └── include │ │ │ └── dap_chain_cs_dag_poa.h │ └── esbocs │ │ ├── CMakeLists.txt │ │ ├── dap_chain_cs_esbocs.c │ │ └── include │ │ └── dap_chain_cs_esbocs.h ├── dht │ ├── CMakeLists.txt │ ├── dap_chain_dht.c │ └── include │ │ └── dap_chain_dht.h ├── mempool │ ├── CMakeLists.txt │ ├── dap_chain_mempool.c │ └── include │ │ ├── dap_chain_mempool.h │ │ └── dap_chain_mempool_rpc.h ├── mining │ ├── CMakeLists.txt │ ├── dap_hash_slow.c │ └── include │ │ └── dap_hash_slow.h ├── net │ ├── CMakeLists.txt │ ├── dap_chain_ledger.c │ ├── dap_chain_net.c │ ├── dap_chain_net_anchor.c │ ├── dap_chain_net_balancer.c │ ├── dap_chain_net_decree.c │ ├── dap_chain_net_node_list.c │ ├── dap_chain_net_tx.c │ ├── dap_chain_node.c │ ├── dap_chain_node_cli.c │ ├── dap_chain_node_cli_cmd.c │ ├── dap_chain_node_cli_cmd_tx.c │ ├── dap_chain_node_client.c │ ├── dap_chain_node_dns_client.c │ ├── dap_chain_node_dns_server.c │ ├── dap_chain_node_ping.c │ ├── include │ │ ├── dap_chain_ledger.h │ │ ├── dap_chain_net.h │ │ ├── dap_chain_net_anchor.h │ │ ├── dap_chain_net_balancer.h │ │ ├── dap_chain_net_bugreport.h │ │ ├── dap_chain_net_decree.h │ │ ├── dap_chain_net_node_list.h │ │ ├── dap_chain_net_tx.h │ │ ├── dap_chain_node.h │ │ ├── dap_chain_node_cli.h │ │ ├── dap_chain_node_cli_cmd.h │ │ ├── dap_chain_node_cli_cmd_tx.h │ │ ├── dap_chain_node_client.h │ │ ├── dap_chain_node_dns_client.h │ │ ├── dap_chain_node_dns_server.h │ │ └── dap_chain_node_ping.h │ ├── iputils │ │ ├── iputils.c │ │ ├── iputils.h │ │ ├── ping.c │ │ ├── ping.h │ │ ├── ping6_common.c │ │ ├── ping_common.c │ │ ├── tracepath.c │ │ └── traceroute │ │ │ ├── as_lookups.c │ │ │ ├── clif.c │ │ │ ├── clif.h │ │ │ ├── csum.c │ │ │ ├── extension.c │ │ │ ├── flowlabel.h │ │ │ ├── mod-dccp.c │ │ │ ├── mod-icmp.c │ │ │ ├── mod-raw.c │ │ │ ├── mod-tcp.c │ │ │ ├── mod-tcpconn.c │ │ │ ├── mod-udp.c │ │ │ ├── module.c │ │ │ ├── poll.c │ │ │ ├── random.c │ │ │ ├── time.c │ │ │ ├── traceroute.c │ │ │ └── traceroute.h │ ├── srv │ │ ├── CMakeLists.txt │ │ ├── dap_chain_net_srv.c │ │ ├── dap_chain_net_srv_client.c │ │ ├── dap_chain_net_srv_countries.h │ │ ├── dap_chain_net_srv_geoip.c │ │ ├── dap_chain_net_srv_geoip.h │ │ ├── dap_chain_net_srv_order.c │ │ ├── dap_chain_net_srv_stream_session.c │ │ └── include │ │ │ ├── dap_chain_net_srv.h │ │ │ ├── dap_chain_net_srv_client.h │ │ │ ├── dap_chain_net_srv_order.h │ │ │ └── dap_chain_net_srv_stream_session.h │ └── win32 │ │ ├── ip.h │ │ └── iphdr.h ├── service │ ├── app-db │ │ ├── CMakeLists.txt │ │ ├── dap_chain_net_srv_app_db.c │ │ └── include │ │ │ └── dap_chain_net_srv_app_db.h │ ├── app │ │ ├── CMakeLists.txt │ │ ├── dap_chain_net_srv_app.c │ │ └── include │ │ │ └── dap_chain_net_srv_app.h │ ├── bridge │ │ ├── CMakeLists.txt │ │ ├── dap_chain_net_srv_bridge.c │ │ └── include │ │ │ └── dap_chain_net_srv_bridge.h │ ├── datum │ │ ├── CMakeLists.txt │ │ ├── dap_chain_net_srv_datum.c │ │ └── include │ │ │ └── dap_chain_net_srv_datum.h │ ├── mining-pool │ │ ├── CMakeLists.txt │ │ ├── dap_chain_net_srv_datum_pool.c │ │ └── include │ │ │ └── dap_chain_net_srv_datum_pool.h │ ├── stake │ │ ├── CMakeLists.txt │ │ ├── dap_chain_net_srv_stake_lock.c │ │ ├── dap_chain_net_srv_stake_pos_delegate.c │ │ └── include │ │ │ ├── dap_chain_net_srv_stake_lock.h │ │ │ └── dap_chain_net_srv_stake_pos_delegate.h │ ├── voting │ │ ├── CMakeLists.txt │ │ ├── dap_chain_net_srv_voting.c │ │ └── include │ │ │ └── dap_chain_net_srv_voting.h │ ├── vpn │ │ ├── CMakeLists.txt │ │ ├── dap_chain_net_srv_vpn.c │ │ ├── dap_chain_net_srv_vpn_cmd.c │ │ ├── dap_chain_net_srv_vpn_cmd.h │ │ ├── dap_chain_net_srv_vpn_common.c │ │ ├── dap_chain_net_vpn_client.c │ │ ├── dap_chain_net_vpn_client_tun.c │ │ └── include │ │ │ ├── dap_chain_net_srv_vpn.h │ │ │ ├── dap_chain_net_srv_vpn_common.h │ │ │ ├── dap_chain_net_vpn_client.h │ │ │ └── dap_chain_net_vpn_client_tun.h │ └── xchange │ │ ├── CMakeLists.txt │ │ ├── dap_chain_net_srv_xchange.c │ │ └── include │ │ └── dap_chain_net_srv_xchange.h ├── type │ ├── blocks │ │ ├── CMakeLists.txt │ │ ├── dap_chain_block.c │ │ ├── dap_chain_block_cache.c │ │ ├── dap_chain_cs_blocks.c │ │ ├── include │ │ │ ├── dap_chain_block.h │ │ │ ├── dap_chain_block_cache.h │ │ │ └── dap_chain_cs_blocks.h │ │ └── tests │ │ │ ├── CMakeLists.txt │ │ │ ├── dap_chain_blocks_test.c │ │ │ ├── include │ │ │ └── dap_chain_blocks_test.h │ │ │ └── main.c │ ├── dag │ │ ├── CMakeLists.txt │ │ ├── dap_chain_cs_dag.c │ │ ├── dap_chain_cs_dag_event.c │ │ └── include │ │ │ ├── dap_chain_cs_dag.h │ │ │ └── dap_chain_cs_dag_event.h │ └── none │ │ ├── CMakeLists.txt │ │ ├── dap_chain_cs_none.c │ │ └── include │ │ └── dap_chain_cs_none.h └── wallet │ ├── CMakeLists.txt │ ├── dap_chain_coin.c │ ├── dap_chain_wallet.c │ ├── dap_chain_wallet_cache.c │ ├── dap_chain_wallet_ops.c │ ├── dap_chain_wallet_shared.c │ └── include │ ├── dap_chain_coin.h │ ├── dap_chain_wallet.h │ ├── dap_chain_wallet_cache.h │ ├── dap_chain_wallet_internal.h │ ├── dap_chain_wallet_ops.h │ └── dap_chain_wallet_shared.h ├── os └── win32 │ ├── ip.h │ └── iphdr.h ├── prod_build ├── build.sh ├── pack.sh ├── packaging │ ├── deb │ │ ├── config │ │ ├── postinst │ │ ├── postrm │ │ ├── prerm │ │ ├── rules │ │ └── templates │ ├── linux.sh │ └── osx.sh ├── targets │ ├── android.sh │ ├── linux.sh │ ├── osx.sh │ └── windows.sh └── validate.sh └── project.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | build/* 3 | cmake-build-*/ 4 | build_stretch/* 5 | test/build 6 | *.txt.user 7 | *.txt.user.* 8 | *.autosave 9 | # Object files 10 | *.o 11 | *.ko 12 | *.obj 13 | *.elf 14 | 15 | # Linker output 16 | *.ilk 17 | *.map 18 | *.exp 19 | 20 | # Precompiled Headers 21 | *.gch 22 | *.pch 23 | 24 | # Libraries 25 | *.lib 26 | *.a 27 | *.la 28 | *.lo 29 | *.autosave 30 | # Shared objects (inc. Windows DLLs) 31 | *.dll 32 | *.so 33 | *.so.* 34 | *.dylib 35 | 36 | # Executables 37 | *.exe 38 | *.out 39 | *.app 40 | *.i*86 41 | *.x86_64 42 | *.hex 43 | 44 | # Debug files 45 | *.dSYM/ 46 | *.su 47 | *.idb 48 | *.pdb 49 | 50 | # Kernel Module Compile Results 51 | *.mod* 52 | .tmp_versions/ 53 | modules.order 54 | Module.symvers 55 | Mkfile.old 56 | dkms.conf 57 | /.project 58 | /.cproject 59 | /kelvin-node_logs.txt 60 | /build/ 61 | 62 | # Autogenerated CMake files 63 | CMakeCache.txt 64 | CMakeFiles/ 65 | CPackConfig.cmake 66 | CPackSourceConfig.cmake 67 | Makefile 68 | cmake_install.cmake 69 | 70 | # Editor's temp files 71 | *~ 72 | .idea/ 73 | 74 | # OS files 75 | .DS_Store 76 | 77 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "dap-sdk"] 2 | path = dap-sdk 3 | url = ../../dap/dap-sdk.git 4 | branch = develop 5 | -------------------------------------------------------------------------------- /3rdparty/crc32c_adler/README: -------------------------------------------------------------------------------- 1 | 2 | Extended version of CRC32C implementation by Mark Adler, providing both hardware (SSE 4.2) and software algorithms with auto-detection. 3 | 4 | Source: 5 | https://stackoverflow.com/a/17646775 6 | 7 | According to Ferry Toth, Adler's implementation is 'highly optimized': 8 | https://stackoverflow.com/a/39862799 9 | https://github.com/htot/crc32c 10 | 11 | Revised software algorithm by Robert Važan: 12 | https://stackoverflow.com/a/21915223 13 | https://crc32c.machinezoo.com/ 14 | https://bitbucket.org/robertvazan/crc32c-hw/src 15 | -------------------------------------------------------------------------------- /3rdparty/libmaxminddb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | 3 | project(maxminddb C) 4 | 5 | add_definitions ("-D_GNU_SOURCE") 6 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") 7 | 8 | file(GLOB maxminddb_src ${CMAKE_CURRENT_SOURCE_DIR}/*.c) 9 | file(GLOB maxminddb_h ${CMAKE_CURRENT_SOURCE_DIR}/*.h) 10 | 11 | add_library(${PROJECT_NAME} STATIC ${maxminddb_src} ${maxminddb_h}) 12 | set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE C) 13 | set_target_properties(${PROJECT_NAME} PROPERTIES COMPILER_LANGUAGE C) 14 | target_include_directories(${PROJECT_NAME} INTERFACE .) 15 | target_compile_options(${PROJECT_NAME} PRIVATE -Wno-sign-compare -Wno-pointer-sign) 16 | 17 | if (INSTALL_SDK) 18 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${maxminddb_h}") 19 | 20 | INSTALL(TARGETS ${PROJECT_NAME} 21 | LIBRARY DESTINATION lib/modules/net/ 22 | ARCHIVE DESTINATION lib/modules/net/ 23 | PUBLIC_HEADER DESTINATION include/modules/net/maxminddb/ 24 | ) 25 | endif() 26 | -------------------------------------------------------------------------------- /3rdparty/libmaxminddb/maxminddb_config.h: -------------------------------------------------------------------------------- 1 | #ifndef MAXMINDDB_CONFIG_H 2 | #define MAXMINDDB_CONFIG_H 3 | 4 | /* libmaxminddb package version from configure */ 5 | #define PACKAGE_VERSION "1.4.2" 6 | 7 | #ifndef MMDB_UINT128_USING_MODE 8 | /* Define as 1 if we we use unsigned int __atribute__ ((__mode__(TI))) for uint128 values */ 9 | #define MMDB_UINT128_USING_MODE 0 10 | #endif 11 | 12 | #ifndef MMDB_UINT128_IS_BYTE_ARRAY 13 | /* Define as 1 if we don't have an unsigned __int128 type */ 14 | #define MMDB_UINT128_IS_BYTE_ARRAY 1 15 | #endif 16 | 17 | #endif /* MAXMINDDB_CONFIG_H */ 18 | 19 | -------------------------------------------------------------------------------- /3rdparty/libzip/.clang-format: -------------------------------------------------------------------------------- 1 | BasedOnStyle: LLVM 2 | IndentWidth: 4 3 | ColumnLimit: 2000 4 | AlwaysBreakAfterReturnType: TopLevelDefinitions 5 | KeepEmptyLinesAtTheStartOfBlocks: false 6 | MaxEmptyLinesToKeep: 2 7 | BreakBeforeBraces: Custom 8 | BraceWrapping: 9 | BeforeElse: true 10 | AlignEscapedNewlines: Left 11 | UseTab: Never 12 | #PPDirectiveIndentStyle: AfterHash 13 | -------------------------------------------------------------------------------- /3rdparty/libzip/.github/ISSUE_TEMPLATE/bug-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: Report where libzip didn't behave like you expected. 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the Bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **Expected Behavior** 14 | A clear and concise description of what you expected to happen. 15 | 16 | **Observed Behavior** 17 | A clear and concise description of what actually happened. 18 | 19 | **To Reproduce** 20 | Short program or code snippet that reproduces the problem. 21 | 22 | **libzip Version** 23 | Version of libzip or revision repository used. 24 | 25 | **Operating System** 26 | Operating system and version, used compiler. 27 | 28 | **Test Files** 29 | If applicable, attach and describe zip archives that trigger the problem. 30 | 31 | **Additional context** 32 | Add any other context about the problem here. 33 | -------------------------------------------------------------------------------- /3rdparty/libzip/.github/ISSUE_TEMPLATE/compile-error.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Compile Error 3 | about: Report when libzip does not compile. 4 | title: '' 5 | labels: compile 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Compiler Error** 11 | Output from the compiler, including exact and complete error message, file name and line number. 12 | 13 | **libzip Version** 14 | Version of libzip or revision repository used. 15 | 16 | **Operating System and Compiler** 17 | The operating system and compiler used, including version number. 18 | 19 | Also, any flags passed to `cmake`. 20 | 21 | **Autodetected Configuration** 22 | Attach `CmakeCache.txt` from your build directory. This list everything `cmake` detected on your system. 23 | 24 | **Additional context** 25 | Add any other context about the problem here. 26 | -------------------------------------------------------------------------------- /3rdparty/libzip/.github/ISSUE_TEMPLATE/feature-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature Request 3 | about: Suggest an idea for this project. 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Description** 11 | A clear and concise description of what you want to achieve, why the current features are insufficient, and why you think it is generally useful. 12 | 13 | Also, have you checked whether the feature is already mentioned in TODO.md? If so, only submit a new issue if you expand on it. 14 | 15 | **Solution** 16 | A clear and concise description of what you want to happen. 17 | 18 | **Describe alternatives you've considered** 19 | A clear and concise description of any alternative solutions or features you've considered. 20 | 21 | **Additional context** 22 | Add any other context about the feature request here. 23 | -------------------------------------------------------------------------------- /3rdparty/libzip/.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: CIFuzz 2 | on: [pull_request] 3 | jobs: 4 | Fuzzing: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - name: Build Fuzzers 8 | uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master 9 | with: 10 | oss-fuzz-project-name: 'libzip' 11 | dry-run: false 12 | - name: Run Fuzzers 13 | uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master 14 | with: 15 | oss-fuzz-project-name: 'libzip' 16 | fuzz-seconds: 600 17 | dry-run: false 18 | - name: Upload Crash 19 | uses: actions/upload-artifact@v1 20 | if: failure() 21 | with: 22 | name: artifacts 23 | path: ./out/artifacts 24 | -------------------------------------------------------------------------------- /3rdparty/libzip/AUTHORS: -------------------------------------------------------------------------------- 1 | Dieter Baron 2 | Thomas Klausner 3 | -------------------------------------------------------------------------------- /3rdparty/libzip/android/readme.txt: -------------------------------------------------------------------------------- 1 | 2 | Cross compile libzip for android. 3 | -------------------------------- 4 | Modify "do.sh" as appropriate if you need to specify a different ndk dir or wish to specify different build parameters 5 | 6 | Prerequisites for the development machine - see docker/Dockerfile 7 | 8 | You can either set you host machine up with these prerequisites or simply use docker (in which case you need not install anything on your host machine except docker itself). 9 | 10 | See "Usage" in docker/Dockerfile for detailed instructions. 11 | -------------------------------------------------------------------------------- /3rdparty/libzip/examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(in-memory in-memory.c) 2 | target_link_libraries(in-memory zip) 3 | target_include_directories(in-memory PRIVATE ${PROJECT_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR}) 4 | -------------------------------------------------------------------------------- /3rdparty/libzip/libzip-config.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | # only needed for static library, and doesn't work as-is 4 | #include(CMakeFindDependencyMacro) 5 | #find_dependency(ZLIB::ZLIB) 6 | # how to handle the optional dependencies? 7 | # Provide all our library targets to users. 8 | include("${CMAKE_CURRENT_LIST_DIR}/libzip-targets.cmake") 9 | 10 | check_required_components(libzip) 11 | 12 | -------------------------------------------------------------------------------- /3rdparty/libzip/libzip.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | bindir=@bindir@ 4 | libdir=@libdir@ 5 | includedir=@includedir@ 6 | 7 | zipcmp=@bindir@/zipcmp 8 | 9 | Name: libzip 10 | Description: library for handling zip archives 11 | Version: @PROJECT_VERSION@ 12 | Libs: @PKG_CONFIG_RPATH@ -L${libdir} -lzip 13 | Libs.private: @LIBS@ 14 | Cflags: -I${includedir} 15 | 16 | -------------------------------------------------------------------------------- /3rdparty/libzip/man/links: -------------------------------------------------------------------------------- 1 | zip_add zip_replace 2 | zip_error_clear zip_file_error_clear 3 | zip_error_get zip_file_error_get 4 | zip_error_init zip_error_init_with_code 5 | zip_file_add zip_file_replace 6 | zip_file_extra_field_delete zip_file_extra_field_delete_by_id 7 | zip_file_extra_field_get zip_file_extra_field_get_by_id 8 | zip_file_extra_fields_count zip_file_extra_fields_count_by_id 9 | zip_file_set_mtime zip_file_set_dostime 10 | zip_file_strerror zip_strerror 11 | zip_fopen zip_fopen_index 12 | zip_fopen_encrypted zip_fopen_index_encrypted 13 | zip_open zip_open_from_source 14 | zip_source_begin_write zip_source_begin_write_cloning 15 | zip_source_buffer zip_source_buffer_create 16 | zip_source_buffer_fragment zip_source_buffer_fragment_create 17 | zip_source_file zip_source_file_create 18 | zip_source_filep zip_source_filep_create 19 | zip_source_function zip_source_function_create 20 | zip_source_win32a zip_source_win32a_create 21 | zip_source_win32handle zip_source_win32handle_create 22 | zip_source_win32w zip_source_win32w_create 23 | zip_stat zip_stat_index 24 | -------------------------------------------------------------------------------- /3rdparty/libzip/man/update-html.cmake: -------------------------------------------------------------------------------- 1 | # expect variables IN and OUT 2 | EXECUTE_PROCESS(COMMAND mandoc -T html -Oman=%N.html,style=../nih-man.css ${IN} 3 | OUTPUT_VARIABLE HTML) 4 | SET(LINKBASE "http://pubs.opengroup.org/onlinepubs/9699919799/functions/") 5 | STRING(REGEX REPLACE "()" "\\1${LINKBASE}\\2\\3" HTML "${HTML}") 6 | STRING(REGEX REPLACE "${LINKBASE}(libzip|zip)" "\\1" HTML "${HTML}") 7 | STRING(REGEX REPLACE "NetBSD [0-9.]*" "NiH" HTML "${HTML}") 8 | FILE(WRITE ${OUT}.new "${HTML}") 9 | CONFIGURE_FILE(${OUT}.new ${OUT} COPYONLY) 10 | FILE(REMOVE ${OUT}.new) 11 | 12 | 13 | -------------------------------------------------------------------------------- /3rdparty/libzip/man/update-man.cmake: -------------------------------------------------------------------------------- 1 | # expect variables IN and OUT 2 | EXECUTE_PROCESS(COMMAND mandoc -T man ${IN} OUTPUT_VARIABLE MAN) 3 | STRING(REGEX REPLACE "NetBSD [0-9.]*" "NiH" MAN "${MAN}") 4 | FILE(WRITE ${OUT}.new "${MAN}") 5 | CONFIGURE_FILE(${OUT}.new ${OUT} COPYONLY) 6 | FILE(REMOVE ${OUT}.new) 7 | 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_dir.test: -------------------------------------------------------------------------------- 1 | # add directories to zip 2 | return 0 3 | args testdir.zip add_dir testdir/ add_dir testdir-noslash 4 | file-new testdir.zip testdir.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_buffer.test: -------------------------------------------------------------------------------- 1 | # add buffer contents as file to zip 2 | return 0 3 | args testbuffer.zip add teststring.txt "This is a test, and it seems to have been successful.\n" 4 | file-new testbuffer.zip testbuffer.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_file.test: -------------------------------------------------------------------------------- 1 | # add file to zip 2 | return 0 3 | args -- testfile.zip add_file testfile.txt testfile.txt 0 -1 4 | file testfile.txt testfile.txt testfile.txt 5 | file-new testfile.zip testfile.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_file_duplicate.test: -------------------------------------------------------------------------------- 1 | # add already existing file to zip, making duplicate names 2 | return 1 3 | args -- testfile.zip add_file testfile.txt testfile.txt 0 -1 4 | file testfile.txt testfile.txt testfile.txt 5 | file testfile.zip testfile.zip testfile.zip 6 | stderr can't add file 'testfile.txt': File already exists 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_file_twice_duplicate.test: -------------------------------------------------------------------------------- 1 | # add file to zip twice, making duplicate names 2 | return 1 3 | args -- testfile.zip add_file testfile.txt testfile.txt 0 -1 add_file testfile.txt testfile.txt 0 -1 4 | file testfile.txt testfile.txt testfile.txt 5 | file-new testfile.zip testfile.zip 6 | stderr can't add file 'testfile.txt': File already exists 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_file_unchange.test: -------------------------------------------------------------------------------- 1 | # add file to zip, but revert before closing 2 | return 0 3 | args -- testfile.zip add_file testfile.txt testfile.txt 0 -1 unchange 0 4 | file testfile.txt testfile.txt testfile.txt 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_filep.test: -------------------------------------------------------------------------------- 1 | # add file to zip 2 | program add_from_filep 3 | return 0 4 | args testfile.zip testfile.txt 5 | file testfile.txt testfile.txt testfile.txt 6 | file-new testfile.zip testfile.zip 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_stdin.test: -------------------------------------------------------------------------------- 1 | # add stdin to zip 2 | stdin This is a test, and it seems to have been successful. 3 | args -- teststdin.zip add_file teststring.txt /dev/stdin 0 -1 4 | return 0 5 | file-new teststdin.zip teststdin.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_zip_closed.test: -------------------------------------------------------------------------------- 1 | # add deflated file from zip to zip, but close the source before it can be read 2 | return 1 3 | args -- testfile.zip add_from_zip abac-repeat.txt testdeflated.zzip 0 0 -1 zin_close 0 4 | file testdeflated.zzip testdeflated.zip testdeflated.zip 5 | stderr can't close zip archive 'testfile.zip': Containing zip archive was closed 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_zip_deflated.test: -------------------------------------------------------------------------------- 1 | # add deflated file from zip to zip 2 | return 0 3 | args -- testfile.zip add_from_zip abac-repeat.txt testdeflated.zzip 0 0 -1 4 | file testdeflated.zzip testdeflated.zip testdeflated.zip 5 | file-new testfile.zip testdeflated.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_zip_deflated2.test: -------------------------------------------------------------------------------- 1 | # add deflated files from zip to zip 2 | return 0 3 | args -- testfile.zip add_from_zip abac-repeat.txt testdeflated.zzip 0 0 -1 add_from_zip abac-repeat2.txt testdeflated.zzip 0 0 -1 4 | file testdeflated.zzip testdeflated.zip testdeflated.zip 5 | file-new testfile.zip testdeflated2.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_zip_partial_deflated.test: -------------------------------------------------------------------------------- 1 | # add parts of a file from zip to zip 2 | return 0 3 | args -- testfile.zip add_from_zip first firstsecond.zzip 0 0 9 add_from_zip second firstsecond.zzip 0 9 -1 4 | file firstsecond.zzip firstsecond.zip firstsecond.zip 5 | file-new testfile.zip firstsecond-split-stored.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_zip_partial_stored.test: -------------------------------------------------------------------------------- 1 | # add parts of a file from zip to zip 2 | return 0 3 | args -- testfile.zip add_from_zip first firstsecond.zzip 1 0 9 add_from_zip second firstsecond.zzip 1 9 -1 4 | file firstsecond.zzip firstsecond.zip firstsecond.zip 5 | file-new testfile.zip firstsecond-split-stored.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_from_zip_stored.test: -------------------------------------------------------------------------------- 1 | # add stored file from zip to zip 2 | return 0 3 | args -- testfile.zip add_from_zip abac-repeat.txt teststored.zzip 0 0 -1 4 | file teststored.zzip teststored.zip teststored.zip 5 | file-new testfile.zip testdeflated.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_stored.test: -------------------------------------------------------------------------------- 1 | # add file, set compression method to ZIP_CM_STORE 2 | return 0 3 | args -n test.zip add foo foo set_file_compression 0 store 0 4 | file-new test.zip foo-stored.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/add_stored_in_memory.test: -------------------------------------------------------------------------------- 1 | # add file, set compression method to ZIP_CM_STORE 2 | return 0 3 | args -mn test.zip add foo foo set_file_compression 0 store 0 4 | file-new test.zip foo-stored.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/bigstored.zh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/bigstored.zh -------------------------------------------------------------------------------- /3rdparty/libzip/regress/bigzero-zip.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/bigzero-zip.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/bogus.zip: -------------------------------------------------------------------------------- 1 | bogus data 2 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/broken.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/broken.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/buffer-fragment-read.test: -------------------------------------------------------------------------------- 1 | # test reading from a buffer fragment source 2 | return 0 3 | args -mF 1024 test.zip cat 1 4 | file test.zip cm-default.zip cm-default.zip 5 | stdout uncompressable 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/buffer-fragment-write.test: -------------------------------------------------------------------------------- 1 | # rename file inside zip archive 2 | return 0 3 | args -mF 100 rename.zip rename 1 notfile2 4 | file rename.zip testcomment.zip rename_ok.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/cancel_45.test: -------------------------------------------------------------------------------- 1 | # test default compression stores if smaller; test cancel after 45% 2 | return 1 3 | args -n test.zip cancel 45 add compressable aaaaaaaaaaaaaa add uncompressable uncompressable add_nul large-compressable 8200 add_file large-uncompressable large-uncompressable 0 -1 4 | file large-uncompressable large-uncompressable large-uncompressable 5 | stdout 0.0% done 6 | stdout 25.0% done 7 | stdout 50.0% done 8 | stderr can't close zip archive 'test.zip': Operation cancelled 9 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/cancel_90.test: -------------------------------------------------------------------------------- 1 | # test default compression stores if smaller; test cancel after 90% 2 | return 1 3 | args -n test.zip cancel 90 add compressable aaaaaaaaaaaaaa add uncompressable uncompressable add_nul large-compressable 8200 add_file large-uncompressable large-uncompressable 0 -1 4 | file large-uncompressable large-uncompressable large-uncompressable 5 | stdout 0.0% done 6 | stdout 25.0% done 7 | stdout 50.0% done 8 | stdout 75.0% done 9 | stdout 100.0% done 10 | stderr can't close zip archive 'test.zip': Operation cancelled 11 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/cleanup.cmake: -------------------------------------------------------------------------------- 1 | # expect variable DIR 2 | FILE(GLOB CLEANDIRS "${DIR}/sandbox-*.d[0-9]*") 3 | IF (CLEANDIRS) 4 | MESSAGE(STATUS "Removing ${CLEANDIRS}") 5 | FILE(REMOVE_RECURSE ${CLEANDIRS}) 6 | ENDIF() 7 | 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/clone-buffer-add.test: -------------------------------------------------------------------------------- 1 | # test cloning archive from buffer, add new file 2 | return 0 3 | args -mF 100 test.zzip add new "A new file." set_file_mtime 3 1512998132 4 | file test.zzip gap.zip gap-add.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/clone-buffer-delete.test: -------------------------------------------------------------------------------- 1 | # test cloning archive from buffer, deleting a file 2 | return 0 3 | args -mF 100 test.zzip delete 2 4 | file test.zzip gap.zip gap-delete.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/clone-buffer-replace.test: -------------------------------------------------------------------------------- 1 | # test cloning archive from buffer, replacing a file 2 | return 0 3 | args -mF 100 test.zzip replace_file_contents 2 "A changed file." set_file_mtime 2 1512998082 4 | file test.zzip gap.zip gap-replace.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/clone-fs-add.test: -------------------------------------------------------------------------------- 1 | # test cloning archive from filesystem, add new file 2 | precheck ./can_clone_file 3 | return 0 4 | args test.zzip add new "A new file." set_file_mtime 3 1512998132 5 | file test.zzip gap.zip gap-add.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/clone-fs-delete.test: -------------------------------------------------------------------------------- 1 | # test cloning archive from filesystem, deleting a file 2 | precheck ./can_clone_file 3 | return 0 4 | args test.zzip delete 2 5 | file test.zzip gap.zip gap-delete.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/clone-fs-replace.test: -------------------------------------------------------------------------------- 1 | # test cloning archive from filesystem, replacing a file 2 | precheck ./can_clone_file 3 | return 0 4 | args test.zzip replace_file_contents 2 "A changed file." set_file_mtime 2 1512998082 5 | file test.zzip gap.zip gap-replace.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/cm-default.test: -------------------------------------------------------------------------------- 1 | # test default compression stores if smaller 2 | return 0 3 | args -n test.zip add compressable aaaaaaaaaaaaaa add uncompressable uncompressable add_nul large-compressable 8200 add_file large-uncompressable large-uncompressable 0 -1 4 | file-new test.zip cm-default.zip 5 | file large-uncompressable large-uncompressable large-uncompressable 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/cm-default.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/cm-default.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/count_entries.test: -------------------------------------------------------------------------------- 1 | # zip_open: count entries for archive with >65k entries 2 | args manyfiles.zip get_num_entries 0 3 | return 0 4 | file manyfiles.zip manyfiles.zip manyfiles.zip 5 | stdout 70000 entries in archive 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/decrypt-correct-password-aes128.test: -------------------------------------------------------------------------------- 1 | # test AES decryption support, extract file using correct password 2 | features CRYPTO 3 | return 0 4 | args encrypt.zzip set_password foofoofoo cat 1 5 | file encrypt.zzip encrypt-aes128.zip encrypt-aes128.zip 6 | stdout encrypted 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/decrypt-correct-password-aes192.test: -------------------------------------------------------------------------------- 1 | # test AES decryption support, extract file using correct password 2 | features CRYPTO 3 | return 0 4 | args encrypt.zzip set_password foofoofoo cat 1 5 | file encrypt.zzip encrypt-aes192.zip encrypt-aes192.zip 6 | stdout encrypted 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/decrypt-correct-password-aes256.test: -------------------------------------------------------------------------------- 1 | # test AES decryption support, extract file using correct password 2 | features CRYPTO 3 | return 0 4 | args encrypt.zzip set_password foofoofoo cat 1 5 | file encrypt.zzip encrypt-aes256.zip encrypt-aes256.zip 6 | stdout encrypted 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/decrypt-correct-password-pkware-2.test: -------------------------------------------------------------------------------- 1 | # test decryption support, extract file using correct password 2 | return 0 3 | args encrypt.zzip set_password 1234 cat 0 4 | file encrypt.zzip encrypt-1234.zip encrypt-1234.zip 5 | stdout I would love to try or hear the sample audio your app can produce. I do not want to purchase, because I've purchased so many apps that say they do something and do not deliver. 6 | stdout 7 | stdout Can you please add audio samples with text you've converted? I'd love to see the end results. 8 | stdout 9 | stdout Thanks! 10 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/decrypt-correct-password-pkware.test: -------------------------------------------------------------------------------- 1 | # test decryption support, extract file using correct password 2 | return 0 3 | args encrypt.zzip set_password foo cat 0 4 | file encrypt.zzip encrypt.zip encrypt.zip 5 | stdout foo 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/decrypt-no-password-aes256.test: -------------------------------------------------------------------------------- 1 | # test AES decryption support, no password provided 2 | features CRYPTO 3 | return 1 4 | args encrypt.zzip cat 1 5 | file encrypt.zzip encrypt-aes256.zip encrypt-aes256.zip 6 | stderr can't open file at index '1': No password provided 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/decrypt-wrong-password-aes128.test: -------------------------------------------------------------------------------- 1 | # test AES decryption support, extract file using wrong password 2 | features CRYPTO 3 | return 1 4 | args encrypt.zzip set_password notfoonotfoo cat 1 5 | file encrypt.zzip encrypt-aes128.zip encrypt-aes128.zip 6 | stderr can't open file at index '1': Wrong password provided 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/decrypt-wrong-password-aes192.test: -------------------------------------------------------------------------------- 1 | # test AES decryption support, extract file using wrong password 2 | features CRYPTO 3 | return 1 4 | args encrypt.zzip set_password notfoonotfoo cat 1 5 | file encrypt.zzip encrypt-aes192.zip encrypt-aes192.zip 6 | stderr can't open file at index '1': Wrong password provided 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/decrypt-wrong-password-aes256.test: -------------------------------------------------------------------------------- 1 | # test AES decryption support, extract file using wrong password 2 | features CRYPTO 3 | return 1 4 | args encrypt.zzip set_password notfoonotfoo cat 1 5 | file encrypt.zzip encrypt-aes256.zip encrypt-aes256.zip 6 | stderr can't open file at index '1': Wrong password provided 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/decrypt-wrong-password-pkware-2.test: -------------------------------------------------------------------------------- 1 | # test decryption support, extract file using wrong password (correct: "1234") 2 | # In some cases, like this one, the password, even if incorrect, passes the 3 | # minimal verification that's possible due to the zip file format specification. 4 | return 1 5 | args encrypt.zzip set_password sample cat 0 6 | file encrypt.zzip encrypt-1234.zip encrypt-1234.zip 7 | stderr can't read file at index '0': Zlib error: data error 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/decrypt-wrong-password-pkware.test: -------------------------------------------------------------------------------- 1 | # test decryption support, extract file using wrong password 2 | return 1 3 | args encrypt.zzip set_password notfoo cat 0 4 | file encrypt.zzip encrypt.zip encrypt.zip 5 | stderr can't open file at index '0': Wrong password provided 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/delete_add_same.test: -------------------------------------------------------------------------------- 1 | # delete entry in zip archive then add file of same name 2 | # time is now(), so use zipcmp 3 | return 0 4 | args testfile.zip delete 0 add testfile.txt test 5 | file testfile.zip testfile.zip test2.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/delete_invalid.test: -------------------------------------------------------------------------------- 1 | # delete last entry in zip archive 2 | return 1 3 | args testfile.zzip delete 5 4 | file testfile.zzip testfile.zip testfile.zip 5 | stderr can't delete file at index '5': Invalid argument 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/delete_last.test: -------------------------------------------------------------------------------- 1 | # delete last entry in zip archive 2 | return 0 3 | args testfile.zzip delete 0 4 | file-del testfile.zzip testfile.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/delete_multiple_last.test: -------------------------------------------------------------------------------- 1 | # delete multiple entries in zip archive, emptying it 2 | return 0 3 | args testfile.zzip delete 0 delete 1 delete 2 delete 3 4 | file-del testfile.zzip testcomment.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/delete_multiple_partial.test: -------------------------------------------------------------------------------- 1 | # delete some entries in zip archive 2 | return 0 3 | args testfile.zip delete 1 delete 3 4 | file testfile.zip testcomment.zip testcomment13.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/delete_renamed_rename.test: -------------------------------------------------------------------------------- 1 | # delete renamed entry in zip archive then rename file to same name 2 | # file date is now(), so use zipcmp 3 | return 0 4 | args testfile.zip rename 0 something add test test delete 0 rename 1 testfile.txt 5 | file testfile.zip testfile.zip test2.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt-1234.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt-1234.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt-aes128-noentropy.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt-aes128-noentropy.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt-aes128.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt-aes128.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt-aes192-noentropy.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt-aes192-noentropy.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt-aes192.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt-aes192.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt-aes256-noentropy.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt-aes256-noentropy.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt-aes256.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt-aes256.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt-none.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt-none.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt-pkware-noentropy.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt-pkware-noentropy.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt.test: -------------------------------------------------------------------------------- 1 | # test encryption support 2 | # TODO: only checks recognition of encrypted entries for now. 3 | return 0 4 | args encrypt.zzip stat 0 stat 1 5 | file encrypt.zzip encrypt.zip encrypt.zip 6 | stdout name: 'encrypted' 7 | stdout index: '0' 8 | stdout size: '4' 9 | stdout compressed size: '16' 10 | stdout mtime: 'Mon Apr 24 2006 16:01:34' 11 | stdout crc: '7e3265a8' 12 | stdout compression method: '0' 13 | stdout encryption method: '1' 14 | stdout 15 | stdout name: 'plain' 16 | stdout index: '1' 17 | stdout size: '4' 18 | stdout compressed size: '4' 19 | stdout mtime: 'Mon Apr 24 2006 16:01:42' 20 | stdout crc: '7e3265a8' 21 | stdout compression method: '0' 22 | stdout encryption method: '0' 23 | stdout 24 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt_plus_extra.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt_plus_extra.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt_plus_extra_modified_c.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt_plus_extra_modified_c.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encrypt_plus_extra_modified_l.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/encrypt_plus_extra_modified_l.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encryption-nonrandom-aes128.test: -------------------------------------------------------------------------------- 1 | features CRYPTO 2 | precheck ./liboverride-test 3 | description encrypt file without entropy, to make results repeatable 4 | return 0 5 | preload nonrandomopen.so 6 | args encrypt.zzip set_file_encryption 1 AES-128 no-entropy 7 | file encrypt.zzip encrypt-none.zip encrypt-aes128-noentropy.zip 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encryption-nonrandom-aes192.test: -------------------------------------------------------------------------------- 1 | features CRYPTO 2 | precheck ./liboverride-test 3 | description encrypt file without entropy, to make results repeatable 4 | return 0 5 | preload nonrandomopen.so 6 | args encrypt.zzip set_file_encryption 1 AES-192 no-entropy 7 | file encrypt.zzip encrypt-none.zip encrypt-aes192-noentropy.zip 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encryption-nonrandom-aes256.test: -------------------------------------------------------------------------------- 1 | features CRYPTO 2 | precheck ./liboverride-test 3 | description encrypt file without entropy, to make results repeatable 4 | return 0 5 | preload nonrandomopen.so 6 | args encrypt.zzip set_file_encryption 1 AES-256 no-entropy 7 | file encrypt.zzip encrypt-none.zip encrypt-aes256-noentropy.zip 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encryption-nonrandom-pkware.test: -------------------------------------------------------------------------------- 1 | features CRYPTO 2 | precheck ./liboverride-test 3 | description encrypt file by Traditional PKWARE 4 | return 0 5 | preload nonrandomopen.so 6 | args encrypt.zzip set_file_encryption 1 PKWARE no-entropy 7 | file encrypt.zzip encrypt-none.zip encrypt-pkware-noentropy.zip 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encryption-remove.test: -------------------------------------------------------------------------------- 1 | # test AES decryption support, remove encryption from file that has it 2 | features CRYPTO 3 | return 0 4 | args encrypt.zzip set_password foofoofoo set_file_encryption 1 none "" 5 | file encrypt.zzip encrypt-aes128.zip encrypt-none.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/encryption-stat.test: -------------------------------------------------------------------------------- 1 | features CRYPTO 2 | description encrypt file, look at stat before commit 3 | return 0 4 | args encrypt.zzip stat 1 set_file_encryption 1 AES-128 no-entropy stat 1 unchange_all 5 | file encrypt.zzip encrypt-none.zip encrypt-none.zip 6 | stdout name: 'encrypted' 7 | stdout index: '1' 8 | stdout size: '10' 9 | stdout compressed size: '10' 10 | stdout mtime: 'Sat Jan 14 2017 21:27:26' 11 | stdout crc: 'fb8c5e55' 12 | stdout compression method: '0' 13 | stdout encryption method: '0' 14 | stdout 15 | stdout name: 'encrypted' 16 | stdout index: '1' 17 | stdout size: '10' 18 | stdout compressed size: '10' 19 | stdout mtime: 'Sat Jan 14 2017 21:27:26' 20 | stdout crc: 'fb8c5e55' 21 | stdout compression method: '0' 22 | stdout encryption method: '257' 23 | stdout 24 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_add.test: -------------------------------------------------------------------------------- 1 | # add extra field 2 | #args encrypt.zip set_extra 0 2345 65535 cl extrafieldcontent 3 | args encrypt.zip set_extra 0 2345 65535 cl extrafieldcontent get_extra_by_id 0 2345 0 c get_extra_by_id 0 2345 0 l 4 | return 0 5 | file encrypt.zip encrypt.zip encrypt_plus_extra.zip 6 | stdout Extra field 0x0929: len 17, data 0x65787472616669656c64636f6e74656e74 7 | stdout Extra field 0x0929: len 17, data 0x65787472616669656c64636f6e74656e74 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_add_multiple.test: -------------------------------------------------------------------------------- 1 | # add extra fields 2 | args testfile.zip set_extra 0 2345 65535 cl extra1 set_extra 0 2345 65535 cl extra2 set_extra 0 2345 0 c extra1c set_extra 0 2345 1 l extra2l get_extra_by_id 0 2345 0 c get_extra_by_id 0 2345 1 c get_extra_by_id 0 2345 0 l get_extra_by_id 0 2345 1 l 3 | return 0 4 | file testfile.zip testfile.zip testfile-plus-extra.zip 5 | stdout Extra field 0x0929: len 7, data 0x65787472613163 6 | stdout Extra field 0x0929: len 6, data 0x657874726132 7 | stdout Extra field 0x0929: len 6, data 0x657874726131 8 | stdout Extra field 0x0929: len 7, data 0x6578747261326c 9 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_count.test: -------------------------------------------------------------------------------- 1 | # count extra fields for index 2 | args encrypt.zip count_extra 0 l count_extra 0 c count_extra 0 lc count_extra 1 l count_extra 1 c count_extra 1 lc 3 | return 0 4 | file encrypt.zip encrypt.zip encrypt.zip 5 | stdout Extra field count: 2 6 | stdout Extra field count: 2 7 | stdout Extra field count: 4 8 | stdout Extra field count: 2 9 | stdout Extra field count: 2 10 | stdout Extra field count: 4 11 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_count_ignore_zip64.test: -------------------------------------------------------------------------------- 1 | # count extra fields for index 2 | args bigzero.zip count_extra 0 l count_extra 0 c count_extra 0 lc 3 | return 0 4 | file bigzero.zip bigzero.zip bigzero.zip 5 | stdout Extra field count: 0 6 | stdout Extra field count: 0 7 | stdout Extra field count: 0 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_delete.test: -------------------------------------------------------------------------------- 1 | # delete extra field by index 2 | args encrypt.zip get_extra 0 0 c get_extra 0 1 c get_extra 0 2 c get_extra 0 0 l get_extra 0 1 l get_extra 0 2 l delete_extra 0 2 c delete_extra 0 0 l get_extra 0 0 c get_extra 0 1 c get_extra 0 0 l get_extra 0 1 l 3 | file encrypt.zip encrypt_plus_extra.zip encrypt.zip 4 | return 0 5 | stdout Extra field 0x5455: len 5, data 0x033dda4c44 6 | stdout Extra field 0x7855: len 0 7 | stdout Extra field 0x0929: len 17, data 0x65787472616669656c64636f6e74656e74 8 | stdout Extra field 0x0929: len 17, data 0x65787472616669656c64636f6e74656e74 9 | stdout Extra field 0x5455: len 9, data 0x033dda4c444dda4c44 10 | stdout Extra field 0x7855: len 4, data 0x64001400 11 | stdout Extra field 0x5455: len 5, data 0x033dda4c44 12 | stdout Extra field 0x7855: len 0 13 | stdout Extra field 0x5455: len 9, data 0x033dda4c444dda4c44 14 | stdout Extra field 0x7855: len 4, data 0x64001400 15 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_delete_by_id.test: -------------------------------------------------------------------------------- 1 | # delete extra field by id and index 2 | #args encrypt.zip set_extra 0 2345 65535 cl extrafieldcontent 3 | args encrypt.zip delete_extra_by_id 0 2345 0 c delete_extra_by_id 0 2345 0 l get_extra_by_id 0 2345 0 c 4 | return 1 5 | file encrypt.zip encrypt_plus_extra.zip encrypt.zip 6 | stderr can't get extra field data for file at index 0, extra field id 2345, ef index 0, flags 512: No such file 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_1-0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_1-0.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_1-ef_00.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_1-ef_00.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_1-ef_ff.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_1-ef_ff.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_1-ff.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_1-ff.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_2-0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_2-0.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_2-ef_00.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_2-ef_00.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_2-ef_ff.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_2-ef_ff.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_2-ff.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_2-ff.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_3-0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_3-0.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_3-ef_00.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_3-ef_00.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_3-ef_ff.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_3-ef_ff.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_3-ff.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_3-ff.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_field_align_4-ff.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/extra_field_align_4-ff.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_get.test: -------------------------------------------------------------------------------- 1 | # get extra fields for index 2 | args encrypt.zip get_extra 0 0 l get_extra 0 0 c get_extra 0 1 l get_extra 0 1 c get_extra 0 2 l 3 | return 1 4 | file encrypt.zip encrypt.zip encrypt.zip 5 | stdout Extra field 0x5455: len 9, data 0x033dda4c444dda4c44 6 | stdout Extra field 0x5455: len 5, data 0x033dda4c44 7 | stdout Extra field 0x7855: len 4, data 0x64001400 8 | stdout Extra field 0x7855: len 0 9 | stderr can't get extra field data for file at index 0, extra field 2, flags 256: No such file 10 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_get_by_id.test: -------------------------------------------------------------------------------- 1 | # get extra_by_id fields for index 2 | args encrypt.zip get_extra_by_id 0 21589 0 l get_extra_by_id 0 30805 0 l get_extra_by_id 0 21589 0 c get_extra_by_id 0 30805 0 c get_extra_by_id 0 21544 0 c 3 | return 1 4 | file encrypt.zip encrypt.zip encrypt.zip 5 | stdout Extra field 0x5455: len 9, data 0x033dda4c444dda4c44 6 | stdout Extra field 0x7855: len 4, data 0x64001400 7 | stdout Extra field 0x5455: len 5, data 0x033dda4c44 8 | stdout Extra field 0x7855: len 0 9 | stderr can't get extra field data for file at index 0, extra field id 21544, ef index 0, flags 512: No such file 10 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/extra_set.test: -------------------------------------------------------------------------------- 1 | # set extra field 2 | args -- encrypt get_extra 0 0 c get_extra 0 1 c get_extra 0 0 l get_extra 0 1 l set_extra 0 2345 -1 l extrafieldcontent set_extra 0 2345 -1 c extrafieldcontent get_extra 0 0 c get_extra 0 1 c get_extra 0 2 c get_extra 0 0 l get_extra 0 1 l get_extra 0 2 l 3 | file encrypt encrypt.zip encrypt_plus_extra.zip 4 | return 0 5 | stdout Extra field 0x5455: len 5, data 0x033dda4c44 6 | stdout Extra field 0x7855: len 0 7 | stdout Extra field 0x5455: len 9, data 0x033dda4c444dda4c44 8 | stdout Extra field 0x7855: len 4, data 0x64001400 9 | stdout Extra field 0x5455: len 5, data 0x033dda4c44 10 | stdout Extra field 0x7855: len 0 11 | stdout Extra field 0x0929: len 17, data 0x65787472616669656c64636f6e74656e74 12 | stdout Extra field 0x5455: len 9, data 0x033dda4c444dda4c44 13 | stdout Extra field 0x7855: len 4, data 0x64001400 14 | stdout Extra field 0x0929: len 17, data 0x65787472616669656c64636f6e74656e74 15 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/fdopen_ok.test: -------------------------------------------------------------------------------- 1 | # zip_fdopen: stdin opens fine 2 | program ../src/ziptool 3 | args /dev/stdin stat 0 4 | stdin-file test.zip 5 | return 0 6 | file test.zip test.zip test.zip 7 | stdout name: 'test' 8 | stdout index: '0' 9 | stdout size: '5' 10 | stdout compressed size: '5' 11 | stdout mtime: 'Mon Oct 06 2003 15:46:42' 12 | stdout crc: '3bb935c6' 13 | stdout compression method: '0' 14 | stdout encryption method: '0' 15 | stdout 16 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/file_comment_encmismatch.test: -------------------------------------------------------------------------------- 1 | # set file comment to UTF-8 for CP437 encoded filename (adds InfoZIP extra field) 2 | return 0 3 | args testfile.zip set_file_comment 0 ÄÖÜßäöü 4 | file testfile.zip test-cp437.zip test-cp437-comment-utf-8.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/filename_duplicate.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/filename_duplicate.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/filename_duplicate_empty.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/filename_duplicate_empty.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/filename_empty.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/filename_empty.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/fileorder.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/fileorder.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/firstsecond-split-deflated.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/firstsecond-split-deflated.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/firstsecond-split-stored.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/firstsecond-split-stored.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/firstsecond.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/firstsecond.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/foo-stored.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/foo-stored.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/fopen_unchanged.test: -------------------------------------------------------------------------------- 1 | # add buffer contents as file to zip, then read unchanged from it 2 | program fopen_unchanged 3 | return 1 4 | args testbuffer.zip 5 | stderr can't zip_fopen file 'teststring.txt': No such file 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/fread.test: -------------------------------------------------------------------------------- 1 | # various tests for zip_fread 2 | program fread 3 | args broken.zip 4 | return 0 5 | file broken.zip broken.zip broken.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/fseek_deflated.test: -------------------------------------------------------------------------------- 1 | # unsuccessful fseek test because data is compressed 2 | program fseek 3 | args test.zip 0 2 4 | return 1 5 | file test.zip testdeflated.zip testdeflated.zip 6 | stderr zip_fseek failed: Operation not supported 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/fseek_fail.test: -------------------------------------------------------------------------------- 1 | # successful fseek test 2 | program fseek 3 | args test.zip 0 8 4 | return 1 5 | file test.zip test.zip test.zip 6 | stderr zip_fseek failed: Invalid argument 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/fseek_ok.test: -------------------------------------------------------------------------------- 1 | # successful fseek test 2 | program fseek 3 | args test.zip 0 2 4 | return 0 5 | file test.zip test.zip test.zip 6 | stdout st 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/gap-add.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/gap-add.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/gap-delete.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/gap-delete.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/gap-replace.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/gap-replace.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/gap.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/gap.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/get_comment.test: -------------------------------------------------------------------------------- 1 | # show comments of a zip archive 2 | return 0 3 | args testcomment.zip get_archive_comment get_file_comment 0 get_file_comment 1 get_file_comment 2 get_file_comment 3 4 | file testcomment.zip testcomment.zip testcomment.zip 5 | stdout Archive comment: This is the archive comment for the file. 6 | stdout 7 | stdout Long. 8 | stdout 9 | stdout Longer. 10 | stdout 11 | stdout No comment for 'file1' 12 | stdout File comment for 'file2': First one had no comment. 13 | stdout File comment for 'file3': Third one. 14 | stdout File comment for 'file4': Last. 15 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-archive-comment-longer.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-archive-comment-longer.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-archive-comment-shorter.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-archive-comment-shorter.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-cdoffset.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-cdoffset.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-central-compression-method.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-central-compression-method.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-central-compsize-larger-toolarge.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-central-compsize-larger-toolarge.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-central-compsize-larger.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-central-compsize-larger.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-central-compsize-smaller.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-central-compsize-smaller.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-central-crc.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-central-crc.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-central-date.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-central-date.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-central-file-comment-longer.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-central-file-comment-longer.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-central-file-comment-shorter.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-central-file-comment-shorter.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-central-magic-bad.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-central-magic-bad.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-central-magic-bad2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-central-magic-bad2.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-central-size-larger.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-central-size-larger.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-data.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-data.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-ef-central-size-wrong.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-ef-central-size-wrong.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-ef-local-id-size.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-ef-local-id-size.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-ef-local-id.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-ef-local-id.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-ef-local-size.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-ef-local-size.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-eocd-magic-bad.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-eocd-magic-bad.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-file-count-high.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-file-count-high.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-file-count-low.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-file-count-low.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-file-count-overflow.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-file-count-overflow.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-local-compression-method.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-local-compression-method.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-local-compsize-larger.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-local-compsize-larger.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-local-compsize-smaller.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-local-compsize-smaller.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-local-crc.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-local-crc.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-local-filename-long.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-local-filename-long.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-local-filename-missing.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-local-filename-missing.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-local-filename-short.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-local-filename-short.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-local-filename.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-local-filename.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-local-magic-bad.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-local-magic-bad.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/incons-local-size-larger.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/incons-local-size-larger.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/junk-at-end.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/junk-at-end.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/junk-at-start.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/junk-at-start.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/junk_at_end.test: -------------------------------------------------------------------------------- 1 | # test archive with junk at end of file 2 | args -l 412 junk-at-end.zzip get_num_entries 0 3 | return 0 4 | file junk-at-end.zzip junk-at-end.zip junk-at-end.zip 5 | stdout 3 entries in archive -------------------------------------------------------------------------------- /3rdparty/libzip/regress/junk_at_start.test: -------------------------------------------------------------------------------- 1 | # test archive with junk at start of file 2 | args -o 4 junk-at-start.zzip get_num_entries 0 3 | return 0 4 | file junk-at-start.zzip junk-at-start.zip junk-at-start.zip 5 | stdout 3 entries in archive -------------------------------------------------------------------------------- /3rdparty/libzip/regress/large-uncompressable: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/large-uncompressable -------------------------------------------------------------------------------- /3rdparty/libzip/regress/lzma-no-eos.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/lzma-no-eos.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/manyfiles-zip.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/manyfiles-zip.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/multidisk.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/multidisk.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/nihtest.conf.in: -------------------------------------------------------------------------------- 1 | default-program ziptool_regress 2 | source-directory @srcdir@ 3 | top-build-directory @top_builddir@ 4 | file-compare zip zip ../src/zipcmp -pv 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_cons_extrabytes.test: -------------------------------------------------------------------------------- 1 | # zip_open: file has extra bytes at end of archive 2 | program tryopen 3 | file testextrabytes.zzip testextrabytes.zip testextrabytes.zip 4 | args -c testextrabytes.zzip 5 | return 1 6 | stdout opening 'testextrabytes.zzip' returned error 21/2 7 | stderr 1 errors 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_empty.test: -------------------------------------------------------------------------------- 1 | # zip_open: file contains no entry, but is valid 2 | program tryopen 3 | file testempty.zip testempty.zip testempty.zip 4 | args testempty.zip 5 | return 0 6 | stdout opening 'testempty.zip' succeeded, 0 entries 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_empty_2.test: -------------------------------------------------------------------------------- 1 | # zip_open: 0 size file is recognized as empty zip 2 | program tryopen 3 | file testfile.txt testfile.txt testfile.txt 4 | args testfile.txt 5 | return 1 6 | stdout opening 'testfile.txt' returned error 19 7 | stderr 1 errors 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_extrabytes.test: -------------------------------------------------------------------------------- 1 | # zip_open: file has extra bytes at end of archive 2 | program tryopen 3 | file testextrabytes.zzip testextrabytes.zip testextrabytes.zip 4 | args testextrabytes.zzip 5 | return 0 6 | stdout opening 'testextrabytes.zzip' succeeded, 1 entries 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_file_count.test: -------------------------------------------------------------------------------- 1 | # zip_open: various inconsistent files 2 | setenv LANG C 3 | program tryopen 4 | file incons-file-count-high.zzip incons-file-count-high.zip incons-file-count-high.zip 5 | file incons-file-count-low.zzip incons-file-count-low.zip incons-file-count-low.zip 6 | file incons-file-count-overflow.zzip incons-file-count-overflow.zip incons-file-count-overflow.zip 7 | args incons-file-count-high.zzip incons-file-count-low.zzip incons-file-count-overflow.zzip 8 | return 1 9 | stdout opening 'incons-file-count-high.zzip' returned error 21/5 10 | stdout opening 'incons-file-count-low.zzip' returned error 21/5 11 | stdout opening 'incons-file-count-overflow.zzip' returned error 21/11 12 | stderr 3 errors 13 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_filename_duplicate.test: -------------------------------------------------------------------------------- 1 | # zip_open: file opens fine even though same file name appears twice 2 | program tryopen 3 | args filename_duplicate.zzip 4 | return 0 5 | file filename_duplicate.zzip filename_duplicate.zip filename_duplicate.zip 6 | stdout opening 'filename_duplicate.zzip' succeeded, 2 entries 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_filename_duplicate_consistency.test: -------------------------------------------------------------------------------- 1 | # zip_open: file opens fine even though same file name appears twice 2 | program tryopen 3 | args -c filename_duplicate.zzip 4 | return 1 5 | file filename_duplicate.zzip filename_duplicate.zip filename_duplicate.zip 6 | stdout opening 'filename_duplicate.zzip' returned error 10 7 | stderr 1 errors 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_filename_duplicate_empty.test: -------------------------------------------------------------------------------- 1 | # zip_open: file opens fine even though same file name (empty file name) appears twice 2 | program tryopen 3 | args filename_duplicate_empty.zzip 4 | return 0 5 | file filename_duplicate_empty.zzip filename_duplicate_empty.zip filename_duplicate_empty.zip 6 | stdout opening 'filename_duplicate_empty.zzip' succeeded, 2 entries 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_filename_duplicate_empty_consistency.test: -------------------------------------------------------------------------------- 1 | # zip_open: file opens fine even though same file name (empty file name) appears twice 2 | program tryopen 3 | args -c filename_duplicate_empty.zzip 4 | return 1 5 | file filename_duplicate_empty.zzip filename_duplicate_empty.zip filename_duplicate_empty.zip 6 | stdout opening 'filename_duplicate_empty.zzip' returned error 10 7 | stderr 1 errors 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_filename_empty.test: -------------------------------------------------------------------------------- 1 | # zip_open: file opens fine even though file name has length 0 2 | program tryopen 3 | args filename_empty.zip 4 | return 0 5 | file filename_empty.zip filename_empty.zip filename_empty.zip 6 | stdout opening 'filename_empty.zip' succeeded, 1 entries 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_many_fail.test: -------------------------------------------------------------------------------- 1 | # zip_open: files with >65k that have issues 2 | program tryopen 3 | args manyfiles-zip64-modulo.zzip manyfiles-fewer.zzip manyfiles-more.zzip 4 | return 1 5 | file manyfiles-zip64-modulo.zzip manyfiles-zip64-modulo.zip manyfiles-zip64-modulo.zip 6 | file manyfiles-fewer.zzip manyfiles-fewer.zip manyfiles-fewer.zip 7 | file manyfiles-more.zzip manyfiles-more.zip manyfiles-more.zip 8 | stdout opening 'manyfiles-zip64-modulo.zzip' returned error 21/5 9 | stdout opening 'manyfiles-fewer.zzip' returned error 21/5 10 | stdout opening 'manyfiles-more.zzip' returned error 21/5 11 | stderr 3 errors 12 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_many_ok.test: -------------------------------------------------------------------------------- 1 | # zip_open: files open fine, have > 65k entries 2 | program tryopen 3 | args manyfiles.zip manyfiles-zip64.zip manyfiles-133000.zip manyfiles-65536.zip 4 | return 0 5 | file manyfiles.zip manyfiles.zip manyfiles.zip 6 | file manyfiles-zip64.zip manyfiles-zip64.zip manyfiles-zip64.zip 7 | file manyfiles-133000.zip manyfiles-133000.zip manyfiles-133000.zip 8 | file manyfiles-65536.zip manyfiles-65536.zip manyfiles-65536.zip 9 | stdout opening 'manyfiles.zip' succeeded, 70000 entries 10 | stdout opening 'manyfiles-zip64.zip' succeeded, 70000 entries 11 | stdout opening 'manyfiles-133000.zip' succeeded, 133000 entries 12 | stdout opening 'manyfiles-65536.zip' succeeded, 65536 entries 13 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_multidisk.test: -------------------------------------------------------------------------------- 1 | # zip_open: file is part of a multi-disk zip archive 2 | program tryopen 3 | args test.piz 4 | return 1 5 | file test.piz multidisk.zip multidisk.zip 6 | stdout opening 'test.piz' returned error 1 7 | stderr 1 errors 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_new_but_exists.test: -------------------------------------------------------------------------------- 1 | # zip_open: file shall be created but already exists 2 | program tryopen 3 | args -e test.zip 4 | return 1 5 | file test.zip test.zip test.zip 6 | stdout opening 'test.zip' returned error 10 7 | stderr 1 errors 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_new_ok.test: -------------------------------------------------------------------------------- 1 | # zip_open: create new archive 2 | program tryopen 3 | args -n new.zip 4 | return 0 5 | stdout opening 'new.zip' succeeded, 0 entries 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_nonarchive.test: -------------------------------------------------------------------------------- 1 | # zip_open: file is not a zip archive 2 | program tryopen 3 | file CMakeLists.txt CMakeLists.txt CMakeLists.txt 4 | args CMakeLists.txt 5 | return 1 6 | stdout opening 'CMakeLists.txt' returned error 19 7 | stderr 1 errors 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_nosuchfile.test: -------------------------------------------------------------------------------- 1 | # zip_open: file doesn't exist 2 | program tryopen 3 | args nosuchfile 4 | return 1 5 | stdout opening 'nosuchfile' returned error 9 6 | stderr 1 errors 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_ok.test: -------------------------------------------------------------------------------- 1 | # zip_open: file opens fine 2 | program tryopen 3 | args test.zip 4 | return 0 5 | file test.zip test.zip test.zip 6 | stdout opening 'test.zip' succeeded, 3 entries 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_too_short.test: -------------------------------------------------------------------------------- 1 | # zip_open: file is too short for even a central directory entry 2 | program tryopen 3 | args test.piz 4 | return 1 5 | file test.piz bogus.zip bogus.zip 6 | stdout opening 'test.piz' returned error 19 7 | stderr 1 errors 8 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_truncate.test: -------------------------------------------------------------------------------- 1 | # zip_open: file opens fine and gets truncated 2 | program tryopen 3 | args -t test.zip 4 | return 0 5 | file-del test.zip test.zip 6 | stdout opening 'test.zip' succeeded, 0 entries 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_zip64_3mf.test: -------------------------------------------------------------------------------- 1 | # zip_open: ZIP64 file opens fine even when most eocd entries are 0xff (3MF format) 2 | program tryopen 3 | args test.zip 4 | return 0 5 | file test.zip zip64-3mf.zip zip64-3mf.zip 6 | stdout opening 'test.zip' succeeded, 1 entries 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/open_zip64_ok.test: -------------------------------------------------------------------------------- 1 | # zip_open: ZIP64 file opens fine 2 | program tryopen 3 | args test.zip 4 | return 0 5 | file test.zip zip64.zip zip64.zip 6 | stdout opening 'test.zip' succeeded, 1 entries 7 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/preload.test: -------------------------------------------------------------------------------- 1 | description test if preload works 2 | program nonrandomopentest 3 | return 0 4 | preload nonrandomopen.so 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/progress.test: -------------------------------------------------------------------------------- 1 | # test default compression stores if smaller; print progress 2 | return 0 3 | args -n test.zip print_progress add compressable aaaaaaaaaaaaaa add uncompressable uncompressable add_nul large-compressable 8200 add_file large-uncompressable large-uncompressable 0 -1 4 | file-new test.zip cm-default.zip 5 | file large-uncompressable large-uncompressable large-uncompressable 6 | stdout 0.0% done 7 | stdout 25.0% done 8 | stdout 50.0% done 9 | stdout 75.0% done 10 | stdout 100.0% done 11 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/rename_ascii.test: -------------------------------------------------------------------------------- 1 | # rename file to ASCII name in zip archive 2 | return 0 3 | args testfile rename 0 testfile.txt 4 | file testfile testfile-UTF8.zip testfile.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/rename_cp437.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/rename_cp437.test -------------------------------------------------------------------------------- /3rdparty/libzip/regress/rename_deleted.test: -------------------------------------------------------------------------------- 1 | # rename deleted entry in zip archive (fails) 2 | return 1 3 | args testfile.zip delete 1 delete 3 rename 1 othername 4 | file testfile.zip testcomment.zip testcomment13.zip 5 | stderr can't rename file at index '1' to 'othername': Entry has been deleted 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/rename_fail.test: -------------------------------------------------------------------------------- 1 | # rename file inside zip archive, but file name already exists 2 | return 1 3 | args rename.zip rename 0 file4 4 | file rename.zip testcomment.zip testcomment.zip 5 | stderr can't rename file at index '0' to 'file4': File already exists 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/rename_ok.test: -------------------------------------------------------------------------------- 1 | # rename file inside zip archive 2 | return 0 3 | args rename.zip rename 1 notfile2 4 | file rename.zip testcomment.zip rename_ok.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/rename_ok.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/rename_ok.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/rename_utf8.test: -------------------------------------------------------------------------------- 1 | # rename file to UTF-8 name in zip archive 2 | return 0 3 | args testfile rename 0 ÄÖÜßäöü 4 | file testfile testfile.zip testfile-UTF8.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/rename_utf8_encmismatch.test: -------------------------------------------------------------------------------- 1 | # rename file to UTF-8 name in zip archive with CP437 comment (sets InfoZIP UTF-8 Name Extension) 2 | return 0 3 | args testfile rename 0 ÄÖÜßäöü 4 | file testfile test-cp437-fc.zip test-cp437-fc-utf-8-filename.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_comment_all.test: -------------------------------------------------------------------------------- 1 | # change local and global comments in a zip archive 2 | return 0 3 | args testcomment.zip set_archive_comment "This is the new,\r\nmultiline archive comment.\r\nAin't it nice?" set_file_comment 0 "File comment no 0" set_file_comment 1 "File comment no 1" set_file_comment 2 "File comment no 2" set_file_comment 3 "File comment no 3" 4 | file testcomment.zip testcomment.zip testchanged.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_comment_localonly.test: -------------------------------------------------------------------------------- 1 | # change file comments in a zip archive 2 | return 0 3 | args testcomment.zip set_file_comment 0 "File comment no 0" set_file_comment 1 "File comment no 1" set_file_comment 3 "File comment no 3" set_file_comment 2 "" 4 | file testcomment.zip testcomment.zip testchangedlocal.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_comment_removeglobal.test: -------------------------------------------------------------------------------- 1 | # remove archive comment 2 | return 0 3 | args testcomment.zip set_archive_comment "" 4 | file testcomment.zip testcomment.zip testcommentremoved.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_comment_revert.test: -------------------------------------------------------------------------------- 1 | # start changing local and global comments, but revert before closing 2 | return 0 3 | args testcomment.zip set_archive_comment "some long string, a bit longer than this at least" set_file_comment 0 "File comment no 0" set_file_comment 1 "File comment no 1" set_file_comment 3 "File comment no 3" set_file_comment 2 "" unchange_all 4 | file testcomment.zip testcomment.zip testcomment.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_bzip2_to_deflate.test: -------------------------------------------------------------------------------- 1 | # change method from bzip2 to deflated 2 | features LIBBZ2 3 | return 0 4 | args test.zip set_file_compression 0 deflate 0 5 | file test.zip testbzip2.zip testdeflated.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_deflate_to_bzip2.test: -------------------------------------------------------------------------------- 1 | # change method from deflated to bzip2 2 | features LIBBZ2 3 | return 0 4 | args test.zip set_file_compression 0 bzip2 0 5 | file test.zip testdeflated.zip testbzip2.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_deflate_to_deflate.test: -------------------------------------------------------------------------------- 1 | # change method from deflated to deflated (no change) 2 | return 0 3 | args test.zip set_file_compression 0 deflate 0 4 | file test.zip testdeflated.zip testdeflated.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_deflate_to_store.test: -------------------------------------------------------------------------------- 1 | # change method from deflated to stored 2 | return 0 3 | args test.zip set_file_compression 0 store 0 4 | file test.zip testdeflated.zip teststored.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_lzma_no_eos_to_store.test: -------------------------------------------------------------------------------- 1 | # change method from lzma-compressed (id 14) without EOS/EOPM marker to stored 2 | features LIBLZMA 3 | return 0 4 | args test.zip set_file_compression 0 store 0 5 | file test.zip lzma-no-eos.zip stored-no-eos.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_lzma_to_store.test: -------------------------------------------------------------------------------- 1 | # change method from lzma-compressed (id 14) to stored 2 | features LIBLZMA 3 | return 0 4 | args test.zip set_file_compression 0 store 0 5 | file test.zip testfile-lzma.zip testfile-stored-dos.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_store_to_bzip2.test: -------------------------------------------------------------------------------- 1 | # change method from stored to bzip2 2 | features LIBBZ2 3 | return 0 4 | args test.zip set_file_compression 0 bzip2 0 5 | file test.zip teststored.zip testbzip2.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_store_to_deflate.test: -------------------------------------------------------------------------------- 1 | # change method from stored to deflated 2 | return 0 3 | args test.zip set_file_compression 0 deflate 0 4 | file test.zip teststored.zip testdeflated.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_store_to_lzma.test: -------------------------------------------------------------------------------- 1 | # change method from stored to lzma-compressed (Id 14) 2 | features LIBLZMA 3 | return 0 4 | args test.zip set_file_compression 0 lzma 0 5 | file test.zip testfile-stored-dos.zip testfile-lzma.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_store_to_store.test: -------------------------------------------------------------------------------- 1 | # change method from stored to stored (no change) 2 | return 0 3 | args test.zip set_file_compression 0 store 0 4 | file test.zip teststored.zip teststored.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_store_to_xz.test: -------------------------------------------------------------------------------- 1 | # change method from stored to xz-compressed 2 | features LIBLZMA 3 | return 0 4 | args test.zip set_file_compression 0 xz 0 5 | file test.zip testfile-stored-dos.zip testfile-xz.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_store_to_zstd.test: -------------------------------------------------------------------------------- 1 | # change method from stored to zstd-compressed 2 | features LIBZSTD 3 | return 0 4 | args test.zip set_file_compression 0 zstd 0 5 | file test.zip testfile-stored-dos.zip testfile-zstd.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_unknown.test: -------------------------------------------------------------------------------- 1 | # change method to unknown 2 | return 1 3 | args test.zip set_file_compression 0 unknown 0 4 | file test.zip teststored.zip teststored.zip 5 | stderr can't set file compression method at index '0' to 'unknown', flags '0': Compression method not supported 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_xz_to_store.test: -------------------------------------------------------------------------------- 1 | # change method from xz-compressed to stored 2 | features LIBLZMA 3 | return 0 4 | args test.zip set_file_compression 0 store 0 5 | file test.zip testfile-xz.zip testfile-stored-dos.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_compression_zstd_to_store.test: -------------------------------------------------------------------------------- 1 | # change method from zstd-compressed to stored 2 | features LIBZSTD 3 | return 0 4 | args test.zip set_file_compression 0 store 0 5 | file test.zip testfile-zstd.zip testfile-stored-dos.zip 6 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_file_dostime.test: -------------------------------------------------------------------------------- 1 | # change dostime in a zip archive (use torrentzip default time) 2 | return 0 3 | args testfile set_file_dostime 0 48128 8600 4 | file testfile testfile.zip testfile0.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/set_file_mtime.test: -------------------------------------------------------------------------------- 1 | # change mtime in a zip archive 2 | return 0 3 | args testfile set_file_mtime 0 1407272201 4 | file testfile testfile.zip testfile2014.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/stat_index_cp437_raw.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/stat_index_cp437_raw.test -------------------------------------------------------------------------------- /3rdparty/libzip/regress/stat_index_fileorder.test: -------------------------------------------------------------------------------- 1 | # zip_open: entries ordered by central directory order 2 | args fileorder.zzip stat 0 stat 1 3 | return 0 4 | file fileorder.zzip fileorder.zip fileorder.zip 5 | stdout name: 'file1' 6 | stdout index: '0' 7 | stdout size: '5' 8 | stdout compressed size: '5' 9 | stdout mtime: 'Fri Apr 27 2012 23:21:42' 10 | stdout crc: '9ee760e5' 11 | stdout compression method: '0' 12 | stdout encryption method: '0' 13 | stdout 14 | stdout name: 'file2' 15 | stdout index: '1' 16 | stdout size: '5' 17 | stdout compressed size: '5' 18 | stdout mtime: 'Fri Apr 27 2012 23:21:44' 19 | stdout crc: '7ee315f' 20 | stdout compression method: '0' 21 | stdout encryption method: '0' 22 | stdout 23 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/stat_index_streamed.test: -------------------------------------------------------------------------------- 1 | # stat file in streamed zip file 2 | args streamed stat 0 3 | file streamed streamed.zip streamed.zip 4 | return 0 5 | stdout name: '-' 6 | stdout index: '0' 7 | stdout size: '2' 8 | stdout compressed size: '4' 9 | stdout mtime: 'Wed Apr 25 2012 10:20:38' 10 | stdout crc: 'ddeaa107' 11 | stdout compression method: '8' 12 | stdout encryption method: '0' 13 | stdout 14 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/stat_index_streamed_zip64.test: -------------------------------------------------------------------------------- 1 | # stat file in streamed zip file 2 | args streamed stat 0 3 | file streamed streamed-zip64.zip streamed-zip64.zip 4 | return 0 5 | stdout name: '-' 6 | stdout index: '0' 7 | stdout size: '2' 8 | stdout compressed size: '4' 9 | stdout mtime: 'Wed Apr 25 2012 10:20:38' 10 | stdout crc: 'ddeaa107' 11 | stdout compression method: '8' 12 | stdout encryption method: '0' 13 | stdout 14 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/stat_index_utf8_guess.test: -------------------------------------------------------------------------------- 1 | # guess UTF-8 file names 2 | args test-utf8.zip stat 0 3 | return 0 4 | file test-utf8.zip test-utf8.zip test-utf8.zip 5 | stdout name: 'ÄÖÜäöüßćçĉéèêëē' 6 | stdout index: '0' 7 | stdout size: '0' 8 | stdout compressed size: '0' 9 | stdout mtime: 'Sat Feb 18 2012 00:15:08' 10 | stdout crc: '0' 11 | stdout compression method: '0' 12 | stdout encryption method: '0' 13 | stdout 14 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/stat_index_utf8_raw.test: -------------------------------------------------------------------------------- 1 | # print UTF-8 file names 2 | args -r test-utf8.zip stat 0 3 | return 0 4 | file test-utf8.zip test-utf8.zip test-utf8.zip 5 | stdout name: 'ÄÖÜäöüßćçĉéèêëē' 6 | stdout index: '0' 7 | stdout size: '0' 8 | stdout compressed size: '0' 9 | stdout mtime: 'Sat Feb 18 2012 00:15:08' 10 | stdout crc: '0' 11 | stdout compression method: '0' 12 | stdout encryption method: '0' 13 | stdout 14 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/stat_index_utf8_strict.test: -------------------------------------------------------------------------------- 1 | # follow strict rules and convert UTF-8 as if it was CP437, but not 2 | # if the files are marked as having UTF-8 names 3 | args -s test-utf8.zip stat 0 4 | return 0 5 | file test-utf8.zip test-utf8.zip test-utf8.zip 6 | stdout name: 'ÄÖÜäöüßćçĉéèêëē' 7 | stdout index: '0' 8 | stdout size: '0' 9 | stdout compressed size: '0' 10 | stdout mtime: 'Sat Feb 18 2012 00:15:08' 11 | stdout crc: '0' 12 | stdout compression method: '0' 13 | stdout encryption method: '0' 14 | stdout 15 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/stat_index_utf8_unmarked_strict.test: -------------------------------------------------------------------------------- 1 | # follow strict rules and convert UTF-8 as if it was CP437, 2 | # if not marked otherwise (in this case: not marked) 3 | args -s test-utf8-unmarked.zip stat 0 4 | return 0 5 | file test-utf8-unmarked.zip test-utf8-unmarked.zip test-utf8-unmarked.zip 6 | stdout name: '├ä├û├£├ñ├╢├╝├ƒ─ç├º─ë├⌐├¿├¬├½─ô' 7 | stdout index: '0' 8 | stdout size: '0' 9 | stdout compressed size: '0' 10 | stdout mtime: 'Sat Feb 18 2012 00:15:08' 11 | stdout crc: '0' 12 | stdout compression method: '0' 13 | stdout encryption method: '0' 14 | stdout 15 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/stat_index_zip64.test: -------------------------------------------------------------------------------- 1 | # stat file in zip64 zip file 2 | args bigzero stat 0 3 | file bigzero bigzero.zip bigzero.zip 4 | return 0 5 | stdout name: 'bigzero' 6 | stdout index: '0' 7 | stdout size: '4294967296' 8 | stdout compressed size: '4168157' 9 | stdout mtime: 'Thu Mar 15 2012 14:54:06' 10 | stdout crc: 'd202ef8d' 11 | stdout compression method: '8' 12 | stdout encryption method: '0' 13 | stdout 14 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/stored-no-eos.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/stored-no-eos.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/streamed-zip64.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/streamed-zip64.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/streamed.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/streamed.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/test-cp437-comment-utf-8.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/test-cp437-comment-utf-8.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/test-cp437-fc-utf-8-filename.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/test-cp437-fc-utf-8-filename.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/test-cp437-fc.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/test-cp437-fc.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/test-cp437.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/test-cp437.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/test-utf8-unmarked.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/test-utf8-unmarked.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/test-utf8.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/test-utf8.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/test.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/test.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/test2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/test2.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testbuffer.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testbuffer.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testbzip2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testbzip2.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testchanged.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testchanged.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testchangedlocal.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testchangedlocal.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testcomment.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testcomment.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testcomment13.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testcomment13.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testcommentremoved.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testcommentremoved.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testdeflated.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testdeflated.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testdeflated2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testdeflated2.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testdir.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testdir.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testempty.zip: -------------------------------------------------------------------------------- 1 | PK -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testextrabytes.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testextrabytes.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testfile-UTF8.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testfile-UTF8.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testfile-cp437.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testfile-cp437.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testfile-lzma.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testfile-lzma.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testfile-plus-extra.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testfile-plus-extra.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testfile-stored-dos.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testfile-stored-dos.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testfile-xz.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testfile-xz.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testfile-zstd.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testfile-zstd.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testfile.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testfile.txt -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testfile.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testfile.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testfile0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testfile0.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/testfile2014.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/testfile2014.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/teststdin.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/teststdin.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/teststored.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/teststored.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/utf-8-standardization-input.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/utf-8-standardization-input.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/utf-8-standardization-output.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/utf-8-standardization-output.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/utf-8-standardization.test: -------------------------------------------------------------------------------- 1 | # replace file contents and make UTF-8 name 2 | return 0 3 | args testfile.zzip replace_file_contents 0 "Some new content for the file." set_file_mtime 0 1406885162 4 | file testfile.zzip utf-8-standardization-input.zip utf-8-standardization-output.zip 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/zip-in-archive-comment.test: -------------------------------------------------------------------------------- 1 | # stat file in zip that contains archive comment to find out if it detected the right one of the two 2 | args zip-in-archive-comment.zip stat 0 3 | file zip-in-archive-comment.zip zip-in-archive-comment.zip zip-in-archive-comment.zip 4 | return 0 5 | stdout name: 'testfile.txt' 6 | stdout index: '0' 7 | stdout size: '0' 8 | stdout compressed size: '0' 9 | stdout mtime: 'Fri Jul 15 2005 16:37:14' 10 | stdout crc: '0' 11 | stdout compression method: '0' 12 | stdout encryption method: '0' 13 | stdout 14 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/zip-in-archive-comment.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/zip-in-archive-comment.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/zip64-3mf.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/zip64-3mf.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/zip64.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/zip64.zip -------------------------------------------------------------------------------- /3rdparty/libzip/regress/zip64_creation.test: -------------------------------------------------------------------------------- 1 | # create big zip64 zip file from scratch 2 | args bigzero.zip add_nul bigzero 4294967296 3 | file-new bigzero.zip bigzero.zip 4 | return 0 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/zip64_stored_creation.test: -------------------------------------------------------------------------------- 1 | # create big zip64 zip file from scratch 2 | args -H bigstored.zh add_nul bigzero 4294967296 set_file_compression 0 0 0 set_file_mtime 0 0 add_nul smallzero 16384 set_file_compression 1 0 0 set_file_mtime 1 0 3 | file-new bigstored.zh bigstored.zh 4 | return 0 5 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/zip_read_fuzzer.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #ifdef __cplusplus 4 | extern "C" 5 | #endif 6 | int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) 7 | { 8 | zip_source_t *src; 9 | zip_t *za; 10 | zip_error_t error; 11 | char buf[32768]; 12 | zip_int64_t i, n; 13 | zip_file_t *f; 14 | 15 | zip_error_init(&error); 16 | 17 | if ((src = zip_source_buffer_create(data, size, 0, &error)) == NULL) { 18 | zip_error_fini(&error); 19 | return 0; 20 | } 21 | 22 | if ((za = zip_open_from_source(src, 0, &error)) == NULL) { 23 | zip_source_free(src); 24 | zip_error_fini(&error); 25 | return 0; 26 | } 27 | 28 | zip_error_fini(&error); 29 | 30 | n = zip_get_num_entries(za, 0); 31 | 32 | for (i = 0; i < n; i++) { 33 | f = zip_fopen_index(za, i, 0); 34 | if (f == NULL) { 35 | continue; 36 | } 37 | 38 | while (zip_fread(f, buf, sizeof(buf)) > 0) { 39 | ; 40 | } 41 | 42 | zip_fclose(f); 43 | } 44 | 45 | zip_close(za); 46 | 47 | return 0; 48 | } 49 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/zip_read_fuzzer.dict: -------------------------------------------------------------------------------- 1 | header_lfh="\x50\x4b\x03\x04" 2 | header_cd="\x50\x4b\x01\x02" 3 | header_eocd="\x50\x4b\x05\x06" 4 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/zipcmp_zip_dir.test: -------------------------------------------------------------------------------- 1 | # compare zip with directory 2 | features FTS_H 3 | program zipcmp 4 | mkdir 0777 a 5 | mkdir 0777 a/dir-with-file 6 | mkdir 0777 a/empty-dir-in-dir 7 | args zipcmp_zip_dir.zip a 8 | file zipcmp_zip_dir.zip zipcmp_zip_dir.zip zipcmp_zip_dir.zip 9 | return 1 10 | stdout --- zipcmp_zip_dir.zip 11 | stdout +++ a 12 | stdout - directory '00-empty-dir/' 13 | stdout - file 'dir-with-file/a', size 1, crc e8b7be43 14 | stdout + directory 'empty-dir-in-dir/' 15 | stdout - directory 'empty-dir/' 16 | -------------------------------------------------------------------------------- /3rdparty/libzip/regress/zipcmp_zip_dir.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/3rdparty/libzip/regress/zipcmp_zip_dir.zip -------------------------------------------------------------------------------- /3rdparty/libzip/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | check_function_exists(getopt HAVE_GETOPT) 2 | foreach(PROGRAM zipcmp zipmerge ziptool) 3 | add_executable(${PROGRAM} ${PROGRAM}.c) 4 | target_link_libraries(${PROGRAM} zip) 5 | target_include_directories(${PROGRAM} PRIVATE BEFORE ${PROJECT_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR}) 6 | if(LIBZIP_DO_INSTALL) 7 | install(TARGETS ${PROGRAM} EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION bin) 8 | endif() 9 | if(NOT HAVE_GETOPT) 10 | target_sources(${PROGRAM} PRIVATE getopt.c) 11 | endif(NOT HAVE_GETOPT) 12 | endforeach() 13 | target_sources(zipcmp PRIVATE diff_output.c) 14 | target_link_libraries(zipcmp ${FTS_LIB} ZLIB::ZLIB) 15 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/Makefile: -------------------------------------------------------------------------------- 1 | 2 | CC=gcc 3 | CFLAGS=-O2 -Wall 4 | 5 | OBJS= fe25519.o ge25519.o sc25519.o sha512-blocks.o sha512-hash.o ed25519.o randombytes.o verify.o 6 | test: test.o $(OBJS) 7 | gcc -o $@ $^ 8 | 9 | clean: 10 | rm -f *.o test 11 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/api.h: -------------------------------------------------------------------------------- 1 | #define CRYPTO_BYTES 32 2 | #define CRYPTO_SCALARBYTES 32 3 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/crypto_int32.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_int32_h 2 | #define crypto_int32_h 3 | 4 | typedef int crypto_int32; 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/crypto_sign.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_sign_edwards25519sha512batch_H 2 | #define crypto_sign_edwards25519sha512batch_H 3 | 4 | #define SECRETKEYBYTES 64 5 | #define PUBLICKEYBYTES 32 6 | #define SIGNATUREBYTES 64 7 | 8 | extern int crypto_sign(unsigned char *,unsigned long long *,const unsigned char *,unsigned long long,const unsigned char *); 9 | extern int crypto_sign_open(unsigned char *,unsigned long long *,const unsigned char *,unsigned long long,const unsigned char *); 10 | extern int crypto_sign_keypair(unsigned char *,unsigned char *); 11 | extern int crypto_sign_publickey(unsigned char *pk, unsigned char *sk, unsigned char *seed); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/crypto_uint32.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_uint32_h 2 | #define crypto_uint32_h 3 | 4 | typedef unsigned int crypto_uint32; 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/crypto_verify_32.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_verify_32_H 2 | #define crypto_verify_32_H 3 | 4 | #define crypto_verify_32_ref_BYTES 32 5 | extern int crypto_verify_32(const unsigned char *,const unsigned char *); 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/include/libsodium_LICENSE: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013-2015 3 | * Frank Denis 4 | * 5 | * Permission to use, copy, modify, and/or distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/include/sodium/crypto_int32.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_int32_H 2 | #define crypto_int32_H 3 | 4 | #include 5 | 6 | typedef int32_t crypto_int32; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/include/sodium/crypto_int64.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_int64_H 2 | #define crypto_int64_H 3 | 4 | #include 5 | 6 | typedef int64_t crypto_int64; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/include/sodium/crypto_uint16.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_uint16_H 2 | #define crypto_uint16_H 3 | 4 | #include 5 | 6 | typedef uint16_t crypto_uint16; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/include/sodium/crypto_uint32.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_uint32_H 2 | #define crypto_uint32_H 3 | 4 | #include 5 | 6 | typedef uint32_t crypto_uint32; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/include/sodium/crypto_uint64.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_uint64_H 2 | #define crypto_uint64_H 3 | 4 | #include 5 | 6 | typedef uint64_t crypto_uint64; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/include/sodium/crypto_uint8.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_uint8_H 2 | #define crypto_uint8_H 3 | 4 | #include 5 | 6 | typedef uint8_t crypto_uint8; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/include/sodium/crypto_verify_32.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_verify_32_H 2 | #define crypto_verify_32_H 3 | 4 | #include 5 | #include "export.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #define crypto_verify_32_BYTES 32U 12 | SODIUM_EXPORT 13 | size_t crypto_verify_32_bytes(void); 14 | 15 | SODIUM_EXPORT 16 | int crypto_verify_32(const unsigned char *x, const unsigned char *y); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/Makefile: -------------------------------------------------------------------------------- 1 | all: d.h d2.h sqrtm1.h base.h base2.h \ 2 | ge_add.h ge_sub.h \ 3 | ge_madd.h ge_msub.h \ 4 | ge_p2_dbl.h \ 5 | pow225521.h pow22523.h 6 | 7 | d.h: d.py 8 | python d.py > d.h 9 | 10 | d2.h: d2.py 11 | python d2.py > d2.h 12 | 13 | sqrtm1.h: sqrtm1.py 14 | python sqrtm1.py > sqrtm1.h 15 | 16 | base.h: base.py 17 | python base.py > base.h 18 | 19 | base2.h: base2.py 20 | python base2.py > base2.h 21 | 22 | ge_add.h: ge_add.q q2h.sh 23 | ./q2h.sh < ge_add.q > ge_add.h 24 | 25 | ge_sub.h: ge_sub.q q2h.sh 26 | ./q2h.sh < ge_sub.q > ge_sub.h 27 | 28 | ge_madd.h: ge_madd.q q2h.sh 29 | ./q2h.sh < ge_madd.q > ge_madd.h 30 | 31 | ge_msub.h: ge_msub.q q2h.sh 32 | ./q2h.sh < ge_msub.q > ge_msub.h 33 | 34 | ge_p2_dbl.h: ge_p2_dbl.q q2h.sh 35 | ./q2h.sh < ge_p2_dbl.q > ge_p2_dbl.h 36 | 37 | pow22523.h: pow22523.q q2h.sh 38 | ./q2h.sh < pow22523.q > pow22523.h 39 | 40 | pow225521.h: pow225521.q q2h.sh 41 | ./q2h.sh < pow225521.q > pow225521.h 42 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/api.h: -------------------------------------------------------------------------------- 1 | #define CRYPTO_SECRETKEYBYTES 64 2 | #define CRYPTO_PUBLICKEYBYTES 32 3 | #define CRYPTO_BYTES 64 4 | #define CRYPTO_DETERMINISTIC 1 5 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/d.h: -------------------------------------------------------------------------------- 1 | -10913610,13857413,-15372611,6949391,114729,-8787816,-6275908,-3247719,-18696448,-12055116 2 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/d.py: -------------------------------------------------------------------------------- 1 | q = 2**255 - 19 2 | 3 | def expmod(b,e,m): 4 | if e == 0: return 1 5 | t = expmod(b,e/2,m)**2 % m 6 | if e & 1: t = (t*b) % m 7 | return t 8 | 9 | def inv(x): 10 | return expmod(x,q-2,q) 11 | 12 | def radix255(x): 13 | x = x % q 14 | if x + x > q: x -= q 15 | x = [x,0,0,0,0,0,0,0,0,0] 16 | bits = [26,25,26,25,26,25,26,25,26,25] 17 | for i in range(9): 18 | carry = (x[i] + 2**(bits[i]-1)) / 2**bits[i] 19 | x[i] -= carry * 2**bits[i] 20 | x[i + 1] += carry 21 | result = "" 22 | for i in range(9): 23 | result = result+str(x[i])+"," 24 | result = result+str(x[9]) 25 | return result 26 | 27 | d = -121665 * inv(121666) 28 | print radix255(d) 29 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/d2.h: -------------------------------------------------------------------------------- 1 | -21827239,-5839606,-30745221,13898782,229458,15978800,-12551817,-6495438,29715968,9444199 2 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/d2.py: -------------------------------------------------------------------------------- 1 | q = 2**255 - 19 2 | 3 | def expmod(b,e,m): 4 | if e == 0: return 1 5 | t = expmod(b,e/2,m)**2 % m 6 | if e & 1: t = (t*b) % m 7 | return t 8 | 9 | def inv(x): 10 | return expmod(x,q-2,q) 11 | 12 | def radix255(x): 13 | x = x % q 14 | if x + x > q: x -= q 15 | x = [x,0,0,0,0,0,0,0,0,0] 16 | bits = [26,25,26,25,26,25,26,25,26,25] 17 | for i in range(9): 18 | carry = (x[i] + 2**(bits[i]-1)) / 2**bits[i] 19 | x[i] -= carry * 2**bits[i] 20 | x[i + 1] += carry 21 | result = "" 22 | for i in range(9): 23 | result = result+str(x[i])+"," 24 | result = result+str(x[9]) 25 | return result 26 | 27 | d = -121665 * inv(121666) 28 | print radix255(d*2) 29 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/description: -------------------------------------------------------------------------------- 1 | EdDSA signatures using Curve25519 2 | from http://hyperelliptic.org/ebats/supercop-20141124.tar.bz2 3 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/designers: -------------------------------------------------------------------------------- 1 | Daniel J. Bernstein 2 | Niels Duif 3 | Tanja Lange 4 | Peter Schwabe 5 | Bo-Yin Yang 6 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/fe_0.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | h = 0 5 | */ 6 | 7 | void fe_0(fe h) 8 | { 9 | h[0] = 0; 10 | h[1] = 0; 11 | h[2] = 0; 12 | h[3] = 0; 13 | h[4] = 0; 14 | h[5] = 0; 15 | h[6] = 0; 16 | h[7] = 0; 17 | h[8] = 0; 18 | h[9] = 0; 19 | } 20 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/fe_1.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | h = 1 5 | */ 6 | 7 | void fe_1(fe h) 8 | { 9 | h[0] = 1; 10 | h[1] = 0; 11 | h[2] = 0; 12 | h[3] = 0; 13 | h[4] = 0; 14 | h[5] = 0; 15 | h[6] = 0; 16 | h[7] = 0; 17 | h[8] = 0; 18 | h[9] = 0; 19 | } 20 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/fe_copy.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | h = f 5 | */ 6 | 7 | void fe_copy(fe h,const fe f) 8 | { 9 | crypto_int32 f0 = f[0]; 10 | crypto_int32 f1 = f[1]; 11 | crypto_int32 f2 = f[2]; 12 | crypto_int32 f3 = f[3]; 13 | crypto_int32 f4 = f[4]; 14 | crypto_int32 f5 = f[5]; 15 | crypto_int32 f6 = f[6]; 16 | crypto_int32 f7 = f[7]; 17 | crypto_int32 f8 = f[8]; 18 | crypto_int32 f9 = f[9]; 19 | h[0] = f0; 20 | h[1] = f1; 21 | h[2] = f2; 22 | h[3] = f3; 23 | h[4] = f4; 24 | h[5] = f5; 25 | h[6] = f6; 26 | h[7] = f7; 27 | h[8] = f8; 28 | h[9] = f9; 29 | } 30 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/fe_invert.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | void fe_invert(fe out,const fe z) 4 | { 5 | fe t0; 6 | fe t1; 7 | fe t2; 8 | fe t3; 9 | int i; 10 | 11 | #include "pow225521.h" 12 | 13 | return; 14 | } 15 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/fe_isnegative.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | return 1 if f is in {1,3,5,...,q-2} 5 | return 0 if f is in {0,2,4,...,q-1} 6 | 7 | Preconditions: 8 | |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. 9 | */ 10 | 11 | int fe_isnegative(const fe f) 12 | { 13 | unsigned char s[32]; 14 | fe_tobytes(s,f); 15 | return s[0] & 1; 16 | } 17 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/fe_isnonzero.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | #include "crypto_verify_32.h" 3 | 4 | /* 5 | return 1 if f == 0 6 | return 0 if f != 0 7 | 8 | Preconditions: 9 | |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. 10 | */ 11 | 12 | static const unsigned char zero[32]; 13 | 14 | int fe_isnonzero(const fe f) 15 | { 16 | unsigned char s[32]; 17 | fe_tobytes(s,f); 18 | return crypto_verify_32(s,zero); 19 | } 20 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/fe_neg.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | h = -f 5 | 6 | Preconditions: 7 | |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. 8 | 9 | Postconditions: 10 | |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. 11 | */ 12 | 13 | void fe_neg(fe h,const fe f) 14 | { 15 | crypto_int32 f0 = f[0]; 16 | crypto_int32 f1 = f[1]; 17 | crypto_int32 f2 = f[2]; 18 | crypto_int32 f3 = f[3]; 19 | crypto_int32 f4 = f[4]; 20 | crypto_int32 f5 = f[5]; 21 | crypto_int32 f6 = f[6]; 22 | crypto_int32 f7 = f[7]; 23 | crypto_int32 f8 = f[8]; 24 | crypto_int32 f9 = f[9]; 25 | crypto_int32 h0 = -f0; 26 | crypto_int32 h1 = -f1; 27 | crypto_int32 h2 = -f2; 28 | crypto_int32 h3 = -f3; 29 | crypto_int32 h4 = -f4; 30 | crypto_int32 h5 = -f5; 31 | crypto_int32 h6 = -f6; 32 | crypto_int32 h7 = -f7; 33 | crypto_int32 h8 = -f8; 34 | crypto_int32 h9 = -f9; 35 | h[0] = h0; 36 | h[1] = h1; 37 | h[2] = h2; 38 | h[3] = h3; 39 | h[4] = h4; 40 | h[5] = h5; 41 | h[6] = h6; 42 | h[7] = h7; 43 | h[8] = h8; 44 | h[9] = h9; 45 | } 46 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/fe_pow22523.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | void fe_pow22523(fe out,const fe z) 4 | { 5 | fe t0; 6 | fe t1; 7 | fe t2; 8 | int i; 9 | 10 | #include "pow22523.h" 11 | 12 | return; 13 | } 14 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_add.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p + q 5 | */ 6 | 7 | void ge_add(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q) 8 | { 9 | fe t0; 10 | #include "ge_add.h" 11 | } 12 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_add.q: -------------------------------------------------------------------------------- 1 | :name:fe:r->X:r->Y:r->Z:r->T:t0:t1:t2:t3:t4:t5:p->X:p->Y:p->Z:p->T:q->YplusX:q->YminusX:q->Z:q->T2d: 2 | fe r:var/r=fe: 3 | 4 | enter f:enter/f:>X1=fe#11:>Y1=fe#12:>Z1=fe#13:>T1=fe#14:>YpX2=fe#15:>YmX2=fe#16:>Z2=fe#17:>T2d2=fe#18: 5 | return:nofallthrough:h=fe:asm/fe_add(>h,h=fe:asm/fe_sub(>h,h=fe:asm/fe_mul(>h,h=fe:asm/fe_sq(>h,h=fe:asm/fe_add(>h,X:r->Y:r->Z:r->T:t0:t1:t2:t3:t4:t5:p->X:p->Y:p->Z:p->T:q->yplusx:q->yminusx:q->xy2d: 2 | fe r:var/r=fe: 3 | 4 | enter f:enter/f:>X1=fe#11:>Y1=fe#12:>Z1=fe#13:>T1=fe#14:>ypx2=fe#15:>ymx2=fe#16:>xy2d2=fe#17: 5 | return:nofallthrough:h=fe:asm/fe_add(>h,h=fe:asm/fe_sub(>h,h=fe:asm/fe_mul(>h,h=fe:asm/fe_sq(>h,h=fe:asm/fe_add(>h,X:r->Y:r->Z:r->T:t0:t1:t2:t3:t4:t5:p->X:p->Y:p->Z:p->T:q->yplusx:q->yminusx:q->xy2d: 2 | fe r:var/r=fe: 3 | 4 | enter f:enter/f:>X1=fe#11:>Y1=fe#12:>Z1=fe#13:>T1=fe#14:>ypx2=fe#15:>ymx2=fe#16:>xy2d2=fe#17: 5 | return:nofallthrough:h=fe:asm/fe_add(>h,h=fe:asm/fe_sub(>h,h=fe:asm/fe_mul(>h,h=fe:asm/fe_sq(>h,h=fe:asm/fe_add(>h,X,p->X,p->T); 10 | fe_mul(r->Y,p->Y,p->Z); 11 | fe_mul(r->Z,p->Z,p->T); 12 | } 13 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_p1p1_to_p3.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p 5 | */ 6 | 7 | extern void ge_p1p1_to_p3(ge_p3 *r,const ge_p1p1 *p) 8 | { 9 | fe_mul(r->X,p->X,p->T); 10 | fe_mul(r->Y,p->Y,p->Z); 11 | fe_mul(r->Z,p->Z,p->T); 12 | fe_mul(r->T,p->X,p->Y); 13 | } 14 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_p2_0.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | void ge_p2_0(ge_p2 *h) 4 | { 5 | fe_0(h->X); 6 | fe_1(h->Y); 7 | fe_1(h->Z); 8 | } 9 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_p2_dbl.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = 2 * p 5 | */ 6 | 7 | void ge_p2_dbl(ge_p1p1 *r,const ge_p2 *p) 8 | { 9 | fe t0; 10 | #include "ge_p2_dbl.h" 11 | } 12 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_p2_dbl.q: -------------------------------------------------------------------------------- 1 | :name:fe:r->X:r->Y:r->Z:r->T:t0:t1:t2:t3:t4:t5:p->X:p->Y:p->Z: 2 | fe r:var/r=fe: 3 | 4 | enter f:enter/f:>X1=fe#11:>Y1=fe#12:>Z1=fe#13: 5 | return:nofallthrough:h=fe:asm/fe_add(>h,h=fe:asm/fe_sub(>h,h=fe:asm/fe_mul(>h,h=fe:asm/fe_sq(>h,h=fe:asm/fe_sq2(>h,h=fe:asm/fe_add(>h,X); 6 | fe_1(h->Y); 7 | fe_1(h->Z); 8 | fe_0(h->T); 9 | } 10 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_p3_dbl.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = 2 * p 5 | */ 6 | 7 | void ge_p3_dbl(ge_p1p1 *r,const ge_p3 *p) 8 | { 9 | ge_p2 q; 10 | ge_p3_to_p2(&q,p); 11 | ge_p2_dbl(r,&q); 12 | } 13 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_p3_to_cached.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p 5 | */ 6 | 7 | static const fe d2 = { 8 | #include "d2.h" 9 | } ; 10 | 11 | extern void ge_p3_to_cached(ge_cached *r,const ge_p3 *p) 12 | { 13 | fe_add(r->YplusX,p->Y,p->X); 14 | fe_sub(r->YminusX,p->Y,p->X); 15 | fe_copy(r->Z,p->Z); 16 | fe_mul(r->T2d,p->T,d2); 17 | } 18 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_p3_to_p2.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p 5 | */ 6 | 7 | extern void ge_p3_to_p2(ge_p2 *r,const ge_p3 *p) 8 | { 9 | fe_copy(r->X,p->X); 10 | fe_copy(r->Y,p->Y); 11 | fe_copy(r->Z,p->Z); 12 | } 13 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_p3_tobytes.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | void ge_p3_tobytes(unsigned char *s,const ge_p3 *h) 4 | { 5 | fe recip; 6 | fe x; 7 | fe y; 8 | 9 | fe_invert(recip,h->Z); 10 | fe_mul(x,h->X,recip); 11 | fe_mul(y,h->Y,recip); 12 | fe_tobytes(s,y); 13 | s[31] ^= fe_isnegative(x) << 7; 14 | } 15 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_precomp_0.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | void ge_precomp_0(ge_precomp *h) 4 | { 5 | fe_1(h->yplusx); 6 | fe_1(h->yminusx); 7 | fe_0(h->xy2d); 8 | } 9 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_sub.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p - q 5 | */ 6 | 7 | void ge_sub(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q) 8 | { 9 | fe t0; 10 | #include "ge_sub.h" 11 | } 12 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/ge_sub.q: -------------------------------------------------------------------------------- 1 | :name:fe:r->X:r->Y:r->Z:r->T:t0:t1:t2:t3:t4:t5:p->X:p->Y:p->Z:p->T:q->YplusX:q->YminusX:q->Z:q->T2d: 2 | fe r:var/r=fe: 3 | 4 | enter f:enter/f:>X1=fe#11:>Y1=fe#12:>Z1=fe#13:>T1=fe#14:>YpX2=fe#15:>YmX2=fe#16:>Z2=fe#17:>T2d2=fe#18: 5 | return:nofallthrough:h=fe:asm/fe_add(>h,h=fe:asm/fe_sub(>h,h=fe:asm/fe_mul(>h,h=fe:asm/fe_sq(>h,h=fe:asm/fe_add(>h,Z); 10 | fe_mul(x,h->X,recip); 11 | fe_mul(y,h->Y,recip); 12 | fe_tobytes(s,y); 13 | s[31] ^= fe_isnegative(x) << 7; 14 | } 15 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/keypair.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "randombytes.h" 3 | #include "crypto_sign.h" 4 | #include "crypto_hash_sha512.h" 5 | #include "ge.h" 6 | 7 | int crypto_sign_keypair(unsigned char *pk,unsigned char *sk) 8 | { 9 | unsigned char az[64]; 10 | ge_p3 A; 11 | 12 | randombytes(sk,32); 13 | crypto_hash_sha512(az,sk,32); 14 | az[0] &= 248; 15 | az[31] &= 63; 16 | az[31] |= 64; 17 | 18 | ge_scalarmult_base(&A,az); 19 | ge_p3_tobytes(pk,&A); 20 | 21 | memmove(sk + 32,pk,32); 22 | return 0; 23 | } 24 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/q2h.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | sed 's/^#.*//' \ 3 | | qhasm-generic \ 4 | | sed 's_//\(.*\)$_/*\1 */_' 5 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/sc.h: -------------------------------------------------------------------------------- 1 | #ifndef SC_H 2 | #define SC_H 3 | 4 | /* 5 | The set of scalars is \Z/l 6 | where l = 2^252 + 27742317777372353535851937790883648493. 7 | */ 8 | 9 | #define sc_reduce crypto_sign_ed25519_ref10_sc_reduce 10 | #define sc_muladd crypto_sign_ed25519_ref10_sc_muladd 11 | 12 | extern void sc_reduce(unsigned char *); 13 | extern void sc_muladd(unsigned char *,const unsigned char *,const unsigned char *,const unsigned char *); 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/sign.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "crypto_sign.h" 3 | #include "crypto_hash_sha512.h" 4 | #include "ge.h" 5 | #include "sc.h" 6 | 7 | int crypto_sign( 8 | unsigned char *sm,unsigned long long *smlen, 9 | const unsigned char *m,unsigned long long mlen, 10 | const unsigned char *sk 11 | ) 12 | { 13 | unsigned char pk[32]; 14 | unsigned char az[64]; 15 | unsigned char nonce[64]; 16 | unsigned char hram[64]; 17 | ge_p3 R; 18 | 19 | memmove(pk,sk + 32,32); 20 | 21 | crypto_hash_sha512(az,sk,32); 22 | az[0] &= 248; 23 | az[31] &= 63; 24 | az[31] |= 64; 25 | 26 | *smlen = mlen + 64; 27 | memmove(sm + 64,m,mlen); 28 | memmove(sm + 32,az + 32,32); 29 | crypto_hash_sha512(nonce,sm + 32,mlen + 32); 30 | memmove(sm + 32,pk,32); 31 | 32 | sc_reduce(nonce); 33 | ge_scalarmult_base(&R,nonce); 34 | ge_p3_tobytes(sm,&R); 35 | 36 | crypto_hash_sha512(hram,sm,mlen + 64); 37 | sc_reduce(hram); 38 | sc_muladd(sm + 32,hram,az,nonce); 39 | 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/sqrtm1.h: -------------------------------------------------------------------------------- 1 | -32595792,-7943725,9377950,3500415,12389472,-272473,-25146209,-2005654,326686,11406482 2 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10/sqrtm1.py: -------------------------------------------------------------------------------- 1 | q = 2**255 - 19 2 | 3 | def expmod(b,e,m): 4 | if e == 0: return 1 5 | t = expmod(b,e/2,m)**2 % m 6 | if e & 1: t = (t*b) % m 7 | return t 8 | 9 | def inv(x): 10 | return expmod(x,q-2,q) 11 | 12 | def radix255(x): 13 | x = x % q 14 | if x + x > q: x -= q 15 | x = [x,0,0,0,0,0,0,0,0,0] 16 | bits = [26,25,26,25,26,25,26,25,26,25] 17 | for i in range(9): 18 | carry = (x[i] + 2**(bits[i]-1)) / 2**bits[i] 19 | x[i] -= carry * 2**bits[i] 20 | x[i + 1] += carry 21 | result = "" 22 | for i in range(9): 23 | result = result+str(x[i])+"," 24 | result = result+str(x[9]) 25 | return result 26 | 27 | I = expmod(2,(q-1)/4,q) 28 | print radix255(I) 29 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/api.h: -------------------------------------------------------------------------------- 1 | #define CRYPTO_SECRETKEYBYTES 64 2 | #define CRYPTO_PUBLICKEYBYTES 32 3 | #define CRYPTO_BYTES 64 4 | #define CRYPTO_DETERMINISTIC 1 5 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/d.h: -------------------------------------------------------------------------------- 1 | -10913610,13857413,-15372611,6949391,114729,-8787816,-6275908,-3247719,-18696448,-12055116 2 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/d.py: -------------------------------------------------------------------------------- 1 | q = 2**255 - 19 2 | 3 | def expmod(b,e,m): 4 | if e == 0: return 1 5 | t = expmod(b,e/2,m)**2 % m 6 | if e & 1: t = (t*b) % m 7 | return t 8 | 9 | def inv(x): 10 | return expmod(x,q-2,q) 11 | 12 | def radix255(x): 13 | x = x % q 14 | if x + x > q: x -= q 15 | x = [x,0,0,0,0,0,0,0,0,0] 16 | bits = [26,25,26,25,26,25,26,25,26,25] 17 | for i in range(9): 18 | carry = (x[i] + 2**(bits[i]-1)) / 2**bits[i] 19 | x[i] -= carry * 2**bits[i] 20 | x[i + 1] += carry 21 | result = "" 22 | for i in range(9): 23 | result = result+str(x[i])+"," 24 | result = result+str(x[9]) 25 | return result 26 | 27 | d = -121665 * inv(121666) 28 | print radix255(d) 29 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/d2.h: -------------------------------------------------------------------------------- 1 | -21827239,-5839606,-30745221,13898782,229458,15978800,-12551817,-6495438,29715968,9444199 2 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/d2.py: -------------------------------------------------------------------------------- 1 | q = 2**255 - 19 2 | 3 | def expmod(b,e,m): 4 | if e == 0: return 1 5 | t = expmod(b,e/2,m)**2 % m 6 | if e & 1: t = (t*b) % m 7 | return t 8 | 9 | def inv(x): 10 | return expmod(x,q-2,q) 11 | 12 | def radix255(x): 13 | x = x % q 14 | if x + x > q: x -= q 15 | x = [x,0,0,0,0,0,0,0,0,0] 16 | bits = [26,25,26,25,26,25,26,25,26,25] 17 | for i in range(9): 18 | carry = (x[i] + 2**(bits[i]-1)) / 2**bits[i] 19 | x[i] -= carry * 2**bits[i] 20 | x[i + 1] += carry 21 | result = "" 22 | for i in range(9): 23 | result = result+str(x[i])+"," 24 | result = result+str(x[9]) 25 | return result 26 | 27 | d = -121665 * inv(121666) 28 | print radix255(d*2) 29 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/description: -------------------------------------------------------------------------------- 1 | shen_ed25519_ref10 2 | MakeCryptoOps.py makes crypto-ops.c in the Monero source from the ref10 implementation 3 | 4 | EdDSA signatures using Curve25519 5 | from http://hyperelliptic.org/ebats/supercop-20141124.tar.bz2 6 | 7 | Commented / combined by Shen Noether, Monero Research Lab 8 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/designers: -------------------------------------------------------------------------------- 1 | ref10: 2 | Daniel J. Bernstein 3 | Niels Duif 4 | Tanja Lange 5 | Peter Schwabe 6 | Bo-Yin Yang 7 | 8 | MakeCryptoOps.py: 9 | Shen Noether, Monero Research Labs 10 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/fe_0.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | h = 0 5 | */ 6 | 7 | void fe_0(fe h) 8 | { 9 | h[0] = 0; 10 | h[1] = 0; 11 | h[2] = 0; 12 | h[3] = 0; 13 | h[4] = 0; 14 | h[5] = 0; 15 | h[6] = 0; 16 | h[7] = 0; 17 | h[8] = 0; 18 | h[9] = 0; 19 | } 20 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/fe_1.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | h = 1 5 | */ 6 | 7 | void fe_1(fe h) 8 | { 9 | h[0] = 1; 10 | h[1] = 0; 11 | h[2] = 0; 12 | h[3] = 0; 13 | h[4] = 0; 14 | h[5] = 0; 15 | h[6] = 0; 16 | h[7] = 0; 17 | h[8] = 0; 18 | h[9] = 0; 19 | } 20 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/fe_copy.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | h = f 5 | */ 6 | 7 | void fe_copy(fe h,const fe f) 8 | { 9 | crypto_int32 f0 = f[0]; 10 | crypto_int32 f1 = f[1]; 11 | crypto_int32 f2 = f[2]; 12 | crypto_int32 f3 = f[3]; 13 | crypto_int32 f4 = f[4]; 14 | crypto_int32 f5 = f[5]; 15 | crypto_int32 f6 = f[6]; 16 | crypto_int32 f7 = f[7]; 17 | crypto_int32 f8 = f[8]; 18 | crypto_int32 f9 = f[9]; 19 | h[0] = f0; 20 | h[1] = f1; 21 | h[2] = f2; 22 | h[3] = f3; 23 | h[4] = f4; 24 | h[5] = f5; 25 | h[6] = f6; 26 | h[7] = f7; 27 | h[8] = f8; 28 | h[9] = f9; 29 | } 30 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/fe_invert.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | void fe_invert(fe out,const fe z) 4 | { 5 | fe t0; 6 | fe t1; 7 | fe t2; 8 | fe t3; 9 | int i; 10 | 11 | #include "pow225521.h" 12 | 13 | return; 14 | } 15 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/fe_isnegative.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | return 1 if f is in {1,3,5,...,q-2} 5 | return 0 if f is in {0,2,4,...,q-1} 6 | 7 | Preconditions: 8 | |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. 9 | */ 10 | 11 | int fe_isnegative(const fe f) 12 | { 13 | unsigned char s[32]; 14 | fe_tobytes(s,f); 15 | return s[0] & 1; 16 | } 17 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/fe_isnonzero.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | #include "crypto_verify_32.h" 3 | 4 | /* 5 | return 1 if f == 0 6 | return 0 if f != 0 7 | 8 | Preconditions: 9 | |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. 10 | */ 11 | 12 | static const unsigned char zero[32]; 13 | 14 | int fe_isnonzero(const fe f) 15 | { 16 | unsigned char s[32]; 17 | fe_tobytes(s,f); 18 | return crypto_verify_32(s,zero); 19 | } 20 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/fe_neg.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | h = -f 5 | 6 | Preconditions: 7 | |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. 8 | 9 | Postconditions: 10 | |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. 11 | */ 12 | 13 | void fe_neg(fe h,const fe f) 14 | { 15 | crypto_int32 f0 = f[0]; 16 | crypto_int32 f1 = f[1]; 17 | crypto_int32 f2 = f[2]; 18 | crypto_int32 f3 = f[3]; 19 | crypto_int32 f4 = f[4]; 20 | crypto_int32 f5 = f[5]; 21 | crypto_int32 f6 = f[6]; 22 | crypto_int32 f7 = f[7]; 23 | crypto_int32 f8 = f[8]; 24 | crypto_int32 f9 = f[9]; 25 | crypto_int32 h0 = -f0; 26 | crypto_int32 h1 = -f1; 27 | crypto_int32 h2 = -f2; 28 | crypto_int32 h3 = -f3; 29 | crypto_int32 h4 = -f4; 30 | crypto_int32 h5 = -f5; 31 | crypto_int32 h6 = -f6; 32 | crypto_int32 h7 = -f7; 33 | crypto_int32 h8 = -f8; 34 | crypto_int32 h9 = -f9; 35 | h[0] = h0; 36 | h[1] = h1; 37 | h[2] = h2; 38 | h[3] = h3; 39 | h[4] = h4; 40 | h[5] = h5; 41 | h[6] = h6; 42 | h[7] = h7; 43 | h[8] = h8; 44 | h[9] = h9; 45 | } 46 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/fe_pow22523.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | void fe_pow22523(fe out,const fe z) 4 | { 5 | fe t0; 6 | fe t1; 7 | fe t2; 8 | int i; 9 | 10 | #include "pow22523.h" 11 | 12 | return; 13 | } 14 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_add.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p + q 5 | */ 6 | 7 | void ge_add(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q) 8 | { 9 | fe t0; 10 | #include "ge_add.h" 11 | } 12 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_add.q: -------------------------------------------------------------------------------- 1 | :name:fe:r->X:r->Y:r->Z:r->T:t0:t1:t2:t3:t4:t5:p->X:p->Y:p->Z:p->T:q->YplusX:q->YminusX:q->Z:q->T2d: 2 | fe r:var/r=fe: 3 | 4 | enter f:enter/f:>X1=fe#11:>Y1=fe#12:>Z1=fe#13:>T1=fe#14:>YpX2=fe#15:>YmX2=fe#16:>Z2=fe#17:>T2d2=fe#18: 5 | return:nofallthrough:h=fe:asm/fe_add(>h,h=fe:asm/fe_sub(>h,h=fe:asm/fe_mul(>h,h=fe:asm/fe_sq(>h,h=fe:asm/fe_add(>h,X:r->Y:r->Z:r->T:t0:t1:t2:t3:t4:t5:p->X:p->Y:p->Z:p->T:q->yplusx:q->yminusx:q->xy2d: 2 | fe r:var/r=fe: 3 | 4 | enter f:enter/f:>X1=fe#11:>Y1=fe#12:>Z1=fe#13:>T1=fe#14:>ypx2=fe#15:>ymx2=fe#16:>xy2d2=fe#17: 5 | return:nofallthrough:h=fe:asm/fe_add(>h,h=fe:asm/fe_sub(>h,h=fe:asm/fe_mul(>h,h=fe:asm/fe_sq(>h,h=fe:asm/fe_add(>h,X:r->Y:r->Z:r->T:t0:t1:t2:t3:t4:t5:p->X:p->Y:p->Z:p->T:q->yplusx:q->yminusx:q->xy2d: 2 | fe r:var/r=fe: 3 | 4 | enter f:enter/f:>X1=fe#11:>Y1=fe#12:>Z1=fe#13:>T1=fe#14:>ypx2=fe#15:>ymx2=fe#16:>xy2d2=fe#17: 5 | return:nofallthrough:h=fe:asm/fe_add(>h,h=fe:asm/fe_sub(>h,h=fe:asm/fe_mul(>h,h=fe:asm/fe_sq(>h,h=fe:asm/fe_add(>h,X,p->X,p->T); 10 | fe_mul(r->Y,p->Y,p->Z); 11 | fe_mul(r->Z,p->Z,p->T); 12 | } 13 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_p1p1_to_p3.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p 5 | */ 6 | 7 | extern void ge_p1p1_to_p3(ge_p3 *r,const ge_p1p1 *p) 8 | { 9 | fe_mul(r->X,p->X,p->T); 10 | fe_mul(r->Y,p->Y,p->Z); 11 | fe_mul(r->Z,p->Z,p->T); 12 | fe_mul(r->T,p->X,p->Y); 13 | } 14 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_p2_0.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | void ge_p2_0(ge_p2 *h) 4 | { 5 | fe_0(h->X); 6 | fe_1(h->Y); 7 | fe_1(h->Z); 8 | } 9 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_p2_dbl.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = 2 * p 5 | */ 6 | 7 | void ge_p2_dbl(ge_p1p1 *r,const ge_p2 *p) 8 | { 9 | fe t0; 10 | #include "ge_p2_dbl.h" 11 | } 12 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_p2_dbl.q: -------------------------------------------------------------------------------- 1 | :name:fe:r->X:r->Y:r->Z:r->T:t0:t1:t2:t3:t4:t5:p->X:p->Y:p->Z: 2 | fe r:var/r=fe: 3 | 4 | enter f:enter/f:>X1=fe#11:>Y1=fe#12:>Z1=fe#13: 5 | return:nofallthrough:h=fe:asm/fe_add(>h,h=fe:asm/fe_sub(>h,h=fe:asm/fe_mul(>h,h=fe:asm/fe_sq(>h,h=fe:asm/fe_sq2(>h,h=fe:asm/fe_add(>h,X); 6 | fe_1(h->Y); 7 | fe_1(h->Z); 8 | fe_0(h->T); 9 | } 10 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_p3_dbl.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = 2 * p 5 | */ 6 | 7 | void ge_p3_dbl(ge_p1p1 *r,const ge_p3 *p) 8 | { 9 | ge_p2 q; 10 | ge_p3_to_p2(&q,p); 11 | ge_p2_dbl(r,&q); 12 | } 13 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_p3_to_cached.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p 5 | */ 6 | 7 | static const fe d2 = { 8 | #include "d2.h" 9 | } ; 10 | 11 | extern void ge_p3_to_cached(ge_cached *r,const ge_p3 *p) 12 | { 13 | fe_add(r->YplusX,p->Y,p->X); 14 | fe_sub(r->YminusX,p->Y,p->X); 15 | fe_copy(r->Z,p->Z); 16 | fe_mul(r->T2d,p->T,d2); 17 | } 18 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_p3_to_p2.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p 5 | */ 6 | 7 | extern void ge_p3_to_p2(ge_p2 *r,const ge_p3 *p) 8 | { 9 | fe_copy(r->X,p->X); 10 | fe_copy(r->Y,p->Y); 11 | fe_copy(r->Z,p->Z); 12 | } 13 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_p3_tobytes.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | void ge_p3_tobytes(unsigned char *s,const ge_p3 *h) 4 | { 5 | fe recip; 6 | fe x; 7 | fe y; 8 | 9 | fe_invert(recip,h->Z); 10 | fe_mul(x,h->X,recip); 11 | fe_mul(y,h->Y,recip); 12 | fe_tobytes(s,y); 13 | s[31] ^= fe_isnegative(x) << 7; 14 | } 15 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_precomp_0.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | void ge_precomp_0(ge_precomp *h) 4 | { 5 | fe_1(h->yplusx); 6 | fe_1(h->yminusx); 7 | fe_0(h->xy2d); 8 | } 9 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_sub.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p - q 5 | */ 6 | 7 | void ge_sub(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q) 8 | { 9 | fe t0; 10 | #include "ge_sub.h" 11 | } 12 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/ge_sub.q: -------------------------------------------------------------------------------- 1 | :name:fe:r->X:r->Y:r->Z:r->T:t0:t1:t2:t3:t4:t5:p->X:p->Y:p->Z:p->T:q->YplusX:q->YminusX:q->Z:q->T2d: 2 | fe r:var/r=fe: 3 | 4 | enter f:enter/f:>X1=fe#11:>Y1=fe#12:>Z1=fe#13:>T1=fe#14:>YpX2=fe#15:>YmX2=fe#16:>Z2=fe#17:>T2d2=fe#18: 5 | return:nofallthrough:h=fe:asm/fe_add(>h,h=fe:asm/fe_sub(>h,h=fe:asm/fe_mul(>h,h=fe:asm/fe_sq(>h,h=fe:asm/fe_add(>h,Z); 10 | fe_mul(x,h->X,recip); 11 | fe_mul(y,h->Y,recip); 12 | fe_tobytes(s,y); 13 | s[31] ^= fe_isnegative(x) << 7; 14 | } 15 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/keypair.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "randombytes.h" 3 | #include "crypto_sign.h" 4 | #include "crypto_hash_sha512.h" 5 | #include "ge.h" 6 | 7 | int crypto_sign_keypair(unsigned char *pk,unsigned char *sk) 8 | { 9 | unsigned char az[64]; 10 | ge_p3 A; 11 | 12 | randombytes(sk,32); 13 | crypto_hash_sha512(az,sk,32); 14 | az[0] &= 248; 15 | az[31] &= 63; 16 | az[31] |= 64; 17 | 18 | ge_scalarmult_base(&A,az); 19 | ge_p3_tobytes(pk,&A); 20 | 21 | memmove(sk + 32,pk,32); 22 | return 0; 23 | } 24 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/q2h.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | sed 's/^#.*//' \ 3 | | qhasm-generic \ 4 | | sed 's_//\(.*\)$_/*\1 */_' 5 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/sc.h: -------------------------------------------------------------------------------- 1 | #ifndef SC_H 2 | #define SC_H 3 | 4 | /* 5 | The set of scalars is \Z/l 6 | where l = 2^252 + 27742317777372353535851937790883648493. 7 | */ 8 | 9 | #define sc_reduce crypto_sign_ed25519_ref10_sc_reduce 10 | #define sc_muladd crypto_sign_ed25519_ref10_sc_muladd 11 | 12 | extern void sc_reduce(unsigned char *); 13 | extern void sc_muladd(unsigned char *,const unsigned char *,const unsigned char *,const unsigned char *); 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/scrap.txt: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p + q 5 | */ 6 | 7 | void ge_add(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q) 8 | { 9 | fe t0; 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | fe_add(r->X,p->Y,p->X); 32 | 33 | fe_sub(r->Y,p->Y,p->X); 34 | 35 | fe_mul(r->Z,r->X,q->YplusX); 36 | 37 | fe_mul(r->Y,r->Y,q->YminusX); 38 | 39 | fe_mul(r->T,q->T2d,p->T); 40 | 41 | fe_mul(r->X,p->Z,q->Z); 42 | 43 | fe_add(t0,r->X,r->X); 44 | 45 | fe_sub(r->X,r->Z,r->Y); 46 | 47 | fe_add(r->Y,r->Z,r->Y); 48 | 49 | fe_add(r->Z,t0,r->T); 50 | 51 | fe_sub(r->T,t0,r->T); 52 | 53 | } 54 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/sign.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "crypto_sign.h" 3 | #include "crypto_hash_sha512.h" 4 | #include "ge.h" 5 | #include "sc.h" 6 | 7 | int crypto_sign( 8 | unsigned char *sm,unsigned long long *smlen, 9 | const unsigned char *m,unsigned long long mlen, 10 | const unsigned char *sk 11 | ) 12 | { 13 | unsigned char pk[32]; 14 | unsigned char az[64]; 15 | unsigned char nonce[64]; 16 | unsigned char hram[64]; 17 | ge_p3 R; 18 | 19 | memmove(pk,sk + 32,32); 20 | 21 | crypto_hash_sha512(az,sk,32); 22 | az[0] &= 248; 23 | az[31] &= 63; 24 | az[31] |= 64; 25 | 26 | *smlen = mlen + 64; 27 | memmove(sm + 64,m,mlen); 28 | memmove(sm + 32,az + 32,32); 29 | crypto_hash_sha512(nonce,sm + 32,mlen + 32); 30 | memmove(sm + 32,pk,32); 31 | 32 | sc_reduce(nonce); 33 | ge_scalarmult_base(&R,nonce); 34 | ge_p3_tobytes(sm,&R); 35 | 36 | crypto_hash_sha512(hram,sm,mlen + 64); 37 | sc_reduce(hram); 38 | sc_muladd(sm + 32,hram,az,nonce); 39 | 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/sqrtm1.h: -------------------------------------------------------------------------------- 1 | -32595792,-7943725,9377950,3500415,12389472,-272473,-25146209,-2005654,326686,11406482 2 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/sqrtm1.py: -------------------------------------------------------------------------------- 1 | q = 2**255 - 19 2 | 3 | def expmod(b,e,m): 4 | if e == 0: return 1 5 | t = expmod(b,e/2,m)**2 % m 6 | if e & 1: t = (t*b) % m 7 | return t 8 | 9 | def inv(x): 10 | return expmod(x,q-2,q) 11 | 12 | def radix255(x): 13 | x = x % q 14 | if x + x > q: x -= q 15 | x = [x,0,0,0,0,0,0,0,0,0] 16 | bits = [26,25,26,25,26,25,26,25,26,25] 17 | for i in range(9): 18 | carry = (x[i] + 2**(bits[i]-1)) / 2**bits[i] 19 | x[i] -= carry * 2**bits[i] 20 | x[i + 1] += carry 21 | result = "" 22 | for i in range(9): 23 | result = result+str(x[i])+"," 24 | result = result+str(x[9]) 25 | return result 26 | 27 | I = expmod(2,(q-1)/4,q) 28 | print radix255(I) 29 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/ref10CommentedCombined/test.py: -------------------------------------------------------------------------------- 1 | import os 2 | l = "(((int) (s[0] | s[1] | s[2] | s[3] | s[4] | s[5] | s[6] | s[7] | s[8] | s[9] | s[10] | s[11] | s[12] | s[13] | s[14] | s[15] | s[16] | s[17] | s[18] | s[19] | s[20] | s[21] | s[22] | s[23] | s[24] | s[25] | s[26] | s[27] | s[28] | s[29] | s[30] | s[31]) - 1) >> 8) + 1;" 3 | 4 | os.system("sed -i 's/crypto_verify_32(s, zero)/"+l+"/' crypto-ops.c") 5 | 6 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/sha512.h: -------------------------------------------------------------------------------- 1 | extern int crypto_hashblocks(unsigned char *statebytes,const unsigned char *in,unsigned long long inlen); 2 | extern int crypto_hash_sha512(unsigned char *out,const unsigned char *in,unsigned long long inlen); 3 | 4 | #define crypto_hash_sha512_BYTES 64 5 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/crypto_ops_builder/verify.c: -------------------------------------------------------------------------------- 1 | #include "crypto_verify_32.h" 2 | 3 | int crypto_verify_32(const unsigned char *x,const unsigned char *y) 4 | { 5 | unsigned int differentbits = 0; 6 | #define F(i) differentbits |= x[i] ^ y[i]; 7 | F(0) 8 | F(1) 9 | F(2) 10 | F(3) 11 | F(4) 12 | F(5) 13 | F(6) 14 | F(7) 15 | F(8) 16 | F(9) 17 | F(10) 18 | F(11) 19 | F(12) 20 | F(13) 21 | F(14) 22 | F(15) 23 | F(16) 24 | F(17) 25 | F(18) 26 | F(19) 27 | F(20) 28 | F(21) 29 | F(22) 30 | F(23) 31 | F(24) 32 | F(25) 33 | F(26) 34 | F(27) 35 | F(28) 36 | F(29) 37 | F(30) 38 | F(31) 39 | return (1 & ((differentbits - 1) >> 8)) - 1; 40 | } 41 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/jh.h: -------------------------------------------------------------------------------- 1 | /*This program gives the 64-bit optimized bitslice implementation of JH using ANSI C 2 | 3 | -------------------------------- 4 | Performance 5 | 6 | Microprocessor: Intel CORE 2 processor (Core 2 Duo Mobile T6600 2.2GHz) 7 | Operating System: 64-bit Ubuntu 10.04 (Linux kernel 2.6.32-22-generic) 8 | Speed for long message: 9 | 1) 45.8 cycles/byte compiler: Intel C++ Compiler 11.1 compilation option: icc -O2 10 | 2) 56.8 cycles/byte compiler: gcc 4.4.3 compilation option: gcc -O3 11 | 12 | -------------------------------- 13 | Last Modified: January 16, 2011 14 | */ 15 | #pragma once 16 | 17 | typedef unsigned char BitSequence; 18 | typedef unsigned long long DataLength; 19 | typedef enum {SUCCESS = 0, FAIL = 1, BAD_HASHLEN = 2} HashReturn; 20 | 21 | HashReturn jh_hash(int hashbitlen, const BitSequence *data, DataLength databitlen, BitSequence *hashval); 22 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/keccak.h: -------------------------------------------------------------------------------- 1 | // keccak.h 2 | // 19-Nov-11 Markku-Juhani O. Saarinen 3 | 4 | #ifndef KECCAK_H 5 | #define KECCAK_H 6 | 7 | #include 8 | #include 9 | 10 | #ifndef KECCAK_ROUNDS 11 | #define KECCAK_ROUNDS 24 12 | #endif 13 | 14 | #ifndef ROTL64 15 | #define ROTL64(x, y) (((x) << (y)) | ((x) >> (64 - (y)))) 16 | #endif 17 | 18 | // compute a keccak hash (md) of given byte length from "in" 19 | void keccak(const uint8_t *in, size_t inlen, uint8_t *md, int mdlen); 20 | 21 | // update the state 22 | void keccakf(uint64_t st[25], int norounds); 23 | 24 | void keccak1600(const uint8_t *in, size_t inlen, uint8_t *md); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /3rdparty/monero_crypto/warnings.h: -------------------------------------------------------------------------------- 1 | #ifndef _WARNINGS_H_ 2 | #define _WARNINGS_H_ 3 | 4 | #if defined(_MSC_VER) 5 | 6 | #define PUSH_WARNINGS __pragma(warning(push)) 7 | #define POP_WARNINGS __pragma(warning(pop)) 8 | #define DISABLE_VS_WARNINGS(w) __pragma(warning(disable: w)) 9 | #define DISABLE_GCC_WARNING(w) 10 | #define DISABLE_CLANG_WARNING(w) 11 | #define DISABLE_GCC_AND_CLANG_WARNING(w) 12 | 13 | #else 14 | 15 | //#include 16 | 17 | #define PUSH_WARNINGS _Pragma("GCC diagnostic push") 18 | #define POP_WARNINGS _Pragma("GCC diagnostic pop") 19 | #define DISABLE_VS_WARNINGS(w) 20 | 21 | #if defined(__clang__) 22 | #define DISABLE_GCC_WARNING(w) 23 | #define DISABLE_CLANG_WARNING DISABLE_GCC_AND_CLANG_WARNING 24 | #else 25 | #define DISABLE_GCC_WARNING DISABLE_GCC_AND_CLANG_WARNING 26 | #define DISABLE_CLANG_WARNING(w) 27 | #endif 28 | 29 | //#define DISABLE_GCC_AND_CLANG_WARNING(w) _Pragma(BOOST_PP_STRINGIZE(GCC diagnostic ignored BOOST_PP_STRINGIZE(-W##w))) 30 | 31 | #endif 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /Changelog: -------------------------------------------------------------------------------- 1 | 2 | Version 2.0 released! 3 | 4 | * "gdb" consensus now is "none" 5 | * libdap-chain-crypto => modules/mining 6 | * non-chains libs goes to dap-sdk/ 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # cellframe-sdk 2 | 3 | -------------------------------------------------------------------------------- /cellframe-sdk.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/cellframe-sdk.c -------------------------------------------------------------------------------- /cmake/ReadMKFile.cmake: -------------------------------------------------------------------------------- 1 | function(ReadVariables MKFile) 2 | file(READ "${MKFile}" FileContents) 3 | string(REPLACE "\\\n" "" FileContents ${FileContents}) 4 | string(REPLACE "\n" ";" FileLines ${FileContents}) 5 | list(REMOVE_ITEM FileLines "") 6 | foreach(line ${FileLines}) 7 | string(REPLACE "=" ";" line_split ${line}) 8 | list(LENGTH line_split count) 9 | if (count LESS 2) 10 | message(STATUS "Skipping ${line}") 11 | continue() 12 | endif() 13 | list(GET line_split -1 value) 14 | string(STRIP ${value} value) 15 | separate_arguments(value) 16 | list(REMOVE_AT line_split -1) 17 | foreach(var_name ${line_split}) 18 | string(STRIP ${var_name} var_name) 19 | set(${var_name} ${value} PARENT_SCOPE) 20 | endforeach() 21 | endforeach() 22 | endfunction() -------------------------------------------------------------------------------- /modules/chain/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain) 3 | 4 | file(GLOB DAP_CHAIN_SRCS *.c) 5 | file(GLOB DAP_CHAIN_HEADERS include/*.h) 6 | 7 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_SRCS} ${DAP_CHAIN_HEADERS}) 8 | 9 | if(BUILD_CELLFRAME_SDK_TESTS) 10 | add_subdirectory(tests) 11 | endif() 12 | 13 | #find_package(PkgConfig REQUIRED) 14 | #pkg_search_module(GLIB REQUIRED glib-2.0) 15 | 16 | target_link_libraries(${PROJECT_NAME} dap_chain_common dap_global_db dap_notify_srv dap_stream ${GLIB_LDFLAGS}) 17 | target_include_directories(${PROJECT_NAME} INTERFACE . include/ ${GLIB_INCLUDE_DIRS}) 18 | target_include_directories(${PROJECT_NAME} PUBLIC include) 19 | 20 | if (INSTALL_SDK) 21 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_HEADERS}") 22 | INSTALL(TARGETS ${PROJECT_NAME} 23 | LIBRARY DESTINATION lib/modules/chain/ 24 | ARCHIVE DESTINATION lib/modules/chain/ 25 | PUBLIC_HEADER DESTINATION include/modules/chain/ 26 | ) 27 | endif() 28 | -------------------------------------------------------------------------------- /modules/chain/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | 3 | project(chain-test) 4 | 5 | file(GLOB DAP_CHAIN_TESTS_HEADERS include/*.h) 6 | file(GLOB DAP_CHAIN_TESTS_SRC *.c) 7 | 8 | add_executable(${PROJECT_NAME} ${DAP_CHAIN_TESTS_SRC} ${DAP_CHAIN_TESTS_HEADERS}) 9 | 10 | target_link_libraries(${PROJECT_NAME} dap_test dap_core dap_chain dap_chain_wallet dap_chain_net_srv_vpn dap_chain_cs_blocks dap_chain_cs_dag_poa) 11 | 12 | if (DARWIN) 13 | target_link_libraries(${PROJECT_NAME} bz2) 14 | endif() 15 | 16 | target_include_directories(${PROJECT_NAME} PUBLIC include) 17 | 18 | add_test( 19 | NAME chain-test 20 | COMMAND chain-test 21 | ) 22 | -------------------------------------------------------------------------------- /modules/chain/tests/include/dap_chain_ledger_tests.h: -------------------------------------------------------------------------------- 1 | #include "dap_chain_ledger.h" 2 | 3 | void dap_ledger_test_run(void); 4 | -------------------------------------------------------------------------------- /modules/chain/tests/main.c: -------------------------------------------------------------------------------- 1 | #include "dap_chain_ledger_tests.h" 2 | int main(void){ 3 | dap_ledger_test_run(); 4 | return 0; 5 | } 6 | -------------------------------------------------------------------------------- /modules/channel/chain-net-srv/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_stream_ch_chain_net_srv) 3 | 4 | file(GLOB DAP_STREAM_CH_CHAIN_NET_SRV_SRCS *.c) 5 | file(GLOB DAP_STREAM_CH_CHAIN_NET_SRV_HDRS include/*.h) 6 | 7 | add_library(${PROJECT_NAME} STATIC ${DAP_STREAM_CH_CHAIN_NET_SRV_SRCS} ${DAP_STREAM_CH_CHAIN_NET_SRV_HDRS}) 8 | 9 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain_common dap_chain dap_chain_mempool dap_chain_net dap_chain_net_srv dap_io dap_stream dap_stream_ch dap_stream_ch_chain_net) 10 | 11 | target_include_directories(${PROJECT_NAME} INTERFACE .) 12 | target_include_directories(${PROJECT_NAME} PUBLIC include) 13 | 14 | if (INSTALL_SDK) 15 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_STREAM_CH_CHAIN_NET_SRV_HDRS}") 16 | INSTALL(TARGETS ${PROJECT_NAME} 17 | LIBRARY DESTINATION lib/modules/channel/chain-net-srv/ 18 | ARCHIVE DESTINATION lib/modules/channel/chain-net-srv/ 19 | PUBLIC_HEADER DESTINATION include/modules/channel/chain-net-srv/ 20 | ) 21 | endif() 22 | -------------------------------------------------------------------------------- /modules/channel/chain-net/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_stream_ch_chain_net) 3 | 4 | file(GLOB DAP_STREAM_CH_CHAIN_NET_SRCS *.c) 5 | file(GLOB DAP_STREAM_CH_CHAIN_NET_HDRS include/*.h) 6 | 7 | add_library(${PROJECT_NAME} STATIC ${DAP_STREAM_CH_CHAIN_NET_SRCS} ${DAP_STREAM_CH_CHAIN_NET_HDRS}) 8 | 9 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_stream dap_stream_ch dap_chain_net dap_chain_net_srv_stake) 10 | 11 | target_include_directories(${PROJECT_NAME} INTERFACE .) 12 | target_include_directories(${PROJECT_NAME} PUBLIC include) 13 | target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../../../dap-sdk/3rdparty/uthash/src) 14 | 15 | if (INSTALL_SDK) 16 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_STREAM_CH_CHAIN_NET_HDRS}") 17 | INSTALL(TARGETS ${PROJECT_NAME} 18 | LIBRARY DESTINATION lib/modules/channel/chain-net/ 19 | ARCHIVE DESTINATION lib/modules/channel/chain-net/ 20 | PUBLIC_HEADER DESTINATION include/modules/channel/chain-net/ 21 | ) 22 | endif() 23 | -------------------------------------------------------------------------------- /modules/common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_common) 3 | 4 | file(GLOB DAP_CHAIN_COMMON_SRCS *.c) 5 | file(GLOB DAP_CHAIN_COMMON_HEADERS include/*.h) 6 | 7 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_COMMON_SRCS} ${DAP_CHAIN_COMMON_HEADERS}) 8 | 9 | if(BUILD_CELLFRAME_SDK_TESTS) 10 | add_subdirectory(tests) 11 | endif() 12 | 13 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain_net) 14 | target_include_directories(${PROJECT_NAME} PUBLIC include/ ) 15 | target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../../dap-sdk/3rdparty/json-c) 16 | 17 | 18 | if (INSTALL_SDK) 19 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_COMMON_HEADERS}") 20 | INSTALL(TARGETS ${PROJECT_NAME} 21 | LIBRARY DESTINATION lib/modules/common/ 22 | ARCHIVE DESTINATION lib/modules/common/ 23 | PUBLIC_HEADER DESTINATION include/modules/common/ 24 | ) 25 | endif() 26 | -------------------------------------------------------------------------------- /modules/common/dap_chain_datum_poll.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Authors: 3 | * Dmitriy A. Gearasimov 4 | * DeM Labs Inc. https://demlabs.net 5 | * Copyright (c) 2020, All rights reserved. 6 | 7 | This file is part of CellFrame SDK the open source project 8 | 9 | CellFrame SDK is free software: you can redistribute it and/or modify 10 | it under the terms of the GNU General Public License as published by 11 | the Free Software Foundation, either version 3 of the License, or 12 | (at your option) any later version. 13 | 14 | CellFrame SDK is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with any CellFrame SDK based project. If not, see . 21 | */ 22 | -------------------------------------------------------------------------------- /modules/common/include/dap_chain_datum_tx_tsd.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "dap_common.h" 4 | #include "dap_chain_common.h" 5 | #include "dap_chain_datum_tx.h" 6 | #include "dap_tsd.h" 7 | 8 | typedef struct dap_chain_tx_tsd { 9 | struct { 10 | dap_chain_tx_item_type_t type; 11 | uint64_t size DAP_ALIGNED(8); 12 | } DAP_PACKED header; 13 | byte_t tsd[]; 14 | } DAP_PACKED dap_chain_tx_tsd_t; 15 | 16 | -------------------------------------------------------------------------------- /modules/common/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | 3 | project(struct-packing-test) 4 | 5 | file(GLOB DAP_CHAIN_TESTS_HEADERS include/*.h) 6 | file(GLOB DAP_CHAIN_TESTS_SRC *.c) 7 | 8 | add_executable(${PROJECT_NAME} ${DAP_CHAIN_TESTS_SRC} ${DAP_CHAIN_TESTS_HEADERS}) 9 | 10 | target_link_libraries(${PROJECT_NAME} dap_test dap_core dap_crypto) 11 | 12 | include_directories(../include) 13 | 14 | if (DARWIN) 15 | target_link_libraries(${PROJECT_NAME} bz2) 16 | endif() 17 | 18 | target_include_directories(${PROJECT_NAME} PUBLIC include) 19 | 20 | add_test( 21 | NAME struct-packing-test 22 | COMMAND struct-packing-test 23 | ) 24 | -------------------------------------------------------------------------------- /modules/common/tests/include/dap_struct_packing_tests.h: -------------------------------------------------------------------------------- 1 | #include "dap_test.h" 2 | 3 | void dap_struct_packing_test_run(void); 4 | //dap_ledger_t *dap_chain_ledger_create_test(); 5 | -------------------------------------------------------------------------------- /modules/common/tests/main.c: -------------------------------------------------------------------------------- 1 | #include "dap_struct_packing_tests.h" 2 | 3 | int main(void){ 4 | dap_struct_packing_test_run(); 5 | return 0; 6 | } -------------------------------------------------------------------------------- /modules/consensus/block-pow/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_cs_block_pow) 3 | 4 | file(GLOB DAP_CHAIN_BLOCK_CS_POW_SRCS *.c) 5 | file(GLOB DAP_CHAIN_BLOCK_CS_POW_HEADERS include/*.h) 6 | 7 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_BLOCK_CS_POW_SRCS} ${DAP_CHAIN_BLOCK_CS_POW_HEADERS}) 8 | 9 | 10 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_cs_block ) 11 | target_include_directories(${PROJECT_NAME} INTERFACE .) 12 | 13 | if (INSTALL_SDK) 14 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_BLOCK_CS_POW_HEADERS}") 15 | INSTALL(TARGETS ${PROJECT_NAME} 16 | LIBRARY DESTINATION lib/modules/consensus/block-pow/ 17 | ARCHIVE DESTINATION lib/modules/consensus/block-pow/ 18 | PUBLIC_HEADER DESTINATION include/modules/consensus/block-pow/ 19 | ) 20 | endif() -------------------------------------------------------------------------------- /modules/consensus/dag-poa/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_cs_dag_poa) 3 | 4 | file(GLOB DAP_CHAIN_DAG_CS_POA_SRCS *.c) 5 | file(GLOB DAP_CHAIN_DAG_CS_POA_HEADERS include/*.h) 6 | 7 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_DAG_CS_POA_SRCS} ${DAP_CHAIN_DAG_CS_POA_HEADERS}) 8 | 9 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_cs_dag) 10 | target_include_directories(${PROJECT_NAME} INTERFACE .) 11 | target_include_directories(${PROJECT_NAME} PUBLIC include) 12 | 13 | if (INSTALL_SDK) 14 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_DAG_CS_POA_HEADERS}") 15 | INSTALL(TARGETS ${PROJECT_NAME} 16 | LIBRARY DESTINATION lib/modules/consensus/dag-poa/ 17 | ARCHIVE DESTINATION lib/modules/consensus/dag-poa/ 18 | PUBLIC_HEADER DESTINATION include/modules/consensus/dag-poa/ 19 | ) 20 | endif() -------------------------------------------------------------------------------- /modules/consensus/esbocs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_cs_esbocs) 3 | 4 | file(GLOB DAP_CHAIN_ESBOCS_SRCS *.c) 5 | file(GLOB DAP_CHAIN_CS_ESBOCS_HEADERS include/*.h) 6 | 7 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_ESBOCS_SRCS} ${DAP_CHAIN_CS_ESBOCS_HEADERS}) 8 | 9 | target_include_directories(${PROJECT_NAME} INTERFACE .) 10 | target_include_directories(${PROJECT_NAME} PUBLIC include) 11 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_cs_blocks dap_chain_net_srv_stake) 12 | 13 | if (INSTALL_SDK) 14 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_CS_ESBOCS_HEADERS}") 15 | INSTALL(TARGETS ${PROJECT_NAME} 16 | LIBRARY DESTINATION lib/modules/consensus/esbocs/ 17 | ARCHIVE DESTINATION lib/modules/consensus/esbocs/ 18 | PUBLIC_HEADER DESTINATION include/modules/consensus/esbocs/ 19 | ) 20 | endif() 21 | -------------------------------------------------------------------------------- /modules/dht/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.1) 2 | project (dap_chain_dht C) 3 | 4 | set(DAP_CHAIN_DHT_SRC 5 | dap_chain_dht.c 6 | ) 7 | set(DAP_CHAIN_DHT_HDR 8 | include/dap_chain_dht.h 9 | ) 10 | set(DAP_CHAIN_GLOBAL_DB_LIBS dap_core dap_crypto dap_chain) 11 | 12 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_DHT_SRC} ${DAP_CHAIN_DHT_HDR}) 13 | 14 | target_link_libraries(${PROJECT_NAME} ${DAP_CHAIN_DHT_LIBS}) 15 | 16 | target_include_directories(${PROJECT_NAME} INTERFACE .) 17 | target_include_directories(${PROJECT_NAME} PUBLIC include) 18 | 19 | if (INSTALL_SDK) 20 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_DHT_HDR}") 21 | INSTALL(TARGETS ${PROJECT_NAME} 22 | LIBRARY DESTINATION lib/modules/dht/ 23 | ARCHIVE DESTINATION lib/modules/dht/ 24 | PUBLIC_HEADER DESTINATION include/modules/dht/ 25 | ) 26 | endif() -------------------------------------------------------------------------------- /modules/dht/dap_chain_dht.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/modules/dht/dap_chain_dht.c -------------------------------------------------------------------------------- /modules/dht/include/dap_chain_dht.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demlabs-cellframe/cellframe-sdk/9a8c42953f8544417b22e4355a3edc9c4a840cfb/modules/dht/include/dap_chain_dht.h -------------------------------------------------------------------------------- /modules/mempool/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_mempool) 3 | 4 | file(GLOB DAP_CHAIN_MEMPOOL_SRC *.c) 5 | file(GLOB DAP_CHAIN_MEMPOOL_HDR include/*.h) 6 | 7 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_MEMPOOL_SRC} ${DAP_CHAIN_MEMPOOL_HDR}) 8 | 9 | target_link_libraries(${PROJECT_NAME} dap_http_server dap_client dap_chain_net dap_global_db dap_core dap_json_rpc dap_chain_cs_blocks) 10 | target_include_directories(${PROJECT_NAME} INTERFACE .) 11 | target_include_directories(${PROJECT_NAME} PUBLIC include) 12 | target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../../dap-sdk/3rdparty/json-c) 13 | 14 | if (INSTALL_SDK) 15 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_MEMPOOL_HDR}") 16 | INSTALL(TARGETS ${PROJECT_NAME} 17 | LIBRARY DESTINATION lib/modules/mempool/ 18 | ARCHIVE DESTINATION lib/modules/mempool/ 19 | PUBLIC_HEADER DESTINATION include/modules/mempool/ 20 | ) 21 | endif() -------------------------------------------------------------------------------- /modules/mempool/include/dap_chain_mempool_rpc.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "dap_json_rpc.h" 3 | 4 | int dap_chain_mempool_rpc_init(void); 5 | 6 | void dap_chain_mempool_rpc_handler_list(dap_json_rpc_params_t *a_params, 7 | dap_json_rpc_response_t *a_response, const char *a_method); 8 | void dap_chain_mempool_rpc_handler_test(dap_json_rpc_params_t *a_params, 9 | dap_json_rpc_response_t *a_response, const char *a_method); 10 | 11 | -------------------------------------------------------------------------------- /modules/mining/dap_hash_slow.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Authors: 3 | * Dmitriy A. Gearasimov 4 | * DeM Labs Inc. https://demlabs.net 5 | * DeM Labs Open source community https://github.com/demlabsinc 6 | * Copyright (c) 2017-2018 7 | * All rights reserved. 8 | 9 | This file is part of DAP (Distributed Applications Platform) the open source project 10 | 11 | DAP (Distributed Applications Platform) is free software: you can redistribute it and/or modify 12 | it under the terms of the GNU General Public License as published by 13 | the Free Software Foundation, either version 3 of the License, or 14 | (at your option) any later version. 15 | 16 | DAP is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | GNU General Public License for more details. 20 | 21 | You should have received a copy of the GNU General Public License 22 | along with any DAP based project. If not, see . 23 | */ 24 | 25 | #include "dap_hash_slow.h" 26 | -------------------------------------------------------------------------------- /modules/net/iputils/iputils.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Set utilities for networking 3 | */ 4 | 5 | #include 6 | #include 7 | #include "dap_common.h" 8 | #include "dap_strfuncs.h" 9 | 10 | static bool LOG_VERBOSE = false; 11 | 12 | /** 13 | * Set verbose mode 14 | */ 15 | void iputils_set_verbose(void) 16 | { 17 | LOG_VERBOSE = true; 18 | } 19 | 20 | /** 21 | * Reset verbose mode 22 | */ 23 | void iputils_reset_verbose(void) 24 | { 25 | LOG_VERBOSE = false; 26 | } 27 | 28 | // analog printf() 29 | int log_printf(const char *format, ...) 30 | { 31 | int ret = 0; 32 | if(LOG_VERBOSE) 33 | { 34 | char *log_str = NULL; 35 | va_list args; 36 | 37 | va_start(args, format); 38 | log_str = dap_strdup_vprintf(format, args); 39 | va_end(args); 40 | 41 | if(log_str) 42 | { 43 | 44 | ret = printf("%s", log_str); 45 | DAP_DELETE(log_str); 46 | } 47 | } 48 | return ret; 49 | } 50 | -------------------------------------------------------------------------------- /modules/net/iputils/traceroute/csum.c: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2006, 2007 Dmitry Butskoy 3 | 4 | License: GPL v2 or any later 5 | 6 | See COPYING for the status of this software. 7 | */ 8 | 9 | #include 10 | #include 11 | 12 | #include "traceroute.h" 13 | 14 | 15 | uint16_t in_csum (const void *ptr, size_t len) { 16 | const uint16_t *p = (const uint16_t *) ptr; 17 | size_t nw = len / 2; 18 | unsigned int sum = 0; 19 | uint16_t res; 20 | 21 | while (nw--) sum += *p++; 22 | 23 | if (len & 0x1) 24 | sum += htons (*((unsigned char *) p) << 8); 25 | 26 | sum = (sum >> 16) + (sum & 0xffff); 27 | sum += (sum >> 16); 28 | 29 | res = ~sum; 30 | if (!res) res = ~0; 31 | 32 | return res; 33 | } 34 | 35 | -------------------------------------------------------------------------------- /modules/net/iputils/traceroute/flowlabel.h: -------------------------------------------------------------------------------- 1 | /* 2 | It is just a stripped copy of the kernel header "linux/in6.h" 3 | 4 | "Flow label" things are still not defined in "netinet/in*.h" headers, 5 | but we cannot use "linux/in6.h" immediately because it currently 6 | conflicts with "netinet/in.h" . 7 | */ 8 | 9 | struct in6_flowlabel_req_ 10 | { 11 | struct in6_addr flr_dst; 12 | __u32 flr_label; 13 | __u8 flr_action; 14 | __u8 flr_share; 15 | __u16 flr_flags; 16 | __u16 flr_expires; 17 | __u16 flr_linger; 18 | __u32 __flr_pad; 19 | /* Options in format of IPV6_PKTOPTIONS */ 20 | }; 21 | 22 | #define IPV6_FL_A_GET 0 23 | #define IPV6_FL_A_PUT 1 24 | #define IPV6_FL_A_RENEW 2 25 | 26 | #define IPV6_FL_F_CREATE 1 27 | #define IPV6_FL_F_EXCL 2 28 | 29 | #define IPV6_FL_S_NONE 0 30 | #define IPV6_FL_S_EXCL 1 31 | #define IPV6_FL_S_PROCESS 2 32 | #define IPV6_FL_S_USER 3 33 | #define IPV6_FL_S_ANY 255 34 | 35 | #define IPV6_FLOWINFO_FLOWLABEL 0x000fffff 36 | #define IPV6_FLOWINFO_PRIORITY 0x0ff00000 37 | 38 | #define IPV6_FLOWLABEL_MGR 32 39 | #define IPV6_FLOWINFO_SEND 33 40 | 41 | -------------------------------------------------------------------------------- /modules/net/iputils/traceroute/random.c: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2006, 2007 Dmitry Butskoy 3 | 4 | License: GPL v2 or any later 5 | 6 | See COPYING for the status of this software. 7 | */ 8 | 9 | #include 10 | #include 11 | #include 12 | 13 | #include "traceroute.h" 14 | 15 | 16 | static void __init_random_seq (void) __attribute__ ((constructor)); 17 | static void __init_random_seq (void) { 18 | 19 | srand (times (NULL) + getpid ()); 20 | } 21 | 22 | 23 | unsigned int random_seq (void) { 24 | 25 | /* To not worry about RANDOM_MAX and precision... */ 26 | return (rand () << 16) ^ (rand () << 8) ^ rand () ^ (rand () >> 8); 27 | } 28 | 29 | -------------------------------------------------------------------------------- /modules/net/iputils/traceroute/time.c: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2006, 2007 Dmitry Butskoy 3 | 4 | License: GPL v2 or any later 5 | 6 | See COPYING for the status of this software. 7 | */ 8 | 9 | #include 10 | #include 11 | #include 12 | 13 | #include "traceroute.h" 14 | 15 | 16 | /* Just returns current time as double, with most possible precision... */ 17 | 18 | double get_time (void) { 19 | struct timeval tv; 20 | double d; 21 | 22 | gettimeofday (&tv, NULL); 23 | 24 | d = ((double) tv.tv_usec) / 1000000. + (unsigned long) tv.tv_sec; 25 | 26 | return d; 27 | } 28 | -------------------------------------------------------------------------------- /modules/service/app-db/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_net_srv_app_db) 3 | 4 | file(GLOB DAP_CHAIN_NET_SRV_APP_DB_SRCS *.c) 5 | 6 | file(GLOB DAP_CHAIN_NET_SRV_APP_DB_HEADERS include/*.h) 7 | 8 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_NET_SRV_APP_DB_SRCS} ${DAP_CHAIN_NET_SRV_APP_DB_HEADERS}) 9 | 10 | target_link_libraries(${PROJECT_NAME} dap_chain_net_srv dap_chain_net_srv_app) 11 | target_include_directories(${PROJECT_NAME} INTERFACE .) 12 | target_include_directories(${PROJECT_NAME} PUBLIC include) 13 | 14 | if (INSTALL_SDK) 15 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_NET_SRV_APP_DB_HEADERS}") 16 | INSTALL(TARGETS ${PROJECT_NAME} 17 | LIBRARY DESTINATION lib/modules/service/app-db/ 18 | ARCHIVE DESTINATION lib/modules/service/app-db/ 19 | PUBLIC_HEADER DESTINATION include/modules/service/app-db/ 20 | ) 21 | endif() -------------------------------------------------------------------------------- /modules/service/app/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_net_srv_app) 3 | 4 | file(GLOB DAP_CHAIN_NET_SRV_APP_SRCS *.c) 5 | 6 | file(GLOB DAP_CHAIN_NET_SRV_APP_HEADERS include/*.h) 7 | 8 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_NET_SRV_APP_SRCS} ${DAP_CHAIN_NET_SRV_APP_HEADERS}) 9 | 10 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_net dap_chain_net_srv) 11 | target_include_directories(${PROJECT_NAME} INTERFACE .) 12 | target_include_directories(${PROJECT_NAME} PUBLIC include) 13 | 14 | if (INSTALL_SDK) 15 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_NET_SRV_APP_HEADERS}") 16 | INSTALL(TARGETS ${PROJECT_NAME} 17 | LIBRARY DESTINATION lib/modules/service/app/ 18 | ARCHIVE DESTINATION lib/modules/service/app/ 19 | PUBLIC_HEADER DESTINATION include/modules/service/app/ 20 | ) 21 | endif() -------------------------------------------------------------------------------- /modules/service/bridge/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_net_srv_bridge) 3 | 4 | file(GLOB DAP_SRV_BRG_SRCS *.c) 5 | 6 | file(GLOB DAP_SRV_BRG_HEADERS include/*.h) 7 | 8 | add_library(${PROJECT_NAME} STATIC ${DAP_SRV_BRG_SRCS} ${DAP_SRV_BRG_HEADERS}) 9 | 10 | target_include_directories(${PROJECT_NAME} INTERFACE .) 11 | target_include_directories(${PROJECT_NAME} PUBLIC include) 12 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_net dap_chain_net_srv) 13 | target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../../../dap-sdk/3rdparty/json-c) 14 | 15 | if (INSTALL_SDK) 16 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_SRV_BRG_HEADERS}") 17 | INSTALL(TARGETS ${PROJECT_NAME} 18 | LIBRARY DESTINATION lib/modules/service/bridge/ 19 | ARCHIVE DESTINATION lib/modules/service/bridge/ 20 | PUBLIC_HEADER DESTINATION include/modules/service/bridge/ 21 | ) 22 | endif() -------------------------------------------------------------------------------- /modules/service/bridge/include/dap_chain_net_srv_bridge.h: -------------------------------------------------------------------------------- 1 | #define DAP_CHAIN_NET_SRV_BRIDGE_ID 0x04 2 | 3 | int dap_chain_net_srv_bridge_init(); 4 | 5 | void dap_chain_net_srv_bridge_deinit(); 6 | -------------------------------------------------------------------------------- /modules/service/datum/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_net_srv_datum) 3 | 4 | file(GLOB DAP_CHAIN_NET_SRV_DATUM_SRCS *.c) 5 | 6 | file(GLOB DAP_CHAIN_NET_SRV_DATUM_HEADERS include/*.h) 7 | 8 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_NET_SRV_DATUM_SRCS} ${DAP_CHAIN_NET_SRV_DATUM_HEADERS}) 9 | 10 | target_link_libraries(${PROJECT_NAME} dap_chain_net_srv) 11 | target_include_directories(${PROJECT_NAME} INTERFACE .) 12 | target_include_directories(${PROJECT_NAME} PUBLIC include) 13 | 14 | if (INSTALL_SDK) 15 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_NET_SRV_DATUM_HEADERS}") 16 | INSTALL(TARGETS ${PROJECT_NAME} 17 | LIBRARY DESTINATION lib/modules/service/datum/ 18 | ARCHIVE DESTINATION lib/modules/service/datum/ 19 | PUBLIC_HEADER DESTINATION include/modules/service/datum/ 20 | ) 21 | endif() -------------------------------------------------------------------------------- /modules/service/mining-pool/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_net_srv_datum_pool) 3 | 4 | file(GLOB DAP_CHAIN_NET_SRV_DATUM_POOL_SRCS *.c) 5 | file(GLOB DAP_CHAIN_NET_SRV_DATUM_POOL_HEADERS include/*.h) 6 | 7 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_NET_SRV_DATUM_POOL_SRCS} ${DAP_CHAIN_NET_SRV_DATUM_POOL_HEADERS}) 8 | 9 | target_link_libraries(${PROJECT_NAME} dap_chain_net_srv dap_chain_net_srv_datum) 10 | target_include_directories(${PROJECT_NAME} INTERFACE .) 11 | target_include_directories(${PROJECT_NAME} PUBLIC include) 12 | 13 | if (INSTALL_SDK) 14 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_NET_SRV_DATUM_POOL_HEADERS}") 15 | INSTALL(TARGETS ${PROJECT_NAME} 16 | LIBRARY DESTINATION lib/modules/service/mining-pool/ 17 | ARCHIVE DESTINATION lib/modules/service/mining-pool/ 18 | PUBLIC_HEADER DESTINATION include/modules/service/mining-pool/ 19 | ) 20 | endif() -------------------------------------------------------------------------------- /modules/service/stake/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_net_srv_stake) 3 | 4 | file(GLOB DAP_SRV_STAKE_SRCS *.c) 5 | 6 | file(GLOB DAP_SRV_STAKE_HEADERS include/*.h) 7 | 8 | add_library(${PROJECT_NAME} STATIC ${DAP_SRV_STAKE_SRCS} ${DAP_SRV_STAKE_HEADERS}) 9 | 10 | target_include_directories(${PROJECT_NAME} INTERFACE .) 11 | target_include_directories(${PROJECT_NAME} PUBLIC include) 12 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_net dap_chain_net_srv) 13 | target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../../../dap-sdk/3rdparty/json-c) 14 | 15 | if (INSTALL_SDK) 16 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_SRV_STAKE_HEADERS}") 17 | INSTALL(TARGETS ${PROJECT_NAME} 18 | LIBRARY DESTINATION lib/modules/service/stake/ 19 | ARCHIVE DESTINATION lib/modules/service/stake/ 20 | PUBLIC_HEADER DESTINATION include/modules/service/stake/ 21 | ) 22 | endif() -------------------------------------------------------------------------------- /modules/service/voting/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_net_srv_voting) 3 | 4 | file(GLOB DAP_SRV_VTNG_SRCS *.c) 5 | 6 | file(GLOB DAP_SRV_VTNG_HEADERS include/*.h) 7 | 8 | add_library(${PROJECT_NAME} STATIC ${DAP_SRV_VTNG_SRCS} ${DAP_SRV_VTNG_HEADERS}) 9 | 10 | target_include_directories(${PROJECT_NAME} INTERFACE .) 11 | target_include_directories(${PROJECT_NAME} PUBLIC include) 12 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_net dap_chain_net_srv) 13 | target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../../../dap-sdk/3rdparty/json-c) 14 | 15 | if (INSTALL_SDK) 16 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_SRV_BRG_HEADERS}") 17 | INSTALL(TARGETS ${PROJECT_NAME} 18 | LIBRARY DESTINATION lib/modules/service/voting/ 19 | ARCHIVE DESTINATION lib/modules/service/voting/ 20 | PUBLIC_HEADER DESTINATION include/modules/service/voting/ 21 | ) 22 | endif() -------------------------------------------------------------------------------- /modules/service/vpn/dap_chain_net_srv_vpn_cmd.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // VPN statistics 4 | int com_vpn_statistics(int a_argc, char ** a_argv, void **reply); 5 | // vpn_client command 6 | int com_vpn_client(int a_argc, char ** a_argv, void **reply); 7 | -------------------------------------------------------------------------------- /modules/service/vpn/include/dap_chain_net_srv_vpn_common.h: -------------------------------------------------------------------------------- 1 | 2 | #define DAP_CHAIN_NET_SRV_VPN_ID 0x0000000000000001 3 | 4 | int dap_chain_net_srv_vpn_pre_init(); 5 | -------------------------------------------------------------------------------- /modules/service/xchange/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_net_srv_xchange) 3 | 4 | file(GLOB DAP_SRV_XCHANGE_SRCS *.c) 5 | 6 | file(GLOB DAP_SRV_XCHANGE_HEADERS include/*.h) 7 | 8 | add_library(${PROJECT_NAME} STATIC ${DAP_SRV_XCHANGE_SRCS} ${DAP_SRV_XCHANGE_HEADERS}) 9 | 10 | target_include_directories(${PROJECT_NAME} INTERFACE .) 11 | target_include_directories(${PROJECT_NAME} PUBLIC include) 12 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_net dap_chain_net_srv) 13 | 14 | if (INSTALL_SDK) 15 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_SRV_XCHANGE_HEADERS}") 16 | INSTALL(TARGETS ${PROJECT_NAME} 17 | LIBRARY DESTINATION lib/modules/service/xchange/ 18 | ARCHIVE DESTINATION lib/modules/service/xchange/ 19 | PUBLIC_HEADER DESTINATION include/modules/service/xchange/ 20 | ) 21 | endif() -------------------------------------------------------------------------------- /modules/type/blocks/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_cs_blocks) 3 | 4 | file(GLOB DAP_CHAIN_BLOCK_SRCS *.c) 5 | file(GLOB DAP_CHAIN_BLOCK_HEADERS include/*.h) 6 | 7 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_BLOCK_SRCS} ${DAP_CHAIN_BLOCK_HEADERS}) 8 | 9 | if(BUILD_CELLFRAME_SDK_TESTS) 10 | add_subdirectory(tests) 11 | endif() 12 | 13 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_common dap_cli_server dap_chain_net) 14 | target_include_directories(${PROJECT_NAME} INTERFACE .) 15 | target_include_directories(${PROJECT_NAME} PUBLIC include) 16 | 17 | if (INSTALL_SDK) 18 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_BLOCK_HEADERS}") 19 | INSTALL(TARGETS ${PROJECT_NAME} 20 | LIBRARY DESTINATION lib/modules/type/blocks/ 21 | ARCHIVE DESTINATION lib/modules/type/blocks/ 22 | PUBLIC_HEADER DESTINATION include/modules/type/blocks/ 23 | ) 24 | endif() -------------------------------------------------------------------------------- /modules/type/blocks/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | 3 | project(blocks-test) 4 | 5 | file(GLOB DAP_CHAIN_TESTS_HEADERS include/*.h) 6 | file(GLOB DAP_CHAIN_TESTS_SRC *.c) 7 | 8 | add_executable(${PROJECT_NAME} ${DAP_CHAIN_TESTS_SRC} ${DAP_CHAIN_TESTS_HEADERS}) 9 | 10 | target_link_libraries(${PROJECT_NAME} dap_test dap_core dap_chain dap_chain_cs_blocks ) 11 | 12 | if (DARWIN) 13 | target_link_libraries(${PROJECT_NAME} bz2) 14 | endif() 15 | 16 | target_include_directories(${PROJECT_NAME} PUBLIC include) 17 | 18 | add_test( 19 | NAME blocks-test 20 | COMMAND blocks-test 21 | ) 22 | -------------------------------------------------------------------------------- /modules/type/blocks/tests/include/dap_chain_blocks_test.h: -------------------------------------------------------------------------------- 1 | #include "dap_chain_cs_blocks.h" 2 | 3 | void dap_chain_blocks_test(); -------------------------------------------------------------------------------- /modules/type/blocks/tests/main.c: -------------------------------------------------------------------------------- 1 | #include "dap_chain_blocks_test.h" 2 | 3 | int main() 4 | { 5 | dap_chain_blocks_test(); 6 | 7 | return 0; 8 | } -------------------------------------------------------------------------------- /modules/type/dag/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_cs_dag) 3 | 4 | file(GLOB DAP_CHAIN_DAG_SRCS *.c) 5 | file(GLOB DAP_CHAIN_DAG_HEADERS include/*.h) 6 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_DAG_SRCS} ${DAP_CHAIN_DAG_HEADERS}) 7 | 8 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_net dap_global_db) 9 | target_include_directories(${PROJECT_NAME} INTERFACE .) 10 | target_include_directories(${PROJECT_NAME} PUBLIC include) 11 | target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../../../dap-sdk/3rdparty/uthash/src) 12 | 13 | if (INSTALL_SDK) 14 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_DAG_HEADERS}") 15 | INSTALL(TARGETS ${PROJECT_NAME} 16 | LIBRARY DESTINATION lib/modules/type/dag/ 17 | ARCHIVE DESTINATION lib/modules/type/dag/ 18 | PUBLIC_HEADER DESTINATION include/modules/type/dag/ 19 | ) 20 | endif() -------------------------------------------------------------------------------- /modules/type/none/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_cs_none) 3 | 4 | file(GLOB DAP_CHAIN_CS_NO_CONSENSUS_SRC *.c) 5 | file(GLOB DAP_CHAIN_CS_NO_CONSENSUS_HDR include/*.h) 6 | 7 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_CS_NO_CONSENSUS_SRC} ${DAP_CHAIN_CS_NO_CONSENSUS_HDR}) 8 | 9 | target_link_libraries(${PROJECT_NAME} dap_core dap_chain dap_global_db dap_chain_mempool dap_chain_net) 10 | target_include_directories(${PROJECT_NAME} INTERFACE .) 11 | target_include_directories(${PROJECT_NAME} PUBLIC include) 12 | 13 | if (INSTALL_SDK) 14 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_CS_NO_CONSENSUS_HDR}") 15 | INSTALL(TARGETS ${PROJECT_NAME} 16 | LIBRARY DESTINATION lib/modules/consensus/none/ 17 | ARCHIVE DESTINATION lib/modules/consensus/none/ 18 | PUBLIC_HEADER DESTINATION include/modules/consensus/none/ 19 | ) 20 | endif() -------------------------------------------------------------------------------- /modules/wallet/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project (dap_chain_wallet) 3 | 4 | file(GLOB DAP_CHAIN_WALLET_SRCS *.c ../../3rdparty/crc32c_adler/crc32c_adler.c) 5 | file(GLOB DAP_CHAIN_WALLET_HEADERS include/*.h) 6 | include_directories(../../3rdparty/crc32c_adler) 7 | 8 | add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_WALLET_SRCS} ${DAP_CHAIN_WALLET_HEADERS}) 9 | 10 | target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_net) 11 | target_include_directories(${PROJECT_NAME} INTERFACE .) 12 | target_include_directories(${PROJECT_NAME} PUBLIC include) 13 | 14 | if (INSTALL_SDK) 15 | set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${DAP_CHAIN_WALLET_HEADERS}") 16 | INSTALL(TARGETS ${PROJECT_NAME} 17 | LIBRARY DESTINATION lib/modules/wallet/ 18 | ARCHIVE DESTINATION lib/modules/wallet/ 19 | PUBLIC_HEADER DESTINATION include/modules/wallet/ 20 | ) 21 | endif() 22 | -------------------------------------------------------------------------------- /modules/wallet/dap_chain_coin.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Authors: 3 | * Dmitriy A. Gearasimov 4 | * DeM Labs Inc. https://demlabs.net 5 | * DeM Labs Open source community https://github.com/demlabsinc 6 | * Copyright (c) 2017-2019 7 | * All rights reserved. 8 | 9 | This file is part of DAP (Distributed Applications Platform) the open source project 10 | 11 | DAP (Distributed Applications Platform) is free software: you can redistribute it and/or modify 12 | it under the terms of the GNU General Public License as published by 13 | the Free Software Foundation, either version 3 of the License, or 14 | (at your option) any later version. 15 | 16 | DAP is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | GNU General Public License for more details. 20 | 21 | You should have received a copy of the GNU General Public License 22 | along with any DAP based project. If not, see . 23 | */ 24 | #include "dap_chain_coin.h" 25 | -------------------------------------------------------------------------------- /modules/wallet/include/dap_chain_coin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Authors: 3 | * Dmitriy A. Gearasimov 4 | * DeM Labs Inc. https://demlabs.net 5 | * DeM Labs Open source community https://github.com/demlabsinc 6 | * Copyright (c) 2017-2018 7 | * All rights reserved. 8 | 9 | This file is part of DAP (Distributed Applications Platform) the open source project 10 | 11 | DAP (Distributed Applications Platform) is free software: you can redistribute it and/or modify 12 | it under the terms of the GNU General Public License as published by 13 | the Free Software Foundation, either version 3 of the License, or 14 | (at your option) any later version. 15 | 16 | DAP is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | GNU General Public License for more details. 20 | 21 | You should have received a copy of the GNU General Public License 22 | along with any DAP based project. If not, see . 23 | */ 24 | #pragma once 25 | 26 | -------------------------------------------------------------------------------- /modules/wallet/include/dap_chain_wallet_ops.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "dap_chain.h" 4 | #include "dap_chain_wallet.h" 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | void dap_chain_wallet_op_tx_request(dap_chain_wallet_t * a_wallet, uint32_t a_wallet_key_idx, /// Sender's wallet and key index in it 11 | dap_chain_t * a_chain_source, uint64_t a_value, /// Token source and daptoshi's value 12 | dap_chain_t * a_chain_tx_request, dap_chain_addr_t a_destination ); /// TX blockchain where to create new block 13 | 14 | #ifdef __cplusplus 15 | } 16 | #endif -------------------------------------------------------------------------------- /prod_build/packaging/deb/prerm: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | case "$1" in 4 | remove|purge|abort-install|abort-upgrade) 5 | echo "[*] Stopping cellframe-node.service" 6 | systemctl stop cellframe-node || true 7 | echo "[*] Disabling cellframe-node.service" 8 | systemctl disable cellframe-node || true 9 | ;; 10 | 11 | disappear) 12 | ;; 13 | 14 | upgrade) 15 | echo "[*] Stopping cellframe-node.service" 16 | systemctl stop cellframe-node || true 17 | ;; 18 | 19 | failed-upgrade) 20 | echo "[*] Stopping cellframe-node.service" 21 | systemctl stop cellframe-node || true 22 | ;; 23 | 24 | *) 25 | echo "prerm called with unknown argument \`$1'" >&2 26 | exit 1;; 27 | esac 28 | 29 | exit 0 30 | -------------------------------------------------------------------------------- /prod_build/packaging/deb/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | override_dh_fixperms: 4 | dh_fixperms -X/opt/cellframe-node 5 | chmod 777 /opt/cellframe-node/bin/cellframe-node-cli 6 | override_dh_auto_install: 7 | dh_auto_install -- prefix=/opt/cellframe-node 8 | %: 9 | # dh $@ --with=systemd 10 | dh $@ 11 | -------------------------------------------------------------------------------- /prod_build/targets/linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | set -e 4 | 5 | SOURCE=${BASH_SOURCE[0]} 6 | while [ -L "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink 7 | TARGET=$(readlink "$SOURCE") 8 | if [[ $TARGET == /* ]]; then 9 | echo "SOURCE '$SOURCE' is an absolute symlink to '$TARGET'" 10 | SOURCE=$TARGET 11 | else 12 | DIR=$( dirname "$SOURCE" ) 13 | echo "SOURCE '$SOURCE' is a relative symlink to '$TARGET' (relative to '$DIR')" 14 | SOURCE=$DIR/$TARGET # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located 15 | fi 16 | done 17 | echo "SOURCE is '$SOURCE'" 18 | RDIR=$( dirname "$SOURCE" ) 19 | DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd ) 20 | HERE="$DIR" 21 | 22 | CMAKE=(cmake) 23 | MAKE=(make) 24 | 25 | echo "Linux target" 26 | echo "CMAKE=${CMAKE[@]}" 27 | echo "MAKE=${MAKE[@]}" 28 | -------------------------------------------------------------------------------- /project.yaml: -------------------------------------------------------------------------------- 1 | 2 | build_dependencies: 3 | deb: 4 | - 'build-essential' 5 | - 'cmake' 6 | - 'libmagic-dev' 7 | - 'libsqlite3-dev' 8 | - 'libjson-c-dev' 9 | - 'libffi-dev' 10 | - 'file' 11 | - 'python3-dev' 12 | - 'curl' 13 | - 'jq' 14 | - 'xsltproc' 15 | 16 | deploy_dependencies: 17 | deb: 18 | - 'ssh' 19 | 20 | --------------------------------------------------------------------------------