Uploaded image for project: 'JBoss Log Manager'
  1. JBoss Log Manager
  2. LOGMGR-340

ObjectBuilder support for char[]

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 2.1.9.Final
    • core
    • None

      The MailHandler included with AngusMail allows setting the mail password via char array.

      Using wildfly-29.0.1.Final when I try to set this property I see the following error:

      21:55:35,845 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 1) WFLYCTL0013: Operation ("write-attribute") failed - address: ([
          ("subsystem" => "logging"),
          ("custom-handler" => "MAIL")
      ]): java.lang.IllegalArgumentException: Unknown parameter type for property authenticator on class org.eclipse.angus.mail.util.logging.MailHandler
      	at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.getValue(LogContextConfigurationImpl.java:465)
      	at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.lambda$validate$0(AbstractPropertyConfiguration.java:213)
      	at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:47)
      	at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:208)
      	at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:203)
      	at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:336)
      	at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:289)
      	at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.logmanager.ConfigurationPersistence.prepare(ConfigurationPersistence.java:299)
      	at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$CommitOperationStepHandler.lambda$execute$0(LoggingOperations.java:131)
      	at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1064)
      	at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:785)
      	at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:476)
      	at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1455)
      	at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:449)
      	at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$executeForResponse$0(ModelControllerImpl.java:259)
      	at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
      	at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
      	at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeForResponse(ModelControllerImpl.java:259)
      	at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeOperation(ModelControllerImpl.java:253)
      	at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:236)
      	at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:213)
      	at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
      	at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:91)
      	at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.lambda$handleRequest$0(ElytronIdentityHandler.java:62)
      	at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:328)
      	at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:285)
      	at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
      	at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
      	at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.handleRequest(ElytronIdentityHandler.java:61)
      	at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
      	at io.undertow.core@2.3.7.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
      	at io.undertow.core@2.3.7.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1348)
      	at java.base/java.lang.Thread.run(Thread.java:833)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513) 

      MailHandler::setAuthenticator is overloaded to allow an Authenticator implementation or a char[] (varargs).  A possible enhancement would be to allow ObjectBuilder to include an additional case for char[] and convert the string value to a char array.  Support for CharSequence should also be considered.

              Unassigned Unassigned
              jason.mehrens Jason Mehrens (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: