libgnutls-devel-3.3.27-2.3.1<>,[ר/=„iy Ks ˙D3{T1o=. nI^TNڲ(5EȎƴRؠcB%7[fHcG^tGcҼչɼ@y3g|YeXu "`PAuYktӫ*d>R}9 D8 /Ň)lqsZY5l Ӊ4Y~d879#&iQjֳLuyi%89Jb=]Ń{&6F Z4NtMh>>?d  >tx  $++ &+ $|+ 5(+ + T++++ x  (8K9DK:aK>L@TF\Gp+H+I+XY\4+]+^N@ bORcOdPePfPlPuP+vaP*wt$+x+y|zClibgnutls-devel3.3.272.3.1Development package for gnutlsFiles needed for software development using gnutls.[רcloud108WopenSUSE Leap 42.3openSUSELGPL-2.1-or-laterhttp://bugs.opensuse.orgDevelopment/Libraries/C and C++http://www.gnutls.org/linuxx86_64 ALL_ARGS=(--info-dir=/usr/share/info /usr/share/info/gnutls.info.gz) NUM_ARGS=${#ALL_ARGS[@]} if test -x /sbin/install-info ; then if test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then /sbin/install-info "${ALL_ARGS[@]}" fi fi ; ALL_ARGS=(--info-dir=/usr/share/info /usr/share/info/gnutls.info.gz) NUM_ARGS=${#ALL_ARGS[@]} if test -x /sbin/install-info ; then if ! test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then /sbin/install-info --quiet --delete "${ALL_ARGS[@]}" fi ; fi ;?9< DP#05@>F )F ? L $l9H'KHGM#}o~;bGC"r0$oM[kv y{lũJ=   B 5"lH%N#boi;wbGC18mEx9~~m)&bs eZ'Xff==0U%uG=C Pwye%A>?r_R^wV80jl\RQX}\<Vk8L | n{WI2ZgIZ4\51*|9_ zcNx+fz&I3*N> I7(ZNo()aI<%mTD81'}{!TLXM?o%E3~+jP[2}Yj>o}(W<uxZo7zn]XNn0KquM,$'SNo!u31H~%HJ3|Ft$V&h s'a)@hh >k|apoUZ   Q -^TR=WUwqu~g$SXQ1<6fe}gbuuzL}CY) mpF,`L1X0H^H^*a!G_F^<=3z?;N}{L#9 _SEsG4,hg8)8t ^ 4I{"[u;A9^}$wK=`&+" hL Q  eQ(((,xm(.-h_8j\yUJTeGOi4!'S.A1&#!(#I>" ?LcAb1ZY"b?L{:#9O~h"}?kK]vm:D2K'  oA큤AA큤A큤[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[44bde99e9cee550d13947c6463b70245a755d079816ee00640ca7ff249f340c8bef2b922550290c72d934bae5c095efa7417565b6d5d041be9253c4f0ffde0bcb98f86b8641b4c50cfd0e97f16ed7f69bac9327fadc6e75a8893cba250b3c179864cca689c251e0ad45f9688bcf3b58190c4107afdff05b2835e41a5f19fa587e96b67aefbc19c2170b87c15874bc741baa38368cf3c3a20ab81c93365647b92c47d4c025b49b6f66a6f4e4f48f1b82d2fef225ab73b04f816124a77675b878199138d96dd78baf561ab70b1ab9efb5078860cec19fb15f24d44b7a6af34646030ad66271d2aadf94f48413fd953bb8c02fbbac655ba064f72909033cd325bf8f7fbc599c0547890135a877b80c34d3a3ccc438d84d7c41875311bf1256d0417c97778cb849e91594c27c3bd3ee7bcf8865e728cb62c466825dccfcbdb4fc1558d8c361974507318ee04b985c32ad766aeec17cc702b9090b926204b79eb1d55ce537b01ef75c3ace96ba50453e12c6af85575b553ea65a29c2a28353d0f0ccde003cf5def73de6e0f1dff3baad9cc0112a86fcb8e5ed35ac90f350327c8e9b712976532b5920b9878aaa5aac0a338df8e610c8e4b0f3c3d0ab018689af7873404922a61fe754baace78ff2dfe14d2c49f1f7f36c920e233ae9f57f4eefd9b98eb7a1fbe0513e2db2a8dd8018ab068730c27c215c88522a9425a1f7b161ec05df707f4df7a7a39dddcf9023df7b4ba1e3687a844edd64d3b28b7942feee114fe981fd472353b83f8f0d866a495f8b7ee80c4c7e2e547639ffb839eb794a5c1acc6d4b5e0285488cb6a16276d679069f7652e09954aaf55b6fa061a118e076fe960958de426f49a0d8b9953673d81c4e1ad0ec10c200781e093f3dc82dc1af06444ec9abc20d55d764ce6fafaaa62ae459728fedbd3a50e252d7a3c35dd64cd24196b75f11ac4017ea1d826a788047415618bccf996fda6c8fa89678e2eb1aa4794428cfc7b6441a3222bb7c89bb9b17b2b47937e262766fa6dfb80bbcf5266674566b47e0e347957756573462d98702dab9907de5743dfd07003511f7042659b9d9f7bc005090eff34a8e331956cce8c8a27eb0d044ef6dcd0cbae2fca53a1ebc8ada3e9a06a1c3cb1cd74cf791a447019ebd38b9ecb3bcab337297b0d1729d5d065558bbeae4351d441c817b725a88ac595a0e629804c8e1cd8f7c791bd51860e9889f0959dffcbdf3fb83fd7d5daed89b535e9d8bddfe36157fd98a8fe9d768543a4a9126de8572d48f22cadc2ebbe7524ee955e354df9c57259d68ae327316c91b536d121fe243069583ae0ad114f5b0b109da77b1ac08b2e017cd20a7b1eccf25d25f9a8b36159437fcd14df7ae9b0e2acf1e4be14d67e7b8e09623593d7809cfccb445fe2427fb45d48840d54bc8acd785b717b3a72834f077bad0f18699cd9bfb11cd624cd387f640818f62a045dc5bec55a3f329ea95bcec1212a8bcea2e3e95269de0b3dc3f608b757af0b1c71bfe6d604f99afc8491b53a658baadcf50ecd076265414aa42d2564db1e652d9941f9322932d03f82025f0ecf635b617db2ae82d8938140b5dfbddd52344023d03916e2a542ad13df6168eb1763f3e306cf525dd6dbff26e34212555b13fe0268ec118b1c344dfc8288d674b89c03e47ecec4d4ad66d1ea924c1a17b492117e43dd1084a6fed2b1e4cf2f40613838342a703e8b7b92372cb65fd9adb52b9cd84bc2a6b55a3457664b442aab49a61d6cb9dff45441971c4194f41f276b25f9065e8c266f16cb20af7bfa7598bb695926082fb74dccb13db87685beefec607d423ac1fe378976b51acd576731e33f9597a17e47cad6d105b3d5eed5169244c2703b5dd18955a16d788a5b2b856704ed2c942a54665e049c148551bf4855631ff5b51f950cebf86f9f498caf8a42643431bb8a8fd93527ef463e0eea23afb91849729914af97e1fc0e067c73faf76c68fdf0c43c4331688667c9c043f219c5513b6304432ef6cfa51913e439247c13ae65b5cdcd0e2e335bae8e90fb559bf36e08335f0a97b3c70fbfa427a47645b753d226eb93d051372496f658d84fd91bf742419229918ccf613de8423275c954ac8a4d969ca2e58d5587c8a1b500f5eb0bb09cfb8720fabcf30b875df1eeee51493cfd76edb0784e0f7f4337feb3967172996ab56fab9260fca24e5a6eeb13765e67d5897ab79756f6c98b7fbd736d8eec25e078942fb49e090317c6630af317330e603cfc17d7601d59420874390ee406325630ff712fea45f0b6e7efd0f4a18c38f92e3572d20a4ebeadcbef9f8ec25d14c28e764dcf3a03c800d26732b30d4ee588bb5918de3175bd2b9bc9dd21a431bd59c1e679e679f24430336759237824e63cdc50e45d430a2d3c7a87a5e6285cf3be1b0ac57668a113548de219a3c7f22f2bfe360c2df654080c27e86cf88666ee17d1fe6a1561942ba035c1258a664eb8c331f97c67fd108947aa0303e79f901bf861a83efd73d43ef3b53cee8e13572533ad7ed46b82bb0f26c94b292c5a5707fd2860ea3ef3302a886d1f661b00d677968f9fdf7c77ffdc4982f38ae358b3b268ced8fed5f1a18d0f9e47363c73ff371c43393c2735e3f05849dc60a1d8c280345b7223cc0d9e5be52d268d254ee3057db7ff4112cb669a938d049cf7718ff1d2e7f73e19370dc5dd935cf6d063dcf35e5a41949931e1118d5067360c1725fb4f81b61fa55aca2ca5d2072145f0345e7f3aac48b479cd70f703cb9876cf3612ba58fb4eaca21a3947b0f20930401708711d67e6ac27180751746d1ee9a93da5136d54500f791272203bfe37b779728f10bee9628dea225d693bf9b684245040b2029651c46272cc60963d1ea89a1e7716488f86122356a5e5b996e87d90d88a377e2fba061ec4c61761e3c5ee9b90c3e663ac6cebce0cfe5a573451abe5a38142de6449a38d6c7ba90f34db99e464f1127895e9e6ca43c969a79f34ee2bc9e3e6faa6ea6cbafff11e6a721122b54a7c4ced315655dc454ef0a3934bbac6d881f572601c28f6de5811289633991679cf6bbe1c193ce9ce14c6fb4bf76d3b9deb85566ec1f4d0f3a34ec413e82a6dd8f14e2de5560da98628736c2a879a5adefe0f68bdd7af4bb4c406f527ef8b3092960b6696aebd9fe15fb4c3b54dc4e07cc2d0be7beac91bf2d2d1ecd40a26d7dca2dc77617e12a898d959b995bc688c0e088f221b8487d15085c8784cb2661bba3c6e755ab85f3a457e5d5f3f3f9ccc12017a5639256097cd13ed1141d9819e2087c2186062f3ca6b7d3a1dd6364006321872a07add3609bc0c9691f6fedc5fbe361a8420e3be5554b438a6c95d427f8ba3aeb21ea58c228fa544206f63047e0319d56af54ba85ceb2e5806d1fe8f2932228fb2f4c2fe63a7e7deb423da3a1824269de29dd50b29235302037fbe5888c255a616a1b9153e35e390fb8acc4da1d9d17c1fe020719f3074d414dd720bc4460cae930b639e2923293d93d39e67d7760392a7e742f104f264cae91055e9ad3fd929cbde8f91310fc0cddadf2a2d8426bae5a79f0352ffe2ed5b9a72610da2dd460b10b4e96321058427a87aaa63a6e17098336af9199660841c3407a40842be9564823551bedd16427adadd079504ccd35e523e909b77f3d49fbd7a1160ee9779a9c30aedb98ad1d6b0ba5beaa9ed671b4697bc70b079c7af8ee16443e04b60f23a230562dbcb4c08f788f141a7afe6a85f920db02093b89262d7b484efcb4c411530650385ec42a78558b0bbb4988a0e16611e94cf1f450bffb9c86cd96304e5290b0aef7fb181a1e50dfc8ce9d38417cb8609ba58f7b940bee1b855048acdab8b1385680fc38db3876713b48125eb5def5adacb05c99340686f9af4143b40174722c6fa3bc37f40db641095ae2c0300ac82cb59720c225a93c3086938683047e65c4e850c893e3d8dd09bc198e759be6758cef1a248bf4d0afd422f7a6b823f8d037f38a19e7489dc56bd92272de94a160154e95138575c6f71f8d8a7d0c027187cc9dfa5c36ff3957a8f60e1dadfc8e9ab0acf20728d6a124534329aee5439b43bd1a1d5a39262120e8243a524e84a4b941493a8cb3d85311106b2ccfd17b27cca7212e904b5cb352432609118f5111af8909d5687c0122de098cfe7c620b94de640d5eb307bff391cd44e941605fa2583c3086b353815a896edad655264b7656377c2513ca60a09c3f7c007d25f672ddefed892b90300e0f51a66643637c5e4c4b66a52185294cb1a19fe29b216464abdf3b9a24728fcbf86cd22b6fb26eabcfb86a286df1e158b27f5d4d51be0c7ab71d4b4cdd4ba83166661297ca9016ee24e1b493628b243837fe621f753950a2f7c39c1f8b1a949e20382e1ef9f7f041db2e8b9854d5d051c7739c1d9d37c96953d5bd31016bf209dace83b6556570f769ae919ed4f8069c06398d6a5fb2b7c379d02085224fe6bd56c2b287d66fd9dfe6dec599032285c33815d7ff7fa1f4b3b368d7af86cafd07c958225388bd539ed755579e5e0bebb7d1b4c2686eb677a6fca313be8574bfa80a0062551667fb1abaf99c99fd4a69675725621b98701668c62df79d74935b1a29cc3134f151b3f8d7caa7f7fa0c200819a2c127d0aab8b764aa4dbc13fd4162f4b933466ffacb99a6c4273fa9399c6a3a1c5b690e011d77eeb95f3369a971c6904ce32b7f06534c58abebe80a7c70cb22552fe096032016faa8180ce90bf26443a8ef970f4e2dc29bbcc13c0f61f2d9e5fe2617451d21d7ece28ed735e5a3e369a1de303a1c453b47179c2855b5a440d1b60993a33e9b641b01349fad48f157058293392b6ec213a1cdf74ed62b8322a16f9a5059992f3c6988b02277b89363c84a2077bdcdf63795f9519612cb39aaaef459d7de77aebdc2fc404094a4b4e032acd73ae73f151ff952dd5a9de333b5ced18534b15d62343192c3222232ac1db5b1f440e7f18ef4102a9935f45b4476589f309d840d259193b03701df8374b9d5df1a6abb8e8f1061b34776fa153f10dca644fcf46c1cc15ff653b5233fc77a13c952d5f9c7dbed585efde434cd7f66c20c60ba22ad86fdc683eef6f3d72cbaed63dc2648c16305e5e347d2038e95c4c8e6363d0d5b6a58e11352302700783c59f5652e0cef94329ecbc3229ef32c3d5050e4dcbc2a4658500c919c620edfdc1f49c7d0e13a39780ad6f63f257c3a96cba5627ea11602a2a8e0dab631c172acafdb627420d5c7d6d8f6d59ea33bcaafb5efa79b031052573479eb25bd8f568a24a3d978d042e39a351b39361faf60718a581371a24edd86b75faf6a233f37470adac45e0feb836258f4ab80263e80fd83a8207f4a9291f52534dc954974430c7bc3712d7c7e666d3ecfcbec8e7ff3a83670419566b122378c0bc8d0ed0b19a85d09383a5fe44d3ade44f377224c9996705084db4ae7c845b9c36b7114465901285dc07140404a6ae4b16bec014716bf8f98c91a1b2a6c0fd191b6a4b783e603c81f837e67d0d176e6fea7c98c2f840d53075ad1655744609d40dfa02b0ae0cb344d2ee47f6bc2228479047f89e82110d8edda809d3c63cb3901bc66c489d8dc9377a84bdb0df5477196911b3e3de9e8faf330a82e1511d87a9819ab5a14169f2142ef18b6b4723bf89863870d34e10bb9a62e15d55e745cdf3a55ed5f2e47c5aadbbb3a89c75c1ea1d190b5d379930ea0586ed3d55ef7c8437349552a5156b29077771943b3b6e0a68a527ec7ff9e34d561c0cb5951dd2fac0ee6415eb8b6a4c286d3efa3784b79c95d48ab72f54e18f771893e0e656c1f49001ca6e667e6092c7e31918856cf49bc13cd5017b642a9b42d44f959820ae979af7cfb8fd901ff7b94dae97fd8e8959843e4cf6d39e8e6b12da13b1afdc19d2aeff3a9b668696a6f74c454824d2176440b68faf83afd45b1507c9d1d7b933242b0676b2011c33d389bd30b873dc5f1fbe3dc06c5ac44604283cbbd70e5a15f5661f2dcbe6de52a9ba1a362a9709cd361d6d970301fb4e590650015d57aae053de8d348989049ed724bcdc685e923f4f8ffc999c40de692cea6c762b93ae99c957924331b73e9dcbee7e6990c380f9acba426768ddff0ed99e4d4c0ad3855dd96548ccea80feb7dbe447714c22f59547093790efce1639ee1758161ae3923b65359887ec4b471d95836d0dfb137af84a4474ed62389a6c12c70d166e90a4c219814bccd14667ad4102734c8c6e3b07dcb288d9ed99a215895c7984cbac977b1e9341cc153400de066a1bf3f2d2fba43c8a1475394f0fdf32e4b10c74bcd663f805885538ca9aa27cadb8eff3417b4a4d77fbedb756af63042b913330443b5067633a7585e3d9fde1677782c04ab1da04f167d16d6a2d2310f3eda93cd87dc9432fd869c5554f6d9c61c6bb8b28d7a32197537fccbf19e5a0b84639415d26e03d13b30164d87d2bf4bfe8c220ea75746a7ade3c20ec209161090700670a62e289b91527789aecabc4c86aea349cf3f30c130031a3dbe5fbdb225e78c0107b9156ffc05e72398df02cdfc8896dc79f60659554521e77b491958e0987b6165d592dff245593b8d9c8e8f72877ccb842d76cfa349f84db0e3e6e42c0e77875d11cd11cbdacfbaeba366ce8deb5d54d1c2d621c11433d89415765a3a5e5d50d45c6dc63e2d236bb1671270907a9ba62cba337411f4a3b4fc946f38f34f25c4d46344b0e9c6c56a356b7b6f724b21336b1d1fef1c1d25202b01709a7b7a59a68dd6db4225c53aaf09d1747d3f2c72d517f3448c6fbae6c681fb46638ece8d3cad0a7a249cf4f98481a3f6c8beec33aff0c511ddfe76627e4ddf07c64e51b2476ba5a549ebecebed0397a2de89b3d921c03c4e3070059da20ad10402790ebaf78081a2c14a692307c7ad3de7e9d5a72d86030a55688f0d1475c762a057a698f1f8883bec7659a72058875ee02c7c13a25722f2ff5f0fecb4ba81fbcbacedff47502ab32b4f7834d1245f8d5f6801760d01fe557789cb391730417826c988dbc943f9a3f52bb65bcfafb698c9e45b82a9bee17a865402a204abea9949ce119964fdda219f6de968cb5986c048cbcec66864ab3920fe7a6f1985fbdae9cdf25e50b5990ae326cd90db61990e3f486e088dbaf4e4aa2ed92de4cf21f4e55e1986e2a8ae638e81c104b9f43085258f24e33d76797a1ce06a61849c4e86e6b09755a25e6f999cf598a44b21b42e178465d3dc5ffd0e4e7d76a23fc3082d992b1d91c3a36467a3d4264baa159d519a72efa68a2ad6a32ef269459188c74f596aa5f49e43d2754bb9838667f118fa6fdc214ad39f6cb531e8438ac1ce23a8fd7a7a938af66ad2879fc9c45fd0447e23f0d4429b02f72d1ecc72d0762fe087754f2a2ffb722fe9393e1ea7bfacbe16823e39adb903bc9bed364a3d013458107424d4433d5d1dbf40cf01c145a55c6e8175d9f8e8ea5f167e627cb471c6d53e0e98a03961ac9237ca1ad97fa6c0965d3d7692ba8087f3126060bcc17f80874ae6303266f645d74bcd4c136420717f8bd05da6eec8d4acaaf141cb1f327bac0eea158c040ec864c1d2b2d9339bd593c698cbb99e768a776714cb97eddba503131a7c96a1b786fa877819edbaba5ae6c6ec03b0d726da5ce5d2ce27714257c2426b447a7c06e49bc0b9df4fdbef98f6a2dbd9a8f00c1be3a4accdcf09ed48bcbfb722ba708c6dee32711ae392c5fc7e7fc7def9e3ec4b5dc8a17caa98bf62c1c4d08d4ab4f5591826d910a5e860bdcedbc494b580d59ca4f99370590bcbe38defadf43b5f731b9f3360b906cfce8867a5186706fe48bc85bae69be5266be5533c675e70845648743b02868a17ebc37d36b7d35970f6cf1b63c24f82fac745b7e6cd4b829cbf70e348cd651176d40bc810484ad2223d92dfc683d748fb7fbcdc09384391a44a9f869578aba266196f448b9481ee36bc898c0082012116990e744cc32c38eb968d26ae460e88649b365529e1a983a220b40fb34ef835e23adabfe06e0daa8e68ffec35ea2e00bfa6a01aa6bc00e6cfe36db4f587310b631d8b414b8a047bf0ba5c9c741f8916fd651f3cf7dc5cfc2b4b2a6f602ee9b1f55f7c640982078d35c0784bf9c3be80ec5dfda852e97c940aedb4f9ff0be6124b75bcd09c845d1c6fbd73c7d5b8e45ec8e26d3b7d89f72e51b7de1adfd701c498d81221acc73b25089ea6f1694642067ff861fa1adaa24aa8fabdb5528035c2e0d8b35aae8347211d39b2a66e1b7696302f0c3907ed0b6d51f7c3113289b2811d909394707da6faa2ec72715352ab1ce228a0aa7db6d0c642365fd725197b83ab0fdb4cfc9353abfca3084831e6f7a706e89ddd7f3a4fa83565ba88640a4d38fca091b07d09fce4ab4daf341397d729432e1709b0257d6a9f1f83dd2dab16ed8170c931f7b357176dfdefe90cfef1a6dfd51e36f3c4209eb2ab4f93bbab9fe0159e213797205663f09e2d5047a379a51c19434171110fd458c5790173870c56b6f82cd51302accf0325a0bf4ef02a15daab45255bf261d762254be2ad5a443d1f39c34138036d02616b34ee7c7bfb4fc38027f75fafce3211046d9d029fb4511335ab7b52d1bb57aab044372d00c6ae3a0b6e4c78769701c1892b38d8d58451697aca7419571eece16756ca38bc156aa14f8266e99aeaafcb9ebd372bf87496dacb102a39542b09df1b3cc697c97ff6c225e3e2f44f85b1a528b7c8103755374e130a814ecfc9ce7c8bcf8fbb8d57d7b427844212c0ee5bb6e24da3dcc6cb1b2e13a89ceded36a4702d3638803cfa2aa0c2c69b18d26a2e5e3ebf9f37aba5567b7197b535eea264951af6d9214dd2fda5f454c088644906efac7c7888a0294bb88361e6ad81ed982d926a7482542aba18eda997e2b34d08219f02453b362b3c178f73e9988c30357f50161f6bbf3cd5807f539b97f2366f8559eb4c6f5657a02a6cd2a810adeb85d2a62fb2002f7835315f5f7c6bcc4cc7bcb5bff7f9c2ab3ee0a882dc2627d0b1016a253f058f3ef4e23036d910c67159c9133b4d28daa4d4b6d265ebb0ee3d86f3ee6683427e4a85a22e327848b1bbf044d95c36ec926687865095859bbea0927fb07402926c9792ba99d00d65422342b7d4c4ac3163b352854222686e2cc188cbbc75555ceaebe28fdd96bdbd62c9e4f8ee7e4d3d2da95875f8e32a2db03c9b6200aa51ae5777a5d7867eb0562bee21b57c3dbcd18d22dfa8f7a5074bcc0865c4d90ffb9e8f9c52726aa3ed48f5401bfeea44e997bae36551572e8ae788f39275f9ca2ab07915c654e8530f2d817bece0dabb765bbf4136f8888c42a5336da0908ac937620ad21eaff2b021ffe7830185fd69374922707dced2b780bbe69abbb6925f0ac26425782044390080c1c3232e1b038a1125043aa99405fc4aa8e3b3f5163f7b9485c81d362e0795c7cdd9f918da17e129576c5d00b5bf263a1811b02182ef050958b8bc0316b696033b3e82c6e63893d08d689ff63b9a8cd7e09eaae9b5e39081e73f10b176a3e282ac7da4ba2c76335bdd2be72f19f4584e40fcee7b9b83ffcd5e0cc139489f81961ba83805f23729985b5bc115c2d2dcd0a5c4239d10bbd8dd85a48854cc32661a700ca22b489c942210e6f70d4c5d161f672b07c8a8025227bba656edfeb7377310935f2cb864f80504f970624435cac72e7e8eff95eea0217e0220b869228859a9fa05818533f5d0960aec4d08ee50aebf7a03326a349075a3fce589a6d74e60689c038c40cc54991e60d9641c41f12e47169d98532386b7aa09369b8bd164bd31dc95f64808f79e70433105bfb410b99c9a65f54f69ff19ea5090075ef2d7a7eda8fac5fbb334674a61d9bbc033ef37367bc7acdc0093f0e87ade80c5a8bb3f99a2f184104c2b4295a6e22c06e2fa95d42bcfa79004681c4c955756fd6185ecbbfcd52489489e4919d6641d549ce6b9a46a16d7bccc9340c70c0e9f722c499ebfee93552d3592921bd354a2cd93e01190b2e4980dd2c16de6615156e586ef4928761a8a62403dece015221fe46b4c3fc0951b9dc42bffbe0b3d0430e393db4dbb4aef1b3c36e3cb27925aef111e9c2be82c67e14ac482019ee1224c84a1ed2e23ba626db41db0a47e2859829a5b5bc6e5f9f0b28061899d3a3f13da94d33de67e0be30ba1ed2c06e0b169caae9730213159d8ac3e5a5c33c126533b0cad0c4423959fb82af2dce6f4cc60883796b0660d503d56edc278a782a9949596deee0d4c6bea57bae8dd4c6f1e16d3e3e99e21b94cabd00aa1549bbe3346101540eed1bc3b8fcae9bc281d045b92745d5c6e21a86e51258e95d6b66436ba93f081541bf6a383d26b14d3810af5394bbd4199524cd14db56239feb8ce53b82fc7164e2faa4afbe8aeb5de96efb4782646fe6fabf34ed818dff3a1087d87b23c1c81c815bd6d537842d8ec338459eb0d090d3e68db05f2f7ef7d882d5c0d089b6b9992bd69e63d236c5a31173030ed46949db007f8ff46983f36fe7e26c454e3e00af27e236394c9ed0d239d3aa954e28cb6b77835ad01edaa2b09d3e38c683a06a45d983c2c7726e39d6ac6dd3369f9f8446e08dd5dee4babe9b4e36d66628bb032c2adf7884dbf4a19e6af4e967a8c6758847c30dcd9d099cd211d3c260a152d5c2f94d1e5a0ae9f525d2d5d5f226375b4d4652cae6b2587eb951843253f983311a151099bb36b0ec64a03995a8d5e9085244a3ecdb11c6c3a1e82d77e164671fb0634d3b7b77d01d5c1b0a9ac85080c99cf53e9b26f5b6840b0936627eafc1ba2e275bde7b3e3cc0f7371a9e735303d028c3701f6ffe2655ca2c4d48c310d00b864e90bdecde5827bd55744aae4847430db91d9b3d21eef3ed9713128d1b2bd80e22051598b95f4f479437c68e1fc1f55a53bf153d44bf6defaa46af73e09da7e1d4dad5645ba79ab5d0c0bd23216102418e6c0d98f43db42c25b11c9bd779d41f972c61d7f5c20765cb8ab53a3fcdf589b2ac90879471d8bd9af61ed6ab0bbdaad1b41390188b751f29b40c3e0196f6997d063351cb534e111dcd1b570764611ed99ef183c4f46f68e268d30e9d681894fdee9a2c0a0f281540b45dbfec53fa6cb64a8ca006c4e61c2bceb935d525565c268a74ecc27974c44b4608df1f09b170c2449a4c027065d32413c3a4eb83333120a21961ba42655346c863ab6502a50f6ce18c9ffe63617a83ac436244c191d1b58dadabd22a24c72a1418cc6164950221acca11ceb22f59e1ea1d3bc8b2de16ce44c6c1eb821aef9b0317a1bc57782b8fab7ff46e05b7caf3f20425a49de2b9c1e74fe27f00cd65ec68ecc3dedd30e085595c981fe57814bb2ca9984bb16246a85cb83355ebc7780d116bf1936d5d840e9cd0f1b75f6308f9d2db6dadf3ed50219283b8a8d1d327d2351c996881a783c63c1806eb45e3379793e49cca8c3444e977edccfbfa38cd6cd1e1283c2dbd174d41c9de7e76e8840244b1916ea4c073ae7d7dc0a15af2fc930c28e534953ea56c0353a75538e50539d6227c3d3d30d2ddfbd9323687701b27f3d93e5ff1f57d16dfeeffc60cdb60759543a9a1c43c34c27ef956424b81419256cfd1af42b0ffa9e35273beaf753869760c165e125ac1f615e690e1d84d8ab055b61ed468e14192a4968c68ac4e2f939ed56d362f0c1e3c9b3a878249f7ddaa09d96d05c11cb31c18bcff3d6524a6b3acb0ffe2bbcb22bd99fd599ec74772603523b3e4e9fb0f1b31a50bdf0010b64f312aa24239dd657bb46bbfa648f61108ca992373c0a2655cb627bfcec31f2a06d70e98312b1da0b8d2fdbe148736c47e3527231e34a28ed1c516c68f042852b44a674112836d148a9c06d2a548815897fc7ce7075c66a2709b60d7e3eb7dcf0b56aeed604a7660d1ca0d5c4ec96c859f849c2bcfee916c1d2a3a05f0c7eb14c869cfa5b536ca7f3f9f7deb127401029eda0e51930038b773a5fce74c9c04bd079ae121d7dd34a19b51d84de7d352474fb99ffc6645981b5e4a540e675d9dd698cb4c98366f663c087ac2eb660ffe8362e129fcd7bb8938f185cde428d5ec5891eabd66ddfa00f122a329eef6eed286b237aa5405374958cd4c80155cc8d4b1300c518f5c8f21c33e3682cddb571670f2317822505674fefc437b520d1c13b4dc17a45e9472536f9455646fea0ad4e651a1dee2a32791bc12a71af8cb65e38c9924883096b2e0b17a7c1a5bdc3d7117cda9800bda0d3ea821ce7b197afd6e9b794b0b8220c55a61852c02853ab10f4d2eca107d3456b183eb9a049695eb3d200a382ce58a767e2164e0f9ca4faadc306ce5d47ff94e9a8ac7c84f235b3afbd7850e4ca392c7f1a0ae411ed2fb6bc64101e214d703bcd71eed3386d640d005921d7ef5644a8bc2e5c235f229040dd3c287d03254328be049cbba5f6ba8f44c795818bdcf29ad8daaeccc579e92e56e8a314cce553103ad75f2c7370d14a22e0dbff0fa9989e734bfb6638c167ff2156394192e035eb6742aff726068b573abd7e6d657347b120c1bf23b8c487e511dee4d6ce817d19a10ec6716df30c0672a831c64003789eba458e4e4fa1fde1517f8d5ff7b059d6d1579707bce49536e6616963b2ed6351c6a784f800b60e7bf0f43b7a4455d1e00a4c278415794daacdad8fc46a4f117a6a699513deee5e2b46d79e33949b25a7aaf962dbfd2d1d100746c296acddfe8b74d628152c83dd39edac5a3dd8483ed4203fa85019b8fbdf82a9b4aa3fc5fa6cc124235e11f0f401272cc3d236896b7512d4ca52c01740ee7b433a7a3a27189ede1adc0708be883541efcbf1976e3adb2f4113d3416d90cc4d4adec839a917dbf18c9f0d1c6867a744270180e5136db4ce602ab0dd375ade38c1070a3277c250b21c0b2799b3dc559276e78b3eb231741d1fda2493fd07fe61300d4a3558ca97998e7e94f743ef54dfc5078c18ea437843c2e00d7e45abe85dce0783b992f9d50edc24a3f396a0d5d01acae06a6806ee35484796522c1497b0e8fc3dd8d58b25d96f723528614d097084213ca5116f04ae27e76b5c6e0642ab0efe03296a82ec9812f417a7efba08ac709eac5b141b3ad3cbc114b9a72c9748a1eae78ad7b348cff2df164706df54aa463e362fcf2a5b712561ef17f30aa88207abab06aeb8f43d74fe24d13ccc374ba3868de01154bdad9b9b10ff0dbfd9fb69d55803e7096f087bbfc8b770df32ffda2ab7cd8603c18e321a91c3f8812ecd1c7667bd7613b86396a2104c2cf385c164b4a508cded79be00481337fcb57b1d5374d9c1fba982dcc58a04ce34f5d61bfa13832eb7383effcc7ca25d93c3d10ee8f23fecc1b435779df5567af09ef2bb9c1c3534aeb6628b763f5859ffaec79035ac0f8eb2a1d7ca0dd0af1d2fc90b6b0a7f34ef5909e5f924d73444cad1f39adf2fc91c995a84601af654fb8d81b99a585054fb4ecbf4a69cf3fd4f674e22b6f667335d7e0a277603840d20fac696dcbc42af8a592c4553cf2e172e39cb1db632eb42a8c53a7ccd8bb4e4898753c80cba93837ce83d5f044dd6ec6d6ed715dce0197a7dbba1258411b2d1c6ae82ff4c1e981e664814b7148b3002fd9f2b2e6923a40a21438ebafaf98200a1128c9cb1a27429b6a7b0e614cca8472ff181935d9505509e09827123aa1bac3a7938b92b66e27f5257ef62da400285686424990a9a94030bb260a4e2ae0ebf5d1cbd229e44d4325ea09c7104c43162647179be513325f97963fb575e06ec4595b729caf06062aec5e7ef7011174e21c8d17f1fd382d7b40a074c8d893a4adbe0a9e830520c62ee53a50027435c49de421c693402a257235d984f390b764790eeac0d461bcd46b5d75a2fdf308ae2232a56dc89a3cdd08ce2342b72a63f10d8a8b91c77a450e157fef160050d15f26277c63db59c20b1eb0cb30dc5e209b07420d2aac3c06eef6c6eb7f9fde61bfbdf805ac89d5383beaae7825313eabc4d8ee1271b62818ed5a3ad28b92453f851e6b9080696e56506ad1dcc8bc99f7fb61acb19e41f407faaee9e067f2bb457a79e496d37b0c26767e36505f2647ca120340208bacc6b12b50ca7b204aa60b0f2d18ee81ec6b3b7d8a916eb973e835050e8f8d6b14fcbb1baec22504fc5b44286a76a142c485cd3c178bb7a9d4e2e6f59465aed7b376716259516d0332e66ded4b38b0f0ba6aa2c7f9d4ed02722accbcd06d5362bb07009234909e92259af34b2c406646319af81762721dba7c13d2efa98ccab6dd6726c7d434cb0c3e8934771cc9022efddd15a7f1bd4c9eae821db65188dee902998a7e344cad4dde609f4edca32fc90a5ca1efc99f91a425b879656e4b924c7d845f07eaa044e67c6a0a840e30461038c390fbbc46a57a62af0ade40387f9737de412d4388d1209c49ee81c399c05897f219526efc73342bbafa7b24212f5aca0a5cbcf5b571272726b03700e0ade875613aa5fc951a533b648de2733984e1f1cff3cbfacd1588c0d070e156444182f535d8355e508f1cf6eb0d4324e96015b35af4fe517b7ed72379daa2dd2796a5f42aa4073b96579a92a0a33e4ef84ab3cefec85563ae44f45645cbc69ea4ce1d293e0d84c801c78f11d178fc4b5947d727491e66cbd97417860e75b4c1282ca01aa350452b8fa3a83f419fb864fd555604bc6c52e01a36b55bf48195b4f7bcfd6d165acd634681524dac4dd40abdf2bff8a1478371ae49f0cb3e5d110b6adb268f76e2d906bb7f1988b2fa68fdd460507936f30db6ad20a62843fa1483c9853c0fab3afe86c1321141afb60d669ad5af5eaa05278557360aa1317528cd29f01429d6d7016f85e79a3bc2bb75b921159885110fc3242c4654215248c2015036fbec198d7d51725378319036f09e90a87064df50875d481422825d680f4783990d33850dc0a9f79f7c81f8e04e6740e3a5b2478d1bbcc9717cbabb8e66abb91180d285c74c713b28156995a174432c07907a76d80eeb0f765a9b41e2a24d036446bfb55fdbcae0243cc85d0d28cf9f04422c56383ae8befb9e6de6564996c987549fad8957f0ce43d63f7bb845a76919b2b2390fb8827271f0991af6c4d34e45412649d5faf07343bc4fd8545881be18ea2db51322ac70859cb00057581b1879226b37e948aa8d9e63d44d30abc5b746db0bc16397b4cb69f63468fd39c74666e362f54610772c92b408843ba03a3d84c5ba6c7e1f655b39d06b00183e77e7de04f7cbbc88204576f04c856d816ff9be42c8719e70a624717c6524972d150b682b92f8863c3b09844e46df0a3a8184abb8da5299f429862ea8d95cfc0b48b9eebafee704e2cd90e181ac361e3a2d8c76b4a96828a8cd533542584ab5471afd51b5888b5e2fed23548e9c4002e2fe4f2a87c1646f7fb91e8bfb34e8c3875a5c9341833304dbb1fba8679d72054bd0dbfb9f31f583d4775eb1f48e2dc1adff1b120403f5e01fbb1cc42bfc9fb3fb526fdd9877288bd32b97d5a600e32c4f5389e1425e3b52c7025c8e3ae71abfdfeae51d39e6909aa6d093bb78d82268302ab2c6f09802b057adf9c761ee0460c8a674b0a6180ed679ce7f64af72f79767c37ca572fcce1644ad11f656dbd685d618735cdf94934e2de242876b5a65ff496391c3e2b50d45b7d272427664f3e9b66ce896e33c22e5e03fd24cf1ecc81d714bb729818294bce2de54676b75b4bf4bf1656f0e9c1866070277bf442e12d8796cc29e72f60c0744159c289f9fab21d2c18437305784ae4f0124e8ab67b8ce0b857021a328fd13400f115af9e6254be32aa556b70c33c88b969f7163b856c2213e0226cfed5334f0784d926f216d14e11cd90665e207dadfd3b8e72a1626afd1503f0863e5e75a8ac857a0164a3f9b57c3dd3b976e82c1ae961232c13e1b01b348cccf438654ca2f3d9c0e81b51ba32d9a7266d32cccf19f254a34e34789d9e93224608c0a9603c0ee31c15b35837150bfe916e746af5f82958ca12afe574a7558ac3ec87d2ac3f7fbbf7d474700b472ea40678204169d21e4a1af3bb67fb000d7004d54e47c552241f8add83bf9cacbf6d19d087c8134cd27ff170b0f4ba634090f0737b1f6e41d7fdc85c03798c17f914e6daddf1f2ef2cf1ecdac5530e3c5bbf6c068390cb0376b4b97324b9695975f1e2c128731c24b24794b3e06f8be372e3f09c574cadb619a351f412780d0fb95e7733b23b7fca967d1223447753102cace89a1e4b88b6b79a41656819141f129f8085cd16957b85b11e16a32b4697ed6b5a599d6a9716c3436b144f4d46e86af558f1c78ce5e85919abd8765a7ef48b09470304a0066bbf97b7b6561359b684e9efe1d434b7e689a450138c614ad08b468ac4b3edefd14f85bf794b64792f158568e374caa595315c5cead769bc6dfa66dad353f97d1ef100e5bc6a72ed5cf70e14cc2937150cb60b320efec3c56dcf0375a32d426c821686c3adfd738dbc44172ba10ec2dd5a0bbf069b76496f7a0a82288d6f336bfcceff543e492479557d879d6b70f1e9f8dfc7d491b3ae051243eecb21c0dbea641815b51125c58e3b59103d2e921e29fe8664245006fd06ae072b919001c1daba64024911b97b20f1348907591e25445b8cc9a81ad657790a579a7529473aaffe71a2bd9708eb775a1206561316de0cefd2e706d8239213c763fe7da608d758cadd18883300b3de5b7c4ce892c3a05ed1da1b3cf369753056de5d0302d7888eb5036ce12b200fcb3ada9dd6b134bffe4b1c986313d94060b5baf688019eafd8eaf3aa4929e481457aeb879f076396e5e0db6f53483e2a46a7fe538ebe8fe79ef69de33488b923a253a25005093ebc9d5726690e9254ecd3f87ba1133f522f6aaf3902f8a9705e088b575cec92707c82636297fe103393c4723a436e5a3c8b98a4c26795041034ff24b0dabbf18a413119109a443581000bbedd30b6faa2712dc87f82142f740e1e4ecf5360a5a9a21fa3d72b9e8d17e5844aee13b6b6d7db7bab52dc12c976cda11783959bfae0e1ed74840239ed7e7c51ed17d6ab8cdac3ebf91838f4d7c76141cb430bd68ea79d503edb3d5443316a07aed5a426f53c0dc819e177f970dd24a59f1b0ed37203af23f6f6d250cb6056540f32e309fe10174e73eb09d10810d5229bd8cc2bd7e3cb3ca900492cc7f85ecc8c99b6f7ffff20ff2474fdd33e5cb10363b6f58c70ecbd440cd92c9d2f9b2de3a1c40d3edecee944d46323c7895717371bbe72c6397c671db05f8abc6cdadd0f779a571d32a76515fce28b24b58c0f882f97e12fdeacdccabd17eb4ca8cf6658e10e9b8abb5db91b568fb4dc915643b1be10c7da1ba3b14477d80680ebaf180ef09a725233103e4fce8c060b3c06aa9f883dbbb20dc767cd8b2495d3412c9dcceb1574967c33513754a3197ea069a4b07055788ef9b2d9e7e16cacb2fe04aa47a6b0962be60f4f3a687197f4f6195013f6b38c659e8188c75b1eeeb9613bce1d60ca54d982d12fb8924ef0c7e4bbf7f6ffc3d31e8fffcd8db41563c14079a92f2033dbd3af94d30b6f695ad945362a600239a6d235d4465c84c556daa4b974d5e92533582ee693417f3fdcca3be1d96279307a50768befe5df2e313868b45623242fdf497a9bc0d5fcdc07a25199b554780617a4dd83b317a238ec8c0e04c440ff98b9c2e4bd6adf13225834a1d738e0ff4b6768a0a99cd9ab8c9bc663ffd13bf3cedeeaaa11e223cc58ec016d2e0868b8e50e22413418560ba2b7a12b503aad7f8014e63d7fc4ba9a33854d8e77162e02dfc50fece864b3757b4ce3851b9676e06d810c997563df1c94ee486503e7ca2aa33d53a737ec508172c90f302e149cc93c2b0fc4c4f5306ee1b25253cba67d4f945a185bd645e22dce99d76a59b50cd5d9cbe4db7d65645ac30cf932cbf9dd9cb1788fc2c5b08a52c729288ca20c1b4fb2a9799dc358a98d7ab5e7957a05fa27295b0f3d60db1aa3fbcac9304e753eceafc7fca7f028bf33be62947bfdecf62e86a064ebcc80bfa1ee99d5511a97b2c54be63c132da5cc858ce133730d6ce4dfb9a6361db0f9f11642b955ab8165825b2e5bef33c0506812e6a24f0863844099b6a5721af8e76452e0a30f222941c2989e3afcde84ab88dca9e35b46f77f5629f0ea6eed6425115ffffec41df8a11b54a311571d5bb8aa7b2934f27727e87421bd2e302d0e6c3771a8c506c6579676d755ab055e7cb226ac5b1be24085ef2ad691ee2b295aa32a7f632b74924fbfcce8fca3fbc4791e4382203780524568c26d5aedb8215498a7a2957b776911a7df75dbc57bd675de343db4e8021ec3a620e5dff63cbb39b3a3b0a229bb40b5561da2f675991edb72e504593ccce2dfcc53bf0f05db8545c9542a6ea826444b9b551b1734372c65dbd787a345cf1535f72e6404e1d53e38cc9c3c6d247a69b7370616cdbc87bf0752d13f40dc0ddc7d640b7419ce78234557f485caa47a3d0610ae272d08c98b02a4a5bcd86134044270b16e1fc5cde92c56dcb8177ec55b383786c54db091804262c18ad09442dc633d14beb5c3090f6ad27fdc3556427af7577f92fd59b3134118356e571ef1152a4636de75eb7374b4e963e12dcd8cb0efe61f8632f8e61b8e89322afc8f5acc093bd9103b218eb8df8e391615c678758c8532b347609a5a9bfc7978c2f27f3e92b59244e3aec0e8ba1264d9662ef6902310d92d202f82008dd313f312bf6fdc7ce4dface58926d5d7123a2838f6f915d17731fdf37f47f23889b15835afdf1284d7c8364528c01e17e0ce212377cc87c8015f46a60703a57ce81febc71909686ac966e8f283951b4194233547af665c06ef54867ff6a87061cad058299e1ef420d61dc6009b9670cb297ecdcdb7dc2f289e364864a4cd681e7dae707de50624f5460e92e16cb05c293e2735e75aa915bc25aa3f64e72e8607ca9238b8a476928b7c01136d8c24fac62a92850808f6ed3677b3ac5e6b9757a81c9ff95940a674e0650adabb591d04c1b88b69cbff94bb895a91216e3900afe7bfca2acf78e563d96023cec4cbd81cace7d3e93cdfa1f69456570e6a1269b130e0dbbc33c838e53426db8776c5f1a4066e9f3bf1f7434160ea2cd9eab3dccc21293b4f638a5eb9a4582dd947dd96a73066e7fb368f143289eea569290ab549d4640acdef5d0754e50491ef92e88088a43a40393bc1701fdcd51857d8e2b24a46a2c94517877dab4ca19ff30731e8ffc6e2d8ca74a4d06d8294c39fd5df349aee063cc0519b0ff297ac9035dc0a2484abe65962896b41c5d932021591edeb01c82db016694cecc473312879683ba78637dbbd269840c834de04141858c728d21398255d647f1dd6e07a350671946984f30f93a5b537a33297008b5d64020bc6bdf3d5bcc374eac4c342aae744ea691b466652998f788286a26d79599bf5cf57e86ef0b12a4c69fcfb13c9c58748f862ef0624023503d4bb86b4378655e6d8b9f14f4f4476151cff8987430cb1119d278e893efe3787a5a6ce505011df5997a78e7830939542dcc62480469e4aacef61c8433a2ff8c450f1db9414651e592a2656a1749885f49efed059b5ca73ea152611afa82151494845fa43f08ae7c223dd0e0d28e278a6d67e2dfbe09b20fa10c2310ed2a6b608cddb46c8d3a35294f35e0b8ca85758a512ed5eefe4ff38812d12b48f29b487f3651b06ce7b9b742d64fb33e069f807a07a69e5046bf974315e9bc05ba59c5d7bba5479df9590651f5063b93d1f4e3385258d43f544786a29e6637f98634e6fc2308c7cd8ef37d665769a2e4ed7d9371acea1d44b422cea1d4c3da65da96203e63a8914461604f82dd14865122c89f8c6399984a2727bde41a85449ae755948ec505451be3b2a95c46225a8ca9b734d40b7c07817973b9621fb65f8f0382142cace9d394a4c3c2d67821d3398c869069f901d75ff024278d78c4295344870bd10c1507366a2fc52dbb8896dda0bcff6f9d2c20cf50860825b281c0b17a0a7d39ac9ef470a63c157617c72d88c5106ae3d7218f8ab82e12532f2c7764776165350949e2771d473c0560b134f474378d7f51ef9e7eb14102df83bacdabac3a582b31e59730a68762ad261eb97bb0623f1a1186a2ff4e413462f578680d11a33e5463abe27e0f247194334315c13f1f374132772079580626dcb566cdd095fe59dbae520084a81c01dfb03fbea4de74a5481a32edabfadef85a17aca4482b71c63aef4fdc9d8957ad3a676bf5ee63db096922653d60c4b30a14e0f4ca7db2c7812e4a3747c1ccc3c93a87626c59bf1ff33eb07c9bb8ebc1af7fb1a0380e8371eb8eaba124408c2f113eca383e9908c98f8318a0a647bcd99d711732b1c3e5b93a0524d748b3d67cfbb276a5f75a7ea0a6828703340d2d9f3790ed0c1a2b72a23f65d3ab6aad5731a0b306caddcc088b798d5ca7f86bb5a920080305d3a76af417d62eb4d6abdf489449690620f2ded03a3b68631b865d1ee6931ed7950e09a0665f8b3f58120bbcc9df304c648343b87c83318f6b0228429e2e320c45bf92bd6f34bed2b2e8f6cc55ac69c31a3faf6fd30e8522f4466bd48c056b57125e86b253b362cfc08dd650fc7717e69fb1712f34fb9b746cd815b6eed703225800042100ec952fb7a9f2a2686533754e8122f6d1de7d0896ac914759cc990717e883e02acc91a98273418387b6c6b6f99a79371173d681d9c97d7d3105313a875e6a7ca2ce8856979d6200b6f48730ae520b0e67f51237702b72b6012b0f2bcf63eb388116aa266c17815b8bd4440453c45106633f8a0db7436f4210a40b4848fda23a6f581f3c7ddfb517c7d24b4d0e8af43493ad27cb4354ad4ca41ee88471acc1d1f5ebae258f67b35a16f9ed20bdaa6684ccd91710314ca998297afde63b2912c178dda721e05f77a0f35e60850d8e679c81be07f3353388ec5bdd670ea6780c12b154c9647decdbcea4915c3eddd7fa47ac9d084ac8febf063079b46c441e86cb942832a9d7d79cab5665b65e0ce233a471828169a943c5f3de09ccc9065075fa215ceaeb4902ba1d7242738a2681fd491ad274b86d7550054afa3493db0b62e3d2b55fa6e723be4872552443c4f69356f0b2dffad50106ddf3e6b691cee1b027d783db8b06210d80116620e8d6295d052f6492aefad9367537542fdc96eecca8eccdc7d585505ec549519719b7a5779dd98549fefc1c1a2d34138512d8f12c45a5cf041f33ce18fd8822970d84ca999bdc8dc251d0790cf1f8f3c57e8d6d8eb48154d63f92291a8b883375bb3ebcf7cc4558b715b559fe113db81dbe7b0b7733bbd7123f346fe8d6cd07b601abb7a79f061c24957e406f6ac1107f239ba97cb0da7058e80d73cb1482563930dd92af661d68ee3ec3947d0666ee34583ac86cb00109b6ba377a3004ebbcc0d63b689b650e4789fb5effca8396d5803660d7bf71859eb6bd9656b617739f2f2472b488bebc9de67ef70bb27d6eb883a2128cc215484107024cfce63211759ddb98ffa740d80f60f5e2d34836e9e2f26b496f7d85ab02d34b8235bb20fcde034e70fd84c09eddae21f937a99b63f2fd649433e5c2f6add78109baf2dcb483a585af6bdb056630f5bd18597ee1da1b04b6f3402407cae9df1427053046f22dd66130dff8fc77604258e780d003e90110872edf1481ac1050466ced777d44b65e697d19ec4b6648d266a15dc13f06d01e17b3759c649d87d2ef7f1c681445441e8f23b523d4b3e12d67820722750b7302c2d4778ead6b0b6886a541b6b9c12e9fd520c7e9e7e22dc5c678c982137597d9cf9b4a5e39edd64647c056fb084727e1ce8bee4434ac9c415cc4720d9d9111a27d8f43ef17be9d8c853b6e149dd0bf632585c673f73796dc7759dad26db9eb9c418c6c20762819c5904ce980a20f85093922baeeb2a73cf48554d92ea627c1e26c30696b6b02e89d5d7943f6de2bf1dba2d7a69a17ba2860f3b67aceb204b1d27b1f45515ca00e30e78faedfbde71b91bf78a66aa417b425e631e0b18d1fc815582686b0cfb087fd5d7f6c8f133f23b8e79d0914fdca274ad792c04408a59c374d476f5e59e7db681e26aa8aad2c5d026fdcc88f795cc6bcfdfc801e24d24cb34d292bb0c163f9815e92a639368c396806e4d63b6e4f0efd8bbc83cf808a1577adaefd55260522e3ffb74665669c461cba600f40cb17062c9527cfed3ba812a1d787b0fe61234186f5e08a294cc5e9430776d9b5c0c3ff85b2d8862cf03ed651b34d6d76cc8eb18321d62ff839dad1857afb15622c120cb204133d80be453ad55d36ba03d8bed54906a6b7b42686922518dd861fd827c7ee52871b575ef3e00efe90dcc82d0b35896d251b1b742000774b2754eb022a6f17bffd075c12018233d45b81b3b7d66283e91b86a09afe985447497fc9084fec6f6c1cde6605e8361a8a794d857d8370c105c1906c15a289836209646ca8a1da3e41406f67a6d669d8df431e37e237b3d09133142a032f9a58882b508c9d3ed88e627fd307ba3a08b86f25b590fee11b5b771e1068e23d133b7461d724afe7113c589a423e51b4e566f5b727160da407f793f2401f6ef4faab52affc920c10db42a35e544ec944ac777774bfe790be36ece1447eea10d12c53360af8d5257c6568b98d69fb975f94cd6519ad4b578f1fe10b5b817e45a3538538bc00c9218acfbdb378653a1168078605f4f5e2b79be6c426e9541bf87e4de3ef398050d67298846f0d0a8b4faef70080bd21c1ca4a77fbb4dc55ad2250c7c2458fc28203dbed5edf1d72b356db4c6486444b441b36dec9e0521d339e36f91eb606d65d5503a600fc69c3489974da84b5feec1761e2cdee4124fda8fa027fb59b401d6f264d3fce0ba6851f5dba3a92aee163fe0a2b92caadcb4695433fa73ac292030d383b2401dae972094ec9fa7ecdde2cfe60a979c44c29d3bf9ef2b775328b7d9a88e37d530dc903e1fd9c06dc39aeba03c84a9e20d5f3f5dfac6493f8371b0f57aa3ea68fd5783502f033a20ae192f19382d4766c5179f340df39ad89564cbf079a1de981cebd07af4666e3deace10d2b18c419186763ef441295fef9cd3832051464d50389d099c7787a484316c8a851cc14310d7e4147b4fa11465b0e6e730280f8e9b94c0a05450339c6f8f41f2d4272eb34755ec6198704a3d57fd7f17c5f8000a717b9ce79c83a386b4d4c81c03640a22e872da4aac5df1d4567ee16178f48750a3e45084509a94d8fb80cec54e1482354180b8962519e159b2839d69bed9e59e1842bc6acf8fcc099640c671be5d16c8346f01f61cfa3f4ca5edb1d0a70eb7e15376a8ecea4976563310f2c6e3dc81d6d7fd5b095ab4af58489fcbf4891a06aaa22d6731f5f1f9caa6ec30604fe44f59cc7d0aef71dbd15cad39b3b174229796defe2a26869354c677f0f9c2380d61c80bb8fbb23de0829feef8e33a44297422850ffd3fafe016a8668d5c7f3c03933b23bd90b210d95644bbdfb8a4eb44fc7cb6b94c2950614387a33224cfc7786de0fee06dd6e8c60de2177f79477f347523a22cf1082ef0785ac3ec286523e8b16b6e1aa3ee4905e3425ea0e0594ae147ca157f1891d228cb081520314c4fc8004cb416ecafc18bb761a724e8774ad1fc3c3d090d637773887c3ff2aa8673adf8b55cc3a22ca90169aead2dd46c76a83d8819d79457c6f8ccc6d43037422ab7b56719268bc4afe5cf133bc0016ddafd06995f57e743ab8707984706d8e70ef15c23202ed20d2e9b76f15b3cb06eae9b5ffe96e8be63d908bdb5a1b0d4471cffdb28a7a0037370b009fd69b35df5bac8c44bec4feafe4c6220565d4287f92f4ef150e54041aa596bec4eeb8b456a8647037dba59852fd31951a97006eebd4b6910877ebca66ea1b4f3768ccd4fdba0bd8a94236bb6fae1aa5802ef4678469217d1bc634bd7787359f3feeba3ccd1eebfce2f1bc85b4bac8619a9965a81ddbaa93ba1dlibgnutls.so.28.43.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgnutls-3.3.27-2.3.1.src.rpmgnutls-devellibgnutls-devellibgnutls-devel(x86-64)pkgconfig(gnutls)@ @@@@@   /bin/sh/bin/sh/usr/bin/pkg-configglibc-develinfolibgnutls28pkgconfig(hogweed)pkgconfig(libtasn1)pkgconfig(nettle)pkgconfig(p11-kit-1)pkgconfig(zlib)rpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)3.3.273.0.4-14.0-14.4.6-14.11.2[@XXAXtUUWUU@U@U ]@U hT@T@TcKTcKT"@TT@S$@SSg@SZN@SCSSnRRRRsRnQR$}R$}R7QMQdQکQcQ)@Qzl@Q@Q"@P@P@P*P@O;O@O Oĺ@O"O.@O.@O@OO8@NNNNN@N}@N|tNx@N[@NK@N*L@K@KK"@KjKjK4@J^@IJvcizek@suse.compmonrealgonzalez@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.commeissner@suse.comastieger@suse.commeissner@suse.commeissner@suse.comvcizek@suse.commeissner@suse.commeissner@suse.commeissner@suse.commeissner@suse.comcitypw@gmail.comdmueller@suse.comcitypw@gmail.comcitypw@gmail.commeissner@suse.comshchang@suse.comcitypw@gmail.comshchang@suse.comshchang@suse.comshchang@suse.commeissner@suse.commeissner@suse.comshchang@suse.comshchang@suse.comshchang@suse.comschwab@linux-m68k.orgshchang@suse.comro@suse.demeissner@suse.comlnussel@suse.deschwab@suse.delnussel@suse.demeissner@suse.commmeister@suse.commeissner@suse.commeissner@suse.comcrrodriguez@opensuse.organdreas.stieger@gmx.deandreas.stieger@gmx.degjhe@suse.comcoolo@suse.comi@marguerite.sumeissner@suse.compuzel@suse.comlnussel@suse.delnussel@suse.demeissner@suse.comNico.Laus.2001@gmx.degjhe@suse.comgjhe@suse.comvuntz@opensuse.orgcoolo@suse.comgjhe@suse.comvuntz@opensuse.orguli@suse.comvuntz@opensuse.orgmeissner@suse.devuntz@opensuse.orgcoolo@novell.comcrrodriguez@opensuse.orggjhe@novell.comgjhe@novell.comcoolo@novell.commeissner@suse.decrrodriguez@opensuse.orgmeissner@suse.deper@osbeck.comjengelh@medozas.degjhe@novell.comjshi@suse.de- Security update Improve mitigations against Lucky 13 class of attacks * "Just in Time" PRIME + PROBE cache-based side channel attack can lead to plaintext recovery (CVE-2018-10846, bsc#1105460) * HMAC-SHA-384 vulnerable to Lucky thirteen attack due to use of wrong constant (CVE-2018-10845, bsc#1105459) * HMAC-SHA-256 vulnerable to Lucky thirteen attack due to not enough dummy function calls (CVE-2018-10844, bsc#1105437) * add patches: 0001-dummy_wait-correctly-account-the-length-field-in-SHA.patch 0002-dummy_wait-always-hash-the-same-amount-of-blocks-tha.patch 0003-cbc_mac_verify-require-minimum-padding-under-SSL3.0.patch 0004-hmac-sha384-and-sha256-ciphersuites-were-removed-fro.patch The _asn1_check_identifier function in Libtasn1 caused a NULL pointer dereference and crash (CVE-2017-10790, bsc#1047002) * add gnutls-CVE-2017-10790.patch- Update to version 3.3.27 fate#322523 * Version 3.3.27 (released 2017-03-06) * * libgnutls: read the pin-value attribute if the p11-kit version allows it. * * libgnutls: Addressed integer overflow resulting to invalid memory write in OpenPGP certificate parsing. [GNUTLS-SA-2017-3A] * * libgnutls: Addressed crashes in OpenPGP certificate parsing, related to private key parser. No longer allow OpenPGP certificates (public keys) to contain private key sub-packets. [GNUTLS-SA-2017-3B] * * libgnutls: Addressed large allocation in OpenPGP certificate parsing, that could lead in out-of-memory condition. [GNUTLS-SA-2017-3C] * Version 3.3.26 (released 2016-01-09) * * libgnutls: Handle status request responses as optional (following RFC6066). This improves compatibility with implementations not sending these messages (including specific versions on the GnuTLS 3.5.x branch). * * libgnutls: Set limits on the maximum number of alerts handled. That is, applications using gnutls could be tricked into an busy loop if the peer sends continuously alert messages. Applications which set a maximum handshake time (via gnutls_handshake_set_timeout) will eventually recover but others may remain in a busy loops indefinitely. This is related but not identical to CVE-2016-8610, due to the difference in alert handling of the libraries (gnutls delegates that handling to applications). * * libgnutls: Fixed issue in PKCS#12 password encoding, which truncated passwords over 32-characters. Reported by Mario Klebsch. * * libgnutls: Backported functionality allowing to manipulate the IDs of PKCS#11 objects. * * libgnutls: Link to trousers (TPM library) dynamically. Backported TPM key handling improvements from master branch. * * libgnutls: Backported several fixes in PKCS#8 decryption (related to gitlab issue #148). * * libgnutls: Fix double free in certificate information printing. If the PKIX extension proxy was set with a policy language set but no policy specified, that could lead to a double free. [GNUTLS-SA-2017-1] * * libgnutls: Addressed memory leak in server side error path (issue found using oss-fuzz project) * * libgnutls: Addressed memory leaks and an infinite loop in OpenPGP certificate parsing. Fixes by Alex Gaynor. (issues found using oss-fuzz project) * * libgnutls: Addressed invalid memory accesses in OpenPGP certificate parsing. (issues found using oss-fuzz project) [GNUTLS-SA-2017-2] * * tpmtool: backported the --test-sign option. * Version 3.3.25 (released 2016-10-9) * * libgnutls: Ensure proper cleanups on gnutls_certificate_set_*key() failures due to key mismatch. This prevents leaks or double freeing on such failures. * * libgnutls: Corrected the comparison of the serial size in OCSP response. Previously the OCSP certificate check wouldn't verify the serial length and could succeed in cases it shouldn't (GNUTLS-SA-2016-3). Reported by Stefan Buehler. * * libgnutls: Fixes in gnutls_x509_crt_list_import2, which was ignoring flags if all certificates in the list fit within the initially allocated memory. * * libgnutls: Fix gnutls_pkcs12_simple_parse to always extract the complete chain, even when the extra_certs was non-null. Report and fix by Stefan Sørensen. * * libgnutls: Added support for decrypting PKCS#8 files which use the HMAC-SHA256 as PRF. * * libgnutls: Addressed issue with PKCS#11 signature generation on ECDSA keys. The signature is now written as unsigned integers into the DSASignatureValue structure. Previously signed integers could be written depending on what the underlying module would produce. Addresses #122. * * libgnutls: backported X.509 unique ID functionality from later versions. * * libgnutls: Increased the maximum size of the handshake message hash. This will allow the library to cope better with larger packets, as the ones offered by current TLS 1.3 drafts. * Version 3.3.24 (released 2016-07-06) * * libgnutls: Address issue when utilizing the p11-kit trust store for certificate verification (GNUTLS-SA-2016-2). * * libgnutls: when generating private keys mark the public key as not private. * * libgnutls: use secure_getenv() where available to obtain environment variables. * * libgnutls: Fixed DTLS handshake packet reconstruction. Reported by Guillaume Roguez. * * libgnutls: Fixed issues with PKCS#11 reading of sensitive objects from SafeNet Network HSM. Reported by Anthony Alba. * * libgnutls: Corrected reading and writing of PKCS#11 CKA_SERIAL_NUMBER. Report and fix by Stanislav Židek. * * libgnutls: Enhanced the priority functions to understand -VERS-ALL keyword to allow compatibility of priority strings between 3.4.x and 3.3.x. * Version 3.3.23 (released 2016-05-20) * * libgnutls: Corrected behavior of ALPN extension parsing during session resumption. Report and patches by Yuriy M. Kaminskiy. * * libgnutls: Properly print the IP Adress name constraints. * * libgnutls: Fixes in gnutls_privkey_import_ecc_raw(). * * libgnutls: Fixed gnutls_pkcs11_get_raw_issuer() usage with the GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT flag. Previously that operation could fail on certain PKCS#11 modules. * * libgnutls: gnutls_pkcs11_obj_import_url() and gnutls_x509_crt_import_pkcs11_url() can accept the GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT flag. * * libgnutls: gnutls_certificate_set_key() was enhanced to import the DNS name of the certificates if the provided names are NULL. * * libgnutls: when receiving SNI names, only save and expose to application the supported DNS names. * * libgnutls: when importing the certificate names at the gnutls_certificate_set* functions, only consider the CN as a fallback if DNS names are provided via the alternative name extension. * * ocsptool: use HTTP/1.0 for requests. This avoids issue with servers serving chunk encoding which ocsptool doesn't support. Reported by Thomas Klute. * * certtool: do not require a CA for OCSP signing tag. This follows the recommendations in RFC6960 in 4.2.2.2 which allow a CA to delegate OCSP signing to another certificate without requiring it to be a CA. Reported by Thomas Klute. * * gnutls-cli: on OCSP verification do not fail if we have a single valid reply. Report and reproducer by Thomas Klute. * Version 3.3.22 (released 2016-03-10) * * libgnutls: Eliminated issues preventing buffers more than 2^32 bytes to be used with hashing functions. * * libgnutls: Follow closely RFC5280 recommendations and use UTCTime for dates prior to 2050. Backported from 3.4.x branch. * * libgnutls: Several fixes to prevent relying on undefined behavior of C (found with libubsan). * * libgnutls: SSL 3.0 is no longer included in the default priorities list. It has to be explicitly enabled, e.g., with a string like "NORMAL:+VERS-SSL3.0". The previous behavior can be restored using the flag --with-ssl3 to configure. * Version 3.3.21 (released 2016-02-03) * * libgnutls: Corrected ALPN protocol negotiation. Before GnuTLS would negotiate the last commonly supported protocol, rather than the first. Reported by Remi Denis-Courmont (#63). * * libgnutls: ARCFOUR (RC4) is no longer included in the default priorities list. It has to be explicitly enabled, e.g., with a string like "NORMAL:+ARCFOUR-128". The previous behavior can be restored using the flag --with-arcfour128 to configure. * * libgnutls: Corrected regression caused by incorrect fix in gnutls_x509_ext_export_key_usage() at 3.3.20 release. * Version 3.3.20 (released 2016-01-08) * * libgnutls: Corrected memory leak in gnutls_pubkey_import_privkey() when used with PKCS #11 keys. * * libgnutls: For DSA and ECDSA keys in PKCS #11 objects, import their public keys from either a public key object or a certificate. That is, because private keys do not contain all the required parameters for a direct import. Reported by Jan Vcelak. * * libgnutls: Fixed issue when writing ECDSA private keys in PKCS #11 tokens. * * libgnutls: Fixed out-of-bounds read in gnutls_x509_ext_export_key_usage(), report and patch by Tim Kosse. * * libgnutls: Handle DNS name constraints with a leading dot. Backported from 3.4.x branch. * * libgnutls: The max-record extension is no longer negotiated on DTLS. This resolves issue with the max-record being negotiated but ignored. * Version 3.3.19 (released 2015-11-22) * * libgnutls: Properly require TLS 1.2 to all the CBC-SHA256 and CBC-SHA384 ciphersuites. This solves an interoperability issue with openssl. Reported by Viktor Dukhovni. * * libgnutls: Fixed memory leak in gnutls_pubkey_get_preferred_hash_algorithm(), patch by Lennert Buytenhek. * * libgnutls: When writing a certificate into a PKCS #11 token, ensure that CKA_SERIAL_NUMBER and CKA_ISSUER are written. * * libgnutls: Allow the presence of legacy ciphers and key exchanges in priority strings and consider them a no-op. * * libgnutls: On a rehandshake allow switching from anonymous to ECDHE and DHE ciphersuites. * * libgnutls: Added GNUTLS_SKIP_GLOBAL_INIT macro to allow programs skipping the implicit global initialization. * * gnutls.pc: Don't include libtool specific options to link flags. Reported by Dan Kegel. * Version 3.3.18 (released 2015-09-12) * * libgnutls: When re-importing CRLs to a trust list ensure that there are no duplicate entries. * * certtool: Removed any arbitrary limits imposed on input file sizes and maximum number of certificates imported. * Version 3.3.17 (released 2015-08-10) * * libgnutls: Fix issue with server side sending the status request extension even when not requested. Reported by Jeremy Harris. * * libgnutls: gnutls_pkcs11_privkey_generate2() will store the generated public key, unless the GNUTLS_PKCS11_OBJ_FLAG_NO_STORE_PUBKEY flag is specified. * * libgnutls: fixed double free in DN decoding [GNUTLS-SA-2015-3]. * Version 3.3.16 (released 2015-07-12) * * libgnutls: Allow compilation with nettle 3.0 or later * * libgnutls: corrected failure when importing plain files with gnutls_x509_privkey_import2(), and a password was provided. * * libgnutls: Don't reject certificates if a CA has the URI or IP address name constraints, and the end certificate doesn't have an IP address name or a URI set. * * libgnutls: set and read the hint in DHE-PSK and ECDHE-PSK ciphersuites. - Dropped patches: * gnutls-3.0.26-skip-test-fwrite.patch: Fixed upstream. * 0001-Do-not-infinite-loop-if-an-EOF-occurs-while-skipping.patch: seems not to be needed anymore.- Fix an infinite loop if an EOF occurs while skipping a PGP packet * add 0001-Do-not-infinite-loop-if-an-EOF-occurs-while-skipping.patch- GNUTLS-SA-2017-2 (bsc#1018832) * several memory corruptions in OpenPGP certificate decoding * added patches: gnutls-CVE-2017-5335.patch gnutls-CVE-2017-5337.patch gnutls-CVE-2017-5336.patch - GNUTLS-SA-2016-3 (bsc#999646) * Incorrect certificate validation when using OCSP responses * added gnutls-CVE-2016-7444.patch - remote denial of service in SSL alert handling (bsc#1005879) * added gnutls-CVE-2016-8610.patch- fix for CVE-2015-6251 (GNUTLS-SA-2015-3) (bsc#941794) * double free in certificate DN decoding * added gnutls-CVE-2015-6251.patch- fix for CVE-2015-3622 in bundled libtasn1 (bsc#929414) * invalid read in octet string * added gnutls-CVE-2015-3622.patch - fix for GNUTLS-SA-2015-2 (bsc#929690) * ServerKeyExchange signature issue * added gnutls-GNUTLS-SA-2015-2.patch- updated to 3.3.13 (released 2015-03-30) * * libgnutls: When retrieving OCTET STRINGS from PKCS #12 ContentInfo structures use BER to decode them (requires libtasn1 4.3). That allows to decode some more complex structures. * * libgnutls: When an end-certificate with no name is present and there are CA name constraints, don't reject the certificate. This follows RFC5280 advice closely. Reported by Fotis Loukos. * * libgnutls: Fixed handling of supplemental data with types > 255. Patch by Thierry Quemerais. * * libgnutls: Fixed double free in the parsing of CRL distribution points certificate extension. Reported by Robert Święcki. * * libgnutls: Fixed a two-byte stack overflow in DTLS 0.9 protocol. That protocol is not enabled by default (used by openconnect VPN). * * libgnutls: The maximum user data send size is set to be the same for block and non-block ciphersuites. This addresses a regression with wine: https://bugs.winehq.org/show_bug.cgi?id=37500 * * libgnutls: When generating PKCS #11 keys, set CKA_ID, CKA_SIGN, and CKA_DECRYPT when needed. * * libgnutls: Allow names with zero size to be set using gnutls_server_name_set(). That will disable the Server Name Indication. Resolves issue with wine: https://gitlab.com/gnutls/gnutls/issues/2- for DANE support, use bcond_with - for tpm support, same - note p11-kit >= 0.20.7 requirement - note libtasn1 3.9 requirement (built-in lib used otherwise)- disable trousers and unbound again for now, as it causes too long build cycles.- added unbound-devel (for DANE) and trousers-devel (for TPM support) - removed now upstreamed gnutls-implement-trust-store-dir-3.2.8.diff - libgnutls-dane0 new library added - updated to 3.3.13 (released 2015-02-25) * * libgnutls: Enable AESNI in GCM on x86 * * libgnutls: Fixes in DTLS message handling * * libgnutls: Check certificate algorithm consistency, i.e., check whether the signatureAlgorithm field matches the signature field inside TBSCertificate. * * gnutls-cli: Fixes in OCSP verification. - Version 3.3.12 (released 2015-01-17) * * libgnutls: When negotiating TLS use the lowest enabled version in the client hello, rather than the lowest supported. In addition, do not use SSL 3.0 as a version in the TLS record layer, unless SSL 3.0 is the only protocol supported. That addresses issues with servers that immediately drop the connection when the encounter SSL 3.0 as the record version number. See: http://lists.gnutls.org/pipermail/gnutls-help/2014-November/003673.html * * libgnutls: Corrected encoding and decoding of ANSI X9.62 parameters. * * libgnutls: Handle zero length plaintext for VIA PadLock functions. This solves a potential crash on AES encryption for small size plaintext. Patch by Matthias-Christian Ott. * * libgnutls: In DTLS don't combine multiple packets which exceed MTU. Reported by Andreas Schultz. https://savannah.gnu.org/support/?108715 * * libgnutls: In DTLS decode all handshake packets present in a record packet, in a single pass. Reported by Andreas Schultz. https://savannah.gnu.org/support/?108712 * * libgnutls: When importing a CA file with a PKCS #11 URL, simply import the certificates, if the URL specifies objects, rather than treating it as trust module. * * libgnutls: When importing a PKCS #11 URL and we know the type of object we are importing, don't require the object type in the URL. * * libgnutls: fixed openpgp authentication when gnutls_certificate_set_retrieve_function2 was used by the server. * * certtool: --pubkey-info will also attempt to load a public key from stdin. * * gnutls-cli: Added --starttls-proto option. That allows to specify a protocol for starttls negotiation. - Version 3.3.11 (released 2014-12-11) * * libgnutls: Corrected regression introduced in 3.3.9 related to session renegotiation. Reported by Dan Winship. * * libgnutls: Corrected parsing issue with OCSP responses. - Version 3.3.10 (released 2014-11-10) * * libgnutls: Refuse to import v1 or v2 certificates that contain extensions. * * libgnutls: Fixes in usage of PKCS #11 token callback * * libgnutls: Fixed bug in gnutls_x509_trust_list_get_issuer() when used with a PKCS #11 trust module and without the GNUTLS_TL_GET_COPY flag. Reported by David Woodhouse. * * libgnutls: Removed superfluous random generator refresh on every call of gnutls_deinit(). That reduces load and usage of /dev/urandom. * * libgnutls: Corrected issue in export of ECC parameters to X9.63 format. Reported by Sean Burford [GNUTLS-SA-2014-5]. * * libgnutls: When gnutls_global_init() is called for a second time, it will check whether the /dev/urandom fd kept is still open and matches the original one. That behavior works around issues with servers that close all file descriptors. * * libgnutls: Corrected behavior with PKCS #11 objects that are marked as CKA_ALWAYS_AUTHENTICATE. * * certtool: The default cipher for PKCS #12 structures is 3des-pkcs12. That option is more compatible than AES or RC4. - Version 3.3.9 (released 2014-10-13) * * libgnutls: Fixes in the transparent import of PKCS #11 certificates. Reported by Joseph Peruski. * * libgnutls: Fixed issue with unexpected non-fatal errors resetting the handshake's hash buffer, in applications using the heartbeat extension or DTLS. Reported by Joeri de Ruiter. * * libgnutls: When both a trust module and additional CAs are present account the latter as well; reported by David Woodhouse. * * libgnutls: added GNUTLS_TL_GET_COPY flag for gnutls_x509_trust_list_get_issuer(). That allows the function to be used in a thread safe way when PKCS #11 trust modules are in use. * * libgnutls: fix issue in DTLS retransmission when session tickets were in use; reported by Manuel Pégourié-Gonnard. * * libgnutls-dane: Do not require the CA on a ca match to be direct CA. * * libgnutls: Prevent abort() in library if getrusage() fails. Try to detect instead which of RUSAGE_THREAD and RUSAGE_SELF would work. * * guile: new 'set-session-server-name!' procedure; see the manual for details. * * certtool: The authority key identifier will be set in a certificate only if the CA's subject key identifier is set. - Version 3.3.8 (released 2014-09-18) * * libgnutls: Updates in the name constraints checks. No name constraints will be checked for intermediate certificates. As our support for name constraints is limited to e-mail addresses in DNS names, it is pointless to check them on intermediate certificates. * * libgnutls: Fixed issues in PKCS #11 object listing. Previously multiple object listing would fail completely if a single object could not be exported. * * libgnutls: Improved the performance of PKCS #11 object listing/retrieving, by retrieving them in large batches. Report and suggestion by David Woodhouse. * * libgnutls: Fixed issue with certificates being sanitized by gnutls prior to signature verification. That resulted to certain non-DER compliant modifications of valid certificates, being corrected by libtasn1's parser and restructured as the original. Issue found and reported by Antti Karjalainen and Matti Kamunen from Codenomicon. * * libgnutls: Fixes in gnutls_x509_crt_set_dn() and friends to properly handle strings with embedded spaces and escaped commas. * * libgnutls: when comparing a CA certificate with the trusted list compare the name and key only instead of the whole certificate. That is to handle cases where a CA certificate was superceded by a different one with the same name and the same key. * * libgnutls: when verifying a certificate against a p11-kit trusted module, use the attached extensions in the module to override the CA's extensions (that requires p11-kit 0.20.7). * * libgnutls: In DTLS prevent sending zero-size fragments in certain cases of MTU split. Reported by Manuel Pégourié-Gonnard. * * libgnutls: Added gnutls_x509_trust_list_verify_crt2() which allows verifying using a hostname and a purpose (extended key usage). That enhances PKCS #11 trust module verification, as it can now check the purpose when this function is used. * * libgnutls: Corrected gnutls_x509_crl_verify() which would always report a CRL signature as invalid. Reported by Armin Burgmeier. * * libgnutls: added option --disable-padlock to allow disabling the padlock CPU acceleration. * * p11tool: when listing tokens, list their type as well. * * p11tool: when listing objects from a trust module print any attached extensions on certificates. - Version 3.3.7 (released 2014-08-24) * * libgnutls: Added function to export the public key of a PKCS #11 private key. Contributed by Wolfgang Meyer zu Bergsten. * * libgnutls: Explicitly set the exponent in PKCS #11 key generation. That improves compatibility with certain PKCS #11 modules. Contributed by Wolfgang Meyer zu Bergsten. * * libgnutls: When generating a PKCS #11 private key allow setting the WRAP/UNWRAP flags. Contributed by Wolfgang Meyer zu Bergsten. * * libgnutls: gnutls_pkcs11_privkey_t will always hold an open session to the key. * * libgnutls: bundle replacements of inet_pton and inet_aton if not available. * * libgnutls: initialize parameters variable on PKCS #8 decryption. * * libgnutls: gnutls_pkcs12_verify_mac() will not fail in other than SHA1 algorithms. * * libgnutls: gnutls_x509_crt_check_hostname() will follow the RFC6125 requirement of checking the Common Name (CN) part of DN only if there is a single CN present in the certificate. * * libgnutls: The environment variable GNUTLS_FORCE_FIPS_MODE can be used to force the FIPS mode, when set to 1. * * libgnutls: In DTLS ignore only errors that relate to unexpected packets and decryption failures. * * p11tool: Added --info parameter. * * certtool: Added --mark-wrap parameter. * * danetool: --check will attempt to retrieve the server's certificate chain and verify against it. * * danetool/gnutls-cli-debug: Added --app-proto parameters which can be used to enforce starttls (currently only SMTP and IMAP) on the connection. * * danetool: Added openssl linking exception, to allow linking with libunbound. - Version 3.3.6 (released 2014-07-23) * * libgnutls: Use inet_ntop to print IP addresses when available * * libgnutls: gnutls_x509_crt_check_hostname and friends will also check IP addresses, and match documented behavior. Reported by David Woodhouse. * * libgnutls: DSA key generation in FIPS140-2 mode doesn't allow 1024 bit parameters. * * libgnutls: fixed issue in gnutls_pkcs11_reinit() which prevented tokens being usable after a reinitialization. * * libgnutls: fixed PKCS #11 private key operations after a fork. * * libgnutls: fixed PKCS #11 ECDSA key generation. * * libgnutls: The GNUTLS_CPUID_OVERRIDE environment variable can be used to explicitly enable/disable the use of certain CPU capabilities. Note that CPU detection cannot be overriden, i.e., VIA options cannot be enabled on an Intel CPU. The currently available options are: 0x1: Disable all run-time detected optimizations 0x2: Enable AES-NI 0x4: Enable SSSE3 0x8: Enable PCLMUL 0x100000: Enable VIA padlock 0x200000: Enable VIA PHE 0x400000: Enable VIA PHE SHA512 * * libdane: added dane_query_to_raw_tlsa(); patch by Simon Arlott. * * p11tool: use GNUTLS_SO_PIN to read the security officer's PIN if set. * * p11tool: ask for label when one isn't provided. * * p11tool: added --batch parameter to disable any interactivity. * * p11tool: will not implicitly enable so-login for certain types of objects. That avoids issues with tokens that require different login types. * * certtool/p11tool: Added the --curve parameter which allows to explicitly specify the curve to use. - Version 3.3.5 (released 2014-06-26) * * libgnutls: Added gnutls_record_recv_packet() and gnutls_packet_deinit(). These functions provide a variant of gnutls_record_recv() that avoids the final memcpy of data. * * libgnutls: gnutls_x509_crl_iter_crt_serial() was added as a faster variant of gnutls_x509_crl_get_crt_serial() when coping with very large structures. * * libgnutls: When the decoding of a printable DN element fails, then treat it as unknown and print its hex value rather than failing. That works around an issue in a TURKTRST root certificate which improperly encodes the X520countryName element. * * libgnutls: gnutls_x509_trust_list_add_trust_file() will return the number of certificates present in a PKCS #11 token when loading it. * * libgnutls: Allow the post client hello callback to put the handshake on hold, by returning GNUTLS_E_AGAIN or GNUTLS_E_INTERRUPTED. * * certtool: option --to-p12 will now consider --load-ca-certificate * * certtol: Added option to specify the PKCS #12 friendly name on command line. * * p11tool: Allow marking a certificate copied to a token as a CA. - Version 3.3.4 (released 2014-05-31) * * libgnutls: Updated Andy Polyakov's assembly code. That prevents a crash on certain CPUs. - Version 3.3.3 (released 2014-05-30) * * libgnutls: Eliminated memory corruption issue in Server Hello parsing. Issue reported by Joonas Kuorilehto of Codenomicon. * * libgnutls: gnutls_global_set_mutex() was modified to operate with the new initialization process. * * libgnutls: Increased the maximum certificate size buffer in the PKCS #11 subsystem. * * libgnutls: Check the return code of getpwuid_r() instead of relying on the result value. That avoids issue in certain systems, when using tofu authentication and the home path cannot be determined. Issue reported by Viktor Dukhovni. * * libgnutls-dane: Improved dane_verify_session_crt(), which now attempts to create a full chain. This addresses points from https://savannah.gnu.org/support/index.php?108552 * * gnutls-cli: --dane will only check the end certificate if PKIX validation has been disabled. * * gnutls-cli: --benchmark-soft-ciphers has been removed. That option cannot be emulated with the implicit initialization of gnutls. * * certtool: Allow multiple organizations and organizational unit names to be specified in a template. * * certtool: Warn when invalid configuration options are set to a template. * * ocsptool: Include path in ocsp request. This resolves #108582 (https://savannah.gnu.org/support/?108582), reported by Matt McCutchen. - Version 3.3.2 (released 2014-05-06) * * libgnutls: Added the 'very weak' certificate verification profile that corresponds to 64-bit security level. * * libgnutls: Corrected file descriptor leak on random generator initialization. * * libgnutls: Corrected file descriptor leak on PSK password file reading. Issue identified using the Codenomicon TLS test suite. * * libgnutls: Avoid deinitialization if initialization has failed. * * libgnutls: null-terminate othername alternative names. * * libgnutls: gnutls_x509_trust_list_get_issuer() will operate correctly on a PKCS #11 trust list. * * libgnutls: Several small bug fixes identified using valgrind and the Codenomicon TLS test suite. * * libgnutls-dane: Accept a certificate using DANE if there is at least one entry that matches the certificate. Patch by simon [at] arlott.org. * * libgnutls-guile: Fixed compilation issue. * * certtool: Allow exporting a CRL on DER format. * * certtool: The ECDSA keys generated by default use the SECP256R1 curve which is supported more widely than the previously used SECP224R1. - Version 3.3.1 (released 2014-04-19) * * libgnutls: Enforce more strict checks to heartbeat messages concerning padding and payload. Suggested by Peter Dettman. * * libgnutls: Allow decoding PKCS #8 files with ECC parameters from openssl. * * libgnutls: Several small bug fixes found by coverity. * * libgnutls: The conditionally available self-test functions were moved to self-test.h. * * libgnutls: Fixed issue with the check of incoming data when two different recv and send pointers have been specified. Reported and investigated by JMRecio. * * libgnutls: Fixed issue in the RSA-PSK key exchange, which would result to illegal memory access if a server hint was provided. Reported by André Klitzing. * * libgnutls: Fixed client memory leak in the PSK key exchange, if a server hint was provided. * * libgnutls: Corrected the *get_*_othername_oid() functions. - Version 3.3.0 (released 2014-04-10) * * libgnutls: The initialization of the library was moved to a constructor. That is, gnutls_global_init() is no longer required unless linking with a static library or a system that does not support library constructors. * * libgnutls: static libraries are not built by default. * * libgnutls: PKCS #11 initialization is delayed to first usage. That avoids long delays in gnutls initialization due to broken PKCS #11 modules. * * libgnutls: The PKCS #11 subsystem is re-initialized "automatically" on the first PKCS #11 API call after a fork. * * libgnutls: certificate verification profiles were introduced that can be specified as flags to verification functions. They are enumerations in gnutls_certificate_verification_profiles_t and can be converted to flags for use in a verification function using GNUTLS_PROFILE_TO_VFLAGS(). * * libgnutls: Added the ability to read system-specific initial keywords, if they are prefixed with '@'. That allows a compile-time specified configuration file to be used to read pre-configured priority strings from. That can be used to impose system specific policies. * * libgnutls: Increased the default security level of priority strings (NORMAL and PFS strings require at minimum a 1008 DH prime), and set a verification profile by default. The LEGACY keyword is introduced to set the old defaults. * * libgnutls: Added support for the name constraints PKIX extension. Currently only DNS names and e-mails are supported (no URIs, IPs or DNs). * * libgnutls: Security parameter SEC_PARAM_NORMAL was renamed to SEC_PARAM_MEDIUM to avoid confusion with the priority string NORMAL. * * libgnutls: Added new API in x509-ext.h to handle X.509 extensions. This API handles the X.509 extensions in isolation, allowing to parse similarly formatted extensions stored in other structures. * * libgnutls: When generating DSA keys the macro GNUTLS_SUBGROUP_TO_BITS can be used to specify a particular subgroup as the number of bits in gnutls_privkey_generate; e.g., GNUTLS_SUBGROUP_TO_BITS(2048, 256). * * libgnutls: DH parameter generation is now delegated to nettle. That unfortunately has the side-effect that DH parameters longer than 3072 bits, cannot be generated (not without a nettle update). * * libgnutls: Separated nonce RNG from the main RNG. The nonce random number generator is based on salsa20/12. * * libgnutls: The buffer alignment provided to crypto backend is enforced to be 16-byte aligned, when compiled with cryptodev support. That allows certain cryptodev drivers to operate more efficiently. * * libgnutls: Return error when a public/private key pair that doesn't match is set into a credentials structure. * * libgnutls: Depend on p11-kit 0.20.0 or later. * * libgnutls: The new padding (%NEW_PADDING) experimental TLS extension has been removed. It was not approved by IETF. * * libgnutls: The experimental xssl library is removed from the gnutls distribution. * * libgnutls: Reduced the number of gnulib modules used in the main library. * * libgnutls: Added priority string %DISABLE_WILDCARDS. * * libgnutls: Added the more extensible verification function gnutls_certificate_verify_peers(), that allows checking, in addition to a peer's DNS hostname, for the key purpose of the end certificate (via PKIX extended key usage). * * certtool: Timestamps for serial numbers were increased to 8 bytes, and in batch mode to 12 (appended with 4 random bytes). * * certtool: When no CRL number is provided (or value set to -1), then a time-based number will be used, similarly to the serial generation number in certificates. * * certtool: Print the SHA256 fingerprint of a certificate in addition to SHA1. * * libgnutls: Added --enable-fips140-mode configuration option (unsupported). That option enables (when running on FIPS140-enabled system): o RSA, DSA and DH key generation as in FIPS-186-4 (using provable primes) o The DRBG-CTR-AES256 deterministic random generator from SP800-90A. o Self-tests on initialization on ciphers/MACs, public key algorithms and the random generator. o HMAC-SHA256 verification of the library on load. o MD5 is included for TLS purposes but cannot be used by the high level hashing functions. o All ciphers except AES are disabled. o All MACs and hashes except GCM and SHA are disabled (e.g., HMAC-MD5). o All keys (temporal and long term) are zeroized after use. o Security levels are adjusted to the FIPS140-2 recommendations (rather than ECRYPT).- fix for CVE-2015-0294 (bnc#919938) * certificate algorithm consistency checking issue * added gnutls-CVE-2015-0294.patch- build with PIE for commandline tools- Updated to 3.2.21 (released 2014-12-11) - libgnutls: Corrected regression introduced in 3.2.19 related to session renegotiation. Reported by Dan Winship. - libgnutls: Corrected parsing issue with OCSP responses.- Updated to 3.2.20 (released 2014-11-10) * * libgnutls: Removed superfluous random generator refresh on every call of gnutls_deinit(). That reduces load and usage of /dev/urandom. * * libgnutls: Corrected issue in export of ECC parameters to X9.63 format. Reported by Sean Burford [GNUTLS-SA-2014-5]. (CVE-2014-8564 bnc#904603) - Updated to 3.2.19 (released 2014-10-13) * * libgnutls: Fixes in the transparent import of PKCS #11 certificates. Reported by Joseph Peruski. * * libgnutls: Fixed issue with unexpected non-fatal errors resetting the handshake's hash buffer, in applications using the heartbeat extension or DTLS. Reported by Joeri de Ruiter. * * libgnutls: fix issue in DTLS retransmission when session tickets were in use; reported by Manuel Pégourié-Gonnard. * * libgnutls: Prevent abort() in library if getrusage() fails. Try to detect instead which of RUSAGE_THREAD and RUSAGE_SELF would work. * * guile: new 'set-session-server-name!' procedure; see the manual for details.- gnutls-CVE-2014-8564.patch: Fixed parsing problem in elliptic curve blobs over TLS that could lead to remote crashes. (bnc#904603 CVE-2014-8564)* Upgrade to Version 3.2.18 (released 2014-09-18) * * libgnutls: Fixes in gnutls_x509_crt_set_dn() and friends to properly handle strings with embedded spaces and escaped commas. * * libgnutls: Corrected gnutls_x509_crl_verify() which would always report a CRL signature as invalid. Reported by Armin Burgmeier. * * libgnutls: Fixed issue with certificates being sanitized by gnutls prior to signature verification. That resulted to certain non-DER compliant modifications of valid certificates, being corrected by libtasn1's parser and restructured as the original. Issue found and reported by Antti Karjalainen and Matti Kamunen from Codenomicon. * * API and ABI modifications: No changes since last version. Delete files: gnutls-3.2.17.tar.xz, gnutls-3.2.17.tar.xz.sig Add files: gnutls-3.2.18.tar.xz, gnutls-3.2.18.tar.xz.sig- update list of available architectures for valgrind- Upgrade to Version 3.2.17 (released 2014-08-24) * * libgnutls: initialize parameters variable on PKCS #8 decryption. * * libgnutls: Explicitly set the exponent in PKCS #11 key generation. That improves compatibility with certain PKCS #11 modules. Contributed by Wolfgang Meyer zu Bergsten. * * libgnutls: gnutls_pkcs12_verify_mac() will not fail in other than SHA1 algorithms. * * libgnutls: when checking the hostname of a certificate with multiple CNs ensure that the "most specific" CN is being used. * * libgnutls: In DTLS ignore only errors that relate to unexpected packets and decryption failures. Delete files: gnutls-3.2.16.tar.xz, gnutls-3.2.16.tar.xz.sig Add files: gnutls-3.2.17.tar.xz, gnutls-3.2.17.tar.xz.sig- Upgrade to Version 3.2.16 (released 2014-07-23) * * libgnutls: Do not call the post client hello callback twice when resuming using session tickets. * * libgnutls: When the decoding of a printable DN element fails, then treat it as unknown and print its hex value rather than failing. That works around an issue in a TURKTRST root certificate which improperly encodes the X520countryName element. * * libgnutls: IP addresses are printed using inet_ntop() when available. * * libgnutls: gnutls_x509_crt_check_hostname will also check IP addresses and match documented behavior. Reported by David Woodhouse. * * libgnutls: Fixed PKCS #11 ECDSA key generation. * * p11tool: use GNUTLS_SO_PIN to read the security officer's PIN if set. * * p11tool: will not implicitly enable so-login for certain types of objects. That avoids issues with tokens that require different login types. * * API and ABI modifications: No changes since last version. delete files: gnutls-3.2.15.tar.xz, gnutls-3.2.15.tar.xz.sig, audit-improve.patch( already in upstream) Add files: gnutls-3.2.16.tar.xz, gnutls-3.2.16.tar.xz.sig- Version 3.2.15 (released 2014-05-30) * * libgnutls: Eliminated memory corruption issue in Server Hello parsing. Issue reported by Joonas Kuorilehto of Codenomicon. (CVE-2014-3466 / bnc#880730) * * libgnutls: Several memory leaks caused by error conditions were fixed. The leaks were identified using valgrind and the Codenomicon TLS test suite. * * libgnutls: Increased the maximum certificate size buffer in the PKCS #11 subsystem. * * libgnutls: Check the return code of getpwuid_r() instead of relying on the result value. That avoids issue in certain systems, when using tofu authentication and the home path cannot be determined. Issue reported by Viktor Dukhovni. * * gnutls-cli: if dane is requested but not PKIX verification, then only do verify the end certificate. * * ocsptool: Include path in ocsp request. This resolves #108582 (https://savannah.gnu.org/support/?108582), reported by Matt McCutchen. - Version 3.2.14 (released 2014-05-06) * * libgnutls: Fixed issue with the check of incoming data when two different recv and send pointers have been specified. Reported and investigated by JMRecio. * * libgnutls: Fixed issue in the RSA-PSK key exchange, which would result to illegal memory access if a server hint was provided. * * libgnutls: Fixed client memory leak in the PSK key exchange, if a server hint was provided. * * libgnutls: Several small bug fixes identified using valgrind and the Codenomicon TLS test suite. * * libgnutls: Several small bug fixes found by coverity. * * libgnutls-dane: Accept a certificate using DANE if there is at least one entry that matches the certificate. Patch by simon [at] arlott.org. * * configure: Added --with-nettle-mini option, which allows linking with a libnettle that contains gmp. * * certtool: The ECDSA keys generated by default use the SECP256R1 curve which is supported more widely than the previously used SECP224R1. - CVE-2014-3466.patch: is upstream.- Fixed bug[ bnc#880730], CVE-2014-3466: gnutls: Possible memory corruption during connect Add patch file: CVE-2014-3466.patch- Improvement after code audit (audit-improve.patch) * Use unsigned type for encode() * tolerate NULL in strdup() Modify files: lib/gnutls_mem.c, lib/auth/srp_sb64.c- Upgrade to 3.2.13 * Version 3.2.13 (released 2014-04-07) * * libgnutls: gnutls_openpgp_keyring_import will no longer fail silently if there are no base64 data. Report and patch by Ramkumar Chinchani. * * libgnutls: gnutls_record_send is now safe to be called under DTLS when in corked mode. * * libgnutls: Ciphersuites that use the SHA256 or SHA384 MACs are only available in TLS 1.0 as SSL 3.0 doesn't specify parameters for these algorithms. * * libgnutls: Changed the behaviour in wildcard acceptance in certificates. Wildcards are only accepted when there are more than two domain components after the wildcard. This drops support for the permissive RFC2818 wildcards and adds more conservative support based on the suggestions in RFC6125. Suggested by Jeffrey Walton. * * certtool: When no password is provided to export a PKCS #8 keys, do not encrypt by default. This reverts to the certtool behavior of gnutls 3.0. The previous behavior of encrypting using an empty password can be replicating using the new parameter --empty-password. * * p11tool: Avoid dual initialization of the PKCS #11 subsystem when the --provider option is given. * * API and ABI modifications: No changes since last version. Add files: gnutls-3.2.13.tar.xz, gnutls-3.2.13.tar.xz.sig delete files: CVE-2014-0092.patch, gnutls-3.2.11.tar.xz, gnutls-3.2.11.tar.xz.sig- Upgrade to 3.2.12: * * libgnutls: Reverted change that broke ABI. Reported by Andreas Metzler. * * libgnutls: Corrected certificate verification issue (GNUTLS-SA-2014-2) * * libgnutls: Corrected issue in gnutls_pcert_list_import_x509_raw when provided with invalid data. Reported by Dmitriy Anisimkov. * * libgnutls: Corrected timeout issue in subsequent to the first DTLS handshakes. * * libgnutls: Removed unconditional not-trusted message in gnutls_certificate_verification_status_print() when used with OpenPGP certificates. Reported by Michel Briand. * * libgnutls: All ciphersuites that were available in TLS1.0 or later are now made available in SSL3.0 or later to prevent any incompatibilities with servers that negotiate them in SSL 3.0. * * ocsptool: When verifying a response and a signer isn't provided assume that the signer is the issuer. * * ocsptool: When sending a nonce, verify that the nonce exists in the OCSP response. * * gnutls-cli: Added --strict-tofu option; contributed by Jens Lechtenboerger. Delete files: gnutls-3.2.11.tar.xz.sig, gnutls-3.2.11.tar.xz; Add files: gnutls-3.2.12.1.tar.xz, gnutls-3.2.12.1.tar.xz.sig- Fixed bug [ bnc#865804] gnutls: CVE-2014-0092, insufficient X.509 certificate verification Add patch file: CVE-2014-0092.patch- Upgraded to 3.2.11 * * libgnutls: Tolerate servers that send the SUPPORTED ECC extension. * * libgnutls: Reduced the TLS and DTLS version requirements for all ciphersuites that are not GCM. * * libgnutls: When two initial keywords are specified then treat the second as having the '+' modifier. * * libgnutls: When using a PKCS #11 module for verification ensure that it has been marked a trusted policy module in p11-kit. Moreover, when an empty (i.e., "pkcs11:") URL is specified, then try all trusted modules in the system for verification. http://p11-glue.freedesktop.org/doc/p11-kit/pkcs11-conf.html * * libgnutls: Fixed bug that prevented the rejection of v1 intermediate CA certificates. Reported and investigated by Suman Jana. CVE-2014-1959 / bnc#863989 * * certtool: Added the --ask-pass option. - gnutls-3.2.10-supported-ecc.patch: upstreamed - gnutls-fix-missing-ipv6.patch: upstreamed- Upgrade to 3.2.10 (released 2014-01-31) * * libgnutls: fixed null pointer derefence when printing a certificate DN and an LDAP description isn't present. * * libgnutls: gnutls_db_check_entry_time will correctly report the time; report and patch by Jonathan Roudiere. - Upgrade to 3.2.9 (released 2014-01-24) * * libgnutls: The %DUMBFW option in priority string only appends data to client hello if the expected size is in the "black hole" range. * * libgnutls: %COMPAT implies %DUMBFW. * * libgnutls: gnutls_session_get_desc() returns a more compact ciphersuite description. * libgnutls: In PKCS #11 allow deleting multiple non-certificate data. * * libgnutls: When a PKCS #11 trust store is specified (e.g. using the configure option --with-default-trust-store-pkcs11), then the PKCS #11 token is used on demand to obtain the trusted anchors, rather than preloading all trusted certificates. That delegates CA certificate management and blacklist checking to the PKCS #11 module. * * libgnutls: When a PKCS #11 trust store is specified in configure option or in gnutls_x509_trust_list_add_trust_file(), then the module is used to obtain the verification anchors and any required blacklists as in http://p11-glue.freedesktop.org/doc/storing-trust-policy/storing-trust-pkcs11.html * * libgnutls: Fix in OCSP certificate status extension handling in non-blocking servers. Patch by Nils Maier. * * p11tool: Added --so-login option to force login as security officer (admin). - reenable ECDHE after review of modern cryptographic practices. - gnutls-fix-missing-ipv6.patch: fixed getaddrinfo() / socket protocol mismatch in gnutls-serv - gnutls-3.2.10-supported-ecc.patch: if the server reports ECC supported curves, do not abort. (e.g. www.bsi.de does that)- Upgrade to 3.2.8 * Version 3.2.8 (released 2013-12-20) * * libgnutls: Updated code for AES-NI. That prevents an uninitialized variable complaint from valgrind. * * libgnutls: Enforce a maximum size for DH primes. * * libgnutls: Added SSSE3 optimized SHA1, and SHA256, using Andy Polyakov's code. * * libgnutls: Added SSSE3 optimized AES using Mike Hamburg's code. * * libgnutls: It only links to librt if the required functions are not present in libc. This also prevents an indirect linking to libpthread. * * libgnutls: Fixed issue with gnulib strerror replacement by adding the strerror gnulib module. * * libgnutls: The time provided in the TLS random values is only precise on its first 3 bytes. That prevents leakage of the precise system time (at least on the client side when only few connections are done on a single server). * * certtool: The --verify option will use the system CAs if the load-ca-certificate option is not provided. * * configure: Added option --with-default-blacklist-file to allow specifying a certificate blacklist file. * * configure: Added --disable-non-suiteb-curves option. This option restricts the supported curves to SuiteB curves. * * API and ABI modifications: gnutls_record_check_corked: Added Add files: gnutls-3.2.8.tar.xz, gnutls-3.2.8.tar.xz.sig, gnutls-implement-trust-store-dir-3.2.8.diff, gnutls-3.2.8-noecc.patch Delete files: gnutls-3.2.6.tar.xz, gnutls-3.2.6.tar.xz.sig, gnutls-implement-trust-store-dir, gnutls-3.2.6-noecc.patch- Upgrade to 3.2.6 * * libgnutls: Support for TPM via trousers is now enabled by default. * * libgnutls: Camellia in GCM mode has been added in default priorities, and GCM mode is prioritized over CBC in all of the default priority strings. * * libgnutls: Added ciphersuite GNUTLS_ECDHE_RSA_AES_256_CBC_SHA384. * * libgnutls: Fixed ciphersuites GNUTLS_ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384, GNUTLS_ECDHE_RSA_CAMELLIA_256_CBC_SHA384 and GNUTLS_PSK_CAMELLIA_128_GCM_SHA256. Reported by Stefan Buehler. * * libgnutls: Added support for ISO OID for RSA-SHA1 signatures. * * libgnutls: Minimum acceptable DH group parameters were increased to 767 bits from 727. * * libgnutls: Added function to obtain random data from PKCS #11 tokens. Contributed by Wolfgang Meyer zu Bergsten. * * gnulib: updated. * * libdane: Fixed a one-off bug in dane_query_tlsa() introduced by the previous fix. Reported by Tomas Mraz. * * p11tool: Added option generate-random. * * API and ABI modifications: gnutls_pkcs11_token_get_random: Added Add: gnutls-3.2.6-noecc.patch, gnutls-3.2.6.tar.xz, gnutls-3.2.6.tar.xz.sig Delete: gnutls-3.2.6-noecc.patch, gnutls-3.2.5.tar.xz, gnutls-3.2.5.tar.xz.sig, make-obs-happy-with-gnutls_3.2.5.patch- Upgrade to 3.2.5 * * libgnutls: Documentation and build-time fixes. * * libgnutls: Allow the generation of DH groups of less than 700 bits. * * libgnutls: Added several combinations of ciphersuites with SHA256 and SHA384 as MAC, as well as Camellia with GCM. * * libdane: Added interfaces to allow initialization of dane_query_t from external DNS resolutions, and to allow direct verification of a certificate chain against a dane_query_t. Contributed by Christian Grothoff. * * libdane: Fixed a buffer overflow in dane_query_tlsa(). This could be triggered by a DNS server supplying more than 4 DANE records. Report and fix by Christian Grothoff. * * srptool: Fixed index command line option. Patch by Attila Molnar. * * gnutls-cli: Added support for inline commands, using the --inline-commands-prefix and --inline-commands options. Patch by Raj Raman. * * certtool: pathlen constraint is now read correctly. Reported by Christoph Seitz. * * API and ABI modifications: gnutls_certificate_get_crt_raw: Added dane_verify_crt_raw: Added dane_raw_tlsa: Added Add files: make-obs-happy-with-gnutls_3.2.5.patch, gnutls-3.2.5.tar.xz, gnutls-3.2.5.tar.xz.sig, gnutls-3.2.5-noecc.patch Delete files: gnutls-3.2.4.tar.xz, gnutls-3.2.4.tar.xz.sig, make-obs-happy-with-gnutls_3.2.4.patch, gnutls-3.2.4-noecc.patch- Don't run install-info on images- Update to 3.2.4 * * libgnutls: Fixes when session tickets and session DB are used. Report and initial patch by Stefan Buehler. * * libgnutls: Added the RSA-PSK key exchange. Patch by by Frank Morgner, based on previous patch by Bardenheuer GmbH and Bundesdruckerei GmbH. * * libgnutls: Added ciphersuites that use ARCFOUR with ECDHE. Patch by Stefan Buehler. * * libgnutls: Added the PFS priority string option. * * libgnutls: Gnulib included files are strictly LGPLv2. * * libgnutls: Corrected gnutls_certificate_server_set_request(). Reported by Petr Pisar. * * API and ABI modifications: gnutls_record_set_timeout: Exported Add files:gnutls-3.2.4.tar.xz.sig, gnutls-3.2.4.tar.xz, gnutls-3.2.4-noecc.patch Delete file: gnutls-3.2.3-noecc.patch- buildrequire valgrind on the same arch list that valgrind builds- Updated to 3.2.3 * * libgnutls: Fixes in parsing of priority strings. Patch by Stefan Buehler. * * libgnutls: Solve issue with received TLS packets that exceed 2^14. (this fixes a bug that was accidentally introduced in 3.2.2) * * libgnutls: Removed gnulib modules under LGPLv3 that could possibly be used by the library. * * libgnutls: Fixes in gnutls_record_send_range(). Report and initial fix by Alfredo Pironti. - Updated to 3.2.2 * * libgnutls: Several optimizations in the related to packet processing subsystems. * * libgnutls: DTLS replay detection can now be disabled (to be used in certain transport layers like SCTP). * * libgnutls: Fixes in SRTP extension generation when MKI is being used. * * libgnutls: Added ability to set hooks before or after sending or receiving any handshake message with gnutls_handshake_set_hook_function(). - gnutls-3.2.3-noecc.patch: updated to disable ECC. - automake-1.12.patch: upstream, dropped - gnutls-32bit.patch: upstream, dropped - gnutls-3.2.1-pkcs11.diff: upstream, dropped- revert to using certificate directory again until gnutls understands the trust bits in pkcs11. Otherwise it would use blacklisted certificates.- Override broken configure checks- use pkcs11 interface to fetch the system's CA certificates (fate#314991). Add patch gnutls-3.2.1-pkcs11.diff to fix doing that, obsoletes gnutls-implement-trust-store-dir.diff.- Disable all ECC algorithms. - gnutls-32bit.patch: upstream patch to make test work with 32bit time_t. - gnutls-implement-trust-store-dir.diff currently not yet forward ported. - Updated to GnuTLS 3.2.1 * * libgnutls: Allow ECC when in SSL 3.0 to work-around a bug in certain openssl versions. * * libgnutls: Fixes in interrupted function resumption. Report and patch by Tim Kosse. * * libgnutls: Corrected issue when receiving client hello verify requests in DTLS. * * libgnutls: Fixes in DTLS record overhead size calculations. * * libgnutls: gnutls_handshake_get_last_in() was fixed. Reported by Mann Ern Kang. - Updated to GnuTLS 3.2.0 * * libgnutls: Use nettle's elliptic curve implementation. * * libgnutls: Added Salsa20 cipher * * libgnutls: Added UMAC-96 and UMAC-128 * * libgnutls: Added ciphersuites involving Salsa20 and UMAC-96. As they are not standardized they are defined using private ciphersuite numbers. * * libgnutls: Added support for DTLS 1.2. * * libgnutls: Added support for the Application Layer Protocol Negotiation (ALPN) extension. * * libgnutls: Removed support for the RSA-EXPORT ciphersuites. * * libgnutls: Avoid linking to librt (that also avoids unnecessary linking to pthreads if p11-kit isn't used). - Updated to GnuTLS 3.1.10 (released 2013-03-22) * * certtool: When generating PKCS #12 files use by default the ARCFOUR (RC4) cipher to be compatible with devices that don't support AES with PKCS #12. * * libgnutls: Load CA certificates in android 4.x systems. * * libgnutls: Optimized CA certificate loading. * * libgnutls: Private keys are overwritten on deinitialization. * * libgnutls: PKCS #11 slots are scanned only when needed, not on initialization. This speeds up gnutls initialization when smart cards are present. * * libgnutls: Corrected issue in the (deprecated) external key signing interface, when used with TLS 1.2. Reported by Bjorn H. Christensen. * * libgnutls: Fixes in openpgp handshake with fingerprints. Reported by Joke de Buhr. * * libgnutls-dane: Updated DANE verification options. * * configure: Trust store file must be explicitly set or unset when cross compiling. - Updated to GnuTLS 3.1.9 (released 2013-02-27) * * certtool: Option --to-p12 will now ask for a password to generate a PKCS #12 file from an encrypted key file. Reported by Yan Fiz. * * libgnutls: Corrected issue in gnutls_pubkey_verify_data(). * * libgnutls: Corrected parsing issue in XMPP within a subject alternative name. Reported by James Cloos. * * libgnutls: gnutls_pkcs11_reinit() will reinitialize all PKCS #11 modules, and not only the ones loaded via p11-kit. * * libgnutls: Added function to check whether the private key is still available (inserted). * * libgnutls: Try to detect fork even during nonce generation. - Updated to GnuTLS 3.1.8 (released 2013-02-10) * * libgnutls: Fixed issue in gnutls_x509_privkey_import2() which didn't return GNUTLS_E_DECRYPTION_FAILED in all cases, and affect certtool operation with encrypted keys. Reported by Yan Fiz. * * libgnutls: The minimum DH bits accepted by priorities NORMAL and PERFORMANCE was set to previous defaults 727 bits. Reported by Diego Elio Petteno. * * libgnutls: Corrected issue which prevented gnutls_pubkey_verify_hash() to operate with long keys. Reported by Erik A Jensen. - Updated to GnuTLS 3.1.7 (released 2013-02-04) * * certtool: Added option "dn" which allows to directly set the DN in a template from an RFC4514 string. * * danetool: Added options: --dlv and --insecure. Suggested by Paul Wouters. * * libgnutls-xssl: Added a new library to simplify GnuTLS usage. * * libgnutls-dane: Added function to specify a DLV file. * * libgnutls: Heartbeat code was made optional. * * libgnutls: Fixes in server side of DTLS-0.9. * * libgnutls: DN variable 'T' was expanded to 'title'. * * libgnutls: Fixes in record padding parsing to prevent a timing attack. Issue reported by Kenny Paterson and Nadhem Alfardan. * * libgnutls: Added functions to directly set the DN in a certificate or request from an RFC4514 string. * * libgnutls: Optimizations in the random generator. The re-seeding of it is now explicitly done on every session deinit. * * libgnutls: Simplified the DTLS sliding window implementation. * * libgnutls: The minimum DH bits accepted by a client are now set by the specified priority string. The current values correspond to the previous defaults (727 bits), except for the SECURE128 and SECURE192 strings which increase the minimum to 1248 and 1776 respectively. * * libgnutls: Added the gnutls_record_cork() and uncork API to enable buffering in sending application data. * * libgnutls: Removed default random padding, and added a length-hiding interface instead. Both the server and the client must support this extension. Whether length-hiding can be used on a given session can be checked using gnutls_record_can_use_length_hiding(). Contributed by Alfredo Pironti. * * libgnutls: Added the experimental %NEW_PADDING priority string. It enables a new padding mechanism in TLS allowing arbitrary padding in TLS records in all ciphersuites, which makes length-hiding more efficient and solves the issues with timing attacks on CBC ciphersuites. * * libgnutls: Corrected gnutls_cipher_decrypt2() when used with AEAD ciphers (i.e., AES-GCM). Reported by William McGovern. - Updated to GnuTLS 3.1.6 (released 2013-01-02) * * libgnutls: Fixed record padding parsing issue. Reported by Kenny Patterson and Nadhem Alfardan. * * libgnutls: Several updates in the ASN.1 string handling subsystem. * * libgnutls: gnutls_x509_crt_get_policy() allows for a list of zero policy qualifiers. * * libgnutls: Ignore heartbeat messages when received out-of-order, instead of issuing an error. * * libgnutls: Stricter RSA PKCS #1 1.5 encoding and decoding. Reported by Kikuchi Masashi. * * libgnutls: TPM support is disabled by default because GPL programs cannot link with it. Use --with-tpm to enable it. * * libgnutls-guile: Fixed parallel compilation issue. * * gnutls-cli: It will try to connect to all possible returned addresses before failing. - Updated to GnuTLS 3.1.5 (released 2012-11-24) * * libgnutls: Added functions to parse the certificates policies extension. * * libgnutls: Handle BMPString (UCS-2) encoding in the Distinguished Name by translating it to UTF-8 (works on windows or systems with iconv). * * libgnutls: Added PKCS #11 key generation function that returns the public key on generation. * * libgnutls: Corrected bug in priority string parsing, that mostly affected combined levels. Patch by Tim Kosse. * * certtool: The --pubkey-info option can be combined with the - -load-privkey or --load-request to print the corresponding public keys. * * certtool: It is able to set certificate policies via a template. * * certtool: Added --hex-numbers option which prints big numbers in an easier to parse format. * * p11tool: After key generation, outputs the public key (useful in tokens that do not store the public key). * * danetool: It is being built even without libgnutls-dane (the - -check functionality is disabled though). - Updated to GnuTLS 3.1.4 (released 2012-11-10) * * libgnutls: gnutls_certificate_verify_peers2() will set flags depending on the available revocation data validity. * * libgnutls: Added gnutls_certificate_verification_status_print(), a function to print the verification status code in human readable text. * * libgnutls: Added priority string %VERIFY_DISABLE_CRL_CHECKS. * * libgnutls: Simplified certificate verification by adding gnutls_certificate_verify_peers3(). * * libgnutls: Added support for extension to establish keys for SRTP. Contributed by Martin Storsjo. * * libgnutls: The X.509 verification functions check the key usage bits and pathlen constraints and on failure output GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE. * * libgnutls: gnutls_x509_crl_verify() includes the time checks. * * libgnutls: Added verification flag GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN and made GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN the default. * * libgnutls: Always tolerate key usage violation errors from the side of the peer, but also notify via an audit message. * * gnutls-cli: Added --local-dns option. * * danetool: Corrected bug that prevented loading PEM files. * * danetool: Added --check option to allow querying and verifying a site's DANE data. * * libgnutls-dane: Added pkg-config file for the library. - Updated to GnuTLS 3.1.3 (released 2012-10-12) * * libgnutls: Added support for the OCSP Certificate Status extension. * * libgnutls: gnutls_certificate_verify_peers2() will use the OCSP certificate status extension in verification. * * libgnutls: Bug fixes in gnutls_x509_privkey_import_openssl(). * * libgnutls: Increased maximum password length in the PKCS #12 functions. * * libgnutls: Fixed the receipt of session tickets during session resumption. Reported by danblack at http://savannah.gnu.org/support/?108146 * * libgnutls: Added functions to export structures in an allocated buffer. * * libgnutls: Added gnutls_ocsp_resp_check_crt() to check whether the OCSP response corresponds to the given certificate. * * libgnutls: In client side gnutls_init() enables the session ticket and OCSP certificate status request extensions by default. The flag GNUTLS_NO_EXTENSIONS can be used to prevent that. * * libgnutls: Several updates in the OpenPGP code. The generating code is fully RFC6091 compliant and RFC5081 support is only supported in client mode. * * libgnutls-dane: Added. It is a library to provide DANE with DNSSEC certificate verification. * * gnutls-cli: Added --dane option to enable DANE certificate verification. * * danetool: Added tool to generate DANE TLSA Resource Records (RR). - Updated to GnuTLS 3.1.2 (released 2012-09-26) * * libgnutls: Fixed bug in gnutls_x509_trust_list_add_system_trust() and gnutls_x509_trust_list_add_trust_mem() that prevented the loading of certificates in the windows platform. * * libgnutls: Corrected bug in OpenPGP subpacket encoding. * * libgnutls: Added support for DTLS/TLS heartbeats by Olga Smolenchuk. (the work was done during Google Summer of Code). * * libgnutls: Added X.509 certificate verification flag GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN. This flag allows the verification of unsorted certificate chains and is enabled by default for TLS certificate verification (if gnutls_certificate_set_verify_flags() does not override it). * * libgnutls: Prints warning on certificates that contain keys of an insecure level. If the %COMPAT priority flag is not specified the TLS connection fails. * * libgnutls: Correctly restore gnutls_record_recv() in DTLS mode if interrupted during the retrasmition of handshake data. * * libgnutls: Better mingw32 support (patch by LRN). * * libgnutls: The %COMPAT keyword, if specified, will tolerate key usage violation errors (they are far too common to ignore). * * libgnutls: Added GNUTLS_STATELESS_COMPRESSION flag to gnutls_init(), which provides a tool to counter compression-related attacks where parts of the data are controlled by the attacker _and_ are placed in separate records (use with care - do not use compression if not sure). * * libgnutls: Depends on libtasn1 2.14 or later. * * certtool: Prints the number of bits of the public key algorithm parameter in a private key. - Updated to GnuTLS 3.1.1 (released 2012-09-02) * * gnutls-serv: Listens on IPv6. Patch by Bernhard R. Link. * * certtool: Changes in password handling of certtool. Ask password when required and only if the '--password' option is not given. If the '--password' option is given during key generation then assume the PKCS #8 file format, instead of ignoring the password. * * tpmtool: No longer asks for key password in registered keys. * * libgnutls: Elliptic curve code was optimized by Ilya Tumaykin. wmNAF is now used for point multiplication and other optimizations. (the major part of the work was done during Google Summer of Code). * * libgnutls: The default pull_timeout_function only uses select instead of a combination of select() and recv() to prevent issues when used in stream sockets in some systems. * * libgnutls: Be tolerant in ECDSA signature violations (e.g. using SHA256 with a SECP384 curve instead of SHA-384), to interoperate with openssl. * * libgnutls: Fixed DSA and ECDSA signature generation in smart cards. Thanks to Andreas Schwier from cardcontact.de for providing me with ECDSA capable smart cards. - Updated to GnuTLS 3.1.0 (released 2012-08-15) * * libgnutls: Added direct support for TPM as a cryptographic module in gnutls/tpm.h. TPM keys can be used in functions accepting files using URLs of the following types: tpmkey:file=/path/to/file tpmkey:uuid=7f468c16-cb7f-11e1-824d-b3a4f4b20343;storage=user * * libgnutls: Priority string level keywords can be combined. For example the string "SECURE256:+SUITEB128" is now allowed. * * libgnutls: requires libnettle 2.5. * * libgnutls: Use the PKCS #1 1.5 encoding provided by nettle (2.5) for encryption and signatures. * * libgnutls: Added GNUTLS_CERT_SIGNATURE_FAILURE to differentiate between generic errors and signature verification errors in the verification functions. * * libgnutls: Added gnutls_pkcs12_simple_parse() as a helper function to simplify parsing in most PKCS #12 use cases. * * libgnutls: gnutls_certificate_set_x509_simple_pkcs12_file() adds the whole certificate chain (if any) to the credentials structure, instead of only the end-user certificate. * * libgnutls: Key import functions such as gnutls_pkcs12_simple_parse() and gnutls_x509_privkey_import_pkcs8(), return consistently GNUTLS_E_DECRYPTION_FAILED if the input structure is encrypted but no password was provided. * * libgnutls: Added gnutls_handshake_set_timeout() a function that allows to set the maximum time spent in a handshake. * * libgnutlsxx: Added session::set_transport_vec_push_function. Patch by Alexandre Bique. * * tpmtool: Added. It is a tool to generate private keys in the TPM. * * gnutls-cli: --benchmark-tls was split to --benchmark-tls-kx and --benchmark-tls-ciphers * * certtool: generated PKCS #12 structures may hold more than one private key. Patch by Lucas Fisher. * * certtool: Added option --null-password to generate/decrypt keys that use a NULL password (in schemas that distinguish between NULL an empty passwords). * * minitasn1: Upgraded to libtasn1 version 2.13. - Library is now LGPL-2.1+, extras and tools are still GPL-3.0- Added makeinfo BuildRequire to fix build with new automake- Updated to GnuTLS 3.0.28 - libgnutls: Fixes in server side of DTLS-0.9. - libgnutls: Corrected gnutls_cipher_decrypt2() when used with AEAD ciphers (i.e., AES-GCM). - libgnutls: Fixes in record padding parsing to prevent a timing attack. Issue reported by Kenny Patterson and Nadhem Alfardan. bnc#802184 - libgnutls: DN variable 'T' was expanded to 'title'.- Updated to GnuTLS 3.0.27 - libgnutls: Fixed record padding parsing issue. - libgnutls: Stricter RSA PKCS #1 1.5 encoding. - libgnutls-guile: Fixed parallel compilation issue. - API and ABI modifications: No changes since last version.- Test suite breaks on qemu-arm some calls not implemented.- include LGPL-3.0+ text in COPYING.LESSER - run regression tests, but move "make check" to %check section - add gnutls-3.0.26-skip-test-fwrite.patch to skip a failing test - no longer manipulate doc/examples tree in %install section, the deletion of Makefiles breaks "make check" in %check - install documentation, reference and examples in %install section to fetch them for the package without unneccessary files- updated to GnuTLS 3.0.26: - libgnutls: Always tolerate key usage violation errors from the side of the peer, but also notify via an audit message. - libgnutls: gnutls_x509_crl_verify() includes time checks. - libgnutls: Increased maximum password length in the PKCS #12 functions. - API and ABI modifications: GNUTLS_CERT_REVOCATION_DATA_TOO_OLD: Added GNUTLS_CERT_REVOCATION_DATA_ISSUED_IN_FUTURE: Added - includes changes from 3.0.25: - libgnutls: Fixed the receipt of session tickets during session resumption. - libgnutls: Added gnutls_ocsp_resp_check_crt() to check whether the OCSP response corresponds to the given certificate. - libgnutls: Several updates in the OpenPGP code. The generating code is fully RFC6091 compliant and RFC5081 support is only supported in client mode. - API and ABI modifications: gnutls_ocsp_resp_check_crt: Added - includes changes form version 3.0.24: - libgnutls: The %COMPAT keyword, if specified, will tolerate key usage violation errors (they are far too common to ignore). - libgnutls: Corrected bug in OpenPGP subpacket encoding. - libgnutls: Added X.509 certificate verification flag - GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN. This flag allows the verification of unsorted certificate chains and is enabled by default for TLS certificate verification (if gnutls_certificate_set_verify_flags() does not override it). - libgnutls: Correctly restore gnutls_record_recv() in DTLS mode if interrupted during the retrasmition of handshake data. - libgnutls: Added GNUTLS_STATELESS_COMPRESSION flag to gnutls_init(), which provides a tool to counter compression-related attacks where parts of the data are controlled by the attacker _and_ are placed in separate records (use with care - do not use compression if not sure). - libgnutls: Depends on libtasn1 2.14 or later. - includes changes from version 3.0.23: - gnutls-serv: Listens on IPv6 - libgnutls: Be tolerant in ECDSA signature violations (e.g. using SHA256 with a SECP384 curve instead of SHA-384), to interoperate with openssl. - libgnutls: Fixed DSA and ECDSA signature generation in smart cards. - includes changes from version 3.0.22 - libgnutls: When verifying a certificate chain make sure it is chain. If the chain is wronly interrupted at some point then truncate it, and only try to verify the correct part. Patch by David Woodhouse - libgnutls: Restored the behavior of gnutls_x509_privkey_import_pkcs8() which now may (again) accept a NULL password. - certtool: Allow the user to choose the hash algorithm when signing certificate request or certificate revocation list. - Refresh gnutls-implement-trust-store-dir.diff, some parts are in upstream sources- update to latest stable version 3.0.21: libgnutls: fixed bug in gnutls_x509_privkey_import() that prevented the loading of EC private keys when DER encoded. Reported by David Woodhouse. libgnutls: In DTLS larger to mtu records result to GNUTLS_E_LARGE_PACKET instead of being truncated. libgnutls: gnutls_dtls_get_data_mtu() is more precise. Based on patch by David Woodhouse. libgnutls: Fixed memory leak in PKCS #8 key import. libgnutls: Added support for an old version of the DTLS protocol used by openconnect vpn client for compatibility with Cisco's AnyConnect SSL VPN. It is marked as GNUTLS_DTLS0_9. Do not use it for newer protocols as it has issues. libgnutls: Corrected bug that prevented resolving PKCS #11 URLs if only the label is specified. Patch by David Woodhouse. libgnutls: When EMSGSIZE errno is seen then GNUTLS_E_LARGE_PACKET is returned. API and ABI modifications: gnutls_dtls_set_data_mtu: Added gnutls_session_set_premaster: Added- merge am-1.12 patches into 1- fix 12.2 builds. * replace depreciated am_prog_mkdir_p with ac_prog_mkdir_p.- Updated to version 3.0.20: libgnutls: Corrected bug which prevented the parsing of handshake packets spanning multiple records. libgnutls: Check key identifiers when checking for an issuer. libgnutls: Added gnutls_pubkey_verify_hash2() libgnutls: Added gnutls_certificate_set_x509_system_trust() that loads the trusted CA certificates from system locations (e.g. trusted storage in windows and CA bundle files in other systems). certtool: Added support for the URI subject alternative name type in certtool. certtool: Increase to 128 the maximum number of distinct options (e.g. dns_names) allowed. gnutls-cli: If --print-cert is given, print the certificate, even on verification failure. * * API and ABI modifications: gnutls_pk_to_sign: Added gnutls_pubkey_verify_hash2: Added gnutls_certificate_set_x509_system_trust: Added- fix build with automake-1.12 - add: automake-1.12.patch- backport gnutls_certificate_set_x509_system_trust() from git and add support for trust store directories (bnc#761634)- add version and release to gnutls-devel provides- let libgnutls-devel also provide gnutls-devel- Update to version 3.0.19: + libgnutls: - When decoding a PKCS #11 URL the pin-source field is assumed to be a file that stores the pin. Based on patch by David Smith. - gnutls_record_check_pending() no longer returns unprocessed data, and thus ensure the non-blocking of the next call to gnutls_record_recv(). - Added strict tests in Diffie-Hellman and SRP key exchange public keys. - in ECDSA and DSA TLS 1.2 authentication be less strict in hash selection, and allow a stronger hash to be used than the appropriate, to improve interoperability with openssl. + tests: - Disabled floating point test, and corrections in pkcs12 decoding tests. + API and ABI modifications: - No changes since last version. - Changes from version 3.0.18: + certtool: - Avoid a Y2K38 bug when generating certificates. Patch by Robert Millan. + libgnutls: - Make sure that GNUTLS_E_PREMATURE_TERMINATION - is returned on premature termination (and added unit test). - Fixes for W64 API. Patch by B. Scott Michel. - Corrected VIA padlock detection for old VIA processors. Reported by Kris Karas. - Updated assembler files. - Time in generated certificates is stored as GeneralizedTime instead of UTCTime (which only stores 2 digits of a year). + minitasn1: - Upgraded to libtasn1 version 2.13 (pre-release). + API and ABI modifications: - gnutls_x509_crt_set_private_key_usage_period: Added - gnutls_x509_crt_get_private_key_usage_period: Added - gnutls_x509_crq_set_private_key_usage_period: Added - gnutls_x509_crq_get_private_key_usage_period: Added - gnutls_session_get_random: Added - Changes from version 3.0.17: + command line apps: - Always link with local libopts. + API and ABI modifications: - No changes since last version. - Changes from version 3.0.16: + minitasn1: - Upgraded to libtasn1 version 2.12 (pre-release). + libgnutls: - Corrected SRP-RSA ciphersuites when used under TLS 1.2. - included assembler files for MacOSX. + p11tool: - Small fixes in handling of the --private command line option. + certtool: - The template option allows for setting the domain component (DC) option of the distinguished name, and the ocsp_uri as well as the ca_issuers_uri options. + API and ABI modifications: - gnutls_x509_crt_set_authority_info_access: Added - Changes from version 3.0.15: + test suite: - Only run under valgrind in the development system (the full git repository) + command line apps: - Link with local libopts if the installed is an old one. + libgnutls: - Eliminate double free during SRP authentication. Reported by Peter Penzov. - Corrections in record packet parsing. Reported by Matthew Hall. - Cryptodev updates and fixes. - Corrected issue with select() that affected FreeBSD. This prevented establishing DTLS sessions. Reported by Andreas Metzler. - Corrected rehandshake and resumption operations in DTLS. Reported by Sean Buckheister. - PKCS #11 objects that do not have ID no longer crash listing. Reported by Sven Geggus. + API and ABI modifications: - No changes since last version. - Changes from version 3.0.14: + command line apps: - Included libopts doesn't get installed by default. + libgnutls: - Eliminate double free on wrongly formatted certificate list. Reported by Remi Gacogne. - cryptodev code corrected, updated to account for hashes and GCM mode. Eliminated memory leak in PCKS #11 initialization. Report and fix by Sam Varshavchik. + API and ABI modifications: - No changes since last version. - Changes from version 3.0.13: + gnutls-cli: - added the --ocsp option which will verify the peer's certificate with OCSP. - added the --tofu and if specified, gnutls-cli will use an ssh-style authentication method. - if no --x509cafile is provided a default is assumed (/etc/ssl/certs/ca-certificates.crt), if it exists. + ocsptool: - Added --ask parameter, to verify a certificate's status from an ocsp server. + command line apps: - Use gnu autogen (libopts) to parse command line arguments and template files. + tests: - Added stress test for DTLS packet losses and out-of-order receival. Contributed by Sean Buckheister. + libgnutls: - Several updates and corrections in the DTLS DTLS lost packet handling and retransmission timeouts. Report and patches by Sean Buckheister. - Added new functions to easily allow the usage of a trust on first use (SSH-style) authentication. - SUITEB128 and SUITEB192 priority strings account for the RFC6460 requirements. - Added new security parameter GNUTLS_SEC_PARAM_LEGACY to account for security level of 96-bits. - In client side if server does not advertise any known CAs and only a single certificate is set in the credentials, sent that one. - Added functions to parse authority key identifiers when stored as a 'general name' and serial combo. - Added function to force explicit reinitialization of PKCS #11 modules. This is required on the child process after a fork (if PKCS #11 functionality is desirable). - Depend on p11-kit 0.11. + API and ABI modifications: - gnutls_dtls_get_timeout: Added - gnutls_verify_stored_pubkey: Added - gnutls_store_pubkey: Added - gnutls_store_commitment: Added - gnutls_x509_crt_get_authority_key_gn_serial: Added - gnutls_x509_crl_get_authority_key_gn_serial: Added - gnutls_pkcs11_reinit: Added - gnutls_ecc_curve_list: Added - gnutls_priority_certificate_type_list: Added - gnutls_priority_sign_list: Added - gnutls_priority_protocol_list: Added - gnutls_priority_compression_list: Added - gnutls_priority_ecc_curve_list: Added - gnutls_tdb_init: Added - gnutls_tdb_set_store_func: Added - gnutls_tdb_set_store_commitment_func: Added - gnutls_tdb_set_verify_func: Added - gnutls_tdb_deinit: Added - Changes from version 3.0.12: + libgnutls: - Added OCSP support. There is a new header file gnutls/ocsp.h and a set of new functions under the gnutls_ocsp namespace. Currently the functionality provided is to parse and extract information from OCSP requests/responses, to generate OCSP requests and to verify OCSP responses. See the manual for more information. Run ./configure with --disable-ocsp to build GnuTLS without OCSP support. This work was sponsored by Smoothwall . + ocsptool: - Added new command line tool. The tool can parse OCSP request/responses, generate OCSP requests and verify OCSP responses. See the manual for more information. + certtool: - --outder option now works for private and public keys as well. + libgnutls: - Added error code GNUTLS_E_NO_PRIORITIES_WERE_SET to warn when no or insufficient priorities were set. - Corrected an alignment issue in ECDH key generation which prevented some keys from being correctly aligned in rare circumstances. - Corrected memory leaks in DH parameter generation and ecc_projective_check_point(). - Added gnutls_x509_dn_oid_name() to return a descriptive name of a DN OID. + API and ABI modifications: - gnutls_pubkey_encrypt_data: Added - gnutls_x509_dn_oid_name: Added - gnutls_session_resumption_requested: Added - gnutls/ocsp.h: Added new header file. - gnutls_ocsp_print_formats_t: Added new type. - gnutls_ocsp_resp_status_t: Added new type. - gnutls_ocsp_cert_status_t: Added new type. - gnutls_x509_crl_reason_t: Added new type. - gnutls_ocsp_req_add_cert: Added. - gnutls_ocsp_req_add_cert_id: Added. - gnutls_ocsp_req_deinit: Added. - gnutls_ocsp_req_export: Added. - gnutls_ocsp_req_get_cert_id: Added. - gnutls_ocsp_req_get_extension: Added. - gnutls_ocsp_req_get_nonce: Added. - gnutls_ocsp_req_get_version: Added. - gnutls_ocsp_req_import: Added. - gnutls_ocsp_req_init: Added. - gnutls_ocsp_req_print: Added. - gnutls_ocsp_req_randomize_nonce: Added. - gnutls_ocsp_req_set_extension: Added. - gnutls_ocsp_req_set_nonce: Added. - gnutls_ocsp_resp_deinit: Added. - gnutls_ocsp_resp_export: Added. - gnutls_ocsp_resp_get_certs: Added. - gnutls_ocsp_resp_get_extension: Added. - gnutls_ocsp_resp_get_nonce: Added. - gnutls_ocsp_resp_get_produced: Added. - gnutls_ocsp_resp_get_responder: Added. - gnutls_ocsp_resp_get_response: Added. - gnutls_ocsp_resp_get_signature: Added. - gnutls_ocsp_resp_get_signature_algorithm: Added. - gnutls_ocsp_resp_get_single: Added. - gnutls_ocsp_resp_get_status: Added. - gnutls_ocsp_resp_get_version: Added. - gnutls_ocsp_resp_import: Added. - gnutls_ocsp_resp_init: Added. - gnutls_ocsp_resp_print: Added. - gnutls_ocsp_resp_verify: Added. - Changes from version 3.0.11: + libgnutls: - Corrected functionality of gnutls_record_get_direction(). Reported by Philip Allison. - Provide less timing information when decoding TLS/DTLS record packets. Patch by Nadhem Alfardan. + API and ABI modifications: - No changes since last version. - Changes from version 3.0.10: + gnutls-cli/serv: - Set don't fragment bit in DTLS sessions in Linux as well as in BSD. + gnutls-cli: - Fixed reading from windows terminals. + libgnutls: - When GNUTLS_OPENPGP_FMT_BASE64 is specified the stream is assumed to be base64 encoded (previously the encoding was auto-detected). This avoids a decoding issue in windows systems. - Corrected ciphersuite GNUTLS_ECDHE_PSK_AES_256_CBC_SHA384 - Added ciphersuites: GNUTLS_PSK_WITH_AES_256_GCM_SHA384 and GNUTLS_DHE_PSK_WITH_AES_256_GCM_SHA384. - Added function gnutls_random_art() to convert fingerprints to images (currently ascii-art). - Corrected bug in DSA private key parsing, which prevented the verification of the key. + API and ABI modifications: - gnutls_random_art: Added - Changes from version 3.0.09: + certtool: - Added new parameter --dh-info. - -l option was overloaded so if combined with --priority it will only list the ciphersuites that are enabled by the given priority string. + libgnutls: - Added new priority string %SERVER_PRECEDENCE, which changes the ciphersuite selection procedure. If specified the server priorities will be used for selection instead of the client's. - Optimizations in Diffie-Hellman parameters generation and key exchange. - When session tickets are negotiated and used in a session, a server will not store that session data into its cache. - Added the SECP192R1 curve. - Added gnutls_priority_get_cipher_suite_index() to allow listing the ciphersuites enabled in a priority structure. It outputs an index to be used in gnutls_get_cipher_suite_info(). - Optimizations in the elliptic curve code --timing attacks resistant code is only used in ECDSA private key operations. + doc: - man pages for API functions generation was fixed and are now added again in the distribution. + API and ABI modifications: - GNUTLS_ECC_CURVE_SECP192R1: New curve definition - gnutls_priority_get_cipher_suite_index: Added - Changes from version 3.0.08: + certtool: - Certtool -e returns error code on verification failure. - Verifies parameters of generated keys. + libgnutls: - Corrected ECC key generation (introduced in 3.0.6) - Provide less timing information when decoding TLS/DTLS record packets. + doc: - man pages for API functions were removed. The reason was that the code that auto-generated the man pages missed many APIs and we couldn't fix it (volunteers welcome). See the info manual or the GTK-DOC manual instead. + API and ABI modifications: - gnutls_x509_privkey_verify_params: Added - Changes from version 3.0.07: + libgnutls: - Corrected fix in gnutls_session_get_data() to report the actual session size when the provided buffer is not enough. - Fixed ciphersuite GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256, which was using a wrong MAC algorithm. Reported by Fabrice Gautier. + API and ABI modifications: - No changes since last version. - Changes from version 3.0.06: + gnutls-guile: - Compilation fixes. + libgnutls: - Fixed possible buffer overflow in gnutls_session_get_data(). Reported and fix by Alban Crequy. - Bug fixes in the ciphersuites with NULL cipher. Reported by Fabrice Gautier. - Bug fixes in ECC code for 64-bit MIPS systems. Thanks to Joseph Graham for providing access to such a system. - Correctly report ECC private key parsing errors. Reported by Fabrice Gautier. - In ECDHE verify that the received point lies on the selected curve. The ECDHE ciphersuites now take precendence to plain DHE. + API and ABI modifications: - No changes since last version. - Changes from version 3.0.05: + libgnutls-extra: - is no more + libgnutls: - Corrections in order to compile with mingw32. - Corrections in VIA padlock code for VIA C5 processor and new detection of PHE with support for partial hashing. - Corrected bug in gnutls_x509_data2hex. Report and fix by Vincent Untz. + minitasn1: - Upgraded to libtasn1 version 2.10. + API and ABI modifications: - No changes since last version. - Changes from version 3.0.04: + gnutls-cli-debug: - Added more tests including AES-GCM, SHA256 and elliptic curves. + gnutls-cli: - Added --benchmark-soft-ciphers to benchmark the software version of the ciphers instead of hw accelerated (where available) + libgnutls: - Public key ID calculation is consistent among all structures. It uses a SHA-1 hash of the subjectPublicKeyInfo. - gnutls_privkey_t allows setting external callback to perform signing or decryption. Can be set using gnutls_privkey_import_ext() - A certificate credentials structure can be used with a gnutls_privkey_t and a gnutls_pcert_st structure using gnutls_certificate_set_key(). - Fixes to enable external signing callback to operate with TLS 1.2. - Fixed crash when printing ECDSA certificate key ID. Reported by Erik Jensen. - Corrected VIA padlock code for C3. In C3 benchmarks show a 2x increase in AES speed and a 14x increase in VIA nano. Added support for hashes and HMACs. - Compilation fixed when p11-kit is not detected. - Fixed the deflate compression code. - Added gnutls_x509_crt_get_authority_info_access. Used to get the PKIX Authority Information Access (AIA) field. - gnutls_x509_crt_print supports printing AIA fields. - Added ability to gnutls_privkey_t to operate with signing callback function. + API and ABI modifications: - gnutls_x509_crt_get_authority_info_access (x509.h): Added function. - gnutls_privkey_import_ext: Added function. - gnutls_certificate_set_key: Added function. - gnutls_info_access_what_t (x509.h): Added enum. - GNUTLS_OID_AIA (x509.h): Added symbol. - GNUTLS_OID_AD_OCSP (x509.h): Added symbol. - GNUTLS_OID_AD_CAISSUERS (x509.h): Added symbol. - Drop CVE-2011-4128.patch, CVE-2012-0390.patch, CVE-2012-1569.patch, CVE-2012-1573.patch, gnutls-fix-compression.patch, gnutls-fix-crash-on-strcat.patch: all fixed upstream.- fix bug[bnc#753301] - VUL-0: gnutls/libtasn1 "asn1_get_length_der()" DER decoding issue CVE-2012-1569 and bug[bnc#754223] - GenericBlockCipher heap corruption DoS CVE-2012-1573- fix Bug[bnc#739898] - VUL-1: CVE-2012-0390: GnuTLS DTLS plaintext recovery attack.- Fix licenses (bnc#733661): the applications as well as gnutls-extra and gnutls-openssl libraries are under GPL-3.0+ while the library is LGPL-3.0+.- add automake as buildrequire to avoid implicit dependency- fix #Bug 729486 - gnutls: buffer overflow CVE-2011-4128- Add gnutls-fix-crash-on-strcat.patch: make sure a string is nul-terminated before using strcat on it. Fix bnc#724421.- cross-build fix: configure with sysroot- Add gnutls-fix-compression.patch: fix some decompression/compression issues that caused connection failures to some XMPP servers. Patch taken from git.- added libgnutls-devel to baselibs.conf for 32bit Wine on 64bit build- Update to version 3.0.3: + libgnutls: - Added gnutls_record_get_discarded() to return the number of discarded records in a DTLS session. - All functions related to RSA-EXPORT were deprecated. - Memory leak fixes in credentials private key deinitialization. - Memory leak fixes in ECC ciphersuites. - Do not send an empty extension structure in server hello. This affected old implementations that do not support extensions. - Allow CA importing of 0 certificates to succeed. - Added support for VIA padlock AES optimizations. (disabled by default) - Added support for elliptic curves in PKCS #11. - Added gnutls_pkcs11_privkey_generate() to allow generating a key in a token. - gnutls_transport_set_lowat dummy macro was removed. + p11tool: Added generate-rsa, generate-dsa and generate-ecc options to allow generating private keys in the token. - Changes from version 3.0.2: + libgnutls: - OpenPGP certificate type is not enabled by default. - Added %NO_EXTENSIONS priority string. - Corrected issue in gnutls_record_recv() triggered on encryption or compression error. - Compatibility fixes in CPU ID detection for i386 and old GCC. - Corrected parsing of XMPP subject alternative names. - Allow for out-of-order ChangeCipherSpec message in DTLS. - gnutls_certificate_set_x509_key() and gnutls_certificate_set_openpgp_key() operate as in 2.10.x and allow the release of the private key during the lifetime of the certificate structure. + gnutls-cli: Benchmark applications were incorporated with it. - Changes from version 3.0.1: + libgnutls: - gnutls_certificate_set_x509_key_file() and friends support server name indication. If multiple certificates are set using these functions the proper one will be selected during a handshake. - Added AES-256-GCM which was left out from the previous release. - When asking for a PKCS# 11 PIN multiple times, the flags in the callback were not being updated to reflect for PIN low count or final try. - Do not allow second instances of PKCS #11 modules. - Fixed alignment issue in AES-NI code. - The config file at gnutls_pkcs11_init() is being read if provided. - Ensure that a certificate list specified using gnutls_certificate_set_x509_key() and friends, is sorted according to TLS specification (from subject to issuer). - Added GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED flag for gnutls_x509_crt_list_import. It checks whether the list to be imported is properly sorted. + crywrap: Added to the distribution. It is an application that proxies TLS session to a port using a plaintext service. + Many GTK-DOC improvements. + Updated translations. - Drop 0001-Included-appro-s-updates-to-AES-NI.patch, 0002-Added-note.GNU-stack-to-prevent-marking-the-library-.patch, 0003-Force-alignment-for-AES-NI-to-the-runtime-rather-tha.patch, 0006-Added-AES-256-GCM.-Reported-by-Benjamin-Hof.patch: all fixed upstream. - Drop call to autoreconf: it was only needed for the patches. - Add libidn-devel BuildRequires for the new crywrap tool.- update baselibs.conf- Update to version 3.0.0. many fixes see NEWS for details This changelog only describes important package changes or features. * Main reason for update is to support Intel AES-NI CPU extensions. * Bump sonames in the library package accordingly * C++ apps must now buildrequire libgnutls++-devel * Software using the openssl emulation must buildrequire libgnutls-openssl-devel or better use openssl directly. * Upstream no longer uses libgcrypt but libnettle. * Upstream now requires the use of p11-kit * Add post-release upstream patches critical for improving AES-NI support.- update to stable version 2.10.5 * * libgnutls: Corrected verification of finished messages. * * libgnutls: Corrected signature generation and verification in the Certificate Verify message when in TLS 1.2. Reported by Todd A. Ouska. * * pkg-config gnutls.pc improvements. The file uses 'Requires.private' for libtasn1 and libz when needed, instead of Libs.private. From Andreas Metzler. * * gnutls-serv: Corrected a buffer overflow. Reported and patch by Tomas Mraz. * * libgnutls: Use ASN1_NULL when writing parameters for RSA signatures. This makes us comply with RFC3279. Reported by Michael Rommel. * * libgnutls: Reverted default behavior for verification and introduced GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT. Thus by default V1 trusted CAs are allowed, unless the new flag is specified. * * minitasn1: Updated to Libtasn1 2.9. * * bgnutls: Correctly add leading zero to PKCS #8 encoded DSA key. Reported by Jeffrey Walton. * * libgnutls: Corrected memory leak in extension data calculation. Reported by Mike Blumenkrantz. * * libgnutls: Remove trailing comma in enums in gnutls.h and x509.h. * * API and ABI modifications: No changes since last version.- update to latest stable version 2.10.2 * tons of changes, see NEWS- buildrequire pkg-config to fix provides- updated to stable 2.8.6 * * libgnutls: For CSRs, don't null pad integers for RSA/DSA value. VeriSign rejected CSRs with this padding. Note: As a side effect of this change, the "public key identifier" value computed for a certificate using this version of GnuTLS will be different from values computed using earlier versions of GnuTLS. * * libgnutls: For CSRs on DSA keys, don't add DSA parameters to the optional SignatureAlgorithm parameter field. VeriSign rejected these CSRs. They are stricly speaking not needed since you need the signer's certificate to verify the certificate signature anyway. * * libgnutls: When checking openpgp self signature also check the signatures of all subkeys. Ilari Liusvaara noticed and reported the issue and provided test vectors as well. * * libgnutls: Cleanups and several bug fixes. Found by Steve Grubb and Tomas Mraz. * * Link libgcrypt explicitly to certtool, gnutls-cli, gnutls-serv. * * Fix --disable-valgrind-tests. * * examples: Use the new APIs for printing X.509 certificate information. * * i18n: Updated Czech, Dutch, French, Polish, Swedish and Vietnamese translations. Added Simplified Chinese translation.- use system libtasn1 instead of the bundled copy- some build fixes.- updated to stable 2.8.5- add baselibs.conf as a source - enable parallel building- update to lastest stable version 2.8.3 [bnc#532750]- fix security bug [bnc#457938] new CVE-2008-4989/bin/sh/bin/shcloud108 1537791912  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+3.3.27-2.3.13.3.27-2.3.13.3.27-2.3.13.3.27 gnutlsabstract.hcompat.hcrypto.hdtls.hgnutls.hocsp.hopenpgp.hpkcs11.hpkcs12.hself-test.htpm.hx509-ext.hx509.hlibgnutls.sognutls.pclibgnutls-develexamplesex-alert.cex-cert-select-pkcs11.cex-cert-select.cex-client-anon.cex-client-dtls.cex-client-psk.cex-client-resume.cex-client-srp.cex-client-x509.cex-crq.cex-ocsp-client.cex-pkcs11-list.cex-pkcs12.cex-serv-anon.cex-serv-dtls.cex-serv-pgp.cex-serv-psk.cex-serv-srp.cex-serv-x509.cex-session-info.cex-verify-ssh.cex-verify.cex-x509-info.cexamples.hprint-ciphersuites.ctcp.cudp.cverify.cgnutls-client-server-use-case.png.gzgnutls-crypto-layers.png.gzgnutls-handshake-sequence.png.gzgnutls-handshake-state.png.gzgnutls-internals.png.gzgnutls-layers.png.gzgnutls-logo.png.gzgnutls-modauth.png.gzgnutls-pgp.png.gzgnutls-x509.png.gzgnutls.htmlgnutls.pdfpkcs11-vision.png.gzreferenceapi-index-full.htmlgnutls-abstract.htmlgnutls-crypto.htmlgnutls-dtls.htmlgnutls-gnutls.htmlgnutls-ocsp.htmlgnutls-openpgp.htmlgnutls-pkcs11.htmlgnutls-pkcs12.htmlgnutls-tpm.htmlgnutls-x509.htmlgnutls.devhelp2home.png.gzindex.htmlintro.htmlleft-insensitive.png.gzleft.png.gzright-insensitive.png.gzright.png.gzstyle.cssup-insensitive.png.gzup.png.gzgnutls-client-server-use-case.png.gzgnutls-guile.info.gzgnutls-handshake-sequence.png.gzgnutls-handshake-state.png.gzgnutls-internals.png.gzgnutls-layers.png.gzgnutls-logo.png.gzgnutls-modauth.png.gzgnutls-pgp.png.gzgnutls-x509.png.gzgnutls.info-1.gzgnutls.info-2.gzgnutls.info-3.gzgnutls.info-4.gzgnutls.info-5.gzgnutls.info.gzpkcs11-vision.png.gzgnutls_alert_get.3.gzgnutls_alert_get_name.3.gzgnutls_alert_get_strname.3.gzgnutls_alert_send.3.gzgnutls_alert_send_appropriate.3.gzgnutls_alpn_get_selected_protocol.3.gzgnutls_alpn_set_protocols.3.gzgnutls_anon_allocate_client_credentials.3.gzgnutls_anon_allocate_server_credentials.3.gzgnutls_anon_free_client_credentials.3.gzgnutls_anon_free_server_credentials.3.gzgnutls_anon_set_params_function.3.gzgnutls_anon_set_server_dh_params.3.gzgnutls_anon_set_server_params_function.3.gzgnutls_auth_client_get_type.3.gzgnutls_auth_get_type.3.gzgnutls_auth_server_get_type.3.gzgnutls_bye.3.gzgnutls_certificate_activation_time_peers.3.gzgnutls_certificate_allocate_credentials.3.gzgnutls_certificate_client_get_request_status.3.gzgnutls_certificate_client_set_retrieve_function.3.gzgnutls_certificate_expiration_time_peers.3.gzgnutls_certificate_free_ca_names.3.gzgnutls_certificate_free_cas.3.gzgnutls_certificate_free_credentials.3.gzgnutls_certificate_free_crls.3.gzgnutls_certificate_free_keys.3.gzgnutls_certificate_get_crt_raw.3.gzgnutls_certificate_get_issuer.3.gzgnutls_certificate_get_ours.3.gzgnutls_certificate_get_peers.3.gzgnutls_certificate_get_peers_subkey_id.3.gzgnutls_certificate_send_x509_rdn_sequence.3.gzgnutls_certificate_server_set_request.3.gzgnutls_certificate_server_set_retrieve_function.3.gzgnutls_certificate_set_dh_params.3.gzgnutls_certificate_set_key.3.gzgnutls_certificate_set_ocsp_status_request_file.3.gzgnutls_certificate_set_ocsp_status_request_function.3.gzgnutls_certificate_set_openpgp_key.3.gzgnutls_certificate_set_openpgp_key_file.3.gzgnutls_certificate_set_openpgp_key_file2.3.gzgnutls_certificate_set_openpgp_key_mem.3.gzgnutls_certificate_set_openpgp_key_mem2.3.gzgnutls_certificate_set_openpgp_keyring_file.3.gzgnutls_certificate_set_openpgp_keyring_mem.3.gzgnutls_certificate_set_params_function.3.gzgnutls_certificate_set_pin_function.3.gzgnutls_certificate_set_retrieve_function.3.gzgnutls_certificate_set_retrieve_function2.3.gzgnutls_certificate_set_rsa_export_params.3.gzgnutls_certificate_set_trust_list.3.gzgnutls_certificate_set_verify_flags.3.gzgnutls_certificate_set_verify_function.3.gzgnutls_certificate_set_verify_limits.3.gzgnutls_certificate_set_x509_crl.3.gzgnutls_certificate_set_x509_crl_file.3.gzgnutls_certificate_set_x509_crl_mem.3.gzgnutls_certificate_set_x509_key.3.gzgnutls_certificate_set_x509_key_file.3.gzgnutls_certificate_set_x509_key_file2.3.gzgnutls_certificate_set_x509_key_mem.3.gzgnutls_certificate_set_x509_key_mem2.3.gzgnutls_certificate_set_x509_simple_pkcs12_file.3.gzgnutls_certificate_set_x509_simple_pkcs12_mem.3.gzgnutls_certificate_set_x509_system_trust.3.gzgnutls_certificate_set_x509_trust.3.gzgnutls_certificate_set_x509_trust_dir.3.gzgnutls_certificate_set_x509_trust_file.3.gzgnutls_certificate_set_x509_trust_mem.3.gzgnutls_certificate_type_get.3.gzgnutls_certificate_type_get_id.3.gzgnutls_certificate_type_get_name.3.gzgnutls_certificate_type_list.3.gzgnutls_certificate_type_set_priority.3.gzgnutls_certificate_verification_status_print.3.gzgnutls_certificate_verify_peers.3.gzgnutls_certificate_verify_peers2.3.gzgnutls_certificate_verify_peers3.3.gzgnutls_check_version.3.gzgnutls_cipher_add_auth.3.gzgnutls_cipher_decrypt.3.gzgnutls_cipher_decrypt2.3.gzgnutls_cipher_deinit.3.gzgnutls_cipher_encrypt.3.gzgnutls_cipher_encrypt2.3.gzgnutls_cipher_get.3.gzgnutls_cipher_get_block_size.3.gzgnutls_cipher_get_id.3.gzgnutls_cipher_get_iv_size.3.gzgnutls_cipher_get_key_size.3.gzgnutls_cipher_get_name.3.gzgnutls_cipher_get_tag_size.3.gzgnutls_cipher_init.3.gzgnutls_cipher_list.3.gzgnutls_cipher_self_test.3.gzgnutls_cipher_set_iv.3.gzgnutls_cipher_set_priority.3.gzgnutls_cipher_suite_get_name.3.gzgnutls_cipher_suite_info.3.gzgnutls_cipher_tag.3.gzgnutls_compression_get.3.gzgnutls_compression_get_id.3.gzgnutls_compression_get_name.3.gzgnutls_compression_list.3.gzgnutls_compression_set_priority.3.gzgnutls_credentials_clear.3.gzgnutls_credentials_get.3.gzgnutls_credentials_set.3.gzgnutls_db_check_entry.3.gzgnutls_db_check_entry_time.3.gzgnutls_db_get_default_cache_expiration.3.gzgnutls_db_get_ptr.3.gzgnutls_db_remove_session.3.gzgnutls_db_set_cache_expiration.3.gzgnutls_db_set_ptr.3.gzgnutls_db_set_remove_function.3.gzgnutls_db_set_retrieve_function.3.gzgnutls_db_set_store_function.3.gzgnutls_deinit.3.gzgnutls_dh_get_group.3.gzgnutls_dh_get_peers_public_bits.3.gzgnutls_dh_get_prime_bits.3.gzgnutls_dh_get_pubkey.3.gzgnutls_dh_get_secret_bits.3.gzgnutls_dh_params_cpy.3.gzgnutls_dh_params_deinit.3.gzgnutls_dh_params_export2_pkcs3.3.gzgnutls_dh_params_export_pkcs3.3.gzgnutls_dh_params_export_raw.3.gzgnutls_dh_params_generate2.3.gzgnutls_dh_params_import_pkcs3.3.gzgnutls_dh_params_import_raw.3.gzgnutls_dh_params_init.3.gzgnutls_dh_set_prime_bits.3.gzgnutls_digest_get_id.3.gzgnutls_digest_get_name.3.gzgnutls_digest_list.3.gzgnutls_digest_self_test.3.gzgnutls_dtls_cookie_send.3.gzgnutls_dtls_cookie_verify.3.gzgnutls_dtls_get_data_mtu.3.gzgnutls_dtls_get_mtu.3.gzgnutls_dtls_get_timeout.3.gzgnutls_dtls_prestate_set.3.gzgnutls_dtls_set_data_mtu.3.gzgnutls_dtls_set_mtu.3.gzgnutls_dtls_set_timeouts.3.gzgnutls_ecc_curve_get.3.gzgnutls_ecc_curve_get_name.3.gzgnutls_ecc_curve_get_size.3.gzgnutls_ecc_curve_list.3.gzgnutls_error_is_fatal.3.gzgnutls_error_to_alert.3.gzgnutls_est_record_overhead_size.3.gzgnutls_fingerprint.3.gzgnutls_fips140_mode_enabled.3.gzgnutls_global_deinit.3.gzgnutls_global_init.3.gzgnutls_global_set_audit_log_function.3.gzgnutls_global_set_log_function.3.gzgnutls_global_set_log_level.3.gzgnutls_global_set_mem_functions.3.gzgnutls_global_set_mutex.3.gzgnutls_global_set_time_function.3.gzgnutls_handshake.3.gzgnutls_handshake_description_get_name.3.gzgnutls_handshake_get_last_in.3.gzgnutls_handshake_get_last_out.3.gzgnutls_handshake_set_hook_function.3.gzgnutls_handshake_set_max_packet_length.3.gzgnutls_handshake_set_post_client_hello_function.3.gzgnutls_handshake_set_private_extensions.3.gzgnutls_handshake_set_random.3.gzgnutls_handshake_set_timeout.3.gzgnutls_hash.3.gzgnutls_hash_deinit.3.gzgnutls_hash_fast.3.gzgnutls_hash_get_len.3.gzgnutls_hash_init.3.gzgnutls_hash_output.3.gzgnutls_heartbeat_allowed.3.gzgnutls_heartbeat_enable.3.gzgnutls_heartbeat_get_timeout.3.gzgnutls_heartbeat_ping.3.gzgnutls_heartbeat_pong.3.gzgnutls_heartbeat_set_timeouts.3.gzgnutls_hex2bin.3.gzgnutls_hex_decode.3.gzgnutls_hex_encode.3.gzgnutls_hmac.3.gzgnutls_hmac_deinit.3.gzgnutls_hmac_fast.3.gzgnutls_hmac_get_len.3.gzgnutls_hmac_init.3.gzgnutls_hmac_output.3.gzgnutls_hmac_set_nonce.3.gzgnutls_init.3.gzgnutls_key_generate.3.gzgnutls_kx_get.3.gzgnutls_kx_get_id.3.gzgnutls_kx_get_name.3.gzgnutls_kx_list.3.gzgnutls_kx_set_priority.3.gzgnutls_load_file.3.gzgnutls_mac_get.3.gzgnutls_mac_get_id.3.gzgnutls_mac_get_key_size.3.gzgnutls_mac_get_name.3.gzgnutls_mac_get_nonce_size.3.gzgnutls_mac_list.3.gzgnutls_mac_self_test.3.gzgnutls_mac_set_priority.3.gzgnutls_ocsp_req_add_cert.3.gzgnutls_ocsp_req_add_cert_id.3.gzgnutls_ocsp_req_deinit.3.gzgnutls_ocsp_req_export.3.gzgnutls_ocsp_req_get_cert_id.3.gzgnutls_ocsp_req_get_extension.3.gzgnutls_ocsp_req_get_nonce.3.gzgnutls_ocsp_req_get_version.3.gzgnutls_ocsp_req_import.3.gzgnutls_ocsp_req_init.3.gzgnutls_ocsp_req_print.3.gzgnutls_ocsp_req_randomize_nonce.3.gzgnutls_ocsp_req_set_extension.3.gzgnutls_ocsp_req_set_nonce.3.gzgnutls_ocsp_resp_check_crt.3.gzgnutls_ocsp_resp_deinit.3.gzgnutls_ocsp_resp_export.3.gzgnutls_ocsp_resp_get_certs.3.gzgnutls_ocsp_resp_get_extension.3.gzgnutls_ocsp_resp_get_nonce.3.gzgnutls_ocsp_resp_get_produced.3.gzgnutls_ocsp_resp_get_responder.3.gzgnutls_ocsp_resp_get_response.3.gzgnutls_ocsp_resp_get_signature.3.gzgnutls_ocsp_resp_get_signature_algorithm.3.gzgnutls_ocsp_resp_get_single.3.gzgnutls_ocsp_resp_get_status.3.gzgnutls_ocsp_resp_get_version.3.gzgnutls_ocsp_resp_import.3.gzgnutls_ocsp_resp_init.3.gzgnutls_ocsp_resp_print.3.gzgnutls_ocsp_resp_verify.3.gzgnutls_ocsp_resp_verify_direct.3.gzgnutls_ocsp_status_request_enable_client.3.gzgnutls_ocsp_status_request_get.3.gzgnutls_ocsp_status_request_is_checked.3.gzgnutls_openpgp_crt_check_hostname.3.gzgnutls_openpgp_crt_check_hostname2.3.gzgnutls_openpgp_crt_deinit.3.gzgnutls_openpgp_crt_export.3.gzgnutls_openpgp_crt_export2.3.gzgnutls_openpgp_crt_get_auth_subkey.3.gzgnutls_openpgp_crt_get_creation_time.3.gzgnutls_openpgp_crt_get_expiration_time.3.gzgnutls_openpgp_crt_get_fingerprint.3.gzgnutls_openpgp_crt_get_key_id.3.gzgnutls_openpgp_crt_get_key_usage.3.gzgnutls_openpgp_crt_get_name.3.gzgnutls_openpgp_crt_get_pk_algorithm.3.gzgnutls_openpgp_crt_get_pk_dsa_raw.3.gzgnutls_openpgp_crt_get_pk_rsa_raw.3.gzgnutls_openpgp_crt_get_preferred_key_id.3.gzgnutls_openpgp_crt_get_revoked_status.3.gzgnutls_openpgp_crt_get_subkey_count.3.gzgnutls_openpgp_crt_get_subkey_creation_time.3.gzgnutls_openpgp_crt_get_subkey_expiration_time.3.gzgnutls_openpgp_crt_get_subkey_fingerprint.3.gzgnutls_openpgp_crt_get_subkey_id.3.gzgnutls_openpgp_crt_get_subkey_idx.3.gzgnutls_openpgp_crt_get_subkey_pk_algorithm.3.gzgnutls_openpgp_crt_get_subkey_pk_dsa_raw.3.gzgnutls_openpgp_crt_get_subkey_pk_rsa_raw.3.gzgnutls_openpgp_crt_get_subkey_revoked_status.3.gzgnutls_openpgp_crt_get_subkey_usage.3.gzgnutls_openpgp_crt_get_version.3.gzgnutls_openpgp_crt_import.3.gzgnutls_openpgp_crt_init.3.gzgnutls_openpgp_crt_print.3.gzgnutls_openpgp_crt_set_preferred_key_id.3.gzgnutls_openpgp_crt_verify_ring.3.gzgnutls_openpgp_crt_verify_self.3.gzgnutls_openpgp_keyring_check_id.3.gzgnutls_openpgp_keyring_deinit.3.gzgnutls_openpgp_keyring_get_crt.3.gzgnutls_openpgp_keyring_get_crt_count.3.gzgnutls_openpgp_keyring_import.3.gzgnutls_openpgp_keyring_init.3.gzgnutls_openpgp_privkey_deinit.3.gzgnutls_openpgp_privkey_export.3.gzgnutls_openpgp_privkey_export2.3.gzgnutls_openpgp_privkey_export_dsa_raw.3.gzgnutls_openpgp_privkey_export_rsa_raw.3.gzgnutls_openpgp_privkey_export_subkey_dsa_raw.3.gzgnutls_openpgp_privkey_export_subkey_rsa_raw.3.gzgnutls_openpgp_privkey_get_fingerprint.3.gzgnutls_openpgp_privkey_get_key_id.3.gzgnutls_openpgp_privkey_get_pk_algorithm.3.gzgnutls_openpgp_privkey_get_preferred_key_id.3.gzgnutls_openpgp_privkey_get_revoked_status.3.gzgnutls_openpgp_privkey_get_subkey_count.3.gzgnutls_openpgp_privkey_get_subkey_creation_time.3.gzgnutls_openpgp_privkey_get_subkey_expiration_time.3.gzgnutls_openpgp_privkey_get_subkey_fingerprint.3.gzgnutls_openpgp_privkey_get_subkey_id.3.gzgnutls_openpgp_privkey_get_subkey_idx.3.gzgnutls_openpgp_privkey_get_subkey_pk_algorithm.3.gzgnutls_openpgp_privkey_get_subkey_revoked_status.3.gzgnutls_openpgp_privkey_import.3.gzgnutls_openpgp_privkey_init.3.gzgnutls_openpgp_privkey_sec_param.3.gzgnutls_openpgp_privkey_set_preferred_key_id.3.gzgnutls_openpgp_privkey_sign_hash.3.gzgnutls_openpgp_send_cert.3.gzgnutls_openpgp_set_recv_key_function.3.gzgnutls_packet_deinit.3.gzgnutls_packet_get.3.gzgnutls_pcert_deinit.3.gzgnutls_pcert_import_openpgp.3.gzgnutls_pcert_import_openpgp_raw.3.gzgnutls_pcert_import_x509.3.gzgnutls_pcert_import_x509_raw.3.gzgnutls_pcert_list_import_x509_raw.3.gzgnutls_pem_base64_decode.3.gzgnutls_pem_base64_decode_alloc.3.gzgnutls_pem_base64_encode.3.gzgnutls_pem_base64_encode_alloc.3.gzgnutls_perror.3.gzgnutls_pk_algorithm_get_name.3.gzgnutls_pk_bits_to_sec_param.3.gzgnutls_pk_get_id.3.gzgnutls_pk_get_name.3.gzgnutls_pk_list.3.gzgnutls_pk_self_test.3.gzgnutls_pk_to_sign.3.gzgnutls_pkcs11_add_provider.3.gzgnutls_pkcs11_copy_secret_key.3.gzgnutls_pkcs11_copy_x509_crt.3.gzgnutls_pkcs11_copy_x509_crt2.3.gzgnutls_pkcs11_copy_x509_privkey.3.gzgnutls_pkcs11_copy_x509_privkey2.3.gzgnutls_pkcs11_crt_is_known.3.gzgnutls_pkcs11_deinit.3.gzgnutls_pkcs11_delete_url.3.gzgnutls_pkcs11_get_pin_function.3.gzgnutls_pkcs11_get_raw_issuer.3.gzgnutls_pkcs11_init.3.gzgnutls_pkcs11_obj_deinit.3.gzgnutls_pkcs11_obj_export.3.gzgnutls_pkcs11_obj_export2.3.gzgnutls_pkcs11_obj_export3.3.gzgnutls_pkcs11_obj_export_url.3.gzgnutls_pkcs11_obj_flags_get_str.3.gzgnutls_pkcs11_obj_get_exts.3.gzgnutls_pkcs11_obj_get_flags.3.gzgnutls_pkcs11_obj_get_info.3.gzgnutls_pkcs11_obj_get_type.3.gzgnutls_pkcs11_obj_import_url.3.gzgnutls_pkcs11_obj_init.3.gzgnutls_pkcs11_obj_list_import_url.3.gzgnutls_pkcs11_obj_list_import_url2.3.gzgnutls_pkcs11_obj_set_info.3.gzgnutls_pkcs11_obj_set_pin_function.3.gzgnutls_pkcs11_privkey_deinit.3.gzgnutls_pkcs11_privkey_export_pubkey.3.gzgnutls_pkcs11_privkey_export_url.3.gzgnutls_pkcs11_privkey_generate.3.gzgnutls_pkcs11_privkey_generate2.3.gzgnutls_pkcs11_privkey_generate3.3.gzgnutls_pkcs11_privkey_get_info.3.gzgnutls_pkcs11_privkey_get_pk_algorithm.3.gzgnutls_pkcs11_privkey_import_url.3.gzgnutls_pkcs11_privkey_init.3.gzgnutls_pkcs11_privkey_set_pin_function.3.gzgnutls_pkcs11_privkey_status.3.gzgnutls_pkcs11_reinit.3.gzgnutls_pkcs11_set_pin_function.3.gzgnutls_pkcs11_set_token_function.3.gzgnutls_pkcs11_token_get_flags.3.gzgnutls_pkcs11_token_get_info.3.gzgnutls_pkcs11_token_get_mechanism.3.gzgnutls_pkcs11_token_get_random.3.gzgnutls_pkcs11_token_get_url.3.gzgnutls_pkcs11_token_init.3.gzgnutls_pkcs11_token_set_pin.3.gzgnutls_pkcs11_type_get_name.3.gzgnutls_pkcs12_bag_decrypt.3.gzgnutls_pkcs12_bag_deinit.3.gzgnutls_pkcs12_bag_encrypt.3.gzgnutls_pkcs12_bag_get_count.3.gzgnutls_pkcs12_bag_get_data.3.gzgnutls_pkcs12_bag_get_friendly_name.3.gzgnutls_pkcs12_bag_get_key_id.3.gzgnutls_pkcs12_bag_get_type.3.gzgnutls_pkcs12_bag_init.3.gzgnutls_pkcs12_bag_set_crl.3.gzgnutls_pkcs12_bag_set_crt.3.gzgnutls_pkcs12_bag_set_data.3.gzgnutls_pkcs12_bag_set_friendly_name.3.gzgnutls_pkcs12_bag_set_key_id.3.gzgnutls_pkcs12_deinit.3.gzgnutls_pkcs12_export.3.gzgnutls_pkcs12_export2.3.gzgnutls_pkcs12_generate_mac.3.gzgnutls_pkcs12_get_bag.3.gzgnutls_pkcs12_import.3.gzgnutls_pkcs12_init.3.gzgnutls_pkcs12_set_bag.3.gzgnutls_pkcs12_simple_parse.3.gzgnutls_pkcs12_verify_mac.3.gzgnutls_pkcs7_deinit.3.gzgnutls_pkcs7_delete_crl.3.gzgnutls_pkcs7_delete_crt.3.gzgnutls_pkcs7_export.3.gzgnutls_pkcs7_export2.3.gzgnutls_pkcs7_get_crl_count.3.gzgnutls_pkcs7_get_crl_raw.3.gzgnutls_pkcs7_get_crt_count.3.gzgnutls_pkcs7_get_crt_raw.3.gzgnutls_pkcs7_import.3.gzgnutls_pkcs7_init.3.gzgnutls_pkcs7_set_crl.3.gzgnutls_pkcs7_set_crl_raw.3.gzgnutls_pkcs7_set_crt.3.gzgnutls_pkcs7_set_crt_raw.3.gzgnutls_prf.3.gzgnutls_prf_raw.3.gzgnutls_priority_certificate_type_list.3.gzgnutls_priority_cipher_list.3.gzgnutls_priority_compression_list.3.gzgnutls_priority_deinit.3.gzgnutls_priority_ecc_curve_list.3.gzgnutls_priority_get_cipher_suite_index.3.gzgnutls_priority_init.3.gzgnutls_priority_kx_list.3.gzgnutls_priority_mac_list.3.gzgnutls_priority_protocol_list.3.gzgnutls_priority_set.3.gzgnutls_priority_set_direct.3.gzgnutls_priority_sign_list.3.gzgnutls_privkey_decrypt_data.3.gzgnutls_privkey_deinit.3.gzgnutls_privkey_export_dsa_raw.3.gzgnutls_privkey_export_ecc_raw.3.gzgnutls_privkey_export_rsa_raw.3.gzgnutls_privkey_generate.3.gzgnutls_privkey_get_pk_algorithm.3.gzgnutls_privkey_get_type.3.gzgnutls_privkey_import_dsa_raw.3.gzgnutls_privkey_import_ecc_raw.3.gzgnutls_privkey_import_ext.3.gzgnutls_privkey_import_ext2.3.gzgnutls_privkey_import_openpgp.3.gzgnutls_privkey_import_openpgp_raw.3.gzgnutls_privkey_import_pkcs11.3.gzgnutls_privkey_import_pkcs11_url.3.gzgnutls_privkey_import_rsa_raw.3.gzgnutls_privkey_import_tpm_raw.3.gzgnutls_privkey_import_tpm_url.3.gzgnutls_privkey_import_url.3.gzgnutls_privkey_import_x509.3.gzgnutls_privkey_import_x509_raw.3.gzgnutls_privkey_init.3.gzgnutls_privkey_set_pin_function.3.gzgnutls_privkey_sign_data.3.gzgnutls_privkey_sign_hash.3.gzgnutls_privkey_sign_raw_data.3.gzgnutls_privkey_status.3.gzgnutls_privkey_verify_params.3.gzgnutls_protocol_get_id.3.gzgnutls_protocol_get_name.3.gzgnutls_protocol_get_version.3.gzgnutls_protocol_list.3.gzgnutls_protocol_set_priority.3.gzgnutls_psk_allocate_client_credentials.3.gzgnutls_psk_allocate_server_credentials.3.gzgnutls_psk_client_get_hint.3.gzgnutls_psk_free_client_credentials.3.gzgnutls_psk_free_server_credentials.3.gzgnutls_psk_server_get_username.3.gzgnutls_psk_set_client_credentials.3.gzgnutls_psk_set_client_credentials_function.3.gzgnutls_psk_set_params_function.3.gzgnutls_psk_set_server_credentials_file.3.gzgnutls_psk_set_server_credentials_function.3.gzgnutls_psk_set_server_credentials_hint.3.gzgnutls_psk_set_server_dh_params.3.gzgnutls_psk_set_server_params_function.3.gzgnutls_pubkey_deinit.3.gzgnutls_pubkey_encrypt_data.3.gzgnutls_pubkey_export.3.gzgnutls_pubkey_export2.3.gzgnutls_pubkey_export_dsa_raw.3.gzgnutls_pubkey_export_ecc_raw.3.gzgnutls_pubkey_export_ecc_x962.3.gzgnutls_pubkey_export_rsa_raw.3.gzgnutls_pubkey_get_key_id.3.gzgnutls_pubkey_get_key_usage.3.gzgnutls_pubkey_get_openpgp_key_id.3.gzgnutls_pubkey_get_pk_algorithm.3.gzgnutls_pubkey_get_preferred_hash_algorithm.3.gzgnutls_pubkey_get_verify_algorithm.3.gzgnutls_pubkey_import.3.gzgnutls_pubkey_import_dsa_raw.3.gzgnutls_pubkey_import_ecc_raw.3.gzgnutls_pubkey_import_ecc_x962.3.gzgnutls_pubkey_import_openpgp.3.gzgnutls_pubkey_import_openpgp_raw.3.gzgnutls_pubkey_import_pkcs11.3.gzgnutls_pubkey_import_pkcs11_url.3.gzgnutls_pubkey_import_privkey.3.gzgnutls_pubkey_import_rsa_raw.3.gzgnutls_pubkey_import_tpm_raw.3.gzgnutls_pubkey_import_tpm_url.3.gzgnutls_pubkey_import_url.3.gzgnutls_pubkey_import_x509.3.gzgnutls_pubkey_import_x509_crq.3.gzgnutls_pubkey_import_x509_raw.3.gzgnutls_pubkey_init.3.gzgnutls_pubkey_print.3.gzgnutls_pubkey_set_key_usage.3.gzgnutls_pubkey_set_pin_function.3.gzgnutls_pubkey_verify_data.3.gzgnutls_pubkey_verify_data2.3.gzgnutls_pubkey_verify_hash.3.gzgnutls_pubkey_verify_hash2.3.gzgnutls_pubkey_verify_params.3.gzgnutls_random_art.3.gzgnutls_range_split.3.gzgnutls_record_can_use_length_hiding.3.gzgnutls_record_check_corked.3.gzgnutls_record_check_pending.3.gzgnutls_record_cork.3.gzgnutls_record_disable_padding.3.gzgnutls_record_get_direction.3.gzgnutls_record_get_discarded.3.gzgnutls_record_get_max_size.3.gzgnutls_record_overhead_size.3.gzgnutls_record_recv.3.gzgnutls_record_recv_packet.3.gzgnutls_record_recv_seq.3.gzgnutls_record_send.3.gzgnutls_record_send_range.3.gzgnutls_record_set_max_empty_records.3.gzgnutls_record_set_max_size.3.gzgnutls_record_set_timeout.3.gzgnutls_record_uncork.3.gzgnutls_rehandshake.3.gzgnutls_rnd.3.gzgnutls_rnd_refresh.3.gzgnutls_rsa_export_get_modulus_bits.3.gzgnutls_rsa_export_get_pubkey.3.gzgnutls_rsa_params_cpy.3.gzgnutls_rsa_params_deinit.3.gzgnutls_rsa_params_export_pkcs1.3.gzgnutls_rsa_params_export_raw.3.gzgnutls_rsa_params_generate2.3.gzgnutls_rsa_params_import_pkcs1.3.gzgnutls_rsa_params_import_raw.3.gzgnutls_rsa_params_init.3.gzgnutls_safe_renegotiation_status.3.gzgnutls_sec_param_get_name.3.gzgnutls_sec_param_to_pk_bits.3.gzgnutls_sec_param_to_symmetric_bits.3.gzgnutls_server_name_get.3.gzgnutls_server_name_set.3.gzgnutls_session_channel_binding.3.gzgnutls_session_enable_compatibility_mode.3.gzgnutls_session_force_valid.3.gzgnutls_session_get_data.3.gzgnutls_session_get_data2.3.gzgnutls_session_get_desc.3.gzgnutls_session_get_id.3.gzgnutls_session_get_id2.3.gzgnutls_session_get_ptr.3.gzgnutls_session_get_random.3.gzgnutls_session_is_resumed.3.gzgnutls_session_resumption_requested.3.gzgnutls_session_set_data.3.gzgnutls_session_set_id.3.gzgnutls_session_set_premaster.3.gzgnutls_session_set_ptr.3.gzgnutls_session_ticket_enable_client.3.gzgnutls_session_ticket_enable_server.3.gzgnutls_session_ticket_key_generate.3.gzgnutls_set_default_export_priority.3.gzgnutls_set_default_priority.3.gzgnutls_sign_algorithm_get.3.gzgnutls_sign_algorithm_get_client.3.gzgnutls_sign_algorithm_get_requested.3.gzgnutls_sign_callback_get.3.gzgnutls_sign_callback_set.3.gzgnutls_sign_get_hash_algorithm.3.gzgnutls_sign_get_id.3.gzgnutls_sign_get_name.3.gzgnutls_sign_get_pk_algorithm.3.gzgnutls_sign_is_secure.3.gzgnutls_sign_list.3.gzgnutls_srp_allocate_client_credentials.3.gzgnutls_srp_allocate_server_credentials.3.gzgnutls_srp_base64_decode.3.gzgnutls_srp_base64_decode_alloc.3.gzgnutls_srp_base64_encode.3.gzgnutls_srp_base64_encode_alloc.3.gzgnutls_srp_free_client_credentials.3.gzgnutls_srp_free_server_credentials.3.gzgnutls_srp_server_get_username.3.gzgnutls_srp_set_client_credentials.3.gzgnutls_srp_set_client_credentials_function.3.gzgnutls_srp_set_prime_bits.3.gzgnutls_srp_set_server_credentials_file.3.gzgnutls_srp_set_server_credentials_function.3.gzgnutls_srp_set_server_fake_salt_seed.3.gzgnutls_srp_verifier.3.gzgnutls_srtp_get_keys.3.gzgnutls_srtp_get_mki.3.gzgnutls_srtp_get_profile_id.3.gzgnutls_srtp_get_profile_name.3.gzgnutls_srtp_get_selected_profile.3.gzgnutls_srtp_set_mki.3.gzgnutls_srtp_set_profile.3.gzgnutls_srtp_set_profile_direct.3.gzgnutls_store_commitment.3.gzgnutls_store_pubkey.3.gzgnutls_strerror.3.gzgnutls_strerror_name.3.gzgnutls_subject_alt_names_deinit.3.gzgnutls_subject_alt_names_get.3.gzgnutls_subject_alt_names_init.3.gzgnutls_subject_alt_names_set.3.gzgnutls_supplemental_get_name.3.gzgnutls_tdb_deinit.3.gzgnutls_tdb_init.3.gzgnutls_tdb_set_store_commitment_func.3.gzgnutls_tdb_set_store_func.3.gzgnutls_tdb_set_verify_func.3.gzgnutls_tpm_get_registered.3.gzgnutls_tpm_key_list_deinit.3.gzgnutls_tpm_key_list_get_url.3.gzgnutls_tpm_privkey_delete.3.gzgnutls_tpm_privkey_generate.3.gzgnutls_transport_get_int.3.gzgnutls_transport_get_int2.3.gzgnutls_transport_get_ptr.3.gzgnutls_transport_get_ptr2.3.gzgnutls_transport_set_errno.3.gzgnutls_transport_set_errno_function.3.gzgnutls_transport_set_int.3.gzgnutls_transport_set_int2.3.gzgnutls_transport_set_ptr.3.gzgnutls_transport_set_ptr2.3.gzgnutls_transport_set_pull_function.3.gzgnutls_transport_set_pull_timeout_function.3.gzgnutls_transport_set_push_function.3.gzgnutls_transport_set_vec_push_function.3.gzgnutls_url_is_supported.3.gzgnutls_verify_stored_pubkey.3.gzgnutls_x509_aia_deinit.3.gzgnutls_x509_aia_get.3.gzgnutls_x509_aia_init.3.gzgnutls_x509_aia_set.3.gzgnutls_x509_aki_deinit.3.gzgnutls_x509_aki_get_cert_issuer.3.gzgnutls_x509_aki_get_id.3.gzgnutls_x509_aki_init.3.gzgnutls_x509_aki_set_cert_issuer.3.gzgnutls_x509_aki_set_id.3.gzgnutls_x509_crl_check_issuer.3.gzgnutls_x509_crl_deinit.3.gzgnutls_x509_crl_dist_points_deinit.3.gzgnutls_x509_crl_dist_points_get.3.gzgnutls_x509_crl_dist_points_init.3.gzgnutls_x509_crl_dist_points_set.3.gzgnutls_x509_crl_export.3.gzgnutls_x509_crl_export2.3.gzgnutls_x509_crl_get_authority_key_gn_serial.3.gzgnutls_x509_crl_get_authority_key_id.3.gzgnutls_x509_crl_get_crt_count.3.gzgnutls_x509_crl_get_crt_serial.3.gzgnutls_x509_crl_get_dn_oid.3.gzgnutls_x509_crl_get_extension_data.3.gzgnutls_x509_crl_get_extension_data2.3.gzgnutls_x509_crl_get_extension_info.3.gzgnutls_x509_crl_get_extension_oid.3.gzgnutls_x509_crl_get_issuer_dn.3.gzgnutls_x509_crl_get_issuer_dn2.3.gzgnutls_x509_crl_get_issuer_dn_by_oid.3.gzgnutls_x509_crl_get_next_update.3.gzgnutls_x509_crl_get_number.3.gzgnutls_x509_crl_get_raw_issuer_dn.3.gzgnutls_x509_crl_get_signature.3.gzgnutls_x509_crl_get_signature_algorithm.3.gzgnutls_x509_crl_get_this_update.3.gzgnutls_x509_crl_get_version.3.gzgnutls_x509_crl_import.3.gzgnutls_x509_crl_init.3.gzgnutls_x509_crl_iter_crt_serial.3.gzgnutls_x509_crl_iter_deinit.3.gzgnutls_x509_crl_list_import.3.gzgnutls_x509_crl_list_import2.3.gzgnutls_x509_crl_print.3.gzgnutls_x509_crl_privkey_sign.3.gzgnutls_x509_crl_set_authority_key_id.3.gzgnutls_x509_crl_set_crt.3.gzgnutls_x509_crl_set_crt_serial.3.gzgnutls_x509_crl_set_next_update.3.gzgnutls_x509_crl_set_number.3.gzgnutls_x509_crl_set_this_update.3.gzgnutls_x509_crl_set_version.3.gzgnutls_x509_crl_sign.3.gzgnutls_x509_crl_sign2.3.gzgnutls_x509_crl_verify.3.gzgnutls_x509_crq_deinit.3.gzgnutls_x509_crq_export.3.gzgnutls_x509_crq_export2.3.gzgnutls_x509_crq_get_attribute_by_oid.3.gzgnutls_x509_crq_get_attribute_data.3.gzgnutls_x509_crq_get_attribute_info.3.gzgnutls_x509_crq_get_basic_constraints.3.gzgnutls_x509_crq_get_challenge_password.3.gzgnutls_x509_crq_get_dn.3.gzgnutls_x509_crq_get_dn2.3.gzgnutls_x509_crq_get_dn_by_oid.3.gzgnutls_x509_crq_get_dn_oid.3.gzgnutls_x509_crq_get_extension_by_oid.3.gzgnutls_x509_crq_get_extension_by_oid2.3.gzgnutls_x509_crq_get_extension_data.3.gzgnutls_x509_crq_get_extension_data2.3.gzgnutls_x509_crq_get_extension_info.3.gzgnutls_x509_crq_get_key_id.3.gzgnutls_x509_crq_get_key_purpose_oid.3.gzgnutls_x509_crq_get_key_rsa_raw.3.gzgnutls_x509_crq_get_key_usage.3.gzgnutls_x509_crq_get_pk_algorithm.3.gzgnutls_x509_crq_get_private_key_usage_period.3.gzgnutls_x509_crq_get_subject_alt_name.3.gzgnutls_x509_crq_get_subject_alt_othername_oid.3.gzgnutls_x509_crq_get_version.3.gzgnutls_x509_crq_import.3.gzgnutls_x509_crq_init.3.gzgnutls_x509_crq_print.3.gzgnutls_x509_crq_privkey_sign.3.gzgnutls_x509_crq_set_attribute_by_oid.3.gzgnutls_x509_crq_set_basic_constraints.3.gzgnutls_x509_crq_set_challenge_password.3.gzgnutls_x509_crq_set_dn.3.gzgnutls_x509_crq_set_dn_by_oid.3.gzgnutls_x509_crq_set_key.3.gzgnutls_x509_crq_set_key_purpose_oid.3.gzgnutls_x509_crq_set_key_rsa_raw.3.gzgnutls_x509_crq_set_key_usage.3.gzgnutls_x509_crq_set_private_key_usage_period.3.gzgnutls_x509_crq_set_pubkey.3.gzgnutls_x509_crq_set_subject_alt_name.3.gzgnutls_x509_crq_set_version.3.gzgnutls_x509_crq_sign.3.gzgnutls_x509_crq_sign2.3.gzgnutls_x509_crq_verify.3.gzgnutls_x509_crt_check_hostname.3.gzgnutls_x509_crt_check_hostname2.3.gzgnutls_x509_crt_check_issuer.3.gzgnutls_x509_crt_check_revocation.3.gzgnutls_x509_crt_cpy_crl_dist_points.3.gzgnutls_x509_crt_deinit.3.gzgnutls_x509_crt_export.3.gzgnutls_x509_crt_export2.3.gzgnutls_x509_crt_get_activation_time.3.gzgnutls_x509_crt_get_authority_info_access.3.gzgnutls_x509_crt_get_authority_key_gn_serial.3.gzgnutls_x509_crt_get_authority_key_id.3.gzgnutls_x509_crt_get_basic_constraints.3.gzgnutls_x509_crt_get_ca_status.3.gzgnutls_x509_crt_get_crl_dist_points.3.gzgnutls_x509_crt_get_dn.3.gzgnutls_x509_crt_get_dn2.3.gzgnutls_x509_crt_get_dn_by_oid.3.gzgnutls_x509_crt_get_dn_oid.3.gzgnutls_x509_crt_get_expiration_time.3.gzgnutls_x509_crt_get_extension_by_oid.3.gzgnutls_x509_crt_get_extension_by_oid2.3.gzgnutls_x509_crt_get_extension_data.3.gzgnutls_x509_crt_get_extension_data2.3.gzgnutls_x509_crt_get_extension_info.3.gzgnutls_x509_crt_get_extension_oid.3.gzgnutls_x509_crt_get_fingerprint.3.gzgnutls_x509_crt_get_issuer.3.gzgnutls_x509_crt_get_issuer_alt_name.3.gzgnutls_x509_crt_get_issuer_alt_name2.3.gzgnutls_x509_crt_get_issuer_alt_othername_oid.3.gzgnutls_x509_crt_get_issuer_dn.3.gzgnutls_x509_crt_get_issuer_dn2.3.gzgnutls_x509_crt_get_issuer_dn_by_oid.3.gzgnutls_x509_crt_get_issuer_dn_oid.3.gzgnutls_x509_crt_get_issuer_unique_id.3.gzgnutls_x509_crt_get_key_id.3.gzgnutls_x509_crt_get_key_purpose_oid.3.gzgnutls_x509_crt_get_key_usage.3.gzgnutls_x509_crt_get_name_constraints.3.gzgnutls_x509_crt_get_pk_algorithm.3.gzgnutls_x509_crt_get_pk_dsa_raw.3.gzgnutls_x509_crt_get_pk_rsa_raw.3.gzgnutls_x509_crt_get_policy.3.gzgnutls_x509_crt_get_preferred_hash_algorithm.3.gzgnutls_x509_crt_get_private_key_usage_period.3.gzgnutls_x509_crt_get_proxy.3.gzgnutls_x509_crt_get_raw_dn.3.gzgnutls_x509_crt_get_raw_issuer_dn.3.gzgnutls_x509_crt_get_serial.3.gzgnutls_x509_crt_get_signature.3.gzgnutls_x509_crt_get_signature_algorithm.3.gzgnutls_x509_crt_get_subject.3.gzgnutls_x509_crt_get_subject_alt_name.3.gzgnutls_x509_crt_get_subject_alt_name2.3.gzgnutls_x509_crt_get_subject_alt_othername_oid.3.gzgnutls_x509_crt_get_subject_key_id.3.gzgnutls_x509_crt_get_subject_unique_id.3.gzgnutls_x509_crt_get_verify_algorithm.3.gzgnutls_x509_crt_get_version.3.gzgnutls_x509_crt_import.3.gzgnutls_x509_crt_import_pkcs11.3.gzgnutls_x509_crt_import_pkcs11_url.3.gzgnutls_x509_crt_init.3.gzgnutls_x509_crt_list_import.3.gzgnutls_x509_crt_list_import2.3.gzgnutls_x509_crt_list_import_pkcs11.3.gzgnutls_x509_crt_list_verify.3.gzgnutls_x509_crt_print.3.gzgnutls_x509_crt_privkey_sign.3.gzgnutls_x509_crt_set_activation_time.3.gzgnutls_x509_crt_set_authority_info_access.3.gzgnutls_x509_crt_set_authority_key_id.3.gzgnutls_x509_crt_set_basic_constraints.3.gzgnutls_x509_crt_set_ca_status.3.gzgnutls_x509_crt_set_crl_dist_points.3.gzgnutls_x509_crt_set_crl_dist_points2.3.gzgnutls_x509_crt_set_crq.3.gzgnutls_x509_crt_set_crq_extensions.3.gzgnutls_x509_crt_set_dn.3.gzgnutls_x509_crt_set_dn_by_oid.3.gzgnutls_x509_crt_set_expiration_time.3.gzgnutls_x509_crt_set_extension_by_oid.3.gzgnutls_x509_crt_set_issuer_alt_name.3.gzgnutls_x509_crt_set_issuer_dn.3.gzgnutls_x509_crt_set_issuer_dn_by_oid.3.gzgnutls_x509_crt_set_issuer_unique_id.3.gzgnutls_x509_crt_set_key.3.gzgnutls_x509_crt_set_key_purpose_oid.3.gzgnutls_x509_crt_set_key_usage.3.gzgnutls_x509_crt_set_name_constraints.3.gzgnutls_x509_crt_set_pin_function.3.gzgnutls_x509_crt_set_policy.3.gzgnutls_x509_crt_set_private_key_usage_period.3.gzgnutls_x509_crt_set_proxy.3.gzgnutls_x509_crt_set_proxy_dn.3.gzgnutls_x509_crt_set_pubkey.3.gzgnutls_x509_crt_set_serial.3.gzgnutls_x509_crt_set_subject_alt_name.3.gzgnutls_x509_crt_set_subject_alternative_name.3.gzgnutls_x509_crt_set_subject_key_id.3.gzgnutls_x509_crt_set_subject_unique_id.3.gzgnutls_x509_crt_set_version.3.gzgnutls_x509_crt_sign.3.gzgnutls_x509_crt_sign2.3.gzgnutls_x509_crt_verify.3.gzgnutls_x509_crt_verify_data.3.gzgnutls_x509_crt_verify_hash.3.gzgnutls_x509_dn_deinit.3.gzgnutls_x509_dn_export.3.gzgnutls_x509_dn_export2.3.gzgnutls_x509_dn_get_rdn_ava.3.gzgnutls_x509_dn_import.3.gzgnutls_x509_dn_init.3.gzgnutls_x509_dn_oid_known.3.gzgnutls_x509_dn_oid_name.3.gzgnutls_x509_ext_deinit.3.gzgnutls_x509_ext_export_aia.3.gzgnutls_x509_ext_export_authority_key_id.3.gzgnutls_x509_ext_export_basic_constraints.3.gzgnutls_x509_ext_export_crl_dist_points.3.gzgnutls_x509_ext_export_key_purposes.3.gzgnutls_x509_ext_export_key_usage.3.gzgnutls_x509_ext_export_name_constraints.3.gzgnutls_x509_ext_export_policies.3.gzgnutls_x509_ext_export_private_key_usage_period.3.gzgnutls_x509_ext_export_proxy.3.gzgnutls_x509_ext_export_subject_alt_names.3.gzgnutls_x509_ext_export_subject_key_id.3.gzgnutls_x509_ext_import_aia.3.gzgnutls_x509_ext_import_authority_key_id.3.gzgnutls_x509_ext_import_basic_constraints.3.gzgnutls_x509_ext_import_crl_dist_points.3.gzgnutls_x509_ext_import_key_purposes.3.gzgnutls_x509_ext_import_key_usage.3.gzgnutls_x509_ext_import_name_constraints.3.gzgnutls_x509_ext_import_policies.3.gzgnutls_x509_ext_import_private_key_usage_period.3.gzgnutls_x509_ext_import_proxy.3.gzgnutls_x509_ext_import_subject_alt_names.3.gzgnutls_x509_ext_import_subject_key_id.3.gzgnutls_x509_ext_print.3.gzgnutls_x509_key_purpose_deinit.3.gzgnutls_x509_key_purpose_get.3.gzgnutls_x509_key_purpose_init.3.gzgnutls_x509_key_purpose_set.3.gzgnutls_x509_name_constraints_add_excluded.3.gzgnutls_x509_name_constraints_add_permitted.3.gzgnutls_x509_name_constraints_check.3.gzgnutls_x509_name_constraints_check_crt.3.gzgnutls_x509_name_constraints_deinit.3.gzgnutls_x509_name_constraints_get_excluded.3.gzgnutls_x509_name_constraints_get_permitted.3.gzgnutls_x509_name_constraints_init.3.gzgnutls_x509_othername_to_virtual.3.gzgnutls_x509_policies_deinit.3.gzgnutls_x509_policies_get.3.gzgnutls_x509_policies_init.3.gzgnutls_x509_policies_set.3.gzgnutls_x509_policy_release.3.gzgnutls_x509_privkey_cpy.3.gzgnutls_x509_privkey_deinit.3.gzgnutls_x509_privkey_export.3.gzgnutls_x509_privkey_export2.3.gzgnutls_x509_privkey_export2_pkcs8.3.gzgnutls_x509_privkey_export_dsa_raw.3.gzgnutls_x509_privkey_export_ecc_raw.3.gzgnutls_x509_privkey_export_pkcs8.3.gzgnutls_x509_privkey_export_rsa_raw.3.gzgnutls_x509_privkey_export_rsa_raw2.3.gzgnutls_x509_privkey_fix.3.gzgnutls_x509_privkey_generate.3.gzgnutls_x509_privkey_get_key_id.3.gzgnutls_x509_privkey_get_pk_algorithm.3.gzgnutls_x509_privkey_get_pk_algorithm2.3.gzgnutls_x509_privkey_import.3.gzgnutls_x509_privkey_import2.3.gzgnutls_x509_privkey_import_dsa_raw.3.gzgnutls_x509_privkey_import_ecc_raw.3.gzgnutls_x509_privkey_import_openssl.3.gzgnutls_x509_privkey_import_pkcs8.3.gzgnutls_x509_privkey_import_rsa_raw.3.gzgnutls_x509_privkey_import_rsa_raw2.3.gzgnutls_x509_privkey_init.3.gzgnutls_x509_privkey_sec_param.3.gzgnutls_x509_privkey_sign_data.3.gzgnutls_x509_privkey_sign_hash.3.gzgnutls_x509_privkey_verify_params.3.gzgnutls_x509_rdn_get.3.gzgnutls_x509_rdn_get_by_oid.3.gzgnutls_x509_rdn_get_oid.3.gzgnutls_x509_trust_list_add_cas.3.gzgnutls_x509_trust_list_add_crls.3.gzgnutls_x509_trust_list_add_named_crt.3.gzgnutls_x509_trust_list_add_system_trust.3.gzgnutls_x509_trust_list_add_trust_dir.3.gzgnutls_x509_trust_list_add_trust_file.3.gzgnutls_x509_trust_list_add_trust_mem.3.gzgnutls_x509_trust_list_deinit.3.gzgnutls_x509_trust_list_get_issuer.3.gzgnutls_x509_trust_list_init.3.gzgnutls_x509_trust_list_remove_cas.3.gzgnutls_x509_trust_list_remove_trust_file.3.gzgnutls_x509_trust_list_remove_trust_mem.3.gzgnutls_x509_trust_list_verify_crt.3.gzgnutls_x509_trust_list_verify_crt2.3.gzgnutls_x509_trust_list_verify_named_crt.3.gz/usr/include//usr/include/gnutls//usr/lib64//usr/lib64/pkgconfig//usr/share/doc/packages//usr/share/doc/packages/libgnutls-devel//usr/share/doc/packages/libgnutls-devel/examples//usr/share/doc/packages/libgnutls-devel/reference//usr/share/info//usr/share/man/man3/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:8787/openSUSE_Leap_42.3_Update/4ed4206bbec2bf50fbd3bf5503673ace-gnutls.openSUSE_Leap_42.3_Updatedrpmlzma5x86_64-suse-linux  !"#$%&'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''('''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''('''''''''''''''''''''''''''''''''''''''''''''''('''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''')''''''''''''''('''''''''''''''''''''''''''''''''''''''''''''''''''''''''''('''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(''''''''''''''''''''''('directoryC source, ASCII textpkgconfig fileASCII textPNG image data, 315 x 245, 8-bit/color RGB, non-interlaced (gzip compressed data, was "gnutls-client-server-use-case.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 423 x 353, 8-bit/color RGB, non-interlaced (gzip compressed data, was "gnutls-crypto-layers.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 472 x 321, 8-bit/color RGB, non-interlaced (gzip compressed data, was "gnutls-handshake-sequence.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 501 x 205, 8-bit/color RGB, non-interlaced (gzip compressed data, was "gnutls-handshake-state.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 633 x 395, 8-bit/color RGB, non-interlaced (gzip compressed data, was "gnutls-internals.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 492 x 242, 8-bit/color RGB, non-interlaced (gzip compressed data, was "gnutls-layers.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 313 x 286, 1-bit grayscale, non-interlaced (gzip compressed data, was "gnutls-logo.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 628 x 346, 8-bit/color RGB, non-interlaced (gzip compressed data, was "gnutls-modauth.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 313 x 255, 8-bit/color RGB, non-interlaced (gzip compressed data, was "gnutls-pgp.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 331 x 401, 8-bit/color RGB, non-interlaced (gzip compressed data, was "gnutls-x509.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)HTML document, ASCII text, with very long linesPNG image data, 572 x 334, 8-bit/color RGB, non-interlaced (gzip compressed data, was "pkcs11-vision.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)HTML document, UTF-8 Unicode textHTML document, UTF-8 Unicode text, with very long linesXML document textPNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced (gzip compressed data, was "home.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)HTML document, ASCII textPNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced (gzip compressed data, was "left-insensitive.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced (gzip compressed data, was "left.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced (gzip compressed data, was "right-insensitive.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced (gzip compressed data, was "right.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)assembler source, ASCII textPNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced (gzip compressed data, was "up-insensitive.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced (gzip compressed data, was "up.png", last modified: Mon Sep 24 12:09:44 2018, max compression, from Unix)PNG image data, 315 x 245, 8-bit/color RGB, non-interlaced (gzip compressed data, max compression, from Unix)PNG image data, 472 x 321, 8-bit/color RGB, non-interlaced (gzip compressed data, max compression, from Unix)PNG image data, 501 x 205, 8-bit/color RGB, non-interlaced (gzip compressed data, max compression, from Unix)PNG image data, 633 x 395, 8-bit/color RGB, non-interlaced (gzip compressed data, max compression, from Unix)PNG image data, 492 x 242, 8-bit/color RGB, non-interlaced (gzip compressed data, max compression, from Unix)PNG image data, 313 x 286, 1-bit grayscale, non-interlaced (gzip compressed data, max compression, from Unix)PNG image data, 628 x 346, 8-bit/color RGB, non-interlaced (gzip compressed data, max compression, from Unix)PNG image data, 313 x 255, 8-bit/color RGB, non-interlaced (gzip compressed data, max compression, from Unix)PNG image data, 331 x 401, 8-bit/color RGB, non-interlaced (gzip compressed data, max compression, from Unix)PNG image data, 572 x 334, 8-bit/color RGB, non-interlaced (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)C++ source, ASCII text (gzip compressed data, max compression, from Unix)PRRRRR R ں|tmxG$? ]"k%wd"ιH,ZjZ0v[UǐP/HF*xҋ&̮!K,lku+ucN c{>[J>l4)zլp ^OYYdjBxyђX4^a)<ÌVJkRxE3F&JEޤ]]6SY(b^þڮfZLO׬8<>]{^3TdHQ!4tXa ڃj,WWq/nqLD%:3igE̮j-MnnJIW@a֧ίTmI%R S͢\1PqGhSxs)otI4!'i$Vn1LCG0s*h)<M26ndv-H7tIؖ~y{PoG)ՒO+wrÄ I ղUk 4K`}G0zɡs*#"nT01k>K,xL'yۛVDDr,x$-ek ,~D !xȓ)|;olwL~'f005)B#HSd@ڔy :"Jxo 3{ .::c*Cx!6ڬ/5x`GZ*"9>kċzfdbE.(dH^«פ%mi%ʂ|k?\8e"uLb'.MM(fFͳ~.VݯRXz_aCC:BٙN'ѕm/X J``XaצUM(.JX#FB3[g! Xxf%*N-&̆}?UUv+dPUukkWz$}Vwtlqbi4MqP݆ݚR9%- sT''qF(Qz]pմҌ)>M꾄/Z(e Ք2©R{\~Z_Q2軾T+baҳ0`40x:#Qj 74S(c=cʁOic }ޛ= UBV -0 iT/;gcfϮH19&`$3SQer]zaᆊYړQ4 BK:7CyB=sBR weti p x4"Z4Q]r~؈%x\Btț&_ 8!SFI$1N" n"X5w1 %d9C6{M ˪kؓԆ!e>79t6 k|G*1t&$&S|?vKǶ|e%/u0hoOaGոKP1DXUtmPc$:}h4ad_NV@ ~ [5*xD+Uҳ,zE,<$Ť|me-Dl 5:kSHHʱ?WvZ7 旚˿Lliizs'iqdJP ƇnEZώiS`&J%yB$3uO`4Dcӭ½00$)c0O. թu5cp/7іyQ,9-E1)5f2xNѼO胢(8O̰)JW@ )V!e[g#U%Zū%yI9ћ 9=KyÓ&R[Vt*XpM:Ȉ1Hƒm32=81uE :en.0i0m;\DtqrmI!^W) d0Gg =k0` A@6c_7N 0yҘMQ[L5԰E"yF.lз0Y>.X!4ckg>@ ubyOM-t[̋zSo !䪦M}Ujirئ9$Y ꨦzybTy/fe xϋÆLJzÙ Vv"y.lU; ښaO%Ѝ]8ϵkK'L_ɑ<9W ͿUVjK8CjԤ>cv NUG {r9AGm!_Ǵ_8EґĀyF Us yM U.z_ܝ!ie.o},~:~yW-_=˻SnW-\(`6Ozgj| vtwww9e|:ȁ=T4lEnyDGI*X,V%gӓ8!rT2r\!3|YF`~lGcYEfO@C tOMXՑ\AN[Iahoʦ}uk\/@u X`%IQn %4j}%ti"JV{/E]h" kOT^%6( P #hq u-`{Ld$(/Dz;"bm5GXGEIh`>}7 ?SnqQ6h!Vn(~8_HԘMJ|q.B2JVtKzh~UGc(d!GOwȒ'@b+G}vx1żc]xeSp$qnH) [2+O:/s6 )nQ$Ii$)q "Mt}| d$NS4IRÐ4اlOvۆHS{L_'hV8s0+āG|kWj@y6RƬV6F=X8|bZ~m9Yl?h:Tz3^SgYyeȹoe; 8{{/.y%JEOqKOvkΝ,C/Jֿ/`M@$h5m~F:SPە+,[mE~'^{/Wwp;g)":?#yZHnG)\Arr'PQU %#";@}4_Th_5(ʋUIOh!;0֏cWٌAD!3B_cCg|Ջ @@*wܡWm(MBMEGqCc8ʙyըVHSqb1׷~7Te´~6\ rݸAÕuevv'i"2w@}j Ok(M35ҫcG $u2e C-s/Y̵h,L\xpFJ3Eb Jāt7 ǜ19bqLo L,L}4Ƿ+0\Mu)֛(x0;GZT4S0M!c2HOlژՙԝر8yFHx;ƫ_6{xgʋ,,{̔{|рu9Yl8Ydv:| (X*