Internet Acceleration through Traffic Shaping
+ DSL and ISDN Dial-in Driver

Highlights:

- Traffic shaping
- Firewall
- 0190er Phone Number Blocker
- Caller Monitor, Logging and Sound
- Time Synchronisation
- Online Budgets
- Skin Support
- Data Compression and Channel Bundling
- up to 32 COM ports, huge AT command set
- X.75, V.110, V.120, X.31, analog modem, FAX
- AOL, CompuServe, t-online, CTI, mailbox
- runs w/ Windows NT 4.0 an higher // Technology: ISDN,
DSL / PPPoE and ATM // The Shareware Version also includes the cFos/ATM extensions for testing purposes.

What's New:

* Major feature: Added Protocol Layer 7 Detection. From now on,
cFos analyzes traffic based on the transferred data rather than
the port number used. This gives cFos precise traffic analysis
capabilities and thereby allows you fine-grained control over your
traffic. cFos detects the following protocols:

Commonly used: HTTP, FTP, POP3, SMTP, IMAP4
Voice-over IP: RTP, RTCP, SIP
Special protocols: Telnet, SSH, SSL, IRC, DNS, (S)NTP, RPC
Filesharing: eDonkey, Kazaa, Bittorrent, Kademlia, Gnutella(2),
Direct Connect
Streaming Media: HTTP-Streams with various Media-Players and RTSP

For each protocol cFos distinguishes between client and server
mode. All protocols can be prioritized individually. In addition there
is a "Connections console" giving you real-time information about the
current connections and their detected protocols. User data of these
connections can also be recorded into a log file for analysis, see session
dumping below.

As a by-product you can now use internet connection sharing to connect
several computers to the Internet and still have e.g. filesharing traffic
prioritized low. The next major release will have additional bandwidth
negotiation for multiple PCs connected to a single router.

* New Technology: cFos is now available as 64-bit version for Windows XP x64
Edition. Driver, Status Window and Setup are true 64-bit programs! The
64-bit version has all the features of the 32-bit version.

ISDN support works with CAPI2064.DLL and kernelmode CAPI.

* Added support for ISDN. From now on ISDN users also benefit from
cFos Traffic Shaping! This makes your ISDN connections more responsive
by reducing ping times. All the advantages of the broadband Traffic Shaping
are now available for ISDN.

* cFos is now able to traffic shape VJ-compressed connections as well.

* Added UDP pseudo-connection tracking. UDP packets between two peers are
believed to belong to the same connection if they arrive less 10 seconds
apart. The pseudo-connections are displayed under "cfo cons" as well.
The timeout can be adjusted by the udp_timeout gset variable (the variable
is in milliseconds).

