mosquitto auth plugin install
Mosquitto и mosquitto-auth-plug, как установить и сделать авторизацию через mysql и другие бд.
На гитхабе есть замечательный плагин github.com/jpmens/mosquitto-auth-plug и там даже рассказывается как его установить, но увы, если делать все это с новой версией mosquitto у вас ничего не выйдет.
Оставлю для истории, как победить и скомпилировать плагин.
Первое с чем вы столкнетесь это с ошибками при компиляции, ошибками вида conflicting types for ‘mosquitto_auth_acl_check’ и другими, все это обсуждается тут github.com/mbachry/mosquitto_pyauth/issues/20 и если победи эту ошибку то столкнетесь с другой error: unknown type name 'my_bool' которая обсуждается тут github.com/gearman/gearmand/issues/165
Если все почитать и собрать вместе то каменный цветок соберется, ну а чтобы не мучиться надо сделать вот так:
Оригинал статьи находится в этом блоге www.yasith.me/2016/04/securing-mqtt-connection-using.html
Я его переведу и внесу свой вклад чтобы это все собралось
| 
					 1 2 3 4 5  | 
						cd ~ mkdir mqtt cd mqtt git clone https://github.com/eclipse/mosquitto.git git clone https://github.com/jpmens/mosquitto-auth-plug.git  | 
					
| 
					 1 2 3 4 5 6 7  | 
						cd mosquitto sudo apt-get install build-essential sudo apt-get install libc-ares-dev sudo apt-get install uuid-dev  sudo apt-get install libssl-dev make binary make install  | 
					
| 
					 1  | 
						cd ../mosquitto-auth-plug/  | 
					
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  | 
						# Select your backends from this list BACKEND_CDB ?= no BACKEND_MYSQL ?= yes BACKEND_SQLITE ?= no BACKEND_REDIS ?= no BACKEND_POSTGRES ?= no BACKEND_LDAP ?= no BACKEND_HTTP ?= no BACKEND_MONGO ?= no # Specify the path to the Mosquitto sources here MOSQUITTO_SRC = /home/USER/mqtt/mosquitto # Specify the path the OpenSSL here OPENSSLDIR = /usr/bin  | 
					
| 
					 1 2 3  | 
						sudo apt-get install openssl sudo apt-get install libssl-dev sudo apt-get install libcurl4-openssl-dev  | 
					
- auth-plug.c
 - be-mysql.c
 
Первые правки берем по этой ссылке:
github.com/amimoto/mosquitto_pyauth/commit/7802491379e3f4fdca01b5b07c11d72dcf4f75f6
Правки для второго файла берем тут: github.com/gearman/gearmand/issues/165#issuecomment-419531249 (их вносим сразу после всех инклудов вначале файла)
| 
					 1  | 
						sudo make  | 
					
| 
					 1 2  | 
						cp auth-plug.so ../mosquitto cd ../mosquitto  | 
					




Здравствуйте! на последнем этапе получаю ошибку:
fatal error: mosquitto.h: No such file or directory
34 | #include