~ubuntu-branches/ubuntu/jaunty/ipsec-tools/jaunty-security

« back to all changes in this revision

Viewing changes to src/racoon/isakmp_cfg.h

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug
  • Date: 2008-06-18 17:34:55 UTC
  • mfrom: (1.1.8 upstream)
  • Revision ID: james.westby@ubuntu.com-20080618173455-nxdb1h0gikjgqux3
Tags: 1:0.7-2.1ubuntu1
* Merge from debian unstable, remaining changes:
  - debian/control:
    - Set Ubuntu maintainer address.
    - Depend on lsb-base.
  - debian/ipsec-tools.setkey.init:
    - LSB init script.
* Dropped:
  - debian/ipsec-tools.setkey.init:
    - restart method: stop then start.
    - Use {} instead of () in usage (bash_completion).
  - debian/racoon.init:
    - Create /var/run/racoon.
    - Use {} instead of () in usage (bash_completion).
* Bug fixed by this merge:
    - fix XAuth with U-FQDN (LP: #234166).
* Enable build with hardened options:
  - src/libipsec/policy_token.c: don't check return code of fwrite.
  - src/setkey/setkey.c: stop scanning stdin if fgets fails.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*      $NetBSD: isakmp_cfg.h,v 1.6 2006/09/09 16:22:09 manu Exp $      */
 
2
 
1
3
/*      $KAME$ */
2
4
 
3
5
/*
57
59
#define INTERNAL_IP6_SUBNET        15
58
60
 
59
61
/* For APPLICATION_VERSION */
60
 
#define ISAKMP_CFG_RACOON_VERSION "KAME/racoon " \
61
 
                                  "+ Hybrid auth Patches <manu@netbsd.org>"
 
62
#define ISAKMP_CFG_RACOON_VERSION "racoon / IPsec-tools"
 
63
 
 
64
/* For the wins servers -- XXX find the value somewhere ? */
 
65
#define MAXWINS 4
62
66
 
63
67
/* 
64
68
 * Global configuration for ISAKMP mode confiration address allocation 
65
 
 * Readen from the mode_cfg section of racoon.conf
 
69
 * Read from the mode_cfg section of racoon.conf
66
70
 */
67
71
struct isakmp_cfg_port {
68
72
        char    used;
72
76
};
73
77
 
74
78
struct isakmp_cfg_config {
75
 
        in_addr_t       network4;
76
 
        in_addr_t       netmask4;
77
 
        in_addr_t       dns4;
78
 
        in_addr_t       nbns4;
79
 
        struct isakmp_cfg_port *port_pool;
80
 
        int authsource;
81
 
        int confsource;
82
 
        int accounting;
83
 
        size_t pool_size;
84
 
        int auth_throttle;
85
 
        char motd[MAXPATHLEN + 1];
86
 
        int pfs_group;
87
 
        int save_passwd;
 
79
        in_addr_t               network4;
 
80
        in_addr_t               netmask4;
 
81
        in_addr_t               dns4[MAXNS];
 
82
        int                     dns4_index;
 
83
        in_addr_t               nbns4[MAXWINS];
 
84
        int                     nbns4_index;
 
85
        struct isakmp_cfg_port  *port_pool;
 
86
        int                     authsource;
 
87
        int                     groupsource;
 
88
        char                    **grouplist;
 
89
        int                     groupcount;
 
90
        int                     confsource;
 
91
        int                     accounting;
 
92
        size_t                  pool_size;
 
93
        int                     auth_throttle;
 
94
        /* XXX move this to a unity specific sub-structure */
 
95
        char                    default_domain[MAXPATHLEN + 1];
 
96
        char                    motd[MAXPATHLEN + 1];
 
97
        struct unity_netentry   *splitnet_list;
 
98
        int                     splitnet_count;
 
99
        int                     splitnet_type;
 
100
        char                    *splitdns_list;
 
101
        int                     splitdns_len;
 
102
        int                     pfs_group;
 
103
        int                     save_passwd;
88
104
};
89
105
 
 
106
/* For utmp updating */
 
107
#define TERMSPEC        "vpn%d"
 
108
 
90
109
/* For authsource */
91
110
#define ISAKMP_CFG_AUTH_SYSTEM  0
92
111
#define ISAKMP_CFG_AUTH_RADIUS  1
93
112
#define ISAKMP_CFG_AUTH_PAM     2
 
113
#define ISAKMP_CFG_AUTH_LDAP    4
 
114
 
 
115
/* For groupsource */
 
116
#define ISAKMP_CFG_GROUP_SYSTEM 0
 
117
#define ISAKMP_CFG_GROUP_LDAP   1
94
118
 
95
119
/* For confsource */
96
120
#define ISAKMP_CFG_CONF_LOCAL   0
97
121
#define ISAKMP_CFG_CONF_RADIUS  1
 
122
#define ISAKMP_CFG_CONF_LDAP    2
98
123
 
99
124
/* For accounting */
100
125
#define ISAKMP_CFG_ACCT_NONE    0
101
126
#define ISAKMP_CFG_ACCT_RADIUS  1
102
127
#define ISAKMP_CFG_ACCT_PAM     2
 
128
#define ISAKMP_CFG_ACCT_LDAP    3
 
129
#define ISAKMP_CFG_ACCT_SYSTEM  4
103
130
 
104
131
/* For pool_size */
105
132
#define ISAKMP_CFG_MAX_CNX      255
107
134
/* For motd */
108
135
#define ISAKMP_CFG_MOTD "/etc/motd"
109
136
 
 
137
/* For default domain */
 
138
#define ISAKMP_CFG_DEFAULT_DOMAIN ""
 
139
 
110
140
extern struct isakmp_cfg_config isakmp_cfg_config;
111
141
 
112
142
/*
119
149
        char login[LOGINLEN + 1];       /* login */
120
150
        struct in_addr addr4;           /* IPv4 address */
121
151
        struct in_addr mask4;           /* IPv4 netmask */
122
 
        struct in_addr dns4;            /* IPv4 DNS (when client only) */
123
 
        struct in_addr wins4;           /* IPv4 WINS (when client only) */
 
152
        struct in_addr dns4[MAXNS];     /* IPv4 DNS (when client only) */
 
153
        int dns4_index;                 /* Number of IPv4 DNS (client only) */
 
154
        struct in_addr wins4[MAXWINS];  /* IPv4 WINS (when client only) */
 
155
        int wins4_index;                /* Number of IPv4 WINS (client only) */
 
156
        char default_domain[MAXPATHLEN + 1];    /* Default domain recieved */
 
157
        struct unity_netentry 
 
158
            *split_include;             /* UNITY_SPLIT_INCLUDE */
 
159
        int include_count;              /* Number of SPLIT_INCLUDES */
 
160
        struct unity_netentry 
 
161
            *split_local;               /* UNITY_LOCAL_LAN */
 
162
        int local_count;                /* Number of SPLIT_LOCAL */
124
163
        struct xauth_state xauth;       /* Xauth state, if revelant */          
125
164
        struct isakmp_ivm *ivm;         /* XXX Use iph1's ivm? */
 
165
        u_int32_t last_msgid;           /* Last message-ID */
126
166
};
127
167
 
