Archive for 'Uncategorized'

The first round of the logo contest has closed and we now need to shortlist 6 designers. A selection of 20 logos have been chosen out of the 100 entrants and you are invited to vote on them and make comments. If you like a particular logo but not the colour, or like an idea behind the logo but not another element then please say so.

The links for voting (please do look at them all) are:

https://en.99designs.fr/logo-design/vote-d8v9u9

https://en.99designs.fr/logo-design/vote-xlduhg

https://99designs.fr/logo-design/vote-n4ynig

Logo contest

We have initiated a paid contest to create a new logo for the Mosquitto project.

If you have graphics design skills or know someone who has,  please head over to the link below to see the design brief and submit your idea.

http://en.99designs.de/logo-design/contests/create-logo-eclipse-mosquitto-open-source-server-internet-605670/brief

 

Repository moved to github

The mosquitto repository is now hosted on github: https://github.com/eclipse/mosquitto This is now the canonical location for mosquitto development work.

Bug reports should also be made on github and the existing bug reports will be migrated over shortly.

The documentation still needs updating with the new location and processes, so please do be patient with regards that.

Contributions can now be made through a github pull request. If you want to contribute a bug fix, please base your work off the “fixes” branch, if you are developing a new feature please use the “develop” branch.

Here’s to a new stage in the mosquitto project!

Version 1.4.8 released

This is a security bugfix release. Any users of the “mount_point” feature are strongly advised to upgrade because versions prior to 1.4.8 allow clients to inject messages outside of their mount_point through the use of a Will.

Broker

  • Wills published by clients connected to a listener with mount_point defined
    now correctly obey the mount point. This was a potential security risk
    because it allowed clients to publish messages outside of their restricted
    mount point. This is only affects brokers where the mount_point option is in
    use. Closes #487178.
  • Fix detection of broken connections on Windows. Closes #485143.
  • Close stdin etc. when daemonised. Closes #485589.
  • Fix incorrect detection of FreeBSD and OpenBSD. Closes #485131.

Client library

  • mosq->want_write should be cleared immediately before a call to SSL_write,
    to allow clients using mosquitto_want_write() to get accurate results.

Version 1.4.7 released

This is a bugfix release. The changes below include the changes for 1.4.6, which wasn’t announced.

Broker

  • Add support for libwebsockets 1.6.

Client library

  • Fix _mosquitto_socketpair() on Windows, reducing the chance of delays when
    publishing. Closes #483979.

Clients

  • Fix “mosquitto_pub -l” stripping the final character on a line. Closes
    #483981.

If you want to use TLS certificates you’ve generated using the Let’s Encrypt service, this is how you should configure your listener (replace “example.com” with your own domain of course):

First you need a copy of the root certificate. This will either be the ISRG Root X1, or IdenTrust DST Root CA X3. You need to check which of these root CAs signed the intermediate certificate you are using:

openssl x509 -in /etc/letsencrypt/live/example.com/chain.pem -noout -issuer

If your intermediate was issued by the ISRG root then use:

wget https://letsencrypt.org/certs/isrgrootx1.pem

Otherwise you should go to https://www.identrust.com/certificates/trustid/root-download-x3.html to get the DST root certificate. Open a text editor, and paste the contents from that link, surrounding the text with the BEGIN and END lines as below:

-----BEGIN CERTIFICATE-----

pasted content goes here

-----END CERTIFICATE-----

Then, each time after your script to automatically generate your certificates runs you should also run:

cat /etc/letsencrypt/live/example.com/chain.pem /etc/letsencrypt/<your root>.pem > /etc/letsencrypt/live/example.com/chain-ca.pem

Then use the following for your mosquitto.conf:

listener 8883
cafile /etc/letsencrypt/live/example.com/chain-ca.pem
certfile /etc/letsencrypt/live/example.com/cert.pem
keyfile /etc/letsencrypt/live/example.com/privkey.pem

You need to be aware that current versions of mosquitto never update listener settings when running, so when you regenerate the server certificates you will need to completely restart the broker.

Version 1.4.5 released

This is a bugfix release:

Broker

  • Fix possible memory leak if bridge using SSL attempts to connect to a host that is not up.
  • Free unused topic tree elements (fix in 1.4.3 was incomplete). Closes
    #468987.

Clients

  • “mosquitto_pub -l” now no longer limited to 1024 byte lines. Closes #478917.

Version 1.4.4 released

This is a bugfix release.

  • Don’t leak sockets when outgoing bridge with multiple addresses cannot connect. Closes #477571.
  • Fix cross compiling of websockets. Closes #475807.
  • Fix memory free related crashes on openwrt and FreeBSD. Closes #475707.
  • Fix excessive calls to message retry check.

The current unreleased libwebsockets master branch defines the VERSION macro in its header files. I believe this to be a bug in libwebsockets.

This bug causes compilation of mosquitto with websockets support to fail.

Please use a released version of libwebsockets, either 1.2, 1.3 or 1.4. Mosquitto will compile with all of these versions.

I do not recommend using an unreleased version of libwebsockets, the project is not shy about making ABI/API incompatible changes between releases so it is impractical to provide support for.

Seeking sponsorship

The mosquitto project has,  or can get, access to a wide variety of different systems to help with development. One important platform for which this is not true is Mac OS X. There are sufficient differences between Macs and other systems that this makes life difficult.

To this end, I would like to reach out to the mosquitto community to ask for help with obtaining either

  • A remote login on a Mac system
  • Donation of hardware
  • Donation of money to buy some hardware

I have been offered a remote account by a few individuals in the past, for which I’m very grateful, but only on a short term basis and, understandably, with limited control. Something on a longer term, with the ability to install packages would be much more useful. Unfortunately I realise this is relatively difficult to offer.

On the hardware side of things, there isn’t a need for a modern, powerful computer. A second hand Mac Mini of Core2Duo vintage with 1GB RAM and a reasonably modern version of Mac OS X would be quite sufficient, and ideal for me in terms of the space it takes up. Regrettably I feel I would have to turn down offers of an old iMac or Mac Pro.

2007-era Mac Minis go on Ebay UK for around £100. I’m hopeful that there is a company out there using mosquitto, likes Macs and for whom £100 would be a drop in the ocean. If so, or any individuals want to help out with a small donation towards this, please get in touch directly to roger@atchoo.org or head over to the downloads page to see the paypal donation link, and thanks very much in advance.


Update:

I have now awaiting delivery of a Mac mini. Thanks very much to all of you that have contributed, it is very much appreciated. If you would still like to support mosquitto development please don’t let this put you off…