Import 0.99

This commit is contained in:
Mario Fetka
2026-04-21 02:13:46 +02:00
parent a82518f886
commit 77c1d0411b
166 changed files with 3286 additions and 3972 deletions

View File

@@ -1,4 +1,4 @@
Hmm, this file is pretty useless, unnecessary, etc. but okay:
Credits:
- Martin Stover
He made MARS_NWE, so I wouldn't have to make this program without him...
@@ -6,4 +6,7 @@ Hmm, this file is pretty useless, unnecessary, etc. but okay:
- Petr Vandrovec
He gave me some information about the ncpfs bindnery utilities
Yes, I said, pretty useless. You've been warned!
- Gustavo Zubieta
For testing this new SMArT version
Probably more but that's quite some time ago so I forgot...

117
LICENSE
View File

@@ -1,117 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 Lesser 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.
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
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.
one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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) year 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.
signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice

View File

@@ -1,51 +0,0 @@
include Makefile.rules
CGI_BINS=apply bindery control device doc general group listconfig logging logins menu printer security user volume
all:
( cd bin; make )
( cd etc; make )
for i in $(CGI_BINS); do \
./setshell $(BASH2_SHELL) < root/cgi-bin/$$i.in > root/cgi-bin/$$i; \
chmod 755 root/cgi-bin/$$i; \
done
clean:
( cd bin; make clean )
( cd etc; make clean )
for i in $(CGI_BINS); do \
rm -f root/cgi-bin/$$i; \
done
install: install-files install-config
install-files:
@echo "Installing files..."
install -d -g $(INSTALL_GROUP) -o root -m 755 $(DOC)
install -d -g $(INSTALL_GROUP) -o root -m 755 $(LIB)
$(DIRECTORY_COPY) forms $(LIB)/
chown -R root.$(INSTALL_GROUP) $(LIB)/forms
$(DIRECTORY_COPY) menus $(LIB)/
chown -R root.$(INSTALL_GROUP) $(LIB)/menus
mv doc `basename $(DOC)`
$(DIRECTORY_COPY) `basename $(DOC)` $(DOC)/..
mv `basename $(DOC)` doc
chown -R root.$(INSTALL_GROUP) $(DOC)/
$(DIRECTORY_COPY) root $(LIB)/
chown -R root.$(INSTALL_GROUP) $(LIB)/root
rm -f $(LIB)/root/cgi-bin/*.in
ln -s $(LIB)/etc/smart.conf $(LIB)/root/smart.conf
if ! [ -d $(LIB)/doc ]; then ln -s $(DOC) $(LIB)/doc; fi
( cd bin; make install )
( cd etc; make install )
install-config:
@echo "Adding SMArT to the inet daemon configuration files..."
echo -e '\n#SMArT MARS_NWE webconfig tool\n' >> /etc/inetd.conf
echo "smart stream tcp nowait root $(LIB)/webserve webserve" | sed -e 's/\\//g' >> /etc/inetd.conf
echo -e '\n#SMArT MARS_NWE webconfig tool\nsmart 902/tcp' >> /etc/services
@echo "Please send a HUP signal to inetd, using a command like this:"
@echo
@echo "killall -HUP inetd"

View File

@@ -1,18 +0,0 @@
#Edit this file for your environment; If you run FreeBSD, just remove the lines
#that belong to Linux, or make sure the FreeBSD values are placed below the
#Linux defaults. Linux users probably don't have to change this file.
#FreeBSD defaults
DOC=\/usr\/local\/share\/doc\/smart
LIB=\/usr\/local\/lib\/smart
INSTALL_GROUP=wheel
DIRECTORY_COPY=cp -RPp
BASH2_SHELL=/usr/local/bin/bash
#Linux defaults (RPM)
#If you install this with make install, it's better to use \/usr\/local\/*
DOC=\/usr\/doc\/smart-1.3
LIB=\/usr\/lib\/smart
INSTALL_GROUP=root
DIRECTORY_COPY=cp -a
BASH2_SHELL=/bin/sh

61
README Normal file
View File

@@ -0,0 +1,61 @@
SMArT 0.99 Perl http://www.lintux.cx/smart.html Released Mar 10 2001
This is the first official release of the Perl version of SMArT. It's a lot
faster than the old program, but very possibly not yet complete. Please tell
me what features are still missing or not working correctly so I can correct
it.
The program is (hopefully) also quite a lot more secure, although passwords
are still transferred over the network in almost-cleartext. The only way to
solve this is using https, but I don't know how it works (yet) so this is
all I can do... Instead of the old password system, you just have to fill in
your root login name + password to use SMArT. The program setuid()s to a
less privileged user as soon as possible, although this is not that
necessary, maybe. The less privileged user is specified in the smart.conf
file, in case you want to change it.
To get the program working, just add the following line to your
/etc/services file: (You can set the 902 to whatever port you want to run
SMArT on.)
smart 902/tcp
And the following line should be added to /etc/inetd.conf:
smart stream tcp nowait root /usr/local/smart/smart
(SMArT can be installed anywhere you want, just make sure the path in the
inetd.conf file is correct...)
You might also have to recompile the check_login binary. The following
command should do the job:
gcc check_login.c -o check_login -lpam -ldl
(The binary which comes with this tarball should work on Debian Potato
systems without recompiling.)
You probably also need to create a PAM configuration file for smart
authentication. Well, let's see how it works, I'm not sure since it's not
the same on every distro. :(
This is my /etc/pam.d/smart file:
auth required pam_unix.so
account required pam_unix.so
password required pam_unix.so
session required pam_unix.so
This should work on a Debian Potato system, but a RedHat system /might/ want
pam_pwdb instead, IIRC.
That should be enough to get it working. If you see problems, you can mail
me at lintux@lintux.cx or if you prefer you can use ICQ. (#72696705) (Dutch
people can speak their native language to me, FYI. ;)
Have fun!
Wilmer van der Gaast.

View File

@@ -1,3 +0,0 @@
# mars-smart
SMArT is a web configuration tool for MARS_NWE, a Novell NetWare 3.x emulator for Linux and FreeBSD.

387
apply.pl Normal file
View File

@@ -0,0 +1,387 @@
#
# SMArT
#
# Apply changes
#
# Copyright 2001 Wilmer van der Gaast (lintux@lintux.cx)
#
#
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
sub handle_request()
{
if( $c[1] eq 'general' )
{
setc( 2, server_name );
setc( 3, internal_net );
setc( 16, test );
setc( 210, timing_down );
setc( 211, timing_warn );
delconfigline( 6 );
if( $p{version} ne '' )
{
if( $p{burst_enabled} eq 'on' )
{ addconfigline( '6 ' . $p{version} . ' 1' ); }
else
{ addconfigline( '6 ' . $p{version} . ' 0' ); }
}
delconfigline( 30 );
if( $p{burst_read} ne '' )
{ addconfigline( '30 ' . $p{burst_read} . ' ' . $p{burst_write} ); }
}
elsif( $c[1] eq 'dirs' )
{
setc( 40, path_cache );
setc( 41, share_lock );
setc( 42, spool );
setc( 45, bindery );
setc( 46, attribute );
setc( 47, trustee );
}
elsif( $c[1] eq 'configh' )
{
setc( 60, max_conn );
setc( 61, max_vol );
setc( 63, max_dirbase );
if( $p{mmap} eq 'on' )
{ $p{mmap} = 1; }
else
{ $p{mmap} = 0; }
setc( 68, mmap );
setc( 69, sap );
setc( 70, net_serial );
setc( 71, net_app );
}
elsif( $c[1] eq 'security' )
{
setc( 7, encrypt );
delconfigline( 9 );
if( $p{creat_dir} ne '' )
{ addconfigline( '9 ' . $p{creat_dir} . ' ' . $p{creat_file} ); }
}
elsif( $c[1] eq 'susers' )
{
setc( 10, guest_group );
setc( 11, guest_user );
delconfigline( 12 );
if( ( $p{root_user} ne '' ) and ( $p{root_name} ne '' ) )
{ addconfigline( '12 ' . $p{root_name} . ' ' . $p{root_user} . ' ' . $p{root_password} ); }
delconfigline( 15 );
if( $p{map} ne '' )
{ addconfigline( '15 ' . $p{map} . ' ' . $p{map_password} ); }
}
elsif( $c[1] eq 'volumes' )
{
if( $c[2] ne '' )
{
delconfigline( '1 ' . $c[2] );
}
if( $p{name} ne '' )
{
cbc( 'm' );
cbc( 'n' );
cbc( 'o' );
cbc( 'p' );
cbc( 'r' );
cbc( 'O' );
cbc( 'N' );
addconfigline( '1 ' . $p{name} . ' ' . $p{path} . ' ' . $p{case} . $p{trustee} . $p{m} . $p{n} . $p{o} . $p{p} . $p{r} . $p{O} . $p{N} );
}
redirect( '/settings/volumes' );
}
elsif( $c[1] eq 'devices' )
{
if( $c[2] ne '' )
{
delconfigline( '4 ' . $c[2] );
}
if( $p{number} ne '' )
{
addconfigline( '4 ' . $p{number} . ' ' . $p{interface} . ' ' . $p{frametype} . ' ' . $p{delay} );
}
redirect( '/settings/devices' );
}
elsif( $c[1] eq 'logging' )
{
setc( 100, ipx );
setc( 101, nwserv );
setc( 102, ncpserv );
setc( 103, nwconn );
setc( 104, nwclient );
setc( 105, nwbind );
setc( 106, nwrouted );
setc( 200, startup );
setc( 201, general_log );
delconfigline( 202 );
addconfigline( 202 . ' ' . ( $p{g_creat} + 2 * $p{error} ) );
setc( 300, routing_interval );
setc( 301, routing_log );
delconfigline( 302 );
addconfigline( 302 . ' ' . ( $p{r_creat} + 2 * $p{r_file} ) );
}
elsif( $c[1] eq 'smart' )
{
if( $p{mars_config} ne $mars_config )
{
# Just append the line. Messy but easy. ;)
open( FILE, '>>' . $base . 'smart.conf' );
print( FILE "\n" . '$mars_config = \'' . $p{mars_config} . '\';' . "\n" );
close( FILE );
}
open( FILE, '>' . $base . '.nwclient' );
print( FILE $p{bind_server} . '/' . $p{bind_user} . ' ' . $p{bind_pass } . "\n" );
close( FILE );
chown( scalar( getpwnam( $nonroot_user ) ), 0, $base . '.nwclient' );
chmod( 0600, $base . '.nwclient' );
}
elsif( $c[1] eq 'users' )
{
drop_root();
$server = get_server();
if( $c[2] eq 'add_new' )
{
system( 'nwbocreate', '-S', $server, '-t', '1', '-o', $p{name} );
$c[2] = $p{name};
}
else
{
system( 'nwbprm', '-S', $server, '-t', '1', '-o', $c[2], '-p', 'UNIX_USER' );
system( 'nwbprm', '-S', $server, '-t', '1', '-o', $c[2], '-p', 'IDENTIFICATION' );
system( 'nwbprm', '-S', $server, '-t', '1', '-o', $c[2], '-p', 'GROUPS_I\'M_IN' );
system( 'nwbprm', '-S', $server, '-t', '1', '-o', $c[2], '-p', 'SECURITY_EQUALS' );
}
$id = ( split( ' ', ( grep( /^$c[2] /, split( "\n", `nwbols -S $server` ) ) )[0] ) )[1]; # Woohoo... ;)
$id =~ s/[^ ][^ ]/$& /g;
$id = join( '', reverse( split( ' ', $id ) ) );
# $id =~ s/ //g;
if( scalar( keys( %p ) ) == 0 )
{
system( 'nwborm', '-S', $server, '-t', '1', '-o', $c[2] );
}
else
{
write_property_string( $c[2], 1, 'UNIX_USER', 0, 30, $p{unix_user} );
write_property_string( $c[2], 1, 'IDENTIFICATION', 0, 30, $p{fullname} );
open( FILE, '|' . 'nwbpset -S ' . $server );
print FILE <<EOF;
0001
$c[2]
GROUPS_I'M_IN
2
31
EOF
@g = grep( /^group_/, keys( %p ) );
foreach $g ( @g )
{
$g =~ s/^group_//;
print( FILE '0002' . "\n", $g . "\n" );
system( 'nwbpadd -S ' . $server . ' -o ' . $g . ' -t 2 -p GROUP_MEMBERS ' . $id . ' > /dev/null' );
}
close( FILE );
open( FILE, '|' . 'nwbpset -S ' . $server );
print FILE <<EOF;
0001
$c[2]
SECURITY_EQUALS
2
31
EOF
@g = grep( /^group_/, keys( %p ) );
foreach $g ( @g )
{
$g =~ s/^group_//;
print( FILE '0002' . "\n", $g . "\n" );
}
close( FILE );
if( $p{password} ne '' )
{
$p = get_bindery_password();
open( FILE, '|' . 'nwpasswd -O ' . $c[2] . ' > /dev/null' );
print( STDERR 'nwpasswd -O ' . $c[2] . ' > /dev/null' . "\n" );
print( FILE $p . "\n" . $p{password} . "\n" . $p{password} . "\n" );
close( FILE );
}
}
redirect( '/settings/users' );
}
elsif( $c[1] eq 'groups' )
{
drop_root();
$server = get_server();
if( $c[2] eq 'add_new' )
{
system( 'nwbocreate', '-S', $server, '-t', '2', '-o', $p{name} );
open( FILE, '|' . 'nwbpset -S ' . $server );
print FILE <<EOF;
0002
$p{name}
GROUP_MEMBERS
2
31
EOF
close( FILE );
$c[2] = $p{name};
}
else
{
system( 'nwbprm', '-S', $server, '-t', '2', '-o', $c[2], '-p', 'IDENTIFICATION' );
system( 'nwbprm', '-S', $server, '-t', '2', '-o', $c[2], '-p', 'OBJ_SUPERVISORS' );
}
if( scalar( keys( %p ) ) == 0 )
{
system( 'nwborm', '-S', $server, '-t', '2', '-o', $c[2] );
}
else
{
write_property_string( $c[2], 2, 'IDENTIFICATION', 0, 30, $p{fullname} );
open( FILE, '|' . 'nwbpset -S ' . $server );
print FILE <<EOF;
0002
$c[2]
OBJ_SUPERVISORS
2
31
EOF
@g = grep( /^man_/, keys( %p ) );
foreach $g ( @g )
{
my @g = split( '_', $g );
print( FILE $g[1] . "\n", $g[2] . "\n" );
}
close( FILE );
}
redirect( '/settings/groups' );
}
elsif( $c[1] eq 'queues' )
{
drop_root();
$server = get_server();
if( $c[2] eq 'add_new' )
{
system( 'nwbocreate', '-S', $server, '-t', '3', '-o', $p{name} );
$c[2] = $p{name};
open( FILE, '|' . 'nwbpset -S ' . $server );
print FILE <<EOF;
0003
$c[2]
Q_SERVERS
2
31
EOF
close( FILE );
open( FILE, '|' . 'nwbpset -S ' . $server );
print FILE <<EOF;
0003
$c[2]
Q_USERS
2
31
0002
EVERYONE
EOF
close( FILE );
open( FILE, '|' . 'nwbpset -S ' . $server );
print FILE <<EOF;
0003
$c[2]
Q_OPERATORS
2
31
0001
SUPERVISOR
EOF
close( FILE );
}
else
{
system( 'nwbprm', '-S', $server, '-t', '3', '-o', $c[2], '-p', 'Q_UNIX_PRINT' );
system( 'nwbprm', '-S', $server, '-t', '3', '-o', $c[2], '-p', 'Q_DIRECTORY' );
}
if( scalar( keys( %p ) ) == 0 )
{
system( 'nwborm', '-S', $server, '-t', '3', '-o', $c[2] );
}
else
{
if( $p{spool_dir} eq '' )
{
$id = ( split( ' ', ( grep( /^$c[2] /, split( "\n", `nwbols -S $server` ) ) )[0] ) )[1]; # Woohoo... ;)
$p{spool_dir} = 'SYS:SYSTEM/' . $id . '.QDR';
}
write_property_string( $c[2], 3, 'Q_UNIX_PRINT', 0, 31, $p{unix_print} );
write_property_string( $c[2], 3, 'Q_DIRECTORY', 0, 31, $p{spool_dir} );
}
redirect( '/settings/queues' );
}
else
{
putp();
return( 0 );
}
redirect( '/static/start.html' );
writeconfig();
}
sub putp()
{
$cc =~ s/.*\?//;
$cc =~ s/&/\n/g;
print <<EOF;
HTTP/1.0 200 OK
Content-Type: text/plain
$cc
EOF
}
sub setc( $$ )
{
delconfigline( $_[0] );
if( $p{$_[1]} ne '' )
{ addconfigline( $_[0] . ' ' . $p{$_[1]} ); }
}
sub cbc( $ )
{
if( $p{$_[0]} ne '' )
{ $p{$_[0]} = $_[0]; }
}

View File

@@ -1,32 +0,0 @@
include ../Makefile.rules
all: hex hexasc webserve replace genform
hex: hex.c
$(CC) hex.c -o hex
hexasc: hexasc.c
$(CC) hexasc.c -o hexasc
webserve: webserve.in
sed -e "s/WEBSERVE_CONF=/WEBSERVE_CONF=$(LIB)\/etc\/webserve.conf/" \
< webserve.in | ../setshell $(BASH2_SHELL) > webserve
chmod 755 webserve
replace: replace.in
../setshell $(BASH2_SHELL) < replace.in > replace
chmod 755 replace
genform: genform.in
../setshell $(BASH2_SHELL) < genform.in > genform
chmod 755 genform
clean:
rm -f hex hexasc webserve replace genform
install: all
install -g $(INSTALL_GROUP) -o root -m 744 -p webserve $(LIB)/webserve
install -g $(INSTALL_GROUP) -o root -m 744 -p hex $(LIB)/hex
install -g $(INSTALL_GROUP) -o root -m 744 -p hexasc $(LIB)/hexasc
install -g $(INSTALL_GROUP) -o root -m 744 -p genform $(LIB)/genform
install -g $(INSTALL_GROUP) -o root -m 744 -p replace $(LIB)/replace

View File

@@ -1,132 +0,0 @@
#!/bin/sh
#
# Generate a complete HTML-form
#
# Copyright 2000 Wilmer van der Gaast (lintux@lintux.cx)
#
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
. $WEBSERVE_ROOT/cgi-bin/functions
. $WEBSERVE_ROOT/smart.conf
declare -i i
declare -i j
read TITLE
cat << EOF
<HTML>
<HEAD>
<TITLE>$TITLE</TITLE>
</HEAD>
<BODY BGCOLOR=#C0C0C0>
<FORM ACTION="/cgi-bin/apply" METHOD=GET>
<TABLE BORDER>
<TR>
<TH COLSPAN=3 BGCOLOR=$HEADER_BACK ALIGN=LEFT>
<TABLE BORDER=0 FRAME=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD><IMG SRC="/smart_icon.jpg"></TD>
<TD><FONT COLOR=$HEADER_BACK>-</FONT></TD>
<TH><FONT COLOR=$HEADER_FORE>$TITLE</FONT></TH>
</TR>
</TABLE>
EOF
read i
while [ "$i" != 0 ]; do
i=$i-1
read LINE
TYPE=`echo $LINE | cut -d, -f1`
NAME=`echo $LINE | cut -d, -f2`
DESC=`echo $LINE | cut -d, -f3`
COUN=`echo $LINE | cut -d, -f4`
case $TYPE in
C ) #Checkboxes
echo \<TR\>\<TH ALIGN=RIGHT ROWSPAN=$COUN\>$DESC:
j=$COUN
while [ "$j" != "0" ]; do
if [ "$j" != "$COUN" ]; then echo -n \<TR\>; fi
j=$j-1
read LINE
NAME=`echo $LINE | cut -d, -f1`
DESC=`echo $LINE | cut -d, -f2-`
echo -n \<TD\>\<INPUT TYPE=CHECKBOX NAME=\"$NAME\"
if [ "$1" != "0" -a "$1" ]; then
echo -n " CHECKED";
fi
echo \>\<TD\>$DESC
shift;
done
;;
R ) #Radio buttons
echo \<TR\>\<TH ALIGN=RIGHT ROWSPAN=$COUN\>$DESC:
j=$COUN
CURRENT=$1
shift
while [ "$j" != "0" ]; do
if [ "$j" != "$COUN" ]; then echo -n \<TR\>; fi
j=$j-1
read LINE
VALU=`echo $LINE | cut -d, -f1`
DESC=`echo $LINE | cut -d, -f2-`
echo -n \<TD\>\<INPUT TYPE=RADIO NAME=\"$NAME\" VALUE=\"$VALU\"
if [ "$CURRENT" = "$VALU" ]; then
echo -n " CHECKED";
fi
echo \>\<TD\>$DESC;
done
;;
L | D ) #(Dropdown) List
echo \<TR\>\<TH ALIGN=RIGHT\>$DESC:
echo -n \<TD\>\<TD\>\<SELECT NAME=\"$NAME\"
if [ "$TYPE" = "L" ]; then
echo " SIZE=5>";
else
echo ">";
fi
j=$COUN
CURRENT=$1
shift
while [ "$j" != "0" ]; do
j=$j-1
read LINE
VALU=`echo $LINE | cut -d, -f1`
DESC=`echo $LINE | cut -d, -f2-`
echo -n \<OPTION VALUE=\"$VALU\"
if [ "$CURRENT" = "$VALU" ]; then
echo -n " SELECTED";
fi
echo \>$DESC\</OPTION\>;
done
echo \</SELECT\>
;;
P ) #Password input
echo \<TR\>\<TH ALIGN=RIGHT\>$DESC:\<TD\>\<TD\>\<INPUT TYPE=PASSWORD NAME=\"$NAME\" SIZE=$STANDARD_INPUT_WIDTH\ VALUE=\"$1\"\>
shift
;;
T ) #Normal input
echo \<TR\>\<TH ALIGN=RIGHT\>$DESC:\<TD\>\<TD\>\<INPUT TYPE=TEXT NAME=\"$NAME\" SIZE=$STANDARD_INPUT_WIDTH\ VALUE=\"$1\"\>
shift
;;
esac;
done
cat << EOF
<TR>
<TD ALIGN=CENTER COLSPAN=3>
<INPUT TYPE=SUBMIT VALUE="OK">
</TABLE>
</BODY>
</HTML>
EOF

View File

@@ -1,47 +0,0 @@
/* hex.c - Convert string from stdin to hex -> stdout
*
* Copyright 2000 Wilmer van der Gaast (lintux@lintux.cx)
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// You know, I'm just a former QuickBASIC programmer... (I still am)
// Ah, who cares??? It works... No buffer overruns/etc. AFAIK...
#define byte_count 128 // Total number of lines of output
main ()
{
char str[byte_count];
int i, z;
z=0;
scanf ("%128c", &str);
for (i=0; i<byte_count; i++)
{
if (str[i]==37)
{
printf ("%c%c\n", str[i+1], str[i+2]);
i+=2;
z+=2;
}
else if (str[i]>=32)
printf ("%2X\n", str[i]);
else
printf ("00\n", str[i]);
}
for (i=0; i!=z; i++)
printf("00\n");
}

View File

@@ -1,47 +0,0 @@
/* hex.c - Convert string from stdin to hex -> stdout
*
* Copyright 2000 Wilmer van der Gaast (lintux@lintux.cx)
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// You know, I'm just a former QuickBASIC programmer... (I still am)
// Ah, who cares??? It works... No buffer overruns/etc. AFAIK...
#define byte_count 128 // Total number of lines of output
main ()
{
char str[byte_count];
int i, z;
z=0;
scanf ("%128c", &str);
for (i=0; i<byte_count; i++)
{
if (str[i]==37)
{
printf ("%c%c\n", str[i+1], str[i+2]);
i+=2;
z+=2;
}
else if (str[i]>=32)
printf ("%2X\n", str[i]);
else
printf ("00\n", str[i]);
}
for (i=0; i!=z; i++)
printf("00\n");
}

View File

@@ -1,39 +0,0 @@
/* hexasc.c - Convert hex from stdin to text -> stdout
*
* Copyright 2000 Wilmer van der Gaast (lintux@lintux.cx)
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// You know, I'm just a former QuickBASIC programmer... (I still am)
// Ah, who cares??? It works... No buffer overruns/etc. AFAIK...
#include <stdio.h>
main()
{
char test;
while (scanf("%x",&test) > 0)
{
if (test == 0)
{
printf ("\n");
return(0);
}
printf("%c",test);
}
printf("\n");
}

View File

@@ -1,43 +0,0 @@
#!/bin/sh
#
# Read file from $1, insert stdin at ***, output to stdout
#
# Copyright 2000 Wilmer van der Gaast (lintux@lintux.cx)
#
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
if [ "$1" = "xxx" ]; then
read LINE
while [ "$LINE" != "***" ]; do
echo $LINE
read LINE;
done
exit;
fi
if [ "$1" = "yyy" ]; then
read LINE
while [ "$LINE" != "***" ]; do
read LINE;
done
cat
exit;
fi
$0 xxx < $1
cat
$0 yyy < $1

View File

@@ -1,132 +0,0 @@
#!/bin/sh
#
# Shell-script webserver
#
# Used for SMArT, but it can be used for anything.
#
# Copyright 2000 Wilmer van der Gaast (lintux@lintux.cx)
#
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# If you like this program, if you want to put together your own proggie,
# you're allowed to. Of course you are. But _please_ contact me first!
# But, who wants to use this???
WEBSERVE_CONF=
. $WEBSERVE_CONF
export WEBSERVE_ROOT
export WEBSERVE_CONF
read INPUT
REQUEST=$INPUT
while [ "$INPUT" != "
" ] && [ -n "$INPUT" ]; do
if [ "`echo $INPUT | cut -d: -f1`" = Authorization ]; then
USER_AUTHORIZATION=`echo $INPUT | cut -d" " -f2-`
if [ -z "$WEBSERVE_AUTHORIZATION" ]; then
WEBSERVE_AUTHORIZATION=$USER_AUTHORIZATION
echo WEBSERVE_AUTHORIZATION=\"$WEBSERVE_AUTHORIZATION\" >> $WEBSERVE_CONF;
else
if [ "$USER_AUTHORIZATION" != "$WEBSERVE_AUTHORIZATION" ]; then
USER_AUTHORIZATION=""
fi;
fi;
fi
read INPUT
if [ "$INPUT" != "
" ] && [ "$INPUT" ] && [ -z "`eval echo $\`echo $INPUT | cut -d: -f1 | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_\``" ]; then
export `echo $INPUT | cut -d: -f1 | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`="`echo $INPUT | cut -d" " -f2-`";
fi;
done
if [ -z "$USER_AUTHORIZATION" ] && [ "$WEBSERVE_SECURITY" = "on" ]; then
echo HTTP/1.0 401 Authorization Required
echo WWW-Authenticate: Basic realm=\"$WEBSERVE_AUTHO_REALM\"
echo Connection: close
echo Content-Type: text/html
echo
cat $WEBSERVE_ERROR_DIR/$WEBSERVE_ERROR_401
exit;
fi
COMMAND=`echo $REQUEST|cut -f1 -d" "`
OPTS=`echo $REQUEST|cut -f2 -d" "|cut -f1 -d"
"`
if [ -z "`echo $OPTS | grep \?`" ]; then
PARAMS="";
else
PARAMS="`echo $OPTS|cut -f2- -d"?"`";
fi
OPTS_NONLOCAL=$OPTS
OPTS="$WEBSERVE_ROOT"`echo $OPTS|cut -f1 -d"?"`
if echo $OPTS | grep '\.\.' > /dev/null; then
echo HTTP/1.0 500 Internal Server Error
echo Date: `date -u`
echo Server: $WEBSERVE_NAME
echo Connection: close
echo Content-Type: text/html
echo
cat $WEBSERVE_ERROR_DIR/$WEBSERVE_ERROR_500
exit;
fi
case $COMMAND in
GET | get )
if [ -e $OPTS ]; then
echo HTTP/1.0 200 OK
echo Date: `date -u`
echo Server: $WEBSERVE_NAME
echo Connection: close
if [ -d $OPTS ]; then
echo Content-Type: text/html
echo
if [ -z `echo $OPTS | grep /\$` ]; then
OPTS=$OPTS/;
OPTS_NONLOCAL=$OPTS_NONLOCAL/;
fi
if [ -e $OPTS/$WEBSERVE_DEFAULTFILE ]; then
cat $OPTS/$WEBSERVE_DEFAULTFILE;
else
echo -e \<HTML\>\\n\<HEAD\>\\n\<TITLE\>$OPTS\</TITLE\>\\n\<\HEAD\>\\n\<BODY\>\<H1\>Directory of $OPTS_NONLOCAL\</H1\>\<TT\>
for i in `/bin/ls -aw 1 $OPTS`; do
echo \<A HREF=\"$OPTS_NONLOCAL$i\"\>$i\</A\>\<BR\>;
done
echo -e \</TT\>\</PRE\>\\n\</BODY\>\\n\<\HTML\>;
fi;
else
if [ -z "`echo $OPTS | grep cgi`" ]; then
if [ -z "`echo $OPTS | grep \.htm`" ]; then
echo Content-Type: image/gif
echo;
else
echo Content-Type: text/html
echo;
fi
cat $OPTS;
else
$OPTS $PARAMS;
fi;
fi;
else
echo HTTP/1.0 404 Not Found
echo Date: `date -u`
echo Server: $WEBSERVE_NAME
echo Connection: close
echo Content-Type: text/html
echo
cat $WEBSERVE_ERROR_DIR/$WEBSERVE_ERROR_404;

BIN
check_login Executable file

Binary file not shown.

70
check_login.c Normal file
View File

@@ -0,0 +1,70 @@
/*
SMArT
Check username/password combination using PAM
Copyright 2001 Wilmer van der Gaast
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <security/pam_appl.h>
#include <stdio.h>
int my_conv(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr);
static struct pam_conv conv = {
my_conv,
NULL
};
char *user;
char *pass;
int main( int argc, char **argv )
{
pam_handle_t *pamh;
int retval, st = 1;
user = argv[1];
pass = argv[2];
retval = pam_start( "smart", user, &conv, &pamh );
if ( retval == PAM_SUCCESS )
retval = pam_authenticate( pamh, PAM_SILENT );
if ( retval == PAM_SUCCESS )
st = retval = pam_acct_mgmt( pamh, PAM_SILENT );
if ( pam_end( pamh, retval ) != PAM_SUCCESS )
return( 1 );
return( st != PAM_SUCCESS );
}
int my_conv(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr)
{
struct pam_response *reply;
int i;
reply = (struct pam_response *) calloc( num_msg, sizeof( struct pam_response ) );
for( i = 0; i < num_msg; i ++ )
{
reply[i].resp = (char *) strdup( pass ); /* Just give the password... It's all we know */
reply[i].resp_retcode = 0;
}
*resp = reply;
return( PAM_SUCCESS );
}

