diff options
author | Till Kamppeter <tkamppeter@mandriva.com> | 2005-02-15 19:49:28 +0000 |
---|---|---|
committer | Till Kamppeter <tkamppeter@mandriva.com> | 2005-02-15 19:49:28 +0000 |
commit | 6058eb889d4a8fafb0dbecf8a0fc9a21991bbbd1 (patch) | |
tree | 53f1cdebf5e5a2e36b4eeadccc6b6147b9a892d2 | |
parent | c8884e569881c14d820ae85274fb290ae9e6b874 (diff) | |
download | drakx-6058eb889d4a8fafb0dbecf8a0fc9a21991bbbd1.tar drakx-6058eb889d4a8fafb0dbecf8a0fc9a21991bbbd1.tar.gz drakx-6058eb889d4a8fafb0dbecf8a0fc9a21991bbbd1.tar.bz2 drakx-6058eb889d4a8fafb0dbecf8a0fc9a21991bbbd1.tar.xz drakx-6058eb889d4a8fafb0dbecf8a0fc9a21991bbbd1.zip |
Force only ASCII letters, numbers, and underscores being used in print queue names.
-rw-r--r-- | perl-install/printer/printerdrake.pm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/perl-install/printer/printerdrake.pm b/perl-install/printer/printerdrake.pm index a35293840..3e8ab3eda 100644 --- a/perl-install/printer/printerdrake.pm +++ b/perl-install/printer/printerdrake.pm @@ -901,7 +901,7 @@ sub generate_queuename { my $queue; if ($printer->{currentqueue}{model}) { if ($printer->{currentqueue}{model} eq N("Unknown model")) { - $queue = N("Printer"); + $queue = "P"; } else { $queue = $printer->{currentqueue}{make} . '|' . $printer->{currentqueue}{model}; @@ -916,6 +916,10 @@ sub generate_queuename { my $make = $printer->{currentqueue}{make}; my $model = $printer->{currentqueue}{model}; $queue =~ s/$make$make/$make/gi; + # Remove weird characters + $queue =~ s/[^A-Za-z0-9_]//g; + $make =~ s/[^A-Za-z0-9_]//g; + $model =~ s/[^A-Za-z0-9_]//g; # Do not use a queue name longer than 12 characters, as otherwise # Windows clients will not be able to access the printer my $ml = 12; @@ -2655,7 +2659,7 @@ sub choose_printer_name { { title => N("Enter Printer Name and Comments"), #cancel => !$printer->{configured}{$queue} ? '' : N("Remove queue"), callbacks => { complete => sub { - unless ($printer->{currentqueue}{queue} =~ /^\w+$/) { + unless ($printer->{currentqueue}{queue} =~ /^[A-Za-z0-9_]+$/) { $in->ask_warn(N("Error"), N("Name of printer should contain only letters, numbers and the underscore")); return 1, 0; } |