Can we please have a notification scheme enabled for Undertow Jira?
by Darran Lofthouse
Can we please have a notification scheme enabling for the Undertow Jira
project so that we can receive e-mail notifications.
I would suggest just use the same one as is used for Remoting JMX, it
should be sufficient to have the notifications go to the general mailing
list and interested individuals.
Regards,
Darran Lofthouse.
10 years, 3 months
Reducing Use of Undertow IdentityManager
by Darran Lofthouse
Hello all,
Starting this e-mail thread as I want to raise the option of reducing
the use of the IdentityManager [1] within Undertow[2]. At the moment I
think it at risk of becoming another general purpose IDM API/SPI which
was never it's intention.
The purpose of this IdentityManager was as an SPI to define the
verification methods required by the authentication mechanisms included
in Undertow. By providing it in this way the core of Undertow would not
be dependent on any specific IDM implementation.
Short term within WildFly we have implementations of this that wrap by
the management security realms and the existing JAAS domains - longer
term we will only be wrapping PicketLink IDM.
In the past the question has been raised, "Why not just use PicketLink
IDM directly?". From an Undertow perspective the reason is so that we
can use different IDM implementations and transition from what we have
today in WildFly to purely using PicketLink IDM, also the core of
Undertow is not dependent on any specific implementation.
For any additional authentication mechanisms being added there is no
need for them to use this as an API and encouraging mechanisms to use
this encourages that this interface is going to increase in complexity.
What I am looking to do now is to remove access to this interface from
the SecurityContext and instead leave it to be retrieved as an
attachment from the HttpServerExchange. The WildFly integration will
then take on the responsibility of ensuring the appropriate
implementation is attached to the exchange.
Where authentication mechanisms are added that require access to more
advanced IDM capabilities then the IDM required should be attached to
the exchange and the mechanism use it directly.
From an Undertow perspective this just leaves one small interface that
needs to be implemented so that the authentication mechanism can
register the authenticated identity with the current request: -
void authenticationComplete(final Account account, final String
mechanismName);
As I type this e-mail I realise I may have one further option - remove
the IdentityManager interface entirely and instead make each
authentication mechanism abstract with a verify method. As we integrate
in WildFly we extend each mechanism to provide the implementation of the
verify methods.
Either way I do not think Undertow is the correct location for a new
general purpose IdentityManager API, if we truly need that then it
should be split out into it's own module so that it can also be used
outside of HTTP e.g. SASL.
Regards,
Darran Lofthouse.
1 - https://community.jboss.org/wiki/Undertow-IdentityManager
2 - https://issues.jboss.org/browse/UNDERTOW-65
11 years, 6 months
Getting name of the default server, host and servlet container from the Undertow subsystem
by Gytis Trikleris
Hello,
I am using Undertow to register servlet in the WilfFly service I am
working on. Everything works fine with default values. However, I need a
way to get server, host, and servlet container names in case user will
change them in standalone.xml. Could anybody recommend any solutions?
Here is the brief extract of my service code showing how do I register
deployment:
/...//
//private
InjectedValue<org.wildfly.extension.undertow.ServletContainerService>
injectedServletContainerService = new InjectedValue<>();//
//private InjectedValue<org.wildfly.extension.undertow.Host>
injectedHost = new InjectedValue<>();//
//...//
// private void deployCoordinatorServlet(final
io.undertow.servlet.api.DeploymentInfo deploymentInfo) throws
//ServletException//{//
// io.undertow.servlet.api.DeploymentManager manager =
injectedServletContainerService.getValue().getServletContainer().addDeployment(deploymentInfo);//
//
// manager.deploy();//
//
//injectedHost.getValue().registerDeployment(deploymentInfo,
manager.start());//
// }//
//.../
Service dependencies are registered during subsystem's boot time as follows:
/...
private final ServiceName hostServiceName =
UndertowService.virtualHostName("default-server", "default-host");
private final ServiceName servletContainerServiceName =
UndertowService.SERVLET_CONTAINER.append("default");
...//
// @Override
public void performBoottime(OperationContext context,
ModelNode operation, ModelNode model,
ServiceVerificationHandler verificationHandler,
List<ServiceController<?>> newControllers)
throws OperationFailedException {
final CoordinatorService coordinatorService = new
CoordinatorService();
final ServiceBuilder<CoordinatorService> builder =
context.getServiceTarget().addService(RTSSubsystemExtension.COORDINATOR,
coordinatorService)
.addDependency(hostServiceName, Host.class,
coordinatorService.getInjectedHost())
.addDependency(servletContainerServiceName,
ServletContainerService.class,
coordinatorService.getInjectedServletContainerService());
...
}//
/
/.../
Hope I have explained my problem clear enough.
Thanks,
Gytis
11 years, 6 months
Build failed in Jenkins: Undertow #342
by ci-builds@redhat.com
See <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/342/changes>
Changes:
[stuart.w.douglas] 1.0.0.Alpha15
[stuart.w.douglas] Next is Alpha16
[stuart.w.douglas] Simplify example
------------------------------------------
[...truncated 615 lines...]
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.059 sec
Running io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec
Running io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.142 sec
Running io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.041 sec
Running io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.084 sec
Running io.undertow.servlet.test.request.RequestPathTestCase
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.048 sec
Running io.undertow.servlet.test.proprietry.BypassServletTestCase
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.03 sec
Running io.undertow.servlet.test.path.ServletPathMappingTestCase
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.033 sec
Running io.undertow.servlet.test.path.RealPathTestCase
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec
Running io.undertow.servlet.test.path.FilterPathMappingTestCase
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.086 sec
Running io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
Running io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.047 sec
Running io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.223 sec
Running io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec
Running io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.088 sec
Running io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.043 sec
Running io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.046 sec
Running io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec
Running io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase
Received message: abcčšž
Received message: abcčšž
Received message: abcčšž
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.183 sec
Running io.undertow.servlet.test.charset.CharacterEncodingTestCase
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 sec
Running io.undertow.servlet.test.async.SimpleAsyncTestCase
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.235 sec
Running io.undertow.servlet.test.SimpleServletTestCase
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.018 sec
Results :
Tests run: 71, Failures: 0, Errors: 0, Skipped: 0
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ undertow-servlet ---
[INFO] Building jar: <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/servle...>
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ undertow-servlet ---
[INFO] Building jar: <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/servle...>
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default) @ undertow-servlet ---
[INFO]
[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ undertow-servlet ---
[INFO] Building jar: <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/servle...>
[INFO] [INFO] Installing <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/servle...> to /home/jenkins/.m2/repository/io/undertow/undertow-servlet/1.0.0.Alpha16-SNAPSHOT/undertow-servlet-1.0.0.Alpha16-SNAPSHOT.jar
[INFO] Installing <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/servle...> to /home/jenkins/.m2/repository/io/undertow/undertow-servlet/1.0.0.Alpha16-SNAPSHOT/undertow-servlet-1.0.0.Alpha16-SNAPSHOT.pom
[INFO] [INFO] Installing <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/servle...> to /home/jenkins/.m2/repository/io/undertow/undertow-servlet/1.0.0.Alpha16-SNAPSHOT/undertow-servlet-1.0.0.Alpha16-SNAPSHOT-sources.jar
--- maven-install-plugin:2.4:install (default-install) @ undertow-servlet ---
[INFO] Installing <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/servle...> to /home/jenkins/.m2/repository/io/undertow/undertow-servlet/1.0.0.Alpha16-SNAPSHOT/undertow-servlet-1.0.0.Alpha16-SNAPSHOT-tests.jar
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Undertow JSP 1.0.0.Alpha16-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-java-version) @ undertow-jsp ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-maven-version) @ undertow-jsp ---
[INFO]
[INFO] --- buildnumber-maven-plugin:1.2:create-timestamp (get-build-timestamp) @ undertow-jsp ---
[INFO]
[INFO] --- buildnumber-maven-plugin:1.2:create (get-scm-revision) @ undertow-jsp ---
[INFO] [INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/sr...>
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ undertow-jsp ---
[INFO] [INFO] Changes detected - recompiling the module!
[INFO] Compiling 4 source files to <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/ta...>
[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ undertow-jsp ---
[INFO]
[INFO] --- maven-checkstyle-plugin:2.10:checkstyle (check-style) @ undertow-jsp ---
[INFO] Starting audit...
Audit done.
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] [INFO] skip non existing resourceDirectory <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/sr...>
[INFO] Copying 1 resource
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ undertow-jsp ---
[INFO] [INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/ta...>
[INFO] --- maven-compiler-plugin:3.0:testCompile (default-testCompile) @ undertow-jsp ---
[INFO] [INFO] Surefire report directory: <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/ta...>
-------------------------------------------------------
[INFO] --- maven-surefire-plugin:2.11:test (default-test) @ undertow-jsp --- T E S T S
-------------------------------------------------------
Running io.undertow.test.jsp.basic.SimpleJspTestCase
00:53:04,614 INFO (main) [org.xnio] <Xnio.java:73> XNIO Version 3.1.0.CR5
00:53:04,660 INFO (main) [org.xnio.nio] <NioXnio.java:51> XNIO NIO Implementation Version 3.1.0.CR5
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.368 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[JENKINS] Recording test results
[INFO] [INFO] Building jar: <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/ta...>
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ undertow-jsp ---
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ undertow-jsp ---[INFO] Building jar: <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/ta...>
[INFO] Installing <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/ta...> to /home/jenkins/.m2/repository/io/undertow/undertow-jsp/1.0.0.Alpha16-SNAPSHOT/undertow-jsp-1.0.0.Alpha16-SNAPSHOT.jar
[INFO] [INFO] Installing <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/po...> to /home/jenkins/.m2/repository/io/undertow/undertow-jsp/1.0.0.Alpha16-SNAPSHOT/undertow-jsp-1.0.0.Alpha16-SNAPSHOT.pom
[INFO] Installing <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/ta...> to /home/jenkins/.m2/repository/io/undertow/undertow-jsp/1.0.0.Alpha16-SNAPSHOT/undertow-jsp-1.0.0.Alpha16-SNAPSHOT-sources.jar
[INFO] --- maven-install-plugin:2.4:install (default-install) @ undertow-jsp ---
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Undertow Examples 1.0.0.Alpha16-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-java-version) @ undertow-examples ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-maven-version) @ undertow-examples ---
[INFO]
[INFO] --- buildnumber-maven-plugin:1.2:create-timestamp (get-build-timestamp) @ undertow-examples ---
[INFO]
[INFO] --- buildnumber-maven-plugin:1.2:create (get-scm-revision) @ undertow-examples ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] [INFO] Copying 2 resources
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ undertow-examples ---
[INFO] Changes detected - recompiling the module!
[INFO] [INFO] Compiling 9 source files to <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/exampl...>
[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ undertow-examples ---
[WARNING] <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/exampl...>: <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/exampl...> uses unchecked or unsafe operations.
[WARNING] <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/exampl...>: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- maven-checkstyle-plugin:2.10:checkstyle (check-style) @ undertow-examples ---
[INFO] Starting audit...
<http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/exampl...>:5:8: Unused import - io.undertow.io.IoCallback.
<http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/exampl...>:8:8: Unused import - io.undertow.util.Headers.
Audit done.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Undertow Build Configuration ...................... SUCCESS [15.251s]
[INFO] Undertow .......................................... SUCCESS [2.037s]
[INFO] Undertow Parser Generator ......................... SUCCESS [4.646s]
[INFO] Undertow Core ..................................... SUCCESS [46.659s]
[INFO] Undertow Servlet .................................. SUCCESS [21.086s]
[INFO] Undertow JSP ...................................... SUCCESS [5.354s]
[INFO] Undertow Examples ................................. FAILURE [1.137s]
[INFO] Undertow WebSockets JSR356 implementations ........ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:38.193s
[INFO] Finished at: Fri May 17 00:53:08 EDT 2013
[INFO] Final Memory: 32M/301M
[INFO] ------------------------------------------------------------------------
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/parser...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-parser-generator/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-parser-generator/1.0.0.Alpha16-SNAPSHOT/undertow-parser-generator-1.0.0.Alpha16-SNAPSHOT.pom
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/parser...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-parser-generator/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-parser-generator/1.0.0.Alpha16-SNAPSHOT/undertow-parser-generator-1.0.0.Alpha16-SNAPSHOT.jar
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/parser...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-parser-generator/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-parser-generator/1.0.0.Alpha16-SNAPSHOT/undertow-parser-generator-1.0.0.Alpha16-SNAPSHOT-sources.jar
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/pom.xml> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-parent/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-parent/1.0.0.Alpha16-SNAPSHOT/undertow-parent-1.0.0.Alpha16-SNAPSHOT.pom
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/websoc...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-websockets-jsr/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-websockets-jsr/1.0.0.Alpha16-SNAPSHOT/undertow-websockets-jsr-1.0.0.Alpha16-SNAPSHOT.pom
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/build-...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-build-config/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-build-config/1.0.0.Alpha16-SNAPSHOT/undertow-build-config-1.0.0.Alpha16-SNAPSHOT.pom
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/build-...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-build-config/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-build-config/1.0.0.Alpha16-SNAPSHOT/undertow-build-config-1.0.0.Alpha16-SNAPSHOT.jar
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/build-...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-build-config/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-build-config/1.0.0.Alpha16-SNAPSHOT/undertow-build-config-1.0.0.Alpha16-SNAPSHOT-sources.jar
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/servle...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-servlet/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-servlet/1.0.0.Alpha16-SNAPSHOT/undertow-servlet-1.0.0.Alpha16-SNAPSHOT.pom
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/servle...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-servlet/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-servlet/1.0.0.Alpha16-SNAPSHOT/undertow-servlet-1.0.0.Alpha16-SNAPSHOT.jar
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/servle...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-servlet/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-servlet/1.0.0.Alpha16-SNAPSHOT/undertow-servlet-1.0.0.Alpha16-SNAPSHOT-sources.jar
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/servle...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-servlet/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-servlet/1.0.0.Alpha16-SNAPSHOT/undertow-servlet-1.0.0.Alpha16-SNAPSHOT-tests.jar
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/exampl...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-examples/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-examples/1.0.0.Alpha16-SNAPSHOT/undertow-examples-1.0.0.Alpha16-SNAPSHOT.pom
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/po...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-jsp/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-jsp/1.0.0.Alpha16-SNAPSHOT/undertow-jsp-1.0.0.Alpha16-SNAPSHOT.pom
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/ta...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-jsp/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-jsp/1.0.0.Alpha16-SNAPSHOT/undertow-jsp-1.0.0.Alpha16-SNAPSHOT.jar
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/jsp/ta...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-jsp/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-jsp/1.0.0.Alpha16-SNAPSHOT/undertow-jsp-1.0.0.Alpha16-SNAPSHOT-sources.jar
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/core/p...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-core/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-core/1.0.0.Alpha16-SNAPSHOT/undertow-core-1.0.0.Alpha16-SNAPSHOT.pom
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/core/t...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-core/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-core/1.0.0.Alpha16-SNAPSHOT/undertow-core-1.0.0.Alpha16-SNAPSHOT.jar
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/core/t...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-core/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-core/1.0.0.Alpha16-SNAPSHOT/undertow-core-1.0.0.Alpha16-SNAPSHOT-sources.jar
[JENKINS] Archiving <http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/Undertow/ws/core/t...> to /home/jenkins/.jenkins/jobs/Undertow/modules/io.undertow$undertow-core/builds/2013-05-17_00-51-19/archive/io.undertow/undertow-core/1.0.0.Alpha16-SNAPSHOT/undertow-core-1.0.0.Alpha16-SNAPSHOT-tests.jar
Waiting for Jenkins to finish collecting data
mavenExecutionResult exceptions not empty
message : Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.10:checkstyle (check-style) on project undertow-examples: An error has occurred in Checkstyle report generation.
cause : An error has occurred in Checkstyle report generation.
Stack trace :
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.10:checkstyle (check-style) on project undertow-examples: An error has occurred in Checkstyle report generation.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.maven.plugin.MojoExecutionException: An error has occurred in Checkstyle report generation.
at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:131)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 27 more
Caused by: org.apache.maven.reporting.MavenReportException: Failed during checkstyle execution
at org.apache.maven.plugin.checkstyle.AbstractCheckstyleReport.executeReport(AbstractCheckstyleReport.java:264)
at org.apache.maven.plugin.checkstyle.CheckstyleReport.executeReport(CheckstyleReport.java:339)
at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:196)
at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:104)
... 29 more
Caused by: org.apache.maven.plugin.checkstyle.CheckstyleExecutorException: There are 2 checkstyle errors.
at org.apache.maven.plugin.checkstyle.DefaultCheckstyleExecutor.executeCheckstyle(DefaultCheckstyleExecutor.java:218)
at org.apache.maven.plugin.checkstyle.AbstractCheckstyleReport.executeReport(AbstractCheckstyleReport.java:245)
... 32 more
Sending e-mails to: undertow-dev(a)lists.jboss.org
channel stopped
11 years, 6 months
resteasy oauth undertow security requirements
by Bill Burke
Hey all,
Is there a web-site for Undertow? Any documentation or examples?
I'm hoping to start migrating Resteasy's OAuth work so that it works
with Undertow. I don't know whether or not it will require undertow
security API changes or not. I'll post some initial
requirements/how-we-do-it-now stuff below.
1. Support for multiple simultaneous auth protocols for one web-app. Any
servlet auth + oauth + bearer-token.
2. Ability to introspect principal and role mapping from underlying
"domain". We create a smart token from this information. With
JBossWeb, we hacked this information from the Principal passed back from
the security layer.
3. Ability to add additional action URLs to the web-app without
additional user configuration. With JBossWeb, we handled all these URLs
within a valve.
4. Ability to create both principal and role mappings on the fly from an
incoming request's bearer token.
5. Ability to obtain any client certificates so that they can be
verified. Verification only. For this I want to be able to verify the
client that is acting on behalf of a user. So the calling client's
certificates may not be the same identity of the actual user.
6. Ability to store state in-between requests. This isn't a session as
it will be two different clients that need to share data. in OAuth,
there's the User Agent that establishes an access code for the web-app.
The web-app makes a separate HTTP request to verify the access code
and turn it into a token.
7. Ability to log out any requested user. Our current implementation
has an admin interface that can log out a user on *every* app they are
logged into.
That's all I can think of now. So, Undertow needs to provide these
capabilities within their security API, *OR*, it requires a Valve
architecture that can override any current built-in auth infrastructure,
but at the same time, have access to the "domain" and be able to
authenticate and introspect principal and role mappings.
--
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com
11 years, 6 months
Predicate Handlers
by Stuart Douglas
A fairly common requirement for web requests is to enable or disable a
certain action based on the state of the request. e.g:
- disable compression if the response > 10Mb
- If the user agent is X add header Y
- If the path starts with /private disable caching
etc
To enable us to acomplish this Undertow has the concept of predicates[1],
which as you would expect are a function object that takes the exchange as
an argument and returns a boolean value.
We also provide boolean operator predicates (and, or, not) that allow you
to combine these predicates into arbitrarily complex values. The idea is
that if a user want to configure a conditional action on the request they
will use these predicates to specify the condition.
To that end we need some way of representing them in the Wildfly
configuration file, and so I have hacked up a basic syntax to configure
them, and I would like some feedback. The configuration syntax will written
directly into the standalone.xm and jboss-web.xmll to conditionally enable
handlers.
A basic example looks like:
path["/MyPath"] or (method[value="POST"] and not
requestHeadersPresent[value={Content-Type, "Content-Encoding"},
ignoreTrailer=true] )
The following boolean operators are built in, listed in order or
precedence:
-
not
-
and
- or
They work pretty much as you would expect them to. All other tokens are
taken
to be predicate names. If the predicate does not require any parameters
then the
brackets can be omitted, otherwise they are
mandatory.
If a predicate is only being passed a single parameter then the parameter
name can be omitted.
Strings can be enclosed in optional quotations marks, and quotation marks
can be escaped using
\"
Array types are represented via a comma separated list of values enclosed
in curly braces.
Predicate definitions themselves are loaded via a service loader mechanim,
with the service implementation specifying the name and the parameter
types.
I would be interested to hear what people think. At the moment this is very
simple, however a by product of this simplicity is that you need multiple
predicates to handle similar things (e.g. requestHeadersPresent,
responseHeadersPresent, requestHeaderContains, requestHeaderEquals etc).
[1]
https://github.com/undertow-io/undertow/tree/master/core/src/main/java/io...
11 years, 6 months