# Main menu

SMArT configuration navigation with the original explanations preserved.

## General settings

Open settings

### Servername

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.

### Internal network number

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

### Tests at startup

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.

### 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.

### Burst mode

If you want to test Burst mode you can enable it here, and in config.h you must set `ENABLE_BURSTMODE` to 1. Also, you have to set the server version number to 3.12 .
MAX_BURST_READ/WRITE_BUF:
Don't ask me what they mean, but they're hexadecimal, so don't forget to prepend `0x`.

## Directories

Open settings
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.

## Precompiled settings

Open settings
When you just leave these fields empty, the values in your `config.h` file will be used. If you want to change those settings without recompiling `MARS_NWE`, you can change them here.

## Security

Open settings

### Modes

Here you can change the standard modes for new files and directories. You can enter `0` here to use the default value, and you can enter `-1` for the directory `creat()` mode to use the `st_mode` of the parent directory.

### Password handling of DOS-clients

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.

## User configuration

Open settings

### Guest user

Here you can set the UID a user will get before logging in.

### Supervisor user

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.

### User 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.

## Volumes

Open settings
The OS/2 additional namespace can be used by Windows 9x too. The 'no fixed i-nodes' option is necessary when exporting DOS or CD-ROM file systems. The 'single filesystem' option can be used when the entire volume consists of only one mounted filesystem/device. For more information about pipe filesystems you can take a look at MARS_NWE's documentation directory.

## Devices

Open settings
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!

## Logging

Open settings
MARS_NWE can keep a log file with error messages, click here to set what kind of messages must be logged and where.
You can set a logfile name to `syslog` if you want MARS_NWE to use `syslogd` for logging.
According to `nwserv.conf`, the NWCLIENT tag must always be set to No debugging.

## SMArT settings

Open settings
Some things have to be configured here before you can use SMArT.

## Users

Open settings
You can edit the userlist from the bindery files here. This option will not change anything to the `nwserv.conf` configuration file.

## Groups

Open settings
You can edit the group list from the bindery files here. This option will not change anything to the `nwserv.conf` configuration file.

## Print queues

Open settings
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.