|
Delphi
Home Page
Other Magenta Sites
CamCollect
view and save webcam pictures
CodeLook
lookup telephone numbers and cost
ComCap v4
data capture utility
DUN Manager
broadband and dial-up networking enhancement
Encode UNIX Passwords
MailMaint POP3 email
PassDir ISAPI Filter
Update Windows Registration Details
Delphi Developers
UK Telecom Tariff Comparisons
Links to Other General Sites
Links to Other Telecom Sites
Magenta Home Page
Email Magenta Systems |
This page contains various components written by Magenta Systems Ltd to extend the François
Piette's Internet Component Suite (ICS), which is available from http://www.overbyte.be/.
New ICS V6 FTP Server and Client Components
Version 3 Mar 2008 (2,586,086 bytes)
(extracted from the readme-newftp.txt file)
New versions of the ICS V6 FTP server and client components both support the following FTP
command and features:
One Time Passwords (OTP) to avoid clear text passwords being sent.
CLNT command to tell server what software the client is using.
ALLO command to check if sufficient disk space for an upload.
COMB command to ask the server to combine two or more partial files.
SITE PSWD command to change the account password.
SITE EXEC command to execute a program.
SITE MSG command to send a message to the server.
SITE INDEX command to recursively list file names only.
SITE ZONE command to check the time zone of file time stamps.
SITE DMLSD -R command similar to MLSD but recursively option.
SITE CMLSD command similar to SITE DMLSD but uses control channel.
(note SITE DMLSD/CMLSD are currently only supported by ICS)
XMD5 command similar to MD5 but with start and end positions.
XCRC command now has start and end positions.
The FTP server alone supports the following FTP command and features:
Timeouts to close sockets on inactivity.
MODE Z command to compress uploads and downloads for speed.
OPTS command to configure compress levels.
Upload and download counters and performance.
Buffered I/O for performance.
There is also a new test FTP server that uses TSocketServer, which will be evolving into another FTP server that is able
to listen on multiple IP addresses and ports simultaneously.
The FTP server and client test programs have been updated to support all the new commands.
A few simple examples of the new commands follow:
(One Time Password - note the server controls whether OTPs are supported, but can still accept plain text passwords for
compatibility)
> USER angusadmin
< 331 Response to otp-md5 999 oxlz2wenq5co required for angusadmin.
> PASS FELL MOB CHUG DANE GONG DUD
< 230 User angusadmin logged in.
Internet Component Suite TFtpServer V1.54 and later (with SSL)
(note some features only announced if enabled in the server and with events assigned)
211-Extensions supported:
SIZE
REST STREAM
MDTM
MDTM YYYYMMDDHHMMSS[+-TZ] filename
MLST size*;type*;perm*;create*;modify*;
MFMT
MD5
XCRC "filename" start end
XMD5 "filename" start end
CLNT
SITE INDEX;ZONE;MSG;EXEC;PSWD;CMLSD;DMLSD
COMB
MODE Z
AUTH TLS;SSL;TLS-P;TLS-C
CCC
PROT C;P;
PBSZ
211 END
> ALLO 75159323624
< 501 Insufficient disk space, only 65843810304 bytes available
> ALLO 6588
< 200 ALLO OK, 65843732480 bytes available
> CLNT DUN Manager Beta Release 3.5 - 23rd November 2007
< 200 Noted.
> SITE ZONE
< 210 UTC+0
> SITE PSWD susan fred
< 230 Password changed okay.
> SITE PSWD fred fred
< 432 Password not changed, old and new passwords cannot be identical.
> SITE MSG Hello
< 200 Message received okay.
> XMD5 "download/alldepots/all/30=page-022864.zip" 500 12345
< 250 6828FAD88DE20F6AD5AB5BEB7E7E0950
> XCRC "download/alldepots/all/30=page-022864.zip" 500 12345
< 250 AEDD6E7B
Magenta Systems IP Log Streaming Component
Version 1.1 - 18 Aug 2007 (1,102,237 bytes)
TMagIpLog is designed for IP stream logging, using TCP Client, TCP Server, UDP Client or UDP Server protocols, sending simple
text lines across a network so they may be displayed or written to disk remotely. The component allows two way communication
with TCP and UDP, so may also be used for simple protocols such as communication between two applications. The component
supports multiple client sockets so may be used to send data to two or more different remote servers at the same time. For TCP
and UDP clients, the component will optionally ping the remote computer first before opening an IP connection to allow faster
failure retries and some confirmation that UDP may work. TCP client provides repeated connection retry attempts, including
re-establishing a lost connection. UDP client will optionally keep pinging the remote during a connection to ensure it's still
there. UDP server sends data to the IP address and port from which it last received data. TCP server supports multiple remote
clients connecting. Received data is parsed for various line endings optionally removing control characters and triggering an
event for a received line. The only other two events are optional, one for state changed when starting and stopping, the second
offering progress information and errors.
A demo application testiplog.exe illustrates use of TMagIpLog as a TCP or UDP client or server, and both in the same program
sending data locally.
The same component may be used in a client or server application, to send or receive.
Note: applications using this component also need OverbyteIcsLogger in application uses to satisfy the event type TLogOption.
The Magenta Systems ComCap application may also be used to capture IP streams to files or a database.
Using TMagIpLog:
1 - Drop the component onto a form (or create it in code, see testiplog.exe)
2 - Specify LogProtocol as one of logprotUdpClient, logprotUdpServer, logprotTcpServer, logprotTcpClient
3 - For client protocols, specify RemoteHost (name or IP address) and RemoteIpPort, CheckPing true if ping to be used,
RetryAttempts to non-zero if continual retries not needed, RetryWaitSecs for delay between retries
4 - For server protocols, LocalIpAddress is 0.0.0.0 to listen on all local addresses, LocalIpPort must be non-zero.
5 - For sending data, AddCRLF to false if line already have terminating characters, UdpNoCRLF to false if UDP should send CRLF.
6 - For receiving data, LineEndType to one of lineendCR, lineendLF, lineendCustom (set in hex in CustomLineEnd) or lineendPacket
(for UDP), then MaxLineLen if a line should be returned before lineend is found, StripControls to false if CR, LF, FF should not
be removed from received data, RawData to true if nulls should not be removed.
7 - Assign onLogRecvEvent if data is to be received, onLogChangeEvent if tracking of start and stop is needed, onLogProgEvent if
progress information is needed for logging.
8 - Call StartLogging. The LogChangeEvent and LogProgEvent will trigger when LogState changes to logstateOK when data may be
sent.
9 - To send a line, if function GetAnyStateOK is true, call SendLogLine 10 - Received data will trigger LogRecvEvent once per
line.
11 - Call StopLogging to stop. Buffered data may continue to be sent.
after close, keep calling CheckStopped until true when it's really finished and component may be destroyed.
To send to multiple clients, set MaxSockets to the number needed, then use the function SetRemotes to specify the remote host
and port for each socket number, base 0. The events all return Socnr to indicate which socket. MaxSockets also specifies how
many remote clients can connect to TCP Server, but note that Socnr is dynamic and changes as remote clients come and go.
TMagIpLog needs from François PIETTE internet component suite version 6 from http://www.overbyte.be/.
Threaded Ping Component and Trace Route Demo
Version 1.0 - 2 Nov 2005 (222,595 bytes)
A threaded version of Ping to avoid applications becoming non-responsive while pinging. Note the application needs to use a
TThread OnTerminate event in which to retrieve the Reply results of the ping. The component will optionally look-up the host
name of the computer that was pinged. A demo application illustrates use of the threaded ping to perform multiple pings at
the same time. It also illustrates how to write a Trace Route application.
Whois Component and Demo
Version 1.0 - 2 Nov 2005 (254,079 bytes)
A Whois component and demonstration application. Whois is a protocol to interpret a remote
server for information about a domain name or an IP address, and return textual information about 'owner' of the name or
address. The demo application interprets the result and will perform a secondary query to another Whois server is
necessary.
Extended MIME Decoding Component
Version 1.0 - 9 Aug 2004 (2,723 bytes)
MimeDecEx, is a MimeDec descendent that avoids using any events to decode MIME mail attachments, instead saving all parts of
the attachment in dynamic arrays. Just call DecodeFileEx or DecodeStreamEx and all the headers will be found in PartInfos and
the contents in PartStreams.
SNTP Time Server and Client Components
Version 1.0 - 9 Mar 2006 (11,405 bytes)
TTimeServ is an updated version of Nathan Anderson's time server component adding SNTP support.
TWSTimeClient is an updated version of Chris Barber's time client component adding SNTP support and functions to change the PC
UTC time. SNTP provides time correction with fractional seconds, unlike the earlier Time protocol that is round seconds
only.
Magenta Systems Ltd, 9 Vincent Road,
Croydon CR0 6ED, United Kingdom
Phone 020 8656 3636, International Phone +44 20 8656 3636
Fax 020 8656 8127, International Fax +44 20 8656 8127
http://www.magsys.co.uk/
Copyright © 2008 Magenta Systems Ltd, England. All Rights Reserved.
|