Hi Gareth,
thanks for the issue.
I did take a look the code looks good so far.
How did you test it till now? Probably an enhanced
war that you use. I'd suggest you create a sample
war in the samples and use it in the itests.
This way we have a sample on how to use the
new features and also a nice test for automatic testing
and debugging. :)
regards, Achim
Am 19.07.2012 20:50, schrieb Gareth Collins:
Hello Achim,
I have added the issue here:
http://team.ops4j.org/browse/PAXWEB-396
I have also checked in an initial implementation into my fork on
github (details in the issue comments).
These changes worked for my me (the implementation is
straight-forward). If you get a change to take a look,
it would be much appreciated.
thanks in advance,
Gareth
On Thu, Jul 19, 2012 at 4:55 AM, Achim Nierbeck <[email protected]> wrote:
Hi Gareth,
could you please open a "new feature" issue for this and add some
comments on what
we agreed on in Jira. This way it's easier for tracking and to place
the version this is
supposed to be released ;)
thanks, Achim
2012/7/16 Achim Nierbeck <[email protected]>:
Hi Gareth,
comments inline:
2012/7/16 Gareth Collins <[email protected]>:
Hello Achim,
One more question...
I see that the default connectors setup using the Pax Web
configuration file don't appear to have
names. Would you mind if I added two new configuration items for these
default connectors
(perhaps with default names "default" and "secureDefault"?)?
sure go ahead, haven't had the need for names yet.
BTW, feel free to tell me this is too much detail for the mailing
list. If yes, I will start emailing
you directly.
Unless no one complains and I'm sure all others are
OK with it keep asking :)
This is still an OpenSource project so this way it's also
a nice way of documenting the reasons behind decisions.
And one might always come around with a better suited
idea this way :)
thanks in advance,
Gareth
No Problem, I'm glad that you stepped up for it :)
Regards, Achim
On Sat, Jul 14, 2012 at 8:22 AM, Achim Nierbeck <[email protected]> wrote:
Hi Gareth,
my comments inline.
2012/7/13 Gareth Collins <[email protected]>:
Hello Achim,
A further question while I have it on my mind:
(1) If I wanted to verify the host http header is valid (i.e.to
protect against a user faking the host), before routing a request to a
particular
web app, would that be something that could be done in Pax Web...or
could that only be done in Jetty?
I'm not sure if this could be done with jetty or is already a "valid" method
there. So Pax web might be a good place. But beware this test might
stale the startup of Pax Web when it tries to look for a valid address.
(2) Would it be a foolish idea to be able to choose connectors via a
Manifest Header (potentially called "Web-Connectors", again with a
default in the Pax Web Configuration)? Something like what is shown in
"Alternative" here (I am assuming that the preferred multiple jetty
servers implementation would be a substantial amount of work):
Well what already can be done is the posibility to configure
multiple Jetty Connectors through the jetty.xml.
So I think adding a special Manifest Entry for the webapp might be a nice addon.
I think that this might be even a nice idea to make this
configuration somehow available for servlets beeing registered either through
the http service or through the whiteboard extender.
http://docs.codehaus.org/display/JETTY/How+to+serve+webbapp+A+from+portA+and+webapp+B+from+portB
Perhaps this is the better internal/external security option?
thanks,
Gareth
On Thu, Jul 12, 2012 at 3:08 PM, Gareth Collins
<[email protected]> wrote:
Hello Achim,
I believe I am already a member of ops4j team (garethcollins) on
github. I have forked pax-web to
start work on this. Once I am done, if you could verify/provide
feedback on my change it would be much appreciated.
Of course, this has proven to be a quite practial thing in the past :)
If you are happy that I have not done anything completely foolish and
I have verified the change works then I will
pull and approve my pull.
+1 :)
A couple of questions I am a little unsure of yet:
(1) Would this be a reasonable prioritization for setting virtual hosts?:
(a) If virtual hosts is set in jetty-web.xml, use that value.
(b) Else if set in Web-VirtualHosts header, use that value.
(c) Else default to the configured value. If that configured value
is null, virtual hosts should not be set.
sounds fair enough since a jetty-web.xml might be a valid
configuration for a "standalon" war also.
(2) If Pax Web configuration is changed via configuration admin, does
Pax Web restart...or does it try to
only change the delta somehow (handling deltas may potentially make my
task harder)?
Since it's a managed Service the default behaviour of OSGi is taking
care of this.
So the service in question is stoped and restarted. In this case you don't need
think about a delta behaviour :)
thanks again,
Gareth
Actually I have to thank you, cause this is the work the community
needs to be a successfull
community.
Regards, Achim
On Thu, Jul 12, 2012 at 4:29 AM, Achim Nierbeck <[email protected]> wrote:
Hi Gareth,
thanks for sharing your thoughts, my comments inline :)
2012/7/11 Gareth Collins <[email protected]>:
Hello Achim,
I have a proposal (which solves my problem). Would this be foolish?:
Proposals are never foolish, it's always a good starting point for a
good discussion :)
(1) Add a new Manifest Header Web-VirtualHosts which lists the virtual
hosts for the webapp.
Their are at least two advantages of setting the virtual hosts this way:
(a) it is webapp container type independent.
(b) the header can be set as part of the war url (I have set
arbitrary header names this way in the past).
A new Manifest Header actually could be really useful.
So +1 for this Idea.
(2) Add a new configuration item for Pax Web, which, if not null
describes a default set
of Virtual Hosts (i.e. to allow restrict by default for webapps such
as the activemq or karaf console).
+1 for the configuration item.
The default should be null so I'm quite fine with this idea :)
I had a look at the Pax Web code. It doesn't appear that it should be
that hard to implement (I believe I can see how to pass the
information
via the WebApp through to the Jetty ContextHandler). If I implemented
such a feature would you merge it in?
First of all thank you for willing to contribute,
second we at ops4j rather give you direct access then applying patches :)
So If you give me your Github Account name I'll add you to the
committers list.
If you want me to review this before "merge" to trunk
you can either start a branch in the ops4j repo
or start your own branch in your own repository and I
will happily review it.
It turned out in the past that this was a quite good way of working together
thanks in advance,
Gareth
I have to thank you for committing :)
Achim
On Tue, Jul 10, 2012 at 5:54 PM, Achim Nierbeck <[email protected]> wrote:
Hi Gareth,
sorry it took me a bit longer :)
yes you need to make sure the jetty-web.xml file is contained inside
the war/wab next to
the std. web.xml file.
Concerning the jetty.xml file you might be able to "alter" certain behaviour for
allready deployed applications, though I have to admitt thinking more
about this
this probably won't work due to the way the war/wabs are deployed.
regards, Achim
2012/7/9 Gareth Collins <[email protected]>:
Hello Achim,
Thank you very much for the response. I did look at the Jetty Eclipse
wiki and it wasn't obvious
to me how I could do what I think I need via jetty.xml. I will keep researching.
Say I wanted to add this jetty-web.xml file to the war/wab on install
(because I don't know until install
what the virtual hosts will be). Would this be something that
logically would be part of the war
url handler...or would this need to be something different (especially
since it would be jetty specific - e.g.
a "jvh - Jetty Virtual Host" url handler?)?
Just trying to understand how this potentially could be done (I am
assuming that if I wanted this I would
need to implement it).
thanks in advance,
Gareth
On Sat, Jul 7, 2012 at 3:32 PM, Achim Nierbeck <[email protected]> wrote:
Hi Gareth,
comments inline
2012/7/6 Gareth Collins <[email protected]>:
Hello Achim,
Just letting you know I have migrated all my webapps over to the pax
web trunk (i.e. which includes
the fix) successfully. It is working great now. Thankyou!
great to hear
always welcome :)
The next thing I wanted to try out was the new Virtual Hosts feature.
I looked at the pax web examples
and the jetty documentation. For pax web, it appears like the only way
to do this is via a file (jetty-web.xml) in the war.
Is this correct?
indeed as pax-web does only "configure" jetty it's the jetty-web.xml
for configuring.
I ask because I was hoping to restrict access to third-party wars
(such as the activemq web war or the karaf console)
to specific virtual hosts (i.e. I don't want these on an external
facing port/IP). Is that something I can do without editing
these third-party wars and adding the jetty-web.xml file (if I have
to, I have to - just seeing if I am missing something here)?
ok, to restrict to specific virtual hosts is a kind of tricky
please follow the instructions in [1].
But you will have a hard time configuring this to different ports.
What I haven't tried yet but might be a possible solution to not
alter certain wars is to try to configure this via the jetty.xml.
regards, Achim
[1] - http://wiki.eclipse.org/Jetty/Howto/Configure_Virtual_Hosts
thanks in advance,
Gareth
On Thu, Jun 21, 2012 at 8:50 AM, Gareth Collins
<[email protected]> wrote:
Thanks very much!
Gareth
On Tue, Jun 19, 2012 at 9:25 PM, Achim Nierbeck <[email protected]> wrote:
Hi Gareth,
I just took care of it.
I'm going to release a new version of Pax web ASAP, latest beginning of next
week :)
regards, Achim
Am 19.06.2012 19:18, schrieb Gareth Collins:
Hello Achim,
Added:
http://team.ops4j.org/browse/PAXWEB-384
I can have a go at fixing it next week (as it is somewhat a showstopper
for me)
when I get back home.
thanks again,
Gareth
On Sun, Jun 17, 2012 at 6:36 PM, Achim Nierbeck <[email protected]>
wrote:
Hi Gareth,
could you open an issue for this, I think limiting this to just 2 *.xml
files is probably wrong.
This is probably more a thinking of the old times where the web.xml was
supposed to be a single file.
Opening this to include a jetty-web.xml is probably the cause for this.
Regards, Achim
Am 16.06.2012 05:08, schrieb Gareth Collins:
Hello,
As I see that some new software has been updated recently (such as Pax
Web 2.0.0 - thankyou!) I decided to go back
and try to update my OSGi dependencies and streamline my environment
(which is why I was interested in removing
the start ordering dependency in pax confman).
Anyway one of the first things I am trying to do in my updated
environment is to get the updated 5.6.0 activemq web console
to play nicely with the updated Pax Web. I am getting an error from
Pax Web and I am not sure what it means (this is with equinox 3.6.2
with the bndtools launcher). Is this suggesting there is something
wrong with the activemq web console war or is this suggesting
something else? There are seven XML files in the activemq WEB-INF
directory:
20:50:23,521 | DEBUG | Gogo shell |
..swissbox.extender.BundleWatcher[216] | []:[] | Found resources
[bundleentry://11.fwk2060982148/WEB-INF/web.xml,
bundleentry://11.fwk2060982148/WEB-INF/webconsole-default.xml,
bundleentry://11.fwk2060982148/WEB-INF/webconsole-embedded.xml,
bundleentry://11.fwk2060982148/WEB-INF/webconsole-invm.xml,
bundleentry://11.fwk2060982148/WEB-INF/webconsole-jndi.xml,
bundleentry://11.fwk2060982148/WEB-INF/webconsole-properties.xml,
bundleentry://11.fwk2060982148/WEB-INF/webconsole-query.xml]
20:50:23,527 | INFO | Executor: 1 |
..war.internal.WebXmlObserver[117] | []:[] | Using [activemqweb] as
web application context name
20:50:23,527 | DEBUG | Framework Event Dispatcher |
..apache.activemq.activemq-web-console[?] | []:[] | BundleEvent
STARTED
20:50:23,527 | ERROR | Executor: 1 |
..war.internal.WebXmlObserver[124] | []:[] | Number of xml's was not
lesser than 3. Was: 7
org.ops4j.lang.PreConditionException: Number of xml's was not lesser
than 3. Was: 7
at
org.ops4j.lang.PreConditionException.validateLesserThan(PreConditionException.java:155)[33:org.ops4j.pax.web.pax-web-extender-war:2.0.0]
at
org.ops4j.pax.web.extender.war.internal.WebXmlObserver.addingEntries(WebXmlObserver.java:121)[33:org.ops4j.pax.web.pax-web-extender-war:2.0.0]
at
org.ops4j.pax.swissbox.extender.BundleWatcher$3.run(BundleWatcher.java:224)[33:org.ops4j.pax.web.pax-web-extender-war:2.0.0]
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_31]
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_31]
at
java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_31]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_31]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_31]
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_31]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_31]
at java.lang.Thread.run(Thread.java:680)[:1.6.0_31]
20:50:23,528 | DEBUG | Executor: 1 |
..war.internal.WebEventDispatcher[130] | []:[] | Sending web event
WebEvent [replay=false, type=5,
bundle=org.apache.activemq.activemq-web-console_5.6.0 [11],
extenderBundle=org.ops4j.pax.web.pax-web-extender-war_2.0.0 [33],
cause=org.ops4j.lang.PreConditionException: Number of xml's was not
lesser than 3. Was: 7, timestamp=1339807823528,
contextPath=/activemqweb, collisionIds=null, httpService=null,
httpContext=null] for bundle org.apache.activemq.activemq-web-console
20:50:23,531 | DEBUG | WebListenerExecutor: 2 |
..pax.web.pax-web-extender-war[?] | []:[] |
org/osgi/service/web/FAILED
If anyone could indicate what this error may mean (is there really a
max xml file limit in this directory?), it would be much appreciated.
thanks in advance,
Gareth
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
--
- Apache Karaf <http://karaf.apache.org/> Committer & PMC
- OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer &
Project Lead
- OPS4J Pax for Vaadin
<http://team.ops4j.org/wiki/display/PAXVAADIN/Home>
Committer & Project Lead
- Blog <http://notizblog.nierbeck.de/>
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
--
- Apache Karaf <http://karaf.apache.org/> Committer & PMC
- OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
- OPS4J Pax for Vaadin <http://team.ops4j.org/wiki/display/PAXVAADIN/Home>
Committer & Project Lead
- Blog <http://notizblog.nierbeck.de/>
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
--
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer & Project Lead
OPS4J Pax for Vaadin
<http://team.ops4j.org/wiki/display/PAXVAADIN/Home> Commiter & Project
Lead
blog <http://notizblog.nierbeck.de/>
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
--
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer & Project Lead
OPS4J Pax for Vaadin
<http://team.ops4j.org/wiki/display/PAXVAADIN/Home> Commiter & Project
Lead
blog <http://notizblog.nierbeck.de/>
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
--
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer & Project Lead
OPS4J Pax for Vaadin
<http://team.ops4j.org/wiki/display/PAXVAADIN/Home> Commiter & Project
Lead
blog <http://notizblog.nierbeck.de/>
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
--
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer & Project Lead
OPS4J Pax for Vaadin
<http://team.ops4j.org/wiki/display/PAXVAADIN/Home> Commiter & Project
Lead
blog <http://notizblog.nierbeck.de/>
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
--
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer & Project Lead
OPS4J Pax for Vaadin
<http://team.ops4j.org/wiki/display/PAXVAADIN/Home> Commiter & Project
Lead
blog <http://notizblog.nierbeck.de/>
--
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer & Project Lead
OPS4J Pax for Vaadin
<http://team.ops4j.org/wiki/display/PAXVAADIN/Home> Commiter & Project
Lead
blog <http://notizblog.nierbeck.de/>
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general
--
- Apache Karaf <http://karaf.apache.org/> Committer & PMC
- OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
- OPS4J Pax for Vaadin <http://team.ops4j.org/wiki/display/PAXVAADIN/Home>
Committer & Project Lead
- Blog <http://notizblog.nierbeck.de/>
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general