Copyright: Copyright 1995 QPC Software. All rights reserved.


Table of Contents
QVT/Net Servers

FTP Server

RCP Server

SMTP Server


FTP Server
QVT/Net FTP Server

QVT/Net's FTP server allows you to logon to your PC using a remote FTP client, and perform a variety of file-oriented operations, as specified by the FTP protocol (RFC959). Most notably, you can transfer files back and forth.

Setting up the FTP Server

The key issue in setting up the FTP server is security. You must decide:

Who will have access to your server

What level of access your users will have

Whether 'anonymous' logins will be permitted

These and other issues are handled in the setup process. The main Preferences dialog has three pages. The first looks like this:

This page has two input fields. They are, respectively the initial login directory for 'documented' users, and the initial login directory for 'anonymous' users. By 'documented' users, we mean users whose usernames and passwords are stored in a security file on your machine. If you omit the first of these login directories, your users will be initially attached to the server's working directory. However, if you omit the second, the 'anonymous' user's initial directory, you will disable anonymous logins! So, make sure that you don't inadvertently leave this blank if in fact you do want to allow anonymous logins.

The second page,

... contains a pair of checkboxes. The first checkbox is used to indicate that you want all FTP server runtime information, such as user logins and file transfers, logged to disk. The second indicates whether or not you want the FTP server to 'go live' as soon as the application is launched.

The default for both of these options is 'No'.

The final page,

also deals with security information. The pair of radio buttons, headed 'Default Access', specifies that you want to either allow or deny access to directories which are not mentioned in your ACL (access-control list) file. To deny access means that your users will have access only to the directories to which they are explicitly given access. The ACL process will be described in detail below.

The Default Access setting will also come into play if you choose to not create an ACL database at all. You must be careful, then, if you choose the 'Deny' setting for default access. If there is no ACL file, and default access is 'deny', then no one will be able to log on to your server!

The trio of radio buttons labelled 'Anonymous Access' allow you to specify the type of access that 'anonymous' users will have. There are three levels of access:

Full Access (Read/Write)

Read-only Access

No Access

User Authorization

We have already mentioned that there is a main security file that is used for user authorization. This file is named by you, and is maintained by the 'User Authorization' dialog:

The left-hand part of this dialog displays your list of authorized users. The right-hand side contains an input field area that is used to edit the user entries. Each user will be described by three attributes:

A user name

A password

An initial login directory

The first two of these fields are mandatory; all authorized users must have both a username and a password. The third item, the initial login directory, is optional. The main 'Preferences' dialog contains an item that allows you to specify the default login directory for authorized users; you can override the default on a per-user basis by entering a directory path as part of the user documentation.

Access-Control Lists

QVT/Net uses access-control lists, or ACL's, as a simple yet powerful mechanism for implementing a wide variety of security schemes. An ACL consists of two elements:

A directory spec (possibly wildcarded)

A list of usernames and privilege levels

The two data elements are separated by a blank space.

Here is a very simple ACL:

c:\arc smithj

In this ACL, 'c:\arc' is a directory spec, and 'smithj' is the name of a user who is authorized to access the directory. In this form of the ACL:

Only the single directory 'c:\arc' is authorized

Only one user is authorized to access the directory

That user, 'smithj', has full read/write/delete privileges

Here is a simple variation:

c:\arc* smithj

Here, we have added a wildcard to the directory spec, to show that the lists user(s) can access the specified directory and all of its subdirectories (if any).

Now, we will restrict smithj's access privileges a little bit:

c:\arc* smithj:lr

The colon-delimited suffix 'lr' indicates that the listed user has only 'list' and 'read' privileges in the directory. Attempts to write, overwrite, or delete files will be rejected.

The access modes supported by this mechanism are:

l	List. The user can list the directory

r	Read. The user can read files

w	Write. The user can create and write files

o	Overwrite. The user can overwrite existing files

d	Delete. The user can delete files

Access-control lists can contain more than one username:

c:\arc smithj,jonesm

