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

[01:51:22] * ChanServ sets mode: +o temporalfox [09:08:00] <mweb84> hi there, I'm facing some problems with the JsonObject.getBinary() method resulting in IllegalArgumentException because of Base64 decoding. The input works for vertx 2x but not 3x [09:16:02] <cescoffier> Json binary is encoded in base64 (it's the json spec) [09:31:57] <mweb84> so there are differences between the own base64-implementation from vertx 2x and the java.util.base64 implementation [10:07:40] <amr> heh, there's a bit of a bug w/ vertx-mysql-postgresql-client [10:08:21] <amr> conn.query(“sql qry”, x → { } ); fails w/ NoSuchMethod on future, coming from AsyncSQLConnectionImpl L110 (future.setHandler()) [10:08:36] <amr> if i change the statement to conn.queryWithParams(“same sql”, new JsonArray(), x→{}), it works [10:33:16] <DaGame> anyone here using typescript ?? [10:37:01] <temporalfox> DaGame there is typescript support, however I neved used it myself [10:42:35] <DaGame> I setup the typescript module and etc [10:42:57] <DaGame> but having troubles when trying to import postgres [10:43:24] <DaGame> in normal js i would type [10:43:27] <DaGame> var PostgreSQLClient = require(“vertx-mysql-postgresql-js/postgre_sql_client”); [10:43:41] <DaGame> but in typescript all my attempts fail miserably [10:47:20] <temporalfox> why don't you send a mail on vertx google group for this ? [10:47:24] <temporalfox> why don't you send a mail on vertx google group for this ? [10:47:37] <temporalfox> I'm pretty sure that Michael or someone else could answer it [10:48:46] <DaGame> I am new to vertx in general [10:49:57] <DaGame> will post the question as you suggesting [19:16:22] <aesteve> evening everyone ! [21:07:24] * ChanServ sets mode: +o temporal_

[22:11:49] <temporal_> aesteve good evening, how are you doing today ?

[22:12:08] <aesteve> decent, I'm a bit tired tbh

[22:12:16] <aesteve> and you ? no more headaches ?

[22:14:30] <aesteve> full Groovy sugar in action :

[22:51:20] <AlexLehm> temporal_: I have rewritten the host name verifier for mail-client using the checker method in NetClient, which makes the thing much simpler

[22:51:29] <AlexLehm> i have kept the unit tests for cert checking

[22:51:40] <temporal_> cool

[22:52:13] <temporal_> this was a recent contribution

[22:52:33] <temporal_> AlexLehm also you can remove now the executeBlocking hostname resolution

[22:52:40] <temporal_> for NetClient

[22:53:12] <AlexLehm> ok, will do that

[22:53:39] <temporal_> aesteve that's a bit too Groovy for me :-)

[22:54:15] <aesteve> even for me :D

[22:54:37] <AlexLehm> i have to remove two unit tests i have put on @ignore, i can send a pr for the hostname checker probably tomorro

[22:54:38] <AlexLehm> w

[22:54:52] <temporal_> great

[22:55:11] <AlexLehm> actually i can do that now i guess

[22:55:20] <AlexLehm> everything else works i think

[22:55:31] <aesteve> temporal_: could you ask clement if he could help me w/ http2 deployment ? or maybe I should ask on the Google Group ?

[22:55:47] <temporal_> what do you mean ?

[22:55:59] <aesteve> dockerize the http2 example

[22:56:05] <temporal_> ok

[22:56:12] <aesteve> thanks a lot

[22:56:34] <temporal_> for now the immediate imho is to provide solution for the CLI, the tests

[22:56:46] <temporal_> but for fatjar we don't have an obvious solution

[22:57:17] <aesteve> Not sure I follow

[22:57:26] <temporal_> how to make a fatjar that works with http2

[22:57:31] <temporal_> java -jar something.jar

[22:57:40] <temporal_> it should work with OpenSSL

[22:57:47] <temporal_> on linux / osx

[22:58:00] <aesteve> ah you mean the OpenSSL vs alpn thing ?

[22:58:35] <temporal_> OpenSSL provides ALPN

[22:58:44] <temporal_> if you are on linux you should use that

[22:58:58] <aesteve> ok I'll try to

[22:59:23] <temporal_> that's the recommended way by Netty

[22:59:28] <temporal_> more performant

[22:59:36] <temporal_> and more up to date ciphers I think

[23:00:14] <aesteve> is there some doc somewhere on how to bind vert.x w/ openSSL ?

[23:00:22] <temporal_> yes in the doc

[23:00:24] <temporal_> :-)

[23:00:31] <aesteve> I guess I should remove `setUseAlpn`

