Differences

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

Link to this comparison view

irc:1461535200 [2017/05/27 13:44] (current)
Line 1: Line 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 : https://​github.com/​aesteve/​grooveex-proxy/​blob/​master/​src/​main/​groovy/​com/​github/​aesteve/​grooveex/​examples/​proxy/​handlers/​ProxyHandler.groovy#​L30-L46
 +
 +[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_>​ http://​netty.io/​wiki/​forked-tomcat-native.html
 +
 +[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_>​ https://​groups.google.com/​forum/#​!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(OpenSsl.java:​176)
 +
 +[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 https://​github.com/​vert-x3/​vertx-mail-client/​pull/​68 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