ipchains/0040755000000000000000000000000007133613137011362 5ustar rootrootipchains/config.info0100644000000000000000000000064207132724637013512 0ustar rootrootscriptfile=Path to Shell Script,0 bootloc=Location of bootup and shutdown scripts,0 scriptinterpreter=Script interpreter,3,Default (/bin/sh) ipchains_path=Path to ipchains,3,Default (/sbin/ipchains) proto_file=Path to protocols file,3,Default (/etc/protocols) hostsfile=Path to your hosts file,3,Default (/etc/hosts) netifaces=Network Interfaces (comma-separated list),3,Use Network Configuration Module for detecting ipchains/config0100644000000000000000000000015107132724637012553 0ustar rootrootscriptfile= bootloc=/etc/rc.d/init.d scriptinterpreter= ipchains_path= proto_file= hostsfile= netifaces= ipchains/images/0040755000000000000000000000000007132724637012636 5ustar rootrootipchains/images/icon.gif0100644000000000000000000000066607132724637014262 0ustar rootrootGIF89a00!Made with GIMP! ,00x0I8ͻ`(di^@lp,4A_#>M)L"06ӬSzkx8_—R!E0Y3K3d|9j>Qv@WJl:@.hE56ԨLUDJf|MUӨ_񅬮ݻ*;ipchains/images/chain.forward.gif0100644000000000000000000000046707132724637016056 0ustar rootrootGIF89a00fff! ,00H*\ȰÇ#JHŋ3fǏ5 IH\ɲ'SH4]Ԉ3'˝)ʉ=,jTĤC<:5P+SkN,!)u Շc<*֥M -IźuO4W!-o̿1};12ɔ!̹ϠC Yڦ\]ikr5MظqÆ߻onmƑ<邮UC;o٢kν{;ipchains/images/chain.input.gif0100644000000000000000000000045307132724637015544 0ustar rootrootGIF89a00fff! ,00H*\ȰÇ#JHŋ3jT(Ǐ Andɑ\ɲ倎(Ɣ4gԈ3g˝W鳦B-(RJe25ZpjNR`&֮M/&]ZtkĤ_}6V>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~! ,00 H*\ȰÇ#J  X$j!(@9 It)G0/b %#A@r&"$@dσ>RJФQL?*)ʭZY6*z#nYPa (YsAB{mفBǺ "@pE,P&-M4H`N% }!lP n4 Yjc!<֋oN#wΧQ\A::~˜GB87,A`@zekdI)!H$,60W&@.A] %z ZCUBFՌH<2cg5X0t؎m^iD_yu8` _@Xl Q@;ipchains/images/chain.output.gif0100644000000000000000000000051007132724637015737 0ustar rootrootGIF89a00fff!`! ,00H*\ȰÇ#JHŋ36Ǐ5 IH\ɲ'SH4]Ԉ3'˝{)@ʃB}x`RKt*`hKV}|kV[~}YtbӁ\iFmxدku[nYv4hrBK5oȽ&뷣NJ;6ɉ+LϠC-(۹T[~ݶleޭv쁶 Fn㼁#?vp澏?_,K_Ǯ=\cwO|@;ipchains/module.info0100644000000000000000000000036107133077500013517 0ustar rootrootname=ipchains desc=IPchains Firewalling desc_de=IPchains Firewall desc_zh_CN=IPchainsǽ category=net os_support=redhat-linux debian-linux slackware-linux suse-linux open-linux corel-linux turbo-linux lfs-linux cobaltl-linux depends=0.80 ipchains/index.cgi0100755000000000000000000001124307132724637013165 0ustar rootroot#!/usr/bin/perl # # IPchains Firewalling Webmin Module # Copyright (C) 1999 by Tim Niemueller # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # Created : 20.09.1999 # Changes and To Do are now in the file CHANGES require "./ipchains-lib.pl"; @ps=&parse_script(); $chains=&find_arg_struct('-N', \@ps); $dp=&find_arg_struct('-P', \@ps); foreach $l (@{$dp}) { $p=&find_arg('-P', $l); if ($p->{'value1'} =~ /input/i ) { $ipol=$p->{'value2'}; } elsif ($p->{'value1'} =~ /output/i ) { $opol=$p->{'value2'}; } elsif ($p->{'value1'} =~ /forward/i ) { $fpol=$p->{'value2'}; } } if (!$ipol) { $ipol="ACCEPT" } if (!$opol) { $opol="ACCEPT" } if (!$fpol) { $fpol="ACCEPT" } foreach $l (@{$chains}) { $c=&find_arg('-N', $l); push(@images, "images/chain.other.gif"); push(@texts, $c->{'value'}); push(@links, "edit_chain.cgi?chain=$c->{'value'}"); } &header($text{'index_title'}, undef, "intro", 1, 1, undef, "Written by
Tim Niemueller
Home://page"); print <

