From patchwork Thu Mar 22 23:04:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre-Hugues Husson X-Patchwork-Id: 10302489 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 677A760349 for ; Thu, 22 Mar 2018 23:08:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 50260289A9 for ; Thu, 22 Mar 2018 23:08:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4418D28A56; Thu, 22 Mar 2018 23:08:02 +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.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID 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 7D9E2289A9 for ; Thu, 22 Mar 2018 23:08:00 +0000 (UTC) Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.2]) by USFB19PA12.eemsg.mail.mil with ESMTP; 22 Mar 2018 23:07:59 +0000 X-IronPort-AV: E=Sophos;i="5.48,347,1517875200"; d="scan'208";a="10005508" IronPort-PHdr: =?us-ascii?q?9a23=3ABSRrGBxAlJZDIHzXCy+O+j09IxM/srCxBDY+r6?= =?us-ascii?q?Qd1uwVI/ad9pjvdHbS+e9qxAeQG9mDsLQc06L/iOPJYSQ4+5GPsXQPItRndi?= =?us-ascii?q?QuroEopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBg?= =?us-ascii?q?vwNRZvJuTyB4Xek9m72/q99pHPbQhEniaxba9vJxiqsAvdsdUbj5F/Iagr0B?= =?us-ascii?q?vJpXVIe+VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PG?= =?us-ascii?q?Av5c3krgfMQA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb5Q6o0WT?= =?us-ascii?q?C/5Kl1ThHmhjoMOzog/G3KlsB8iaRWqw+jqRNi2Y7ZeIGbOuRwcK3eet0VR2?= =?us-ascii?q?RBUNtJVyFDH4+xYZUAD/EaMOpEs4XwvUcCoAGiCQWwAu7k1z9GhmXx3a0/y+?= =?us-ascii?q?kvCwDG0xI6H9IUrnvYtdf7NLodUeCo0qbI1ijIYfFL2Tfm84jIdRYhquyLUL?= =?us-ascii?q?JoccrRyVIiFxvFjlWQs4DlOi2a2/0LvmOG7ORgTfqih3Mopgx+uDSixtoghp?= =?us-ascii?q?PXio8a1FzI7zh1zJ4rKdKiVEJ3fNupH4dLuC2GK4d7R9ktT31rtSs/17ILuY?= =?us-ascii?q?K3cDQPxZkp2xLQcOGLfo2V7R/jTumcLjJ1i29/d76jhhu/9FWsx+/gWcap1l?= =?us-ascii?q?tBszBLncPWtn8X0hze8s2HSvxg8Ui/wTuPzAXT6v1cIUAziKrbN4Ytwr4umZ?= =?us-ascii?q?oXtkTOBjP2l1/sjK+Xa0Uk4fKk6/jnY7r6pp+cMJV4igfiPaQ1hsOzG+E4Mg?= =?us-ascii?q?kKX2SD+OS80qPs/VHhTblXgfA7nbPVvZDHKcgBuKK0DBFZ3pw+5xqnCjepyt?= =?us-ascii?q?UYnX0JLFJffxKHipDkO0rQL/D8DPe/hUmskThyy//dOb3hH5PNIWTdn7f6Zr?= =?us-ascii?q?t9905dxxYzzdBY/Z5UDKoBL+jpVk/+s9zYEAc1MxaozOb/FNV9yoQeVHqNAq?= =?us-ascii?q?+eNqPdq0OI5uI1LOmKf4IVujH9K/4g5/H0ln85hUESfbOy3ZcNb3C4BPtmKV?= =?us-ascii?q?2DYXXwmtcBDXsKvg0mQezoil2NSyJcZ3WpX6I74DE7CZymAJzNRoCpnbyA0z?= =?us-ascii?q?y0HoBQZmBaF1CAC3Dod5+LW/0UciKdPtdhkiAYVbimU4IhzQ+huxTkxLphL+?= =?us-ascii?q?rU5ioYuIni1Ndr+eLciws+9TtuD8SSy2uNVX17nnsURz8q26ByuVFyylCF0a?= =?us-ascii?q?h+nvNXC9hT5/JSXwggK5Hc1et6B8r1WgLbcdeDUEymTcm+ATEtUtIxxMcDbF?= =?us-ascii?q?thG9q4lBDOxDalA7gQl7OXHpM06b7c02L3J8lj13bMzLMhgEU+QstTKW2mgb?= =?us-ascii?q?Zy9wnVB47VjUqZk7ildaEC0y7R7meCzXGDvEZAUAFuV6XFWGoQZkrSrdvi4U?= =?us-ascii?q?PDQKWiCbM9MgtO0cSCMLdFasX1jVVaQ/fuINTfYmO2m2e2HhuIw7eMYJPre2?= =?us-ascii?q?UbxindDlILkxoQ/XaHKwgxGD2to2TAAzxyDVjveV/j8fFiqHOnSU851x+Fb1?= =?us-ascii?q?V72Lqv+x4VnueRS+sJ0bIeuSchsC10HFKn0N3KFdWMvQ1hfL9TYdkl+ldIyX?= =?us-ascii?q?rZtxBhPpynN61jiF8ecwByv0zwzRV6EYtAntY3o3Mt1gp9M7qY0ElGdzOaw5?= =?us-ascii?q?//JqHXJnP1/BC1ZK7cwkve38qO+qcT9PQ4rE3uvA+zFkU49XVoz9hV02CH65?= =?us-ascii?q?XPFAoSUIv9Ul059hhhvb3aZTM954zM3312Laa0qiPC284uBOY9yRavZdRfMK?= =?us-ascii?q?SZFALpEM0VHcuuKOs3m1SzaRIEJu9S/rYuP8y6b/uGxLKrPOF4kT28kGtH+o?= =?us-ascii?q?F93VyW9ydnUOHHw5MFz+uf3gudWDf2lE2hvdzvmYBYeTESGXKyxjT+C45VeK?= =?us-ascii?q?JyZpoLCGepI8Cs3dVxm5/tVGBe9F6/BlMJwtWleRyMYFzhxQdQz1gYoWS7mS?= =?us-ascii?q?ukyDx5iyspobeC0yHVzOTicRUGNnRNRGZ8kVfmOZK0gMwCXEi0cwgpkwOo5V?= =?us-ascii?q?30x6hBo6R/NHXTTFxTfyjwKGFjXK6wuaCEY8JV7pMnrzlXWvymYV+GUr79vw?= =?us-ascii?q?ca0yT7EmpQ3j87cy2qtYvjnxxhk2+dMmh8rGDCdsFtwBfT/tvcReRe3jAeXi?= =?us-ascii?q?l3lSHXBkSgP9mu5diUiZbDvfyiV2KmTJ1fazXkzYOHtCu96m1nGhm/n/G1mt?= =?us-ascii?q?L9Cwg61jX3195wVSXHtBz8eJXk17ymMeJ7eUllHFv868thGoFii4cwn48f2X?= =?us-ascii?q?wbhpWT4HoGnnz+Mc5D2aL/anoNRCIEw8XP7AjjxkJjMmqDx5jlWXWF3sthe9?= =?us-ascii?q?66b3sM2iI668BKDLmb7KZYkityrFu1thnRYeVhkTcG0/cu72Qag+4Rsgo30i?= =?us-ascii?q?qdGqwSHVVfPSH0lBSH8da+rL5MaWasb7ew0lF+nda/A7GeuA1cX2z5epg6Fy?= =?us-ascii?q?9q8sp/KE7M0GH06oz8YNnfd88TthmKnBfYledVLo4xmeQQhSd8JGL9pmMqy/?= =?us-ascii?q?QgjRB0xpG6u5WHK39x862nDB5YMSf1Z8wN9T33i6ZRgNqW1Zi1Hpp9AjULQI?= =?us-ascii?q?foTfWwHTIMs/ToKh2DECM6qniGGbrTBwmf51l6r3jXCZCkK2mXJGUFzdVlXB?= =?us-ascii?q?SdPFZQgB0QXDghgpE5Fxyqxcz4fEd3/D8R4ET0qhxWyuJnLxP/SHvQpB+0aj?= =?us-ascii?q?coT5iSNBlW7wFG50jLKsGe6+VzHy9W/pK/sAyNNmybZwNNDW4XQECEAU7sPq?= =?us-ascii?q?W279na7+eYHva+L+fJYbiWp+xRTfGIxY6o0otj5DuMONuAMWRlD/0hwEVDRW?= =?us-ascii?q?p5G8PbmzoRVyMXizjBb8mBpBez4id3tNyw8Oz3WALz4ouCE6ZdPslq+xCxh6?= =?us-ascii?q?eDK/OciT1nKTlGzJMMxH7JyL8Z3FIIjSFhaSWtG6watSHRVKLQhrNXDxkDZi?= =?us-ascii?q?N9LstH8b8z3hJXNs7dltP10aV4g+UvBFhZUFztgMapZdYFI2ulLlPIGF6LNK?= =?us-ascii?q?iaJT3M28z3Z7m8RqdIjOVMrBCwtzebE1X4PjSfmTnpVhavPvtKjC6HPRxRoo?= =?us-ascii?q?W9fgxqCWj5Q9Lscge7P8NvjT0q3b00gWvHOnUHPjR7d0NNr6aQ7T9DgvllAG?= =?us-ascii?q?xO8GZqIfOfmymH6+nYK5AWseZkAylvi+1b4G46y6ZO7C1eSv16gjfSrsVpo1?= =?us-ascii?q?GgiOWPzSBnUBVWoDZRmI2LpVliObne9pRYX3bE/RYN7WGOBBQRvNZqEMPgu7?= =?us-ascii?q?pXytTVk6LzMjhC+crO/cQAH8jUNN6HMH05PBXyGT7UAwwFTTiwOG7CmUNSi/?= =?us-ascii?q?CS+WeTrpQgrZjsgpUOQKdBVFMpDvMaFlhlHNsaLZhtUTMri6Cbg9AT6Hq5tB?= =?us-ascii?q?neWsNavpXdWfKTBfXgMzGZjLZeaxsP27P4IpwZNpfn1Ex6dll6gIPKFlLMXd?= =?us-ascii?q?BKpy1tdBU0oEJM8XdgSG08wFjlagSz738QDvO7ghk2ig5ibus37zfs/007Jl?= =?us-ascii?q?zUqyssiEMxg8nqgSiNcD7tK6e9RYNWCyr0tkgpNZP7Rwd1bRGskkF/MTfERq?= =?us-ascii?q?5Rj6F+emxxjw/co5RPE+ZGTaJYeB8Q2e2XZ/Iw3FRatCqo30tH6PDGCZtljw?= =?us-ascii?q?sqbYSjr3Rb2wJgbd45P6rQK7RVzlJInKKBojeo1vwtwA8ZP0sN6n2deDUWt0?= =?us-ascii?q?MSLLkpOyqo8/d35gyDgTtMZW8MV/QyovJw6Ew8O/6MzyT+3L5fMkqxLfCQL7?= =?us-ascii?q?uFu2jcks6FWk4/2VkWl0lE4Ld2ytwufFCOV0A1y7uQGQ8JOtTeJgFIdcpS9W?= =?us-ascii?q?TTfCaUveXL3511I523Fvr0Qu+WqKYUnkWkER4tH4QL9MQOAJ+s0UDfLcr8I7?= =?us-ascii?q?4Fzwgt6B7sJFWfA/RDYAiLnysfo8Gj0J932pFQJioDDmV5MCW34KvXpwAxjf?= =?us-ascii?q?WfW9c2Z2sVUZEfNnIqQsG6nTBWv2hYBjmtzu0Z0BSC7yP7pinIEDn8bt9jZP?= =?us-ascii?q?CIZRNsCNC74igw86m2iFHN6ZrSPWf6Osp+utXX8+MVu46HC+9ITbl6q0rTgY?= =?us-ascii?q?1YR322XGHRCdG1Ipjxa48rbdzyEHm3SUewizMvQMf3JdqtILWIjRvuRYlKrI?= =?us-ascii?q?mRxCojOtOlFjECBxdwoPkO67liag0FeJc0ewPntxogOKylOweXyM+uQma3JT?= =?us-ascii?q?tRVflfwv2wZ6ZLwCo0cu+61HwgQ4kgz+mx8E4CWJEKjhbaxfa4f4dQSDX9FG?= =?us-ascii?q?ZBdgvIvic2i29hNuMuzegl2xPIrUMQMzaVe+x1cGZEpc0zBUuOIXVqDWo1X0?= =?us-ascii?q?OTjYjZ7QGwxL0d4yxdn9JQ0e1Ernf+pIPfbyywV6yrs5nVtDAgbdc+qa1rLY?= =?us-ascii?q?PjOteGtI/ZnjHHVpnfqBeFUCmhGPdBhthQOjhXQOdWlmEhOMwGv4VB6U4wVs?= =?us-ascii?q?cxJ7xPFKcsqaqwaTphFyISyzEWV5+Y1jwYnui8w6falguXcJk6Ph0IqolNgt?= =?us-ascii?q?scUy5zYyMRvqyjWp7Xl2CaVGcEPh0f7QNW5AIPjoVwZPzq4JLUTJ9QzD5bu/?= =?us-ascii?q?d0XTHRFplr6VT7VmCWgV73SPi6ne2mxwRSw+7o0tkcRR5wFFNdy/xQlkQ2NL?= =?us-ascii?q?F9M7MQsZLSsj+UaUP6u3rgyPOhJFlV08LUbVP5DI3BtWrySSAc/HoURYhUyH?= =?us-ascii?q?7BCZsSiQ15aL0wpFVNJoCmdVzy5zs+x4RmB7O4T9ykx045rXYaQCenC8BOC/?= =?us-ascii?q?t7sFLRQjFlYIumqJTkO5VTXm9f44eRq1FHn0VxKyS504ZTK9lR4j4QWzhCuS?= =?us-ascii?q?mdvNy3SMBYxc96E5oMLcxlt3f7BqxEJICbo2cqtbz31n/Z5zc8vU+6xDqpAa?= =?us-ascii?q?+3VeZZ8HAFFwo0OWueslEvAPUo8mjM6FDBqFd0//1UBrKXl0V+vC59HoxSBj?= =?us-ascii?q?ZOzX2lLVNzQ2ddvupHNqvVaNJTQ+MuZRCxJhMyD/gm0FKV/Utsh3f2fzRyth?= =?us-ascii?q?dG+yDaRwQ0STQajarsmTIErsGqIiMVS5VNbTo9dSjFMB6blTpRvBlBd0FgQ4?= =?us-ascii?q?oZDcpd+7EHwYtU+dLPRl2iKS4ZQBBvNB803PREmEFft0WYfDzSAhCzdfbTqB?= =?us-ascii?q?F3e9merNKxJvTj4AhHkp/nsPw/96gbXX2phxCiQdDEoI/grdCKskyOdLnmPO?= =?us-ascii?q?GifXDBSyXDgg6qibciEZbK4zDZMBBHJJli1XokfZ/hBHbTPRRdO6IUPVdUVb?= =?us-ascii?q?xhZNVdpeBaetVkd7oX9q9rGhKHXAngGIi1oPlBNFbTSizULz+d/eynvYLT8b?= =?us-ascii?q?vdRPD8ZsyW2XnIXb94M4xn6Tn/B7fqy5VR+lT32vdq8kN1V0TGPzqGrNT7KQ?= =?us-ascii?q?MB/NOieVf6vp01ATPWB499kH/3yUFEc8oYXTGq8IgCx5xD83vwT/x30lTosO?= =?us-ascii?q?JO7bZk8Zc476pvyciqOafYMe5avlN/AhiIGgVq8Y0gAGplSGBLZe8RM/PRcr?= =?us-ascii?q?4Hjc31ruD3CqgX6AGU++NFaNvIPUfBmtKlBjGbUxxEkx8LqSQGIQuEy/6Fh6?= =?us-ascii?q?h0RN6npefj3EIt7UK+Lhkbw79z/oqE5rCHpOnMbxvW17QEXLblRt/rpLQ2p0?= =?us-ascii?q?yS/eEklKIJemFtbA2nDekdVsoZxmj+yKAn1j8jHN3YELLh4vFDUWg1njX6m5?= =?us-ascii?q?ByB18WAO8bHaKX/YRCmWc1g+7ZNtwTcq1Zn2aACx6lHaEYyX6q7SuXL3Npgh?= =?us-ascii?q?fQ3BHsWWmz9kP5rTdkQSvQyNfuikxVVr2sCEdTWSqpPFV0sDKJPArmrtr4o7?= =?us-ascii?q?817F0sMmz5qN2NiHahOKlJEMHlI9ycOyY0rkoNjJItXtyvxZwbGd2lLdcU93?= =?us-ascii?q?F+aOfe62y1nCJapqdHhpDR4seL9fXLE3igiLeaq7aWxDxCzHg3o00/4Mi6Nv?= =?us-ascii?q?7S/92KX+io12EJQid7oAvBWh64p6fVr18KJEOL113Ll5YSPtFD2nk41F/p6/?= =?us-ascii?q?Q/QN4p8wVeDInAbesYpT/vIDv03UqfY9UvWymf0jpYBEj6HkVjFagnxm3woN?= =?us-ascii?q?zGmmvK910vXIlweFTthQZrAIUgNUIt9F8XzzIYHggMchCaAqunBUbkLYsYTU?= =?us-ascii?q?gMcwmH3Lyhd6gr2k18362g6/XObexmAKoNLOxSghSJnFhBFZIcqbceT65ke1?= =?us-ascii?q?9B6K7XoRDvC5D9UPj6iXUwNfO0QsdA8cAarnci+RiwRx6h6ZdF8rYah4uFdr?= =?us-ascii?q?ZebpjQoM9870lm5TkVdixOmhR/jA22UfoapO/95tjXqp2o6vyhVKw1XeUY6w?= =?us-ascii?q?A0B3hij5v3mF0jrsvY1/1CRY3JiYTy6wRNI3+WuInE0xlzM/cOK5mxcLZm6X?= =?us-ascii?q?oHOzAUJ2gSMtqOd/k8/yhtPS3c51NcBMMMedQYPM3KlQBPlELpXLBT9szGGl?= =?us-ascii?q?6XEIpzc94n73D3yT8v65c8VPjv6COuL5DF815NJ+9DjDlrlN/aougVwObdCC?= =?us-ascii?q?8T4XaDcBh52CKCy56KC/br5uWB09TUWlwJHyIsVIddPjWC8xS9RuWpjJXpTh?= =?us-ascii?q?+U6sjrjZIxaE2QXWexkL0YvKhDF+BAiyP73iVRF43uiPKVtsCj6G1JuVFdF4?= =?us-ascii?q?Zz9xLFEr1FPppnIRT4itWrRk9kCyv9f8HUdhwutPCKyecM5+V+KlbxZI4aIh?= =?us-ascii?q?IC0LL66ntVQxBwSL73oFaWR+YRa8ZnSP/eqHBa955gIbcVPFeBvJzqsitIqF?= =?us-ascii?q?cuDQ8odr8/tDpae1LKnA1IRqn0ubkAihAGXd5+o09MFnq6OHgi6DrfSaRVkK?= =?us-ascii?q?6RBeQX8jqNQKwOXUFoPzhwQhyv3pVhZaepkepBsmxYgiN3uOIq3CB+RBugpS?= =?us-ascii?q?3soLoA2T0k+LG/ujQOp3hFTuGFnifTDlVDyvUKgrsGB3bk91O8fGEJbJHu77?= =?us-ascii?q?l/OcTg6Y4h7mw6YRUifC0GXuOgBjryj6ySAYyPt9RciwCLuMnUa7+8MzQSPK?= =?us-ascii?q?wnyR3/X3h9zhTenBFw/WQQXDqg6sMkKZ6mOcYhwSqoBXTbdEgS7axUqsfxsk?= =?us-ascii?q?QLTOQuY1N73GpjytSHRjEKRMHXFWY6kAwkaWRccJ1d8hIbFqgogjONvqZY5A?= =?us-ascii?q?EUZCnbHp6i+onKksfCwWM9QstyxmLKuq2FgYsn0XN9m9Nu7y6BpGodevfdU8?= =?us-ascii?q?9tHnjzzJlQxfb5Z/W3veANUJFmx6i5UP8eLsmj/nO72JJuWkC73bkeB165P/?= =?us-ascii?q?UYxrfHUieqVXGYWf6VfGeShTo5NFD95QWwJF0tdMhKt1M9MvfFhpNEkw3hUL?= =?us-ascii?q?V0RjifpFPCyGwjMPgadx4tuIq8egwFVugRZ++GKegp2v0+B0MGb2XVEituF+?= =?us-ascii?q?+2rVmtkZB+O3p6/Ur6YeXt8gbhMNaJBBkEEIjaoYB1+fy7QGKBJHBhwAd1PE?= =?us-ascii?q?lu+OfVD04xufNEc5aNgdjQgMx20ewfePduNi0yocUemp9l6YmI0MeKdgzRzp?= =?us-ascii?q?nyJdHJuPSYBePQz1gycGFATrUZeR/155k9PtMhWb3TGLxZvQ4GBag7W5wsLG?= =?us-ascii?q?Hx+7txLAxtcw7dfrO0gtPlpuiTfJtbu2fW7k4sLCfboxAD0fK0TQlnYJ2rhH?= =?us-ascii?q?j/O44wSSxbr91sCxpmG41PF9kGrwW5H57H0J283sS8/0J8pv8irbv7CveM0s?= =?us-ascii?q?+wmYp2Qct0/0uOaQ7QCbNxjwFFk+uvj+yI8oTqEsTkMYccVOhTWm7FLLrLSN?= =?us-ascii?q?bsYgmSM97xLhYVu4WX16h0B1DIPHqjDaObqC2pMull6kwny4t+OfDe1yEp86?= =?us-ascii?q?qEiYnvZ2Bf/3a7pCbVcpZS6UfFQ+nXXhYSTPuBowMHVaEUbI6h7O4VKpRi29?= =?us-ascii?q?mT5QBv8S5PmNWIOamvr0LAmwp7eJvXIVGv2nMRVowDIRD5OkwpjA=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2CeAQBQNrRa/wHyM5BdGgEBAQEBAgEBAQEIAQEBAYJrJ?= =?us-ascii?q?ygDgVEoi1tfjC+Bc4ERhmqDZYgSgX0UGIhSITQYAQIBAQEBAQECAWoogjgkg?= =?us-ascii?q?koDAwECJBkBOAECAQIJAQEFGikIAwEdEwEFARwZBYMygT8DCA0BAp5tPIxvN?= =?us-ascii?q?YJxBYFigjANgSyCEgIGEoUdgSBxVIFAg16DBYJuhQkDhy6GD4oTKgQICItUg?= =?us-ascii?q?wuHcIUdiVmGDAIEAgQFAgUPIYEEHDiBUjMaCDA6gkOCFQwYjhdukFEBAQ?= Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 22 Mar 2018 23:07:58 +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 w2MN7ui1020843; Thu, 22 Mar 2018 19:07:57 -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 w2MN5296014404 for ; Thu, 22 Mar 2018 19:05:02 -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 w2MN54FD020358; Thu, 22 Mar 2018 19:05:05 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A1A3AAAbNrRaly0VGNZdGwEBAQEDAQEBC?= =?us-ascii?q?QEBAYJrJyhZeyiMOowvgXOBEYZqg2WIEoIRiGohNhYBAgEBAQEBAQITAQEBAQE?= =?us-ascii?q?GGAaFfQYnGQE4AQMMAQUaMSETAQUBHBmDN4E/AwgNAQKebzyMbzWCcQWDbCYNg?= =?us-ascii?q?SyCEgIGEoUdgSBxVIFAg16DBYd3A4cuhg+KEyoECAiLVIMLh3CFHYlZhgwCBAI?= =?us-ascii?q?EBQIFDyGBBCIBggMzGggwOoJDc4EiDBiOF26QUQEB?= X-IPAS-Result: =?us-ascii?q?A1A3AAAbNrRaly0VGNZdGwEBAQEDAQEBCQEBAYJrJyhZeyi?= =?us-ascii?q?MOowvgXOBEYZqg2WIEoIRiGohNhYBAgEBAQEBAQITAQEBAQEGGAaFfQYnGQE4A?= =?us-ascii?q?QMMAQUaMSETAQUBHBmDN4E/AwgNAQKebzyMbzWCcQWDbCYNgSyCEgIGEoUdgSB?= =?us-ascii?q?xVIFAg16DBYd3A4cuhg+KEyoECAiLVIMLh3CFHYlZhgwCBAIEBQIFDyGBBCIBg?= =?us-ascii?q?gMzGggwOoJDc4EiDBiOF26QUQEB?= X-IronPort-AV: E=Sophos;i="5.48,347,1517893200"; d="scan'208";a="232958" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.35]) by goalie.tycho.ncsc.mil with ESMTP; 22 Mar 2018 19:05:03 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3AaWnr8hU1LqjQ4WyrZuLOr329uKzV8LGtZVwlr6?= =?us-ascii?q?E/grcLSJyIuqrYbBWOt8tkgFKBZ4jH8fUM07OQ7/i7HzRYqb+681k6OKRWUB?= =?us-ascii?q?EEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAA?= =?us-ascii?q?jwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba98IRmssQndqtQdjJd/JKo21h?= =?us-ascii?q?bHuGZDdf5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2UbJXDDI9M2?= =?us-ascii?q?Ao/8LrrgXMTRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VD?= =?us-ascii?q?K/5KptVRTmijoINyQh/W/Kkcx+jLxVrhyiqRJ4wYHUbpqYOOZicq7HYd8XX3?= =?us-ascii?q?ZNUtpXWidcAo28dYwPD+8ZMOhCronyuUEOrQGgCgW1Bu3v1zBIhmLo0q0hzu?= =?us-ascii?q?8vExzG3Bc7H9IJtnTfsdL4NL8SUeC116TI1TXDb/NM1Tf49ofFaxYsquyPU7?= =?us-ascii?q?Joacfd11QjGgzfglmOpoHpJS2Z2vkXv2WU7+dsTfyjhHQ7pw1spzWg2twjhp?= =?us-ascii?q?XVio8Q0F/I6SZ0zYMoKtC4VEJ3fdupHZVMuy6BKod7R94tTmFytys1z7AJpI?= =?us-ascii?q?S0cDQLxZki2hLSaeCIfJWO7xn+TuieOy14i2hgeL+nhxa970ygyurkW8a60l?= =?us-ascii?q?hErSxLn9fSu34XyxHf9smKRuFj8Ui/3DaPzA/T5vtBIU8ulKrbL4Qtwrsxlp?= =?us-ascii?q?oXqUjDHyn2l1vqjKKOaEko5+el5/75brjpvJOQKZJ4hhvxP6kugsC/BP43Mg?= =?us-ascii?q?kKX2iV4+S807jj8FXhQLVKjv02j7LZsIvdJcQdvaO5DApV3Zwi6xa7FTupzN?= =?us-ascii?q?MYnXwfIFJfZB2Hl5TpO03JIP3gD/e+jUijny1xx/DaILHsGYnNL3jfn7fher?= =?us-ascii?q?Zx8UhcyBEpwtxF6JJUDa8BKurpWkDtrNzYEgM5Mwuszub8Ftp90oIeWWSSAq?= =?us-ascii?q?6WK67SrV+J6f4vI+mLfoMVvi39JOI/6/7hin85hwxVQa78xpYTaXalDtx6Mk?= =?us-ascii?q?6ZZjzqmd5HHmAU7SQkS+m/sFyPSyReIlavUL8x/XkbFZm9CoGLEpitgJSZ3C?= =?us-ascii?q?f9G5AANTMOMUyFDXq9L9bMYPwLci/HepU7wDUZSbisTZMg3hiytQj8jqBqNf?= =?us-ascii?q?fQ5jZH6sD+1NlxvrzLnEluszF5Ct+SlWSETmUym2IMFHc636F69FR00UzLkb?= =?us-ascii?q?N5jPpRCcFJ6rtXXx07O5/Rw60yC937Vg/bONbcYFmjS9SiRzo2S98=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0A3AABQNrRaly0VGNZdGwEBAQEDAQE?= =?us-ascii?q?BCQEBAYJrJyhZeyiMOowvgXOBEYZqg2WIEoIRiGohNhYBAgEBAQEBAQIBEgE?= =?us-ascii?q?BAQEBBhgGV4I4IoJMBicZATgBAwwBBRoxIRMBBQEcGYM3gT8DCA0BAp5tPIx?= =?us-ascii?q?vNYJxBYNsJg2BLIISAgYShR2BIHFUgUCDXoMFh3cDhy6GD4oTKgQICItUgwu?= =?us-ascii?q?HcIUdiVmGDAIEAgQFAgUPIYEEIgGCAzMaCDA6gkNzgSIMGI4XbpBRAQE?= X-IPAS-Result: =?us-ascii?q?A0A3AABQNrRaly0VGNZdGwEBAQEDAQEBCQEBAYJrJyhZe?= =?us-ascii?q?yiMOowvgXOBEYZqg2WIEoIRiGohNhYBAgEBAQEBAQIBEgEBAQEBBhgGV4I4I?= =?us-ascii?q?oJMBicZATgBAwwBBRoxIRMBBQEcGYM3gT8DCA0BAp5tPIxvNYJxBYNsJg2BL?= =?us-ascii?q?IISAgYShR2BIHFUgUCDXoMFh3cDhy6GD4oTKgQICItUgwuHcIUdiVmGDAIEA?= =?us-ascii?q?gQFAgUPIYEEIgGCAzMaCDA6gkNzgSIMGI4XbpBRAQE?= X-IronPort-AV: E=Sophos;i="5.48,347,1517875200"; d="scan'208";a="11036990" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from uhil3cpa06.eemsg.mail.mil ([214.24.21.45]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 22 Mar 2018 23:04:57 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;268b7e98-23b4-4f76-9370-36a906b91ed0 Authentication-Results: uhil19pa04.eemsg.mail.mil; dkim=pass (signature verified) header.i=@gmail.com X-EEMSG-check-008: 273797206|UHIL19PA04_EEMSG_MP2.csd.disa.mil X-EEMSG-SBRS: 2.7 X-EEMSG-ORIG-IP: 74.125.82.66 X-EEMSG-check-002: true X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AvAAACNLRaf0JSfUpdGgEBAQEBAgEBAQEIAQEBAYJrJ4EBgSOLW1+ML4FzgRGGaoNliBKCEROIVyE0GAECAQEBAQEBAhMBAQkLCwgmMYUmBicZATgBAwwBBRoxIRMBBQEcGYM3gT8DCA0Bnn88jG81gnEFg2wmDYEsghICBgkBCIUdgSBxVIFAg16DBYJuhQkDhy6GD4oTKgQICItUgwuHcIUdiVmGDAIEAgQFAgUPIYEEHIIKMxoIMDqCQ3OBIgwYjhdukFEBAQ X-IPAS-Result: A0AvAAACNLRaf0JSfUpdGgEBAQEBAgEBAQEIAQEBAYJrJ4EBgSOLW1+ML4FzgRGGaoNliBKCEROIVyE0GAECAQEBAQEBAhMBAQkLCwgmMYUmBicZATgBAwwBBRoxIRMBBQEcGYM3gT8DCA0Bnn88jG81gnEFg2wmDYEsghICBgkBCIUdgSBxVIFAg16DBYJuhQkDhy6GD4oTKgQICItUgwuHcIUdiVmGDAIEAgQFAgUPIYEEHIIKMxoIMDqCQ3OBIgwYjhdukFEBAQ Received: from mail-wm0-f66.google.com ([74.125.82.66]) by uhil19pa04.eemsg.mail.mil with ESMTP; 22 Mar 2018 23:04:52 +0000 Received: by mail-wm0-f66.google.com with SMTP id v21so473249wmc.1; Thu, 22 Mar 2018 16:04:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=nvyE7mczFEVIYZFtOU6mAbdVGcTdulV4IcNpXMzQWmc=; b=Kqx4vmk/DGeZ71XKfTDBJGJKlj9lj+z0nalTEeHaXc/waAC+hSkt6bVHKILni9kPIm oObgWJIfRtuuJ3mLV2Y4OT7jFlPnGJmeLnJKo1LZMqNliOTa7/76vhtIGoVkcT+6NRYg l5Q6wTVtRUfu2t9YzEsbDQXEMlzALbVExotyhNOsSH6a/GnLKr/l9A5aN/moqso7/DQW slfwj+iLFx6sFsNd5KzTgE5WPLXoMtEhkIZoiKtXVKYpTBHivEpGnlCyUqVozNm4BX6n URqeTSqyThLlgfPy3diPuLY5BrcktLg7nXvgd/R44mE9zCxGGwvfsZHVcanMnxVA/CGF 745Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=nvyE7mczFEVIYZFtOU6mAbdVGcTdulV4IcNpXMzQWmc=; b=lPDcZUOEI/7w2skFDzSbxUNO037qGVJfNvpHfdUg9GvL9kTtXGAGNs+5wB0y6UborP qj955hoQIY+gfC9HxQTfaMRI7Ye4FVnxlMP0lnoxVlt5o8FtM4rt/eU+xFPMcmtA/NxJ ucQdgYklwbEEyMKWahDfmnQHyOy4urFuzbnkDKfUuh1zzBj4McI+37Dw6fOB4thgEzZ9 sHnmdD0zkFlVLWynoYpLpeFcTZ/9Z+eddYIAeicDAic6d/VDWZuwdo8phuZiAwQVZoZb KKeByYZ2v2YWJhkXmXImrvrUUrgpXSiS3vbtP3U1Gzsl06/t/WP2GnWTpo47ubW7SvU5 dx0Q== X-Gm-Message-State: AElRT7E4UFu2r0Rm5x64yu+DfGzhZLKR0AJQ5kYOa9Zm4syD62qsNDGV ATMivTpOeIzEhBfvO8Tkp23cP+E7 X-Google-Smtp-Source: AG47ELtYKT8qackQ0sOQpwt/2H4rElNOIrBEJOY6q5MTUeo0mSkcjDJ7x9X7A+dadv4kZrUjaQxGYg== X-Received: by 10.28.71.77 with SMTP id u74mr6416312wma.149.1521759891295; Thu, 22 Mar 2018 16:04:51 -0700 (PDT) Received: from phh-desktop.home (2a01cb000a08d50030b1d5a4da0617cd.ipv6.abo.wanadoo.fr. [2a01:cb00:a08:d500:30b1:d5a4:da06:17cd]) by smtp.gmail.com with ESMTPSA id p19sm10229867wrb.75.2018.03.22.16.04.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Mar 2018 16:04:50 -0700 (PDT) X-EEMSG-check-009: 444-444 From: Pierre-Hugues Husson To: selinux@tycho.nsa.gov Date: Fri, 23 Mar 2018 00:04:35 +0100 Message-Id: <20180322230435.21048-2-phh@phh.me> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180322230435.21048-1-phh@phh.me> References: <20180322230435.21048-1-phh@phh.me> Subject: [PATCH v2 1/1] Detect identical genfscon 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: Cc: jwcart2@tycho.nsa.gov, Pierre-Hugues Husson Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP From: Pierre-Hugues Husson Currently secilc doesn't deal with duplicate genfscon rules This commit fixes this, and implements multiple_decls behaviour. To reduce the code changes, the compare function returns in its LSB whether the rules are only a matching rule match, or a full match. --- libsepol/cil/src/cil_post.c | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/libsepol/cil/src/cil_post.c b/libsepol/cil/src/cil_post.c index a2122454..c054e9ce 100644 --- a/libsepol/cil/src/cil_post.c +++ b/libsepol/cil/src/cil_post.c @@ -53,6 +53,26 @@ static int __cil_expr_to_bitmap(struct cil_list *expr, ebitmap_t *out, int max, struct cil_db *db); static int __cil_expr_list_to_bitmap(struct cil_list *expr_list, ebitmap_t *out, int max, struct cil_db *db); +/* compare function returns whether a,b have the same context in the LSB */ +static int compact(void* array, uint32_t *count, int len, int (*compare)(const void *, const void *), int multiple_decls) { + char *a = (char*)array; + uint32_t i, j = 0; + int c; + for(i=1; i<*count; i++) { + c = compare(a+i*len, a+j*len); + /* If LSB is set, it means the rules match except for the context + * We never want this */ + if(c&1) return SEPOL_ERR; + + if(!multiple_decls && c == 0) return SEPOL_ERR; + + if(c) j++; + if(i != j) memcpy(a+j*len, a+i*len, len); + } + *count = j; + return SEPOL_OK; +} + static int cil_verify_is_list(struct cil_list *list, enum cil_flavor flavor) { struct cil_list_item *curr; @@ -202,9 +222,14 @@ int cil_post_genfscon_compare(const void *a, const void *b) struct cil_genfscon *agenfscon = *(struct cil_genfscon**)a; struct cil_genfscon *bgenfscon = *(struct cil_genfscon**)b; - rc = strcmp(agenfscon->fs_str, bgenfscon->fs_str); + rc = 2*strcmp(agenfscon->fs_str, bgenfscon->fs_str); if (rc == 0) { - rc = strcmp(agenfscon->path_str, bgenfscon->path_str); + rc = 2*strcmp(agenfscon->path_str, bgenfscon->path_str); + if(rc == 0) { + rc = strcmp(agenfscon->context_str, bgenfscon->context_str); + if(rc > 0) rc = 1; + if(rc < 0) rc = -1; + } } return rc; @@ -2118,6 +2143,11 @@ static int cil_post_db(struct cil_db *db) qsort(db->netifcon->array, db->netifcon->count, sizeof(db->netifcon->array), cil_post_netifcon_compare); qsort(db->genfscon->array, db->genfscon->count, sizeof(db->genfscon->array), cil_post_genfscon_compare); + rc = compact(db->genfscon->array, &db->genfscon->count, sizeof(db->genfscon->array), cil_post_genfscon_compare, db->multiple_decls); + if (rc != SEPOL_OK) { + cil_log(CIL_INFO, "Failed to de-dupe genfscon\n"); + goto exit; + } qsort(db->ibpkeycon->array, db->ibpkeycon->count, sizeof(db->ibpkeycon->array), cil_post_ibpkeycon_compare); qsort(db->ibendportcon->array, db->ibendportcon->count, sizeof(db->ibendportcon->array), cil_post_ibendportcon_compare); qsort(db->portcon->array, db->portcon->count, sizeof(db->portcon->array), cil_post_portcon_compare);