X7ROOT File Manager
Current Path:
/usr/libexec/webmin/lpadmin
usr
/
libexec
/
webmin
/
lpadmin
/
📁
..
📄
CHANGELOG
(1.16 KB)
📄
acl_security.pl
(4.4 KB)
📄
aix-lib.pl
(9.45 KB)
📄
ascii.txt
(4.19 KB)
📄
base_coas_driver
(560 B)
📄
bw.fig
(2.75 KB)
📄
bw.ps
(6.46 KB)
📄
caldera-driver.pl
(12.31 KB)
📄
cancel_all.cgi
(535 B)
📄
catalog.devices
(12.34 KB)
📄
cgi_args.pl
(284 B)
📄
cluster.cgi
(2.06 KB)
📄
cluster_add.cgi
(2.13 KB)
📄
cluster_delete.cgi
(529 B)
📄
colour.fig
(2.91 KB)
📄
colour.ps
(6.63 KB)
📄
config-AlmaLinux-7.0-ALL
(323 B)
📄
config-Amazon-Linux-2-ALL
(323 B)
📄
config-CentOS-Linux-7.0-ALL
(323 B)
📄
config-CentOS-Stream-Linux-8.0-ALL
(323 B)
📄
config-Oracle-Linux-8.0-ALL
(323 B)
📄
config-Redhat-Enterprise-Linux-7.0-ALL
(323 B)
📄
config-Rocky-Linux-7.0-ALL
(323 B)
📄
config-Scientific-Linux-7.0-ALL
(323 B)
📄
config-aix
(281 B)
📄
config-coherent-linux
(323 B)
📄
config-corel-linux
(228 B)
📄
config-debian-linux
(228 B)
📄
config-debian-linux-3.1-3.9
(327 B)
📄
config-debian-linux-4.0-ALL
(333 B)
📄
config-freebsd
(230 B)
📄
config-generic-linux
(228 B)
📄
config-gentoo-linux
(248 B)
📄
config-hpux
(323 B)
📄
config-irix
(213 B)
📄
config-macos
(230 B)
📄
config-mandrake-linux
(245 B)
📄
config-mandrake-linux-8.0-ALL
(276 B)
📄
config-msc-linux
(228 B)
📄
config-netbsd
(230 B)
📄
config-open-linux
(309 B)
📄
config-open-linux-3.1e
(239 B)
📄
config-openbsd
(230 B)
📄
config-openmamba-linux
(229 B)
📄
config-pardus-linux
(228 B)
📄
config-redhat-linux
(228 B)
📄
config-redhat-linux-24.0-ALL
(339 B)
📄
config-redhat-linux-7.0
(283 B)
📄
config-redhat-linux-7.1
(286 B)
📄
config-redhat-linux-7.2-8.1
(394 B)
📄
config-redhat-linux-9.0-23.0
(337 B)
📄
config-slackware-linux
(228 B)
📄
config-slackware-linux-8.1-ALL
(246 B)
📄
config-solaris
(304 B)
📄
config-solaris-10-ALL
(330 B)
📄
config-solaris-9
(296 B)
📄
config-suse-linux
(226 B)
📄
config-suse-linux-8.2-ALL
(322 B)
📄
config-trustix-linux
(313 B)
📄
config-turbo-linux
(228 B)
📄
config-united-linux
(322 B)
📄
config-unixware
(302 B)
📄
config.info
(1.31 KB)
📄
config.info.ca
(1.53 KB)
📄
config.info.cs
(1.25 KB)
📄
config.info.de
(1.43 KB)
📄
config.info.es
(1.17 KB)
📄
config.info.fr
(1.63 KB)
📄
config.info.hu
(707 B)
📄
config.info.ja
(823 B)
📄
config.info.nl
(1.41 KB)
📄
config.info.no
(1.37 KB)
📄
config.info.pl
(1.45 KB)
📄
config.info.pt_BR
(1.58 KB)
📄
config.info.ru
(1.74 KB)
📄
config.info.sv
(651 B)
📄
config.info.tr
(1.39 KB)
📄
config.info.uk
(1.81 KB)
📄
config.info.zh
(573 B)
📄
config.info.zh_TW
(539 B)
📄
cups-driver.pl
(6.37 KB)
📄
cups-lib.pl
(8.67 KB)
📄
defaultacl
(73 B)
📄
delete_printer.cgi
(690 B)
📄
delete_printers.cgi
(839 B)
📄
drivers
(18.34 KB)
📄
edit_printer.cgi
(10.08 KB)
📄
freebsd-lib.pl
(7.26 KB)
📄
hpux-driver.pl
(3.13 KB)
📄
hpux-lib.pl
(9.83 KB)
📁
images
📄
index.cgi
(5.83 KB)
📄
irix-driver.pl
(3.13 KB)
📄
irix-lib.pl
(10.68 KB)
📁
lang
📄
linux-lib.pl
(8.97 KB)
📄
list_jobs.cgi
(2.25 KB)
📄
log_parser.pl
(1021 B)
📄
lpadmin-lib.pl
(19.89 KB)
📄
lprng-lib.pl
(10.26 KB)
📄
module.info
(494 B)
📄
module.info.af
(0 B)
📄
module.info.af.auto
(159 B)
📄
module.info.ar
(0 B)
📄
module.info.ar.auto
(223 B)
📄
module.info.be
(0 B)
📄
module.info.be.auto
(290 B)
📄
module.info.bg
(0 B)
📄
module.info.bg.auto
(306 B)
📄
module.info.ca
(167 B)
📄
module.info.ca.auto
(16 B)
📄
module.info.cs
(31 B)
📄
module.info.cs.auto
(155 B)
📄
module.info.da
(0 B)
📄
module.info.da.auto
(168 B)
📄
module.info.de
(148 B)
📄
module.info.de.auto
(16 B)
📄
module.info.el
(0 B)
📄
module.info.el.auto
(362 B)
📄
module.info.es
(38 B)
📄
module.info.es.auto
(157 B)
📄
module.info.eu
(0 B)
📄
module.info.eu.auto
(217 B)
📄
module.info.fa
(0 B)
📄
module.info.fa.auto
(246 B)
📄
module.info.fi
(0 B)
📄
module.info.fi.auto
(168 B)
📄
module.info.fr
(39 B)
📄
module.info.fr.auto
(176 B)
📄
module.info.he
(0 B)
📄
module.info.he.auto
(205 B)
📄
module.info.hr
(0 B)
📄
module.info.hr.auto
(188 B)
📄
module.info.hu
(19 B)
📄
module.info.hu.auto
(173 B)
📄
module.info.it
(0 B)
📄
module.info.it.auto
(177 B)
📄
module.info.ja
(27 B)
📄
module.info.ja.auto
(213 B)
📄
module.info.ko
(25 B)
📄
module.info.ko.auto
(176 B)
📄
module.info.lt
(0 B)
📄
module.info.lt.auto
(219 B)
📄
module.info.lv
(0 B)
📄
module.info.lv.auto
(189 B)
📄
module.info.ms
(152 B)
📄
module.info.ms.auto
(16 B)
📄
module.info.mt
(0 B)
📄
module.info.mt.auto
(196 B)
📄
module.info.nl
(33 B)
📄
module.info.nl.auto
(133 B)
📄
module.info.no
(31 B)
📄
module.info.no.auto
(137 B)
📄
module.info.pl
(160 B)
📄
module.info.pl.auto
(16 B)
📄
module.info.pt
(39 B)
📄
module.info.pt.auto
(149 B)
📄
module.info.pt_BR
(42 B)
📄
module.info.pt_BR.auto
(155 B)
📄
module.info.ro
(0 B)
📄
module.info.ro.auto
(199 B)
📄
module.info.ru
(25 B)
📄
module.info.ru.auto
(245 B)
📄
module.info.sk
(0 B)
📄
module.info.sk.auto
(184 B)
📄
module.info.sl
(0 B)
📄
module.info.sl.auto
(192 B)
📄
module.info.sv
(30 B)
📄
module.info.sv.auto
(141 B)
📄
module.info.th
(0 B)
📄
module.info.th.auto
(393 B)
📄
module.info.tr
(27 B)
📄
module.info.tr.auto
(166 B)
📄
module.info.uk
(0 B)
📄
module.info.uk.auto
(281 B)
📄
module.info.ur
(0 B)
📄
module.info.ur.auto
(304 B)
📄
module.info.vi
(0 B)
📄
module.info.vi.auto
(189 B)
📄
module.info.zh
(24 B)
📄
module.info.zh.auto
(136 B)
📄
module.info.zh_TW
(30 B)
📄
module.info.zh_TW.auto
(142 B)
📄
old-caldera-driver.pl
(9.74 KB)
📄
openbsd-lib.pl
(7.26 KB)
📄
prefs.info
(40 B)
📄
printconf-driver.pl
(9.52 KB)
📄
rbac-mapping
(248 B)
📄
redhat-driver.pl
(12.42 KB)
📄
restart.cgi
(301 B)
📄
save_printer.cgi
(5.85 KB)
📄
solaris-driver.pl
(4.03 KB)
📄
solaris-lib.pl
(12.17 KB)
📄
sortdrivers-by-drv.pl
(222 B)
📄
sortdrivers.pl
(242 B)
📄
start.cgi
(377 B)
📄
stop.cgi
(374 B)
📄
stp
(2.45 KB)
📄
suse-driver.pl
(10.62 KB)
📄
test_form.cgi
(887 B)
📄
test_print.cgi
(1.19 KB)
📄
unixware-lib.pl
(7.81 KB)
📄
view_job.cgi
(909 B)
📄
webmin-driver.pl
(1.04 KB)
Editing: save_printer.cgi
#!/usr/bin/perl # save_printer.cgi # Create or modify a printer require './lpadmin-lib.pl'; &ReadParse(); &error_setup($text{'save_err'}); if ($in{'delete'}) { # Redirect to delete page &redirect("delete_printer.cgi?name=".&urlize($in{'name'})); return; } # Check ACL if ($in{'new'}) { $access{'add'} || &error($text{'save_eadd'}); } else { &can_edit_printer($in{'name'}) || &error($text{'save_eedit'}); } # validate and store printer details $in{'name'} =~ /^[A-z0-9\-\_\.]+$/ || &error(&text('save_ename', $in{'name'})); if ($in{'new'} && &get_printer($in{'name'})) { &error(&text('save_edup', $in{'name'})); } $prn{'name'} = $in{'name'}; $prn{'accepting'} = $in{'accepting'}; if (!$prn{'accepting'}) { $prn{'accepting_why'} = $in{'accepting_why'}; } $prn{'enabled'} = $in{'enabled'}; if (!$prn{'enabled'}) { $prn{'enabled_why'} = $in{'enabled_why'}; } $prn{'desc'} = $in{'desc'}; if (&printer_support('allow')) { @ul = split(/\s+/, $in{'users'}); if ($in{'access'} == 0) { $prn{'allow_all'}++; } elsif ($in{'access'} == 1) { $prn{'deny_all'}++; } else { $w = $in{'access'} == 2 ? "allow" : "deny"; if (!@ul) { &error($text{"save_e$w"}); } foreach $u (@ul) { if ($u !~ /^\S+\!\S+$/ && !(@dummy=getpwnam($u))) { &error(&text('save_euser', $u)); } } $prn{$w} = \@ul; } } if (&printer_support('banner')) { $prn{'banner'} = $in{'prbanner'}; } if (&printer_support('ctype')) { if ($in{'ctype_simple'}) { push(@ctype, "simple"); } if ($in{'ctype_postscript'}) { push(@ctype, "postscript"); } if ($in{'ctype_other'}) { push(@ctype, split(/\s+/, $in{'ctype_olist'})); } &error($text{'save_etype'}) if (!@ctype && $in{'dest'} != 2); $prn{'ctype'} = \@ctype; } $prn{'default'} = $in{'default'}; if (&printer_support('msize')) { if ($in{'msize_def'} == 2) { $prn{'msize'} = 0; } elsif ($in{'msize_def'} == 0) { $in{'msize'} =~ /^\d+$/ || &error($text{'save_emax'}); $prn{'msize'} = $in{'msize'}; } } if (&printer_support('alias')) { @alias = split(/\s+/, $in{'alias'}); $prn{'alias'} = \@alias; } if ($in{'new'} || &printer_support('editdest')) { if ($in{'webmin'}) { $drv = &parse_webmin_driver(); $dfunc = \&create_webmin_driver; } else { $drv = &parse_driver(); $dfunc = \&create_driver; } # validate and store destination section $SIG{'ALRM'} = \&connect_time_out; if ($in{'dest'} == 0) { # printing to some device $prn{'dev'} = $in{'dev'}; $prn{'iface'} = &$dfunc(\%prn, $drv); } elsif ($in{'dest'} == 1) { # printing to some file (-r $in{'file'}) || ($in{'file'} =~ /^\|(.*)/ && -r $1) || &error(&text('save_efile', $in{'file'})); $prn{'dev'} = $in{'file'}; $prn{'iface'} = &$dfunc(\%prn, $drv); } elsif ($in{'dest'} == 2) { # printing to a unix host local ($rhost, $rport); if ($in{'rhost'} =~ /^(\S+):(\d+)$/) { $rhost = $1; $rport = $2; } else { $rhost = $in{'rhost'}; $rport = 515; } &to_ipaddress($rhost) || &to_ip6address($rhost) || &error(&text('save_erhost', $rhost)); $rport =~ /^\d+$/ || &error(&text('save_erport', $rport)); $in{'rqueue'} =~ /^[A-z0-9\-\_\.\/]+$/ || (!$in{'rqueue'} && &printer_support('rnoqueue')) || &error(&text('save_erqueue', $in{'rqueue'})); $prn{'rhost'} = $in{'rhost'}; $prn{'rqueue'} = $in{'rqueue'}; $prn{'rtype'} = $in{'rtype'}; if ($drv->{'mode'} && !&printer_support('riface')) { &error($text{'save_eremote'}); } if ($in{'check'} && (!$in{'rtype'} || $in{'rtype'} eq 'bsd')) { # Try connecting to the LPR port alarm(10); &open_socket($rhost, 515, TEST); close(TEST); alarm(0); } $prn{'iface'} = &$dfunc(\%prn, $drv); } elsif ($in{'dest'} == 3) { # printing to windows $sdrv = { 'server' => $in{'server'}, 'share' => $in{'share'}, 'user' => $in{'suser'}, 'pass' => $in{'spass'}, 'workgroup' => $in{'wgroup'}, 'program' => &$dfunc(\%prn, $drv) }; $prn{'dev'} = "/dev/null"; $prn{'iface'} = $in{'webmin'} ? &create_webmin_windows_driver(\%prn, $sdrv) : &create_windows_driver(\%prn, $sdrv); if ($in{'check'}) { # Try connecting to the SMB port alarm(10); &open_socket($sdrv->{'server'}, 139, TEST); close(TEST); alarm(0); } } elsif ($in{'dest'} == 4) { # printing to hpnp server $hdrv = { 'server' => $in{'hpnp'}, 'port' => $in{'port'}, 'program' => &$dfunc(\%prn, $drv) }; $prn{'iface'} = &create_hpnp_driver(\%prn, $hdrv); $prn{'dev'} = "/dev/null"; } elsif ($in{'dest'} == 5) { # direct connection printing &to_ipaddress($in{'dhost'}) || &to_ip6address($in{'dhost'}) || &error(&text('save_edhost', $in{'dhost'})); $in{'dport'} =~ /^\d+$/ || &error($text{'save_edport'}); $prn{'dhost'} = $in{'dhost'}; $prn{'dport'} = $in{'dport'}; $prn{'iface'} = &$dfunc(\%prn, $drv); if ($in{'check'}) { # Try connecting to the port alarm(10); &open_socket($prn{'dhost'}, $prn{'dport'}, TEST); close(TEST); alarm(0); } } } # Call os-specific validation function if (defined(&validate_printer)) { $err = &validate_printer(\%prn); &error($err) if ($err); } # Create the printer if ($in{'new'}) { &create_printer(\%prn); &system_logged("$config{'apply_cmd'} >/dev/null 2>&1 </dev/null") if ($config{'apply_cmd'}); &webmin_log("create", "printer", $prn{'name'}, &log_info(\%prn)); } else { &modify_printer(\%prn); &system_logged("$config{'apply_cmd'} >/dev/null 2>&1 </dev/null") if ($config{'apply_cmd'}); &webmin_log("modify", "printer", $prn{'name'}, &log_info(\%prn)); } # Update ACL if ($in{'new'} && $access{'printers'} ne '*') { $access{'printers'} .= " ".$in{'name'}; &save_module_acl(\%access); } # Create on cluster @slaveerrs = &save_on_cluster($in{'new'}, \%prn, $drv, $sdrv || $hdrv, $in{'webmin'}, $in{'dest'}); if (@slaveerrs) { &error(&text('save_errslave', "<p>".join("<br>", map { "$_->[0]->{'host'} : $_->[1]" } @slaveerrs))); } &redirect(""); sub connect_time_out { $connect_timed_out++; }
Upload File
Create Folder