public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Bernhard Bitsch <bbitsch@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCHv2 07/12] extrahd.cgi: Re-order sanity check logic
Date: Wed, 02 Aug 2023 13:57:35 +0200	[thread overview]
Message-ID: <4c1e0e9f-b62c-d9e3-ffc5-e46490ade2a8@ipfire.org> (raw)
In-Reply-To: <20230801154839.2373-7-stefan.schantl@ipfire.org>

[-- Attachment #1: Type: text/plain, Size: 3297 bytes --]

Reviewed-by: Bernhard Bitsch <bbitsch(a)ipfire.org>


Am 01.08.2023 um 17:48 schrieb Stefan Schantl:
> Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
> ---
>   html/cgi-bin/extrahd.cgi | 49 +++++++++++++++++++++-------------------
>   1 file changed, 26 insertions(+), 23 deletions(-)
> 
> diff --git a/html/cgi-bin/extrahd.cgi b/html/cgi-bin/extrahd.cgi
> index bb84ef77c..de5f26d0e 100644
> --- a/html/cgi-bin/extrahd.cgi
> +++ b/html/cgi-bin/extrahd.cgi
> @@ -98,28 +98,7 @@ $extrahdsettings{'UUID'} = '';
>   ## Add a new device.
>   #
>   if ($extrahdsettings{'ACTION'} eq $Lang::tr{'add'}) {
> -	# Open device file for reading.
> -	open( FILE, "< $devicefile" ) or die "Unable to read $devicefile";
> -	my @devices = <FILE>;
> -	close FILE;
> -
> -	# Loop through the entries line-by-line.
> -	foreach my $entry (sort @devices) {
> -		# Split the line into pieces and assign nice variables.
> -		my ($uuid, $fs, $path) = split( /\;/, $entry );
> -
> -		# Check if the path is allready used.
> -		if ( "$extrahdsettings{'PATH'}" eq "$path" ) {
> -			$errormessage = "$Lang::tr{'extrahd you cant mount'} $extrahdsettings{'DEVICE'} $Lang::tr{'extrahd to'} $extrahdsettings{'PATH'}$Lang::tr{'extrahd because there is already a device mounted'}.";
> -		}
> -
> -		# Check if the uuid is allready used.
> -		if ("$extrahdsettings{'DEVICE'} eq $uuid") {
> -			$errormessage = "$extrahdsettings{'DEVICE'} is allready mounted.";
> -		}
> -	}
> -
> -	# Check if a valid mount path has been choosen.
> +	# Check if a valid mount path has been choosen.
>   	unless(&is_valid_dir("$extrahdsettings{'PATH'}")) {
>   		$errormessage = "$Lang::tr{'extrahd you cant mount'} $extrahdsettings{'DEVICE'} $Lang::tr{'extrahd to root'}.";
>   	}
> @@ -129,7 +108,31 @@ if ($extrahdsettings{'ACTION'} eq $Lang::tr{'add'}) {
>   		$errormessage = "$Lang::tr{'extrahd you cant mount'} $extrahdsettings{'DEVICE'} $Lang::tr{'extrahd to'} $extrahdsettings{'PATH'}$Lang::tr{'extrahd because there is already a device mounted'}.";
>   	}
>   
> -	# Check if there was an error message.
> +	# Check against may previously configured drives.
> +	unless ($errormessage) {
> +		# Open device file for reading.
> +		open( FILE, "< $devicefile" ) or die "Unable to read $devicefile";
> +		my @devices = <FILE>;
> +		close FILE;
> +
> +		# Loop through the entries line-by-line.
> +		foreach my $entry (sort @devices) {
> +			# Split the line into pieces and assign nice variables.
> +			my ($uuid, $fs, $path) = split( /\;/, $entry );
> +
> +			# Check if the path is allready used.
> +			if ( "$extrahdsettings{'PATH'}" eq "$path" ) {
> +				$errormessage = "$Lang::tr{'extrahd you cant mount'} $extrahdsettings{'DEVICE'} $Lang::tr{'extrahd to'} $extrahdsettings{'PATH'}$Lang::tr{'extrahd because there is already a device mounted'}.";
> +			}
> +
> +			# Check if the uuid is allready used.
> +			if ("$extrahdsettings{'DEVICE'} eq $uuid") {
> +				$errormessage = "$extrahdsettings{'DEVICE'} is allready mounted.";
> +			}
> +		}
> +	}
> +
> +	# Go further if there was no error message.
>   	unless($errormessage) {
>   		# Re-open the device file for writing.
>   		open(FILE, ">> $devicefile" ) or die "Unable to write $devicefile";

  reply	other threads:[~2023-08-02 11:57 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-01 15:48 [PATCHv2 01/12] extrahd.cgi: Add various perl functions deal with block devices Stefan Schantl
2023-08-01 15:48 ` [PATCHv2 02/12] extrahd.cgi: Refactor code to use new introduced perl functions Stefan Schantl
2023-08-02 11:48   ` Bernhard Bitsch
2023-08-01 15:48 ` [PATCHv2 03/12] extrahd.cgi: Abort if a device could not be umounted Stefan Schantl
2023-08-02 11:50   ` Bernhard Bitsch
2023-08-01 15:48 ` [PATCHv2 04/12] extrahd.cgi: Store configured drives in a hash Stefan Schantl
2023-08-02 11:53   ` Bernhard Bitsch
2023-08-01 15:48 ` [PATCHv2 05/12] extrahd.cgi: Add is_configured function Stefan Schantl
2023-08-02 11:54   ` Bernhard Bitsch
2023-08-01 15:48 ` [PATCHv2 06/12] extrahd.cgi: Display mount status next to the corresponding drive Stefan Schantl
2023-08-02 11:55   ` Bernhard Bitsch
2023-08-01 15:48 ` [PATCHv2 07/12] extrahd.cgi: Re-order sanity check logic Stefan Schantl
2023-08-02 11:57   ` Bernhard Bitsch [this message]
2023-08-01 15:48 ` [PATCHv2 08/12] extrahd.cgi: Add missing translation strings Stefan Schantl
2023-08-02 12:02   ` Bernhard Bitsch
2023-08-01 15:48 ` [PATCHv2 09/12] extrahd.cgi: Drop select for FS selection Stefan Schantl
2023-08-02 12:09   ` Bernhard Bitsch
2023-08-01 15:48 ` [PATCHv2 10/12] extrahd.cgi: Requires "auto" as hidden FS type to mount a new device Stefan Schantl
2023-08-02 12:10   ` Bernhard Bitsch
2023-08-01 15:48 ` [PATCHv2 11/12] extrahd.cgi: Do not allow "/mnt" or "/media" as mount points Stefan Schantl
2023-08-02 12:11   ` Bernhard Bitsch
2023-08-01 15:48 ` [PATCHv2 12/12] extrahd.cgi: Adjust copyright header Stefan Schantl
2023-08-02 12:12   ` Bernhard Bitsch
2023-08-02 11:39 ` [PATCHv2 01/12] extrahd.cgi: Add various perl functions deal with block devices Bernhard Bitsch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4c1e0e9f-b62c-d9e3-ffc5-e46490ade2a8@ipfire.org \
    --to=bbitsch@ipfire.org \
    --cc=development@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox