Free Archie Documentation
Why Free Archie?
Because Archie is Expensive
Because Archie is Simple
Outline of The Free Archie Manual
User Manual
Introduction and Simple Usage
What is Archie?
How can I use archie?
Examples of how to search
Using telnet
Using Email
What Types of Searches Can I do?
Finding what a program does
What Clients are Available for Contacting Archie Servers?
Why did we write "free archie"
Detailed Search Information
Exact Searches
Case Sensitive Substring Searches
Examples of Case Sensitive Substring Searches
Case Insensitive Substring Searches
Example of Case Insensitive Substring Searches
Regular Expression Searches
Examples of Regular Expression Searches
Converting File expressions to Archie expressions
Examples of Shell expressions converted to Archie expressions
Archie Searching with Telnet
What you need to archie-search with telnet
An Example of how to Archie-search Using Telnet
Using Email to Request Archie Searches
What do I need to do archie searches via email?
A quick example of an email archie search
Installation and Maintainance
Installation
Installation Requirements
Why Install an Archie Server?
Why Install Free-Archie?
Archie Components
Obtaining the Source Code
Unpacking and Building Free Archie
Starting the Archie Server
Activating The Interfaces
Activating the Telnet Interface
Activating the Email Interface
Activating the Prospero Interface
Activating the Next-Generation Interface
Maintenance of the Free Archie Server
Downloading the Site List
Manually Building the Database
Implementation Manual
Master Archie Server
Archie Server
Interfaces
Queuer
Searcher
Database
Database Builder
ls -lR Getter
Site List
Archie Project Overall Design
Brief Reminder of Functional Capabilities
The Environment Variable Concept
Search Commands
Maintenance Commands
The Telnet Interface
The Email Interface
The Prospero Interface
Next Generation Interface
The Master Archie Server
The Archie Server
Interfaces
Telnet Interface
Email Interface
Prospero Interface
Next Generation Interface
Queuer
Searcher
Database
Database Builder
ls -lR Getter
Site List Getter
Database Design
Information Contained in the Database
Directories
File Names
The Index File
The Nocaseindex File
Data file
Direc File
Database Builder
Invocation
What it does
Prototype example
Searcher Module
Inputs
The Debug Command Line Option
Output
Parsing Input
Spawning the correct type of search program
csystem()
Generating the Command
The Searcher Subprograms
The Exact Searcher
The Case Sensitive Searcher
The Case Insensitive Searcher
The Regular Expression Searcher
Efficiency of the Searcher Subprograms
Efficiency of Reading Files
Efficiency of Searching Files
Site List
site-list-builder
Basic Idea:what is the site-list-builder?
How it Works
Data Structures and Algorithm Overview
Implementation Details
Telnet Interface
General Overview and I/O
Data Structure overview
Algorithm overview
Email-Interface
What is an email interface
Implementation details
Queuer
General I/O Overview
Data Structure Overview
Algorithm Overview
ls -lR Getter
Functions of the ls -lR Getter
When do we need to obtain the ls -lR listing from the remote ftp-site?
Implementation
Interface-Queuer Communicatoins
Overview
Let's look at the data packet in more detail.
Queuer-Searcher Communications
General Overview
Let's look at the data packet in more detail.
Test Plan
General Testing Strategy
Module Interface Compatibility Checklist
Module Test
Partial Integration Test
Full Integration Test
Full Integration Stress Test
Single Site Alpha-Test
Multi Site Alpha-test
Beta Test
Who will perform the testing?
Queuer Draft Test Plan
Interface<->Queuer:
Queuer<->Searcher:
Queuer internals:
Searcher Module Test Plan
Utilities to Help You Monitor Searcher Performance
Scaffolding the searcher module
The -d command line option
EOF and the searcher
Functional Searcher Tests
Basic Search Functionality
WHATIS Search Functionality
Fault based server tests
Searcher Blocking Problem
Are all files searched?
No hits
First and last filename
strncmp beyond end of mmapped file
Telnet-Interface Draft Plan
Overall Input:
Overall Output:
Functional testing
Email-Interface Draft Test Plan
Database parsing testing :
Commands validation testing :
Database testing :
Communication with queuer and site-list builder testing:
Sitelist and Sitelist-Builder Draft Test Plan
Site-list test plan:
Site-list-builder test plan:
"ls -lR" Getter
Testing "ls -lR getter
Testing with site -information in the database being old
Testing when a new ftp-site is being added to the ftp-site list.
Testing the case of executing the module on a ftp-site list name which is non-existant.
What if the "ls -lR" getter is not able to connect to the ftp-site?
Global Index