RxRPC: Declare the security index constants symbolically
David Howells [Mon, 14 Sep 2009 01:17:30 +0000 (01:17 +0000)]
Declare the security index constants symbolically rather than just referring
to them numerically.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

include/linux/rxrpc.h
net/rxrpc/ar-key.c
net/rxrpc/rxkad.c

index f7b826b..a53915c 100644 (file)
@@ -58,5 +58,12 @@ struct sockaddr_rxrpc {
 #define RXRPC_SECURITY_AUTH    1       /* authenticated packets */
 #define RXRPC_SECURITY_ENCRYPT 2       /* encrypted packets */
 
+/*
+ * RxRPC security indices
+ */
+#define RXRPC_SECURITY_NONE    0       /* no security protocol */
+#define RXRPC_SECURITY_RXKAD   2       /* kaserver or kerberos 4 */
+#define RXRPC_SECURITY_RXGK    4       /* gssapi-based */
+#define RXRPC_SECURITY_RXK5    5       /* kerberos 5 */
 
 #endif /* _LINUX_RXRPC_H */
index ad8c7a7..b3d10e7 100644 (file)
@@ -122,7 +122,7 @@ static int rxrpc_instantiate(struct key *key, const void *data, size_t datalen)
                       tsec->ticket[6], tsec->ticket[7]);
 
        ret = -EPROTONOSUPPORT;
-       if (tsec->security_index != 2)
+       if (tsec->security_index != RXRPC_SECURITY_RXKAD)
                goto error;
 
        key->type_data.x[0] = tsec->security_index;
@@ -308,7 +308,7 @@ int rxrpc_get_server_data_key(struct rxrpc_connection *conn,
        _debug("key %d", key_serial(key));
 
        data.kver = 1;
-       data.tsec.security_index = 2;
+       data.tsec.security_index = RXRPC_SECURITY_RXKAD;
        data.tsec.ticket_len = 0;
        data.tsec.expiry = expiry;
        data.tsec.kvno = 0;
index ef8f910..acec762 100644 (file)
@@ -42,7 +42,7 @@ struct rxkad_level2_hdr {
        __be32  checksum;       /* decrypted data checksum */
 };
 
-MODULE_DESCRIPTION("RxRPC network protocol type-2 security (Kerberos)");
+MODULE_DESCRIPTION("RxRPC network protocol type-2 security (Kerberos 4)");
 MODULE_AUTHOR("Red Hat, Inc.");
 MODULE_LICENSE("GPL");
 
@@ -506,7 +506,7 @@ static int rxkad_verify_packet(const struct rxrpc_call *call,
        if (!call->conn->cipher)
                return 0;
 
-       if (sp->hdr.securityIndex != 2) {
+       if (sp->hdr.securityIndex != RXRPC_SECURITY_RXKAD) {
                *_abort_code = RXKADINCONSISTENCY;
                _leave(" = -EPROTO [not rxkad]");
                return -EPROTO;
@@ -1122,7 +1122,7 @@ static void rxkad_clear(struct rxrpc_connection *conn)
 static struct rxrpc_security rxkad = {
        .owner                          = THIS_MODULE,
        .name                           = "rxkad",
-       .security_index                 = RXKAD_VERSION,
+       .security_index                 = RXRPC_SECURITY_RXKAD,
        .init_connection_security       = rxkad_init_connection_security,
        .prime_packet_security          = rxkad_prime_packet_security,
        .secure_packet                  = rxkad_secure_packet,