From patchwork Wed Nov 3 18:18:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Schantl X-Patchwork-Id: 4830 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4Hkw5M34Ryz3wcC for ; Wed, 3 Nov 2021 18:19:03 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4Hkw5L0NZqz1sj; Wed, 3 Nov 2021 18:19:02 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4Hkw5K5b7jz2yrp; Wed, 3 Nov 2021 18:19:01 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4Hkw5J644Lz2xR7 for ; Wed, 3 Nov 2021 18:19:00 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4Hkw5J0pGmzfN; Wed, 3 Nov 2021 18:19:00 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1635963540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=tHSr178C781tzxowaspQUofkYOAYxls32Tgik7iRmHw=; b=ZWvknXlmq4wYzpvFCx7ER4O+hNL9vIT7G79QF5rwZxBtIAHjiGA1uhzwbAkUOKcoMQRo4/ 2NjFKM8eMLfRN7DQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1635963540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=tHSr178C781tzxowaspQUofkYOAYxls32Tgik7iRmHw=; b=axAqHYIcGJDyn4FZdX1eMZaI2t+8AiWH37bL6M2cmw+SCE/cRFWt5slbkyVR87LKDCMzxQ XQEvqC6W96KeuOpTVkuEqRx/lZzXdxdidQ1MU8hXt9qsrv9zYwEdNNMGUQfeqv2FKbkbI/ sjeWq+bB+IdrDOseLuILRW8R4Z73dqcXvXRFUDDUU0IQchSbdZxKKSf9nrm0CDnBUfgBYY 20GpI4TnIe2WzawwpieMXc1TSISFHbjUeFhzsRXx2HPY5xYRH7ewkpjiF/iQy2D/MJHp0f dGV1JUw58Qheyv/lG7QUiWAhZOuzF97BPk6u3yLAySJGyEp0rQahswzZyfKw4g== From: Stefan Schantl To: development@lists.ipfire.org Subject: [PATCH] ovpnmain.cgi: Do not interpret $? as error code of move() Date: Wed, 3 Nov 2021 19:18:55 +0100 Message-Id: <20211103181855.1758-1-stefan.schantl@ipfire.org> MIME-Version: 1.0 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: development-bounces@lists.ipfire.org Sender: "Development" Signed-off-by: Stefan Schantl --- html/cgi-bin/ovpnmain.cgi | 41 +++++++++++++++------------------------ 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index 2ebf384ed..f99bfdef7 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -1432,18 +1432,17 @@ END unlink ($filename); goto UPLOADCA_ERROR; } else { - # Delete if old key exists - if (-f "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}") { - unlink "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}"; + # Delete if old key exists + if (-f "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}") { + unlink "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}"; } - move($filename, "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}"); - if ($? ne 0) { + + unless(move($filename, "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}")) { $errormessage = "$Lang::tr{'dh key move failed'}: $!"; unlink ($filename); goto UPLOADCA_ERROR; - } + } } - ### ### Upload CA Certificate ### @@ -1489,8 +1488,7 @@ END unlink ($filename); goto UPLOADCA_ERROR; } else { - move($filename, "${General::swroot}/ovpn/ca/$cgiparams{'CA_NAME'}cert.pem"); - if ($? ne 0) { + unless(move($filename, "${General::swroot}/ovpn/ca/$cgiparams{'CA_NAME'}cert.pem")) { $errormessage = "$Lang::tr{'certificate file move failed'}: $!"; unlink ($filename); goto UPLOADCA_ERROR; @@ -1814,8 +1812,7 @@ END } } - move("$tempdir/cacert.pem", "${General::swroot}/ovpn/ca/cacert.pem"); - if ($? ne 0) { + unless(move("$tempdir/cacert.pem", "${General::swroot}/ovpn/ca/cacert.pem")) { $errormessage = "$Lang::tr{'certificate file move failed'}: $!"; unlink ($filename); unlink ("${General::swroot}/ovpn/ca/cacert.pem"); @@ -1824,8 +1821,7 @@ END goto ROOTCERT_ERROR; } - move("$tempdir/hostcert.pem", "${General::swroot}/ovpn/certs/servercert.pem"); - if ($? ne 0) { + unless(move("$tempdir/hostcert.pem", "${General::swroot}/ovpn/certs/servercert.pem")) { $errormessage = "$Lang::tr{'certificate file move failed'}: $!"; unlink ($filename); unlink ("${General::swroot}/ovpn/ca/cacert.pem"); @@ -1834,8 +1830,7 @@ END goto ROOTCERT_ERROR; } - move("$tempdir/serverkey.pem", "${General::swroot}/ovpn/certs/serverkey.pem"); - if ($? ne 0) { + unless(move("$tempdir/serverkey.pem", "${General::swroot}/ovpn/certs/serverkey.pem")) { $errormessage = "$Lang::tr{'certificate file move failed'}: $!"; unlink ($filename); unlink ("${General::swroot}/ovpn/ca/cacert.pem"); @@ -3395,22 +3390,19 @@ END print FILE "status /var/run/openvpn/$n2nname[0]-n2n 10\n"; close FILE; - move("$tempdir/$uplconffilename", "${General::swroot}/ovpn/n2nconf/$n2nname[0]/$uplconffilename2"); - - if ($? ne 0) { + unless(move("$tempdir/$uplconffilename", "${General::swroot}/ovpn/n2nconf/$n2nname[0]/$uplconffilename2")) { $errormessage = "*.conf move failed: $!"; unlink ($filename); goto N2N_ERROR; } - move("$tempdir/$uplp12name", "${General::swroot}/ovpn/certs/$uplp12name2"); - chmod 0600, "${General::swroot}/ovpn/certs/$uplp12name"; - - if ($? ne 0) { + unless(move("$tempdir/$uplp12name", "${General::swroot}/ovpn/certs/$uplp12name2")) { $errormessage = "$Lang::tr{'certificate file move failed'}: $!"; unlink ($filename); goto N2N_ERROR; - } + } + + chmod 0600, "${General::swroot}/ovpn/certs/$uplp12name"; my $complzoactive; my $mssfixactive; @@ -4175,8 +4167,7 @@ if ($cgiparams{'TYPE'} eq 'net') { unlink ($filename); goto VPNCONF_ERROR; } else { - move($filename, "${General::swroot}/ovpn/certs/$cgiparams{'NAME'}cert.pem"); - if ($? ne 0) { + unless(move($filename, "${General::swroot}/ovpn/certs/$cgiparams{'NAME'}cert.pem")) { $errormessage = "$Lang::tr{'certificate file move failed'}: $!"; unlink ($filename); goto VPNCONF_ERROR;