Skip to content
Syscall BSD#450

svc · unix #450

socket_delegate

Crée une socket dont l'activité réseau est attribuée à un processus délégué pour la politique et la comptabilité.

Prototype

int socket_delegate(int domain, int type, int protocol, pid_t epid);

Retour: int

Arguments

NameTypeDirDescription
domainint-
typeint-
protocolint-
epidpid_t-

Historique des versions

XNU tagmacOS#
xnu-2422.115.4macOS 10.9 Mavericks450
xnu-2782.40.9macOS 10.10 Yosemite450
xnu-3247.1.106macOS 10.11 El Capitan450
xnu-3789.1.32macOS 10.12 Sierra450
xnu-4570.1.46macOS 10.13 High Sierra450
xnu-4903.221.2macOS 10.14 Mojave450
xnu-6153.11.26macOS 10.15 Catalina450
xnu-7195.50.7.100.1macOS 11.0 Big Sur450
xnu-8019.41.5macOS 12.0 Monterey450
xnu-8792.41.9macOS 13.0 Ventura450
xnu-10002.1.13macOS 14.0 Sonoma450
xnu-11215.1.10macOS 15.0 Sequoia450
xnu-11417.101.15macOS 15.4 Sequoia450
xnu-12377.1.9macOS 26.0 Tahoe450
xnu-10002.41.9450
xnu-10002.61.3450
xnu-10002.81.5450
xnu-10063.101.15450
xnu-10063.121.3450
xnu-10063.141.1450
xnu-11215.41.3450
xnu-11215.61.5450
xnu-11215.81.4450
xnu-11417.121.6450
xnu-11417.140.69450
xnu-12377.101.15450
xnu-12377.41.6450
xnu-12377.61.12450
xnu-12377.81.4450
xnu-2422.1.72450
xnu-2422.100.13450
xnu-2422.110.17450
xnu-2422.90.20450
xnu-2782.1.97450
xnu-2782.10.72450
xnu-2782.20.48450
xnu-2782.30.5450
xnu-3247.10.11450
xnu-3248.20.55450
xnu-3248.30.4450
xnu-3248.40.184450
xnu-3248.50.21450
xnu-3248.60.10450
xnu-3789.21.4450
xnu-3789.31.2450
xnu-3789.41.3450
xnu-3789.51.2450
xnu-3789.60.24450
xnu-3789.70.16450
xnu-4570.20.62450
xnu-4570.31.3450
xnu-4570.41.2450
xnu-4570.51.1450
xnu-4570.61.1450
xnu-4570.71.2450
xnu-4903.231.4450
xnu-4903.241.1450
xnu-4903.270.47450
xnu-6153.101.6450
xnu-6153.121.1450
xnu-6153.141.1450
xnu-6153.41.3450
xnu-6153.61.1450
xnu-6153.81.5450
xnu-7195.101.1450
xnu-7195.121.3450
xnu-7195.141.2450
xnu-7195.60.75450
xnu-7195.81.3450
xnu-8019.61.5450
xnu-8019.80.24450
xnu-8020.101.4450
xnu-8020.121.3450
xnu-8020.140.41450
xnu-8792.61.2450
xnu-8792.81.2450
xnu-8796.101.5450
xnu-8796.121.2450
xnu-8796.141.3450

Notes

Restreint aux démons système Apple et à quelques binaires entitlés via com.apple.private.network.socket-delegate. Le noyau positionne so_flags1 |= SOF1_DELEGATED et stocke le jeton d'audit effectif du délégué dans l'inpcb, de sorte que NECP, les filtres NetworkExtension et la comptabilité de bande passante par processus voient le délégué plutôt que l'appelant réel. Utilisé par mDNSResponder, nehelper et trustd pour acheminer du trafic pour le compte d'apps tierces tout en respectant le sandbox/routage VPN de ces apps.

Détection

NEFilterDataProvider expose l'identifiant du délégué via NEFilterSocketFlow.sourceAppAuditToken vs sourceAppIdentifier ; une divergence indique une délégation. ES ne fait pas remonter cette distinction.

API associées

socketsetsockoptnecp_client_actionconnectx