$text{'index_standard'}

$text{'input'}
$text{'output'}
$text{'forward'}
$text{'index_standpol'}: $ipol $text{'index_standpol'}: $opol $text{'index_standpol'}: $fpol

EOM print "

$text{'index_userdef'}

"; if (!@links) { print "$text{'index_noudef'}" } else { &icons_table(\@links, \@texts, \@images, 5) } print "
\n"; print <
$text{'index_chaincreate'}
$text{'index_name'}:
$text{'index_list'}
$text{'index_scripts'}
$text{'index_settings'}
[ $version ] EOM &footer("/", $text{'index_return'}); ### END of index.cgi ###. ipchains/acl_security.pl0100644000000000000000000001121707132724637014413 0ustar rootroot # IPchains Firewalling Webmin Module # Copyright (C) 1999-2000 by Tim Niemueller # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # Created : 10.03.2000 require "./ipchains-lib.pl"; # acl_security_form(&options) # Output HTML for editing security options for the apache module sub acl_security_form { print "$text{'acl_cchains'}"; print "{'cchains'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'cchains'}) ? "" : " CHECKED", "> $text{'no'}\n"; print "$text{'acl_echains'}"; print "{'echains'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'echains'}) ? "" : " CHECKED", "> $text{'no'}\n"; print "$text{'acl_dchains'}"; print "{'dchains'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'dchains'}) ? "" : " CHECKED", "> $text{'no'}\n"; print "$text{'acl_crules'}"; print "{'crules'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'crules'}) ? "" : " CHECKED", "> $text{'no'}\n"; print "$text{'acl_erules'}"; print "{'erules'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'erules'}) ? "" : " CHECKED", "> $text{'no'}\n"; print "$text{'acl_drules'}"; print "{'drules'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'drules'}) ? "" : " CHECKED", "> $text{'no'}\n"; print "$text{'acl_chosts'}"; print "{'chosts'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'chosts'}) ? "" : " CHECKED", "> $text{'no'}\n"; print "$text{'acl_ehosts'}"; print "{'ehosts'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'ehosts'}) ? "" : " CHECKED", "> $text{'no'}\n"; print "$text{'acl_dhosts'}"; print "{'dhosts'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'dhosts'}) ? "" : " CHECKED", "> $text{'no'}\n"; print "$text{'acl_bootup'}"; print "{'bootup'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'bootup'}) ? "" : " CHECKED", "> $text{'no'}\n"; print "$text{'acl_rewrite'}"; print "{'rewrite'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'rewrite'}) ? "" : " CHECKED", "> $text{'no'}\n"; print "$text{'acl_delete'}"; print "{'delete'}) ? " CHECKED" : "", "> $text{'yes'} "; print "{'delete'}) ? "" : " CHECKED", "> $text{'no'}\n"; } # acl_security_save(&options) # Parse the form for security options for the apache module sub acl_security_save { $_[0]->{'cchains'} = $in{'cchains'}; $_[0]->{'echains'} = $in{'echains'}; $_[0]->{'dchains'} = $in{'dchains'}; $_[0]->{'crules'} = $in{'crules'}; $_[0]->{'erules'} = $in{'erules'}; $_[0]->{'drules'} = $in{'drules'}; $_[0]->{'chosts'} = $in{'chosts'}; $_[0]->{'ehosts'} = $in{'ehosts'}; $_[0]->{'dhosts'} = $in{'dhosts'}; $_[0]->{'bootup'} = $in{'bootup'}; $_[0]->{'rewrite'} = $in{'rewrite'}; $_[0]->{'delete'} = $in{'delete'}; } ### END.ipchains/COPYING0100644000000000000000000004307107132724637012426 0ustar rootroot GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. ipchains/list_hosts.cgi0100755000000000000000000000632007132724637014251 0ustar rootroot#!/usr/bin/perl # # IPchains Firewalling Webmin Module # Copyright (C) 1999-2000 by Tim Niemueller # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # Created : 20.09.1999 require './ipchains-lib.pl'; if (! -e "$module_config_directory/hosts.db") { ## We have not build our host dbase, so we make it now. &generate_hostsfile("$module_config_directory/hosts.db"); } if (!$config{'hostsfile'}) { $hostsfile="/etc/hosts" } else { $hostsfile=$config{'hostsfile'} } @etchosts=&get_hosts($hostsfile); @userhosts=&get_hosts("$module_config_directory/hosts.db"); &header($text{'lhosts_title'}, undef, undef, undef, undef, undef, "Written by
Tim Niemueller
Home://page"); print <

