This version (2017/05/27 13:44) is a draft.
Approvals: 0/1

[08:43:48] <pmlopes> @pikajude you can use the LoggerHandler for that:

[08:48:30] <ovestoerholt> Hi! Anyone with recommendations on how to query LDAP servers (AD)? Not only for authentication like Shiro, but for getting person info.

[09:50:49] <matzew> running the “fatjar-http2”, I am getting “ .vertx.core.VertxException: failed to set certificate and key”

[09:51:02] <matzew> Is there anythning I need to do in addition? I thought it's all done for me

[09:51:20] <matzew> Java version: 1.8.0_121, vendor: Oracle Corporation

[09:51:20] <matzew> Java home: /usr/lib/jvm/java-1.8.0-openjdk-

[09:56:35] <tsegismont> matzew, same here, can you open an issue?

[09:56:45] <matzew> OK, of course

[09:56:50] <tsegismont> thanks

[09:56:56] <matzew> tsegismont, any JIRA ? or GH issue ?

[09:57:04] <tsegismont> no, no JIRA :)

[09:57:06] <tsegismont> GitHub

[09:57:29] <tsegismont> matzew,

[09:57:45] <tsegismont> (For the full details)

[10:18:43] <matzew> tsegismont,

[10:19:16] <tsegismont> thanks matzew

[10:49:04] <temporalfox> ppatiern hi

[10:50:19] <msavy> howdy, i think you guys need to rebuild the website to reflect those recent changes

[10:50:28] <temporalfox> which ones ?

[10:50:31] <temporalfox> the fixes in the blog ?

[10:51:52] <msavy> yeah, just happened to be downloading the beta today and noticed it

[10:52:08] <msavy> not a big thing, but thought i'd mention it in passing

[11:54:11] <ppatiern> temporalfox: hi

[12:05:26] <temporalfox> hi

[12:09:16] <ppatiern> were you searching for me ?

[12:30:00] <temporalfox> ppatiern yes I wanted you to review the doc changes for kafka

[12:30:05] <temporalfox> so we can merge them

[12:30:11] <temporalfox> and make another pass on the review

[12:30:20] <ppatiern> I wrote some comments on your PR

[12:30:21] <temporalfox> (i.e /me reviewing things)

[12:30:23] <temporalfox> ok

[12:30:27] <temporalfox> I will handle that this afternoon

[12:30:32] <ppatiern> ok ;)

[12:34:20] <ppatiern> temporalfox: can I ask you a question related to sequential composition ?

[12:36:27] <temporalfox> ppatiern yes

[12:37:05] <ppatiern> I'm seeing the example in the Java core manual with filesystem and 3 futures

[12:37:34] <ppatiern> I'm also viewing the compose() and completer() source code in the Future class

[12:37:52] <ppatiern> related to the example I can't see how the startFuture.complete() or .fail() is called

[12:39:32] <temporalfox> I think we should remove this from the doc

[12:39:37] <temporalfox> the form to call is

[12:39:51] <temporalfox> compose(Function<T, Future<U>)

[12:40:01] <temporalfox> the other was made before this form existed

[12:41:30] <ppatiern> btw in the “old” form I can't see any point where the startFuture.complete() is called

[12:41:33] <ppatiern> the doc says :

[12:41:34] <ppatiern> In this second case, the[unknown:nbsp]Handler[unknown:nbsp]should complete the[unknown:nbsp]next[unknown:nbsp]future to report its success or failure.You can use[unknown:nbsp]completer[unknown:nbsp]that completes a future with the operation result or failure. It avoids having to write the[unknown:nbsp]traditional:[unknown:nbsp]if success then complete the future else fail the future.

[12:41:46] <temporalfox> I think the online version is broken

[12:42:07] <ppatiern> so I should call explicitly the startFuture.complete() in the handler right ?

[12:42:11] <temporalfox> it should be correct here

[12:42:11] <temporalfox>

[12:42:26] <temporalfox> I don't see where you commented in the PR

[12:42:39] <ppatiern> oh now it works to me !

[12:42:43] <ppatiern> thanks to the right doc :-D

