Свържете се с OpenVPN програмно в родния C++

Бих искал да стартирам OpenVPN, за да се свържа с нашия OpenVPN сървър (на Debian) чрез моето приложение на C++. В момента използвам само ключови файлове (публични и частни ключове), но трябва да добавя и удостоверяване на потребителското име. Аз съм начинаещ в C++, така че ще съм благодарен, ако ми обясните подробно и всички стъпки, които трябва да предприема.

Също така трябва да прекъсна VPN връзката, преди да напусна приложението си, и да избегна комуникация, когато VPN е прекъсната (за да се справя с внезапни прекъсвания). Така че имам нужда и от механизъм за откриване на прекъсвания на връзката с VPN или за проверка дали връзката OpenVPN все още е налице, преди да изпратя чувствителни данни.

Благодаря на всички ви.


person Javad    schedule 15.04.2014    source източник
comment
Само напомняне: имам нужда това приложение да е в родния C++, тъй като бих го стартирал в Linux.   -  person Javad    schedule 15.04.2014
comment
Как yiu управлява актуализации от самия openvpn, т.е. актуализации на състоянието като удостоверяване, свързано, прекъснато и т.н.?   -  person CybeX    schedule 08.12.2017


Отговори (1)


Решен. Използвана функция/метод popen, споменат тук. И разбира се с тази малка промяна в първия ред на метода main():

FILE * f = popen( "/etc/init.d/openvpn start", "r" );
person Javad    schedule 15.04.2014