| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
- #
- # Author: Chuck Lever <chuck.lever@oracle.com>
- #
- # Copyright (c) 2023, Oracle and/or its affiliates.
- #
- name: handshake
- protocol: genetlink
- doc: Netlink protocol to request a transport layer security handshake.
- definitions:
- -
- type: enum
- name: handler-class
- value-start: 0
- entries: [ none, tlshd, max ]
- -
- type: enum
- name: msg-type
- value-start: 0
- entries: [ unspec, clienthello, serverhello ]
- -
- type: enum
- name: auth
- value-start: 0
- entries: [ unspec, unauth, psk, x509 ]
- attribute-sets:
- -
- name: x509
- attributes:
- -
- name: cert
- type: s32
- -
- name: privkey
- type: s32
- -
- name: accept
- attributes:
- -
- name: sockfd
- type: s32
- -
- name: handler-class
- type: u32
- enum: handler-class
- -
- name: message-type
- type: u32
- enum: msg-type
- -
- name: timeout
- type: u32
- -
- name: auth-mode
- type: u32
- enum: auth
- -
- name: peer-identity
- type: u32
- multi-attr: true
- -
- name: certificate
- type: nest
- nested-attributes: x509
- multi-attr: true
- -
- name: peername
- type: string
- -
- name: done
- attributes:
- -
- name: status
- type: u32
- -
- name: sockfd
- type: s32
- -
- name: remote-auth
- type: u32
- multi-attr: true
- operations:
- list:
- -
- name: ready
- doc: Notify handlers that a new handshake request is waiting
- notify: accept
- -
- name: accept
- doc: Handler retrieves next queued handshake request
- attribute-set: accept
- flags: [ admin-perm ]
- do:
- request:
- attributes:
- - handler-class
- reply:
- attributes:
- - sockfd
- - message-type
- - timeout
- - auth-mode
- - peer-identity
- - certificate
- - peername
- -
- name: done
- doc: Handler reports handshake completion
- attribute-set: done
- do:
- request:
- attributes:
- - status
- - sockfd
- - remote-auth
- mcast-groups:
- list:
- -
- name: none
- -
- name: tlshd
|