mosquitto icon indicating copy to clipboard operation
mosquitto copied to clipboard

Support QUIC

Open ami-GS opened this issue 4 years ago • 0 comments

Hi Team,

Recently several mqtt over quic articles have been published. They are using their own custom broker/client or using different OSS projects for broker/client This patch is just my fun project, but support QUIC on both broker/client in single OSS project could be beneficial for researcher (and maybe industry)

This is initial implementation with msquic and disconnection takes 1 sec by design. I confirmed basic pub/sub works as bellows.

  • make utest
  • make test in test/lib with --quic options and config as bellows

how to run

$ # build and install
$ make binary -j8 WITH_QUIC=yes && sudo make install
$ # broker
$ mosquitto --config-file ./mosquitto.conf
$ # subscriber
$ mosquitto_sub -h 127.0.0.1 -t test/t1 -p 8883 --quic
$ # publisher
$ mosquitto_pub -h 127.0.0.1 -t test/t1 -m "testdata" -p 8883 --quic

mosquitto.conf could be for example

listener 8883 127.0.0.1
protocol quic
certfile $PATH_TO_MOSQUITTO/test/ssl/test-alt-ca.crt
keyfile $PATH_TO_MOSQUITTO/test/ssl/test-alt-ca.key
cafile $PATH_TO_MOSQUITTO/test/ssl/all-ca.crt
allow_anonymous true
  • [x] Have you signed the Eclipse Contributor Agreement, using the same email address as you used in your commits?
  • [x] Do each of your commits have a "Signed-off-by" line, with the correct email address? Use "git commit -s" to generate this line for you.
  • [x] If you are contributing a new feature, is your work based off the develop branch?
  • [ ] If you are contributing a bugfix, is your work based off the fixes branch?
  • [x] Have you added an explanation of what your changes do and why you'd like us to include them?
  • [ ] Have you successfully run make test with your changes locally?

ami-GS avatar Dec 02 '21 06:12 ami-GS