[23:00:31] <temporal_> basically it's simple

[23:00:34] <temporal_> yes

[23:00:34] <temporal_> and

[23:00:50] <temporal_> setSslEngine(SSLENgine.OpenSSL)

[23:01:01] <aesteve> I'll give it a try

[23:01:05] <temporal_> and have the good jar on the classpath

[23:01:46] <temporal_>

[23:01:58] <temporal_> works on windows too

[23:02:39] <aesteve> and change the keyFile, too

[23:02:44] <aesteve> to a .pem

[23:02:53] <temporal_> yes

[23:02:59] <temporal_> maybe that could change in the future

[23:03:14] <temporal_> we discussed that on #netty channel with norman a few weeks ago

[23:03:21] <temporal_> and he said he has some idea to make it work

[23:04:07] <aesteve> should I generate the certificate using openssl cli or use something else (like let's encrypt ??)

[23:04:16] <temporal_> up to you

[23:04:29] <temporal_> let's encrypt force you to rebuild the cert often

[23:04:39] <temporal_> so it means you need to add it in your tool chain

[23:04:55] <temporal_> would be interesting to look at the common practices with let's encrypt

[23:12:30] <aesteve> I'll generate a self-signed certificate, it reminds me of the good old network classes

[23:14:05] <temporal_> I think it's might be possible to make a java agent that connect to the current VM

[23:14:16] <temporal_> and redefined the classes with alpn

[23:14:22] <temporal_> that would work in fatjar

[23:14:33] <temporal_> wondering

[23:14:36] <temporal_> will give a try

[23:19:45] <AlexLehm> for let's encrypt you need a webserver running with your domain, for testing that is a bit complicated I thin

[23:19:48] <AlexLehm> k

[23:20:33] <aesteve> yes I was wondering about that

[23:21:02] <aesteve> mmmh

[23:21:12] <aesteve> Missing —–BEGIN PRIVATE KEY—– delimiter

[23:21:23] <AlexLehm> the authentication works by basically putting files into your htdocs dir

[23:21:38] <temporal_> you can cheat using hosts file ?

[23:22:34] <aesteve> am I doing something wrong or is the keyfile parsing a bit too narrow-minded ?

[23:23:30] <aesteve> I am doing something wrong

[23:23:53] <temporal_> I think you may have the wrong format

[23:24:05] <temporal_> I replied to this question on vertx google group a while ago

[23:24:09] <temporal_> you need to convert the cert

[23:24:13] <temporal_> there are two pem formats

[23:24:41] <temporal_>!searchin/vertx/pem$20file/vertx/Hj9FZFsi7G0/e-fq8KZaFAAJ

[23:25:05] <temporal_> should worth to add a note in Vert.x doc

[23:25:44] <aesteve> thanks

[23:26:15] <aesteve> yes maybe but I'm far from being an expert with tls/ssl so maybe it's not accurate

[23:26:52] <temporal_> you can only learn tls/ssl by pain

[23:28:05] <aesteve> ok, so now it's the jar problem, I'm making progress

[23:35:00] <AlexLehm> temporal_: you mean for hostname cert check? no, they are checking the files with http from the internet

[23:35:13] <temporal_> ok

[23:35:19] <temporal_> yes I meant that

[23:36:59] <AlexLehm> the url they check is something like http://www.domain.tld/.well-know/acme-1.0/keyname and the file then contains a hash of some challenge the client received before

[23:37:10] <AlexLehm> at least i assume its something like that

[23:37:28] <aesteve> java.lang.UnsatisfiedLinkError: failed to load the required native library

[23:37:28] <aesteve> at io.netty.handler.ssl.OpenSsl.ensureAvailability(

[23:37:29] <aesteve> :(

[23:37:58] <aesteve> doesn't seem to work on OS X

[23:38:54] <AlexLehm> temporal_: i have created the pr for mail-client if you can please take a look when you have time

[23:39:12] <temporal_> soon

[23:39:15] <temporal_> going to bed soon

[23:39:21] <temporal_> on osx

[23:39:21] <temporal_> use

[23:39:31] <temporal_> netty-tcnative-boringssl-static

[23:39:35] <temporal_> with the right classifier

[23:39:46] <temporal_> that's what we use in test suite

[23:39:50] <temporal_> and it seems fine on OSX / linux

[23:39:56] <temporal_> look at vertx-core pom

[23:42:35] <aesteve> thanks I'll have a look since it still doesn't seem to work

[23:49:31] <temporal_> aesteve AlexLehm good night!

[23:49:42] <aesteve> good night Julie, thanks

[23:49:47] <aesteve> Julien* oops

[23:52:31] <AlexLehm> good night