cFos Software GmbH Logo
Whats New
Deutsch English

What's new?                                       'cFos' ISDN Driver Family
---------------------------------------------------------------------------

Legend:

  * New feature
  + Minor improvement
  ! Software-change requires modification of your configuration
  x Bugfix
  - Information only


Revision history: ---------------------------------------------------------



cFos 7.52 build 3065 -- 28-Feb-2008

+ cFos now uses less allocations and thus less CPU load.

x cFos didn't load under Windows 2000 for PPPoE.  Fixed.

x Fixed a spurious crash that could happen when connection connections were
  lost.  Thanks to Andreas Mydlarz for the cash dump.

x Fixed error in connection report.



cFos 7.50 build 3045 -- 18-Jan-2008

* Added rx-priorisation.  It works as follows:

  Each class (high, default, low, lowest) has a weight assigned.  Furthermore,
  all TCP streams are mapped to a certain class (this only applies for bulk
  data; e.g. ACKs are always sent out in the higher class), according to
  filter rules.  The class weight is used when TCP windows for rx-shaping are
  computed.  A TCP stream with weight 100 gets a window that is about 4 times
  bigger than a stream with weight 25.  This should *usually* translate into
  more speed on that stream, but not necessarily (e.g. the sending server
  might not be fast enough).

  The pre-set weights are:

  class high    -weight 400
  class default -weight 100
  class low     -weight 25
  class lowest  -weight 6

  I.e. regular browser downloads (class default) should get about 16 times
  the speed than Torrents (class lowest).

  The weighting needs some time (some seconds) to be through, so a newly
  created higher-than-average TCP stream needs these seconds to come to full
  speed.

* Now you can set MAXimum rx-speed and tx-speed!

  Just use "cfo set rx_limit " resp. "cfo set tx_limit ".  The
  value is in bytes as cFos calculates them.  This might be up to some
  percent more than what your software shows you.  It's best to look at maxrx
  resp. maxtxraw ("cfo set maxrx" resp. "cfo set maxtxraw") and then set the
  limit accordingly.  The value is automatically saved.  To set no limit, set
  it to "inf" (like "cfo set rx_limit inf").

  The tx_limit is quite accurate, but the rx_limit is only met statistically,
  i.e. it's possible you receive more than the limit, but shortly afterwards
  you'll receive less.

  It is a good idea to give your client one full blast upload and download
  before setting one of those limits.  Otherwise, it will have problems
  calculating, because it doesn't know the "true" line speeds.

* Speeded DSL transmit/receive speed and lowered CPU utilisation.

+ ctrace.txt is now in UTF-8 coding, but without a byte-order marker at the
  beginning.  Use e.g. notepad for viewing.

+ Added a way to change and save rtt_tab's.  Thanks to Darko Grskovic for
  inspiration.

+ Increased way too small buffer limits from 32k to 512k.

+ Added "cfo ati " command to see the ATIx modem command outputs.
  and improved ATI7 PPP statistics.

+ Variable shaper will regain full speed quicker after it slowed down when
  congestion was detected.

+ Added "cfo cperf" command to switch on or off class traffic dumping.  By
  setting "cfo cperf on" cFos will dump about once per second how many
  bytes were sent in what priority class.  This can help in testing filter
  rules or finding performance problems.

+ When cFos' variable shaper is sending slow because of tx congestion
  and that congestion goes away, cFos will now return to its old tx speed
  quicker.

+ Now UDP checksums are checked as well.

+ Added "cfo timerstyle" command to query (just "cfo timerstyle"), set
  "cfo timerstyle " or list supported values ("cfo timerstyle -?").
  Changes to timerstyle are only active after a restart of cFos.

+ Added layer-7 protocols SSL_S_BULK and SSL_C_BULK.  Switching of SSL
  sessions between bulk and regular mode is done automatically based
  on speed and packet sizes.

  Added l7-protocol SSH_BULK.  SSH sessions are automatically switched to this
  protocol, if they transfer mostly data in large blocks, so we presume they
  are doing some file transfer.  Thanks to ghorvath for inspiration.

+ Added gset variable fwlog.  Setting it to 0 ("cfo gset fwlog 0 -save")
  will disable fwlog.txt logging of firewalled packets.  Thanks to danny
  for inspiration.

+ Straightened evaluation of which filter rules determine the class of a
  connection.  Now rules like -tcp-dport, etc. work as well.  The third column
  of a "cfo filter" output is 'c' for rules that set the class.

+ Added additional column with MSS to "cfo cons".  It is included in
  "cfo -speed", can be added with "-mss" option and has the column key 'm'
  for -show, -addshow resp. -sort parameters.

  Added additional columns for average tcp segment size (ass) to "cfo cons".
  They are included in "cfo -speed", can be added with "-ass" option and have
  the column keys 'a' for tx ass and 'A' for rx ass for -show, -addshow resp.
  -sort parameters.

+ Now the class of UDP pseudo-connections is displayed, too, when you use
  "cfo cons -class" or the "current connections" dialog.

