1 --- main.c.0 2009-04-03 22:35:07.235260321 -0500
2 +++ main.c 2009-04-03 23:04:29.755652593 -0500
4 {"passwd-on-stdin", 0, 0, '5'},
5 {"no-passwd", 0, 0, '6'},
6 {"reconnect-timeout", 1, 0, '7'},
7 + {"on-connect", 1, 0, '8'},
15 +void run_on_connect_app (const char *on_connect_app, const char *ifname, const char *vpn_addr)
17 + char cmd_text [512];
18 + const int cmd_size = sizeof (cmd_text)-1;
19 + if (NULL == on_connect_app)
22 + snprintf (cmd_text, cmd_size, "%s %s %s", on_connect_app, ifname, vpn_addr);
23 + cmd_text [cmd_size] = '\0';
28 + exit (system (cmd_text));
32 int main(int argc, char **argv)
34 + char *on_connect_app = NULL;
35 struct openconnect_info *vpninfo;
36 struct utsname utsbuf;
40 vpninfo->reconnect_timeout = atoi(optarg);
43 + on_connect_app = optarg;
46 vpninfo->cookie = optarg;
50 (vpninfo->dtls_fd==-1)?(vpninfo->deflate?"SSL + deflate":"SSL"):"DTLS");
52 + run_on_connect_app (on_connect_app, vpninfo->ifname, vpninfo->vpn_addr);
54 vpn_mainloop(vpninfo);