The Android implementation is relying on the management interface to be
always available. Trying to run the Android binary without the mangament
interface outside the app leads to a segfault. Exit with a FATAL error
instead.
Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <
20230220131424.
1749736-1-arne@rfc2549.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg26288.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
bool
management_android_control(struct management *man, const char *command, const char *msg)
{
+ if (!man)
+ {
+ msg(M_FATAL, "Required management interface not available.");
+ }
struct user_pass up;
CLEAR(up);
strncpy(up.username, msg, sizeof(up.username)-1);
static void
protect_fd_nonlocal(int fd, const struct sockaddr *addr)
{
+ if (!management)
+ {
+ msg(M_FATAL, "Required management interface not available.")
+ }
+
/* pass socket FD to management interface to pass on to VPNService API
* as "protected socket" (exempt from being routed into tunnel)
*/