Hi Aleksander,<br><div><br></div><div>Sorry for the late response. Was on vacation for a couple of weeks. The changes look good to me. </div><div><br></div><div>Regards,</div><div>Roshan Pius</div><div><br></div><br><div class="gmail_quote">On Tue Dec 30 2014 at 4:53:22 AM Aleksander Morgado <<a href="mailto:aleksander@aleksander.es">aleksander@aleksander.es</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, Dec 30, 2014 at 10:08 AM, Aleksander Morgado<br>
<<a href="mailto:aleksander@aleksander.es" target="_blank">aleksander@aleksander.es</a>> wrote:<br>
> The recently introduced check for MBIM username ends up using<br>
> getpwnam() by default always (same in libqmi). This method triggers a<br>
> read in the /etc/passwd file, which gets detected by SELinux enabled<br>
> systems:<br>
><br>
> SELinux is preventing /usr/bin/bash from read access on the file /etc/passwd.<br>
><br>
>                                            *****  Plugin catchall<br>
> (100. confidence) suggests   **************************<br>
><br>
>                                            If you believe that bash<br>
> should be allowed read access on the passwd file by default.<br>
>                                            Then you should report this as a bug.<br>
>                                            You can generate a local<br>
> policy module to allow this access.<br>
>                                            Do<br>
>                                            allow this access for now<br>
> by executing:<br>
>                                            # grep mbim-proxy<br>
> /var/log/audit/audit.log | audit2allow -M mypol<br>
>                                            # semodule -i mypol.pp<br>
><br>
> What do you think of updating the logic in the __mbim_user_allowed()<br>
> method to not call getpwnam() if the user didn't use the<br>
> --enable-mbim-username option?<br>
><br>
> Instead of defining MBIM_USERNAME to "root" when the<br>
> --enable-mbim-username isn't used, I would leave it undefined<br>
> completely, so that we can do #ifndef MBIM_USERNAME in the code, and<br>
> just check for uid==0 in that case.<br>
><br>
> Most distributions will not use the new option, so we shouldn't add<br>
> unnecessary stuff like the getpwnam() call.<br>
<br>
<br>
Roshan, this is what I mean:<br>
<br>
<a href="http://cgit.freedesktop.org/libmbim/libmbim/commit/?h=aleksander/avoid-getpwnam&id=f69e6b96d7bb687f2b9d6ff939cef730ec7cfd9c" target="_blank">http://cgit.freedesktop.org/<u></u>libmbim/libmbim/commit/?h=<u></u>aleksander/avoid-getpwnam&id=<u></u>f69e6b96d7bb687f2b9d6ff939cef7<u></u>30ec7cfd9c</a><br>
<br>
If --enable-mbim-username is not used we just don't install the udev<br>
rules and the proxy will only check for UID == 0 to allow the incoming<br>
connections.<br>
<br>
--<br>
Aleksander<br>
<a href="https://aleksander.es" target="_blank">https://aleksander.es</a><br>
</blockquote></div>