From patchwork Mon Mar 5 22:16:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 10260135 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 3A70B60134 for ; Mon, 5 Mar 2018 22:25:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1AEB628943 for ; Mon, 5 Mar 2018 22:25:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0F8ED28CC8; Mon, 5 Mar 2018 22:25:38 +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 USFB19PA12.eemsg.mail.mil (uphb19pa09.eemsg.mail.mil [214.24.26.83]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BF6FE28943 for ; Mon, 5 Mar 2018 22:25:36 +0000 (UTC) Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.2]) by USFB19PA12.eemsg.mail.mil with ESMTP/TLS/AES256-SHA; 05 Mar 2018 22:25:32 +0000 X-IronPort-AV: E=Sophos;i="5.47,428,1515456000"; d="scan'208";a="9362261" IronPort-PHdr: =?us-ascii?q?9a23=3AaXZKjhJklT7qHaFWrNmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgTLPT9rarrMEGX3/hxlliBBdydt6ofzbWJ+Pm+ACQp2tWoiDg6aptCVhsI24?= =?us-ascii?q?09vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7?= =?us-ascii?q?Ovr6GpLIj8Swyuu+54Dfbx9HiTahb75+Nhe7oAfeusULgIZuN7s6xwfUrHdPZ+?= =?us-ascii?q?lY335jK0iJnxb76Mew/Zpj/DpVtvk86cNOUrj0crohQ7BAAzsoL2465MvwtRne?= =?us-ascii?q?VgSP/WcTUn8XkhVTHQfI6gzxU4rrvSv7sup93zSaPdHzQLspVzmu87tnRRn1gy?= =?us-ascii?q?gJLT459HzchNJ2gqxVvRmtowVzzo/RbIyTKfFwfL7SfckCSGRBQMhfWS9PDISh?= =?us-ascii?q?YYsXDecNIOhVoJfmp1YVsReyGROhCP/1xzNUmnP727Ax3eQ7EQHB2QwtB8oAsH?= =?us-ascii?q?XIo9XyMKcdS/u1x7TLwzXEaPNWwiz945XPfxAnoPGDQbVwcc7Lxkk0DQ/Fj1KQ?= =?us-ascii?q?qYv+PzOOzekNtmeW7uV6WeKokW4npBh8rz6yzckijYnJg5gaylHC9Shhz4Y1JM?= =?us-ascii?q?G4SE5mYdG/CpdfqyaaN45wT8g/QG9ooD43xqAJtJO0ZiQHyIkrywTBZ/GIbYSE?= =?us-ascii?q?+A/vWP6SLDp4nn5oebayiwyy/EWh0OHwSMm53EtMoyFYiNfDrGoN2AbW6sWfT/?= =?us-ascii?q?t9+Vqu1iiX2gDI7+FEPVg0la3GK5492rIwloQcsUDEHiLuhEX5lrWWdkQ5+uiz?= =?us-ascii?q?8ejnfrXnqYOcN49zkA3+NLghmtejDugiNwgOXmyb9fy91L3l40L5XK1HguA5n6?= =?us-ascii?q?TWqpzXJdkXqrSnDwJazIov8QuzAy+j0NsCnHkHKFxFeAiAj4jsI1zOO+73DfO+?= =?us-ascii?q?g1SqjTdqyOnKMabmApXQKHjMjKnufa1m5k5AyAs80dBf55VOBrEHO/L8QFX9tN?= =?us-ascii?q?PfDh8nKwC02froCM1h1oMCXmKCGq2ZMKTUsVCS+uIvI/ODZIkOtTb/LPgl4fvu?= =?us-ascii?q?gmUimV8BY6apx4AXZGq/HvR8LEWTeWDsjcsZEWcWogo+S/TniF+AUTFJe3myXL?= =?us-ascii?q?k85jY9CIKnE4fOXY6tgLic3Ca0BZJWe2ZGCkyREXvycIWEQfgMYjqIIsB9ijwE?= =?us-ascii?q?SaShS4g52BG2qgD10KRoLuzV+i0EspLuz9l16PPNmh4s7zB0CN6d026VRWFugm?= =?us-ascii?q?wIXyM23Lx4oUFl11iD1q54g/pFGtNN4/NJUxw3OoTCwOxgDND+QAXBfs2GSFy+?= =?us-ascii?q?WNWpHSkxTs4tw98Je0tyBsmigQrZ3yexH7AVkLmLC4Au/aLHw3j9PcB9xGja1K?= =?us-ascii?q?M5lVkpXtNPNXG6hq547wXTBojJk1mHmKaua6sc2TDC9HuZzWuOp0xYVxZwXrvD?= =?us-ascii?q?XXAafETWrND56VjFT76hE7gnNRFBycGaIKtQdtLplUlGROvkONnGY2OwmmCwBR?= =?us-ascii?q?CTy7OJaIrmYmQd3CPHBEgCiQ8T53WGNQkgBii/uW7eCiJhFU73aUP27eZ+sG+7?= =?us-ascii?q?TlMzzwyScUJhz6C6+gQUhfyHUP4TxqgLuD0gqzVvBFa928jZBMaeqAZ7e6Vce9?= =?us-ascii?q?w96k9d1W3Frwx9IoCgL6d6i18QcgR3u0bu2AttCohbn8glsm4lzA1oKa2CyFNB?= =?us-ascii?q?bTSY3ZLuNbLLNmn+5heva7TZ2lvGytaZ5r8P6Ogkq1XkpAypGFAi/G9h09ZJ0n?= =?us-ascii?q?uc/Y7HDA8KUZLwS0o37BZ7p6rAbik6/YPU2mVmMbOovT/ax9IpGOwlxw6jf9hF?= =?us-ascii?q?M6OEExLyHtYZB8e0K+wqnEWpYggDPOBI+64+J9mmeOee2K63IOZgmyqrgn5a74?= =?us-ascii?q?Bn00KD6TB8R/XS0JkZxvGUxAyHVy3zjF25qMD4hZhEZS0OHmq40SXrGJReZqls?= =?us-ascii?q?coYQFWevI8q3y85lh5HxWn5X6lijB08H2MCzYxaSaULy3RFI30QNvXOngTe4zy?= =?us-ascii?q?BzkzwxtKqQwTHBzv/tdBoCNW9HXm9igknwIYKsldAVQFCobxQ1lBui/Uv63KZb?= =?us-ascii?q?pL54L2nIXUdFZDP2L2dlUqq+s7qNechP5IkusSpJTOS2eUqaRaLloxsGzyPjGH?= =?us-ascii?q?NTxT4heDGuppX2gQZ6iHmGIXZtsnXZY9p/xQra5NDGQv5RxDUGTjFiiTbLHli8?= =?us-ascii?q?I8Wp/dKMmpfds+CxS36hVppJcSXx0YyAtCy75WtlARCkm/Czm9vnHhIg0S/8zd?= =?us-ascii?q?VqUj/IrBnkaInxy6u6Kf5nflVvBFLk78p6G5p+kpcpiJELx3cagpSV/XwakWb8?= =?us-ascii?q?Kthbwrr+bHsLRT4K39HV+xLp2Et9IXKV34j5TGmSwtN9Z9mmZWMbwjg978dOCK?= =?us-ascii?q?eQ8rNEhzd6ol22rA/Kevh9gysSyeA05H4dmeEJtxInzj+BDbAKAUlYISvsmgyL?= =?us-ascii?q?79+gqqVXf32icbuu20p4htChCq+Noh1GVHb+YJciEjd67t9jP1LUzH3z9obkdc?= =?us-ascii?q?HIbd0Jqx2UlwnPj/BPJ5I3ivoFmzBnNHngvX0+1eE7lwdu0YuhvIiANmVt5r62?= =?us-ascii?q?DQBWNj3yfcMT9S/igbxYnsmIw4ClBo9hFSkTXJv0UfKoFyofterhNwmTCzA8tH?= =?us-ascii?q?GbFqffHQOF7kdpsW7PGYixN36LPHkZ0cliRB6FKUxHmg8UQTE6k4UlGQCr2Mzg?= =?us-ascii?q?cF515j4L6V7+sBdMzfhoNxbnWGfFuAiocis0SISYLBdO7QFD50PVPtKF4+J2GC?= =?us-ascii?q?FY8JOhoxKRKmyHZwRICmQJVVKeC1DlILau+cHK8/KECeqmM/vOfbKOpPRQV/iS?= =?us-ascii?q?w5Kvzoxm/zOXO8WBIHZtEvo72lBZUnBhAcTZnDcPRDILmCLRdcKbow28+iJvpM?= =?us-ascii?q?Cl7PvrQB7v5ZeIC7ZKLNpg5xW2gaCFN+6MmSp0MihY2Y0WxX/Jybkf21gShzto?= =?us-ascii?q?dzazDbQKrTTNQ77Imq9LEx4bbDt+NMVS760iwwZNItTUitXp1r5/lf44EE1KWk?= =?us-ascii?q?Dkms2zYswKOW69PkvdBEmXLLSGOSHLw8bvbKO6U71flv1UtwWrtDaVEk/jJC+D?= =?us-ascii?q?lyXnVxCuN+FDliebMwBfuI6ndhZhE2/jTMjpahejKt94kSU2waEohnPNLWMTKi?= =?us-ascii?q?Nzf0RJrr2R9iNYnu5/F3Za7nV7MeaIgT2Z4PfcKpYXt/trHyt1mvlG73U60btV?= =?us-ascii?q?8TpESOZ7mSTIst5uuFamku+VxjpgShpOpS5BhJiXskV6JaXZ6p5AVG7C/BIM6W?= =?us-ascii?q?WQDwoFp8B+B9L1pa9Q0N/PmLj0KDdY/NLe5dEcCNTMKMKbLHohNgLkFyXVDAsK?= =?us-ascii?q?Sj6rM3rSiFFDn/6J932atJ46poLrmJoURb9RTEY1Ge8CCkR5ANwCJ496USkrkb?= =?us-ascii?q?GBks4H+2GzrB7JRMpEuJDHU+idAfTrKDmCirlFaAEEwbTiLYQcLof7wVBtakFm?= =?us-ascii?q?nITWHErdRcxNoipkbgMuukVN93l/QXM1203+cAOt52EcFf2vkxEqjQt+ZPgi+y?= =?us-ascii?q?3341crPFbKojU/kFUpk9X/nT+RaCLxLLu3XYxOCSr0t0gwMov8QwZxbA2ygVJr?= =?us-ascii?q?OSzBR7JQk7tgb35khBXbuZtVFv5WVbdEbwMIxfGLe/Uo1kxRqiO5ykBd4evIEp?= =?us-ascii?q?hilAwxcZ6wtX1A3RljbN00JaDKIqpG0ERQjLqUviC0zuAx3BMeJ0EV/WOIZiEI?= =?us-ascii?q?o1IHOaM8JyW0/uxh8heNmzpZeGcRUPoqrOpq9lkjNOWA1S7g1aBMKlypPeyFM6?= =?us-ascii?q?yZo3TAldKPQl4oy0wHjVdF/blr3sc4aEebTVovzKGWFxUHLsrNNx1ab9dI9HjS?= =?us-ascii?q?YSaPsf/BwZRrMIWhDuroV/OBtL4IgkK4GwYkB4AM7sMbHpay1kHZLMDnIaUKyR?= =?us-ascii?q?Ur+QTnPlKFDO5GeBiTijcIv9m/zINr3YlaPjwdGntyMSG25rbRuw8rj+GOU8sx?= =?us-ascii?q?YncfQoQLLGk2WNGgly5foXtAECG90vgFxwia8z/8uiPQASHgb9piYfeUYg9sCN?= =?us-ascii?q?G2+Dgk7qe2iF7W/Y/FKG3gM9RtpMPP4/sAp5mbE/NUUaV9s0DEloZCQ3yqUnLA?= =?us-ascii?q?HsCtKJj1a4gsa9v0CnCgXVGkkD01Tt3+PNC0IqiGnAHkX4BUv5eH3Do7L8+yCi?= =?us-ascii?q?keGwtsp+EE/K9zfhMMY5wgbBHyqgs+KbKwIB2D0tq0WWasKSFaT/5FzeW1f7ZX?= =?us-ascii?q?1TYjbvemyHs8SZE31/O38UgMRJ4WjhHewvKjZ5JGXybqB3JTYRnCqy0immd9Me?= =?us-ascii?q?Yyx/swzwnTsVkAKTyLcvJmaHBctdEmGVySOWl2CnY/R1KEkYXD4BSj0KwJ8iRB?= =?us-ascii?q?mNZU1elFsHngsZ/FfDKjRrCkqZXPvyond9gmrLV7MZb/LcueqJPegjvfQYHKsg?= =?us-ascii?q?KfSi66EOFVl8NMICJCWvZIh38qOcgHuYpH5koxUsY+J7NPCKkwqLClcyBkDSsI?= =?us-ascii?q?wS8fSYyAwCQIgv2g1LvCiheQbJMiPQQKsZlYntQdUy92YiYfpKC5VIXbjG6ERX?= =?us-ascii?q?YVLwgN9whM4xgAloBodOD//IXIVINMyyJRo/9sVyvEDINo91jlRWGKgFj4Tvqh?= =?us-ascii?q?nven3A1IyvLjzt0bWBliCUdA3OZajE0oJ69rK6MIpI7FrieIdV/mvGLq0OamPF?= =?us-ascii?q?5RycnOeF3iAovFsm78UiMH9H0RQo9Pz2rfGooOnApjb6Yrv05MIIGgekbx/TAk?= =?us-ascii?q?wJ5pH7agX8Cx21kltWoGRzutE9dZEe5mqk/XWDt/b5Cos5jlOpRSQm5M+JKGsV?= =?us-ascii?q?tZlltiMzKhw5pGN85N+iIMXCRIoTiFoNuyT8hD1NRqD5MQJ9dwoG3xGKVaN5iN?= =?us-ascii?q?u3c2oKDgymfF+zAgt1e33DWzFLWiT+1D+20RBx4kKHmApUk3F+sj7GPS/U7Xsl?= =?us-ascii?q?xu+OdbHLePh11roDlhBpBOGipJ1Xe9IlRxS3lJrf5XJ7nLfMxHXfYyfwOvNAIj?= =?us-ascii?q?GvI82UyG4110l2/jYyNurgta5zzdXw4sWCkJn7jihDwepdujOTIBV51IajAhYD?= =?us-ascii?q?vfJAKAhSBbphBfZF92W5oBGNZK56kb3ZdI/srFUUujMi8FUwB+Og86zPZSm1VO?= =?us-ascii?q?v1mfeSDYEQWnb+3PsgFtcceXssGpMOzz/B1bhYP/rOA466IDSmW8mQKzXN/er5?= =?us-ascii?q?XztsGRu0uKc6f4LfOzbWHdQzjLkB+/m60oD5/U8CjPKABbMYV1yWI4YZj9Dm7G?= =?us-ascii?q?JQxGJ7kHJ0VBSK96dc5LovtdZ895YqYG5bFiBhSbRhP1AoOvqONKLlHJRTTRNy?= =?us-ascii?q?+B6PCwoZrP7bzBTujtftCMx2zZTK1pI5h38iT7G7P20Y9E4EX2xPZt9kR+SVfY?= =?us-ascii?q?LyCNttPhJhkE5MO6bEvtooUpHS/KAJd3iHftw1tPd84TQyK07JQY1IlW52zrRO?= =?us-ascii?q?J+zEfzrPZS+KV+5okv/b9l08G0KrnOKf5Cq09oHgCUBhl29pUqGGV/RXpeYvUW?= =?us-ascii?q?KPfKeaQWl97upvvyF6wK7B2V5+1ZZsfGJ07bnMm/ESuQSRtenAcOsTQaNBeT1+?= =?us-ascii?q?aZm69oTsaover51Vgr41iwNB4Gy61i6pmf96qUvuDXaQDRzb8eVqjsWMzzsqwm?= =?us-ascii?q?u1mO6v08iL4OZmt1bhWoEOgAV84dwmPgwr4vzS83DszMAanv+P9ZWHI/hD7gnI?= =?us-ascii?q?p9H1oOEPMOAbWL5Zhenns/m+HBNN0Wc6VCl32KFRG6Er4N12Sr6yqRIGlqmB3O?= =?us-ascii?q?1Q//QX+r5l/ssSB4WTfMz8vkkkdNULm3AVxfXyuvOU99qj+PPQzotNTtuasv90?= =?us-ascii?q?E2LnbktM+Rm2u9JbNXBdPwKMabISkuq1IdlIcxScC32YAHBdq9J88c8HR5bvvY?= =?us-ascii?q?92OrnDFOrrxCh4rf+M6V/OvYHWWujq2dsbWNxytYxmI+vV4h9tCqLuvO6MGSQ/?= =?us-ascii?q?S0y2YRSD9yuw/aXx6wqrHWtF4UNlKW30fMgowFJMlZ3WM/1kHk+ucsXM4z+B9Z?= =?us-ascii?q?FobaaPMIvSrzNyfswVaDf9I3UTGT0zpWH13vC1Z3BLMx2Hnus8LVi3jf50ckRo?= =?us-ascii?q?5qd0zonRZ3FZk3KVox6FgLxSoOCRMCaRGADLCmH0vlL4oEVVQbaRudwbi6frw6?= =?us-ascii?q?0lF0wryy+uDcd/F8B7AKNvZHlAGChl9bGogZsacGWrJzZ0dd9LLLpgjlE4XnR+?= =?us-ascii?q?LplWYsOv21TMFa9toZt3g77gakWRWg7ZZD77AGiJGHbaNEeYLDvNxg4Edn6z8P?= =?us-ascii?q?cTZNgBtlgxO6T+8cvubj7cbfsJay7eauTqktTf0N9xcoH2R+k4fwgFc7rNHYze?= =?us-ascii?q?hcUJPaiZj/8A1WJ36KuZra3Ad8KeUUNoKrZ6xs93MZKCgCP3gOJ8aZa+Eg4y9x?= =?us-ascii?q?NzXe/1NCDd0KZdMEO8rNngdYilb3V7FX98rbHEKYCohoesAs8WX30jA0/oEmXu?= =?us-ascii?q?bm9jC2OYjV70tRMPNbkCVsiNXCqfATwfrTFCcX5n2ZZAJuwi+YypmNDPHw/f6X?= =?us-ascii?q?yNzPUlMLESE3X51aJDqY9gytXvC1m4nxUgOI9s/zh4ozdE2MSXyqh6QJq7tCH+?= =?us-ascii?q?FGhCX62DheC4/0iumas9qp8mRXsENIHJx07R3fF6VVJo97Ngjglsm3Wkh8ATPy?= =?us-ascii?q?eMPTdhouvuqa3PsD4+V6N0vjeIAaIxMEy7Th6XpWTwtjU6D2vleHXe0LYNtpVf?= =?us-ascii?q?LEompT6Y1+N68FJEKdq4DyrjdUtFA2BxckaL4urjNAcEnDhwlVW7vpt74BjQsc?= =?us-ascii?q?SsR1uUhWGWK/IGg+/SbIVbxJjKmND/wY6jeTQbIAU0VmNiNzWB20149oe7S3gf?= =?us-ascii?q?BLqGVGkT1hoPIyyTxpWAO8uTHwp6IKwT8g97W4tDIPuHNbSuWelzzFCU5EzPQM?= =?us-ascii?q?jKcTF2zu6Vqib3kfdIHy+qVoJdz89Yk95HQyeQkjfywDXem7FyHwjr+HAo+Rv9?= =?us-ascii?q?JYnhKNvtvBbaOrJygIKrs90Q7jR2R60gXGmRZo8WgLQjan7NI/JoWyI8Ulxi2u?= =?us-ascii?q?GWfFclYA+KVJv9XttVQTVus5dUthwHl/0siAXiACX9LAG2ApjgU/cmVEdJVD6Q?= =?us-ascii?q?MGF6k2nDmHo7NK/gYOYDfbCo6l4JXfnd/U2XkhStdn3mzWqbOBhpMryH1qhch5?= =?us-ascii?q?7y+PuHQXcuzXTdVsAnzt2YtFzuz+ffqtuPgdSIR60LShTOMCMs679Gq4wJVqQE?= =?us-ascii?q?6lyagAEFeiNe8Dx6vbUz27RmGCXuSLaWeMlS4jMkHu/RmoMkE3aMBSok86NuvN?= =?us-ascii?q?mIVRlxXlUbxuXSWQuV7bw3A/MeMAaQ05pp2rewoUQ+4Nf+KcP/QhwOUiCFsQaH?= =?us-ascii?q?/EBS92C+6wsV6wk4l3InFg4UThYeTx6QDrK9qSFQMCEY7dtJJx/ua6Rm2ZM396?= =?us-ascii?q?0BJyJFV09/vYF1kps+9TaYqendjRh9R91u4IbOltMSw7utENnoJj6I+U0NqFcB?= =?us-ascii?q?3LyZbyP97VqOCCA/LD10QqZn1aUr0BbAP3/Yo6Pdk5VKbIELtEuxQcGag6QJs8?= =?us-ascii?q?N2f+9KF0MBl/cgjPa7SomsPqvP6EZoNIp3/K6VI9NCXcuxgEyvyuVwx7bouqim?= =?us-ascii?q?70IJ8qQzJOsdxtBgFhHItVFMMKtxCnDIKMmKGnl9+x/Ft3u/QEsar1Fv/H1de0?= =?us-ascii?q?0p5vX5dE/0yLPTfQBK5tgkh/iOS9nOvAgdHNDpb5dNcFUvVranLUYb/BWIOkI3?= =?us-ascii?q?SBPdyvVVRB9uu60bl+VhyKLAH+WLGd/HmiNf5j5UwgjI1/e/HI5Dlx//fcwtSk?= =?us-ascii?q?NDITnTuqsXPcbMgX11fNH+GLGkxZ?= X-IPAS-Result: =?us-ascii?q?A2D+AgAJw51a/wHyM5BdHgEGDIMjKgNmcCiObI0Egn0blDS?= =?us-ascii?q?CDhEYC4gCITQYAQIBAQEBAQECAWongjgkgk8CeQMJAkgIAwFsBYM/gVcDAQELq?= =?us-ascii?q?xmEB2uDcYIrhS2CLoFXgWaCd4IRgVMCAodcBJpiCYIOhEaDEocLgkOMQ4l9h1i?= =?us-ascii?q?BLh44gVIzGjCDBQmEQHaMbwEBAQ?= Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 05 Mar 2018 22:25:31 +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 w25MP5w8027561; Mon, 5 Mar 2018 17:25:10 -0500 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 w25MOxoY052922 for ; Mon, 5 Mar 2018 17:24:59 -0500 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 w25MP2cB027557 for ; Mon, 5 Mar 2018 17:25:02 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A1DJAABFwp1alywYGNZdHgEMBoMjKmlwK?= =?us-ascii?q?I5sjQSCfRuUNIIfI4gCITQYAQIBAQEBAQECEwEBAQEBBhgGiEqDRIFXAwEBC5h?= =?us-ascii?q?ZkkCEB2uDcYIrhS2CLoFXgWaCd4IRgVMCAodcBJpiCYIOhEaDEocLgkOMQ4l9h?= =?us-ascii?q?1iBLh6CCjMaMIMFCYJagWZ2jG8BAQE?= X-IPAS-Result: =?us-ascii?q?A1DJAABFwp1alywYGNZdHgEMBoMjKmlwKI5sjQSCfRuUNII?= =?us-ascii?q?fI4gCITQYAQIBAQEBAQECEwEBAQEBBhgGiEqDRIFXAwEBC5hZkkCEB2uDcYIrh?= =?us-ascii?q?S2CLoFXgWaCd4IRgVMCAodcBJpiCYIOhEaDEocLgkOMQ4l9h1iBLh6CCjMaMIM?= =?us-ascii?q?FCYJagWZ2jG8BAQE?= X-IronPort-AV: E=Sophos;i="5.47,428,1515474000"; d="scan'208";a="216632" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.35]) by goalie.tycho.ncsc.mil with ESMTP; 05 Mar 2018 17:25:01 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3AcyDQ3BbW2KHc+QitrYaMRwf/LSx+4OfEezUN459i?= =?us-ascii?q?sYplN5qZr829bnLW6fgltlLVR4KTs6sC17KN9fi4EUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQpFiCazbL9oMBm6sRjau9ULj4dlNqs/0AbCrGFSe+?= =?us-ascii?q?RRy2NoJFaTkAj568yt4pNt8Dletuw4+cJYXqr0Y6o3TbpDDDQ7KG81/9HktQPC?= =?us-ascii?q?TQSU+HQRVHgdnwdSDAjE6BH6WYrxsjf/u+Fg1iSWIdH6QLYpUjmk8qxlSgLniD?= =?us-ascii?q?0fOjAk8G/ZlMJ+gqFcrh+6uxBz35TZbJ2POfZiYq/Qe84RS2pbXsZWUixMGpuy?= =?us-ascii?q?b4oTAOoGOeZXtZL9rEYNoxu5AgmsH/jvwSJPi3/w3K01z+MhEQXc0ww7Bd4OsX?= =?us-ascii?q?PUrNLuNKcJSu21yabFzDrZY/NRwzf955HFfxY8qv+CWrJwdNDeyUgpFw7dgVWQ?= =?us-ascii?q?qJDlPzOI1usWqWSU8+1gVeephmU6qA9xuiCiytkxhoTGnI4Z1F/J+T9nzIs6P9?= =?us-ascii?q?G1R0F2bcanHZZQrS2XNo97TtkiTmxpoio21L0LtYO9cSMX0poo3QTfZOaCc4WQ?= =?us-ascii?q?4hLsSuKRITBgiX1rZr+xnhC8/Ea+x+PmSsS4zFdHojBbndbSs3ANzBPT5tKCSv?= =?us-ascii?q?Rn/0eh3SyD1wXS6uFAOUw0lKzbJIA9wrMoiJYfrEvOEjXolEj5lqOaaEop9vKn?= =?us-ascii?q?5unoernmo4WTN45wigHwKKQuncm/DPwlPAYSQmaX5fyx2KP98EP+QrpHlv04n6?= =?us-ascii?q?fBvZDfKskaqbS1AwhP0oYs8xu/CTam38gfnXkDNl1FYwiLj4nuO1HJO/D4Fuyy?= =?us-ascii?q?jE+rkDd2wfDJIqPuAo7XInjGn7rgcqxx60lGyAo81dxf/Y5bCqkdIPLvXU/8rM?= =?us-ascii?q?fYAQE9Mwy1xebnFdp825gCWWOPHqCZMKTSvUWO5uI0OeaAfoAVuDHjK6tt2/m7?= =?us-ascii?q?lnI9mFkAbYG1zJAXbza+Bf0gLEKHMlT2hdJUN2YBuQ43V6TLj1qZSnYHYXe5WK?= =?us-ascii?q?Y1/Xc6D4W9Fq/GGpDrh6aOinToVqZKb3xLXwjfWUzjcJ+JDq8B?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DJAABFw51alywYGNZdHgEMBoMjKmlwK?= =?us-ascii?q?I5sjQSCfRuUNIIfI4gCITQYAQIBAQEBAQECARIBAQEBAQYYBlaCOCKFGoNEgVc?= =?us-ascii?q?DAQELmFmSQIQHa4NxgiuFLYIugVeBZoJ3ghGBUwICh1wEmmIJgg6ERoMShwuCQ?= =?us-ascii?q?4xDiX2HWIEuHoIKMxowgwUJglqBZnaMbwEBAQ?= X-IPAS-Result: =?us-ascii?q?A0DJAABFw51alywYGNZdHgEMBoMjKmlwKI5sjQSCfRuUNII?= =?us-ascii?q?fI4gCITQYAQIBAQEBAQECARIBAQEBAQYYBlaCOCKFGoNEgVcDAQELmFmSQIQHa?= =?us-ascii?q?4NxgiuFLYIugVeBZoJ3ghGBUwICh1wEmmIJgg6ERoMShwuCQ4xDiX2HWIEuHoI?= =?us-ascii?q?KMxowgwUJglqBZnaMbwEBAQ?= X-IronPort-AV: E=Sophos;i="5.47,428,1515456000"; d="scan'208";a="10165737" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from ucol3cpa06.eemsg.mail.mil ([214.24.24.44]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 05 Mar 2018 22:25:01 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;75c7b7d6-b96f-4852-9416-cfdf31716356 Authentication-Results: ucol19pa16.eemsg.mail.mil; dkim=none (message not signed) header.i=none X-EEMSG-check-008: 450154770|UCOL19PA16_EEMSG_MP14.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: A0DWAABFw51ahyIeaIFdH4M1gRNwKI5sjQSCfRuUNIIfExCIAiE0GAECAQEBAQEBAhMBAQEKCwkIKC6HdINEgVcEAQurGYQHa4NxgiuFLYIugVeBZoJ3ghGBUwICh1wEmmIJgg6ERoMShwuCQ4xDiX2HWIEuHoIKMxowgwUJhEB2jG8BAQE X-IPAS-Result: A0DWAABFw51ahyIeaIFdH4M1gRNwKI5sjQSCfRuUNIIfExCIAiE0GAECAQEBAQEBAhMBAQEKCwkIKC6HdINEgVcEAQurGYQHa4NxgiuFLYIugVeBZoJ3ghGBUwICh1wEmmIJgg6ERoMShwuCQ4xDiX2HWIEuHoIKMxowgwUJhEB2jG8BAQE Received: from mx1.polytechnique.org ([129.104.30.34]) by ucol19pa16.eemsg.mail.mil with ESMTP; 05 Mar 2018 22:23:57 +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 5E23F5646EB for ; Mon, 5 Mar 2018 23:22:51 +0100 (CET) X-EEMSG-check-009: 444-444 From: Nicolas Iooss To: selinux@tycho.nsa.gov Date: Mon, 5 Mar 2018 23:16:11 +0100 Message-Id: <20180305221611.19964-1-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.16.0 X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Mon Mar 5 23:22:51 2018 +0100 (CET)) X-Org-Mail: nicolas.iooss.2010@polytechnique.org Subject: [PATCH 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. Signed-off-by: Nicolas Iooss --- .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..ff55680e384a 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(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..bcee93b36977 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(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