This ACL allows 'smithj' and 'jonesm' to access the specified directory, without restrictions. Each user may be given a separate set of privileges, using the 'lwrod' scheme described above.

In order to create or edit access-control lists, you should select the 'Setup - Access Control Lists' menu item, which will give you this dialog:

You can enter your ACL's as lines of text in the editor window.

Starting the FTP Server

Be default, the FTP server will not actually begin listening for logins when the application window is displayed. To activate the server, you must select the 'Server - Start Server' menu item. This will cause a message to display in the window:

Note also that the title bar contains the word 'running', so that you can tell that the server is activated even if the application is in the minimized state.

To stop the server, simply select the 'Server - Stop Server' menu item.

FTP Commands Supported by the FTP Server

QVT/Net's FTP server supports the following FTP commands:

USER

PASS

NLST

LIST

CWD

CDUP

STOR

RETR

DELE

MKD

RMD

PWD

PASV

SYST

RNFR/RNTO


RCP Server
QVT/Net RCP Server


SMTP Server
QVT/Net SMTP Server

The SMTP server may be used if you want to receive mail directly on your PC, rather than on a remote mailbox that you then access via a protocol such as POP3.

The key to the successful operation of the SMTP server is the ability to associate incoming email messages with file directories on your PC. This is done by analyzing the recipient portion of the email address (the part before the '@'), and finding an appropriate destination for messages addresses to that recipient.

The first resource that will be used in the effort to find a destination for an incoming message will be the list of local mailboxes that you may have created for use by QVT/Net Mail. If the recipient of an email message matches the name of a local mailbox, then the message will be deposited in that mailbox.

Here is an example:

Incoming message for:	John.Smith@mysys.com

QVT/Mail mailbox:	John.Smith,local,c:\mail\smithj\newmail,,

In this example, it can be seen that the 'John.Smith' in the email address matches the 'John.Smith' that names a local mailbox. The message will therefore be placed in 'c:\mail\smithj\newmail'.

Similarly, if a message arrives addressed to 'smithj@mysys.com', the SMTP server will extract the name 'smithj', and look for a directory tree headed by that name. If it finds one, it will put the message in the 'newmail' subdirectory, so the result is identical to the previous example:

Incoming message for:	smithj@mysys.com

Will be placed in:	c:\mail\smithj\newmail

If a proper location for an incoming message cannot be found, the SMTP server will place it in a special subdirectory called 'Unknown', one level below the main 'mail' directory.

Setting Up the SMTP Server

The QVT/Net SMTP server has a fairly simple Setup dialog:

The items presented in this dialog are as follows:

Mail Repository Directory

This is the pathname that represents the 'root' of the directory tree in which mail is stored. For consistency, it is probably best to use the same directory as the one used by the QVT/Mail client application.

Individual user mailboxes will be created as subdirectories below this root directory.

Log SMTP Server Activity

If this box is checked, all of the messages that appear in the SMTP Server window will be stored in a disk file. The name of the file will always be 'smtpd.log'.

Start Server Immediately

If this box is checked, the SMTP server will be activated as soon as the application window is displayed, at program startup. If you do not select this option, you will have to start the server manually, from the 'Server' menu.

Enable Auto-Respond

The SMTP server has the ability to send a pre-programmed response to all received messages. This is useful if you are going to be away for a while, and unable to read your mail, or just as a way of notifying each person who sends you mail that their mail has been received.

If you enable auto-respond, you will have to use the second page of the Setup dialog to complete the configuration:

The three items in this dialog represent the following:

SMTP Gateway Name or IP Address

This is the name or address of the machine that the SMTP server should call to send the auto-response message.

Return Email Address

The return email address that should appear on your outgoing message

Autoresponse Text

The actual text of the autoresponse message

Starting the SMTP Server

Be default, the SMTP server will not actually begin listening for new mail when the application window is displayed. To activate the server, you must select the 'Server - Start Server' menu item. This will cause a message to display in the window:

Note also that the title bar contains the word 'running', so that you can tell that the server is activated even if the application is in the minimized state.

To stop the server, simply select the 'Server - Stop Server' menu item.