Freeacs Versions Save

Free TR-069 ACS that can run (mostly) anywhere.

v3.0-RC1

5 years ago

This has been replaced by a newer release candidate:

https://github.com/freeacs/freeacs/releases/tag/v3.0-RC2

v3.0-RC2

5 years ago

Hi!

Glad to see you here!

FreeACS is a pretty old project, dating back to early beginnings of 2000.

Today its the year 2019. And its time to get rid of the old Java Web servlet code! At least in the most important module, the TR-069 service.

This release consists of the following:

  1. Ported the TR-069 server from whatever it was before to Spring Boot.
  2. More tests, better tests and more readable tests! They can be used as documentation for how things work.
  3. Hardened security. We have removed the custom authentication code in favour for battle tested spring security. This means that what could have worked before, might not work now. One example of this is auto discovery of unit secret. What this means is that to provision a totally new unknown unit, you must set auth.method to none and set discovery mode to true. A better solution is to add the unit to the acs before hand with a proper secret and set the system parameter Discover to 1.
  4. More readable and extendable code, which in turn makes it easier to add support for new or old RPC methods. The GetRPCMethods method is now supported, and CPEs that sends this method after receiving InformResponse will get the proper response from the server and can then continue the conversation with the ACS.
  5. Moved away from building rpm and deb files. All modules are now packaged as zip files, with a startup script, jar files, properties and log configuration. You cannot install this version via the scripts. For the early release candidates the modules must be started manually. One way you could wing it in for testing is to copy the systemd files if you have FreeACS installed before. But ill leave that to you right now and better options to deploy will come.
  6. Its no longer possible to start the tr069 server in digest authentication mode without changing the digest secret in the properties file. This will make it harder to hack newly installed systems.

And many more changes that doesn't need to be listed here :)

If you want to test it, great! Give us feedback on how it works, and we will make sure to fix what we can fix. But sometimes, units just don't work well with the ACS. It always depends because there is so many devices out there.

Hope to see you commenting or reporting in the GitHub issues section 💯

v2.2.0

5 years ago

Fixing issues:

  • #289
  • #287

Also:

  • Improved CentOS installation script.
  • fixed parsing of product class to avoid incompatible unit type names.

v2.1.8

5 years ago

Following changes since last release:

  1. Fixed default GET endpoint for tr069
  2. Changed to wildcard classpath for freeacs shell and removing file logger

Verified in Ubuntu 18.04.

v2.1.6

5 years ago

Following changes since last release:

  1. Fixed freeacs-shell so that it can run from anywhere
  2. Removed stability loggers (there are no stability issues, these was used to monitor when all modules ran in single tomcat)
  3. Added fixes and test for displaying gui url in Web and if its behind NAT
  4. Added health endpoint route for GET requests to /tr069 so that its possible to curl http://host:port/tr069

v2.1.5

5 years ago

Following changes since last release:

  1. Support short unitIds for automatic calculation of unittypeName.
  2. Remove stacktrace from log when unit is not authenticated or not found.
  3. Support new (Device) and old (InternetGatewayDevice) connection request url params for unit details (for displaying the device gui information, not battle tested)

Thats it for now.

v2.1.4

5 years ago

Following changes since last release:

  1. Fix missing context path in download urls from tla009
  2. Make sure session times out and automatically logs out user from web module after configured session timeout (default 60 minutes)

Rpm packages are coming soon.

v2.1.2

5 years ago

Following changes since last release:

  1. Revert back to old behavior for application level password, but create the admin user physically for new installations, thus the default application level fallback will never kick in for new installations.
  2. Fix a bug on running jobs where the job cannot be completed properly due to a possible bug in the job verification stage, where it tries to compare the parameter key from the device against the server side computed parameter key.
  3. Display all unit count on search page aka "Search results: Found 100 unit(s) of 2567".
  4. Added automatic redirect from / to /web, so that its quicker to get up and running.
  5. Improved security on login page by disabling autocomplete for password field.
  6. Add back missing public ip address on unit dashboard.
  7. General overall improvements and bug fixes.

Remember that from v2.1.0 and onward the web module has changed property file from .properties to .conf due to rewrite from bloated spring boot to spark java. This will make it so currently running installations with custom settings will break if the config changes is not ported (copy pasted) manually into the new config file. I haven't tested if the deb packaging systems protects both property files and i would assume not.

v2.1.0

5 years ago

Following changes since last release:

  1. Web has been rewritten to spark java, thus lowering the disk, cpu and memory footprint.
  2. Easier property override options added for both dockers .env file and the /etc/default/freeacs-[module] files
  3. Fix potential memory leakage by making sure to clear and remove users cached items when logging out.
  4. General overall improvements and bug fixes.

v2.0.4.4

5 years ago

Note: Most major releases like 2.x.x are rolling releases that gets updated with minor fixes. If i fix a bug on 2.0.4 then i will update this release with new binaries. These changes will however not update the release date.

  1. New and improved scheduling system based on Javas own scheduled executor service api, coupled with the CronExpression class from Quartz. Makes for better and more stable background tasks.
  2. Adding fixes to handling of syslog messages in multithreaded environment where dbi might not be reloaded yet when syslog server receives a message. Thus is not able to find the unit type and profile information for the unit in the syslog message.
  3. Adding tests in tr069 to prove backwards compability with the rest api. Old units configured with /tr069 or /tr069/ should still work. New endpoint to use in the future, is /tr069/prov.
  4. General improvements and maintenance (including fixes on tr069 to return Content-Length)