View File

@@ -1,70 +0,0 @@
Version 0.1 (Wed April 7 1999)
- First usable version
- This version can change five settings
- Menu generator uses only one file (per language)
- Form generator not yet in use, forms are generated right from the cgi-bins
- First usable version is _not_ usable...
Version 0.25 (Fri April 9 1999)
- Form generator used for all the forms, simple form lay-out
- Added a number of configuration options
Version 0.3 (Thu April 15 1999)
- Rewritten menu writing engine, maintaining multiple language versions
is now easier, I think
- Moved some directories
Version 0.5 (Sun Apr 25 1999)
- The user settings are now changed right in/from the bindery
Version 0.6 (Fri Apr 30 1999)
- Group list 'editor'
- Print queue list 'editor'
- Added more configuration options, you can edit _almost_ all the nwserv.conf
options now
Version 0.9 (Fri May 7 1999)
- All necessary options are now included (I think)
- The Edit-buttons work now
- A big leap for the version number, but who cares, I just did it 'cause the
program is finally usable
A large hole... Red Hat Linux 6.0 didn't like the new mars_nwe... :(
The new (RH6 compatible) version is now available at Red Hat software.
Version 0.99 (Mon Jun 21 1999)
- New logo! (Let's hope the guys from the candy bar like it...)
- You can start/stop MARS_NWE from SMArT now.
- You'll be forced to configure SMArT when using it for the first time,
'cause it just doesn't work when it's not configured.
- Fixed the burst mode bug (It didn't understand hex values.)
- Changed the config file permissions, (again???) they will be set auto-
matically when starting it up, to make sure they remain okay, remember
that the config files contain plain text passwords!
- There's a simple menu available, only the important options are in it,
so you don't have to search through the whole menu. Just click on the
link at the start-up screen.
Version 1.0 (Thu Nov 18 1999)
- First release version...
- RPM-ized
- Makefiles, don't extract it from / anymore, just untgz it in /usr/src
and jump to the directory and then make; make install
Version 1.1 (Wen Dec 15 1999)
- Webserve won't allow you to GET a file from the parent directory
- Fixed some very very stupid bugs, like the not-working-correctly
group-editing
- Maybe more...
Version 1.2 (Tue Jan 4 2000)
- Tested with FreeBSD 3.2
- Works with FreeBSD (Release 3.2, at least...)
- Changed the menu layout. It does not necessarily look better, but it
makes SMArT more usable on systems with resolutions below 1024x768,
and probably more Lynx-friendly
- Cleaned up the 'source tree' a little bit
Version 1.3 (Sat Feb 26 2000)
- Added the logged-in-users list + logout function
- Major security fix!

41
doc/FAQ
View File

@@ -1,41 +0,0 @@
Well, okay, nobody asked any question yet, but well, somebody might want to ask
this question:
Q: AAAARGH! My browser keeps complaining about wrong authentication!
A: Well, the authentication system of my webserver is very simple, the first
time you log into the webserver, the program asks for a username/password,
and that username/password will be saved in the config-file. But maybe I
forgot to delete the Authentication line from the config-file, so just edit
the webserve.conf file and remove that line. Login, and type your favourite
name/password pair, and don't forget them... Well, you can just re-delete
the line, but I don't think that's very handy. You can also disable the
password check, but I don't think that's very handy either...
Q: Hey, the user editor/bindery browser doesn't work!
A: Maybe you haven't installed the ncpfs package yet, this is needed to edit
the user list in the bindery. Also, don't forget to start the server,
'cause you can't edit the bindery when the server is not in the air.
And it is possible that you've changed the SUPERVISOR password, and SMArT
doesn't know the new password yet. Use SMArT configuration to tell SMArT
the new password.
It's also possible that the ncpfs utilities can't contact the server...
Maybe you haven't set the right frametypes, etc... Ahh, no, of course
you have, you're running MARS_NWE already, aren't you? Anyway, I have
been looking for a non-existing bug for a long time, I was thinking
the nwb[op]* utilities that came with RHL6.1 didn't work anymore, but
I forgot that my client system, doesn't create an IPX device at
startup. It wasn't a bug.... Interesting, isn't it??? NOT!
Q: SMArT, why on earth do you call it SMArT?
A: Well, you know SWAT, the webconfig tool for SaMBa? I changed that name a
little bit, Simple MARS_NWE Administration tool instead of Samba Web
Administration Tool. I don't think SMAT is a good name, so let's call it
SMArT! Please don't forget the lower case r...
Q: Help! My client can't contact the SMArT server...
A: I have had this problem too, and at my place, it was because of the
knfsd NFS server, it likes to use the port 902, sometimes, but
that's the SMArT port... You can solve this by changing the port
number, in the /etc/services file. Just look for a line like this:
smart 902/tcp
and change the number 902 into something else.

View File

@@ -1,28 +0,0 @@
SMArT installation
This is all not necessary with the RPM version, of course, except for the
text at the bottom.
You can just un-tgz the tar.gz file in the /usr/src directory, or anywhere
you want, and then you can edit the Makefile.rules file to change the
destination directories, and maybe adjust some things for your environment.
Especially for FreeBSD users it's important to make sure the BASH2_SHELL
points to a bash-shell, csh does _not_ work. When finished, just do
make install
to make the program and install it, this will also install SMArT in the
inetd configuration files. If you don't want that, just do make
install-files instead, and if you want, you can do make install-config
later to install the configuration entries later.
IMPORTANT FOR ALL INSTALLATIONS:
When you've installed SMArT, please use it immediately!!!
Go to your web browser, go to location http://servername:902 and set
the settings, and especially _Set The Password_
When you forget this, SMArT will probably be the easiest security
hole a cracker can get. I have built in some safety instructions,
the client can't fetch a file from a parent directory, but I
just can't guarantee it's safe!

View File

@@ -1,17 +0,0 @@
SMArT menu structure description
Well, it's very simple, I think nobody really needs this file anyway.
A menu is just a directory, and that directory contains sub-directories
for each submenu.
The top directory of a menu contains index files, called index.<language>.
The first line of that file has two comma-separated fields, the first field
is the menu-title, after the comma there's a Copyright notice, it will be put
at the end of the menu. (I just added the Copyright feature 'cause the menu
generator generated an extra <TR>, I thought it was better to use that one.)
Each following line defines a submenu, it's comma-separated. The first field
contains the title, the second field contains the directory name.
Each directory contains files for the submenu-entries. The submenu-entry-
format is also very simple. The first line contains the title, a comma, and
then the cgi-script linked to that menu-entry.
The following line contain a description of the menu-entry, and of course
you're allowed to use HTML-codes there.

View File

@@ -1,30 +0,0 @@
SMArT v1.3 by Wilmer van der Gaast
SMArT is a small, shell-script-driven utility for MARS_NWE web-configuration.
The shell-script webserver started as an experiment, but now, the functionality
isn't that bad anymore, and it's easy to configure, it needs no memory when
you don't use it, because it runs using inetd, and it's also not very large,
(Hmm...) and not binary, so it's very platformindependent, I think.
Well, you do have to compile something for SMArT now, but it's just a simple
program, it won't need to be changed for compiling under non-x86
architectures, I think.
You can't completely configure MARS_NWE, now, but of course, I'm working on
it. The program supports multi-language, so if you correctly set up your
browser, you will see the 'help texts' in your own language. (Well, only
English and Dutch are supported now... But hey, things can change! Any
volunteers? Maybe? Well, whatever...)
And now, there's another little nice extra, a bindery browser, so you can
easily view all the bindery entries. Very handy, because you don't have to
use those command line utilities anymore. And of course, this bindery browser
works with real NetWare servers too! Just go to SMArT-settings, and fill in
the right options.
------------------------------------------
Wilmer/Lintux ( lintux@lintux.cx )
Vorrelveen 4
9411 VP Beilen
The Netherlands
------------------------------------------

View File

@@ -1,8 +0,0 @@
There are many things to do:
- Add more languages - any volunteer?
- Add more options - almost all options are present
- Add documentation to the website - partially done, just SMArT documentation
- Add config.h editing? - hmm, you can edit some of them in
nwserv.conf, so in SMArT too.
- And more, suggestions?

0
error.log Normal file
View File

View File

@@ -1,32 +0,0 @@
include ../Makefile.rules
all: smart.conf webserve.conf
clean:
rm -f smart.conf webserve.conf
install: all
install -d -g $(INSTALL_GROUP) -o root -m 755 $(LIB)/etc
install -d -g $(INSTALL_GROUP) -o root -m 755 $(LIB)/etc/errors
for i in *.conf errors/*; do \
install -g $(INSTALL_GROUP) -o root -m 644 -p $$i $(LIB)/etc/$$i; \
done
smart.conf: smart.conf.in ../Makefile.rules
cat smart.conf.in | sed \
-e "s/SMART_ROOT=/SMART_ROOT=$(LIB)/" \
-e "s/SMART_DOC=/SMART_DOC=$(LIB)\/doc/" \
-e "s/SMART_CONF=/SMART_CONF=$(LIB)\/etc\/smart.conf/" \
-e "s/GENFORM=/GENFORM=$(LIB)\/genform/" \
-e "s/HEX=/HEX=$(LIB)\/hex/" \
-e "s/HEXASC=/HEXASC=$(LIB)\/hexasc/" \
-e "s/REPLACE=/REPLACE=$(LIB)\/replace/" > smart.conf
webserve.conf: webserve.conf.in ../Makefile.rules
cat webserve.conf.in | sed \
-e "s/WEBSERVE_ROOT=/WEBSERVE_ROOT=$(LIB)\/root/" \
-e "s/WEBSERVE_ERROR_DIR=/WEBSERVE_ERROR_DIR=$(LIB)\/etc\/errors/" > webserve.conf
default-config-redhat: smart.conf
echo 'MARS_CONFIG=/etc/nwserv.conf' >> smart.conf
echo 'NWSERV_BIN=/usr/sbin/nwserv' >> smart.conf

View File

@@ -1,8 +0,0 @@
<HTML>
<HEAD>
<TITLE>401 Authorization Failure</TITLE>
</HEAD>
<BODY>
Sorry, you're not allowed to view this document!
</BODY>
</HTML>

View File

@@ -1,8 +0,0 @@
<HTML>
<HEAD>
<TITLE>404 File not found</TITLE>
</HEAD>
<BODY>
Sorry, the file you requested could not be found!
</BODY>
</HTML>

View File

@@ -1,9 +0,0 @@
<HTML>
<HEAD>
<TITLE>500 Internal server error</TITLE>
</HEAD>
<BODY>
The URL you've submitted is forbidden, accessing the parent directory is not
allowed!
</BODY>
</HTML>

View File

@@ -1,13 +0,0 @@
# System configuration:
HEADER_BACK="#00007F"
HEADER_FORE="#FFFFFF"
STANDARD_INPUT_WIDTH=30
# Directories:
SMART_ROOT=
SMART_DOC=
SMART_CONF=
GENFORM=
HEX=
HEXASC=
REPLACE=
# User configuration:

View File

@@ -1,11 +0,0 @@
# System configuration:
WEBSERVE_DEFAULTFILE=index.html
WEBSERVE_ERROR_404=404_NOTFOUND.html
WEBSERVE_ERROR_401=401_AUTHORIZATION.html
WEBSERVE_ERROR_500=500_INTERNAL_ERROR.html
WEBSERVE_NAME="SMArT 1.3/BashWebserve/`uname -s`/0.1"
WEBSERVE_AUTHO_REALM=SMArT
# Directories:
WEBSERVE_ROOT=
WEBSERVE_ERROR_DIR=
# User configuration:

View File

@@ -1,7 +0,0 @@
Automatic user mapping
2
R,AUTOMAP,Automap,3
0,Disabled
1,Enabled
99,At startup
P,PASSWORD,Default password

View File

@@ -1,4 +0,0 @@
Bindery flags
1
C,x,Options,1
F1,Give all users without a login script an empty one

View File

@@ -1,13 +0,0 @@
Change <TT>config.h</TT>-defaults
7
T,MAXCONN,Maximum number of connections
T,MAXVOLS,Maximum number of volumes
T,MAXDBES,Maximum number of directory-base entries
T,SERIAL,Network serial number
T,APPLIC,Network application number
R,MMAP,mmap-calls,2
1,Enabled
0,Disabled
R,SAP,Handle SAP-types,2
0,Only type 4
1,Handle all SAP-types

View File

@@ -1,7 +0,0 @@
Device flags
2
C,x,Options,3
F1,Remove routes after shutting down, except for busy sockets
F2,Create IPX-devices automatically
F4,Force deletion of routes
T,WDOG,Watchdog setting

View File

@@ -1,12 +0,0 @@
IPX-device
4
T,NETNUM,Network number
T,INTERFACE,Interface name
D,FRAME,Frame type,6
ethernet_ii,Ethernet_II
802.2,IEEE 802.2
802.3,IEEE 802.3
snap,SNAP
token,Token ring
auto,Automatic detection
T,TICKS,Interface delay

View File

@@ -1,8 +0,0 @@
Directories
6
T,VOLCACHE,Path cache directory
T,LOCKS,Share and lock files
T,SPOOL,Spool directory
T,BINDERY,Bindery files
T,ATTRIB,Attribute handling files
T,TRUSTEE,Trustee handling files

View File

@@ -1,8 +0,0 @@
Password encryption
1
R,ENCRYPTION,Password encryption,5
0,Always enforce encryption
1,Always, except for password changing
7,Allow non-encrypted password, but not empty passwords
8,Allow non-encrypted and empty passwords
9,Disallow encrypted passwords

View File

@@ -1,5 +0,0 @@
Group
3
T,NAME,Group name
T,FULLNAME,Full name
***

View File

@@ -1,3 +0,0 @@
Zero rights user
2
***

View File

@@ -1,3 +0,0 @@
Internal network number
1
T,NUM,Internal network number

View File

@@ -1,17 +0,0 @@
Logging flags
6
R,E200,NWSERV behaviour,2
0,No logging, don't daemonize NWSERV/NWROUTED
1,Daemonize NWSERV/NWROUTED and create log
R,E202_1,Log file creation,2
0,Append messages to log file
1,Always create new log file
R,E202_2,Map <I>error</I> messages to,2
0,Log file
2,<TT>syslogd</TT>
T,E300,Number of minutes between each time printing routing information to <TT>routes.log</TT>
R,E302_1,Route logging behaviour,2
0,Append information to log file
1,Always create new log file
C,x,More options,1
E302_2,Create separate files, extensions <TT>.1</TT>, <TT>.2</TT>, <TT>.3</TT>, etc.

View File

@@ -1,4 +0,0 @@
Logfiles
2
T,NWLOG,Normal logfile
T,ROLOG,Routes logfile

View File

@@ -1,30 +0,0 @@
Debugging options
7
D,d100,IPX-kernel,2
0,No debugging
1,Normal debugging
D,d101,NWSERV,3
0,No debugging
1,Normal debugging
99,Maximum debugging
D,d102,NCPSERV,3
0,No debugging
1,Normal debugging
99,Maximum debugging
D,d103,NWCONN,3
0,No debugging
1,Normal debugging
99,Maximum debugging
D,d104,NWCLIENT,3
0,No debugging
1,Normal debugging
99,Maximum debugging
D,d105,NWBIND,3
0,No debugging
1,Normal debugging
99,Maximum debugging
D,d106,NWROUTED,3
0,No debugging
1,Normal debugging
99,Maximum debugging

View File

@@ -1,29 +0,0 @@
Standard creat mode
4
R,DIR,Directory,3
DSTD,Standard
DINH,Inherit from parent
DXXX,As following:
C,x,Directory rights,9
DUR,Readable by owner
DUW,Writable by owner
DUX,Executable by owner
DGR,Readable by group
DGW,Writable by group
DGX,Executable by group
DOR,Readable by others
DOW,Writable by others
DOX,Executable by others
R,FILE,Files,2
FSTD,Standard
FXXX,As following:
C,x,File rights,9
FUR,Readable by owner
FUW,Writable by owner
FUX,Executable by owner
FGR,Readable by group
FGW,Writable by group
FGX,Executable by group
FOR,Readable by others
FOW,Writable by others
FOX,Executable by others

View File

@@ -1,5 +0,0 @@
Printer
3
T,NAME,Print queue name
T,UNIX_COMMAND,Unix printing command
T,SPOOL_DIR,Spool directory

View File

@@ -1,4 +0,0 @@
Printing flags
1
C,x,Options,1
F1,Never print banners

View File

@@ -1,10 +0,0 @@
Security flags
1
C,x,Options,7
F1,Allow other directories than <TT>SYS:/login</TT> for logged-out users
F2,Open read-only files as read-only when asking for write access
F4,Allow renaming directories
F8,Ignore station/time restrictions for <TT>SUPERVISOR</TT>
F10,Always allow file deletion, even for open files
F20,Store file base entries (necessary for <TT>ncpfs</TT>)
F40,Limit reported free space to 2GB (necessary for some DOS-clients)

View File

@@ -1,3 +0,0 @@
Server name
1
T,NAME,Server name

View File

@@ -1,9 +0,0 @@
SMArT-settings
6
T,MARSCONFIG,MARS_NWE configuration file
T,NWSERV_BIN,<TT>nwserv</TT> binary path
C,x,Options,1
SECURITY,Enable SMArT password prompt
T,SERVERNAME,Server name for bindery tools
T,SUPERVISOR,Supervisor name for bindery tools
P,PASSWORD,Supervisor password for bindery tools

View File

@@ -1,5 +0,0 @@
Supervisor settings
3
T,SUPERVISOR,Supervisor login name
T,ROOT,Maps to Linux user
P,PASSWORD,NetWare password

View File

@@ -1,6 +0,0 @@
Startup tests
1
R,TESTS,Startup tests,3
0,None
1,Some
2,Check and compress bindery files

View File

@@ -1,4 +0,0 @@
Timing
2
T,DOWNDELAY,Number of seconds before going down after <TT>SIGTERM</TT>
T,MESSAGEDELAY,Number of seconds between down-warnings

View File

@@ -1,7 +0,0 @@
User
5
T,NOVELL,NetWare user
T,FULLNAME,Full name
T,UNIX,Unix user
P,PASSWORD,Login password
***

View File

@@ -1,10 +0,0 @@
Version spoofing
4
R,VERSION,Server version,3
0,2.15
1,3.11
2,3.12
C,x,Options,1
BURST,Enable burst mode
T,MAXREAD,MAX_BURST_READ_BUF
T,MAXWRITE,MAX_BURST_WRITE_BUF

View File

@@ -1,20 +0,0 @@
Volume
6
T,NAME,Volume name
T,DIR,Directory
R,CASE,Case handling,3
IGNORE,Ignore case
UPPER,All upper case
LOWER,All lower case
R,TRUSTEE,Trustees,3
NONE,None
YES,Just the trustees
UNIX,Trustees + Unix permissions
C,x,Namespace calls,2
OS2,OS/2 / Win 9x namespace calls
NFS,Network File System (Unix) namespace calls
C,x,Special options,4
REMOVABLE,Removable drive (CD-ROM)
NOFIXINODES,No fixed I-nodes (CD-ROM or DOS-filesystems
PIPE,Pipe-filesystem (See doc/PIPE-FS in source-directory)
RO,Filesystem must be read-only

View File

@@ -1,2 +0,0 @@
SMArT,doc?smart
Here you can find some more information about SMArT.

View File

@@ -1,2 +0,0 @@
SMArT,doc?smart
Hier kun je meer informatie vinden over SMArT.

View File

@@ -1,2 +0,0 @@
Security flags,security?sec-flags
To change some security options, click here.

View File

@@ -1,2 +0,0 @@
Beveiligingsopties,security?sec-flags
Hier kun je de beveiligingsopties aanpassen.

View File

@@ -1,2 +0,0 @@
Printer flags,printer?prn-flags
Click here to change some settings about the printer queue.

View File

@@ -1,2 +0,0 @@
Printer opties,printer?prn-flags
Hier kun je een aantal bindery-opties veranderen.

View File

@@ -1,7 +0,0 @@
Device flags,device?dev-flags
To change some extra device options, click here.<BR>
<B>Watchdog setting:</B><BR>
If you don't want to send watchdogs, set this value to something less than
zero. If you always wish to send watchdogs, set this to zero, or if you only
want to send watchdogs on specific IPX-devices, set this value to the minimum
number of ticks of an IPX-device.

View File

@@ -1,7 +0,0 @@
IPX-device opties,device?dev-flags
Om opties i.v.m. de IPX-devices te veranderen moet je hier zijn.<BR>
<B>Watchdog setting:</B><BR>
Als je geen watchdogs wilt verzenden, stel deze waarde dan in op iets onder
nul. Als je altijd watchdogs wilt verzenden, stel dit dan in op nul. Als je
alleen op bepaalde IPX-devices watchdogs wilt verzenden, stel dit dan in op
het minimale aantal ticks van een IPX-device.

View File

@@ -1,2 +0,0 @@
Bindery flags,bindery?bind-flags
To change some settings about the bindery emulation, follow this link.

View File

@@ -1,2 +0,0 @@
Bindery opties,bindery?bind-flags
Hier kun je een aantal opties i.v.m. de bindery-emulatie veranderen.

View File

@@ -1,2 +0,0 @@
Logging flags,logging?log-flags
Here you can change some settings about the log-facility of MARS_NWE.

View File

@@ -1,2 +0,0 @@
Log-opties,logging?log-flags
Hier kun je de instellingen van de logfile veranderen.

View File

@@ -1,5 +0,0 @@
Servername,general?name
The servername is the name under which this server will show up when using
tools like <TT>SLIST</TT> (server-list).<BR>
If you don't supply an entry for this section, the hostname of your
Linux-machine will be converted to all-uppercase and used as the servername.

View File

@@ -1,5 +0,0 @@
Servernaam,general?name
De servernaam is de naam waarmee de server in de lijst zal verschijnen
wanneer je programma's als <TT>SLIST</TT> (Server-List) gebruikt.<BVR>
Als je hier niks opgeeft, dan wordt de hostname van je Linux-systeem in
hoofdletters omgezet, en dan is dat de naam van de server.

View File

@@ -1,32 +0,0 @@
Internal network number,general?internalnet
If have dealt with the TCP/IP-configuration of your Linux-Box, the term
<I>ip-address</I> may be familiar to you. It's a numer that uniquely
identifies your machine in the internet.<BR>
As you might already expect, even the IPX-people use a unique number to
identify each other. Addresses in the IPX-world always consist of a
4-byte network-number plus a 6-byte node-number (remember the
ip-addresses also use 4-bytes).<BR>
The numbering-rule for ipx-clients is easy: their address is the
external-network of the server they are connected to plus the
hardware-address of their own ethernet-card (6 byte). As a result of this
rule, the clients can determine their address automatically (by listening
to the server and looking at their own ethernet-hardware) and no
configuration-files on the clients-side have to be maintained. (It would
really be a nasty thing if you think of very many DOS-clients [remember:
DOS is an OS where ordinary users can screw up the configuration files].)<BR>
For internal routing purposes, a NetWare-server has an <I>internal network</I><BR>
As there is no organisation which regulates the use of network-numbers
in the IPX-world, you have to run <TT>SLIST</TT> (under DOS or Linux) to
determine a number that isn't already used by another server on your
net. You better double-check and ask the other network administrators
before using a random value because not all servers might be on-line when
you listen to the net.<BR>
A reasonable choice for the internal net-number of your MARS_NWE-server
could be the ip-address of your Linux-Box. It is reasonable because
ip-addresse are unique and if every nw-administrator uses only this uniqe
value, potential conflicts will be minimized. Of course this choice is
no guarantee and it only works if your Linux-Box IP is well configured.<BR>
Please note that you have to specify the address of your internal
IPX-network in hexadecimal format (the leading <TT>0x</TT> indicates it).<BR>
<B>Most people who use FreeBSD want to set the network number of their IPX
network here</B>

View File

@@ -1,32 +0,0 @@
Intern netwerknummer,general?internalnet
Als je je Linux-systeem al hebt ingesteld voor TCP/IP, dan zal de term
<I>IP-adres</I> je bekend voor komen. Het is een uniek nummer waarmee je
systeem zich identificeert op een Internet-netwerk.<BR>
Zoals je waarschijnlijk had verwacht, gebruikt ook het IPX-protocol een
uniek nummer om machines te identificeren. IPX-adressen bestaan altijd uit
een netwerknummer van 4 bytes, en een node-nummer van 6 bytes. (IP-adressen
bestaan ook uit 4 bytes.)<BR>
Het nummeren van IPX-clients is simpel; het netwerknummer is het externe
netwerk van de server waarmee de client verbonden is, en het node-nummer
is het hardware-adres van de netwerkkaart. Op deze manier kan een client
zijn eigen adres automatisch herkennen, door naar de server en de netwerkkaart
te kijken, en dus heb je geen configuratiebestanden nodig, dat zou zeer
onhandig zijn, want DOS is een systeem waarin een gewone gebruiker de
configuratiebestanden kan verprutsen.<BR>
Voor interne routing-zaken heeft een NetWare server een "intern netwerk" nodig.<BR>
Omdat er geen centrale organisatie bestaat die het gebruik van adressen
in de IPX-wereld bijhoudt, zul je zelf, onder DOS of Linux, <TT>SLIST</TT> uit
moeten voeren om te zoeken naar een nummer dat nog niet in gebruik is door een
ander systeem. Het is een goed idee om je nummer dubbel te controleren,
bijvoorbeeld bij de andere systeembeheerders op het netwerk, voordat je
zomaar een nummer uit de lucht grijpt. Het is bijvoorbeeld mogelijk dat
niet alle servers on-line zijn op het moment dat je <TT>SLIST</TT> uitvoert.<BR>
Een redelijke keuze voor het interne netwerknummer van je MARS_NWE-server
zou het IP-adres van je Linux-machine kunnen zijn, want je IP-adres is
altijd uniek, en als alle NetWare-beheerders deze strategie toepassen,
dan is de kans op conflicten mininmaal. Natuurlijk is dit nog geen garantie,
het IP-adres van je systeem moet natuurlijk ook uniek zijn.<BR>
Het is belangrijk dat je het interne netwerknummer hexadecimaal invoert,
dus met 0x ervoor!<BR>
<B>De meeste FreeBSD'ers stellen hier het IPX-netwerknummer van de netwerkkaart
in</B>

View File

@@ -1,4 +0,0 @@
Directories,general?dirs
Some directories for MARS_NWE files.
The path cache directory is needed for Client-32 and the namespace calls,
the spool directory is used for internal print queue handling.

View File

@@ -1,4 +0,0 @@
Directories,general?dirs
Hier kun je de directories opgeven waar MARS_NWE bestanden op kan slaan.
De path cache directory is nodig als je Client-32 en/of de name-space
routines wilt gebruiken, en de spool directory is voor de interne printercode.

View File

@@ -1,14 +0,0 @@
Version spoofing,general?version
<B>Server version:</B><BR>
Some clients work better if the server tells that it is a 3.11 Server,
although many calls (namespace services) of a real 3.11 Server are
missing yet.<BR>
If you want to use longfilenamesupport and/or namespace routines
you should set this section to '1' or '2'<BR>
And you should read doc/FAQS.<BR>
<B>Enable burst mode:</B><BR>
If you want to test Burst mode this flag must be set, and in config.h
you must set <TT>ENABLE_BURSTMODE</TT> to 1.
<B>MAX_BURST_READ/WRITE_BUF:</B><BR>
Don't ask me what they mean, but they're hexadecimal, so don't forget to
prepend <TT>0x</TT>.

View File

@@ -1,15 +0,0 @@
NetWare versie,general?version
<B>Server versie:</B><BR>
Sommige clients functioneren beter wanneer de server vertelt dat het
versie 3.11 is, maar veel mogelijkheden van een echte 3.11 server missen
nog in MARS_NWE.<BR>
Als je ondersteuning voor lange bestandsnamen en/of namespace-routines
wilt gebruiken, of als je burst mode wilt testen, dan moet je de versie
op 3.1x zetten, en je moet even doc/FAQS lezen uit de source-directory.<BR>
<B>Burst modus:</B><BR>
Als je de burst mode wilt testen, kruis dit hokje dan aan, en zet
<TT>ENABLE_BURSTMODE</TT> op 1 in <TT>config.h</TT>.
<B>MAX_BURST_READ/WRITE_BUFF:</B><BR>
Vraag me niet waar deze opties voor zijn, ze hebben te maken met de burst
modus, en ze zijn hexadecimaal, dus vergeet niet er <TT>0x</TT> voor te
zetten.

View File

@@ -1,7 +0,0 @@
Startup tests,general?tests
If you want some sanity checks at startup, set this flag, so
MARS_NWE will try to create/change missing directories:<BR>
<TT>SYS:LOGIN, SYS:MAIL, SYS:MAIL/XXX, SYS:PUBLIC, SYS:SYSTEM ...</TT>
(with the right permissions, of course)<BR>
This should also be enabled when you use a new MARS_NWE version.<BR>
Disabling this test only spares little time when starting MARS_NWE.<BR>

View File

@@ -1,10 +0,0 @@
Opstartcontroles,general?tests
Als je MARS_NWE een aantal controles wilt laten uitvoeren bij het opstarten,
stel dit dan in, er zal dan bijvoorbeeld gekeken worden of alle standaard
directories bestaan, zoals
<TT>SYS:LOGIN, SYS:MAIL, SYS:MAIL/XXX, SYS:PUBLIC, SYS:SYSTEM ...</TT>,
en de rechten worden natuurlijk ook goed ingesteld.<BR>
Als je overstapt naar een nieuwe versie van MARS_NWE, dan moet je dit ook
instellen.<BR>
Het uitschakelen van deze optie scheelt zeer weinig tijd, dus het is het
beste om het gewoon aan te laten staan.

View File

@@ -1,3 +0,0 @@
Change some <TT>config.h</TT> settings,general?configh
Here, you can change some options set in the file <TT>config.h</TT> set
before compilation

View File

@@ -1,3 +0,0 @@
Een aantal <TT>config.h</TT>-instellingen,general?configh
Hier is het mogelijk een aantal instellingen, die voor het compileren al
gedaan zijn, te veranderen.

View File

@@ -1,3 +0,0 @@
SMArT-settings,general?smart
To change some SMArT-settings, use this options. Note that non of these options
have any effect on MARS_NWE.

View File

@@ -1,3 +0,0 @@
SMArT-instellingen,general?smart
Om een aantal instellingen van SMArT te veranderen, kun je hier terecht. Geen
van de instellingen hier heeft invloed op MARS_NWE zelf.

View File

@@ -1,2 +0,0 @@
Modes,general?mode
Here you can change the standard modes for new files and directories.

View File

@@ -1,3 +0,0 @@
Standaard toegangsrechten,general?mode
Hier kun je de standaard toegangsrechten voor nieuwe directories en bestanden
instellen.

View File

@@ -1,2 +0,0 @@
Guest user,general?guest
Here you can set the UID a user will get before logging in.

View File

@@ -1,2 +0,0 @@
Minimum gebruiker,general?guest
Hier kun je instellen welke gebruiker iemand voor het inloggen zal 'zijn'.

View File

@@ -1,2 +0,0 @@
Timing,general?timing
Here you can change some timing options regarding server shutdown.

View File

@@ -1,2 +0,0 @@
Timing,general?timing
Hier kun je een aantal timingwaarden i.v.m. server shutdown instellen.

View File

@@ -1,3 +0,0 @@
List configuration file,listconfig
Use this option to read the configuration file, with some colors to make
it a little bit more readable.

View File

@@ -1,3 +0,0 @@
Configuratiebestand bekijken,listconfig
Om het configuratiebestand, inclusief kleurtjes om de boel wat duidelijker
te maken, te bekijken, gebruik je deze optie.

View File

@@ -1,5 +0,0 @@
Bindery browser,bindery
The bindery contains most of the information of a NetWare < 4 server, for
example information about users, groups and printers. Here, you can browse
the bindery using an easy web interface.<BR>
FreeBSD does not support this, because the nwb[op]* utilities don't exist.

View File

@@ -1,4 +0,0 @@
Bindery bekijken,bindery
De bindery bevat in Novell NetWare (tot versie 4.x) gegevens over gebruikers,
groepen en printers. Hier is het mogelijk die gegevens te bekijken.
FreeBSD ondersteunt dit niet, want de nwb[op]* programma's bestaan daarin niet.

View File

@@ -1,7 +0,0 @@
Main menu,Copyright 2000 <A HREF="mailto:lintux@lintux.cx">Wilmer van der Gaast</A>
General settings,general
Security,security
Lists,lists
Flags,flags
Logging,logging
Documentation,doc

View File

@@ -1,7 +0,0 @@
Hoofdmenu,Copyright 2000 <A HREF="mailto:lintux@lintux.cx">Wilmer van der Gaast</A>
Algemene instellingen,general
Beveiliging,security
Lijsten,lists
Opties,flags
Logbestanden,logging
Documentatie,doc

View File

@@ -1,4 +0,0 @@
Volumes,volume?list
The disk space on a NetWare system is divided in volumes. This part lets
you create volumes on your NetWare servers, you can just map directories
in your Linux-system to a NetWare volume.

View File

@@ -1,4 +0,0 @@
Volumes,volume?list
De ruimte op een NetWare server is verdeeld in verschillende volumes.
In dit gedeelte kun je volumes aanmaken op je MARS_NWE server door
directories in het Linux-systeem te verbinden met een volumenaam.

View File

@@ -1,3 +0,0 @@
Users,user?list
You can edit the userlist from the bindery files here. This option will not
change anything to the <TT>nwserv.conf</TT> configuration file.

View File

@@ -1,4 +0,0 @@
Gebruikers,user?list
Hiermee kun je de lijst van gebruikers in de bindery veranderen. Het gebruik
van deze optie heeft geen invloed op het configuratiebestand
<TT>nwserv.conf</TT>!

View File

@@ -1,3 +0,0 @@
Groups,group?list
You can edit the group list from the bindery files here. This option will not
change anything to the <TT>nwserv.conf</TT> configuration file.

View File

@@ -1,4 +0,0 @@
Groepen,group?list
Hiermee kun je de lijst van groepen in de bindery veranderen. Het gebruik
van deze optie heeft geen invloed op het configuratiebestand
<TT>nwserv.conf</TT>!

View File

@@ -1,16 +0,0 @@
Print queues,printer?list
Here you can edit the list of print queues. The things you have to fill in are:
<OL>
<LI><B>Print queue name</B><BR>
The name with which the print queue will show up in the printer lists, and
the name you need when you want to print something from the client.
<LI><B>Unix printing command</B><BR>
The command used to send a file to the printer, the text/etc. will come from
the standard input.<BR>
There's a nasty bug in MARS_NWE that removes this property, well, I think
it's a bug. It also happens when the startup tests are not set to maximum.
<LI><B>Spool directory</B><BR>
The directory used to keep the print spool for this print queue. Use the
<TT>VOLUME:/directory</TT> form, you can leave this one empty to use a
default directory.
</UL>

Some files were not shown because too many files have changed in this diff Show More