svc · unix #30
accept
Retire la première connexion complétée d'une socket en écoute et renvoie un nouveau descripteur.
Prototype
int accept(int s, caddr_t name, socklen_t *anamelen);Retour: int
Arguments
| Name | Type | Dir | Description |
|---|---|---|---|
| s | int | - | |
| name | caddr_t | - | |
| anamelen | socklen_t | - |
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-1456.1.26 | macOS 10.6 Snow Leopard | 30 |
| xnu-1486.2.11 | — | 30 |
| xnu-1504.15.3 | — | 30 |
| xnu-1504.3.12 | — | 30 |
| xnu-1504.7.4 | — | 30 |
| xnu-1504.9.17 | — | 30 |
| xnu-1504.9.26 | — | 30 |
| xnu-1504.9.37 | — | 30 |
Notes
macOS prend en charge l'accept bloquant classique et le comportement de type accept4 via fcntl sur le descripteur renvoyé. Les connexions passant la politique NECP mais bloquées par un filtre de contenu n'apparaissent jamais ici — le filtre les rejette avant qu'elles n'atteignent so_comp. Pour les serveurs à haut débit, kqueue avec EVFILT_READ sur la socket en écoute coalesce les notifications accept-ready.
Détection
Aucune couverture ES directe. Les flux entrants remontent à handleNewFlow de NEFilterDataProvider avec un NEFilterSocketFlow dont la direction est .inbound. proc_pidfdinfo sur le fd accepté fournit le sockaddr distant pour de la journalisation forensique.