Better SPA message validation upon SPA decrypt/decode.
[fwknop.git] / lib / fko_limits.h
1 /*
2  *****************************************************************************
3  *
4  * File:    fko_limits.h
5  *
6  * Author:  Damien S. Stuart
7  *
8  * Copyright 2009-2010 Damien Stuart (dstuart@dstuart.org)
9  *
10  *  License (GNU Public License):
11  *
12  *  This program is free software; you can redistribute it and/or
13  *  modify it under the terms of the GNU General Public License
14  *  as published by the Free Software Foundation; either version 2
15  *  of the License, or (at your option) any later version.
16  *
17  *  This program is distributed in the hope that it will be useful,
18  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  *  GNU General Public License for more details.
21  *
22  *  You should have received a copy of the GNU General Public License
23  *  along with this program; if not, write to the Free Software
24  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
25  *  USA
26  *
27  *****************************************************************************
28 */
29 #ifndef FKO_LIMITS_H
30 #define FKO_LIMITS_H 1
31
32 /* How much space we allow for the fko context error message buffer.
33 */
34 #define MAX_FKO_ERR_MSG_SIZE        128
35
36 /* Define some limits (--DSS XXX: These sizes need to be reviewed)
37 */
38 #define MAX_SPA_USERNAME_SIZE        64
39 #define MAX_SPA_MESSAGE_SIZE        256
40 #define MAX_SPA_NAT_ACCESS_SIZE     128
41 #define MAX_SPA_SERVER_AUTH_SIZE     64
42 #define MAX_SPA_TIMESTAMP_SIZE       12
43 #define MAX_SPA_VERSION_SIZE          8 /* 12.34.56 */
44 #define MAX_SPA_MESSAGE_TYPE_SIZE     2
45
46 #define MIN_SPA_ENCODED_MSG_SIZE     36 /* Somewhat arbitrary */
47 #define MIN_GNUPG_MSG_SIZE          400
48 #define MIN_SPA_FIELDS                6
49 #define MAX_SPA_FIELDS               10
50
51 #define MAX_IPV4_STR_LEN             16
52 #define MIN_IPV4_STR_LEN              7
53
54 /* Misc.
55 */
56 #define FKO_ENCODE_TMP_BUF_SIZE    1024
57 #define FKO_RAND_VAL_SIZE            16
58
59 #endif /* FKO_LIMITS_H */
60
61 /***EOF***/