All Classes

Class Description
BanUserSqlFirewallTrigger
A trigger that will insert into the following table the info detected by the SqlFirewallManager which fired the trigger:
BasicSqlInjectionAnalyser
Provides misc methods to anlyse basic elements of an SQL statement and to check SQL injection attempts.
BeeperSqlFirewallTrigger
A trigger that simply beeps on the terminal if an attack is detected by a SqlFirewallManager.
BlobDownloadConfigurator
Interface that defines the download method that will do the effective Blob/Clob download.
BlobUploadConfigurator
Interface that defines the upload method that will do the effective Blob/Clob upload.
ClientEvent
Allows to get all details of a ServerQueryExecutor call asked by the client side.
ConnectionKey
Defines a key for the Connection Store that keeps connections in memory.
ConnectionStoreManager
Class that allows to manage the server Connection Store that stores in memory the JDBC Connections of the client users during their session.
CsvRulesManager
Firewall manager that checks each SQL request against the content of a CSV File.
CsvRulesManagerNoReload
Firewall manager that extends CsvRulesManager, the only change is to prohibit reloading rules when the CSV file is updated.
DatabaseConfigurationException
Thrown to indicate that a Database configuration error has been detected.
DatabaseConfigurator
Interface that defines the database configurations for AceQL HTTP.
DataSourceStore
Allows to retrieve for each database the org.apache.tomcat.jdbc.pool.DataSource corresponding to the Tomcat JDBC Pool created at AceQL Web server startup.
DefaultBlobDownloadConfigurator
Class that allows downloading Blob/Clobs.
DefaultBlobUploadConfigurator
Class that allows uploading Blob/Clobs.
DefaultDatabaseConfigurator
Default implementation of server side configuration for AceQL.
DefaultLoggerCreator
Creates a default Logback/sl4fj Logger for main AceQL activity.
DefaultPoolsInfo
Allows to display current JDBC pool status and info for each database.
Includes 3 methods to modify the JDBC pools.
DefaultPropertiesPasswordManager
This default implementation will extract the password from the "password" property of the file properties_password_manager.properties which must be located in the same directory as the aceql-server.properties file.
DefaultSessionConfigurator
Default implementation of session management: Session id are generated using a SecureRandom with the SessionIdentifierGenerator class. Session info (username, database) and session date/time creation are stored in a HashMap whose key is the session id. Session id is sent by client side at each API call.
DenyDatabaseWriteManager
Firewall manager that denies any update of the database for the passed user.
DenyDclManager
Firewall manager that denies any DCL (Data Control Language) call.
DenyDdlManager
Firewall manager that denies any DDL (Data Definition Language) call.
DenyExceptOnWhitelistManager
This SQL Firewall Manager only allows incoming SQL statements that match a list of SQL statements stored in the following text file sequentially, one per line.
DenyMetadataQueryManager
Firewall manager that denies the use of the AceQL Metadata Query API.
DenyOnBlacklistManager
This SQL Firewall Manager denies incoming SQL statements that match a list of SQL statements stored in the following text file sequentially, one per line.
DenySqlInjectionManager
A firewall manager that allows detecting SQL injection attacks, using the third-party Cloudmersive API:
Usage requires getting a Cloudmersive API key through a free or paying account creation at www.cloudmersive.com/pricing.
DenySqlInjectionManagerAsync
A firewall manager that allows detecting SQL asynchronously injection attacks, using the third-party Cloudmersive API:
Usage requires getting a Cloudmersive API key through a free or paying account creation at www.cloudmersive.com/pricing.
DenyStatementClassManager
Firewall manager that denies any call of the raw Statement class.
JdbcLoggerSqlFirewallTrigger
A trigger that will INSERT the SqlEvent info and the sqlFirewallManager class name into a aceql_denied_request SQL table.
JdbcPasswordEncryptor
Tooling class that allows to generate to hashed/encrypted passwords for JdbcUserAuthenticator.
JdbcUserAuthenticator
A concrete UserAuthenticator that allows zero-code remote client (username, password) authentication using a JDBC query run against an SQL table.

The request that is executed is defined in the jdbcUserAuthenticator.authenticationQuery property in the aceql-server.properties file.
JsonLoggerSqlFirewallTrigger
A trigger that will log using JSON format the SqlEvent info and the sqlFirewallManager class name.
JsonLoggerUpdateListener
Concrete implementation of UpdateListener.
JwtSessionConfigurator
Session management using self-contained JWT (JSON Web Token).
LdapUserAuthenticator
A concrete UserAuthenticator that allows zero-code remote client (username, password) authentication against a LDAP server.
LoggerCreator
Allows to create a neutral sl4fj Logger that thus will support many implementations.
NoFormatter
A nothing to do formatter.
PropertiesEncryptor
Command line interface for property values encryption.
PropertiesPasswordManager
Interface that defines how to get the password used to encrypt the Properties of the aceql-server.properties file.
RequestHeadersAuthenticator
Allows authenticating a client user using the request headers set and sent from the client side.
ServerQueryExecutor
Implementation of this interface allow client side to call a server side programmed class that returns a ResultSet.
SessionConfigurator
Interface that defines how to generate and verify session id for (username, database) sessions.
SessionIdentifierGenerator
Session id generator with 26 long strings.
SessionInfo
Utility holder class for session info.
SimpleHttpClient
Simple HttpClient to use for the AceQL AWS (Authentication Web Service)
SimpleSha1
Simple SHA-1 implementation.
SqlEvent
Allows to get all details of a SQL event asked by the client side.
SqlFirewallManager
Interface that allows to define firewall rules for AceQL HTTP SQL calls.
SqlFirewallTrigger
Interface that allows to define a trigger if for the specified SqlFirewallManager the allowSqlRunAfterAnalysis() method call returns false.
SshUserAuthenticator
A concrete UserAuthenticator that allows zero-code remote client (username, password) authentication against a SSH server.
StatementAnalyzer
Class that allows the analysis of the string content of a SQL statement, mainly for security reasons.
StatementNormalizer
Allows to "normalize" the text of a SQL statement.
UpdateListener
The listener interface for receiving SQL update events.
UserAuthenticator
Interface that defines how to authenticate a remote client that wants to create an AceQL session.
UsernameConverter
Usernames must be converted by replacing Windows characters, because they are used as directory names when uploading/downloading Blobs.
Version
Allows to get version info.
VerySimpleFormatter
A very simple formatter on one line Stolen on https://stackoverflow.com/questions/194765/how-do-i-get-java-logging-output-to-appear-on-a-single-line
WebServer
AceQL Web Server start and stop with command line.
WebServerApi
APIs to start and stop the embedded Web Server from a Java program.
WebServiceUserAuthenticator
A concrete UserAuthenticator that allows zero-code remote client (username, password) authentication against a Web service.
WindowsUserAuthenticator
A concrete UserAuthenticator that allows zero-code remote client (username, password) authentication against the Windows machine on which the AceQL instance is running.