erlang-wx-23.3.4.19-150300.3.14.1<>,ĉep9|xZ֣rOUf|`#\ٮk.q4v{v^bW=N@/18So)k LVm5 Ib0)q SMwnn*#JKhHI=ܪDإJ&!0HS$R=ԝb,o4{1BLh%!#61WiWg-­̳, :nhq1~A hcD\`rE&jByϑY>>4?$d  $ N 5;Djj  j  j <j kj mjrjyjj'h''(8_9p_:_FMGM,jHRjIX|jXYYY\Z j]_j^x) byczd{$e{)f{,l{.u{Djvwjxjy('z Cerlang-wx23.3.4.19150300.3.14.1A library for wxWidgets support in ErlangA Graphics System used to write platform independent user interfaces.eh02-armsrv1ySUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Development/Languages/Otherhttp://www.erlang.orglinuxaarch64n<,  GX , h<`0(\ 5jT$L?5c$i|j qd- ptfjPu, x d8v kPl  `6T | nPtjt/ $T,a0jL@0hdeLwx`t (/|lbl$d D,x 0&-  &l }א%X\`1@tXy1@p -Hcn, 50 kXl .p- \(ebYtY/hS[ld\%#0Dj, pc1g8c$+g o, k` 8lbTk0lix`^!]bx d# $ P +lhc,`t \ `8 l-p pF!lu 8_$,d07dM:>C&CIN!/8 ;>kA|<kT86$7- MA(]7W6h;`:t+4wnlJB0/ 4 / 40r ') 1lZ90 `n'0Pf,b79g3*6 tiR' | @V0/FS| WqAA큤AA큤A큤A큤AA큤A큤A큤eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1bdf74c6bfcae63961cb2375620a7b6f6ceec7bba798958aabf3d4402717f282081765ba5a7a71a3db70e48d99d3aa89c19148238860ea3c25c7da2770314de5dab574e615471af2a1aa2f26860f00d542cf4599a1ce7d8904846a9185c9cd77b0636accce6e6a4e6a6dc00ad4aa974e1195596231b39a73a9af2d0db935d0f218b312e0f4d6c9ee6863cf2cdbc22396f4b25196dfd92223daf61faa172cc931092573ea234012730d238dcc2b0e47cc136f2cc7f341215a2c80fecd30dba84fd4f414e48aa5420b3f687fb88749b6099369a657d0378338fbb45a7263091c09e611b1e574347f450662f80c214ee0ffaa2afefe8c771efdd9a0361987d74ae44c71b5d8abd3a3226c20c0b2f5be093af2ec67baef7b58a3a2e95baebbca87602f171130c8e424598f53b5ae5ecd021eb44eb902cf58dde13b7e595c83fc4ee49969609cb4449c19c3128ac27e6e515b87d08de5cc6f45a2a8c92bb6628e6b4d339512935b4b038cc6f98cddffe547b13767a84408331e3a6827c03968e4c72e4d53c00b6e1ac46ae4015c1d3b9b512d9405a590d715087676e4917680fb34fc952f8828bda302ca8a24048aa607d1e6bf8a7ab5fc03e7de7b50109482acb5b18ebbc24b80c19946c512a0ac35f6ed77b014a3711502ba1932be5e8f2a9dec4c90353e02571ceacf908c7e0971ca60cb9ccdd9aa46e886a9cc894b85fcc241ff0ade9c2a507a61ebe5059efbc9a7cd3e77ff7afe822bfc3cc14b6bdc890307b94d5003c8203ae50ead6d6b23cd219b7d5827f7ab817acc675fc92b81ae109bd783ff45869f51cf79b58ae28c827010d8ade349dc1895436fd0aeebeed49fe5564e403dfc67971a9c9533b3fe5080c8d36ae5b3c093af163182ad9754dc310e9ff9b7a9429281d8a5b96eac7508f46ffa6ff21b4c7b5ea6c3fef646b9196824a5059f47c1f8476c4b54a9c87a0b16001c0555eb62050807098f1feafa7d75cb1ad64a1e7cfdc1a06a9bd5400cfcd30adac66e3753a3312da29d63ede46066b4567e4620dc5bbeb2ab49c685d699cfbcf78a52efbe61a30bb8e582d6c54e2da5fa2eb0b9009ce83704a8c8969cf602dee6ee8abf9fc1f89b40e46f18b59fd6ab5978a588a1b10387bdf74e87178f2d0b2c9588c589dc58e262021d4202547d9480b9dd72b0f71747c80bcab0d581126512d59549be66a65adaabf36753ee493cb059e1da9525dd81eb935d9c4d2059241a2949c176e9f074a7ffa7a2fff92c4f56f6160fdf09336e30e97f411afbda41d1254fcb036df1836b4db5979354d39038c065f19e50c5c73cd11982179d79acd5378457b094bec754f7bd66469be4ca6ac7133e6e6af8a979d62446642ebecc46f970054e628876e4735575801a1624912c6d78d4362867cfdfb4bc8ec0fae22a27dc8bdf3f76f54abb794e42e0ebb230cacd8f7b346d5dbad7a8579d6ce061a44c486100944ae1c2a3adc07236c622230ddf791210f26058a51ecbfebb8a12537acaf2cbd7f0687a8ebdbe42614cacbefc5ff389d4800aff25c3e633f5d4232f4e8df88ec3760d18d1bc9f99d58d6af78d2ee7cf34f49e1838e114189250bc858597acbffb7841ae4224d315af1cb68020bb06651609ea0232436c11b84e03b29e126a8d24293abbbaac5813745f4448e45bd7908cc34bdd2d9d062c8390c5bc0cb7f17035aae566ac013d3c9a79fa953a45a508705e0dc6e74c3592fa9db22f188cda8abf92ee821936d5154228990b9da7dffa475b65a9e23762fa85fd8914adf966fc946d4a00d7879c5f393fa368e3e50c41050612a733a03294d837577b6691807d779cbfccbe481f8962b64b772343eaaf52d64f78fa74f00dd2df7922041ced39c7261b955d1af3e3c1afacd40bc0d3dfc9cb73c181c39c8374a7e0e588eba45b741f7b0d7eed81f59050e6af26b7bba2e3a5d313a3b0383f953a2014f3e0f8bcb9d6867fbe9859315c0e0fd76b1583da065ea0b1c3ffbb0cbed9b9ff74fe753bb2495edcac3bfeb7883e07270cc80b265193a8cd888b1d53569f920db0bc1ed26a3f635379ca8ac9f6e6f50484c375cf628aec3e2ae47dde3d17f24f37327b6ebe0d91447f18526d0d03b69017436ea295807fbd855e3991031623b9d7c1803fe709dfca7fcf093560670e2c7ad5718d25a3d3da79e974c2739f1285508b58491531ba0a1e0a1d9b94b37002792963cca7c0811f6cab11d91172fa28732f548357cbd26d7c3642c3795d60b2c0271fd56bd351d108c5d4903e89b11844362e1e161c38b2c7e5eff7f8f517d9e369421568b28c436addc95c93d4c94bb3c523bc6dc630d033791416d13afcef0cd7b10f067bb17eee145bbea57c258f75c4da1f6bc6e8871c23894ab239aed701e4846c394b8660ce74865fe0027257b2784a8a8aed5b014c23a837fce0f7fd76b9245a6098e5c1c04015d1fc67d51c3bc80cf89dec782694802b7ebea6603c6fd6af80c262901e6bc914643ba9bf2ca28a9d2cc4b80996121cec6c4698628b98d9605328ba32d5f07ed1c408b4fa782fef55db69ccc3918f482a731db5023182b1398b2acc0d60c226c7783f828fae8d0ddc180f1020a8c7d80e57820a59ec2539aa37ffaf924c1c7d22dda6626857c563f0fe1ca6c8ec5fa36fb42c4cb17ce50bc77bfa278d83aaa251e6b5854cd518beaf3dba7633c0594459fcc1f693ff1a25d3e3b4edbef43a792f34ae905ecb6a3a41ff617a7897f6ab0dbf28af9feef4ac11df00d07291cf92718a10c3ab03f12cf6cb299a871b994f813fa6fe39a91dde74f4044e2cb6447cf8f7304f2f344f8969c8ed56eb4d6a89bf8623a61f3c619d1b1858fdf56b5b6da3ebd25d3dd9c7539ce3ee869b17ce332e571f4bcd2fb7a72a31ef42a79640ca89f52b40df63a3718208d655f8cdf27fa6b9479bc3a561d90ae5524cc67d19e4118f18a8a5071e036d5da791cf4a4bc4094eed0193ca57253346b58b3b8dd3e0b6e2cedfbcef4792786d4810577c2bfa74ca13b2475de112e10e70b82ca201e40bb6cd6d1e3df3673cfd9f2cec1c97e199c34dc7ff3f94a1bf6145b69c2fcbed0541c34dceb45fe5481240f03a0bd8a2c6d414ebc909668cd957be281ab1164420c7868d15e344cfa59e4bbeb32726a54e74760cf10bbe248531bb32b4ccae44506cb39ee6b262849f61307998336b9275800ab5f4e50e9b1dab041288d23d5fdc10f6b698cf06af81c84ca0d0440f23894349881a7382fa281d687c9ffa26ec6e40caadffe0205366c333d8cd552eb014571fa38b90a8e3701495043e80aff46c12bc2ee0ff9293411d4766598e5575b7d2aed79a00daf117b2a151ba4da7c06ddab64f56acff6f09b213089875037eec4e15bb8cf521526e09030b55134284fed8ca32b1ba8209bb14c09db402fedae798750be38f9b39e661fff9312a14cc380e73cf5acdc0c135091f6fcb87a98b29c4d2bb30b4db7ebca947d9a8fed8e7cb610d3765c78f0bbcec3a93b93bb37c9f04dca8001b65cb37b2a339a74f6c5760001aeb6558de4f11f750470700c8bd182fecb27f66cabb491954d48a12f33b3a6e950ffbc4418b9cd2828c4011d023ab0c5cc080526f4f47c9b6cce7c3ba541c2c0b079ae3df6c24cdc0897439c3f4a3d0e0ce75df94591e8093c65c5c254417c6914aff1f806923751df93c3242233a1e50e5a8c0286d9e5031856c1b7f81d87b2ed384773ab51b0f242c51e87372dda663a33985147c2e01f43829017033f70dad816012a0cdee9cf1a96ba3cfc06b971ebae0ea90875f782c330253bb221b1ca7a4a76e36c0aa56729ba5b29cd35584cfab8de3caf5345c5d5b0e166f2d26261b79f67b2721e1c2a724feeffb81a74c5e96d62475e85b67abd189a4c65e0b7783e0f57ee4a7fb929c2d42626d606a7183a76f1517ba44255ceb04297f505c11cf045acafde04b0c38b3f395aca7633d6a455f0afa820bc2223a70aecd719ba77a13c738060fbb10a9caed44af01d3a7021b1535421b110324eb57877f1613a41c64a5f73131bb856c367beff8afa5b26d47f78d7ffc75f2e63221ce45efa225d93c4ea2895305f30815b7f10133f65419c3cbd16c2d4a3d124e8c5791ed83b42baf70fc68db141873c3fa90ec9f2353f22d2d8115119d809628ff70f33b83fc0e1a34ad54a7386284cf0b33cca864cd370923068ad2eae67e3c8b5a15e679bb5db01e231a27a8131fa6489176e8145c614a476ac341e5dfcaba45d520636442fc7c8db54dc8fca9aa6806723448b356f6c9068b7014f98691f46e18358d2f10e8d80b9f91559317702dfdc1587bed6ed0f36d9a7541340acce8fb328162841efe3ba915f5f28b080933adc625bc196eb842a70df2efd105aac403c9d10fbab44afe47ded12e866f609b564bf77d73b79b7f5d0926e5366d0c28894492ee0c7a2d5afd17eb59ba0b485f2b21a765a2959bbc404a3f6e2e17ce54dcf58c07189d253db56243851e11cb41793365f60a15786e6f2c16e93d419f63289efe7fd8d507f40c3793f4b5f5715f22844a79b7cd0208a4c9f0ce39f78a5b2db992d028b5a58983cbeb43a335d4584c577398114af672b5174c44e9f82cd3fdc3b4bd579930bc9e85269b81ec1ecdf8444abc7af3beaa53e4c0d9f864e773b6cccd42f3859c1112e21b2c089c400a39664a772c3e110055eb668fbdca41d1fdd164015cf5577009636cf1aeaefae88d1bb4479fe558576a31bfc868909226da6c0f734cae9dd54224fc7beedc735619c1f348c20c925de7e99db5eb8217f5ea8b1d9fd37135cfb5f672c11898576d14a9fbdd0b4df5263cc294aef981c4556eb70bfba1e4a359fa333fa2149090aaa7b5a6c2c341f180f8d3c03cefe7addcb7e57b3ca6310bd3cd6740eb9b0ad5f5399f377d1123aa4f3919a1bbd5c7773f7b06453fc9ad4e30af12e6bb671d52a98f4cef31af0007a677e72c4593cb690e15012de8c9bedb2e2efa0801db2ae7428afb8583af11bb0d4fde6f0001a50316e1026b2d892b0201ec75eafd80b459304a70e397b03437a87b68a7f49c93138d43b5032d6c6673baf9b7843c959fcd9f401767f7faaaef60573b800b41685aa5cf2c1b931837da6c1decd2a191ab11be2330791ee3336b546de4f7e04d7f2c7022722f5247746e661bd50a30c1f1491da0a76c61b00876305f5f5aa8fe9ed47db7b76484878efbb6a33066954608a96782caa0dd100b37158f6e0fdac07a02f9418f24e487d283d8cf7a32cef1fd8aa8fb8b840e2fc00a4fe4e46c527346f7a32b75c7fc6e08dde1794fdceb73eb27ae54bbe916a574150d35ab3133fc50abb9d37e84f6da5d2b2d8e8e44671b2214ae2f95da7ad6655e9ada11ce71975b8e5dbaa703586c04b36201467c9dbe6c7d2b494fc5c4a845d69c67201a1fa5d5eced512a00bf0c2172013898dfc6335c71a40d4f3b726550b5fc9abf122f888fefdd31883b5007242458a3c48ff4f7b07e31c421174fa43f19b137dbc7f29526d08630670cb9dba2e7e1fe09480290db5df8f12241309334e8d311c907a000f98ddf6bc90cd2cebf2e9e4172afb2f8634e1a7bcbd0a71a69187951126bf7190d76ee03aaf6a7cefef9d3d2a6db7c6bff75fd9e8ccf07d442fcf387bf6f263699bfc6648cca4098ab4a00500ff401920fc492a0e04d67ffe743af31454d7da603524de7c561ff8ad659eb5dd60ffbe607992b148a8a329c1964aa9cd0c0829ba231556e6c78d51e2922c0dfd3617d3b6097208523dff421169a76832dc74c6c930976f50ee19e52fe0397d69781d4b8898ecf184a18ffee2554ef9dfcbac931136d4cb101e115165392c715f322cd9fd0529998b4cde5a471d28ab214fe717707919c4c899f8fb2172279b0225215c94d5acdde82aecd39de070f4ba0cab86eab78483d19c1829d6c6ff529a37283e370f6a042f3f49b5524c0669b5db7fdde7a5eafa4672a338a183ec99706238d1a952da6a14f086378544355d8f8b3ffd89359c3c1354d492ac32fcf8c01bb031948d3dd86ee36c16d06bab5e9e8bfbc41f2a0f4f032efffb048f77c977f5dc9f0510c075c07a90068291511e6ae16277331a470a5dd34d8ed9428ec75cee56adb6a0f8adb5b818262d6d1501a622779152d8a5a39fdbe5ded0ec28dc50dd7025b48417ff32befb56dab861bb1379ea6a92e16b4c2058dddb36535cb1aec667dd06868e01414532b8f5e5f91f8f9c96a8fc288cf233e15b29764a15777de54c40e5835215cdfe41af998610a07489769238fbd8ec0e402063eb85535a1ccc47e1f77d9c1a27037790ef0206abfd6a379c5832946ce95c08b328e60f8d1f759860ed3bc9b677870590b2836959b182d329d4ca3f3035dee9a48b5530209f7022183ea02d139b0bb8d9065023594832286a9302df1c4ab1ba198e4ca73ba5b6a8eeaec1f12adb2d453947db1501f953af5b06376b07106f39cdcbc758b763dc946881e1024bd3c066ae8c4a1542be49f9f5df53b83ff11436fa6358ace8e27dfffd7caace2e3f4a5140f971cf7e84751b40ff7ab5ef0c94c8885fb18484ea53d49530d83756bd7335e10da21e50c8a838d93325bebc0f92e53749cfbb4c64157ce83e052833a7253ad6694ad22f9130f992fdd1dd15805107d0359af06560d394b48781662eadf9c2fbbc37928d0c3fa77d1c042658e25cf83fb6f2be0294451813f03c7829c996b7d099acd897a79259decf2ec198cd40b53391b092b568b10e3e9e155367856197c9856658a3959f2c6a1f15e3afa540c204f30112d53b61c2c27fe0fbfd4df385894d5853117574d2b41e432e12de498568d4de9d22f23c5591b44eefad29e3188814630e47b25bdfbd32ce6de15d3c1e3469b1daeb30c8f68630eda425a8f0880782ebdc6e4496cfec3cf1789270a9e6839536a1f9fbb4befd83a2872ab441f9b5be9caab0f5726137080b9014debc2385480cb7ce1a14a8a137000fb2cf4145ec51164c08d1eea9404ddf50a4a1e48f9bbcc962177bb7b9d9d6063ebb94d8526208cb5b25f8e900062ced2da4b43bd3b899a2af6e471fdaae736c7cd4537e6b8d28cee76c797126389466500007dd5a2c478737ef6d094357ac98b05af5b6378dc9cae0dbb36e5df0aa977e09f68257e5d2b0a0baa81a5fe7e2004c670ca033504ae2f748836a308c912c1ccd7a9ebddc737bd0a4dc092e7e08a15e5c6f72fbe59b0aa2dbf4a8d1b56eaca98058637b107ca1c5367b1b1561f85077f864c44d5622e099bf50e2d6f3018374dc3ee24d0e05a530f84a57248428801110cb75860ecaac84e7684161ad014c5777d57abb062a6517c39fb685c504f62962c98c0984d8402999b1fda0ae9e6916d0f13568afef1e09eeb39172acb7c210e758c375e6749a9c2d2f76729bb65015ffbb7c5128e85fedb73bf98e247f395a38c123b77eb88a97759b50fb33f891013b4b5fbac13b7e71d92b253627166c2b33173db1d453a32b47c715cc98c0107fb07bbc073146940b8dec3583d274d1c6267a219cd53da3273ee1bbb227edf36f9b1fe6ff444257481d6991c0cb5ffcb470b2a1b8833e101e224f51ffc149be0d98135cd475400d4fdba0b0cba13130d860cbe590ea21e869ec406b524c23ee12696220bda62d67239cb01ae25df985d53aebd084b933f0a091686db05cd719a6f3b65ad0bfdd2cb5ce3c0e09486597a58f4eeac97525d1bc5ca13155499920d90231fba87436966b91b24a28ea9b80bbd45586fd9c58c2b4b6d153f7baeed793e1d5cc50c1a18d6915947f043f4ef05144ddb74fcf4751bcd3dc1420b9cad4df1e06fed0eaa7693bf99feceb6e335b4ce3b5b7403b1c31276776ac86fba61841b09e908d1cfd6c27310151136e7527ef3f43e52b6ec8a61817999ad7ce848abe60757834682ff290066426c439f8c8d1fda59e15bec95033cd69e3a70e68a47e31d9280e216db0227909a9b92b8e98f4adf192bb3b0128952c1b24aae35d58e980ecca3134010beb364a809cf2858a44504446f0e425cff5ddc2d18d73358dc65c67db6f379132e3d38607019102c7c4bf8b930c45792c33f85aaff849a86c273e5554a25240febbf3eeefa27741c8a171eaa82c02c72278a4ed8f6059e4e05a63815b56ffc2f0e0a38b53f898fdbf2148d76fba946ec34a0e352cf2dcb4bcfb180fd7e776944bf022bf888f15c2c871887d0716217b44455f16218643b1b3f919af9a3285d275e2e0b4ef0232ba86fafd8b6f44bfd47fb274f00d852577df4fd966b5963650eba9c4c63a3e4831a88a692fda325923e39288c3924541afcb2f513d1752a73f50596d483bd6f663a36797f6f855a10da5826bd55b5440dceed9a41c214afe4d9eb289c0c7367155d1222ec399ec78aee1fc7ab9c5a199cc24f209e53d1db25bcc6e2ccfd856979eeb53e997b30894fd58c0a0ffb4d00f390b36d15e5fbd72181412b05a853c091152dcd411fd33f24921e5105208282ee20f0713e27be14f0fd89e6924d3daa2a08675f6c4ff72c520fb0505fd7e338c9e57f9470cf98c63c945c593b360c0305e5e40bdaa84341f295a1f26eee095f541b53f9a5de3aff4b318c5db6f78cfea713776907252e4b6ec0dff017771173fea856d872fb323edfd0aa2cbcfd905b04074b91e30b27ccf7a4ca8433122c480569061a763769d2bdb2a7109334ec8cf0a6d41a0e25d8c8d8b4636bb883b1879e5dcbe2d532a6483604e1dce69d476b9dd09f9e97f5e7f5de824e4232ae86702eab781cb298d168919b50cf22e53d698bd9f4ace35c3306db0f7a88507b89a1d2c97a5c30f3754f90cc0253858c3b176e252ae22e8c48ee193ef2107ea632b7a36b2eb371d35e0695a0285c420b163b17bde32f32183734e428e81715762943b5536a4ff34c200f8579168270c194016a24e7e189fa38d9900b9fc59ba8812875419484cce396740443d3317ac83c0b08f9fa1601af131b43f320d2cc82d5b1e4920e039f3f8ac5bccf714fd171b3a5f21f4d5cef4732006b788158ec5917cdaa755d19e3234fbf8fb9b8e0338e4bb687792eaacaee96e224bceb45ac64237d1404413c50ae1c9faf162e18f4868a15e83ffcdc7a2925b5d48b8c1dc5797e068a038aee059ea373f1161d769655ca0b4c8c833ff69905a291dc63b52a62f6776ae8e6e145a8cebc8b01ab5c7397509fdc0d1d02b6ce2c7bf96c61fc41f197d57fd679e02ea6f504ff913fa733c4d51bf0b2cd03c6cc8da124ff1bff61bb25479870ee749e7662aadc1666b393736c22c5ebd233dcb206b5fa506fe9e63025f4bfe1419e4afdac1c28f3fa5bf45a69b9b65c2181cfa398260d6914c3b95b12722650e61f561bd5cb0c39f22d0de9be5f5ac75e99ca3261c0a6a6e9064b4933d8a8155ab3dfc417bad99c801e9e58e23773c6c0089f4c382880c2ad834cb7fc2eeb648285af7b07a03e7765d70edbe7da54054c892688939af3e2886eae92d0a10287f1c7c755e8e85a084a234ea86fe524b401f62cfc291d95b12612d8e347cef40f07a4c14ba7f95e1043fbb7a91bed96fde0aa3fbd3a9175599af4bc49dcd2387aa80349e2cb5f6210982a03526c5f9dd38227732b537346670602efd32c3020fc8933c4d446676938dfc5a10994ee8f1886a6e1bd3d5d9528605c374552a5018b4c096a0ff72d6050fe068cc87cc7f84aa3650f4942c7d18eaf4b3dc4744c8b9c7cabe8e78a5ea816a279d4f794ab003d46c2870ad8fcba5693f163b4fa8a504f68be9e7d78df38e04b9481f9bc829203a749f60f0797e00c330501a05706ef478ffd6b062dbd885cfa4db00d0a35f22fbb3223daba339b47728029b4fcf5223093a55b459e56b0c11febb1d3f409e26511f252fa9394e1a0085a5f42ffa65299e7af88275511546b3988eb35e263e19644844ccff3653e74ba20c7f6e0b8aa51bb331bdf0dfe1a494d12e1e66d4e7e12e59d84ae5d19e6af126ddf6b3a74db357c6c5b45cf74d3c81775c4aff6fda6c9f75abd25aa69ae13056959a1d0f007a1b92306983f63268bc021ee4e1a551932c7c199186b68da89dae0cddc468dd96f9bb8d1829d3d24772362beb6ecc30347f957b19b56b28da9d2e120d1358789ca3c482f6522fdca461bf13c4f03cd4c013f680466888322b8c8922fcc5f56e283f8d33218438adc72151061bdbb0eda72eb98882cc0611e3b70f6d6960a1cd37261dfa7dc5870cd5482639712b70f16391b93b0362c7de7528835a6bbe0836c9cd448e533d3efe646f1dc8d03026f574ea0fc1d99824a55c422719e004c0739125f34a9b7ff1fa0440fe46fbb1ed7c3f4190868dcacd3b66c096f86fbdf4250c62a41c3119c5baa4f66a6d9bdf2a054ec3203b891913f36efd6110eba1d1cad531ecf0b3f82ae7c895e1cd607919dfab6f9e64f2ad97a4fcc9ddc1202fddae9372bcb1f934aecba027a0d2d935d27e1148cca93230b254135efb1b0d733afe395bd259f080c065cde43f024093453c73be629bcb91e65079770d104ccd388ae0b39bf1a30e680653b7f82297d8b63d40871fe062eaefda0d389ae9114333cae4f1a2ec32b5d7cc77b8a8106abcbfaf25d8eea7e84d8e124ba280f9d5c54cf85f60d193368c7ae225505a9629b8d9e74a6fb1fd361d69a46cdfceeb2788d2ebf487c85eb4c9dbb732c7797759377ef52d241fd9dbdaef5048ae3e93dc351ba904fb568760cb54490b88013864685e1b5b5c3202c28f68f9cec327d849febb7bc0c37f53a7c262c266b494c32d529cc5977ca05274570aa0c74f27b7ceaeb60c80592839a094c3ca27eb25b31a7d42fd22896a547d9e1682a7670962d9ccaa0aa2d35e41faf82272015d94fe54bb358a8204bfbc8a5fe5185fa01e883df080d0119c3322b51dbcc96345f4f3198c8e0926f4ad9795ec68048bdd0386fb81d890efbea037ba5a9cd64136a949eb1d1f99ac464f2c38cb1dc60b5e458f8fafffb312de982db787a0d79d554a3205f6423b9a7b079cf38ea4110c3a33923fa72b38202c9c2117e3be60a722180e0bd9c1dbac0ea09199065544fbff6797399882e937f7d401d7e93679b99358ca3f691cdbe54960e770f532d81596bd36693fb1ec8e482bcf4210b6c696bcffd461f449f04bc2f79c070331cdb196f7def14447e17aad0d8dfe05b4ce2c614dda7577a5ed624ff725e000b870e787c693057c02dd21f206a87930b6144650596cae1bdffe35ea07ac5d9170e92e6fda98264ff76f591f1c87f49c6274a547b4704eeadcc94a16f9be64d8d3f98dfc0aec96eb5d431669f2187f910a99642cbfcd816677fdedb916027e8274dc3620f8150f8b1d0ff467902117ad0bd9d55bf19a270b8cf37f513ab3667dc830025bc78a8961f30bab83a755042c525d72a6b3044bcaa39c3df8368e99d6a27472097694eab41d7dd746273d1027a955a91ff53cc2926d3ce4daf2bd0aff4cdcf0ce0b6c6b87e2ef1551a1ecf40bd9a022ed105f3bb0d2c02a35d4e707547111fe1f05cfafaff3a4765e0b9c56924d832f548b7518a8a14b8d25d1e760d985540ce42728eb2410b15f0064bcf1f987831bc13682123ec711f25e7a796828fc34474a7d154e25caf86b200547b9ee76039e8dca128e593aee0c1e4a52f3c3b240a9e793427e4d5783687490668afc71a6b3ea6474a5e6ce318d091cb0ffebd327f7810a1c5d985634c24bbe582c0b2e3fc5120c2b6044de1bda2e952a496900e28e3ff1019730f0050220c638f3fff01f735476653324c2131d3f26c3eedb08e52fdf861df435b61d382b2ba38e7b5aa351008f393425340549ecb6341b6195946284528ff25d7d43d446212460aa6d7a17f75a71977fd66401c29cf15f815cfe0e017769d4c826823cfa6e02d0bf8961f0a9cc7140b60a3ae3e7bdae6cb993d54d756bc4910bb37bec2ea5bdd7e3722b9769e4dbb5ff2f23dfde62a75cac0280057fb2f6f926e7cf7107ed9c363d59322b45bdf880224ae7b876832209bb51543a33cc8f3f42f39094e5300035f2687e1f170cf25d12f795338cb8fd76719605a666302318d195a26db11427cd8c58d7ebbf99dc06e91550ab42ae922db0b42338ca85a250ec8c08e923f78483aa3dbea1b5061d5bf6772e36e5675b8a3d153958a44bcd91911e020722a48b7961afb3fcd78cecb36ef40ecac6ec72aa991bd4d184282cfa847a0b44dd94128f380ada0d2bde1ed5c1e3105ef80a79c9a499b1992a1811c55dd74dfae6cc4934941646c5ad1ff470a42061099a4dd196cbba947bb94636106e0cf552cc8bde6aff0f3cbe52cc8be98183dfc3779f1d7651465855a20d82bddf96aacb0a83217061919828eac334e640ad5f44f10b32601de23299e8ee7a794e6db7a8aec1d76741b8af40499884fe7835a5e096ddfd370f4666e75e6f118b79d319a251e17a1ed2b7bb675c8715ced877e0d65614b97eaa3008b439a07700595841e00934af2d1a89de505445e136e1ee66b9b3e64c2541ce62b0a19146b939af8da33432cd9b1284fa3518ef2cc513a416afffd23bbcfc3319611a3cfc348a0b8f23e535c74d78cfe4ae9629efe535d66135b0321bc7fd252f4a076bcd70c7b9d83f37c7e4a08067bfab5ac731fc6698820f6126c42f59c97d7bbe72f5d70332d1fb231a4495c93ce70be245d48a2b662fcc648ee668d9032cb760de4d5df56b0d0d2030dcd1c15fd101fbaac5c3e1aa124babea2726dd0cc63c2aeb7e1f81005b06df24e6e05b8fb199a566bb6465ce3dc0991131ad0682c55649ff9c9a56e8bb20d870be14fbbb6ac7d6a3c72739fa02ffc0c7f6d3a48c6829cd0ab21b8562d55ece72ccaa246e309856f7d77b0fe35e89f0fdeb20e70b151ee5a3a5fcce69da718bb9636ea4b7fb7102d5b7d1cd848e0187288e823f05e35bfeca376e78193844211c9d94c26fee25379021ac8bbd4cdc71b6c63870421e5ce2a5c178b4f26ff275046aedbc7342374f1268d7af74add1a212075cbb486047e0fe286dec204c9dd1b6d4cec2350b5a58c36e9095909bce7c1a9a39ca6513b4116af7f0c9df529f647e73e404a7883b0bababb09c36193d10df16b186eea336996a52b38acc9b87169c2969ab0f3a24325345b288bff275febfad9015b0697d6e9fb3867209fa9384b7d68a5f14407fbfedc99e170cfb077c5d7df157a56d680cb1a32114b30dedbea6c9bd32cc9717ed5b104185f1e6083a680757fc644432fec782ad2032edcb2b900b6b598fc9a184d82f977668035bf5f9f77700d8f03899c6cb52b82807d046992dc3e917302a6394cfec27d0714c4caa84ec7262052fe2e81b99ae6cbff2722e0b9b5f43b10fc543f7c08f940fbb4f3f4b33e89d410109a790261a03575b9a7ffe20b35584b7123f759420ad3fcaefe9e6edb44d45d232a5cb2ccdf5849d3b1e4bed8c199bc026564b444f7d6bc43e14db5a89a3e765a21a0e203ed3e3065d806b1f32c8774b936eff88bda351276017d395b30f6c97ee1f59688f9dbf36d87ed929f491d773fb9a245eccb53c03c9677beae9ee93ac594a259ed312eb0dc6f7b525daeef975b94b709c7aa60c1293b379f32fa108fa31fef1f855e002ebf3b4f7e2c4a8835ca7e472e8baed2ae5c4dd5646a908b4f33b2f46e351e3b2ac3239bc4d88d17e77308bf2f8cbf878e52b57375778c81c8227fb3f8d9520061b1e2070084dad20f748427b65c5c2e99e30a19474ec197b6ec7d42d066d1e64401d9fdf62a2795b30b3ebdba71c19005e30c5bc7f105590db92167095baf0f8071d225d953d77ac0f9d740e32a52d5a9426604fffab69022023b7357f72396b92df5cb425cd42ba82ded48549b4abea7b2aba8f8d354971b94971c77f01dd105360fd8c0e2f3bfa92b63f739686400a0c40b46b2ce7c6e16e2251c18f4b0ee8edd7d6ff9f92a38b344b2671937eda40909322e19e8fb0b6e593399af8f51ea2108395dbc6669443e24d985d86e82bb2f08fd0d9a48017398706d1095e8cd9c123e1016a2970042cb1ea42cad483e72a977b04a8a7600f08743a284af135a26ae1d8f6c4e2590eaedf2d1131aa5e7ea741ef25bea78ff28ae5df9a36c8e327c4b13b78aa15c1b89ceb1280eb5c76733d3a16ac707f287c744d75737e71bef0673993c3da9627789ff787487bda34443a168f43d4b6c841b85c9625232cf2427cb662679848f6a437a0ecd5d9592eeaa8cb43c3041e80f40cbbd3a76126f81556ad9297d71a8026f28a23fe6e759bae71c55571fcd20442d79015021618f7295e7a278514636760572a90af03688d10470736c4026a49042f871651dd2e635c934f61a468fce876ffff5f33f0dffca69083d2ebb86576c04fa21a088ba0fe2bd8895f93b24faef218a88fed7cac2f77d2f64685bdd50a54cfeee971624704c8b9a702ba64b0080d7bd68f384c5ada7b79b8e8a83b368b2a38b4c8a8ca7508338802956eac715b893bf9e489267c1664b40db447d732ae9eea2a31b19f75cb7a7d7d42af2aa331bd0d50741cd891087d1d779ae1931b2944d9ddb56ec8867fd18682e2ce9ef2474813cb787065e79a75ac9d3c3089596ef5d54ef1acff75f14c7fe846aa9b4f9e2a483f63d5e1fd34f549867fcd89c423c93c42ab231be4c33114e0e7902717a686723f7324b7b980b443146674752ac9a9d7317d73a21fcb55582571efa6cead512fa5885f0bbcb0c0bd4f95d5994ca3851de8fe33ef99e755d6052a42b302c9d60dbbdfa4e09ccda0d76afdd8c68296e368ee811874efbdbc6748d8e48b47e34e2c232bbe95c452c51b8459cfdc1356ae006fd0b511a61716b443570c56f4ef36985ec66eb3eda843a79141ed5b215987b9b22df7815fce2f6abac197849ccaaedcd5e035ca325a8e98749f1e8526fa64d39063b0705d96d8005cede164db543dbefae8dec4ab8de362bccbd00fd288fd9f24108f6550b141eb10e5c7961000e78210c766d5e22c0d38491bdbc9d1cf627c8a9670abed4188c5e2c3935c781a4b1cc2c4d8272367cd5258e1515334b1f2815481f4f3a7f3b16805bcc0c0fb7cf3c344dcaace2983e6a496a703573678943ace69a64eef62249d58a1b70dce3343c35776bc002e4e7a24f546e8b5b74d723fc52c8d100f78c5f73be1a59b7a54887a4599ce4df90327c34394808c7e2cc63f6207988b1d999ddb70d6f86fbc5ad0773fc9a2a31fa224aab18ccc9cdb832b31be1163f155f7d943c8c41ef43bacd08b02a1987aece59b66bbe7cd5b52c724c0bc1724aad5170e8c643fd0d37da8094cad0f9f3ff9427236f843ce08cf30836db8258acb928381c6b7620190e74ec4ef21a9cf6995a079acfad642788ba5022b0de888d519fffc856e6706c9152a682b8a3171d042c63639fb28bb3d3c27a0d9743f86d4b2f8782cada8f86b5d52077e68b13e69b7fdda9d91bb79e14a9efabd2172232ec814febdf5dcce7ee59ebc597d9c069778ea50961f61b4a1e1b5cc53b0a76f4f6a4436fc3dae1ba4e612599796765a2a38f2bb9b0c0766da4c3a5e1d2f63ee5082bec137d19099150a4ecade78b521674c299a2928be5faf222581528bf326e7203dbc3211723a21ef55f3890eedeb77558cf3fd1ef0ddd0a62f7e885ea53525764636f6addd3bb28cd9f500e2d0c9d7ea261b375d6feda96202c95d261bd7f716937b6e859deb71179e932b270b848ca90aa0b8217a5b58ec2b563407b62a5906cf9ca22883639b38a7a1b95d941859a3c8b5adc356a9ee53af78d0a28c777cbb6740097664627d2a6923da2791dd9b65e02efa1968a84378d5abbb3593c0a370bf3b197c20c3ded5564a145703636469f7316ba7c0d15f11dca8d237520bdd3fec0965e1fc4657c3b90b4caf753907783e7c6dfb539943765fc969dd51b8396eerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrooterlang-23.3.4.19-150300.3.14.1.src.rpmerlang-wxerlang-wx(aarch-64)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    erlangld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libGLU.so.1()(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.1)(64bit)libstdc++.so.6(CXXABI_1.3.8)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.15)(64bit)libstdc++.so.6(GLIBCXX_3.4.18)(64bit)libstdc++.so.6(GLIBCXX_3.4.20)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libwx_baseu-suse.so.3.0.5()(64bit)libwx_baseu-suse.so.3.0.5(WXU_3.0)(64bit)libwx_gtk2u_adv-suse.so.3.0.5()(64bit)libwx_gtk2u_adv-suse.so.3.0.5(WXU_3.0)(64bit)libwx_gtk2u_aui-suse.so.3.0.5()(64bit)libwx_gtk2u_aui-suse.so.3.0.5(WXU_3.0)(64bit)libwx_gtk2u_core-suse.so.3.0.5()(64bit)libwx_gtk2u_core-suse.so.3.0.5(WXU_3.0)(64bit)libwx_gtk2u_gl-suse.so.3.0.5()(64bit)libwx_gtk2u_gl-suse.so.3.0.5(WXU_3.0)(64bit)libwx_gtk2u_html-suse.so.3.0.5()(64bit)libwx_gtk2u_html-suse.so.3.0.5(WXU_3.0)(64bit)libwx_gtk2u_stc-suse.so.3.0.5()(64bit)libwx_gtk2u_stc-suse.so.3.0.5(WXU_3.0)(64bit)libwx_gtk2u_xrc-suse.so.3.0.5()(64bit)libwx_gtk2u_xrc-suse.so.3.0.5(WXU_3.0)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)wxWidgets23.3.4.193.0.4-14.6.0-14.0-15.2-12.84.14.3e@e;e;cr-^{G^\@^M#@^G@^=Q@^8 @^*@^!]f@]+]e@]M@])]@]]b@]b@]e@]>]@] ]/@\P\@\@\@\r@\N\@\+@\k\\\Yz\J@\*\@\@[[[%@[<@[[t[r@Z@Zs@Z@Z@YYo@Yo@Y@YyYYlY YX-X-X•@X@XVz@W@W@WoWgWc@WA@WA@W(V@VVV$@VrV2 @V }@Uݪ@ŬU(Ub@UU>U@Ug@UG_@U#T@T*@T_W@T_W@sflees@suse.desflees@suse.desflees@suse.demcepl@suse.comg.santomaggio@gmail.comtchvatal@suse.comg.santomaggio@gmail.commatwey.kornilov@gmail.comgsantomaggio@suse.degsantomaggio@suse.commatwey.kornilov@gmail.commatwey.kornilov@gmail.comdimstar@opensuse.orggsantomaggio@suse.degsantomaggio@suse.degsantomaggio@gmail.comgsantomaggio@suse.degsantomaggio@suse.dematwey.kornilov@gmail.commatwey.kornilov@gmail.comopensuse-packaging@opensuse.orgmliska@suse.czopensuse-packaging@opensuse.orgmatwey.kornilov@gmail.comg.santomaggio@gmail.commatwey.kornilov@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.commatwey.kornilov@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.commatwey.kornilov@gmail.comg.santomaggio@gmail.commatwey.kornilov@gmail.comg.santomaggio@gmail.commchandras@suse.deg.santomaggio@gmail.comdmueller@suse.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.comrbrown@suse.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commeissner@suse.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.comkruber@zib.dematwey.kornilov@gmail.commatwey.kornilov@gmail.comjengelh@inai.dematwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.comkruber@zib.dematwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.comro@suse.dematwey.kornilov@gmail.commatwey.kornilov@gmail.comkruber@zib.dekruber@zib.deseife+obs@b1-systems.comkruber@zib.dekruber@zib.dekruber@zib.dedmueller@suse.commatwey.kornilov@gmail.comdmueller@suse.comkruber@zib.dekruber@zib.dematwey.kornilov@gmail.commatwey.kornilov@gmail.comledest@gmail.com- negotiate "strict KEX" OpenSSH feature, when negotiated between peers apply strict KEX(bsc#1218192, CVE-2023-48795) * fix-CVE-2023-48795.patch- Update to 23.3.4.19 to completely fix (CVE-2022-37026, bsc#1205318, jira#PED-6209) * This Removes SSL support but adds TLS 1.3 * Other minor fixes and features especially in the ssh area. * Remove the following patches included upstream * fix-upstream-CVE-2022-37026.patch * feature-upstream-ocsp.patch * feature-upstream-ocsp-2.patch * feature-upstream-ocsp-3.patch * Remove the following patches not in use * feature-upstream-testsuite-enhancement.patch * feature-upstream-testsuite-enhancement-2.patch- Fix a regression in bsc#1205318 CVE-2022-37026-client-auth-bypass.patch (bsc#1207113) * Removed * CVE-2022-37026-client-auth-bypass.patch * Added * feature-upstream-ocsp.patch * feature-upstream-ocsp-2.patch * feature-upstream-ocsp-3.patch * fix-upstream-CVE-2022-37026.patch - Make testsuite run for just ssl but leave it commented out for production * feature-upstream-testsuite-enhancement.patch * feature-upstream-testsuite-enhancement-2.patch- Add CVE-2022-37026-client-auth-bypass.patch to fix Client Authorization Bypass (CVE-2022-37026, bsc#1205318). Patches gh#erlang/otp@cd5024867e7b and gh#erlang/otp@6a1baa36e4e6).- Changes for 22.3: * compiler: A 'receive' with an 'after 0' clause would prevent the optimization that can avoid scanning the entire receive queue when matching on a newly created reference. * compiler: HiPE can again handle modules with catch and try constructs. * compiler: Fixed a bug in bit-syntax optimization that could crash the compiler. * crypto: Fixed potential memory leaks involving calls to the crypto ng_api. * common_test: Document incl_apps cover option * common_test: The ct_property_test has now a report function for results of stateful testing. * common_test: Don't hide error reasons from user * stdlib: Fix type specification for uri_string:normalize/2 that may also return error(). * stdlib: Improve error handling in uri_string:normalize/2. This change fixes a crash when the input URI has faulty percent- encoding. * stdlib: Fix minor bugs in the Erlang pretty printer (erl_pp). * stdlib: Fix the Erlang parser regarding consecutive unary operators. * stdlib: Let calendar:rfc3339_to_system_time() crash when the time offset is missing. * stdlib: Implement uri_string:resolve/{2,3} that can be used to resolve a URI reference against a base URI. * stdlib: In gen_statem it is now possible to change the callback module for a running server. See gen_statem's documentation for change_callback_module, push_callback_module, and pop_callback_module. * ssl: Correct handling of TLS record limit in TLS-1.3. The max value differs from previous versions. Also the payload data max record check was broken, that is record overflow problems could occur if user sent large amounts of data. * ssl: Correct close handling for DTLS * ssl: Fix ssl:getstat/1-2 to also work for DTLS sockets * ssl: Correct internal handling och socket active mode to avoid reviving TCP data aimed for a downgraded TLS socket. * ssl: When using the host name as fallback for SNI (server name indication) strip a possible trailing dot that is allowed in a host name but not in the SNI. Also if the server receives a SNI with a trailing dot send an UNRECOGNIZED_NAME alert. * ssl: Immediately remove session entries if handshake is abruptly closed at transport level. * ssl: Implementation of the key and initialization vector update feature, and general hardening of TLS 1.3. There are cryptographic limits on the amount of plaintext which can be safely encrypted under a given set of keys. This change enforces those limits by triggering automatic key updates on TLS 1.3 connections. * ssl: Add support for TLS 1.3 Session Tickets (stateful and stateless). This allows session resumption using keying material from a previous successful handshake. * ssl: Add support for key exchange with Edward curves and PSS- RSA padding in signature verification. * megaco: The documented function megaco:get_sdp_record_from_PropertGroup/2 was a wrapper for megaco_sdp:get_sdp_record_from_PropertGroup/2 but did not actually exist. This has now been fixed. * megaco: Test suite completely reworked. Add (timestamp) utility functions for debugging and testing. * erl_interface: Fix link error "multiple definition of `ei_default_socket_callbacks'" for gcc version 10 or when built with gcc option -fno-common. Error exists since OTP-21.3. * asn1: Fix 'DEFAULT' with 'OCTET STRING' and 'SEQUENCE OF CHOICE' with extensions. * erts: gen_udp:recv(S, N, 0) corrupted the internal state for the socket so after receive with {active, once} it always returned {error, timeout}, and wasted the received UDP packets. This bug has now been fixed. Reported and pinpointed by Alexander Petrovsky. * erts: The atom esock_atom_user and esock_atom_kernel was never actually created. This has now been corrected. * erts: Fixed bug in socket module that could potentially lead to scheduler deadlocks. * erts: Fix bug causing VM crash if down or stop callback of a NIF resource is called after the NIF module has been purged. The fix will postpone unloading until all such resource objects have been garbage collected. * erts: Fixed bug in ets:update_counter/4, when called with an invalid UpdateOp and a Key that does not exist, causing ets:info(T,size) to return incorrect values. Bug exists since OTP-19.0.2. * erts: Fix potential heap corrupting bugs when a process calls a BIF that blocks other normal schedulers and then writes to its own heap without the main process lock. A NIF running on a dirty scheduler trying to interact with such a process could corrupt its heap. The fixed BIFs were related to code loading and tracing. * erts: Fixed bug in erlang:list_to_ref/1 when called with a reference created by a remote note. Function list_to_ref/1 is intended for debugging and not to be used in application programs. Bug exist since OTP 20.0. * erts: The prim_net nif (net/kernel) made use of an undefined atom, notsup. This has now been corrected. * erts: Corrected the valid range of the erl command line argument +SDio from 0..1024 to 1..1024. +SDio 0 was erroneously allowed which just caused the VM to crash on the first dirty I/O job scheduled. * erts: Fix a crash when attempting to log faults when loading files during early boot. * erts: For socket, not all send and receive flags are supported on all platforms. In order to (at least) simplify testing, the socket:supports/0,1,2,3 functions has been extended with send_flags and recv_flags items, which indicates what the current platform can manage. * erts: Add a "full featured" version of getifaddrs in the net module. * erts: The options busy_limits_port and busy_limits_msgq have been added to the BIF erlang:open_port/2. The busy_limits_port option can be used for controlling the busy state of a port executing the spawn_driver or the fd_driver. The busy_limits_msgq option can be used for controlling the busy state of the port message queue. * erts: A socket "registry" has been added making it possible to list current open sockets. * erts: The counters managed by the socket nif has been extended. Their "size" has been increased from 32 bit to 64. Two max package size (for read and write) has been added. And four accept counters has been added. * erts: Add gcc option -fno-common to detect accidental name clashes of global variables. * erts: New dynamic lock checker that verifies locking orders and detects potential deadlock bugs in drivers and NIFs. Enabled together with the old static lock checker (for ERTS internal locks) in emulator started with -emu_type debug or built with configuration option --enable-lock-checking. * snmp: A simple supervision of the snmp manager net-if process has been added. Also, a way to forcibly restart the net-if process has been added. This could be useful if the net-if process hangs for some reason. * snmp: Misc documentation corrections * mnesia: Fixed a timing issue in uninstall fallback functionality. * eunit: Backport of PR-2316: Strip control codes from eunit_surefire output to avoid generation of invalid xml * ssh: Unicode problems for ssh_sftp:write fixed. * ssh: Changes to the internal api of the experimental ssh_dbg tool. * ssh: The new functions ssh:set_sock_opts/2 and ssh:get_sock_opts/2 sets and reads option values for the underlying TCP stream. * hipe: HiPE can again handle modules with catch and try constructs. * hipe: When the return value for try/catch was ignored, the native code compiler could crash. * public_key: Add support for key exchange with Edward curves and PSS-RSA padding in signature verification. * diameter: Add the 'first' tuple to type diameter:peer_filter/0. The filter was added in OTP-17.5.6.8 and OTP-18.3, but neither release updated the type specification. * tools: An Emacs warning due to lacking type in defcustom declaration has been fixed. * tools: Improve emacs indentation. * tools: The cover tool could generate instrumented code for a module that would cause warnings to be issued. * tools: Fixed generated fprof analysis format to also handle data in maps. * sasl: A socket "registry" has been added making it possible to list current open sockets. * kernel: The DNS resolver `inet_res` has been fixed to return the last intermediate error when subsequent requests times out. * kernel: The prim_net nif (net/kernel) made use of an undefined atom, notsup. This has now been corrected. * kernel: Fix a crash when attempting to log faults when loading files during early boot. * kernel: Fix crash in logger when logging to a remote node during boot. * kernel: Improved net_kernel debug functionality. - Changes for 22.2.8: * diameter: The possibility of choosing a handler process for an incoming Diameter request with a configured MFA was documented in OTP 20.0, but counters (with {traffic_counters, true}) were not incremented when this process was on a remote node. Counters are now incremented on the node that configures the transport in question. Introduced in OTP 21.3. * diameter: Transport options differing from those passed to diameter:add_transport/2 were used in several situations: when starting a transport process after connect_timer expiry after an initial connection attempt has failed, when starting a transport process after a connection has been accepted, when sending events, when returning options in diameter:service_info/2, and possibly more. In particular, the following configuration options to diameter:add_transport/2 were dropped: avp_dictionaries, incoming_maxlen, spawn_opt, strict_mbit. Moreover, any service options mistakenly passed to diameter:add_transport/2 were interpreted as such, instead of being ignored as the documentation states, with the consequence that outgoing and incoming requests saw different values of some options, some were always taken from transport options, and others from service options. diameter:add_transport/2 must be called in new code for the fix to have effect. Introduced in OTP 20.1.- Remove conditions and support for openSUSE/SLE < 15 - Remove not really needed service file _service - Convert the dependencies to pkgconfig style ones- Changes for 22.2.7: * compiler: Fixed a bug that could cause the compiler to reject valid code that used the is_map_key/2 BIF. * compiler: Fixed a bug that could cause the compiler to reject valid code that matched the same map key several times. * compiler: The compiler could crash when compiling a convoluted receive statement. * compiler: The compiler could crash when a fun was created but never used. The compiler could crash when compiling the expression true = 0 / X. - jsc#SLE-10913- Changes for 22.2.6: * erts: A process could get into an inconsistent state where it was runnable, but never scheduled for execution. This could occur when a mix of normal and low priority processes where scheduled on the same type of dirty scheduler simultaneously.- Changes for 22.2.5: * erts: A process could end up in a state where it got endlessly rescheduled without making any progress. This occurred when a system task, such as check of process code (part of a code purge), was scheduled on a high priority process trying to execute on a dirty scheduler. * erts: Improved signal handling for processes executing dirty. For example, avoid busy wait in dirty signal handler process when process is doing garbage collection on dirty scheduler. * stdlib: A directory traversal vulnerability has been eliminated in erl_tar. erl_tar will now refuse to extract symlinks that points outside the targeted extraction directory and will return {error,{Path,unsafe_symlink}}. (Thanks to Eric Meadows-Jönsson for the bug report and for suggesting a fix.)- Changes for 22.2.4: * ssl: Enhance error handling, all ALERTS shall be handled gracefully and not cause a crash. * ssl: Enhance alert logging, in some places the role indication of the alert origin was missing. So the log would say undefined instead of client or server. * ssl: Two different optimizations did not work together and resulted in the possible breakage of connections using stream ciphers (that is RC4). Reworked the implementation to avoid this.- Changes for 22.2.3: * ssl: Fix the handling of GREASE values sent by web browsers when establishing TLS 1.3 connections. This change improves handling of GREASE values in various protocol elements sent in a TLS 1.3 ClientHello. * ssl: Correct DTLS listen emulation, could cause problems with opening a new DTLS listen socket for a port previously used by a now closed DTLS listen socket. * compiler: Fixed a bug in the compiler that could cause it to reject valid code.- Changes for 22.2.2: * erts: Taking a scheduler offline could cause timers set while executing on that scheduler to be delayed until the scheduler was put online again. This bug was introduced in ERTS version 10.0 (OTP 21.0). * erts: The ets:update_counter/4 core dumped when given an ordered_set with write_concurrency enabled and an invalid position. This bug has been fixed. * erts: A process calling erlang:system_flag(multi_scheduling, block) could end up blocked waiting for the operation to complete indefinitely. * erts: Duplicate entries for [socket:]getopt and [socket:]setopt in man page. * stdlib: The ets:update_counter/4 core dumped when given an ordered_set with write_concurrency enabled and an invalid position. This bug has been fixed. * crypto: Constant time comparisons added. * ssh: Fixed that ssh_connection:send could allocate a large amount of memory if given an iolist() as input data. * ssh: Safe atom conversions. * ssh: Constant time comparisons added. - Changes for 22.2.1: * erts: Corrected an issue with the new socket api which could cause a core dump. A race during socket close could cause a core dump (an invalid nif environment free). * erts: Corrected an issue with the new socket api which could cause a core dump. When multiple accept processes waiting for a connect a connect could cause a core dump. * snmp: Its now possible to remove selected varbinds (from the final message) when sending a notification. This is done by setting the 'value' (in the varbind(s) of the varbinds list) to '?NOTIFICATION_IGNORE_VB_VALUE'. * snmp: Its now possible to specify that an oid shall be "truncated" (trailing ".0" to be removed) when sending an notification. * ssl: Add missing alert handling clause for TLS record handling. Could sometimes cause confusing error behaviors of TLS connections. * ssl: Fix handling of ssl:recv that happens during a renegotiation. Using the passive receive function ssl:recv/[2,3] during a renegotiation would fail the connection with unexpected msg.- BuildRequire pkgconfig(libsystemd) instead of systemd-devel: Allow OBS to shortcut through the -mini flavors.- Changes for 22.2 * http://erlang.org/download/OTP-22.2.README * Highlights: * erts: The Kernel application's User's Guide now contains a Logger Cookbook with common usage patterns. * erts: Numerous improvements in the new socket and net modules * Standard libraries: common_test: ct_property_test logging is improved * Standard libraries: ssl: Correct handling of unordered chains so that it works as expected * Tools: Emacs erlang-mode function that lets the user open the documentation for an Erlang/OTP function in an Emacs buffer has been improved. Users will be asked if they want the man pages downloaded if they are not present in the system.- Changes for 22.1.8 * http://erlang.org/download/OTP-22.1.8.README * erts: Large amounts of quickly executed dirty work could cause heavy contention on an internal spin lock. The spin lock was replaced by a mutex which behaves much better under these conditions.- Changes for 22.1.7 * http://erlang.org/download/OTP-22.1.7.README * compiler: Fixed a performance bug that caused repeated matches of large records to take a very long time to compile. * erts: A literal area could prematurely be released before all uses of it had been removed. This occurred either when a terminating process had a complex exit reason referring to a literal that concurrently was removed, or when a terminating process continued executing a dirty NIF accessing a literal (via the heap) that concurrently was removed. * erts: Fix bug causing VM crash due to memory corruption of distribution entry. Probability of crash increases if Erlang distribution is frequently disconnected and reestablished towards same node names. Bug exists since OTP-21.0. * erts: Fixed bug causing crash of VM built with configuration - -enable--sharing-preserving. Provoked when a sent message contains both a bit string and the heap binary (< 65 bytes) which the bit string was matched from. Bug exists since OTP-19.0 but has seen to be easier to provoke since OTP-22.1. - Changes for 22.1.6 * http://erlang.org/download/OTP-22.1.6.README * compiler, erts: The compiler could do an unsafe optimization of receives, which would cause a receive to only scan part of the message queue. * crypto: The AEAD tag was not previously checked on decrypt with chacha20_poly1305 * erts:Fix bug where the receive marker used by the runtime to do the receive queue optimization could be incorrectly set. The symptom of this would be that a message that should match in a receive never matches. * snmp: Agent discovery cleanup. If there is no receiver of INFORM then #state.reqs in snmpa_net_if keeps on growing for DISCOVERY.- Changes for 22.1.5 * http://erlang.org/download/OTP-22.1.5.README * snmp: Application(s): snmp Related Id(s): ERIERL-427 The agent discovery process has been made to work with snmptrapd..- Changes for 22.1.4 * http://erlang.org/download/OTP-22.1.4.README * compiler: Fixed a bug where the compiler could generate incorrect code for a 'receive' statement inside a 'try'. * crypto: FIxed a bug if the erlang emulator was linked with a very old cryptolib version (1.0.1 or earlier). The bug now fixed could have triggered a core dump if an unknown cipher name was used in crypto functions. * erts: Erlang/OTP can now be built on macOS Catalina (10.15).- Changes for 22.1.3: * inets: Add HTTP server error logging vi logger - Changes for 22.1.2: * erts: Added the environment variable ERLC_SERVER_ID, which allows multiple compile servers to run separately under the same user. - Changes for 22.1.1: * erts: A terminating process sending distributed 'EXIT' or 'DOWN' signals while terminating could end up in a state where no progress at all was made. This was triggered by a distribution channel that the terminating process was sending on got busy. This bug has existed since ERTS version 10.4 (OTP 22.0). * erts: When communicating with a simultaneously exiting port via the erlang:port_*() BIFs one could sometimes get stray {Ref, What} messages. Where Ref was a reference and What usually were the atom badarg. * snmp: Made it possible to add 'extra socket options' to the (gen_udp) socket open call (for both manager and agent). A new option has been added, extra_sock_opts, which makes it possible for the user to add a list of extra socket options that will be appended to the other socket options for the open call. See the snmp application config man page (erl -man 6 snmp) or the "Configuring the application" chapter of the Users Guide for more info. * compiler: Fixed a bug in the bit-syntax optimization pass that could crash the compiler.- Changes for 22.1: * kernel: The type specification for gen_sctp:connect/4,5 has been corrected. * kernel: Extra -mode flags given to erl are ignored with a warning. * kernel: Fix type spec for seq_trace:set_token/2. * kernel: logger:compare_levels/2 would fail with a badarg exception if given the values all or none as any of the parameters. This is now corrected. * kernel: Fix bug where the log file in logger_std_h would not be closed when the inode of the file changed. This would in turn cause a file descriptor leak when tools like logrotate are used. * kernel: Fix a race condition in the debugging function net_kernel:nodes_info/0. * kernel: Fix race condition when closing a file opened in compressed or delayed_write mode. * kernel: The possibility to send ancillary data, in particular the TOS field, has been added to gen_udp:send/4,5. * kernel: If the log file was given with relative path, the standard logger handler (logger_std_h) would store the file name with relative path. If the current directory of the node was later changed, a new file would be created relative the new current directory, potentially failing with an enoent if the new directory did not exist. This is now corrected and logger_std_h always stores the log file name as an absolute path, calculated from the current directory at the time of the handler startup. * kernel: Support local sockets with inet:i/0. * observer: Fix bug after a user followed link on a pid from an expanded term window. * observer: Improved dark mode colors on Linux. * mnesia: mnesia:add_table_copy/3 could cause a deadlock if called when a new node was starting. * mnesia: Transactions with sticky locks could with async_asym transactions be committed in the wrong order, since asym transaction are spawned on the remote nodes. To fix this bug the communication protocol between mnesia nodes had to be updated, thus mnesia will no longer be able to connect to nodes earlier than mnesia-4.14 , OTP-19.0. *** POTENTIAL INCOMPATIBILITY *** * stdlib: re:run() now yields when validating utf8 in a large subject. * stdlib: Upgraded the ERTS internal PCRE library from version 8.42 to version 8.43. See http://pcre.org/original/changelog.txt for information about changes made to PCRE. This library implements major parts of the re regular expressions module. * stdlib: The bug with ID ERL-717 has been fixed. The functions io:columns() and io:rows() only worked correctly inside interactive erlang shells before this fix. These functions returned {error,enotsup} before this fix even if stdout and stdin were connected to a terminal when they were invoked from an escript or a program started with e.g., erl -noshell. * stdlib: Fixed handling of ".." and "@" in wildcards. ".." would only work when preceded by a literal pattern such as in "a/..", not when preceded by wildcard characters such as in "*/..". The combination "@/.." was also broken, and in addition "@" in a pattern could degrade performance of the wildcard matching. * stdlib: Make sure ets:fun2ms() can handle ++/2 in the head of functions when called from the shell. * stdlib: Debugging of time-outs in gen_statem has been improved. Starting a time-out is now logged in sys:log and sys:trace. Running time-outs are visible in server crash logs, and with sys:get_status. Due to this system events {start_timer, Action, State} and {insert_timout, Event, State} have been added, which may surprise tools that rely on the format of these events. New features: The EventContent of a running time-out can be updated with {TimeoutType, update, NewEventContent}. Running time-outs can be cancelled with {TimeoutType, cancel} which is more readable than using Time = infinity. *** POTENTIAL INCOMPATIBILITY *** * stdlib: re:run() now avoids validating utf8 in the subject more than once in the same call. This validation could previously be performed multiple times when the global option was passed. * stdlib: ETS ordered_set tables with write_concurrency enabled has got a performance issue fixed. There were no limits for the values of internal statistics counters before this fix. This could result in that the data structure sometimes reacted slowly to a change in how many parallel processes were using it. * stdlib: The ordsets:union/1 is now faster when passed a long list of ordsets. * stdlib: unicode:characters_to_binary() could return very small binaries as reference counted off heap binaries. This could cause an unnecessary large memory usage and an unnecessary load on the binary allocator. Small binaries are now always returned as heap binaries. * stdlib: Display a more meaningful error message when a bad I/O server is used in a script written in Erlang (escript). * stdlib: New feature ets:info(_, binary) to get information about all reference counted binaries kept by a table. This is the same kind of debug information that process_info(_, binary) returns for a process. * stdlib: Corrected ETS documentation about the behavior of compiled match specifications when serialized through external format. * tools: cover would fail to start if two processes tried to start it at the exact same time. * common_test: If a ct hook is installed in the suite/0 function in a test suite, then the hook's terminate/1 function would be called several times without it's init/2 function being called first. This is now corrected. * common_test: If init_per_testcase fails, the test itself is skipped. According to the documentation, it should be possible to change the result to failed in a hook function. The only available hook function in this case is post_init_per_testcase, but changing the return value there did not affect the test case result. This is now corrected. * common_test: Add ct_netconfc support for NETCONF 1.1 (RFC 6241). The 1.1 base capability can be sent in hello, and RFC 6242 chunk framing is applied when both client and server advertise 1.1 support. * common_test: Correct lib_dir paths in common_tests opaque data structure that is passed to ct_release_test callback modules in functions upgrade_init/2, upgrade_upgraded/2 and upgrade_downgraded/2. The incorrect paths may cause confusion when debugging although it will not cause any incorrect behavior on the part of common_test as it is currently not used. * erts: If you set {linger,{true,0}} on a gen_tcp listen socket, accept a connection on that socket, and then close the accepted socket, now the linger zero setting is transferred to the accepted socket. Before this correction that information was lost and the close behaviour on the accepted socket incorrect. * erts: Sending ancillary data implemented in OTP-15747 accidentally left behind test code that caused all UDP sends to fail on Windows. This has now been fixed. * erts: In the socket nif, used invalid flags when if-def'ing for supported TCP flags: TCP_MAXSEG and TCP_NODELAY (the support function). * erts: Fixed memory leaks in experimental socket module. * erts: re:run() now yields when validating utf8 in a large subject. * erts: Fixed bug in seq_trace:set_token(label,Term) which could cause VM crash if Term was heap allocated (not an atom, small integer, local pid or port). Bug exists since OTP 21.0 when terms other than small integers were first allowed as labels. * erts: Extra -mode flags given to erl are ignored with a warning. * erts: Don't loop indefinitely when --enable-pgo is given to configure, but compiler does not support pgo. * erts: Fix seq_trace:print/2 not to raise badarg exception if label is not a small integer. Bug exists since OTP 21.0. * erts: Fixed hipe_flush_icache_range for non-Linux OS on ARM. * erts: The fix in OTP-15871 was too conservative and disabled the offending load-time optimization in some cases where it was safe. * erts: Upgraded the ERTS internal PCRE library from version 8.42 to version 8.43. See http://pcre.org/original/changelog.txt for information about changes made to PCRE. This library implements major parts of the re regular expressions module. * erts: Fix race condition when closing a socket while using {active,N} on Windows. * erts: Allow more than one -config command line option to erl on Windows to conform with other OS. * erts: Fix so that ERL_FLAGS environment variable does not interfere with command line arguments. Before this fix you could write: ERL_FLAGS="10" erl +S and erlang would start as if +S had been given the argument 10. * erts: The bug with ID ERL-717 has been fixed. The functions io:columns() and io:rows() only worked correctly inside interactive erlang shells before this fix. These functions returned {error,enotsup} before this fix even if stdout and stdin were connected to a terminal when they were invoked from an escript or a program started with e.g., erl -noshell. * erts: Do not use named label in ethread.c inline assemble. This allows erts to be compiled using gcc 9.1.0 with LTO enabled. * erts: erlang:fun_to_list/1 will now escape the module and function name when necessary. * erts: process_info(P,binary) would neglect to look through heap fragments, potentially missing a few binaries associated with the process. * erts: HiPE is now automatically disabled on systems with non- glibc implementation (for instance musl). This is because musl does not provide the API's for guaranteeing that signals are delivered on the correct native stack. * erts: Fixed bug triggered if a process is killed during call to persistent_term:put or persistent_term:erase. * erts: Add units to all memory slogans in the crash dump documentation. * erts: Fix a bug in binary_to_term that would crash the emulator if a term larger than 16GB was to be decoded. * erts: Fixed bug related to an exiting process sending EXIT and DOWN signals to remote linked/monitored processes. Bugs exists since OTP 22.0. * erts: erlc can now automatically use a compile server to avoid starting an Erlang system for each file to be compiled in a multi-file project. See the documentation for how to enable it. * erts: The possibility to send ancillary data, in particular the TOS field, has been added to gen_udp:send/4,5. * erts: The net module has been split into 'net' (kernel) and prim_net (preloaded). * erts: Socket counters now works as expected and can also be extracted with the (new) info function. * erts: re:run() now avoids validating utf8 in the subject more than once in the same call. This validation could previously be performed multiple times when the global option was passed. * erts: The un-documented function erlang:dist_get_stat/1 now returns the real value of what the distribution queue contains instead of a boolean. * erts: ETS ordered_set tables with write_concurrency enabled has got a performance issue fixed. There were no limits for the values of internal statistics counters before this fix. This could result in that the data structure sometimes reacted slowly to a change in how many parallel processes were using it. * erts: Optimize the reception of large distribution messages. * erts: Binary matching and functions like split_binary/2 will now create heap binaries when the results are small enough, reducing the chances of small sub-binaries keeping large binaries alive. * erts: Fixed rare emulator crash in instrument:allocations/0-1. * erts: Ports could pass very small binaries as reference counted off heap binaries to processes. This could cause an unnecessary large memory usage and an unnecessary load on the binary allocator. Small binaries are now always passed as heap binaries to processes. * erts: unicode:characters_to_binary() could return very small binaries as reference counted off heap binaries. This could cause an unnecessary large memory usage and an unnecessary load on the binary allocator. Small binaries are now always returned as heap binaries. * erts: Improved erl_nif documentation regarding on_load and Erlang stub/fallback functions. * erts: New feature ets:info(_, binary) to get information about all reference counted binaries kept by a table. This is the same kind of debug information that process_info(_, binary) returns for a process. * erl_docgen: Update the documentation build support to handle FOP 2.1 . * ftp: A possibly infinite loop when receiving messages divided in parts is removed. * dialyzer: Allow native compilation when using Dialyzer from Erlang. The options native (defaults to false) and native_cache have been added. * eunit: Handle get_until request with explicit encoding in the implementation of the I/O protocol. * snmp: Fix various minor issues related to Dialyzer. Mostly these are dialyzer warnings, but there was also some minor bugs detected by Dialyzer. * snmp: Fixed a dets usage problem detected by dialyzer. * snmp: The function snmp:print_version_info() prints various version info. For each module a number of items are printed, such as app vsn and md5 digest. And an attempt was also made to print "compile time". This used to be available in the module_info for each module, but has now been removed. * snmp: The use of the deprecated random module has been replaced the with rand module. * snmp: Removed use of the deprecated function erlang:get_stacktrace(). Instead make use of the 'catch Class:Error:Stacktrace' feature. * syntax_tools: Add missing calls to erl_syntax:unwrap/1. The nodes concerned represent names and values of maps and map types. * wx: Fix a driver bug that could crashes when allocating memory. * erl_interface: Fix bugs in ei_print_term for binaries and bit strings causing incorrect output. * erl_interface: Fixed bug in ei_decode_fun for very old fun encoding format. Bug exist since OTP 22.0. * erl_interface: ei_print_term() now supports printing of maps and funs. * xmerl: xmerl_sax_parser crashed during charset detection when the xml declarations attribute values was missing the closing quotation (' or "). * ssl: Handling of zero size fragments in TLS could cause an infinite loop. This has now been corrected. * ssl: DTLS record check needs to consider that a resent hello message can have a different version than the negotiated. * ssl: Basic support for TLS 1.3 Client for experimental use. For more information see the Standards Compliance chapter of the User's Guide. * ssl: Correct solution for retaining tcp flow control OTP-15802 (ERL-934) as to not break ssl:recv as reported in (ERL-938) * ssl: Enhance dialyzer specs to reflect implementation better and avoid dialyzer warnings for the user that wants to use TLS with unix domain sockets. * ssl: Add support for ECDSA signature algorithms in TLS 1.3. * ssl: Correct error handling of TLS downgrade, possible return values form ssl:close/2 when downgrading is {ok, Port} or {error, Reason}, it could happen that only ok was returned instead of {error, closed} when downgrade failed due to that the peer closed the TCP connection. * os_mon: Fix disk_sup to ignore squashfs on Linux when determining if a mounted filesystem is full or not. * os_mon: Fix bug where cpu_sup:util() always returned 100% on systems not using gnu libc, for example Alpine OS. * ssh: Fixed wrong type definition for the daemon option subsystems. * ssh: Fixed a possible SSH logging crash if there was a problem in an early stage of session setup. * ssh: The documentation for the modules ssh_connection, ssh_sftp and ssh_sftpd are now generated from the -spec:s. * ssh: Internal cleanup including removal of the internal file ssh_userauth.hrl. * ssh: Removed unused definitions in ssh.hrl. * ssh: Removed unused fields in the internal #connection{} record. * ssh: To get information of a connection_ref() from for example ssh:connect/3, there was previously one function available namely ssh:connection_info/2. This ticket adds ssh:connection_info/1 which returns all information. For daemons (servers) started with for example ssh:daemon/2 the function ssh:daemon_info/1 returning all information was available. This ticket adds ssh:daemon_info/2 which returns only the information specified in the second argument. The info of connections and of daemons now also includes the item 'options'. Only those options that does not have their default values are returned. For a connection also the items 'algorithms' and 'channels' are added. * inets: httpd - Accept singel LF as line terminator * inets: mod_esi will now always propagate the actual HTTP status code that it answered with, to later mod-modules, and not in some cases hardcode 200. * compiler: Code such as the following would crash the compiler in OTP 22: [some_atom = fun some_function/1] * compiler: Compilation could get really slow (in the order of minutes instead of seconds) when compiling huge functions. (Thanks to Kostis Sagonas for reporting this bug.) * compiler: Fixed a bug in the validator that could reject valid code. * compiler: In rare circumstances, when two clauses had identical bodies and guard tests that tested a single boolean variable, the guard test for the second clause could be discarded, executing the second clause unconditionally if the first clause was not executed. * compiler: Fixed extremely slow compilation for huge functions doing predominantly pattern matching. * compiler: The compiler could generate unsafe code (that would crash the runtime system) for map pattern matching. The code could be unsafe if the matched key was not present in the map at runtime. * compiler: Correct code using try/after could fail to compile when using the option 'no_type_opt'. * compiler: The compiler could crash when compiling code that called 'length/1' on a binary extracted using the binary syntax. * compiler: Fixed a bug where the compiler could fail with an internal consistency failure error when compiling receive statements. * compiler: Fixed a problem where the compiler would crash when compiling binary matching in a function head. * public_key: Support Password based encryption with AES * public_key: Change dialyzer spec to avoid confusion * runtime_tools: Fix dbg:stop_clear/0 to also clear trace events (send and 'receive'). * megaco: Fix various minor issues related to Dialyzer. Mostly these are dialyzer warnings, but there was also some minor bugs detected by Dialyzer. * crypto: The implementation of crypto_one_time/4 is adjusted to match the type specification. The spec and the black-box behaviour of the function are unchanged. Some details: Both the spec and the implementation were correct seen separately. But with both of them combined simultaneously with crypto_one_time/5 which was called by the implementation of crypto_one_time/4, an (obvious) error was detected by a Dialyzer with more thorough checking than usual. * crypto: When using crypto with FIPS mode enabled, the digests were not correctly handled. * crypto: A memory leak in error handling code in ng_crypto_init_nif is fixed. * crypto: Fixed the broken static build of the crypto nifs * crypto: The Message Authentication Codes (MAC) CMAC, HMAC and Poly1305 are unified into common functions in the New Crypto API. See the manual for CRYPTO. * sasl: The net module has been split into 'net' (kernel) and prim_net (preloaded). * jinterface: Replaced deprecated with in documentation.- Rebased patches: + 0001-erts-Do-not-use-named-no_cpuid-label-in-asm.patch dropped (merged upstream)- Udate -ffat-lto-objects in order to properly build static libraries provided by the package (boo#1142645). - Use %make_build macro.- Add patch 0001-erts-Do-not-use-named-no_cpuid-label-in-asm.patch: fix boo#1142913 - Changes for 22.0.7: * compiler: Fixed a compiler crash introduced in 22.0.6 (OTP-15952). - Changes for 22.0.6: * compiler: Fixed an unsafe optimization when matching tuple_size/1 outside of guards, which could crash the emulator if the argument was not a tuple. * compiler: Fixed a rare bug that could cause the wrong kind of exception to be thrown when a BIF failed in a function that matched bitstrings. * compiler: Fixed a bug where receive statements inside try/catch blocks could return incorrect results. * ssl: Enhance error handling for erroneous alerts from the peer. * hipe: The HiPE compiler would badly miscompile certain try/catch expressions, so it will now refuse to compile modules containing try or catch. As a consequence of this, dialyzer will no longer compile key modules to native code. *** POTENTIAL INCOMPATIBILITY *** * dialyzer: The HiPE compiler would badly miscompile certain try/catch expressions, so it will now refuse to compile modules containing try or catch. As a consequence of this, dialyzer will no longer compile key modules to native code. *** POTENTIAL INCOMPATIBILITY *** - Changes for 22.0.5: * inets: Fix a regression in http client that causes a crash when request URI has no scheme. * ssl: Fix handling of certificate decoding problems in TLS 1.3 similarly as in TLS 1.2. * ssl: Hibernation now works as expected in all cases, was accidently broken by optimization efforts. * ssl: Fix interoperability problems with openssl when the TLS 1.3 server is configured wirh the option signature_algs_cert. * dialyzer: Make sure Dialyzer does not crash if the formatting of results fails. Instead of crashing, an unformatted version of the results is returned. * erts: An invalid value test caused the socket:setopt(Socket, ip, add_membership, ip_mreq()) to fail with badarg. The same for drop_membership. * erts: Fixed bug causing VM crash when doing textual dump of a process containing an unhandled monitor down signal. Textual process dumps can be done with erlang:system_info(procs), trace feature process_dump, Erlang shell break menu and a crashdump. Bug exist since OTP 21.0. * erts: lists:subtract/2 would produce incorrect results for some inputs on 64-bit platforms. * erts: Fixed a bug in the loader that was similar to OTP-15938, yielding incorrect code for some inputs on 64-bit platforms. * erts: Fixed bug causing scheduler threads in rare cases to block spinnning indefinitely. Bug exists since OTP 21.0.- Drop priv/obj directories: boo#1140404- Version 22.0.4: * http://erlang.org/download/OTP-22.0.4.README - Bug Fixes * erts: Fixed a buffer overflow when binary_to_existing_atom/2 and list_to_existing_atom/2 was used with the latin1 encoding. * erts: The runtime system disconnected a connection if it received an exit/2 signal where the recipient was a process on an old incarnation of the current node. That is, the receiving node had the same node name, but another "creation" number. The signal will now just be dropped since the receiving process no longer exists. * kernel: user/user_drv could respond to io requests before they had been processed, which could cause data to be dropped if the emulator was halted soon after a call to io:format/2, such as in an escript. * ssl: Correct handshake handling, might cause strange symptoms such as ASN.1 certificate decoding issues. * ssl: Fix handling of the signature_algorithms_cert extension in the ClientHello handshake message. * ssl:Handle new ClientHello extensions when handshake is paused by the {handshake, hello} ssl option.- Version 22.0: - Potential Incompatibilities: * gen_* behaviours: If logging of the last N messages through sys:log/2,3 is active for the server, this log is included in the terminate report. * reltool: A new element, Opts, can now be included in a rel tuple in the reltool release specific configuration format: {rel, Name, Vsn, RelApps, Opts}. * All external pids/ports/refs created by erlang:list_to_pid and similar functions now compare equal to any other pid/port/ref with same number from that node. * The old legacy erl_interface library is deprecated as of OTP 22, and will be removed in OTP 23. This does not apply to the ei library. * VxWorks is deprecated as of OTP 22 and will be removed in OTP 23. - New Features: * Support for Erlang Distribution protocol to split the payload of large messages into several fragments. * ETS option write_concurrency now also effects and improves scalability of ordered_set tables. * The length/1 BIF used to calculate the length of the list in one go without yielding, even if the list was very long. Now it yields when called with long lists. * A new (still experimental) module socket is introduced. It is implemented as a NIF and the idea is that it shall be as "close as possible" to the OS level socket interface. * Added the NIF function enif_term_type, which helps avoid long sequences of enif_is_xyz by returning the type of the given term. This is especially helpful for NIFs that serialize terms, such as JSON encoders, where it can improve both performance and readability. * The compiler has been rewritten to internally use an intermediate representation based on Static Single Assignment (SSA). The new intermediate representation makes more optimizations possible. * All compiler options that can be given in the source file can now be given in the option list on the command line for erlc. * In OTP 22, HiPE (the native code compiler) is not fully functional. The reasons for this are new BEAM instructions for binary matching that the HiPE native code compiler does not support. If erlc is invoked with the +native option, and if any of the new binary matching instructions are used, the compiler will issue a warning and produce a BEAM file without native code. * Cover now uses the counters module instead of ets for updating counters. The new function cover:local_only/0 allows running Cover in a restricted but faster local-only mode. The increase in speed will vary depending on the type of code being cover-compiled, as an example the compiler test suite runs more than twice as fast with the new Cover. * A simple socket API is provided through the socket module. This is a low level API that does *not* replace gen_[tcp|udp|sctp]. It is intended to *eventually* replace the inet driver. It also provides a basic API that facilitates the implementation of other protocols than TCP, UDP and SCTP. Known issues are; No support for the Windows OS (currently), a small term leakage. This feature will be classed as experimental in OTP 22. * SSL: now uses the new logger API, including log levels and verbose debug logging. * SSL: Basic support for TLS 1.3 Server for experimental use. * crypto: The new hash_info/1 and cipher_info/1 functions returns maps with information about the hash or cipher in the argument. - The application otp_mibs has been removed from OTP.- Update to 21.3.8.1: - Changes for 21.3.8.1: * http://erlang.org/download/OTP-21.3.8.1.README * erts: Fixed a buffer overflow when binary_to_existing_atom/2 and list_to_existing_atom/2 was used with the latin1 encoding. * ssl: Correct solution for retaining tcp flow control OTP-15802 (ERL-934) as to not break ssl:recv as reported in (ERL-938) * tools: cover would fail to start if two processes tried to start it at the exact same time. - Update to 21.3.8: - Changes for 21.3.8: * http://erlang.org/download/OTP-21.3.8.README * common_test: The test result when a hook function fails is in general the same as if the function that the hook is associated with fails. For example, if post_init_per_testcase fails the result is that the test case is skipped, as is the case when init_per_testcase fails.This, however, was earlier not true for timetrap timeouts or other error situations where the process running the hook function was killed. This is now corrected, so the error handling should be the same no matter how the hook function fails. Related Id(s): ERIERL-334 * common_test: In some rare cases, when two common_test nodes used the same log directory, a timing problem could occur which caused common_test to crash because it's log cache file was unexpectedly empty. This is now corrected. Related Id(s): ERIERL-342 * common_test: Two new common_test hook functions are introduced: post_groups/2, which is called after Suite:groups/0 post_all/3, which is called after Suite:all/0 A new term, {testcase,TestCase,RepeatProperties} is now also allowed in the return from all/0. This can be used for repeating a single test case a specific number of times, or until it fails or succeeds once. * eldap, public_key, ssl: Back port of bug fix ERL-893 from OTP-22 and document enhancements that will solve dialyzer warnings for users of the ssl application. This change also affects public_key, eldap (and inet doc). Related Id(s): ERL-893, ERL-929, PR-2215 * erl_interface: erl_interface/ei refused to use node names with an alive name (the part of the node name preceding the @ sign) longer than 63 characters and a host name longer than 64 characters. The total amount of characters allowed in a node name (alivename@hostname) was thus limited to 128 characters. These limits applied both to the own node name as well as node names of other nodes. Ordinary Erlang nodes limit the node name length to 256 characters, which meant that you could not communicate with certain Erlang nodes due to their node name used. erl_interface/ei now allow the total amount of characters in a node name to be up to 256 characters. These characters may be distributed between alive name and host name in whatever way needed. That is, the maximum amount of characters in the alive name may be 254 and the maximum amount of characters in the host name may be 254, but in total the node name must not exceed 256 characters. * erts: Fixed more bugs in process_info(reductions) causing it to sometimes behave non-monotonic. That is, a subsequent call toward the same process could return a lower reduction value. Related Id(s): ERIERL-337, OTP-15709 * ssl: Missing check of size of user_data_buffer made internal socket behave as an active socket instead of active N. This could cause memory problems. * eldap, public_key, ssl: Back port of bug fix ERL-893 from OTP-22 and document enhancements that will solve dialyzer warnings for users of the ssl application. This change also affects public_key, eldap (and inet doc). * stdlib: A bug in gen_statem has been fixed where the internal timeout message could arrive as an info to the callback module during high load due to incorrect use of asynchronous timer cancel.- Update to 21.3.7: - Changes for 21.3.7: * http://erlang.org/download/OTP-21.3.7.README * ssh: When an SSH server receives the very first message on a new TCP connection, and that message is not the expected one, the 64 first bytes of the received message are now dumped in the INFO REPORT that reports the Protocol Error. This facilitates the debugging of who sends the bad message or of detecting a possible port scanning- Update to 21.3.6: - Changes for 21.3.6: * http://erlang.org/download/OTP-21.3.6.README * ssl: With the default BEAST Mitigation strategy for TLS 1.0 an empty TLS fragment could be sent after a one-byte fragment. This glitch has been fixed.- Update to 21.3.5: - Changes for 21.3.5: * http://erlang.org/download/OTP-21.3.5.README * diameter: Fix inadvertently broad monitor that resulted in gen_server cast messages to hidden nodes from module diameter_dist. * erts: Add missing documentation of new external tags NEW_PID, NEW_PORT and NEWER_REFERENCE introduced in OTP 19. These new tags are planned to be "activated" in OTP 23 when distribution capability flag DFLAG_BIG_CREATION becomes mandatory. Older nodes (>= 19) are able to decode these new tags and send them back to the new node. Nodes older than OTP 23 will however never encode their own local pids, ports and references using the new tags. * inets: Fix the internal handling of the option erl_script_timeout in httpd. If explicit erl_script_timeout value was supplied in seconds it was not correctly converted to millisecond units for internal usage. This change fixes the handling of erl_script_timeout in all possible configuration scenarios.- Update to 21.3.4: - Changes for 21.3.4: * http://erlang.org/download/OTP-21.3.4.README * crypto: Fixed build link error on Windows. Unresolved symbol 'bcmp'. * erl_interface: Fix handling of Makefile dependencies so that parallel make works properly. * erts: Fix erlang:open_port/2 with the fd option to correctly cleanup the pollset when the port is closed. Before this fix there would be error printouts sent to logger when the same fd was reused in a new port. * ssh: The callback ssh_channel:init/1 was missing in OTP-21 * ssh: If a client was connected to an server on an already open socket, the callback fun(PeerName,FingerPrint) in the accept_callback option passed the local name in the argument PeerName instead of the remote name. * common_test: OTP internal test improvements.- Update to 21.3.3: - Changes for 21.3.3: * http://erlang.org/download/OTP-21.3.3.README * erts: Fixed a bug in seq_trace:reset_trace/0 that could crash the emulator. * erts: Fixed bug in process_info(reductions) causing it to sometimes return invalid results. * kernel/stdlib: Fixed a performance regression when reading files opened with the compressed flag.- Update to 21.3.2: - Changes for 21.3.2: * http://erlang.org/download/OTP-21.3.2.README * erts: If a suspend/resume signal pair was sent to a process while it was executing dirty, the receiving process could later end up in a suspended state indefinitely. This bug was introduced in ERTS version 10.0 (OTP 21.0). * etrs: Fix a possible deadlock when terminating the ERTS caused by a dirty scheduler not releasing it's run-queue lock when terminating. * xmerl: Handling of character references in attributes are fixed. * xmerl: Normalization of whitespace characters in attributes are fixed so it works when character references are used.- Update to 21.3.1: - Changes for 21.3.1: * http://erlang.org/download/OTP-21.3.1.README * erl_interface: Fixed two bugs in the erl_call program. A missing initialization (introduced in erl_interface-3.11) which either caused a crash or failure to connect to or start a node, and an incorrectly calculated timeout which could cause failure to start an erlang node. These bugs only caused failures on some platforms. * ssl: The timeout for a passive receive was sometimes not cancelled and later caused a server crash. This bug has now been corrected. * ssl: Add tag for passive message (active N) in cb_info to retain transport transparency. - Update to 21.3: - Changes for 21.3: * http://erlang.org/download/OTP-21.3.README * Erlang/OTP 21.3 is the third service release for the 21st major release with improvements, as well as a few features * Highlights * Kernel: The standard logger handler, logger_std_h, now has a new internal feature for log rotation. For full information see the documentation. * SSL:The Reason part of the error return from the functions connect and handshake has a better and documented format. This is a potential incompatibility. See the documentation. Refactoring of state handling has improved the TLS application data throughput and reduced CPU overhead Code optimizations has reduced CPU load for encryption/decryption, especially for Erlang's distribution protocol over TLS Now supports active N * Erl_interface: Support for plugin of a user supplied socket implementation has been added. * OTP:The HTML reference documentation now shows the OTP version where modules and functions were first introduced. Versions of OTP older than R13B04 is not shown in the reference documentation * For a full list of details see: http://erlang.org/download/otp_src_21.3.readme - Update to 21.2.7: - Changes for 21.2.7: * http://erlang.org/download/OTP-21.2.7.README * erts, otp: Fixes of install/release phase in build system. - - The source tree was modified when installing/releasing and/or applying a patch. - - Some files were installed with wrong access rights. - - If applying a patch (using otp_patch_apply) as another user (except root) than the user that built the source, the documentation was not properly updated. * erts, kernel: Setting the recbuf size of an inet socket the buffer is also automatically increased. Fix a bug where the auto adjustment of inet buffer size would be triggered even if an explicit inet buffer size had already been set. * erts: Reading from UDP using active true or active N mode has been optimized when more packets than specified by read_packets are available on the socket. * erts, kernel: Setting the recbuf size of an inet socket the buffer is also automatically increased. Fix a bug where the auto adjustment of inet buffer size would be triggered even if an explicit inet buffer size had already been set.- Update to 21.2.6: - Changes for 21.2.6: * http://erlang.org/download/OTP-21.2.6.README * erts: When using the {linger,{true,T}} option; gen_tcp:listen/2 used the full linger time before returning for example eaddrinuse. This bug has now been corrected. * stdlib: Optimize pretty printing of terms. The slower behaviour was introduced in Erlang/OTP 20.- Drop unsupported openSUSE versions- Update to 21.2.5: - Changes for 21.2.5: * http://erlang.org/download/OTP-21.2.5.README * inets: Fixed bug that causes a crash in http client when using hostnames (e.g. localhost) with the the option ipv6_host_with_brackets set to true. This change also fixes a regression: httpc:request fails with connection error (nxdomain) if option ipv6_host_with_brackets set to true and host component of the URI is an IPv6 address.- update to 21.2.4: - Changes for 21.2.4: * http://erlang.org/download/OTP-21.2.4.README * erts: Fix bug where doing a gen_tcp:send on a socket with delay_send set to true could cause a segfault if the other side closes the connection. Bug was introduced in erts-10.2 (OTP-21.2). * erts: Fix a race condition when a port program closes that could result in the next started port to hang during startup. Bug was introduced in erts-10.0 (OTP-21.0). * erts: Fix a bug where polling for external events could be delayed for a very long time if all active schedulers were 100% loaded. Bug was introduced in erts-10.2 (OTP-21.2). * inets: Make sure ipv6 addresses with brackets in URIs are converted correctly before passing to lower level functions like gen_tcp and ssl functions. Could cause connection to fail. - update to 21.2.3: - Changes for 21.2.3: * http://erlang.org/download/OTP-21.2.3.README * compiler: An optimization that avoided allocation of a stack frame for some case expressions was introduced in OTP 21. (ERL-504/OTP-14808) It turns out that in rare circumstances, this optimization is not safe. Therefore, this optimization has been disabled. * erts: Fixed a crash when dangling files were closed after init:restart/0. * erts: A bug that could cause dirty schedulers to become unresponsive has been fixed. * ssl: Fix encoding of the SRP extension length field in ssl. The old encoding of the SRP extension length could cause interoperability problems with third party SSL implementations when SRP was used. * ssl: Guarantee active once data delivery, handling TCP stream properly. Correct gen_statem returns for some error cases * xmerl: The charset detection parsing crash in some cases when the XML directive is not syntactic correct.- update to 21.2.2: - Changes for 21.2.2: * http://erlang.org/download/OTP-21.2.2.README * ssh: Fixed port leakage if a ssh:daemon call failed. - update to 21.2.1: - Changes for 21.2.1: * http://erlang.org/download/OTP-21.2.1.README * erts: Fixed bug on big endian architectures when changing file permissions or ownership with file:change_mode, change_owner, change_group or write_file_info. Bug exists since OTP-21.0. * erts: Fixed bug in operator band of two negative operands causing erroneous result if the absolute value of one of the operands have the lowest N*W bits as zero and the other absolute value is not larger than N*W bits. N is an integer of 1 or larger and W is 32 or 64 depending on word size. * ssl: Fixed renegotiation bug. Client did not handle server initiated renegotiation correctly after rewrite to two connection processes, due to ERL-622 commit d87ac1c55188f5ba5cdf72384125d94d42118c18. This could manifest it self as a " bad_record_mac" alert. Also included are some optimizations - update to 21.2: - Changes for 21.2: * http://erlang.org/download/OTP-21.2.README * HIGHLIGHTS * erts, sasl: New counters and atomics modules supplies access to highly efficient operations on mutable fixed word sized variables. * erts: There is a new module persistent_term that implements a term storage suitable for terms that are frequently used but never or infrequently updated. Lookups are done in constant time without copying the terms. * ssh: Requires OpenSSL 1.1.1 or higher as cryptolib under the OTP application crypto. * ssl: *** POTENTIAL INCOMPATIBILITY *** ssl now uses active n internally to boost performance. Old active once behavior can be restored by setting application variable see manual page for ssl application (man 6). * erts: Add a new pollset that is made to handle sockets that use {active, true} or {active, N}. The new pollset will not be polled by a pollthread, but instead polled by a normal scheduler. This change was made because of the overhead associated with constantly having to re-apply the ONESHOT mechanism on fds that all input events were interesting. The new pollset is only active on platforms that support concurrent kernel poll updates, i.e. Linux and BSD. * POTENTIAL INCOMPATIBILITIES: kernel: A new function, logger:update_handler_config/3 is added, and the handler callback changing_config now has a new argument, SetOrUpdate, which indicates if the configuration change comes from set_handler_config/2,3 or update_handler_config/2,3. This allows the handler to consistently merge the new configuration with the old (if the change comes from update_handler_config/2,3) or with the default (if the change comes from set_handler_config/2,3). The built-in handlers logger_std_h and logger_disk_log_h are updated accordingly. A bug which could cause inconsistency between the handlers' internal state and the stored configuration is also corrected. * ssl: ssl now uses active n internally to boost performance. Old active once behavior can be restored by setting application variable see manual page for ssl application (man 6). * full relase notes here: http://erlang.org/download/OTP-21.2.README- Drop crypto.patch: isn't required anymore Reported by Gabriele Santomaggio- update to 21.1.4: - Changes for 21.1.4: * http://erlang.org/download/OTP-21.1.4.README * kernel: Fix bug causing net_kernel process crash on connection attempt from node with name identical to local node. - update to 21.1.3: - Changes for 21.1.3: * http://erlang.org/download/OTP-21.1.3.README * erts: Added an optional ./configure flag to compile the emulator with spectre mitigation: - -with-spectre-mitigation Note that this requires a recent version of GCC with support for spectre mitigation and the - -mindirect-branch=thunk flag, such as 8.1.- Pack /etc/init.d/epmd only for systemd-less cases (boo#1116009)- update to 21.1.2: - Changes for 21.1.2: * http://erlang.org/download/OTP-21.1.2.README * compiler: Fixed a bug where incorrect code was generated following a binary match guard. * erts: Fixed a rare bug where files could be closed on a normal instead of an IO scheduler, resulting in system instability if the operation blocked. * public_key: Add DSA SHA2 oids in public_keys ASN1-spec and public_key:pkix_sign_types/1- Fix instructions for changing address for epmd.socket service. The ListenStream option needs to be completely overriden otherwise the socket will be started with multiple ListenStream options and it will fail.- update to 21.1.1: - Changes for 21.1.1: - http://erlang.org/download/OTP-21.1.1.README * erts: Fixed a memory leak on errors when reading files. * ssl: From ssl-9.0.2. CLOSE ALERTS could under some circumstances be encoded using an incorrect cipher state. This would cause the peer to regard them as unknown messages. * ssl: Correct handling of socket packet option with new TLS sender process, from ssl-9.0.2. When changing the socket option {packet, 1|2|3|4} with ssl:setopts/2 the option must internally be propagated to the sender process as well as the reader process as this particular option also affects the data to be sent. * eldap: A race condition at close could cause the eldap client to exit with a badarg message as cause. - Changes for 21.1: - http://erlang.org/download/OTP-21.1.README * ssh: The key exchange methods 'curve25519-sha256@libssh.org', 'curve25519-sha256' and 'curve448-sha512' are implemented. The last two are defined in https://tools.ietf.org/html/draft-ietf-curdle-ssh-curves They all depends on that OpenSSL 1.1.1 or higher is used as cryptolib. * crypto: The typing in the CRYPTO and PUBLIC_KEY applications are reworked and a few mistakes are corrected. The documentation is now generated from the typing and some clarifications are made. A new chapter on Algorithm Details such as key sizes and availability is added to the CRYPTO User's Guide. * erts: The socket options recvtos, recvttl, recvtclass and pktoptions have been implemented in the socket modules. See the documentation for the gen_tcp, gen_udp and inet modules. Note that support for these in the runtime system is platform dependent. Especially for pktoptions which is very Linux specific and obsoleted by the RFCs that defined it. * ssh: The cipher 'chacha20-poly1305@openssh.com' is now supported if OpenSSL 1.1.1 or higher is used as cryptolib. - Changes for 21.0.9: - http://erlang.org/download/OTP-21.0.9.README * compiler: Fix a regression in OTP-15204 that removed .beam file metadata that some external build tools relied on. * erts: As of ERTS version 10.0 (OTP 21.0) the erl_child_setup program, which creates port programs, ignores TERM signals. This setting was unintentionally inherited by port programs. Handling of TERM signals in port programs has now been restored to the default behavior. That is, terminate the process. * erts: The fix made for OTP-15279 in erts-10.07 (OTP-21.0.8) was not complete. It could cause a new connection attempt to be incorrectly aborted in certain cases. This fix will amend that flaw. - Changes for 21.0.8: - http://erlang.org/download/OTP-21.0.8. * erts: A process could get stuck in an infinite rescheduling loop between normal and dirty schedulers. This bug was introduced in ERTS version 10.0. * erts: Garbage collection of a distribution entry could cause an emulator crash if net_kernel had not brought previous connection attempts on it down properly. * kernel: Fixed bug in net_kernel that could cause an emulator crash if certain connection attempts failed. Bug exists since kernel-6.0 (OTP-21.0). - Changes for 21.0.7: - http://erlang.org/download/OTP-21.0.7. * erts: A race between termination of a process and resume of the same process via erlang:resume_process/1 could cause the VM to crash. This bug was introduced in erts version 10.0 (OTP 21.0). * erts: When tracing on running, in trace events could be lost when a process was rescheduled between a dirty and a normal scheduler. - Changes for 21.0.6: - http://erlang.org/download/OTP-21.0.6.README * crypto: Update the crypto engine functions to handle multiple loads of an engine. * inets: Change status code for no mod found to handle request to 501 * ssl: Correct cipher suite handling for ECDHE_*, the incorrect handling could cause an incorrrect suite to be selected and most likly fail the handshake. - Changes for 21.0.5: - http://erlang.org/download/OTP-21.0.5.README * POTENTIAL INCOMPATIBILITIES erts: Fixed a bug causing some Erlang references to be inconsistently ordered. This could for example cause failure to look up certain elements with references as keys in search data structures. This bug was introduced in R13B02. * compiler: Fixed an issue where files compiled with the +deterministic option differed if they were compiled in a different directory but were otherwise identical. * crypto: Fixed a node crash in crypto:compute_key(ecdh, ...) when passing a wrongly typed Others argument. * erts: Fixed a bug which caused an emulator crash when enif_send() was called by a NIF that executed on a dirty scheduler. The bug was either triggered when the NIF called enif_send() without a message environment, or when the process executing the NIF was send traced. - Changes for 21.0.4: - http://erlang.org/download/OTP-21.0.4.README * erts: Fixed a crash when matching directly against a literal map using a single key that had been saved on the stack. * erts: Fix node crash when passing a bad time option to file:read_file_info/2. - Changes for 21.0.3: - http://erlang.org/download/OTP-21.0.3.README * otp: Build support for the erlang/corba repository. * erts: Fixed a scheduler bug that caused normal schedulers to run dirty code. * erts: Fixed a bug in erlang:trace_info/2 which caused the emulator to crash when a bad argument was passed. The bug was introduced in ERTS version 10.0. - Changes for 21.0.2: - http://erlang.org/download/OTP-21.0.2.README * compiler: In rare cases involving matching of binary literal strings, the compiler could optimize away code that should be executed. * compiler:There could be an internal consistency check failure when compiling code that called map_get(Key, Map) and then updated the same map. * compiler: In rare circumstances, the compiler could crash in beam_jump when compiling a floating point operation. * erts: Fixed a rare bug that could cause processes to be scheduled after they had been freed * erts: Fixed a race condition in the inet driver that could cause receive to hang when the emulator was compiled with gcc 8. * public_key: Fix some of the keylengths in the newly generated moduli file in public_key are not universally supported. This could cause the SSH key exchange diffie-hellman-group-exchange-sha* to fail. Those keylengths are now removed. * stdlib: Fix a bug that could cause a crash when formatting a list of non-characters using the control sequences p or P and limiting the output with the option chars_limit. - Changes for 21.0.1: - http://erlang.org/download/OTP-21.0.1. * compiler:The compiler could crash when compiling a complicated function that used the binary syntax. - Changes for 21.0: - http://erlang.org/download/otp_src_21.0.readme * Erlang/OTP 21 is a new major release with new features, improvements as well as incompatibilities. * Potential Incompatibilities: - All Corba applications are now moved from the OTP repository - A new Corba repository will be created https://github.com/erlang - New applications ftp and tftp, moved from inets - ssl no longer supports 3_DES cipher suites or RSA-key exchange cipher suites by default - Erlang:monitor on a primitive node (erl_interface, jinterface, etc) will no longer fail with badarg exception. Instead a monitor will be created, but it will only supervise the connection to the node. * Highlights: * Erts: - Enhanced IO scalability - Support for usage of distribution controller processes for alternative transports, routing etc - compact instructions on 64bit systems for code below 4GB 20% less memory for loaded code - Rewrite of the efile-driver with NIFs and "Dirty schedulers" resulting in faster file operations non-smp VM removed - link and monitor optimized for scalability- update to 20.3.8.9: - Changes for 20.3.8.9: - http://erlang.org/download/OTP-20.3.8.9.README * Fix a regression in OTP-15204 that removed .beam file metadata - Changes for 20.3.8.8: - http://erlang.org/download/OTP-20.3.8.8.README * inets: Do not use chunked-encoding with 1xx, 204 and 304 responses when using mod_esi * inets: Add robust handling of chunked-encoded HTTP responses with an empty body (1xx, 204, 304) - Changes for 20.3.8.7: - http://erlang.org/download/OTP-20.3.8.7.README * crypto: Update the crypto engine functions to handle multiple loads of an engine * mnesia: Fixed a bug where the bag table index data was not deleted when objects were deleted.- Update to 20.3.8.6: * inets: Change status code for no mod found to handle request to 501- Update to 20.3.8.5. - Changes for 20.3.8.5: * erts: Fixed a bug causing some Erlang references to be inconsistently ordered. This could for example cause failure to look up certain elements with references as keys in search data structures. This bug was introduced in R13B02. Thanks to Simon Cornish for finding the bug and supplying a fix. * compiler: Fixed an issue where files compiled with the +deterministic option differed if they were compiled in a different directory but were otherwise identical. * crypto: Fixed a node crash in crypto:compute_key(ecdh, ...) when passing a wrongly typed Others argument. * erts: Fixed a bug which caused an emulator crash when enif_send() was called by a NIF that executed on a dirty scheduler. The bug was either triggered when the NIF called enif_send() without a message environment, or when the process executing the NIF was send traced. * erts: Fixed a bug causing some Erlang references to be inconsistently ordered. This could for example cause failure to look up certain elements with references as keys in search data structures. This bug was introduced in R13B02. Thanks to Simon Cornish for finding the bug and supplying a fix. * mnesia: When master node is set do not force a load from ram_copies replica when there are no available disc_copies, since that would load an empty table. Wait until a disk replica is available or until user explicitly force_loads the table. * mnesia: Allow to add replicas even if all other replicas are down when the other replicase are not stored on disk. * ssl: Correct handling of empty server SNI extension * ssl: Correct cipher suite handling for ECDHE_*, the incorrect handling could cause an incorrrect suite to be selected and most likly fail the handshake. - Changes for 20.3.8.4: * asn1: A bug in ASN.1 BER decoding has been fixed. When decoding a recursively enclosed term the length was not propagated to that term decoding, so if the length of the enclosed term was longer than the enclosing that error was not dectected. A hard coded C stack limitation for decoding recursive ASN.1 terms has been introduced. This is currently set to 8 kWords giving a nesting depth of about 1000 levels. Deeper terms can not be decoded, which should not be much of a real world limitation. - Changes for 20.3.8.3: * erts: Fixed a race condition in the inet driver that could cause receive to hang when the emulator was compiled with gcc8. * erts: Fix bug in generation of erl_crash.dump, which could cause VM to crash. Bug exist since erts-9.2 (OTP-20.2). * ic: Fixed potential buffer overflow bugs in oe_ei_encode_long/ulong/longlong/ulonglong functions on 64-bit architectures. These functions expect 32 bit integers as the IDL type "long" is defined as 32 bits. But there is nothing preventing user code from "breaking" the interface and pass larger values on 64-bit architectures where the C type "long" is 64 bits. * inets: Enhance error handling, that is mod_get will return 403 if a path is a directory and not a file. * kernel: Non semantic change in dist_util.erl to silence dialyzer warning. * ssl: Improve cipher suite handling correcting ECC and TLS-1.2 requierments. Backport of solution for ERL-641 * ssl: Option keyfile defaults to certfile and should be trumped with key. This failed for engine keys. - Changes for 20.3.8.2: * erl_interface: Make ei_connect and friends also accept state ok_simultaneous during handshake, which means the other node has initiated a connection setup that will be cancelled in favor of this connection. * erts: Fixed a rare bug that could cause processes to be scheduled after they had been freed. * ic: Fixed bug in ic causing potential buffer overrun in funtion oe_ei_encode_atom. Bug exists since ic-4.4.4 (OTP-20.3.4). * kernel: Fix some potential buggy behavior in how ticks are sent on inter node distribution connections. Tick is now sent to c-node even if there are unsent buffered data, as c-nodes need ticks in order to send reply ticks. The amount of sent data was also calculated wrongly when ticks were suppressed due to unsent buffered data. - Changes for 20.3.8.1: * inets: Options added for setting low-level properties on the underlying TCP connections. The options are: sock_ctrl, sock_data_act and sock_data_pass. See the manual for details. * ssh: SFTP clients reported the error reason "" if a non-OTP sftp server was killed during a long file transmission. Now the signal name (for example "KILL") will be the error reason if the server's reason is empty. The documentation also lacked type information about this class of errors. * ssh: Fix ssh_sftp decode error for sftp protocol version 4 * syntax_tools: Fix a bug regarding reverting map types. - Changes for 20.3.8: * erts: Fixed bug in ets that could cause VM crash if process A terminates after fixating a table and process B deletes the table at "the same time". The table fixation could be done with ets:safe_fixtable or if process A terminates in the middle of a long running select or match call. * snmp: The Snmp MIB compiler now allows using a TEXTUAL-CONVENTION type before defining it. - Changes for 20.3.7: * erl_docgen: Update makefile so db_funcs.xsl is a part of the installed application. * erts: Fixed bug in enif_binary_to_term which could cause memory corruption for immediate terms (atoms, small integers, pids, ports, empty lists). * erts: Fixed bug in erlang:system_profile/2 that could cause superfluous {profile,_,active,_,_} messages for terminating processes. * inets: The option max_headers operated on the individual header length instead of the total length of all headers. Also headers with empty keys are now discarded. - Changes for 20.3.6: * crypto: If OPENSSL_NO_EC was set, the compilation of the crypto nifs failed. * crypto: C-compile errors for LibreSSL 2.7.0 - 2.7.2 fixed * ssh: Host key hash erroneously calculated for clients following draft-00 of RFC 4419, for example PuTTY * ssh: Renegotiation could fail in some states - Changes for 20.3.5: * erts: Fixed a crash in heart:get_cmd/0 when the stored command was too long. * ssl: Proper handling of clients that choose to send an empty answer to a certificate request. - Changes for 20.3.4: * erl_interface: Fix bug in ei_connect functions that may cause failure due to insufficient buffer space for gethostbyname_r. * erl_interface, ic: Optimize encoding/decoding for pure 7-bit ascii atoms. * inets: Fix broken options handling in httpc (ERL-441). * ssh: An ssh_sftp server (running version 6) could fail if it is told to remove a file which in fact is a directory. * ssh: Fix rare spurios shutdowns of ssh servers when receiveing {'EXIT',_,normal} messages. - Changes for 20.3.3: * sasl: When upgrading with instruction 'restart_new_emulator', the generated temporary boot file used 'kernelProcess' statements from the old release instead of the new release. This is now corrected.- Update to 20.3.2 * ssl: Added new API functions to facilitate cipher suite handling * erts, observer: More crash dump info such as: process binary virtual heap stats, full info for process causing out-of-mem during GC, more port related info, and dirty scheduler info. * inets: Add support for unix domain sockets in the http client.- Update to 20.2.2. - Changes for 20.2.2: * mnesia: Removed a quadratic behavior in startup. This change implies that backend plugins (if used) must be set when the schema is created or via configuration parameters before mnesia is started. * mnesia: Bad timing could crash mnesia after a checkpoint was deactivated and reactivated with the same checkpoint name on different tables. - Changes for 20.2.1: * ssh: Fix problem with OpenSSH 7.2 (and later) clients that has used sha1 instead of sha2 for rsa-sha-256/512 user's public keys. - Highlighted changes for 20.2: * crypto, ssl: The crypto API is extended to use private/public keys stored in an Engine for sign/verify or encrypt/decrypt operations. The ssl application provides an API to use this new engine concept in TLS. * ssh: SSH can now fetch the host key from the private keys stored in an Engine. See the crypto application for details about Engines. * ssl: A new command line option -ssl_dist_optfile has been added to facilitate specifying the many options needed when using SSL as the distribution protocol. * stdlib: Improve performance of the new string functionality when handling ASCII characters.- Update to 20.1.5: * erts: Fixed a regression in zlib:gunzip/1 that prevented it from working when the decompressed size was a perfect multiple of 16384. This regression was introduced in 20.1.1 * erts: Fixed a memory corruption bug in enif_inspect_iovec; writable binaries stayed writable after entering the iovec. * erts: Fixed a crash in enif_inspect_iovec on encountering empty binaries. * erts: zlib:deflateParams/3 will no longer return buf_error when called after zlib:deflate/2 with zlib 1.2.11. * inets: Correct the handling of location headers so that the status code is not hard coded. This should have been fixed by commit 2cc5ba70cbbc6b3ace81a2a0324417c3b65265bb but unfortunately was broken during a code refactoring and unnoticed due to a faulty placed test case. - Update to 20.1.4: * inets: Fix broken handling of POST requests * inets: Make sure ints:stop/2 of the service httpd is synchronous * inets: Honor status code returned by ESI script and modernize "location" header handling. - Update to 20.1.3: * diameter: A fault introduced in diameter 2.1 could cause decode errors to be ignored in AVPs following the header of aGrouped AVP. * erts: Added zlib:set_controlling_process/2 to move a zstream() between processes. * erts: Fix so that schedulers are bound correctly when the first available cpu is not the first detected cpu. e.g. when using "taskset -c X..Y" when X is not equal to 0. * snmp: The recbuf configuration option was not propagated correctly to the socket for the SNMP Manager.- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Update to 21.1.2: * diameter: An inadvertently removed monitor in diameter 2.1 caused the ets table diameter_reg to leak entries, and caused service restart and more to fail. * erts: Fixed bug that could cause a VM crash when a corrupt message is received on distribution channel from other node. - Update to 20.1.1: * compiler: The compiler could issue an incorrect internal consistency failure diagnostic for some complicated bit syntax maches. * erts: The new zlib module returned a data_error when inflating concatenated streams, which was incompatible with the old module's behavior of returning the uncompressed data up to the end of the first stream. * erts: zlib:gunzip/1 will no longer stop at the end of the first stream when decompressing concatenated gzip files. * ssh: Fixed broken printout * ssh: Disable aes_gcm ciphers if peer is OpenSSH 6.2 which is known to have trouble with them in some cases. - Update to 20.1: * crypto, public_key: Extend crypto and public_key functions sign and verify with: support for RSASSA-PS padding for signatures and for saltlength setting X9.31 RSA padding. sha, sha224, sha256, sha384, and sha512 for dss signatures as mentioned in NIST SP 800-57 Part 1. ripemd160 to be used for rsa signatures. A new tuple in crypto:supports/0 reports supported MAC algorithms. * diameter: Add service option decode_format to allow incoming messages to be decoded into maps instead of records. Decode performance has been improved. Add service/transport option avp_dictionaries to give better support for dictionaries only defining AVPs. * erts: Upgraded the ERTS internal PCRE library from version 8.40 to version 8.41. * erts, kernel, tools: Profiling with lock counting can now be fully toggled at runtime in the lock counting emulator (-emu_type lcnt). Everything is enabled by default to match the old behavior, but specific categories can be toggled at will with minimal runtime overhead when disabled. Refer to the documentation on lcnt:rt_mask/1 for details. * lcnt:collect and lcnt:clear will no longer block all other threads in the runtime system. This makes it possible to run the lock counting under heavier load. * erts: The zlib module has been refactored and all its operations will now yield appropriately, allowing them to be used freely in concurrent applications. * erts, tools: Add erlang:iolist_to_iovec/1, which converts an iolist() to an erlang:iovec(), which is suitable for use with enif_inspect_iovec(). * erts: Add new nif API functions for managing an I/O Queue. The added functions are: enif_ioq_create(), enif_ioq_destroy(), enif_ioq_enq_binary(), enif_ioq_enqv(), enif_ioq_deq(), enif_ioq_peek(), enif_inspect_iovec(), enif_free_iovec() * observer/crashdump_viewer: Reading of crash dumps with many binaries is optimized. A progress bar is shown when the detail view for a process is opened. The cdv script now sets ERL_CRASH_DUMP_SECONDS=0 to avoid generating a new crash dump from the node running the Crashdump Viewer. * observer: Add system statistics and limits to frontpage in observer. * public_key, ssl**: Improved error propagation and reports * ssh: A new option modify_algorithms is implemented. It enables specifying changes on the default algorithms list. See the reference manual and the SSH User's Guide chapter "Configuring algorithms in SSH". * tools/xref: The predefined Xref analysis locals_not_used now understands the -on_load() attribute and does not report unused functions. * tools/fprof: When sampling multiple processes and analyzing with totals set to true, the output now sums together all caller and callee entries which concerns the same function. Previous behaviour was to report each contributing entry separately.- Only Java 1.6 is supported by Erlang since 18.0 release- Update to 20.0.5: * erts: Fixed bug in binary_to_term and binary_to_atom that could cause VM crash. Typically happens when the last character of an UTF8 string is in the range 128 to 255, but truncated to only one byte. Bug exists in binary_to_term since ERTS version 5.10.2 (OTP_R16B01) and binary_to_atom since ERTS version 9.0 (OTP-20.0). * inets: http_uri aligned to follow RFC 3986 and not convert "+" to space when decoding URIs. * inets: Added new option max_client_body_chunk to httpd server to allow chunked delivery of PUT and POST data to mod_esi callback. Note, new mod_esi callback implementation is required. Also correct value provided by server_name environment variable.- Update to 20.0.4: * dializer: Fix a bug where merging PLT:s could lose info. The bug was introduced in Erlang/OTP 20.0. * erts: A timer internal bit-field used for storing scheduler id was too small. As a result, VM internal timer data structures could become inconsistent when using 1024 schedulers on the system. Note that systems with less than 1024 schedulers are not effected by this bug. This bug was introduced in ERTS version 7.0 (OTP 18.0). * erts: Automatic cleanup of a BIF timer, when the owner process terminated, could race with the timeout of the timer. This could cause the VM internal data structures to become inconsistent which very likely caused a VM crash. This bug was introduced in ERTS version 9.0 (OTP 20.0). - Update to 20.0.3: * asn1: Default values now work in extension for PER, so if you give the atom asn1_DEFAULT instead of a value it will become the default value. * compiler: Fail labels on guard BIFs weren't taken into account during an optimization pass, and a bug in the validation pass sometimes prevented this from being noticed when a fault occurred. * erts: Binary append operations did not check for overflow, resulting in nonsensical results when huge binaries were appended. * ssh: All unknown options are sent to the transport handler regardless of type.- Update to 20.0.2: * asn: Fixed compilation error of generated code caused by a missing quotation of function names as part of an external call for encoding. * erts: Added missing release notes for OTP-14491 ("performance bug in pre-allocators") which was included in erts-9.0.1 (OTP-20.0.1). * erts: Fixed a bug that prevented TCP sockets from being closed properly on send timeouts. * erts: Fixed bug in operator bxor causing erroneuos result when one operand is a big *negative* integer with the lowest N*W bits as zero and the other operand not larger than N*W bits. N is an integer of 1 or larger and W is 32 or 64 depending on word size. * kernel: The documentation for the 'quiet' option in disk_log:open/1 had an incorrect default value.- erlang-gs application has been depricated- Update to 20.0.1: * erts: Fixed a bug in gen_tcp:send where it never returned when repeatedly called on a remotely closed TCP socket. * erts: Fixed segfault that could happen during cleanup of aborted erlang:port_command/3 calls. A port_command is aborted if the port is closed at the same time as the port_command was issued. This bug was introduced in erts-8.0. * erts: Fixed implementation of statistics(wall_clock) and statistics(runtime) so that values do not unnecessarily wrap due to the emulator. Note that the values returned by statistics(runtime) may still wrap due to limitations in the underlying functionality provided by the operating system. * erts: Fix performance bug in pre-allocators that could cause them to permanently fall back on normal more expensive memory allocation. Pre-allocators are used for quick allocation of short lived meta data used by messages and other scheduled tasks. Bug exists since OTP_R15B02. * runtime_tools: A faulty encoding comment was added when saving trace patterns to file. This is now corrected. * stdlib: A bug in proc_lib:format() introduced in Erlang/OTP 20.0 is corrected. * stdlib: Fix string:len/1 to be compatible with previous versions. * stdlib: In OTP-20.0, the behavior of c, make, and ct_make was changed so that in some cases the beam files by default would be written to the directory where the source files were found. This is now changed back to the old behavior so beam files are by default written to current directory. - Update to 20.0.0: * Potential Incompatibilities * ERTS: * The non SMP Erlang VM is deprecated and not built by default * Remove deprecated erlang:hash/2 * erlang:statistics/1 with scheduler_wall_time now also includes info about dirty CPU schedulers. * The new purge strategy introduced in OTP 19.1 is mandatory and slightly incompatible for processes holding funs * see erlang:check_process_code/3. * The NIF library reload is not supported anymore. * Atoms can now contain arbitrary unicode characters which means that the DFLAG_UTF8_ATOMS capability in the distribution protocol must be supported if an OTP 20 node should accept the connection with another node or library. Third party libraries which uses the distribution protocol need to be updated with this. * Asn1: Deprecated module and functions removed (asn1rt, asn1ct:encode/3 and decode/3) * Ssh: client only option in a call to start a daemon will now fail * Highlights * Erts: * Dirty schedulers enabled and supported on VM with SMP support. * support for “dirty” BIFs and “dirty” GC. * erlang:garbage_collect/2 for control of minor or major GC * Erlang literals are no longer copied when sending messages. * Improved performance for large ETS tables, >256 entries (except ordered_set) * erlang:system_info/1 atom_count and atom_limit * Reduced memory pressure by converting sub-binaries to heap-binaries during GC * enif_select, map an external event to message * Improvements of timers internally in the VM resulting in reduced memory consumption and more efficient administration for timers * Compiler: * Code generation for complicated guards is improved. * Warnings for repeated identical map keys. #{'a'=>1, 'b'=>2, 'a'=>3} will warn for the repeated key a. * By default there is now a warning when export_all is used. Can be disabled * Pattern matching for maps is optimized * New option deterministic to omit path to source + options info the BEAM file. * Atoms may now contain arbitrary unicode characters. * compile:file/2 has an option to include extra chunks in the BEAM file. * Misc other applications: * Significantly updated string module with unicode support and many new functions * crypto now supports OpenSSL 1.1 * Unnamed ets tables optimized * gen_fsm is deprecated and replaced by gen_statem * A new event manager to handle a subset of OS signals in Erlang * Optimized sets add_element, del_element and union * Added rand:jump/0-1 * When a gen_server crashes, the stacktrace for the client will be printed to facilitate debugging. * take/2 has been added to dict, orddict, and gb_trees. * take_any/2 has been added to gb_trees * erl_tar support for long path names and new file formats * asn1: the new maps option changes the representation of SEQUENCE to be maps instead of records * A TLS client will by default call public_key:pkix_verify_hostname/2 to verify the hostname * ssl: DTLS documented in the API, experimental * ssh: improving security, removing and adding algorithms * New math:fmod/2- Disable global PIE for erlang, code is currently not fully ready.- Update to 19.3.2: * erts: The +Bi command line argument of erl erroneously caused SIGTERM to be ignored by the VM as well as of all its child processes. This bug was introduced in erts version 8.3.- Update to 19.3.1: * crypto: Fix a bug with AES CFB 128 for 192 and 256 bit keys. Thanks to kellymclaughlin ! * erts: Trying to open a directory with file:read_file/1 on Unix leaked a file descriptor. This bug has now been fixed. * erts: Invoking init:stop/0 via the SIGTERM signal, in a non-SMP BEAM, could cause BEAM to terminate with fatal error. This has now been fixed and the BEAM will terminate normally when SIGTERM is received. * inets: Fixed a bug in ftp that made further operations after a recv_chunk operation impossible. * ssh: ssh:daemon_info/1 crashed if the listening IP was not 'any' * ssl: Correct active once emulation, for TLS. Now all data received by the connection process will be delivered through active once, even when the active once arrives after that the gen_tcp socket is closed by the peer.- Changes since 19.2: * crypto, ssh: The implementation of the key exchange algorithms diffie-hellman-group-exchange-sha* are optimized, up to a factor of 11 for the slowest ( = biggest and safest) group size. * dialyzer: The peak memory consumption is reduced. Analyzing modules with binary construction with huge strings is now much faster. * erts: A received SIGTERM signal to beam will generate a 'stop' message to the init process and terminate the Erlang VM nicely. This is equivalent to calling init:stop/0. * kernel: The functions in the file module that take a list of paths (e.g. file:path_consult/2) will now continue to search in the path if the path contains something that is not a directory. * kernel: Two OTP processes that are known to receive many messages are rex (used by rpc) and error_logger. Those processes will now store unprocessed messages outside the process heap, which will potentially decrease the cost of garbage collections. * public_key: New function pkix_verify_hostname/2,3 implements certificate hostname checking. See the manual and RFC 6125.- * public_key, ssh: The ssh host key fingerprint generation now also takes a list of algorithms and returns a list of corresponding fingerprints. See public_key:ssh_hostkey_fingerprint/2 and the option silently_accept_hosts in ssh:connect. * ssl: Move PEM cache to a dedicated process, to avoid making the SSL manager process a bottleneck. This improves scalability of TLS connections. * stdlib: filename:safe_relative_path/1 to sanitize a relative path has been added.- Add missed scripts requires for erlang-epmd package- Update to 19.2.2: * mnesia: Fixed crash in checkpoint handling when table was deleted during backup.- Update to 19.2: * stdlib: The new behaviour gen_statem has been improved with 3 new features: the possibility to use old style non-proxy timeouts for gen_statem:call/2,3, state entry code, and state timeouts. These are backwards compatible. Minor code and documentation improvements has been performed including a borderline semantics correction of timeout zero handling. * ssl: Experimental version of DTLS. It is runnable but not complete and cannot be considered reliable for production usage. To use DTLS add the option {protocol, dtls} to ssl:connect and ssl:listen. * ssh: Extended the option silently_accept_hosts for ssh:connect to make it possible for the client to check the SSH host key fingerprint string. Se the reference manual for SSH. * ~40 contributions since the previous service release OTP 19.1- Update to 19.1: * erts: Improved dirty scheduler support. A purge of a module will not have to wait for completion of all ongoing dirty NIF calls * erts: Improved accuracy of timeouts on MacOS X * kernel: Add net_kernel:setopts/2 and net_kernel:getopts/2 to control options for distribution sockets in runtime * asn1: Compiling multiple ASN.1 modules in the same directory with parallel make (make -j) should now be safe * httpd: support for PUT and DELETE in mod_esi * ~30 contributions since 19.0- Update to 19.0.4: * erts: Fixed a race that could cause a lost wakeup of a process that timed out in a receive ... after. This bug was introduced in ERTS version 7.0. * erts: Fixed segfault after writing an erl crash dump.- Update to 19.0: * compiler, stdlib: New preprocessor macros *?FUNCTION_NAME, ?FUNCTION_ARITY*. New preprocessor directives -error(Term) and - warning(Term) to cause a compilation error or warning, respectively. * gen_statem: a new state machine behavior * mnesia_ext: plugin of external storage solutions to mnesia * crypto: uses EVP interface in OpenSSL resulting in generally better performance and support for HW acceleration * ssh: performance improvements, uses the new gen_statem behavior * ssl: enhanced error log messages * dialyzer: the support for maps is very much extended both the type specification syntax and the type analysis. * erts: erlang:open_port(spawn, ...) 3-5 times faster * erts/kernel: Experimental support for Unix Domain Sockets * ose: Deprecated application has been removed * webtool: Deprecated application has been removed * test_server: Deprecated application has been removed, use common_test instead- Do not suppress errors from useradd/groupadd - Orthographic/typographical fixes- Update to 18.3.4: * inets: Handle multiple \t in mime types file * ssl: Correct ssl:prf/5 to use the negotiated cipher suite's prf function in ssl:prf/5 instead of the default prf. * ssl: Timeouts may have the value 0, guards have been corrected to allow this * ssl: Change of internal handling of hash sign pairs as the used one enforced to much restrictions making some valid combinations unavailable. * ssl: Create a little randomness in sending of session invalidation messages, to mitigate load when whole table is invalidated.- Return diameter application: as for 18.3.3 it is distributed under APL license- Update to 18.3.3: * common_test: The nodelay option used to be enabled (true) by default for sockets opened by the Common Test telnet client. * common_test: Fix bug in cth_surefire * common_test: The ct:get_timetrap_info/0 function has been updated to return more information about timetrap scaling. * common_test: A problem with stylesheet HTML tags getting incorrectly escaped by Common Test has been corrected. * common_test: The ct_run start flag -no_esc_chars and ct:run_test/1 start option {esc_chars,Bool} have been introduced. * inets: Put back unused module inets_regexp * ssl: Correct cipher suites conversion and gaurd expression.- Update to 18.3.2: * inets: Add environment information item peer_cert to mod_esi * ssl: Corrections to cipher suite handling using the 3 and 4 tuple format * ssl: Make values for the TLS-1.2 signature_algorithms extension configurable- Update to 18.3: * New statistics info about runnable and active processes & ports. Call erlang:statistics with: total_run_queue_lengths | run_queue_lengths | total_active_tasks | active_tasks. * Time warp improvements: dbg:p/2 and erlang:trace/3 with monotonic_timestamp |strict_monotonic_timestamp. * Introduced a validation callback for heart. * The module overload in sasl has been deprecated. * several bug fixes- Update to 18.2.3: * inets: mod_alias now traverses all aliases picking the longest match and not the first match.- Update to 18.2.2: * ssh: The authentication method 'keyboard-interactive' failed in the Erlang client when the server after successful authentication continued by asking for zero more passwords.- Update to 18.2.1: * Due to a bug in the handling of paths on windows none of the following would work with paths containing a space: ct_run dialyzer erlc escript typer This also contains a fix for HiPE enabled emulator for FreeBSD. - Update to 18.2: * ssl: Add configurable upper limit for session cache. erts: Add function enif_getenv to read OS environment variables in a portable way from NIFs. * kernel: Add {line_delim, byte()} option to inet:setopts/2 and decode_packet/3 * ssh: The 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384' and 'ecdsa-sha2-nistp521' signature algorithms for ssh are implemented. See RFC5656. * ssh: The ssh:daemon option dh_gex_groups is extended to read a user provided ssh moduli file with generator-modulus pairs. The file is in openssh format.- disable hipe on s390/s390x to fix build- Update to 18.1.3: * ssl: Add possibility to downgrade an SSL/TLS connection to a tcp connection, and give back the socket control to a user process. * ssh: The following new key exchange algorithms are implemented:'ecdh-sha2-nistp256', 'ecdh-sha2-nistp384', 'ecdh-sha2-nistp521','diffie-hellman-group14-sha1', 'diffie-hellman-group-exchange-sha1' and 'diffie-hellman-group-exchange-sha256'. This raises the security level considerably. * kernel,stdlib,sasl: A mechanism for limiting the amount of text that the built-in error logger events will produce has been introduced. It is useful for limiting both the size of log files and the CPU time used to produce them. This mechanism is experimental in the sense that it may be changed based on feedback. See config parameter error_logger_format_depth in the Kernel application. - Removed erts_fix_unlock_status_lock.patch: fixed in upstream- Rework wxWidgets BuildRequire: fix build for Leap 42.1- update to 18.0.3: * erts: Fixed a binary memory leak when printing to shell using the tty driver (i.e. not -oldshell). * erts: Fix a bug where the standard error port sometimes crashes with eagain as the reason.- add erts_fix_unlock_status_lock.patch to fix a rare deadlock in erts- fix RHEL/CentOS 7 build- update to 18.0.2: * Fix processes ending up in an inconsistent half exited state in the runtime system without SMP support * Remove unnecessary copying of data when retrieving corrected Erlang monotonic time. * POTENTIAL INCOMPATIBILITY: Change default OS monotonic clock source chosen at build time. This in order to improve performance. The behavior will now on most systems be that (both OS and Erlang) monotonic time stops when the system is suspended. (changeable via the - -enable-prefer-elapsed-monotonic-time-during-suspend configure parameter) * Fix erlang:system_info(end_time) returning a faulty value on 32-bit architectures. * Fix the trace_file_drv not handling EINTR correctly which caused it to fail when the runtime system received a signal.- update to 18.0.1: * Fix a rare hanging of the VM seen to happen just after emulator start. Bug exists since R14.- update to 18.0: * new license: APL 2.0 (Apache Public License) * erts: The time functionality has been extended. This includes a new API for time, as well as "time warp" modes which alters the behavior when system time changes. You are strongly encouraged to use the new API instead of the old API based on erlang:now/0. erlang:now/0 has been deprecated since it is a scalability bottleneck. See http://www.erlang.org/doc/apps/erts/time_correction.html * erts: Beside the API changes and time warp modes a lot of scalability and performance improvements regarding time management has been made. Examples are: + scheduler specific timer wheels, + scheduler specific BIF timer management, + parallel retrieval of monotonic time and system time on OS:es that support it. * erts: The previously introduced "eager check I/O" feature is now enabled by default. * erts/compiler: enhanced support for maps. Big maps new uses a HAMT (Hash Array Mapped Trie) representation internally which makes them more efficient. There is now also support for variables as map keys. * dialyzer: The -dialyzer() attribute can be used for suppressing warnings in a module by specifying functions or warning options. It can also be used for requesting warnings in a module. * ssl: Remove default support for SSL-3.0 and added padding check for TLS-1.0 due to the Poodle vulnerability. * ssl: Remove default support for RC4 cipher suites, as they are consider too weak. * stdlib: Allow maps for supervisor flags and child specs * stdlib: New functions in ets: + take/2: Works the same as ets:delete/2 but also returns the deleted object(s). + update_counter/4 with a default object as argument- update to 17.5.6: * Fix broken relay counters * Fix diameter_sctp listener race - fix build for SLE_12- Update to 17.5.4- fix systemd service files for epmd: * fix stop of epmd (epmd -kill is deprecated and ignored, so stop hangs)- Update to 17.5: * ERTS: Added command line argument option for setting the initial size of process dictionaries. * Diameter: configurable incoming_max len and string_decode for diameter messages * Bugfixes and minor small features in applications such as compiler, common_test, crypto, debugger, eldap, erts, hipe, inets, ssh, ssl, ... - remoce ct-fix_incl-dirs.patch (included upstream)- add ct-fix_incl-dirs.patch (upstream patch for common test)- Version 17.4: * eldap: Nearly all TCP options are possible to give in the eldap:open/2 call. * ssh: Added API functions ptty_alloc/3 and ptty_alloc/4, to allocate a pseudo tty. * ssl: Handle servers that may send an empty SNI extension to the client.- use wxWidgets 3.0- fix bashisms in pre scripth02-armsrv1 1705503932  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij23.3.4.19-150300.3.14.123.3.4.19-150300.3.14.1  wx-1.9.3.1ebingl.beamglu.beamwx.appwx.appupwx.beamwxAcceleratorEntry.beamwxAcceleratorTable.beamwxActivateEvent.beamwxArtProvider.beamwxAuiDockArt.beamwxAuiManager.beamwxAuiManagerEvent.beamwxAuiNotebook.beamwxAuiNotebookEvent.beamwxAuiPaneInfo.beamwxAuiSimpleTabArt.beamwxAuiTabArt.beamwxBitmap.beamwxBitmapButton.beamwxBitmapDataObject.beamwxBoxSizer.beamwxBrush.beamwxBufferedDC.beamwxBufferedPaintDC.beamwxButton.beamwxCalendarCtrl.beamwxCalendarDateAttr.beamwxCalendarEvent.beamwxCaret.beamwxCheckBox.beamwxCheckListBox.beamwxChildFocusEvent.beamwxChoice.beamwxChoicebook.beamwxClientDC.beamwxClipboard.beamwxClipboardTextEvent.beamwxCloseEvent.beamwxColourData.beamwxColourDialog.beamwxColourPickerCtrl.beamwxColourPickerEvent.beamwxComboBox.beamwxCommandEvent.beamwxContextMenuEvent.beamwxControl.beamwxControlWithItems.beamwxCursor.beamwxDC.beamwxDCOverlay.beamwxDataObject.beamwxDateEvent.beamwxDatePickerCtrl.beamwxDialog.beamwxDirDialog.beamwxDirPickerCtrl.beamwxDisplay.beamwxDisplayChangedEvent.beamwxDropFilesEvent.beamwxEraseEvent.beamwxEvent.beamwxEvtHandler.beamwxFileDataObject.beamwxFileDialog.beamwxFileDirPickerEvent.beamwxFilePickerCtrl.beamwxFindReplaceData.beamwxFindReplaceDialog.beamwxFlexGridSizer.beamwxFocusEvent.beamwxFont.beamwxFontData.beamwxFontDialog.beamwxFontPickerCtrl.beamwxFontPickerEvent.beamwxFrame.beamwxGBSizerItem.beamwxGCDC.beamwxGLCanvas.beamwxGauge.beamwxGenericDirCtrl.beamwxGraphicsBrush.beamwxGraphicsContext.beamwxGraphicsFont.beamwxGraphicsMatrix.beamwxGraphicsObject.beamwxGraphicsPath.beamwxGraphicsPen.beamwxGraphicsRenderer.beamwxGrid.beamwxGridBagSizer.beamwxGridCellAttr.beamwxGridCellBoolEditor.beamwxGridCellBoolRenderer.beamwxGridCellChoiceEditor.beamwxGridCellEditor.beamwxGridCellFloatEditor.beamwxGridCellFloatRenderer.beamwxGridCellNumberEditor.beamwxGridCellNumberRenderer.beamwxGridCellRenderer.beamwxGridCellStringRenderer.beamwxGridCellTextEditor.beamwxGridEvent.beamwxGridSizer.beamwxHelpEvent.beamwxHtmlEasyPrinting.beamwxHtmlLinkEvent.beamwxHtmlWindow.beamwxIcon.beamwxIconBundle.beamwxIconizeEvent.beamwxIdleEvent.beamwxImage.beamwxImageList.beamwxInitDialogEvent.beamwxJoystickEvent.beamwxKeyEvent.beamwxLayoutAlgorithm.beamwxListBox.beamwxListCtrl.beamwxListEvent.beamwxListItem.beamwxListItemAttr.beamwxListView.beamwxListbook.beamwxLocale.beamwxLogNull.beamwxMDIChildFrame.beamwxMDIClientWindow.beamwxMDIParentFrame.beamwxMask.beamwxMaximizeEvent.beamwxMemoryDC.beamwxMenu.beamwxMenuBar.beamwxMenuEvent.beamwxMenuItem.beamwxMessageDialog.beamwxMiniFrame.beamwxMirrorDC.beamwxMouseCaptureChangedEvent.beamwxMouseCaptureLostEvent.beamwxMouseEvent.beamwxMoveEvent.beamwxMultiChoiceDialog.beamwxNavigationKeyEvent.beamwxNotebook.beamwxNotebookEvent.beamwxNotifyEvent.beamwxOverlay.beamwxPageSetupDialog.beamwxPageSetupDialogData.beamwxPaintDC.beamwxPaintEvent.beamwxPalette.beamwxPaletteChangedEvent.beamwxPanel.beamwxPasswordEntryDialog.beamwxPen.beamwxPickerBase.beamwxPopupTransientWindow.beamwxPopupWindow.beamwxPostScriptDC.beamwxPreviewCanvas.beamwxPreviewControlBar.beamwxPreviewFrame.beamwxPrintData.beamwxPrintDialog.beamwxPrintDialogData.beamwxPrintPreview.beamwxPrinter.beamwxPrintout.beamwxProgressDialog.beamwxQueryNewPaletteEvent.beamwxRadioBox.beamwxRadioButton.beamwxRegion.beamwxSashEvent.beamwxSashLayoutWindow.beamwxSashWindow.beamwxScreenDC.beamwxScrollBar.beamwxScrollEvent.beamwxScrollWinEvent.beamwxScrolledWindow.beamwxSetCursorEvent.beamwxShowEvent.beamwxSingleChoiceDialog.beamwxSizeEvent.beamwxSizer.beamwxSizerFlags.beamwxSizerItem.beamwxSlider.beamwxSpinButton.beamwxSpinCtrl.beamwxSpinEvent.beamwxSplashScreen.beamwxSplitterEvent.beamwxSplitterWindow.beamwxStaticBitmap.beamwxStaticBox.beamwxStaticBoxSizer.beamwxStaticLine.beamwxStaticText.beamwxStatusBar.beamwxStdDialogButtonSizer.beamwxStyledTextCtrl.beamwxStyledTextEvent.beamwxSysColourChangedEvent.beamwxSystemOptions.beamwxSystemSettings.beamwxTaskBarIcon.beamwxTaskBarIconEvent.beamwxTextAttr.beamwxTextCtrl.beamwxTextDataObject.beamwxTextEntryDialog.beamwxToggleButton.beamwxToolBar.beamwxToolTip.beamwxToolbook.beamwxTopLevelWindow.beamwxTreeCtrl.beamwxTreeEvent.beamwxTreebook.beamwxUpdateUIEvent.beamwxWindow.beamwxWindowCreateEvent.beamwxWindowDC.beamwxWindowDestroyEvent.beamwxXmlResource.beamwx_misc.beamwx_object.beamwxe_master.beamwxe_server.beamwxe_util.beamexamplesdemodemo.beamdemo.erldemo_html_tagger.beamdemo_html_tagger.erlerlang.pngex_aui.beamex_aui.erlex_button.beamex_button.erlex_canvas.beamex_canvas.erlex_canvas_paint.beamex_canvas_paint.erlex_choices.beamex_choices.erlex_cursor.beamex_cursor.erlex_dialogs.beamex_dialogs.erlex_frame_utils.beamex_frame_utils.erlex_gauge.beamex_gauge.erlex_gl.beamex_gl.erlex_graphicsContext.beamex_graphicsContext.erlex_grid.beamex_grid.erlex_htmlWindow.beamex_htmlWindow.erlex_htmlWindow.htmlex_listCtrl.beamex_listCtrl.erlex_notebook.beamex_notebook.erlex_pickers.beamex_pickers.erlex_popupMenu.beamex_popupMenu.erlex_radioBox.beamex_radioBox.erlex_sashWindow.beamex_sashWindow.erlex_sizers.beamex_sizers.erlex_slider.beamex_slider.erlex_splitterWindow.beamex_splitterWindow.erlex_static.beamex_static.erlex_textCtrl.beamex_textCtrl.erlex_treeCtrl.beamex_treeCtrl.erlimage.jpgsimplecopy.xpmhello.beamhello.erlhello2.beamhello2.erlmenu.beammenu.erlminimal.beamminimal.erlsample.xpmsudokusudoku.beamsudoku.erlsudoku.hrlsudoku_board.beamsudoku_board.erlsudoku_game.beamsudoku_game.erlsudoku_gui.beamsudoku_gui.erlxrcrcappicon.icoappicon.xpmartprov.xpmartprov.xrcbasicdlg.xpmbasicdlg.xrccontrols.xpmcontrols.xrccustclas.xpmcustclas.xrcderivdlg.xpmderivdlg.xrcfileopen.giffilesave.gifframe.xrcfuzzy.gifmenu.xrcplatform.xpmplatform.xrcquotes.gifresource.xrcstop.xpmthrobber.giftoolbar.xrcuncenter.xpmuncenter.xrcupdate.gifvariable.xpmvariable.xrcxrc.beamxrc.erlincludegl.hrlglu.hrlwx.hrlpriverl_gl.soerlang-logo128.pngerlang-logo32.pngerlang-logo64.pngwxe_driver.so/usr/lib64/erlang/lib//usr/lib64/erlang/lib/wx-1.9.3.1//usr/lib64/erlang/lib/wx-1.9.3.1/ebin//usr/lib64/erlang/lib/wx-1.9.3.1/examples//usr/lib64/erlang/lib/wx-1.9.3.1/examples/demo//usr/lib64/erlang/lib/wx-1.9.3.1/examples/simple//usr/lib64/erlang/lib/wx-1.9.3.1/examples/sudoku//usr/lib64/erlang/lib/wx-1.9.3.1/examples/xrc//usr/lib64/erlang/lib/wx-1.9.3.1/examples/xrc/rc//usr/lib64/erlang/lib/wx-1.9.3.1/include//usr/lib64/erlang/lib/wx-1.9.3.1/priv/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:32135/SUSE_SLE-15-SP3_Update/b51e5fcf547c6ae49a334068a3463551-erlang.SUSE_SLE-15-SP3_Updatedrpmxz5aarch64-suse-linux         directoryASCII text, with very long linesASCII textPNG image data, 256 x 256, 8-bit/color RGBA, non-interlacedHTML document, ASCII textJPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 79x96, frames 3X pixmap image, ASCII textX pixmap image, ASCII text, with CRLF line terminatorsXML 1.0 document, ASCII text, with very long linesXML 1.0 document, ASCII textGIF image data, version 89a, 16 x 15GIF image data, version 89a, 32 x 32GIF image data, version 89a, 15 x 15ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d06ce91ee2b10b51c1f5fae925631899b3f7e15b, strippedPNG image data, 128 x 128, 8-bit/color RGBA, non-interlacedPNG image data, 32 x 32, 8-bit/color RGBA, non-interlacedPNG image data, 64 x 64, 8-bit/color RGBA, non-interlacedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b5c9524a6e9373fd99e5da6053f11cf0bf3d3e70, stripped RRRRRRRRRRRRR!RRR R RRR R RR RRRRRR RRRRRRRRRR$J0 fBەutf-83338f37f85c380a38a8dbf5d6fdfc5adea2950cc0e2271bae88c73d8c72577d9? 7zXZ !t/z G]"k%˖&v4JQ׏w>d/D8ZTmt~-Vp;+kzA(Ag&4-=9%/#- %%7t+~i.ZFϯ֐{P'cOIGZ 4'L81H哗viG\ϰo8IGA!6@߼EN4K&0/oDW8}8B|e\vJ"VKx[' -mέօ#7}-'{*67//0ǃx@p+9G6ӦCn|vO.YF{.3W\:l@H~m4i~OX'ƋmߜF%E/#i >mףȂ gl [Cuo B7x:{778Ffz$#図?8U݄X\/|yL%*' [Uyyl}]+I"3ڡHe{su~ v{I@vAѵ`HC#)HuwgpAgMCw^r+xP-$idkө)|=IW0盜zv}oBAhk;m.*QsOs,ʗAm=]E"tRiv E*&ow:ԖoKdxa33n;@;oЛvQN]OZ$MtCU^h;eִ ѡʚҕP|0s;bo+z'TQ"&qv{"^v :#vxYrGZ=*=7<ovW3] wS XhCHY.uDo#c~MoDrp].i-k"}73D~Yp(!c]쇓]dʶ{}NJ TY8>7',  ަ$/ʏBcΨc_wHP#|A?%RztS "Y\ O|N %ZWJTIi- {##0!fgKRb&cm9vaV!Eg) w@VZPp<2qa4YV~3z %P8!Q^&=$ĕ! ο|q"@uO($RzHod G'1??Z`7Cmc?%Gg(s\3 %(fD~Usk6}`̐PU`!9IkLsRs#T+ZS~^b}c,YFC~;(}H8*ҽ]] ښNyNrAշ5~`yeFsǁ(z#hfhl?]c WQv[ѫVC&.mQ%x,3=~܁ƒF%'^pn.}ldX'ϻfXn^STmv^!_1Œ PU?@k+ZcTsQՀãnI?2CFZgn{-m\Bi̓F$;ԶS ‡ i@0*U/MJG7i{ټb6!q~WY|=(FX:tCH?vBX:6$*zukNlR)Ndz$8* DP~GB.'6ɛ:kl> yA()hvhi=-$l I0 o(A>j3 |l jC h2S6㊤LH ULC|.P})+Y؋y)mq9"jkVXӿ}J&P8Y&@3MkU*-7?̷yJ';;/\#MdO|y|,:K=)80S\[9fu7Bs/ߥH& DZP>wvmM] =q᧽êލtΣ"ďs\C#=O(~Vk 8Q`ȗb"5Z,B}2[e#1 ﯅X,^nhm/8SƟ_1VaS5%e ߉?RY[VV`)"熲kEc[53' ttCyM^ݿK Z;El%1 (|!?UIupr;@&'DL'Vꪏ5 :.2\O$3t.<(!fG#a%#T|?:59YIBL5P T!'ta>~M#,6m K 0#zU6:}Xt5\PF7?J9ѐ˜$23T_9R2B FF#uURu{BԓM,|]a?1{S9Jvy3etNiZ5buğdZ! 6CQ}=a:h^R/Jޜ E~q]#I-JAliC*%.-S~Kf \H^G8z( YZ