128
168
/* flags */
129
169
#define ISAKMP_CFG_VENDORID_XAUTH       0x01    /* Supports Xauth */
130
170
#define ISAKMP_CFG_VENDORID_UNITY       0x02    /* Cisco Unity compliant */
131
171
#define ISAKMP_CFG_PORT_ALLOCATED       0x04    /* Port allocated */
132
 
#define ISAKMP_CFG_ADDR4_RADIUS         0x08    /* Address from RADIUS  */
133
 
#define ISAKMP_CFG_MASK4_RADIUS         0x10    /* Netmask from RADIUS */
 
172
#define ISAKMP_CFG_ADDR4_EXTERN         0x08    /* Address from external config  */
 
173
#define ISAKMP_CFG_MASK4_EXTERN         0x10    /* Netmask from external config */
134
174
#define ISAKMP_CFG_ADDR4_LOCAL          0x20    /* Address from local pool */
135
175
#define ISAKMP_CFG_MASK4_LOCAL          0x40    /* Netmask from local pool */
136
176
#define ISAKMP_CFG_GOT_ADDR4            0x80    /* Client got address */
138
178
#define ISAKMP_CFG_GOT_DNS4             0x200   /* Client got DNS */
139
179
#define ISAKMP_CFG_GOT_WINS4            0x400   /* Client got WINS */
140
180
#define ISAKMP_CFG_DELETE_PH1           0x800   /* phase 1 should be deleted */
 
181
#define ISAKMP_CFG_GOT_DEFAULT_DOMAIN   0x1000  /* Client got default domain */
 
182
#define ISAKMP_CFG_GOT_SPLIT_INCLUDE    0x2000  /* Client got a split network config */
 
183
#define ISAKMP_CFG_GOT_SPLIT_LOCAL      0x4000  /* Client got a split LAN config */
141
184
 
142
185
struct isakmp_pl_attr;
143
186
struct ph1handle;
153
196
struct isakmp_cfg_state *isakmp_cfg_mkstate(void);
154
197
vchar_t *isakmp_cfg_copy(struct ph1handle *, struct isakmp_data *);
155
198
vchar_t *isakmp_cfg_short(struct ph1handle *, struct isakmp_data *, int);
 
199
vchar_t *isakmp_cfg_varlen(struct ph1handle *, struct isakmp_data *, char *, size_t);
156
200
vchar_t *isakmp_cfg_string(struct ph1handle *, struct isakmp_data *, char *);
157
201
int isakmp_cfg_getconfig(struct ph1handle *);
158
202
int isakmp_cfg_setenv(struct ph1handle *, char ***, int *);
159
203
 
160
 
int isakmp_cfg_getport(struct ph1handle *);       
 
204
int isakmp_cfg_resize_pool(int);
 
205
int isakmp_cfg_getport(struct ph1handle *);
161
206
int isakmp_cfg_putport(struct ph1handle *, unsigned int);
 
207
int isakmp_cfg_init(int);
 
208
#define ISAKMP_CFG_INIT_COLD    1
 
209
#define ISAKMP_CFG_INIT_WARM    0
162
210
 
163
211
#ifdef HAVE_LIBRADIUS
164
212
struct rad_handle;
170
218
int isakmp_cfg_accounting_pam(int, int);
171
219
void cleanup_pam(int);
172
220
#endif
 
221
 
 
222
int isakmp_cfg_accounting_system(int, struct sockaddr *, char *, int);