-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and ker…
…nel both Provide AF_RXRPC sockets that can be used to talk to AFS servers, or serve answers to AFS clients. KerberosIV security is fully supported. The patches and some example test programs can be found in: http://people.redhat.com/~dhowells/rxrpc/ This will eventually replace the old implementation of kernel-only RxRPC currently resident in net/rxrpc/. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Showing
31 changed files
with
11,275 additions
and
7 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/* RxRPC key type | ||
* | ||
* Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | ||
* Written by David Howells (dhowells@redhat.com) | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* as published by the Free Software Foundation; either version | ||
* 2 of the License, or (at your option) any later version. | ||
*/ | ||
|
||
#ifndef _KEYS_RXRPC_TYPE_H | ||
#define _KEYS_RXRPC_TYPE_H | ||
|
||
#include <linux/key.h> | ||
|
||
/* | ||
* key type for AF_RXRPC keys | ||
*/ | ||
extern struct key_type key_type_rxrpc; | ||
|
||
#endif /* _KEYS_USER_TYPE_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
/* AF_RXRPC parameters | ||
* | ||
* Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | ||
* Written by David Howells (dhowells@redhat.com) | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* as published by the Free Software Foundation; either version | ||
* 2 of the License, or (at your option) any later version. | ||
*/ | ||
|
||
#ifndef _LINUX_RXRPC_H | ||
#define _LINUX_RXRPC_H | ||
|
||
#include <linux/in.h> | ||
#include <linux/in6.h> | ||
|
||
/* | ||
* RxRPC socket address | ||
*/ | ||
struct sockaddr_rxrpc { | ||
sa_family_t srx_family; /* address family */ | ||
u16 srx_service; /* service desired */ | ||
u16 transport_type; /* type of transport socket (SOCK_DGRAM) */ | ||
u16 transport_len; /* length of transport address */ | ||
union { | ||
sa_family_t family; /* transport address family */ | ||
struct sockaddr_in sin; /* IPv4 transport address */ | ||
struct sockaddr_in6 sin6; /* IPv6 transport address */ | ||
} transport; | ||
}; | ||
|
||
/* | ||
* RxRPC socket options | ||
*/ | ||
#define RXRPC_SECURITY_KEY 1 /* [clnt] set client security key */ | ||
#define RXRPC_SECURITY_KEYRING 2 /* [srvr] set ring of server security keys */ | ||
#define RXRPC_EXCLUSIVE_CONNECTION 3 /* [clnt] use exclusive RxRPC connection */ | ||
#define RXRPC_MIN_SECURITY_LEVEL 4 /* minimum security level */ | ||
|
||
/* | ||
* RxRPC control messages | ||
* - terminal messages mean that a user call ID tag can be recycled | ||
*/ | ||
#define RXRPC_USER_CALL_ID 1 /* user call ID specifier */ | ||
#define RXRPC_ABORT 2 /* abort request / notification [terminal] */ | ||
#define RXRPC_ACK 3 /* [Server] RPC op final ACK received [terminal] */ | ||
#define RXRPC_NET_ERROR 5 /* network error received [terminal] */ | ||
#define RXRPC_BUSY 6 /* server busy received [terminal] */ | ||
#define RXRPC_LOCAL_ERROR 7 /* local error generated [terminal] */ | ||
#define RXRPC_NEW_CALL 8 /* [Server] new incoming call notification */ | ||
#define RXRPC_ACCEPT 9 /* [Server] accept request */ | ||
|
||
/* | ||
* RxRPC security levels | ||
*/ | ||
#define RXRPC_SECURITY_PLAIN 0 /* plain secure-checksummed packets only */ | ||
#define RXRPC_SECURITY_AUTH 1 /* authenticated packets */ | ||
#define RXRPC_SECURITY_ENCRYPT 2 /* encrypted packets */ | ||
|
||
|
||
#endif /* _LINUX_RXRPC_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
/* RxRPC definitions | ||
* | ||
* Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. | ||
* Written by David Howells (dhowells@redhat.com) | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* as published by the Free Software Foundation; either version | ||
* 2 of the License, or (at your option) any later version. | ||
*/ | ||
|
||
#ifndef _NET_RXRPC_H | ||
#define _NET_RXRPC_H | ||
|
||
#include <linux/rxrpc.h> | ||
|
||
#endif /* _NET_RXRPC_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# | ||
# RxRPC session sockets | ||
# | ||
|
||
config AF_RXRPC | ||
tristate "RxRPC session sockets" | ||
depends on EXPERIMENTAL | ||
help | ||
Say Y or M here to include support for RxRPC session sockets (just | ||
the transport part, not the presentation part: (un)marshalling is | ||
left to the application). | ||
|
||
These are used for AFS kernel filesystem and userspace utilities. | ||
|
||
This module at the moment only supports client operations and is | ||
currently incomplete. | ||
|
||
See Documentation/networking/rxrpc.txt. | ||
|
||
|
||
config AF_RXRPC_DEBUG | ||
bool "RxRPC dynamic debugging" | ||
depends on AF_RXRPC | ||
help | ||
Say Y here to make runtime controllable debugging messages appear. | ||
|
||
See Documentation/networking/rxrpc.txt. | ||
|
||
|
||
config RXKAD | ||
tristate "RxRPC Kerberos security" | ||
depends on AF_RXRPC && KEYS | ||
help | ||
Provide kerberos 4 and AFS kaserver security handling for AF_RXRPC | ||
through the use of the key retention service. | ||
|
||
See Documentation/networking/rxrpc.txt. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.