+ Added global option 'relaxed_discr' to relax the check of discriminators of
  Multilink-PPP (MPPP) bundles.  It's set to 1 by default.  With this option
  on, only the class must match, not the whole discriminator.

+ Now you can display the class most packets of a TCP connection are classified
  to (higher, high, default, low or lowest).  Use "cfo cons -class" or -show:c,
  -addshow:c or -sort:c options.  See other "cons" or "-sort:" entries here
  in whatsnew.txt for more details.

  The "current connections" dialog show the class as well.

+ Added a proper "cfo cons -?" help screen.

+ New filter rules -tcp-seq and -tcp-cnt to match on bytes of sequence space
  transmitted or number of packets in this connection, respectively.  Thanks
  to pogowurst for inspiration.

+ More changes in rx-shaping: cFos should now work much better with very
  many connections, like with BitTorrent.  Please report if it works for you!

+ Added an experimental new way to detect if cfosdnt.exe is running on "the"
  console.  cfosdnt.exe on "the" console is the one that e.g. loads
  capi2032.dll and makes it available to kernelmode cfosnt.sys.

  To use this alternative method, open cfos.ini and in section [cfos] set
  new_console_detect=1.  You need to restart cfosdnt.exe afterwards.

x Buttons in the icon skins where not working under Windows Vista.  Fixed.

x Fixed a skin problem.

x Fixed warning that is displayed if too many connections cause rx-shaping
  to be inefficient.  It was displayed regardless of the number of
  connections.

x Fixed a problem where downloads would be slowed too much.  Thanks to FR.

x FTPS (FTP with SSL, FTP with TLS) command sessions are now identified
  as FTPCMD in layer-7 detection.  Thanks to ghorvath.

x Changing l7-protocol priority to "Normal" didn't work.  Fixed.

x Fixed two possible causes for non-MSS aligned RWINs.

x Fixed problems with main_class display.

x Fixed a problem under Vista where skin settings would not be written to
  disk after modification.

- Discontinued support of Windows 9x/Me and Windows NT 4.0.  Now at least
  Windows 2000 is required.

- FTPDATA protocol can now be set to high or higher priority, regardless of
  its packet sizes.

- Removed tracing of minimal RTT ping packets.

- Module "ackfilter" is now disabled by default.  Set "ackfilter=1" in
  section [param] in cfos.ini to enable it again.  This does only
  switch off the filtering of presumably superfluous TCP ACKs, not the
  regular priorisation of TCP ACKs.



cFos 7.20 build 3003 -- 02-Apr-2007

* All cFos executables and drivers are now digitally signed.
  This is a requirement for Windows Vista x64, but comes in handy for all
  other operating systems.  If you download a version without a digital
  signature of "cFos Software GmbH" it has been tampered with and is not
  from us.  In that case, download an original version from
  http://www.cfos.de/download

+ Added gset variable save_in_session.  If set to 0, it will prevent cFos
  from saving data.ini, budget and traffic stats every 10 minutes.  However,
  ctrace.txt is still saved if output is printed to it.  Thanks to Paszczak
  for the feature request.

+ Increased time cFos wait for CAPI2032.DLL to load dynamically (if you use
  -v0 -kr) to 3 seconds, so slow loading LAN CAPIs will have enough time.

+ When lowering msslimit this is now enforced on existing connections as
  well.  Before that, it only worked on new connections.

+ Added both media and methods frame_count and cable_mixed.

+ "cfo perf" output is now scaled with K or M postfixes if values become too
  high.

+ Added -dscp filter condition.  You can give a range of DSCP values as
  "-dscp x:y" or a single values like "-dscp x".  See RFC2474 for details on
  DSCP and http://www.cfos.de/speed/documentation/filter_expressions.shtml for
  details on filter expressions.  Thanks to Knarf for inspiration.

+ Added -dscp option to class command to set a DSCP value to all outgoing
  packets of a class.  See RFC2474 for details on DSCP.

+ Added parameters to "cfo cons": -time to also show the duration of
  connections and -addshow:... to also show some columns; columns are selected
  like with -show.

+ Changed rx-shaping so that it allows for faster speed recovery when rx speed
  is too low.

+ Until now -l7-prot rule didn't accept the protocol "unknown", this has been
  fixed.  Now you can write "filter=-tx -l7-prot unknown -c lowest" to match
  all packets with no recognised l7-protocol.

+ cFos now keeps RTTs of each TCP connection.  We have to see how useful
  that turns out to be.  View them with "cfo cons -rtt".  The column key for
  rtts is 'i'.

+ More switches for cfo cons: -win, -all, -speed to add window limit, all
  variables resp. all speed critical variables to display.

x Fixes in rx-shaping for slow speeds (like ISDN).

x Fixed a rare problem with license keys when re-installing cFos.

x Fix for a crash at deinstallation.

x cFos now doesn't CAPI_RELEASE or closes the CAPI at all.  This seems to lock
  up some Vista machines.

x Fixed a bug where layer-7 detection sometimes confused http streaming server
  with client.

x Various fixes for Vista: don't display the tip of the day (caused trouble with
  Windows Defender); fixed key registration problem; fixed missing program names
  for connections; don't change TcpWindowSize or RWIN parameter (it's no longer
  supported thanks to TCP/IP auto-tuning).

