Что означает код errno 103 (ENOPOLICY) в macOS?

 
Также может означать:
КонстантаТипОС
ERROR_TOO_MANY_SEM_REQUESTSОшибка WindowsWindows
HTTP_EARLY_HINTSHTTP-статусЛюбая
ECONNABORTEDerrnoLinux
EALREADYerrnoWindows
CONFIG_INITIALIZATION_FAILEDКод BSODWindows
Предыдущий Следующий
ECONNABORTED EALREADY

ENOPOLICY

ENOPOLICY в Darwin

В Darwin значение 103 (ENOPOLICY) означает: имя или идентификатор политики Darwin не зарегистрированы. Ядро или инфраструктура безопасности не смогли разрешить запрошенную регистрацию политики.

Почему важна платформа

ENOPOLICY относится к Darwin/XNU и не входит в переносимый набор POSIX errno. Если программа использует это имя на другой системе, сначала проверьте слой совместимости или собственное преобразование ошибок; одинаковое числовое значение на другой платформе не обязано иметь тот же смысл.

Что зафиксировать

Запишите API, имя или идентификатор политики, security subsystem и версию Darwin. Для sandbox, MAC framework или другого policy provider важно сохранить исходный исходный статус до того, как библиотека или wrapper преобразует его в errno.

СведенияНа какой вопрос отвечают
Идентификатор или имя политики, регистрирующий компонент, поколение загрузки или сеанса, право (entitlement) и вызываемый API.Связывают незарегистрированную политику с одним действующим объектом API, а не только с переведённым сообщением.
Darwin errno и версия SDK/XNU.Показывают, возникла ли ошибка в ABI вызывающей стороны, оболочке или поставщике.
Результат первого системного вызова или ioctl, а также процесс, поток и экземпляр объекта.Сохраняет errno до его перезаписи.
Контрольный объект той же сборки macOS.Даёт контрольное сравнение на той же платформе.

Контрольная проверка

  1. Перечислите или зарегистрируйте одну известную политику через владеющую инфраструктуру. Отметьте, достигает ли проверка политики той же границы системного вызова или среды выполнения, что и исходная ошибка.
  2. Немедленно сохраните errno и сравните связанное возвращаемое значение. Если после теста errno изменился, это новая граница, а не иная формулировка той же ошибки.
  3. Повторите тест с одним контролируемым объектом, сохранив идентификатор и песочницу без изменений. После контроля повторите исходную операцию, чтобы результат оставался относящимся к незарегистрированной политике.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.