Changes from 038 to 040
Discontinuation of the 0.3.x series due to major system changes.
Removed the bandwidth shaper module. This module lacked the flexibility to function under the varying configurations and it lacked the ability to control bandwidth on high speed connections.
Repaired the rc_dns to resolve multiple dynamic DNS accounts locally when more than two are defined in the dynamic DNS configuration.
Repaired the remotelog so that if the remote session is terminated incorrectly a new login can enable a new remotelog session.
Repaired a compiling error in the chat.c binary code.
Repaired the control panel and web pages to be "HTML 4.01 transitional" compliant. Thanks to Douglas Rees a.k.a Slowpoke for his time and effort to make the necessary changes.
Repaired the hard drive timeout due to running the update binary so that systems that use a hard drive timeout will have the drive shut down properly and systems that do not will still have the advantage of the buffer being flushed to the drive so that information is never lost due to a power outage or improper shut down.
Repaired a visual problem in the control panel. This visual problem would show "DNS not running or disabled" any time you tried to use the "OFF" option on any service that was already shut down or was not running, or if you used the "OFF" button twice in a row on any other service.
Repaired nslookup when using a remote DNS server to resolve the IP address from that server instead of ignoring the server if the URL is listed in the /etc/hosts file.
Repaired PPPoE and PPtP ethernet modes so that the ISP DNS servers can be changed in the ISP file.
Repaired the built in email client when sending a report.txt so that it no longer shows the smtpclient in the list of running processes. This exposed email addresses and potentially exposed usernames and passwords in the generated report.
Changed all of the built in network driver modules and replaced and them with newer PCI network drivers. The new built in drivers are: 3c59x.o, eepro100.o, rtl8139.o, pcnet32.o, and via-rhine.o The old drivers are now included in the modules-040.zip
Changed some source code and recompiled thttpd to try and resolve some stability problems with the HTTP control/time server where the server would stop responding on some systems.
Changed the serverchk binary to display failed and succeeding servers in the logs and on the screen when ran from the command line.
Changed the output format of the network monitor on screen 6. The new output no longer has the packets, fifo or frame columns, but it now includes a total amount of data transmitted and received along with a KB/s column for transmit and receive on all interfaces. Thanks to justdave for creating this new code nd making this possible. There is also extra formatting to make it look and work better along with being detached from the main system. Screen 6 can now be ran remotely by using the command "netmon".
Changed the passwd binary to version 1.18a. The new binary now includes system logging when passwords are changed.
Changed the package format to now only use packages that are a single file. This change also includes a MD5 checksum during package installation to ensure the package is not corrupted.
Changed the initial boot screen colors and layout. Also changed the initial FREESCO boot logo animation and improved the penguin animation to look better.
Changed the setup colors and format and some single key response so that
Changed the web control panel and the standard HTTP server so that they are started with separate scripts. This means that stopping and restarting the HTTP web server can now be done in the control HTTP server without killing both.
Changed ram0 from 3MB formatted to 4MB unformatted. This change was required due to the additional code now included in the ramdisk.
Changed the default kernel to a kernel that requires a math co-processor. This means that if you have a SX type CPU you will be required to copy the included kernel.sx to your floppy to support CPU's without a math co-processor.
Re-Compiled pppd and all supporting PPP binaries to make them more compatible with the current kernel source.
Added a new option into the "pkg" command and the advanced setup package menu command set. This option allows you to browse through the packages.txt file that is included on all FREESCO package sites scrolling both down and up in the file to read package descriptions and or enter a package name to install a specific package while being able to read the package name on the screen. There is also a search function so that even knowing part of a package name will display all matching packages. Which can be used for partial package names and author names as well. This new feature eliminates the requirement of having to use a client machine to look up package names.
Added a new package download URL testing mechanism so that the fastest or closest FREESCO software mirror is selected automatically the first time you use the 'pkg' command or 'setup' to install a package. This script is also configured to check and test for new mirrors every 90 days on hard drive installs and once per boot on floppy installs because no hard copy is kept. So when mirrors are changed, the updates are known and configured automatically if you choose. This new feature eliminates the need to find the proper FREESCO software mirror manually.
Added a new feature into the pkg command. This new feature has the ability to use the mirrors.txt file so that if the default package install URL is down, offline, or doesn't have a specific package then the next fastest URL is used to try and retrieve the package and so on down the list of mirrors until the package is found on an active mirror. This new feature also caches a complete list of every available package from every mirror and creates a hard copy on hard drive installs. This list can be manually updated at any time by using the -cf flag or it will automatically update when browsing packages every 90 days. This makes the 'pkg' command show every package that is available for FREESCO from the command line or the advanced package setup. The default behavior of the pkg command has also been altered so that it is no longer required to include any extra flags and all that is required is to use 'pkg' on it's own and it is identical to the 'pkg -c -/' command. The pkg command has also been changed to be able to download and save non-packages and kernels the same as it has always been able to save copies of packages.
Added a new system sound to the diagnostic beeps. This sound is activated any time there is a login or logout in the console, FTP, or SSH. This new feature is however in conflict with the server monitor function which will trigger the sound at every server test interval when testing FTP and SSH servers. So it is not recommended that you enable this sound when the serverchk is enabled on those servers.
Added a color option to the tclock screen saver so that the display time can be in the color of your choosing or it can also be set to "random" so that at each minute interval a new random text color is displayed. Random is the default if a color choice is omitted.
Added enable and disable options individually to the login, client DHCP lease, Firewall, new IP, PPP down, and DHCP lease failed diagnostic sounds. Along with the global sound enable/disable and time based sound functions.
Added a new flag to the pkg command. The "-rf" flag means (Ramdisk Force). When this flag is used inside the rc_user script or even from the command line it forces packages that might normally require user input to "auto install" to a ramdisk as if the user hit
Added a new control panel logo. Thanks to dRB for his tremendous talent in creating this new image and some minor changes by Lewis and Thasaidon.
Added some automation into the setup when configuring PPPoE network settings and a route to the modem is enabled so that the local IP is auto calculated into the proper subnet when the modem IP is entered.
Added a CRT compliant screen saver called "ftux". This screen saver simply moves the text drawn penguin around the screen in random directions.
Added the "sort" binary into the system. Thanks to justdave for his efforts in adding the capability for this stripped down version of sort to be case insensitive with the -f flag.
Added the "installpkg" command into the system. This was the original 0.2.7 command to install packages which also required a URL and package name. The new "installpkg" command in 040 does not require any flags, URLs or package names. This command uses the new standard "pkg" command to get and use the global package listing to view and or install all of the available packages from all known mirrors except in a single script name without flags required. Which may be easier to use and remember for old 027 users. There is the "-f" flag which forces an update with all known mirrors that can be used if needed in between the standard 90 day update cycle.
Added extra coding to enable the use of 3G/UMTS ISP dialup connections that do not send a remote side IP address during the ppp connection negotiation.
Added support into the kernel for the network packet count and byte count into the Exabyte range. Previously the kernel only supported up to the Gigabyte range before resetting the counter. The new variables are now 64 bit variables instead of 32 bit variables and can display over one billion Gigabytes.
Added the md5sum binary.
Added "getkey" into the scripting so that single keystrokes which include almost ALL keys on the keyboard can be easily read from within a script without the need to use the
Added www.sitelutions.com into the dynamic DNS client. Also added the ability to use one or all of the supported and unsupported clients at the same time. So if you have multiple domains from different providers they can all be updated simultaneously.
Added a new status display into the dyndns client so that it will lookup the URLs that are listed in the dyndns.cfg for every client and resolve the name to the default ISP DNS server. This gives an absolute result of what has been updated and what might need to be.
Added a local package install option into the setup package menu that displays all of the packages in the desired directory that can be installed.
Added a "restore" option into the initial boot screen on FAT hard drive installs. This option takes the system directly into the restore section where a backup of a previous hard drive can be restored.
Added enabling and disabling the bad ISP DHCP lease and shut down sounds independently in the diagnostic beeps.
Added multiple language support to the system. The language file is /boot/language/LANGUAGE.tgz or a:\router\language\LANGUAGE.tgz on floppies. To alter the system language to another language, copy the new language.tgz file to that directory. Be sure that your language file is named using the first eight characters of your languages English name format. It is critical that you do NOT exceed eight characters with the language name and that it is spelled using the English spelling AND in lower case. All language.tgz files will be processed in the "language" directory. Any language file will work once the system is running, but the actual boot text displaying where the drive is mounted will default back English if the language is unsupported. Once the language file is in place you MUST modify either the a:\syslinux.cfg, to the one included with your language file or you can modify the default language by changing the 'DLANG=english' to what ever language name you have installed. For hard drive installs this may mean changing the router.bat or the lilo.cfg. Although if the language name was changed on the floppy before the system was moved to a hard drive this is done automatically.
Added query port randomization into rc_dns to help with the latest DNS vulnerability.
Added the ability to install package dependencies during a package install. This means that the initial installation does not have to be terminated when one package requires another package to be installed first.
Added the ability to boot from a bootable USB device using the BIOS USB driver. This does NOT mean that FREESCO now has USB support, but it does mean that on systems without a floppy drive, a USB device can be used to install FREESCO on the hard drive. It also means that if anyone wants to customize the base ramdisk that it could in theory run in ram from a USB device. The only requirement to enable this ability is to change the a:\syslinux.cfg lines from "BOOTDEV=fd0" to "BOOTDEV=usb". It is also required that the network card be detected using the built in network drivers and that FREESCO is online so that the system can download the kernel and ramdisk for a hard drive install.
69KB free on the floppy.