Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package glibc for openSUSE:Factory checked in at 2022-02-17 00:30:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/glibc (Old) and /work/SRC/openSUSE:Factory/.glibc.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glibc" Thu Feb 17 00:30:18 2022 rev:257 rq:951354 version:2.35 Changes: -------- --- /work/SRC/openSUSE:Factory/glibc/glibc.changes 2021-12-05 22:45:47.749703798 +0100 +++ /work/SRC/openSUSE:Factory/.glibc.new.1956/glibc.changes 2022-02-17 00:31:05.673427467 +0100 @@ -1,0 +2,96 @@ +Thu Feb 3 11:52:01 UTC 2022 - Andreas Schwab <sch...@suse.de> + +- Update to glibc 2.35 + Major new features: + * Unicode 14.0.0 Support + * Bump r_version in the debugger interface to 2 + * Support for the C.UTF-8 locale has been added to glibc + * <math.h> functions that round their results to a narrower type, and + corresponding <tgmath.h> macros, are added from TS 18661-1:2014, TS + 18661-3:2015 and draft ISO C2X + * <math.h> functions for floating-point maximum and minimum, + corresponding to new operations in IEEE 754-2019, and corresponding + <tgmath.h> macros, are added from draft ISO C2X + * <math.h> macros for single-precision float constants are added as a + GNU extension + * The __STDC_IEC_60559_BFP__ and __STDC_IEC_60559_COMPLEX__ macros are + predefined as specified in TS 18661-1:2014 + * The exp10 functions in <math.h> now have a corresponding type-generic + macro in <tgmath.h> + * The ISO C2X macro _PRINTF_NAN_LEN_MAX has been added to <stdio.h> + * printf-family functions now support the %b format for output of + integers in binary, as specified in draft ISO C2X, and the %B variant + of that format recommended by draft ISO C2X + * A new DSO sorting algorithm has been added in the dynamic linker that uses + topological sorting by depth-first search (DFS), solving performance issues + of the existing sorting algorithm when encountering particular circular + object dependency cases + * A new tunable, glibc.rtld.dynamic_sort, can be used to select between + the two DSO sorting algorithms + * ABI support for a new function '__memcmpeq'. '__memcmpeq' is meant + to be used by compilers for optimizing usage of 'memcmp' when its + return value is only used for its boolean status + * Support for automatically registering threads with the Linux rseq + system call has been added + * A symbolic link to the dynamic linker is now installed under + /usr/bin/ld.so (or more precisely, '${bindir}/ld.so') + * All programs and the testsuite in glibc are now built as position independent + executables (PIE) by default on toolchains and architectures that support it + * On Linux, a new tunable, glibc.malloc.hugetlb, can be used to + either make malloc issue madvise plus MADV_HUGEPAGE on mmap and sbrk + or to use huge pages directly with mmap calls with the MAP_HUGETLB + flags) + * The printf family of functions now handles the flagged %#m conversion + specifier, printing errno as an error constant (similar to strerrorname_np) + * The function _dl_find_object has been added + * On Linux, the epoll_pwait2 function has been added + * The function posix_spawn_file_actions_addtcsetpgrp_np has been added, + enabling posix_spawn and posix_spawnp to set the controlling terminal in + the new process in a race free manner + * Source fortification (_FORTIFY_SOURCE) level 3 is now available for + applications compiling with glibc and gcc 12 and later + Deprecated and removed features, and other changes affecting compatibility: + * On x86-64, the LD_PREFER_MAP_32BIT_EXEC environment variable support + has been removed since the first PT_LOAD segment is no longer executable + due to defaulting to -z separate-code + * The r_version update in the debugger interface makes the glibc binary + incompatible with GDB + * Intel MPX support (lazy PLT, ld.so profile, and LD_AUDIT) has been removed + * The catchsegv script and associated libSegFault.so shared object have + been removed + * Support for prelink will be removed in the next release; this includes + removal of the LD_TRACE_PRELINKING, and LD_USE_LOAD_BIAS, environment + variables and their functionality in the dynamic loader + Changes to build and runtime requirements: + * The audit module interface version LAV_CURRENT is increased to enable + proper bind-now support + * The audit interface on aarch64 is extended to support both the indirect + result location register (x8) and NEON Q register + Security related changes: + * CVE-2022-23219: Passing an overlong file name to the clnt_create + legacy function could result in a stack-based buffer overflow when + using the "unix" protocol + * CVE-2022-23218: Passing an overlong file name to the svcunix_create + legacy function could result in a stack-based buffer overflow + * CVE-2021-3998: Passing a path longer than PATH_MAX to the realpath + function could result in a memory leak and potential access of + uninitialized memory + * CVE-2021-3999: Passing a buffer of size exactly 1 byte to the getcwd + function may result in an off-by-one buffer underflow and overflow + when the current working directory is longer than PATH_MAX and also + corresponds to the / directory through an unprivileged mount + namespace +- copy-and-spawn-sgid-double-close.patch, + fcntl-time-bits-64-redirect.patch, gaiconf-init-double-free.patch, + gconv-parseconfdir-memory-leak.patch, getcwd-attribute-access.patch, + glibc-c-utf8-locale.patch, iconv-charmap-close-output.patch, + ld-show-auxv-colon.patch, ldconfig-leak-empty-paths.patch, + librt-null-pointer.patch, pthread-kill-fail-after-exit.patch, + pthread-kill-race-thread-exit.patch, pthread-kill-return-esrch.patch, + pthread-kill-send-specific-thread.patch, + pthread-mutexattr-getrobust-np-type.patch, + setxid-deadlock-blocked-signals.patch, + sysconf-nprocessors-affinity.patch, x86-string-control-test.patch: + Removed. + +------------------------------------------------------------------- Old: ---- copy-and-spawn-sgid-double-close.patch fcntl-time-bits-64-redirect.patch gaiconf-init-double-free.patch gconv-parseconfdir-memory-leak.patch getcwd-attribute-access.patch glibc-2.34.tar.xz glibc-2.34.tar.xz.sig glibc-c-utf8-locale.patch iconv-charmap-close-output.patch ld-show-auxv-colon.patch ldconfig-leak-empty-paths.patch librt-null-pointer.patch pthread-kill-fail-after-exit.patch pthread-kill-race-thread-exit.patch pthread-kill-return-esrch.patch pthread-kill-send-specific-thread.patch pthread-mutexattr-getrobust-np-type.patch setxid-deadlock-blocked-signals.patch sysconf-nprocessors-affinity.patch x86-string-control-test.patch New: ---- glibc-2.35.tar.xz glibc-2.35.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ glibc.spec ++++++ --- /var/tmp/diff_new_pack.VOMWId/_old 2022-02-17 00:31:07.641427128 +0100 +++ /var/tmp/diff_new_pack.VOMWId/_new 2022-02-17 00:31:07.649427127 +0100 @@ -1,7 +1,7 @@ # # spec file # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,24 +16,6 @@ # -%if 0%{?sle_version} >= 150400 || 0%{?suse_version} >= 1550 -%define livepatchable 1 - -# Set variables for livepatching. -%define _other %{_topdir}/OTHER -%define tar_basename glibc-livepatch-%{version}-%{release} -%define tar_package_name %{tar_basename}.%{_arch}.tar.xz -%define clones_dest_dir %{tar_basename}/%{_arch} -%else -# Unsupported operating system. -%define livepatchable 0 -%endif - -%ifnarch x86_64 -# Unsupported architectures must have livepatch disabled. -%define livepatchable 0 -%endif - # Run with osc --with=fast_build to have a shorter turnaround # It will avoid building some parts of glibc %bcond_with fast_build @@ -67,6 +49,13 @@ %bcond_with usrmerged %endif +# Enable support for livepatching. +%ifarch x86_64 +%bcond_without livepatching 1 +%else +%bcond_with livepatching 0 +%endif + %bcond_with build_all %define build_main 1 %define build_utils %{with build_all} @@ -79,7 +68,6 @@ %define build_main 0 %define build_utils 1 %define build_testsuite 0 -%define livepatchable 0 %endif %if "%flavor" == "testsuite" %if %{with ringdisabled} @@ -88,7 +76,6 @@ %define build_main 0 %define build_utils 0 %define build_testsuite 1 -%define livepatchable 0 %endif %if 0%{?cross_arch:1} %define build_main 0 @@ -183,10 +170,10 @@ %define enablekernel 4.15 %endif -Version: 2.34 +Version: 2.35 Release: 0 %if !%{build_snapshot} -%define git_id ae37d06c7d +%define git_id f94f6d8a35 %define libversion %version %else %define git_id %(echo %version | sed 's/.*\.g//') @@ -284,10 +271,8 @@ Patch102: glibc-2.4.90-no_NO.diff # PATCH-FIX-OPENSUSE -- Renames for China Patch103: glibc-2.4-china.diff -# PATCH-FIX-OPENSUSE -- Add C.UTF-8 locale -Patch104: glibc-c-utf8-locale.patch # PATCH-FIX-OPENSUSE -- Disable gettext for C.UTF-8 locale -Patch105: glibc-disable-gettext-for-c-utf8.patch +Patch104: glibc-disable-gettext-for-c-utf8.patch ### Network related patches # PATCH-FIX-OPENSUSE Warn about usage of mdns in resolv.conv @@ -298,40 +283,6 @@ ### # Patches from upstream ### -# PATCH-FIX-UPSTREAM ldconfig: avoid leak on empty paths in config file -Patch1000: ldconfig-leak-empty-paths.patch -# PATCH-FIX-UPSTREAM gconv_parseconfdir: Fix memory leak -Patch1001: gconv-parseconfdir-memory-leak.patch -# PATCH-FIX-UPSTREAM gaiconf_init: Avoid double-free in label and precedence lists -Patch1002: gaiconf-init-double-free.patch -# PATCH-FIX-UPSTREAM copy_and_spawn_sgid: Avoid double calls to close() -Patch1003: copy-and-spawn-sgid-double-close.patch -# PATCH-FIX-UPSTREAM iconv_charmap: Close output file when done -Patch1004: iconv-charmap-close-output.patch -# PATCH-FIX-UPSTREAM Linux: Fix fcntl, ioctl, prctl redirects for _TIME_BITS=64 (BZ #28182) -Patch1005: fcntl-time-bits-64-redirect.patch -# PATCH-FIX-UPSTREAM librt: fix NULL pointer dereference (BZ #28213) -Patch1006: librt-null-pointer.patch -# PATCH-FIX-UPSTREAM elf: Fix missing colon in LD_SHOW_AUXV output (BZ #282539 -Patch1007: ld-show-auxv-colon.patch -# PATCH-FIX-UPSTREAM x86-64: Use testl to check __x86_string_control -Patch1008: x86-string-control-test.patch -# PATCH-FIX-UPSTREAM nptl: pthread_kill, pthread_cancel should not fail after exit (BZ #19193) -Patch1009: pthread-kill-fail-after-exit.patch -# PATCH-FIX-UPSTREAM nptl: Fix race between pthread_kill and thread exit (BZ #12889) -Patch1010: pthread-kill-race-thread-exit.patch -# PATCH-FIX-UPSTREAM posix: Fix attribute access mode on getcwd (BZ #27476) -Patch1011: getcwd-attribute-access.patch -# PATCH-FIX-UPSTREAM nptl: pthread_kill needs to return ESRCH for old programs (BZ #19193) -Patch1012: pthread-kill-return-esrch.patch -# PATCH-FIX-UPSTREAM nptl: Fix type of pthread_mutexattr_getrobust_np, pthread_mutexattr_setrobust_np (BZ #28036) -Patch1013: pthread-mutexattr-getrobust-np-type.patch -# PATCH-FIX-UPSTREAM nptl: Avoid setxid deadlock with blocked signals in thread exit (BZ #28361) -Patch1014: setxid-deadlock-blocked-signals.patch -# PATCH-FIX-UPSTREAM nptl: pthread_kill must send signals to a specific thread (BZ #28407) -Patch1015: pthread-kill-send-specific-thread.patch -# PATCH-FIX-UPSTREAM linux: Revert the use of sched_getaffinity on get_nproc (BZ #28310) -Patch1016: sysconf-nprocessors-affinity.patch ### # Patches awaiting upstream approval @@ -547,7 +498,6 @@ %patch102 -p1 %patch103 -p1 %patch104 -p1 -%patch105 -p1 %patch304 -p1 %patch306 -p1 @@ -555,25 +505,8 @@ %patch2000 -p1 %patch2001 -p1 -%patch1000 -p1 -%patch1001 -p1 -%patch1002 -p1 -%patch1003 -p1 -%patch1004 -p1 -%patch1005 -p1 -%patch1006 -p1 -%patch1007 -p1 -%patch1008 -p1 -%patch1009 -p1 -%patch1010 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1013 -p1 -%patch1014 -p1 -%patch1015 -p1 -%patch1016 -p1 - %patch3000 +rm -f manpages/catchsegv.1 %build # Disable LTO due to a usage of top-level assembler that @@ -678,7 +611,7 @@ # Add build flags that cannot be passed to configure. ExtraBuildFlags= -%if %{livepatchable} +%if %{build_main} && %{with livepatching} # Append necessary flags for livepatch support, if enabled. Do it on make, else # on configure GCC will report that it can't write the ipa-clones to /dev/ and # configure will fail to detect that gcc support several flags. @@ -696,11 +629,6 @@ profile="--disable-profile" %endif -CONFARGS= -case " %{ix86} x86_64 aarch64 " in - *" %{host_arch} "*) CONFARGS="$CONFARGS --enable-static-pie" ;; -esac - ../configure \ CFLAGS="$BuildFlags" BUILD_CFLAGS="$BuildFlags" \ CC="$BuildCC" CXX="$BuildCCplus" \ @@ -733,7 +661,6 @@ %endif --enable-systemtap \ %endif - $CONFARGS \ %if %{enable_stackguard_randomization} --enable-stackguard-randomization \ %endif @@ -851,32 +778,6 @@ %endif %install -%if %{livepatchable} - -# Ipa-clones are files generated by gcc which logs changes made across -# functions, and we need to know such changes to build livepatches -# correctly. These files are intended to be used by the livepatch -# developers and may be retrieved by using `osc getbinaries`. -# -# Create list of ipa-clones. -find . -name "*.ipa-clones" ! -empty | sed 's/^\.\///g' | sort > ipa-clones.list - -# Create ipa-clones destination folder and move clones there. -mkdir -p ipa-clones/%{clones_dest_dir} -while read f; do - _dest=ipa-clones/%{clones_dest_dir}/$f - mkdir -p ${_dest%/*} - cp $f $_dest -done < ipa-clones.list - -# Create tarball with ipa-clones. -tar cfJ %{tar_package_name} -C ipa-clones %{tar_basename} - -# Copy tarball to the OTHER folder to store it as artefact. -cp %{tar_package_name} %{_other} - -%endif # livepatchable - %if !%{build_testsuite} %if %{with usrmerged} @@ -902,6 +803,31 @@ %endif %if %{build_main} + +%if %{with livepatching} +%define tar_basename glibc-livepatch-%{version}-%{release} +%define tar_package_name %{tar_basename}.%{_arch}.tar.xz +%define clones_dest_dir %{tar_basename}/%{_arch} + +# Ipa-clones are files generated by gcc which logs changes made across +# functions, and we need to know such changes to build livepatches +# correctly. These files are intended to be used by the livepatch +# developers and may be retrieved by using `osc getbinaries`. +# +# Create ipa-clones destination folder and move clones there. +mkdir -p ipa-clones/%{clones_dest_dir} +find . -name "*.ipa-clones" ! -empty \ + -exec cp -t ipa-clones/%{clones_dest_dir} --parents {} + + +# Create tarball with ipa-clones. +tar -cJf %{tar_package_name} -C ipa-clones \ + --owner root --group root --sort name %{tar_basename} + +# Copy tarball to the OTHER folder to store it as artifact. +cp %{tar_package_name} %{_topdir}/OTHER + +%endif + # We don't want to strip the .symtab from our libraries in find-debuginfo.sh, # certainly not from libc.so.* because it is used by libthread_db to find # some non-exported symbols in order to detect if threading support @@ -1076,7 +1002,7 @@ %else rm -f %{buildroot}%{_libdir}/lib*.a %endif -rm -f %{buildroot}%{_bindir}/{catchsegv,ldd*,sprof} +rm -f %{buildroot}%{_bindir}/{ld.so,ldd*,sprof} rm -rf %{buildroot}%{_mandir}/man* rm -rf %{buildroot}%{rootsbindir} %{buildroot}%{_includedir} %ifarch riscv64 @@ -1096,11 +1022,12 @@ rm -rf %{buildroot}/%{sysroot}/%{_libdir}/audit rm -rf %{buildroot}/%{sysroot}/%{_libdir}/gconv rm -rf %{buildroot}/%{sysroot}/%{_infodir} -rm -rf %{buildroot}/%{sysroot}/%{_prefix}/share/i18n -rm -rf %{buildroot}/%{sysroot}/%{_datadir}/locale/*/ -rm -f %{buildroot}/%{sysroot}/%{_bindir}/makedb -rm -rf %{buildroot}/%{sysroot}/var/lib -rm -f %{buildroot}/%{sysroot}/%{_sbindir}/nscd +rm -rf %{buildroot}/%{sysroot}/%{_datadir} +rm -rf %{buildroot}/%{sysroot}/%{_libexecdir} +rm -rf %{buildroot}/%{sysroot}/%{_bindir} +rm -rf %{buildroot}/%{sysroot}/%{_sbindir} +rm -rf %{buildroot}/%{sysroot}/etc +rm -rf %{buildroot}/%{sysroot}/var # Some programs look for <prefix>/lib/../$subdir where subdir is # for instance "lib64". For this path lookup to succeed we need the @@ -1232,6 +1159,7 @@ %doc %{_mandir}/man1/getconf.1.gz %doc %{_mandir}/man5/* +%{_bindir}/ld.so %{rtlddir}/%{rtld_name} %if 0%{?rtld_oldname:1} %{rtlddir}/%{rtld_oldname} @@ -1249,7 +1177,6 @@ %endif %{slibdir}/libBrokenLocale.so.1 -%{slibdir}/libSegFault.so %{slibdir}/libanl.so.1 %{slibdir}/libc.so.6* %{slibdir}/libc_malloc_debug.so.0 @@ -1311,9 +1238,7 @@ %defattr(-,root,root) %license COPYING COPYING.LIB %doc NEWS README -%doc %{_mandir}/man1/catchsegv.1.gz %doc %{_mandir}/man3/* -%{_bindir}/catchsegv %{_bindir}/sprof %{_includedir}/* %{_libdir}/*.o ++++++ fix-locking-in-_IO_cleanup.patch ++++++ --- /var/tmp/diff_new_pack.VOMWId/_old 2022-02-17 00:31:07.793427102 +0100 +++ /var/tmp/diff_new_pack.VOMWId/_new 2022-02-17 00:31:07.797427102 +0100 @@ -143,10 +143,9 @@ =================================================================== --- glibc-2.32.orig/sysdeps/pthread/tst-stdio1.c +++ /dev/null -@@ -1,56 +0,0 @@ --/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +@@ -1,55 +0,0 @@ +-/* Copyright (C) 2002-2022 Free Software Foundation, Inc. - This file is part of the GNU C Library. -- Contributed by Ulrich Drepper <drep...@redhat.com>, 2002. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public ++++++ glibc-2.34.tar.xz -> glibc-2.35.tar.xz ++++++ /work/SRC/openSUSE:Factory/glibc/glibc-2.34.tar.xz /work/SRC/openSUSE:Factory/.glibc.new.1956/glibc-2.35.tar.xz differ: char 25, line 1 ++++++ glibc-version.diff ++++++ --- /var/tmp/diff_new_pack.VOMWId/_old 2022-02-17 00:31:07.897427084 +0100 +++ /var/tmp/diff_new_pack.VOMWId/_new 2022-02-17 00:31:07.909427082 +0100 @@ -8,7 +8,7 @@ static const char banner[] = -"GNU C Library "PKGVERSION RELEASE" release version "VERSION".\n\ +"GNU C Library "PKGVERSION RELEASE" release version "VERSION" (git "GITID").\n\ - Copyright (C) 2021 Free Software Foundation, Inc.\n\ + Copyright (C) 2022 Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions.\n\ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\ PARTICULAR PURPOSE.\n\ ++++++ glibc.keyring ++++++ --- /var/tmp/diff_new_pack.VOMWId/_old 2022-02-17 00:31:07.953427074 +0100 +++ /var/tmp/diff_new_pack.VOMWId/_new 2022-02-17 00:31:07.957427074 +0100 @@ -111,18 +111,18 @@ nrQzvJbBn6gxdgCu5i29J1QCYrCYvql2UyFPAK+do99/1jOXT4m2836j1wARAQAB tCBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1PokCVQQTAQgAPwIbAwYL CQgHAwIGFQgCCQoLBBYCAwECHgECF4AWIQR+N5Kp2Kz31jO8FYjtl+kOYqp+NAUC -XyW9lwUJFK4LswAKCRDtl+kOYqp+NKNVD/9HMsI1606n0UuTXHwITsyOjAI9SDOT -+C3DUv6qlM5BH2nWAMTiIiyA5uglsJv93oi2vNtFf/Q/m/1cnZWgnVnExkyLI4EN -Sd1uBvr0/lCSdPlP0Mg6GWSpXMu+x0vdT0AaZNOTE0FnPuoldc3XD76C2qg8sX/i -axXTKHy9P+BlAq/Cs7/pxDQ0EzSn0USZ2C0l5vv4PMpA/picnS6K609JvDGaORmw -ZeXIZqQNZV+ZQs+UYtVoguDTqby3IUY1I8BlXHRptaj9AMn4Uoh/CqpQlVojoyWl -HqaFnnJBKeF0hvJ9SAyalwuzAjG7vQW07MYncaOFm0woiKbg5JLO8F4SBTIkuO0D -Cf9nLAay6VsB4rzwdEfRwjPLYAn7MR3fvHCEzfrkldTraiBO1T0ieDK80I7sLf6p -MeCYI19pUlx0/NRMGCddiFIQdfthKWXGRS5LAs8jwBf8H6G5PWinPrEIaomIP21i -vuhQD07bYq9IiIdeljjUdHcGI0i/B4M56Zaa8Ff38iniOlrDYCmYWR4dCWZiuQeZ -3OgqeQs9a6jTvgdDGVmRVqY+jzk8PlaHfcok8ROhFcHKkcfhuBhL25hlRIshRDOE -skXqKwnzrbqga3GXZXfsXAoFbzNhLdLv9A+LJAYSkXP6/5qdTpELVGosyH884Vdb -BpkGI04oYVqulYkCHAQQAQIABgUCVi604AAKCRDNVPzj2WS++xxpD/4hZPbOUfcF +YTAc/AUJHhWsGAAKCRDtl+kOYqp+NBKwD/9Qise9/wZsD8Nyl+ADOCIAFZY5qlSl +/5SyCjJIRc6cx/Z0fm4yJVH2Tf3GlSBk1uW24z8+mB2ZxFQUGjio/2iDndSqxYR4 +qvPGudo4RGvdvhw6LLqTdRsAY4947xLpNUO6gDtZsRpn4isn+ViX85XfGJrIFjBm +zj70eMxEZZrz1IMfUB5I/2oNGDsXDZlCUU30RFMYChGA1ofpIHWdAs+lW2jVBfeE +Lbi2su+oUpqrx83u0eJQg3RY3jmPjw8snHS4ieXpvS0e89qziBlNCqS59qJHaf4G +XCjz+o5gap2e0NEeQYqcyCqAfqjI78KEpVJNQx5D/zSOvnNs6KuzWD7No4nb5A3p +A6KA1JAwJW0H3F2+RhTEg+kFxpcCen0jjuFBnE3TfO3RSpSGqZN0j4AkuR6h/+I7 +uUfaQAAope4mso/9VBEElaHYTQmA/m4/AXb2Kt/qkt6QgUIyJtSKcMCVTbfL6iIj +rzu4EzkjtZJkbAfvU8lpkUsWX2Qwo25MwyxyzsHMUq9ccIRPEiI0hVu7jeFAql6c +ql/3KUWvSr8QCyn7KWhfxyzy6j0+2xtQ29LHAOhboawJJoZd+PtintzHSSZ6G+8T +Xn3EbjmHHlXWWfnvWyaJCuJzf1PybRgNYqL6EXCHRHCIb4S9Av8sJpJzZiskG1v5 +WUkv79aHb1ol14kCHAQQAQIABgUCVi604AAKCRDNVPzj2WS++xxpD/4hZPbOUfcF LwePuSD3tqKrcmAq0vmyND1aNSOht0OlUbnHtsWxJmThEVEF25VfPbWhD+DZjRj8 hkQNzgkdeLJXJNj8JqS/MedrVa3j3wzHAnSt6fIQ8VvLmZDYg2gCpZrlU/y15Oby OrPkgOCC6MC2PFwHnEpAfR0d6AdbZ+ZeLqbvkB/tkMsqroNMSlPtgq8AWCKX++WJ @@ -145,19 +145,19 @@ q36z4zctvbqhRNzOWB1bVJ/dIMDvsExGcXQVDIT7sDNXv0wE3jKSKpp7NDG1oXUX L+2+SF99Kjy753AbQSAmH617fyBNwhJWvQYg+mUvPpiGOtses9EXUI3lS4v0MEaP G43flEs1UR+1rpFQWVHo1y1OO+sAEQEAAYkCPAQYAQgAJgIbDBYhBH43kqnYrPfW -M7wViO2X6Q5iqn40BQJfJb2zBQkUrgvPAAoJEO2X6Q5iqn40cnMP/17CgUkXT9aI -JriPM8wbceYrcl7+bdYEf79SlwSbbHN7R4CoIJFOlN9S/34typGVYvpgmCJDYFTB -xyPO92iMXDgA4+cWHzt5T1aYO9hsKhh7vDtK+6ProZGc+08gUTXHhb97hMMQhknJ -lnfjpSEC9em906FU+I93T1fTGupnBa3aWcK8jM0JaBGby2hG1S3olaDLSTtBINNB -YmvuWR9MKOhhqDrlk5cwFDJLh5NrXteEY08WAzcLzG3pkrXPHkFeMQtfqk0jLdGG -vGC3NCIkqYrdLhiRvGpru38C26REn5f4I0vGE3VfIXHe8TMCNmQut1NtMuUmpDIy -1aLxGzuptUhnOJN//r+VjDPoi3LOySNYphqe/dMubsfUr6ohP41mKF81FuwI4amq -JtrqIL2yqax3a0qlfwCxXftieqJcuekX+eCPDCKrYMXR0FYgwpG2ITZUGtrEjESl -E6Dscx734HKdr5ORIocLUUKEOGeiU6DGhGFdb5Twu0Sn+u1mUPDN0M++CdMvClIE -8klo4G91EOImu1Upb8xcOPQwxh1jwqSrU5QwoNmSYegQSHLpIUurFz1iQUh1vpPX -zKinkWEqv4IqA1ciL+LyySuLkp7MsJpVRMbWJCNWOOSbaH4oDBJ5dHMGc35x5mos -Ck90PXknuFDDsYHfDo5smf9lo6YXx7N9 -=QLCc +M7wViO2X6Q5iqn40BQJhMB1RBQkeFaxtAAoJEO2X6Q5iqn40d5QP/iRm1LyrCKbM +dqgP9ShOcPH7UfFEr4SY2TDdQgE4L+QItP16RNgTxAkxaBxK95I0nletr03inRKw +sb0dIw/BH2LXbG2DjI6yKJK6UThVhWWBXYuGjSv2i6bVIzHLRY3IOQF+8dyVJ+vo +eaOtxdV1lYR1ke/Dv6pFqUGGNBsSVu/2R03uCffTA9OsRzbuV5mJrFgxVFmBAguL +N/cT5Ffh77x3LsA61Ro3hIX4399GFFBQ3h4RfMA1nNWiU0KjNy/GtW0amxn26zhq +Qvy0W0hEJRA6ts+e/4ZHwcX3U7NTnPTckbCyy71d7U8/AVHkoy7EB8ROcDbJHTJc +KlG9f6eYlPZ2aYVqBd9n1Yj4NYT1zobrQjvHQRCUAx0naKscN2es9x/rWvg4BnnB +cXRaT2a8Wy3pKzLGD61dstvUM7tnyvdBxHk7aLlbdsfZP+flP2tbHkFNZWH5myPE +lPMcQGFYyi9to+4YZU28G3rnzxmKFWkYAEMaxPZPunOZnOBHURFhgk/qs6GYSTPv +g0u/kd1JV2yOKHb8+SB/Dpk/gx9KybTUC3TtbW1b2X94ErB8LCmpMi26a3ZvyxrE +5DJx2GdUoj2QkKTSFQV7MOo1tJ9vwtSfHnpT/+E6yKtzCLl9CNiVjd57puN1BhWC +VvLwfAzUC2UvpPYh8u3maJaMAC6BgK78 +=JpE/ -----END PGP PUBLIC KEY BLOCK----- GPG keys of Ian Wienand <ianw>