129 lines
2.3 KiB
YAML
129 lines
2.3 KiB
YAML
|
# 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: u32
|
||
|
-
|
||
|
name: privkey
|
||
|
type: u32
|
||
|
-
|
||
|
name: accept
|
||
|
attributes:
|
||
|
-
|
||
|
name: sockfd
|
||
|
type: u32
|
||
|
-
|
||
|
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: u32
|
||
|
-
|
||
|
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
|