2016-05-27 6 views
3

Я изменил bluedroid, чтобы включить небольшой сервер сокетов unix по причинам.Разрешено разрешение Sininux Unix Socket. Как исправить?

При запуске клиента, я вижу, что SElinux не нравится, и выбрасывает это:

05-26 18:01:41.072 6248-6248/? I/com.gps.uclient: type=1400 audit(0.0:20): avc: denied { connectto } for path=00236264726F696468696472617773727663 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:bluetooth:s0 tclass=unix_stream_socket permissive=1 

Этот разъем не имеет реальный путь. Как добавить правило SELinux, чтобы разрешить этот сокет?

Update

Пробовал audit2allow как уже упоминалось Google here

Есть ошибки.

[email protected]:~$ audit2allow -i sedeny.txt -p ./andsrc/android-6.0.1_r25/out/target/product/flo/root/sepolicy 
libsepol.policydb_read: policydb version 30 does not match my version range 15-29 
libsepol.context_from_record: user u is not defined 
libsepol.context_from_record: could not create context structure 
libsepol.context_from_string: could not create context structure 
libsepol.sepol_context_to_sid: could not convert u:r:untrusted_app:s0:c512,c768 to sid 

У меня нет реального опыта работы в SELinux, поэтому я довольно сильно застрял здесь.

+0

Пожалуйста, найдите полную и подробную документацию о том, как использовать audit2allow. https://wiki.centos.org/HowTos/SELinux поиск: 7. Создание пользовательских модулей политики SELinux с помощью audit2allow – issamux

ответ

1

Ошибка:

policydb version 30 does not match my version...

Эта ошибка была порождена audit2allow установлена ​​с APT-получить. Он разрешен с помощью audit2allow, найденного в AOSP.