Differences

This shows you the differences between two versions of the page.

Link to this comparison view

irc:1435615200 [2017/05/27 13:44] (current)
Line 1: Line 1:
 +[00:32:09] <​temporalfox>​ jtruelove you need PemTrustOptions on the client only if you don't trust any server, i.e if ClientOptionsBase#​trustAll == false
 +
 +[00:32:58] <​temporalfox>​ jtruelove then your client TrustOptions (whatever you chose) must have the server cert
 +
 +[00:33:56] <​temporalfox>​ jtruelove however you absolutely need the a KeyCertOptions for authenticating to the server (whatever impl you chose)
 +
 +[00:35:03] <​temporalfox>​ perhaps we need more examples in vertx examples repo about this
 +
 +[04:48:56] <​Odiel>​ Hello there
 +
 +[04:50:43] <​Odiel>​ I'm trying to implement a handler to override the response content when there is a 404 error, but I'm not able to find what I'm suppose to use to do so, can anybody point me out some hints?
 +
 +[05:02:29] <​maziz>​ Hi all. Guys, im planning to start small contribution to vertx. Some im submitting my eclipse CLA. The clause [unknown:​ldquo]You will only Submit Contributions to which You have the necessary rights. This means that if You are employed You have received the necessary permissions from Your employer to make the Contributions.[unknown:​rdquo] Even you contribute at your own time, you still need to ask permission from your employer?
 +
 +[06:24:03] <​huntter>​ Hi all, I find there is a google example to demo how vertx integrate with spring https://​github.com/​vert-x3/​vertx-examples/​tree/​master/​spring-examples,​ but in this example, is use SpringDemoVerticle to handle the request, if I want to use the Route and Handler to handle the request, where I can find the resources of that?
 +
 +[06:24:32] <​huntter>​ and EventBus actually
 +
 +[10:42:22] <​purplefox_>​ temporalfox:​ morning
 +
 +[10:43:36] <​temporalfox>​ purplefox_ hi
 +
 +[10:43:59] <​purplefox_>​ temporalfox:​ i wonder if you can help me
 +
 +[10:44:05] <​temporalfox>​ purplefox_ tell me
 +
 +[10:44:15] <​purplefox_>​ temporalfox:​ I am trying to push the Vert.x 2 archetype to sonatype
 +
 +[10:44:21] <​temporalfox>​ ok
 +
 +[10:44:22] <​purplefox_>​ using maven
 +
 +[10:44:42] <​temporalfox>​ what can I do ?
 +
 +[10:44:47] <​purplefox_>​ and it's failing on not authorised, so I guess I haven'​t set up my settings.xml correctly with my credentials
 +
 +[10:44:48] <​temporalfox>​ do you want me to deploy it ?
 +
 +[10:44:53] <​purplefox_>​ but I just can't figure it out
 +
 +[10:45:11] <​purplefox_>​ i got it to work yesterday with gradle for the vertx-core 2.x release
 +
 +[10:45:12] <​temporalfox>​ what thing you can do is go on oss.sonatype.org
 +
 +[10:45:17] <​purplefox_>​ but can't get it to work with maven
 +
 +[10:45:17] <​temporalfox>​ ok
 +
 +[10:45:31] <​temporalfox>​ do you have this info in your settings.xml ?
 +
 +[10:45:33] <​purplefox_>​ yeah i've seen the docs, but i just find them so confusing
 +
 +[10:45:41] <​purplefox_>​ there seem to be multiple ways to do this
 +
 +[10:45:57] <​temporalfox>​ one thing you can do is go on oss.sonatype.com
 +
 +[10:46:01] <​purplefox_>​ i remember in the "old days" i just had a few lines in my settings.xml and this "just worked"​
 +
 +[10:46:03] <​temporalfox>​ and geneerate a token
 +
 +[10:46:12] <​temporalfox>​ it will give you the XML to copy paste in your build.xml
 +
 +[10:46:15] <​temporalfox>​ settings.xml I mean
 +
 +[10:46:24] <​temporalfox>​ let me see what I do have
 +
 +[10:47:14] <​purplefox_>​ this is what I have in my settings.xml
 +
 +[10:47:15] <​purplefox_>​ https://​gist.github.com/​purplefox/​6b9573c622ff7f2aefc9
 +
 +[10:47:20] <​temporalfox>​ I just do have
 +
 +[10:47:21] <​temporalfox> ​    <​server>​
 +
 +[10:47:21] <​temporalfox> ​      <​id>​sonatype-nexus-staging</​id>​
 +
 +[10:47:21] <​temporalfox> ​      <​username>​vietj</​username>​
 +
 +[10:47:21] <​temporalfox> ​      <​password>​XYZ</​password>​
 +
 +[10:47:22] <​temporalfox> ​    </​server>​
 +
 +[10:47:23] <​purplefox_>​ i believe it *should* work but it doesn'​t
 +
 +[10:47:42] <​temporalfox>​ you don't have staging
 +
 +[10:47:45] <​purplefox_>​ this is the part i don't understand. what should the id be?
 +
 +[10:47:45] <​temporalfox>​ you just have snapshot
 +
 +[10:47:59] <​temporalfox>​ "​sonatype-nexus-staging"​
 +
 +[10:48:05] <​temporalfox>​ this is what is defined in sonatype oss parent
 +
 +[10:48:23] <​purplefox_>​ the docs say the id must correspond to a section in the pom.xml
 +
 +[10:48:32] <​temporalfox>​ <​repository>​
 +
 +[10:48:33] <​temporalfox>​ <​id>​sonatype-nexus-staging</​id>​
 +
 +[10:48:33] <​temporalfox>​ <​name>​Nexus Release Repository</​name>​
 +
 +[10:48:33] <​temporalfox>​ <​url>​https://​oss.sonatype.org/​service/​local/​staging/​deploy/​maven2/</​url>​
 +
 +[10:48:33] <​temporalfox>​ </​repository>​
 +
 +[10:48:53] <​temporalfox>​ this is in org.sonatype.oss : oss-parent pom.xml we extend
 +
 +[10:49:03] <​temporalfox>​ so the id need to match "​sonatype-nexus-staging"​
 +
 +[10:49:04] <​purplefox_>​ ah that's very confusing
 +
 +[10:49:14] <​purplefox_>​ why don't they just say this is in the parent pom?
 +
 +[10:49:24] <​temporalfox>​ because this is a particular case :-)
 +
 +[10:49:25] <​purplefox_>​ and also they don't say what the ids are #fail
 +
 +[10:49:46] <​temporalfox>​ perhaps if you use -X
 +
 +[10:49:50] <​temporalfox>​ it will say which ID it uses
 +
 +[10:49:53] <​temporalfox>​ in the client
 +
 +[10:49:58] <​temporalfox>​ (the server is not aware of the id)
 +
 +[10:49:59] <​purplefox_>​ ok let me try with id=sonatype-nexus-staging
 +
 +[10:52:12] <​purplefox_>​ yay, that worked
 +
 +[10:53:59] <​temporalfox>​ yay!
 +
 +[11:12:14] <​purplefox_>​ hi cescoffier - just wondering how the blog was going? if you want a post to start it off, you could copy the 2.1.6 anouncement to it? :)
 +
 +[11:12:36] <​cescoffier>​ purplefox_ that's a good idea
 +
 +[11:12:49] <​cescoffier>​ will do that in 30 minutes
 +
 +[11:13:00] <​cescoffier>​ I'm still automating example execution, have done 50% of the core-examples
 +
 +[11:28:27] <​purplefox_>​ awesome
 +
 +[11:29:56] <​cescoffier>​ purplefox_: already found bugs ;-)
 +
 +[11:30:21] <​cescoffier>​ purplefox_: it generates reports, gonna publish them tonight, so we can start fixing some stuff
 +
 +[11:30:30] <​purplefox_>​ cool
 +
 +[12:17:23] <​cescoffier>​ purplefox_ temporalfox pmlopes http://​vertx.io/​blog/​blog.html
 +
 +[12:17:43] <​pmlopes>​ nice
 +
 +[12:17:53] <​cescoffier>​ we need more content ;-)
 +
 +[12:18:26] <​purplefox_>​ cescoffier: nice. just one observation - it doesn'​t say who authored the blog entry - i think it would be good to include that information
 +
 +[12:18:51] <​cescoffier>​ yes, I was thinking the same thing and a link to the github account
 +
 +[12:18:56] <​purplefox_>​ so in this case that would be you (or me if you prefer I don't care)
 +
 +[12:19:21] <​purplefox_>​ i think that will important especially for community blog entries as it's good to attribute the community (recognition)
 +
 +[12:19:24] <​cescoffier>​ I need to fix a generation issue in the publication system.
 +
 +[12:19:34] <​cescoffier>​ and then I add the author
 +
 +[12:19:48] <​cescoffier>​ the good news is: I'm starting to understand how or web site works ;-)
 +
 +[12:20:17] <​purplefox_>​ yeah, author name, link to github, or home page, twitter. maybe the same meta data fields that we currently use on the contributors page? most can be optional i guess
 +
 +[12:22:00] <​purplefox_>​ cescoffier: what's the rss feed url again?
 +
 +[12:22:12] <​cescoffier>​ http://​vertx.io/​feed.xml
 +
 +[12:26:04] <​cescoffier>​ purplefox_: author added
 +
 +[12:26:48] <​cescoffier>​ food time, will write more content this afternoon (I need to check if I can add the author in the RSS feed too)
 +
 +[12:27:09] <​purplefox_>​ great
 +
 +[12:28:08] <​purplefox_>​ i think it might also be nice to add somewhere on the blog page something like "Have something interesting to say about Vert.x? Want to contribute to this blog? Send a Pull request to xyz"
 +
 +[12:29:14] <​cescoffier>​ purplefox_: definitely, with a link to the  (need to be written) "write a blog post guide"
 +
 +[12:29:21] <​purplefox_>​ +1
 +
 +[12:30:47] <​cescoffier>​ ah ah ah, love reading RFC: http://​tools.ietf.org/​html/​rfc4287#​page-17
 +
 +[12:41:25] <​purplefox_>​ lol
 +
 +[13:09:00] <​AlexLehm>​ maziz: if you are working on your free time, you still may have a contractual obligation with your employer, so you need a permission in this case as well
 +
 +[13:18:01] <​Sticky>​ it will all depend on the clauses in your employment contract, but clauses along the lines of "we own everything you do while you work for us, even outside of work" are common enough that its worth being explicit about it
 +
 +[13:56:50] <​millross_>​ though there'​s a very good chance that the generality of a clause like that would make it pretty well unenforceable,​ at least in the uk
 +
 +[13:57:07] <​millross_>​ you should still check though, better to get agreement first than have it get messy later
 +
 +[14:12:20] <​Sticky>​ yeah, had to sign an employment contract before that had many crazy clauses such as developing a mental illness was grounds for instant dismissal. HR guy said it was basicly a copy paste contract from a different country where there was a possibility that could be enforced, and there was no chance it would stand up in court
 +
 +[14:39:08] <​purplefox_>​ temporalfox:​ hi julien
 +
 +[14:39:14] <​purplefox_>​ temporalfox:​ do you have a few mins?
 +
 +[14:39:20] <​purplefox_>​ temporalfox:​ (codegen issue)
 +
 +[14:55:35] <​cristianmiranda>​ Hi guys, is there a way to use MongoClient synchronously?​ I need to create an API that access to mongo and returns some data.
 +
 +[14:56:27] <​cristianmiranda>​ Should I use vertx.executeBlocking?​
 +
 +[14:57:01] <​Sticky>​ cristianmiranda:​ even if you could its prettymuch against the vertx asynch pattern to do so
 +
 +[14:57:36] <​Sticky>​ is there a reason you cant process the results from a handler?
 +
 +[14:58:01] <​cristianmiranda>​ Sticky: I need to return the data through the API result, can I do that within the handler?
 +
 +[14:58:17] <​Sticky>​ generally, yes
 +
 +[14:58:42] <​cristianmiranda>​ really? ok, I'll dig a little bit and will come back in case it doesn'​t work. But thanks for the advice :D
 +
 +[15:21:49] <​temporalfox>​ purplefox_ I'm here
 +
 +[15:40:09] <​purplefox_>​ temporalfox:​ having some issue with codegen
 +
 +[15:40:13] <​temporalfox>​ ok
 +
 +[15:40:24] <​temporalfox>​ how can I help you ?
 +
 +[15:40:50] <​purplefox_>​ i'm codegen an interface to produce a java class, and it seems to ignore the output directory and always put the generated class in:
 +
 +[15:41:03] <​purplefox_>​ target/​generated-sources/​annotations
 +
 +[15:41:05] <​temporalfox>​ ok I understand
 +
 +[15:41:15] <​temporalfox>​ it's because Java generated code has a special treatment
 +
 +[15:41:44] <​temporalfox>​ as it needs to be created not as a "​resource"​ but as "java class" so it is compiled by the compiler
 +
 +[15:41:52] <​temporalfox>​ and by default maven configures the compiler to store it there
 +
 +[15:42:12] <​temporalfox>​ you can work around this by configuring the compiler to create files at a different place
 +
 +[15:42:15] <​jtruelove>​ temporalfox what if I'm turning on client authentication on the server though? I need the server to expect a client cert and accept it should I be setting trust options on the server like new PemTrustOptions().addCertPath("​path to folder with certs"​)
 +
 +[15:42:48] <​temporalfox>​ <​generatedSourcesDirectory>​${project.basedir}/​src/​main/​generated</​generatedSourcesDirectory>​
 +
 +[15:42:52] <​temporalfox>​ in compiler plugin configuration
 +
 +[15:43:08] <​temporalfox>​ look in vertx-ext-parent
 +
 +[15:43:20] <​temporalfox>​ I mean it's not work around, it's configuration :-)
 +
 +[15:43:23] <​jtruelove>​ i'm trying to use client certs for identity, I have the server generating a cert from a client CSR signed by a self signed root cert but when i turn on client auth on the server the SSL handshake fails
 +
 +[15:43:51] <​temporalfox>​ jtruelove yes your server needs the client certificates
 +
 +[15:45:57] <​jtruelove>​ so i generate the client certs and i'm adding them to the server via that addCertPath but the SSL handshake still fails
 +
 +[15:46:10] <​jtruelove>​ just when i turn on clientAuthentication(true) of course
 +
 +[15:47:18] <​temporalfox>​ you also need to signing root certificate in your server
 +
 +[15:47:49] <​temporalfox>​ jtruelove I'm looking at our testsuite to see if there is a test for this
 +
 +[15:48:04] <​jtruelove>​ yeah so i'm using the same self signed cert i'm using for ssl for signing the cert
 +
 +[15:48:24] <​jtruelove>​ i can try and put together an example but to get all this working is very involved
 +
 +[15:48:51] <​temporalfox>​ ok
 +
 +[15:48:53] <​jtruelove>​ i wouldn'​t use the same cert in production but I was just trying to get something working
 +
 +[15:48:58] <​temporalfox>​ look in vertx HttpTest class
 +
 +[15:49:07] <​temporalfox>​ there are tests like
 +
 +[15:49:23] <​temporalfox>​ testTLSClientCertRequired
 +
 +[15:49:31] <​temporalfox>​ with various file formats
 +
 +[15:49:44] <​temporalfox>​ I believe your example should be in this list
 +
 +[15:49:49] <​jtruelove>​ k taking a look now
 +
 +[15:49:52] <​temporalfox>​ if it's not we we will add a new one
 +
 +[15:49:55] <​jtruelove>​ certs are a nightmare
 +
 +[15:49:57] <​temporalfox>​ and I htink it would be a good idea
 +
 +[15:50:03] <​temporalfox>​ to have somehting in vertx-examples
 +
 +[15:50:09] <​temporalfox>​ for various cases
 +
 +[15:50:18] <​jtruelove>​ yeah i'll see what i can do
 +
 +[15:50:37] <​jtruelove>​ i wanted to ideally self sign client certs then accept them without having to store the client certs
 +
 +[15:50:46] <​jtruelove>​ because the signing cert was trusted
 +
 +[15:51:09] <​jtruelove>​ but I don't that, that will work at all doesn'​t seem like you can get around storing the client cert on the server
 +
 +[15:51:30] <​jtruelove>​ know that, that will work
 +
 +[16:05:30] <​jtruelove>​ i don't see any tests where the first param is KeyCert.PEM and the server has Trust.PEM set
 +
 +[16:05:47] <​jtruelove>​ there is one where the client has KeyCert.JKS and the server has Trust.PEM
 +
 +[16:06:26] <​purplefox_>​ temporal_: thanks julien that works
 +
 +[16:10:36] <​rajith>​ purplefox_: hey Tim, you have a moment?
 +
 +[16:11:17] <​rajith>​ purplefox_: have a few things to clarify, to make sure I tick off everything required for the 3.1 release
 +
 +[16:14:41] <​purplefox_>​ jtruelove: take a look at the tests that start with "​testTLSClientCertRequired"​ in HttpTest
 +
 +[16:14:48] <​purplefox_>​ rajith: sure
 +
 +[16:16:49] <​purplefox_>​ brb 5 mins
 +
 +[16:19:18] <​jtruelove>​ yeah i saw those, they all have KeyCert.JKS
 +
 +[16:19:36] <​jtruelove>​ just wanted to make sure there wasn't an issue with using KeyCert.PEM there
 +
 +[16:22:49] <​rajith>​ purplefox_: cool
 +
 +[16:24:48] <​purplefox_>​ jtruelove: there'​s a PEM one there too
 +
 +[16:25:21] <​purplefox_>​ jtruelove: testTLSClientCertPEMRequired
 +
 +[16:25:43] <​rajith>​ purplefox_: if I understand correctly, you fixed all the code style issues?
 +
 +[16:25:57] <​rajith>​ purplefox_: just want to make sure that part is covered
 +
 +[16:28:16] <​rajith>​ purplefox_: as for outstanding items... let me open a bunch of issues to better track them
 +
 +[16:31:14] <​purplefox_>​ rajith: not sure if I fixed all the cosmetics, I thik I just reformatted the code in IntellIJ, iirc there are still things like using underscores for member variables remaining
 +
 +[16:31:47] <​purplefox_>​ and "​public"​ modifiers in interface methods
 +
 +[16:34:37] <​rajith>​ purplefox_: I will fix those ... I also sent you an email noting down the items as I remember them... could u pls have a quick look and comment on them?
 +
 +[16:34:53] <​rajith>​ purplefox_: I will then open issue trackers for those items
 +
 +[16:34:53] <​purplefox_>​ rajith: agree with your email. iirc the main thing missing was tests
 +
 +[16:35:25] <​rajith>​ purplefox_: cool ... tmr is a holiday in canada .. I will try to finish most of those items by friday.
 +
 +[16:35:35] <​rajith>​ purplefox_: the tests might take a bit longer.
 +
 +[16:35:50] <​purplefox_>​ cool. there is no hurry, v3.1 won't be out for some weeks yet :)
 +
 +[16:36:09] <​rajith>​ purplefox_: given the distractions I had ... I might as well finish as soon as I can :D
 +
 +[16:36:46] <​rajith>​ purplefox_: I hope your customer visit was better than mine :) .. I had a few gray hairs by the end of the week
 +
 +[16:37:17] <​rajith>​ purplefox_: what I hate the most is the expense report ... a lot of bills to scan :)
 +
 +[16:43:36] <​purplefox_>​ rajith: expenses are never fun ;)
 +
 +[16:44:16] <​jtruelove>​ yeah purplefox i just didn't see one that was all PEM
 +
 +[16:44:21] <​jtruelove>​ not that it matters
 +
 +[17:32:58] <​temporal_>​ purplefox_ you're working on vertx-sync aren't you ?
 +
 +[17:33:24] <​temporal_>​ ah yes just saw the commits
 +
 +[17:35:59] <​purplefox_>​ yes, kind of playing
 +
 +[17:37:06] <​purplefox_>​ temporal_: want to to see something cool?
 +
 +[17:37:15] <​purplefox_>​ here is the jdbc example written using vertx-sync:
 +
 +[17:37:17] <​purplefox_>​ https://​github.com/​vert-x3/​vertx-examples/​blob/​sync/​jdbc-examples/​src/​main/​java/​io/​vertx/​example/​query_sync/​JDBCExampleSync.java
 +
 +[17:37:44] <​purplefox_>​ here's the original one https://​github.com/​vert-x3/​vertx-examples/​blob/​sync/​jdbc-examples/​src/​main/​java/​io/​vertx/​example/​jdbc/​query_params/​JDBCExample.java
 +
 +[17:40:40] <​temporal_>​ does finally work ?
 +
 +[17:41:17] <​purplefox_>​ yeah, i need to add a finally block to close the connection :)
 +
 +[17:41:32] <​temporal_>​ how about transactions :) ?
 +
 +[17:43:32] <​purplefox_>​ it should all "just work" (TM) ;)
 +
 +[17:43:40] <​purplefox_>​ it's Java only though
 +
 +[17:44:25] <​temporal_>​ yes, thats not bad though
 +
 +[17:44:32] <​temporal_>​ I'm wondering how unit testing works with well or not
 +
 +[17:45:01] <​temporal_>​ so next step is to transform ReadStream into Iterable ?
 +
 +[17:47:22] <​purplefox_>​ no, right now I am just doing handler<​asyncresult<>>​ nothing else
 +
 +[17:47:37] <​temporal_>​ very interesting work
 +
 +[17:54:41] <​jtruelove>​ purplefox_ i added a test with the following and that works too https://​www.irccloud.com/​pastebin/​afBtjihK/​
 +
 +[17:54:52] <​jtruelove>​ must be something jacked with my certs
 +
 +[17:55:25] <​jtruelove>​ i wanted to be able to store the root cert in the trust store and validate all issued client certs for identity with that
 +
 +[17:55:32] <​jtruelove>​ but I don't think that's gonna work
 +
 +[17:59:21] <​purplefox_>​ i think you need to have all individual client certs on the server so they can be validated
 +
 +[17:59:25] <​purplefox_>​ if you are using client certs
 +
 +[18:02:46] <​jtruelove>​ yeah i think you're right
 +
 +[18:03:10] <​jtruelove>​ kinda sucks as it would be nice to use them as identity proxys and trust them based on you having the signing cert
 +
 +[18:03:43] <​jtruelove>​ as if they send in the cert you can literally call .verify or validate on the signing cert with their cert and it will pass or fail
 +
 +[23:16:18] <​AlexLehm>​ purplefox_, I noticed that I forgot to remove the idle timeout code in mail-client,​ so it is still in the 3.0.0 version
 +
 +[23:17:28] <​AlexLehm>​ I assume we can take it out in the next version