Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: libgpgme11 | Distribution: openSUSE Step 15 |
Version: 1.16.0 | Vendor: openSUSE |
Release: 1.9 | Build date: Thu Mar 3 23:54:31 2022 |
Group: System/Libraries | Build host: armbuild01 |
Size: 329434 | Source RPM: gpgme-1.16.0-1.9.src.rpm |
Packager: https://bugs.opensuse.org | |
Url: https://www.gnupg.org/related_software/gpgme/ | |
Summary: Programmatic library interface to GnuPG |
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a high-level crypto API for encryption, decryption, signing, signature verification, and key management. It uses GnuPG as its back-end.
GPL-3.0-or-later AND LGPL-2.1-or-later
* Tue Aug 31 2021 pmonreal@suse.com - Update to 1.16.0 in SLE-15-SP4: [jsc#SLE-20014, jsc#SLE-21114] * Remove gpgme-test-json.patch fixed upstream * Thu Aug 05 2021 pmonreal@suse.com - Fix build with glibc 2.34: [bsc#1189089] * Use glibc's closefrom. * Add gpgme-use-glibc-closefrom.patch * Wed Jul 07 2021 andreas.stieger@gmx.de - gpgme 1.16.0: * New context flag "cert-expire" * New data flags "io-buffer-size" and "sensitive" * cpp,qt: Add support for trust signatures * qt: Add support for flags in LDAP server options * qt: Fix too high memory consumption due to QProcess * qt: Do not set empty base DN as query of keyserver URL * qt: Extend SignKeyJob to create signatures with expiration date * python: New optional parameter filter_signatures for decrypt - run all tests again - add patches to fix tests: * gpgme-1.16.0-Use-after-free-in-t-edit-sign-test.patch * gpgme-1.16.0-t-various-testSignKeyWithExpiration-32-bit.patch * Wed Mar 31 2021 pmonreal@suse.com - Fix t-json test in SP3: https://dev.gnupg.org/T4820 [bsc#1183801] * tests/json: Bravo key does not have secret key material * tests/json: Do not check for keygrip of pubkeys * core: Make sure the keygrip is available in WITH_SECRET mode - Add gpgme-test-json.patch * Thu Mar 25 2021 code@bnavigator.de - Can't assume non-existence of python38 macros in Leap. gh#openSUSE/python-rpm-macros#107 Test for suse_version instead. Only Tumbleweed has and needs the python_subpackage_only support. * Tue Jan 12 2021 andreas.stieger@gmx.de - gpgme 1.15.1: * Fix a bug in the secret key export * Make listing of signatures work if only secret keys are listed * qt: Avoid empty "rem@gnupg.org" signature notations * python: Fix key_export functions - remove deprecated texinfo macros * Sat Dec 05 2020 code@bnavigator.de - Use python-rpm-macros to provide python3X-gpg for all present python3 flavors -- gh#openSUSE/python-rpm-macros#66 * Tue Nov 17 2020 andreas.stieger@gmx.de - gpgme 1.15.0: * New function gpgme_op_setexpire to make changing the expiration easier * New function gpgme_op_revsig to revoke key signatures * Support exporting secret keys * cpp: Support for set expire operations in the C++ bindings * cpp: Support for revoking key signatures in the C++ bindings * qt: Extended ChangeExpiryJob to support changing the expiry of subkeys * qt: Extended QuickJob to support revoking of key signatures * qt: Added QDebug stream operator for GpgME::Error. * Require libgpg-error 1.36 * Fri Jul 17 2020 andreas.stieger@gmx.de - gpgme 1.14.0: * New keylist mode to force the engine to return the keygrip * New export mode to export as OpenSSH public key * New context flag "extended-edit" to enable expert key edit * Deprecate the anyway non working trustlist functions * cpp: Add convenience API to obtain remarks * cpp: The sign key edit-interactor now supports multiple signatures from the same key * qt: Extended signkeyjob to handle remarks and multiple signatures * qt: Added job API for gpg-card * qt: The logging category has been changed to gpg.qgpgme to be more consistent with other qt logging categories - drop upstream patches: * 0001-gpg-Avoid-error-diagnostics-with-override-session-ke.patch - drop patches no longer needed that now break tests: * gpgme-t-json-test-Bravo-key-no-secret-key-material.patch * gpgme-t-json-test-with-keygrip-when-listing-keys.patch * Thu Jul 02 2020 dcermak@suse.com - Add 0001-gpg-Avoid-error-diagnostics-with-override-session-ke.patch This patch is a fix from https://dev.gnupg.org/rMae4d7761a15b82eb98b0bcc72af2ae2e8973e1f9 which fixes https://dev.gnupg.org/T3464 The patch is required to make notmuch's testsuite pass with gpgme 1.13.0 and 1.13.1. For further details, see id:87366av72u.fsf@fifthhorseman.net on notmuch@notmuchmail.org * Thu May 14 2020 mcepl@suse.com - Don't delete python egg-info files (bsc#1168795) * Wed Apr 29 2020 pmonrealgonzalez@suse.com - Fix build: [bsc#1170811] * Test t-json fails since the gpg-2.2.20 update - Add patches: * gpgme-t-json-test-Bravo-key-no-secret-key-material.patch * gpgme-t-json-test-with-keygrip-when-listing-keys.patch * Wed Oct 16 2019 mgorse@suse.com - Build qt bindings separately to avoid build cycle with samba/libsoup. * Fri Jun 14 2019 pmonrealgonzalez@suse.com - gpgme 1.13.1: * core: At debug levels up to 9 print only an ascii dump. * core: Add commented debug helper to posix-io.c. * core: Fix error return value of _gpgme_run_io_cb. * core: Prettify _gpgme_io_select debug output again and fix TRACE_SYSRES. * core: Improve the debug messages even more. * core: Avoid explicit locks in the debug code. * json: Print "nan", "-inf", "inf" if needed. * json: Improve handling of large exponents in the JSON parsor. * core: Implement recpstring option parsing for gpgsm. * core: Make gpgme_op_encrypt_ext work for CMS. * python: Fix typo in DecryptionError exception. * python: Make EXTRA_DIST files explicit. * Python, doc: Minor style improvement. * Always use maintainer mode -Wno cflags. * cpp: Fix initialization warning. * python: stop raising BadSignatures from decrypt(verify=True) * cpp: Add wrapper for gpgme_set_global_flag. * core: Fix duplication of close_notify_handler for gpgsm. * Sun Mar 31 2019 andreas.stieger@gmx.de - gpgme 1.13.0: * Support GPGME_AUDITLOG_DIAG for gpgsm * New context flag "trust-model". * Aligned the gpgrt-config code with our other libaries * Auto-check for all installed Python versions * Fixed generating card key in the C++ bindings * Fixed a segv due to bad parameters in genkey * Fixed crash if the plaintext is ignored in a CMS verify * Fixed test suite problems related to dtags * Fixed bunch of python bugs * Several fixes to the Common Lisp bindings * Fixed minor bugs in gpgme-json * Require trace level 8 to dump all I/O data * The compiler must now support variadic macros - drop gpgme-key-expirity.patch, included upstream * Wed Jan 09 2019 tchvatal@suse.com - Regen keys in Qt tests to not expire bsc#1121051: * gpgme-key-expirity.patch * Tue Oct 09 2018 tchvatal@suse.com - Fix the build on ix86 as we disable one test there that should not work, sadly just sed is employed as the infrastructure for testing is not smart enough for comfy test filtering * Mon Oct 08 2018 kbabioch@suse.com - Update to 1.12.0: * Enhanced the JSON based interface tool gpgme-json to support Native Messaging as well as new Javascript code to support the browser site. See lang/js/README for details. * Major overhaul of the Python language bindings documentation * Even for old versions of gpg a missing MDC will now lead to a decryption failure * Added context flag "auto-key-locate" to control the behavior of GPGME_KEYLIST_MODE_LOCATE * New data function to create a data object from an estream * Add more interfaces to the C++ binding * Improved error codes on decryption failure * Lots of minor fixes * Interface changes * Fri Apr 20 2018 astieger@suse.com - update to 1.11.1: * Fixed build problems in the 1.11.0 releas drop gpgme-1.11-fix-gpgme-json-rpath.patch, drop gpgme-1.11-fix-tests.patch * Added C++ interfaces which were planned for 1.11.0 * Thu Apr 19 2018 kbabioch@suse.com - Update to 1.11 * New encryption API to support direct key specification including hidden recipients option and taking keys from a file. This also allows to enforce the use of a subkey. * New encryption flag for the new API to enforce the use of plain mail addresses (addr-spec). * The import API can now tell whether v3 keys are skipped. These old and basically broken keys are not anymore supported by GnuPG 2.1. * The decrypt and verify API will now return the MIME flag as specified by RFC-4880bis. * The offline mode now has an effect on gpg by disabling all network access. * A failed OpenPGP verification how returns the fingerprint of the intended key if a recent gpg version was used for signature creation. * Various minor fixes. - Dropped patch 0001-core-Tweak-STATUS_FAILURE-handling.patch, since it is included upstream now. - add gpgme-1.11-fix-gpgme-json-rpath.patch to remove rpath - add gpgme-1.11-fix-tests.patch to fix tests * Mon Apr 16 2018 astieger@suse.com - bsc#1089497: Address failure handling issues when using gpg 2.2.6 via gpgme, as used by libzypp Add 0001-core-Tweak-STATUS_FAILURE-handling.patch * Mon Jan 08 2018 tchvatal@suse.com - Tweak up the python conditional to allow us finegraining and selecting only py2 or py3 if needed * Tue Dec 12 2017 astieger@suse.com - gpgme 1.10.0: * Now returns more specific error codes for decryption to distinguish between bad passphrase, user canceled, and no secret key. * Now returns key origin information if available. * Added context flag "auto-key-retrieve" to selectively enable the corresponding gpg option. * Added flag is_de_vs to decryption and verify results. * py: Use SEEK_SET as default for data.seek. * cpp: Various new APIs. * Reduced spawn overhead on Linux again. Added new configure option - -disable-linux-getdents to disable this feature for very old Linux versions. * Improved the Python bindings build system. * Made the test suite less fragile. * Interface changes relative to the 1.9.0 release: gpgme_decrypt_result_t EXTENDED: New field 'is_de_vs'. gpgme_signature_t EXTENDED: New field 'is_de_vs'. gpgme_keyorg_t NEW. gpgme_op_delete_ext NEW. gpgme_op_delete_ext_start NEW. GPGME_DELETE_ALLOW_SECRET NEW. GPGME_DELETE_FORCE NEW. gpgme_op_conf_dir NEW. gpgme_set_ctx_flag EXTENDED: New flag 'auto-key-retrieve'. cpp: DecryptionResult::isDeVs NEW. cpp: Signature::isDeVs NEW. cpp: EngineInfo::Version::operator> NEW. cpp: Context::createKey NEW. cpp: Context::startCreateKey NEW. cpp: Context::createSubkey NEW. cpp: Context::startCreateSubkey NEW. qt: QuickJob NEW. py: DecryptResult EXTENDED: New boolean field 'is_de_vs'. py: Signature EXTENDED: New boolean field 'is_de_vs'. py: GpgError EXTENDED: Partial results in 'results'. * Tue Nov 07 2017 mpluskal@suse.com - Make python package naming consistent with python singlespec * Tue Mar 28 2017 astieger@suse.com - gpgme 1.9.0: * Clarified meaning of the 'expire' parameter of gpgme_op_createkey and gpgme_op_createsubkey. New flag to force a key without an expiration date. * New function gpgme_op_keylist_from_data_start to list keys from data objects without importing them. * New function gpgme_op_set_uid_flag to flag a key as primary. * New function gpgme_op_decrypt_ext to run decryption with special flags. This can for example be used to unwrap keys (remove only the encryption layer). * New encryption flags to wrap a key (adding an encryption layer to an OpenPGP message) or to create anonymously encrypted messages. * Support for adduid and revuid operations in the C++ bindings. * Support for smartcard key generation in the C++ bindings. * Several new functions for the Python binding. * Many smaller bug fixes. * Interface changes relative to the 1.8.0 release: gpgme_op_createkey CHANGED: Meaning of 'expire' parameter. gpgme_op_createsubkey CHANGED: Meaning of 'expire' parameter. GPGME_CREATE_NOEXPIRE NEW. gpgme_key_t EXTENDED: New field 'origin'. gpgme_key_t EXTENDED: New field 'last_update'. gpgme_subkey_t EXTENDED: New field 'is_de_vs'. gpgme_user_id_t EXTENDED: New field 'origin'. gpgme_user_id_t EXTENDED: New field 'last_update'. gpgme_op_keylist_from_data_start NEW. gpgme_op_set_uid_flag_start NEW. gpgme_op_set_uid_flag NEW. gpgme_op_decrypt_ext_start NEW. gpgme_op_decrypt_ext NEW. GPGME_ENCRYPT_THROW_KEYIDS NEW. GPGME_ENCRYPT_WRAP NEW. GPGME_DECRYPT_VERIFY NEW. GPGME_DECRYPT_UNWRAP NEW. gpgme_data_rewind UN-DEPRECATE. cpp: Context::revUid(const Key&, const char*) NEW. cpp: Context::startRevUid(const Key&, const char*) NEW. cpp: Context::addUid(const Key&, const char*) NEW. cpp: Context::startAddUid(const Key&, const char*) NEW. cpp: Key::UserID::revoke() NEW. cpp: Key::addUid() NEW. cpp: Key::isDeVs NEW. cpp: GpgGenCardKeyInteractor NEW. cpp: Subkey::keyGrip NEW. cpp: Subkey::isDeVs NEW. cpp: Data::toKeys NEW. cpp: Context::setDecryptFlags NEW. cpp: Context::decrypt EXTENDED: Flags added. cpp: Context::startDecrypt EXTENDED: Flags added. cpp: Context::decryptAndVerify EXTENDED: Flags added. cpp: Context::startCombinedDecryptionAndVerification EXTENDED: Flags. cpp: Context::encryptFlags EXTENDED: New flags. qt: CryptoConfig::stringValueList() NEW. py: Context.__init__ EXTENDED: New keyword arg home_dir. py: Context.home_dir NEW. py: Context.keylist EXTENDED: New keyword arg mode. py: Context.keylist EXTENDED: New keyword arg source. py: Context.create_key NEW. py: Context.create_subkey NEW. py: Context.key_add_uid NEW. py: Context.key_revoke_uid NEW. py: Context.key_sign NEW. py: Context.key_tofu_policy NEW. py: core.pubkey_algo_string NEW. py: core.addrspec_from_uid NEW. - drop upstreamed patches: * gpgme-include_functional.patch * remove-a-forgotten-instance-of-libsuffix.diff * Thu Mar 23 2017 lbeltrame@kde.org - Re-conditionalize python builds, to allow gpgme to build on Leap 42.3 (python tests fail with an older gpg, see gpg issue 3008) - Enable Qt build also on Leap 42.3 (needed for KDE PIM) * Tue Feb 14 2017 tchvatal@suse.com - Unconditionalize python and python3 builds - Unconditionalize c++ build * Mon Feb 13 2017 jengelh@inai.de - Fix RPM groups * Mon Feb 13 2017 tchvatal@suse.com - Do not condition around the qt version as it breaks baselibs validator * Tue Feb 07 2017 crrodriguez@opensuse.org - gpgme-include_functional.patch: include <functional> where needed, fix GCC7 build * Tue Nov 22 2016 lbeltrame@kde.org - Add remove-a-forgotten-instance-of-libsuffix.diff: fix CMake files for gpgmepp (or they won't work with KDE software) * Sat Nov 19 2016 astieger@suse.com - gpgme 1.8: * The module of the Python bindings has been renamed to 'gpg'. * New interface to query current software versions. * New feature to use gpg's --{show,override}session-key options. * New interface to set the sender of a mail. * qt: Added Distinguished Name parser from libkleo * The --homedir option is now used with recent gpgconf versions. * The internal locking functions have been replaced by libgpg-error locking functions. * Interface changes relative to the 1.7.1 release: gpgme_set_sender NEW. gpgme_get_sender NEW. gpgme_op_query_swdb NEW. gpgme_op_query_swdb_result NEW. gpgme_query_swdb_result_t NEW. gpgme_get_ctx_flag NEW. gpgme_decrypt_result_t EXTENDED: New field session_key. qt: DN NEW. qt: DN::Attribute NEW. qt: Job::context(Job*) NEW. cpp: EngineInfo::Version::Version(const char*) NEW. cpp: EngineInfo::Version::Version() NEW. cpp: SwdbResult NEW. cpp: Context::setSender(const char*) NEW. cpp: Context::getSender() NEW. * Fri Oct 21 2016 astieger@suse.com - in addition to dropping gpgme-1.7.0-python-Include-config.h.patch remove automake depdendency and autogen.sh call - build QT lib only on Factory * Thu Oct 20 2016 jengelh@inai.de - Trim and update descriptions * Tue Oct 18 2016 lbeltrame@kde.org - New upstream release 1.7.1 * Fixed problems with the new language bindings. * New helper function gpgme_addrspec_from_uid. * Use option --exit-on-status-write-error with newer gpg versions. * qt: Missed API from the Qt Binding inclusion has been added again. * qt: abstractimportjob.h is now installed to that ImportJobs can be used again. * qt: Fixed spelling error in API (startReceive). * Interface changes relative to the 1.7.0 release: gpgme_addrspec_from_uid NEW. qt: WksPublishJob::startRecieve RENAMED to ::startReceive. qt: MultiDeleteJob NEW. qt: AbstractImportJob NEW. qt: SpecialJob NEW. cpp: Signature::key(bool, bool) NEW. cpp: UserID::addrSpecFromString(const char*) NEW. cpp: UserID::addrSpec() NEW. - Drop conflict (handled on kdepimlibs4 side) - Drop upstreamed patches: * gpgme-1.7.0-nonvoid-returns.patch * gpgme-1.7.0-cpp-qt-Include-config.h.patch * gpgme-1.7.0-python-Include-config.h.patch * Wed Oct 12 2016 lbeltrame@kde.org - Switch on the Qt bindings - Add missing buildrequires, files, and needed adjustments for the Qt build * Tue Oct 11 2016 lbeltrame@kde.org - Conflict libgpgmepp-devel with kdepimlibs4-devel as they both install the same header (kdepimlibs4 for historical reasons) * Mon Sep 26 2016 astieger@suse.com - gpgme 1.7.0: * Python2 bindings * C++ bindings * disabled: Python3, Qt-Framework API * New functions gpgme_op_createkey and gpgme_op_createsubkey to make key creation easier (requires GnuPG 2.1). * New functions gpgme_op_adduid and gpgme_op_revuid to make user id management easier (requires GnuPG 2.1). * New function gpgme_op_keysign to make key signing easier (requires GnuPG 2.1). * New function gpgme_op_interact to replace the now deprecated functions gpgme_op_edit and gpgme_op_card_edit. * New function gpgme_pubkey_algo_string to convert a public key algorithm into a GnuPG 2.1 style string. * Support for GnuPG 2.1's TOFU trust model. * Notation flags are now correctly set on verify. * New global flag "require-gnupg" to set a minimal gnupg version. * More supported items in gpgme_get_dirinfo. * New function gpgme_data_set_flag and flag "size-hint". * New function gpgme_set_ctx_flag and flags "full-status" and "raw-description". * Improved gpgme_data_identify to distinguish more file types. * New flag GPGME_ENCRYPT_SYMMETRIC for gpgme_op_encrypt to allow mixed public key and symmetric encryption. * New field KEYGRIP in gpgme_subkey_t. New fields FPR in gpgme_key_t. * New flag GPGME_DATA_ENCODING_MIME to declare that the encrypted or signed data is a valid MIME part. This is to support future GnuPG versions. * Interface changes relative to the 1.6.0 release: gpgme_pubkey_algo_string NEW. GPGME_PK_EDDSA NEW. gpgme_set_ctx_flag NEW. gpgme_data_set_flag NEW. gpgme_op_createkey NEW. gpgme_op_createkey_start NEW. gpgme_op_createsubkey NEW. gpgme_op_createsubkey_start NEW. gpgme_op_adduid_start NEW. gpgme_op_adduid NEW. gpgme_op_revuid_start NEW. gpgme_op_revuid NEW. gpgme_op_keysign_start NEW. gpgme_op_keysign NEW. gpgme_op_tofu_policy_start NEW. gpgme_op_tofu_policy NEW. gpgme_op_interact_start NEW. gpgme_op_interact NEW. gpgme_interact_cb_t NEW. gpgme_op_edit_start DEPRECATED. gpgme_op_edit DEPRECATED. gpgme_op_card_edit_start DEPRECATED. gpgme_op_card_edit DEPRECATED. gpgme_edit_cb_t DEPRECATED. gpgme_status_code_t DEPRECATED. gpgme_genkey_result_t EXTENDED: New fields pubkey and seckey. gpgme_signature_t EXTENDED: New field key. gpgme_key_t EXTENDED: New field fpr. gpgme_subkey_t EXTENDED: New field keygrip. gpgme_user_id_t EXTENDED: New field tofu. gpgme_tofu_policy_t NEW. gpgme_tofu_info_t NEW. GPGME_STATUS_KEY_CONSIDERED NEW. GPGME_STATUS_TOFU_USER NEW. GPGME_STATUS_TOFU_STATS NEW. GPGME_STATUS_TOFU_STATS_LONG NEW. GPGME_STATUS_NOTATION_FLAGS NEW. GPGME_KEYLIST_MODE_WITH_TOFU NEW. GPGME_DATA_TYPE_PGP_ENCRYPTED NEW. GPGME_DATA_TYPE_PGP_SIGNATURE NEW. GPGME_DATA_ENCODING_MIME NEW. GPGME_ENCRYPT_SYMMETRIC NEW. GPGME_CREATE_SIGN NEW. GPGME_CREATE_ENCR NEW. GPGME_CREATE_CERT NEW. GPGME_CREATE_AUTH NEW. GPGME_CREATE_NOPASSWD NEW. GPGME_CREATE_SELFSIGNED NEW. GPGME_CREATE_NOSTORE NEW. GPGME_CREATE_WANTPUB NEW. GPGME_CREATE_WANTSEC NEW. GPGME_CREATE_FORCE NEW. GPGME_KEYSIGN_LOCAL NEW. GPGME_KEYSIGN_LFSEP NEW. GPGME_INTERACT_CARD NEW. * Add patches to fix build: + gpgme-1.7.0-nonvoid-returns.patch + gpgme-1.7.0-cpp-qt-Include-config.h.patch + gpgme-1.7.0-python-Include-config.h.patch * Fri Sep 11 2015 astieger@suse.com - restore taking build timestamp from changelog date * Wed Aug 26 2015 astieger@suse.com - gpgme 1.6.0: * Added gpgme_set_offline to do a key listinging w/o requiring CRL. * Added gpgme_set_status_cb to allow a user to see some status messages. * Added an export mode for secret keys. * More precise error codes are returned if GnuPG >= 2.1.8 is used. * The passphrase handler for the loopback mode has been improved and may also be used with genkey. * Interface changes relative to the 1.5.1 release: gpgme_set_offline NEW. gpgme_get_offline NEW. gpgme_set_status_cb NEW. gpgme_get_status_cb NEW. GPGME_EXPORT_MODE_SECRET NEW GPGME_EXPORT_MODE_RAW NEW. GPGME_EXPORT_MODE_PKCS12 NEW. * Fri Jun 19 2015 astieger@suse.com - fix install-info for clean uninstall [boo#935339] * Mon Jun 08 2015 astieger@suse.com - gpgme 1.5.5: * Fixed crash in key listings for user ids with a backslash. * Fixed regression for GPGSM use with GnuPG < 2.1. * Properly set signature summary for revoked OpenPGP keys. * Tue Apr 14 2015 astieger@suse.com - gpgme 1.5.4: * Fixed a possible crash in the debug code. * Tue Feb 03 2015 coolo@suse.com - making the build reproducible - see http://lists.gnupg.org/pipermail/gnupg-commits/2014-September/010683.html for a very similiar problem * Fri Dec 26 2014 andreas.stieger@gmx.de - gpgme 1.5.3: * The export key functions do now return an error if used with the latest GnuPG version. * Sat Nov 22 2014 andreas.stieger@gmx.de - gpgme 1.5.2: + gpgme-tool is now installed. + Fix external listing for modern keyservers. + Minor other fixes. - disable failing unit tests
/usr/lib/libgpgme.so.11 /usr/lib/libgpgme.so.11.25.0 /usr/share/licenses/libgpgme11 /usr/share/licenses/libgpgme11/COPYING /usr/share/licenses/libgpgme11/COPYING.LESSER /usr/share/licenses/libgpgme11/LICENSES
Generated by rpm2html 1.8.1
Fabrice Bellet, Tue Jul 9 18:42:22 2024