AOServ Client Changelog


Snapshot Notes

  • UID_MIN and GID_MIN, as found in /etc/login.defs, is now set on a per-server basis. Older servers keep this at 500 whereas newer servers use the current default of 1000.

    1. Added AOServer.getUidMin()
    2. Added AOServer.getGidMin()
    3. Added LinuxAccount.UID_MAX
    4. Added LinuxGroup.GID_MAX
    5. Removed LinuxID.isSystem()
    6. Removed LinuxServerAccount.MINIMUM_USER_UID
  • Top-level domains change frequently these days. Top reduce code maintenance, using new AO TLDs project to have a self-updating list of top-level domains.
  • Changed distribution verification from MD5 to SHA-256.

    1. Removed DistroFile.hasFileMD5()
    2. Removed DistroFile.getFileMD5Hi()
    3. Removed DistroFile.getFileMD5Lo()
    4. Added DistroFile.hasFileSha256()
    5. Added DistroFile.getFileSha256_0()
    6. Added DistroFile.getFileSha256_1()
    7. Added DistroFile.getFileSha256_2()
    8. Added DistroFile.getFileSha256_3()

    No MD5 data will be sent to older clients. DistroFile.hasFileMD5() will return false for all files.

  • Bug fixes:
    1. Ticket: Fixed handling of filtered reseller field.
  • Web site resources moved to more predictable locations for CentOS 7:
    1. Apache virtual hosts moved from /www to /var/www.
    2. Apache virtual hosts logs moved from /logs to /var/log/httpd-sites.
    3. Multi-site Tomcat installations moved from /wwwgroup to /var/opt/apache-tomcat.
    4. Servers that are upgraded retain compatibility links at the old paths.
  • Moved the following classes to the new AO Lang project:
    1. com.aoindustries.aoserv.client.DtoFactory
    2. com.aoindustries.aoserv.client.validator.InvalidResult
    3. com.aoindustries.aoserv.client.validator.ValidationException
    4. com.aoindustries.aoserv.client.validator.ValidationResult
    5. com.aoindustries.aoserv.client.validator.ValidResult
  • Moved the following classes to the new AO Net Types project:
    1. com.aoindustries.aoserv.client.dto.DomainLabel
    2. com.aoindustries.aoserv.client.dto.DomainLabels
    3. com.aoindustries.aoserv.client.dto.DomainName
    4. com.aoindustries.aoserv.client.dto.Email
    5. com.aoindustries.aoserv.client.dto.HostAddress
    6. com.aoindustries.aoserv.client.dto.InetAddress
    7. com.aoindustries.aoserv.client.dto.MacAddress
    8. com.aoindustries.aoserv.client.dto.NetPort
    9. com.aoindustries.aoserv.client.validator.DomainLabel
    10. com.aoindustries.aoserv.client.validator.DomainLabels
    11. com.aoindustries.aoserv.client.validator.DomainName
    12. com.aoindustries.aoserv.client.validator.Email
    13. com.aoindustries.aoserv.client.validator.HostAddress
    14. com.aoindustries.aoserv.client.validator.InetAddress
    15. com.aoindustries.aoserv.client.validator.MacAddress
    16. com.aoindustries.aoserv.client.validator.NetPort
  • Removed a few tables that are now represented by self-validating types:
    1. Removed linux_ids table
    2. Removed net_ports table
    3. Removed net_protocols table
  • Removed a couple protocols that referred to old raw net protocol:
    1. Removed protocols.rtmp row
    2. Removed row
  • Changed column types to use new self-validating types:
    1. Changed to hostname type
    2. Changed distro_files.group_name to group_id type
    3. Changed email_pipes.path to string type
    4. Renamed email_pipes.path to command
    5. Changed failover_file_replications.quota_gid to linux_id type
    6. Changed httpd_sites.group_name to group_id type
    7. Changed httpd_tomcat_contexts.doc_base to path type
    8. Changed linux_group_accounts.group_name to group_id type
    9. Changed to group_id type
    10. Changed to group_id type
    11. Changed linux_server_accounts.uid to linux_id type
    12. Changed linux_server_groups.gid to linux_id type
    13. Changed to hostname type
    14. Changed to mysql_database_name type
    15. Removed mysql_reserved_words table
    16. Changed to mysql_server_name type
    17. Changed mysql_server_users.username to mysql_username type
    18. Changed mysql_users.username to mysql_username type
    19. Changed net_binds.port to net_port type
    20. Removed net_binds.net_protocol column
    21. Changed net_devices.mac_address to mac_address type
    22. Changed net_tcp_redirects.destination_port to net_port type
    23. Changed to postgres_database_name type
    24. Removed postgres_reserved_words table
    25. Changed to postgres_server_name type
    26. Changed postgres_server_users.username to postgres_username type
    27. Changed postgres_users.username to postgres_username type
    28. Removed protocols.net_protocol column
    29. Changed protocols.port to net_port type
    30. Changed ticket_actions.old_assigned_to to username type
    31. Changed ticket_actions.new_assigned_to to username type
  • Removed package type:
    1. Changed dns_zones.package to accounting type
    2. Changed email_domains.package to accounting type
    3. Changed email_pipes.package to accounting type
    4. Changed email_smtp_relays.package to accounting type
    5. Changed httpd_sites.package to accounting type
    6. Changed ip_addresses.package to accounting type
    7. Changed linux_groups.package to accounting type
    8. Changed monthly_charges.package to accounting type
    9. Changed mysql_databases.package to accounting type
    10. Changed mysql_servers.package to accounting type
    11. Changed net_binds.package to accounting type
    12. Changed to accounting type
    13. Changed usernames.package to accounting type
  • Changed client-side objects to use more of the new self-validating types:
    1. Changed path type implementation to UnixPath class
    2. Changed username type implementation to UserId class
  • Removed AOSH commands covered by self-validating types:
    1. Removed check_business_administrator_username command.
    2. Removed check_email_forwarding command.
    3. Removed check_ip_address command.
    4. Removed check_linux_account_username command.
    5. Removed check_package_name command.
  • New field CvsRepository.DEFAULT_CVS_DIRECTORY providing the default directory containing CVS repositories.
  • Completed generics for CannotRemoveReason.
  • MySQL and PostgreSQL database dump improvements:
    1. New gzip flag to enable Gzip compression.
    2. New methods to dump databases directly into an OutputStream to avoid the additional encoding layer of the default Writer.
    3. New constants providing dump character encoding.
    4. Database dumps now provide the size of the dumps in bytes.
  • New interface AOServStreamable that extends Streamable, but represents its version as AOServProtocol.Version.
  • Extended network protocol to send randomized command sequences to help ensure stream integrity.
  • Now supporting MySQL 5.7.
  • is now nullable.
  • Added linux_group_accounts.operating_system_version column to limit groups on a per-operating-system-version basis.
  • Linux shell accounts now support, and default to, non-hashed home directories in /home/username format. Hashed home directories of the form /home/u/username are still supported when specifically selected.
  • New AOServer.addSystemGroup() and AOServer.addSystemUser() calls for AOServ Daemon to automatically register new system groups and users with the AOServ Master.
  • Added linux_server_accounts.sudo column to configure sudo on a per-user and per-server basis.
  • Enabled more fine-grained control over per-site Apache settings:
    1. Added HttpdSite.getEnableSsi()
    2. Added HttpdSite.getEnableHtaccess()
    3. Added HttpdSite.getEnableIndexes()
    4. Added HttpdSite.getEnableFollowSymlinks()
    5. Added HttpdSite.getEnableAnonymousFtp()
    6. Added parameters to add_httpd_jboss_site command for new settings.
    7. Added parameters to add_httpd_tomcat_shared_site command for new settings.
    8. Added parameters to add_httpd_tomcat_std_site command for new settings.
    9. Added set_httpd_site_php_version command.
    10. Added set_httpd_site_enable_cgi command.
    11. Added set_httpd_site_enable_ssi command.
    12. Added set_httpd_site_enable_htaccess command.
    13. Added set_httpd_site_enable_indexes command.
    14. Added set_httpd_site_enable_follow_symlinks command.
    15. Added set_httpd_site_enable_anonymous_ftp command.
    16. Added set_httpd_tomcat_site_use_apache command.
  • Enabled more fine-grained control over Tomcat settings:
    1. Added HttpdSharedTomcat.getMaxPostSize()
    2. Added HttpdSharedTomcat.getUnpackWARs()
    3. Added HttpdSharedTomcat.getAutoDeploy()
    4. Added HttpdTomcatStdSite.getMaxPostSize()
    5. Added HttpdTomcatStdSite.getUnpackWARs()
    6. Added HttpdTomcatStdSite.getAutoDeploy()
    7. Added set_httpd_shared_tomcat_max_post_size command.
    8. Added set_httpd_shared_tomcat_unpack_wars command.
    9. Added set_httpd_shared_tomcat_auto_deploy command.
    10. Added set_httpd_tomcat_std_site_max_post_size command.
    11. Added set_httpd_tomcat_std_site_unpack_wars command.
    12. Added set_httpd_tomcat_std_site_auto_deploy command.
  • Disabled site now packaged in RPM and distributed via Yum.
  • New system groups:
    1. aoserv-jilter
    2. memcached
    3. saslauth
  • New system users:
    1. aoserv-jilter
    2. memcached
  • Added Protocol.RFB for VNC servers.


Release Notes

  • New AO OSS Parent POM to simplify pom.xml files.
  • Project documentation moved to per-project book in SemanticCMS format.
  • Added changelog as top-level project link.
  • Default DNS zone TTL changed from 43200 (12 hours) to 3600 (1 hour).
  • Existing zones that were the default 43200 have been changed to 3600.


Release Notes

  • Improved Javadoc formatting.
  • Improved README formatting.


Release Notes

  • Improved Javadoc formatting.
  • Additional MySQL collation.
  • Each lock object now a small empty class to help identify lock contention.

    The lock contention profiler in NetBeans is just showing "java.lang.Object" all over, and can't seem to get from the lock object id to the actual object in the heap dump using OQL (id not found).

  • Updated MySQL JDBC documentation URLs.


Release Notes

  • Added ".top" top-level domain.


Release Notes

  • Improved Maven configuration for Java EE 6 dependencies.


Release Notes

  • MySQL JDBC only used for tests.


Release Notes

  • Project moved to GitHub and Maven.