From a82518f886f1075777f13c41688a9a9c1579fbb9 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Tue, 21 Apr 2026 02:12:28 +0200 Subject: [PATCH] Import release 0.1.3 --- Makefile | 51 +++ Makefile.rules | 18 + bin/Makefile | 32 ++ bin/genform.in | 132 +++++++ bin/hex.c | 47 +++ bin/hex.cdds | 47 +++ bin/hexasc.c | 39 ++ bin/replace.in | 43 +++ bin/webserve.in | 132 +++++++ doc/CHANGES | 70 ++++ doc/COPYING | 340 ++++++++++++++++++ doc/CREDITS | 9 + doc/FAQ | 41 +++ doc/INSTALL | 28 ++ doc/Menu-Entries | 17 + doc/README | 30 ++ doc/TODO | 8 + etc/Makefile | 32 ++ etc/errors/401_AUTHORIZATION.html | 8 + etc/errors/404_NOTFOUND.html | 8 + etc/errors/500_INTERNAL_ERROR.html | 9 + etc/smart.conf.in | 13 + etc/webserve.conf.in | 11 + forms/automap | 7 + forms/bind-flags | 4 + forms/configh | 13 + forms/dev-flags | 7 + forms/device | 12 + forms/dirs | 8 + forms/encryption | 8 + forms/group | 5 + forms/guest | 3 + forms/internalnet | 3 + forms/log-flags | 17 + forms/logfiles | 4 + forms/logwhat | 30 ++ forms/mode | 29 ++ forms/printer | 5 + forms/prn-flags | 4 + forms/sec-flags | 10 + forms/servername | 3 + forms/smart | 9 + forms/supervisor | 5 + forms/tests | 6 + forms/timing | 4 + forms/user | 7 + forms/version | 10 + forms/volume | 20 ++ menus/main/doc/01smart.en | 2 + menus/main/doc/01smart.nl | 2 + menus/main/flags/01security.en | 2 + menus/main/flags/01security.nl | 2 + menus/main/flags/02printer.en | 2 + menus/main/flags/02printer.nl | 2 + menus/main/flags/03devices.en | 7 + menus/main/flags/03devices.nl | 7 + menus/main/flags/04bindery.en | 2 + menus/main/flags/04bindery.nl | 2 + menus/main/flags/05logging.en | 2 + menus/main/flags/05logging.nl | 2 + menus/main/general/01name.en | 5 + menus/main/general/01name.nl | 5 + menus/main/general/02internalnet.en | 32 ++ menus/main/general/02internalnet.nl | 32 ++ menus/main/general/03dirs.en | 4 + menus/main/general/03dirs.nl | 4 + menus/main/general/04version.en | 14 + menus/main/general/04version.nl | 15 + menus/main/general/05tests.en | 7 + menus/main/general/05tests.nl | 10 + menus/main/general/06configh.en | 3 + menus/main/general/06configh.nl | 3 + menus/main/general/07smart.en | 3 + menus/main/general/07smart.nl | 3 + menus/main/general/08mode.en | 2 + menus/main/general/08mode.nl | 3 + menus/main/general/09guest.en | 2 + menus/main/general/09guest.nl | 2 + menus/main/general/10timing.en | 2 + menus/main/general/10timing.nl | 2 + menus/main/general/11listconfig.en | 3 + menus/main/general/11listconfig.nl | 3 + menus/main/general/12bindery.en | 5 + menus/main/general/12bindery.nl | 4 + menus/main/index.en | 7 + menus/main/index.nl | 7 + menus/main/lists/01volumes.en | 4 + menus/main/lists/01volumes.nl | 4 + menus/main/lists/02users.en | 3 + menus/main/lists/02users.nl | 4 + menus/main/lists/03groups.en | 3 + menus/main/lists/03groups.nl | 4 + menus/main/lists/04printers.en | 16 + menus/main/lists/04printers.nl | 17 + menus/main/lists/05devices.en | 47 +++ menus/main/lists/05devices.nl | 47 +++ menus/main/lists/06logins.en | 3 + menus/main/lists/06logins.nl | 3 + menus/main/logging/01logfiles.en | 2 + menus/main/logging/01logfiles.nl | 4 + menus/main/logging/02logwhat.en | 5 + menus/main/logging/02logwhat.nl | 5 + menus/main/logging/03viewlog.en | 2 + menus/main/logging/03viewlog.nl | 2 + menus/main/security/02supervisor.en | 16 + menus/main/security/02supervisor.nl | 18 + menus/main/security/03mapping.en | 15 + menus/main/security/03mapping.nl | 17 + menus/main/security/04encryption.en | 8 + menus/main/security/04encryption.nl | 8 + menus/quick/flags/03devices.en | 1 + menus/quick/flags/03devices.nl | 1 + menus/quick/general/01name.en | 1 + menus/quick/general/01name.nl | 1 + menus/quick/general/07smart.en | 1 + menus/quick/general/07smart.nl | 1 + menus/quick/index.en | 5 + menus/quick/index.nl | 5 + menus/quick/lists/01volumes.en | 1 + menus/quick/lists/01volumes.nl | 1 + menus/quick/lists/02users.en | 1 + menus/quick/lists/02users.nl | 1 + menus/quick/lists/03groups.en | 1 + menus/quick/lists/03groups.nl | 1 + menus/quick/lists/04printers.en | 1 + menus/quick/lists/04printers.nl | 1 + menus/quick/lists/05devices.en | 1 + menus/quick/lists/05devices.nl | 1 + menus/quick/security/02supervisor.en | 1 + menus/quick/security/02supervisor.nl | 1 + root/cgi-bin/apply.in | 509 +++++++++++++++++++++++++++ root/cgi-bin/bindery.in | 128 +++++++ root/cgi-bin/control.in | 59 ++++ root/cgi-bin/device.in | 116 ++++++ root/cgi-bin/doc.in | 110 ++++++ root/cgi-bin/functions | 137 +++++++ root/cgi-bin/general.in | 148 ++++++++ root/cgi-bin/group.in | 150 ++++++++ root/cgi-bin/listconfig.in | 59 ++++ root/cgi-bin/logging.in | 141 ++++++++ root/cgi-bin/logins.in | 109 ++++++ root/cgi-bin/menu.in | 114 ++++++ root/cgi-bin/printer.in | 112 ++++++ root/cgi-bin/security.in | 76 ++++ root/cgi-bin/user.in | 143 ++++++++ root/cgi-bin/volume.in | 124 +++++++ root/index.html | 12 + root/smart.jpg | Bin 0 -> 10175 bytes root/smart_icon.jpg | Bin 0 -> 1942 bytes root/start.html | 41 +++ root/title.gif | Bin 0 -> 3620 bytes setshell | 12 + 152 files changed, 4199 insertions(+) create mode 100644 Makefile create mode 100644 Makefile.rules create mode 100644 bin/Makefile create mode 100644 bin/genform.in create mode 100644 bin/hex.c create mode 100644 bin/hex.cdds create mode 100644 bin/hexasc.c create mode 100644 bin/replace.in create mode 100644 bin/webserve.in create mode 100644 doc/CHANGES create mode 100644 doc/COPYING create mode 100644 doc/CREDITS create mode 100644 doc/FAQ create mode 100644 doc/INSTALL create mode 100644 doc/Menu-Entries create mode 100644 doc/README create mode 100644 doc/TODO create mode 100644 etc/Makefile create mode 100644 etc/errors/401_AUTHORIZATION.html create mode 100644 etc/errors/404_NOTFOUND.html create mode 100644 etc/errors/500_INTERNAL_ERROR.html create mode 100644 etc/smart.conf.in create mode 100644 etc/webserve.conf.in create mode 100644 forms/automap create mode 100644 forms/bind-flags create mode 100644 forms/configh create mode 100644 forms/dev-flags create mode 100644 forms/device create mode 100644 forms/dirs create mode 100644 forms/encryption create mode 100644 forms/group create mode 100644 forms/guest create mode 100644 forms/internalnet create mode 100644 forms/log-flags create mode 100644 forms/logfiles create mode 100644 forms/logwhat create mode 100644 forms/mode create mode 100644 forms/printer create mode 100644 forms/prn-flags create mode 100644 forms/sec-flags create mode 100644 forms/servername create mode 100644 forms/smart create mode 100644 forms/supervisor create mode 100644 forms/tests create mode 100644 forms/timing create mode 100644 forms/user create mode 100644 forms/version create mode 100644 forms/volume create mode 100644 menus/main/doc/01smart.en create mode 100644 menus/main/doc/01smart.nl create mode 100644 menus/main/flags/01security.en create mode 100644 menus/main/flags/01security.nl create mode 100644 menus/main/flags/02printer.en create mode 100644 menus/main/flags/02printer.nl create mode 100644 menus/main/flags/03devices.en create mode 100644 menus/main/flags/03devices.nl create mode 100644 menus/main/flags/04bindery.en create mode 100644 menus/main/flags/04bindery.nl create mode 100644 menus/main/flags/05logging.en create mode 100644 menus/main/flags/05logging.nl create mode 100644 menus/main/general/01name.en create mode 100644 menus/main/general/01name.nl create mode 100644 menus/main/general/02internalnet.en create mode 100644 menus/main/general/02internalnet.nl create mode 100644 menus/main/general/03dirs.en create mode 100644 menus/main/general/03dirs.nl create mode 100644 menus/main/general/04version.en create mode 100644 menus/main/general/04version.nl create mode 100644 menus/main/general/05tests.en create mode 100644 menus/main/general/05tests.nl create mode 100644 menus/main/general/06configh.en create mode 100644 menus/main/general/06configh.nl create mode 100644 menus/main/general/07smart.en create mode 100644 menus/main/general/07smart.nl create mode 100644 menus/main/general/08mode.en create mode 100644 menus/main/general/08mode.nl create mode 100644 menus/main/general/09guest.en create mode 100644 menus/main/general/09guest.nl create mode 100644 menus/main/general/10timing.en create mode 100644 menus/main/general/10timing.nl create mode 100644 menus/main/general/11listconfig.en create mode 100644 menus/main/general/11listconfig.nl create mode 100644 menus/main/general/12bindery.en create mode 100644 menus/main/general/12bindery.nl create mode 100644 menus/main/index.en create mode 100644 menus/main/index.nl create mode 100644 menus/main/lists/01volumes.en create mode 100644 menus/main/lists/01volumes.nl create mode 100644 menus/main/lists/02users.en create mode 100644 menus/main/lists/02users.nl create mode 100644 menus/main/lists/03groups.en create mode 100644 menus/main/lists/03groups.nl create mode 100644 menus/main/lists/04printers.en create mode 100644 menus/main/lists/04printers.nl create mode 100644 menus/main/lists/05devices.en create mode 100644 menus/main/lists/05devices.nl create mode 100644 menus/main/lists/06logins.en create mode 100644 menus/main/lists/06logins.nl create mode 100644 menus/main/logging/01logfiles.en create mode 100644 menus/main/logging/01logfiles.nl create mode 100644 menus/main/logging/02logwhat.en create mode 100644 menus/main/logging/02logwhat.nl create mode 100644 menus/main/logging/03viewlog.en create mode 100644 menus/main/logging/03viewlog.nl create mode 100644 menus/main/security/02supervisor.en create mode 100644 menus/main/security/02supervisor.nl create mode 100644 menus/main/security/03mapping.en create mode 100644 menus/main/security/03mapping.nl create mode 100644 menus/main/security/04encryption.en create mode 100644 menus/main/security/04encryption.nl create mode 120000 menus/quick/flags/03devices.en create mode 120000 menus/quick/flags/03devices.nl create mode 120000 menus/quick/general/01name.en create mode 120000 menus/quick/general/01name.nl create mode 120000 menus/quick/general/07smart.en create mode 120000 menus/quick/general/07smart.nl create mode 100644 menus/quick/index.en create mode 100644 menus/quick/index.nl create mode 120000 menus/quick/lists/01volumes.en create mode 120000 menus/quick/lists/01volumes.nl create mode 120000 menus/quick/lists/02users.en create mode 120000 menus/quick/lists/02users.nl create mode 120000 menus/quick/lists/03groups.en create mode 120000 menus/quick/lists/03groups.nl create mode 120000 menus/quick/lists/04printers.en create mode 120000 menus/quick/lists/04printers.nl create mode 120000 menus/quick/lists/05devices.en create mode 120000 menus/quick/lists/05devices.nl create mode 120000 menus/quick/security/02supervisor.en create mode 120000 menus/quick/security/02supervisor.nl create mode 100644 root/cgi-bin/apply.in create mode 100644 root/cgi-bin/bindery.in create mode 100644 root/cgi-bin/control.in create mode 100644 root/cgi-bin/device.in create mode 100644 root/cgi-bin/doc.in create mode 100644 root/cgi-bin/functions create mode 100644 root/cgi-bin/general.in create mode 100644 root/cgi-bin/group.in create mode 100644 root/cgi-bin/listconfig.in create mode 100644 root/cgi-bin/logging.in create mode 100644 root/cgi-bin/logins.in create mode 100644 root/cgi-bin/menu.in create mode 100644 root/cgi-bin/printer.in create mode 100644 root/cgi-bin/security.in create mode 100644 root/cgi-bin/user.in create mode 100644 root/cgi-bin/volume.in create mode 100644 root/index.html create mode 100644 root/smart.jpg create mode 100644 root/smart_icon.jpg create mode 100644 root/start.html create mode 100644 root/title.gif create mode 100755 setshell diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b5a2f87 --- /dev/null +++ b/Makefile @@ -0,0 +1,51 @@ +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" diff --git a/Makefile.rules b/Makefile.rules new file mode 100644 index 0000000..287c31b --- /dev/null +++ b/Makefile.rules @@ -0,0 +1,18 @@ +#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 diff --git a/bin/Makefile b/bin/Makefile new file mode 100644 index 0000000..8de5f7e --- /dev/null +++ b/bin/Makefile @@ -0,0 +1,32 @@ +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 diff --git a/bin/genform.in b/bin/genform.in new file mode 100644 index 0000000..fce109b --- /dev/null +++ b/bin/genform.in @@ -0,0 +1,132 @@ +#!/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 + + +$TITLE + + +
+ + + +
+ + + + + + +
-$TITLE
+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 \\
$DESC: + j=$COUN + while [ "$j" != "0" ]; do + if [ "$j" != "$COUN" ]; then echo -n \; fi + j=$j-1 + read LINE + NAME=`echo $LINE | cut -d, -f1` + DESC=`echo $LINE | cut -d, -f2-` + echo -n \\\$DESC + shift; + done + ;; + R ) #Radio buttons + echo \\$DESC: + j=$COUN + CURRENT=$1 + shift + while [ "$j" != "0" ]; do + if [ "$j" != "$COUN" ]; then echo -n \; fi + j=$j-1 + read LINE + VALU=`echo $LINE | cut -d, -f1` + DESC=`echo $LINE | cut -d, -f2-` + echo -n \\\$DESC; + done + ;; + L | D ) #(Dropdown) List + echo \\$DESC: + echo -n \\\$DESC:\\\ + shift + ;; + T ) #Normal input + echo \\$DESC:\\\ + shift + ;; + esac; +done +cat << EOF +
+ +
+ + +EOF diff --git a/bin/hex.c b/bin/hex.c new file mode 100644 index 0000000..1af3d60 --- /dev/null +++ b/bin/hex.c @@ -0,0 +1,47 @@ +/* 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=32) + printf ("%2X\n", str[i]); + else + printf ("00\n", str[i]); + } + for (i=0; i!=z; i++) + printf("00\n"); +} diff --git a/bin/hex.cdds b/bin/hex.cdds new file mode 100644 index 0000000..1af3d60 --- /dev/null +++ b/bin/hex.cdds @@ -0,0 +1,47 @@ +/* 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=32) + printf ("%2X\n", str[i]); + else + printf ("00\n", str[i]); + } + for (i=0; i!=z; i++) + printf("00\n"); +} diff --git a/bin/hexasc.c b/bin/hexasc.c new file mode 100644 index 0000000..c63f50f --- /dev/null +++ b/bin/hexasc.c @@ -0,0 +1,39 @@ +/* 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 + +main() +{ + char test; + + while (scanf("%x",&test) > 0) + { + if (test == 0) + { + printf ("\n"); + return(0); + } + printf("%c",test); + } + printf("\n"); +} \ No newline at end of file diff --git a/bin/replace.in b/bin/replace.in new file mode 100644 index 0000000..627804b --- /dev/null +++ b/bin/replace.in @@ -0,0 +1,43 @@ +#!/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 + \ No newline at end of file diff --git a/bin/webserve.in b/bin/webserve.in new file mode 100644 index 0000000..1f1e0cc --- /dev/null +++ b/bin/webserve.in @@ -0,0 +1,132 @@ +#!/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 \\\n\\\n\$OPTS\\\n\<\HEAD\>\\n\\Directory of $OPTS_NONLOCAL\\ + for i in `/bin/ls -aw 1 $OPTS`; do + echo \$i\\; + done + echo -e \\\\n\\\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; + fi + ;; +esac diff --git a/doc/CHANGES b/doc/CHANGES new file mode 100644 index 0000000..b66d804 --- /dev/null +++ b/doc/CHANGES @@ -0,0 +1,70 @@ +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! diff --git a/doc/COPYING b/doc/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/doc/COPYING @@ -0,0 +1,340 @@ + 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 + + 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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. diff --git a/doc/CREDITS b/doc/CREDITS new file mode 100644 index 0000000..0122a93 --- /dev/null +++ b/doc/CREDITS @@ -0,0 +1,9 @@ +Hmm, this file is pretty useless, unnecessary, etc. but okay: + + - Martin Stover + He made MARS_NWE, so I wouldn't have to make this program without him... + + - Petr Vandrovec + He gave me some information about the ncpfs bindnery utilities + +Yes, I said, pretty useless. You've been warned! diff --git a/doc/FAQ b/doc/FAQ new file mode 100644 index 0000000..8aa1996 --- /dev/null +++ b/doc/FAQ @@ -0,0 +1,41 @@ +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. diff --git a/doc/INSTALL b/doc/INSTALL new file mode 100644 index 0000000..abc702f --- /dev/null +++ b/doc/INSTALL @@ -0,0 +1,28 @@ +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! diff --git a/doc/Menu-Entries b/doc/Menu-Entries new file mode 100644 index 0000000..7f2274c --- /dev/null +++ b/doc/Menu-Entries @@ -0,0 +1,17 @@ +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.. +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 , 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. diff --git a/doc/README b/doc/README new file mode 100644 index 0000000..012cca3 --- /dev/null +++ b/doc/README @@ -0,0 +1,30 @@ +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 + ------------------------------------------ diff --git a/doc/TODO b/doc/TODO new file mode 100644 index 0000000..c56f840 --- /dev/null +++ b/doc/TODO @@ -0,0 +1,8 @@ +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? diff --git a/etc/Makefile b/etc/Makefile new file mode 100644 index 0000000..7fad68d --- /dev/null +++ b/etc/Makefile @@ -0,0 +1,32 @@ +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 diff --git a/etc/errors/401_AUTHORIZATION.html b/etc/errors/401_AUTHORIZATION.html new file mode 100644 index 0000000..8f7e391 --- /dev/null +++ b/etc/errors/401_AUTHORIZATION.html @@ -0,0 +1,8 @@ + + +401 Authorization Failure + + +Sorry, you're not allowed to view this document! + + diff --git a/etc/errors/404_NOTFOUND.html b/etc/errors/404_NOTFOUND.html new file mode 100644 index 0000000..6f467ed --- /dev/null +++ b/etc/errors/404_NOTFOUND.html @@ -0,0 +1,8 @@ + + +404 File not found + + +Sorry, the file you requested could not be found! + + diff --git a/etc/errors/500_INTERNAL_ERROR.html b/etc/errors/500_INTERNAL_ERROR.html new file mode 100644 index 0000000..a96c38d --- /dev/null +++ b/etc/errors/500_INTERNAL_ERROR.html @@ -0,0 +1,9 @@ + + +500 Internal server error + + +The URL you've submitted is forbidden, accessing the parent directory is not +allowed! + + diff --git a/etc/smart.conf.in b/etc/smart.conf.in new file mode 100644 index 0000000..9748327 --- /dev/null +++ b/etc/smart.conf.in @@ -0,0 +1,13 @@ +# 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: diff --git a/etc/webserve.conf.in b/etc/webserve.conf.in new file mode 100644 index 0000000..dfccdfd --- /dev/null +++ b/etc/webserve.conf.in @@ -0,0 +1,11 @@ +# 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: diff --git a/forms/automap b/forms/automap new file mode 100644 index 0000000..cba18e2 --- /dev/null +++ b/forms/automap @@ -0,0 +1,7 @@ +Automatic user mapping +2 +R,AUTOMAP,Automap,3 +0,Disabled +1,Enabled +99,At startup +P,PASSWORD,Default password diff --git a/forms/bind-flags b/forms/bind-flags new file mode 100644 index 0000000..0a26f43 --- /dev/null +++ b/forms/bind-flags @@ -0,0 +1,4 @@ +Bindery flags +1 +C,x,Options,1 +F1,Give all users without a login script an empty one diff --git a/forms/configh b/forms/configh new file mode 100644 index 0000000..f629c28 --- /dev/null +++ b/forms/configh @@ -0,0 +1,13 @@ +Change config.h-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 diff --git a/forms/dev-flags b/forms/dev-flags new file mode 100644 index 0000000..e1daea9 --- /dev/null +++ b/forms/dev-flags @@ -0,0 +1,7 @@ +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 diff --git a/forms/device b/forms/device new file mode 100644 index 0000000..ee2b050 --- /dev/null +++ b/forms/device @@ -0,0 +1,12 @@ +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 diff --git a/forms/dirs b/forms/dirs new file mode 100644 index 0000000..005d47b --- /dev/null +++ b/forms/dirs @@ -0,0 +1,8 @@ +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 diff --git a/forms/encryption b/forms/encryption new file mode 100644 index 0000000..059dd26 --- /dev/null +++ b/forms/encryption @@ -0,0 +1,8 @@ +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 diff --git a/forms/group b/forms/group new file mode 100644 index 0000000..25cdb51 --- /dev/null +++ b/forms/group @@ -0,0 +1,5 @@ +Group +3 +T,NAME,Group name +T,FULLNAME,Full name +*** diff --git a/forms/guest b/forms/guest new file mode 100644 index 0000000..618f2b7 --- /dev/null +++ b/forms/guest @@ -0,0 +1,3 @@ +Zero rights user +2 +*** diff --git a/forms/internalnet b/forms/internalnet new file mode 100644 index 0000000..8e8e40b --- /dev/null +++ b/forms/internalnet @@ -0,0 +1,3 @@ +Internal network number +1 +T,NUM,Internal network number diff --git a/forms/log-flags b/forms/log-flags new file mode 100644 index 0000000..d773444 --- /dev/null +++ b/forms/log-flags @@ -0,0 +1,17 @@ +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 error messages to,2 +0,Log file +2,syslogd +T,E300,Number of minutes between each time printing routing information to routes.log +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 .1, .2, .3, etc. diff --git a/forms/logfiles b/forms/logfiles new file mode 100644 index 0000000..519aeaf --- /dev/null +++ b/forms/logfiles @@ -0,0 +1,4 @@ +Logfiles +2 +T,NWLOG,Normal logfile +T,ROLOG,Routes logfile diff --git a/forms/logwhat b/forms/logwhat new file mode 100644 index 0000000..3bdaaf6 --- /dev/null +++ b/forms/logwhat @@ -0,0 +1,30 @@ +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 + \ No newline at end of file diff --git a/forms/mode b/forms/mode new file mode 100644 index 0000000..a95e2bc --- /dev/null +++ b/forms/mode @@ -0,0 +1,29 @@ +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 diff --git a/forms/printer b/forms/printer new file mode 100644 index 0000000..9d345bd --- /dev/null +++ b/forms/printer @@ -0,0 +1,5 @@ +Printer +3 +T,NAME,Print queue name +T,UNIX_COMMAND,Unix printing command +T,SPOOL_DIR,Spool directory diff --git a/forms/prn-flags b/forms/prn-flags new file mode 100644 index 0000000..ff09dfb --- /dev/null +++ b/forms/prn-flags @@ -0,0 +1,4 @@ +Printing flags +1 +C,x,Options,1 +F1,Never print banners \ No newline at end of file diff --git a/forms/sec-flags b/forms/sec-flags new file mode 100644 index 0000000..2c5f7e3 --- /dev/null +++ b/forms/sec-flags @@ -0,0 +1,10 @@ +Security flags +1 +C,x,Options,7 +F1,Allow other directories than SYS:/login 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 SUPERVISOR +F10,Always allow file deletion, even for open files +F20,Store file base entries (necessary for ncpfs) +F40,Limit reported free space to 2GB (necessary for some DOS-clients) diff --git a/forms/servername b/forms/servername new file mode 100644 index 0000000..158e56d --- /dev/null +++ b/forms/servername @@ -0,0 +1,3 @@ +Server name +1 +T,NAME,Server name diff --git a/forms/smart b/forms/smart new file mode 100644 index 0000000..a36e863 --- /dev/null +++ b/forms/smart @@ -0,0 +1,9 @@ +SMArT-settings +6 +T,MARSCONFIG,MARS_NWE configuration file +T,NWSERV_BIN,nwserv 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 diff --git a/forms/supervisor b/forms/supervisor new file mode 100644 index 0000000..ad2c926 --- /dev/null +++ b/forms/supervisor @@ -0,0 +1,5 @@ +Supervisor settings +3 +T,SUPERVISOR,Supervisor login name +T,ROOT,Maps to Linux user +P,PASSWORD,NetWare password diff --git a/forms/tests b/forms/tests new file mode 100644 index 0000000..0aa780c --- /dev/null +++ b/forms/tests @@ -0,0 +1,6 @@ +Startup tests +1 +R,TESTS,Startup tests,3 +0,None +1,Some +2,Check and compress bindery files diff --git a/forms/timing b/forms/timing new file mode 100644 index 0000000..ad6f406 --- /dev/null +++ b/forms/timing @@ -0,0 +1,4 @@ +Timing +2 +T,DOWNDELAY,Number of seconds before going down after SIGTERM +T,MESSAGEDELAY,Number of seconds between down-warnings diff --git a/forms/user b/forms/user new file mode 100644 index 0000000..c678e94 --- /dev/null +++ b/forms/user @@ -0,0 +1,7 @@ +User +5 +T,NOVELL,NetWare user +T,FULLNAME,Full name +T,UNIX,Unix user +P,PASSWORD,Login password +*** diff --git a/forms/version b/forms/version new file mode 100644 index 0000000..2d54d6f --- /dev/null +++ b/forms/version @@ -0,0 +1,10 @@ +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 diff --git a/forms/volume b/forms/volume new file mode 100644 index 0000000..d3be94c --- /dev/null +++ b/forms/volume @@ -0,0 +1,20 @@ +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 diff --git a/menus/main/doc/01smart.en b/menus/main/doc/01smart.en new file mode 100644 index 0000000..35e737a --- /dev/null +++ b/menus/main/doc/01smart.en @@ -0,0 +1,2 @@ +SMArT,doc?smart +Here you can find some more information about SMArT. diff --git a/menus/main/doc/01smart.nl b/menus/main/doc/01smart.nl new file mode 100644 index 0000000..64ba05b --- /dev/null +++ b/menus/main/doc/01smart.nl @@ -0,0 +1,2 @@ +SMArT,doc?smart +Hier kun je meer informatie vinden over SMArT. \ No newline at end of file diff --git a/menus/main/flags/01security.en b/menus/main/flags/01security.en new file mode 100644 index 0000000..bd92243 --- /dev/null +++ b/menus/main/flags/01security.en @@ -0,0 +1,2 @@ +Security flags,security?sec-flags +To change some security options, click here. diff --git a/menus/main/flags/01security.nl b/menus/main/flags/01security.nl new file mode 100644 index 0000000..4b9ed4b --- /dev/null +++ b/menus/main/flags/01security.nl @@ -0,0 +1,2 @@ +Beveiligingsopties,security?sec-flags +Hier kun je de beveiligingsopties aanpassen. diff --git a/menus/main/flags/02printer.en b/menus/main/flags/02printer.en new file mode 100644 index 0000000..f051c51 --- /dev/null +++ b/menus/main/flags/02printer.en @@ -0,0 +1,2 @@ +Printer flags,printer?prn-flags +Click here to change some settings about the printer queue. diff --git a/menus/main/flags/02printer.nl b/menus/main/flags/02printer.nl new file mode 100644 index 0000000..5b974eb --- /dev/null +++ b/menus/main/flags/02printer.nl @@ -0,0 +1,2 @@ +Printer opties,printer?prn-flags +Hier kun je een aantal bindery-opties veranderen. diff --git a/menus/main/flags/03devices.en b/menus/main/flags/03devices.en new file mode 100644 index 0000000..bfba990 --- /dev/null +++ b/menus/main/flags/03devices.en @@ -0,0 +1,7 @@ +Device flags,device?dev-flags +To change some extra device options, click here.
+Watchdog setting:
+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. diff --git a/menus/main/flags/03devices.nl b/menus/main/flags/03devices.nl new file mode 100644 index 0000000..2632020 --- /dev/null +++ b/menus/main/flags/03devices.nl @@ -0,0 +1,7 @@ +IPX-device opties,device?dev-flags +Om opties i.v.m. de IPX-devices te veranderen moet je hier zijn.
+Watchdog setting:
+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. diff --git a/menus/main/flags/04bindery.en b/menus/main/flags/04bindery.en new file mode 100644 index 0000000..0fd36ea --- /dev/null +++ b/menus/main/flags/04bindery.en @@ -0,0 +1,2 @@ +Bindery flags,bindery?bind-flags +To change some settings about the bindery emulation, follow this link. diff --git a/menus/main/flags/04bindery.nl b/menus/main/flags/04bindery.nl new file mode 100644 index 0000000..3d0bdb8 --- /dev/null +++ b/menus/main/flags/04bindery.nl @@ -0,0 +1,2 @@ +Bindery opties,bindery?bind-flags +Hier kun je een aantal opties i.v.m. de bindery-emulatie veranderen. diff --git a/menus/main/flags/05logging.en b/menus/main/flags/05logging.en new file mode 100644 index 0000000..b169060 --- /dev/null +++ b/menus/main/flags/05logging.en @@ -0,0 +1,2 @@ +Logging flags,logging?log-flags +Here you can change some settings about the log-facility of MARS_NWE. diff --git a/menus/main/flags/05logging.nl b/menus/main/flags/05logging.nl new file mode 100644 index 0000000..6c28c12 --- /dev/null +++ b/menus/main/flags/05logging.nl @@ -0,0 +1,2 @@ +Log-opties,logging?log-flags +Hier kun je de instellingen van de logfile veranderen. diff --git a/menus/main/general/01name.en b/menus/main/general/01name.en new file mode 100644 index 0000000..c81fcbf --- /dev/null +++ b/menus/main/general/01name.en @@ -0,0 +1,5 @@ +Servername,general?name +The servername is the name under which this server will show up when using +tools like SLIST (server-list).
+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. diff --git a/menus/main/general/01name.nl b/menus/main/general/01name.nl new file mode 100644 index 0000000..8314b49 --- /dev/null +++ b/menus/main/general/01name.nl @@ -0,0 +1,5 @@ +Servernaam,general?name +De servernaam is de naam waarmee de server in de lijst zal verschijnen +wanneer je programma's als SLIST (Server-List) gebruikt. +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. diff --git a/menus/main/general/02internalnet.en b/menus/main/general/02internalnet.en new file mode 100644 index 0000000..e58eb9d --- /dev/null +++ b/menus/main/general/02internalnet.en @@ -0,0 +1,32 @@ +Internal network number,general?internalnet +If have dealt with the TCP/IP-configuration of your Linux-Box, the term +ip-address may be familiar to you. It's a numer that uniquely +identifies your machine in the internet.
+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).
+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].)
+For internal routing purposes, a NetWare-server has an internal network
+As there is no organisation which regulates the use of network-numbers +in the IPX-world, you have to run SLIST (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.
+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.
+Please note that you have to specify the address of your internal +IPX-network in hexadecimal format (the leading 0x indicates it).
+Most people who use FreeBSD want to set the network number of their IPX +network here diff --git a/menus/main/general/02internalnet.nl b/menus/main/general/02internalnet.nl new file mode 100644 index 0000000..0c4c970 --- /dev/null +++ b/menus/main/general/02internalnet.nl @@ -0,0 +1,32 @@ +Intern netwerknummer,general?internalnet +Als je je Linux-systeem al hebt ingesteld voor TCP/IP, dan zal de term +IP-adres je bekend voor komen. Het is een uniek nummer waarmee je +systeem zich identificeert op een Internet-netwerk.
+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.)
+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.
+Voor interne routing-zaken heeft een NetWare server een "intern netwerk" nodig.
+Omdat er geen centrale organisatie bestaat die het gebruik van adressen +in de IPX-wereld bijhoudt, zul je zelf, onder DOS of Linux, SLIST 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 SLIST uitvoert.
+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.
+Het is belangrijk dat je het interne netwerknummer hexadecimaal invoert, +dus met 0x ervoor!
+De meeste FreeBSD'ers stellen hier het IPX-netwerknummer van de netwerkkaart +in \ No newline at end of file diff --git a/menus/main/general/03dirs.en b/menus/main/general/03dirs.en new file mode 100644 index 0000000..7b9623b --- /dev/null +++ b/menus/main/general/03dirs.en @@ -0,0 +1,4 @@ +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. diff --git a/menus/main/general/03dirs.nl b/menus/main/general/03dirs.nl new file mode 100644 index 0000000..bd9e192 --- /dev/null +++ b/menus/main/general/03dirs.nl @@ -0,0 +1,4 @@ +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. diff --git a/menus/main/general/04version.en b/menus/main/general/04version.en new file mode 100644 index 0000000..dc5e718 --- /dev/null +++ b/menus/main/general/04version.en @@ -0,0 +1,14 @@ +Version spoofing,general?version +Server version:
+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.
+If you want to use longfilenamesupport and/or namespace routines +you should set this section to '1' or '2'
+And you should read doc/FAQS.
+Enable burst mode:
+If you want to test Burst mode this flag must be set, and in config.h +you must set ENABLE_BURSTMODE to 1. +MAX_BURST_READ/WRITE_BUF:
+Don't ask me what they mean, but they're hexadecimal, so don't forget to +prepend 0x. diff --git a/menus/main/general/04version.nl b/menus/main/general/04version.nl new file mode 100644 index 0000000..b189e4a --- /dev/null +++ b/menus/main/general/04version.nl @@ -0,0 +1,15 @@ +NetWare versie,general?version +Server versie:
+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.
+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.
+Burst modus:
+Als je de burst mode wilt testen, kruis dit hokje dan aan, en zet +ENABLE_BURSTMODE op 1 in config.h. +MAX_BURST_READ/WRITE_BUFF:
+Vraag me niet waar deze opties voor zijn, ze hebben te maken met de burst +modus, en ze zijn hexadecimaal, dus vergeet niet er 0x voor te +zetten. diff --git a/menus/main/general/05tests.en b/menus/main/general/05tests.en new file mode 100644 index 0000000..6b348c9 --- /dev/null +++ b/menus/main/general/05tests.en @@ -0,0 +1,7 @@ +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:
+SYS:LOGIN, SYS:MAIL, SYS:MAIL/XXX, SYS:PUBLIC, SYS:SYSTEM ... +(with the right permissions, of course)
+This should also be enabled when you use a new MARS_NWE version.
+Disabling this test only spares little time when starting MARS_NWE.
diff --git a/menus/main/general/05tests.nl b/menus/main/general/05tests.nl new file mode 100644 index 0000000..3327075 --- /dev/null +++ b/menus/main/general/05tests.nl @@ -0,0 +1,10 @@ +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 +SYS:LOGIN, SYS:MAIL, SYS:MAIL/XXX, SYS:PUBLIC, SYS:SYSTEM ..., +en de rechten worden natuurlijk ook goed ingesteld.
+Als je overstapt naar een nieuwe versie van MARS_NWE, dan moet je dit ook +instellen.
+Het uitschakelen van deze optie scheelt zeer weinig tijd, dus het is het +beste om het gewoon aan te laten staan. diff --git a/menus/main/general/06configh.en b/menus/main/general/06configh.en new file mode 100644 index 0000000..229727c --- /dev/null +++ b/menus/main/general/06configh.en @@ -0,0 +1,3 @@ +Change some config.h settings,general?configh +Here, you can change some options set in the file config.h set +before compilation diff --git a/menus/main/general/06configh.nl b/menus/main/general/06configh.nl new file mode 100644 index 0000000..85b2278 --- /dev/null +++ b/menus/main/general/06configh.nl @@ -0,0 +1,3 @@ +Een aantal config.h-instellingen,general?configh +Hier is het mogelijk een aantal instellingen, die voor het compileren al +gedaan zijn, te veranderen. diff --git a/menus/main/general/07smart.en b/menus/main/general/07smart.en new file mode 100644 index 0000000..80d2bdf --- /dev/null +++ b/menus/main/general/07smart.en @@ -0,0 +1,3 @@ +SMArT-settings,general?smart +To change some SMArT-settings, use this options. Note that non of these options +have any effect on MARS_NWE. \ No newline at end of file diff --git a/menus/main/general/07smart.nl b/menus/main/general/07smart.nl new file mode 100644 index 0000000..f9935fb --- /dev/null +++ b/menus/main/general/07smart.nl @@ -0,0 +1,3 @@ +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. diff --git a/menus/main/general/08mode.en b/menus/main/general/08mode.en new file mode 100644 index 0000000..3987dd5 --- /dev/null +++ b/menus/main/general/08mode.en @@ -0,0 +1,2 @@ +Modes,general?mode +Here you can change the standard modes for new files and directories. \ No newline at end of file diff --git a/menus/main/general/08mode.nl b/menus/main/general/08mode.nl new file mode 100644 index 0000000..d75f580 --- /dev/null +++ b/menus/main/general/08mode.nl @@ -0,0 +1,3 @@ +Standaard toegangsrechten,general?mode +Hier kun je de standaard toegangsrechten voor nieuwe directories en bestanden +instellen. \ No newline at end of file diff --git a/menus/main/general/09guest.en b/menus/main/general/09guest.en new file mode 100644 index 0000000..11048b2 --- /dev/null +++ b/menus/main/general/09guest.en @@ -0,0 +1,2 @@ +Guest user,general?guest +Here you can set the UID a user will get before logging in. \ No newline at end of file diff --git a/menus/main/general/09guest.nl b/menus/main/general/09guest.nl new file mode 100644 index 0000000..48d0cc7 --- /dev/null +++ b/menus/main/general/09guest.nl @@ -0,0 +1,2 @@ +Minimum gebruiker,general?guest +Hier kun je instellen welke gebruiker iemand voor het inloggen zal 'zijn'. \ No newline at end of file diff --git a/menus/main/general/10timing.en b/menus/main/general/10timing.en new file mode 100644 index 0000000..9d855a5 --- /dev/null +++ b/menus/main/general/10timing.en @@ -0,0 +1,2 @@ +Timing,general?timing +Here you can change some timing options regarding server shutdown. \ No newline at end of file diff --git a/menus/main/general/10timing.nl b/menus/main/general/10timing.nl new file mode 100644 index 0000000..eb7eee5 --- /dev/null +++ b/menus/main/general/10timing.nl @@ -0,0 +1,2 @@ +Timing,general?timing +Hier kun je een aantal timingwaarden i.v.m. server shutdown instellen. \ No newline at end of file diff --git a/menus/main/general/11listconfig.en b/menus/main/general/11listconfig.en new file mode 100644 index 0000000..4c070ac --- /dev/null +++ b/menus/main/general/11listconfig.en @@ -0,0 +1,3 @@ +List configuration file,listconfig +Use this option to read the configuration file, with some colors to make +it a little bit more readable. diff --git a/menus/main/general/11listconfig.nl b/menus/main/general/11listconfig.nl new file mode 100644 index 0000000..c98a21c --- /dev/null +++ b/menus/main/general/11listconfig.nl @@ -0,0 +1,3 @@ +Configuratiebestand bekijken,listconfig +Om het configuratiebestand, inclusief kleurtjes om de boel wat duidelijker +te maken, te bekijken, gebruik je deze optie. diff --git a/menus/main/general/12bindery.en b/menus/main/general/12bindery.en new file mode 100644 index 0000000..ec1d0bb --- /dev/null +++ b/menus/main/general/12bindery.en @@ -0,0 +1,5 @@ +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.
+FreeBSD does not support this, because the nwb[op]* utilities don't exist. diff --git a/menus/main/general/12bindery.nl b/menus/main/general/12bindery.nl new file mode 100644 index 0000000..c80eea2 --- /dev/null +++ b/menus/main/general/12bindery.nl @@ -0,0 +1,4 @@ +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. \ No newline at end of file diff --git a/menus/main/index.en b/menus/main/index.en new file mode 100644 index 0000000..b37dc8d --- /dev/null +++ b/menus/main/index.en @@ -0,0 +1,7 @@ +Main menu,Copyright 2000
Wilmer van der Gaast +General settings,general +Security,security +Lists,lists +Flags,flags +Logging,logging +Documentation,doc diff --git a/menus/main/index.nl b/menus/main/index.nl new file mode 100644 index 0000000..18aec4b --- /dev/null +++ b/menus/main/index.nl @@ -0,0 +1,7 @@ +Hoofdmenu,Copyright 2000 Wilmer van der Gaast +Algemene instellingen,general +Beveiliging,security +Lijsten,lists +Opties,flags +Logbestanden,logging +Documentatie,doc diff --git a/menus/main/lists/01volumes.en b/menus/main/lists/01volumes.en new file mode 100644 index 0000000..5de1e91 --- /dev/null +++ b/menus/main/lists/01volumes.en @@ -0,0 +1,4 @@ +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. diff --git a/menus/main/lists/01volumes.nl b/menus/main/lists/01volumes.nl new file mode 100644 index 0000000..b822197 --- /dev/null +++ b/menus/main/lists/01volumes.nl @@ -0,0 +1,4 @@ +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. diff --git a/menus/main/lists/02users.en b/menus/main/lists/02users.en new file mode 100644 index 0000000..1c90714 --- /dev/null +++ b/menus/main/lists/02users.en @@ -0,0 +1,3 @@ +Users,user?list +You can edit the userlist from the bindery files here. This option will not +change anything to the nwserv.conf configuration file. diff --git a/menus/main/lists/02users.nl b/menus/main/lists/02users.nl new file mode 100644 index 0000000..b801803 --- /dev/null +++ b/menus/main/lists/02users.nl @@ -0,0 +1,4 @@ +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 +nwserv.conf! diff --git a/menus/main/lists/03groups.en b/menus/main/lists/03groups.en new file mode 100644 index 0000000..db12e01 --- /dev/null +++ b/menus/main/lists/03groups.en @@ -0,0 +1,3 @@ +Groups,group?list +You can edit the group list from the bindery files here. This option will not +change anything to the nwserv.conf configuration file. diff --git a/menus/main/lists/03groups.nl b/menus/main/lists/03groups.nl new file mode 100644 index 0000000..6ab78b8 --- /dev/null +++ b/menus/main/lists/03groups.nl @@ -0,0 +1,4 @@ +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 +nwserv.conf! diff --git a/menus/main/lists/04printers.en b/menus/main/lists/04printers.en new file mode 100644 index 0000000..fc22263 --- /dev/null +++ b/menus/main/lists/04printers.en @@ -0,0 +1,16 @@ +Print queues,printer?list +Here you can edit the list of print queues. The things you have to fill in are: +
    +
  1. Print queue name
    +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. +
  2. Unix printing command
    +The command used to send a file to the printer, the text/etc. will come from +the standard input.
    +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. +
  3. Spool directory
    +The directory used to keep the print spool for this print queue. Use the +VOLUME:/directory form, you can leave this one empty to use a +default directory. + diff --git a/menus/main/lists/04printers.nl b/menus/main/lists/04printers.nl new file mode 100644 index 0000000..177a0b2 --- /dev/null +++ b/menus/main/lists/04printers.nl @@ -0,0 +1,17 @@ +Printers,printer?list +Hier kun je de lijst met printers bewerken. De in te vullen gegevens zijn: +
      +
    1. Print queue name
      +De naam waarmee je de printer in de lijst zal zien staan, en de naam die +wordt gevraagd als je op deze printer iets af wilt drukken. +
    2. Unix printing command
      +Dit commando zal worden gebruikt om een bestand uit te printen, de +te printen gegevens komen van de standaardinvoer.
      +Ik geloof dat er een bug in MARS_NWE zit, die er voor zorgt dat deze property +bij het opstarten verwijderd wordt. Het is niet op te lossen door de +opstartcontroles niet op maximaal te zetten. +
    3. Spool directory
      +In deze directory zullen de tijdelijke bestanden opgeslagen worden. Dit +moet in VOLUME:/directory notatie, en als je dit vak leeg laat, +zal een standaard directory gekozen worden. + \ No newline at end of file diff --git a/menus/main/lists/05devices.en b/menus/main/lists/05devices.en new file mode 100644 index 0000000..7e16d3d --- /dev/null +++ b/menus/main/lists/05devices.en @@ -0,0 +1,47 @@ +Devices,device?list +This section contains information for the ipx-router built into mars_nwe +and/or the external program nwrouted.
      +Both processes exchange the IPX-packets between your machine and the rest +of the world (in other words: their functionallity is essential). Of +course, to use one of both is already sufficient.
      +Note for people with other IPX/NCP servers on the net:
      +
      • choose the same frame-type as the other servers use +
      • make sure your network-number is not already in use by another server +(see the output of SLIST under Linux or DOS)
      +Under Linux, it is possible to let the kernel creat all ipx-devices +automatically for you. This is only possible (and only makes sense then) +if there are other IPX/NCP servers on the same net which are setup +correctly.
      +
        +
      1. Network number
        +This number is determined by the router of the physical network you're +attached to. Use "0x0" to use the entry for all network number match. +
      2. Device
        +The network-interface associated with the NET_NUMBER. (eth0, +arc0, ppp0, etc.) Use an asterisk to use this entry for +all devices match. +
      3. Frame type
        +The frame-type of the data-packets on your local network.
        +Possible values are: +
        • ethernet_ii (Best for mixed(ipx, ip) environments) +
        • 802.2 (Novell uses this as default since 3.12) +
        • 802.3 (Older frame typ, some boot-PROMs use it) +
        • snap (Normally not used) +
        • token (For token ring cards) +
        • auto (Automatic detection of the frame-type used in your IPX-environment) +
        +
      4. Ticks
        +The time data-packets need to get delivered over a +certain interface. If your connection goes through several +routers, the shortest path can be determined by summing up +all ticks for every route and compare the results.
        +(1 tick = 1/18th second), default=1
        +NOTE: If ticks > 6 then the internal router handles +RIP/SAP specially. (RIP/SAP filtering) +
      +NOTE: +Automatic detection in this section means that ipx-interfaces which +are created by other instances than the server/router, +e.g. pppd, ipppd or ipx_interface, will be detected and inserted/removed +in internal device/routing table at runtime.
      +You don't have to set this in FreeBSD! diff --git a/menus/main/lists/05devices.nl b/menus/main/lists/05devices.nl new file mode 100644 index 0000000..f6b1f18 --- /dev/null +++ b/menus/main/lists/05devices.nl @@ -0,0 +1,47 @@ +IPX-devices,device?list +Hier stel je informatie in voor de in MARS_NWE ingebouwde IPX-router, en/of +het externe programma nwrouted.
      +Beide programma's versturen/ontvangen de IPX-packets tussen de Linux-machine +en de rest van de 'wereld'. (Het zijn dus belangrijke programma's.) Het gebruik +van een van de programma's is natuurlijk genoeg.
      +Belangrijk als er nog een IPX/NCP server op het netwerk staat:
      +
      • Kies hetzelfde frame-type als die van de andere servers op het netwerk, +
      • en dat het netwerknummer niet al in gebruik is door een andere server. (Zie +het programma SLIST.)
      +Het is onder Linux mogelijk om de kernel automatisch de IPX-devices aan te +laten maken. Dit is overigens alleen mogelijk (en heeft alleen nut) als er +meer IPX/NCP servers op het netwerk aanwezig zijn, die ook correct ingesteld +zijn.
      +De opties: +
        +
      1. Netwerknummer
        +Dit nummer wordt vastgesteld door de router van het fysieke netwerk waarmee +je verbonden bent. Stel de netwerknummers op 0x0 in om de nummers +af te stemmen op de andere nummers in het netwerk. +
      2. Apparaat
        +De netwerkkaart/etc. die verbonden is met het netwerknummer. (Bijvoorbeeld +eth0, arc0, ppp0, etc.) Gebruik hier een sterretje +voor alle andere devices. +
      3. Frame-type
        +Het frame-type van de data-packets op het lokale netwerk.
        +Mogelijkheden zijn: +
        • ethernet_ii (Het beste voor gemengde netwerken (IPX+IP)) +
        • 802.2 (Sinds NetWare v3.12 gebruikt Novell deze als standaard) +
        • 802.3 (Is ouder, wordt nog gebruikt door een aantaal boot-PROMs) +
        • snap (Wordt normaal gesproken niet gebruikt) +
        • token (Bij token-ring kaarten) +
        • auto (Automatisch uitzoeken wat er in het lokale netwerk gebruikt wordt) +
        +
      4. Tikken
        +Het aantal kloktikken dat nodig is om een packet over een bepaalde interface +te sturen. Als je verbinding door diverse routers gaat, kan op deze manier +de kortste weg worden bepaald, door alle waarden bij elkaar op te tellen.
        +(1 tik = 1/18 seconde, standaardwaarde is 1)
        +BELANGRIJK: Als het aantal tikken hoger dan 6 is, dan zal de interne +router de packets speciaal afhandelen. (RIP/SAP filtering) +
      +BELANGRIJK: Automatische detectie betekent hier dat IPX-devices die +door andere programma's gemaakt zijn, zoals pppd, ipppd of ipx_interface, +gevonden zullen worden en worden ingevoegd/verwijderd uit de interne +routing-tabel tijdens het opstarten.
      +In FreeBSD hoef je dit niet in te stellen! diff --git a/menus/main/lists/06logins.en b/menus/main/lists/06logins.en new file mode 100644 index 0000000..02085c5 --- /dev/null +++ b/menus/main/lists/06logins.en @@ -0,0 +1,3 @@ +Logins,logins?list +Here you can see who's logged in, and you can throw somebody out, if you +want. diff --git a/menus/main/lists/06logins.nl b/menus/main/lists/06logins.nl new file mode 100644 index 0000000..6bf8cd7 --- /dev/null +++ b/menus/main/lists/06logins.nl @@ -0,0 +1,3 @@ +Logins,logins?list +Hier kun je kijken wie er allemaal ingelogd zijn, en als je wilt kun je iemand +er uit gooien. diff --git a/menus/main/logging/01logfiles.en b/menus/main/logging/01logfiles.en new file mode 100644 index 0000000..24cc18e --- /dev/null +++ b/menus/main/logging/01logfiles.en @@ -0,0 +1,2 @@ +Log files,logging?logfiles +Using this options, you can specify where to put the logfiles diff --git a/menus/main/logging/01logfiles.nl b/menus/main/logging/01logfiles.nl new file mode 100644 index 0000000..bec9465 --- /dev/null +++ b/menus/main/logging/01logfiles.nl @@ -0,0 +1,4 @@ +Plaats van de bestanden,logging?logfiles +Hier kun je instellen waar de logfiles opgeslagen moeten worden, als je +syslog als bestandsnaam opgeeft, dan zal syslogd gebruikt +worden voor het opslaan van de gegevens. diff --git a/menus/main/logging/02logwhat.en b/menus/main/logging/02logwhat.en new file mode 100644 index 0000000..418f52f --- /dev/null +++ b/menus/main/logging/02logwhat.en @@ -0,0 +1,5 @@ +Log parts,logging?logwhat +MARS_NWE can keep a log file with error messages, click here to set what +kind of messages must be logged.
      +According to nwserv.conf, the NWCLIENT tag must always be set +to No debugging. diff --git a/menus/main/logging/02logwhat.nl b/menus/main/logging/02logwhat.nl new file mode 100644 index 0000000..a2098b1 --- /dev/null +++ b/menus/main/logging/02logwhat.nl @@ -0,0 +1,5 @@ +Onderdelen,logging?logwhat +Hier kun je instellen welke onderdelen van MARS_NWE gegevens in de log-file +moeten zetten.
      +In het bestand nwserv.conf staat dat de optie NWCLIENT altijd op uit +moet staan. diff --git a/menus/main/logging/03viewlog.en b/menus/main/logging/03viewlog.en new file mode 100644 index 0000000..22c74ca --- /dev/null +++ b/menus/main/logging/03viewlog.en @@ -0,0 +1,2 @@ +View log files,logging?viewlog +Use this option to take a look at the MARS_NWE logfiles diff --git a/menus/main/logging/03viewlog.nl b/menus/main/logging/03viewlog.nl new file mode 100644 index 0000000..94b71cf --- /dev/null +++ b/menus/main/logging/03viewlog.nl @@ -0,0 +1,2 @@ +Logbestanden bekijken,logging?viewlog +Om de logbestanden te bekijken, gebruik je deze optie. diff --git a/menus/main/security/02supervisor.en b/menus/main/security/02supervisor.en new file mode 100644 index 0000000..7675f92 --- /dev/null +++ b/menus/main/security/02supervisor.en @@ -0,0 +1,16 @@ +Supervisor,security?supervisor +The SUPERVISOR of a NetWare-server is much like root on the +Linux-side.
      +Specify a Linux-user that should be mapped to the supervisor of this +MARS_NWE-server.
      +To improve security, don't use root for this purpose but create a +seperate administrative account (under Linux) called nw-adm or similar.
      +The nw-user defined in this section will have the MARS_NWE internal UID +1 (remember even under Linux root must have the special UID 0), so +it is not possible to define a supervisor in section 13 (the users +defined there will get random UIDs).
      +You can define a user with name SUPERVISOR in section 13, but he +won't really be the "local god" on the MARS_NWE-server.
      +And of course you can define a supervisor with name GOD or ROOT +in this section, which would only break the traditional naming-scheme +of the NetWare-world. diff --git a/menus/main/security/02supervisor.nl b/menus/main/security/02supervisor.nl new file mode 100644 index 0000000..e3c88a3 --- /dev/null +++ b/menus/main/security/02supervisor.nl @@ -0,0 +1,18 @@ +Supervisor,security?supervisor +De SUPERVISOR op een NetWare-server is net zoiets als de gebruiker +root op een Linux-systeem.
      +Hier kun je aangeven welke Linux-user verbonden moet worden met de +SUPERVISOR op de MARS_NWE-server.
      +In verband met beveiliging is het beter om hiervoor niet de +gebruiker root te gebruiken, je kunt beter een nieuwe gebruiker +aanmaken met een naam zoals nw-adm o.i.d.
      +De NetWare-user die je hier definieert zal in MARS_NWE UID # 1 krijgen, +(in Linux krijgt de user root UID 0) dus het is niet mogelijk +om een gebruiker genaamd SUPERVISOR te definiëren bij +Userlist, want daar krijgen gebruikers hogere nummers.
      +Het is mogelijk om bij Userlist een SUPERVISOR aan te maken, +maar die gebruiker zal dan niet de zelfde rechten krijgen als de +SUPERVISOR die je hier definieert.
      +En natuurlijk kun je de gebruiker die je hier definieert best GOD +noemen, of ROOT, dat zou alleen de namenstandaard van NetWare +breken. diff --git a/menus/main/security/03mapping.en b/menus/main/security/03mapping.en new file mode 100644 index 0000000..b876cea --- /dev/null +++ b/menus/main/security/03mapping.en @@ -0,0 +1,15 @@ +Automap,security?mapping +If you have a large number of accounts on your Linux-machine, you may +want to map all Linux-logins automatically to MARS_NWE-logins.
      +At this stage this section is only a quick hack to make life a bit +easier for the administrator.
      +WARNING: As there is no algorithm to convert the encrypted +Linux-passwords into the encrypted format used by the DOS-clients (and +therefore MARS_NWE), you have to supply a common password for all +automatically mapped users. This is a big security concern and you +should never make this common password public (and, of course you +should choose a sufficient "secure" (read: difficult) password).
      +Type the common password to grant access to the users login and the +command "setpass" instead of telling the password to the user.
      +Only those Linux-logins will handled automatically that don't have a +x or asterisk as their encrypted password. diff --git a/menus/main/security/03mapping.nl b/menus/main/security/03mapping.nl new file mode 100644 index 0000000..3085db2 --- /dev/null +++ b/menus/main/security/03mapping.nl @@ -0,0 +1,17 @@ +Automap,security?mapping +Als je een groot aantal gebruikers in je Linux-machine hebt staan, +zou je misschien graag alle Linux-gebruikers automatisch om +willen zetten naar MARS_NWE-gebruikers.
      +Op het moment is dit onderdeel nog een snelle hack om de systeembeheerders +het leven wat te vergemakkelijken.
      +WAARSCHUWING: Omdat het niet mogelijk is door Linux versleutelde +wachtwoorden om te zetten in door DOS-clients versleutelde wachtwoorden, +is het nodig om hier een algemeen wachtwoord in te stellen voor alle +automatisch aangemaakte gebruikers. Dit is een groot veiligheidsprobleem +en daarom moet je het algemene wachtwoord niet verspreiden, en het wachtwoord +moet niet te makkelijk zijn.
      +Het is een goed idee om het systeem zo in te stellen dat je met een +automatisch aangemaakt wachtwoord in kunt loggen, om vervolgens met +SETPASS het wachtwoord in te stellen.
      +Alleen Linux-gebruikers die niet geblokkeerd zijn d.m.v. een x of een +sterretje als wachtwoord zullen automatisch omgezet worden. diff --git a/menus/main/security/04encryption.en b/menus/main/security/04encryption.en new file mode 100644 index 0000000..11b4732 --- /dev/null +++ b/menus/main/security/04encryption.en @@ -0,0 +1,8 @@ +Password handling of DOS-clients,security?encryption +When changing your MARS_NWE-password from a DOS-client, this client +(think of "LOGIN.EXE", "SYSCON.EXE" or "SETPASS.EXE") +can encrypt your password before sending it to the MARS_NWE-server +(this improves security a little bit).
      +In this section you can enforce encryption of user-passwords or allow +not-encrypted sending of passwords over the net.
      +On the Linux-side, passwords will only be stored in encrypted format. diff --git a/menus/main/security/04encryption.nl b/menus/main/security/04encryption.nl new file mode 100644 index 0000000..11381e8 --- /dev/null +++ b/menus/main/security/04encryption.nl @@ -0,0 +1,8 @@ +Behandeling van de wachtwoorden,security?encryption +Wanneer je je MARS_NWE-wachtwoord verandert vanaf een DOS-client, kan +dat programma (Bijvoorbeeld "LOGIN.EXE" of "SETPASS.EXE" +het wachtwoord versleutelen voordat het verzonden wordt, waardoor de +veiligheid iets verhoogd wordt.
      +Hier kun je de versleuteling van een wachtwoord verplichten, of het +versturen van niet-versleutelde wachtwoorden toestaan.
      +Natuurlijk worden de wachtwoorden op de server alleen versleuteld opgeslagen. diff --git a/menus/quick/flags/03devices.en b/menus/quick/flags/03devices.en new file mode 120000 index 0000000..ed5f682 --- /dev/null +++ b/menus/quick/flags/03devices.en @@ -0,0 +1 @@ +../../main/flags/03devices.en \ No newline at end of file diff --git a/menus/quick/flags/03devices.nl b/menus/quick/flags/03devices.nl new file mode 120000 index 0000000..b42a397 --- /dev/null +++ b/menus/quick/flags/03devices.nl @@ -0,0 +1 @@ +../../main/flags/03devices.nl \ No newline at end of file diff --git a/menus/quick/general/01name.en b/menus/quick/general/01name.en new file mode 120000 index 0000000..449abcb --- /dev/null +++ b/menus/quick/general/01name.en @@ -0,0 +1 @@ +../../main/general/01name.en \ No newline at end of file diff --git a/menus/quick/general/01name.nl b/menus/quick/general/01name.nl new file mode 120000 index 0000000..34e8697 --- /dev/null +++ b/menus/quick/general/01name.nl @@ -0,0 +1 @@ +../../main/general/01name.nl \ No newline at end of file diff --git a/menus/quick/general/07smart.en b/menus/quick/general/07smart.en new file mode 120000 index 0000000..a0fdb3f --- /dev/null +++ b/menus/quick/general/07smart.en @@ -0,0 +1 @@ +../../main/general/07smart.en \ No newline at end of file diff --git a/menus/quick/general/07smart.nl b/menus/quick/general/07smart.nl new file mode 120000 index 0000000..5d3e2bf --- /dev/null +++ b/menus/quick/general/07smart.nl @@ -0,0 +1 @@ +../../main/general/07smart.nl \ No newline at end of file diff --git a/menus/quick/index.en b/menus/quick/index.en new file mode 100644 index 0000000..3472ff4 --- /dev/null +++ b/menus/quick/index.en @@ -0,0 +1,5 @@ +Main menu,Copyright 2000 Wilmer van der Gaast +General settings,general +Security,security +Lists,lists +Flags,flags diff --git a/menus/quick/index.nl b/menus/quick/index.nl new file mode 100644 index 0000000..554f037 --- /dev/null +++ b/menus/quick/index.nl @@ -0,0 +1,5 @@ +Hoofdmenu,Copyright 2000 Wilmer van der Gaast +Algemene instellingen,general +Beveiliging,security +Lijsten,lists +Opties,flags diff --git a/menus/quick/lists/01volumes.en b/menus/quick/lists/01volumes.en new file mode 120000 index 0000000..81257cb --- /dev/null +++ b/menus/quick/lists/01volumes.en @@ -0,0 +1 @@ +../../main/lists/01volumes.en \ No newline at end of file diff --git a/menus/quick/lists/01volumes.nl b/menus/quick/lists/01volumes.nl new file mode 120000 index 0000000..bbd3ee7 --- /dev/null +++ b/menus/quick/lists/01volumes.nl @@ -0,0 +1 @@ +../../main/lists/01volumes.nl \ No newline at end of file diff --git a/menus/quick/lists/02users.en b/menus/quick/lists/02users.en new file mode 120000 index 0000000..cf29f39 --- /dev/null +++ b/menus/quick/lists/02users.en @@ -0,0 +1 @@ +../../main/lists/02users.en \ No newline at end of file diff --git a/menus/quick/lists/02users.nl b/menus/quick/lists/02users.nl new file mode 120000 index 0000000..2cbe535 --- /dev/null +++ b/menus/quick/lists/02users.nl @@ -0,0 +1 @@ +../../main/lists/02users.nl \ No newline at end of file diff --git a/menus/quick/lists/03groups.en b/menus/quick/lists/03groups.en new file mode 120000 index 0000000..4582e42 --- /dev/null +++ b/menus/quick/lists/03groups.en @@ -0,0 +1 @@ +../../main/lists/03groups.en \ No newline at end of file diff --git a/menus/quick/lists/03groups.nl b/menus/quick/lists/03groups.nl new file mode 120000 index 0000000..ef23c4a --- /dev/null +++ b/menus/quick/lists/03groups.nl @@ -0,0 +1 @@ +../../main/lists/03groups.nl \ No newline at end of file diff --git a/menus/quick/lists/04printers.en b/menus/quick/lists/04printers.en new file mode 120000 index 0000000..255f6b3 --- /dev/null +++ b/menus/quick/lists/04printers.en @@ -0,0 +1 @@ +../../main/lists/04printers.en \ No newline at end of file diff --git a/menus/quick/lists/04printers.nl b/menus/quick/lists/04printers.nl new file mode 120000 index 0000000..77ed5e2 --- /dev/null +++ b/menus/quick/lists/04printers.nl @@ -0,0 +1 @@ +../../main/lists/04printers.nl \ No newline at end of file diff --git a/menus/quick/lists/05devices.en b/menus/quick/lists/05devices.en new file mode 120000 index 0000000..577db81 --- /dev/null +++ b/menus/quick/lists/05devices.en @@ -0,0 +1 @@ +../../main/lists/05devices.en \ No newline at end of file diff --git a/menus/quick/lists/05devices.nl b/menus/quick/lists/05devices.nl new file mode 120000 index 0000000..eec54c1 --- /dev/null +++ b/menus/quick/lists/05devices.nl @@ -0,0 +1 @@ +../../main/lists/05devices.nl \ No newline at end of file diff --git a/menus/quick/security/02supervisor.en b/menus/quick/security/02supervisor.en new file mode 120000 index 0000000..f826947 --- /dev/null +++ b/menus/quick/security/02supervisor.en @@ -0,0 +1 @@ +../../main/security/02supervisor.en \ No newline at end of file diff --git a/menus/quick/security/02supervisor.nl b/menus/quick/security/02supervisor.nl new file mode 120000 index 0000000..28e14ad --- /dev/null +++ b/menus/quick/security/02supervisor.nl @@ -0,0 +1 @@ +../../main/security/02supervisor.nl \ No newline at end of file diff --git a/root/cgi-bin/apply.in b/root/cgi-bin/apply.in new file mode 100644 index 0000000..6039e58 --- /dev/null +++ b/root/cgi-bin/apply.in @@ -0,0 +1,509 @@ +#!/bin/sh +# +# Apply changes +# +# 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 + +checkrefer + +SECTION=`echo $REFERER | cut -d? -f2 | sed "s/ +\$//g" | cut -d -f1` +export `echo $* | sed "s/&/ /g"` +if [ "`echo $SECTION | grep =`" ]; then + export `echo $SECTION | sed "s/&/ /g"`; +fi + +case $SECTION in + name ) + anticonfig 2 < $MARS_CONFIG > $MARS_CONFIG.tmp + echo "2 $NAME" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + internalnet ) + anticonfig 3 < $MARS_CONFIG > $MARS_CONFIG.tmp + echo "3 $NUM" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + version ) + cat $MARS_CONFIG | anticonfig 6 | anticonfig 30 > $MARS_CONFIG.tmp + echo "6 $VERSION `digit $BURST`" >> $MARS_CONFIG.tmp + echo "30 $MAXREAD $MAXWRITE" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + tests ) + anticonfig 16 < $MARS_CONFIG > $MARS_CONFIG.tmp + echo "16 $TESTS" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + timing ) + cat $MARS_CONFIG | anticonfig 210 | anticonfig 211 > $MARS_CONFIG.tmp + echo "210 $DOWNDELAY" >> $MARS_CONFIG.tmp + echo "211 $MESSAGEDELAY" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + configh ) + cat $MARS_CONFIG | anticonfig 60 | anticonfig 61 | anticonfig 63 | \ + anticonfig 68 | anticonfig 69 | anticonfig 70 | anticonfig 71 > $MARS_CONFIG.tmp + if [ -n "$MAXCONN" ]; then + echo "60 $MAXCONN" >> $MARS_CONFIG.tmp; fi + if [ -n "$MAXVOLS" ]; then + echo "61 $MAXVOLS" >> $MARS_CONFIG.tmp; fi + if [ -n "$MAXDBES" ]; then + echo "63 $MAXDBES" >> $MARS_CONFIG.tmp; fi + if [ -n "$SERIAL" ]; then + echo "70 $SERIAL" >> $MARS_CONFIG.tmp; fi + if [ -n "$APPLIC" ]; then + echo "71 $APPLIC" >> $MARS_CONFIG.tmp; fi + if [ -n "$MMAP" ]; then + echo "68 $MMAP" >> $MARS_CONFIG.tmp; fi + if [ -n "$SAP" ]; then + echo "69 $SAP" >> $MARS_CONFIG.tmp; fi + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + smart ) + { cat $SMART_CONF | grep -v "^MARS_CONFIG=" | grep -v "^SERVER_LOGIN=" | \ + grep -v "^SERVER_LOGIN_NOPASS=" | grep -v "^SERVER_PASSWORD=" | \ + grep -v "^NWSERV_BIN=" | grep -v "^SMART_CONFIGURED=" ; + } > $SMART_CONF.tmp + echo MARS_CONFIG=`convertfilename $MARSCONFIG` >> $SMART_CONF.tmp + echo NWSERV_BIN=`convertfilename $NWSERV_BIN` >> $SMART_CONF.tmp + echo SERVER_LOGIN=\"-S $SERVERNAME -U $SUPERVISOR -P $PASSWORD\" >> $SMART_CONF.tmp + echo SERVER_LOGIN_NOPASS=\"-S $SERVERNAME -U $SUPERVISOR\" >> $SMART_CONF.tmp + echo SERVER_PASSWORD=\"$PASSWORD\" >> $SMART_CONF.tmp + echo SMART_CONFIGURED=yes >> $SMART_CONF.tmp + mv $SMART_CONF.tmp $SMART_CONF + + cat $WEBSERVE_CONF | grep -v "^WEBSERVE_SECURITY=" > $WEBSERVE_CONF.tmp + if [ "$SECURITY" = "on" ]; then + echo WEBSERVE_SECURITY=on >> $WEBSERVE_CONF.tmp; + else + echo WEBSERVE_SECURITY=off >> $WEBSERVE_CONF.tmp; + fi + mv $WEBSERVE_CONF.tmp $WEBSERVE_CONF +;; + supervisor ) + anticonfig 12 < $MARS_CONFIG > $MARS_CONFIG.tmp + echo "12 $SUPERVISOR $ROOT $PASSWORD" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + mapping ) + anticonfig 15 < $MARS_CONFIG > $MARS_CONFIG.tmp + echo "15 $AUTOMAP $PASSWORD" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + mode ) + echo Content-Type: text/plain + anticonfig 9 < $MARS_CONFIG > $MARS_CONFIG.tmp + if [ "$DIR" = "DSTD" ]; then + declare -i DIR + DIR="0"; + elif [ "$DIR" = "DINH" ]; then + declare -i DIR + DIR="-1"; + else + declare -i DIR + DIR="0" + if [ "$DUR" ]; then DIR=$DIR+400; fi + if [ "$DUW" ]; then DIR=$DIR+200; fi + if [ "$DUX" ]; then DIR=$DIR+100; fi + if [ "$DGR" ]; then DIR=$DIR+40; fi + if [ "$DGW" ]; then DIR=$DIR+20; fi + if [ "$DGX" ]; then DIR=$DIR+10; fi + if [ "$DOR" ]; then DIR=$DIR+4; fi + if [ "$DOW" ]; then DIR=$DIR+2; fi + if [ "$DOX" ]; then DIR=$DIR+1; fi; + fi + if [ "$FILE" = "FSTD" ]; then + declare -i FILE + FILE="0"; + else + declare -i FILE + FILE="0" + if [ "$FUR" ]; then FILE=$FILE+400; fi + if [ "$FUW" ]; then FILE=$FILE+200; fi + if [ "$FUX" ]; then FILE=$FILE+100; fi + if [ "$FGR" ]; then FILE=$FILE+40; fi + if [ "$FGW" ]; then FILE=$FILE+20; fi + if [ "$FGX" ]; then FILE=$FILE+10; fi + if [ "$FOR" ]; then FILE=$FILE+4; fi + if [ "$FOW" ]; then FILE=$FILE+2; fi + if [ "$FOX" ]; then FILE=$FILE+1; fi; + fi + echo "9 0$DIR 0$FILE" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + guest ) + anticonfig 1[01] < $MARS_CONFIG > $MARS_CONFIG.tmp + echo "10 $GROUP" >> $MARS_CONFIG.tmp + echo "11 $USER" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + vadd ) + DIR=`convertfilename $DIR` + NAME=`echo $NAME | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` + if [ "$NAME" = "SYS" ]; then + mv $MARS_CONFIG $MARS_CONFIG.tmp; + fi + echo -n "1 $NAME $DIR " >> $MARS_CONFIG + FLAGS="" + case "$CASE"- in + IGNORE- ) + FLAGS="$FLAGS"i ;; + LOWER- ) + FLAGS="$FLAGS"k ;; + esac + case "$TRUSTEE"- in + UNIX- ) + FLAGS="$FLAGS"t ;; + YES- ) + FLAGS="$FLAGS"T ;; + esac + if [ $OS2 ]; then FLAGS="$FLAGS"O; fi + if [ $NFS ]; then FLAGS="$FLAGS"N; fi + if [ $REMOVABLE ]; then FLAGS="$FLAGS"m; fi + if [ $NOFIXINODES ]; then FLAGS="$FLAGS"n; fi + if [ $PIPE ]; then FLAGS="$FLAGS"p; fi + if [ $RO ]; then FLAGS="$FLAGS"r; fi + echo "$FLAGS" >> $MARS_CONFIG + if [ "$NAME" = "SYS" ]; then + cat $MARS_CONFIG.tmp >> $MARS_CONFIG + rm $MARS_CONFIG.tmp; + fi + $WEBSERVE_ROOT/cgi-bin/volume list + exit +;; + encryption ) + anticonfig 7 < $MARS_CONFIG > $MARS_CONFIG.tmp + echo "7 $ENCRYPTION" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + dadd ) + echo "4 $NETNUM $INTERFACE $FRAME $TICKS" >> $MARS_CONFIG + $WEBSERVE_ROOT/cgi-bin/device list + exit +;; + logwhat ) + anticonfig 10[0-9] < $MARS_CONFIG > $MARS_CONFIG.tmp + for i in 100 101 102 103 104 105 106; do + case $i in + 100 ) CURRENT=$d100 ;; + 101 ) CURRENT=$d101 ;; + 102 ) CURRENT=$d102 ;; + 103 ) CURRENT=$d103 ;; + 104 ) CURRENT=$d104 ;; + 105 ) CURRENT=$d105 ;; + 106 ) CURRENT=$d106 ;; + esac + echo $i $CURRENT >> $MARS_CONFIG.tmp + shift; + done + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + logfiles ) + NWLOG=`convertfilename $NWLOG` + ROLOG=`convertfilename $ROLOG` + anticonfig [23]01 < $MARS_CONFIG > $MARS_CONFIG.tmp + echo "201 $NWLOG" >> $MARS_CONFIG.tmp + echo "301 $ROLOG" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + dirs ) + anticonfig 4[012567] < $MARS_CONFIG > $MARS_CONFIG.tmp + echo "40 `convertfilename $VOLCACHE`" >> $MARS_CONFIG.tmp + echo "41 `convertfilename $LOCKS`" >> $MARS_CONFIG.tmp + echo "42 `convertfilename $SPOOL`" >> $MARS_CONFIG.tmp + echo "45 `convertfilename $BINDERY`" >> $MARS_CONFIG.tmp + echo "46 `convertfilename $ATTRIB`" >> $MARS_CONFIG.tmp + echo "47 `convertfilename $TRUSTEE`" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + uadd ) + nwbocreate $SERVER_LOGIN -t 1 -o $NOVELL + + { echo 0001 + echo $NOVELL + echo UNIX_USER + echo 0 + echo 30 + echo $UNIX | $HEX + } | nwbpset $SERVER_LOGIN + + { echo 0001 + echo $NOVELL + echo IDENTIFICATION + echo 0 + echo 31 + echo "$FULLNAME" | sed "s/+/ /g" | $HEX + } | nwbpset $SERVER_LOGIN + + { echo 0001 + echo $NOVELL + echo GROUPS_I\'M_IN + echo 2 + echo 31 + for g in `nwbols $SERVER_LOGIN -t 2 | cut -d" " -f1`; do + if [ "`var $g`" = "on" ]; then + echo 0002 + echo $g + { nwbpvalues $SERVER_LOGIN -t 2 -o $g -p GROUP_MEMBERS -c + echo 0001 + echo $NOVELL; + } | nwbpset $SERVER_LOGIN; + fi; + done; + } | nwbpset $SERVER_LOGIN + nwbpvalues $SERVER_LOGIN -t 1 -o $NOVELL -p GROUPS_I\'M_IN -c | \ + sed "3s/.*/SECURITY_EQUALS/" | nwbpset $SERVER_LOGIN + + if [ "$PASSWORD" ]; then + { echo $SERVER_PASSWORD + echo $PASSWORD + echo $PASSWORD; + } | nwpasswd $SERVER_LOGIN_NOPASS -t 1 -O $NOVELL; + fi + + $WEBSERVE_ROOT/cgi-bin/user list + exit +;; + gadd ) + nwbocreate $SERVER_LOGIN -t 2 -o $NAME + + { echo 0002 + echo $NAME + echo IDENTIFICATION + echo 0 + echo 31 + echo "$FULLNAME" | sed "s/+/ /g" | $HEX + } | nwbpset $SERVER_LOGIN + + { nwbols $SERVER_LOGIN -t 1 + nwbols $SERVER_LOGIN -t 2; + } | \ + { echo 0002 + echo $NAME + echo OBJ_SUPERVISORS + echo 2 + echo 32 + read g + while [ "$g" ]; do + TYPE=`echo $g | cut -d" " -f3` + NAME=`echo $g | cut -d" " -f1` + ITEM=T$TYPE\_$NAME + if [ "`var $ITEM`" = "on" ]; then + echo $TYPE + echo $NAME; + fi + read g; + done; + } | nwbpset $SERVER_LOGIN + + nwbpcreate $SERVER_LOGIN -o $NAME -t 2 -p GROUP_MEMBERS -s + + $WEBSERVE_ROOT/cgi-bin/group list + exit +;; + padd ) + nwbocreate $SERVER_LOGIN -t 3 -o $NAME + + { echo 0003 + echo $NAME + echo Q_OPERATORS + echo 2 + echo 31 + echo 0001 + getconfig 12 | cut -d" " -f 2; + } | nwbpset $SERVER_LOGIN + + { echo 0003 + echo $NAME + echo Q_USERS + echo 2 + echo 31 + echo 0002 + echo EVERYONE; + } | nwbpset $SERVER_LOGIN + + if [ -z "$SPOOL_DIR" ]; then + SPOOL_DIR="SYS:SYSTEM/`nwbols $SERVER_LOGIN -t 3 | grep "^$NAME" | \ + cut -d" " -f2`.QDR"; + fi + { echo 0003 + echo $NAME + echo Q_DIRECTORY + echo 0 + echo 31 + echo $SPOOL_DIR | $HEX; + } | nwbpset $SERVER_LOGIN + + { echo 0003 + echo $NAME + echo Q_UNIX_PRINT + echo 1 + echo 31 + echo $UNIX_COMMAND | sed "s/+/ /g" | $HEX; + } | nwbpset $SERVER_LOGIN + + nwbpcreate $SERVER_LOGIN -o $NAME -t 3 -p Q_SERVERS -s + + $WEBSERVE_ROOT/cgi-bin/printer list + exit +;; + sec-flags ) + declare -i i; i=0 + anticonfig 8 < $MARS_CONFIG > $MARS_CONFIG.tmp + if [ "$F1" = "on" ]; then i=$i+1; fi + if [ "$F2" = "on" ]; then i=$i+2; fi + if [ "$F4" = "on" ]; then i=$i+4; fi + if [ "$F8" = "on" ]; then i=$i+8; fi + if [ "$F10" = "on" ]; then i=$i+16; fi + if [ "$F20" = "on" ]; then i=$i+32; fi + if [ "$F40" = "on" ]; then i=$i+64; fi + echo "8 $i" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + dev-flags ) + declare -i i; i=0 + cat $MARS_CONFIG | anticonfig 5 | anticonfig 310 > $MARS_CONFIG.tmp + if [ "$F1" != "on" ]; then i=$i+1; fi + if [ "$F2" = "on" ]; then i=$i+2; fi + if [ "$F4" = "on" ]; then i=$i+4; fi + echo "5 $i" >> $MARS_CONFIG.tmp + echo "310 $WDOG" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + bind-flags ) + declare -i i; i=0 + anticonfig 17 < $MARS_CONFIG > $MARS_CONFIG.tmp + if [ "$F1" = "on" ]; then i=1; fi + echo "17 $i" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + prn-flags ) + declare -i i; i=0 + anticonfig 18 < $MARS_CONFIG > $MARS_CONFIG.tmp + if [ "$F1" = "on" ]; then i=1; fi + echo "18 $i" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + log-flags ) + declare -i i + cat $MARS_CONFIG | anticonfig 200 | anticonfig 202 | anticonfig 300 | \ + anticonfig 302 > $MARS_CONFIG.tmp + echo "200 $E200" >> $MARS_CONFIG.tmp + echo "300 $E300" >> $MARS_CONFIG.tmp + i="$E202_1+$E202_2" + echo "202 0x$i" >> $MARS_CONFIG.tmp + i="$E302_1" + if [ "$E302_2" ]; then + i="$i+2"; + fi + echo "302 0x$i" >> $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG +;; + * ) + if [ "$EDIT" ]; then + export EDIT="" + if [ "$USER" ]; then + if [ "$USER" != "$NOVELL" ]; then + cat << EOF +Content-Type: text/html + + + +Error + + +ERROR: You can't change a user's name! + + +EOF + exit; + fi + nwbprm $SERVER_LOGIN -t 1 -o $USER -p IDENTIFICATION + nwbprm $SERVER_LOGIN -t 1 -o $USER -p UNIX_USER + nwbprm $SERVER_LOGIN -t 1 -o $USER -p GROUPS_I\'M_IN + nwbprm $SERVER_LOGIN -t 1 -o $USER -p SECURITY_EQUALS + export REFERER=uadd + $0 "$*" + exit; + elif [ "$GROUP" ]; then + if [ "$GROUP" != "$NAME" ]; then + cat << EOF +Content-Type: text/html + + + +Error + + +ERROR: You can't change a group's name! + + +EOF + exit; + fi + nwbprm $SERVER_LOGIN -t 2 -o $USER -p IDENTIFICATION + nwbprm $SERVER_LOGIN -t 2 -o $USER -p OBJ_SUPERVISORS + export REFERER=gadd + $0 "$*" + exit; + elif [ "$QUEUE" ]; then + if [ "$QUEUE" != "$NAME" ]; then + cat << EOF +Content-Type: text/html + + + +Error + + +ERROR: You can't change a printer's name! + + +EOF + exit; + fi + nwbprm $SERVER_LOGIN -t 2 -o $USER -p Q_DIRECTORY + nwbprm $SERVER_LOGIN -t 2 -o $USER -p Q_UNIX_PRINT + export REFERER=padd + $0 "$*" + exit; + elif [ "$DEVICE" ]; then + $WEBSERVE_ROOT/cgi-bin/device "DEVICE=$DEVICE&DELETE=Delete" 2> /dev/null > /dev/null + export REFERER=dadd + $0 A=B + exit; + elif [ "$VOLUME" ]; then + $WEBSERVE_ROOT/cgi-bin/volume "VOLUME=$VOLUME&DELETE=Delete" 2> /dev/null > /dev/null + export REFERER=vadd + $0 A=B + exit; + fi; + else + echo "500 ERROR"; + fi +;; +esac + +chmod 600 $MARS_CONFIG $SMART_CONF $WEBSERVE_CONF # Make sure the rights are safe + +echo Content-Type: text/html +echo +cat $WEBSERVE_ROOT/start.html diff --git a/root/cgi-bin/bindery.in b/root/cgi-bin/bindery.in new file mode 100644 index 0000000..6d44c87 --- /dev/null +++ b/root/cgi-bin/bindery.in @@ -0,0 +1,128 @@ +#!/bin/sh +# +# Browse the bindery +# +# 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 + +echo -ne "Content-Type: text/html\\n\\n" + +checkrefer +checkbind + +if [ "$*" ]; then + if [ "$1" = "bind-flags" ]; then + declare -i i + i=`getconfig 17 | cut -d" " -f2` + $GENFORM < $SMART_ROOT/forms/bind-flags "$i" + exit; + fi + export `echo "$*" | cut -d\& -f1` + export `echo "$*" | cut -d\& -f2` + export `echo "$*" | cut -d\& -f3` + echo \ + echo \ + echo \SMArT bindery browser\ + echo \ + echo \ + if [ "$PROPERTY" = "ALL" ]; then + echo \ + echo \ + echo \
      + echo \ + echo \ + echo \\\ + echo \\-\\ + echo \\Bindery browser: /$TYPE/$NAME/\\ + echo \ + echo \ + echo \ + echo \Property name + echo \Value + nwboprops $SERVER_LOGIN -t $TYPE -o $NAME | sort | + { read LINE + while [ "$LINE" ]; do + echo \ + echo \\$LINE\ + echo -n \\ + nwbpvalues $SERVER_LOGIN -t $TYPE -o $NAME -p $LINE + echo \ + read LINE; + done; + } + echo \ + echo \
      \Back\ + echo \; + else + echo \ + echo \ + echo \
      + echo \ + echo \ + echo \\\ + echo \\-\\ + echo \\Bindery browser: /$TYPE/$NAME/$PROPERTY/\\ + echo \ + echo \ + echo \ + echo \ + echo \ + nwbpvalues $SERVER_LOGIN -t $TYPE -o $NAME -p $PROPERTY -c + echo \ + echo \ + echo \\Back\ + echo \; + fi + echo \; +else + echo \ + echo \ + echo \SMArT bindery browser\ + echo \ + echo \ + echo \
      + echo \ + echo \
      + echo \ + echo \ + echo \\\ + echo \\-\\ + echo \\Bindery browser: /\\ + echo \ + echo \ + echo \ + echo \Name + echo \Number + echo \Type + nwbols $SERVER_LOGIN | sort | sort +2 | +{ read LINE + while [ "$LINE" ]; do + NAME="`echo $LINE | cut -d" " -f1`" + TYPE="`echo $LINE | cut -d" " -f3`" + echo \ + echo \\\$NAME\ + echo \\`echo $LINE | cut -d" " -f2` + echo \\$TYPE + read LINE; + done; +}; + echo \ + echo \ +fi \ No newline at end of file diff --git a/root/cgi-bin/control.in b/root/cgi-bin/control.in new file mode 100644 index 0000000..03de8c0 --- /dev/null +++ b/root/cgi-bin/control.in @@ -0,0 +1,59 @@ +#!/bin/sh +# +# Start/Stop/HUP/etc MARS_NWE server +# +# 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 + +checkrefer + +echo Content-Type: text/html +echo + +case $1 in + start ) + $NWSERV_BIN < /dev/null 2> /dev/null > /dev/null & +;; + stop ) + cat << EOF + + +Stopping MARS_NWE + + +Please wait while MARS_NWE is shutting down...
      +
      +EOF
      +		$NWSERV_BIN -k
      +		cat << EOF
      +
      +MARS_NWE is down now. You can click +
      here to restart MARS_NWE. + + +EOF + exit +;; + hup ) + $NWSERV_BIN -h < /dev/null 2> /dev/null > /dev/null & +;; +esac + +cat $WEBSERVE_ROOT/start.html diff --git a/root/cgi-bin/device.in b/root/cgi-bin/device.in new file mode 100644 index 0000000..cbeaac7 --- /dev/null +++ b/root/cgi-bin/device.in @@ -0,0 +1,116 @@ +#!/bin/sh +# +# CGI-script for setting up device list in nwserv.conf +# +# 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 + +if [ "$2" != "x" ]; then + echo Content-Type: text/html + echo; +fi + +checkrefer +checkparams $* + +declare -i i + +function listitems +{ + read LINE + i=0 + while [ "$LINE" ]; do + i=i+1 + echo -n \ + echo \\ + echo -n \ + echo "$LINE" | cut -d" " -f2 + echo -n \ + echo "$LINE" | cut -d" " -f3 + echo -n \ + echo "$LINE" | cut -d" " -f4 + echo -n \ + echo "$LINE" | cut -d" " -f5 + read LINE + done; +} + +case $1 in + dev-flags ) + declare -i CURRENT F1 F2 F4 + CURRENT=`getconfig 5 | cut -d" " -f2` + F1="1 - (($CURRENT & 1) / 1)" + F2="($CURRENT & 2) / 2" + F4="($CURRENT & 4) / 4" + WDOG="`getconfig 310 | cut -d" " -f2`" + $GENFORM < $SMART_ROOT/forms/dev-flags "$F1" "$F2" "$F4" "$WDOG" +;; + dadd ) + $GENFORM < $SMART_ROOT/forms/device +;; + list ) +cat< + +SMArT - Network devices + + + +
      + + + +
      + + + + + + +
      -IPX-devices
      +
      Sel +Network number +Network-interface +Frame Type +Timing +`getconfig 4 | listitems +`
      +Add device + + +
      + + +EOF +;; + * ) + export `echo $* | cut -d\& -f1` + export `echo $* | cut -d\& -f2` + if [ "$DELETE" ]; then + grep -Fv "`getconfig_clean 4 | getentry $DEVICE`" < $MARS_CONFIG > $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG + $0 list x + exit; + elif [ "$EDIT" ]; then + getconfig 4 | read X NETWORK_NUMBER INTERFACE FRAME_TYPE TICKS + $GENFORM < $SMART_ROOT/forms/device `getconfig 4 | getentry $DEVICE | cut -d" " -f2-`; + fi +;; +esac diff --git a/root/cgi-bin/doc.in b/root/cgi-bin/doc.in new file mode 100644 index 0000000..d24b2be --- /dev/null +++ b/root/cgi-bin/doc.in @@ -0,0 +1,110 @@ +#!/bin/sh +# +# View documentation +# +# 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 + +echo -ne "Content-Type: text/html\\n\\n" + +checkrefer +checkparams $* + +case "$*" in + smart ) + cat << EOF + + +SMArT documentation + + + + + + + + + + +
      + + + + + + +
      -SMArT documentation
      +
      FAQ +Frequently asked questions about SMArT. +
      Read Me +Some useful (?) information about SMArT. +
      Installation +Well, you don't need that file anymore, do you? +
      Changes +Things that have been changed since the previous version. +
      To Do +Things that still have not been changed in this version. +
      GPL +The GNU Public License. +
      + + +EOF +;; + smart_* ) + cat << EOF + + +SMART documentation + + + + + + +
      + + + + + + +
      -Documentation ($*)
      +
      +
      +EOF
      +		case "$*" in
      +			smart_faq ) cat $SMART_DOC/FAQ ;;
      +			smart_readme ) cat $SMART_DOC/README ;;
      +			smart_todo ) cat $SMART_DOC/TODO ;;
      +			smart_changes ) cat $SMART_DOC/CHANGES ;;
      +			smart_install ) cat $SMART_DOC/INSTALL ;;
      +			smart_copying ) cat $SMART_DOC/COPYING ;;
      +		esac | sed -e "s/>/\>/g" -e "s/
      +
      +SMArT documentation index +
      + + +EOF +;; +esac diff --git a/root/cgi-bin/functions b/root/cgi-bin/functions new file mode 100644 index 0000000..d527a8c --- /dev/null +++ b/root/cgi-bin/functions @@ -0,0 +1,137 @@ +# +# Important/useful functions for the CGI-scripts +# +# +# 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 + +function var() +{ + eval echo \$$*; +} + +function getconfig_clean() +{ + cat $MARS_CONFIG | grep "^[ ]*$1[^0-9]"; +} + +function getconfig() +{ + getconfig_clean "$1" | sed -e "s/[ ]\+/ /g" | cut -d\# -f1 | sed -e "s/^[ ]\+//"; +} + +function getentry() +{ + declare -i t; t=0 + while [ "$t" != "$1" ]; do + t=$t+1 + if [ "$t" = "$1" ]; then + sed q; + fi + read TMPCRAP; + done; +} + +function convert() +{ + echo $* | sed "s/ /\ \+/g" +} + +function anticonfig() +{ + grep -v "^[ ]*$1[^0-9]"; +} + +function getlangs() +{ + echo `echo $ACCEPT_LANGUAGE | sed -e "s/,//g"` +} + +function convertfilename() +{ + echo $* | sed "s/\%2F/\//g" ; +} + +function digit() +{ + if [ -z $1 ]; then + echo 0; + elif [ "$1" = on ]; then + echo 1; + fi; +} + +function checkrefer() +{ + if [ -z "$REFERER" ]; then + cat< + +Unsupported browser error + + +The browser you are using does not send the Referer: tag needed by +SMArT, or you're working from behind a proxy server that blocks the +Referer: tag. It might be possible to tell your browser not to use +a proxy server for this URL, or you'll have to switch to a different browser, +like Netscape 4.x, and you can even use the text mode Lynx. + + +EOF + exit; + fi; +} + +function checkbind() +{ + if ! [ -x "`which nwbols`" ]; then + cat << EOF + + + +Bindery utilities error + + +Could not find the nwb[op]* utilities that are necessary to access the +bindery! These programs can be found in the ncpfs package on +(Red Hat) Linux systems, but as far as I know, they don't exist for +FreeBSD. + + +EOF + exit 1; + fi; +} + +function checkparams() +{ + if [ -z "$*" ]; then + cat << EOF + + + +Missing parameter(s) + + +Missing parameter(s)! Please don't call this cgi-bin directly. + + +EOF + exit; + fi; +} diff --git a/root/cgi-bin/general.in b/root/cgi-bin/general.in new file mode 100644 index 0000000..f4c3bae --- /dev/null +++ b/root/cgi-bin/general.in @@ -0,0 +1,148 @@ +#!/bin/sh +# +# CGI-script for general settings in nwserv.conf +# +# 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 + +echo Content-Type: text/html +echo + +checkrefer +checkparams $* + +case $* in + name ) + NAME=`getconfig 2|cut -d" " -f2` + $GENFORM < $SMART_ROOT/forms/servername "$NAME" +;; + internalnet ) + NUM=`getconfig 3|cut -d" " -f2` + $GENFORM < $SMART_ROOT/forms/internalnet "$NUM" +;; + version ) + declare -i BURST + CURRENT=`getconfig 6 | cut -d" " -f2` + BURST=`getconfig 6 | cut -d" " -f3` + BURSTREAD=`getconfig 30 | cut -d" " -f2` + BURSTWRITE=`getconfig 30 | cut -d" " -f3` + $GENFORM < $SMART_ROOT/forms/version "$CURRENT" "$BURST" "$BURSTREAD" "$BURSTWRITE" +;; + tests ) + CURRENT=`getconfig 16 | cut -d" " -f2` + $GENFORM < $SMART_ROOT/forms/tests "$CURRENT" +;; + dirs ) + CURRENT=`getconfig 4[012567] | cut -d" " -f2` + $GENFORM < $SMART_ROOT/forms/dirs $CURRENT +;; + smart ) +function gop() +{ + while [ "$OPT" != "?" ]; do + getopts "S:U:P:" OPT + case $OPT in + S ) export SERVERNAME=$OPTARG ;; + U ) export SUPERVISOR=$OPTARG ;; + P ) export PASSWORD=$OPTARG ;; + esac; + done; +} + export `cat $WEBSERVE_CONF | grep "^WEBSERVE_SECURITY="` 2> /dev/null > /dev/null + gop $SERVER_LOGIN + $GENFORM < $SMART_ROOT/forms/smart "$MARS_CONFIG" "$NWSERV_BIN" "`digit $WEBSERVE_SECURITY`" "$SERVERNAME" "$SUPERVISOR" "$PASSWORD" +;; + configh ) + MAXCONN=`getconfig 60 | cut -d" " -f2` + MAXVOLS=`getconfig 61 | cut -d" " -f2` + MAXDBES=`getconfig 63 | cut -d" " -f2` + SERIAL=`getconfig 70 | cut -d" " -f2` + APPLIC=`getconfig 71 | cut -d" " -f2` + MMAP=`getconfig 68 | cut -d" " -f2` + SAP=`getconfig 69 | cut -d" " -f2` + $GENFORM < $SMART_ROOT/forms/configh "$MAXCONN" "$MAXVOLS" "$MAXDBES" \ + "$SERIAL" "$APPLIC" "$MMAP" "$SAP" +;; + timing ) + $GENFORM < $SMART_ROOT/forms/timing "`getconfig 210 | cut -d\" \" -f2`" \ + "`getconfig 211 | cut -d\" \" -f2`" +;; + mode ) + # Aargh... Pretty messy: + declare -i DIR DUR DUW DUX DGR DGW DGX DOR DOW DOX FILE FUR FUW FUX FGR FGW FGX FOR FOW FOX + DIR="0`getconfig 9 | cut -d" " -f2`" + FILE="0`getconfig 9 | cut -d" " -f3`" + if [ "$DIR" = "0" ]; then + O_DIR="DSTD"; + elif [ "$DIR" = "-1" ]; then + O_DIR="DINH"; + else + O_DIR="DXXX" + DUR="$DIR & 0400"; DUW="$DIR & 0200"; DUX="$DIR & 0100" + DGR="$DIR & 0040"; DGW="$DIR & 0020"; DGX="$DIR & 0010" + DOR="$DIR & 0004"; DOW="$DIR & 0002"; DOX="$DIR & 0001"; + fi + if [ "$FILE" = "0" ]; then + O_FILE="FSTD"; + else + O_FILE="FXXX" + FUR="$FILE & 0400"; FUW="$FILE & 0200"; FUX="$FILE & 0100" + FGR="$FILE & 0040"; FGW="$FILE & 0020"; FGX="$FILE & 0010" + FOR="$FILE & 0004"; FOW="$FILE & 0002"; FOX="$FILE & 0001"; + fi + $GENFORM < $SMART_ROOT/forms/mode \ + "$O_DIR" "$DUR" "$DUW" "$DUX" "$DGR" "$DGW" "$DGX" "$DOR" "$DOW" "$DOX" \ + "$O_FILE" "$FUR" "$FUW" "$FUX" "$FGR" "$FGW" "$FGX" "$FOR" "$FOW" "$FOX" +;; + guest ) + declare -i i + CURRENT_GID="`getconfig 10 | cut -d" " -f2`" + CURRENT_UID="`getconfig 11 | cut -d" " -f2`" + { i=0; for g in `cat /etc/group | cut -d: -f3`; do i=$i+1; done + echo L,GROUP,Group name,$i + cat /etc/group | sort | \ + { read LINE + while [ "$LINE" ]; do + NAME="`echo $LINE | cut -d: -f1`" + _GID="`echo $LINE | cut -d: -f3`" + echo $_GID,$NAME + if [ "$_GID" = "$CURRENT_GID" ]; then + CURRENT_GID=$_GID\_$NAME; + fi + read LINE; + done; + } + i=0; for g in `cat /etc/passwd | cut -d: -f3`; do i=$i+1; done + echo L,USER,User name,$i + cat /etc/passwd | sort | \ + { read LINE + while [ "$LINE" ]; do + NAME="`echo $LINE | cut -d: -f1`" + _UID="`echo $LINE | cut -d: -f3`" + echo $_UID,$NAME + if [ "$_UID" = "$CURRENT_UID" ]; then + CURRENT_UID=$_UID\_$NAME; + fi + read LINE; + done; + } + } | $REPLACE $SMART_ROOT/forms/guest | $GENFORM "$CURRENT_GID" "$CURRENT_UID" +;; +esac diff --git a/root/cgi-bin/group.in b/root/cgi-bin/group.in new file mode 100644 index 0000000..33a3d2d --- /dev/null +++ b/root/cgi-bin/group.in @@ -0,0 +1,150 @@ +#!/bin/sh +# +# CGI-script for userlist editting (Using bindery tools) +# +# 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 + +if [ "$2" != "x" ]; then + echo Content-Type: text/html + echo; +fi + +checkrefer +checkparams $* +checkbind + +declare -i i + +export `echo $* | sed "s/&/ /g"` + +if [ "$*" ]; then + if [ "$DELETE" ]; then + export DELETE="" + nwborm $SERVER_LOGIN -t 2 -o $GROUP + $0 list x + exit; + elif [ "$EDIT" ]; then + export EDIT="" + FULLNAME="`nwbpvalues $SERVER_LOGIN -t 2 -o $GROUP -p IDENTIFICATION`" + i=0; for g in `{ nwbols $SERVER_LOGIN -t 1; nwbols $SERVER_LOGIN -t 2; } | \ + cut -d" " -f1`; do i=$i+1; done + { nwbols $SERVER_LOGIN -t 1 + nwbols $SERVER_LOGIN -t 2; + } | sort | sort +1 | + { echo C,x,Group managers,$i + read LINE + while [ "$LINE" ]; do + NAME=`echo $LINE | cut -d" " -f1` + TYPE=`echo $LINE | cut -d" " -f3` + echo -n T$TYPE\_$NAME,$NAME \( + case "$TYPE" in + 0001 ) echo user\) ;; + 0002 ) echo group\) ;; + esac + read LINE; + done; + } | $REPLACE $SMART_ROOT/forms/group | $GENFORM "$GROUP" "$FULLNAME" ` + { nwbols $SERVER_LOGIN -t 1 + nwbols $SERVER_LOGIN -t 2; + } | sort | sort +1 | cut -d" " -f1 | \ + { read GRP + while [ "$GRP" ]; do + if [ "\`nwbpvalues $SERVER_LOGIN -t 2 -o $GROUP -p OBJ_SUPERVISORS | \ + grep $GRP\`" = "$GRP" ]; then + echo -n "1 "; + else + echo -n "0 "; + fi + read GRP; + done; + }` + fi; +fi + +case "$1" in + gadd ) + i=0; for g in `{ nwbols $SERVER_LOGIN -t 1; nwbols $SERVER_LOGIN -t 2; } | \ + cut -d" " -f1`; do i=$i+1; done + { nwbols $SERVER_LOGIN -t 1 + nwbols $SERVER_LOGIN -t 2; + } | sort | sort +1 | + { echo C,x,Group managers,$i + read LINE + while [ "$LINE" ]; do + NAME=`echo $LINE | cut -d" " -f1` + TYPE=`echo $LINE | cut -d" " -f3` + echo -n T$TYPE\_$NAME,$NAME \( + case "$TYPE" in + 0001 ) echo user\) ;; + 0002 ) echo group\) ;; + esac + read LINE; + done; + } | $REPLACE $SMART_ROOT/forms/group | $GENFORM +;; + list ) + cat< + +Group list + + + + + + + +
      + + + + + + +
      -Groups
      +
      Sel +Group name +NetWare group ID +`nwbols $SERVER_LOGIN -t 2 | sort +1 | { + read LINE + i=0 + while [ -n "$LINE" ]; do + i=i+1 + NAME=\`echo $LINE | cut -d" " -f1\` + echo -n \ + echo -n \\ + echo -n \ + echo -n $NAME + echo -n \ + echo $LINE | cut -d" " -f2 + read LINE + done; +}` +
      +Add group + + +
      + + +EOF +;; +esac diff --git a/root/cgi-bin/listconfig.in b/root/cgi-bin/listconfig.in new file mode 100644 index 0000000..8e4c080 --- /dev/null +++ b/root/cgi-bin/listconfig.in @@ -0,0 +1,59 @@ +#!/bin/sh +# +# List configuration file +# +# 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/smart.conf # $MARS_CONFIG + +if [ "$1" != "detached" ]; then + $0 detached < $MARS_CONFIG + exit; +fi + +cat << EOF +Content-Type: text/html + + + +MARS_NWE configuration file + + + + + +
      + + + + + + +
      -nwserv.conf
      +
      +
      +
      +EOF
      +sed -e "s/\#.*/\&\<\/FONT\>/g" -e "s/^[ 	]*[0123456789]\+[	 ]\+/\&\<\/FONT\>/g"
      +cat << EOF
      +
      +
      + + + +EOF diff --git a/root/cgi-bin/logging.in b/root/cgi-bin/logging.in new file mode 100644 index 0000000..cec6b17 --- /dev/null +++ b/root/cgi-bin/logging.in @@ -0,0 +1,141 @@ +#!/bin/sh +# +# CGI-script for general settings in nwserv.conf +# +# 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 + +echo Content-Type: text/html +echo + +checkrefer +checkparams $* + +case $* in + logwhat ) + CURRENT=`getconfig 10[0-9] | sort | cut -d" " -f2` + $GENFORM < $SMART_ROOT/forms/logwhat $CURRENT +;; + logfiles ) + NORMAL=`getconfig 201 | cut -d" " -f2` + ROUTES=`getconfig 301 | cut -d" " -f2` + $GENFORM < $SMART_ROOT/forms/logfiles $NORMAL $ROUTES +;; + viewlog ) + cat << EOF + + +Viewer log + + + + + + + +
      + + + + + + +
      -View log
      +
      MARS_NWE keeps two log files, a normal log file and a routing +log file. Which one do you want to see? +
      nwserv.log +The normal log file, some startup information +
      routes.log +The routing log file, some information about the IPX-devices, updated +regularly +
      + + +EOF +;; + nwservlog ) + echo \ + echo \ + echo \MARS_NWE server log\ + echo \ + echo \ + echo \ + echo \ + echo \
      + echo \ + echo \ + echo \\\ + echo \\-\\ + echo \\nwserv.log\\ + echo \ + echo \ + echo \ + echo \ + echo \ + cat `getconfig 201 | cut -d" " -f2` + echo \ + echo \ + echo \ + echo \Logfiles index\ + echo \ + echo \ + echo \ +;; + routeslog ) + echo \ + echo \ + echo \MARS_NWE router log\ + echo \ + echo \ + echo \
      + echo \ + echo \
      + echo \ + echo \ + echo \\\ + echo \\-\\ + echo \\nwserv.log\\ + echo \ + echo \ + echo \ + echo \ + echo \ + cat `getconfig 301 | cut -d" " -f2` + echo \ + echo \ + echo \ + echo \Logfiles index\ + echo \ + echo \ + echo \ +;; + log-flags ) + declare -i CURRENT E202 E202_1 E202_2 E302 E302_1 E302_2 + E200="`getconfig 200 | cut -d" " -f2`" + E202="`getconfig 202 | cut -d" " -f2`" + E300="`getconfig 300 | cut -d" " -f2`" + E302="`getconfig 302 | cut -d" " -f2`" + E202_1="$E202 & 1" + E202_2="$E202 & 2" + E302_1="$E302 & 1" + E302_2="$E302 & 2" + $GENFORM < $SMART_ROOT/forms/log-flags "$E200" "$E202_1" "$E202_2" "$E300" "$E302_1" "$E302_2" +;; +esac diff --git a/root/cgi-bin/logins.in b/root/cgi-bin/logins.in new file mode 100644 index 0000000..6aa701f --- /dev/null +++ b/root/cgi-bin/logins.in @@ -0,0 +1,109 @@ +#!/bin/sh +# +# CGI-script for logged-in users list... +# +# 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 + +if [ "$2" != "x" ]; then + echo Content-Type: text/html + echo; +fi + +#checkrefer +#checkparams $* + +declare -i i + +if [ -n "$*" ]; then + EXPR="`echo $* | cut -d\& -f1`" + if [ "$EXPR" = "$*" ]; then + export $*; + else + i=1 + while [ -n "$EXPR" ]; do + export $EXPR + EXPR=`echo $* | cut -d\& -f $i` + i=i+1; + done; + fi; +fi + +if [ -n "$LOGOUT" ]; then + ps aux | grep nwconn | grep -v grep | { + read LINE + while [ -n "$LINE" ]; do + PID=`echo $LINE | gawk '{ print $2; }'` + CONN=`cat /proc/$PID/cmdline | tr '\000' '.' | cut -d. -f2` + if [ $CONN = $USER ]; then + kill $PID; + fi + read LINE + done; + } + unset LOGOUT + $0 list x + exit; + +elif [ $1 = "list" ]; then + cat< + +SMArT - Security - User list + + + +
      + + +
      + + + + + + +
      -Users
      +
      SelConnection numberNetWare user name +`nwuserlist $SERVER_LOGIN | cut -b-27 | { + read LINE + while [ -n "$LINE" ]; do + i=\`echo $LINE | cut -d: -f1\` + NAME=\`echo $LINE | cut -d: -f2\` + echo -n \\ + if [ -z "$NAME" ]; then + NAME="-"; + else + echo -n \ + fi + echo -n \ + echo -n $i + echo -n \ + echo $NAME + read LINE + done; +}` +
      + +
      + + +EOF +fi diff --git a/root/cgi-bin/menu.in b/root/cgi-bin/menu.in new file mode 100644 index 0000000..a006bbc --- /dev/null +++ b/root/cgi-bin/menu.in @@ -0,0 +1,114 @@ +#!/bin/sh +# +# CGI-script for creating the main menu for SMArT +# +# 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 + +if [ "$1" = "detached" ]; then + MENU="$2" + LANG="$3"; +else + echo Content-Type: text/html + echo; +fi + +if [ "$SMART_CONFIGURED" != "yes" ]; then + cat << EOF + + +Error: SMArT not configured yet + + +SMArT has not been configured yet, please click +here to view the SMArT +configuration menu, and then please click here +to reload the menu. +

      Enabling the password prompt is strongly recommended, +because it's easily possible to find the SUPERVISOR password using +this program, so please turn it on. After switching it on, and pressing OK, +your browser will ask you for the login/password you want to use with SMArT.
      +Note that this password does not have to be the same as the +root-password or the SUPERVISOR-password/etc. + + +EOF + exit 1; +fi + +checkparams $* + +if [ "$1" != "detached" ]; then + for LANG in `getlangs` en; do + if [ -e "$SMART_ROOT/menus/$1/index.$LANG" ]; then + $0 detached "$1" "$LANG" < $SMART_ROOT/menus/$1/index.$LANG + exit; + fi; + done; +fi + +declare -i i; i=0 + +read TITLE +COPYRIGHT=`echo $TITLE | cut -d, -f2-` +TITLE=`echo $TITLE | cut -d, -f1` + +cat << EOF + + +$TITLE + + + + + +EOF +read LINE +while [ "$LINE" ]; do + SUBMENU=`echo $LINE | cut -d, -f1` + DIR=`echo $LINE | cut -d, -f2` + for FILE in $SMART_ROOT/menus/$MENU/$DIR/*.$LANG; do + cat $FILE | \ + { read LINE + echo \
      + + + + + + +
      -$TITLE
      +
      \$SUBMENU\ + echo \\`echo $LINE | cut -d, -f1`\ + echo -n \\ + cat + echo \; + } + done + read LINE; +done +cat << EOF +$COPYRIGHT +
      + + +EOF + diff --git a/root/cgi-bin/printer.in b/root/cgi-bin/printer.in new file mode 100644 index 0000000..c9a43e5 --- /dev/null +++ b/root/cgi-bin/printer.in @@ -0,0 +1,112 @@ +#!/bin/sh +# +# CGI-script for userlist editting (Using bindery tools) +# +# 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 + +if [ "$2" != "x" ]; then + echo Content-Type: text/html + echo; +fi + +checkrefer +checkparams $* +checkbind + +if [ "$*" = "prn-flags" ]; then + i=`getconfig 18 | cut -d" " -f2` + $GENFORM < $SMART_ROOT/forms/prn-flags "$i" + exit; +fi +declare -i i + +export `echo $* | sed "s/&/ /g"` + +if [ "$*" ]; then + if [ "$DELETE" ]; then + export DELETE="" + nwborm $SERVER_LOGIN -t 3 -o $QUEUE + $0 list x + exit; + elif [ "$EDIT" ]; then + export EDIT="" + COMMAND="` + nwbpvalues $SERVER_LOGIN -t 3 -o $QUEUE -p Q_UNIX_PRINT | \ + while read LINE; do + if echo $LINE | grep -q '\['; then + echo "$LINE"; + fi; + done | cut -b1-47 | $HEXASC`" + SPOOLDIR="`nwbpvalues $SERVER_LOGIN -t 3 -o $QUEUE -p Q_DIRECTORY`" + $GENFORM < $SMART_ROOT/forms/printer "$QUEUE" "$COMMAND" "$SPOOLDIR" + fi; +fi + +case "$1" in + padd ) + $GENFORM < $SMART_ROOT/forms/printer +;; + list ) + cat< + +Printers + + + + + + +
      + + + + + + +
      -Printers
      +
      SelQueue nameQueue ID +`nwbols $SERVER_LOGIN -t 3 | sort +1 | { + read LINE + i=0 + while [ -n "$LINE" ]; do + i=i+1 + NAME=\`echo $LINE | cut -d" " -f1\` + echo -n \ + echo -n \\ + echo -n \ + echo -n $NAME + echo -n \ + echo $LINE | cut -d" " -f2 + read LINE + done; +}` +
      +Add print queue + + +
      + + +EOF +;; +esac + diff --git a/root/cgi-bin/security.in b/root/cgi-bin/security.in new file mode 100644 index 0000000..247118e --- /dev/null +++ b/root/cgi-bin/security.in @@ -0,0 +1,76 @@ +#!/bin/sh +# +# CGI-script for adjusting passwords etc. for MARS_NWE +# +# 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 + +echo Content-Type: text/html +echo + +checkrefer +checkparams $* + +function listitems +{ + read LINE + while [ -n "$LINE" ]; do + echo \ + echo -n \ + echo $LINE | cut -d" " -f2 + echo -n \ + echo $LINE | cut -d" " -f3 + echo -n \ + echo $LINE | cut -d" " -f4 + echo -n \ + echo $LINE | cut -d" " -f5; + read LINE + done; +} + +case $* in + encryption ) + CURRENT=`getconfig 7 | cut -d" " -f2` + $GENFORM < $SMART_ROOT/forms/encryption "$CURRENT" +;; + supervisor ) + NOVELL=`getconfig 12 | cut -d" " -f2` + LINUX=`getconfig 12 | cut -d" " -f3` + PASSWORD=`getconfig 12 | cut -d" " -f4` + $GENFORM < $SMART_ROOT/forms/supervisor "$NOVELL" "$LINUX" "$PASSWORD" +;; + mapping ) + CURRENT=`getconfig 15 | cut -d" " -f2` + PASSWORD=`getconfig 15 | cut -d" " -f3` + $GENFORM < $SMART_ROOT/forms/automap "$CURRENT" "$PASSWORD" +;; + sec-flags ) + declare -i CURRENT F1 F2 F4 F8 F10 F20 F40 + CURRENT=`getconfig 8 | cut -d" " -f2` + F1="($CURRENT & 1) / 1" + F2="($CURRENT & 2) / 2" + F4="($CURRENT & 4) / 4" + F8="($CURRENT & 8) / 8" + F10="($CURRENT & 16) / 16" + F20="($CURRENT & 32) / 32" + F40="($CURRENT & 64) / 64" + $GENFORM < $SMART_ROOT/forms/sec-flags "$F1" "$F2" "$F4" "$F8" "$F10" "$F20" "$F40" +;; +esac diff --git a/root/cgi-bin/user.in b/root/cgi-bin/user.in new file mode 100644 index 0000000..5528c12 --- /dev/null +++ b/root/cgi-bin/user.in @@ -0,0 +1,143 @@ +#!/bin/sh +# +# CGI-script for userlist editting (Using bindery tools) +# +# 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 + +if [ "$2" != "x" ]; then + echo Content-Type: text/html + echo; +fi + +checkrefer +checkparams $* +checkbind + +declare -i i + +if [ -n "$*" ]; then + EXPR="`echo $* | cut -d\& -f1`" + if [ "$EXPR" = "$*" ]; then + export $*; + else + i=1 + while [ -n "$EXPR" ]; do + export $EXPR + EXPR=`echo $* | cut -d\& -f $i` + i=i+1; + done; + fi; +fi + +if [ -n "$*" ]; then + if [ -n "$DELETE" ]; then + export DELETE="" + nwborm $SERVER_LOGIN -t 1 -o $USER + $0 list x + exit; + elif [ -n "$EDIT" ]; then + export EDIT="" + FULLNAME="`nwbpvalues $SERVER_LOGIN -t 1 -o $USER -p IDENTIFICATION`" + UNIX_USER="`nwbpvalues $SERVER_LOGIN -t 1 -o $USER -p UNIX_USER | cut -b53-68`" + UNIX_USER="`echo $UNIX_USER | cut -d. -f1`" + i=0; for g in `nwbols $SERVER_LOGIN -t 2 | cut -d" " -f1`; do i=$i+1; done + { echo C,x,Groups,$i + nwbols $SERVER_LOGIN -t 2 | cut -d" " -f1 | sort | + { read LINE + while [ "$LINE" ]; do + echo $LINE,$LINE + read LINE; + done; } + } | $REPLACE $SMART_ROOT/forms/user | $GENFORM "$USER" "$FULLNAME" "$UNIX_USER" "" ` + nwbols $SERVER_LOGIN -t 2 | sort | + { read GRP + GRP=\`echo $GRP | cut -d" " -f1\` + while [ -n "$GRP" ]; do + if [ "\`nwbpvalues $SERVER_LOGIN -t 1 -o $USER -p GROUPS_I\'M_IN | \ + grep $GRP\`" = "$GRP" ]; then + echo -n "1 "; + else + echo -n "0 "; + fi + read GRP + GRP=\`echo $GRP | cut -d" " -f1\`; + done; + }` + fi; +fi + +case "$1" in + uadd ) + i=0; for g in `nwbols $SERVER_LOGIN -t 2 | cut -d" " -f1`; do i=$i+1; done + { echo C,x,Groups,$i + nwbols $SERVER_LOGIN -t 2 | cut -d" " -f1 | sort | + { read LINE + while [ "$LINE" ]; do + echo $LINE,$LINE + read LINE; + done; } + } | $REPLACE $SMART_ROOT/forms/user | $GENFORM +;; + list ) + cat< + +SMArT - Security - User list + + + + + + +
      + + + + + + +
      -Users
      +
      SelNetWare user nameNetWare user ID +`nwbols $SERVER_LOGIN -t 1 | sort +1 | { + read LINE + i=0 + while [ -n "$LINE" ]; do + i=i+1 + NAME=\`echo $LINE | cut -d" " -f1\` + echo -n \ + echo -n \\ + echo -n \ + echo -n $NAME + echo -n \ + echo $LINE | cut -d" " -f2 + read LINE + done; +}` +
      +Add user + + +
      + + +EOF +;; +esac diff --git a/root/cgi-bin/volume.in b/root/cgi-bin/volume.in new file mode 100644 index 0000000..f0aed26 --- /dev/null +++ b/root/cgi-bin/volume.in @@ -0,0 +1,124 @@ +#!/bin/sh +# +# CGI-script for setting up volume list in nwserv.conf +# +# 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 + +if [ "$2" != "x" ]; then + echo Content-Type: text/html + echo; +fi + +checkrefer +checkparams $* + +declare -i i + +case `echo "$1" | cut -d\& -f2` in + list ) + cat< + +Volumes + + + + + + + +
      + + + + + + +
      -Volumes
      +
      Sel +Volume +Directory +Flags +`getconfig 1 | { + read LINE + i=0 + while [ -n "$LINE" ]; do + i=i+1 + NAME="\`echo $LINE | cut -d" " -f2\`" + echo -n \ + echo \\ + echo -n \ + echo $NAME + echo -n \ + echo "$LINE" | cut -d" " -f3 + echo -n \ + echo "$LINE" | cut -d" " -f4-; + read LINE + done; +} +`
      +Add volume + + +
      + + +EOF +;; + vadd ) + $GENFORM < $SMART_ROOT/forms/volume +;; + * ) + export `echo $* | cut -d\& -f1` + export `echo $* | cut -d\& -f2` + if [ "$DELETE" ]; then + grep -v "`getconfig_clean 1 | grep $VOLUME`" < $MARS_CONFIG > $MARS_CONFIG.tmp + mv $MARS_CONFIG.tmp $MARS_CONFIG + $0 list x + exit; + elif [ "$EDIT" ]; then + $GENFORM < $SMART_ROOT/forms/volume ` + LINE="\`getconfig 1 | grep $VOLUME\`" + OPT="\`echo $LINE | cut -d\" \" -f4\`" + echo -n "\`echo $LINE | cut -d\" \" -f2-3\` " + if echo $OPT | grep i > /dev/null; then + echo -n "IGNORE "; + elif echo $OPT | grep k > /dev/null; then + echo -n "LOWER "; + else + echo -n "UPPER "; + fi + if echo $OPT | grep t > /dev/null; then + echo -n "UNIX "; + elif echo $OPT | grep T > /dev/null; then + echo -n "YES "; + else + echo -n "NONE "; + fi + if echo $OPT | grep O > /dev/null; then echo -n "1 "; else echo -n "0 "; fi + if echo $OPT | grep N > /dev/null; then echo -n "1 "; else echo -n "0 "; fi + if echo $OPT | grep m > /dev/null; then echo -n "1 "; else echo -n "0 "; fi + if echo $OPT | grep n > /dev/null; then echo -n "1 "; else echo -n "0 "; fi + if echo $OPT | grep p > /dev/null; then echo -n "1 "; else echo -n "0 "; fi + if echo $OPT | grep r > /dev/null; then echo -n "1 "; else echo -n "0 "; fi`; + fi +;; +esac diff --git a/root/index.html b/root/index.html new file mode 100644 index 0000000..a35c546 --- /dev/null +++ b/root/index.html @@ -0,0 +1,12 @@ + + +SMArT + + + + + + + + + \ No newline at end of file diff --git a/root/smart.jpg b/root/smart.jpg new file mode 100644 index 0000000000000000000000000000000000000000..895d57234113c811b294c8f63e384c7c3d7ed557 GIT binary patch literal 10175 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 literal 0 HcmV?d00001 diff --git a/root/smart_icon.jpg b/root/smart_icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d691f6520bcea4f58de72a7bfdfdffab52e5bb74 GIT binary patch literal 1942 zcmb7=dpOe#8^?b;8ymJZjZ$V#o1%DPQbb~yX;=p-i5{9~;)zOHi18|nNjXHU#+*i& zrKH27JcOqlDs&KXSV;~kqP?r@y`KNy?|uLGz3YNFLK>S}75TAG+uI6NMY(pXK< z!V$1IJnkn11X2D#VMrJZi9@TQasRgz_W_Iwpa-xZAbkLg0YNYzMGLS70Kkx+Y5x@r z0l-xtP^8kd)C54vzyJ&kg~5IufWXT9a14OJ5>-~|Z+5^jNfr^s1cQM1Oh+GquvYn` z1Nue$mj?h)I2eWiL6jZ^^Aq^1hyVFXAO?UEVc5<34gqjx{3=rMXN!nuiU9xxQGzf^ z*B)4ma+R^A?=N|i>nNtWxJLnuOa-7B#pd0#P225hwBZ1c_ThPXV4LS688Ys)09q<= zUQXD--(OdP8}&xrZ4P^xS0$o}zcZ~C42r&;w`E!QU2YwOqE z@I-yjwj?y@1{x#eH)^}=4}}t*(F$?qt^7F?k@w^6qds}0A3WdBTg#i@eQLR&TXj%e zo=@>zPCl3;&v*jq6^XM7O=!&TLs3~(|BUV)n>oK^RGXXqAv09W*^zO^0ZB*N$*Eg)!Xq#; zc32cww0gd>VXgN?Mz|Ue#GUsM6}FNj)<@qv4XpV+K{wBFbY-V-yBS~iVWOz!bhf~j zLP1czQnZPFw*miGwn)xF=LiV@?1e!8lFE-h@9xsvLy*~Se6PeQ0M~JfDvEidHKocz zv&!~9>7GP>>|(3-2lDlu_C431 zA~vL=ma{bmJwpp}`gD#mU~cp>OnG4&jzDY^16A~?Y*p9#} zADV^JeV8*nV(~iX+aH5eGXpJ=J8;r~Dzsc`7+Tr-!maBuC(G(JD`G0Kk(lF2z49`j ztlm(RzyoBe7Wh=y8Q1%EOUAM*TLNr@wMLrC)x@rB%RXK?ZG93iF^QRa_&hdw^Q=}> z_NTO^X0y62Wl@WcxI)*>yDRnd6hP@Gm#@851GjHQ_(wjZ|9OJhxBl73jlTI|GVfa| zF7%o0mg7=$esf7lNq(q)N%LEd^aG=)`zyQ;?Dsgx=6z4UgCDQng15n%|HzS_!!rmP zu^||w?K+OAzQbO#8Z9~2E*1+p_o%Zj`~FJE9DVMv7hAcJU`%~@!8_3U{GhZl>6lEn zYc7^9U(P!+v1^)4VKQe&iSq&^bDK|L${xG1@%=Mfg6f|<9io>Jli{cfkwLZc5522jVnoGO`hh#+SrwgjJ7bxnb!e*FIsq%un7<Wjm?+`ypABY zmiumD*Ca|JUgdiE>s9mCnoCc{*nG^IF768sm!E&*V05CDkUoDv=Zol~nzVMGo9YgF z7fK*JyteSoTYM4aO9;J)_}=geW$tYnhM{?>?Cs7JXKo{z91fZdM+EPX=ZAM58Y+5q zVlcz->40xQOV*>3i;o@_O^ilwD6Q1f=l~h;UETYd{JhxAmT0XF?53b0QF+~u(|<1* zn5nvqrIN{h53xFBp`;Z(jyVTAFNH^rK14KBgbV{%Vb+Y4bfQz z2u>MUfnQ@$ACy_mSr|Bl5ZjIyn`Xp!c6a-t3zxR-k-@pkQm(Y%>i}HZoH(2KNDQue=^00&jNrb`fIKRz!}ji!iF=Ih zdUHX?Qt-Vp?WES?8lTKm4TfC{H{BvFH00BVGlDM+E`E%-30x4lQFZo#9=IqQ3#Vz5 zM%nGtDX&}hoXs2W4qmxq!m#H+s;8soB73gIvl@-)N#BM?Ooy?>3sfDe?l)uoM93eE k=)4K`t0t07eYBm%wvndG4WDfUS8vkB}M;#0oGGMTmS$7 literal 0 HcmV?d00001 diff --git a/root/start.html b/root/start.html new file mode 100644 index 0000000..7e8d7fd --- /dev/null +++ b/root/start.html @@ -0,0 +1,41 @@ + + +SMArT start page + + + + + + + + + + + + +
      SMArT v1.3 +
      +
      Welcome to SMArT, the easy way to configure mars_nwe, Martin +Stover's NetWare emulator. +
      +If you want an easier menu, (Only the most important options) you can click +here. +
      SMArT supports multiple languages, but you have to set up your browser for +that, when using Netscape, you can click on Preferences in the +Edit-menu, click on Navigator/Languages, and then set your +favourite language on top of the list, SMArT will use the first known language +from the list. When using M$ Internet Exploder, please upgrade to a real web +browser. :) +
      +To apply the changes you have made to the configuration, you have to restart +MARS_NWE. +
      Start MARS_NWE +Stop MARS_NWE +
      +The newest version of SMArT can be downloaded from +my website. +
      +Copyright 2000 Wilmer van der Gaast +
      + + diff --git a/root/title.gif b/root/title.gif new file mode 100644 index 0000000000000000000000000000000000000000..8bf9a652ed3d9df0690802d15f1341d88ecab3d8 GIT binary patch literal 3620 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 literal 0 HcmV?d00001 diff --git a/setshell b/setshell new file mode 100755 index 0000000..9a38887 --- /dev/null +++ b/setshell @@ -0,0 +1,12 @@ +#!/bin/sh +# +# Read a shell script from stdin, and echo it to stdout, but place the spell +# specified in $1 in the first line +# + +# Do I really have to put this under the GPL??? If you like it, just make it +# by yourself, that might also make a better impression... + +read LINE +echo "#!$1" +cat