$text{'lhosts_etc'}

EOM for (my $i = 0; $i <= @etchosts - 1; $i++) { print "\n"; print ""; print ""; print ""; } print < EOM print " "; print <
$text{'lhosts_ip'} $text{'lhosts_names'}
$etchosts[$i]->{'ip'}/$etchosts[$i]->{'netmask'}$etchosts[$i]->{'names'}

$text{'lhosts_usrdef'}

EOM for (my $i = 0; $i <= @userhosts - 1; $i++) { print "\n"; print ""; print ""; print ""; print ""; } if (!@userhosts) { print ""; } print <
IP $text{'lhosts_names'}
$userhosts[$i]->{'ip'}/$userhosts[$i]->{'netmask'}$userhosts[$i]->{'names'}{'line'}\">$text{'lhosts_edit'}/", "{'line'}\">$text{'lhosts_delete'}
$text{'lhosts_nud'}



$text{'lhosts_add'}
$text{'lhosts_ip'}: /   
$text{'lhosts_names2'}:
EOM &footer("./", $text{'lhosts_return'}); ### END of list_hosts.cgi ###.ipchains/ipchains-lib.pl0100755000000000000000000003631407133612714014270 0ustar rootroot# # IPchains Firewalling Webmin Module Library # Copyright (C) 1999-2000 by Tim Niemueller # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # Created : 20.09.1999 do '../web-lib.pl'; $|=1; &init_config("ipchains"); %access=&get_module_acl; $cl=$text{'config_link'}; $version="0.80.3"; $ipchains=($config{'ipchains_path'}) ? $config{'ipchains_path'} : "/sbin/ipchains"; if (!-e "/proc/net/ip_fwchains") { &error($text{'lib_err_nosupport'}) } if (!-e "/proc/net/ip_fwnames") { &error($text{'lib_err_nosupport'}) } if (!-x $ipchains) { &error(&text('lib_err_ipchains', $ipchains, $cl)) } if (! $config{'scriptfile'}) { &error(&text('lib_err_sfcm', $cl)) } if ((!-e "$config{'scriptfile'}") && ($ENV{'SCRIPT_NAME'} ne "/ipchains/script_manager.cgi")) { &error(&text('lib_err_sfmiss', $config{'scriptfile'}, $cl)); } # Argument with 0, 1 or 2 following words (! is not a word) @aw0=("-1", "-y", "-f", "-b", "-l"); @aw1=("-N", "-X", "-F", "-j", "-m", "-p", "-i", "-A", "-I", "--icmp-type"); @aw2=("-D", "-R", "-P", "-d", "-s", "-t"); %tos=("0x00" => "Not Set", "0x10" => "Minimum Delay", "0x08" => "Minimum Throughput", "0x04" => "Maximum Reliability", "0x02" => "Minimum Cost"); @basechains=("input", "output", "forward"); @policies=("ACCEPT", "DENY", "MASQ", "REJECT", "RETURN"); ReadParse(); sub tos_select { local($rv, $sel); $sel=$_[0]; $rv="\n"; $rv.="
$text{'sman_header'}
$text{'sman_confpath'} $config{'scriptfile'}

EOM if (-e $config{'scriptfile'}) { print $text{'sman_exist'}; } else { print $text{'sman_notexist'}; } print <
 
$text{'sman_create'} $text{'sman_createdesc'}
$text{'sman_execute'} $text{'sman_executedesc'}
$text{'sman_bootup'}".&text('sman_bootupdesc', $config{'bootloc'})."
$text{'sman_rembootup'} $text{'sman_rembootupdesc'}
$text{'sman_delete'} $text{'sman_deletedesc'}
EOM print "

\n"; &footer("./", "module index"); } sub doit { if (!$in{'action'}) { &error($text{'sman_err_what'}); } elsif ($in{'action'} eq "create") { if ((-e $config{'scriptfile'}) && !$in{'confirmed'}) { if (! $access{'rewrite'}) { &error($text{'sman_err_acl_rewrite'}) } &header($text{'sman_title'}, undef, undef, 1, undef, undef, "Written by
Tim Niemueller
Home://page"); print "

\n"; print "

$text{'sman_err_exists'}

\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "

\n"; &footer("script_manager.cgi", $text{'sman_smanret'}); exit; } $si = ($config{'scriptinterpreter'}) ? $config{'scriptinterpreter'} : "/bin/sh"; open(FILE, ">$config{'scriptfile'}") || &error($text{'sman_err_write'}); print FILE "#!$si\n"; print FILE "# IPchains Firewalling Script File\n"; print FILE "# Generated by IPchains Firewalling Webmin Module\n"; print FILE "# Copyright (C) 1999-2000 by Tim Niemueller, GPL\n"; print FILE "# http://www.niemueller.de/webmin/modules/ipchains/\n"; print FILE "# Created on ", &make_date(time), "\n"; print FILE "\n$ipchains -F\n$ipchains -X\n\n"; close(FILE); $msg=$text{'sman_createsucc'}; } elsif ($in{'action'} eq "execute") { if (!-x $config{'scriptfile'}) { chmod 0755, $config{'scriptfile'}; $msg="$text{'sman_msg_exec'}
"; } &foreign_check("proc") || &error($text{'sman_err_procneeded'}); &foreign_require("proc", "proc-lib.pl"); $got = &foreign_call("proc", "safe_process_exec", $config{'scriptfile'}, 0, 0, STDOUT, undef, 1); if ($got) { $msg .= "$text{'sman_exec_err'} $got"; } else { $msg .= $text{'sman_exec_ok'}; } } elsif ($in{'action'} eq "bootup") { if (! $access{'bootup'}) { &error($text{'sman_err_acl_bootup'}) } if (!-e $config{'scriptfile'}) { &error(&text('sman_err_nofile', $config{'scriptfile'})) } ($dirpath,$basename) = ($config{'scriptfile'} =~ m#^(.*/)?(.*)#); ($config{'scriptfile'} =~ /^$config{'bootloc'}\/$basename$/) || &error(&text('sman_err_bootloc', $config{'bootloc'})); &foreign_check('init') || &error($text{'smna_err_init'}); &foreign_require('init', 'init-lib.pl'); if (! &foreign_call('init', 'action_levels', 'S', $basename)) { if (!-x $config{'scriptfile'}) { chmod 0755, $config{'scriptfile'}; $msg="$text{'sman_msg_exec'}
"; } foreach $i (3,4,5) { &foreign_call('init', 'add_rl_action', $basename, $i, 'S', 50); &foreign_call('init', 'add_rl_action', $basename, $i, 'K', 50); } } else { &error($text{'sman_err_init1'}); } $msg .= $text{'sman_bootupsucc'}; } elsif ($in{'action'} eq "rembootup") { if (!-e $config{'scriptfile'}) { &error(&text('sman_err_nofile', $config{'scriptfile'})) } ($dirpath,$basename) = ($config{'scriptfile'} =~ m#^(.*/)?(.*)#); ($config{'scriptfile'} =~ /^$config{'bootloc'}\/$basename$/) || &error(&text('sman_err_bootloc', $config{'bootloc'})); &foreign_check('init') || &error($text{'smna_err_init'}); &foreign_require('init', 'init-lib.pl'); if (&foreign_call('init', 'action_levels', 'S', $basename)) { foreach $i (3,4,5) { &foreign_call('init', 'delete_rl_action', $basename, $i, 'S'); &foreign_call('init', 'delete_rl_action', $basename, $i, 'K'); } } else { &error($text{'sman_err_init2'}); } $msg = $text{'sman_rembootupsucc'}; } elsif ($in{'action'} eq "delete") { if (! $access{'delete'}) { &error($text{'sman_err_acl_delete'}) } if (!-e $config{'scriptfile'}) { &error(&text('sman_err_nofile', $config{'scriptfile'})) } ($dirpath,$basename) = ($config{'scriptfile'} =~ m#^(.*/)?(.*)#); ($config{'scriptfile'} =~ /^$config{'bootloc'}\/$basename$/) || &error(&text('sman_err_bootloc', $config{'bootloc'})); &foreign_check('init') || &error($text{'smna_err_init'}); &foreign_require('init', 'init-lib.pl'); if (&foreign_call('init', 'action_levels', 'S', $basename)) { foreach $i (3,4,5) { &foreign_call('init', 'delete_rl_action', $basename, $i, 'S'); &foreign_call('init', 'delete_rl_action', $basename, $i, 'K'); } $msg="$text{'sman_msg_rem'}
"; } `rm -f $config{'scriptfile'}`; $msg .= $text{'sman_deletesucc'}; } else { &error($text{'sman_err_unkcom'}); } &printscreen; } ### END of script_manager.cgi ###.ipchains/delete_chain.cgi0100755000000000000000000000353607132724637014470 0ustar rootroot#!/usr/bin/perl # # IPchains Firewalling Webmin Module # Copyright (C) 1999-2000 by Tim Niemueller # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # Created : 10.10.1999 require "./ipchains-lib.pl"; if (! $access{'dchains'}) { &error($text{'delchain_err_acl'}) } if ($in{'chain'} eq "") { &error($text{'delchain_err_nochain'}) } @ps=&parse_script(); $chains=&find_arg_struct('-N', \@ps); foreach $l (@{$chains}) { local($c); $c=&find_arg('-N', $l); if ($c->{'value'} eq $in{'chain'}) { $line=$c->{'line'}; } } if (!$line) { &error(&text('delchain_err_notfound', $in{'chain'})) } $lines=&read_file_lines($config{'scriptfile'}); splice(@{$lines}, $line, 1); &flush_file_lines(); @ps=&parse_script(); $chainrules=&find_chain_struct($in{'chain'}, \@ps); while (@{$chainrules}) { local($r, $cr); $cr=$chainrules->[0]; $r=&find_arg("-A", $cr); $r || ($r=&find_arg('-I', $cr)); splice(@{$lines}, $r->{'line'}, 1); &flush_file_lines(); } continue { @ps=&parse_script(); $chainrules=&find_chain_struct($in{'chain'}, \@ps); } &flush_file_lines; @ps=&parse_script(); $jc=&find_jump_struct($in{'chain'}, \@ps); while (@{$jc}) { local($r); $r=&find_arg("-j", $jc->[0]); $lines->[$r->{'line'}] = &rm_jump($jc->[0]); &flush_file_lines(); } continue { @ps=&parse_script(); $jc=&find_jump_struct($in{'chain'}, \@ps); } &flush_file_lines; &redirect(""); ### END of delete_chain.cgi ###.ipchains/CHANGES0100644000000000000000000001433007133613137012353 0ustar rootroot IPchains Firewalling Webmin Module - CHANGES Copyright (C) 1999-2000 by Tim Niemueller This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Created : 20.09.1999 This file describes the changes made to the IPchains Firewalling Webmin Module. (Version history). Changes ============================================================================== 30.10.1999 - Added support for SYN-Bit and Fragment (0.74.1) - Added support for ICMP-type, get types from "ipchains -h icmp" - Protocol field is now a list, content is generated by parsing /etc/protocols - Type Of Service (TOS) is now supported - Module can now handle a list of often used hosts and you now can select hosts comfortable via a file-chooser-like window - Port can now be defined as service from /etc/services, comfortable access via popup window - Script manager now accessible through index 15.11.1999 - You may not INPUT and APPEND a rule instead of only appending (0.74.2) - Fixed bug in save_policy.cgi, it now uses $ipchains_path to save the new rule instead of using $config{'ipchains_path'} - You do not need to deliver Source and Destination Address any more for ICMP Protocol (as it is often not use in conjunction with --icmp-type - You may now choose MASQ as Target in any user defined chain, the script controls if there's any non-forward chain that points to the appropriate chain (on adding a MASQ-Target to the chain and if the user tries to add a jump target to the appropriate chain from any other chain) - Fixed some minor errors in rm_jump() and find_chain_struct() - Did several changes to get all functions supporting -I Insertion - Added entry for Caldera OpenLinux in module.info - Now uses foreign_calls to net-module for getting a list of active interfaces (easier and more comfortable way) 16.11.1999 - Wrote a short help to edit_chains.cgi (0.74.2) - I have no school today ;) 10.03.2000 - Added the promised Script Manager features, it can now make (0.78.1) the a bootup script, create and delete it and remove boot entry - It is now possible to clone existing rules. So it is easier to write new rules - Logging flag (-l) is now supported - Changed the "Edit Chain" page. New rule creation is now on another page. Changed the layout of the creation mask. - Fixed $ipchains bug - Fixed change_policy bug, now rewrites these rules correctly - Added ACL features 13.03.2000 - Fixed bug in change_policy.cgi (0.78.2) - Fixed bug in ipchains-lib.pl (missing $cl in error message for missing script file) 14.03.2000 - Fix of some bugs (0.78.3) 20.03.2000 - Fix of some bugs more (often said chain instead of chains in (0.78.4) ACL checks - Fixed bug when saving a rule with only dest or source, not both. Before the save_rule set the -s AND -d option, although if one was empty... 22.03.2000 - Fixed a bug in save_host.cgi, again a problem with the ACL code, (0.78.5) I shouldn't do such things after a gaming session... 08.06.2000 - Fixed bug with ICMP Type option, must be --icmp-type, not (0.80.1) --icmptype as I wrote. An older special patched version used this style, but it seems that all distros are nowadays using the new format 30.06.2000 - Added "Execute Script" in Script Manager (0.80.2) 03.07.2000 - Added move_rule.cgi, you can now move rules up and down in the file. - Changed the way Append and Insert are handled in save_rule. Therefore I removed the support for the -I insert flag. It generally appends new rules. But with insert the module now places the line for this rule at the beginning of this chain. So it is easier to maintain the rules. The -I flag is just a solution if you forgot a rule on manual setup, but when editing a file it makes is just more complex and it is not really needed Because you can now move rules up and down this is the best thing I can to I think. 11.07.2000 - Added chinese translation patch. Thanks to Leo Liang (from Turbo Linux China) for this patch. - Configuration now only available on index as in standard mods - Smaller CleanUps. 12.07.2000 - Added import.cgi to import current system settings. Getting info directly from /proc. Indication works fine, now I have to implement the correct rule creation (in the script). But now I have first to sleep a little bit (it's 3:00 am ;). - It's done. Now you can import current system settings into a script. Works fine with all supported arguments (including their negation of course). Some hours of sleep are wonderful ;) - Removed bug in find_param_2, it added ! as a value if it was the negation of a following line argument (example: -s 192.168.1.1/32 ! -y). 14.07.2000 - Removed critical bug in import.cgi. I forgot a =, so that I didn't compare but set the proto value. So the protocol was always ICMP. Big fault. Thanks to Manuel Carrasco from Lucent Technologies for reporting this. To do ============================================================================== - iptables support (maybe a new module). ### END of CHANGES ###. ipchains/edit_host.cgi0100755000000000000000000000402207132724637014035 0ustar rootroot#!/usr/bin/perl # # IPchains Firewalling Webmin Module # Copyright (C) 1999-2000 by Tim Niemueller # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # Created : 29.10.1999 require "./ipchains-lib.pl"; if ($in{'host'} eq "") { &error($text{'ehost_err_nohost'}) } if (! -e "$module_config_directory/hosts.db") { &error($text{'ehost_err_nodb'}); } $lines=&read_file_lines("$module_config_directory/hosts.db"); if (!$$lines[$in{'host'}]) { &error(&text('ehost_err_notfound', $in{'host'})) } %host=&parse_host_line($$lines[$in{'host'}]); &header($text{'ehost_title'}, undef, undef, undef, undef, undef, "Written by
Tim Niemueller
Home://page"); print <