* Added session dump: you can now dump TCP sessions and UDP pseudo-sessions
in their own files. This way you can have all packets of one session in
one file (and not more). Activate it with "cfo gset dump_sessions 2" and
switch on TCP payload dumping with "cfo gset dump_tcp_data 1" (without TCP
data dumps there won't be anything interesting for us to see). The
maximum file size is set to 100k, if you want to change it use
"cfo gset max_session_dump_size 200k" (change "200k" to your liking).

All in one line that is:
cfo gset dump_sessions 2; gset dump_tcp_data 1

"spd gset dump_sessions" accepts the following values:
0 don't dump sessions
2 dump, but delete dump file if there was no data excpet TCP SYNs
3 dump like 2, but delete also if l7-protocol is known.
4 dump and never delete dump file

+ Azureus.exe has been added to program prios. Unfortunately, the new Azureus
release uses encryption which makes detection hard. Therefore, these
streams are not yet detected by our layer7 detection.

+ Protocols and programs that are set to "normal" prio are not matched at all
(since there is no longer a filter rule for normal prio). Especially,
packets of protocols that are set to normal can be matched by later
program filters (usually protocols are matched first and only if no match
was found, programs are matched).

+ Added "spd fstat" command to display which filters matched how often. Use
it to check if your filters are working. "spd fstat -clear" clears the
stats.

+ Added traditional chinese and turkish HTA dialogs.

+ Added "click-through" mode to skin windows. If you activate it, mouse clicks
are processed by the window beneath the cFos skin window.

+ Added support for dynamic loading of CAPI2032.DLL. Also, cFos will now try
to load CAPI2032.DLL when you open a port if it could not be loaded earlier.

+ Added new skin variable "latency_mode" and a new action to execute SPD
commands via skin buttons. Thus our skins now allow you to switch to low
latency mode. The additional variable "latency" indicates if low latency
mode is actually on.

+ Added new cfo command "cfo connections" or "cfo cons". This will show a
list of all tcp connections with traffic, uptime and program, one per line.

+ Now tray icons are re-displayed after explorer restarts.

+ Errors while doing a "cfo reload" are now printed on the console as well
(not only to the trace.txt file).

+ The new gset parameter "strict_rtp_check=0" in the [Param] section of
cfos.ini can now turn off strict checking of RTP packets. With strict
checking RTP packets must contain a source ID, previously introduced by a
corresponding RTCP packet. Disable this check if you use Voice over IP
Software which doesn't generate RTCP packets, like VoIPBuster. Default is 1
(enabled).

+ Better ping times in "Favour Ping Time" mode, since we limit the MSS
there to 536 bytes, if your connection is slower than about 20-30 kb/sec.

+ Rx shaping should more smooth now, i.e. you should experience less
fluctuations in the ping time.

+ Improved accuracy of downstream speed calculation.

+ "method" set variable can now be entered and displayed symbolically.

+ Added IP fragmentation support.

+ Better Multilink PPP support, now fully supports MP fragmentation and VJ
compression.

+ Reintroduced TCP checksums: if a packet doesn't check out, it will be
ignored by cFos.

+ Added -mp-header, -mp-begin, -mp-end filter, -mp-frag, -rand rules.
See filter_expressions.txt for details.

+ The rule that caused a packet to be dropped is now printed to FWLOG.TXT.

+ Some internal changes and speed improvements.

+ Added "cfo dump ip" to dump IP packets (possibly fragmented, but after
MP-reassembly and VJ-decompression) and "cfo dump ipr" to dump IP datagrams
(after IP reassembly) when they are handled by cFos.

+ AT&F now reads its settings from cfos.ini section factory (if existant).
AT&WF can be used to write this section. AT&F1 can be used to really
reset to internal "factory" defaults.

+ Increased number of internal buffers for PPPoE. This should fix
"Internal structures full" messages in ctrace.txt.

+ Added differential statistics to "cfo pingstat". The numbers in brackets
are the counts starting after the last time a ping worked. This should
help diagnose problems where pings work but at some time stop doing so.


+ TCP RWIN is now set so that DSL-6000 (and other 6mbit fast connections)
will work with full speed. Thanks to graf for the hint.

+ New S76=2 setting allows you to set ISDN protocol for incoming calls
regardless of LLC/HLC signalling.

+ Fixed problems with HTA dialogs related to registry permissions.

+ "cfo cstat" now shows txspeed and max_queue_size as well.

+ Added modem command AT#L to simulate a login event for test purposes.

+ cFos now handles (i.e. mainly ignores) the GSM AT commands +CBST, CPIN
and +CREG.

+ TCP data retransmissions of packets that are still queued are no longer
sent out. This can save some 1% tx volume.

+ Improved the way ping messages are sent out. This helps the shaping
algorithm to run more smoothly.

x Fixed a bug where PPPoE login would not work reliably when more than one
PPPoE server answered.

x Fixed a rare problem where cFos would not detect incoming calls.

x Changes to fix problems when displaying taskbar icon.

x Fixed a rare crash.

x Fixed a semi-rare crash.

x Another fix for VJ-compression in only one direction was needed.

x Fixed a crash when VJ-compression was used in only one direction.

x Fixed problem with missing import for certain NT4 systems.

x Shaping is now only activacted when it is switched on in feature setup (i.e.
if -x80 is set to something other than zero.) Until now, even with -x80=0
a connection listed under [connections] in cfos.ini would have been shaped.

x Now tcp_warn and strict_mp switches are properly read from param section
of cfos.ini and properly inited.

x Fixed a problem where .ini files could not be accessed due to sharing
violations.

x Fixed a rare UNEXPECTED_KERNEL_MODE_TRAP crash. Thanks to Samuel Lee
for a minidump and testing.

x On connections with low-downstream bandwidth rx shaping might have taken some
seconds to effectively kick in. Fixed.

x Too many packets were logged to FWLOG.TXT. Fixed.

x Final fix for that RTP crash. Thanks to Armin Schöffmann for testing.

x The cFosSpeed-style skins in cFos didn't show the red arrows that indicate
incoming data. Fixed. Thanks to Joshua Lee for the report.

x It seems that some routers reassemble TCP streams. This resulted in some
unwanted "method 1 to 2" switches. Fixed.

x Fixed a bug that caused the ACK-filter to filter way too many ACKs, thus
degrading download performance. Thanks to AlexV for his help.

x Fixed a missing external "SHGetSpecialFolderPathW under NT4.

x Fix which prevents RINGING indication on already used COM ports.

x Fixed a spurious crash. Thanks to Dirk Schoen for his help.

x Fixed DSL code for the detection of networkcards. This should fix
problems users were having in connecting with nForce 4 cards.

x The burst code should be more stable now.

x cFos sometimes waited a longer time for CAPI messages than needed. This
may have slowed communications on many ports simultaniously. Thanks to
Frank Auerswald for testing.

x Fixed an occasional crash at shutdown when data kept pouring in.

x Fixed a bug which could result in wrong amounts of "Segments w/o
connection". This could have been the cause for processes sending too
fast, even with low(est) priorisation.

x Fixed some more "unverified RST" warnings. Strange TCP segments travel the
Internet! :)

