… | |
… | |
130 | if (!cleaner.is_active ()) |
130 | if (!cleaner.is_active ()) |
131 | cleaner.again (); |
131 | cleaner.again (); |
132 | } |
132 | } |
133 | |
133 | |
134 | rsa_cache () |
134 | rsa_cache () |
135 | : cleaner (this, &rsa_cache::cleaner_cb) |
|
|
136 | { |
135 | { |
|
|
136 | cleaner.set<rsa_cache, &rsa_cache::cleaner_cb> (this); |
137 | cleaner.set (RSA_TTL, RSA_TTL); |
137 | cleaner.set (RSA_TTL, RSA_TTL); |
138 | } |
138 | } |
139 | |
139 | |
140 | } rsa_cache; |
140 | } rsa_cache; |
141 | |
141 | |
… | |
… | |
808 | conf->nodename, (const char *)si); |
808 | conf->nodename, (const char *)si); |
809 | |
809 | |
810 | if (::conf.script_node_down) |
810 | if (::conf.script_node_down) |
811 | { |
811 | { |
812 | run_script_cb cb; |
812 | run_script_cb cb; |
813 | callback_set (cb, this, connection, script_node_down); |
813 | cb.set<connection, &connection::script_node_down> (this); |
814 | if (!run_script (cb, false)) |
814 | if (!run_script (cb, false)) |
815 | slog (L_WARN, _("node-down command execution failed, continuing.")); |
815 | slog (L_WARN, _("node-down command execution failed, continuing.")); |
816 | } |
816 | } |
817 | } |
817 | } |
818 | |
818 | |
… | |
… | |
1047 | p->prot_major, p->prot_minor); |
1047 | p->prot_major, p->prot_minor); |
1048 | |
1048 | |
1049 | if (::conf.script_node_up) |
1049 | if (::conf.script_node_up) |
1050 | { |
1050 | { |
1051 | run_script_cb cb; |
1051 | run_script_cb cb; |
1052 | callback_set (cb, this, connection, script_node_up); |
1052 | cb.set<connection, &connection::script_node_up> (this); |
1053 | if (!run_script (cb, false)) |
1053 | if (!run_script (cb, false)) |
1054 | slog (L_WARN, _("node-up command execution failed, continuing.")); |
1054 | slog (L_WARN, _("node-up command execution failed, continuing.")); |
1055 | } |
1055 | } |
1056 | |
1056 | |
1057 | break; |
1057 | break; |
… | |
… | |
1263 | return filename; |
1263 | return filename; |
1264 | } |
1264 | } |
1265 | |
1265 | |
1266 | connection::connection (struct vpn *vpn, conf_node *conf) |
1266 | connection::connection (struct vpn *vpn, conf_node *conf) |
1267 | : vpn(vpn), conf(conf) |
1267 | : vpn(vpn), conf(conf) |
1268 | , rekey (this, &connection::rekey_cb) |
|
|
1269 | , keepalive (this, &connection::keepalive_cb) |
|
|
1270 | , establish_connection (this, &connection::establish_connection_cb) |
|
|
1271 | #if ENABLE_DNS |
1268 | #if ENABLE_DNS |
1272 | , dns (0) |
1269 | , dns (0) |
1273 | #endif |
1270 | #endif |
1274 | { |
1271 | { |
|
|
1272 | rekey .set<connection, &connection::rekey_cb > (this); |
|
|
1273 | keepalive .set<connection, &connection::keepalive_cb > (this); |
|
|
1274 | establish_connection.set<connection, &connection::establish_connection_cb> (this); |
|
|
1275 | |
1275 | octx = ictx = 0; |
1276 | octx = ictx = 0; |
1276 | retry_cnt = 0; |
1277 | retry_cnt = 0; |
1277 | |
1278 | |
1278 | if (!conf->protocols) // make sure some protocol is enabled |
1279 | if (!conf->protocols) // make sure some protocol is enabled |
1279 | conf->protocols = PROT_UDPv4; |
1280 | conf->protocols = PROT_UDPv4; |