Uploaded image for project: 'MariaDB Connector/J'
  1. MariaDB Connector/J
  2. CONJ-1227

Bug with connection through JDBC Driver in high security manager environments

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 3.5.1
    • 3.5.2
    • java8, JDBC compatibility
    • None
    • Boomi Public Atom Cloud

    Description

      Boomi Public Atom Cloud is set up using a high-security manager environment and it does not allow reflections which we detect your code is using. Is there any workaround to avoid this?

      We tried to use these properties but we had the same issue:
      useSSL=false
      allowPublicKeyRetrieval=true
      useOldAliasMetadataBehavior=true

      It seems to be that the MariaDB driver is calling Field.setAccessible(true) via org.mariadb.jdbc.Configuration.mapPropertiesToOption.
      We want to avoid doing so as the high-security manager does not allow this.

      Below contains details like the connection properties and stack trace for the issue:
      Browse operation failed; Caused by: Connection Failed; Caused by: Failed to open database connection. URL: jdbc:mariadb://20.0.237.57:3306/boomi Properties:

      {password=*****, user=opadmin}

      Error: error parsing url : Unexpected error StackTrace: java.sql.SQLException: error parsing url : Unexpected error at org.mariadb.jdbc.Configuration.parseInternal(Configuration.java:896) at org.mariadb.jdbc.Configuration.parse(Configuration.java:809) at org.mariadb.jdbc.Driver.connect(Driver.java:97) at org.mariadb.jdbc.Driver.connect(Driver.java:27) at com.onepointltd.boomi.connector.database.DatabaseConnection.getDatabaseConnection(DatabaseConnection.java:207) at com.onepointltd.boomi.connector.database.DatabaseConnection.test(DatabaseConnection.java:170) at com.onepointltd.boomi.connector.database.DatabaseBrowser.testConnection(DatabaseBrowser.java:381) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.boomi.connector.generic.GenericConnector$GenericConnectorInvocationHandler.invoke(GenericConnector.java:669) at com.sun.proxy.$Proxy38.testConnection(Unknown Source) at com.boomi.connector.generic.GenericConnectorBrowseAction.connect(GenericConnectorBrowseAction.java:161) at com.boomi.connector.factory.ConnectorManager$BrowseActionTracker.connect(ConnectorManager.java:1361) at com.boomi.execution.forker.browser.WorkerBrowseManager$Browser.run(WorkerBrowseManager.java:346) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at com.boomi.util.concurrent.CancellableFutureTask.run(CancellableFutureTask.java:158) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: java.lang.IllegalArgumentException: Unexpected error at org.mariadb.jdbc.Configuration.mapPropertiesToOption(Configuration.java:980) at org.mariadb.jdbc.Configuration.parseInternal(Configuration.java:891) ... 20 more Caused by: java.security.AccessControlException: access denied ("java.lang.reflect.ReflectPermission" "suppressAccessChecks") at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) at java.base/java.security.AccessController.checkPermission(AccessController.java:897) at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322) at com.boomi.security.ExtendedSecurityManager.checkPermissionImpl(ExtendedSecurityManager.java:228) at com.boomi.security.ExtendedSecurityManager.checkPermission(ExtendedSecurityManager.java:119) at java.base/java.lang.reflect.AccessibleObject.checkPermission(AccessibleObject.java:83) at java.base/java.lang.reflect.Field.setAccessible(Field.java:169) at org.mariadb.jdbc.Configuration.mapPropertiesToOption(Configuration.java:917) ... 21 more : java.sql.SQLException: error parsing url : Unexpected error; Caused by: error parsing url : Unexpected error; Caused by: Unexpected error; Caused by: access denied ("java.lang.reflect.ReflectPermission" "suppressAccessChecks")

      Attachments

        Activity

          People

            diego dupin Diego Dupin
            JakeR Jake Raeburn
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.