############################## Changes in v0.4.5 ############################## Released 3/30/2014 Repaired a bug in the firewall from v0.4.4 that prevented dial-up routers from routing traffic correctly. Repaired a bug in the login 'profile' script that caused the 'UID' environment variable not to be set. Also added the 'GID' environment variable. Repaired a bug in the 'pkg' package command that prevented the packages list from being updated properly. Repaired a bug in the setup that did not allow the use of the 'p' key on floppy installs to install the 'ext2' package from the menu. Repaired the SSH server to allow 'root' logins when enabled on a live CD or when booted with USB or through a PXE network install. Repaired a bug in the netmond binary that prevented more than seven IP entries from being shown on screen 6. Currently up to 15 can now be seen on screen 6 and an almost unlimited amount will show in the log file in /var/netmon.log or in the control panel when viewing the network monitor. Added 'dhcping' to help diagnose DHCP issues on any subnet. Added a second option in the 'setsite' script to set the package download URL manually if the auto selected site is not wanted. Added the -E flag to the DNS server so that reverse lookups resolve to the fully qualified domain name for the local network. Added the 'alc' option into the access restriction file. This allows cross communication between defined IP's or subnets when general communication has been 'untrusted' for security on multiple local subnets. So a shared printer or an administrative computer can be given access to other internal subnets. Added the 'bsp' and 'asp' options into the restrict.cfg access control file. These two options allow control over service ports and stand for 'Ban Service Port' and 'Allow Service Port'. So if you have a non standard service or a port forward that you want to control access to. These two options facilitate the control and can optionally have time and day restrictions included as well. Added a registration prompt for new systems. This prompt simply asks for a registration name and sends the name and FREESCO version number to the home URL configured on the system. This prompt is NOT intended as an inconvienence to users, but rather a way to track the number of users of the current system. There is no name checking or personal information needed as this information is only used for counting users. Added 'ftpblock' to the main system and it is used when the FTP server is enabled. This script monitors FTP logins and blocks failed login attempts after the configured number of failed attempts is reached. The block time is also configured in minutes. This script prevents brute force user:password attacks on the FTP server from internal and external sources. Once an IP address is banned the client no longer has access to any FREESCO service until the block time has been reached. Added 'sshblock' to the main system and it is used when the SSH server is enabled. This script monitors SSH logins and blocks failed logins after 5 failed attempts. The block time is configured in minutes. This script prevents brute force user:password attacks on the SSH server from internal and external sources. Once an IP address is banned the client no longer has access to any FREESCO service until the block time has been reached. Added a patch to the SSH server (Dropbear) so that empty passwords are allowed using the '-G' server flag. This is beneficial in testing environments and where security is of no concern. Added the 'filedate' script that is capable of displaying any file date information such as day of week, month in Abbreviated or two digit number format, day, year and time a file was last modified. It is also capable of delineating the fields with or without spaces or any deliminator you choose. It can also create a number capable of being used in other scripting to compare file dates to determine what file is newer than another or the age of a file. Added the ability to create new FREESCO floppies from within the setup on hard drive installs. To enable this feature, just copy the 'freesco.[version]' file to the /pkg/freesco directory of your system or install one of the disk image packages. Added freedns.afraid.org to the dynamic DNS client, this is a completely free service. Also removed everydns because the service no longer exists. Added the ability to create home directories for FTP user accounts the same as normal users. Added some error checking into the ext2 package so if a hard drive is not found on the system, the user is prompted to abort the install. Also added the 'x' exit option to most questions so the user can exit the install at any point. Added the NFS file system and NFS support into the mount command so that remote NFS servers can have a directory mounted on FREESCO. Added the inetd (Internet service daemon) super-server daemon. This daemon is required to run the tftp server and it can be configured to run other servers as well. Added the tftpd server. This server is required in order to run a PXE server on FREESCO and be able to network boot local machines or software. Added the 'tuxhunter' game. This is a very simple game where you track down and wound or kill an innocent penguin. But FREESCO would never be complete without a game that is fun and challenging to play and to challenge others to beat your score. This game keeps your score and if you choose, you can upload your score to the FREESCO web site and see how you compare with other users world wide. This feature is built into the web control panel to display the top 58 scores either locally or globally as well as within the game. Added "calc", a simple command line calculator that can save your work or print it as well. Hey if it's good enough for Microsoft it is good enough for FREESCO. Changed the control panel output for the logs so that they are in ascending order instead of descending, which is the actual text file log format. Changed the system logging facility to no longer print out duplicated messages as "Last message repeated X number of times". Instead each message is printed as it is sent from the client. This change makes automated processing of the logs much more accurate when checking for specific messages and how many times they appear in the logs. Changed the web control panel. Improved a number of sections of the web control panel to improve the ease of making changes. Notably the static DHCP lease, port forwarding and user menu sections. Changed the admin and root user name change and password section of the advanced setup to be more robust and to include some extra error checking to prevent issues with the password file. Changed the kernel in v0.4.5. This means that loose_udp is no longer enabled by default and some specific hardware may require the kernel to be changed to one of the 0.4.3 or 0.4.4 kernels to get a full cone NAT router instead of a port restricted NAT as it is now by default. 29K free on floppy ############################## Changes in v0.4.4 ############################## Released 2/5/2012 Repaired a bug in the smtpclient -A attach option that required and extra argument to the flag that did not need any arguments. Repaired a logging bug in the dyndns script that caused the name "dyndns" not to be displayed. Repaired a firewall problem that allowed access to servers on PPP Internet connections when the server was set in secure mode. This bug was introduced in 0.4.3 in the firewall only mode option. Repaired a bug in the mv2hd command that caused other language definitions for control characters not to work. Repaired a bug in the rc_net script that used the wrong 'restart' command when another language was in use other than English. Repaired the 'pkg' command so that when downloading files or installing kernels "Installation aborted" is not displayed on exit. Repaired a bug in the live.cfg creation scripting that would sometimes loose some of the data in the file due to more than one instance trying to write to the file at the same time. Repaired a bug in the setup that did not show server security accurately when enabled in secure mode and using an alternate language using different control characters was being used. This was strictly a visual repair. Changed the kernel to use a 'full cone NAT'. This change required enabling the 'loose UDP masquerading' option in the kernel source. Without this option enabled the firewall is a 'port restricted NAT' and inhibits some particular applications from wanting to run behind FREESCO. Changed the netmon binary to correctly calculate the receive data for virtual interfaces. Thanks to 'justdave' for the new code and countless hours of work. Added full system support for virtual interfaces. This also includes DHCP for virtual networks and interfaces so that more than one subnet can be supported on a single interface. Added a system test at boot time so the system can automatically adjust the configuration language from any previous language to the currently installed default language. Added a new language section into the setup to make converting the system to a different language an easy operation. Added the ability to change the smtp port into the individual mail client configuration files. Added gzip to compress files Added tar create to make tarballs of files and directories. Added wput as an FTP client suitable for uploading backup files and directories for network backups. Which is a planned new feature on a future release of FREESCO. Added a new auto patching mechanism. This mechanism checks for system patches every two weeks and auto installs them if enabled. This new feature does not check for updates at every boot and requires two weeks of uptime before it will activate when enabled. Added boot CD support into the system. Also added a new ISO image of FREESCO to make creating a boot-able CD easier. This version has all available PCI drivers installed on the disk to make the initial CD boot a running system with minimal services running. It is also possible to re-master this image to be a live system capable of running in any mode by copying the running /etc directory to the CD. Added DHCP static IP and IP range support for virtual interfaces and networks. Added wol v0.2.0 to the base system binaries. This allows for all wake-on-lan enabled computers to be started remotely. Added a control panel 'wol' section that displays all internal machines connected using DHCP and allows the user to wake any of them up remotely with two clicks of a mouse button. Added IP address monitoring capabilities into the netmon binary. Using this new feature allows current bandwidth usage and tracking any any internal IP address. The resulting information can be seen on screen 6 and in the control panel under the 'network' function. To add or remove IP addresses in 'netmon' just use 'netmon -e' to edit the configuration file. Added clearing of bandwidth usage for the netmon binary. Using the new 'netmon' binary all that is required is to use 'netmon -r' to reset all of the data fields for bandwidth usage. Added the boot time Romanian language translation into the system so that the base system commands before the drive is mounted will show correctly in Romanian when defined as the default language. Thanks to 'Casian Colcher' for this translation. Added client logging. This option will log the current name and/or IP address of every client that connects to FREESCO when 'client logging' is enabled. It also logs the MAC address time and date of there last connection. To keep this log on a permanent basis to survive reboots just enable 'save system logs'. Added the ability to use a custom upstream DNS port. When the DNS remote IP's are entered just add the custom port onto the IP address using a '#' pound sign. Example: xx.xx.xx.xx#53 Added the ability to change the DNS server port. This feature is NOT recommended for most user. The default port 53 should almost always be used. Added additional firewall rules to help prevent hijacking upstream DNS server responses when the built in caching DNS server is enabled in "s" or "e" modes. This rule protects the upstream DNS server communication port from being accessed by any other IP addresses. Added the /var/dns.prt file to give access to the actual upstream DNS communication port. As this port is selected at random every time the DNS server is started it was previously unknown. Added a DNS option when running the DNS server in exclusive mode. This option allows you to define specific DNS servers that the internal LAN are allowed to use in combination with the built in server. This option is required for specific harware devices that have DNS addresses hard coded. Added a redirect for users of 'apt-get' and 'rpm' to the 'pkg' command. The ext2 package is now included in the CD iso. This means that a ext2 hard drive instalation can be completed without a network connection when booting from a CD 51K free on the floppy ############################## Changes in v0.4.3 ############################## Released 1/16/2011 Removed debugging option from the dhcp server script and setup, which can not work. Repaired the dyndns noip client to activate the updated hosts. Previously the IP would update but during the update process the account was not re activated. Repaired bug in the commonfn script that caused the web control panel User/add option not to function properly. Repaired a typo in the language file for the default editor which was shown as /bin/edt and should have been /sbin/edt Repaired the dynamic DNS NO-IP client to work with their new update protocol. Repaired the firewall status color coding in the addon package menu firewall enable/disable section of the setup. Repaired some network routing problems in the rc_net script when the firewall is disabled. Repaired firewall logging issue that caused the firewall to fail when firewall logging was disabled. Repaired 'cp /boot/kbd/*' error during system backups. Repaired PXE and USB installs so that the correct version of FREESCO is installed on the hard drive during a move2hd command. Repaired a bug in the setup that prevented changing the default package download URL. Repaired a bug in the rc_dns script that caused internal host names and dynamic DNS entries not not to be resolved by the system when the DNS server was disabled. Repaired a bug in the diagnostic sound system that caused a bogus log entry for sounds being disabled due to a time restriction when the sounds were disabled. Repaired the setup firewall enable/disable section so that colors of enabled and disabled firewall rules for packages is displayed correctly. Repaired some minor language bugs for synctime and crontab. This bug caused any non English control character set not to work correctly. Repaired the dyndns client so that IP updates are registered correctly. Previously the dyndns.org client would register a success IP update even when the router was offline. Repaired a bug in the diagnostic sound section of the setup that prevented kernel, lease and login example sounds to be played during setup or when the -f flag is used using the "play" command. Repaired a bug in the extended debug logging for pppd in high speed PPPoE and PPtP connections. Changed the arpf binary into shell script. The functions are still identical to the original binary, but it takes a lot less disk space. Changed all of the built in network card drivers to reduce code size. This process involved using the older kernel modules and updating their card support along with removing almost all of the debugging code and compiling them with better optimization. Added the Hungarian language into the ramdisk boot section. Because this language name exceeds eight characters it must be used as 'hungaria' in the LANG= variable and in the language name to conform with the DOS 8.3 format requirements. Thanks to Péter FARKAS for this translation. Added software raid0145 and linear support into the kernel source and into the system shut down process. To enable software raid a third party raid enabled kernel must be installed. Added the 'test' binary and '[' into the system for better scripting support. Which now includes all of the standard option flags. Added settings information to the setup -> system settings menu main display. Added extra logging information for the LPD server so it displays feed and raw queue information in the main system logs at startup and on tty5. Added a firewall only mode to the rc_masq script so that NAT can be disabled and still maintain firewall rules for service ports and any other specific exclusions needed. Added a automatic restart of the ppp monitoring script any time a new IP address is received. This resolves any problems with the script using an inaccurate IP address for testing connectivity. Added the French language into the main boot system translation variables. Thanks to Dorian48 for the translation Added the Portuguese language into the main boot system translation variables. Thanks to py2cac for the translation Added a manual option to the 'setsite' command. This option allows the user not to have to wait for package mirror timing and package listing downloads from all available mirrors. Of course this also means that only the packages from that single URL will be available for installation. Added the 'version' command. This command lists the FREESCO version and the kernel version along with when the kernel was compiled. Added local port redirect into the restrict.cfg. This allows for any internal client to be redirected from an external URL to a local server port. This can be used in conjunction with other restrict commands at the same time. Removed the ident server. This server is used a lot and never configured. This server serves no purpose in almost all router configurations. So the disk space it used is better served as free space on the floppy. However for those who do actually want or need this server, it has now been made into an add on package. Added the Dutch language translation into the system. Thanks to Dingetge and Thasaidon for accomplishing this for the FREESCO community. Added the ability to make and use special language files or even just make minor changes to language files and put them in the /boot/language/ directory and they will overwrite the built in language files or replace specific pre-made alternate language files. Added the gigabit rtl8169 network card driver into the base system. This driver supports the D-Link DGE-528T and Netgear GA-311 network cards along with newer rtl8110 and rtl8111 chip sets. Thanks to Erik Janp for repairing the driver. Added local forwarding to an external IP in the restrict.cfg. This allows the restrict.cfg to control local access to specific external IP address and optionally include time/day restrictions as well for those sites. Added the "raidmon" script into the ext2 package. This script monitors the raid status if software raid is enabled and the ext2 package installed. The script outputs warnings into the log and uses a special built in sound to ensure the raid system is always fully functional. When enabled the special sound is played in the setup in the diagnostic sound section of the setup. Added the wakelan 0.2.1 source into busybox and included it in the main system. This allows remote computers to be started without the need for an add-on package. Added new variables for the TCP FIN and UDP masquerade timeouts in the rc_masq script. This makes it possible to set shorter timeouts for masquerading and eliminating the need to manually change these values when needed. This is an advanced option and most users will never need to adjust these values. Added ReplayTV support into the RAS server. This allows users of older dial-up ReplayTV units to update there program listings without the need to upgrade to an ethernet capable unit. 82K free on the floppy. ############################## Changes in v0.4.2 ############################## Released Mar 14 2009 Repaired bug in the move2hd command on FAT hard drive installs when using the "overwrite" option that prevented the system from recognizing the correct version. Repaired bug in the keyboard map loader that caused map files to fail loading. Repaired bug in the newly added 0.4.1 patching mechanism that caused the wrong text to be displayed at boot time when patches were installed on the system. Recompiled the thttpd web server to use the same file names and directory structure as the Apache web server. This change will eliminate any confusion between the two different web servers when using custom error web pages. The new directory and file name for custom web pages is /www/error/401.html, which is now identical with the Apache web server and the file name corresponds to the web page error. Added the boot time Spanish language translation into the system so that the base system commands before the drive is mounted will show correctly in Spanish when defined as the default language. There is also now a Spanish language translation for the system. A big thanks to René Guzmán Gil (Hitio) for making this translation. The Spanish language translation is included in the modules-042.zip Updated the modules-042.zip file with the latest time zone information. This should make the necessary adjustments for the recently changed daylight savings dates and times so the FREESCO adjusts the time correctly when using a time zone file rather than the static offset. 68K free on the foppy. ############################## Changes in v0.4.1 ############################## Released Jan 31 2009 Repaired the check and removal of the pci-scan or 8390 modules when they are not needed by the system. Repaired bug in rc_ras that produced a 'n' in the modem options file when three DNS servers were not defined. Repaired bug in rc_dns that caused local name resolution of DHCP clients to fail Repaired bug in the setup patch install section that caused previously installed patches not to show up as already installed. Repaired bug in the setup that prevented a newly set default package site from being saved when the system configuration was saved during exiting. Repaired bug in the patch install section of the setup that prevented the proper URL from being used when a default package URL was not set prior to running the patch check. Repaired modem INIT string problem during the initial setup of the modem. This corection automatically sets 'ATZ' as the default INIT string any time the INIT string is left blank. Repaired bug in the pkg script that prevented ramdisk packages from being installed once a system patch packages has been installed. Now the system treats patch packages as part of the system rather than normal packages. This also means that patch packages are installed differently than standard packages. Repaired a bug in the script that creates the public and private default web server page. This bug did not insert the users name in the banner line to show which users page was being displayed. Changed the modem autodetection to use 38400 as the default com port speed for dial in modems rather than the maximum modem speed which caused modem failure in some cases. This does not effect or apply to primary dialup modem settings which should be set at maximum port speed. Changed the 'pkg' command global search parameters to now search each mirror in all package and file locations. This means as long as the package/file name is typed correctly it will be found regardless of whether it is a release/beta package, non-package, or kernel. Added cursor control into the advanced modem setup. Added a new patching mechanism that allows for a more seamless integration of patches built into the system. This also allows the patches to modify system files that could not be patched previously inside the ramdisk. Replacement of system /rc/rc_* files as well as system scripts can now be patched using compressed gzip files which allows more room for patches on floppy installs. Added kernel and System.map automated installation into the 'pkg' command for hard drive installs. This feature is not activated for floppy drive installs which still must be done manually. Any time a 'kernel' is selected in the package viewer there is a prompt to install the kernel as the running kernel. If answered 'y'es then that kernel is installed and the original kernel is saved as kernel.#####~. If answered 'n'o then the kernel is just downloaded and saved as any non-package download. Added the no-ip and everydns clients into the dynamic DNS client. This means that the built in client now supports noip, zoneedit, dhs, domain_dns, sitelutions, loopia, everydns, and all three forms of dyndns (dynamic, customdns, and staticdns). It also still maintains the capability to support unlisted clients if you have the update requirements available. This client is also capable of supporting all of these clients at the same time and update multiple URL's for each individual client at once. Added a -T flag to the snarf binary. The new -T flag adds a timeout to any connection in seconds. This prevents snarf from waiting longer than the specified number of seconds to connect with any URL. If omitted the default is 60 seconds. Thanks to justdave for making this change. 68K free on the foppy. ############################# Changes in v0.4.0 ############################# Released Nov 26 2008 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 using 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, was not running, or if the "OFF" button was used 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 and 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 does not have to be used. Redesigned the maim page and sub pages to be easier to use and more informative. 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 disp