Page MenuHomeFreeBSD

D38939.id120418.diff
No OneTemporary

D38939.id120418.diff

Index: security/py-cryptography-vectors/Makefile
===================================================================
--- security/py-cryptography-vectors/Makefile
+++ security/py-cryptography-vectors/Makefile
@@ -1,5 +1,5 @@
PORTNAME= cryptography-vectors
-PORTVERSION= 38.0.1
+PORTVERSION= 40.0.1
CATEGORIES= security python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
Index: security/py-cryptography-vectors/distinfo
===================================================================
--- security/py-cryptography-vectors/distinfo
+++ security/py-cryptography-vectors/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1665073154
-SHA256 (cryptography_vectors-38.0.1.tar.gz) = 0431fd107c1fbad0377704a7051945b3b391169fddc4f6fa0bd4edc6b6e235dd
-SIZE (cryptography_vectors-38.0.1.tar.gz) = 35273681
+TIMESTAMP = 1681060913
+SHA256 (cryptography_vectors-40.0.1.tar.gz) = 8460706b5b5d0ce4a85571ca3389cf88f700bb6a0c6133dc9fe0f5a2f5bda041
+SIZE (cryptography_vectors-40.0.1.tar.gz) = 35282086
Index: security/py-cryptography/Makefile
===================================================================
--- security/py-cryptography/Makefile
+++ security/py-cryptography/Makefile
@@ -1,10 +1,10 @@
PORTNAME= cryptography
-PORTVERSION= 3.4.8
-PORTREVISION= 1
+PORTVERSION= 40.0.1
PORTEPOCH= 1
CATEGORIES= security python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Cryptographic recipes and primitives for Python developers
@@ -15,36 +15,36 @@
LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE.APACHE
LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/LICENSE.BSD
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.12:devel/py-cffi@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.12:devel/py-cffi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools>=40.6.0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-rust>=0.11.4:devel/py-setuptools-rust@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.12:devel/py-cffi@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cryptography-vectors>=${PORTVERSION}:security/py-cryptography-vectors@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}hypothesis>=1.11.4:devel/py-hypothesis@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}iso8601>=0:devel/py-iso8601@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pretend>=0:devel/py-pretend@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-benchmark>=0:devel/py-pytest-benchmark@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-cov>=0:devel/py-pytest-cov@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-subtests>=0:devel/py-pytest-subtests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-xdist>=0,1:devel/py-pytest-xdist@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytz>=0,1:devel/py-pytz@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sqlite3>=0:databases/py-sqlite3@${PY_FLAVOR}
-USES= compiler:env cpe python:3.6+ ssl
-USE_PYTHON= autoplist concurrent distutils pytest
+USES= cargo compiler:env cpe python:3.6+ ssl
+USE_PYTHON= autoplist concurrent pep517 pytest
+CARGO_BUILD= no
+CARGO_CARGOTOML=${WRKSRC}/src/rust/Cargo.toml
+CARGO_INSTALL= no
+CARGO_TEST= no
CFLAGS+= -I${OPENSSLINC}
LDFLAGS+= -L${OPENSSLLIB}
-MAKE_ENV= CRYPTOGRAPHY_DONT_BUILD_RUST=1
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR}
CPE_VENDOR= cryptography_project
-.include <bsd.port.pre.mk>
-
-.if ${CHOSEN_COMPILER_TYPE} == gcc && ${COMPILER_VERSION} <= 42
-post-patch:
- @${REINPLACE_CMD} -e 's|"-Wno-error=sign-conversion"||' ${WRKSRC}/src/_cffi_src/build_openssl.py
-.endif
-
post-install:
${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
Index: security/py-cryptography/Makefile.crates
===================================================================
--- /dev/null
+++ security/py-cryptography/Makefile.crates
@@ -0,0 +1,82 @@
+CARGO_CRATES= Inflector-0.11.4 \
+ aliasable-0.1.3 \
+ android_system_properties-0.1.5 \
+ asn1-0.13.0 \
+ asn1_derive-0.13.0 \
+ autocfg-1.1.0 \
+ base64-0.13.1 \
+ bitflags-1.3.2 \
+ bumpalo-3.10.0 \
+ cc-1.0.79 \
+ cfg-if-1.0.0 \
+ chrono-0.4.24 \
+ codespan-reporting-0.11.1 \
+ core-foundation-sys-0.8.3 \
+ cxx-1.0.86 \
+ cxx-build-1.0.86 \
+ cxxbridge-flags-1.0.86 \
+ cxxbridge-macro-1.0.86 \
+ foreign-types-0.3.2 \
+ foreign-types-shared-0.1.1 \
+ iana-time-zone-0.1.54 \
+ iana-time-zone-haiku-0.1.1 \
+ indoc-0.3.6 \
+ indoc-impl-0.3.6 \
+ instant-0.1.12 \
+ js-sys-0.3.61 \
+ libc-0.2.140 \
+ link-cplusplus-1.0.8 \
+ lock_api-0.4.9 \
+ log-0.4.17 \
+ num-integer-0.1.45 \
+ num-traits-0.2.15 \
+ once_cell-1.14.0 \
+ openssl-0.10.48 \
+ openssl-macros-0.1.0 \
+ openssl-sys-0.9.83 \
+ ouroboros-0.15.6 \
+ ouroboros_macro-0.15.6 \
+ parking_lot-0.11.2 \
+ parking_lot_core-0.8.6 \
+ paste-0.1.18 \
+ paste-impl-0.1.18 \
+ pem-1.1.1 \
+ pkg-config-0.3.26 \
+ proc-macro-error-1.0.4 \
+ proc-macro-error-attr-1.0.4 \
+ proc-macro-hack-0.5.20+deprecated \
+ proc-macro2-1.0.53 \
+ pyo3-0.15.2 \
+ pyo3-build-config-0.15.2 \
+ pyo3-macros-0.15.2 \
+ pyo3-macros-backend-0.15.2 \
+ quote-1.0.26 \
+ redox_syscall-0.2.16 \
+ scopeguard-1.1.0 \
+ scratch-1.0.5 \
+ smallvec-1.10.0 \
+ syn-1.0.109 \
+ termcolor-1.2.0 \
+ unicode-ident-1.0.8 \
+ unicode-width-0.1.10 \
+ unindent-0.1.11 \
+ vcpkg-0.2.15 \
+ version_check-0.9.4 \
+ wasm-bindgen-0.2.84 \
+ wasm-bindgen-backend-0.2.84 \
+ wasm-bindgen-macro-0.2.84 \
+ wasm-bindgen-macro-support-0.2.84 \
+ wasm-bindgen-shared-0.2.84 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.5 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-0.46.0 \
+ windows-targets-0.42.2 \
+ windows_aarch64_gnullvm-0.42.2 \
+ windows_aarch64_msvc-0.42.2 \
+ windows_i686_gnu-0.42.2 \
+ windows_i686_msvc-0.42.2 \
+ windows_x86_64_gnu-0.42.2 \
+ windows_x86_64_gnullvm-0.42.2 \
+ windows_x86_64_msvc-0.42.2
Index: security/py-cryptography/distinfo
===================================================================
--- security/py-cryptography/distinfo
+++ security/py-cryptography/distinfo
@@ -1,3 +1,167 @@
-TIMESTAMP = 1652122693
-SHA256 (cryptography-3.4.8.tar.gz) = 94cc5ed4ceaefcbe5bf38c8fba6a21fc1d365bb8fb826ea1688e3370b2e24a1c
-SIZE (cryptography-3.4.8.tar.gz) = 546907
+TIMESTAMP = 1681062827
+SHA256 (cryptography-40.0.1.tar.gz) = 2803f2f8b1e95f614419926c7e6f55d828afc614ca5ed61543877ae668cc3472
+SIZE (cryptography-40.0.1.tar.gz) = 624978
+SHA256 (rust/crates/Inflector-0.11.4.crate) = fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3
+SIZE (rust/crates/Inflector-0.11.4.crate) = 17438
+SHA256 (rust/crates/aliasable-0.1.3.crate) = 250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd
+SIZE (rust/crates/aliasable-0.1.3.crate) = 6169
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/asn1-0.13.0.crate) = 2affba5e62ee09eeba078f01a00c4aed45ac4287e091298eccbb0d4802efbdc5
+SIZE (rust/crates/asn1-0.13.0.crate) = 34487
+SHA256 (rust/crates/asn1_derive-0.13.0.crate) = bfab79c195875e5aef2bd20b4c8ed8d43ef9610bcffefbbcf66f88f555cc78af
+SIZE (rust/crates/asn1_derive-0.13.0.crate) = 5824
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8
+SIZE (rust/crates/base64-0.13.1.crate) = 61002
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bumpalo-3.10.0.crate) = 37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3
+SIZE (rust/crates/bumpalo-3.10.0.crate) = 78915
+SHA256 (rust/crates/cc-1.0.79.crate) = 50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f
+SIZE (rust/crates/cc-1.0.79.crate) = 62624
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chrono-0.4.24.crate) = 4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b
+SIZE (rust/crates/chrono-0.4.24.crate) = 191330
+SHA256 (rust/crates/codespan-reporting-0.11.1.crate) = 3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e
+SIZE (rust/crates/codespan-reporting-0.11.1.crate) = 48963
+SHA256 (rust/crates/core-foundation-sys-0.8.3.crate) = 5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc
+SIZE (rust/crates/core-foundation-sys-0.8.3.crate) = 17519
+SHA256 (rust/crates/cxx-1.0.86.crate) = 51d1075c37807dcf850c379432f0df05ba52cc30f279c5cfc43cc221ce7f8579
+SIZE (rust/crates/cxx-1.0.86.crate) = 589122
+SHA256 (rust/crates/cxx-build-1.0.86.crate) = 5044281f61b27bc598f2f6647d480aed48d2bf52d6eb0b627d84c0361b17aa70
+SIZE (rust/crates/cxx-build-1.0.86.crate) = 84425
+SHA256 (rust/crates/cxxbridge-flags-1.0.86.crate) = 61b50bc93ba22c27b0d31128d2d130a0a6b3d267ae27ef7e4fae2167dfe8781c
+SIZE (rust/crates/cxxbridge-flags-1.0.86.crate) = 5251
+SHA256 (rust/crates/cxxbridge-macro-1.0.86.crate) = 39e61fda7e62115119469c7b3591fd913ecca96fb766cfd3f2e2502ab7bc87a5
+SIZE (rust/crates/cxxbridge-macro-1.0.86.crate) = 59474
+SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
+SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504
+SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
+SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672
+SHA256 (rust/crates/iana-time-zone-0.1.54.crate) = 0c17cc76786e99f8d2f055c11159e7f0091c42474dcc3189fbab96072e873e6d
+SIZE (rust/crates/iana-time-zone-0.1.54.crate) = 19474
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.1.crate) = 0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca
+SIZE (rust/crates/iana-time-zone-haiku-0.1.1.crate) = 7200
+SHA256 (rust/crates/indoc-0.3.6.crate) = 47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8
+SIZE (rust/crates/indoc-0.3.6.crate) = 9663
+SHA256 (rust/crates/indoc-impl-0.3.6.crate) = ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0
+SIZE (rust/crates/indoc-impl-0.3.6.crate) = 7933
+SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
+SIZE (rust/crates/instant-0.1.12.crate) = 6128
+SHA256 (rust/crates/js-sys-0.3.61.crate) = 445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730
+SIZE (rust/crates/js-sys-0.3.61.crate) = 80158
+SHA256 (rust/crates/libc-0.2.140.crate) = 99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c
+SIZE (rust/crates/libc-0.2.140.crate) = 669153
+SHA256 (rust/crates/link-cplusplus-1.0.8.crate) = ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5
+SIZE (rust/crates/link-cplusplus-1.0.8.crate) = 7674
+SHA256 (rust/crates/lock_api-0.4.9.crate) = 435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df
+SIZE (rust/crates/lock_api-0.4.9.crate) = 25685
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/num-integer-0.1.45.crate) = 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9
+SIZE (rust/crates/num-integer-0.1.45.crate) = 22529
+SHA256 (rust/crates/num-traits-0.2.15.crate) = 578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd
+SIZE (rust/crates/num-traits-0.2.15.crate) = 49262
+SHA256 (rust/crates/once_cell-1.14.0.crate) = 2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0
+SIZE (rust/crates/once_cell-1.14.0.crate) = 31614
+SHA256 (rust/crates/openssl-0.10.48.crate) = 518915b97df115dd36109bfa429a48b8f737bd05508cf9588977b599648926d2
+SIZE (rust/crates/openssl-0.10.48.crate) = 250240
+SHA256 (rust/crates/openssl-macros-0.1.0.crate) = b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c
+SIZE (rust/crates/openssl-macros-0.1.0.crate) = 5566
+SHA256 (rust/crates/openssl-sys-0.9.83.crate) = 666416d899cf077260dac8698d60a60b435a46d57e82acb1be3d0dad87284e5b
+SIZE (rust/crates/openssl-sys-0.9.83.crate) = 63079
+SHA256 (rust/crates/ouroboros-0.15.6.crate) = e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db
+SIZE (rust/crates/ouroboros-0.15.6.crate) = 11257
+SHA256 (rust/crates/ouroboros_macro-0.15.6.crate) = 5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7
+SIZE (rust/crates/ouroboros_macro-0.15.6.crate) = 20751
+SHA256 (rust/crates/parking_lot-0.11.2.crate) = 7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99
+SIZE (rust/crates/parking_lot-0.11.2.crate) = 39869
+SHA256 (rust/crates/parking_lot_core-0.8.6.crate) = 60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc
+SIZE (rust/crates/parking_lot_core-0.8.6.crate) = 32567
+SHA256 (rust/crates/paste-0.1.18.crate) = 45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880
+SIZE (rust/crates/paste-0.1.18.crate) = 12259
+SHA256 (rust/crates/paste-impl-0.1.18.crate) = d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6
+SIZE (rust/crates/paste-impl-0.1.18.crate) = 9451
+SHA256 (rust/crates/pem-1.1.1.crate) = a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8
+SIZE (rust/crates/pem-1.1.1.crate) = 11352
+SHA256 (rust/crates/pkg-config-0.3.26.crate) = 6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160
+SIZE (rust/crates/pkg-config-0.3.26.crate) = 18662
+SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
+SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
+SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
+SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068
+SIZE (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = 15045
+SHA256 (rust/crates/proc-macro2-1.0.53.crate) = ba466839c78239c09faf015484e5cc04860f88242cff4d03eb038f04b4699b73
+SIZE (rust/crates/proc-macro2-1.0.53.crate) = 43351
+SHA256 (rust/crates/pyo3-0.15.2.crate) = d41d50a7271e08c7c8a54cd24af5d62f73ee3a6f6a314215281ebdec421d5752
+SIZE (rust/crates/pyo3-0.15.2.crate) = 371382
+SHA256 (rust/crates/pyo3-build-config-0.15.2.crate) = 779239fc40b8e18bc8416d3a37d280ca9b9fb04bda54b98037bb6748595c2410
+SIZE (rust/crates/pyo3-build-config-0.15.2.crate) = 22235
+SHA256 (rust/crates/pyo3-macros-0.15.2.crate) = 00b247e8c664be87998d8628e86f282c25066165f1f8dda66100c48202fdb93a
+SIZE (rust/crates/pyo3-macros-0.15.2.crate) = 7596
+SHA256 (rust/crates/pyo3-macros-backend-0.15.2.crate) = 5a8c2812c412e00e641d99eeb79dd478317d981d938aa60325dfa7157b607095
+SIZE (rust/crates/pyo3-macros-backend-0.15.2.crate) = 46112
+SHA256 (rust/crates/quote-1.0.26.crate) = 4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc
+SIZE (rust/crates/quote-1.0.26.crate) = 28397
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/scratch-1.0.5.crate) = 1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1
+SIZE (rust/crates/scratch-1.0.5.crate) = 8013
+SHA256 (rust/crates/smallvec-1.10.0.crate) = a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0
+SIZE (rust/crates/smallvec-1.10.0.crate) = 31564
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/termcolor-1.2.0.crate) = be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6
+SIZE (rust/crates/termcolor-1.2.0.crate) = 17917
+SHA256 (rust/crates/unicode-ident-1.0.8.crate) = e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4
+SIZE (rust/crates/unicode-ident-1.0.8.crate) = 41962
+SHA256 (rust/crates/unicode-width-0.1.10.crate) = c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b
+SIZE (rust/crates/unicode-width-0.1.10.crate) = 18968
+SHA256 (rust/crates/unindent-0.1.11.crate) = e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c
+SIZE (rust/crates/unindent-0.1.11.crate) = 7700
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/wasm-bindgen-0.2.84.crate) = 31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b
+SIZE (rust/crates/wasm-bindgen-0.2.84.crate) = 172947
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.84.crate) = 95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9
+SIZE (rust/crates/wasm-bindgen-backend-0.2.84.crate) = 26344
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.84.crate) = 4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5
+SIZE (rust/crates/wasm-bindgen-macro-0.2.84.crate) = 12857
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.84.crate) = 2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.84.crate) = 19076
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.84.crate) = 0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d
+SIZE (rust/crates/wasm-bindgen-shared-0.2.84.crate) = 7219
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
+SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-0.46.0.crate) = cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25
+SIZE (rust/crates/windows-0.46.0.crate) = 11668505
+SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071
+SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071
+SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43
+SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981
+SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f
+SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236
+SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060
+SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951
+SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36
+SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3
+SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068
+SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0
+SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936
Index: security/py-cryptography/files/patch-libressl
===================================================================
--- security/py-cryptography/files/patch-libressl
+++ /dev/null
@@ -1,340 +0,0 @@
---- src/_cffi_src/openssl/crypto.py.orig 2023-03-22 07:29:15 UTC
-+++ src/_cffi_src/openssl/crypto.py
-@@ -74,11 +74,8 @@ CUSTOMIZATIONS = """
- # define OPENSSL_DIR SSLEAY_DIR
- #endif
-
-+static const long Cryptography_HAS_OPENSSL_CLEANUP = 1;
- #if CRYPTOGRAPHY_IS_LIBRESSL
--static const long Cryptography_HAS_OPENSSL_CLEANUP = 0;
--
--void (*OPENSSL_cleanup)(void) = NULL;
--
- /* This function has a significantly different signature pre-1.1.0. since it is
- * for testing only, we don't bother to expose it on older OpenSSLs.
- */
-@@ -89,7 +86,6 @@ int (*Cryptography_CRYPTO_set_mem_functions)(
- void (*)(void *, const char *, int)) = NULL;
-
- #else
--static const long Cryptography_HAS_OPENSSL_CLEANUP = 1;
- static const long Cryptography_HAS_MEM_FUNCTIONS = 1;
-
- int Cryptography_CRYPTO_set_mem_functions(
---- src/_cffi_src/openssl/cryptography.py.orig 2021-08-24 17:17:17 UTC
-+++ src/_cffi_src/openssl/cryptography.py
-@@ -33,17 +33,17 @@ INCLUDES = """
- #endif
-
- #define CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER \
-- (OPENSSL_VERSION_NUMBER >= 0x1010006f && !CRYPTOGRAPHY_IS_LIBRESSL)
-+ OPENSSL_VERSION_NUMBER >= 0x1010006f
-
- #define CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J \
-- (OPENSSL_VERSION_NUMBER < 0x101000af || CRYPTOGRAPHY_IS_LIBRESSL)
-+ OPENSSL_VERSION_NUMBER < 0x101000af
- #define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 \
-- (OPENSSL_VERSION_NUMBER < 0x10101000 || CRYPTOGRAPHY_IS_LIBRESSL)
-+ OPENSSL_VERSION_NUMBER < 0x10101000
- #define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B \
-- (OPENSSL_VERSION_NUMBER < 0x10101020 || CRYPTOGRAPHY_IS_LIBRESSL)
-+ OPENSSL_VERSION_NUMBER < 0x10101020
- #define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111D \
-- (OPENSSL_VERSION_NUMBER < 0x10101040 || CRYPTOGRAPHY_IS_LIBRESSL)
--#if (CRYPTOGRAPHY_OPENSSL_LESS_THAN_111D && !CRYPTOGRAPHY_IS_LIBRESSL && \
-+ OPENSSL_VERSION_NUMBER < 0x10101040
-+#if (CRYPTOGRAPHY_OPENSSL_LESS_THAN_111D && \
- !defined(OPENSSL_NO_ENGINE)) || defined(USE_OSRANDOM_RNG_FOR_TESTING)
- #define CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE 1
- #else
---- src/_cffi_src/openssl/dh.py.orig 2021-08-24 17:17:17 UTC
-+++ src/_cffi_src/openssl/dh.py
-@@ -37,117 +37,9 @@ int Cryptography_i2d_DHxparams_bio(BIO *bp, DH *x);
- """
-
- CUSTOMIZATIONS = """
--#if CRYPTOGRAPHY_IS_LIBRESSL
--#ifndef DH_CHECK_Q_NOT_PRIME
--#define DH_CHECK_Q_NOT_PRIME 0x10
--#endif
--
--#ifndef DH_CHECK_INVALID_Q_VALUE
--#define DH_CHECK_INVALID_Q_VALUE 0x20
--#endif
--
--#ifndef DH_CHECK_INVALID_J_VALUE
--#define DH_CHECK_INVALID_J_VALUE 0x40
--#endif
--
--/* DH_check implementation taken from OpenSSL 1.1.0pre6 */
--
--/*-
-- * Check that p is a safe prime and
-- * if g is 2, 3 or 5, check that it is a suitable generator
-- * where
-- * for 2, p mod 24 == 11
-- * for 3, p mod 12 == 5
-- * for 5, p mod 10 == 3 or 7
-- * should hold.
-- */
--
--int Cryptography_DH_check(const DH *dh, int *ret)
--{
-- int ok = 0, r;
-- BN_CTX *ctx = NULL;
-- BN_ULONG l;
-- BIGNUM *t1 = NULL, *t2 = NULL;
--
-- *ret = 0;
-- ctx = BN_CTX_new();
-- if (ctx == NULL)
-- goto err;
-- BN_CTX_start(ctx);
-- t1 = BN_CTX_get(ctx);
-- if (t1 == NULL)
-- goto err;
-- t2 = BN_CTX_get(ctx);
-- if (t2 == NULL)
-- goto err;
--
-- if (dh->q) {
-- if (BN_cmp(dh->g, BN_value_one()) <= 0)
-- *ret |= DH_NOT_SUITABLE_GENERATOR;
-- else if (BN_cmp(dh->g, dh->p) >= 0)
-- *ret |= DH_NOT_SUITABLE_GENERATOR;
-- else {
-- /* Check g^q == 1 mod p */
-- if (!BN_mod_exp(t1, dh->g, dh->q, dh->p, ctx))
-- goto err;
-- if (!BN_is_one(t1))
-- *ret |= DH_NOT_SUITABLE_GENERATOR;
-- }
-- r = BN_is_prime_ex(dh->q, BN_prime_checks, ctx, NULL);
-- if (r < 0)
-- goto err;
-- if (!r)
-- *ret |= DH_CHECK_Q_NOT_PRIME;
-- /* Check p == 1 mod q i.e. q divides p - 1 */
-- if (!BN_div(t1, t2, dh->p, dh->q, ctx))
-- goto err;
-- if (!BN_is_one(t2))
-- *ret |= DH_CHECK_INVALID_Q_VALUE;
-- if (dh->j && BN_cmp(dh->j, t1))
-- *ret |= DH_CHECK_INVALID_J_VALUE;
--
-- } else if (BN_is_word(dh->g, DH_GENERATOR_2)) {
-- l = BN_mod_word(dh->p, 24);
-- if (l == (BN_ULONG)-1)
-- goto err;
-- if (l != 11)
-- *ret |= DH_NOT_SUITABLE_GENERATOR;
-- } else if (BN_is_word(dh->g, DH_GENERATOR_5)) {
-- l = BN_mod_word(dh->p, 10);
-- if (l == (BN_ULONG)-1)
-- goto err;
-- if ((l != 3) && (l != 7))
-- *ret |= DH_NOT_SUITABLE_GENERATOR;
-- } else
-- *ret |= DH_UNABLE_TO_CHECK_GENERATOR;
--
-- r = BN_is_prime_ex(dh->p, BN_prime_checks, ctx, NULL);
-- if (r < 0)
-- goto err;
-- if (!r)
-- *ret |= DH_CHECK_P_NOT_PRIME;
-- else if (!dh->q) {
-- if (!BN_rshift1(t1, dh->p))
-- goto err;
-- r = BN_is_prime_ex(t1, BN_prime_checks, ctx, NULL);
-- if (r < 0)
-- goto err;
-- if (!r)
-- *ret |= DH_CHECK_P_NOT_SAFE_PRIME;
-- }
-- ok = 1;
-- err:
-- if (ctx != NULL) {
-- BN_CTX_end(ctx);
-- BN_CTX_free(ctx);
-- }
-- return (ok);
--}
--#else
- int Cryptography_DH_check(const DH *dh, int *ret) {
- return DH_check(dh, ret);
- }
--#endif
-
- /* These functions were added in OpenSSL 1.1.0f commit d0c50e80a8 */
- /* Define our own to simplify support across all versions. */
---- src/_cffi_src/openssl/evp.py.orig 2021-08-24 17:02:37 UTC
-+++ src/_cffi_src/openssl/evp.py
-@@ -203,7 +203,20 @@ int (*EVP_PKEY_set1_tls_encodedpoint)(EVP_PKEY *, cons
- size_t) = NULL;
- #endif
-
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111
-+#if CRYPTOGRAPHY_IS_LIBRESSL
-+static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 1;
-+static const long Cryptography_HAS_RAW_KEY = 0;
-+static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF = 0;
-+int (*EVP_DigestFinalXOF)(EVP_MD_CTX *, unsigned char *, size_t) = NULL;
-+EVP_PKEY *(*EVP_PKEY_new_raw_private_key)(int, ENGINE *, const unsigned char *,
-+ size_t) = NULL;
-+EVP_PKEY *(*EVP_PKEY_new_raw_public_key)(int, ENGINE *, const unsigned char *,
-+ size_t) = NULL;
-+int (*EVP_PKEY_get_raw_private_key)(const EVP_PKEY *, unsigned char *,
-+ size_t *) = NULL;
-+int (*EVP_PKEY_get_raw_public_key)(const EVP_PKEY *, unsigned char *,
-+ size_t *) = NULL;
-+#elif CRYPTOGRAPHY_OPENSSL_LESS_THAN_111
- static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 0;
- static const long Cryptography_HAS_RAW_KEY = 0;
- static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF = 0;
---- src/_cffi_src/openssl/fips.py.orig 2021-08-24 17:17:17 UTC
-+++ src/_cffi_src/openssl/fips.py
-@@ -17,11 +17,5 @@ int FIPS_mode(void);
- """
-
- CUSTOMIZATIONS = """
--#if CRYPTOGRAPHY_IS_LIBRESSL
--static const long Cryptography_HAS_FIPS = 0;
--int (*FIPS_mode_set)(int) = NULL;
--int (*FIPS_mode)(void) = NULL;
--#else
- static const long Cryptography_HAS_FIPS = 1;
--#endif
- """
---- src/_cffi_src/openssl/ocsp.py.orig 2021-08-24 17:17:17 UTC
-+++ src/_cffi_src/openssl/ocsp.py
-@@ -77,7 +77,6 @@ int i2d_OCSP_RESPDATA(OCSP_RESPDATA *, unsigned char *
-
- CUSTOMIZATIONS = """
- #if ( \
-- !CRYPTOGRAPHY_IS_LIBRESSL && \
- CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J \
- )
- /* These structs come from ocsp_lcl.h and are needed to de-opaque the struct
-@@ -104,62 +103,15 @@ struct ocsp_basic_response_st {
- };
- #endif
-
--#if CRYPTOGRAPHY_IS_LIBRESSL
--/* These functions are all taken from ocsp_cl.c in OpenSSL 1.1.0 */
--const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *single)
--{
-- return single->certId;
--}
--const Cryptography_STACK_OF_X509 *OCSP_resp_get0_certs(
-- const OCSP_BASICRESP *bs)
--{
-- return bs->certs;
--}
--int OCSP_resp_get0_id(const OCSP_BASICRESP *bs,
-- const ASN1_OCTET_STRING **pid,
-- const X509_NAME **pname)
--{
-- const OCSP_RESPID *rid = bs->tbsResponseData->responderId;
--
-- if (rid->type == V_OCSP_RESPID_NAME) {
-- *pname = rid->value.byName;
-- *pid = NULL;
-- } else if (rid->type == V_OCSP_RESPID_KEY) {
-- *pid = rid->value.byKey;
-- *pname = NULL;
-- } else {
-- return 0;
-- }
-- return 1;
--}
--const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at(
-- const OCSP_BASICRESP* bs)
--{
-- return bs->tbsResponseData->producedAt;
--}
--const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs)
--{
-- return bs->signature;
--}
--#endif
--
- #if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J
- const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs)
- {
--#if CRYPTOGRAPHY_IS_LIBRESSL
-- return bs->signatureAlgorithm;
--#else
- return &bs->signatureAlgorithm;
--#endif
- }
-
- const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs)
- {
--#if CRYPTOGRAPHY_IS_LIBRESSL
-- return bs->tbsResponseData;
--#else
- return &bs->tbsResponseData;
--#endif
- }
- #endif
- """
---- src/_cffi_src/openssl/ssl.py.orig 2021-08-24 17:17:17 UTC
-+++ src/_cffi_src/openssl/ssl.py
-@@ -515,12 +515,7 @@ CUSTOMIZATIONS = """
- // users have upgraded. PersistentlyDeprecated2020
- static const long Cryptography_HAS_TLSEXT_HOSTNAME = 1;
-
--#if CRYPTOGRAPHY_IS_LIBRESSL
--static const long Cryptography_HAS_VERIFIED_CHAIN = 0;
--Cryptography_STACK_OF_X509 *(*SSL_get0_verified_chain)(const SSL *) = NULL;
--#else
- static const long Cryptography_HAS_VERIFIED_CHAIN = 1;
--#endif
-
- #if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111
- static const long Cryptography_HAS_KEYLOG = 0;
-@@ -586,8 +581,6 @@ static const long TLS_ST_OK = 0;
- #endif
-
- #if CRYPTOGRAPHY_IS_LIBRESSL
--static const long SSL_OP_NO_DTLSv1 = 0;
--static const long SSL_OP_NO_DTLSv1_2 = 0;
- long (*DTLS_set_link_mtu)(SSL *, long) = NULL;
- long (*DTLS_get_link_min_mtu)(SSL *) = NULL;
- #endif
---- src/_cffi_src/openssl/x509.py.orig 2021-08-24 17:02:37 UTC
-+++ src/_cffi_src/openssl/x509.py
-@@ -276,33 +276,8 @@ void X509_REQ_get0_signature(const X509_REQ *, const A
- """
-
- CUSTOMIZATIONS = """
--#if CRYPTOGRAPHY_IS_LIBRESSL
--int i2d_re_X509_tbs(X509 *x, unsigned char **pp)
--{
-- /* in 1.0.2+ this function also sets x->cert_info->enc.modified = 1
-- but older OpenSSLs don't have the enc ASN1_ENCODING member in the
-- X509 struct. Setting modified to 1 marks the encoding
-- (x->cert_info->enc.enc) as invalid, but since the entire struct isn't
-- present we don't care. */
-- return i2d_X509_CINF(x->cert_info, pp);
--}
--#endif
--
- /* Being kept around for pyOpenSSL */
- X509_REVOKED *Cryptography_X509_REVOKED_dup(X509_REVOKED *rev) {
- return X509_REVOKED_dup(rev);
- }
--/* Added in 1.1.0 but we need it in all versions now due to the great
-- opaquing. */
--#if CRYPTOGRAPHY_IS_LIBRESSL
--int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp)
--{
-- req->req_info->enc.modified = 1;
-- return i2d_X509_REQ_INFO(req->req_info, pp);
--}
--int i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp) {
-- crl->crl->enc.modified = 1;
-- return i2d_X509_CRL_INFO(crl->crl, pp);
--}
--#endif
- """
Index: security/py-cryptography/files/patch-setup.py
===================================================================
--- security/py-cryptography/files/patch-setup.py
+++ /dev/null
@@ -1,55 +0,0 @@
---- setup.py.orig 2021-03-25 17:19:57 UTC
-+++ setup.py
-@@ -10,23 +10,7 @@ import sys
-
- from setuptools import find_packages, setup
-
--try:
-- from setuptools_rust import RustExtension
--except ImportError:
-- print(
-- """
-- =============================DEBUG ASSISTANCE==========================
-- If you are seeing an error here please try the following to
-- successfully install cryptography:
-
-- Upgrade to the latest pip and try again. This will fix errors for most
-- users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
-- =============================DEBUG ASSISTANCE==========================
-- """
-- )
-- raise
--
--
- base_dir = os.path.dirname(__file__)
- src_dir = os.path.join(base_dir, "src")
-
-@@ -41,9 +25,8 @@ with open(os.path.join(src_dir, "cryptography", "__abo
-
- # `install_requirements` and `setup_requirements` must be kept in sync with
- # `pyproject.toml`
--setuptools_rust = "setuptools-rust>=0.11.4"
- install_requirements = ["cffi>=1.12"]
--setup_requirements = install_requirements + [setuptools_rust]
-+setup_requirements = install_requirements
-
- if os.environ.get("CRYPTOGRAPHY_DONT_BUILD_RUST"):
- rust_extensions = []
-@@ -129,9 +112,6 @@ try:
- "twine >= 1.12.0",
- "sphinxcontrib-spelling >= 4.0.1",
- ],
-- "sdist": [
-- setuptools_rust,
-- ],
- "pep8test": [
- "black",
- "flake8",
-@@ -149,7 +129,6 @@ try:
- "src/_cffi_src/build_openssl.py:ffi",
- "src/_cffi_src/build_padding.py:ffi",
- ],
-- rust_extensions=rust_extensions,
- )
- except: # noqa: E722
- # Note: This is a bare exception that re-raises so that we don't interfere

File Metadata

Mime Type
text/plain
Expires
Mon, Oct 19, 6:14 AM (10 h, 57 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41037546
Default Alt Text
D38939.id120418.diff (33 KB)

Event Timeline