[12:43:04] <temporalfox>

[12:43:07] <temporalfox> ah ok

[12:43:20] <temporalfox> I'll merge it then

[12:43:20] <temporalfox> or you can

[12:43:46] <ppatiern> I didn't submit the review

[12:43:49] <ppatiern> it was in pending

[12:43:53] <ppatiern> can you see the comments now ?

[12:44:36] <temporalfox> ah

[12:44:47] <temporalfox> I forgot also to do that once

[12:44:52] <temporalfox> wil have a look after lunch

[12:45:02] <ppatiern> good lunch !

[12:45:03] <ppatiern> ;)

[15:01:58] <temporalfox> ppatiern I've added an example with vertx buffer serializers

[15:03:38] <ppatiern> temporalfox: I can't see it in the PR

[15:03:46] <temporalfox> I've added it directly

[15:03:54] <temporalfox> I think we are close to conclude the review

[15:04:09] <ppatiern> but I don't see the commit :-)

[15:06:26] <temporalfox> ah

[15:06:30] <temporalfox> hint: (e.g., 'git pull …') before pushing again.

[15:06:30] <temporalfox> hint: See the 'Note about fast-forwards' in 'git push –help' for details.

[15:06:31] <temporalfox> hold on

[15:06:32] <temporalfox> I rebase

[15:06:54] <temporalfox> I said it is eventually consistent :-)

[15:06:56] <temporalfox> done

[15:13:52] <temporalfox> ppatiern I think we can merge the initial-work branch

[15:14:01] <temporalfox> I'm giong to send an email to vertx-dev abou t it

[15:15:22] <ppatiern> now I see the commits :-)

[15:29:37] <ppatiern> temporalfox: I merged … but I can't delete initial-work and make master as default branch

[15:29:38] <ppatiern> :-(

[15:30:00] <ppatiern> why I don't have the “settings” icon ? too few rights for doing that ?

[15:38:07] <temporalfox> ppatiern yes

[15:38:19] <temporalfox> the project lead can do it

[15:38:19] <temporalfox> (i.e me)

[15:38:24] <ppatiern> ok

[15:38:28] <temporalfox> that being said we don't need that much access to settings

[15:38:43] <temporalfox> let me do it

[15:38:46] <ppatiern> sure

[15:38:49] <ppatiern> no problem

[15:39:24] <temporalfox> I think you can delete now the initial work branch

[15:45:22] <ppatiern> yes

[15:46:23] <temporalfox> I'm going to update CI with it

[15:47:50] <ppatiern> I'm quite new to the Vert.x world … but I guess that the 3.4.0 release will be epic ! :-)

[18:28:50] <temporalfox> all releases are epic :-)

[18:29:19] <temporalfox> ppatiern I've integrated the kakfa client in the stack

[18:29:26] <temporalfox> where should it go on the website ?

[18:29:33] <temporalfox> messaging section I guess ?

[18:29:37] <ppatiern> sure

[18:30:01] <temporalfox> right now we have an integration section

[18:30:08] <temporalfox>

[18:30:15] <ppatiern> I think that is good as well

[18:30:21] <temporalfox>

[18:30:38] <ppatiern> I'm for that

[18:30:43] <ppatiern> Integration

[18:31:19] <ppatiern> just a note

[18:31:32] <ppatiern> I see that before the MQTT server there isn't the “IoT” title section

[18:31:44] <ppatiern> and the MQTT Server text is ah higher size

[18:31:53] <ppatiern> like the titles in the other sections

[18:34:30] <ppatiern> temporalfox: in the index.html there is a problem here <li><a href=“#mqtt-server”>IoT</a></li>

[18:34:37] <temporalfox> yes

[18:34:44] <temporalfox> it's because we have a single entry

[18:34:49] <temporalfox> it's not a problem

[18:34:55] <ppatiern> and a missing <h3 id=“devops”>IoT</h3>

[18:34:57] <temporalfox> I prefer it to be labeled as IoT in the menu

[18:35:04] <ppatiern> (I copied from devops :-))

[18:35:04] <temporalfox> but keep only mqtt-server as there is nothing else