- Removed filter_expressions.txt from distribution. See
https://www.cfos.de/speed/documentation/filter_exp.htm instead.

- Firewall can now be switched on/off in context-menu > settings while cFos is
running.

- Tracing is now on by default, i.e. there is always a CTRACE.TXT file
created with some basic info on your system and connections. If you are
reporting bugs, please attach this file to your mail.

- Changed speed reported to Windows on PPPoE connections to 100 mbps.

- New design of HTML files.



cFos 6.10 build 2875 – 07-Jul-2005

* cFos now supports Multilink PPP.

* Added RTP (real-time transport protocol, RFC 2550) support. cFos
will automatically detect RTP data and put it into the 'high' class, thus
ensuring fast transmission and low latency. Popular RTP applications are
Voice over IP (VoIP) and streaming media.

* New skin: Liquid crystal! This skin can be used in conjunction with your
own bitmap. To use your own background image, replace back.tga in the
line "background=back.tga" in the [All] section with name of your
bitmap. As a sample we included matrix.tga. The supported formats are
BMP and TGA.

* cFos now works with the default cFosSpeed skins as well. They are included
in the distribution.

+ Usually cFos handles your TCP MSS ("MSS clamping") (i.e. the MTU for
TCP packets). This work automatically and the MSS values are chosen so
data transfer rates and ping times are best. But if you want cFos
to leave the MSS alone, you can now set "cfo gset handle_mss 0" to
instruct it so. Add a "-save" to have the setting saved in cfos.ini.
Switching off MSS handling is not recommended.

+ Added support for composite background images for the skins. Also you can
now limit skin sections for cFos or cFosSpeed only. So you can make skins
for both products. See www.cfos.de/techinfo/skin.htm for details.

+ cFos' program group now has an "Open console" entry to open a command
line in cFos' directory. This is helpful to enter cfo.exe commands.

+ Added more diagnostics that are displayed in the "cfo pingstat" command.

+ All global variables (which can be shown with "cfo gset") can now be saved
to cfos.ini by typing "cfo gset -save".

+ New gset variables max_dump_size, max_fwlog_size, max_pinglog_size that
hold the maximum sizes for the respective log/dump files.

+ "cfo set" and "gset" commands now accept numbers with binary units (like
k, m, g etc) and hex values (numbers prefixed by "0x"). E.g.
"cfo gset max_dump_size 10m" sets the maximum size the dump.txt file
can get to 10 megabytes.

+ Added gset dump_framing variable.

+ Added sethops command to ease setting the add_hops parameter to a desired
value. Just use "cfo sethops " to make test pings have TTL .

x The HTA applets wouldn't start under Win9x. Fixed.

x Further relaxed the checks of ping replies. Thanks to Desi B for traces.

x Fixed gset dump_tcp_data and dump_udp_data variables. You could change them
but it had only effect when you saved and then restarted. Now it works
immediately.

x Fixed a bug that sometimes caused cFos to crash when shutting down with
a connection still active.

x Fixed Antarctica skin.

x The new pinglog feature caused a small delay on some ping packets. Pinglog
is now disabled by default. Thanks to Alex' eye again :)

x Improvements to the ACK filter for certain download hosts. Thanks to the
alert eye of Alex Varzakanos.

- "cfo tsclear" and the context menu entry "clear calibration data" will no
longer clear the addhops and msslimit and the new avg_time parameters.

- The modem "cFos ISDN, Internet, 2nd Sync PPP over HDLC" has been changed not
to drop carrier on an incoming call. If you want the old behavior, add
"ATS74.12=1" to the modem's extra settings.

- Removed TCP checksumming and some other sanity checks. If cFos gets
invalid packets now it's likely it'll ignore them and just pass them on.
Before now, they would have been dropped.