- if(!setup_myself_reloadable())
- return false;
-
- get_config_bool(lookup_config(config_tree, "StrictSubnets"), &strictsubnets);
- get_config_bool(lookup_config(config_tree, "TunnelServer"), &tunnelserver);
- strictsubnets |= tunnelserver;
-
- if(get_config_int(lookup_config(config_tree, "MaxConnectionBurst"), &max_connection_burst)) {
- if(max_connection_burst <= 0) {
- logger(DEBUG_ALWAYS, LOG_ERR, "MaxConnectionBurst cannot be negative!");
- return false;
- }
- }
-
- if(get_config_int(lookup_config(config_tree, "UDPRcvBuf"), &udp_rcvbuf)) {
- if(udp_rcvbuf <= 0) {
- logger(DEBUG_ALWAYS, LOG_ERR, "UDPRcvBuf cannot be negative!");
- return false;
- }
- }
-
- if(get_config_int(lookup_config(config_tree, "UDPSndBuf"), &udp_sndbuf)) {
- if(udp_sndbuf <= 0) {
- logger(DEBUG_ALWAYS, LOG_ERR, "UDPSndBuf cannot be negative!");
- return false;
- }
- }
-
- int replaywin_int;
- if(get_config_int(lookup_config(config_tree, "ReplayWindow"), &replaywin_int)) {
- if(replaywin_int < 0) {
- logger(DEBUG_ALWAYS, LOG_ERR, "ReplayWindow cannot be negative!");
- return false;
- }
- replaywin = (unsigned)replaywin_int;
- sptps_replaywin = replaywin;
- }
-
- /* Generate packet encryption key */
-
- if(!get_config_string(lookup_config(config_tree, "Cipher"), &cipher))
- cipher = xstrdup("blowfish");
-
- if(!(myself->incipher = cipher_open_by_name(cipher))) {
- logger(DEBUG_ALWAYS, LOG_ERR, "Unrecognized cipher type!");