iscsid.h (246e7a2b6494cd991b08ac669ed761ecea0cc98c) iscsid.h (45078155e3aea5ffb03d0b1d61f76a8f1dd89bf7)
1/*-
2 * Copyright (c) 2012 The FreeBSD Foundation
3 * All rights reserved.
4 *
5 * This software was developed by Edward Tomasz Napierala under sponsorship
6 * from the FreeBSD Foundation.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 20 unchanged lines hidden (view full) ---

29 * $FreeBSD$
30 */
31
32#ifndef ISCSID_H
33#define ISCSID_H
34
35#include <stdbool.h>
36#include <stdint.h>
1/*-
2 * Copyright (c) 2012 The FreeBSD Foundation
3 * All rights reserved.
4 *
5 * This software was developed by Edward Tomasz Napierala under sponsorship
6 * from the FreeBSD Foundation.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 20 unchanged lines hidden (view full) ---

29 * $FreeBSD$
30 */
31
32#ifndef ISCSID_H
33#define ISCSID_H
34
35#include <stdbool.h>
36#include <stdint.h>
37#include <openssl/md5.h>
37
38#include <iscsi_ioctl.h>
39
40#define DEFAULT_PIDFILE "/var/run/iscsid.pid"
41
42#define CONN_DIGEST_NONE 0
43#define CONN_DIGEST_CRC32C 1
44

--- 10 unchanged lines hidden (view full) ---

55 uint32_t conn_statsn;
56 int conn_header_digest;
57 int conn_data_digest;
58 bool conn_initial_r2t;
59 bool conn_immediate_data;
60 size_t conn_max_data_segment_length;
61 size_t conn_max_burst_length;
62 size_t conn_first_burst_length;
38
39#include <iscsi_ioctl.h>
40
41#define DEFAULT_PIDFILE "/var/run/iscsid.pid"
42
43#define CONN_DIGEST_NONE 0
44#define CONN_DIGEST_CRC32C 1
45

--- 10 unchanged lines hidden (view full) ---

56 uint32_t conn_statsn;
57 int conn_header_digest;
58 int conn_data_digest;
59 bool conn_initial_r2t;
60 bool conn_immediate_data;
61 size_t conn_max_data_segment_length;
62 size_t conn_max_burst_length;
63 size_t conn_first_burst_length;
63 char conn_mutual_challenge[CONN_MUTUAL_CHALLENGE_LEN];
64 unsigned char conn_mutual_id;
64 struct chap *conn_mutual_chap;
65};
66
67struct pdu {
68 struct connection *pdu_connection;
69 struct iscsi_bhs *pdu_bhs;
70 char *pdu_data;
71 size_t pdu_data_len;
72};
73
74#define KEYS_MAX 1024
75
76struct keys {
77 char *keys_names[KEYS_MAX];
78 char *keys_values[KEYS_MAX];
79 char *keys_data;
80 size_t keys_data_len;
81};
82
65};
66
67struct pdu {
68 struct connection *pdu_connection;
69 struct iscsi_bhs *pdu_bhs;
70 char *pdu_data;
71 size_t pdu_data_len;
72};
73
74#define KEYS_MAX 1024
75
76struct keys {
77 char *keys_names[KEYS_MAX];
78 char *keys_values[KEYS_MAX];
79 char *keys_data;
80 size_t keys_data_len;
81};
82
83#define CHAP_CHALLENGE_LEN 1024
84
85struct chap {
86 unsigned char chap_id;
87 char chap_challenge[CHAP_CHALLENGE_LEN];
88 char chap_response[MD5_DIGEST_LENGTH];
89};
90
91struct rchap {
92 char *rchap_secret;
93 unsigned char rchap_id;
94 void *rchap_challenge;
95 size_t rchap_challenge_len;
96};
97
98struct chap *chap_new(void);
99char *chap_get_id(const struct chap *chap);
100char *chap_get_challenge(const struct chap *chap);
101int chap_receive(struct chap *chap, const char *response);
102int chap_authenticate(struct chap *chap,
103 const char *secret);
104void chap_delete(struct chap *chap);
105
106struct rchap *rchap_new(const char *secret);
107int rchap_receive(struct rchap *rchap,
108 const char *id, const char *challenge);
109char *rchap_get_response(struct rchap *rchap);
110void rchap_delete(struct rchap *rchap);
111
83struct keys *keys_new(void);
84void keys_delete(struct keys *key);
85void keys_load(struct keys *keys, const struct pdu *pdu);
86void keys_save(struct keys *keys, struct pdu *pdu);
87const char *keys_find(struct keys *keys, const char *name);
88int keys_find_int(struct keys *keys, const char *name);
89void keys_add(struct keys *keys,
90 const char *name, const char *value);

--- 29 unchanged lines hidden ---
112struct keys *keys_new(void);
113void keys_delete(struct keys *key);
114void keys_load(struct keys *keys, const struct pdu *pdu);
115void keys_save(struct keys *keys, struct pdu *pdu);
116const char *keys_find(struct keys *keys, const char *name);
117int keys_find_int(struct keys *keys, const char *name);
118void keys_add(struct keys *keys,
119 const char *name, const char *value);

--- 29 unchanged lines hidden ---