From patchwork Sun Mar 11 22:15:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 10274957 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 263D7602BD for ; Sun, 11 Mar 2018 22:17:05 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F35B028BBB for ; Sun, 11 Mar 2018 22:17:04 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E7B1E28CBC; Sun, 11 Mar 2018 22:17:04 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from UCOL19PA11.eemsg.mail.mil (ucol19pa11.eemsg.mail.mil [214.24.24.84]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7AFE028BF1 for ; Sun, 11 Mar 2018 22:17:02 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.47,458,1515456000"; d="scan'208";a="464635815" Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.2]) by UCOL19PA11.eemsg.mail.mil with ESMTP/TLS/AES256-SHA; 11 Mar 2018 22:17:02 +0000 X-IronPort-AV: E=Sophos;i="5.47,458,1515456000"; d="scan'208";a="9583631" IronPort-PHdr: =?us-ascii?q?9a23=3A7SIjjR8DjKGZGP9uRHKM819IXTAuvvDOBiVQ1KB6?= =?us-ascii?q?1ekQIJqq85mqBkHD//Il1AaPAd2AraMdwLOL7OjJYi8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6?= =?us-ascii?q?JvjvGo7Vks+7y/2+94fcbglUijexe7d/IAi5oQnMtsQbg5ZpJ7osxBfOvnZGYf?= =?us-ascii?q?ldy3lyJVKUkRb858Ow84Bm/i9Npf8v9NNOXLvjcaggQrNWEDopM2Yu5M32rhbD?= =?us-ascii?q?VheA5mEdUmoNjBVFBRXO4QzgUZfwtiv6sfd92DWfMMbrQ704RSiu4qF2QxDmki?= =?us-ascii?q?cHMyMy/n/RhMJ+kalXpAutqh16z4PSfYqbNudxfrnFcN0aW2RPUMVfWStcDIOk?= =?us-ascii?q?bYYDEuQMMvhDr4Tmu1cCsQGzCRW2Ce/z1jNFgGL9060g0+QmFAHLxBQuH9MSv3?= =?us-ascii?q?TTqNX6LrwSWv22wqnPyjXDdOhW0ir65YjOcxAuvfaMXbZqfsrK00UvFgTFjlKL?= =?us-ascii?q?qYz+JD6V0+sAsmeB4+pnT+KvhHcqpgdsqTahwccsj5PGhoMTyl3c+iV5wZo1Jd?= =?us-ascii?q?2lSEFge9KrDJxQtyScOoBrQc0iW3lltDs1x7AJo5K2fDUGxI45yxPQdfCLaZWE?= =?us-ascii?q?7grgWeuROzt1hXZodKi/ihuz60Ss1O3xWtSy3V1XtCRKiMPMuWoI1xHL78iHTe?= =?us-ascii?q?Zy8Vm51DaU0gDT9vlEIUcplarHM5IhwqA/lp4UsUnbAi/5gl/2jK6LdkU/4OSo?= =?us-ascii?q?9+Tmbanmpp+bLYN0jB3xMr8ylcClBOQ4MwwOU3Ca+eS6yrLj4VX0TKhFg/A5iK?= =?us-ascii?q?XUsI3WKd4FqqO2HQNZyJsv5w66Dzi80dQYmXcHLEhCeBKCl4XpIE/BIPT5Dfe5?= =?us-ascii?q?nlStny5nyOvBPr38BJXCMmbMkKz6cLZh609T1AozzddF65JSEbEOOuj/WkD2tN?= =?us-ascii?q?zGFhM5KRC7w/77CNVh0YMTQWCPAqifMKzIrV+I5vggI++XaY8Xvzb9Lf0l6OT1?= =?us-ascii?q?jX8lh1AdZ7Kp0YEQaHCiEfRsO1+Zbmb0gtcdDWcKuRIzTO7oiFKYTTFTZG2yX6?= =?us-ascii?q?U65jE6FoKrFonDRoSwgL2Oxyi7A5tWZnxbClyWFnfobYqEUe8WaC2OOs9hjiAE?= =?us-ascii?q?Vb+5Ro85yx6hrxH1y7xmLurI/S0VrpPj28Zr6OLNjx0y8iZ0D8uF2WGXU250hn?= =?us-ascii?q?8IRyMx3K1nvEN9zVGD0a5ljPNGEdxT5uhEXR0kOp7GyOx2EdfyWhjOft2RUlap?= =?us-ascii?q?Xs2mAS0tTtI229IBflp9FM+4jh3YwyWqBLoVmKCRC5wv7qLQxX7xKNhhy3zezq?= =?us-ascii?q?kuk0EmQtdTNW2hnqN/9g7TB5LXnEWdiamqcLoT3DLX9GaD1meOu1lYXxB2UaXA?= =?us-ascii?q?R38fZ0/Wos/+5kLNVbOuDq4nMgRZw86YNqRKcsHpjUlBRPr7ONXfYmWxm2GrCB?= =?us-ascii?q?aNwrOAdYvqe2MH0CXbEkcEiQMT/XeYNQcgHCuhpXzRDCB2H1L1f0zs6fV+qG+8?= =?us-ascii?q?TkIs0Q6Kd1du16C0+h4OnvGcU+kc3qgFuCc6szV0GEyy0M7IBNaaoAphZqpca8?= =?us-ascii?q?sn4FhbzWLZqxB9Ppu4IqFsh14edwF3sF301xhsBIVPj9UlrHQwzAVoMaKYylRB?= =?us-ascii?q?dzGG0p/sJr3bMG7y/Aqga6TOwFHRzM6W+rsT6PQ/s1jjshupGVAk83p70tlVyG?= =?us-ascii?q?CR5pDSDAoTSJ7xSUg29wNgq7HdeCk96Jve1WdwPqmsrj/Cx9UpCfMmyhm6fNdf?= =?us-ascii?q?N76EGRTxE8IABMiuL/Eql0KubhIeM+BY7LQ0MN++d/uaxK6rO/5tkyi7gmRd4Y?= =?us-ascii?q?ByzFiM+jFmReHU2pYJ2faY3hGIVz3klleurtj3mZxYZTEVBmew1TLrBIpPaa1p?= =?us-ascii?q?YYYKCWCuLtasxtpihp7iRXhY9EKiB1wcwsOpfwSdb0Dl1w1KyUsXuWCnmTe/zz?= =?us-ascii?q?FsiTEms7eQ0TfBw+TnexsLIGhLS3d+jV30O4i7k8gaXFS0bwgujBal/kj6x7Jc?= =?us-ascii?q?pKRkM2neWlxIfy7xL2BsV6u/rLyCb9RJ6Jw2rSVdSP68bkyCSr7hvxsa1DvuHm?= =?us-ascii?q?VEyzA/azGlpI/5nwdhhWKDMnlztmHWedx1xRvF49zcX/FR1CIcRCZkkTnXGkS8?= =?us-ascii?q?P96x8NWKlpfMrvy+V2W7VpFJbSbrzYSAtC205WBxBR2/nvazlcf9EQg9yyP70M?= =?us-ascii?q?NqVSrQphbmfobrz7i6Mf5gfkRwAF/86tF6Gp1nnosrmp4Q3XkahpOI/XsIimrz?= =?us-ascii?q?Ks1b2aP4bHoMWTEL2MTZ4A77101/NniJ3Z72Vm2Bwst9YNm3enkW2iU578BOFq?= =?us-ascii?q?iU9qBLnSx7o1ejtgLRfORyniwHxfsp8n4ajPkDuBAxwSWFHrASAU5YMDTvlxuW?= =?us-ascii?q?6dC+t75aZGWxfri2z0p+m86uDK2YrgFbQnb5dY8oHTVs4cVnLFLMzHrz55n8eN?= =?us-ascii?q?bKcNITsgObkw/agOhTNJI+iOAKiDF6OWLmo3Il0fU7gQZ13ZG9oYiHMXli87y3?= =?us-ascii?q?Ah5fLD31aN0c9ivrjalAgsacx5qvEYl5GjUXQJvoSuqlECwUtfv6LAuODjs8pW?= =?us-ascii?q?qbGbbFGw+Q9ltmpWrVE5+3L3GXOGUZzdJ6SRmeJE1fhB4bUS4/np4+GACqytLu?= =?us-ascii?q?cFtl5jAR4V74rwVDxvhuNxbhTmfVvB2oZSssSJiDMBpW6RlP50nPPsyY8uJzGC?= =?us-ascii?q?RY84avrAOTN2ObYB5IAnsRWkyeAFDjPKeh6sXc8+SCAeq+NfTOa62UqeNCT/eI?= =?us-ascii?q?2Y6v0ox+8jmRKsqPO35iD/sn2kZeRn15BdrWmy8OSy0WkCLNadSXpBGi9S1rts?= =?us-ascii?q?q/6ujkWBrz5YuTDLtfKdtv+wqojqieLO6fniB5KSpf1pMX3nLH0qQQ3FsIhyFp?= =?us-ascii?q?bTmtHqwKtTTRQ6LIhq9XExkbZjt1NMtS9a08xhFNNNXVitP0zL54leI1C1lEVV?= =?us-ascii?q?zngM6pY9AFI2CnO1PDHkqLM66GJTLTycHtfay8UaFQjPlTtxCoojmUCEjvPjCC?= =?us-ascii?q?lznySxCvKvtAjDqFMxNCoo29aQhiCWziTNLgdx26P8R6giE2wL0um3PKLnQQMD?= =?us-ascii?q?ZmfENRtb2Q6iVYju94G2xb4XpvNfOElDqB7+nENpYWtuNmAiJ1l+Je5HQ11aBV?= =?us-ascii?q?4TpeS/NrgivSqcRio1a8kumA0jBnSgZBqi5XhIKXukVvIb7W9phPWXbD+hIA9n?= =?us-ascii?q?ifBAoRqNtkENLvvbpcyt/VlKL8MD1C6c7b/dMAB8jIL8KKKGAuMRXzFz7KEgQI?= =?us-ascii?q?VjmrNXnBiExblfGd7HyVrpwhpZjrl5sCULhbVEY6FvkCEERqAMQCIItrXjMjib?= =?us-ascii?q?ObkMkI5X+koBnLQ8Vbv47IVvSJDvX1LzaWk7pEagAUzrP/KIQcKpf021d+alVg?= =?us-ascii?q?moTFBVbQV8hXoiJ9dg80vFlN8H9mQ20x20Lkahut4HgXFf61gh45lBBzYeEs9D?= =?us-ascii?q?fw+Vc4OEDGpCwqkEk+gd/lmyyecCbtLKesWoFbEyz0uFYrPZP/WAt1bgqynVd4?= =?us-ascii?q?NDjeQbJRlLhgdWFxhA/ap5RPBeZWTbdYbx8I2fGXe/Io3ExGqiq53k9I+/HKCY?= =?us-ascii?q?F+mwsqapOjtHNA2xh+Y94yK6zQPLBJwUZQh66UuC+nyPwxyhcEJ0kR6GOSZDII?= =?us-ascii?q?uEsQO7Y7PSWo4O1s5hGZmzZYYmcMTeAqovVk90MmJeuP0z/g06RCKkCtN+2TNa?= =?us-ascii?q?WZtHbclcSQWFM/ylsIl1VZ/bhxycojd02UV1oxw7uXFhUJMtHPKQ5Tb8pP7nTT?= =?us-ascii?q?ejyOserVy5JvI4q9DvzoTfOJtKsMmUKrAgIpH4UK7sQcEZihy13XLcDiLLEZ0x?= =?us-ascii?q?ot/xjrKE+DDPtXZBKBiC0HrN2nzJ9rwYldISkQAXl8MSWy4bbXug8qgfqYUdgr?= =?us-ascii?q?Y3cbXpELOWksVM28hSFZo2xKDCOr3eIB1AiC8zj8qzzKAzn4btpseOmbagtpCN?= =?us-ascii?q?C2/zU/9K62hkTM/5rFJmH1L9JitsbB6eMHvZqHDe1bTaVluUfGh4ZYX2CqU3LI?= =?us-ascii?q?EdOtPJf/dY8sYMfuBXmnTFywlSg1T9zrM9a3LqmEmwboRZxbsIODxjAsKde9Fi?= =?us-ascii?q?0CGxd3v+wD/qR8ZQwfbJo7Zh7osx8+ObSmLgmFyNujX2GjJCBKQPlYyOW1e6ZY?= =?us-ascii?q?zzEwbuOgznsvUI06xfGt8UERXJEKkg3exfG7aoZCUyj8AGBSdh7Tqio+k2hhMu?= =?us-ascii?q?cyzfklwBPUr1YTLzCLePZuaGxesNE2HUmSLmluCmokW1+cipLO4hS20LAI+CtS?= =?us-ascii?q?hM1Z0fFfsHfkoJ/QfjasWK2tqZXatyogbNcmo61tMYztOMSGrpbekibZTJbOrg?= =?us-ascii?q?2PSDS6GOZCmthMPCJYR+FFmG8/NcMauYpB6E8xVsYkKLxME6Qsp66lZiR6AiII?= =?us-ascii?q?yi8ZTYyA1iQYguigw7vaiguQcJM6PRwBqppCmNgdXDBqYiMfoq+jWJ7blmGeRW?= =?us-ascii?q?gNPAgT6QNM5B8dmY9rZOzl5pTHTINUwT5Mv/10SjfLFoVv91bjUmGWhlz4R++7?= =?us-ascii?q?k+2n2gJSyPzs38IeWB54Dkhd3PhZmVcyKLFwMKkQpY/KsjmHdU/gu2Lt0uSmLk?= =?us-ascii?q?FLycLIb134EJbFtW3kXyIG430UWIlPxGvcFZkJkgp5aacrpElXL4y8fEbx+SAk?= =?us-ascii?q?zZxzH7akTcCr20olrXEeSie2FNpBDvprsE7LVD1geJ+nspPlNItOQmVI4p2St0?= =?us-ascii?q?9ZkFlxMy6+0ZdcK9tC4iQWUzhLvDqQp8a9R9Nb2c9uEZAMJslwu23nFKNDIpiR?= =?us-ascii?q?rGU8uqbzxX/B5zA8rFC6yS2xG6+/Ue1U5HARFRsyJ2uAsEkvE/Uj/XrI/lDLrF?= =?us-ascii?q?904/9RBqKTgkVpvDZ9ApdOCy5V1X+4MltzTWNJs+FBJavJdMxcRuU9agW0Oxwi?= =?us-ascii?q?D/Im2VKG/V1sl3fjfyNyrhda+zzaXwQsTiYVjKvilSEcp826NzIXUI5HbTIkby?= =?us-ascii?q?jZMQ2bgjxXsAxZa050R5ATGsxF9K0D3YtI4srCTl6hKTsbUxN/NgI3y+ZfmFVH?= =?us-ascii?q?sEWfZyDSExSkeurIshJqY8idtsipI+rl/A1fkIPorPg497kfR32hgQCtWcver5?= =?us-ascii?q?PmudKXqkuDb7z4M+qhYX/bUDfDkxawhas+D5bQ+yjfKg1bK4N1yXA8e5juFXbL?= =?us-ascii?q?PQhaJ6IcP0dbSbp6ZstYre9HfMJkZaIJ+bN3Bh2dWBPvGYuvrP1YIVbPXzjeKD?= =?us-ascii?q?+B8uOnq4LJ8bPdUfTgZtCLx3vfRqJ4JJN66T3lFLf2zY9R4FD51+xr9kxkVVjG?= =?us-ascii?q?KDyOo875JgwV/sWicFXtvoExFzPMHJhwiGbtxl1Hd8cPQS2l6o4YyJRC6Hb0U+?= =?us-ascii?q?14zFP+sOhP97lg9Yk34qxmycauKqfUMvRWq0hnAgKbBg9y7JUiHHB/R3xNYu8W?= =?us-ascii?q?MPrRf74Wjcbgq+DtEKwY9QOa9vdFadTdIUHBgc6/BiuaSRNagAcLsSQaIReE1/?= =?us-ascii?q?6Zh690Tt6opefk2kIs51i+KgAJzLV26IiZ5KWHv+7XYAHXzbQeXajqXMzzpKw2?= =?us-ascii?q?u0yO/f0kiKIOemttbg2lEegdU9UQxmL+wqEq0y0sCcLDH7Tv+PJZUXI2gC7gkY?= =?us-ascii?q?hnH1oKAvMUAaaL/YNGk2c+n+zULdwWcqZHmmqVFB6kFLECyWSx5CuMPGllmAzO?= =?us-ascii?q?3A3sQWOu9l/5szV0QSzWz9fsikBVTKW4BV9OXyq1Pk91qDaPPA3utNrrtqQ68l?= =?us-ascii?q?o7MmnltN2XkmuuJq9XHsP4JNyGIik0v0gbjJsvSdyzwYobA8ayIM8N8HFiafvT?= =?us-ascii?q?82erkzREo6pHnIfe7N+a9ejQHXm6laKas6+NxDdayncmoV4/9sqsNvbU592FW/?= =?us-ascii?q?6ozXoeTz9juwvdWB64sr3brlEONkORzEjGg5cKMc9F3XYmyk7q/u8jQMg89A9G?= =?us-ascii?q?DIbPe+sCpSzvODvz2VuQeNM3VjKQ0jRNHFL1EEV4GLAm12LtuMLEjmvf+1o1SY?= =?us-ascii?q?ZubUPnmAZ3D4IiKU038lQXxTADEQcVYxCBEL6oHVjlLZcDVUUbcRSIxqS6dbs3?= =?us-ascii?q?3Ux9xbOv/uzTYfVnB6UTMvZdjwiOnEVUG58Nqa0RWq58dENd9K/ZoQjiEYvnU+?= =?us-ascii?q?LllXUuL/21RN5V8cQDu3sl+Aa/SAKq6Y1f4LYDlJCIaqlEbIDDvM9m9Udo+yIP?= =?us-ascii?q?dixWjRh7jhO5Tf4TpOD57djGq5qk8OCuW7gxR+8P7Rg7G3x+j4fsgFAkudzX2P?= =?us-ascii?q?lTSovJiYT49wBBJGWKt5je0xl9L+oONo2qca1k93oZPSgfJ2gBMcCQa/Yi/y9n?= =?us-ascii?q?KC/T6EBaAsMQedMYO9LAmQZVikL1X7FT8tDUGkSCB4dycMAo6HH3yCsu/Js5Xe?= =?us-ascii?q?vh5yW6JZfF71FCJ/lDljljlMrepOgJxvrfECcX7mWCaxhu2y+M1paDBfDx/eWK?= =?us-ascii?q?1dHVWEgLHiEzU4hHIjqN5xarRu2vlJXmSgmU8NP8gIoidEKMQXy8hKYFsqFMEe?= =?us-ascii?q?5GkCn0wjheFoToh/2Istus6W1XtkZEEIZy9hDFBqRfPothNhT8i8arR1JwBi3h?= =?us-ascii?q?d8HIbhAuovaZxv8Q4+ViMEvzfY4bIgwexLL88ndVShZuR6P3vlaeRuIdftxmSO?= =?us-ascii?q?nLrnpN84JvN7cPPESBpJzttjpIqk45AAEnaL80tTFbeFPBnAtLVKboorIAjBUT?= =?us-ascii?q?UcJhs09WBW2wIH4+5ybAValNg6mRDPsV8zuNQawKV0VlKTh+QxSz2JVvZ7Slh/?= =?us-ascii?q?ZHvX1anilluvglzyRmRAeguS3rv68NxTMg+LSjuTUduHxKUuaenDnMCVlZyvQF?= =?us-ascii?q?k7scAW746VOgeHkDcJfy4L5/KMTl9Ikh4Hc/YRI4ci0ER+ugCCbwj6WWDYyJqt?= =?us-ascii?q?5cggCCuNnWZ7+pMScSLqg9yQ7kR3VlyQfRghBo8HcQTzW76N8kI5m9Odo7xiW2?= =?us-ascii?q?BGfXblEM4rlGsMHpr14EUPM2aU99wGVkysWHSDMCRMjOG2YtkAcpcmRFcJNG6R?= =?us-ascii?q?8fCaYomDKIsbdc8gETejfUHZyv+pPMksfQxXk9UdBqy3rYp62dnJMq0WFqlM1v?= =?us-ascii?q?4y6LuXQSa/bYXNF2Dnj0zIdfxvT0Z++xveAfVItm1LOhXecFMsmn52S7w41qWk?= =?us-ascii?q?u/ybQFA1q5MfMMxqvBUyi7V2KUQ+KLfHaQnzwhKE79+QGoLkEraMdNt0I9NurC?= =?us-ascii?q?hphBlwzuSL90QiSQpUTHzGw4Ku4adhg5uIGgewAQS+4RfeecL/A0wPIiEFsMc2?= =?us-ascii?q?PJHSxuBu+zq1GigIh7O3Rm4UX9eunt7AHmMN2MFRkAEI7aqINx+POgSmKGI39g?= =?us-ascii?q?wwV4PFNo+OfHC1Qxquhcfo6TndfKhNR71vUKeuxwMS07pt4TmoVj6ZSb0MeKbR?= =?us-ascii?q?Hd1JDyKs/JovKAGf3Q01wqen1GUroeeQ715YA6PtkjW73JHLtZpg8RBa4gT5wk?= =?us-ascii?q?KWjx9bt4LARpcg7efL60mNXlpvqXZptIoH/b9kkwLCnZuxIfy/G5Thd2b460iH?= =?us-ascii?q?XoIZAxRzVBr9t3BhtgAoRPB5BIkw3yGJOQmaemm/et6kh6vKkMqqO2BffUh/qj?= =?us-ascii?q?2IAkeZlR4kiCJ37wA65wmQwxiOW5hfPJyd/wDsT5YvsBCPg9RXTKPOyVVr6jIy?= =?us-ascii?q?6Db5qvM3VN9KSRhfcnXw=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2CMAgCZqqVa/wHyM5BdHgEGDIMjKgNmbyiOYox9gn8blDK?= =?us-ascii?q?CDhEYC4gVITQYAQIBAQEBAQECAWongjgkgk8CeQMJAkgIAwFsBYM8gVcDAQEKr?= =?us-ascii?q?FCEB2iDa4IahTWCLoFWgWaCeIIRgVMCAodZBJpWCYIGhD2DEIcCgj+MMIl5h0+?= =?us-ascii?q?BLB44gVIzGjCDBQmEP3aMEwEBAQ?= Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 11 Mar 2018 22:16:55 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus [192.168.25.40]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w2BMGSF6032674; Sun, 11 Mar 2018 18:16:35 -0400 Received: from tarius.tycho.ncsc.mil (tarius.infosec.tycho.ncsc.mil [144.51.242.1]) by prometheus.infosec.tycho.ncsc.mil (8.15.2/8.15.2) with ESMTP id w2BMGL8x028405 for ; Sun, 11 Mar 2018 18:16:21 -0400 Received: from goalie.tycho.ncsc.mil (goalie [144.51.242.250]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w2BMGOb0032672 for ; Sun, 11 Mar 2018 18:16:25 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A1DLAADaqaValywbGNZdH4M1KmlvKI5ij?= =?us-ascii?q?H2CfxuUMoIfI4gVITQYAQIBAQEBAQECEwEBAQEBBhgGiEqDQYFXAwEBCpoZkj2?= =?us-ascii?q?EB2iDa4IahTWCLoFWgWaCeIIRgVMCAodZBJpWCYIGhD2DEIcCgj+MMIl5h0+BL?= =?us-ascii?q?B6CCjMaMIMFCYJbgWR2jBMBAQE?= X-IPAS-Result: =?us-ascii?q?A1DLAADaqaValywbGNZdH4M1KmlvKI5ijH2CfxuUMoIfI4g?= =?us-ascii?q?VITQYAQIBAQEBAQECEwEBAQEBBhgGiEqDQYFXAwEBCpoZkj2EB2iDa4IahTWCL?= =?us-ascii?q?oFWgWaCeIIRgVMCAodZBJpWCYIGhD2DEIcCgj+MMIl5h0+BLB6CCjMaMIMFCYJ?= =?us-ascii?q?bgWR2jBMBAQE?= X-IronPort-AV: E=Sophos;i="5.47,458,1515474000"; d="scan'208";a="221944" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.35]) by goalie.tycho.ncsc.mil with ESMTP; 11 Mar 2018 18:16:22 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3A2aDQ6h/d5i57zf9uRHKM819IXTAuvvDOBiVQ1KB3?= =?us-ascii?q?0u0cTK2v8tzYMVDF4r011RmVBd6ds6oMotGVmpioYXYH75eFvSJKW713fDhBt/?= =?us-ascii?q?8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1?= =?us-ascii?q?Ifn+FpLPg8it2O2+55Pebx9UiDahfLh/MAi4oQLNu8cMnIBsMLwxyhzHontJf+?= =?us-ascii?q?RZ22ZlLk+Nkhj/+8m94odt/zxftPw9+cFAV776f7kjQrxDEDsmKWE169b1uhTF?= =?us-ascii?q?UACC+2ETUmQSkhpPHgjF8BT3VYr/vyfmquZw3jSRMMvrRr42RDui9b9mRgLohi?= =?us-ascii?q?kZOTA382bZh9dsgK5Huh+tuwZyz5LIbIyTKfFwfrndfdQfRWdZRshRVjBOAoS4?= =?us-ascii?q?b4QVFOoKIOVWr476p1sVthu1GA6hBOXuyjBUgX/22bc10/87HQHH2wwgGMkOsG?= =?us-ascii?q?/PodXwO6oTXvq5zK7SzTXMdv5b3yr25obPchAku/6MXLRwfNLeyUkuCwPFjkiQ?= =?us-ascii?q?ppf/MzyJ0eQNtm6W5PdjW+K3k2MrtRx9rze1yssyhYTFnJwZx1Le+Sh2z4s5Pd?= =?us-ascii?q?61RU5hbdOlFJZcrSGXOopsTs88Q2xkpSA3waAct5GhZigF0pEnygbfa/OZd4iI?= =?us-ascii?q?5QruW+iLLzl2mn9odqyyiQyu/ES8yuDwTNe730hPripendnArHUN2AbS6siDUP?= =?us-ascii?q?d9+0ah2TKX2wDS7OFLP1w0mLLFJ5I8zbM8jIQfvEvZEiPomkj6lqCbe0o89uit?= =?us-ascii?q?8evnY7HmppGGN49zjwHzKrkglNCiD+gkKgUCQ2eb+Oq827D7/EP0Xa1Hjvg5n6?= =?us-ascii?q?jWqpzaIt4bpqGhDg9T04Ys9xG/DzO839QDh3UHLVVFeBWcj4jyIFzBO/f4Deq5?= =?us-ascii?q?g1uwjjhr3OrKPrjuD5TCNHTDl63hfbll505G1AUz1cxf545TCrwZO/L8REvxtN?= =?us-ascii?q?3eDh8kPA252PrnCdVh2YMeXmKDGKmZMLjIvlOS6eIvJPeMN8cpv2PmJvwk4eP+?= =?us-ascii?q?pWMokl8aO6+y1N0Yb27rMO5hJhC/YHHrht4aWUYNuRElBLjsiVaFVTdIIXe1WL?= =?us-ascii?q?knzjRnGMShF4iVFdPlu6CIwCruRs4eXWtBEF3ZSXo=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DLAABxqaValywbGNZdH4M1KmlvKI5ij?= =?us-ascii?q?H2CfxuUMoIfI4gVITQYAQIBAQEBAQECARIBAQEBAQYYBlaCOCKFGoNBgVcDAQE?= =?us-ascii?q?KmhaSPYQHaINrghqFNYIugVaBZoJ4ghGBUwICh1kEmlYJggaEPYMQhwKCP4wwi?= =?us-ascii?q?XmHT4EsHoIKMxowgwUJgluBZHaMEwEBAQ?= X-IPAS-Result: =?us-ascii?q?A0DLAABxqaValywbGNZdH4M1KmlvKI5ijH2CfxuUMoIfI4g?= =?us-ascii?q?VITQYAQIBAQEBAQECARIBAQEBAQYYBlaCOCKFGoNBgVcDAQEKmhaSPYQHaINrg?= =?us-ascii?q?hqFNYIugVaBZoJ4ghGBUwICh1kEmlYJggaEPYMQhwKCP4wwiXmHT4EsHoIKMxo?= =?us-ascii?q?wgwUJgluBZHaMEwEBAQ?= X-IronPort-AV: E=Sophos;i="5.47,458,1515456000"; d="scan'208";a="10432588" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from updc3cpa05.eemsg.mail.mil ([214.24.27.44]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 11 Mar 2018 22:16:21 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;e434c1f7-a108-4e02-8a29-2cc1c449a303 Received: from localhost.localdomain (localhost [127.0.0.1]) by UPDCF3IC13.oob.disa.mil (Postfix) with SMTP id 3zzwSN2XfZz25vbg for ; Sun, 11 Mar 2018 22:16:20 +0000 (UTC) Received: from UPDC3CPA09_EEMSG_MP25.eemsg.mil (unknown [192.168.18.20]) by UPDCF3IC13.oob.disa.mil (Postfix) with ESMTP id 3zzwSN1f5zz25vbf for ; Sun, 11 Mar 2018 22:16:20 +0000 (UTC) Authentication-Results: UPDC3CPA09.eemsg.mail.mil; dkim=none (message not signed) header.i=none X-EEMSG-check-008: 15846866|UPDC3CPA09_EEMSG_MP25.csd.disa.mil X-EEMSG-check-001: false X-EEMSG-SBRS: 3.5 X-EEMSG-ORIG-IP: 129.104.30.34 X-EEMSG-check-002: true X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0C8AABGqKVahyIeaIFdHQIFDIMkgRNvKI1vc4x9gn8blDKCHxMQiBUhNBgBAgEBAQEBAQITAQEBCgsJCCguh3SDQYFXBAEKrFKEB2iDa4IahTWCLoFWgWaCeIIRgVMCAodZBJpWCYIGhD2DEIcCgj+MMIl5h0+BLB6CCjMaMIMFCYQ/dowTAQEB X-IPAS-Result: A0C8AABGqKVahyIeaIFdHQIFDIMkgRNvKI1vc4x9gn8blDKCHxMQiBUhNBgBAgEBAQEBAQITAQEBCgsJCCguh3SDQYFXBAEKrFKEB2iDa4IahTWCLoFWgWaCeIIRgVMCAodZBJpWCYIGhD2DEIcCgj+MMIl5h0+BLB6CCjMaMIMFCYQ/dowTAQEB Received: from mx1.polytechnique.org ([129.104.30.34]) by UPDC3CPA09.eemsg.mail.mil with ESMTP; 11 Mar 2018 22:16:19 +0000 Received: from localhost.localdomain (abo-251-56-69.avi.modulonet.fr [85.69.56.251]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id C04FA561226 for ; Sun, 11 Mar 2018 23:16:10 +0100 (CET) X-EEMSG-check-009: 444-444 From: Nicolas Iooss To: selinux@tycho.nsa.gov Date: Sun, 11 Mar 2018 23:15:27 +0100 Message-Id: <20180311221527.7626-1-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.16.0 X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Sun Mar 11 23:16:10 2018 +0100 (CET)) X-Org-Mail: nicolas.iooss.2010@polytechnique.org Subject: [PATCH v2 1/1] libselinux, libsemanage: Replace PYSITEDIR with PYTHONLIBDIR X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Security-Enhanced Linux \(SELinux\) mailing list" List-Post: List-Help: Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP libselinux and libsemanage Makefiles invoke site.getsitepackages() in order to get the path to the directory /usr/lib/pythonX.Y/site-packages that matches the Python interpreter chosen with $(PYTHON). This method is incompatible with Python virtual environments, as described in https://github.com/pypa/virtualenv/issues/355#issuecomment-10250452 . This issue has been opened for more than 5 years. On the contrary python/semanage/ and python/sepolgen/ Makefiles use distutils.sysconfig.get_python_lib() in order to get the site-packages path into a variable named PYTHONLIBDIR. This way of computing PYTHONLIBDIR is compatible with virtual environments and gives the same result as PYSITEDIR. As PYTHONLIBDIR works in more cases than PYSITEDIR, make libselinux and libsemanage Makefiles use it. And as native code is installed (as part of the SWIG wrapper), use "plat_specific=1" in order to use /usr/lib64 on systems which distinguish /usr/lib64 from /usr/lib. Signed-off-by: Nicolas Iooss Acked-by: Petr Lautrbach --- v2: add plat_specific=1 .travis.yml | 5 +---- libselinux/src/Makefile | 10 +++++----- libsemanage/src/Makefile | 8 ++++---- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0312e996e333..63c7a544aa45 100644 --- a/.travis.yml +++ b/.travis.yml @@ -96,9 +96,6 @@ before_script: - export PKG_CONFIG_PATH="/opt/python/$($PYTHON -c 'import sys;print("%d.%d.%d" % sys.version_info[:3])')/lib/pkgconfig" # PyPy does not provide a config file for pkg-config nor a pypy-c.so - if echo "$PYVER" | grep -q pypy ; then export PYINC=-I$($PYTHON -c 'import sys;print(sys.prefix)')/include PYLIBS= ; fi - # Python virtualenvs do not support "import site; print(site.getsitepackages()[0]" - # cf. https://github.com/pypa/virtualenv/issues/355#issuecomment-10250452 - - export PYSITEDIR="/usr/lib/$($PYTHON -c 'import sys;print("python%d.%d" % sys.version_info[:2])')/site-packages" # Find the Ruby executable with version $RUBYLIBVER - export RUBY="$(ls -d -1 "$HOME/.rvm/rubies/ruby-$RUBYLIBVER"*/bin/ruby | head -n 1)" @@ -126,7 +123,7 @@ script: # Set up environment variables for the tests - export LD_LIBRARY_PATH="$DESTDIR/usr/lib:$DESTDIR/lib" - export PATH="$DESTDIR/usr/sbin:$DESTDIR/usr/bin:$DESTDIR/sbin:$DESTDIR/bin:$PATH" - - export PYTHONPATH="$DESTDIR$PYSITEDIR" + - export PYTHONPATH="$DESTDIR$($PYTHON -c "from distutils.sysconfig import *;print(get_python_lib(prefix='/usr'))")" - export RUBYLIB="$DESTDIR/$($RUBY -e 'puts RbConfig::CONFIG["vendorlibdir"]'):$DESTDIR/$($RUBY -e 'puts RbConfig::CONFIG["vendorarchdir"]')" # Show variables (to help debugging issues) diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile index 18588da586bf..8af04aab0ec2 100644 --- a/libselinux/src/Makefile +++ b/libselinux/src/Makefile @@ -14,7 +14,7 @@ SHLIBDIR ?= /lib INCLUDEDIR ?= $(PREFIX)/include PYINC ?= $(shell $(PKG_CONFIG) --cflags $(PYPREFIX)) PYLIBS ?= $(shell $(PKG_CONFIG) --libs $(PYPREFIX)) -PYSITEDIR ?= $(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])') +PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(plat_specific=1, prefix='$(PREFIX)'))") PYCEXT ?= $(shell $(PYTHON) -c 'import imp;print([s for s,m,t in imp.get_suffixes() if t == imp.C_EXTENSION][0])') RUBYINC ?= $(shell $(RUBY) -e 'puts "-I" + RbConfig::CONFIG["rubyarchhdrdir"] + " -I" + RbConfig::CONFIG["rubyhdrdir"]') RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -L" + RbConfig::CONFIG["archlibdir"] + " " + RbConfig::CONFIG["LIBRUBYARG_SHARED"]') @@ -191,10 +191,10 @@ install: all ln -sf --relative $(DESTDIR)$(SHLIBDIR)/$(LIBSO) $(DESTDIR)$(LIBDIR)/$(TARGET) install-pywrap: pywrap - test -d $(DESTDIR)$(PYSITEDIR)/selinux || install -m 755 -d $(DESTDIR)$(PYSITEDIR)/selinux - install -m 755 $(SWIGSO) $(DESTDIR)$(PYSITEDIR)/_selinux$(PYCEXT) - install -m 755 $(AUDIT2WHYSO) $(DESTDIR)$(PYSITEDIR)/selinux/audit2why$(PYCEXT) - install -m 644 $(SWIGPYOUT) $(DESTDIR)$(PYSITEDIR)/selinux/__init__.py + test -d $(DESTDIR)$(PYTHONLIBDIR)/selinux || install -m 755 -d $(DESTDIR)$(PYTHONLIBDIR)/selinux + install -m 755 $(SWIGSO) $(DESTDIR)$(PYTHONLIBDIR)/_selinux$(PYCEXT) + install -m 755 $(AUDIT2WHYSO) $(DESTDIR)$(PYTHONLIBDIR)/selinux/audit2why$(PYCEXT) + install -m 644 $(SWIGPYOUT) $(DESTDIR)$(PYTHONLIBDIR)/selinux/__init__.py install-rubywrap: rubywrap test -d $(DESTDIR)$(RUBYINSTALL) || install -m 755 -d $(DESTDIR)$(RUBYINSTALL) diff --git a/libsemanage/src/Makefile b/libsemanage/src/Makefile index e98d8760acb7..dea751e5b436 100644 --- a/libsemanage/src/Makefile +++ b/libsemanage/src/Makefile @@ -13,7 +13,7 @@ LIBDIR ?= $(PREFIX)/lib INCLUDEDIR ?= $(PREFIX)/include PYINC ?= $(shell $(PKG_CONFIG) --cflags $(PYPREFIX)) PYLIBS ?= $(shell $(PKG_CONFIG) --libs $(PYPREFIX)) -PYSITEDIR ?= $(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])') +PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(plat_specific=1, prefix='$(PREFIX)'))") PYCEXT ?= $(shell $(PYTHON) -c 'import imp;print([s for s,m,t in imp.get_suffixes() if t == imp.C_EXTENSION][0])') RUBYINC ?= $(shell $(RUBY) -e 'puts "-I" + RbConfig::CONFIG["rubyarchhdrdir"] + " -I" + RbConfig::CONFIG["rubyhdrdir"]') RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -L" + RbConfig::CONFIG["archlibdir"] + " " + RbConfig::CONFIG["LIBRUBYARG_SHARED"]') @@ -142,9 +142,9 @@ install: all cd $(DESTDIR)$(LIBDIR) && ln -sf $(LIBSO) $(TARGET) install-pywrap: pywrap - test -d $(DESTDIR)$(PYSITEDIR) || install -m 755 -d $(DESTDIR)$(PYSITEDIR) - install -m 755 $(SWIGSO) $(DESTDIR)$(PYSITEDIR)/_semanage$(PYCEXT) - install -m 644 semanage.py $(DESTDIR)$(PYSITEDIR) + test -d $(DESTDIR)$(PYTHONLIBDIR) || install -m 755 -d $(DESTDIR)$(PYTHONLIBDIR) + install -m 755 $(SWIGSO) $(DESTDIR)$(PYTHONLIBDIR)/_semanage$(PYCEXT) + install -m 644 semanage.py $(DESTDIR)$(PYTHONLIBDIR) install-rubywrap: rubywrap