x Fixed dynamic loading of CAPI2032.DLL, which sometimes wasn't working.
  Thanks to Günter Niedermeier.

x Trace output of process names for some OSes was trashed.  Fixed.

x Sometimes not all settings were loaded from DATA.INI when a port was opened.
  Fixed.

x Fixed a problem where V.110 and V.120 would not be available when
  CAPI2032.dll was used.  Thanks to Olaf Krebs.

x Upload speed was sometimes too low when low-latency mode was activated.
  Fixed.

x Fixed IP checksum check, which sometimes let packets with bad IP checksums
  pass.  This bug was introduced in build 7.05.2990.

x Fixed a rare crash in DSL reception code.  Thanks to Novad Protikin for the
  dump file.

- When connecting to the Internet with DSL the default setting of S83
  (PPP LCP Echo-Req generation timer) is now 0, i.e. the Echo-Req generation
  is switched off.  If you want to switch it back on, just add some extra
  initialisation string like "ATS83=5 S84=24".

- Again a hint to heavy downloaders: limit the number of your download
  connections.  This ensures more stable download rates and in the end faster
  downloads.  20-40 seems to be a good value.

- cFos now accepts new language files: just place a file named cfosml_XX.txt
  (replace XX with some language abbreviation) into cFos' homedir.  Set the
  #language of that file to a yet unused number.  In CFOS.INI, set the
  fulllangid key in the [cFos] section to that number and restart your
  computer (or only cfosdnt.exe).

- TCP window size is now adjusted to allow 25 Mbit/s downloads.



cFos 7.04 build 2968 -- 30-Aug-2006

x New cFos installations had empty settings.hta dialog.  Fixed.



cFos 7.02 build 2967 -- 28-Aug-2006

+ Added display of budget level in skins that support it.

+ Added context menu entry to switch latency setting.

+ cFosSpeed default skin now has a nice explanatory "panel" that pops up
  when you hover over one of the active areas.

+ Recoded RX (downstream) traffic shaping.  This should help especially
  BitTorrent users with improved download speed and better ping times.  To
  further increase your download speed, limit the number of receiving
  connections.  400 seem to be normal with Azureus, but 50 result in better
  download speed.

  This fix could as well help users that had the effect of dropping TX rates
  over time.

+ RX (downstream) traffic shaping can now be switched on or off by setting
  "cfo gset rx_shape 1" resp. "0".  In the same way traffic shaping can now
  be totally switched on or off by setting "cfo gset shape 1" resp. "0".

+ "cfo cons" output can now be sorted and only specific columns can be
  printed.  Use -sort: to sort and -show: to specify
  the columns to be printed.  Column keys are case significant.  -noudp
  and -notcp will not print UDP resp. tcp connections.

  Column keys are:
     p   Protocol (TCP or UDP) (only display, no sort)
     l   Local IP:port number
     o   Remote IP:port number
     g   Program name
     7   L7-protocol
     r   RX volume
     t   TX volume
     R   Current RX speed
     T   Current TX speed
     d   Duration of connection
     -   To reverse the sorting order

  Example: "cfo cons -sort:-d -show:lod -noudp" shows all TCP connections
  and displays local and remote IP:ports and their connection time, oldest
  first.

+ HTA dialogs are now existent only once and pull their language specific
  texts from the regular ml-file cfosml.txt.  Translators now only have to
  translate cfosml.txt and no longer work on the HTA files as well.

  Dialogs are available in all our previously supported languages, which
  are: German, English, Spanish, Hungarian, Turkish and traditional Chinese.

+ "Current Connections" has a new design and can now be sorted.

+ Added "medium /?", "set medium /?" and "set method /?" with a list of
  available settings.

x cFos runs now under Vista x64.  Thanks to Paul Mercer for his help.

x Small HTA fixes for IE7.

x Settings entry in context menu is now again visible under Win2000.

x Fixed an endless loop when changing firewall setting (through command
  line or 'Settings' menu).

x Fixed dump_sessions 4.  Thanks to martin winkler. :)

x Now cFos properly distinguishes between http media downloads and
  streamed plays.

x Fixed Kademlia detection.

- Switched off tooltip display for skin windows.

- Status windows show speeds now based on transmitted IP packet volume.
  Thanks to Vigil for inspiration.

- Context menu entries "Clear calibration data" and "Send calibration pulse"
  are now reduced to one entry.



cFos 7.00 build 2944 -- 31-May-2006

* 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

  "cfo gset dump_sessions" accepts the following values:
    0  don't dump sessions
    2  dump, but delete dump file if there was no data except 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 "cfo fstat" command to display which filters matched how often.  Use
  it to check if your filters are working.  "cfo 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 cfo
  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 ctrace.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 existent).
  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 activated 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 network cards.  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 simultaneously.  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
  http://www.cfos.de/speed/documentation/filter_expressions.shtml 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

...



If you're interested in even older history, get it from our FTP
server as CFOSHIST.ZIP.



------------------------ End of file ---------------------------