$text{'ehost_header'}
$text{'ehost_ip'}: /   
$text{'ehost_names'}:
EOM &footer("list_hosts.cgi", $text{'ehost_return'}); ### END of edit_host.cgi ###.ipchains/delete_host.cgi0100755000000000000000000000173207132724637014357 0ustar rootroot#!/usr/bin/perl # # IPchains Firewalling Webmin Module # Copyright (C) 1999-2000 by Tim Niemueller # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # Created : 30.10.1999 require "./ipchains-lib.pl"; if (! $access{'dhosts'}) { &error($text{'delhost_err_acl'}) } if ($in{'host'} eq "") { &error($text{'delhost_err_nohost'}) } $lines=&read_file_lines("$module_config_directory/hosts.db"); splice(@{$lines}, $in{'host'}, 1); &flush_file_lines; redirect("list_hosts.cgi"); ### END of delete_host.cgi ###.ipchains/save_host.cgi0100755000000000000000000000325107132724637014051 0ustar rootroot#!/usr/bin/perl # # IPchains Firewalling Webmin Module # Copyright (C) 1999-2000 by Tim Niemueller # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # Created : 29.10.1999 require "./ipchains-lib.pl"; if ($in{'host'}) { if (! $access{'ehosts'}) { &error($text{'shost_err_acl'}) } } else { if (! $access{'chosts'}) { &error($text{'shost_err_acl2'}) } } if ((!$in{'ip'}) && (!&check_ipaddress($in{'ip'}))) { &error($text{'shost_err_invip'}) } if ((!$in{'netmask'}) && ( (!&check_ipaddress($in{'netmask'})) || ($in{'netmask'} !~ /^\d+$/) )) { &error($text{'shost_err_invnetmask'}) } if (!$in{'names'}) { &error($text{'shost_err_invname'}) } if (! -e "$module_config_directory/hosts.db") { ## We have not build our host dbase, so we make it now. &generate_hostsfile("$module_config_directory/hosts.db"); } $lines=&read_file_lines("$module_config_directory/hosts.db"); $newline="$in{'ip'}/$in{'netmask'} $in{'names'}"; if ($in{'host'}) { # we are changing an existing host. if (!$$lines[$in{'host'}]) { &error($text{'shost_err_nohost'}) } $$lines[$in{'host'}] = $newline; } else { # we are creating a new host push(@{$lines}, $newline); } &flush_file_lines; redirect("list_hosts.cgi"); ### END of save_host.cgi ###.ipchains/host_chooser.cgi0100755000000000000000000000154307132724637014557 0ustar rootroot#!/usr/bin/perl # host_chooser.cgi # This CGI generated the HTML for choosing a host. # Created 29.10.1999 require './ipchains-lib.pl'; # Build list of hosts if (!$config{'hostsfile'}) { $hostsfile="/etc/hosts" } else { $hostsfile=$config{'hostsfile'} } @hosts=&get_hosts($hostsfile); if (-e "$module_config_directory/hosts.db") { push(@hosts, &get_hosts("$module_config_directory/hosts.db")); } &header(); print < function select(f) { ifield.value = f; top.close(); return false; } $text{'selhost_title'} EOM foreach $h (@hosts) { print "\n"; print "", "\n"; } print "
{'netmask'}\")'>$h->{'ip'}/$h->{'netmask'}$h->{'names'}
\n"; ### END of host_chooser.cgi ###.ipchains/service_chooser.cgi0100755000000000000000000000126307132724637015241 0ustar rootroot#!/usr/bin/perl # service_chooser.cgi # This CGI generated the HTML for choosing a service. # Created 29.10.1999 require './ipchains-lib.pl'; # Build list of services @services=&get_services(); &header(); print < function select(f) { ifield.value = f; top.close(); return false; } $text{'schooser_title'} EOM foreach $s (@services) { print "\n"; print "", "", "\n"; } print "
$s->{'name'}$s->{'port'}/$s->{'proto'}$s->{'comment'}
\n"; ### END of service_chooser.cgi ###.ipchains/lang/0040755000000000000000000000000007132724637012312 5ustar rootrootipchains/lang/en0100644000000000000000000002521307133607312012626 0ustar rootroot lang=en author=Tim Niemueller homepage=http://www.niemueller.de copyright=(C) 2000 by Tim Niemueller license=GPL config_link=Check Module Configuration input=Input output=Output forward=Forward index_title=IPchains Firewalling index_standard=Standard Chains index_standpol=Standard Policy index_userdef=User-defined Chains index_noudef=No user defined chains found index_chaincreate=Create a new Chain index_name=Name index_createbut=Create index_list=List Hosts/Nets index_listbut= List index_scripts=Scripts index_scriptsman=Manage index_settings=Settings index_import=Import index_return=webmin index lib_err_nosupport=Either the proc filesystem or IPchains is not supported by your kernel. lib_err_ipchains=File $1 does not exist or is not executable. $2 lib_err_sfcm=You have not entered a script file. It is needed because all rules will be written with the appropriate directives into this script file. $1 lib_err_sfmiss=The script file $1 you entered in the module configuration does not exist. Use the Script Manager to create a plain script. After you created it come back and all works properly. This is a normal configuration step and not an real error, but one step ahead to a working IPchains Module installation! lib_icmptsel=ICMP-Type Selection lib_err_protomis=Cannot find protocol file. $1 lib_err_netmod=You have choosen to use the Network Configuration Module to get all you network interfaces. But this module is not available on your system. Either it is not installed or your system is not supported. So just enter all interfaces in the module configuration as a comma-separated list (for example "eth0, eth1, ippp0, lo"). lib_err_syn=Syntax error (Type $1) in line $2 lib_err_host=Host file $1 does not exist lib_err_create=Cannot create file $1 editrule_title_edit=Edit Rule editrule_title_create=Create Rule editrule_source=Source editrule_dest=Destination editrule_proto=Protocol editrule_iface=Interface editrule_hostnet=Host/Net editrule_target=Target editrule_port=Port editrule_flags=Flags editrule_icmptype=ICMP Type (ignored if not icmp above) editrule_tos=TOS editrule_syn=SYN-Bit editrule_insyn=Inverse SYN-Bit editrule_frag=Fragment editrule_infrag=Inverse Fragment editrule_log=Log Packet editrule_reset=Reset editrule_save=Save Rule editrule_insert=Insert Rule editrule_append=Append Rule editrule_return=edit chain '$1' changepol_title=Change Policy changepol_err_builtin=Standard policy can only be changed for built-in chains changepol_pol=Standard policy for chain '$1' changepol_save=Save Policy changepol_return=edit chain '$1' savepol_err_nochain=No chain to edit! savepol_err_masq=MASQ-policy can only be set for forward-chain createchain_err_nochain=No chain to create! createchain_err_acl=You are not allowed to create chains. sman_title=Script Manager sman_header=Manage your Script sman_confpath=Path entered in module configuration is sman_create=Create script sman_createdesc=Choose this option, to create a plain script file. If there is already a script with the given name, it will be overwritten without any confirmation. sman_exist=The script file does exist sman_notexist=The script file does not exist sman_execute=Execute script sman_executedesc=This will execute your script file immediately. Remember: If you blocked the port used by Webmin or your IP (client) you may not access the Webmin server after doing this. Be sure that you didn't make a mistake or you will have to get direct access to the firewall. sman_bootup=Make Bootup Entry sman_bootupdesc=This will make an entry for your script in your RC. This will start the script on every bootup in runlevels 2, 3 and 5. Therefore the script must reside in $1. If it is not the case you cannot make an entry to start it on every bootup, but you have to manually start it every time. sman_rembootup=Delete Bootup Entry sman_rembootupdesc=This will prevent the file from being executed on system startup or shutdown. sman_delete=Delete script file sman_deletedesc=Click this link if you want to delete the file containing all calls for ipchains. The file can not be recovered! Deletion is permanent! sman_err_what=What should I do? sman_err_exists=The script file already exists. Do you really want to rewrite it? This will erase the complete configuration set up in this file! sman_rewrite=Yes, rewrite script file sman_smanret=Script Manager sman_err_write=Failed to write script file! sman_err_nofile=There is no file named $1 sman_err_unkcom=Unknown command sman_err_init=The init module is needed for this task. sman_err_bootloc=The script must reside in $1 to make it executable. sman_err_init1=Bootup entry does already exist. sman_err_init2=No bootup entry for script file found. sman_createsucc=Creation of script was successful. sman_bootupsucc=Creation of bootup entry was successful. sman_rembootupsucc=Deletion of bootup entry was successful. sman_deletesucc=Deletion of script file was successful. sman_msg_exec=Script file not executable.. Changing. Now executable. sman_msg_rem=Bootup entry exists.. Removed. sman_err_acl_rewrite=The script does already exist and you have not the right to re-write it. sman_err_acl_delete=You are not allowed to delete the script file. sman_err_acl_bootup=You are not allowed to edit bootup settings. sman_exec_err=It seems that there occured an error: sman_exec_ok=Script executed successfully. sman_err_procneeded=This feature needs the "Running Processes" Module. Check if it is installed and your OS supported. echain_title=Edit Chain echain_err_acl=You are not allowed to edit chains. echain_err_line=Cannot determine the line number of this rule. It seems that this rule is invalid. echain_standpol=Standard Policy echain_spchange=Change echain_source=Source echain_port=Port echain_dest=Destination echain_proto=Protocol echain_iface=Interface echain_syn=S echain_synbitdesc=Syn-Bit set echain_frag=F echain_fragdesc=Fragmented echain_log=L echain_logdesc=Log echain_tos=TOS echain_tosdesc=Type Of Service echain_type=T echain_target=Target echain_action=Action echain_norules=No rules found for this chain. echain_edit=Edit echain_delete=Delete echain_clone=Clone echain_up=Up echain_down=Down echain_delchain=Delete Chain echain_crule=Create a new rule echain_return=module index delchain_err_nochain=No chain to delete! delchain_err_notfound=No chain '$1' found delchain_err_acl=You are not allowed to delete chains. delhost_err_nohost=No host to delete! delhost_err_acl=You are not allowed to delete hosts. delrule_err_norule=No rule to delete! delrule_err_nochain=No chain to edit! ehost_err_nohost=No host given to edit ehost_err_nodb=Host dbase not found. ehost_err_notfound=No host '$1' found. ehost_err_acl=You are not allowed to edit hosts. ehost_title=Edit Host ehost_header=Edit Host/Network ehost_names=Names ehost_ip=IP ehost_save=Save ehost_return=host list selhost_title=Select Host.. lhosts_title=List Hosts lhosts_etc=Hosts from /etc/hosts lhosts_names=Name(s) lhosts_edit=Edit lhosts_delete=Delete lhosts_nud=No user defined hosts found lhosts_add=Add a new Host/Network lhosts_ip=IP lhosts_names2=Names lhosts_but_create=Create lhosts_usrdef=User-defined Hosts/Nets lhosts_return=module index shost_err_invip=Not a valid IP shost_err_invnetmask=Not a valid Netmask shost_err_invname=Not a valid Name shost_err_nohost=No such host shost_err_acl=You are not allowed to edit hosts shost_err_acl2=You are not allowed to create hosts srule_err_nochain=No chain to edit! srule_err_servport=If you define a service as port you must choose TCP or UDP protocol! srule_err_syn=You can only set SYN-Bit OR Inverse SYN-Bit or none of them, not both! srule_err_synfrag=SYN not allowed together with Fragment! srule_err_fragport=Ports not allowed with Fragment! srule_err_frag=You can only set Fragmet OR Inverse Fragment or none of them, not both! srule_err_port=You have choosen port, but entered no one srule_err_selfjump=Chain cannot jump to herself srule_err_masqfw=MASQ-policy can only be set for forward-chain. There is (at least) one chain pointing to your chain which is not the forward chain ($1) srule_err_masqinout=MASQ-policy is not allowed for input and output standard cha