Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 1362118

Summary: Geoclue can’t talk to DNS-SD _nmea-0183._tcp location sources
Product: [Fedora] Fedora Reporter: Daniel <code>
Component: selinux-policyAssignee: Lukas Vrabec <lvrabec>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 27CC: bnocera, dominick.grift, dwalsh, lvrabec, mgrepl, plautrba
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: selinux-policy-3.13.1-283.26.fc27 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-27 17:22:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Daniel 2016-08-01 10:22:38 UTC
Description of problem:
Geoclue location services can't talk to Android helper app (GeoclueShare) for improved location services using phone's GPS, socket connection between Geoclue no device and the phone is denied by SELinux policy.

Version-Release number of selected component (if applicable):
geoclue 0.12.99


How reproducible:
Every time.

Steps to Reproduce:
1. dnf install gnome-maps
2. install and run https://wiki.gnome.org/Apps/GeoclueShare on an Android device on same Wi-fi network
3. Open GNOME Maps and ignore that it's currently broken
4. Click the "Go to current location" button


Expected results:
The GeoclueShare app on Android should list one connected device.

Actual results:

    type=AVC msg=audit(1470046190.967:856): avc:  denied  { name_connect }
    for  pid=7857 comm="geoclue" dest=10110
    scontext=system_u:system_r:geoclue_t:s0
    tcontext=system_u:object_r:unreserved_port_t:s0 tclass=tcp_socket
    permissive=0
    
    Hash: geoclue,geoclue_t,unreserved_port_t,tcp_socket,name_connect


Work-around:
semanage port -a -t http_port_t -p tcp 10110

Notes:
Affects any program that uses Geoclue. GNOME Maps is just easy to test.

Comment 1 Fedora Admin XMLRPC Client 2016-09-27 15:05:27 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 2 Fedora End Of Life 2017-07-25 22:11:01 UTC
This message is a reminder that Fedora 24 is nearing its end of life.
Approximately 2 (two) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 24. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '24'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 24 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 3 Daniel 2018-01-19 02:22:30 UTC
type=AVC msg=audit(1516309779.425:5202): avc:  denied  { name_connect } for  pid=27477 comm="geoclue" dest=38103 scontext=system_u:system_r:geoclue_t:s0 tcontext=system_u:object_r:ephemeral_port_t:s0 tclass=tcp_socket permissive=1
---------------------------------------------------------
allow geoclue_t ephemeral_port_t:tcp_socket name_connect;


Also affects GeoClue’s ability to source other nmea network location sources such as gps-share and gpsd.

Comment 4 Daniel 2018-01-19 11:14:44 UTC
I’m thinking there should be a boolean for `geoclue_allow_nmea_network` that allows TCP/UDP connections to port 10110. Port 10110 is registered with IANA for use with NMEA-0183 network-shared location services.

Comment 5 Fedora Update System 2018-02-20 11:15:30 UTC
selinux-policy-3.13.1-283.26.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-a9711c96b2

Comment 6 Fedora Update System 2018-02-20 18:19:34 UTC
selinux-policy-3.13.1-283.26.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-a9711c96b2

Comment 8 Fedora Update System 2018-02-27 17:22:02 UTC
selinux-policy-3.13.1-283.26.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.