commit wireshark for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package wireshark for openSUSE:Factory checked in at 2023-11-30 21:59:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/wireshark (Old) and /work/SRC/openSUSE:Factory/.wireshark.new.25432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "wireshark" Thu Nov 30 21:59:47 2023 rev:213 rq:1129844 version:4.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/wireshark/wireshark.changes 2023-11-23 21:43:08.040984945 +0100 +++ /work/SRC/openSUSE:Factory/.wireshark.new.25432/wireshark.changes 2023-11-30 22:00:45.487815113 +0100 @@ -1,0 +2,27 @@ +Wed Nov 29 15:05:49 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org> + +- Install SDK using cmake --install --component Development instead + of manually copying. This brings back the .pc file and simplifies + the spec file. + +------------------------------------------------------------------- +Fri Nov 24 09:40:38 UTC 2023 - Robert Frohl <rfrohl@suse.com> + +- Wireshark 4.2.0: + * Packet list sorting has been improved. + * Wireshark and TShark are now better about generating valid UTF-8 output. + * A new display filter feature for filtering raw bytes has been added. + * Display filter autocomplete is smarter about not suggesting invalid syntax. + * Tools › MAC Address Blocks can lookup a MAC address in the IEEE OUI registry. + * The installation target no longer installs development headers by default. + * The Wireshark installation is relocatable on Linux (and other ELF platforms with support for relative RPATHs). + * Tools › Browser (SSL Keylog) can launch your web browser with the SSLKEYLOGFILE environment variable set to the appropriate value. + * Wireshark now supports the Korean language. + * Many other improvements have been made. See the “New and Updated Features” section below for more details. +- Further features, bug fixes and updated protocol support as listed in: + https://www.wireshark.org/docs/relnotes/wireshark-4.2.0.html +- Updated patches + wireshark-0000-wsutil-implicit_declaration_memcpy.patch + wireshark-0010-dumpcap-permission-denied.patch + +------------------------------------------------------------------- Old: ---- wireshark-4.0.11.tar.xz wireshark-4.0.11.tar.xz.hash New: ---- wireshark-4.2.0.tar.xz wireshark-4.2.0.tar.xz.hash ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wireshark.spec ++++++ --- /var/tmp/diff_new_pack.4lOsaS/_old 2023-11-30 22:00:46.607856374 +0100 +++ /var/tmp/diff_new_pack.4lOsaS/_new 2023-11-30 22:00:46.607856374 +0100 @@ -17,18 +17,18 @@ # define libraries -%define libcodecs libwscodecs2 -%define libtap libwiretap13 -%define libutil libwsutil14 -%define libwire libwireshark16 +%define libtap libwiretap14 +%define libutil libwsutil15 +%define libwire libwireshark17 %define org_name org.wireshark.Wireshark +%bcond_without qt5 %if 0%{?suse_version} >= 1500 %bcond_without lz4 %else %bcond_with lz4 %endif Name: wireshark -Version: 4.0.11 +Version: 4.2.0 Release: 0 Summary: A Network Traffic Analyser License: GPL-2.0-or-later AND GPL-3.0-or-later @@ -48,14 +48,11 @@ BuildRequires: hicolor-icon-theme BuildRequires: krb5-devel BuildRequires: libbrotli-devel -# keep until libbrotli-devel bug is fixed -BuildRequires: libbrotlidec1 BuildRequires: libcap-devel BuildRequires: libcares-devel >= 1.5.0 BuildRequires: libgcrypt-devel >= 1.4.2 BuildRequires: libgnutls-devel >= 3.2 BuildRequires: libpcap-devel -BuildRequires: libqt5-linguist-devel BuildRequires: libsmi-devel BuildRequires: libtool BuildRequires: lua51-devel @@ -69,6 +66,8 @@ BuildRequires: tcpd-devel BuildRequires: update-desktop-files BuildRequires: zlib-devel +%if %{with qt5} +BuildRequires: libqt5-linguist-devel BuildRequires: pkgconfig(Qt5Concurrent) >= 5.3.0 BuildRequires: pkgconfig(Qt5Core) >= 5.3.0 BuildRequires: pkgconfig(Qt5Gui) @@ -76,6 +75,17 @@ BuildRequires: pkgconfig(Qt5PrintSupport) BuildRequires: pkgconfig(Qt5Svg) BuildRequires: pkgconfig(Qt5Widgets) +%else +BuildRequires: qt6-linguist-devel +BuildRequires: qt6-qt5compat-devel +BuildRequires: pkgconfig(Qt6Concurrent) +BuildRequires: pkgconfig(Qt6Core) +BuildRequires: pkgconfig(Qt6Gui) +BuildRequires: pkgconfig(Qt6Multimedia) +BuildRequires: pkgconfig(Qt6PrintSupport) +BuildRequires: pkgconfig(Qt6Svg) +BuildRequires: pkgconfig(Qt6Widgets) +%endif BuildRequires: pkgconfig(libmaxminddb) BuildRequires: pkgconfig(libnghttp2) BuildRequires: pkgconfig(libnl-3.0) @@ -86,14 +96,9 @@ BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(sbc) BuildRequires: pkgconfig(speexdsp) -# keep until libbrotli-devel bug is fixed -Requires: libbrotlidec1 Requires(pre): permissions Requires(pre): shadow Recommends: wireshark-ui = %{version} -Provides: ethereal = %{version} -Obsoletes: %{libcodecs} < %{version} -Obsoletes: ethereal < %{version} Provides: group(wireshark) %if 0%{?is_opensuse} && 0%{?suse_version} >= 1550 # enable ITU G.729 Annex A/B speech codec only in Tumbleweed @@ -145,8 +150,6 @@ Requires: %{name} = %{version} Requires: glib2-devel Requires: glibc-devel -Provides: ethereal-devel = %{version} -Obsoletes: ethereal-devel < %{version} %description devel Wireshark is a network protocol analyzer. It allows examining data @@ -174,7 +177,11 @@ %autosetup -p1 %build +%if %{with qt5} +%cmake -DCMAKE_INSTALL_LIBDIR='%{_lib}/' -DUSE_qt6=OFF +%else %cmake -DCMAKE_INSTALL_LIBDIR='%{_lib}/' +%endif %if 0%{?is_opensuse} %cmake_build %else @@ -190,36 +197,16 @@ %install %cmake_install -find %{buildroot} -type f -name "*.la" -delete -print - -# Ethereal support (remove when SLE-11 is out of scope -ln -fs wireshark %{buildroot}%{_bindir}/ethereal -ln -fs tshark %{buildroot}%{_bindir}/tethereal +cmake --install build --component Development --prefix %{buildroot}%{_prefix} +# removing doc files that are not needed` +rm %{buildroot}/usr/share/doc/wireshark/COPYING +rm %{buildroot}/usr/share/doc/wireshark/README.xml-output +rm %{buildroot}/usr/share/doc/wireshark/pdml2html.xsl +rm %{buildroot}/usr/share/doc/wireshark/ws.css install -d -m 0755 %{buildroot}%{_sysconfdir} install -d -m 0755 %{buildroot}%{_mandir}/man1/ -# -devel -install -d -m 0755 %{buildroot}%{_includedir}/wireshark -IDIR="%{buildroot}%{_includedir}/wireshark" -mkdir -p "${IDIR}/epan" -mkdir -p "${IDIR}/epan/crypt" -mkdir -p "${IDIR}/epan/ftypes" -mkdir -p "${IDIR}/epan/dfilter" -mkdir -p "${IDIR}/epan/dissectors" -mkdir -p "${IDIR}/epan/wmem" -mkdir -p "${IDIR}/wiretap" -mkdir -p "${IDIR}/wsutil" -install -m 644 *.h "${IDIR}/" -install -m 644 build/config.h "${IDIR}/" -install -m 644 epan/*.h "${IDIR}/epan/" -install -m 644 epan/crypt/*.h "${IDIR}/epan/crypt" -install -m 644 epan/ftypes/*.h "${IDIR}/epan/ftypes" -install -m 644 epan/dfilter/*.h "${IDIR}/epan/dfilter" -install -m 644 epan/dissectors/*.h "${IDIR}/epan/dissectors" -install -m 644 wiretap/*.h "${IDIR}/wiretap" -install -m 644 wsutil/*.h "${IDIR}/wsutil" - # desktop file cp resources/freedesktop/%{org_name}.desktop %{buildroot}%{_datadir}/applications/%{org_name}-su.desktop sed -i -e 's|Name=Wireshark|Name=Wireshark - Super User Mode|g' %{buildroot}%{_datadir}/applications/%{org_name}-su.desktop @@ -262,7 +249,6 @@ %{_bindir}/rawshark %{_bindir}/reordercap %{_bindir}/sharkd -%{_bindir}/tethereal %{_bindir}/text2pcap %{_bindir}/tshark %verify(not mode caps) %attr(0750,root,wireshark) %caps(cap_net_raw,cap_net_admin=ep) %{_bindir}/dumpcap @@ -279,19 +265,17 @@ %{_libdir}/libwiretap.so.* %files devel -%{_includedir}/wireshark -%{_includedir}/wireshark/config.h +%{_includedir}/wireshark/ %{_libdir}/lib*.so %{_libdir}/pkgconfig/wireshark.pc +%{_libdir}/cmake/wireshark/ %files ui-qt %{_bindir}/wireshark -%{_bindir}/ethereal %{_datadir}/applications/%{org_name}.desktop %{_datadir}/applications/%{org_name}-su.desktop %{_datadir}/icons/hicolor/*/apps/%{org_name}.png %{_datadir}/icons/hicolor/*/mimetypes/%{org_name}-mimetype.png -%{_datadir}/icons/hicolor/scalable/apps/%{org_name}.svg %{_datadir}/mime/packages/%{org_name}.xml %{_datadir}/metainfo/%{org_name}.metainfo.xml ++++++ wireshark-0000-wsutil-implicit_declaration_memcpy.patch ++++++ --- /var/tmp/diff_new_pack.4lOsaS/_old 2023-11-30 22:00:46.635857405 +0100 +++ /var/tmp/diff_new_pack.4lOsaS/_new 2023-11-30 22:00:46.635857405 +0100 @@ -1,15 +1,15 @@ -Index: wireshark-3.6.1/wsutil/glib-compat.h +Index: wireshark-4.2.0rc2/wsutil/glib-compat.h =================================================================== ---- wireshark-3.6.1.orig/wsutil/glib-compat.h -+++ wireshark-3.6.1/wsutil/glib-compat.h -@@ -21,6 +21,9 @@ extern "C" { +--- wireshark-4.2.0rc2.orig/wsutil/glib-compat.h ++++ wireshark-4.2.0rc2/wsutil/glib-compat.h +@@ -23,6 +23,9 @@ extern "C" { #endif /* __cplusplus */ #if !GLIB_CHECK_VERSION(2, 68, 0) + +#include <string.h> + - static inline gpointer - g_memdup2(gconstpointer mem, gsize byte_size) + static inline void * + g_memdup2(gconstpointer mem, size_t byte_size) { ++++++ wireshark-0010-dumpcap-permission-denied.patch ++++++ --- /var/tmp/diff_new_pack.4lOsaS/_old 2023-11-30 22:00:46.647857848 +0100 +++ /var/tmp/diff_new_pack.4lOsaS/_new 2023-11-30 22:00:46.651857995 +0100 @@ -1,15 +1,15 @@ -commit 1865e02e6c22ee55b0bb11b8c78330d4e65a1132 +commit acac613af7d702dae533cbdf9ef49cef803d0559 Author: Robert Frohl <rfrohl@suse.com> -Date: Wed Jan 13 14:18:36 2021 +0100 +Date: Tue Sep 12 14:53:17 2023 +0200 Warn if user can't access dumpcap. -diff --git a/capchild/capture_sync.c b/capchild/capture_sync.c -index f31914886a..d3baab6c50 100644 ---- a/capture/capture_sync.c -+++ b/capture/capture_sync.c +Index: wireshark-4.2.0rc2/capture/capture_sync.c +=================================================================== +--- wireshark-4.2.0rc2.orig/capture/capture_sync.c ++++ wireshark-4.2.0rc2/capture/capture_sync.c @@ -24,6 +24,10 @@ - #include <wsutil/wslog.h> + #include <wsutil/strtoi.h> #include <wsutil/ws_assert.h> +#include <sys/stat.h> @@ -19,45 +19,15 @@ #ifdef _WIN32 #include <wsutil/unicode-utils.h> #include <wsutil/win32-utils.h> -@@ -592,11 +596,22 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session, inf - * Child process - run dumpcap with the right arguments to make - * it just capture with the specified capture parameters - */ +@@ -530,10 +534,21 @@ sync_pipe_open_command(char* const argv[ + ws_close(data_pipe[PIPE_READ]); + ws_close(data_pipe[PIPE_WRITE]); + } + char * grp_warning = calloc(1, 256); dup2(sync_pipe[PIPE_WRITE], 2); ws_close(sync_pipe[PIPE_READ]); - execv(argv[0], argv); -- snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s", -- argv[0], g_strerror(errno)); -+ if (errno == EPERM || errno == EACCES) { -+ struct stat statbuf; -+ struct group *grp; -+ if(stat("/usr/bin/dumpcap", &statbuf) == 0) { -+ if ((grp = getgrgid(statbuf.st_gid)) != NULL) { -+ snprintf(grp_warning , 256, "\nYou need to be a member of the '%s' group. Try running\n'usermod -a -G %s <YOUR_USERNAME>' as root.", grp->gr_name, grp->gr_name); -+ } -+ } -+ } -+ snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s%s", -+ argv[0], g_strerror(errno), grp_warning); -+ free(grp_warning); - sync_pipe_errmsg_to_parent(2, errmsg, ""); - - /* Exit with "_exit()", so that we don't close the connection -@@ -827,6 +842,7 @@ sync_pipe_open_command(char* const argv[], int *data_read_fd, - * Child process - run dumpcap with the right arguments to make - * it just capture with the specified capture parameters - */ -+ char * grp_warning = calloc(1, 256); - dup2(data_pipe[PIPE_WRITE], 1); - ws_close(data_pipe[PIPE_READ]); - ws_close(data_pipe[PIPE_WRITE]); -@@ -834,8 +850,18 @@ sync_pipe_open_command(char* const argv[], int *data_read_fd, - ws_close(sync_pipe[PIPE_READ]); ws_close(sync_pipe[PIPE_WRITE]); execv(argv[0], argv); -- snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s", -- argv[0], g_strerror(errno)); + if (errno == EPERM || errno == EACCES) { + struct stat statbuf; + struct group *grp; @@ -67,10 +37,8 @@ + } + } + } -+ snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s%s", -+ argv[0], g_strerror(errno), grp_warning); + free(grp_warning); - sync_pipe_errmsg_to_parent(2, errmsg, ""); + sync_pipe_write_int_msg(2, SP_EXEC_FAILED, errno); /* Exit with "_exit()", so that we don't close the connection ++++++ wireshark-4.0.11.tar.xz -> wireshark-4.2.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/wireshark/wireshark-4.0.11.tar.xz /work/SRC/openSUSE:Factory/.wireshark.new.25432/wireshark-4.2.0.tar.xz differ: char 15, line 1 ++++++ wireshark-4.0.11.tar.xz.hash -> wireshark-4.2.0.tar.xz.hash ++++++ --- /work/SRC/openSUSE:Factory/wireshark/wireshark-4.0.11.tar.xz.hash 2023-11-17 20:48:46.403440613 +0100 +++ /work/SRC/openSUSE:Factory/.wireshark.new.25432/wireshark-4.2.0.tar.xz.hash 2023-11-30 22:00:45.303808334 +0100 @@ -1,29 +1,33 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 -wireshark-4.0.11.tar.xz: 43153680 bytes -SHA256(wireshark-4.0.11.tar.xz)=4c341cc33a6c512d983f4126e6f3e5c249f604e14ab7f337d38b1cbe58199e3d -SHA1(wireshark-4.0.11.tar.xz)=4af3140d69f9d41e1c4e161fad66304a6920ddce - -Wireshark-win64-4.0.11.exe: 79609384 bytes -SHA256(Wireshark-win64-4.0.11.exe)=f3bb3156ef2c3470d45d4150038c2cc86ae0d04d501ff2c662196eeeaf85d633 -SHA1(Wireshark-win64-4.0.11.exe)=24f51cc40b0c404146f5436223ec29c35476c353 - -Wireshark-win64-4.0.11.msi: 54325248 bytes -SHA256(Wireshark-win64-4.0.11.msi)=b06fab0a8d02788f71a21cf9473c4c38c2d93195b8029825d3de00e9bf199ca9 -SHA1(Wireshark-win64-4.0.11.msi)=13eebda94ff1bb39fcd039ca7070e26cf990134a - -WiresharkPortable64_4.0.11.paf.exe: 46772200 bytes -SHA256(WiresharkPortable64_4.0.11.paf.exe)=686c04c42fdd101986e664216033d2b5a13911b379ffc93c3546ec354245e998 -SHA1(WiresharkPortable64_4.0.11.paf.exe)=cf1417b2fc190a118e5d8711966eaa2521a50a23 - -Wireshark 4.0.11 Arm 64.dmg: 65048706 bytes -SHA256(Wireshark 4.0.11 Arm 64.dmg)=f8bf18df6c74624c18d79f937c537588f53e1cca5ecfd5d59edbcaa6029ce852 -SHA1(Wireshark 4.0.11 Arm 64.dmg)=519322ec6cdc5e9e9831fc62597ee1aff1923550 - -Wireshark 4.0.11 Intel 64.dmg: 68640199 bytes -SHA256(Wireshark 4.0.11 Intel 64.dmg)=b9a0dc1942c5f78214a986773b22180bba720f51b45e2da4260318b83b504d0d -SHA1(Wireshark 4.0.11 Intel 64.dmg)=8712a3168703935032b828ea69fd1ae12620b20d +wireshark-4.2.0.tar.xz: 44941948 bytes +SHA256(wireshark-4.2.0.tar.xz)=0e428492f4c3625d61a7ccff008dc0e429d16ab8caccad4403157ea92b48a75b +SHA1(wireshark-4.2.0.tar.xz)=939871febe92cb2eea5527578d3cd815721b58bf + +Wireshark-4.2.0-arm64.exe: 67657344 bytes +SHA256(Wireshark-4.2.0-arm64.exe)=a010a996ed7122eef5df784ec72de4168fbad6aac5b09081862fa74696d70ca3 +SHA1(Wireshark-4.2.0-arm64.exe)=edb969bfb21805045b81f2ac21f30ae16c40ede5 + +Wireshark-4.2.0-x64.exe: 86161264 bytes +SHA256(Wireshark-4.2.0-x64.exe)=a68a8298662af5cc4bb4a454c66f49d0bcc0bacfd16e00e818b4c77ae8281c26 +SHA1(Wireshark-4.2.0-x64.exe)=608777817d53668a19b3c34f7dbdf4696329377b + +Wireshark-4.2.0-x64.msi: 62783488 bytes +SHA256(Wireshark-4.2.0-x64.msi)=1d613828ce6d4c7f9031590421264198d4d8e736811976886911c328b51efa61 +SHA1(Wireshark-4.2.0-x64.msi)=52cb9e8efe4b799b13c46abd68e7b3929ef0b1d8 + +WiresharkPortable64_4.2.0.paf.exe: 53440512 bytes +SHA256(WiresharkPortable64_4.2.0.paf.exe)=340972a4f0dea1c23c75baa3f06a77b4ab55ebf8683dc13258975f2afb0e0a52 +SHA1(WiresharkPortable64_4.2.0.paf.exe)=bfa00748ad6826e00cbc553028c312d7084da7cc + +Wireshark 4.2.0 Arm 64.dmg: 65635120 bytes +SHA256(Wireshark 4.2.0 Arm 64.dmg)=d2fba92c2f88271fad6929e8d8d06d50992fd82e00230c9f503c57a4bfe4f54f +SHA1(Wireshark 4.2.0 Arm 64.dmg)=7fe2400eee9f9bf6fbe37d7a4b5471d09851ead5 + +Wireshark 4.2.0 Intel 64.dmg: 68989977 bytes +SHA256(Wireshark 4.2.0 Intel 64.dmg)=9e10e57a24ea5c8f66fa6dab8d9b21751e8b370d9ef2a5f4be8b6c29dc4437b6 +SHA1(Wireshark 4.2.0 Intel 64.dmg)=cf7c0193d127a6f7e6a73e407ee3c426fc673e59 You can validate these hashes using the following commands (among others): @@ -33,17 +37,17 @@ Other: openssl sha256 wireshark-x.y.z.tar.xz -----BEGIN PGP SIGNATURE----- -iQIzBAEBCgAdFiEEWlrbp9vqbD+HIk8ZgiRKeOb+ruoFAmVVHrsACgkQgiRKeOb+ -rur9yQ//Ti9zIrOVFcjkrSVRlI/DmuK5LH4A+phpMRztbd9z3Idzpk8XjyMwQc+q -5bgWuVEFky6h8bQUILJqAaFH1eUIYWXztNP0QwKPkRu3qB0g6cSiAl3q1Ef9/onl -C191aFjb+NaAJl2oU0/5KxbMrcRw66d4FkW7AiPcDibGq804Q1ZUwRnzkrnud8l/ -VJPRu9Ps8nCN0W59RqgGq2NV6DXGXLh8LpHMyqcygX8l19DIQRWeuWwRmXse5vtz -F5a9kOOeQ7i/QWkhDMLqbQRdB/xt2MN2BHilX8sbWsanCODCJhUx5mIe71FDvVrR -8knGIu0TajJBAQwavMfZTfst/Qi9LGJ7ChfBhIysfqetS0ns3kiAsE6bLwPddCo0 -wnh5cDXj83fX4LkGoeF+NhKnx48pLcV9r+QjYVIZrtipRdK7wruzw5gnO57JXFZI -naQjGYjT9qwHKw9iqFhn4P70Tvlu1OUH81DCE60rT2aRof5ovzoRanjKqLNp6mFb -a6jT7lHamHi2PyW1Z5jYcEHImWK5YIXpeo5MblLb0EebfiCNl2xmVSMFhrSWkGBa -9WJsHGDOa5q/a+RbLOFs532pPkJonGx5ch65BfOvvg862HtUEwilBNO3aQrXVVpv -0RBpClnBRzFY/s10NjHemyFoEtC6Z44+xJLq4rZDvQYyno6LthI= -=T37X +iQIzBAEBCgAdFiEEWlrbp9vqbD+HIk8ZgiRKeOb+ruoFAmVVHsEACgkQgiRKeOb+ +rupJ6BAAuB2BPIkMd3wIXrRTDNrX3M1sQKRBm8l9InL622x5SeX9AGxUvsh7oAtc +i3bAGAMMJlchJqLKyC1bmNS0gPlEHaYtya/PE0kktq9uzeiiqpjVo6vBERGfb6eZ +Nv9DrcIrjnKv7kZ2FENNrTXY9XjCjlKD6eSXFRGC/OkHWQKSYyJDlKeaYWShsvNW +xgUmFOU3UXtyuSKbSutqxpdh2bELaAQe+NyLwfig6yOGTFaIuPxStw1KZyBqptL5 +s1jOa2eVOOB7RsRwi5FZSEJ8elj1Z2rlcC4ptNytimcejJGaK28dX424/1xk5fRK +jvO9+YshQ1CCERB9f1dIzbbTJ2mp7Fw/mztpLwrRHuEFS6h9PS2VYmjdGhCeg0JB +0MooBxBJLOzNvBocVlWVF4+OGokiYs2XjHvcUjtF5mKhhkRShKF0XZCUMeRV3wZ3 +rCSWQARH7TyF8Fdu0GBvUQHzbjE1G97GZtm9Fm+TfhUQippJ0RZvNEqaCK1NFWP0 +2TSgE0NT/DhvR8QPsQJU8nKbyChAWlcGMTnhpXV5QInRPSkgveYUBUxpfPRJ3WmQ +RbjBdD7y+LAlpG8g8dOJS8jYUmPI6nq7m8wtTI5v+zW57thUkuJJMPh9xtBRT+1z +JI+EaflCMpT/SUgGeJZtde4JF53SPxkQ/Lb+70Yj5LRwaaJXXO0= +=MbMn -----END PGP SIGNATURE-----
participants (1)
-
Source-Sync