From patchwork Wed Feb 14 21:16:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 10219993 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 DBA546055C for ; Wed, 14 Feb 2018 21:19:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CDACE29075 for ; Wed, 14 Feb 2018 21:19:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C1A7E290B3; Wed, 14 Feb 2018 21:19:23 +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 USFB19PA15.eemsg.mail.mil (uphb19pa12.eemsg.mail.mil [214.24.26.86]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BC6A629075 for ; Wed, 14 Feb 2018 21:19:22 +0000 (UTC) Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.3]) by USFB19PA15.eemsg.mail.mil with ESMTP/TLS/AES256-SHA; 14 Feb 2018 21:19:20 +0000 X-IronPort-AV: E=Sophos;i="5.46,514,1511827200"; d="scan'208";a="9378592" IronPort-PHdr: =?us-ascii?q?9a23=3AW3NefRAmEgShaT2SPVsnUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSPn9o8+wAkXT6L1XgUPTWs2DsrQY07GQ6/iocFdDyK7JiGoFfp1IWk1Nou?= =?us-ascii?q?QttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZr?= =?us-ascii?q?KeTpAI7SiNm82/yv95HJbAhEmDSwbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+?= =?us-ascii?q?NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjD?= =?us-ascii?q?QhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/Vjq476dvVRTmli?= =?us-ascii?q?EJOTAk+23Tk8B8kb5XrBenqhdiwYDbfZuVOeJ+cK3Dc90URm1PUcRfVyJcGoOx?= =?us-ascii?q?bZYDAuQfMuZDtITxu0cCoAGiCQS2GO/j1jlFjWL2060g1OQhFBnL0hQhH90St3?= =?us-ascii?q?TUqM/6NLwPWu62y6nIyi7Db+hL0jr67ojIcwwuofaIXb1qasrd00gvFwTCjlWL?= =?us-ascii?q?sozoJDaV2+sCsmSB6OpgT+2vhnchpgpsoTav3t8hhpTGi48a0FzJ9Th1zJwrKd?= =?us-ascii?q?C3VkJ3e8OoHINTuiyaLYd7Q8cvT3totSs70LEKp562cDUMxZ863RDQceaHfJKN?= =?us-ascii?q?4h/7UeaRJip3i2x9dbKkghay7VCgyurhVsmoyFpKrjRKkt3Ltn0Vyxzc8NKHSv?= =?us-ascii?q?pg/ke6wzqPywDS5f1EIUAzj6bbLYIuwqUsmZYJtETDHyv2lF33jK+QaEok5vCl?= =?us-ascii?q?5/nob7jpvJORN5J4hhvgPqkhhMCzG/k0PhALX2eB+OS80LPj/Vf+QLVPlvA2ib?= =?us-ascii?q?fWsJTbJcQdu664DBZZ3Z0k6xaiCTepzMoXnWIcIVJZeBOIk4jpO1bULPD+Fvew?= =?us-ascii?q?mU6gkDhsx/DYJrHhGInCLmDfkLf9erZw80xcyA01zd9F+5JUCqsOIPToV0/zs9?= =?us-ascii?q?zYCBo5PBavw+b7Ftp9zJgeVXiIAq+DP6PYqUWI6f43I+mQeI8Vvy7wK/on5/H0?= =?us-ascii?q?kXA5mkQdfa6v3ZsWdnC1BfpmI0GEYXvjmdgBDGEKvhYjTODwj12CSzFTbW6oX6?= =?us-ascii?q?0g/jE7FJ6mDYDbS4GjgbyB2CK7EYNMZm1dBFCDD2rnd4KeW/gWcCKSOMhhkj4a?= =?us-ascii?q?Wre9V48tzxautBX1y7B/NOrb5jUYtY7/1Nhy/+DciA099TlzD8Sbz2GBUnp5nn?= =?us-ascii?q?0WSD8s3aB+oEt9ylGZ3ah+nfNYCcRZ5+lVXQciKZ7c0+t6BsjvVQLdZNiJUk2r?= =?us-ascii?q?TcmhATE0Ut0+2cQOY1pnF9WkkB/DwzKgA6UJmLyTGJw07qXc0mDxJsd8zHbG0r?= =?us-ascii?q?Isj1wiQsdWNG2mgLRz9w7JCI7TkEWZlriqeroG0C7L6miD0XKEvFtEXw5oTaXF?= =?us-ascii?q?QXcfa1PIotTh/EzCVb6uCa88PwtZ08GCMKpKasbxjVVCXvjsJMrRb3i2m2eqCh?= =?us-ascii?q?aC3qmMY5bye2UBwCXdD1AJkw4J/XmcMwgxGiaho3nFATxrDVLvYlrg8fJwqXOg?= =?us-ascii?q?VEM0yBuKb0J53bqv5hEVneCcS+8U3r8cuycusTZ0HFGg39/NCNqPvQlhfKJBYd?= =?us-ascii?q?8n51dHz23ZvRRnPpO8N6BimkIecwNvskz0yhp3EIRAntYwrH4x1gV9NaeY3ElG?= =?us-ascii?q?dzOC0pD6IqfXJXXq/BCzd67W3UnT0MyL9agS8/k4pFDjvQ6zGkok7Xpnz8Ff02?= =?us-ascii?q?GA6ZXSEAoSTZXxX14s9xh0vbHaZTI955/P2H13N6m0tTHD29czC+sj0BqgeclQ?= =?us-ascii?q?ML+cHg/oD8IaH9SuKPAtm1WxYBMLJuRS9LIqMMO8bPuLw7CrM/h6nD29kGRH5Z?= =?us-ascii?q?px0kWW9ypzUuTIxYoKw+mE3gubUDfxlFGhssHzmYBAez4SBXGyxjL6C45LYa1+?= =?us-ascii?q?Z4ELCX2hI8ev3NVxm4btW2JE9F6kH14Gxs6pdgaOb1z6xw1cz1gYoXygmSu+wD?= =?us-ascii?q?x5iDUprquZ3CPU2eTicwALOmlRRGltlV3sO5S7j8gGXEi0aAgkjB+l5Ufhx6hH?= =?us-ascii?q?vah/NHfcQUNJfyjwMmFjXbC9tqGaY85O7pMosDlYUP+mbVCcVLH9vwMQ0zn/EG?= =?us-ascii?q?tG2DA7azaqt43jnxx9jGKdKGh8rGDFdsF3yxbS/8fcReNN0TodXiV4jiPXBlek?= =?us-ascii?q?Ndmz4dqUj4vDsvy5V2+5VZ1cby/rzZibuSu4+2JqBwa/n/atld37CwQ61jX719?= =?us-ascii?q?ZyXyXSsBn8epXr17i9Me9/ZklnHkL8685kFYFmiIQwgo0Q1mYAhpiO4HoHinn8?= =?us-ascii?q?Mc9A2a7kd3oNQiMLw8TJ7wf71k1jKWiJx43nWXmHxMtuecW6aHsM2i0h98BKFL?= =?us-ascii?q?uU7LtckCtrpFq3sBncYeZ7njgAyfsi8ngajP8VuAA11CWSHqgSHVVEPSzrjxmI?= =?us-ascii?q?98qxrLhTZGu0bbew1VZ+nNC4ALGMuA5cXmz1epA4HS9/9s9/Kk7D0GXv6oH4f9?= =?us-ascii?q?ndddwTuQeSkxfciOhVLYk8lvQUiiV6PmL9p2cqy/YhjRxp35G1opSIK3l38KK+?= =?us-ascii?q?GB5YOSX/Z9kP9TH1kaZegsGW0piqHpp7HjULWIXnTe60ED0Ir/vqLACOHyMgqn?= =?us-ascii?q?eABbXQBxef51l8o3LJDZ+rK2mdJGMFwtV6WBmdOEtfjRgaXDUggJE2Cxuqy9bn?= =?us-ascii?q?cEdl4TAR/UX1pQFQxeJtLRX/VX3fpAiwYDcuVJefNAZW7h1F50rNN8ye9Ph8Hz?= =?us-ascii?q?lA/pC6ogyNK3abZx9UDWEHW0yEAUrsPr+y6tnB6eeYAvCyL/zUYbWBseZeTeuH?= =?us-ascii?q?xYqz0ot6+DaBLt2PMWd5APIl3EpDXGx5G8PCljUOVSMYiTzCY9ScpBem9S19tt?= =?us-ascii?q?q//+jzWALz+YuPDKNfPs509ByxhaeDNvWQhDpiKTpCzZMD22PHxKIE3FEMjyFu?= =?us-ascii?q?dj+tEakPtCPWUK3RmrVXDwMAay9pOspH9b483hJKOc7dkN/10aR4jvEtAVdfSV?= =?us-ascii?q?Phgt2pZdANI2ylL1zHBUmLNLOAJTDQ3s74f7izSbxKg+VSrRGwviybE0D7NDSZ?= =?us-ascii?q?izbpTwyvMf1LjCyDJhNet5uycghzBmX4S9LmcgO0MNlyjTIswL00gmjFNWkTMD?= =?us-ascii?q?RmdENNtLKQ5ztCgvpjA2xB8mZlLe6cliaF6OnYL4waseFsAiV1ie1a5m81y6FS?= =?us-ascii?q?7C5aR/x4gzfdrtlro166iOaP0SZnXABIqjlVmIKBpV9iNrnB9plcRXbE+woA7W?= =?us-ascii?q?eQCxUKv9tlDdnvu6FMytfRj6/zLTZC887O/cQCHcTUL9iHMHU5OxrzBDHUFBcF?= =?us-ascii?q?TSKsNWzHhExckPWS+WOOo5g/rZjslpQORaFHVFwpFvMaDUFlE8IYLJdxQDwkja?= =?us-ascii?q?aRjNQU6nqmsBnRWMJas4jBVv2MG/rvLC2UjbpDZxsT3bP3N4ITNpb420xjcFV6?= =?us-ascii?q?mprFG1bIV9BXviJhdhM0oFlK8HVmVG08xVnlZR23738JCfG0ngU7hRB/YeQ36T?= =?us-ascii?q?js5Fk3JkLQpCQukEg9g9Plji6NcDTpNqe/QZlWCzbot0g2Kp70XgF1bQu0nUN5?= =?us-ascii?q?KjjEQ7NRgqB6em91kg/cvoFDGflGTa1LeBUQ3+2YZ+000VRArSWq3VJI6vHbCZ?= =?us-ascii?q?tjiQQqaoWhoGha2wJ5a940K7fQK7RVwVhNnKKOvzOo1+ArzA8YOUkN7HuYeDQU?= =?us-ascii?q?t0wQKrkmOy2o8/Ro6QyFgTtMZm4MVvstov9x+UM9PfmAwzjn075ZJUC7L/afIL?= =?us-ascii?q?+Bu2jcic6IRUs91lgWmElB/Lh219ojckWPWk8zy7uREggGOtDZKQFJdcZS8mbc?= =?us-ascii?q?fTqWu+XX3Z11J5m9FvzvTeKWqKYUg0ekHAE1H4QM7sUMBYSj0EDYLMj9N7EJ0x?= =?us-ascii?q?Mt6xr3JF+dFvRGZAqLkCsbo8G41JJ4x41dJjABDmpjKSq347bWpgktgPqFRtg7?= =?us-ascii?q?eWwVXooeOXIwQcG6lTNZs25GDDapzuIT0BKC4CPkpiTMEDn8aMJua+yKahNqE9?= =?us-ascii?q?y54ygw87aohl7N6ZXRPXv6NNR4tt/I8+MaqI6NC+lIQrllr0fch45YSmSlU27S?= =?us-ascii?q?EN61I5zwZJcpbdHvF3m1TEewizMvQMf3JtqtKbKIgQ7wT4ZOrIabxCwjNdO6Fj?= =?us-ascii?q?wGARdwoeAD6758ZQ0EZ5o7egbmuR0jOaKlPAqW1c6jTHqqKTtTU/ZQ1/66Z6BN?= =?us-ascii?q?wyoqcOC61GMqTosmwOmv7U4NWJYKgwnExfm5fYleVjP8F2dBewXVvyU5iXZuNu?= =?us-ascii?q?Izwuc5zxPItVgcMz+LdOx1ZmxLpcs8BVaILXVwFGU4W0eWjZDf7Q60w7AS4yxd?= =?us-ascii?q?ks5a0OFfrHf+vp7fYDetWKOxqpXYqCsgYsY4rKJvK4DjJdGGtJzGlDzFUJbQqh?= =?us-ascii?q?GFUDK9F/dCn9hfOjhYQPpWlmE5OMwGv4VB5FE/V8gkIbxAFK0spre3aTV5Fi4e?= =?us-ascii?q?1ykZWJ2c3DYamOezx6PalguMcJQlKBELqo9CgsYbUyJsYSMTv66jV4TXl2+YUW?= =?us-ascii?q?cHOgET4hpQ5AgYjI9/Yvjl4JbUTJ9L0zNWovR0UjfVGZls6VT7T3+ZgUTiSPSh?= =?us-ascii?q?iOGp2hpSw+zq0tkeQhF/CExdyP1RlkonMr13LLMQvoHSuD+SaUz6pH7tyPehJF?= =?us-ascii?q?RJ1c3UcFj4AZHZtWbgVy0T4mcYRYlRx3HDDZ4SiRZ2aL43pFVQJ4CrYkb+6CY+?= =?us-ascii?q?x4tzG7m3SNumyEs7onYeXyelDd5BBP98sF7NXz1leZ+roo3/O5pOWm9Q5IGdq1?= =?us-ascii?q?BBnUVvNC6214FRJNxT7T4XQjdPuymds8WvR8FZ3895EYMMKM9lu3jhAKNEJISR?= =?us-ascii?q?o3out7zz13DW5jE8v02+xDioB6C4SOdZ8HEEFQUyO2SSsE8vAPUw8m3K6FDCrk?= =?us-ascii?q?h0//tHBriIlUh+uzh9EYxSCjtLyHyoIU9+Q2VBs+VfNKvaaddcQ+UoaR+pJRM+?= =?us-ascii?q?CeYs31aV8kFsgXf5fytyuxNA+y/DQgY0VTMagqv2lD0arcGnJyEVR4xUYjUmci?= =?us-ascii?q?jKNRiXmSZJsxZDc0tqQYwWAs5Z+7EH2otZ5tLCSV2wKS4fQRNiKhk10eFYlU5e?= =?us-ascii?q?qkWXZT7SDQy0dfbVqBJ3ed2drMmzLPT25A1HkJ/osPgk96UfQH2rgRGtQcrAoI?= =?us-ascii?q?Diq9KHrVaOdKPkM+2me3DBUjnMjRe0hbg6E5nG5S/TMBBUK5Ni03orfYDhCXLX?= =?us-ascii?q?PRRBP68bJVBUVbp9adVdpuBVfdFkdb0M+a9wAhKHWhLvF5CurPZcKFbTXi7SLy?= =?us-ascii?q?Kb8uywuYjT96DSSfD8ZsyQwHbKW6B3MY186Tn1Abfq1pJR9VTt1/dx7Ex6T0PG?= =?us-ascii?q?MyeboNTnOAwL+NGodlH+sZ0xATPWHJBwnWLrxkFEbMcXQiuq8JECxJNY7nbwR/?= =?us-ascii?q?h43VLosO1O7blk9JU446x0yceuO6jeM/NasVVoAhKMHAVl6o0tAHRjR2BWeuIR?= =?us-ascii?q?LvbRcrgejcDqse/3DLYb6ByS++xectvHPFrMmsywBzCTUxBEmx0BqTECJAuGy/?= =?us-ascii?q?GFg7N0SdqipeXhxk0i+Vy+IQAdzLBx5YaE/bGFpPTLYBvQ07cEXLTqRsLpobg2?= =?us-ascii?q?vUOd++EknqYUemNpew2nDPQdVskFy2fk1qAqyCIhHtjNH73+5fFDUGg5kSj4m5?= =?us-ascii?q?BnGFUWGO0bEqaX/YhEmWc4gePZPMUMcq9egmaPCQKkErgaxH6p6iuXJXJoghTQ?= =?us-ascii?q?3BDwX2yz9l72rSl3QSfWydfsjFZVXKGtBUhORyqpJVN4sDSXMQrptdv4o74641?= =?us-ascii?q?0tP2z/qt2NiHWuN69NE834PtycLjE+pEgLg50pWtyvxYcbFMKmL9cQ63F/YOHR?= =?us-ascii?q?62Gqky9du6dInZfe4sWO9/rLGnmvkrOVpK+QxDBCzXg4p0sw5sqnNvHU6N2AW+?= =?us-ascii?q?6o2HoJTydjpwvBWAa4qqTBoFAIJUOL0EnKmIsQPtFaxHU4zV/p5OwiQNI16QVf?= =?us-ascii?q?GZ3NZ+sYqjDvJDT0wVieY9UtVimdyTdXHUz6EUN+GKci3GL8psXJlW3f+1cwXI?= =?us-ascii?q?l/a1TnhQBrD4U/MU8t50IYwjAdHggRaRCWF7WoBUX5LYQaVUgMcwmH3KOgdqcx?= =?us-ascii?q?w0Jz3qul5PXPYuxkG6oNKvFdgxaBnFdFHJIWraoeQLV7d19G6qHXogniC476X/?= =?us-ascii?q?npjncwMeO6Qtpa8M8DrXci5BiwRwa445dZ87kbkIyIdrJDYZXUoM987V1o6iIU?= =?us-ascii?q?eyNRhxh/ixe5UeECq+D5/tjUroan6ua0WKYqXeUX+AA+B35igJvonFAjvdbX2v?= =?us-ascii?q?9ZSo3Sj4T/7A9NLGCRtYbf0hlzM+wOJJy3fLdu8HUHPSseJ2kUMdqQdfY8/zdn?= =?us-ascii?q?MC/P6FxaHsMMedQYMdLCmQ9IkU3pQ6hf+NfUFFGeCodzcd0o7mXsxTA69JszSO?= =?us-ascii?q?Dg5yGsKZDY9VFNMOtJjD9wm9LauOgV3f3SBTAV4Xmeaxh1xDmOxIWNC/b04OWD?= =?us-ascii?q?1dDVV1IAHi4tUIddJSGP+RKmRuqrjprpVh6b6s7pjJI4ak2QWmS7nL4ZvaZUDe?= =?us-ascii?q?5AliL70yBfFoDrnf2VtcGh6G9KtlJaEYZz6gbFFL9YPpVhNhTyjtOrSVRkBivj?= =?us-ascii?q?ZMHUcQIjuOiIyecC7eV+M1DzZIEBLRIC1b369WBZTg1wR77qplyZR/4eZMN6SP?= =?us-ascii?q?PYqXBY8Y1gK6sIPFmTupPqqjNIpUstAA8ubr8wryBVelPInAJLR6b+oKQAhRcE?= =?us-ascii?q?Ud5lpU9MHnq9OH4/5zrCTqlVkKiRB+AW8jqNSqwCSUNoPT1iQxmtwpVhZ6Opne?= =?us-ascii?q?xbsmNBhi59pfkq0z9lRBu7oiDspbgC2TEn+LG+qjoBv2ZJTuOAnCfUEV9D1ugF?= =?us-ascii?q?jb8AC3b+7lyxeGIMY5X04Ll7Psng7o0h43MjYRU/YS0JQ/mvBzv3j6OSDYyFqM?= =?us-ascii?q?hciwKVuMXScb+zKjAfNqw6yRLnXXd9yAbfnBFs8GsFWTig6dgkJIKmOck72iWo?= =?us-ascii?q?A2/bdE0X4qNItsvxukQHTOwsaVNu2G9jyNSIRjURRMzTHGY4lgYkZntAcJJC8R?= =?us-ascii?q?8VCbIlgzeJvqlD+wEbfi3UEoC79YXKmsfIw3Y9R89wxm3Kvq2Fmo8q0Hp9ltJ6?= =?us-ascii?q?9i6OonUSePDGXMJ3B3jz15tfyfbgaPm3teAHUoRmwqy7UPAeKsmj5Xe22JJyV0?= =?us-ascii?q?+iwrQRAUG0MPcHxrjBSCelVWyYVviXc2iWgTk2LFT+5R+2IV0rcM1KtVMyMvPe?= =?us-ascii?q?hp5AkA3sSbd0RiSWpV/Gw20vKOcadwMtuIe7YAwHV+8RaPKaJegp2vE+D0EMb3?= =?us-ascii?q?DRFytsF+C2qUKtnJR8O3h45EX1e/ji8gDnMNuUHRkJCpDarp93+fOkQmKBOHlg?= =?us-ascii?q?zAB9PUVu8OffDVsxvPdGc5mNhdjQm8h70ekdevdvKyI9udkTlZl45ImJ1seKbR?= =?us-ascii?q?HRzpHvJdHaoviYH+fTz0I0dWFGSrAZex/6550mPt4lXL3eBblZvREbBaggWpwh?= =?us-ascii?q?Nnzx+bpyLAxpdw7eerW0jtPtpuKRaZtev2XW4U4oLCfApx0DzeS5TRd1b5Cvm3?= =?us-ascii?q?r/IZM9Sylfr9JzEBtmHYpOG8QGrwa9BZ6bhr272JeN/BZhtusLt7fgIuzb39S+?= =?us-ascii?q?mYNqVt5V4lLYEizWAfxNg09iiu2pytbH1YLqQZfkeNgDUOFgBG/CbaTdNoDjOn?= =?us-ascii?q?SJIM2qKB0OyKKVzL8sCkbZXyv+RafT8XT8OQ=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2D5AwBip4Ra/wHyM5BdGwEBAQEDAQEBCQEBAYMlKgNmcCi?= =?us-ascii?q?OfY0QgxmNOIsbERgDiB9XFQECAQEBAQEBAgFqKII4JIJIAwMBAnkDCQEBSAgDA?= =?us-ascii?q?VMZBYhcgVQDAQGyOoQTboQBgkWFAoIVgVeQNAEEimyZQwmCTIVUhAiJUIMTkT+?= =?us-ascii?q?YGYE8NSOBUDMaMIMLCYRvd44CAQEB?= Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 14 Feb 2018 21:19:19 +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 w1ELJHHC022766; Wed, 14 Feb 2018 16:19:18 -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 w1ELJDog072309 for ; Wed, 14 Feb 2018 16:19:13 -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 w1ELJGel022764 for ; Wed, 14 Feb 2018 16:19:16 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A1AnAgCZp4Raly0bGNZdHQEBBQELAYMlK?= =?us-ascii?q?mlwKI59jRCDGY04iywbiB9XFQECAQEBAQEBAhMBAQEBAQYYBoV7BoEJUVcZiGG?= =?us-ascii?q?BVAMBAbI6hBNuhAGCRYUCghWBV5A0BYpsmUMJgkyFVIQIiVCDE5E/mBmBPDWBc?= =?us-ascii?q?zMaMIMLCYF8DHmBbneOAgEBAQ?= X-IPAS-Result: =?us-ascii?q?A1AnAgCZp4Raly0bGNZdHQEBBQELAYMlKmlwKI59jRCDGY0?= =?us-ascii?q?4iywbiB9XFQECAQEBAQEBAhMBAQEBAQYYBoV7BoEJUVcZiGGBVAMBAbI6hBNuh?= =?us-ascii?q?AGCRYUCghWBV5A0BYpsmUMJgkyFVIQIiVCDE5E/mBmBPDWBczMaMIMLCYF8DHm?= =?us-ascii?q?BbneOAgEBAQ?= X-IronPort-AV: E=Sophos;i="5.46,514,1511845200"; d="scan'208";a="200684" Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.34]) by goalie.tycho.ncsc.mil with ESMTP; 14 Feb 2018 16:18:59 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3AnQtDnxcbSB2ZlCKTmud9G/GrlGMj4u6mDksu8pMi?= =?us-ascii?q?zoh2WeGdxcuzYR7h7PlgxGXEQZ/co6odzbaO6Oa7ASdZvc3JmUtBWaQEbwUCh8?= =?us-ascii?q?QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYdFRrlKAV6?= =?us-ascii?q?OPn+FJLMgMSrzeCy/IDYbxlViDanbr5+MBu7oR/fu8UKjoduN6k8xxXUqXZUZu?= =?us-ascii?q?pawn9lK0iOlBjm/Mew+5Bj8yVUu/0/8sNLTLv3caclQ7FGFToqK2866tHluhnF?= =?us-ascii?q?VguP+2ATUn4KnRpSAgjK9w/1U5HsuSbnrOV92S2aPcrrTbAoXDmp8qlmRAP0hC?= =?us-ascii?q?oBKjU09nzchM5tg6JBuB+vuhxxzZDabo+WM/RxfK3dcMgGSWZdRMtdSzZMDp+g?= =?us-ascii?q?Y4YJEuEPPfxYr474p1YWtRW+BBWjBOTryjBSnX/9wK400+MmEQHdxwwrAtUDsH?= =?us-ascii?q?LVrNrpM6cSVfq6zLLSwTXCaPNW3iz96JPTfxAkrvyNUqh8cc3LyUkgDg7IiEib?= =?us-ascii?q?p4/9Pz6NyOgBrmeW4/B+We+gkWIrtQN8riKgy8oskoXEhYIYxkrF+Ch92oo4Jd?= =?us-ascii?q?y1RFRlbdOkDZddsTyROZFsTcM4WW5ovT43yr0Ytp6/eygH0JooyQTRZfGZfYWF?= =?us-ascii?q?/AjtWfqNLTp5nn5qZqywhxOp8Uiv0OH8U9O70FdOriZfl9nMt3QN2wTS6siBVP?= =?us-ascii?q?R94l+s1SiS2w3c8O1IP085mbDFJ5Mj2LI9mZoevVzGHiDsmUX2iKGWdl8j+uit?= =?us-ascii?q?8+npf6noqIKAO4JshQ7wNaMulNanDOo4MQYDR22b9Ouz1bH5+k35WrpKg+Uwkq?= =?us-ascii?q?nYrJ/aIsAbqbSiAwNP04Yj7BG/Dyy90NkDhnYHK09FeBSbgIf3IFHCOvX4APiw?= =?us-ascii?q?gli2lzdr3f/GMqX7AprRNnjDjKvhfbFl5k5H1gUzydFf55RJCrAOO//zRk/wu8?= =?us-ascii?q?DYDh8+KQC0xf3nB89n2oMRXmKPHPzRDKSHqlKM5+QyM8GQdYQVv3D7MPFj6Pnw?= =?us-ascii?q?3lEjnlpIW6ii2p8ecziZGfN9OA3NZ3vnhdMICiELuQ0lV8Tv1E3EViRcMSXhF5?= =?us-ascii?q?kg7y02Xdr1RbzIQZqg1eSM?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DXAQDbpoRaly0bGNZdHAEBAQQBAQoBA?= =?us-ascii?q?YMlKmlwKI59jRCDGY04iywbiB9XFQECAQEBAQEBAgESAQEBAQEGGAZXgjgigko?= =?us-ascii?q?GgQlRVxmIYYFUAwEBsjeEE26EAYJFhQKCFYFXkDQFimyZQwmCTIVUhAiJUIMTk?= =?us-ascii?q?T+YGYE8NYFzMxowgwsJgXwMeYFud44CAQEB?= X-IPAS-Result: =?us-ascii?q?A0DXAQDbpoRaly0bGNZdHAEBAQQBAQoBAYMlKmlwKI59jRC?= =?us-ascii?q?DGY04iywbiB9XFQECAQEBAQEBAgESAQEBAQEGGAZXgjgigkoGgQlRVxmIYYFUA?= =?us-ascii?q?wEBsjeEE26EAYJFhQKCFYFXkDQFimyZQwmCTIVUhAiJUIMTkT+YGYE8NYFzMxo?= =?us-ascii?q?wgwsJgXwMeYFud44CAQEB?= X-IronPort-AV: E=Sophos;i="5.46,514,1511827200"; d="scan'208";a="8715615" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from updc3cpa06.eemsg.mail.mil ([214.24.27.45]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 14 Feb 2018 21:18:58 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;fbef2247-8af0-4cc6-a822-6228afed8494 Received: from localhost.localdomain (localhost [127.0.0.1]) by UPDCF3IC15.oob.disa.mil (Postfix) with SMTP id 3zhXMk2L4jz3GDw7 for ; Wed, 14 Feb 2018 21:18:58 +0000 (UTC) Received: from UPDC3CPA11_EEMSG_MP27.eemsg.mil (unknown [192.168.18.22]) by UPDCF3IC15.oob.disa.mil (Postfix) with ESMTP id 3zhXMk0bmqz3GDw4 for ; Wed, 14 Feb 2018 21:18:58 +0000 (UTC) Authentication-Results: UPDC3CPA11.eemsg.mail.mil; dkim=none (message not signed) header.i=none X-EEMSG-check-008: 3599482|UPDC3CPA11_EEMSG_MP27.csd.disa.mil 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: A0DZAQAEpYRahyIeaIFdHAEBAQQBAQoBAYMlgRNwKI59jRCDGY04iywTCIgfVxUBAgEBAQEBAQITAQEBCgsJCCgvhSQGgQlRVxmIYYFUBAGyOYQTboQCgkWFAoIVgVeQNAWKbJlDCYJMhVSECIlQgxORP5gZgTw1gXMzGjCDCwmBfAyCZ3eOAgEBAQ X-IPAS-Result: A0DZAQAEpYRahyIeaIFdHAEBAQQBAQoBAYMlgRNwKI59jRCDGY04iywTCIgfVxUBAgEBAQEBAQITAQEBCgsJCCgvhSQGgQlRVxmIYYFUBAGyOYQTboQCgkWFAoIVgVeQNAWKbJlDCYJMhVSECIlQgxORP5gZgTw1gXMzGjCDCwmBfAyCZ3eOAgEBAQ Received: from mx1.polytechnique.org ([129.104.30.34]) by UPDC3CPA11.eemsg.mail.mil with ESMTP; 14 Feb 2018 21:18: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 5989B561259 for ; Wed, 14 Feb 2018 22:16:50 +0100 (CET) X-EEMSG-check-009: 444-444 From: Nicolas Iooss To: selinux@tycho.nsa.gov Date: Wed, 14 Feb 2018 22:16:25 +0100 Message-Id: <20180214211625.531-3-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.16.0 In-Reply-To: <20180214211625.531-1-nicolas.iooss@m4x.org> References: <20180214211625.531-1-nicolas.iooss@m4x.org> X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Wed Feb 14 22:16:50 2018 +0100 (CET)) X-Org-Mail: nicolas.iooss.2010@polytechnique.org Subject: [PATCH 3/3] python/sepolicy: Fix translated strings with parameters 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 When a translated string takes parameters with %, the % and the parameters need to be after the call to the underline function in order to work properly. Signed-off-by: Nicolas Iooss --- python/sepolicy/sepolicy/generate.py | 2 +- python/sepolicy/sepolicy/gui.py | 28 ++++++++++++++-------------- python/sepolicy/sepolicy/interface.py | 4 ++-- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/python/sepolicy/sepolicy/generate.py b/python/sepolicy/sepolicy/generate.py index f885425806f1..325a3888be2b 100644 --- a/python/sepolicy/sepolicy/generate.py +++ b/python/sepolicy/sepolicy/generate.py @@ -191,7 +191,7 @@ def verify_ports(ports): temp.append(p) return temp except ValueError: - raise ValueError(_("Ports must be numbers or ranges of numbers from 1 to %d " % max_port)) + raise ValueError(_("Ports must be numbers or ranges of numbers from 1 to %d ") % max_port) class policy: diff --git a/python/sepolicy/sepolicy/gui.py b/python/sepolicy/sepolicy/gui.py index 6562aa850c98..537d5168a536 100644 --- a/python/sepolicy/sepolicy/gui.py +++ b/python/sepolicy/sepolicy/gui.py @@ -500,7 +500,7 @@ class SELinuxGui(): self.all_domains.sort(key=str.lower) if app and app not in self.all_domains: - self.error(_("%s is not a valid domain" % app)) + self.error(_("%s is not a valid domain") % app) self.quit() loading_gui.show() @@ -1056,21 +1056,21 @@ class SELinuxGui(): self.application_files_initialize(app) self.transitions_files_initialize(app) - self.executable_files_tab.set_tooltip_text(_("File path used to enter the '%s' domain." % app)) - self.writable_files_tab.set_tooltip_text(_("Files to which the '%s' domain can write." % app)) - self.network_out_tab.set_tooltip_text(_("Network Ports to which the '%s' is allowed to connect." % app)) - self.network_in_tab.set_tooltip_text(_("Network Ports to which the '%s' is allowed to listen." % app)) - self.application_files_tab.set_tooltip_text(_("File Types defined for the '%s'." % app)) - self.boolean_radio_button.set_tooltip_text(_("Display boolean information that can be used to modify the policy for the '%s'." % app)) - self.files_radio_button.set_tooltip_text(_("Display file type information that can be used by the '%s'." % app)) - self.network_radio_button.set_tooltip_text(_("Display network ports to which the '%s' can connect or listen to." % app)) - self.transitions_into_tab.set_label(_("Application Transitions Into '%s'" % app)) - self.transitions_from_tab.set_label(_("Application Transitions From '%s'" % app)) - self.transitions_file_tab.set_label(_("File Transitions From '%s'" % app)) + self.executable_files_tab.set_tooltip_text(_("File path used to enter the '%s' domain.") % app) + self.writable_files_tab.set_tooltip_text(_("Files to which the '%s' domain can write.") % app) + self.network_out_tab.set_tooltip_text(_("Network Ports to which the '%s' is allowed to connect.") % app) + self.network_in_tab.set_tooltip_text(_("Network Ports to which the '%s' is allowed to listen.") % app) + self.application_files_tab.set_tooltip_text(_("File Types defined for the '%s'.") % app) + self.boolean_radio_button.set_tooltip_text(_("Display boolean information that can be used to modify the policy for the '%s'.") % app) + self.files_radio_button.set_tooltip_text(_("Display file type information that can be used by the '%s'.") % app) + self.network_radio_button.set_tooltip_text(_("Display network ports to which the '%s' can connect or listen to.") % app) + self.transitions_into_tab.set_label(_("Application Transitions Into '%s'") % app) + self.transitions_from_tab.set_label(_("Application Transitions From '%s'") % app) + self.transitions_file_tab.set_label(_("File Transitions From '%s'") % app) self.transitions_into_tab.set_tooltip_text(_("Executables which will transition to '%s', when executing selected domains entrypoint.") % app) self.transitions_from_tab.set_tooltip_text(_("Executables which will transition to a different domain, when '%s' executes them.") % app) - self.transitions_file_tab.set_tooltip_text(_("Files by '%s' with transitions to a different label." % app)) - self.transitions_radio_button.set_tooltip_text(_("Display applications that can transition into or out of the '%s'." % app)) + self.transitions_file_tab.set_tooltip_text(_("Files by '%s' with transitions to a different label.") % app) + self.transitions_radio_button.set_tooltip_text(_("Display applications that can transition into or out of the '%s'.") % app) self.application = app self.applications_selection_button.set_label(self.application) diff --git a/python/sepolicy/sepolicy/interface.py b/python/sepolicy/sepolicy/interface.py index c64122e5e565..18374dcfed96 100644 --- a/python/sepolicy/sepolicy/interface.py +++ b/python/sepolicy/sepolicy/interface.py @@ -220,7 +220,7 @@ def interface_compile_test(interface, path="/usr/share/selinux/devel/policy.xml" idict = get_interface_dict(path) if not (interface.split("_")[0] in exclude_interfaces or idict[interface][2] in exclude_interface_type): - print(_("Compiling %s interface" % interface)) + print(_("Compiling %s interface") % interface) try: fd = open(policy_files['te'], "w") fd.write(generate_compile_te(interface, idict)) @@ -237,4 +237,4 @@ def interface_compile_test(interface, path="/usr/share/selinux/devel/policy.xml" os.remove(v) else: - sys.stderr.write(_("\nCompiling of %s interface is not supported." % interface)) + sys.stderr.write(_("\nCompiling of %s interface is not supported.") % interface)