SCOUG Logo


Next Meeting: Sat, TBD
Meeting Directions


Be a Member
Join SCOUG

Navigation:


Help with Searching

20 Most Recent Documents
Search Archives
Index by date, title, author, category.


Features:

Mr. Know-It-All
Ink
Download!










SCOUG:

Home

Email Lists

SIGs (Internet, General Interest, Programming, Network, more..)

Online Chats

Business

Past Presentations

Credits

Submissions

Contact SCOUG

Copyright SCOUG



warp expowest
Pictures from Sept. 1999

The views expressed in articles on this site are those of their authors.

warptech
SCOUG was there!


Copyright 1998-2024, Southern California OS/2 User Group. ALL RIGHTS RESERVED.

SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group. OS/2, Workplace Shell, and IBM are registered trademarks of International Business Machines Corporation. All other trademarks remain the property of their respective owners.

The Southern California OS/2 User Group
USA

SCOUG-Programming Mailing List Archives

Return to [ 16 | August | 1998 ]

>> Next Message >>


Date: Sun, 16 Aug 1998 13:42:30 PST8PDT
From: Peter Skye <pskye@peterskye.com >
Reply-To: scoug-programming@scoug.com
To: scoug-programming@scoug.com
Subject: SCOUG-Programming: FTP Server spec

Content Type: text/plain

Rollin White wrote:
> Comments welcome.

Okay ...

I see you've added a Server module. My additions (all from my class
notes, I've not added anything) are marked with "*****".

Questions:

1. How, exactly, do you start this thing once it's written?

2. Can you show some code for just one of the methods, such as
IsConnectionActive, so I can start remembering what Java looks like?
And what will the main loop look like?

3. How many people are on this list?

4. Are you going to create stubs for everything and have us fill them
in, or what?

5. What functionality is available in other FTP servers that we
haven't designed into this one? This is an important question, since
our _design_ might change if we know we might want to add something
later.

5.1. For example, I don't know anything about "security
certificates" which I think are an HTML thing, but should we allow for
them here?

5.2. Or the ability to call an external process which will create
the file to be sent to the client (like a CGI script, or maybe request a
graphics file be converted to a different format, or a PostScript file
rendered and returned as a graphics file)? Look what you can do with
this! You can upload a file, request that the server do some processing
(which you'll get billed for, natch), and then you can download the
result (and delete the original file). This is Service Bureau stuff; we
should allow for the exit.

- Peter Skye

-----

*****Module Summary:
Communications
FileSystem
Connections
Authentication
User
RFC959
Server

Module: Communications
Purpose:*****
To facilitate communications between server and client.
To mask the details of communicating over TCP/IP.
Private Data:
Active Command Socket
Active Data Socket
Methods:
GetCommand
SendResponse
IsConnectionActive

Module: FileSystem
Purpose: To facilitate manipulation of local files and directories.
Private Data: None
Methods:
GetFileList
WriteFile
ReadFile
DeleteFile
DoesFileExist
RenameFile
MoveFile
MoveDir
GetDirList
DoesDirExist
RenameDir
CreateDir
RemoveDir
*****Also from the meeting:
Extended Attribute support
Virus Protection
- alert administrator
- set to unavailable until released by administrator
- move to a different unavailable location
Encryption of files during transmission
Compression of files during transmission
Text Search facility (allow user exit for administrator's
routines)
Recovery of partially-uploaded files
Recovery of partially-downloaded files
File comparison
Random access for file reading and writing
Email a selected file
Move a directory tree
Synchronize a file, directory or tree between server and client

Module: Connection
Purpose: To maintain information about a given FTP client connection.
Private Data:
A Communication Object
*****From the meeting
command socket
data port
CurrentCommand
CurrentDir
A User Object
*****From the meeting
user i.d.
Current stats
Valid Logon?
*****Methods:
From the meeting:
- currently logged on?
- terminate due to user infraction or other problem?
- maximum connections surpassed?

Module: Authentication
Purpose: To provide access authentication.
Private Data:
A User Object
Methods:
CanSee
CanRead
CanWrite
CanDelete
CanRename
CanMove
CanRun
ValidLogon
*****From the meeting:
- password validation
- email validation
*****IP validation for certain functions

Module: User
Purpose: To provide access to *****persistent data about a given
user.
Private Data:
UserID
Password
Stats
UserType
An Access Object
IP Address
Methods:
IsLogonValid *****Is this used by Authentication.ValidLogOn ?
RecordFileTransfer *****What is this method for?

Module: RFC959
Purpose: To implement RFC959 using the other modules described here.
Private Data:
A Connection Object
Methods:
One for each RFC 959 command
*****Where do all the extension commands go (the ones we're adding
that aren't in RFC959)? For example, "compare these files" or
"synchronize". Shouldn't this be a Commands module, with RFC959 as one
of the methods? We have to plan ahead, even if we're not going to
implement these extensions in the first release.

Module: Server
Purpose: To provide general structure and startup of FTP Server.
(*****Private?) Data: *****?
Methods:
StartListen *****This listens at the assigned port (20?), yes?
GetConnection *****This handshakes when 20(?) says "hi", yes?
DispatchConnection *****What does this method do? Where's the
rollover?
Shutdown

=====================================================

To unsubscribe from this list, send an email message
to "steward@scoug.com". In the body of the message,
put the command "unsubscribe scoug-programming".

For problems, contact the list owner at
"rollin@scoug.com".

=====================================================


>> Next Message >>

Return to [ 16 | August | 1998 ]



The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA

Copyright 2001 the Southern California OS/2 User Group. ALL RIGHTS RESERVED.

SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group. OS/2, Workplace Shell, and IBM are registered trademarks of International Business Machines Corporation. All other trademarks remain the property of their respective owners.