• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src/router/rc/

Lines Matching refs:buffer

52 	char buffer[BUF_SIZE];
68 sprintf(&buffer[0], "start_vpnclient%d", clientNum);
70 notify_rc(&buffer[0]);
76 if ( (pid = pidof(&buffer[6])) >= 0 )
83 sprintf(&buffer[0], "vpn_client%d_state", clientNum);
84 nvram_set(&buffer[0], "1"); //initializing
85 sprintf(&buffer[0], "vpn_client%d_errno", clientNum);
86 nvram_set(&buffer[0], "0");
89 sprintf(&buffer[0], "vpn_client%d_if", clientNum);
90 if ( nvram_contains_word(&buffer[0], "tap") )
92 else if ( nvram_contains_word(&buffer[0], "tun") )
96 vpnlog(VPN_LOG_ERROR, "Invalid interface type, %.3s", nvram_safe_get(&buffer[0]));
101 snprintf(&iface[0], IF_SIZE, "%s%d", nvram_safe_get(&buffer[0]), clientNum+CLIENT_IF_START);
104 sprintf(&buffer[0], "vpn_client%d_crypt", clientNum);
105 if ( nvram_contains_word(&buffer[0], "tls") )
107 else if ( nvram_contains_word(&buffer[0], "secret") )
109 else if ( nvram_contains_word(&buffer[0], "custom") )
113 vpnlog(VPN_LOG_ERROR,"Invalid encryption mode, %.6s", nvram_safe_get(&buffer[0]));
118 sprintf(&buffer[0], "vpn_client%d_bridge", clientNum);
119 if ( ifType == TAP && nvram_get_int(&buffer[0]) == 1 )
123 sprintf(&buffer[0], "vpn_client%d_nat", clientNum);
124 if ( (ifType == TUN || routeMode != BRIDGE) && nvram_get_int(&buffer[0]) == 1 )
129 sprintf(&buffer[0], "/etc/openvpn/client%d", clientNum);
130 mkdir(&buffer[0], 0700);
133 sprintf(&buffer[0], "/etc/openvpn/vpnclient%d", clientNum);
134 unlink(&buffer[0]);
135 if ( symlink("/usr/sbin/openvpn", &buffer[0]) )
147 sprintf(&buffer[0], "openvpn --mktun --dev %s", &iface[0]);
148 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
161 snprintf(&buffer[0], BUF_SIZE, "brctl addif %s %s", nvram_safe_get("lan_ifname"), &iface[0]);
162 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
171 snprintf(&buffer[0], BUF_SIZE, "ifconfig %s promisc up", &iface[0]);
172 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
181 sprintf(&buffer[0], "vpn_client%d_userauth", clientNum);
182 userauth = nvram_get_int(&buffer[0]);
183 sprintf(&buffer[0], "vpn_client%d_useronly", clientNum);
184 useronly = userauth && nvram_get_int(&buffer[0]);
188 sprintf(&buffer[0], "/etc/openvpn/client%d/config.ovpn", clientNum);
189 fp = fopen(&buffer[0], "w");
190 chmod(&buffer[0], S_IRUSR|S_IWUSR);
196 sprintf(&buffer[0], "vpn_client%d_proto", clientNum);
197 fprintf(fp, "proto %s\n", nvram_safe_get(&buffer[0]));
198 sprintf(&buffer[0], "vpn_client%d_addr", clientNum);
199 fprintf(fp, "remote %s ", nvram_safe_get(&buffer[0]));
200 sprintf(&buffer[0], "vpn_client%d_port", clientNum);
201 fprintf(fp, "%d\n", nvram_get_int(&buffer[0]));
206 sprintf(&buffer[0], "vpn_client%d_local", clientNum);
207 fprintf(fp, "ifconfig %s ", nvram_safe_get(&buffer[0]));
208 sprintf(&buffer[0], "vpn_client%d_remote", clientNum);
209 fprintf(fp, "%s\n", nvram_safe_get(&buffer[0]));
213 sprintf(&buffer[0], "vpn_client%d_local", clientNum);
214 fprintf(fp, "ifconfig %s ", nvram_safe_get(&buffer[0]));
215 sprintf(&buffer[0], "vpn_client%d_nm", clientNum);
216 fprintf(fp, "%s\n", nvram_safe_get(&buffer[0]));
219 sprintf(&buffer[0], "vpn_client%d_retry", clientNum);
220 if ( (nvi = nvram_get_int(&buffer[0])) >= 0 )
228 sprintf(&buffer[0], "vpn_client%d_comp", clientNum);
229 if ( nvram_get_int(&buffer[0]) >= 0 )
230 fprintf(fp, "comp-lzo %s\n", nvram_safe_get(&buffer[0]));
231 sprintf(&buffer[0], "vpn_client%d_cipher", clientNum);
232 if ( !nvram_contains_word(&buffer[0], "default") )
233 fprintf(fp, "cipher %s\n", nvram_safe_get(&buffer[0]));
234 sprintf(&buffer[0], "vpn_client%d_rgw", clientNum);
235 if ( nvram_get_int(&buffer[0]) )
237 sprintf(&buffer[0], "vpn_client%d_gw", clientNum);
238 if ( ifType == TAP && nvram_safe_get(&buffer[0])[0] != '\0' )
239 fprintf(fp, "route-gateway %s\n", nvram_safe_get(&buffer[0]));
248 sprintf(&buffer[0], "vpn_client%d_reneg", clientNum);
249 if ( (nvl = atol(nvram_safe_get(&buffer[0]))) >= 0 )
252 sprintf(&buffer[0], "vpn_client%d_adns", clientNum);
253 if ( nvram_get_int(&buffer[0]) > 0 )
255 sprintf(&buffer[0], "/etc/openvpn/client%d/updown.sh", clientNum);
256 symlink("/usr/sbin/updown.sh", &buffer[0]);
262 sprintf(&buffer[0], "vpn_client%d_hmac", clientNum);
263 nvi = nvram_get_int(&buffer[0]);
264 sprintf(&buffer[0], "vpn_crt_client%d_static", clientNum);
265 if ( !ovpn_crt_is_empty(&buffer[0]) && nvi >= 0 )
273 sprintf(&buffer[0], "vpn_crt_client%d_ca", clientNum);
274 if ( !ovpn_crt_is_empty(&buffer[0]) )
278 sprintf(&buffer[0], "vpn_crt_client%d_crt", clientNum);
279 if ( !ovpn_crt_is_empty(&buffer[0]) )
281 sprintf(&buffer[0], "vpn_crt_client%d_key", clientNum);
282 if ( !ovpn_crt_is_empty(&buffer[0]) )
285 sprintf(&buffer[0], "vpn_client%d_tlsremote", clientNum);
286 if (nvram_get_int(&buffer[0]))
288 sprintf(&buffer[0], "vpn_client%d_cn", clientNum);
289 fprintf(fp, "tls-remote %s\n", nvram_safe_get(&buffer[0]));
294 sprintf(&buffer[0], "vpn_crt_client%d_crl", clientNum);
295 if ( !ovpn_crt_is_empty(&buffer[0]) )
300 sprintf(&buffer[0], "vpn_crt_client%d_static", clientNum);
301 if ( !ovpn_crt_is_empty(&buffer[0]) )
309 sprintf(&buffer[0], "/etc/openvpn/client%d/updown.sh", clientNum);
310 symlink("/jffs/scripts/openvpn-event", &buffer[0]);
319 sprintf(&buffer[0], "vpn_client%d_custom", clientNum);
320 fprintf(fp, "%s", nvram_safe_get(&buffer[0]));
328 sprintf(&buffer[0], "vpn_crt_client%d_ca", clientNum);
329 if ( !ovpn_crt_is_empty(&buffer[0]) )
331 sprintf(&buffer[0], "/etc/openvpn/client%d/ca.crt", clientNum);
332 fp = fopen(&buffer[0], "w");
333 chmod(&buffer[0], S_IRUSR|S_IWUSR);
334 sprintf(&buffer[0], "vpn_crt_client%d_ca", clientNum);
335 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
341 sprintf(&buffer[0], "vpn_crt_client%d_key", clientNum);
342 if ( !ovpn_crt_is_empty(&buffer[0]) )
344 sprintf(&buffer[0], "/etc/openvpn/client%d/client.key", clientNum);
345 fp = fopen(&buffer[0], "w");
346 chmod(&buffer[0], S_IRUSR|S_IWUSR);
347 sprintf(&buffer[0], "vpn_crt_client%d_key", clientNum);
348 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
352 sprintf(&buffer[0], "vpn_crt_client%d_crt", clientNum);
353 if ( !ovpn_crt_is_empty(&buffer[0]) )
355 sprintf(&buffer[0], "/etc/openvpn/client%d/client.crt", clientNum);
356 fp = fopen(&buffer[0], "w");
357 chmod(&buffer[0], S_IRUSR|S_IWUSR);
358 sprintf(&buffer[0], "vpn_crt_client%d_crt", clientNum);
359 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
365 sprintf(&buffer[0], "/etc/openvpn/client%d/up", clientNum);
366 fp = fopen(&buffer[0], "w");
367 chmod(&buffer[0], S_IRUSR|S_IWUSR);
368 sprintf(&buffer[0], "vpn_client%d_username", clientNum);
369 fprintf(fp, "%s\n", nvram_safe_get(&buffer[0]));
370 sprintf(&buffer[0], "vpn_client%d_password", clientNum);
371 fprintf(fp, "%s\n", nvram_safe_get(&buffer[0]));
375 sprintf(&buffer[0], "vpn_crt_client%d_crl", clientNum);
376 if ( !ovpn_crt_is_empty(&buffer[0]) )
378 sprintf(&buffer[0], "/etc/openvpn/client%d/crl.pem", clientNum);
379 fp = fopen(&buffer[0], "w");
380 chmod(&buffer[0], S_IRUSR|S_IWUSR);
381 sprintf(&buffer[0], "vpn_crt_client%d_crl", clientNum);
382 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
386 sprintf(&buffer[0], "vpn_client%d_hmac", clientNum);
387 if ( cryptMode == SECRET || (cryptMode == TLS && nvram_get_int(&buffer[0]) >= 0) )
389 sprintf(&buffer[0], "vpn_crt_client%d_static", clientNum);
390 if ( !ovpn_crt_is_empty(&buffer[0]) )
392 sprintf(&buffer[0], "/etc/openvpn/client%d/static.key", clientNum);
393 fp = fopen(&buffer[0], "w");
394 chmod(&buffer[0], S_IRUSR|S_IWUSR);
395 sprintf(&buffer[0], "vpn_crt_client%d_static", clientNum);
396 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
405 sprintf(&buffer[0], "taskset -c %d /etc/openvpn/vpnclient%d --cd /etc/openvpn/client%d --config config.ovpn", (clientNum == 2 ? 1 : 0), clientNum, clientNum);
409 sprintf(&buffer[0], "/etc/openvpn/vpnclient%d --cd /etc/openvpn/client%d --config config.ovpn", clientNum, clientNum);
410 vpnlog(VPN_LOG_INFO,"Starting OpenVPN: %s",&buffer[0]);
411 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
421 sprintf(&buffer[0], "vpn_client%d_firewall", clientNum);
422 if ( !nvram_contains_word(&buffer[0], "custom") )
427 sprintf(&buffer[0], "/etc/openvpn/fw/client%d-fw.sh", clientNum);
428 fp = fopen(&buffer[0], "w");
429 chmod(&buffer[0], S_IRUSR|S_IWUSR|S_IXUSR);
445 sprintf(&buffer[0], "/etc/openvpn/fw/client%d-fw.sh", clientNum);
446 argv[0] = &buffer[0];
453 sprintf(&buffer[0], "vpn_client%d_poll", clientNum);
454 if ( (nvi = nvram_get_int(&buffer[0])) > 0 )
459 sprintf(&buffer[0], "CheckVPNClient%d", clientNum);
460 argv[2] = &buffer[0];
461 sprintf(&buffer[strlen(&buffer[0])+1], "*/%d * * * * service start_vpnclient%d", nvi, clientNum);
462 argv[3] = &buffer[strlen(&buffer[0])+1];
469 // sprintf(&buffer[0], "vpn_client%d", clientNum);
470 // allow_fastnat(buffer, 0);
481 char buffer[BUF_SIZE];
483 sprintf(&buffer[0], "stop_vpnclient%d", clientNum);
485 notify_rc(&buffer[0]);
495 sprintf(&buffer[0], "CheckVPNClient%d", clientNum);
496 argv[2] = &buffer[0];
503 sprintf(&buffer[0], "/etc/openvpn/fw/client%d-fw.sh", clientNum);
507 argv[3] = &buffer[0];
511 argv[0] = &buffer[0];
519 sprintf(&buffer[0], "vpnclient%d", clientNum);
520 if ( !ovpn_waitfor(&buffer[0]) )
525 sprintf(&buffer[0], "openvpn --rmtun --dev tap%d", clientNum+CLIENT_IF_START);
526 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
529 sprintf(&buffer[0], "openvpn --rmtun --dev tun%d", clientNum+CLIENT_IF_START);
530 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
540 sprintf(&buffer[0], "rm -rf /etc/openvpn/client%d /etc/openvpn/fw/client%d-fw.sh /etc/openvpn/vpnclient%d",clientNum,clientNum,clientNum);
541 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
551 // sprintf(&buffer[0], "vpn_client%d", clientNum);
552 // allow_fastnat(buffer, 1);
556 sprintf(&buffer[0], "vpn_client%d_state", clientNum);
557 nvram_set(&buffer[0], "0");
558 sprintf(&buffer[0], "vpn_client%d_errno", clientNum);
559 nvram_set(&buffer[0], "0");
568 char buffer[BUF_SIZE];
587 sprintf(&buffer[0], "start_vpnserver%d", serverNum);
589 notify_rc(&buffer[0]);
595 if ( (pid = pidof(&buffer[6])) >= 0 )
602 sprintf(&buffer[0], "vpn_server%d_state", serverNum);
603 nvram_set(&buffer[0], "1"); //initializing
604 sprintf(&buffer[0], "vpn_server%d_errno", serverNum);
605 nvram_set(&buffer[0], "0");
608 sprintf(&buffer[0], "vpn_server%d_if", serverNum);
609 if ( nvram_contains_word(&buffer[0], "tap") )
611 else if ( nvram_contains_word(&buffer[0], "tun") )
615 vpnlog(VPN_LOG_ERROR,"Invalid interface type, %.3s", nvram_safe_get(&buffer[0]));
620 snprintf(&iface[0], IF_SIZE, "%s%d", nvram_safe_get(&buffer[0]), serverNum+SERVER_IF_START);
628 sprintf(&buffer[0], "vpn_server%d_crypt", serverNum);
629 if ( nvram_contains_word(&buffer[0], "tls") )
631 else if ( nvram_contains_word(&buffer[0], "secret") )
633 else if ( nvram_contains_word(&buffer[0], "custom") )
637 vpnlog(VPN_LOG_ERROR,"Invalid encryption mode, %.6s", nvram_safe_get(&buffer[0]));
643 sprintf(&buffer[0], "/etc/openvpn/server%d", serverNum);
644 mkdir(&buffer[0], 0700);
647 sprintf(&buffer[0], "/etc/openvpn/vpnserver%d", serverNum);
648 unlink(&buffer[0]);
649 if ( symlink("/usr/sbin/openvpn", &buffer[0]) )
661 sprintf(&buffer[0], "openvpn --mktun --dev %s", &iface[0]);
662 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
673 snprintf(&buffer[0], BUF_SIZE, "brctl addif %s %s", nvram_safe_get("lan_ifname"), &iface[0]);
674 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
684 sprintf(&buffer[0], "ifconfig %s 0.0.0.0 promisc up", &iface[0]);
685 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
695 sprintf(&buffer[0], "/etc/openvpn/server%d/config.ovpn", serverNum);
696 fp = fopen(&buffer[0], "w");
697 chmod(&buffer[0], S_IRUSR|S_IWUSR);
701 sprintf(&buffer[0], "/etc/openvpn/server%d/client.ovpn", serverNum);
702 fp_client = fopen(&buffer[0], "w");
710 sprintf(&buffer[0], "vpn_server%d_sn", serverNum);
711 fprintf(fp, "server %s ", nvram_safe_get(&buffer[0]));
712 sprintf(&buffer[0], "vpn_server%d_nm", serverNum);
713 fprintf(fp, "%s\n", nvram_safe_get(&buffer[0]));
720 sprintf(&buffer[0], "vpn_server%d_dhcp", serverNum);
721 if ( nvram_get_int(&buffer[0]) == 0 )
725 sprintf(&buffer[0], "vpn_server%d_r1", serverNum);
726 fprintf(fp, "%s ", nvram_safe_get(&buffer[0]));
727 sprintf(&buffer[0], "vpn_server%d_r2", serverNum);
728 fprintf(fp, "%s", nvram_safe_get(&buffer[0]));
752 sprintf(&buffer[0], "vpn_server%d_local", serverNum);
753 fprintf(fp, "ifconfig %s ", nvram_safe_get(&buffer[0]));
754 sprintf(&buffer[0], "vpn_server%d_remote", serverNum);
755 fprintf(fp, "%s\n", nvram_safe_get(&buffer[0]));
758 sprintf(&buffer[0], "vpn_server%d_remote", serverNum);
759 fprintf(fp_client, "ifconfig %s ", nvram_safe_get(&buffer[0]));
760 sprintf(&buffer[0], "vpn_server%d_local", serverNum);
761 fprintf(fp_client, "%s\n", nvram_safe_get(&buffer[0]));
769 sprintf(&buffer[0], "vpn_server%d_proto", serverNum);
770 fprintf(fp, "proto %s\n", nvram_safe_get(&buffer[0]));
771 if(!strcmp(nvram_safe_get(&buffer[0]), "udp"))
772 fprintf(fp_client, "proto %s\n", nvram_safe_get(&buffer[0]));
777 sprintf(&buffer[0], "vpn_server%d_port", serverNum);
778 fprintf(fp, "port %d\n", nvram_get_int(&buffer[0]));
781 fprintf(fp_client, "remote %s %s\n", nvram_safe_get("ddns_hostname_x"), nvram_safe_get(&buffer[0]));
783 fprintf(fp_client, "remote %s %s\n", nvram_safe_get("wan0_ipaddr"), nvram_safe_get(&buffer[0]));
790 sprintf(&buffer[0], "vpn_server%d_cipher", serverNum);
791 if ( !nvram_contains_word(&buffer[0], "default") ) {
792 fprintf(fp, "cipher %s\n", nvram_safe_get(&buffer[0]));
793 fprintf(fp_client, "cipher %s\n", nvram_safe_get(&buffer[0]));
797 sprintf(&buffer[0], "vpn_server%d_comp", serverNum);
798 if ( nvram_get_int(&buffer[0]) >= 0 ) {
799 fprintf(fp, "comp-lzo %s\n", nvram_safe_get(&buffer[0]));
800 fprintf(fp_client, "comp-lzo %s\n", nvram_safe_get(&buffer[0]));
814 sprintf(&buffer[0], "vpn_server%d_reneg", serverNum);
815 if ( (nvl = atol(nvram_safe_get(&buffer[0]))) >= 0 ) {
820 sprintf(&buffer[0], "vpn_server%d_plan", serverNum);
821 if ( ifType == TUN && nvram_get_int(&buffer[0]) )
829 sprintf(&buffer[0], "vpn_server%d_ccd", serverNum);
830 if ( nvram_get_int(&buffer[0]) )
834 sprintf(&buffer[0], "vpn_server%d_c2c", serverNum);
835 if ( (c2c = nvram_get_int(&buffer[0])) )
838 sprintf(&buffer[0], "vpn_server%d_ccd_excl", serverNum);
839 if ( nvram_get_int(&buffer[0]) )
844 sprintf(&buffer[0], "/etc/openvpn/server%d/ccd", serverNum);
845 mkdir(&buffer[0], 0700);
846 chdir(&buffer[0]);
848 sprintf(&buffer[0], "vpn_server%d_ccd_val", serverNum);
849 strcpy(&buffer[0], nvram_safe_get(&buffer[0]));
850 chp = strtok(&buffer[0],"<");
908 sprintf(&buffer[0], "/jffs/configs/openvpn/ccd%d", serverNum);
910 if(check_if_dir_exist(&buffer[0]))
913 sprintf(buffer2, "cp %s/* .", &buffer[0]); /* */
922 sprintf(&buffer[0], "vpn_server%d_pdns", serverNum);
923 if ( nvram_get_int(&buffer[0]) )
930 sprintf(&buffer[0], "vpn_server%d_rgw", serverNum);
931 if ( nvram_get_int(&buffer[0]) )
938 sprintf(&buffer[0], "vpn_server%d_hmac", serverNum);
939 nvi = nvram_get_int(&buffer[0]);
940 //sprintf(&buffer[0], "vpn_crt_server%d_static", serverNum);
941 //if ( !ovpn_crt_is_empty(&buffer[0]) && nvi >= 0 )
950 sprintf(&buffer[0], "vpn_server%d_igncrt", serverNum);
951 useronly = nvram_get_int(&buffer[0]);
965 //sprintf(&buffer[0], "vpn_crt_server%d_ca", serverNum);
966 //if ( !ovpn_crt_is_empty(&buffer[0]) )
968 //sprintf(&buffer[0], "vpn_crt_server%d_dh", serverNum);
969 //if ( !ovpn_crt_is_empty(&buffer[0]) )
971 //sprintf(&buffer[0], "vpn_crt_server%d_crt", serverNum);
972 //if ( !ovpn_crt_is_empty(&buffer[0]) )
974 //sprintf(&buffer[0], "vpn_crt_server%d_key", serverNum);
975 //if ( !ovpn_crt_is_empty(&buffer[0]) )
977 sprintf(&buffer[0], "vpn_crt_server%d_crl", serverNum);
978 if ( !ovpn_crt_is_empty(&buffer[0]) )
983 //sprintf(&buffer[0], "vpn_crt_server%d_static", serverNum);
984 //if ( !ovpn_crt_is_empty(&buffer[0]) )
990 sprintf(&buffer[0], "/etc/openvpn/server%d/updown.sh", serverNum);
991 symlink("/jffs/scripts/openvpn-event", &buffer[0]);
1000 sprintf(&buffer[0], "vpn_server%d_custom", serverNum);
1001 fprintf(fp, "%s", nvram_safe_get(&buffer[0]));
1052 sprintf(&buffer[0], "vpn_crt_server%d_ca_key", serverNum);
1053 set_crt_parsed(&buffer[0], fpath);
1077 sprintf(&buffer[0], "vpn_crt_server%d_client_key", serverNum);
1078 set_crt_parsed(&buffer[0], fpath);
1084 sprintf(&buffer[0], "vpn_crt_server%d_client_crt", serverNum);
1085 set_crt_parsed(&buffer[0], fpath);
1090 sprintf(&buffer[0], "/etc/openvpn/server%d/ca.key", serverNum);
1091 fp = fopen(&buffer[0], "w");
1092 chmod(&buffer[0], S_IRUSR|S_IWUSR);
1093 sprintf(&buffer[0], "vpn_crt_server%d_ca_key", serverNum);
1094 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1097 //sprintf(&buffer[0], "vpn_crt_server%d_ca", serverNum);
1098 //if ( !ovpn_crt_is_empty(&buffer[0]) )
1100 sprintf(&buffer[0], "/etc/openvpn/server%d/ca.crt", serverNum);
1101 fp = fopen(&buffer[0], "w");
1102 chmod(&buffer[0], S_IRUSR|S_IWUSR);
1103 sprintf(&buffer[0], "vpn_crt_server%d_ca", serverNum);
1104 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1108 //sprintf(&buffer[0], "vpn_crt_server%d_key", serverNum);
1109 //if ( !ovpn_crt_is_empty(&buffer[0]) )
1111 sprintf(&buffer[0], "/etc/openvpn/server%d/server.key", serverNum);
1112 fp = fopen(&buffer[0], "w");
1113 chmod(&buffer[0], S_IRUSR|S_IWUSR);
1114 sprintf(&buffer[0], "vpn_crt_server%d_key", serverNum);
1115 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1119 //sprintf(&buffer[0], "vpn_crt_server%d_crt", serverNum);
1120 //if ( !ovpn_crt_is_empty(&buffer[0]) )
1122 sprintf(&buffer[0], "/etc/openvpn/server%d/server.crt", serverNum);
1123 fp = fopen(&buffer[0], "w");
1124 chmod(&buffer[0], S_IRUSR|S_IWUSR);
1125 sprintf(&buffer[0], "vpn_crt_server%d_crt", serverNum);
1126 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1130 sprintf(&buffer[0], "vpn_crt_server%d_crl", serverNum);
1131 if ( !ovpn_crt_is_empty(&buffer[0]) )
1133 sprintf(&buffer[0], "/etc/openvpn/server%d/crl.pem", serverNum);
1134 fp = fopen(&buffer[0], "w");
1135 chmod(&buffer[0], S_IRUSR|S_IWUSR);
1136 sprintf(&buffer[0], "vpn_crt_server%d_crl", serverNum);
1137 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1142 sprintf(&buffer[0], "vpn_crt_server%d_ca", serverNum);
1144 fprintf(fp_client, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1155 sprintf(&buffer[0], "vpn_crt_server%d_client_crt", serverNum);
1156 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1159 sprintf(&buffer[0], "openssl verify -CAfile /etc/openvpn/server%d/ca.crt /tmp/test.crt > /tmp/output.txt", serverNum);
1160 system(&buffer[0]);
1161 f_read_string("/tmp/output.txt", &buffer[0], 64);
1164 if (!strncmp(&buffer[0],"/tmp/test.crt: OK",17))
1168 sprintf(&buffer[0], "vpn_crt_server%d_client_crt", serverNum);
1169 if ((valid == 1) && ( !ovpn_crt_is_empty(&buffer[0]) ) ) {
1170 fprintf(fp_client, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1178 sprintf(&buffer[0], "vpn_crt_server%d_client_key", serverNum);
1179 if ((valid == 1) && ( !ovpn_crt_is_empty(&buffer[0]) ) ) {
1180 fprintf(fp_client, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1189 sprintf(&buffer[0], "vpn_crt_server%d_dh", serverNum);
1190 if ( !ovpn_crt_is_empty(&buffer[0]) )
1192 sprintf(&buffer[0], "/etc/openvpn/server%d/dh.pem", serverNum);
1193 fp = fopen(&buffer[0], "w");
1194 chmod(&buffer[0], S_IRUSR|S_IWUSR);
1195 sprintf(&buffer[0], "vpn_crt_server%d_dh", serverNum);
1196 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1199 sprintf(&buffer[0], "openssl dh -in /etc/openvpn/server%d/dh.pem -text |grep \"DH Parameters\" > /tmp/output.txt", serverNum);
1200 system(&buffer[0]);
1201 if(f_read_string("/tmp/output.txt", &buffer[0], 64)) {
1202 if(sscanf(strstr(&buffer[0], "DH Parameters"), "DH Parameters: (%d bit)", &dhkeysize)) {
1219 sprintf(&buffer[0], "vpn_crt_server%d_dh", serverNum);
1220 set_crt_parsed(&buffer[0], fpath);
1225 sprintf(&buffer[0], "vpn_server%d_hmac", serverNum);
1226 if ( cryptMode == SECRET || (cryptMode == TLS && nvram_get_int(&buffer[0]) >= 0) )
1228 sprintf(&buffer[0], "vpn_crt_server%d_static", serverNum);
1229 if ( !ovpn_crt_is_empty(&buffer[0]) )
1231 sprintf(&buffer[0], "/etc/openvpn/server%d/static.key", serverNum);
1232 fp = fopen(&buffer[0], "w");
1233 chmod(&buffer[0], S_IRUSR|S_IWUSR);
1234 sprintf(&buffer[0], "vpn_crt_server%d_static", serverNum);
1235 fprintf(fp, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1244 set_crt_parsed(&buffer[0], fpath);
1249 sprintf(&buffer[0], "vpn_crt_server%d_static", serverNum);
1254 fprintf(fp_client, "%s", get_parsed_crt(&buffer[0], buffer2, sizeof(buffer2)));
1258 sprintf(&buffer[0], "vpn_server%d_hmac", serverNum);
1259 nvi = nvram_get_int(&buffer[0]);
1278 sprintf(&buffer[0], "taskset -c %d /etc/openvpn/vpnserver%d --cd /etc/openvpn/server%d --config config.ovpn", (serverNum == 2 ? 1 : 0), serverNum, serverNum);
1283 sprintf(&buffer[0], "/etc/openvpn/vpnserver%d --cd /etc/openvpn/server%d --config config.ovpn", serverNum, serverNum);
1284 vpnlog(VPN_LOG_INFO,"Starting OpenVPN: %s",&buffer[0]);
1285 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
1295 sprintf(&buffer[0], "vpn_server%d_firewall", serverNum);
1296 if ( !nvram_contains_word(&buffer[0], "custom") )
1301 sprintf(&buffer[0], "/etc/openvpn/fw/server%d-fw.sh", serverNum);
1302 fp = fopen(&buffer[0], "w");
1303 chmod(&buffer[0], S_IRUSR|S_IWUSR|S_IXUSR);
1305 sprintf(&buffer[0], "vpn_server%d_proto", serverNum);
1306 strncpy(&buffer[0], nvram_safe_get(&buffer[0]), BUF_SIZE);
1307 fprintf(fp, "iptables -t nat -I PREROUTING -p %s ", strtok(&buffer[0], "-"));
1308 sprintf(&buffer[0], "vpn_server%d_port", serverNum);
1309 fprintf(fp, "--dport %d -j ACCEPT\n", nvram_get_int(&buffer[0]));
1310 sprintf(&buffer[0], "vpn_server%d_proto", serverNum);
1311 strncpy(&buffer[0], nvram_safe_get(&buffer[0]), BUF_SIZE);
1312 fprintf(fp, "iptables -I INPUT -p %s ", strtok(&buffer[0], "-"));
1313 sprintf(&buffer[0], "vpn_server%d_port", serverNum);
1314 fprintf(fp, "--dport %d -j ACCEPT\n", nvram_get_int(&buffer[0]));
1315 sprintf(&buffer[0], "vpn_server%d_firewall", serverNum);
1316 if ( !nvram_contains_word(&buffer[0], "external") )
1326 sprintf(&buffer[0], "/etc/openvpn/fw/server%d-fw.sh", serverNum);
1327 argv[0] = &buffer[0];
1334 sprintf(&buffer[0], "vpn_server%d_poll", serverNum);
1335 if ( (nvi = nvram_get_int(&buffer[0])) > 0 )
1340 sprintf(&buffer[0], "CheckVPNServer%d", serverNum);
1341 argv[2] = &buffer[0];
1342 sprintf(&buffer[strlen(&buffer[0])+1], "*/%d * * * * service start_vpnserver%d", nvi, serverNum);
1343 argv[3] = &buffer[strlen(&buffer[0])+1];
1351 sprintf(&buffer[0], "vpn_server%d_state", serverNum);
1352 nvram_set(&buffer[0], "2"); //running
1353 sprintf(&buffer[0], "vpn_server%d_errno", serverNum);
1354 nvram_set(&buffer[0], "0");
1358 // sprintf(&buffer[0], "vpn_server%d", serverNum);
1359 // allow_fastnat(buffer, 0);
1370 char buffer[BUF_SIZE];
1372 sprintf(&buffer[0], "stop_vpnserver%d", serverNum);
1374 notify_rc(&buffer[0]);
1384 sprintf(&buffer[0], "CheckVPNServer%d", serverNum);
1385 argv[2] = &buffer[0];
1392 sprintf(&buffer[0], "/etc/openvpn/fw/server%d-fw.sh", serverNum);
1396 argv[3] = &buffer[0];
1400 argv[0] = &buffer[0];
1408 sprintf(&buffer[0], "vpnserver%d", serverNum);
1409 if ( !ovpn_waitfor(&buffer[0]) )
1414 sprintf(&buffer[0], "openvpn --rmtun --dev tap%d", serverNum+SERVER_IF_START);
1415 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
1418 sprintf(&buffer[0], "openvpn --rmtun --dev tun%d", serverNum+SERVER_IF_START);
1419 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
1429 sprintf(&buffer[0], "rm -rf /etc/openvpn/server%d /etc/openvpn/fw/server%d-fw.sh /etc/openvpn/vpnserver%d",serverNum,serverNum,serverNum);
1430 for (argv[argc=0] = strtok(&buffer[0], " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
1440 // sprintf(&buffer[0], "vpn_server%d", serverNum);
1441 // allow_fastnat(buffer, 1);
1445 sprintf(&buffer[0], "vpn_server%d_state", serverNum);
1446 nvram_set(&buffer[0], "0");
1447 sprintf(&buffer[0], "vpn_server%d_errno", serverNum);
1448 nvram_set(&buffer[0], "0");
1455 char buffer[16], *cur;
1466 strlcpy(&buffer[0], nvram_safe_get("vpn_serverx_eas"), sizeof(buffer));
1467 if ( strlen(&buffer[0]) != 0 ) vpnlog(VPN_LOG_INFO, "Starting OpenVPN servers (eas): %s", &buffer[0]);
1469 for( cur = strtok(&buffer[0],","); cur != NULL && i < 5; cur = strtok(NULL, ",")) { nums[i++] = atoi(cur); }
1476 sprintf(&buffer[0], "vpnserver%d", nums[i]);
1477 if ( pidof(&buffer[0]) >= 0 )
1488 strlcpy(&buffer[0], nvram_safe_get("vpn_clientx_eas"), sizeof(buffer));
1489 if ( strlen(&buffer[0]) != 0 ) vpnlog(VPN_LOG_INFO, "Starting clients (eas): %s", &buffer[0]);
1491 for( cur = strtok(&buffer[0],","); cur != NULL && i < 5; cur = strtok(NULL, ",")) { nums[i++] = atoi(cur); }
1495 sprintf(&buffer[0], "vpnclient%d", nums[i]);
1496 if ( pidof(&buffer[0]) >= 0 )
1509 char buffer[16], *cur;
1513 strlcpy(&buffer[0], nvram_safe_get("vpn_serverx_eas"), sizeof(buffer));
1514 if ( strlen(&buffer[0]) != 0 ) vpnlog(VPN_LOG_INFO, "Stopping OpenVPN servers (eas): %s", &buffer[0]);
1516 for( cur = strtok(&buffer[0],","); cur != NULL && i < 4; cur = strtok(NULL, ",")) { nums[i++] = atoi(cur); }
1520 sprintf(&buffer[0], "vpnserver%d", nums[i]);
1521 if ( pidof(&buffer[0]) >= 0 )
1529 strlcpy(&buffer[0], nvram_safe_get("vpn_clientx_eas"), sizeof(buffer));
1530 if ( strlen(&buffer[0]) != 0 ) vpnlog(VPN_LOG_INFO, "Stopping OpenVPN clients (eas): %s", &buffer[0]);
1532 for( cur = strtok(&buffer[0],","); cur != NULL && i < 4; cur = strtok(NULL, ",")) { nums[i++] = atoi(cur); }
1536 sprintf(&buffer[0], "vpnclient%d", nums[i]);
1537 if ( pidof(&buffer[0]) >= 0 )