[18:35:06] <temporalfox> in the page

[18:35:27] <ppatiern> but having the title section is more consistent as user experience

[18:35:39] <ppatiern> even having the size of MQTT server the same as the other components

[18:35:47] <ppatiern> isn't it possible to fix ?

[18:35:58] <ppatiern> or at least imho … it should be fixed :-)

[19:52:09] <ghost_x> Hey - I was wondering if someone could help me with SSL in vertx?

[19:52:29] <ghost_x> I typed out my full question here:

[19:54:06] <ghost_x> Walking through the code - the closest I have got is “new VertxTrustManagerFactory” → but that all seems to be very locked down.

[19:57:55] <ghost_x> Budged over to the google group:!topic/vertx/V25r0zc_wPc

[21:21:36] <temporalfox> ghost_x I replied to you on the site

[22:48:55] <ghost_x> temporalfox - Cheers! I replied.

[22:51:12] <temporalfox> hi ghost_x it would be great if you can debug it and see what happens

[22:51:23] <temporalfox> the SSLHelper class is quite straightforward

[22:51:33] <temporalfox> and probably following the flow would help understand what is going on

[22:51:55] <ghost_x> Stepping through it slowly right now - I was hoping you might know off the top of your head

[22:53:33] <temporalfox> no, I think it should work

[22:53:41] <temporalfox> but it's actually not tested per se

[22:53:46] <temporalfox> although we have three different impls of this

[22:53:55] <temporalfox> and the three work (tests)

[22:54:07] <temporalfox> Pem / Jks / Pkcs

[22:54:12] <ghost_x> 104 statically loads everything

[22:54:27] <temporalfox> right now we are a bit stretch

[22:55:01] <ghost_x> Mmm - SSLHelper:108 ignores any trust manager settings

[22:55:11] <temporalfox> did you look at getTrustMgrFactory

[22:55:12] <temporalfox> ?

[22:55:18] <temporalfox> line 298

[22:55:40] <ghost_x> Stepping through it right now - 108 is called first - which means everything is loaded unnecessarily

[22:55:48] <ghost_x> I'll let you know when I get to 298

[22:57:45] <temporalfox> 108 line is only to get the list of DEFAULT_JDK_CIPHER_SUITE

[23:00:47] <ghost_x> Hmm the function at 292 is never called

[23:01:41] <ghost_x> nvm it is - debugger wasn't triggered

[23:06:28] <ghost_x> JdkSslContext calls context.init(null, null, null) again causing the second load

[23:10:23] <ghost_x> Problem is at

[23:11:30] <ghost_x> (actually no)

[23:14:01] <ghost_x> AH!

[23:14:25] <ghost_x> You don't run engineInit before calling the engineGetTrustManagers

[23:14:38] <ghost_x> So it returns null

[23:17:46] <ghost_x> And logging doesn't work inside the inner class, which made me think it was never called

[23:23:32] <temporalfox> so is it a bug in SSLHElper ?

[23:24:06] <ghost_x> At some point before is called - you need to call engineInit

[23:24:19] <ghost_x> It can throw errors so preferably early on

[23:25:03] <ghost_x> I'm just initialising it manually at the constructor now - but that's a work around. Vertx should call the init

[23:25:07] <temporalfox> could you make a test for this ?

[23:25:43] <temporalfox> it could go here

[23:25:43] <temporalfox>

[23:25:57] <temporalfox> just giving a created TrustOption interface

[23:26:03] <temporalfox> and make sure the callback is called

[23:26:07] <temporalfox> to make the test pass

[23:26:11] <ghost_x> (y)

[23:28:31] <ghost_x> Also - I'm not sure if you've seen the spam Vertx causes with “System.setProperty(“”, “ssl”);” enabled

[23:28:39] <ghost_x> Might be worth looking at that

[23:28:49] <ghost_x> It loads in the root certs twice

[23:33:52] *** ChanServ sets mode: +o temporal_

[23:43:42] <ghost_x> Oh - I finally got it working! After two days! I can now establish a connection to a server which doesn't have the clients cert - and it will add it to an in-memory trust store on the server.