From patchwork Mon Feb 20 13:14:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arne Schwabe X-Patchwork-Id: 3090 Return-Path: Delivered-To: patchwork@openvpn.net Received: by 2002:a05:7300:c95:b0:82:e4b3:40a0 with SMTP id p21csp1705237dyk; Mon, 20 Feb 2023 05:15:12 -0800 (PST) X-Google-Smtp-Source: AK7set9CiCZ7ryqJlXD4lOGkQJSB7jLYXapTYssNX9L6Gci/zpEu7XB+Cm10y+18c1VlFriAdEJT X-Received: by 2002:a05:6830:349e:b0:684:e36c:62cd with SMTP id c30-20020a056830349e00b00684e36c62cdmr157775otu.19.1676898912140; Mon, 20 Feb 2023 05:15:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676898912; cv=none; d=google.com; s=arc-20160816; b=szYnD/kVvdzfacglJbuvoqgBNCjpU8Jo7txY9CFEvhgCr3EHUnCp2PhSIXWOxKNQwY J8QrrFEpiiB3fS/qk1HNfCI2CoepArpAMk/RmH3EZiHSLdd2srF/JUbMRD5z2Q61s9qs Rq3r4m6zVsFzKTRCQbIHouQ3myHSsf63q6JP+lQ+uog4dZIDg3aKV6Aob/q5xuAntkSU b/YYoXxhz1UXLAS6RwADUyf3uPvvZbD4WxeF6FEOu/swIVzsoFm/iCOoGaON1XdClJGY X0dJXfpbQfVlgcJCAZgCBjU8uWKPYc34N00nZ1uT1P7FZLOVTX+21WKk9URYHs7wdIID 19Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:message-id:date:to:from:dkim-signature:dkim-signature; bh=uCBESNuneHENcK72RlH8zDY140E6o41GRo/cwr8q7g8=; b=tjQVZH7IIW+No/QjaO9dfYepLpUXJqMLU+d5v7Xemg7YEr/fNBoSuMRgLRNgN3wBhv 2RDl9r4Mk80Asx6Jh8VyknENY1jgLxBSacMZmrhFECXJalv/icN2EPsw0MIRcdQE/UrR g/SWxNLbrQXVTPbFaTMsw2uFewQ6JFmHwTfXnjJ6EjXHnwGCfbHlKqxi5PrSthsvWJqr b0uJ8GnBJqVhbSRrN1bdMcLzEnx1rVDYpiTFcJaRzaWMff9LjtZc9PmXw/MAFclsBOYs hza4NkMuVvZOu4rGb12hwIwJBw+xGSBmc+RrQIYzKGwG0GqstlSHFtj4xx+J3kz5sKB8 Rxdw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b=YWM6djps; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=YgzCRfIZ; spf=pass (google.com: domain of openvpn-devel-bounces@lists.sourceforge.net designates 216.105.38.7 as permitted sender) smtp.mailfrom=openvpn-devel-bounces@lists.sourceforge.net Received: from lists.sourceforge.net (lists.sourceforge.net. [216.105.38.7]) by mx.google.com with ESMTPS id h2-20020a9d6a42000000b00670600bd5d7si15521159otn.259.2023.02.20.05.15.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Feb 2023 05:15:12 -0800 (PST) Received-SPF: pass (google.com: domain of openvpn-devel-bounces@lists.sourceforge.net designates 216.105.38.7 as permitted sender) client-ip=216.105.38.7; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b=YWM6djps; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=YgzCRfIZ; spf=pass (google.com: domain of openvpn-devel-bounces@lists.sourceforge.net designates 216.105.38.7 as permitted sender) smtp.mailfrom=openvpn-devel-bounces@lists.sourceforge.net Received: from [127.0.0.1] (helo=sfs-ml-4.v29.lw.sourceforge.com) by sfs-ml-4.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1pU60B-00072k-8M; Mon, 20 Feb 2023 13:14:43 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-4.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1pU609-00072d-3u for openvpn-devel@lists.sourceforge.net; Mon, 20 Feb 2023 13:14:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:Message-Id: Date:Subject:To:From:Sender:Reply-To:Cc:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=M7BOs6B3EPHpDwbFt9tbwHt2tPT0QnI3ftEa0NAIwQs=; b=YWM6djpsJ4Ltxh4SDB0q0cw1AB PmEhL2yzTYYmSq8HPSliK684C7eC7kGbZpdMLbgrHiVU0qs4t0VrHBJdcbV6OfHHRmI+h5Y4ykYfG w94/yB7bv9H0k3zyguKNdRgrb24qHf01JbrudPXxNr74I7kcNOWwpyKHoK5m46QaimR4=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:To:From: Sender:Reply-To:Cc:Content-Type:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=M7BOs6B3EPHpDwbFt9tbwHt2tPT0QnI3ftEa0NAIwQs=; b=Y gzCRfIZ/6ZUSsd4hRoPwN9V8PL1xmuZ0IpmXTg/QLzn2BegskCFVr0V/OwlpXA8S050QZjsKZ2O/4 usDEF/E7TO/nzFgIqW3Mt/XdnUP5doUA9jkykQhVMYIBGRXb5IOHMOzyQQBZ/32Jm4AW47+j9Zef/ RMZeGxkCyCBcjnOs=; Received: from mail.blinkt.de ([192.26.174.232]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1pU602-0004q4-Qn for openvpn-devel@lists.sourceforge.net; Mon, 20 Feb 2023 13:14:40 +0000 Received: from kamera.blinkt.de ([2001:638:502:390:20c:29ff:fec8:535c]) by mail.blinkt.de with smtp (Exim 4.95 (FreeBSD)) (envelope-from ) id 1pU5zs-0006M4-DK for openvpn-devel@lists.sourceforge.net; Mon, 20 Feb 2023 14:14:24 +0100 Received: (nullmailer pid 1749782 invoked by uid 10006); Mon, 20 Feb 2023 13:14:24 -0000 From: Arne Schwabe To: openvpn-devel@lists.sourceforge.net Date: Mon, 20 Feb 2023 14:14:24 +0100 Message-Id: <20230220131424.1749736-1-arne@rfc2549.org> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Spam-Score: 0.3 (/) X-Spam-Report: Spam detection software, running on the system "util-spamd-2.v13.lw.sourceforge.com", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 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 wit [...] Content analysis details: (0.3 points, 6.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_NONE SPF: sender does not publish an SPF Record 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-Headers-End: 1pU602-0004q4-Qn Subject: [Openvpn-devel] [PATCH] Exit if a proper message instead of segfault on Android without management X-BeenThere: openvpn-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox X-GMAIL-THRID: =?utf-8?q?1758355953567136778?= X-GMAIL-MSGID: =?utf-8?q?1758355953567136778?= 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 Acked-by: Gert Doering --- src/openvpn/manage.c | 4 ++++ src/openvpn/socket.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/openvpn/manage.c b/src/openvpn/manage.c index 3ea1992b0..db88e3479 100644 --- a/src/openvpn/manage.c +++ b/src/openvpn/manage.c @@ -2192,6 +2192,10 @@ man_recv_with_fd(int fd, void *ptr, size_t nbytes, int flags, int *recvfd) 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); diff --git a/src/openvpn/socket.c b/src/openvpn/socket.c index 42d953390..eff21ca56 100644 --- a/src/openvpn/socket.c +++ b/src/openvpn/socket.c @@ -1161,6 +1161,11 @@ create_socket(struct link_socket *sock, struct addrinfo *addr) 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) */