1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /* Null security operations.
4 * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved.
5 * Written by David Howells (dhowells@redhat.com)
8 #include <net/af_rxrpc.h>
9 #include "ar-internal.h"
11 static int none_init_connection_security(struct rxrpc_connection
*conn
,
12 struct rxrpc_key_token
*token
)
18 * Work out how much data we can put in an unsecured packet.
20 static int none_how_much_data(struct rxrpc_call
*call
, size_t remain
,
21 size_t *_buf_size
, size_t *_data_size
, size_t *_offset
)
23 *_buf_size
= *_data_size
= min_t(size_t, remain
, RXRPC_JUMBO_DATALEN
);
28 static int none_secure_packet(struct rxrpc_call
*call
, struct sk_buff
*skb
,
34 static int none_verify_packet(struct rxrpc_call
*call
, struct sk_buff
*skb
,
35 unsigned int offset
, unsigned int len
,
36 rxrpc_seq_t seq
, u16 expected_cksum
)
41 static void none_free_call_crypto(struct rxrpc_call
*call
)
45 static void none_locate_data(struct rxrpc_call
*call
, struct sk_buff
*skb
,
46 unsigned int *_offset
, unsigned int *_len
)
50 static int none_respond_to_challenge(struct rxrpc_connection
*conn
,
54 struct rxrpc_skb_priv
*sp
= rxrpc_skb(skb
);
56 trace_rxrpc_rx_eproto(NULL
, sp
->hdr
.serial
,
57 tracepoint_string("chall_none"));
61 static int none_verify_response(struct rxrpc_connection
*conn
,
65 struct rxrpc_skb_priv
*sp
= rxrpc_skb(skb
);
67 trace_rxrpc_rx_eproto(NULL
, sp
->hdr
.serial
,
68 tracepoint_string("resp_none"));
72 static void none_clear(struct rxrpc_connection
*conn
)
76 static int none_init(void)
81 static void none_exit(void)
86 * RxRPC Kerberos-based security
88 const struct rxrpc_security rxrpc_no_security
= {
90 .security_index
= RXRPC_SECURITY_NONE
,
93 .init_connection_security
= none_init_connection_security
,
94 .free_call_crypto
= none_free_call_crypto
,
95 .how_much_data
= none_how_much_data
,
96 .secure_packet
= none_secure_packet
,
97 .verify_packet
= none_verify_packet
,
98 .locate_data
= none_locate_data
,
99 .respond_to_challenge
= none_respond_to_challenge
,
100 .verify_response
= none_verify_response
,