[{"id":1501,"web_url":"https://patchwork.libcamera.org/comment/1501/","msgid":"<20190426101038.GA5054@pendragon.ideasonboard.com>","date":"2019-04-26T10:10:38","subject":"Re: [libcamera-devel] [PATCH v2 2/2] libcamera: utils: call\n\tsecure_getenv() if it exists or workaround with issetugid()","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Giulio,\n\nThank you for the patch.\n\nOn Fri, Apr 26, 2019 at 10:42:20AM +0200, Giulio Benetti wrote:\n> When secure_getenv() is not available, need to have a workaround.\n> \n> Check if secure_getenv() is present, otherwise call issetugid() on its\n> place.\n> \n> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>\n> ---\n> Changes:\n> V1->V2: call ::secure_getenv() instead of secure_getenv() recursively.\n> \n>  src/libcamera/utils.cpp | 8 ++++++--\n>  1 file changed, 6 insertions(+), 2 deletions(-)\n> \n> diff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp\n> index 66123b1..5d85b5c 100644\n> --- a/src/libcamera/utils.cpp\n> +++ b/src/libcamera/utils.cpp\n> @@ -8,7 +8,7 @@\n>  #include \"utils.h\"\n>  \n>  #include <string.h>\n> -#include <sys/auxv.h>\n> +#include <unistd.h>\n\nYou need to also include stdlib.h as that's where secure_getenv() is\ndefined. Kieran will fix this when applying, there's no need to resend.\n\n>  \n>  /**\n>   * \\file utils.h\n> @@ -57,10 +57,14 @@ const char *basename(const char *path)\n>   */\n>  char *secure_getenv(const char *name)\n>  {\n> -\tif (getauxval(AT_SECURE))\n> +#if HAVE_SECURE_GETENV\n> +\treturn ::secure_getenv(name);\n> +#else\n> +\tif (issetugid())\n>  \t\treturn NULL;\n>  \n>  \treturn getenv(name);\n> +#endif\n>  }\n>  \n>  /**","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E72AA600F9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Apr 2019 12:10:49 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(net-37-182-44-227.cust.vodafonedsl.it [37.182.44.227])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 429685F;\n\tFri, 26 Apr 2019 12:10:49 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1556273449;\n\tbh=SwI8jVOMz1X9j1FJhL3hwapCZM7qhg271EEU1o/yVBM=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=TneHvvlDS5iaY/C+8n6cOnzrmkoGCC4OCmQBwLktlcfO4dD1nbXgEbgEMSEmHY1zu\n\tdMIgEMjJAmrG3pX7QCZW+lIsP7KkvaHYVQuoz5LhwVinS567hecbfyueGUs+S6Rvfb\n\twg7JFr4DuUbypHSAf/CE6xD8O+rj3OVpehv4X8zE=","Date":"Fri, 26 Apr 2019 13:10:38 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Giulio Benetti <giulio.benetti@micronovasrl.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190426101038.GA5054@pendragon.ideasonboard.com>","References":"<20190424110044.12608-1-giulio.benetti@micronovasrl.com>\n\t<20190426084220.71500-1-giulio.benetti@micronovasrl.com>\n\t<20190426084220.71500-3-giulio.benetti@micronovasrl.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20190426084220.71500-3-giulio.benetti@micronovasrl.com>","User-Agent":"Mutt/1.10.1 (2018-07-13)","Subject":"Re: [libcamera-devel] [PATCH v2 2/2] libcamera: utils: call\n\tsecure_getenv() if it exists or workaround with issetugid()","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Fri, 26 Apr 2019 10:10:50 -0000"}},{"id":1503,"web_url":"https://patchwork.libcamera.org/comment/1503/","msgid":"<1b8d75cd-a083-28bd-a617-a4765206a78f@micronovasrl.com>","date":"2019-04-26T10:25:51","subject":"Re: [libcamera-devel] [PATCH v2 2/2] libcamera: utils: call\n\tsecure_getenv() if it exists or workaround with issetugid()","submitter":{"id":16,"url":"https://patchwork.libcamera.org/api/people/16/","name":"Giulio Benetti","email":"giulio.benetti@micronovasrl.com"},"content":"Hi Laurant,\n\nIl 26/04/2019 12:10, Laurent Pinchart ha scritto:\n> Hi Giulio,\n> \n> Thank you for the patch.\n> \n> On Fri, Apr 26, 2019 at 10:42:20AM +0200, Giulio Benetti wrote:\n>> When secure_getenv() is not available, need to have a workaround.\n>>\n>> Check if secure_getenv() is present, otherwise call issetugid() on its\n>> place.\n>>\n>> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>\n>> ---\n>> Changes:\n>> V1->V2: call ::secure_getenv() instead of secure_getenv() recursively.\n>>\n>>   src/libcamera/utils.cpp | 8 ++++++--\n>>   1 file changed, 6 insertions(+), 2 deletions(-)\n>>\n>> diff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp\n>> index 66123b1..5d85b5c 100644\n>> --- a/src/libcamera/utils.cpp\n>> +++ b/src/libcamera/utils.cpp\n>> @@ -8,7 +8,7 @@\n>>   #include \"utils.h\"\n>>   \n>>   #include <string.h>\n>> -#include <sys/auxv.h>\n>> +#include <unistd.h>\n> \n> You need to also include stdlib.h as that's where secure_getenv() is\n> defined. Kieran will fix this when applying, there's no need to resend.\n\nOk, thank you!\n\nGiulio\n\n>>   \n>>   /**\n>>    * \\file utils.h\n>> @@ -57,10 +57,14 @@ const char *basename(const char *path)\n>>    */\n>>   char *secure_getenv(const char *name)\n>>   {\n>> -\tif (getauxval(AT_SECURE))\n>> +#if HAVE_SECURE_GETENV\n>> +\treturn ::secure_getenv(name);\n>> +#else\n>> +\tif (issetugid())\n>>   \t\treturn NULL;\n>>   \n>>   \treturn getenv(name);\n>> +#endif\n>>   }\n>>   \n>>   /**\n>","headers":{"Return-Path":"<giulio.benetti@micronovasrl.com>","Received":["from mail.micronovasrl.com (mail.micronovasrl.com [212.103.203.10])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 713E3600F9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Apr 2019 12:25:51 +0200 (CEST)","from mail.micronovasrl.com (mail.micronovasrl.com [127.0.0.1])\n\tby mail.micronovasrl.com (Postfix) with ESMTP id 1528AB00C10\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Apr 2019 12:25:51 +0200 (CEST)","from mail.micronovasrl.com ([127.0.0.1])\n\tby mail.micronovasrl.com (mail.micronovasrl.com [127.0.0.1])\n\t(amavisd-new, port 10026)\n\twith ESMTP id butypdJ1gITb for <libcamera-devel@lists.libcamera.org>; \n\tFri, 26 Apr 2019 12:25:50 +0200 (CEST)","from [192.168.2.109] (88-149-228-83.v4.ngi.it [88.149.228.83])\n\tby mail.micronovasrl.com (Postfix) with ESMTPSA id 593CEB00832;\n\tFri, 26 Apr 2019 12:25:50 +0200 (CEST)"],"Authentication-Results":"mail.micronovasrl.com (amavisd-new); dkim=pass\n\treason=\"pass (just generated, assumed good)\" header.d=micronovasrl.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=micronovasrl.com;\n\th=content-transfer-encoding:content-language:content-type\n\t:content-type:in-reply-to:mime-version:user-agent:date:date\n\t:message-id:from:from:references:to:subject:subject; s=dkim; t=\n\t1556274350; x=1557138351; bh=8EPZi8bcU/jvBaDj5rutm8Sailr2WXQJ+Vf\n\tSyUkkzY0=; b=kj4Oppyjc45SADjG6kfJ8614DOQvzTM+X0vV2sa4TPl1J4CF8P5\n\tkTYXyE6stPp7yCqxLp8xml2+6b+NkEs4yVWbOqi7S3JFSnLPSL/LiEkVUtGuy9rt\n\trK3nnRdTbEWLUMbkAXB5qfkh/3oJGyx+osFtU8ulR6oJ9xW+WiWzQIpo=","X-Virus-Scanned":"Debian amavisd-new at mail.micronovasrl.com","X-Spam-Flag":"NO","X-Spam-Score":"-2.9","X-Spam-Level":"","X-Spam-Status":"No, score=-2.9 tagged_above=-10 required=4.5\n\ttests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham autolearn_force=no","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20190424110044.12608-1-giulio.benetti@micronovasrl.com>\n\t<20190426084220.71500-1-giulio.benetti@micronovasrl.com>\n\t<20190426084220.71500-3-giulio.benetti@micronovasrl.com>\n\t<20190426101038.GA5054@pendragon.ideasonboard.com>","From":"Giulio Benetti <giulio.benetti@micronovasrl.com>","Message-ID":"<1b8d75cd-a083-28bd-a617-a4765206a78f@micronovasrl.com>","Date":"Fri, 26 Apr 2019 12:25:51 +0200","User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101\n\tThunderbird/60.6.1","MIME-Version":"1.0","In-Reply-To":"<20190426101038.GA5054@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"it","Content-Transfer-Encoding":"8bit","Subject":"Re: [libcamera-devel] [PATCH v2 2/2] libcamera: utils: call\n\tsecure_getenv() if it exists or workaround with issetugid()","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Fri, 26 Apr 2019 10:25:51 -0000"}}]