Browse Source

[Add][GPL][Mosquitto]

2021.11.06 / Folus Wen

Actions:
1. Add Mosquitto-2.0.13 for MQTT server and client library.

Files:
1. As follow commit history

Image version: D0.00.XX.XXXX.XX
Image checksum: XXXXXXXX

Hardware PWB P/N : XXXXXXX
Hardware Version : XXXXXXX
FolusWen 3 years ago
parent
commit
b3d0b43338
100 changed files with 15718 additions and 0 deletions
  1. 5 0
      EVSE/GPL/Makefile
  2. BIN
      EVSE/GPL/mosquitto-2.0.13.tar.gz
  3. 636 0
      EVSE/GPL/mosquitto-2.0.13/CMakeCache.txt
  4. 76 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CMakeCCompiler.cmake
  5. 88 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake
  6. BIN
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin
  7. BIN
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin
  8. 15 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CMakeSystem.cmake
  9. 671 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.c
  10. BIN
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CompilerIdC/a.out
  11. 660 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp
  12. BIN
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CompilerIdCXX/a.out
  13. 16 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeDirectoryInformation.cmake
  14. 477 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeOutput.log
  15. 23 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeRuleHashes.txt
  16. 175 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/Makefile.cmake
  17. 885 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/Makefile2
  18. 111 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/TargetDirectories.txt
  19. 1 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/cmake.check_cache
  20. 1 0
      EVSE/GPL/mosquitto-2.0.13/CMakeFiles/progress.marks
  21. 163 0
      EVSE/GPL/mosquitto-2.0.13/CMakeLists.txt
  22. 92 0
      EVSE/GPL/mosquitto-2.0.13/CONTRIBUTING.md
  23. 12 0
      EVSE/GPL/mosquitto-2.0.13/CTestTestfile.cmake
  24. 3090 0
      EVSE/GPL/mosquitto-2.0.13/ChangeLog.txt
  25. 2 0
      EVSE/GPL/mosquitto-2.0.13/LICENSE.txt
  26. 476 0
      EVSE/GPL/mosquitto-2.0.13/Makefile
  27. 64 0
      EVSE/GPL/mosquitto-2.0.13/NOTICE.md
  28. 25 0
      EVSE/GPL/mosquitto-2.0.13/README-compiling.md
  29. 17 0
      EVSE/GPL/mosquitto-2.0.13/README-letsencrypt.md
  30. 76 0
      EVSE/GPL/mosquitto-2.0.13/README-windows.txt
  31. 88 0
      EVSE/GPL/mosquitto-2.0.13/README.md
  32. 43 0
      EVSE/GPL/mosquitto-2.0.13/about.html
  33. 9 0
      EVSE/GPL/mosquitto-2.0.13/aclfile.example
  34. 16 0
      EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/CMakeDirectoryInformation.cmake
  35. 1 0
      EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/progress.marks
  36. 2 0
      EVSE/GPL/mosquitto-2.0.13/apps/CMakeLists.txt
  37. 196 0
      EVSE/GPL/mosquitto-2.0.13/apps/Makefile
  38. 46 0
      EVSE/GPL/mosquitto-2.0.13/apps/cmake_install.cmake
  39. 88 0
      EVSE/GPL/mosquitto-2.0.13/apps/db_dump/Makefile
  40. 503 0
      EVSE/GPL/mosquitto-2.0.13/apps/db_dump/db_dump.c
  41. 28 0
      EVSE/GPL/mosquitto-2.0.13/apps/db_dump/db_dump.h
  42. 218 0
      EVSE/GPL/mosquitto-2.0.13/apps/db_dump/print.c
  43. 141 0
      EVSE/GPL/mosquitto-2.0.13/apps/db_dump/stubs.c
  44. 16 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/CMakeDirectoryInformation.cmake
  45. 1 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/progress.marks
  46. 48 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeLists.txt
  47. 196 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/Makefile
  48. 157 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/client.c
  49. 39 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/cmake_install.cmake
  50. 893 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/dynsec.c
  51. 259 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/dynsec_client.c
  52. 203 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/dynsec_group.c
  53. 199 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/dynsec_role.c
  54. 45 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/example.c
  55. 110 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/mosquitto_ctrl.c
  56. 123 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/mosquitto_ctrl.h
  57. 920 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/options.c
  58. 16 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/CMakeDirectoryInformation.cmake
  59. 244 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/C.includecache
  60. 41 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/DependInfo.cmake
  61. 175 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make
  62. 15 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/cmake_clean.cmake
  63. 33 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/depend.internal
  64. 33 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/depend.make
  65. 10 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/flags.make
  66. 1 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/link.txt
  67. 8 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/progress.make
  68. 1 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/progress.marks
  69. 18 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeLists.txt
  70. 392 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/Makefile
  71. 55 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/cmake_install.cmake
  72. 146 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.c
  73. 26 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.h
  74. BIN
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/mosquitto_passwd
  75. 690 0
      EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/mosquitto_passwd.c
  76. 16 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/CMakeDirectoryInformation.cmake
  77. 152 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/C.includecache
  78. 38 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/DependInfo.cmake
  79. 146 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/build.make
  80. 13 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/cmake_clean.cmake
  81. 29 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/depend.internal
  82. 29 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/depend.make
  83. 10 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/flags.make
  84. 1 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/link.txt
  85. 6 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/progress.make
  86. 200 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/C.includecache
  87. 39 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/DependInfo.cmake
  88. 161 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/build.make
  89. 14 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/cmake_clean.cmake
  90. 37 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/depend.internal
  91. 37 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/depend.make
  92. 10 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/flags.make
  93. 1 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/link.txt
  94. 7 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/progress.make
  95. 168 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/C.includecache
  96. 38 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/DependInfo.cmake
  97. 146 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/build.make
  98. 13 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/cmake_clean.cmake
  99. 29 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/depend.internal
  100. 29 0
      EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/depend.make

+ 5 - 0
EVSE/GPL/Makefile

@@ -255,3 +255,8 @@ mtd-utils:
 	make -C mtd-utils-2.1.2 CC=$(CROSS_COMPILE)gcc install
 #       cp -r -f mtd-utils-2.1.2/release/* ../rootfs/
 
+mosquitto:
+	echo "mosquitto-2.0.13"
+	make -C mosquitto-2.0.13 CC=$(CROSS_COMPILE)gcc clean
+	make -C mosquitto-2.0.13 CC=$(CROSS_COMPILE)gcc CXX=$(CROSS_COMPILE)g++ AR=$(CROSS_COMPILE)ar LD=$(CROSS_COMPILE)ld STRIP=$(CROSS_COMPILE)strip
+	make -C mosquitto-2.0.13 CC=$(CROSS_COMPILE)gcc DESTDIR=$(shell pwd)/mosquitto-2.0.13/release install 

BIN
EVSE/GPL/mosquitto-2.0.13.tar.gz


+ 636 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeCache.txt

@@ -0,0 +1,636 @@
+# This is the CMakeCache file.
+# For build in directory: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+# It was generated by CMake: /usr/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//An optional hint to a directory for finding `cJSON`
+CJSON_DIR:STRING=
+
+//Path to a file.
+CJSON_INCLUDE_DIR:PATH=CJSON_INCLUDE_DIR-NOTFOUND
+
+//Path to a library.
+CJSON_LIBRARY:FILEPATH=CJSON_LIBRARY-NOTFOUND
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//C compiler
+CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
+
+//Flags used by the C compiler during all build types.
+CMAKE_C_FLAGS:STRING=
+
+//Flags used by the C compiler during DEBUG builds.
+CMAKE_C_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the C compiler during MINSIZEREL builds.
+CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the C compiler during RELEASE builds.
+CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the C compiler during RELWITHDEBINFO builds.
+CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
+
+//User executables (bin)
+CMAKE_INSTALL_BINDIR:PATH=bin
+
+//Read-only architecture-independent data (DATAROOTDIR)
+CMAKE_INSTALL_DATADIR:PATH=
+
+//Read-only architecture-independent data root (share)
+CMAKE_INSTALL_DATAROOTDIR:PATH=share
+
+//Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
+CMAKE_INSTALL_DOCDIR:PATH=
+
+//C header files (include)
+CMAKE_INSTALL_INCLUDEDIR:PATH=include
+
+//Info documentation (DATAROOTDIR/info)
+CMAKE_INSTALL_INFODIR:PATH=
+
+//Object code libraries (lib)
+CMAKE_INSTALL_LIBDIR:PATH=lib
+
+//Program executables (libexec)
+CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
+
+//Locale-dependent data (DATAROOTDIR/locale)
+CMAKE_INSTALL_LOCALEDIR:PATH=
+
+//Modifiable single-machine data (var)
+CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
+
+//Man documentation (DATAROOTDIR/man)
+CMAKE_INSTALL_MANDIR:PATH=
+
+//C header files for non-gcc (/usr/include)
+CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Run-time variable data (LOCALSTATEDIR/run)
+CMAKE_INSTALL_RUNSTATEDIR:PATH=
+
+//System admin executables (sbin)
+CMAKE_INSTALL_SBINDIR:PATH=sbin
+
+//Modifiable architecture-independent data (com)
+CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
+
+//Read-only single-machine data (etc)
+CMAKE_INSTALL_SYSCONFDIR:PATH=etc
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=mosquitto
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make.  This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Build documentation?
+DOCUMENTATION:BOOL=ON
+
+//Path to a file.
+HAVE_SYS_EPOLL_H:PATH=/usr/include/x86_64-linux-gnu
+
+//Include bridge support for connecting to other brokers?
+INC_BRIDGE_SUPPORT:BOOL=ON
+
+//Include database upgrade support? (recommended)
+INC_DB_UPGRADE:BOOL=ON
+
+//Include memory tracking support?
+INC_MEMTRACK:BOOL=ON
+
+//Path to a library.
+LIBPTHREAD:FILEPATH=/usr/lib/x86_64-linux-gnu/libpthread.so
+
+//Path to a library.
+LIBRT:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so
+
+//Path to a library.
+OPENSSL_CRYPTO_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libcrypto.so
+
+//Path to a file.
+OPENSSL_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a library.
+OPENSSL_SSL_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libssl.so
+
+//pkg-config executable
+PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config
+
+//Use the static libwebsockets library?
+STATIC_WEBSOCKETS:BOOL=OFF
+
+//Include tcp-wrappers support?
+USE_LIBWRAP:BOOL=OFF
+
+//Include ADNS support?
+WITH_ADNS:BOOL=OFF
+
+//Build apps?
+WITH_APPS:BOOL=ON
+
+//Build broker?
+WITH_BROKER:BOOL=ON
+
+//Build with bundled dependencies?
+WITH_BUNDLED_DEPS:BOOL=ON
+
+//Build with cJSON support (required for dynamic security plugin
+// and useful for mosquitto_sub)?
+WITH_CJSON:BOOL=ON
+
+//Build clients?
+WITH_CLIENTS:BOOL=ON
+
+//Include $CONTROL topic support?
+WITH_CONTROL:BOOL=ON
+
+//Include DLT support?
+WITH_DLT:BOOL=OFF
+
+//Include Elliptic Curve support (requires WITH_TLS)?
+WITH_EC:BOOL=ON
+
+//Build C++ library?
+WITH_LIB_CPP:BOOL=ON
+
+//Include persistence support?
+WITH_PERSISTENCE:BOOL=ON
+
+//Build the static library with PIC (Position Independent Code)
+// enabled archives?
+WITH_PIC:BOOL=OFF
+
+//Build plugins?
+WITH_PLUGINS:BOOL=ON
+
+//Include SOCKS5 support?
+WITH_SOCKS:BOOL=ON
+
+//Include SRV lookup support?
+WITH_SRV:BOOL=OFF
+
+//Build static versions of the libmosquitto/pp libraries?
+WITH_STATIC_LIBRARIES:BOOL=OFF
+
+//Include systemd support?
+WITH_SYSTEMD:BOOL=OFF
+
+//Include $SYS tree support?
+WITH_SYS_TREE:BOOL=ON
+
+//Include client library threading support?
+WITH_THREADING:BOOL=ON
+
+//Include SSL/TLS support?
+WITH_TLS:BOOL=ON
+
+//Include TLS-PSK support (requires WITH_TLS)?
+WITH_TLS_PSK:BOOL=ON
+
+//Include Unix Domain Socket support?
+WITH_UNIX_SOCKETS:BOOL=ON
+
+//Include websockets support?
+WITH_WEBSOCKETS:BOOL=OFF
+
+//Path to a program.
+XSLTPROC:FILEPATH=/usr/bin/xsltproc
+
+//Dependencies for the target
+libmosquitto_LIB_DEPENDS:STATIC=general;/usr/lib/x86_64-linux-gnu/libssl.so;general;/usr/lib/x86_64-linux-gnu/libcrypto.so;general;pthread;general;rt;
+
+//Value Computed by CMake
+mosquitto_BINARY_DIR:STATIC=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+//Value Computed by CMake
+mosquitto_SOURCE_DIR:STATIC=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+//Dependencies for the target
+mosquittopp_LIB_DEPENDS:STATIC=general;libmosquitto;
+
+//Path to a library.
+pkgcfg_lib__OPENSSL_crypto:FILEPATH=/usr/lib/x86_64-linux-gnu/libcrypto.so
+
+//Path to a library.
+pkgcfg_lib__OPENSSL_ssl:FILEPATH=/usr/lib/x86_64-linux-gnu/libssl.so
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=16
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=3
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER
+CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_AR
+CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
+CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS
+CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Unix Makefiles
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
+CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
+CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
+CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
+CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
+CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
+CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
+CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
+CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
+CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
+CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
+CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
+CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR
+CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
+CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
+CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
+CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=13
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.16
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//Details about finding OpenSSL
+FIND_PACKAGE_MESSAGE_DETAILS_OpenSSL:INTERNAL=[/usr/lib/x86_64-linux-gnu/libcrypto.so][/usr/include][c ][v1.1.1f()]
+//Have library anl
+HAVE_GETADDRINFO_A:INTERNAL=1
+//ADVANCED property for variable: OPENSSL_CRYPTO_LIBRARY
+OPENSSL_CRYPTO_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENSSL_INCLUDE_DIR
+OPENSSL_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENSSL_SSL_LIBRARY
+OPENSSL_SSL_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE
+PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1
+//CMAKE_INSTALL_PREFIX during last run
+_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local
+_OPENSSL_CFLAGS:INTERNAL=
+_OPENSSL_CFLAGS_I:INTERNAL=
+_OPENSSL_CFLAGS_OTHER:INTERNAL=
+_OPENSSL_FOUND:INTERNAL=1
+_OPENSSL_INCLUDEDIR:INTERNAL=/usr/include
+_OPENSSL_INCLUDE_DIRS:INTERNAL=
+_OPENSSL_LDFLAGS:INTERNAL=-lssl;-lcrypto
+_OPENSSL_LDFLAGS_OTHER:INTERNAL=
+_OPENSSL_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu
+_OPENSSL_LIBRARIES:INTERNAL=ssl;crypto
+_OPENSSL_LIBRARY_DIRS:INTERNAL=
+_OPENSSL_LIBS:INTERNAL=
+_OPENSSL_LIBS_L:INTERNAL=
+_OPENSSL_LIBS_OTHER:INTERNAL=
+_OPENSSL_LIBS_PATHS:INTERNAL=
+_OPENSSL_MODULE_NAME:INTERNAL=openssl
+_OPENSSL_PREFIX:INTERNAL=/usr
+_OPENSSL_STATIC_CFLAGS:INTERNAL=
+_OPENSSL_STATIC_CFLAGS_I:INTERNAL=
+_OPENSSL_STATIC_CFLAGS_OTHER:INTERNAL=
+_OPENSSL_STATIC_INCLUDE_DIRS:INTERNAL=
+_OPENSSL_STATIC_LDFLAGS:INTERNAL=-lssl;-lcrypto;-ldl;-pthread
+_OPENSSL_STATIC_LDFLAGS_OTHER:INTERNAL=-pthread
+_OPENSSL_STATIC_LIBDIR:INTERNAL=
+_OPENSSL_STATIC_LIBRARIES:INTERNAL=ssl;crypto;dl
+_OPENSSL_STATIC_LIBRARY_DIRS:INTERNAL=
+_OPENSSL_STATIC_LIBS:INTERNAL=
+_OPENSSL_STATIC_LIBS_L:INTERNAL=
+_OPENSSL_STATIC_LIBS_OTHER:INTERNAL=
+_OPENSSL_STATIC_LIBS_PATHS:INTERNAL=
+_OPENSSL_VERSION:INTERNAL=1.1.1f
+_OPENSSL_openssl_INCLUDEDIR:INTERNAL=
+_OPENSSL_openssl_LIBDIR:INTERNAL=
+_OPENSSL_openssl_PREFIX:INTERNAL=
+_OPENSSL_openssl_VERSION:INTERNAL=
+__pkg_config_arguments__OPENSSL:INTERNAL=QUIET;openssl
+__pkg_config_checked__OPENSSL:INTERNAL=1
+//ADVANCED property for variable: pkgcfg_lib__OPENSSL_crypto
+pkgcfg_lib__OPENSSL_crypto-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: pkgcfg_lib__OPENSSL_ssl
+pkgcfg_lib__OPENSSL_ssl-ADVANCED:INTERNAL=1
+prefix_result:INTERNAL=/usr/lib/x86_64-linux-gnu
+

+ 76 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CMakeCCompiler.cmake

@@ -0,0 +1,76 @@
+set(CMAKE_C_COMPILER "/usr/bin/cc")
+set(CMAKE_C_COMPILER_ARG1 "")
+set(CMAKE_C_COMPILER_ID "GNU")
+set(CMAKE_C_COMPILER_VERSION "9.3.0")
+set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_C_COMPILER_WRAPPER "")
+set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
+set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
+set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
+set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
+set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
+
+set(CMAKE_C_PLATFORM_ID "Linux")
+set(CMAKE_C_SIMULATE_ID "")
+set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_C_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCC 1)
+set(CMAKE_C_COMPILER_LOADED 1)
+set(CMAKE_C_COMPILER_WORKS TRUE)
+set(CMAKE_C_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+  set(CYGWIN 1)
+  set(UNIX 1)
+endif()
+
+set(CMAKE_C_COMPILER_ENV_VAR "CC")
+
+if(CMAKE_COMPILER_IS_MINGW)
+  set(MINGW 1)
+endif()
+set(CMAKE_C_COMPILER_ID_RUN 1)
+set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
+set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_C_LINKER_PREFERENCE 10)
+
+# Save compiler ABI information.
+set(CMAKE_C_SIZEOF_DATA_PTR "8")
+set(CMAKE_C_COMPILER_ABI "ELF")
+set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_C_SIZEOF_DATA_PTR)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_C_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
+endif()
+
+if(CMAKE_C_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
+  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
+set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

+ 88 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake

@@ -0,0 +1,88 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "9.3.0")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
+set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
+
+set(CMAKE_CXX_PLATFORM_ID "Linux")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+  set(CYGWIN 1)
+  set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+  set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+
+foreach (lang C OBJC OBJCXX)
+  if (CMAKE_${lang}_COMPILER_ID_RUN)
+    foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
+      list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
+    endforeach()
+  endif()
+endforeach()
+
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "ELF")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

BIN
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin


BIN
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin


+ 15 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CMakeSystem.cmake

@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-5.4.0-89-generic")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "5.4.0-89-generic")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-5.4.0-89-generic")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "5.4.0-89-generic")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)

+ 671 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.c

@@ -0,0 +1,671 @@
+#ifdef __cplusplus
+# error "A C++ compiler has been selected for C."
+#endif
+
+#if defined(__18CXX)
+# define ID_VOID_MAIN
+#endif
+#if defined(__CLASSIC_C__)
+/* cv-qualifiers did not exist in K&R C */
+# define const
+# define volatile
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+   Version date components:   YYYY=Year, MM=Month,   DD=Day  */
+
+#if defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+#  define SIMULATE_ID "GNU"
+# endif
+  /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+  /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+#  define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__     & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+  /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+   /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+   /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_C)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_C >= 0x5100
+   /* __SUNPRO_C = 0xVRRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
+# else
+   /* __SUNPRO_CC = 0xVRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
+# endif
+
+#elif defined(__HP_cc)
+# define COMPILER_ID "HP"
+  /* __HP_cc = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_cc     % 100)
+
+#elif defined(__DECC)
+# define COMPILER_ID "Compaq"
+  /* __DECC_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000  % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECC_VER         % 10000)
+
+#elif defined(__IBMC__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
+# define COMPILER_ID "XL"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
+# define COMPILER_ID "VisualAge"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+  /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000   % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__        % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER      % 10)
+# endif
+
+#elif defined(__TINYC__)
+# define COMPILER_ID "TinyCC"
+
+#elif defined(__BCC__)
+# define COMPILER_ID "Bruce"
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+  /* __ARMCC_VERSION = VRRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION     % 10000)
+#else
+  /* __ARMCC_VERSION = VRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION    % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION     % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__)
+# define COMPILER_ID "GNU"
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# if defined(__GNUC_MINOR__)
+#  define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+  /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+#  if _MSC_VER >= 1400
+    /* _MSC_FULL_VER = VVRRPPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+#  else
+    /* _MSC_FULL_VER = VVRRPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+#  endif
+# endif
+# if defined(_MSC_BUILD)
+#  define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+  /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8  & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+#  define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+#  define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+#  define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+#  define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
+# define COMPILER_ID "SDCC"
+# if defined(__SDCC_VERSION_MAJOR)
+#  define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
+#  define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
+#  define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
+# else
+  /* SDCC = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(SDCC/100)
+#  define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(SDCC    % 10)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+  identification macro.  Try to identify the platform and guess that
+  it is the native compiler.  */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name.  */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+#  define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+#  define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+#  define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+#  define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+#  define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+#  define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+#  define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+   the architecture of the compiler being used.  This is because
+   the compilers do not have flags that can change the architecture,
+   but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+#  define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+#  define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+#  if _M_ARM == 4
+#   define ARCHITECTURE_ID "ARMV4I"
+#  elif _M_ARM == 5
+#   define ARCHITECTURE_ID "ARMV5I"
+#  else
+#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+#  endif
+
+# elif defined(_M_MIPS)
+#  define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+#  define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+#  define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+#  define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+#  define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+#  define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+#  define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+#  define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+#  define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+#  define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+#  define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+#  define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+#  define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+#else
+#  define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals.  */
+#define DEC(n)                   \
+  ('0' + (((n) / 10000000)%10)), \
+  ('0' + (((n) / 1000000)%10)),  \
+  ('0' + (((n) / 100000)%10)),   \
+  ('0' + (((n) / 10000)%10)),    \
+  ('0' + (((n) / 1000)%10)),     \
+  ('0' + (((n) / 100)%10)),      \
+  ('0' + (((n) / 10)%10)),       \
+  ('0' +  ((n) % 10))
+
+/* Convert integer to hex digit literals.  */
+#define HEX(n)             \
+  ('0' + ((n)>>28 & 0xF)), \
+  ('0' + ((n)>>24 & 0xF)), \
+  ('0' + ((n)>>20 & 0xF)), \
+  ('0' + ((n)>>16 & 0xF)), \
+  ('0' + ((n)>>12 & 0xF)), \
+  ('0' + ((n)>>8  & 0xF)), \
+  ('0' + ((n)>>4  & 0xF)), \
+  ('0' + ((n)     & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+  COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+  '.', COMPILER_VERSION_MINOR,
+#  ifdef COMPILER_VERSION_PATCH
+   '.', COMPILER_VERSION_PATCH,
+#   ifdef COMPILER_VERSION_TWEAK
+    '.', COMPILER_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+  'i','n','t','e','r','n','a','l','[',
+  COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+  SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+  '.', SIMULATE_VERSION_MINOR,
+#  ifdef SIMULATE_VERSION_PATCH
+   '.', SIMULATE_VERSION_PATCH,
+#   ifdef SIMULATE_VERSION_TWEAK
+    '.', SIMULATE_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if !defined(__STDC__)
+# if (defined(_MSC_VER) && !defined(__clang__)) \
+  || (defined(__ibmxl__) || defined(__IBMC__))
+#  define C_DIALECT "90"
+# else
+#  define C_DIALECT
+# endif
+#elif __STDC_VERSION__ >= 201000L
+# define C_DIALECT "11"
+#elif __STDC_VERSION__ >= 199901L
+# define C_DIALECT "99"
+#else
+# define C_DIALECT "90"
+#endif
+const char* info_language_dialect_default =
+  "INFO" ":" "dialect_default[" C_DIALECT "]";
+
+/*--------------------------------------------------------------------------*/
+
+#ifdef ID_VOID_MAIN
+void main() {}
+#else
+# if defined(__CLASSIC_C__)
+int main(argc, argv) int argc; char *argv[];
+# else
+int main(int argc, char* argv[])
+# endif
+{
+  int require = 0;
+  require += info_compiler[argc];
+  require += info_platform[argc];
+  require += info_arch[argc];
+#ifdef COMPILER_VERSION_MAJOR
+  require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+  require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+  require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+  require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+  require += info_cray[argc];
+#endif
+  require += info_language_dialect_default[argc];
+  (void)argv;
+  return require;
+}
+#endif

BIN
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CompilerIdC/a.out


+ 660 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp

@@ -0,0 +1,660 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+   recognize the extension without flags.  Borland does not know .cxx for
+   example.  */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+   Version date components:   YYYY=Year, MM=Month,   DD=Day  */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+  /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+#  define SIMULATE_ID "GNU"
+# endif
+  /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+  /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+#  define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__     & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+  /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+   /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+   /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+   /* __SUNPRO_CC = 0xVRRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC    & 0xF)
+# else
+   /* __SUNPRO_CC = 0xVRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC    & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+  /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC     % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+  /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000  % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER         % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+  /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+  /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+  /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+  /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000   % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__        % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER      % 10)
+# endif
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+  /* __ARMCC_VERSION = VRRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION     % 10000)
+#else
+  /* __ARMCC_VERSION = VRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION    % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION     % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__) || defined(__GNUG__)
+# define COMPILER_ID "GNU"
+# if defined(__GNUC__)
+#  define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# else
+#  define COMPILER_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+#  define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+  /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+#  if _MSC_VER >= 1400
+    /* _MSC_FULL_VER = VVRRPPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+#  else
+    /* _MSC_FULL_VER = VVRRPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+#  endif
+# endif
+# if defined(_MSC_BUILD)
+#  define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+  /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8  & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+#  define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+#  define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+#  define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+#  define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+  identification macro.  Try to identify the platform and guess that
+  it is the native compiler.  */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name.  */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+#  define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+#  define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+#  define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+#  define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+#  define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+#  define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+#  define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+   the architecture of the compiler being used.  This is because
+   the compilers do not have flags that can change the architecture,
+   but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+#  define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+#  define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+#  if _M_ARM == 4
+#   define ARCHITECTURE_ID "ARMV4I"
+#  elif _M_ARM == 5
+#   define ARCHITECTURE_ID "ARMV5I"
+#  else
+#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+#  endif
+
+# elif defined(_M_MIPS)
+#  define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+#  define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+#  define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+#  define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+#  define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+#  define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+#  define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+#  define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+#  define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+#  define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+#  define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+#  define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+#  define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+#else
+#  define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals.  */
+#define DEC(n)                   \
+  ('0' + (((n) / 10000000)%10)), \
+  ('0' + (((n) / 1000000)%10)),  \
+  ('0' + (((n) / 100000)%10)),   \
+  ('0' + (((n) / 10000)%10)),    \
+  ('0' + (((n) / 1000)%10)),     \
+  ('0' + (((n) / 100)%10)),      \
+  ('0' + (((n) / 10)%10)),       \
+  ('0' +  ((n) % 10))
+
+/* Convert integer to hex digit literals.  */
+#define HEX(n)             \
+  ('0' + ((n)>>28 & 0xF)), \
+  ('0' + ((n)>>24 & 0xF)), \
+  ('0' + ((n)>>20 & 0xF)), \
+  ('0' + ((n)>>16 & 0xF)), \
+  ('0' + ((n)>>12 & 0xF)), \
+  ('0' + ((n)>>8  & 0xF)), \
+  ('0' + ((n)>>4  & 0xF)), \
+  ('0' + ((n)     & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+  COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+  '.', COMPILER_VERSION_MINOR,
+#  ifdef COMPILER_VERSION_PATCH
+   '.', COMPILER_VERSION_PATCH,
+#   ifdef COMPILER_VERSION_TWEAK
+    '.', COMPILER_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+  'i','n','t','e','r','n','a','l','[',
+  COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+  SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+  '.', SIMULATE_VERSION_MINOR,
+#  ifdef SIMULATE_VERSION_PATCH
+   '.', SIMULATE_VERSION_PATCH,
+#   ifdef SIMULATE_VERSION_TWEAK
+    '.', SIMULATE_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
+#  if defined(__INTEL_CXX11_MODE__)
+#    if defined(__cpp_aggregate_nsdmi)
+#      define CXX_STD 201402L
+#    else
+#      define CXX_STD 201103L
+#    endif
+#  else
+#    define CXX_STD 199711L
+#  endif
+#elif defined(_MSC_VER) && defined(_MSVC_LANG)
+#  define CXX_STD _MSVC_LANG
+#else
+#  define CXX_STD __cplusplus
+#endif
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if CXX_STD > 201703L
+  "20"
+#elif CXX_STD >= 201703L
+  "17"
+#elif CXX_STD >= 201402L
+  "14"
+#elif CXX_STD >= 201103L
+  "11"
+#else
+  "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+  int require = 0;
+  require += info_compiler[argc];
+  require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+  require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+  require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+  require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+  require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+  require += info_cray[argc];
+#endif
+  require += info_language_dialect_default[argc];
+  (void)argv;
+  return require;
+}

BIN
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CompilerIdCXX/a.out


+ 16 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeDirectoryInformation.cmake

@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

+ 477 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeOutput.log

@@ -0,0 +1,477 @@
+The system is: Linux - 5.4.0-89-generic - x86_64
+Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
+Compiler: /usr/bin/cc 
+Build flags: 
+Id flags:  
+
+The output was:
+0
+
+
+Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
+
+The C compiler identification is GNU, found in "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CompilerIdC/a.out"
+
+Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
+Compiler: /usr/bin/c++ 
+Build flags: 
+Id flags:  
+
+The output was:
+0
+
+
+Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
+
+The CXX compiler identification is GNU, found in "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/3.16.3/CompilerIdCXX/a.out"
+
+Determining if the C compiler works passed with the following output:
+Change Dir: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/bin/make cmTC_86a75/fast && /usr/bin/make -f CMakeFiles/cmTC_86a75.dir/build.make CMakeFiles/cmTC_86a75.dir/build
+make[1]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp'
+Building C object CMakeFiles/cmTC_86a75.dir/testCCompiler.c.o
+/usr/bin/cc    -o CMakeFiles/cmTC_86a75.dir/testCCompiler.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp/testCCompiler.c
+Linking C executable cmTC_86a75
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_86a75.dir/link.txt --verbose=1
+/usr/bin/cc      -rdynamic CMakeFiles/cmTC_86a75.dir/testCCompiler.c.o  -o cmTC_86a75 
+make[1]: Leaving directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp'
+
+
+
+Detecting C compiler ABI info compiled with the following output:
+Change Dir: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/bin/make cmTC_29f77/fast && /usr/bin/make -f CMakeFiles/cmTC_29f77.dir/build.make CMakeFiles/cmTC_29f77.dir/build
+make[1]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp'
+Building C object CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o
+/usr/bin/cc   -v -o CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c
+Using built-in specs.
+COLLECT_GCC=/usr/bin/cc
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) 
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccP05f9z.s
+GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)
+	compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
+#include "..." search starts here:
+#include <...> search starts here:
+ /usr/lib/gcc/x86_64-linux-gnu/9/include
+ /usr/local/include
+ /usr/include/x86_64-linux-gnu
+ /usr/include
+End of search list.
+GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)
+	compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+Compiler executable checksum: bbf13931d8de1abe14040c9909cb6969
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
+ as -v --64 -o CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o /tmp/ccP05f9z.s
+GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
+Linking C executable cmTC_29f77
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_29f77.dir/link.txt --verbose=1
+/usr/bin/cc     -v -rdynamic CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o  -o cmTC_29f77 
+Using built-in specs.
+COLLECT_GCC=/usr/bin/cc
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) 
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_29f77' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgKDrN2.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_29f77 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_29f77' '-mtune=generic' '-march=x86-64'
+make[1]: Leaving directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp'
+
+
+
+Parsed C implicit include dir info from above output: rv=done
+  found start of include info
+  found start of implicit include info
+    add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+    add: [/usr/local/include]
+    add: [/usr/include/x86_64-linux-gnu]
+    add: [/usr/include]
+  end of search list found
+  collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+  collapse include dir [/usr/local/include] ==> [/usr/local/include]
+  collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
+  collapse include dir [/usr/include] ==> [/usr/include]
+  implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
+
+
+Parsed C implicit link information from above output:
+  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+  ignore line: [Change Dir: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp]
+  ignore line: []
+  ignore line: [Run Build Command(s):/usr/bin/make cmTC_29f77/fast && /usr/bin/make -f CMakeFiles/cmTC_29f77.dir/build.make CMakeFiles/cmTC_29f77.dir/build]
+  ignore line: [make[1]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp']
+  ignore line: [Building C object CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o]
+  ignore line: [/usr/bin/cc   -v -o CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c]
+  ignore line: [Using built-in specs.]
+  ignore line: [COLLECT_GCC=/usr/bin/cc]
+  ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+  ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+  ignore line: [Target: x86_64-linux-gnu]
+  ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+  ignore line: [Thread model: posix]
+  ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
+  ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccP05f9z.s]
+  ignore line: [GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)]
+  ignore line: [	compiled by GNU C version 9.3.0  GMP version 6.2.0  MPFR version 4.0.2  MPC version 1.1.0  isl version isl-0.22.1-GMP]
+  ignore line: []
+  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+  ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
+  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
+  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
+  ignore line: [#include "..." search starts here:]
+  ignore line: [#include <...> search starts here:]
+  ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
+  ignore line: [ /usr/local/include]
+  ignore line: [ /usr/include/x86_64-linux-gnu]
+  ignore line: [ /usr/include]
+  ignore line: [End of search list.]
+  ignore line: [GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)]
+  ignore line: [	compiled by GNU C version 9.3.0  GMP version 6.2.0  MPFR version 4.0.2  MPC version 1.1.0  isl version isl-0.22.1-GMP]
+  ignore line: []
+  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+  ignore line: [Compiler executable checksum: bbf13931d8de1abe14040c9909cb6969]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
+  ignore line: [ as -v --64 -o CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o /tmp/ccP05f9z.s]
+  ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
+  ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+  ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
+  ignore line: [Linking C executable cmTC_29f77]
+  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_29f77.dir/link.txt --verbose=1]
+  ignore line: [/usr/bin/cc     -v -rdynamic CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o  -o cmTC_29f77 ]
+  ignore line: [Using built-in specs.]
+  ignore line: [COLLECT_GCC=/usr/bin/cc]
+  ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
+  ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+  ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+  ignore line: [Target: x86_64-linux-gnu]
+  ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+  ignore line: [Thread model: posix]
+  ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ]
+  ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+  ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_29f77' '-mtune=generic' '-march=x86-64']
+  link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgKDrN2.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_29f77 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
+    arg [-plugin] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
+    arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
+    arg [-plugin-opt=-fresolution=/tmp/ccgKDrN2.res] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+    arg [-plugin-opt=-pass-through=-lc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+    arg [--build-id] ==> ignore
+    arg [--eh-frame-hdr] ==> ignore
+    arg [-m] ==> ignore
+    arg [elf_x86_64] ==> ignore
+    arg [--hash-style=gnu] ==> ignore
+    arg [--as-needed] ==> ignore
+    arg [-export-dynamic] ==> ignore
+    arg [-dynamic-linker] ==> ignore
+    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+    arg [-pie] ==> ignore
+    arg [-znow] ==> ignore
+    arg [-zrelro] ==> ignore
+    arg [-o] ==> ignore
+    arg [cmTC_29f77] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
+    arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+    arg [-L/lib/../lib] ==> dir [/lib/../lib]
+    arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+    arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
+    arg [CMakeFiles/cmTC_29f77.dir/CMakeCCompilerABI.c.o] ==> ignore
+    arg [-lgcc] ==> lib [gcc]
+    arg [--push-state] ==> ignore
+    arg [--as-needed] ==> ignore
+    arg [-lgcc_s] ==> lib [gcc_s]
+    arg [--pop-state] ==> ignore
+    arg [-lc] ==> lib [c]
+    arg [-lgcc] ==> lib [gcc]
+    arg [--push-state] ==> ignore
+    arg [--as-needed] ==> ignore
+    arg [-lgcc_s] ==> lib [gcc_s]
+    arg [--pop-state] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
+  collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+  collapse library dir [/lib/../lib] ==> [/lib]
+  collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+  collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
+  implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
+  implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+  implicit fwks: []
+
+
+Determining if the CXX compiler works passed with the following output:
+Change Dir: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/bin/make cmTC_c1463/fast && /usr/bin/make -f CMakeFiles/cmTC_c1463.dir/build.make CMakeFiles/cmTC_c1463.dir/build
+make[1]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp'
+Building CXX object CMakeFiles/cmTC_c1463.dir/testCXXCompiler.cxx.o
+/usr/bin/c++     -o CMakeFiles/cmTC_c1463.dir/testCXXCompiler.cxx.o -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
+Linking CXX executable cmTC_c1463
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c1463.dir/link.txt --verbose=1
+/usr/bin/c++       -rdynamic CMakeFiles/cmTC_c1463.dir/testCXXCompiler.cxx.o  -o cmTC_c1463 
+make[1]: Leaving directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp'
+
+
+
+Detecting CXX compiler ABI info compiled with the following output:
+Change Dir: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/bin/make cmTC_55cbd/fast && /usr/bin/make -f CMakeFiles/cmTC_55cbd.dir/build.make CMakeFiles/cmTC_55cbd.dir/build
+make[1]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp'
+Building CXX object CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o
+/usr/bin/c++    -v -o CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) 
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnUn9ny.s
+GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)
+	compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"
+ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
+#include "..." search starts here:
+#include <...> search starts here:
+ /usr/include/c++/9
+ /usr/include/x86_64-linux-gnu/c++/9
+ /usr/include/c++/9/backward
+ /usr/lib/gcc/x86_64-linux-gnu/9/include
+ /usr/local/include
+ /usr/include/x86_64-linux-gnu
+ /usr/include
+End of search list.
+GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)
+	compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+Compiler executable checksum: 466f818abe2f30ba03783f22bd12d815
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ as -v --64 -o CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccnUn9ny.s
+GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+Linking CXX executable cmTC_55cbd
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_55cbd.dir/link.txt --verbose=1
+/usr/bin/c++      -v -rdynamic CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_55cbd 
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) 
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_55cbd' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cc9cFtJ1.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_55cbd /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_55cbd' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+make[1]: Leaving directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp'
+
+
+
+Parsed CXX implicit include dir info from above output: rv=done
+  found start of include info
+  found start of implicit include info
+    add: [/usr/include/c++/9]
+    add: [/usr/include/x86_64-linux-gnu/c++/9]
+    add: [/usr/include/c++/9/backward]
+    add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+    add: [/usr/local/include]
+    add: [/usr/include/x86_64-linux-gnu]
+    add: [/usr/include]
+  end of search list found
+  collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9]
+  collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9]
+  collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward]
+  collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+  collapse include dir [/usr/local/include] ==> [/usr/local/include]
+  collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
+  collapse include dir [/usr/include] ==> [/usr/include]
+  implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
+
+
+Parsed CXX implicit link information from above output:
+  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+  ignore line: [Change Dir: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp]
+  ignore line: []
+  ignore line: [Run Build Command(s):/usr/bin/make cmTC_55cbd/fast && /usr/bin/make -f CMakeFiles/cmTC_55cbd.dir/build.make CMakeFiles/cmTC_55cbd.dir/build]
+  ignore line: [make[1]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp']
+  ignore line: [Building CXX object CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o]
+  ignore line: [/usr/bin/c++    -v -o CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp]
+  ignore line: [Using built-in specs.]
+  ignore line: [COLLECT_GCC=/usr/bin/c++]
+  ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+  ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+  ignore line: [Target: x86_64-linux-gnu]
+  ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+  ignore line: [Thread model: posix]
+  ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+  ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnUn9ny.s]
+  ignore line: [GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)]
+  ignore line: [	compiled by GNU C version 9.3.0  GMP version 6.2.0  MPFR version 4.0.2  MPC version 1.1.0  isl version isl-0.22.1-GMP]
+  ignore line: []
+  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+  ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"]
+  ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
+  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
+  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
+  ignore line: [#include "..." search starts here:]
+  ignore line: [#include <...> search starts here:]
+  ignore line: [ /usr/include/c++/9]
+  ignore line: [ /usr/include/x86_64-linux-gnu/c++/9]
+  ignore line: [ /usr/include/c++/9/backward]
+  ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
+  ignore line: [ /usr/local/include]
+  ignore line: [ /usr/include/x86_64-linux-gnu]
+  ignore line: [ /usr/include]
+  ignore line: [End of search list.]
+  ignore line: [GNU C++14 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)]
+  ignore line: [	compiled by GNU C version 9.3.0  GMP version 6.2.0  MPFR version 4.0.2  MPC version 1.1.0  isl version isl-0.22.1-GMP]
+  ignore line: []
+  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+  ignore line: [Compiler executable checksum: 466f818abe2f30ba03783f22bd12d815]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+  ignore line: [ as -v --64 -o CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccnUn9ny.s]
+  ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
+  ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+  ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+  ignore line: [Linking CXX executable cmTC_55cbd]
+  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_55cbd.dir/link.txt --verbose=1]
+  ignore line: [/usr/bin/c++      -v -rdynamic CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_55cbd ]
+  ignore line: [Using built-in specs.]
+  ignore line: [COLLECT_GCC=/usr/bin/c++]
+  ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
+  ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+  ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+  ignore line: [Target: x86_64-linux-gnu]
+  ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+  ignore line: [Thread model: posix]
+  ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ]
+  ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+  ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_55cbd' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+  link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cc9cFtJ1.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_55cbd /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
+    arg [-plugin] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
+    arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
+    arg [-plugin-opt=-fresolution=/tmp/cc9cFtJ1.res] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+    arg [--build-id] ==> ignore
+    arg [--eh-frame-hdr] ==> ignore
+    arg [-m] ==> ignore
+    arg [elf_x86_64] ==> ignore
+    arg [--hash-style=gnu] ==> ignore
+    arg [--as-needed] ==> ignore
+    arg [-export-dynamic] ==> ignore
+    arg [-dynamic-linker] ==> ignore
+    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+    arg [-pie] ==> ignore
+    arg [-znow] ==> ignore
+    arg [-zrelro] ==> ignore
+    arg [-o] ==> ignore
+    arg [cmTC_55cbd] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
+    arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+    arg [-L/lib/../lib] ==> dir [/lib/../lib]
+    arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+    arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
+    arg [CMakeFiles/cmTC_55cbd.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+    arg [-lstdc++] ==> lib [stdc++]
+    arg [-lm] ==> lib [m]
+    arg [-lgcc_s] ==> lib [gcc_s]
+    arg [-lgcc] ==> lib [gcc]
+    arg [-lc] ==> lib [c]
+    arg [-lgcc_s] ==> lib [gcc_s]
+    arg [-lgcc] ==> lib [gcc]
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
+  collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+  collapse library dir [/lib/../lib] ==> [/lib]
+  collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+  collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
+  implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
+  implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+  implicit fwks: []
+
+
+Determining if the function getaddrinfo_a exists in the anl passed with the following output:
+Change Dir: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/bin/make cmTC_0f72a/fast && /usr/bin/make -f CMakeFiles/cmTC_0f72a.dir/build.make CMakeFiles/cmTC_0f72a.dir/build
+make[1]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp'
+Building C object CMakeFiles/cmTC_0f72a.dir/CheckFunctionExists.c.o
+/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=getaddrinfo_a   -o CMakeFiles/cmTC_0f72a.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c
+Linking C executable cmTC_0f72a
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0f72a.dir/link.txt --verbose=1
+/usr/bin/cc  -DCHECK_FUNCTION_EXISTS=getaddrinfo_a    -rdynamic CMakeFiles/cmTC_0f72a.dir/CheckFunctionExists.c.o  -o cmTC_0f72a  -lanl 
+make[1]: Leaving directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeTmp'
+
+
+

+ 23 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/CMakeRuleHashes.txt

@@ -0,0 +1,23 @@
+# Hashes of file build rules.
+3234730154a4f6d56a23c6cb452e9a15 man/CMakeFiles/libmosquitto.3
+3234730154a4f6d56a23c6cb452e9a15 man/CMakeFiles/mosquitto-tls.7
+3234730154a4f6d56a23c6cb452e9a15 man/CMakeFiles/mosquitto.8
+3234730154a4f6d56a23c6cb452e9a15 man/CMakeFiles/mosquitto.conf.5
+3234730154a4f6d56a23c6cb452e9a15 man/CMakeFiles/mosquitto_ctrl.1
+3234730154a4f6d56a23c6cb452e9a15 man/CMakeFiles/mosquitto_ctrl_dynsec.1
+3234730154a4f6d56a23c6cb452e9a15 man/CMakeFiles/mosquitto_passwd.1
+3234730154a4f6d56a23c6cb452e9a15 man/CMakeFiles/mosquitto_pub.1
+3234730154a4f6d56a23c6cb452e9a15 man/CMakeFiles/mosquitto_rr.1
+3234730154a4f6d56a23c6cb452e9a15 man/CMakeFiles/mosquitto_sub.1
+3234730154a4f6d56a23c6cb452e9a15 man/CMakeFiles/mqtt.7
+a071dfd63ca862262778b826c953ff0f man/libmosquitto.3
+a36c384e6598dfca1ca749ca1c976e00 man/mosquitto-tls.7
+7203d5f08252b5ffd901c7a5fc39916a man/mosquitto.8
+9c42249018375b2b7078fe1a24c47ff5 man/mosquitto.conf.5
+2b91e70a1117a03c8d86dbf6949cc11a man/mosquitto_ctrl.1
+30ad3e642a552841049fe19b14a5e3c2 man/mosquitto_ctrl_dynsec.1
+6d0a57b75382db5cc2b10db1763ec4a1 man/mosquitto_passwd.1
+6523ed939c28f0c19effffc9f871f6da man/mosquitto_pub.1
+49e0ac3b2a04c6bf1371d758de80ae94 man/mosquitto_rr.1
+e39e622b6bd7ee215b79ed479ac03b7e man/mosquitto_sub.1
+3e6b9b14bab462e2af5d28416d499ce1 man/mqtt.7

+ 175 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/Makefile.cmake

@@ -0,0 +1,175 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# The generator used is:
+set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
+
+# The top level Makefile was generated from the following files:
+set(CMAKE_MAKEFILE_DEPENDS
+  "CMakeCache.txt"
+  "CMakeFiles/3.16.3/CMakeCCompiler.cmake"
+  "CMakeFiles/3.16.3/CMakeCXXCompiler.cmake"
+  "CMakeFiles/3.16.3/CMakeSystem.cmake"
+  "CMakeLists.txt"
+  "apps/CMakeLists.txt"
+  "apps/mosquitto_ctrl/CMakeLists.txt"
+  "apps/mosquitto_passwd/CMakeLists.txt"
+  "client/CMakeLists.txt"
+  "cmake/FindcJSON.cmake"
+  "lib/CMakeLists.txt"
+  "lib/cpp/CMakeLists.txt"
+  "libmosquitto.pc.in"
+  "libmosquittopp.pc.in"
+  "man/CMakeLists.txt"
+  "plugins/CMakeLists.txt"
+  "plugins/dynamic-security/CMakeLists.txt"
+  "plugins/message-timestamp/CMakeLists.txt"
+  "plugins/payload-modification/CMakeLists.txt"
+  "src/CMakeLists.txt"
+  "/usr/share/cmake-3.16/Modules/CMakeCCompiler.cmake.in"
+  "/usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c"
+  "/usr/share/cmake-3.16/Modules/CMakeCInformation.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeCXXCompiler.cmake.in"
+  "/usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp"
+  "/usr/share/cmake-3.16/Modules/CMakeCXXInformation.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeCompilerIdDetection.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeDetermineCCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeDetermineCXXCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeDetermineCompileFeatures.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeDetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeDetermineCompilerABI.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeDetermineCompilerId.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeDetermineSystem.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeFindBinUtils.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeGenericSystem.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeParseImplicitIncludeInfo.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeParseImplicitLinkInfo.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeSystem.cmake.in"
+  "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeTestCCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeTestCXXCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeTestCompilerCommon.cmake"
+  "/usr/share/cmake-3.16/Modules/CMakeUnixFindMake.cmake"
+  "/usr/share/cmake-3.16/Modules/CheckFunctionExists.c"
+  "/usr/share/cmake-3.16/Modules/CheckLibraryExists.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/ADSP-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Borland-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Clang-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Cray-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/GHS-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/GNU-C.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/GNU-FindBinUtils.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/HP-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/IAR-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Intel-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/MSVC-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/PGI-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/PathScale-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/SCO-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/TI-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/Watcom-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/XL-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.16/Modules/FindOpenSSL.cmake"
+  "/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake"
+  "/usr/share/cmake-3.16/Modules/FindPackageMessage.cmake"
+  "/usr/share/cmake-3.16/Modules/FindPkgConfig.cmake"
+  "/usr/share/cmake-3.16/Modules/GNUInstallDirs.cmake"
+  "/usr/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake"
+  "/usr/share/cmake-3.16/Modules/Internal/FeatureTesting.cmake"
+  "/usr/share/cmake-3.16/Modules/Platform/Linux-Determine-CXX.cmake"
+  "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake"
+  "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake"
+  "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake"
+  "/usr/share/cmake-3.16/Modules/Platform/Linux.cmake"
+  "/usr/share/cmake-3.16/Modules/Platform/UnixPaths.cmake"
+  )
+
+# The corresponding makefile is:
+set(CMAKE_MAKEFILE_OUTPUTS
+  "Makefile"
+  "CMakeFiles/cmake.check_cache"
+  )
+
+# Byproducts of CMake generate step:
+set(CMAKE_MAKEFILE_PRODUCTS
+  "CMakeFiles/3.16.3/CMakeSystem.cmake"
+  "CMakeFiles/3.16.3/CMakeCCompiler.cmake"
+  "CMakeFiles/3.16.3/CMakeCXXCompiler.cmake"
+  "CMakeFiles/3.16.3/CMakeCCompiler.cmake"
+  "CMakeFiles/3.16.3/CMakeCXXCompiler.cmake"
+  "libmosquitto.pc"
+  "libmosquittopp.pc"
+  "CMakeFiles/CMakeDirectoryInformation.cmake"
+  "lib/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "lib/cpp/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "client/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "src/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "apps/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "apps/mosquitto_ctrl/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "apps/mosquitto_passwd/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "plugins/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "plugins/dynamic-security/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "plugins/message-timestamp/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "plugins/payload-modification/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "man/CMakeFiles/CMakeDirectoryInformation.cmake"
+  )
+
+# Dependency information for all targets:
+set(CMAKE_DEPEND_INFO_FILES
+  "lib/CMakeFiles/libmosquitto.dir/DependInfo.cmake"
+  "lib/cpp/CMakeFiles/mosquittopp.dir/DependInfo.cmake"
+  "client/CMakeFiles/mosquitto_rr.dir/DependInfo.cmake"
+  "client/CMakeFiles/mosquitto_sub.dir/DependInfo.cmake"
+  "client/CMakeFiles/mosquitto_pub.dir/DependInfo.cmake"
+  "src/CMakeFiles/mosquitto.dir/DependInfo.cmake"
+  "apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/DependInfo.cmake"
+  "plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/DependInfo.cmake"
+  "plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/DependInfo.cmake"
+  "man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/DependInfo.cmake"
+  "man/CMakeFiles/mqtt.7.dir/DependInfo.cmake"
+  "man/CMakeFiles/mosquitto_ctrl.1.dir/DependInfo.cmake"
+  "man/CMakeFiles/mosquitto_passwd.1.dir/DependInfo.cmake"
+  "man/CMakeFiles/mosquitto-tls.7.dir/DependInfo.cmake"
+  "man/CMakeFiles/mosquitto_pub.1.dir/DependInfo.cmake"
+  "man/CMakeFiles/mosquitto.conf.5.dir/DependInfo.cmake"
+  "man/CMakeFiles/mosquitto_sub.1.dir/DependInfo.cmake"
+  "man/CMakeFiles/mosquitto_rr.1.dir/DependInfo.cmake"
+  "man/CMakeFiles/libmosquitto.3.dir/DependInfo.cmake"
+  "man/CMakeFiles/mosquitto.8.dir/DependInfo.cmake"
+  )

+ 885 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/Makefile2

@@ -0,0 +1,885 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+#=============================================================================
+# Directory level rules for the build root directory
+
+# The main recursive "all" target.
+all: lib/all
+all: client/all
+all: src/all
+all: apps/all
+all: plugins/all
+all: man/all
+
+.PHONY : all
+
+# The main recursive "preinstall" target.
+preinstall: lib/preinstall
+preinstall: client/preinstall
+preinstall: src/preinstall
+preinstall: apps/preinstall
+preinstall: plugins/preinstall
+preinstall: man/preinstall
+
+.PHONY : preinstall
+
+# The main recursive "clean" target.
+clean: lib/clean
+clean: client/clean
+clean: src/clean
+clean: apps/clean
+clean: plugins/clean
+clean: man/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Directory level rules for directory apps
+
+# Recursive "all" directory target.
+apps/all: apps/mosquitto_ctrl/all
+apps/all: apps/mosquitto_passwd/all
+
+.PHONY : apps/all
+
+# Recursive "preinstall" directory target.
+apps/preinstall: apps/mosquitto_ctrl/preinstall
+apps/preinstall: apps/mosquitto_passwd/preinstall
+
+.PHONY : apps/preinstall
+
+# Recursive "clean" directory target.
+apps/clean: apps/mosquitto_ctrl/clean
+apps/clean: apps/mosquitto_passwd/clean
+
+.PHONY : apps/clean
+
+#=============================================================================
+# Directory level rules for directory apps/mosquitto_ctrl
+
+# Recursive "all" directory target.
+apps/mosquitto_ctrl/all:
+
+.PHONY : apps/mosquitto_ctrl/all
+
+# Recursive "preinstall" directory target.
+apps/mosquitto_ctrl/preinstall:
+
+.PHONY : apps/mosquitto_ctrl/preinstall
+
+# Recursive "clean" directory target.
+apps/mosquitto_ctrl/clean:
+
+.PHONY : apps/mosquitto_ctrl/clean
+
+#=============================================================================
+# Directory level rules for directory apps/mosquitto_passwd
+
+# Recursive "all" directory target.
+apps/mosquitto_passwd/all: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/all
+
+.PHONY : apps/mosquitto_passwd/all
+
+# Recursive "preinstall" directory target.
+apps/mosquitto_passwd/preinstall:
+
+.PHONY : apps/mosquitto_passwd/preinstall
+
+# Recursive "clean" directory target.
+apps/mosquitto_passwd/clean: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/clean
+
+.PHONY : apps/mosquitto_passwd/clean
+
+#=============================================================================
+# Directory level rules for directory client
+
+# Recursive "all" directory target.
+client/all: client/CMakeFiles/mosquitto_rr.dir/all
+client/all: client/CMakeFiles/mosquitto_sub.dir/all
+client/all: client/CMakeFiles/mosquitto_pub.dir/all
+
+.PHONY : client/all
+
+# Recursive "preinstall" directory target.
+client/preinstall:
+
+.PHONY : client/preinstall
+
+# Recursive "clean" directory target.
+client/clean: client/CMakeFiles/mosquitto_rr.dir/clean
+client/clean: client/CMakeFiles/mosquitto_sub.dir/clean
+client/clean: client/CMakeFiles/mosquitto_pub.dir/clean
+
+.PHONY : client/clean
+
+#=============================================================================
+# Directory level rules for directory lib
+
+# Recursive "all" directory target.
+lib/all: lib/CMakeFiles/libmosquitto.dir/all
+lib/all: lib/cpp/all
+
+.PHONY : lib/all
+
+# Recursive "preinstall" directory target.
+lib/preinstall: lib/cpp/preinstall
+
+.PHONY : lib/preinstall
+
+# Recursive "clean" directory target.
+lib/clean: lib/CMakeFiles/libmosquitto.dir/clean
+lib/clean: lib/cpp/clean
+
+.PHONY : lib/clean
+
+#=============================================================================
+# Directory level rules for directory lib/cpp
+
+# Recursive "all" directory target.
+lib/cpp/all: lib/cpp/CMakeFiles/mosquittopp.dir/all
+
+.PHONY : lib/cpp/all
+
+# Recursive "preinstall" directory target.
+lib/cpp/preinstall:
+
+.PHONY : lib/cpp/preinstall
+
+# Recursive "clean" directory target.
+lib/cpp/clean: lib/cpp/CMakeFiles/mosquittopp.dir/clean
+
+.PHONY : lib/cpp/clean
+
+#=============================================================================
+# Directory level rules for directory man
+
+# Recursive "all" directory target.
+man/all: man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/all
+man/all: man/CMakeFiles/mqtt.7.dir/all
+man/all: man/CMakeFiles/mosquitto_ctrl.1.dir/all
+man/all: man/CMakeFiles/mosquitto_passwd.1.dir/all
+man/all: man/CMakeFiles/mosquitto-tls.7.dir/all
+man/all: man/CMakeFiles/mosquitto_pub.1.dir/all
+man/all: man/CMakeFiles/mosquitto.conf.5.dir/all
+man/all: man/CMakeFiles/mosquitto_sub.1.dir/all
+man/all: man/CMakeFiles/mosquitto_rr.1.dir/all
+man/all: man/CMakeFiles/libmosquitto.3.dir/all
+man/all: man/CMakeFiles/mosquitto.8.dir/all
+
+.PHONY : man/all
+
+# Recursive "preinstall" directory target.
+man/preinstall:
+
+.PHONY : man/preinstall
+
+# Recursive "clean" directory target.
+man/clean: man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/clean
+man/clean: man/CMakeFiles/mqtt.7.dir/clean
+man/clean: man/CMakeFiles/mosquitto_ctrl.1.dir/clean
+man/clean: man/CMakeFiles/mosquitto_passwd.1.dir/clean
+man/clean: man/CMakeFiles/mosquitto-tls.7.dir/clean
+man/clean: man/CMakeFiles/mosquitto_pub.1.dir/clean
+man/clean: man/CMakeFiles/mosquitto.conf.5.dir/clean
+man/clean: man/CMakeFiles/mosquitto_sub.1.dir/clean
+man/clean: man/CMakeFiles/mosquitto_rr.1.dir/clean
+man/clean: man/CMakeFiles/libmosquitto.3.dir/clean
+man/clean: man/CMakeFiles/mosquitto.8.dir/clean
+
+.PHONY : man/clean
+
+#=============================================================================
+# Directory level rules for directory plugins
+
+# Recursive "all" directory target.
+plugins/all: plugins/dynamic-security/all
+plugins/all: plugins/message-timestamp/all
+plugins/all: plugins/payload-modification/all
+
+.PHONY : plugins/all
+
+# Recursive "preinstall" directory target.
+plugins/preinstall: plugins/dynamic-security/preinstall
+plugins/preinstall: plugins/message-timestamp/preinstall
+plugins/preinstall: plugins/payload-modification/preinstall
+
+.PHONY : plugins/preinstall
+
+# Recursive "clean" directory target.
+plugins/clean: plugins/dynamic-security/clean
+plugins/clean: plugins/message-timestamp/clean
+plugins/clean: plugins/payload-modification/clean
+
+.PHONY : plugins/clean
+
+#=============================================================================
+# Directory level rules for directory plugins/dynamic-security
+
+# Recursive "all" directory target.
+plugins/dynamic-security/all:
+
+.PHONY : plugins/dynamic-security/all
+
+# Recursive "preinstall" directory target.
+plugins/dynamic-security/preinstall:
+
+.PHONY : plugins/dynamic-security/preinstall
+
+# Recursive "clean" directory target.
+plugins/dynamic-security/clean:
+
+.PHONY : plugins/dynamic-security/clean
+
+#=============================================================================
+# Directory level rules for directory plugins/message-timestamp
+
+# Recursive "all" directory target.
+plugins/message-timestamp/all: plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/all
+
+.PHONY : plugins/message-timestamp/all
+
+# Recursive "preinstall" directory target.
+plugins/message-timestamp/preinstall:
+
+.PHONY : plugins/message-timestamp/preinstall
+
+# Recursive "clean" directory target.
+plugins/message-timestamp/clean: plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/clean
+
+.PHONY : plugins/message-timestamp/clean
+
+#=============================================================================
+# Directory level rules for directory plugins/payload-modification
+
+# Recursive "all" directory target.
+plugins/payload-modification/all: plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/all
+
+.PHONY : plugins/payload-modification/all
+
+# Recursive "preinstall" directory target.
+plugins/payload-modification/preinstall:
+
+.PHONY : plugins/payload-modification/preinstall
+
+# Recursive "clean" directory target.
+plugins/payload-modification/clean: plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/clean
+
+.PHONY : plugins/payload-modification/clean
+
+#=============================================================================
+# Directory level rules for directory src
+
+# Recursive "all" directory target.
+src/all: src/CMakeFiles/mosquitto.dir/all
+
+.PHONY : src/all
+
+# Recursive "preinstall" directory target.
+src/preinstall:
+
+.PHONY : src/preinstall
+
+# Recursive "clean" directory target.
+src/clean: src/CMakeFiles/mosquitto.dir/clean
+
+.PHONY : src/clean
+
+#=============================================================================
+# Target rules for target lib/CMakeFiles/libmosquitto.dir
+
+# All Build rule for target.
+lib/CMakeFiles/libmosquitto.dir/all:
+	$(MAKE) -f lib/CMakeFiles/libmosquitto.dir/build.make lib/CMakeFiles/libmosquitto.dir/depend
+	$(MAKE) -f lib/CMakeFiles/libmosquitto.dir/build.make lib/CMakeFiles/libmosquitto.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27 "Built target libmosquitto"
+.PHONY : lib/CMakeFiles/libmosquitto.dir/all
+
+# Build rule for subdir invocation for target.
+lib/CMakeFiles/libmosquitto.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 27
+	$(MAKE) -f CMakeFiles/Makefile2 lib/CMakeFiles/libmosquitto.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : lib/CMakeFiles/libmosquitto.dir/rule
+
+# Convenience name for target.
+libmosquitto: lib/CMakeFiles/libmosquitto.dir/rule
+
+.PHONY : libmosquitto
+
+# clean rule for target.
+lib/CMakeFiles/libmosquitto.dir/clean:
+	$(MAKE) -f lib/CMakeFiles/libmosquitto.dir/build.make lib/CMakeFiles/libmosquitto.dir/clean
+.PHONY : lib/CMakeFiles/libmosquitto.dir/clean
+
+#=============================================================================
+# Target rules for target lib/cpp/CMakeFiles/mosquittopp.dir
+
+# All Build rule for target.
+lib/cpp/CMakeFiles/mosquittopp.dir/all: lib/CMakeFiles/libmosquitto.dir/all
+	$(MAKE) -f lib/cpp/CMakeFiles/mosquittopp.dir/build.make lib/cpp/CMakeFiles/mosquittopp.dir/depend
+	$(MAKE) -f lib/cpp/CMakeFiles/mosquittopp.dir/build.make lib/cpp/CMakeFiles/mosquittopp.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=99 "Built target mosquittopp"
+.PHONY : lib/cpp/CMakeFiles/mosquittopp.dir/all
+
+# Build rule for subdir invocation for target.
+lib/cpp/CMakeFiles/mosquittopp.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 28
+	$(MAKE) -f CMakeFiles/Makefile2 lib/cpp/CMakeFiles/mosquittopp.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : lib/cpp/CMakeFiles/mosquittopp.dir/rule
+
+# Convenience name for target.
+mosquittopp: lib/cpp/CMakeFiles/mosquittopp.dir/rule
+
+.PHONY : mosquittopp
+
+# clean rule for target.
+lib/cpp/CMakeFiles/mosquittopp.dir/clean:
+	$(MAKE) -f lib/cpp/CMakeFiles/mosquittopp.dir/build.make lib/cpp/CMakeFiles/mosquittopp.dir/clean
+.PHONY : lib/cpp/CMakeFiles/mosquittopp.dir/clean
+
+#=============================================================================
+# Target rules for target client/CMakeFiles/mosquitto_rr.dir
+
+# All Build rule for target.
+client/CMakeFiles/mosquitto_rr.dir/all: lib/CMakeFiles/libmosquitto.dir/all
+	$(MAKE) -f client/CMakeFiles/mosquitto_rr.dir/build.make client/CMakeFiles/mosquitto_rr.dir/depend
+	$(MAKE) -f client/CMakeFiles/mosquitto_rr.dir/build.make client/CMakeFiles/mosquitto_rr.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=90,91,92,93 "Built target mosquitto_rr"
+.PHONY : client/CMakeFiles/mosquitto_rr.dir/all
+
+# Build rule for subdir invocation for target.
+client/CMakeFiles/mosquitto_rr.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 31
+	$(MAKE) -f CMakeFiles/Makefile2 client/CMakeFiles/mosquitto_rr.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : client/CMakeFiles/mosquitto_rr.dir/rule
+
+# Convenience name for target.
+mosquitto_rr: client/CMakeFiles/mosquitto_rr.dir/rule
+
+.PHONY : mosquitto_rr
+
+# clean rule for target.
+client/CMakeFiles/mosquitto_rr.dir/clean:
+	$(MAKE) -f client/CMakeFiles/mosquitto_rr.dir/build.make client/CMakeFiles/mosquitto_rr.dir/clean
+.PHONY : client/CMakeFiles/mosquitto_rr.dir/clean
+
+#=============================================================================
+# Target rules for target client/CMakeFiles/mosquitto_sub.dir
+
+# All Build rule for target.
+client/CMakeFiles/mosquitto_sub.dir/all: lib/CMakeFiles/libmosquitto.dir/all
+	$(MAKE) -f client/CMakeFiles/mosquitto_sub.dir/build.make client/CMakeFiles/mosquitto_sub.dir/depend
+	$(MAKE) -f client/CMakeFiles/mosquitto_sub.dir/build.make client/CMakeFiles/mosquitto_sub.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=95,96,97 "Built target mosquitto_sub"
+.PHONY : client/CMakeFiles/mosquitto_sub.dir/all
+
+# Build rule for subdir invocation for target.
+client/CMakeFiles/mosquitto_sub.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 30
+	$(MAKE) -f CMakeFiles/Makefile2 client/CMakeFiles/mosquitto_sub.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : client/CMakeFiles/mosquitto_sub.dir/rule
+
+# Convenience name for target.
+mosquitto_sub: client/CMakeFiles/mosquitto_sub.dir/rule
+
+.PHONY : mosquitto_sub
+
+# clean rule for target.
+client/CMakeFiles/mosquitto_sub.dir/clean:
+	$(MAKE) -f client/CMakeFiles/mosquitto_sub.dir/build.make client/CMakeFiles/mosquitto_sub.dir/clean
+.PHONY : client/CMakeFiles/mosquitto_sub.dir/clean
+
+#=============================================================================
+# Target rules for target client/CMakeFiles/mosquitto_pub.dir
+
+# All Build rule for target.
+client/CMakeFiles/mosquitto_pub.dir/all: lib/CMakeFiles/libmosquitto.dir/all
+	$(MAKE) -f client/CMakeFiles/mosquitto_pub.dir/build.make client/CMakeFiles/mosquitto_pub.dir/depend
+	$(MAKE) -f client/CMakeFiles/mosquitto_pub.dir/build.make client/CMakeFiles/mosquitto_pub.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=87,88,89 "Built target mosquitto_pub"
+.PHONY : client/CMakeFiles/mosquitto_pub.dir/all
+
+# Build rule for subdir invocation for target.
+client/CMakeFiles/mosquitto_pub.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 30
+	$(MAKE) -f CMakeFiles/Makefile2 client/CMakeFiles/mosquitto_pub.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : client/CMakeFiles/mosquitto_pub.dir/rule
+
+# Convenience name for target.
+mosquitto_pub: client/CMakeFiles/mosquitto_pub.dir/rule
+
+.PHONY : mosquitto_pub
+
+# clean rule for target.
+client/CMakeFiles/mosquitto_pub.dir/clean:
+	$(MAKE) -f client/CMakeFiles/mosquitto_pub.dir/build.make client/CMakeFiles/mosquitto_pub.dir/clean
+.PHONY : client/CMakeFiles/mosquitto_pub.dir/clean
+
+#=============================================================================
+# Target rules for target src/CMakeFiles/mosquitto.dir
+
+# All Build rule for target.
+src/CMakeFiles/mosquitto.dir/all:
+	$(MAKE) -f src/CMakeFiles/mosquitto.dir/build.make src/CMakeFiles/mosquitto.dir/depend
+	$(MAKE) -f src/CMakeFiles/mosquitto.dir/build.make src/CMakeFiles/mosquitto.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75 "Built target mosquitto"
+.PHONY : src/CMakeFiles/mosquitto.dir/all
+
+# Build rule for subdir invocation for target.
+src/CMakeFiles/mosquitto.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 47
+	$(MAKE) -f CMakeFiles/Makefile2 src/CMakeFiles/mosquitto.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : src/CMakeFiles/mosquitto.dir/rule
+
+# Convenience name for target.
+mosquitto: src/CMakeFiles/mosquitto.dir/rule
+
+.PHONY : mosquitto
+
+# clean rule for target.
+src/CMakeFiles/mosquitto.dir/clean:
+	$(MAKE) -f src/CMakeFiles/mosquitto.dir/build.make src/CMakeFiles/mosquitto.dir/clean
+.PHONY : src/CMakeFiles/mosquitto.dir/clean
+
+#=============================================================================
+# Target rules for target apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir
+
+# All Build rule for target.
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/all:
+	$(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/depend
+	$(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=80,81,82,83,84 "Built target mosquitto_passwd"
+.PHONY : apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/all
+
+# Build rule for subdir invocation for target.
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 5
+	$(MAKE) -f CMakeFiles/Makefile2 apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/rule
+
+# Convenience name for target.
+mosquitto_passwd: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/rule
+
+.PHONY : mosquitto_passwd
+
+# clean rule for target.
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/clean:
+	$(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/clean
+.PHONY : apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/clean
+
+#=============================================================================
+# Target rules for target plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir
+
+# All Build rule for target.
+plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/all:
+	$(MAKE) -f plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/build.make plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/depend
+	$(MAKE) -f plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/build.make plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=79 "Built target mosquitto_message_timestamp"
+.PHONY : plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/all
+
+# Build rule for subdir invocation for target.
+plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 1
+	$(MAKE) -f CMakeFiles/Makefile2 plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/rule
+
+# Convenience name for target.
+mosquitto_message_timestamp: plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/rule
+
+.PHONY : mosquitto_message_timestamp
+
+# clean rule for target.
+plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/clean:
+	$(MAKE) -f plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/build.make plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/clean
+.PHONY : plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/clean
+
+#=============================================================================
+# Target rules for target plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir
+
+# All Build rule for target.
+plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/all:
+	$(MAKE) -f plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/build.make plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/depend
+	$(MAKE) -f plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/build.make plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=85,86 "Built target mosquitto_payload_modification"
+.PHONY : plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/all
+
+# Build rule for subdir invocation for target.
+plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 2
+	$(MAKE) -f CMakeFiles/Makefile2 plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/rule
+
+# Convenience name for target.
+mosquitto_payload_modification: plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/rule
+
+.PHONY : mosquitto_payload_modification
+
+# clean rule for target.
+plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/clean:
+	$(MAKE) -f plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/build.make plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/clean
+.PHONY : plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/clean
+
+#=============================================================================
+# Target rules for target man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir
+
+# All Build rule for target.
+man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/all:
+	$(MAKE) -f man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/build.make man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/depend
+	$(MAKE) -f man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/build.make man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=78 "Built target mosquitto_ctrl_dynsec.1"
+.PHONY : man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/all
+
+# Build rule for subdir invocation for target.
+man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 1
+	$(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/rule
+
+# Convenience name for target.
+mosquitto_ctrl_dynsec.1: man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/rule
+
+.PHONY : mosquitto_ctrl_dynsec.1
+
+# clean rule for target.
+man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/clean:
+	$(MAKE) -f man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/build.make man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/clean
+.PHONY : man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/clean
+
+#=============================================================================
+# Target rules for target man/CMakeFiles/mqtt.7.dir
+
+# All Build rule for target.
+man/CMakeFiles/mqtt.7.dir/all:
+	$(MAKE) -f man/CMakeFiles/mqtt.7.dir/build.make man/CMakeFiles/mqtt.7.dir/depend
+	$(MAKE) -f man/CMakeFiles/mqtt.7.dir/build.make man/CMakeFiles/mqtt.7.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=100 "Built target mqtt.7"
+.PHONY : man/CMakeFiles/mqtt.7.dir/all
+
+# Build rule for subdir invocation for target.
+man/CMakeFiles/mqtt.7.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 1
+	$(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/mqtt.7.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : man/CMakeFiles/mqtt.7.dir/rule
+
+# Convenience name for target.
+mqtt.7: man/CMakeFiles/mqtt.7.dir/rule
+
+.PHONY : mqtt.7
+
+# clean rule for target.
+man/CMakeFiles/mqtt.7.dir/clean:
+	$(MAKE) -f man/CMakeFiles/mqtt.7.dir/build.make man/CMakeFiles/mqtt.7.dir/clean
+.PHONY : man/CMakeFiles/mqtt.7.dir/clean
+
+#=============================================================================
+# Target rules for target man/CMakeFiles/mosquitto_ctrl.1.dir
+
+# All Build rule for target.
+man/CMakeFiles/mosquitto_ctrl.1.dir/all:
+	$(MAKE) -f man/CMakeFiles/mosquitto_ctrl.1.dir/build.make man/CMakeFiles/mosquitto_ctrl.1.dir/depend
+	$(MAKE) -f man/CMakeFiles/mosquitto_ctrl.1.dir/build.make man/CMakeFiles/mosquitto_ctrl.1.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num= "Built target mosquitto_ctrl.1"
+.PHONY : man/CMakeFiles/mosquitto_ctrl.1.dir/all
+
+# Build rule for subdir invocation for target.
+man/CMakeFiles/mosquitto_ctrl.1.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/mosquitto_ctrl.1.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : man/CMakeFiles/mosquitto_ctrl.1.dir/rule
+
+# Convenience name for target.
+mosquitto_ctrl.1: man/CMakeFiles/mosquitto_ctrl.1.dir/rule
+
+.PHONY : mosquitto_ctrl.1
+
+# clean rule for target.
+man/CMakeFiles/mosquitto_ctrl.1.dir/clean:
+	$(MAKE) -f man/CMakeFiles/mosquitto_ctrl.1.dir/build.make man/CMakeFiles/mosquitto_ctrl.1.dir/clean
+.PHONY : man/CMakeFiles/mosquitto_ctrl.1.dir/clean
+
+#=============================================================================
+# Target rules for target man/CMakeFiles/mosquitto_passwd.1.dir
+
+# All Build rule for target.
+man/CMakeFiles/mosquitto_passwd.1.dir/all:
+	$(MAKE) -f man/CMakeFiles/mosquitto_passwd.1.dir/build.make man/CMakeFiles/mosquitto_passwd.1.dir/depend
+	$(MAKE) -f man/CMakeFiles/mosquitto_passwd.1.dir/build.make man/CMakeFiles/mosquitto_passwd.1.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num= "Built target mosquitto_passwd.1"
+.PHONY : man/CMakeFiles/mosquitto_passwd.1.dir/all
+
+# Build rule for subdir invocation for target.
+man/CMakeFiles/mosquitto_passwd.1.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/mosquitto_passwd.1.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : man/CMakeFiles/mosquitto_passwd.1.dir/rule
+
+# Convenience name for target.
+mosquitto_passwd.1: man/CMakeFiles/mosquitto_passwd.1.dir/rule
+
+.PHONY : mosquitto_passwd.1
+
+# clean rule for target.
+man/CMakeFiles/mosquitto_passwd.1.dir/clean:
+	$(MAKE) -f man/CMakeFiles/mosquitto_passwd.1.dir/build.make man/CMakeFiles/mosquitto_passwd.1.dir/clean
+.PHONY : man/CMakeFiles/mosquitto_passwd.1.dir/clean
+
+#=============================================================================
+# Target rules for target man/CMakeFiles/mosquitto-tls.7.dir
+
+# All Build rule for target.
+man/CMakeFiles/mosquitto-tls.7.dir/all:
+	$(MAKE) -f man/CMakeFiles/mosquitto-tls.7.dir/build.make man/CMakeFiles/mosquitto-tls.7.dir/depend
+	$(MAKE) -f man/CMakeFiles/mosquitto-tls.7.dir/build.make man/CMakeFiles/mosquitto-tls.7.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=76 "Built target mosquitto-tls.7"
+.PHONY : man/CMakeFiles/mosquitto-tls.7.dir/all
+
+# Build rule for subdir invocation for target.
+man/CMakeFiles/mosquitto-tls.7.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 1
+	$(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/mosquitto-tls.7.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : man/CMakeFiles/mosquitto-tls.7.dir/rule
+
+# Convenience name for target.
+mosquitto-tls.7: man/CMakeFiles/mosquitto-tls.7.dir/rule
+
+.PHONY : mosquitto-tls.7
+
+# clean rule for target.
+man/CMakeFiles/mosquitto-tls.7.dir/clean:
+	$(MAKE) -f man/CMakeFiles/mosquitto-tls.7.dir/build.make man/CMakeFiles/mosquitto-tls.7.dir/clean
+.PHONY : man/CMakeFiles/mosquitto-tls.7.dir/clean
+
+#=============================================================================
+# Target rules for target man/CMakeFiles/mosquitto_pub.1.dir
+
+# All Build rule for target.
+man/CMakeFiles/mosquitto_pub.1.dir/all:
+	$(MAKE) -f man/CMakeFiles/mosquitto_pub.1.dir/build.make man/CMakeFiles/mosquitto_pub.1.dir/depend
+	$(MAKE) -f man/CMakeFiles/mosquitto_pub.1.dir/build.make man/CMakeFiles/mosquitto_pub.1.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num= "Built target mosquitto_pub.1"
+.PHONY : man/CMakeFiles/mosquitto_pub.1.dir/all
+
+# Build rule for subdir invocation for target.
+man/CMakeFiles/mosquitto_pub.1.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/mosquitto_pub.1.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : man/CMakeFiles/mosquitto_pub.1.dir/rule
+
+# Convenience name for target.
+mosquitto_pub.1: man/CMakeFiles/mosquitto_pub.1.dir/rule
+
+.PHONY : mosquitto_pub.1
+
+# clean rule for target.
+man/CMakeFiles/mosquitto_pub.1.dir/clean:
+	$(MAKE) -f man/CMakeFiles/mosquitto_pub.1.dir/build.make man/CMakeFiles/mosquitto_pub.1.dir/clean
+.PHONY : man/CMakeFiles/mosquitto_pub.1.dir/clean
+
+#=============================================================================
+# Target rules for target man/CMakeFiles/mosquitto.conf.5.dir
+
+# All Build rule for target.
+man/CMakeFiles/mosquitto.conf.5.dir/all:
+	$(MAKE) -f man/CMakeFiles/mosquitto.conf.5.dir/build.make man/CMakeFiles/mosquitto.conf.5.dir/depend
+	$(MAKE) -f man/CMakeFiles/mosquitto.conf.5.dir/build.make man/CMakeFiles/mosquitto.conf.5.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=77 "Built target mosquitto.conf.5"
+.PHONY : man/CMakeFiles/mosquitto.conf.5.dir/all
+
+# Build rule for subdir invocation for target.
+man/CMakeFiles/mosquitto.conf.5.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 1
+	$(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/mosquitto.conf.5.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : man/CMakeFiles/mosquitto.conf.5.dir/rule
+
+# Convenience name for target.
+mosquitto.conf.5: man/CMakeFiles/mosquitto.conf.5.dir/rule
+
+.PHONY : mosquitto.conf.5
+
+# clean rule for target.
+man/CMakeFiles/mosquitto.conf.5.dir/clean:
+	$(MAKE) -f man/CMakeFiles/mosquitto.conf.5.dir/build.make man/CMakeFiles/mosquitto.conf.5.dir/clean
+.PHONY : man/CMakeFiles/mosquitto.conf.5.dir/clean
+
+#=============================================================================
+# Target rules for target man/CMakeFiles/mosquitto_sub.1.dir
+
+# All Build rule for target.
+man/CMakeFiles/mosquitto_sub.1.dir/all:
+	$(MAKE) -f man/CMakeFiles/mosquitto_sub.1.dir/build.make man/CMakeFiles/mosquitto_sub.1.dir/depend
+	$(MAKE) -f man/CMakeFiles/mosquitto_sub.1.dir/build.make man/CMakeFiles/mosquitto_sub.1.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=98 "Built target mosquitto_sub.1"
+.PHONY : man/CMakeFiles/mosquitto_sub.1.dir/all
+
+# Build rule for subdir invocation for target.
+man/CMakeFiles/mosquitto_sub.1.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 1
+	$(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/mosquitto_sub.1.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : man/CMakeFiles/mosquitto_sub.1.dir/rule
+
+# Convenience name for target.
+mosquitto_sub.1: man/CMakeFiles/mosquitto_sub.1.dir/rule
+
+.PHONY : mosquitto_sub.1
+
+# clean rule for target.
+man/CMakeFiles/mosquitto_sub.1.dir/clean:
+	$(MAKE) -f man/CMakeFiles/mosquitto_sub.1.dir/build.make man/CMakeFiles/mosquitto_sub.1.dir/clean
+.PHONY : man/CMakeFiles/mosquitto_sub.1.dir/clean
+
+#=============================================================================
+# Target rules for target man/CMakeFiles/mosquitto_rr.1.dir
+
+# All Build rule for target.
+man/CMakeFiles/mosquitto_rr.1.dir/all:
+	$(MAKE) -f man/CMakeFiles/mosquitto_rr.1.dir/build.make man/CMakeFiles/mosquitto_rr.1.dir/depend
+	$(MAKE) -f man/CMakeFiles/mosquitto_rr.1.dir/build.make man/CMakeFiles/mosquitto_rr.1.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=94 "Built target mosquitto_rr.1"
+.PHONY : man/CMakeFiles/mosquitto_rr.1.dir/all
+
+# Build rule for subdir invocation for target.
+man/CMakeFiles/mosquitto_rr.1.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 1
+	$(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/mosquitto_rr.1.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : man/CMakeFiles/mosquitto_rr.1.dir/rule
+
+# Convenience name for target.
+mosquitto_rr.1: man/CMakeFiles/mosquitto_rr.1.dir/rule
+
+.PHONY : mosquitto_rr.1
+
+# clean rule for target.
+man/CMakeFiles/mosquitto_rr.1.dir/clean:
+	$(MAKE) -f man/CMakeFiles/mosquitto_rr.1.dir/build.make man/CMakeFiles/mosquitto_rr.1.dir/clean
+.PHONY : man/CMakeFiles/mosquitto_rr.1.dir/clean
+
+#=============================================================================
+# Target rules for target man/CMakeFiles/libmosquitto.3.dir
+
+# All Build rule for target.
+man/CMakeFiles/libmosquitto.3.dir/all:
+	$(MAKE) -f man/CMakeFiles/libmosquitto.3.dir/build.make man/CMakeFiles/libmosquitto.3.dir/depend
+	$(MAKE) -f man/CMakeFiles/libmosquitto.3.dir/build.make man/CMakeFiles/libmosquitto.3.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=28 "Built target libmosquitto.3"
+.PHONY : man/CMakeFiles/libmosquitto.3.dir/all
+
+# Build rule for subdir invocation for target.
+man/CMakeFiles/libmosquitto.3.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 1
+	$(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/libmosquitto.3.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : man/CMakeFiles/libmosquitto.3.dir/rule
+
+# Convenience name for target.
+libmosquitto.3: man/CMakeFiles/libmosquitto.3.dir/rule
+
+.PHONY : libmosquitto.3
+
+# clean rule for target.
+man/CMakeFiles/libmosquitto.3.dir/clean:
+	$(MAKE) -f man/CMakeFiles/libmosquitto.3.dir/build.make man/CMakeFiles/libmosquitto.3.dir/clean
+.PHONY : man/CMakeFiles/libmosquitto.3.dir/clean
+
+#=============================================================================
+# Target rules for target man/CMakeFiles/mosquitto.8.dir
+
+# All Build rule for target.
+man/CMakeFiles/mosquitto.8.dir/all:
+	$(MAKE) -f man/CMakeFiles/mosquitto.8.dir/build.make man/CMakeFiles/mosquitto.8.dir/depend
+	$(MAKE) -f man/CMakeFiles/mosquitto.8.dir/build.make man/CMakeFiles/mosquitto.8.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num= "Built target mosquitto.8"
+.PHONY : man/CMakeFiles/mosquitto.8.dir/all
+
+# Build rule for subdir invocation for target.
+man/CMakeFiles/mosquitto.8.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/mosquitto.8.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : man/CMakeFiles/mosquitto.8.dir/rule
+
+# Convenience name for target.
+mosquitto.8: man/CMakeFiles/mosquitto.8.dir/rule
+
+.PHONY : mosquitto.8
+
+# clean rule for target.
+man/CMakeFiles/mosquitto.8.dir/clean:
+	$(MAKE) -f man/CMakeFiles/mosquitto.8.dir/build.make man/CMakeFiles/mosquitto.8.dir/clean
+.PHONY : man/CMakeFiles/mosquitto.8.dir/clean
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+

+ 111 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/TargetDirectories.txt

@@ -0,0 +1,111 @@
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/CMakeFiles/libmosquitto.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/cpp/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/cpp/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/cpp/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/cpp/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/cpp/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/cpp/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/cpp/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/cpp/CMakeFiles/mosquittopp.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/CMakeFiles/mosquitto.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/dynamic-security/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/dynamic-security/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/dynamic-security/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/dynamic-security/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/dynamic-security/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/dynamic-security/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/dynamic-security/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/message-timestamp/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/message-timestamp/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/message-timestamp/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/message-timestamp/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/message-timestamp/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/message-timestamp/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/message-timestamp/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/payload-modification/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/payload-modification/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/payload-modification/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/payload-modification/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/payload-modification/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/payload-modification/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/payload-modification/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/install/strip.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/install.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/install/local.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/mqtt.7.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/mosquitto_ctrl.1.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/mosquitto_passwd.1.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/mosquitto-tls.7.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/mosquitto_pub.1.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/mosquitto.conf.5.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/mosquitto_sub.1.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/mosquitto_rr.1.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/test.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/rebuild_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/edit_cache.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/libmosquitto.3.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/list_install_components.dir
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/man/CMakeFiles/mosquitto.8.dir

+ 1 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/cmake.check_cache

@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file

+ 1 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeFiles/progress.marks

@@ -0,0 +1 @@
+100

+ 163 - 0
EVSE/GPL/mosquitto-2.0.13/CMakeLists.txt

@@ -0,0 +1,163 @@
+# This is a cmake script. Process it with the CMake gui or command line utility
+# to produce makefiles / Visual Studio project files on Mac OS X and Windows.
+#
+# To configure the build options either use the CMake gui, or run the command
+# line utility including the "-i" option.
+
+cmake_minimum_required(VERSION 3.0)
+cmake_policy(SET CMP0042 NEW)
+
+project(mosquitto)
+set (VERSION 2.0.13)
+
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/")
+
+add_definitions (-DCMAKE -DVERSION=\"${VERSION}\")
+
+if (WIN32)
+	add_definitions("-D_CRT_SECURE_NO_WARNINGS")
+	add_definitions("-D_CRT_NONSTDC_NO_DEPRECATE")
+endif (WIN32)
+
+if(APPLE)
+	set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -undefined dynamic_lookup")
+endif(APPLE)
+
+include(GNUInstallDirs)
+
+option(WITH_BUNDLED_DEPS "Build with bundled dependencies?" ON)
+option(WITH_TLS
+	"Include SSL/TLS support?" ON)
+option(WITH_TLS_PSK
+	"Include TLS-PSK support (requires WITH_TLS)?" ON)
+option(WITH_EC
+	"Include Elliptic Curve support (requires WITH_TLS)?" ON)
+if (WITH_TLS)
+	find_package(OpenSSL REQUIRED)
+	add_definitions("-DWITH_TLS")
+
+	if (WITH_TLS_PSK)
+		add_definitions("-DWITH_TLS_PSK")
+	endif (WITH_TLS_PSK)
+
+	if (WITH_EC)
+		add_definitions("-DWITH_EC")
+	endif (WITH_EC)
+else (WITH_TLS)
+	set (OPENSSL_INCLUDE_DIR "")
+endif (WITH_TLS)
+
+
+option(WITH_UNIX_SOCKETS "Include Unix Domain Socket support?" ON)
+if (WITH_UNIX_SOCKETS AND NOT WIN32)
+	add_definitions("-DWITH_UNIX_SOCKETS")
+endif (WITH_UNIX_SOCKETS AND NOT WIN32)
+
+option(WITH_SOCKS "Include SOCKS5 support?" ON)
+if (WITH_SOCKS)
+	add_definitions("-DWITH_SOCKS")
+endif (WITH_SOCKS)
+
+option(WITH_SRV "Include SRV lookup support?" OFF)
+
+option(WITH_STATIC_LIBRARIES "Build static versions of the libmosquitto/pp libraries?" OFF)
+option(WITH_PIC "Build the static library with PIC (Position Independent Code) enabled archives?" OFF)
+
+option(WITH_THREADING "Include client library threading support?" ON)
+if (WITH_THREADING)
+	add_definitions("-DWITH_THREADING")
+	if (WIN32)
+		if (CMAKE_CL_64)
+			set (PTHREAD_LIBRARIES C:\\pthreads\\Pre-built.2\\lib\\x64\\pthreadVC2.lib)
+		else (CMAKE_CL_64)
+			set (PTHREAD_LIBRARIES C:\\pthreads\\Pre-built.2\\lib\\x86\\pthreadVC2.lib)
+		endif (CMAKE_CL_64)
+		set (PTHREAD_INCLUDE_DIR C:\\pthreads\\Pre-built.2\\include)
+	elseif (ANDROID)
+		set (PTHREAD_LIBRARIES "")
+		set (PTHREAD_INCLUDE_DIR "")
+	else (WIN32)
+		find_library(LIBPTHREAD pthread)
+		if (LIBPTHREAD)
+			set (PTHREAD_LIBRARIES pthread)
+		else (LIBPTHREAD)
+			set (PTHREAD_LIBRARIES "")
+		endif()
+		set (PTHREAD_INCLUDE_DIR "")
+	endif (WIN32)
+else (WITH_THREADING)
+	set (PTHREAD_LIBRARIES "")
+	set (PTHREAD_INCLUDE_DIR "")
+endif (WITH_THREADING)
+
+option(WITH_DLT "Include DLT support?" OFF)
+message(STATUS "WITH_DLT = ${WITH_DLT}")
+if (WITH_DLT)
+	#find_package(DLT REQUIRED)
+	find_package(PkgConfig)
+	pkg_check_modules(DLT "automotive-dlt >= 2.11")
+	add_definitions("-DWITH_DLT")
+endif (WITH_DLT)
+
+option(WITH_CJSON "Build with cJSON support (required for dynamic security plugin and useful for mosquitto_sub)?" ON)
+if (WITH_CJSON)
+    FIND_PACKAGE(cJSON)
+    if (CJSON_FOUND)
+	    message(STATUS ${CJSON_FOUND})
+    else (CJSON_FOUND)
+	    message(STATUS "Optional dependency cJSON not found. Some features will be disabled.")
+    endif(CJSON_FOUND)
+endif()
+
+# ========================================
+# Include projects
+# ========================================
+
+option(WITH_CLIENTS "Build clients?" ON)
+option(WITH_BROKER "Build broker?" ON)
+option(WITH_APPS "Build apps?" ON)
+option(WITH_PLUGINS "Build plugins?" ON)
+option(DOCUMENTATION "Build documentation?" ON)
+
+add_subdirectory(lib)
+if (WITH_CLIENTS)
+	add_subdirectory(client)
+endif (WITH_CLIENTS)
+
+if (WITH_BROKER)
+	add_subdirectory(src)
+endif (WITH_BROKER)
+
+if (WITH_APPS)
+	add_subdirectory(apps)
+endif (WITH_APPS)
+
+if (WITH_PLUGINS)
+	add_subdirectory(plugins)
+endif (WITH_PLUGINS)
+
+if (DOCUMENTATION)
+	add_subdirectory(man)
+endif (DOCUMENTATION)
+
+# ========================================
+# Install config file
+# ========================================
+
+if (WITH_BROKER)
+	install(FILES mosquitto.conf aclfile.example pskfile.example pwfile.example DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}/mosquitto")
+endif (WITH_BROKER)
+
+# ========================================
+# Install pkg-config files
+# ========================================
+
+configure_file(libmosquitto.pc.in libmosquitto.pc @ONLY)
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmosquitto.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+configure_file(libmosquittopp.pc.in libmosquittopp.pc @ONLY)
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmosquittopp.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+
+# ========================================
+# Testing
+# ========================================
+enable_testing()

+ 92 - 0
EVSE/GPL/mosquitto-2.0.13/CONTRIBUTING.md

@@ -0,0 +1,92 @@
+Contributing to Mosquitto
+=========================
+
+Thank you for your interest in this project.
+
+Project description:
+--------------------
+
+The Mosquitto project has been created to provide a light weight, open-source
+implementation, of an MQTT broker to allow new, existing, and emerging
+applications for Machine-to-Machine (M2M) and Internet of Things (IoT).
+
+- <https://mosquitto.org/>
+- <https://projects.eclipse.org/projects/iot.mosquitto>
+
+
+Source
+------
+
+The Mosquitto code is stored in a git repository.
+
+- https://github.com/eclipse/mosquitto
+
+You can contribute bugfixes and new features by sending pull requests through GitHub.
+
+
+## Legal
+
+In order for your contribution to be accepted, it must comply with the Eclipse
+Foundation IP policy.
+
+Please read the [Eclipse Foundation policy on accepting contributions via Git](http://wiki.eclipse.org/Development_Resources/Contributing_via_Git).
+
+1. Sign the [Eclipse ECA](http://www.eclipse.org/legal/ECA.php)
+    1. Register for an Eclipse Foundation User ID. You can register [here](https://accounts.eclipse.org/user/register).
+    2. Log into the [Accounts Portal](https://accounts.eclipse.org/), and click on the '[Eclipse Contributor Agreement](https://accounts.eclipse.org/user/eca)' link.
+2. Go to your [account settings](https://accounts.eclipse.org/user/edit) and add your GitHub username to your account.
+3. Make sure that you _sign-off_ your Git commits in the following format:
+  ``` Signed-off-by: John Smith <johnsmith@nowhere.com> ``` This is usually at the bottom of the commit message. You can automate this by adding the '-s' flag when you make the commits. e.g.   ```git commit -s -m "Adding a cool feature"```
+4. Ensure that the email address that you make your commits with is the same one you used to sign up to the Eclipse Foundation website with.
+
+## Contributing a change
+
+1. [Fork the repository on GitHub](https://github.com/eclipse/mosquitto/fork)
+2. Clone the forked repository onto your computer: ``` git clone
+   https://github.com/<your username>/mosquitto.git ```
+3. If you are adding a new feature, then create a new branch from the latest
+   ```develop``` branch with ```git checkout -b YOUR_BRANCH_NAME
+   origin/develop```
+4. If you are fixing a bug, then create a new branch from the latest
+   ```fixes``` branch with ```git checkout -b YOUR_BRANCH_NAME origin/fixes```
+5. Make your changes
+6. Ensure that all new and existing tests pass.
+7. Commit the changes into the branch: ``` git commit -s ``` Make sure that
+   your commit message is meaningful and describes your changes correctly.
+8. If you have a lot of commits for the change, squash them into a single / few
+   commits.
+9. Push the changes in your branch to your forked repository.
+10. Finally, go to
+	[https://github.com/eclipse/mosquitto](https://github.com/eclipse/mosquitto)
+	and create a pull request from your "YOUR_BRANCH_NAME" branch to the
+	```develop``` or ```fixes``` branch as appropriate to request review and
+	merge of the commits in your pushed branch.
+
+
+What happens next depends on the content of the patch. If it is 100% authored
+by the contributor and is less than 1000 lines (and meets the needs of the
+project), then it can be pulled into the main repository. If not, more steps
+are required. These are detailed in the
+[legal process poster](http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf).
+
+
+
+Contact:
+--------
+
+Contact the project developers via the project's development
+[mailing list](https://dev.eclipse.org/mailman/listinfo/mosquitto-dev).
+
+Search for bugs:
+----------------
+
+This project uses [Github](https://github.com/eclipse/mosquitto/issues)
+to track ongoing development and issues.
+
+Create a new bug:
+-----------------
+
+Be sure to search for existing bugs before you create another one. Remember
+that contributions are always welcome!
+
+- [Create new Mosquitto bug](https://github.com/eclipse/mosquitto/issues)

+ 12 - 0
EVSE/GPL/mosquitto-2.0.13/CTestTestfile.cmake

@@ -0,0 +1,12 @@
+# CMake generated Testfile for 
+# Source directory: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+# Build directory: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+# 
+# This file includes the relevant testing commands required for 
+# testing this directory and lists subdirectories to be tested as well.
+subdirs("lib")
+subdirs("client")
+subdirs("src")
+subdirs("apps")
+subdirs("plugins")
+subdirs("man")

+ 3090 - 0
EVSE/GPL/mosquitto-2.0.13/ChangeLog.txt

@@ -0,0 +1,3090 @@
+2.0.13 - 2021-10-27
+===================
+
+Broker:
+- Fix `max_keepalive` option not being able to be set to 0.
+- Fix LWT messages not being delivered if `per_listener_settings` was set to
+  true. Closes #2314.
+- Various fixes around inflight quota management. Closes #2306.
+- Fix problem parsing config files with Windows line endings. Closes #2297.
+- Don't send retained messages when a shared subscription is made.
+- Fix log being truncated in Windows.
+- Fix client id not showing in log on failed connections, where possible.
+- Fix broker sending duplicate CONNACK on failed MQTT v5 reauthentication.
+  Closes #2339.
+- Fix mosquitto_plugin.h not including mosquitto_broker.h. Closes #2350.
+
+Client library:
+- Initialise sockpairR/W to invalid in `mosquitto_reinitialise()` to avoid
+  closing invalid sockets in `mosquitto_destroy()` on error. Closes #2326.
+
+Clients:
+- Fix date format in mosquitto_sub output. Closes #2353.
+
+
+2.0.12 - 2021-08-31
+===================
+
+Security:
+- An MQTT v5 client connecting with a large number of user-property properties
+  could cause excessive CPU usage, leading to a loss of performance and
+  possible denial of service. This has been fixed.
+- Fix `max_keepalive` not applying to MQTT v3.1.1 and v3.1 connections.
+  These clients are now rejected if their keepalive value exceeds
+  max_keepalive. This option allows CVE-2020-13849, which is for the MQTT
+  v3.1.1 protocol itself rather than an implementation, to be addressed.
+- Using certain listener related configuration options e.g. `cafile`, that
+  apply to the default listener without defining any listener would cause a
+  remotely accessible listener to be opened that was not confined to the local
+  machine but did have anonymous access enabled, contrary to the
+  documentation. This has been fixed. Closes #2283.
+- CVE-2021-34434: If a plugin had granted ACL subscription access to a
+  durable/non-clean-session client, then removed that access, the client would
+  keep its existing subscription. This has been fixed.
+- Incoming QoS 2 messages that had not completed the QoS flow were not being
+  checked for ACL access when a clean session=False client was reconnecting.
+  This has been fixed.
+
+Broker:
+- Fix possible out of bounds memory reads when reading a corrupt/crafted
+  configuration file. Unless your configuration file is writable by untrusted
+  users this is not a risk. Closes #567213.
+- Fix `max_connections` option not being correctly counted.
+- Fix TLS certificates and TLS-PSK not being able to be configured at the same
+  time.
+- Disable TLS v1.3 when using TLS-PSK, because it isn't correctly configured.
+- Fix `max_keepalive` not applying to MQTT v3.1.1 and v3.1 connections.
+  These clients are now rejected if their keepalive value exceeds
+  max_keepalive. This option allows CVE-2020-13849, which is for the MQTT
+  v3.1.1 protocol itself rather than an implementation, to be addressed.
+- Fix broker not quiting if e.g. the `password_file` is specified as a
+  directory. Closes #2241.
+- Fix listener mount_point not being removed on outgoing messages.
+  Closes #2244.
+- Strict protocol compliance fixes, plus test suite.
+- Fix $share subscriptions not being recovered for durable clients that
+  reconnect.
+- Update plugin configuration documentation. Closes #2286.
+
+Client library:
+- If a client uses TLS-PSK then force the default cipher list to use "PSK"
+  ciphers only. This means that a client connecting to a broker configured
+  with x509 certificates only will now fail. Prior to this, the client would
+  connect successfully without verifying certificates, because they were not
+  configured.
+- Disable TLS v1.3 when using TLS-PSK, because it isn't correctly configured.
+- Threaded mode is deconfigured when the mosquitto_loop_start() thread ends,
+  which allows mosquitto_loop_start() to be called again. Closes #2242.
+- Fix MOSQ_OPT_SSL_CTX not being able to be set to NULL. Closes #2289.
+- Fix reconnecting failing when MOSQ_OPT_TLS_USE_OS_CERTS was in use, but none
+  of capath, cafile, psk, nor MOSQ_OPT_SSL_CTX were set, and
+  MOSQ_OPT_SSL_CTX_WITH_DEFAULTS was set to the default value of true.
+  Closes #2288.
+
+Apps:
+- Fix `mosquitto_ctrl dynsec setDefaultACLAccess` command not working.
+
+Clients:
+- mosquitto_sub and mosquitto_rr now open stdout in binary mode on Windows
+  so binary payloads are not modified when printing.
+- Document TLS certificate behaviour when using `-p 8883`.
+
+Build:
+- Fix installation using WITH_TLS=no. Closes #2281.
+- Fix builds with libressl 3.4.0. Closes #2198.
+- Remove some unnecessary code guards related to libressl.
+- Fix printf format build warning on MIPS. Closes #2271.
+
+
+2.0.11 - 2021-06-08
+===================
+
+Security:
+- If a MQTT v5 client connects with a crafted CONNECT packet a memory leak
+  will occur. This has been fixed.
+
+Broker:
+- Fix possible crash having just upgraded from 1.6 if `per_listener_settings
+  true` is set, and a SIGHUP is sent to the broker before a client has
+  reconnected to the broker. Closes #2167.
+- Fix bridge not reconnectng if the first reconnection attempt fails.
+  Closes #2207.
+- Improve QoS 0 outgoing packet queueing.
+- Fix non-reachable bridge blocking the broker on Windows. Closes #2172.
+- Fix possible corruption of pollfd array on Windows when bridges were
+  reconnecting. Closes #2173.
+- Fix QoS 0 messages not being queued when `queue_qos0_messages` was enabled.
+  Closes #2224.
+- Fix openssl not being linked to dynamic security plugin. Closes #2277.
+
+Clients:
+- If sending mosquitto_sub output to a pipe, mosquitto_sub will now detect
+  that the pipe has closed and disconnect. Closes #2164.
+- Fix `mosquitto_pub -l` quitting if a message publication is attempted when
+  the broker is temporarily unavailable. Closes #2187.
+
+
+2.0.10 - 2021-04-03
+==================
+
+Security:
+- CVE-2021-28166: If an authenticated client connected with MQTT v5 sent a
+  malformed CONNACK message to the broker a NULL pointer dereference occurred,
+  most likely resulting in a segfault.
+  Affects versions 2.0.0 to 2.0.9 inclusive.
+
+Broker:
+- Don't over write new receive-maximum if a v5 client connects and takes over
+  an old session. Closes #2134.
+- Fix CVE-2021-28166. Closes #2163.
+
+Clients:
+- Set `receive-maximum` to not exceed the `-C` message count in mosquitto_sub
+  and mosquitto_rr, to avoid potentially lost messages. Closes #2134.
+- Fix TLS-PSK mode not working with port 8883. Closes #2152.
+
+Client library:
+- Fix possible socket leak. This would occur if a client was using
+  `mosquitto_loop_start()`, then if the connection failed due to the remote
+  server being inaccessible they called `mosquitto_loop_stop(, true)` and
+  recreated the mosquitto object.
+
+Build:
+- A variety of minor build related fixes, like functions not having previous
+  declarations.
+- Fix CMake cross compile builds not finding opensslconf.h. Closes #2160.
+- Fix build on Solaris non-sparc. Closes #2136.
+
+
+2.0.9 - 2021-03-11
+==================
+
+Security:
+- If an empty or invalid CA file was provided to the client library for
+  verifying the remote broker, then the initial connection would fail but
+  subsequent connections would succeed without verifying the remote broker
+  certificate. Closes #2130.
+- If an empty or invalid CA file was provided to the broker for verifying the
+  remote broker for an outgoing bridge connection then the initial connection
+  would fail but subsequent connections would succeed without verifying the
+  remote broker certificate. Closes #2130.
+
+Broker:
+- Fix encrypted bridge connections incorrectly connecting when `bridge_cafile`
+  is empty or invalid. Closes #2130.
+- Fix `tls_version` behaviour not matching documentation. It was setting the
+  exact TLS version to use, not the minimium TLS version to use. Closes #2110.
+- Fix messages to `$` prefixed topics being rejected. Closes #2111.
+- Fix QoS 0 messages not being delivered when max_queued_bytes was configured.
+  Closes #2123.
+- Fix bridge increasing backoff calculation.
+- Improve handling of invalid combinations of listener address and bind
+  interface configurations. Closes #2081.
+- Fix `max_keepalive` option not applying to clients connecting with keepalive
+  set to 0. Closes #2117.
+
+Client library:
+- Fix encrypted connections incorrectly connecting when the CA file passed to
+  `mosquitto_tls_set()` is empty or invalid. Closes #2130.
+- Fix connections retrying very rapidly in some situations.
+
+Build:
+- Fix cmake epoll detection.
+
+
+2.0.8 - 2021-02-25
+==================
+
+Broker:
+- Fix incorrect datatypes in `struct mosquitto_evt_tick`. This changes the
+  size and offset of two of the members of this struct, and changes the size
+  of the struct. This is an ABI break, but is considered to be acceptable
+  because plugins should never be allocating their own instance of this
+  struct, and currently none of the struct members are used for anything, so a
+  plugin should not be accessing them. It would also be safe to read/write
+  from the existing struct parameters.
+- Give compile time warning if libwebsockets compiled without external poll
+  support. Closes #2060.
+- Fix memory tracking not being available on FreeBSD or macOS. Closes #2096.
+
+Client library:
+- Fix mosquitto_{pub|sub}_topic_check() functions not returning MOSQ_ERR_INVAL
+  on topic == NULL.
+
+Clients:
+- Fix possible loss of data in `mosquitto_pub -l` when sending multiple long
+  lines. Closes #2078.
+
+Build:
+- Provide a mechanism for Docker users to run a broker that doesn't use
+  authentication, without having to provide their own configuration file.
+  Closes #2040.
+
+
+2.0.7 - 2021-02-04
+==================
+
+Broker:
+- Fix exporting of executable symbols on BSD when building via makefile.
+- Fix some minor memory leaks on exit only.
+- Fix possible memory leak on connect. Closes #2057.
+- Fix openssl engine not being able to load private key. Closes #2066.
+
+Clients:
+- Fix config files truncating options after the first space. Closes #2059.
+
+Build:
+- Fix man page building to not absolutely require xsltproc when using CMake.
+  This now handles the case where we are building from the released tar, or
+  building from git if xsltproc is available, or building from git if xsltproc
+  is not available.
+
+
+1.6.13 - 2021-02-04
+===================
+
+Broker:
+- Fix crash on Windows if loading a plugin fails. Closes #1866.
+- Fix DH group not being set for TLS connections, which meant ciphers using
+  DHE couldn't be used. Closes #1925. Closes #1476.
+- Fix local bridges being disconnected on SIGHUP. Closes #1942.
+- Fix $SYS/broker/publish/messages/+ counters not being updated for QoS 1, 2
+  messages. Closes #1968.
+- Fix listener not being reassociated with client when reloading a persistence
+  file and `per_listener_settings true` is set and the client did not set a
+  username. Closes #1891.
+- Fix file logging on Windows. Closes #1880.
+- Fix bridge sock not being removed from sock hash on error. Closes #1897.
+
+Client library:
+- Fix build on Mac Big Sur. Closes #1905.
+- Fix DH group not being set for TLS connections, which meant ciphers using
+  DHE couldn't be used. Closes #1925. Closes #1476.
+
+Clients:
+- mosquitto_sub will now quit with an error if the %U option is used on
+  Windows, rather than just quitting. Closes #1908.
+- Fix config files truncating options after the first space. Closes #2059.
+
+Apps:
+- Perform stricter parsing of input username in mosquitto_passwd. Closes
+  #570126 (Eclipse bugzilla).
+
+Build:
+- Enable epoll support in CMake builds.
+
+
+2.0.6 - 2021-01-28
+==================
+
+Broker:
+- Fix calculation of remaining length parameter for websockets clients that
+  send fragmented packets. Closes #1974.
+Broker:
+- Fix potential duplicate Will messages being sent when a will delay interval
+  has been set.
+- Fix message expiry interval property not being honoured in
+  `mosquitto_broker_publish` and `mosquitto_broker_publish_copy`.
+- Fix websockets listeners with TLS not responding. Closes #2020.
+- Add notes that libsystemd-dev or similar is needed if building with systemd
+  support. Closes #2019.
+- Improve logging in obscure cases when a client disconnects. Closes #2017.
+- Fix reloading of listeners where multiple listeners have been defined with
+  the same port but different bind addresses. Closes #2029.
+- Fix `message_size_limit` not applying to the Will payload. Closes #2022.
+- The error topic-alias-invalid was being sent if an MQTT v5 client published
+  a message with empty topic and topic alias set, but the topic alias hadn't
+  already been configured on the broker. This has been fixed to send a
+  protocol error, as per section 3.3.4 of the specification.
+- Note in the man pages that SIGHUP reloads TLS certificates. Closes #2037.
+- Fix bridges not always connecting on Windows. Closes #2043.
+
+Apps:
+- Allow command line arguments to override config file options in
+  mosquitto_ctrl. Closes #2010.
+- mosquitto_ctrl: produce an error when requesting a new password if both
+  attempts do not match. Closes #2011.
+
+Build:
+- Fix cmake builds using `WITH_CJSON=no` not working if cJSON not found.
+  Closes #2026.
+
+Other:
+- The SPDX identifiers for EDL-1.0 have been changed to BSD-3-Clause as per
+  The Eclipse legal documentation generator. The licenses are identical.
+
+
+2.0.5 - 2021-01-11
+==================
+
+Broker:
+- Fix `auth_method` not being provided to the extended auth plugin event.
+  Closes #1975.
+- Fix large packets not being completely published to slow clients.
+  Closes #1977.
+- Fix bridge connection not relinquishing POLLOUT after messages are sent.
+  Closes #1979.
+- Fix apparmor incorrectly denying access to
+  /var/lib/mosquitto/mosquitto.db.new. Closes #1978.
+- Fix potential intermittent initial bridge connections when using poll().
+- Fix `bind_interface` option. Closes #1999.
+- Fix invalid behaviour in dynsec plugin if a group or client is deleted
+  before a role that was attached to the group or client is deleted.
+  Closes #1998.
+- Improve logging in dynsec addGroupRole command. Closes #2005.
+- Improve logging in dynsec addGroupClient command. Closes #2008.
+
+Client library:
+- Improve documentation around the `_v5()` and non-v5 functions, e.g.
+  `mosquitto_publish()` and `mosquitto_publish_v5().
+
+Build:
+- `install` Makefile target should depend on `all`, not `mosquitto`, to ensure
+  that man pages are always built. Closes #1989.
+- Fixes for lots of minor build warnings highlighted by Visual Studio.
+
+Apps:
+- Disallow control characters in mosquitto_passwd usernames.
+- Fix incorrect description in mosquitto_ctrl man page. Closes #1995.
+- Fix `mosquitto_ctrl dynsec getGroup` not showing roles. Closes #1997.
+
+
+2.0.4 - 2020-12-22
+==================
+
+Broker:
+- Fix $SYS/broker/publish/messages/+ counters not being updated for QoS 1, 2
+  messages. Closes #1968.
+- mosquitto_connect_bind_async() and mosquitto_connect_bind_v5() should not
+  reset the bind address option if called with bind_address == NULL.
+- Fix dynamic security configuration possibly not being reloaded on Windows
+  only. Closes #1962.
+- Add more log messages for dynsec load/save error conditions.
+- Fix websockets connections blocking non-websockets connections on Windows.
+  Closes #1934.
+
+Build:
+- Fix man pages not being built when using CMake. Closes #1969.
+
+
+2.0.3 - 2020-12-17
+==================
+
+Security:
+- Running mosquitto_passwd with the following arguments only
+  `mosquitto_passwd -b password_file username password` would cause the
+  username to be used as the password.
+
+Broker:
+- Fix excessive CPU use on non-Linux systems when the open file limit is set
+  high. Closes #1947.
+- Fix LWT not being sent on client takeover when the existing session wasn't
+  being continued. Closes #1946.
+- Fix bridges possibly not completing connections when WITH_ADNS is in use.
+  Closes #1960.
+- Fix QoS 0 messages not being delivered if max_queued_messages was set to 0.
+  Closes #1956.
+- Fix local bridges being disconnected on SIGHUP. Closes #1942.
+- Fix slow initial bridge connections for WITH_ADNS=no.
+- Fix persistence_location not appending a '/'.
+
+Clients:
+- Fix mosquitto_sub being unable to terminate with Ctrl-C if a successful
+  connection is not made. Closes #1957.
+
+Apps:
+- Fix `mosquitto_passwd -b` using username as password (not if `-c` is also
+  used). Closes #1949.
+
+Build:
+- Fix `install` target when using WITH_CJSON=no. Closes #1938.
+- Fix `generic` docker build. Closes #1945.
+
+
+2.0.2 - 2020-12-10
+==================
+
+Broker:
+- Fix build regression for WITH_WEBSOCKETS=yes on non-Linux systems.
+
+
+2.0.1 - 2020-12-10
+==================
+
+Broker:
+- Fix websockets connections on Windows blocking subsequent connections.
+  Closes #1934.
+- Fix DH group not being set for TLS connections, which meant ciphers using
+  DHE couldn't be used. Closes #1925. Closes #1476.
+- Fix websockets listeners not causing the main loop not to wake up.
+  Closes #1936.
+
+Client library:
+- Fix DH group not being set for TLS connections, which meant ciphers using
+  DHE couldn't be used. Closes #1925. Closes #1476.
+
+Apps:
+- Fix `mosquitto_passwd -U`
+
+Build:
+- Fix cjson include paths.
+- Fix build using WITH_TLS=no when the openssl headers aren't available.
+- Distribute cmake/ and snap/ directories in tar.
+
+
+2.0.0 - 2020-12-03
+==================
+
+Breaking changes:
+- When the Mosquitto broker is run without configuring any listeners it will
+  now bind to the loopback interfaces 127.0.0.1 and/or ::1. This means that
+  only connections from the local host will be possible.
+
+  Running the broker as `mosquitto` or `mosquitto -p 1883` will bind to the
+  loopback interface.
+
+  Running the broker with a configuration file with no listeners configured
+  will bind to the loopback interface with port 1883.
+
+  Running the broker with a listener defined will bind by default to `0.0.0.0`
+  / `::` and so will be accessible from any interface. It is still possible to
+  bind to a specific address/interface.
+
+  If the broker is run as `mosquitto -c mosquitto.conf -p 1884`, and a
+  listener is defined in the configuration file, then the port defined on the
+  command line will be IGNORED, and no listener configured for it.
+- All listeners now default to `allow_anonymous false` unless explicitly set
+  to true in the configuration file. This means that when configuring a
+  listener the user must either configure an authentication and access control
+  method, or set `allow_anonymous true`. When the broker is run without a
+  configured listener, and so binds to the loopback interface, anonymous
+  connections are allowed.
+- If Mosquitto is run on as root on a unix like system, it will attempt to
+  drop privileges as soon as the configuration file has been read. This is in
+  contrast to the previous behaviour where elevated privileges were only
+  dropped after listeners had been started (and hence TLS certificates loaded)
+  and logging had been started. The change means that clients will never be
+  able to connect to the broker when it is running as root, unless the user
+  explicitly sets it to run as root, which is not advised. It also means that
+  all locations that the broker needs to access must be available to the
+  unprivileged user. In particular those people using TLS certificates from
+  Lets Encrypt will need to do something to allow Mosquitto to access
+  those certificates. An example deploy renewal hook script to help with this
+  is at `misc/letsencrypt/mosquitto-copy.sh`.
+  The user that Mosquitto will change to are the one provided in the
+  configuration, `mosquitto`, or `nobody`, in order of availability.
+- The `pid_file` option will now always attempt to write a pid file,
+  regardless of whether the `-d` argument is used when running the broker.
+- The `tls_version` option now defines the *minimum* TLS protocol version to
+  be used, rather than the exact version. Closes #1258.
+- The `max_queued_messages` option has been increased from 100 to 1000 by
+  default, and now also applies to QoS 0 messages, when a client is connected.
+- The mosquitto_sub, mosquitto_pub, and mosquitto_rr clients will now load
+  OS provided CA certificates by default if `-L mqtts://...` is used, or if
+  the port is set to 8883 and no other CA certificates are loaded.
+- Minimum support libwebsockets version is now 2.4.0
+- The license has changed from "EPL-1.0 OR EDL-1.0" to "EPL-2.0 OR EDL-1.0".
+
+Broker features:
+- New plugin interface which is more flexible, easier to develop for and
+  easier to extend.
+- New dynamic security plugin, which allows clients, groups, and roles to be
+  defined and updated as the broker is running.
+- Performance improvements, particularly for higher numbers of clients.
+- When running as root, if dropping privileges to the "mosquitto" user fails,
+  then try "nobody" instead. This reduces the burden on users installing
+  Mosquitto themselves.
+- Add support for Unix domain socket listeners.
+- Add `bridge_outgoing_retain` option, to allow outgoing messages from a
+  bridge to have the retain bit completely disabled, which is useful when
+  bridging to e.g. Amazon or Google.
+- Add support for MQTT v5 bridges to handle the "retain-available" property
+  being false.
+- Allow MQTT v5.0 outgoing bridges to fall back to MQTT v3.1.1 if connecting
+  to a v3.x only broker.
+- DLT logging is now configurable at runtime with `log_dest dlt`.
+  Closes #1735.
+- Add `mosquitto_broker_publish()` and `mosquitto_broker_publish_copy()`
+  functions, which can be used by plugins to publish messages.
+- Add `mosquitto_client_protocol_version()` function which can be used by
+  plugins to determine which version of MQTT a client has connected with.
+- Add `mosquitto_kick_client_by_clientid()` and `mosquitto_kick_client_by_username()`
+  functions, which can be used by plugins to disconnect clients.
+- Add support for handling $CONTROL/ topics in plugins.
+- Add support for PBKDF2-SHA512 password hashing.
+- Enabling certificate based TLS encryption is now through certfile and
+  keyfile, not capath or cafile.
+- Added support for controlling UNSUBSCRIBE calls in v5 plugin ACL checks.
+- Add "deny" acl type. Closes #1611.
+- The broker now sends the receive-maximum property for MQTT v5 CONNACKs.
+- Add the `bridge_max_packet_size` option. Closes #265.
+- Add the `bridge_bind_address` option. Closes #1311.
+- TLS certificates for the server are now reloaded on SIGHUP.
+- Default for max_queued_messages has been changed to 1000.
+- Add `ciphers_tls1.3` option, to allow setting TLS v1.3 ciphersuites.
+  Closes #1825.
+- Bridges now obey MQTT v5 server-keepalive.
+- Add bridge support for the MQTT v5 maximum-qos property.
+- Log client port on new connections. Closes #1911.
+
+Broker fixes:
+- Send DISCONNECT with `malformed-packet` reason code on invalid PUBLISH,
+  SUBSCRIBE, and UNSUBSCRIBE packets.
+- Document that X509_free() must be called after using
+  mosquitto_client_certificate(). Closes #1842.
+- Fix listener not being reassociated with client when reloading a persistence
+  file and `per_listener_settings true` is set and the client did not set a
+  username. Closes #1891.
+- Fix bridge sock not being removed from sock hash on error. Closes #1897.
+- mosquitto_password now forbids the : character. Closes #1833.
+- Fix `log_timestamp_format` not applying to `log_dest topic`. Closes #1862.
+- Fix crash on Windows if loading a plugin fails. Closes #1866.
+- Fix file logging on Windows. Closes #1880.
+- Report an error if the config file is set to a directory. Closes #1814.
+- Fix bridges incorrectly setting Wills to manage remote notifications when
+  `notifications_local_only` was set true. Closes #1902.
+
+Client library features:
+- Client no longer generates random client ids for v3.1.1 clients, these are
+  now expected to be generated on the broker. This matches the behaviour for
+  v5 clients. Closes #291.
+- Add support for connecting to brokers through Unix domain sockets.
+- Add `mosquitto_property_identifier()`, for retrieving the identifier integer
+  for a property.
+- Add `mosquitto_property_identifier_to_string()` for converting a property
+  identifier integer to the corresponding property name string.
+- Add `mosquitto_property_next()` to retrieve the next property in a list, for
+  iterating over property lists.
+- mosquitto_pub now handles the MQTT v5 retain-available property by never
+  setting the retain bit.
+- Added MOSQ_OPT_TCP_NODELAY, to allow disabling Nagle's algorithm on client
+  sockets. Closes #1526.
+- Add `mosquitto_ssl_get()` to allow clients to access their SSL structure and
+  perform additional verification.
+- Add MOSQ_OPT_BIND_ADDRESS to allow setting of a bind address independently
+  of the `mosquitto_connect*()` call.
+- Add `MOSQ_OPT_TLS_USE_OS_CERTS` option, to instruct the client to load and
+  trust OS provided CA certificates for use with TLS connections.
+
+Client library fixes:
+- Fix send quota being incorrecly reset on reconnect. Closes #1822.
+- Don't use logging until log mutex is initialised. Closes #1819.
+- Fix missing mach/mach_time.h header on OS X. Closes #1831.
+- Fix connect properties not being sent when the client automatically
+  reconnects. Closes #1846.
+
+Client features:
+- Add timeout return code (27) for `mosquitto_sub -W <secs>` and
+  `mosquitto_rr -W <secs>`. Closes #275.
+- Add support for connecting to brokers through Unix domain sockets with the
+  `--unix` argument.
+- Use cJSON library for producing JSON output, where available. Closes #1222.
+- Add support for outputting MQTT v5 property information to mosquitto_sub/rr
+  JSON output. Closes #1416.
+- Add `--pretty` option to mosquitto_sub/rr for formatted/unformatted JSON
+  output.
+- Add support for v5 property printing to mosquitto_sub/rr in non-JSON mode.
+  Closes #1416.
+- Add `--nodelay` to all clients to allow them to use the MOSQ_OPT_TCP_NODELAY
+  option.
+- Add `-x` to all clients to all the session-expiry-interval property to be
+  easily set for MQTT v5 clients.
+- Add `--random-filter` to mosquitto_sub, to allow only a certain proportion
+  of received messages to be printed.
+- mosquitto_sub %j and %J timestamps are now in a ISO 8601 compatible format.
+- mosquitto_sub now supports extra format specifiers for field width and
+  precision for some parameters.
+- Add `--version` for all clients.
+- All clients now load OS provided CA certificates if used with `-L
+  mqtts://...`, or if port is set to 8883 and no other CA certificates are
+  used. Closes #1824.
+- Add the `--tls-use-os-certs` option to all clients.
+
+Client fixes:
+- mosquitto_sub will now exit if all subscriptions were denied.
+- mosquitto_pub now sends 0 length files without an error when using `-f`.
+- Fix description of `-e` and `-t` arguments in mosquitto_rr. Closes #1881.
+- mosquitto_sub will now quit with an error if the %U option is used on
+  Windows, rather than just quitting. Closes #1908.
+
+
+1.6.12 - 2020-08-19
+===================
+
+Security:
+- In some circumstances, Mosquitto could leak memory when handling PUBLISH
+  messages. This is limited to incoming QoS 2 messages, and is related
+  to the combination of the broker having persistence enabled, a clean
+  session=false client, which was connected prior to the broker restarting,
+  then has reconnected and has now sent messages at a sufficiently high rate
+  that the incoming queue at the broker has filled up and hence messages are
+  being dropped. This is more likely to have an effect where
+  max_queued_messages is a small value. This has now been fixed. Closes #1793.
+
+Broker:
+- Build warning fixes when building with WITH_BRIDGE=no and WITH_TLS=no.
+
+Clients:
+- All clients exit with an error exit code on CONNACK failure. Closes #1778.
+- Don't busy loop with `mosquitto_pub -l` on a slow connection.
+
+
+1.5.10 - 2020-08-19
+===================
+
+Security:
+- In some circumstances, Mosquitto could leak memory when handling PUBLISH
+  messages. This is limited to incoming QoS 2 messages, and is related
+  to the combination of the broker having persistence enabled, a clean
+  session=false client, which was connected prior to the broker restarting,
+  then has reconnected and has now sent messages at a sufficiently high rate
+  that the incoming queue at the broker has filled up and hence messages are
+  being dropped. This is more likely to have an effect where
+  max_queued_messages is a small value. This has now been fixed. Closes #1793.
+
+
+1.6.11 - 2020-08-11
+===================
+
+Security:
+- On Windows the Mosquitto service was being installed without appropriate
+  path quoting, this has been fixed.
+
+Broker:
+- Fix usage message only mentioning v3.1.1. Closes #1713.
+- Fix broker refusing to start if only websockets listeners were defined.
+  Closes #1740.
+- Change systemd unit files to create /var/log/mosquitto before starting.
+  Closes #821.
+- Don't quit with an error if opening the log file isn't possible.
+  Closes #821.
+- Fix bridge topic remapping when using "" as the topic. Closes #1749.
+- Fix messages being queued for disconnected bridges when clean start was
+  set to true. Closes #1729.
+- Fix `autosave_interval` not being triggered by messages being delivered.
+  Closes #1726.
+- Fix websockets clients sometimes not being disconnected promptly.
+  Closes #1718.
+- Fix "slow" file based logging by switching to line based buffering.
+  Closes #1689. Closes #1741.
+- Log protocol error message where appropriate from a bad UNSUBSCRIBE, rather
+  than the generic "socket error".
+- Don't try to start DLT logging if DLT unavailable, to avoid a long delay
+  when shutting down the broker. Closes #1735.
+- Fix potential memory leaks. Closes #1773. Closes #1774.
+- Fix clients not receiving messages after a previous client with the same
+  client ID and positive will delay interval quit. Closes #1752.
+- Fix overly broad HAVE_PTHREAD_CANCEL compile guard. Closes #1547.
+
+Client library:
+- Improved documentation around connect callback return codes. Close #1730.
+- Fix `mosquitto_publish*()` no longer returning `MOSQ_ERR_NO_CONN` when not
+  connected. Closes #1725.
+- `mosquitto_loop_start()` now sets a thread name on Linux, FreeBSD, NetBSD,
+  and OpenBSD. Closes #1777.
+- Fix `mosquitto_loop_stop()` not stopping on Windows. Closes #1748. Closes #117.
+
+
+1.6.10 - 2020-05-25
+===================
+
+Broker:
+- Report invalid bridge prefix+pattern combinations at config parsing time
+  rather than letting the bridge fail later. Issue #1635.
+- Fix `mosquitto_passwd -b` not updating passwords for existing users
+  correctly. Creating a new user with `-b` worked without problem.
+  Closes #1664.
+- Fix memory leak when connecting clients rejected.
+- Don't disconnect clients that are already disconnected. This prevents the
+  session expiry being extended on SIGHUP. Closes #1521.
+- Fix support for openssl 3.0.
+- Fix check when loading persistence file of a different version than the
+  native version. Closes #1684.
+- Fix possible assert crash associated with bridge reconnecting when compiled
+  without epoll support. Closes #1700.
+
+Client library:
+- Don't treat an unexpected PUBACK, PUBREL, or PUBCOMP as a fatal error.
+  Issue #1629.
+- Fix support for openssl 3.0.
+- Fix memory leaks from multiple calls to
+  `mosquitto_lib_init()`/`mosquitto_lib_cleanup()`. Closes #1691.
+- Fix documentation on return code of `mosquitto_lib_init()` for Windows.
+  Closes #1690.
+
+Clients:
+- Fix mosquitto_sub %j or %J not working on Windows. Closes #1674.
+
+Build:
+- Various fixes for building with <C99 support. Closes #1622.
+- Fix use of sed on BSD. Closes #1614.
+
+
+1.6.9 - 20200227
+================
+
+Broker:
+- Fix session expiry with very large expiry intervals. Closes #1525.
+- Check ACL patterns for validity when loading. Closes #1539.
+- Use presence of password file as indicator for whether username checks
+  should take place, not whether usernames are defined in the password file.
+  Closes #1545.
+- Strip whitespace from end of config file string options. Closes #1566.
+- Satisfy valgrind when exiting on error due to not being able to open a
+  listening socket, by calling freeaddrinfo. Closes #1565.
+- Fix config->user not being freed on exit. Closes #1564.
+- Fix trailing whitespace not being trimmed on acl users. Closes #1539.
+- Fix `bind_interface` not working for the default listener. Closes #1533.
+- Improve password file parsing in the broker and mosqitto_passwd. Closes #1584.
+- Print OpenSSL errors in more situations, like when loading certificates
+  fails. Closes #1552.
+- Fix `mosquitto_client_protocol() returning incorrect values.
+
+Client library:
+- Set minimum keepalive argument to `mosquitto_connect*()` to be 5 seconds.
+  Closes #1550.
+- Fix `mosquitto_topic_matches_sub()` not returning MOSQ_ERR_INVAL if the
+  topic contains a wildcard. Closes #1589.
+
+Clients:
+- Fix `--remove-retained` not obeying the `-T` option for filtering out
+  topics. Closes #1585.
+- Default behaviour for v5 clients using `-c` is now to use infinite length
+  sessions, as with v3 clients. Closes #1546.
+
+
+1.6.8 - 20191128
+================
+
+Broker:
+- Various fixes for `allow_zero_length_clientid` config, where this option was
+  not being set correctly. Closes #1429.
+- Fix incorrect memory tracking causing problems with memory_limit option.
+  Closes #1437.
+- Fix subscription topics being limited to 200 characters instead of 200
+  hierarchy levels. Closes #1441.
+- Only a single CRL could be loaded at once. This has been fixed.
+  Closes #1442.
+- Fix problems with reloading config when `per_listener_settings` was true.
+  Closes #1459.
+- Fix retained messages with an expiry interval not being expired after being
+  restored from persistence. Closes #1464.
+- Fix messages with an expiry interval being sent without an expiry interval
+  property just before they were expired. Closes #1464.
+- Fix TLS Websockets clients not receiving messages after taking over a
+  previous connection. Closes #1489.
+- Fix MQTT 3.1.1 clients using clean session false, or MQTT 5.0 clients using
+  session-expiry-interval set to infinity never expiring, even when the global
+  `persistent_client_expiration` option was set. Closes #1494.
+
+Client library:
+- Fix publish properties not being passed to on_message_v5 callback for QoS 2
+  messages. Closes #1432.
+- Fix documentation issues in mosquitto.h. Closes #1478.
+- Document `mosquitto_connect_srv()`. Closes #1499.
+
+Clients:
+- Fix duplicate cfg definition in rr_client. Closes #1453.
+- Fix `mosquitto_pub -l` hang when stdin stream ends. Closes #1448.
+- Fix `mosquitto_pub -l` not sending the final line of stdin if it does not
+  end with a new line. Closes #1473.
+- Make documentation for `mosquitto_pub -l` match reality - blank lines are
+  sent as empty messages. Closes #1474.
+- Free memory in `mosquitto_sub` when quiting without having made a successful
+  connection. Closes #1513.
+
+Build:
+- Added `CLIENT_STATIC_LDADD` to makefile builds to allow more libraries to be
+  linked when compiling the clients with a static libmosquitto, as required
+  for e.g. openssl on some systems.
+
+Installer:
+- Fix mosquitto_rr.exe not being included in Windows installers. Closes #1463.
+
+
+1.6.7 - 20190925
+================
+
+Broker:
+- Add workaround for working with libwebsockets 3.2.0.
+- Fix potential crash when reloading config. Closes #1424, #1425.
+
+Client library:
+- Don't use `/` in autogenerated client ids, to avoid confusing with topics.
+- Fix `mosquitto_max_inflight_messages_set()` and `mosquitto_int_option(...,
+  MOSQ_OPT_*_MAX, ...)` behaviour. Closes #1417.
+- Fix regression on use of `mosquitto_connect_async()` not working.
+  Closes #1415 and #1422.
+
+Clients:
+- mosquitto_sub: Fix `-E` incorrectly not working unless `-d` was also
+  specified. Closes #1418.
+- Updated documentation around automatic client ids.
+
+
+1.6.6 - 20190917
+================
+
+Security:
+- Restrict topic hierarchy to 200 levels to prevent possible stack overflow.
+  Closes #1412.
+
+Broker:
+- Restrict topic hierarchy to 200 levels to prevent possible stack overflow.
+  Closes #1412.
+- mosquitto_passwd now returns 1 when attempting to update a user that does
+  not exist. Closes #1414.
+
+
+1.6.5 - 20190912
+================
+
+Broker:
+- Fix v5 DISCONNECT packets with remaining length == 2 being treated as a
+  protocol error. Closes #1367.
+- Fix support for libwebsockets 3.x.
+- Fix slow websockets performance when sending large messages. Closes #1390.
+- Fix bridges potentially not connecting on Windows. Closes #478.
+- Fix clients authorised using `use_identity_as_username` or
+  `use_subject_as_username` being disconnected on SIGHUP. Closes #1402.
+- Improve error messages in some situations when clients disconnect. Reduces
+  the number of "Socket error on client X, disconnecting" messages.
+- Fix Will for v5 clients not being sent if will delay interval was greater
+  than the session expiry interval. Closes #1401.
+- Fix CRL file not being reloaded on HUP. Closes #35.
+- Fix repeated "Error in poll" messages on Windows when only websockets
+  listeners are defined. Closes #1391.
+
+Client library:
+- Fix reconnect backoff for the situation where connections are dropped rather
+  than refused. Closes #737.
+- Fix missing locks on `mosq->state`. Closes #1374.
+
+Documentation:
+- Improve details on global/per listener options in the mosquitto.conf man page.
+  Closes #274.
+- Clarify behaviour when clients exceed the `message_size_limit`. Closes #448.
+- Improve documentation for `max_inflight_bytes`, `max_inflight_messages`,
+  and `max_queued_messages`.
+
+Build:
+- Fix missing function warnings on NetBSD.
+- Fix WITH_STATIC_LIBRARIES using CMake on Windows. Closes #1369.
+- Guard ssize_t definition on Windows. Closes #522.
+
+
+1.6.4 - 20190801
+================
+
+Broker:
+- Fix persistent clients being incorrectly expired on Raspberry Pis.
+  Closes #1272.
+- Windows: Allow other applications access to the log file when running.
+  Closes #515.
+- Fix incoming QoS 2 messages being blocked when `max_inflight_messages` was
+  set to 1. Closes #1332.
+- Fix incoming messages not being removed for a client if the topic being
+  published to does not have any subscribers. Closes #1322.
+
+Client library:
+- Fix MQTT v5 subscription options being incorrectly set for MQTT v3
+  subscriptions. Closes #1353.
+- Make behaviour of `mosquitto_connect_async()` consistent with
+  `mosquitto_connect()` when connecting to a non-existent server.
+  Closes #1345.
+- `mosquitto_string_option(mosq, MOSQ_OPT_TLS_KEYFORM, ...)` was incorrectly
+  returning `MOSQ_ERR_INVAL` with valid input. This has been fixed.
+  Closes #1360.
+- on_connect callback is now called with the correct v5 reason code if a v5
+  client connects to a v3.x broker and is sent a CONNACK with the
+  "unacceptable protocol version" connack reason code.
+- Fix memory leak when setting v5 properties in mosquitto_connect_v5().
+- Fix properties not being sent on QoS>0 PUBLISH messages.
+
+Clients:
+- mosquitto_pub: fix error codes not being returned when mosquitto_pub exits.
+  Closes #1354.
+- All clients: improve error messages when connecting to a v3.x broker when in
+  v5 mode. Closes #1344.
+
+Other:
+- Various documentation fixes.
+
+
+1.6.3 - 20190618
+================
+
+Broker:
+- Fix detection of incoming v3.1/v3.1.1 bridges. Closes #1263.
+- Fix default max_topic_alias listener config not being copied to the in-use
+  listener when compiled without TLS support.
+- Fix random number generation if compiling using `WITH_TLS=no` and on Linux
+  with glibc >= 2.25. Without this fix, no random numbers would be generated
+  for e.g. on broker client id generation, and so clients connecting expecting
+  this feature would be unable to connect.
+- Fix compilation problem related to `getrandom()` on non-glibc systems.
+- Fix Will message for a persistent client incorrectly being sent when the
+  client reconnects after a clean disconnect. Closes #1273.
+- Fix Will message for a persistent client not being sent on disconnect.
+  Closes #1273.
+- Improve documentation around the upgrading of persistence files. Closes
+  #1276.
+- Add 'extern "C"' on mosquitto_broker.h and mosquitto_plugin.h for C++ plugin
+  writing. Closes #1290.
+- Fix persistent Websockets clients not receiving messages after they
+  reconnect, having sent DISCONNECT on a previous session. Closes #1227.
+- Disable TLS renegotiation. Client initiated renegotiation is considered to
+  be a potential attack vector against servers. Closes #1257.
+- Fix incorrect shared subscription topic '$shared'.
+- Fix zero length client ids being rejected for MQTT v5 clients with clean
+  start set to true.
+- Fix MQTT v5 overlapping subscription behaviour. Clients now receive message
+  from all matching subscriptions rather than the first one encountered, which
+  ensures the maximum QoS requirement is met.
+- Fix incoming/outgoing quota problems for QoS>0.
+- Remove obsolete `store_clean_interval` from documentation.
+- Fix v4 authentication plugin never calling psk_key_get.
+
+Client library:
+- Fix typo causing build error on Windows when building without TLS support.
+  Closes #1264.
+
+Clients:
+- Fix -L url parsing when `/topic` part is missing.
+- Stop some error messages being printed even when `--quiet` was used.
+  Closes #1284.
+- Fix mosquitto_pub exiting with error code 0 when an error occurred.
+  Closes #1285.
+- Fix mosquitto_pub not using the `-c` option. Closes #1273.
+- Fix MQTT v5 clients not being able to specify a password without a username.
+  Closes #1274.
+- Fix `mosquitto_pub -l` not handling network failures. Closes #1152.
+- Fix `mosquitto_pub -l` not handling zero length input. Closes #1302.
+- Fix double free on exit in mosquitto_pub. Closes #1280.
+
+Documentation:
+- Remove references to Python binding and C++ wrapper in libmosquitto man
+  page. Closes #1266.
+
+Build:
+- CLIENT_LDFLAGS now uses LDFLAGS. Closes #1294.
+
+
+1.6.2 - 20190430
+================
+
+Broker:
+- Fix memory access after free, leading to possible crash, when v5 client with
+  Will message disconnects, where the Will message has as its first property
+  one of `content-type`, `correlation-data`, `payload-format-indicator`, or
+  `response-topic`.  Closes #1244.
+- Fix build for WITH_TLS=no. Closes #1250.
+- Fix Will message not allowing user-property properties.
+- Fix broker originated messages (e.g. $SYS/broker/version) not being
+  published when `check_retain_source` set to true. Closes #1245.
+- Fix $SYS/broker/version being incorrectly expired after 60 seconds.
+  Closes #1245.
+
+Library:
+- Fix crash after client has been unable to connect to a broker. This occurs
+  when the client is exiting and is part of the final library cleanup routine.
+  Closes #1246.
+
+Clients:
+- Fix -L url parsing. Closes #1248.
+
+
+1.6.1 - 20190426
+================
+
+Broker:
+- Document `memory_limit` option.
+
+Clients:
+- Fix compilation on non glibc systems due to missing sys/time.h header.
+
+Build:
+- Add `make check` target and document testing procedure. Closes #1230.
+- Document bundled dependencies and how to disable. Closes #1231.
+- Split CFLAGS and CPPFLAGS, and LDFLAGS and LDADD/LIBADD.
+- test/unit now respects CPPFLAGS and LDFLAGS. Closes #1232.
+- Don't call ldconfig in CMake scripts. Closes #1048.
+- Use CMAKE_INSTALL_* variables when installing in CMake. Closes #1049.
+
+
+1.6 - 20190417
+==============
+
+Broker features:
+- Add support for MQTT v5
+- Add support for OCSP stapling.
+- Add support for ALPN on bridge TLS connections. Closes #924.
+- Add support for Automotive DLT logging.
+- Add TLS Engine support.
+- Persistence file read/write performance improvements.
+- General performance improvements.
+- Add max_keepalive option, to allow a maximum keepalive value to be set for
+  MQTT v5 clients only.
+- Add `bind_interface` option which allows a listener to be bound to a
+  specific network interface, in a similar fashion to the `bind_address` option.
+  Linux only.
+- Add improved bridge restart interval based on Decorrelated Jitter.
+- Add `dhparamfile` option, to allow DH parameters to be loaded for Ephemeral
+  DH support
+- Disallow writing to $ topics where appropriate.
+- Fix mosquitto_passwd crashing on corrupt password file. Closes #1207.
+- Add explicit support for TLS v1.3.
+- Drop support for TLS v1.0.
+- Improved general support for broker generated client ids. Removed libuuid
+  dependency.
+- auto_id_prefix now defaults to 'auto-'.
+- QoS 1 and 2 flow control improvements.
+
+Client library features:
+- Add support for MQTT v5
+- Add mosquitto_subscribe_multiple() for sending subscriptions to multiple
+  topics in one command.
+- Add TLS Engine support.
+- Add explicit support for TLS v1.3.
+- Drop support for TLS v1.0.
+- QoS 1 and 2 flow control improvements.
+
+Client features:
+- Add support for MQTT v5
+- Add mosquitto_rr client, which can be used for "request-response" messaging,
+  by sending a request message and awaiting a response.
+- Add TLS Engine support.
+- Add support for ALPN on TLS connections. Closes #924.
+- Add -D option for all clients to specify MQTT v5 properties.
+- Add -E to mosquitto_sub, which causes it to exit immediately after having
+  its subscriptions acknowledged. Use with -c to create a durable client
+  session without requiring a message to be received.
+- Add --remove-retained to mosquitto_sub, which can be used to clear retained
+  messages on a broker.
+- Add --repeat and --repeat-delay to mosquitto_pub, which can be used to
+  repeat single message publishes at a regular interval.
+- -V now accepts `5, `311`, `31`, as well as `mqttv5` etc.
+- Add explicit support for TLS v1.3.
+- Drop support for TLS v1.0.
+
+Broker fixes:
+- Improve error reporting when creating listeners.
+- Fix build on SmartOS due to missing IPV6_V6ONLY. Closes #1212.
+
+Client library fixes
+- Add missing `mosquitto_userdata()` function.
+
+Client fixes:
+- mosquitto_pub wouldn't always publish all messages when using `-l` and
+  QoS>0. This has been fixed.
+- mosquitto_sub was incorrectly encoding special characters when using %j
+  output format. Closes #1220.
+
+
+1.5.8 - 20190228
+================
+
+Broker:
+- Fix clients being disconnected when ACLs are in use. This only affects the
+  case where a client connects using a username, and the anonymous ACL list is
+  defined but specific user ACLs are not defined. Closes #1162.
+- Make error messages for missing config file clearer.
+- Fix some Coverity Scan reported errors that could occur when the broker was
+  already failing to start.
+- Fix broken mosquitto_passwd on FreeBSD. Closes #1032.
+- Fix delayed bridge local subscriptions causing missing messages.
+  Closes #1174.
+
+Library:
+- Use higher resolution timer for random initialisation of client id
+  generation. Closes #1177.
+- Fix some Coverity Scan reported errors that could occur when the library was
+  already quitting.
+
+
+1.5.7 - 20190213
+================
+
+Broker:
+- Fix build failure when using WITH_ADNS=yes
+- Ensure that an error occurs if `per_listener_settings true` is given after
+  other security options. Closes #1149.
+- Fix include_dir not sorting config files before loading. This was partially
+  fixed in 1.5 previously.
+- Improve documentation around the `include_dir` option. Closes #1154.
+- Fix case where old unreferenced msg_store messages were being saved to the
+  persistence file, bloating its size unnecessarily. Closes #389.
+
+Library:
+- Fix `mosquitto_topic_matches_sub()` not returning MOSQ_ERR_INVAL for
+  invalid subscriptions like `topic/#abc`. This only affects the return value,
+  not the match/no match result, which was already correct.
+
+Build:
+- Don't require C99 compiler.
+- Add rewritten build test script and remove some build warnings.
+
+
+1.5.6 - 20190206
+================
+
+Security:
+- CVE-2018-12551: If Mosquitto is configured to use a password file for
+  authentication, any malformed data in the password file will be treated as
+  valid. This typically means that the malformed data becomes a username and no
+  password. If this occurs, clients can circumvent authentication and get access
+  to the broker by using the malformed username. In particular, a blank line
+  will be treated as a valid empty username. Other security measures are
+  unaffected. Users who have only used the mosquitto_passwd utility to create
+  and modify their password files are unaffected by this vulnerability.
+  Affects version 1.0 to 1.5.5 inclusive.
+- CVE-2018-12550: If an ACL file is empty, or has only blank lines or
+  comments, then mosquitto treats the ACL file as not being defined, which
+  means that no topic access is denied. Although denying access to all topics
+  is not a useful configuration, this behaviour is unexpected and could lead
+  to access being incorrectly granted in some circumstances. This is now
+  fixed. Affects versions 1.0 to 1.5.5 inclusive.
+- CVE-2018-12546. If a client publishes a retained message to a topic that
+  they have access to, and then their access to that topic is revoked, the
+  retained message will still be delivered to future subscribers. This
+  behaviour may be undesirable in some applications, so a configuration option
+  `check_retain_source` has been introduced to enforce checking of the
+  retained message source on publish.
+
+Broker:
+- Fixed comment handling for config options that have optional arguments.
+- Improved documentation around bridge topic remapping.
+- Handle mismatched handshakes (e.g. QoS1 PUBLISH with QoS2 reply) properly.
+- Fix spaces not being allowed in the bridge remote_username option. Closes
+  #1131.
+- Allow broker to always restart on Windows when using `log_dest file`. Closes
+  #1080.
+- Fix Will not being sent for Websockets clients. Closes #1143.
+- Windows: Fix possible crash when client disconnects. Closes #1137.
+- Fixed durable clients being unable to receive messages when offline, when
+  per_listener_settings was set to true. Closes #1081.
+- Add log message for the case where a client is disconnected for sending a
+  topic with invalid UTF-8. Closes #1144.
+
+Library:
+- Fix TLS connections not working over SOCKS.
+- Don't clear SSL context when TLS connection is closed, meaning if a user
+  provided an external SSL_CTX they have less chance of leaking references.
+
+Build:
+- Fix comparison of boolean values in CMake build. Closes #1101.
+- Fix compilation when openssl deprecated APIs are not available.
+  Closes #1094.
+- Man pages can now be built on any system. Closes #1139.
+
+
+1.5.5 - 20181211
+================
+
+Security:
+- If `per_listener_settings` is set to true, then the `acl_file` setting was
+  ignored for the "default listener" only. This has been fixed. This does not
+  affect any listeners defined with the `listener` option. Closes #1073.
+  This is now tracked as CVE-2018-20145.
+
+Broker:
+- Add `socket_domain` option to allow listeners to disable IPv6 support.
+  This is required to work around a problem in libwebsockets that means
+  sockets only listen on IPv6 by default if IPv6 support is compiled in.
+  Closes #1004.
+- When using ADNS, don't ask for all network protocols when connecting,
+  because this can lead to confusing "Protocol not supported" errors if the
+  network is down. Closes #1062.
+- Fix outgoing retained messages not being sent by bridges on initial
+  connection. Closes #1040.
+- Don't reload auth_opt_ options on reload, to match the behaviour of the
+  other plugin options. Closes #1068.
+- Print message on error when installing/uninstalling as a Windows service.
+- All non-error connect/disconnect messages are controlled by the
+  `connection_messages` option. Closes #772. Closes #613. Closes #537.
+
+Library:
+- Fix reconnect delay backoff behaviour. Closes #1027.
+- Don't call on_disconnect() twice if keepalive tests fail. Closes #1067.
+
+Client:
+- Always print leading zeros in mosquitto_sub when output format is hex.
+  Closes #1066.
+
+Build:
+- Fix building where TLS-PSK is not available. Closes #68.
+
+
+1.5.4 - 20181108
+================
+
+Security:
+- When using a TLS enabled websockets listener with "require_certificate"
+  enabled, the mosquitto broker does not correctly verify client certificates.
+  This is now fixed. All other security measures operate as expected, and in
+  particular non-websockets listeners are not affected by this. Closes #996.
+
+Broker:
+- Process all pending messages even when a client has disconnected. This means
+  a client that send a PUBLISH then DISCONNECT quickly, then disconnects will
+  have its DISCONNECT message processed properly and so no Will will be sent.
+  Closes #7.
+- $SYS/broker/clients/disconnected should never be negative. Closes #287.
+- Give better error message if a client sends a password without a username.
+  Closes #1015.
+- Fix bridge not honoring restart_timeout. Closes #1019.
+- Don't disconnect a client if an auth plugin denies access to SUBSCRIBE.
+  Closes #1016.
+
+Library:
+- Fix memory leak that occurred if mosquitto_reconnect() was used when TLS
+  errors were present. Closes #592.
+- Fix TLS connections when using an external event loop with
+  mosquitto_loop_read() and mosquitto_write(). Closes #990.
+
+Build:
+- Fix clients not being compiled with threading support when using CMake.
+  Closes #983.
+- Header fixes for FreeBSD. Closes #977.
+- Use _GNU_SOURCE to fix build errors in websockets and getaddrinfo usage.
+  Closes #862 and #933.
+- Fix builds on QNX 7.0.0. Closes #1018.
+
+
+1.5.3 - 20180925
+================
+
+Security:
+- Fix CVE-2018-12543. If a message is sent to Mosquitto with a topic that
+  begins with $, but is not $SYS, then an assert that should be unreachable is
+  triggered and Mosquitto will exit.
+
+Broker:
+- Elevate log level to warning for situation when socket limit is hit.
+- Remove requirement to use `user root` in snap package config files.
+- Fix retained messages not sent by bridges on outgoing topics at the first
+  connection. Closes #701.
+- Documentation fixes. Closes #520, #600.
+- Fix duplicate clients being added to by_id hash before the old client was
+  removed. Closes #645.
+- Fix Windows version not starting if include_dir did not contain any files.
+  Closes #566.
+- When an authentication plugin denied access to a SUBSCRIBE, the client would
+  be disconnected incorrectly. This has been fixed. Closes #1016.
+
+Build:
+- Various fixes to ease building.
+
+
+1.5.2 - 20180919
+================
+
+Broker:
+- Fix build when using WITH_ADNS=yes.
+- Fix incorrect call to setsockopt() for TCP_NODELAY. Closes #941.
+- Fix excessive CPU usage when the number of sockets exceeds the system limit.
+  Closes #948.
+- Fix for bridge connections when using WITH_ADNS=yes.
+- Fix round_robin false behaviour. Closes #481.
+- Fix segfault on HUP when bridges and security options are configured.
+  Closes #965.
+
+Library:
+- Fix situation where username and password is used with SOCKS5 proxy. Closes
+  #927.
+- Fix SOCKS5 behaviour when passing IP addresses. Closes #927.
+
+Build:
+- Make it easier to build without bundled uthash.h using "WITH_BUNDLED_DEPS=no".
+- Fix build with OPENSSL_NO_ENGINE. Closes #932.
+
+
+1.5.1 - 20180816
+================
+
+Broker:
+- Fix plugin cleanup function not being called on exit of the broker.
+  Closes #900.
+- Print more OpenSSL errors when loading certificates/keys fail.
+- Use AF_UNSPEC etc. instead of PF_UNSPEC to comply with POSIX. Closes #863.
+- Remove use of AI_ADDRCONFIG, which means the broker can be used on systems
+  where only the loopback interface is defined. Closes #869, Closes #901.
+- Fix IPv6 addresses not being able to be used as bridge addresses.
+  Closes #886.
+- All clients now time out if they exceed their keepalive*1.5, rather than
+  just reach it. This was inconsistent in two places.
+- Fix segfault on startup if bridge CA certificates could not be read.
+  Closes #851.
+- Fix problem opening listeners on Pi caused by unsigned char being default.
+  Found via #849.
+- ACL patterns that do not contain either %c or %u now produce a warning in
+  the log. Closes #209.
+- Fix bridge publishing failing when per_listener_settings was true. Closes
+  #860.
+- Fix `use_identity_as_username true` not working. Closes #833.
+- Fix UNSUBACK messages not being logged. Closes #903.
+- Fix possible endian issue when reading the `memory_limit` option.
+- Fix building for libwebsockets < 1.6.
+- Fix accessor functions for username and client id when used in plugin auth
+  check.
+
+Library:
+- Fix some places where return codes were incorrect, including to the
+  on_disconnect() callback. This has resulted in two new error codes,
+  MOSQ_ERR_KEEPALIVE and MOSQ_ERR_LOOKUP.
+- Fix connection problems when mosquitto_loop_start() was called before
+  mosquitto_connect_async(). Closes #848.
+
+Clients:
+- When compiled using WITH_TLS=no, the default port was incorrectly being set
+  to -1. This has been fixed.
+- Fix compiling on Mac OS X <10.12. Closes #813 and #240.
+
+Build:
+- Fixes for building on NetBSD. Closes #258.
+- Fixes for building on FreeBSD.
+- Add support for compiling with static libwebsockets library.
+
+
+1.5 - 20180502
+==============
+
+Security:
+- Fix memory leak that could be caused by a malicious CONNECT packet.
+  CVE-2017-7654. Closes #533493 (on Eclipse bugtracker)
+
+Broker features:
+- Add per_listener_settings to allow authentication and access control to be
+  per listener.
+- Add limited support for reloading listener settings. This allows settings
+  for an already defined listener to be reloaded, but port numbers must not be
+  changed.
+- Add ability to deny access to SUBSCRIBE messages as well as the current
+  read/write accesses. Currently for auth plugins only.
+- Reduce calls to malloc through the use of UHPA.
+- Outgoing messages with QoS>1 are no longer retried after a timeout period.
+  Messages will be retried when a client reconnects.  This change in behaviour
+  can be justified by considering when the timeout may have occurred.
+  * If a connection is unreliable and has dropped, but without one end
+    noticing, the messages will be retried on reconnection. Sending
+    additional PUBLISH or PUBREL would not have changed anything.
+  * If a client is overloaded/unable to respond/has a slow connection then
+    sending additional PUBLISH or PUBREL would not help the client catch
+    up. Once the backlog has cleared the client will respond. If it is not
+    able to catch up, sending additional duplicates would not help either.
+- Add use_subject_as_username option for certificate based client
+  authentication to use the entire certificate subject as a username, rather
+  than just the CN. Closes #469467.
+- Change sys tree printing output. This format shouldn't be relied upon and
+  may change at any time. Closes #470246.
+- Minimum supported libwebsockets version is now 1.3.
+- Add systemd startup notification and services. Closes #471053.
+- Reduce unnecessary malloc and memcpy when receiving a message and storing
+  it. Closes #470258.
+- Support for Windows XP has been dropped.
+- Bridge connections now default to using MQTT v3.1.1.
+- mosquitto_db_dump tool can now output some stats on clients.
+- Perform utf-8 validation on incoming will, subscription and unsubscription
+  topics.
+- new $SYS/broker/store/messages/count (deprecates $SYS/broker/messages/stored)
+- new $SYS/broker/store/messages/bytes
+- max_queued_bytes feature to limit queues by real size rather than
+  than just message count. Closes Eclipse #452919 or Github #100
+- Add support for bridges to be configured to only send notifications to the
+  local broker.
+- Add set_tcp_nodelay option to allow Nagle's algorithm to be disabled on
+  client sockets. Closes #433.
+- The behaviour of allow_anonymous has changed. In the old behaviour, the
+  default if not set was to allow anonymous access. The new behaviour is to
+  default is to allow anonymous access unless another security option is set.
+  For example, if password_file is set and allow_anonymous is not set, then
+  anonymous access will be denied. It is still possible to allow anonymous
+  access by setting it explicitly.
+
+Broker fixes:
+- Fix UNSUBSCRIBE with no topic is accepted on MQTT 3.1.1. Closes #665.
+- Produce an error if two bridges share the same local_clientid.
+- Miscellaneous fixes on Windows.
+- queue_qos0_messages was not observing max_queued_** limits
+- When using the include_dir configuration option sort the files
+  alphabetically before loading them.  Closes #17.
+- IPv6 is no longer disabled for websockets listeners.
+- Remove all build timestamp information including $SYS/broker/timestamp.
+  Close #651.
+- Correctly handle incoming strings that contain a NULL byte. Closes #693.
+- Use constant time memcmp for password comparisons.
+- Fix incorrect PSK key being used if it had leading zeroes.
+- Fix memory leak if a client provided a username/password for a listener with
+  use_identity_as_username configured.
+- Fix use_identity_as_username not working on websockets clients.
+- Don't crash if an auth plugin returns MOSQ_ERR_AUTH for a username check on
+  a websockets client. Closes #490.
+- Fix 08-ssl-bridge.py test when using async dns lookups. Closes #507.
+- Lines in the config file are no longer limited to 1024 characters long.
+  Closes #652.
+- Fix $SYS counters of messages and bytes sent when message is sent over
+  a Websockets. Closes #250.
+- Fix upgrade_outgoing_qos for retained message. Closes #534.
+- Fix CONNACK message not being sent for unauthorised connect on websockets.
+  Closes #8.
+- Maximum connections on Windows increased to 2048.
+- When a client with an in-use client-id connects, if the old client has a
+  will, send the will message. Closes #26.
+- Fix parsing of configuration options that end with a space. Closes #804.
+
+Client library features:
+- Outgoing messages with QoS>1 are no longer retried after a timeout period.
+  Messages will be retried when a client reconnects.
+- DNS-SRV support is now disabled by default.
+- Add mosquitto_subscribe_simple() This is a helper function to make
+  retrieving messages from a broker very straightforward. Examples of its use
+  are in examples/subscribe_simple.
+- Add mosquitto_subscribe_callback() This is a helper function to make
+  processing messages from a broker very straightforward. An example of its use
+  is in examples/subscribe_simple.
+- Connections now default to using MQTT v3.1.1.
+- Add mosquitto_validate_utf8() to check whether a string is valid UTF-8
+  according to the UTF-8 spec and to the additional restrictions imposed by
+  the MQTT spec.
+- Topic inputs are checked for UTF-8 validity.
+- Add mosquitto_userdata function to allow retrieving the client userdata
+  member variable. Closes #111.
+- Add mosquitto_pub_topic_check2(), mosquitto_sub_topic_check2(), and
+  mosquitto_topic_matches_sub2() which are identical to the similarly named
+  functions but also take length arguments.
+- Add mosquitto_connect_with_flags_callback_set(), which allows a second
+  connect callback to be used which also exposes the connect flags parameter.
+  Closes #738 and #128.
+- Add MOSQ_OPT_SSL_CTX option to allow a user specified SSL_CTX to be used
+  instead of the one generated by libmosquitto. This allows greater control
+  over what options can be set. Closes #715.
+- Add MOSQ_OPT_SSL_CTX_WITH_DEFAULTS to work with MOSQ_OPT_SSL_CTX and have
+  the default libmosquitto SSL_CTX configuration applied to the user provided
+  SSL_CTX. Closes #567.
+
+Client library fixes:
+- Fix incorrect PSK key being used if it had leading zeroes.
+- Initialise "result" variable as soon as possible in
+  mosquitto_topic_matches_sub. Closes #654.
+- No need to close socket again if setting non-blocking failed. Closes #649.
+- Fix mosquitto_topic_matches_sub() not correctly matching foo/bar against
+  foo/+/#. Closes #670.
+- SNI host support added.
+
+Client features:
+- Add -F to mosquitto_sub to allow the user to choose the output format.
+- Add -U to mosquitto_sub for unsubscribing from topics.
+- Add -c (clean session) to mosquitto_pub.
+- Add --retained-only to mosquitto_sub to exit after receiving all retained
+  messages.
+- Add -W to allow mosquitto_sub to stop processing incoming messages after a
+  timeout.
+- Connections now default to using MQTT v3.1.1.
+- Default to using port 8883 when using TLS.
+- mosquitto_sub doesn't continue to keep connecting if CONNACK tells it the
+  connection was refused.
+
+Client fixes:
+- Correctly handle empty files with "mosquitto_pub -l". Closes #676.
+
+Build:
+- Add WITH_STRIP option (defaulting to "no") that when set to "yes" will strip
+  executables and shared libraries when installing.
+- Add WITH_STATIC_LIBRARIES (defaulting to "no") that when set to "yes" will
+  build and install static versions of the client libraries.
+- Don't run TLS-PSK tests if TLS-PSK disabled at compile time. Closes #636.
+- Support for openssl versions 1.0.0 and 1.0.1 has been removed as these are
+  no longer supported by openssl.
+
+Documentation:
+- Replace mentions of deprecated 'c_rehash' with 'openssl rehash'.
+
+1.4.15 - 20180228
+=================
+
+Security:
+- Fix CVE-2017-7652. If a SIGHUP is sent to the broker when there are no more
+  file descriptors, then opening the configuration file will fail and security
+  settings will be set back to their default values.
+- Fix CVE-2017-7651. Unauthenticated clients can cause excessive memory use by
+  setting "remaining length" to be a large value. This is now mitigated by
+  limiting the size of remaining length to valid values. A "memory_limit"
+  configuration option has also been added to allow the overall memory used by
+  the broker to be limited.
+
+Broker:
+- Use constant time memcmp for password comparisons.
+- Fix incorrect PSK key being used if it had leading zeroes.
+- Fix memory leak if a client provided a username/password for a listener with
+  use_identity_as_username configured.
+- Fix use_identity_as_username not working on websockets clients.
+- Don't crash if an auth plugin returns MOSQ_ERR_AUTH for a username check on
+  a websockets client. Closes #490.
+- Fix 08-ssl-bridge.py test when using async dns lookups. Closes #507.
+- Lines in the config file are no longer limited to 1024 characters long.
+  Closes #652.
+- Fix $SYS counters of messages and bytes sent when message is sent over
+  a Websockets. Closes #250.
+- Fix upgrade_outgoing_qos for retained message. Closes #534.
+- Fix CONNACK message not being sent for unauthorised connect on websockets.
+  Closes #8.
+
+Client library:
+- Fix incorrect PSK key being used if it had leading zeroes.
+- Initialise "result" variable as soon as possible in
+  mosquitto_topic_matches_sub. Closes #654.
+- No need to close socket again if setting non-blocking failed. Closes #649.
+- Fix mosquitto_topic_matches_sub() not correctly matching foo/bar against
+  foo/+/#. Closes #670.
+
+Clients:
+- Correctly handle empty files with "mosquitto_pub -l". Closes #676.
+
+Build:
+- Don't run TLS-PSK tests if TLS-PSK disabled at compile time. Closes #636.
+
+
+1.4.14 - 20170710
+=================
+
+Broker:
+- Fix regression from 1.4.13 where persistence data was not being saved.
+
+
+1.4.13 - 20170627
+=================
+
+Security:
+- Fix CVE-2017-9868. The persistence file was readable by all local users,
+  potentially allowing sensitive information to be leaked.
+  This can also be fixed administratively, by restricting access to the
+  directory in which the persistence file is stored.
+
+Broker:
+- Fix for poor websockets performance.
+- Fix lazy bridges not timing out for idle_timeout. Closes #417.
+- Fix problems with large retained messages over websockets. Closes #427.
+- Set persistence file to only be readable by owner, except on Windows. Closes
+  #468.
+- Fix CONNECT check for reserved=0, as per MQTT v3.1.1 check MQTT-3.1.2-3.
+- When the broker stop, wills for any connected clients are now "sent". Closes
+  #477.
+- Auth plugins can be configured to disable the check for +# in
+  usernames/client ids with the auth_plugin_deny_special_chars option.
+  Partially closes #462.
+- Restrictions for CVE-2017-7650 have been relaxed - '/' is allowed in
+  usernames/client ids. Remainder of fix for #462.
+
+Clients:
+- Don't use / in auto-generated client ids.
+
+
+1.4.12 - 20170528
+=================
+
+Security:
+- Fix CVE-2017-7650, which allows clients with username or client id set to
+  '#' or '+' to bypass pattern based ACLs or third party plugins. The fix
+  denies message sending or receiving of messages for clients with a '#' or
+  '+' in their username or client id and if the message is subject to a
+  pattern ACL check or plugin check.
+  Patches for other versions are available at
+  https://mosquitto.org/files/cve/2017-7650/
+
+Broker:
+- Fix mosquitto.db from becoming corrupted due to client messages being
+  persisted with no stored message. Closes #424.
+- Fix bridge not restarting properly. Closes #428.
+- Fix unitialized memory in gets_quiet on Windows. Closes #426.
+- Fix building with WITH_ADNS=no for systems that don't use glibc. Closes
+  #415.
+- Fixes to readme.md.
+- Fix deprecation warning for OpenSSL 1.1. PR #416.
+- Don't segfault on duplicate bridge names. Closes #446.
+- Fix CVE-2017-7650.
+
+
+1.4.11 - 20170220
+=================
+
+Broker:
+- Fix crash when "lazy" type bridge attempts to reconnect. Closes #259.
+- maximum_connections now applies to websockets listeners. Closes #271.
+- Allow bridges to use TLS with IPv6.
+- Don't error on zero length persistence files. Closes #316.
+- For http only websockets clients, close files served over http in all cases
+  when the client disconnects. Closes #354.
+- Fix error message when websockets http_dir directory does not exist.
+- Improve password utility error message. Closes #379.
+
+Clients:
+- Use of --ciphers no longer requires you to also pass --tls-version.
+  Closes #380.
+
+Client library:
+- Clients can now use TLS with IPv6.
+- Fix potential socket leakage when reconnecting. Closes #304.
+- Fix potential negative timeout being passed to pselect. Closes #329.
+
+
+1.4.10 - 20160816
+=================
+
+Broker:
+- Fix TLS operation with websockets listeners and libwebsockts 2.x. Closes
+  #186.
+- Don't disconnect client on HUP before reading the pending data. Closes #7.
+- Fix some $SYS messages being incorrectly persisted. Closes #191.
+- Support OpenSSL 1.1.0.
+- Call fsync after persisting data to ensure it is correctly written. Closes
+  #189.
+- Fix persistence saving of subscription QoS on big-endian machines.
+- Fix will retained flag handling on Windows. Closes #222.
+- Broker now displays an error if it is unable to open the log file. Closes
+  #234.
+
+Client library:
+- Support OpenSSL 1.1.0.
+- Fixed the C++ library not allowing SOCKS support to be used. Closes #198.
+- Fix memory leak when verifying a server certificate with a subjectAltName
+  section. Closes #237.
+
+Build:
+- Don't attempt to install docs when WITH_DOCS=no. Closes #184.
+
+
+1.4.9 - 20160603
+================
+
+Broker:
+- Ensure websockets clients that previously connected with clean session set
+  to false have their queued messages delivered immediately on reconnecting.
+  Closes #476314.
+- Reconnecting client with clean session set to false doesn't start with mid=1
+  again.
+- Will topic isn't truncated by one byte when using a mount_point any more.
+- Network errors are printed correctly on Windows.
+- Fix incorrect $SYS heap memory reporting when using ACLs.
+- Bridge config parameters couldn't contain a space, this has been fixed.
+  Closes #150.
+- Fix saving of persistence messages that start with a '/'. Closes #151.
+- Fix reconnecting for bridges that use TLS on Windows. Closes #154.
+- Broker and bridges can now cope with unknown incoming PUBACK, PUBREC,
+  PUBREL, PUBCOMP without disconnecting. Closes #57.
+- Fix websockets listeners not being able to bind to an IP address. Closes
+  #170.
+- mosquitto_passwd utility now correctly deals with unknown command line
+  arguments in all cases. Closes #169.
+- Fix publishing of $SYS/broker/clients/maximum
+- Fix order of #includes in lib/send_mosq.c to ensure struct mosquitto doesn't
+  differ between source files when websockets is being used. Closes #180.
+- Fix possible rare crash when writing out persistence file and a client has
+  incomplete messages inflight that it has been denied the right to publish.
+
+Client library:
+- Fix the case where a message received just before the keepalive timer
+  expired would cause the client to miss the keepalive timer.
+- Return value of pthread_create is now checked.
+- _mosquitto_destroy should not cancel threads that weren't created by
+  libmosquitto. Closes #166.
+- Clients can now cope with unknown incoming PUBACK, PUBREC, PUBREL, PUBCOMP
+  without disconnecting. Closes #57.
+- Fix mosquitto_topic_matches_sub() reporting matches on some invalid
+   subscriptions.
+
+Clients:
+- Handle some unchecked malloc() calls. Closes #1.
+
+Build:
+- Fix string quoting in CMakeLists.txt. Closes #4.
+- Fix building on Visual Studio 2015. Closes #136.
+
+
+1.4.8 - 20160214
+================
+
+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.
+
+
+1.4.7 - 20151221
+================
+
+Broker:
+- Fix support for libwebsockets 1.22.
+
+
+1.4.6 - 20151220
+================
+
+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.
+
+
+1.4.5 - 20151108
+================
+
+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.
+
+
+1.4.4 - 20150916
+================
+
+Broker:
+- 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. Closes #475707.
+- Fix excessive calls to message retry check.
+
+
+1.4.3 - 20150818
+================
+
+Broker:
+- Fix incorrect bridge notification on initial connection. Closes #467096.
+- Build fixes for OpenBSD.
+- Fix incorrect behaviour for autosave_interval, most noticable for
+  autosave_interval=1. Closes #465438.
+- Fix handling of outgoing QoS>0 messages for bridges that could not be sent
+  because the bridge connection was down.
+- Free unused topic tree elements. Closes #468987.
+- Fix some potential memory leaks. Closes #470253.
+- Fix potential crash on libwebsockets error.
+
+Client library:
+- Add missing error strings to mosquitto_strerror.
+- Handle fragmented TLS packets without a delay. Closes #470660.
+- Fix incorrect loop timeout being chosen when using threaded interface and
+  keepalive = 0. Closes #471334.
+- Increment inflight messages count correctly. Closes #474935.
+
+Clients:
+- Report error string on connection failure rather than error code.
+
+
+1.4.2 - 20150507
+================
+
+Broker:
+- Fix bridge prefixes only working for the first outgoing message. Closes
+  #464437.
+- Fix incorrect bridge connection notifications on local broker.
+- Fix persistent db writing on Windows. Closes #464779.
+- ACLs are now checked before sending a will message.
+- Fix possible crash when using bridges on Windows. Closes #465384.
+- Fix parsing of auth_opt_ arguments with extra spaces/tabs.
+- Broker will return CONNACK rc=5 when a username/password is not authorised.
+  This was being incorrectly set as rc=4.
+- Fix handling of payload lengths>4096 with websockets.
+
+Client library:
+- Inflight message count wasn't being decreased for outgoing messages using
+  QoS 2, meaning that only up to 20 QoS 2 messages could be sent. This has
+  been fixed. Closes #464436.
+- Fix CMake dependencies for C++ wrapper building. Closes #463884.
+- Fix possibility of select() being called with a socket that is >FD_SETSIZE.
+  This is a fix for #464632 that will be followed up by removing the select()
+  call in a future version.
+- Fix calls to mosquitto_connect*_async() not completing.
+
+
+1.4.1 - 20150403
+================
+
+Broker:
+- Fix possible crash under heavy network load. Closes #463241.
+- Fix possible crash when using pattern ACLs.
+- Fix problems parsing config strings with multiple leading spaces. Closes
+  #462154.
+- Websockets clients are now periodically disconnected if they have not
+  maintained their keepalive timer. Closes #461619.
+- Fix possible minor memory leak on acl parsing.
+
+Client library:
+- Inflight limits should only apply to outgoing messages. Closes #461620.
+- Fix reconnect bug on Windows. Closes #463000.
+- Return -1 on error from mosquitto_socket(). Closes #461705.
+- Fix crash on multiple calls to mosquitto_lib_init/mosquitto_lib_cleanup.
+  Closes #462780.
+- Allow longer paths on Windows. Closes #462781.
+- Make _mosquitto_mid_generate() thread safe. Closes #463479.
+
+
+1.4 - 20150218
+==============
+
+Important changes:
+- Websockets support in the broker.
+- Bridge behaviour on the local broker has changed due to the introduction of
+  the local_* options. This may affect you if you are using authentication
+  and/or ACLs with bridges.
+- The default TLS behaviour has changed to accept all of TLS v1.2, v1.1 and
+  v1.0, rather than only only one version of the protocol. It is still
+  possible to restrict a listener to a single version of TLS.
+- The Python client has been removed now that the Eclipse Paho Python client
+  has had a release.
+- When a durable client reconnects, its queued messages are now checked
+  against ACLs in case of a change in username/ACL state since it last
+  connected.
+- New use_username_as_clientid option on the broker, for preventing hijacking
+  of a client id.
+- The client library and clients now have experimental SOCKS5 support.
+- Wildcard TLS certificates are now supported for bridges and clients.
+- The clients have support for config files with default options.
+- Client and client libraries have support for MQTT v3.1.1.
+- Bridge support for MQTT v3.1.1.
+
+
+Broker:
+- Websockets support in the broker.
+- Add local_clientid, local_username, local_password for bridge connections to
+  authenticate to the local broker.
+- Default TLS mode now accepts TLS v1.2, v1.1 and v1.0.
+- Support for ECDHE-ECDSA family ciphers.
+- Fix bug #1324411, which could have had unexpected consequences for delayed
+  messages in rare circumstances.
+- Add support for "session present" in CONNACK messages for MQTT v3.1.1.
+- Remove strict protocol #ifdefs.
+- Change $SYS/broker/clients/active -> $SYS/broker/clients/connected
+- Change $SYS/broker/clients/inactive -> $SYS/broker/clients/disconnected
+- When a durable client reconnects, its queued messages are now checked
+  against ACLs in case of a change in username/ACL state since it last
+  connected.
+- libuuid is used to generate client ids, where it is available, when an MQTT
+  v3.1.1 client connects with a zero length client id.
+- Anonymous clients are no longer accidently disconnected from the broker
+  after a SIGHUP.
+- mosquitto_passwd now supports -b (batch mode) to allow the password to be
+  provided at the command line.
+- Removed $SYS/broker/changeset. This was intended for use with debugging, but
+  in practice is of no use.
+- Add support for use_username_as_clientid which can be used with
+  authentication to restrict ownership of client ids and hence prevent one
+  client disconnecting another by using the same client id.
+- When "require_certificate" was false, the broker was incorrectly asking for
+  a certificate (but not checking it). This caused problems with some clients
+  and has been fixed so the broker no longer asks.
+- When using syslog logging on non-Windows OSs, it is now possible to specify
+  the logging facility to one of local0-7 instead of the default "daemon".
+- The bridge_attempt_unsubscribe option has been added, to allow the sending
+  of UNSUBSCRIBE requests to be disabled for topics with "out" direction.
+  Closes bug #456899.
+- Wildcard TLS certificates are now supported for bridges.
+- Support for "hour" client expiration lengths for the
+  persistent_client_expiration option. Closes bug #425835.
+- Bridge support for MQTT v3.1.1.
+- Root privileges are now dropped after starting listeners and loading
+  certificates/private keys, to allow private keys to have their permissions
+  restricted to the root user only. Closes bug #452914.
+- Usernames and topics given in ACL files can now include a space. Closes bug
+  #431780.
+- Fix hang if pattern acl contains a %u but an anonymous client connect.
+  Closes bug #455402.
+- Fix man page installation with cmake. Closes bug #458843.
+- When using "log_dest file" the output file is now flushed periodically.
+
+Clients:
+- Both clients can now load default configuration options from a file.
+- Add -C option to mosquitto_sub to allow the client to quit after receiving a
+  certain count of messages. Closes bug #453850.
+- Add --proxy SOCKS5 support for both clients.
+- Pub client supports setting its keepalive. Closes bug #454852.
+- Add support for config files with default options.
+- Add support for MQTT v3.1.1.
+
+Client library:
+- Add experimental SOCKS5 support.
+- mosquitto_loop_forever now quits after a fatal error, rather than blindly
+  retrying.
+- SRV support is now not compiled in by default.
+- Wildcard TLS certificates are now supported.
+- mosquittopp now has a virtual destructor. Closes bug #452915.
+- Add support for MQTT v3.1.1.
+- Don't quit mosquitto_loop_forever() if broker not available on first
+  connect. Closes bug #453293, but requires more work.
+- Don't reset queued messages state on CONNACK. Fixes bug with duplicate
+  messages on connection.
+
+
+1.3.5 - 20141008
+================
+
+Broker:
+- Fix possible memory leak when using a topic that has a leading slash. Fixes
+  bug #1360985.
+- Fix saving persistent database on Windows.
+- Temporarily disable ACL checks on subscriptions when using MQTT v3.1.1. This
+  is due to the complexity of checking wildcard ACLs against wildcard
+  subscriptions. This does not have a negative impact on security because
+  checks are still made before a message is sent to a client.
+  Fixes bug #1374291.
+- When using -v and the broker receives a SIGHUP, verbose logging was being
+  disabled. This has been fixed.
+
+Client library:
+- Fix mutex being incorrectly passed by value. Fixes bug #1373785.
+
+1.3.4 - 20140806
+================
+
+Broker:
+- Don't ask client for certificate when require_certificate is false.
+- Backout incomplete functionality that was incorrectly included in 1.3.2.
+
+1.3.3 - 20140801
+================
+
+Broker:
+- Fix incorrect handling of anonymous bridges on the local broker.
+
+1.3.2 - 20140713
+================
+
+Broker:
+- Don't allow access to clients when authenticating if a security plugin
+  returns an application error. Fixes bug #1340782.
+- Ensure that bridges verify certificates by default when using TLS.
+- Fix possible crash when using pattern ACLs that do not include a %u and
+  clients that connect without a username.
+- Fix subscriptions being deleted when clients subscribed to a topic beginning
+  with a $ but that is not $SYS.
+- When a durable client reconnects, its queued messages are now checked
+  against ACLs in case of a change in username/ACL state since it last
+  connected.
+- Fix bug #1324411, which could have had unexpected consequences for delayed
+  messages in rare circumstances.
+- Anonymous clients are no longer accidently disconnected from the broker
+  after a SIGHUP.
+
+Client library:
+- Fix topic matching edge case.
+- Fix callback deadlocks after calling mosquitto_disconnect(), when using the
+  threaded interfaces. Closes bug #1313725.
+- Fix SRV support when building with CMake.
+- Remove strict protocol #ifdefs.
+
+General:
+- Use $(STRIP) for stripping binaries when installing, to allow easier cross
+  compilation.
+
+1.3.1 - 20140324
+================
+
+Broker:
+- Prevent possible crash on client reconnect. Closes bug #1294108.
+- Don't accept zero length unsubscription strings (MQTT v3.1.1 fix)
+- Don't accept QoS 3 (MQTT v3.1.1 fix)
+- Don't disconnect clients immediately on HUP to give chance for all data to
+  be read.
+- Reject invalid un/subscriptions e.g. foo/+bar #/bar.
+- Take more care not to disconnect clients that are sending large messages.
+
+Client library:
+- Fix socketpair code on the Mac.
+- Fix compilation for WITH_THREADING=no.
+- Break out of select() when calling mosquitto_loop_stop().
+- Reject invalid un/subscriptions e.g. foo/+bar #/bar.
+- Add mosquitto_threaded_set().
+
+Clients:
+- Fix keepalive value on mosquitto_pub.
+- Fix possibility of mosquitto_pub not exiting after sending messages when
+  using -l.
+
+1.3 - 20140316
+==============
+
+Broker:
+- The broker no longer ignores the auth_plugin_init() return value.
+- Accept SSLv2/SSLv3 HELLOs when using TLSv1, whilst keeping SSLv2 and SSLv3
+  disabled. This increases client compatibility without sacrificing security.
+- The $SYS tree can now be disabled at runtime as well as at compile time.
+- When remapping bridged topics, only check for matches when the message
+  direction is correct. This allows two identical topics to be remapped
+  differently for both in and out.
+- Change "$SYS/broker/heap/current size" to "$SYS/broker/heap/current" for
+  easier parsing.
+- Change "$SYS/broker/heap/maximum size" to "$SYS/broker/heap/maximum" for
+  easier parsing.
+- Topics are no longer normalised from e.g a///topic to a/topic. This matches
+  the behaviour as clarified by the Oasis MQTT spec. This will lead to
+  unexpected behaviour if you were using topics of this form.
+- Log when outgoing messages for a client begin to drop off the end of the
+  queue.
+- Bridge clients are recognised as bridges even after reloading from
+  persistence.
+- Basic support for MQTT v3.1.1. This does not include being able to bridge to
+  an MQTT v3.1.1 broker.
+- Username is displayed in log if present when a client connects.
+- Support for 0 length client ids (v3.1.1 only) that result in automatically
+  generated client ids on the broker (see option allow_zero_length_clientid).
+- Ability to set the prefix of automatically generated client ids (see option
+  auto_id_prefix).
+- Add support for TLS session resumption.
+- When using TLS, the server now chooses the cipher to use when negotiating
+  with the client.
+- Weak TLS ciphers are now disabled by default.
+
+Client library:
+- Fix support for Python 2.6, 3.0, 3.1.
+- Add support for un/subscribing to multiple topics at once in un/subscribe().
+- Clients now close their socket after sending DISCONNECT.
+- Python client now contains its version number.
+- C library mosquitto_want_write() now supports TLS clients.
+- Fix possible memory leak in C/C++ library when communicating with
+  a broker that doesn't follow the spec.
+- Return strerror() through mosquitto_strerror() to make error printing
+  easier.
+- Topics are no longer normalised from e.g a///topic to a/topic. This matches
+  the behaviour as clarified by the Oasis MQTT spec. This will lead to
+  unexpected behaviour if you were using topics of this form.
+- Add support for SRV lookups.
+- Break out of select() on publish(), subscribe() etc. when using the threaded
+  interface. Fixes bug #1270062.
+- Handle incoming and outgoing messages separately. Fixes bug #1263172.
+- Don't terminate threads on mosquitto_destroy() when a client is not using
+  the threaded interface but does use their own thread. Fixes bug #1291473.
+
+Clients:
+- Add --ciphers to allow specifying which TLS ciphers to support.
+- Add support for SRV lookups.
+- Add -N to sub client to suppress printing of EOL after the payload.
+- Add -T to sub client to suppress printing of a topic hierarchy.
+
+1.2.3 - 20131202
+================
+
+Broker:
+- Don't always attempt to call read() for SSL clients, irrespective of whether
+  they were ready to read or not. Reduces syscalls significantly.
+- Possible memory leak fixes.
+- Further fix for bug #1226040: multiple retained messages being delivered for
+  subscriptions ending in #.
+- Fix bridge reconnections when using multiple bridge addresses.
+
+Client library:
+- Fix possible memory leak in C/C++ library when communicating with
+  a broker that doesn't follow the spec.
+- Block in Python loop_stop() until all messages are sent, as the
+  documentation states should happen.
+- Fix for asynchronous connections on Windows. Closes bug #1249202.
+- Module version is now available in mosquitto.py.
+
+Clients:
+- mosquitto_sub now uses fwrite() instead of printf() to output messages, so
+  messages with NULL characters aren't truncated.
+
+1.2.2 - 20131021
+================
+
+Broker:
+- Fix compliance with max_inflight_messages when a non-clean session client
+  reconnects. Closes one of the issues on bug #1237389.
+
+Client library:
+- Fix incorrect inflight message accounting, which caused messages to go
+  unsent. Partial fix for bug #1237351.
+- Fix potential memory corruption when sending QoS>0 messages at a high rate
+  using the threaded interface. Further fix for #1237351.
+- Fix incorrect delay scaling when exponential_backoff=true in
+  mosquitto_reconnect_delay_set().
+- Some pep8 fixes for Python.
+
+1.2.1 - 20130918
+================
+
+Broker:
+- The broker no longer ignores the auth_plugin_init() return value. Closes
+  bug #1215084.
+- Use RTLD_GLOBAL when opening authentication plugins on posix systems. Fixes
+  resolving of symbols in libraries used by authentication plugins.
+- Add/fix some config documentation.
+- Fix ACLs for topics with $SYS.
+- Clients loaded from the persistence file on startup were not being added to
+  the client hash, causing subtle problems when the client reconnected,
+  including ACLs failing. This has been fixed.
+- Add note to mosquitto-tls man page stating that certificates need to be
+  unique. Closes bug #1221285.
+- Fix incorrect retained message delivery when using wildcard subs in some
+  circumstances. Fixes bug #1226040.
+
+Client library:
+- Fix support for Python 2.6, 3.0, 3.1.
+- Fix TLS subjectAltName verification and segfaults.
+- Handle EAGAIN in Python on Windows. Closes bug #1220004.
+- Fix compilation when using WITH_TLS=no.
+- Don't fail reconnecting in Python when broker is temporarily unavailable.
+
+1.2 - 20130708
+==============
+
+Broker:
+- Replace O(n) username lookup on CONNECT with a roughly O(1) hashtable version.
+- It is now possible to disable $SYS at compile time.
+- Add dropped publish messages to load tree in $SYS. Closes bug #1183318.
+- Add support for logging SUBSCRIBE/UNSUBSCRIBE events.
+- Add "log_dest file" logging support.
+- Auth plugin ACL check function now passes the client id as well as username
+  and password.
+- The queue_qos0_messages option wasn't working correctly, this has now been
+  fixed. Closes bug #1125200.
+- Don't drop all messages for disconnected durable clients when
+  max_queued_messages=0.
+- Add support for "log_type all".
+- Add support for "-v" option on the command line to provide the equivalent of
+  "log_type all" without needing a config file.
+- Add the "upgrade_outgoing_qos" option, a non-standard feature.
+- Persistence data is now written to a temporary file which is atomically
+  renamed on completion, so a crash during writing will not produce a corrupt
+  file.
+- mosquitto.conf is now installed as mosquitto.conf.example
+- Configuration file errors are now reported with filename and line number.
+- The broker now uses a monotonic clock if available, to avoid changes in time
+  causing client disconnections or message retries.
+- Clean session and keepalive status are now display the log when a client
+  connects.
+- Add support for TLSv1.2 and TLSv1.1.
+- Clients that connect with zero length will topics are now rejected.
+- Add the ability to set a maximum allowed PUBLISH payload size.
+- Fix an ACL with topic "#" incorrectly granting access to $SYS.
+- Fix retained messages incorrectly being set on wildcard topics, leading to
+  duplicate retained messages being sent on subscription. Closes bug #1116233.
+- Don't discard listener values when no "port" option given. Closes bug
+  #1131406.
+- Client password check was always failing when security was being reapplied
+  after a config reload. This meant that all clients were being disconnected.
+  This has been fixed.
+- Fix build when WITH_TLS=no. Closes bug #1174971.
+- Fix single outgoing packets not being sent in a timely fashion if they were
+  not sent in one call to write(). Closes bug #1176796.
+- Fix remapping of messages for clients connected to a listener with
+  mount_point set. Closes bug #1180765.
+- Fix duplicate retained messages being sent for some wildcard patterns.
+- If a client connects with a will topic to which they do not have write
+  access, they are now disconnected with CONNACK "not authorised".
+- Fix retained messages on topic foo being incorrectly delivered to
+  subscriptions of /#
+- Fix handling of SSL errors on SSL_accept().
+- Fix handling of QoS 2 messages on client reconnect.
+- Drop privileges now sets supplementary groups correctly.
+- Fix load reporting interval (is now 60s).
+- Be strict with malformed PUBLISH packets - clients are now disconnected
+  rather than the packet discarded. This goes inline with future OASIS spec
+  changes and makes other changes more straightforward.
+- Process incoming messages denied by ACL properly so that clients don't keep
+  resending them.
+
+- Add support for round_robin bridge option.
+- Add bridge support for verifying remote server certificate subject against
+  the remote hostname.
+- Fix problem with out of order calls to free() when restarting a lazy bridge.
+- The broker now attempts to resolve bind_address and bridge addresses
+  immediately when parsing the config file in order to detect invalid hosts.
+- Bridges now set their notification state before attempting to connect, so if
+  they fail to connect the state can still be seen.
+- Fix bridge notification payload length - no need to send a null byte.
+
+- mosquitto_passwd utility now reports errors more clearly.
+- Fix "mosquitto_passwd -U".
+
+Client library:
+- Add support for TLSv1.2 and TLSv1.1, except for on the Python module.
+- Add support for verifying remote server certificate subject against the
+  remote hostname.
+- Add mosquitto_reconnect_async() support and make asynchronous connections
+  truely asynchronous rather than simply deferred. DNS lookups are still
+  blocking, so asynchronous connections require an IP address instead of
+  hostname.
+- Allow control of reconnection timeouts in mosquitto_loop_forever() and after
+  mosquitto_loop_start() by using mosquitto_reconnect_delay_set().
+- Fix building on Android NDK.
+- Re-raise unhandled errors in Python so as not to provide confusing error
+  messages later on.
+- Python module supports IPv6 connections.
+- mosquitto_sub_topic_tokenise() was behaving incorrectly if the last topic
+  hierarchy had only a single character. This has been fixed. Closes bug
+  #1163348.
+- Fix possible crash after disconnects when using the threaded interface with
+  TLS.
+- Allow build/install without Python. Closes bug #1174972.
+- Add support for binding connection to a local interface.
+- Implement maximum inflight messages handling.
+- Fix Python client not handling will_payload==None.
+- Fix potential memory leak when setting username/password.
+- Fix handling of QoS 2 messages on reconnect.
+- Improve handling of mosquitto_disconnect() with threaded mode.
+
+
+Clients:
+- Add support for TLSv1.2 and TLSv1.1.
+- Sub client can now suppress printing of messages with the retain bit set.
+- Add support for binding connection to a local interface.
+- Implement maximum inflight messages handling for the pub client.
+
+1.1.3 - 20130211
+================
+
+Broker:
+- mosquitto_passwd utility now uses tmpfile() to generate its temporary data
+  storage file. It also creates a backup file that can be used to recover data
+  if an errors occur.
+
+Other:
+- Build script fixes to help packaging on Debian.
+
+1.1.2 - 20130130
+================
+
+Client library:
+- Fix tls_cert_reqs not being set to SSL_VERIFY_PEER by default. This meant
+  that clients were not verifying the server certificate when connecting over
+  TLS. This affects the C, C++ and Python libraries.
+
+1.1.1 - 20130116
+================
+
+Broker:
+- Fix crash on reload if using acl patterns.
+
+Client library:
+- Fix static C++ functions not being exported on Windows. Fixes bug #1098256.
+
+1.1 - 20121219
+==============
+
+Broker:
+- Add $SYS/broker/messages/dropped
+- Add $SYS/broker/clients/expired
+- Replace $SYS/broker/+/per second/+ with moving average versions published at
+  $SYS/broker/load/#
+- Add $SYS/broker/load/sockets/+ and $SYS/broker/load/connections/+
+- Documentation on password file format has been fixed.
+- Disable SSL compression. This reduces memory usage significantly and removes
+  the possibility of CRIME type attacks.
+- Enable SSL_MODE_RELEASE_BUFFERS mode to reduce SSL memory usage further.
+- Add allow_duplicate_messages option.
+- ACL files can now have comment lines with # as the first character.
+- Display message on startup about which config is being loaded.
+- Fix max_inflight_messages and max_queued_messages not being applied.
+- Fix documentation error in mosquitto.conf.
+- Ensure that QoS 2 queued messages are sent out in a timely manner.
+- Local bridges now act on clean_session correctly.
+- Local bridges with clean_session==false now remove unused subscriptions on
+  broker restart.
+- The $SYS/broker/heap/# messages now no longer include "bytes" as part of the
+  string for ease of use.
+
+Client library:
+- Free memory used by OpenSSL in mosquitto_lib_cleanup() where possible.
+- Change WebSocket subprotocol name to mqttv3.1 to make future changes easier
+  and for compatibility with other implementations.
+- mosquitto_loop_read() and mosquitto_loop_write() now handle errors
+  themselves rather than having mosquitto_loop() handle their errors. This
+  makes using them in a separate event loop more straightforward.
+- Add mosquitto_loop_forever() / loop_forever() function call to make simple
+  clients easier.
+- Disable SSL compression. This reduces memory usage significantly and removes
+  the possibility of CRIME type attacks.
+- Enable SSL_MODE_RELEASE_BUFFERS mode to reduce SSL memory usage further.
+- mosquitto_tls_set() will now return an error or raise an exception
+  immediately if the CA certificate or client certificate/key cannot be
+  accessed.
+- Fix potential memory leaks on connection failures.
+- Don't produce return error from mosquitto_loop() if a system call is
+  interrupted. This prevents disconnects/reconnects in threaded mode and
+  simplifies non-threaded client handling.
+- Ignore SIGPIPE to prevent unnecessary client quits in threaded mode.
+- Fix document error for mosquitto_message_retry_set().
+- Fix mosquitto_topic_matches_sub() for subscriptions with + as the final
+  character. Fixes bug #1085797.
+- Rename all "obj" parameters to "userdata" for consistency with other
+  libraries.
+- Reset errno before network read/write to ensure EAGAIN isn't mistakenly
+  returned.
+- The message queue length is now tracked and used to determine the maximum
+  number of packets to process at once. This removes the need for the
+  max_packets parameter which is now unused.
+- Fix incorrect error value in Python error_string() function. Fixes bug
+  #1086777.
+- Reset last message in/out timer in Python module when we send a PINGREQ.
+  Fixes too-early disconnects.
+
+Clients:
+- Clients now display their own version number and library version number in
+  their help messages.
+- Fix "mosquitto_pub -l -q 2" disconnecting before all messages were
+  transmitted.
+- Fix potential out-of-bounds array access with client ids. Fixes bug
+  #1083182.
+
+Other:
+- mosquitto_passwd can now convert password files with plain text files to
+  hashed versions.
+
+1.0.5 - 20121103
+================
+
+Broker:
+- Fix crash when the broker has use_identity_as_username set to true but a
+  client connects without a certificate.
+- mosquitto_passwd should only be installed if WITH_TLS=yes.
+
+Library:
+- Use symbolic errno values rather than numbers in Python module to avoid
+  cross platform issues (incorrect errno on Mac OS).
+
+Other:
+- Build script fixes for FreeBSD.
+
+1.0.4 - 20121017
+================
+
+Broker:
+- Deal with poll() POLLIN/POLLOUT before POLL[RD]HUP to correctly handle the
+  case where a client sends data and immediately closes its socket.
+
+Library:
+- Fix memory leak with messages of QoS=2. Fixes bug #1064981.
+- Fix potential thread synchronisation problem with outgoing packets in the
+  Python module. Fixes bug #1064977.
+
+Clients:
+- Fix "mosquitto_sub -l" incorrectly only sending one message per second.
+
+1.0.3 - 20120927
+================
+
+Broker:
+- Fix loading of psk files.
+- Don't return an error when reloading config if an ACL file isn't defined.
+  This was preventing psk files being reloaded.
+- Clarify meaning of $SYS/broker/clients/total in mosquitto(8) man page.
+- Clarify meaning of $SYS/broker/messages/stored in mosquitto(8) man page.
+- Fix non-retained message delivery when subscribing to #.
+- Fix retained message delivery for subs to foo/# with retained messages at
+  foo.
+- Include the filename in password/acl file loading errors.
+
+Library:
+- Fix possible AttributeError when self._sock == None in Python module.
+- Fix reconnecting after a timeout in Python module.
+- Fix reconnecting when there were outgoing packets in the queue in the Python
+  module.
+- Fix problem with mutex initialisation causing crashes on some Windows
+  installations.
+
+1.0.2 - 20120919
+================
+
+Broker:
+- If the broker was configured for persistence, a durable client had a
+  subscription to topics in $SYS/# and had messages in its queue when the
+  broker restarted, then the persistent database would have messages missing
+  and so the broker would not restart properly. This has been fixed.
+
+Library:
+- Fix threading problem on some systems.
+
+Tests:
+- Close socket after 08-ssl-connect-no-auth-wrong-ca.py test to prevent
+  subsequent tests having problems.
+
+Build scripts:
+- Install pskfile.example in CMake. Fixes bug #1037504.
+
+Other:
+- Fix db_dump parameter printing message store and sub chunks.
+
+1.0.1 - 20120815
+================
+
+Broker:
+- Fix default log_dest when running as a Windows service.
+
+Client library:
+- Fix incorrect parameters in Python on_log() callback call. Fixes bug
+  #1036818.
+
+Clients:
+- Clients now don't display TLS/TLS-PSK usage help if they don't support it.
+
+Build scripts:
+- Fix TLS-PSK support in the CMake build files.
+- Fix man page installation in the CMake build files.
+- Fix SYSCONFDIR in cmake on *nix when installing to /usr. Fixes bug #1036908.
+
+Documentation:
+- Fix mqtt/MQTT capitalisation in man pages.
+- Update compiling.txt.
+- Fix incorrect callback docs in mosquitto.py. Fixes bug #1036607.
+- Fix various doc typos and remove obsolete script. Fixes bug #1037088.
+
+1.0 - 20120814
+==============
+
+Broker:
+
+- Add SSL/TLS support.
+- Add TLS-PSK support, providing a simpler encryption method for constrained
+  devices.
+- Passwords are now salted+hashed if compiled with WITH_TLS (recommended).
+- Add mosquitto_passwd for handling password files.
+- Add $SYS/broker/publish/messages/{sent|received} to show the number of
+  PUBLISH messages sent/received.
+- Add $SYS/broker/publish/bytes/{sent|received} to show the number of
+  PUBLISH bytes sent/received.
+- Add reload parameter for security init/cleanup functions.
+- Add option for expiring disconnected persistent clients.
+- Add option for queueing of QoS 0 messages when persistent clients are
+  disconnected.
+- Enforce client id limits in the broker (only when WITH_STRICT_PROTOCOL is
+  defined).
+- Fix reloading of log configuration.
+- Add support for try_private config option for bridge connections.
+- Add support for autosave_on_changes config option.
+- Add support for include_dir config option.
+- Add support for topic remapping.
+- Usernames were being lost when a non clean-session client reconnected,
+  potentially causing problems with ACLs. This has been fixed.
+- Significant improvement to memory handling on Windows.
+- Bridges with outgoing topics will now set the retain flag correctly so that
+  messages will be retained on the remote broker.
+- Incoming bridge connections are now detected by checking if bit 8 of the
+  protocol version number is set. This requires support from the remote broker.
+- Add support for notification_topic option.
+- Add $SYS/broker/subscriptions/count and $SYS/broker/retained messages/count.
+- Add restart_timeout to control the amount of time an automatic bridge will
+  wait before reconnecting.
+- Overlapping subscriptions are now handled properly. Fixes bug #928538.
+- Fix reloading of persistence_file and persistence_location.
+- Fix broker crash on incorrect protocol number.
+- Fix missing COMPAT_ECONNRESET define on Windows.
+- Clients that had disconnected were not always being detected immediately on
+  Linux. This has been fixed.
+- Don't save $SYS messages to the on-disk persistent db. All $SYS messages
+  should be reconstructed on a restart. This means bridge connection
+  notifications will now be correct on a restart.
+- Fix reloading of bridge clients from the persistent db. This means that
+  outgoing bridged topics should always work.
+- Local bridges are now no longer restricted by local ACLs.
+- Discard publish messages with zero length topics.
+- Drop to "mosquitto" user even if no config file specified.
+- Don't incorrectly allow topic access if ACL patterns but no normal ACL rules
+  are defined.
+
+Client library:
+
+- Add SSL/TLS support.
+- Add TLS-PSK support, providing a simpler encryption method for constrained
+  devices.
+- Add javascript/websockets client library.
+- Add "struct mosquitto *mosq" parameter for all callbacks in the client
+  library. This is a binary incompatible change so the soversion of the
+  libraries has been incremented. The new parameter should make it easier to
+  use callbacks in practice.
+- Add mosquitto_want_write() for use when using own select() loop with
+  mosquitto_socket().
+- Add mosquitto_connect_async() to provide a non-blocking connect client call.
+- Add mosquitto_user_data_set() to allow user data pointer to be updated.
+- Add "int rc" parameter to disconnect callback to indicate whether disconnect
+  was unexpected or the result of calling mosquitto_disconnect().
+- Add mosquitto_strerror() for obtaining a string description of error numbers.
+- Add mosquitto_connack_string() for obtaining a string description of MQTT
+  connection results.
+- Add mosquitto_will_clear() and change mosquitto_will_set() to only set the
+  will.
+- Add mosquitto_sub_topic_tokenise() and mosquitto_sub_topic_tokens_free()
+  utility functions to tokenise a subscription/topic string into a string
+  array.
+- Add mosquitto_topic_matches_sub() to check whether a topic matches a
+  subscription.
+- Replaced mosquitto_log_init() with mosquitto_log_callback_set() to allow
+  clients to decide what to do with log messages.
+- Client will now disconnect itself from the broker if it doesn't receive a
+  PINGRESP in the keepalive period after sending a PINGREQ.
+- Client will now send a PINGREQ if it has not received a message from the
+  broker in keepalive seconds.
+- mosquitto_new() will now generate a random client id if the id parameter is
+  NULL.
+- Added max_packets to mosquitto_loop(), mosquitto_loop_read() and
+  mosquitto_loop_write() to control the maximum number of packets that are
+  handled per call.
+- Payload parameters are now void * instead of uint8_t *.
+- The clean_session parameter has been moved from mosquitto_connect() to
+  mosquitto_new() because it is a client parameter rather than a connection
+  parameter.
+- Functions now use int instead of uint*_t where possible.
+- mosquitto_new() now sets errno to indicate failure type.
+- Return MOSQ_ERR_INVAL on zero length topic.
+- Fix automatic client id generation on Windows.
+- mosquitto_loop_misq() can now return MOSQ_ERR_NO_CONN.
+- Compile static library as well as dynamic library with default makefiles.
+- Rename C++ namespace from mosquittopp to mosqpp to remove ambiguity.
+- C++ lib_init(), lib_version() and lib_cleanup() are now in the mosqpp
+  namespace directly, not mosquittopp class members.
+- The Python library is now written in pure Python and so no longer depends on
+  libmosquitto.
+- The Python library includes SSL/TLS support.
+- The Python library should now be compatible with Python 3.
+
+Other:
+
+- Fix db_dump reading of retained messages.
+- Add example of logging all messages to mysql.
+- Add C++ client example.
+- Fix potential buffer overflow in pub/sub clients.
+- Add "make binary" target that doesn't make documents.
+- Add "--help" arguments to pub/sub clients.
+- Fix building on Solaris.
+
+0.15 - 20120205
+===============
+
+- Add support for $SYS/broker/clients/maximum and $SYS/broker/clients/active
+  topics.
+- Add support for $SYS messages/byte per second received/sent topics.
+- Updated mosquitto man page - $SYS hierarchy and signal support were out of
+  date.
+- Auto generated pub/sub client ids now include the hostname.
+- Tool for dumping persistent DB contents is available in src/db_dump. It isn't
+  installed by default.
+- Enforce topic length checks in client library.
+- Implement "once" and "lazy" bridge start types.
+- Add new return type MOSQ_ERR_ERRNO to indicate that the errno variable should
+  be checked for the real error code.
+- Add support for connection_messages config option.
+- mosquitto_sub will now refuse to run if the -c option (disable clean session)
+  is given and no client id is provided.
+- mosquitto_pub now gives more useful error messages on invalid input or other
+  error conditions.
+- Fix Python will_set() true/True typo.
+- Fix messages to topic "a/b" incorrectly matching on a subscription "a" if
+  another subscription "a/#" exists.
+
+0.14.4 - 20120106
+=================
+
+- Fix local bridge notification messages.
+- Fix return values for more internal library calls.
+- Fix incorrect out of memory checks in library and broker.
+- Never time out local bridge connections.
+
+0.14.3 - 20111210
+=================
+
+- Fix potential crash when client connects with an invalid CONNECT packet.
+- Fix incorrect invalid socket comparison on Windows.
+- Server shouldn't crash when a message is published to foo/ when a
+  subscription to foo/# exists (bug #901697).
+- SO_REUSEADDR doesn't work the same on Windows, so don't use it.
+- Cygwin builds now support Windows service features.
+- Fix $SYS/broker/bytes/sent reporting.
+
+0.14.2 - 20111123
+=================
+
+- Add uninstall target for libs.
+- Don't try to write packet whilst in a callback.
+
+0.14.1 - 20111117
+=================
+
+- Fix Python sytax errors (bug #891673).
+
+0.14 - 20111116
+===============
+
+- Add support for matching ACLs based on client id and username.
+- Add a Windows installer file (NSIS based).
+- Add native support for running the broker as a Windows service. This is the
+  default when installed using the new installer.
+- Fix client count for listeners. When clients disconnect, decrement the
+  count. Allow max_connections to work again.
+- Attempt to send all packets immediately upon being queued. This will result
+  in more immediate network communication in many cases.
+- Log IP address when reporting CONNACK packets if the client id isn't yet
+  known.
+- Fix payload length calculation in python will_set function.
+- Fix Python publish and will_set functions for payload=None.
+- Fix keepalive value being lost when reconnecting a client (bug #880863).
+- Persistence file writing now uses portable file functions, so the Cygwin
+  broker build should no longer be necessary.
+- Duplicate code between the client and broker side has been reduced.
+- Queued messages for clients reconnecting with clean_session=false set were
+  not being sent until the next message for that client was received. This has
+  been fixed (bug #890724).
+- Fix subscriptions to # incorrectly matching against topics beginning with /
+
+0.13 - 20110920
+===============
+
+- Implement bridge state notification messages.
+- Save client last used mid in persistent database (DB version number bumped).
+- Expose message id in Python MosquittoMessage.
+- It is now possible to set the topic QoS level for bridges.
+- Python MosquittoMessage payload parameter is now a Python string, not a
+  ctypes object which makes it much easier to use.
+- Fix queueing of messages for disconnected clients. The max_queued_messages
+  option is now obeyed.
+- C++ library is now in its own namespace, mosquittopp.
+- Add support for adding log message timestamps in the broker.
+- Fix missing mosquitto_username_pw_set() python binding.
+- Fix keepalive timeout for reconnecting non clean-session clients. Prevents
+  immediate disconnection on reconnection.
+- Fix subscription wildcard matching - a subscription of +/+ will now match
+  against /foo
+- Fix subscription wildcard matching - a subscription of foo/# will now match
+  against foo
+- When restoring persistent database, clients should be set to non
+  clean-session or their subscriptions will be immediately removed.
+- Fix SUBACK payload for multiple topic subscriptions.
+- Don't send retained messages when a client subscribes to a topic it is
+  already subscribed to.
+
+0.12 - 20110725
+===============
+
+- Reload (most) configuration on SIGHUP.
+- Memory tracking is no longer compiled in the client library.
+- Add --help option to mosquitto to display usage.
+- Add --id-prefix option to clients to allow easier use with brokers that are
+  using the clientid_prefix option.
+- Fix compilation on QNX.
+- Add -P as a synonym argument for --pw in the clients.
+- Fix python MosquittoMessage payload parameter. This is now returned as a
+  pointer to an array of c_uint8 values so binary data is handled correctly.
+  If a string is needed, use msg.payload_str
+- Fix memory leaks on client authentication.
+- If password_file is not defined then clients can now connect even if they
+  use a username/password.
+- Add mosquitto_reconnect() to the client library.
+- Add option for compiling with liberal protocol compliance support (enabled
+  by default).
+- Fix problems with clients reconnecting and old messages remaining in the
+  message store.
+- Display both ip and client id in the log message when a client connects.
+  Change the socket connection message to make it more obvious that it is just
+  a socket connection being made (bug #801135).
+- Fix retained message delivery where a subscription contains a +.
+- Be more lenient when reloading persistent database to reduce errors with
+  empty retained messages.
+
+0.11.3 - 20110707
+=================
+
+- Don't complain and quit if persistence_file option is given (bug #802423).
+- Initialise listeners correctly when clients with duplicate client ids
+  connect. Bug #801678.
+- Memory tracking is now disabled for Symbian builds due to lack of malloc.h.
+- Fix memory tracking compilation for kFreeBSD.
+- Python callbacks can now be used with class member functions.
+- Fix persistent database writing of client message chunks which caused
+  errors when restoring (bug #798164).
+
+0.11.2 - 20110626
+=================
+
+- Don't free contexts in mqtt3_context_disconnect() (bug #799688 / #801678).
+- Only free will if present when freeing a client context.
+
+0.11.1 - 20110620
+=================
+
+- Fix buffer overrun when checking for + and # in topics (bug #799688).
+- Pub client now quits if publish fails.
+
+0.11 - 20110619
+===============
+
+- Removed all old sqlite code.
+- Remove client id limit in clients.
+- Implemented $SYS/broker/heap/maximum size
+- Implemented $SYS/broker/clients/inactive to show the number of disconnected
+  non-clean session clients.
+- $SYS/broker/heap/current size and maximum size messages now include "bytes"
+  to match rsmb message format.
+- Implemented the retained_persistence config file option - a synonym of the
+  "persistence" option.
+- Added security_external.c to broker source to make it easier for third
+  parties to add support for their existing username/password and ACL database
+  for security checks. See external_security_checks.txt.
+- $SYS messages are now only republished when their value changes.
+- Windows native broker now responds to command line arguments.
+- Simplify client disconnecting so wills gets sent in all cases (bug #792468).
+- Clients now have a --quiet option.
+- The on_disconnect() callback will always be called now, even if the client
+  has disconnected unexpectedly.
+- Always close persistent DB file after restoring.
+- Return error code when exiting the clients.
+- mosquitto_publish() now returns MOSQ_ERR_INVAL if the topic contains + or #
+- mosquitto now silently rejects published messages with + or # in the topic.
+- max_connections is now a per-listener setting instead of global.
+- Connection count is now reduced when clients disconnect (bug #797983).
+
+0.10.2 - 20110106
+=================
+
+- Don't abort when connecting if the first connection fails. This is important
+  on e.g. Windows 7, where IPV6 is offered as the first choice but may not be
+  available.
+- Deal with long logging messages properly (bug #785882).
+- Fix library compilation on Symbian - no pselect() available.
+- Don't stop processing subscriptions on received messages after a
+  subscription with # matches. (bug #791206).
+
+0.10.1 - 20110512
+=================
+
+- Fix Windows compilation.
+- Fix mosquitto.py on Windows - call lib init/cleanup.
+- Don't abort when connecting if given an unknown address type (assuming an
+  IPv4 or IPv6 address is given).
+
+0.10 - 20110429
+===============
+
+- Implement support for the password_file option and accompanying
+  authentication requirements in the broker.
+- Implement topic Access Control Lists.
+- mosquitto_will_set() and mosquitto_publish() now return
+  MOSQ_ERR_PAYLOAD_SIZE if the payload is too large (>268,435,455 bytes).
+- Bridge support can now be disabled at compile time.
+- Group together network writes for outgoing packets - don't send single byte
+  writes!
+- Add support for clientid_prefixes variable.
+- Add support for the clientid config variable for controlling bridge client
+  ids.
+- Remove 32-bit database ID support because htobe64() no longer used.
+- Multiple client subscriptions to the same topic result in only a single
+  subscription. Bug #744077.
+
+0.9.3 - 20110310
+================
+
+- Set retained message status for QoS 2 messages (bug #726535).
+- Only abort with an error when opening listening sockets if no address family
+  is available, rather than aborting when any address family is not available.
+- Don't clean queued messages when a non clean session client reconnects.
+- Make mosquitto.py compatible with Python <2.6.
+- Fix mosquitto.h header includes for Windows.
+
+0.9.2 - 20110208
+================
+
+- Only send a single DISCONNECT command when using -l in the pub client.
+- Set QoS=1 on PUBREL commands to meet protocol spec.
+- Don't leak sockets on connection failure in the library.
+- Install man pages when building under cmake.
+- Fix crash bug on malformed CONNECT message.
+- Clients are now rejected if their socket peer name cannot be obtained on
+  connection.
+- Fix a number of potential problems caused when a client with a duplicate id
+  connects.
+- Install mosquitto.conf under cmake.
+
+0.9.1 - 20101203
+================
+
+- Add missing code for parsing the "bind_address" configuration option.
+- Fix missing include when compiling with tcp-wrappers support.
+- Add linker version script for C library to control exported functions.
+
+0.9 - 20101114
+==============
+
+- Client and message data is now stored in memory with custom routines rather
+  than a sqlite database. This removes the dependencies on sqlite, pcre and
+  sqlite3-pcre. It also means that the persistent database format has had to
+  be reimplemented in a custom format. Optional support for importing old
+  sqlite databases is provided.
+- Added IPv6 support for mosquitto and the clients.
+- Provide username and password support for the clients and client libraries.
+  This is part of the new MQTT v3.1 spec.
+- The broker supports the username and password connection flags, but will not
+  do anything with the username and password.
+- Python callback functions now optionally take an extra argument which will
+  return the user object passed to the Mosquitto() constructor, or the calling
+  python object itself if nothing was given to Mosquitto().
+- Remove the mosquitto command line option "-i interface".
+- Remove the mosquitto.conf "interface" variable.
+- Add support for the listener config variable (replaces the interface
+  variable)
+- Add support for the bind_address config variable.
+- Change the port config variable behaviour to match that of rsmb (applies to
+  the default listener only, can be given just once).
+- Fix QoS 2 protocol compliance - stop sending duplicate messages and handle
+  timeouts correctly. Fixes bug #598290.
+- Set retain flag correctly for outgoing messages. It should only be set for
+  messages sent in response to a subscribe command (ie. stale data).
+- Fix bug in returning correct CONNACK result to on_connect client callback.
+- Don't send client will if it is disconnected for exceeding its keepalive
+  timer.
+- Fix client library unsubscribe function incorrectly sending a SUBSCRIBE
+  command when it should be UNSUBSCRIBE.
+- Fix max_inflight_messages and max_queued_messages operation. These
+  parameters now apply only to QoS 1 and 2 messages and are used regardless of
+  the client connection state.
+- mosquitto.conf now installed to /etc/mosquitto/mosquitto.conf instead of
+  /etc/mosquitto.conf. The /etc/mosquitto/ directory will be used for password
+  and access control files in the future.
+- Give the compile time option of using 32-bit integers for the database IDs
+  instead of 64-bit integers. This is useful where htobe64()/be64toh() are not
+  available or for embedded systems for example.
+- The DUP bit is now set correctly when resending PUBREL messages.
+- A port to Windows native has been partially completed. This currently drops a
+  number of features, including the ability to change configuration parameters
+  and persistent storage.
+
+0.8.3 - 20101004
+================
+
+- Fix QoS 2 protocol compliance - stop sending duplicate messages and handle
+  timeouts correctly. Fixes bug #598290. (backported from future 0.9 code)
+
+0.8.2 - 20100815
+================
+
+- Fix default loop() timeout value in mosquitto.py. Previous value was 0,
+  causing high cpu load.
+- Fix message handling problem in client library when more than one message was
+  in the client queue.
+- Fix the logic used to determine whether a QoS>0 message needs to be retried.
+- Fix the Python sub.py example so that it quits on error.
+
+0.8.1 - 20100812
+================
+
+- Improve python interface
+- Fix incorrect return value from message delete function
+- Use logging function to print error messages in clients.
+- Fix python installation script DESTDIR.
+- Fix library destination path for 64-bit machines.
+
+0.8 - 20100807
+==============
+
+- Topics starting with a / are treated as distinct to those not starting with
+  a /. For example, /topic/path is different to topic/path. This matches the
+  behaviour of rsmb.
+- Correctly calculate the will QoS on a new client connection (bug #597451).
+- Add "addresses" configuration file variable as an alias of "address", for
+  better rsmb compatibility.
+- Bridge clean_session setting is now false, to give more sensible behaviour
+  and be more compatible with rsmb.
+- Add cleansession variable for configuring bridges.
+- Add keepalive_interval variable for bridges.
+- Remove default topic subscription for mosquitto_sub because the old
+  behaviour was too confusing.
+- Added a C client library, which the pub and sub clients now use.
+- Added a C++ client library (bound to the C library).
+- Added a Python client library (bound to the C library).
+- Added CMake build scripts to allow the library and clients (not the broker)
+  to be compiled natively on Windows.
+
+0.7 - 20100615
+==============
+
+- mosquitto_pub can now send null (zero length) messages.
+- Don't store QoS=0 messages for disconnected clients with subscriptions of
+  QoS>0.
+- accept() all available sockets when new clients are connecting, rather than
+  just one.
+- Add option to print debug messages in pub and sub clients.
+- hg revision is now exported via $SYS/broker/changeset
+- Send Will when client exceeds keepalive timer and is disconnected.
+- Check to see if a client has a will before sending it.
+- Correctly deal with clients connecting with the same id multiple times.
+- Add compile time option to disable heap memory tracking.
+- Use poll() instead of select() to allow >1024 clients.
+- Implement max_connections.
+- Run VACUUM on in-memory database on receiving SIGUSR2.
+- Fix bridge keepalive timeouts and reconnects.
+- Don't attempt to drop root privileges when running on Windows as this isn't
+  well supported (bug #586231).
+
+0.6.1 - 20100506
+================
+
+- Fix DB auto upgrade for messages table.
+
+0.6 - 20100505
+==============
+
+- Basic support for connecting multiple MQTT brokers together (bridging).
+- mosquitto_sub can now subscribe to multiple topics (limited to a global QoS).
+- mosquitto_pub can now send a file as a message.
+- mosquitto_pub can now read all of stdin and send it as a message.
+- mosquitto_pub can now read stdin and send each line as a message.
+- mosquitto will now correctly run VACUUM on the persistent database on exit.
+- Implement a more efficient database design, so that only one copy of each
+  message is held in the database, rather than one per subscribed client.
+- Add the store_cleanup_interval config option for dealing with the internal
+  message store.
+- Add support for disabling "clean session" for the sub client.
+- Add support for automatic upgrading of the mosquitto DB from v1 to v2.
+- Add persistence_file config option to allow changing the filename of the
+  persistence database. This allows multiple mosquitto DBs to be stored in the
+  same location whilst keeping persistence_location compatible with rsmb.
+- Don't store QoS=0 messages for disconnected clients. Fixes bug #572608. This
+  wasn't correctly fixed in version 0.5.
+- Don't disconnect clients if they send a PUBLISH with zero length payload
+  (bug #573610).
+- If a retained message is received with a zero length payload, the retained
+  message for that topic is deleted.
+- Send through zero length messages.
+- Produce a warning on unsupported rsmb options instead of quitting.
+- Describe clean session flag in the mqtt man page.
+- Implement the max_inflight_messages and max_queued_messages features in the
+  broker.
+
+0.5.4 - 20100311
+================
+
+- Fix memory allocation in mqtt3_fix_sub_topic() (bug #531861).
+- Remove accidental limit of 100 client connections.
+- Fix mosquitto_pub handling of messages with QoS>0 (bug #537061).
+
+0.5.3 - 20100303
+================
+
+- Will messages are now only sent when a client disconnects unexpectedly.
+- Fix all incoming topics/subscriptions that start with a / or contain
+  multiple / in a row (//).
+- Do actually disconnect client when it sends an empty subscription/topic string.
+- Add missing $SYS/broker/clients/total to man page.
+
+0.5.2 - 20100302
+================
+
+- Always update last backup time, so that the backup doesn't run every time
+  through the main loop once autosave_interval has been reached.
+- Report $SYS/broker/uptime in the same format as rsmb.
+- Make mandatory options obvious in usage output and man page of mosquitto_pub.
+  Fixes bug #529990.
+- Treat subscriptions with a trailing slash correctly. This should fix bugs
+  #530369 and #530099.
+
+0.5.1 - 20100227
+================
+
+- Must daemonise before pid file is written.
+
+0.5 - 20100227
+==============
+
+- No longer store QoS=0 messages for disconnected clients that do not have
+  clean start set.
+- Rename msg_timeout option to retry_interval for better rsmb compatibility.
+- Change persistence behaviour. The database is now stored in memory even if
+  persistence is enabled. It is written to disk when mosquitto exits and also at
+  periodic intervals as defined by the new autosave_interval option.
+- The writing of the persistence database may be forced by sending mosquitto
+  the SIGUSR1 signal.
+- Clients that do not send CONNECT as their first command are now
+  disconnected.
+- Boolean configuration values may now be specified with true/false as well as
+  1/0.
+- Log message on CONNECT with invalid protocol or protocol version.
+- Default sqlite3-pcre path on Linux is now /usr/lib/sqlite3/pcre.so to match
+  future sqlite3-pcre packages.
+- Add mosquitto_sub and mosquitto_pub, simple clients for subscribe/publish.
+- Add man pages for clients.
+- Add general man page on mqtt.
+- Root privileges are now dropped only after attempting to write a pid file
+  (if configured). This means that the pid file can be written to /var/run/
+  directly and should fix bug #523183.
+
+0.4.2 - 20100203
+================
+
+- Fix segfault on client connect with invalid protocol name/version.
+
+0.4.1 - 20100112
+===============
+
+- Fix regex used for finding retained messages to send on new subscription.
+
+0.4 - 20100105
+==============
+
+- Added support for wildcard subscriptions using + and #.
+- All network operations are now non-blocking and can cope with partial
+  packets, meaning that networking should be a lot more reliable.
+- Total messsages/bytes sent/received are now available in $SYS.
+- Improved logging information - use client ip address and id instead of
+  socket number.
+- Broker build timestamp is available in $SYS.
+- Keepalive==0 is now correctly treated as "never disconnect".
+- Fixed manpage installation.
+- Fixed incorrect $SYS hierarchy locations in documentation and code.
+- Debug type log messages are no longer sent to "topics".
+- Default logging destination no longer includes "topics" to prevent possible
+  error logging to the db before it is initialised.
+- Periodic $SYS messages can now be disabled.
+- stdout and stderr are flushed when logging to them to give more timely
+  updates.
+- dup is now set correctly when resending messages.
+- Database format bumped due to topic column naming fix.
+
+0.3 - 20091217
+==============
+
+- The port option in the configuration file and --port command line argument
+  may now be given any number of times to make mosquitto listen on multiple
+  sockets.
+- Add new config file and command line option "interface" to specify an
+  interface to listen on, rather than all interfaces.
+- Added host access control through tcp-wrappers support.
+- Set SO_REUSEADDR on the listening socket so restart is much quicker.
+- Added support for tracking current heap memory usage - this is published on
+  the topic "$SYS/broker/heap/current size"
+- Added code for logging to stderr, stdout, syslog and topics.
+- Added logging to numerous places - still plenty of scope for more.
+
+0.2 - 20091204
+==============
+
+- Replaced the command line option --foreground with --daemon, swapping the
+  default behaviour.
+- Added the command line option --config-file, to specify a config file to
+  load.  If this is not given, no config file is load and the default options
+  are used.
+- Added the command line option --port for specifying the port to listen on.
+  This overrides values in the config file.
+- Don't use persistence by default.
+- Default behaviour is now more sane when run by a normal user with no command
+  line options (combination of above changes).
+- Added option user to config file, defaulting to a value of mosquitto. If
+  this value isn't blank and mosquitto is started by root, then it will drop
+  privileges by changing to the user and its primary group. This replaces the
+  current behaviour of refusing to start if run by root.
+- Fix non-persistent mode, which would never work in the previous release.
+- Added information on default values of msg_timeout and sys_interval to the
+  mosquitto.conf man page. (closes bug #492045).

+ 2 - 0
EVSE/GPL/mosquitto-2.0.13/LICENSE.txt

@@ -0,0 +1,2 @@
+This project is dual licensed under the Eclipse Public License 2.0 and the
+Eclipse Distribution License 1.0 as described in the epl-v20 and edl-v10 files.

+ 476 - 0
EVSE/GPL/mosquitto-2.0.13/Makefile

@@ -0,0 +1,476 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local/fast
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+
+.PHONY : list_install_components/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# Special rule for the target test
+test:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
+	/usr/bin/ctest --force-new-ctest-process $(ARGS)
+.PHONY : test
+
+# Special rule for the target test
+test/fast: test
+
+.PHONY : test/fast
+
+# The main all target
+all: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles/progress.marks
+	$(MAKE) -f CMakeFiles/Makefile2 all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	$(MAKE) -f CMakeFiles/Makefile2 clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	$(MAKE) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	$(MAKE) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+#=============================================================================
+# Target rules for targets named libmosquitto
+
+# Build rule for target.
+libmosquitto: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 libmosquitto
+.PHONY : libmosquitto
+
+# fast build rule for target.
+libmosquitto/fast:
+	$(MAKE) -f lib/CMakeFiles/libmosquitto.dir/build.make lib/CMakeFiles/libmosquitto.dir/build
+.PHONY : libmosquitto/fast
+
+#=============================================================================
+# Target rules for targets named mosquittopp
+
+# Build rule for target.
+mosquittopp: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquittopp
+.PHONY : mosquittopp
+
+# fast build rule for target.
+mosquittopp/fast:
+	$(MAKE) -f lib/cpp/CMakeFiles/mosquittopp.dir/build.make lib/cpp/CMakeFiles/mosquittopp.dir/build
+.PHONY : mosquittopp/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_rr
+
+# Build rule for target.
+mosquitto_rr: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_rr
+.PHONY : mosquitto_rr
+
+# fast build rule for target.
+mosquitto_rr/fast:
+	$(MAKE) -f client/CMakeFiles/mosquitto_rr.dir/build.make client/CMakeFiles/mosquitto_rr.dir/build
+.PHONY : mosquitto_rr/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_sub
+
+# Build rule for target.
+mosquitto_sub: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_sub
+.PHONY : mosquitto_sub
+
+# fast build rule for target.
+mosquitto_sub/fast:
+	$(MAKE) -f client/CMakeFiles/mosquitto_sub.dir/build.make client/CMakeFiles/mosquitto_sub.dir/build
+.PHONY : mosquitto_sub/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_pub
+
+# Build rule for target.
+mosquitto_pub: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_pub
+.PHONY : mosquitto_pub
+
+# fast build rule for target.
+mosquitto_pub/fast:
+	$(MAKE) -f client/CMakeFiles/mosquitto_pub.dir/build.make client/CMakeFiles/mosquitto_pub.dir/build
+.PHONY : mosquitto_pub/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto
+
+# Build rule for target.
+mosquitto: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto
+.PHONY : mosquitto
+
+# fast build rule for target.
+mosquitto/fast:
+	$(MAKE) -f src/CMakeFiles/mosquitto.dir/build.make src/CMakeFiles/mosquitto.dir/build
+.PHONY : mosquitto/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_passwd
+
+# Build rule for target.
+mosquitto_passwd: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_passwd
+.PHONY : mosquitto_passwd
+
+# fast build rule for target.
+mosquitto_passwd/fast:
+	$(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build
+.PHONY : mosquitto_passwd/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_message_timestamp
+
+# Build rule for target.
+mosquitto_message_timestamp: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_message_timestamp
+.PHONY : mosquitto_message_timestamp
+
+# fast build rule for target.
+mosquitto_message_timestamp/fast:
+	$(MAKE) -f plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/build.make plugins/message-timestamp/CMakeFiles/mosquitto_message_timestamp.dir/build
+.PHONY : mosquitto_message_timestamp/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_payload_modification
+
+# Build rule for target.
+mosquitto_payload_modification: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_payload_modification
+.PHONY : mosquitto_payload_modification
+
+# fast build rule for target.
+mosquitto_payload_modification/fast:
+	$(MAKE) -f plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/build.make plugins/payload-modification/CMakeFiles/mosquitto_payload_modification.dir/build
+.PHONY : mosquitto_payload_modification/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_ctrl_dynsec.1
+
+# Build rule for target.
+mosquitto_ctrl_dynsec.1: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_ctrl_dynsec.1
+.PHONY : mosquitto_ctrl_dynsec.1
+
+# fast build rule for target.
+mosquitto_ctrl_dynsec.1/fast:
+	$(MAKE) -f man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/build.make man/CMakeFiles/mosquitto_ctrl_dynsec.1.dir/build
+.PHONY : mosquitto_ctrl_dynsec.1/fast
+
+#=============================================================================
+# Target rules for targets named mqtt.7
+
+# Build rule for target.
+mqtt.7: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mqtt.7
+.PHONY : mqtt.7
+
+# fast build rule for target.
+mqtt.7/fast:
+	$(MAKE) -f man/CMakeFiles/mqtt.7.dir/build.make man/CMakeFiles/mqtt.7.dir/build
+.PHONY : mqtt.7/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_ctrl.1
+
+# Build rule for target.
+mosquitto_ctrl.1: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_ctrl.1
+.PHONY : mosquitto_ctrl.1
+
+# fast build rule for target.
+mosquitto_ctrl.1/fast:
+	$(MAKE) -f man/CMakeFiles/mosquitto_ctrl.1.dir/build.make man/CMakeFiles/mosquitto_ctrl.1.dir/build
+.PHONY : mosquitto_ctrl.1/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_passwd.1
+
+# Build rule for target.
+mosquitto_passwd.1: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_passwd.1
+.PHONY : mosquitto_passwd.1
+
+# fast build rule for target.
+mosquitto_passwd.1/fast:
+	$(MAKE) -f man/CMakeFiles/mosquitto_passwd.1.dir/build.make man/CMakeFiles/mosquitto_passwd.1.dir/build
+.PHONY : mosquitto_passwd.1/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto-tls.7
+
+# Build rule for target.
+mosquitto-tls.7: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto-tls.7
+.PHONY : mosquitto-tls.7
+
+# fast build rule for target.
+mosquitto-tls.7/fast:
+	$(MAKE) -f man/CMakeFiles/mosquitto-tls.7.dir/build.make man/CMakeFiles/mosquitto-tls.7.dir/build
+.PHONY : mosquitto-tls.7/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_pub.1
+
+# Build rule for target.
+mosquitto_pub.1: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_pub.1
+.PHONY : mosquitto_pub.1
+
+# fast build rule for target.
+mosquitto_pub.1/fast:
+	$(MAKE) -f man/CMakeFiles/mosquitto_pub.1.dir/build.make man/CMakeFiles/mosquitto_pub.1.dir/build
+.PHONY : mosquitto_pub.1/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto.conf.5
+
+# Build rule for target.
+mosquitto.conf.5: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto.conf.5
+.PHONY : mosquitto.conf.5
+
+# fast build rule for target.
+mosquitto.conf.5/fast:
+	$(MAKE) -f man/CMakeFiles/mosquitto.conf.5.dir/build.make man/CMakeFiles/mosquitto.conf.5.dir/build
+.PHONY : mosquitto.conf.5/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_sub.1
+
+# Build rule for target.
+mosquitto_sub.1: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_sub.1
+.PHONY : mosquitto_sub.1
+
+# fast build rule for target.
+mosquitto_sub.1/fast:
+	$(MAKE) -f man/CMakeFiles/mosquitto_sub.1.dir/build.make man/CMakeFiles/mosquitto_sub.1.dir/build
+.PHONY : mosquitto_sub.1/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto_rr.1
+
+# Build rule for target.
+mosquitto_rr.1: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto_rr.1
+.PHONY : mosquitto_rr.1
+
+# fast build rule for target.
+mosquitto_rr.1/fast:
+	$(MAKE) -f man/CMakeFiles/mosquitto_rr.1.dir/build.make man/CMakeFiles/mosquitto_rr.1.dir/build
+.PHONY : mosquitto_rr.1/fast
+
+#=============================================================================
+# Target rules for targets named libmosquitto.3
+
+# Build rule for target.
+libmosquitto.3: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 libmosquitto.3
+.PHONY : libmosquitto.3
+
+# fast build rule for target.
+libmosquitto.3/fast:
+	$(MAKE) -f man/CMakeFiles/libmosquitto.3.dir/build.make man/CMakeFiles/libmosquitto.3.dir/build
+.PHONY : libmosquitto.3/fast
+
+#=============================================================================
+# Target rules for targets named mosquitto.8
+
+# Build rule for target.
+mosquitto.8: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 mosquitto.8
+.PHONY : mosquitto.8
+
+# fast build rule for target.
+mosquitto.8/fast:
+	$(MAKE) -f man/CMakeFiles/mosquitto.8.dir/build.make man/CMakeFiles/mosquitto.8.dir/build
+.PHONY : mosquitto.8/fast
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... install/strip"
+	@echo "... install/local"
+	@echo "... install"
+	@echo "... list_install_components"
+	@echo "... rebuild_cache"
+	@echo "... edit_cache"
+	@echo "... test"
+	@echo "... libmosquitto"
+	@echo "... mosquittopp"
+	@echo "... mosquitto_rr"
+	@echo "... mosquitto_sub"
+	@echo "... mosquitto_pub"
+	@echo "... mosquitto"
+	@echo "... mosquitto_passwd"
+	@echo "... mosquitto_message_timestamp"
+	@echo "... mosquitto_payload_modification"
+	@echo "... mosquitto_ctrl_dynsec.1"
+	@echo "... mqtt.7"
+	@echo "... mosquitto_ctrl.1"
+	@echo "... mosquitto_passwd.1"
+	@echo "... mosquitto-tls.7"
+	@echo "... mosquitto_pub.1"
+	@echo "... mosquitto.conf.5"
+	@echo "... mosquitto_sub.1"
+	@echo "... mosquitto_rr.1"
+	@echo "... libmosquitto.3"
+	@echo "... mosquitto.8"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+

+ 64 - 0
EVSE/GPL/mosquitto-2.0.13/NOTICE.md

@@ -0,0 +1,64 @@
+# Notices for Mosquitto
+
+This content is produced and maintained by the Eclipse Mosquitto project.
+
+ * Project home: https://projects.eclipse.org/projects/iot.mosquitto
+
+## Trademarks
+
+Eclipse Mosquitto trademarks of the Eclipse Foundation. Eclipse, and the
+Eclipse Logo are registered trademarks of the Eclipse Foundation.
+
+## Copyright
+
+All content is the property of the respective authors or their employers.
+For more information regarding authorship of content, please consult the
+listed source code repository logs.
+
+## Declared Project Licenses
+
+This program and the accompanying materials are made available under the terms
+of the Eclipse Public License v2.0 which is available at
+http://www.eclipse.org/legal/epl-v10.html, or the BSD 3 Clause license.
+
+SPDX-License-Identifier: EPL-2.0 or BSD-3-Clause
+
+## Source Code
+
+The project maintains the following source code repositories:
+
+ * https://github.com/eclipse/mosquitto
+
+## Third-party Content
+
+This project makes use of the follow third party projects.
+
+cJSON (1.7.x)
+
+* License: MIT
+* Project: https://github.com/DaveGamble/cJSON
+
+libwebsockets (4.x)
+
+* License: MIT
+* Project: https://github.com/warmcat/libwebsockets
+
+openssl (1.1.1)
+
+* License: OpenSSL License and SSLeay License
+* Project: https://openssl.org
+* Source: https://github.com/openssl/openssl
+
+uthash (2.1.0)
+
+* License: BSD revised (https://troydhanson.github.io/uthash/license.html)
+* Project: https://github.com/troydhanson/uthash
+
+## Cryptography
+
+Content may contain encryption software. The country in which you are currently
+may have restrictions on the import, possession, and use, and/or re-export to
+another country, of encryption software. BEFORE using any encryption software,
+please check the country's laws, regulations and policies concerning the import,
+possession, or use, and re-export of encryption software, to see if this is
+permitted.

+ 25 - 0
EVSE/GPL/mosquitto-2.0.13/README-compiling.md

@@ -0,0 +1,25 @@
+The following packages can be used to add features to mosquitto. All of them
+are optional.
+
+* openssl
+* c-ares (for DNS-SRV support, disabled by default)
+* tcp-wrappers (optional, package name libwrap0-dev)
+* libwebsockets (optional, disabled by default, version 2.4 and above)
+* cJSON (optional but recommended, for dynamic-security plugin support, and
+  JSON output from mosquitto_sub/mosquitto_rr)
+* libsystemd-dev (optional, if building with systemd support on Linux)
+* On Windows, a pthreads library is required if threading support is to be
+  included.
+* xsltproc (only if building from git)
+* docbook-xsl (only if building from git)
+
+To compile, run "make", but also see the file config.mk for more details on the
+various options that can be compiled in.
+
+Where possible use the Makefiles to compile. This is particularly relevant for
+the client libraries as symbol information will be included.  Use cmake to
+compile on Windows or Mac.
+
+If you have any questions, problems or suggestions (particularly related to
+installing on a more unusual device) then please get in touch using the details
+in README.md.

+ 17 - 0
EVSE/GPL/mosquitto-2.0.13/README-letsencrypt.md

@@ -0,0 +1,17 @@
+# Using Lets Encrypt with Mosquitto
+
+On Unix like operating systems, Mosquitto will attempt to drop root access as
+soon as it has loaded its configuration file, but before it has activated any
+of that configuration. This means that if you are using Lets Encrypt TLS
+certificates, it will be unable to access the certificates and private keys
+typically located in /etc/letsencrypt/live/
+
+To help with this problem there is an example `deploy` renewal hook script in
+`misc/letsencrypt/mosquitto-copy.sh` which shows how the certificate and
+private key for a mosquitto broker can be copied to /etc/mosquitto/certs/ and
+given the correct ownership and permissions so the broker can access them, but
+no other user can. It then signals Mosquitto to reload the certificates.
+
+Use of this script allows you to happily use Lets Encrypt certificates with
+Mosquitto without needing root access for Mosquitto, and without having to
+restart Mosquitto.

+ 76 - 0
EVSE/GPL/mosquitto-2.0.13/README-windows.txt

@@ -0,0 +1,76 @@
+Mosquitto for Windows
+=====================
+
+Mosquitto for Windows comes in 64-bit and 32-bit flavours. All dependencies are
+provided in the installer.
+
+Installing
+----------
+
+Running the installer will present the normal type of graphical installer. If
+you want to install without starting the graphical part of the installer, you
+can do so by running it from a cmd prompt with the `/S` switch:
+
+```
+mosquitto-2.0.12-install-windows-x64.exe /S
+```
+
+You can override the installation directory with the `/D` switch:
+
+```
+mosquitto-2.0.12-install-windows-x64.exe /S /D=:\mosquitto
+```
+
+
+Capabilities
+------------
+
+Some versions of Windows have limitations on the number of concurrent
+connections due to the Windows API being used. In modern versions of Windows,
+e.g. Windows 10 or Windows Server 2019, this is approximately 8192 connections.
+In earlier versions of Windows, t his limit is 2048 connections.
+
+
+Websockets
+----------
+
+The broker executables provided in the installers have Websockets support
+through a statically compiled version of libwebsockets and is being distributed
+under the Static Linking Exception (Section 2) of the License. As a result, the
+content is not subject to the LGPL 2.1.
+
+
+Library Thread Support
+----------------------
+
+libmosquitto on Windows is currently compiled without thread support, so
+neither of mosquitto_loop_start() nor "mosquitto_pub -l" are available.
+
+A better solution that the old pthreads-win32 is being looked into, so support
+will return in the future. If you need thread support, the code still supports
+it just fine. Support has been dropped to simplify installation.
+
+
+Windows Service
+---------------
+
+If you wish, mosquitto can be installed as a Windows service so you can
+start/stop it from the control panel as well as running it as a normal
+executable.
+
+When running as a service, the configuration file used is mosquitto.conf in the
+directory that you installed to.
+
+If you want to install/uninstall mosquitto as a Windows service run from the
+command line as follows:
+
+C:\Program Files\mosquitto\mosquitto install
+C:\Program Files\mosquitto\mosquitto uninstall
+
+Logging
+-------
+
+If you use `log_dest file ...` in your configuration, the log file will be
+created with security permissions for the current user only. If running as a
+service, this means the SYSTEM user. You will only be able to view the log file
+if you add permissions for yourself or whatever user you wish to view the logs.

+ 88 - 0
EVSE/GPL/mosquitto-2.0.13/README.md

@@ -0,0 +1,88 @@
+Eclipse Mosquitto
+=================
+
+Mosquitto is an open source implementation of a server for version 5.0, 3.1.1,
+and 3.1 of the MQTT protocol. It also includes a C and C++ client library, and
+the `mosquitto_pub` and `mosquitto_sub` utilities for publishing and
+subscribing.
+
+## Links
+
+See the following links for more information on MQTT:
+
+- Community page: <http://mqtt.org/>
+- MQTT v3.1.1 standard: <https://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html>
+- MQTT v5.0 standard: <https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html>
+
+Mosquitto project information is available at the following locations:
+
+- Main homepage: <https://mosquitto.org/>
+- Find existing bugs or submit a new bug: <https://github.com/eclipse/mosquitto/issues>
+- Source code repository: <https://github.com/eclipse/mosquitto>
+
+There is also a public test server available at <https://test.mosquitto.org/>
+
+## Installing
+
+See <https://mosquitto.org/download/> for details on installing binaries for
+various platforms.
+
+## Quick start
+
+If you have installed a binary package the broker should have been started
+automatically. If not, it can be started with a basic configuration:
+
+    mosquitto
+
+Then use `mosquitto_sub` to subscribe to a topic:
+
+    mosquitto_sub -t 'test/topic' -v
+
+And to publish a message:
+
+    mosquitto_pub -t 'test/topic' -m 'hello world'
+
+## Documentation
+
+Documentation for the broker, clients and client library API can be found in
+the man pages, which are available online at <https://mosquitto.org/man/>. There
+are also pages with an introduction to the features of MQTT, the
+`mosquitto_passwd` utility for dealing with username/passwords, and a
+description of the configuration file options available for the broker.
+
+Detailed client library API documentation can be found at <https://mosquitto.org/api/>
+
+## Building from source
+
+To build from source the recommended route for end users is to download the
+archive from <https://mosquitto.org/download/>.
+
+On Windows and Mac, use `cmake` to build. On other platforms, just run `make`
+to build. For Windows, see also `README-windows.md`.
+
+If you are building from the git repository then the documentation will not
+already be built. Use `make binary` to skip building the man pages, or install
+`docbook-xsl` on Debian/Ubuntu systems.
+
+### Build Dependencies
+
+* c-ares (libc-ares-dev on Debian based systems) - only when compiled with `make WITH_SRV=yes`
+* cJSON - for client JSON output support. Disable with `make WITH_CJSON=no` Auto detected with CMake.
+* libwebsockets (libwebsockets-dev) - enable with `make WITH_WEBSOCKETS=yes`
+* openssl (libssl-dev on Debian based systems) - disable with `make WITH_TLS=no`
+* pthreads - for client library thread support. This is required to support the
+  `mosquitto_loop_start()` and `mosquitto_loop_stop()` functions. If compiled
+  without pthread support, the library isn't guaranteed to be thread safe.
+* uthash / utlist - bundled versions of these headers are provided, disable their use with `make WITH_BUNDLED_DEPS=no`
+* xsltproc (xsltproc and docbook-xsl on Debian based systems) - only needed when building from git sources - disable with `make WITH_DOCS=no`
+
+Equivalent options for enabling/disabling features are available when using the CMake build.
+
+
+## Credits
+
+Mosquitto was written by Roger Light <roger@atchoo.org>
+
+Master: [![Travis Build Status (master)](https://travis-ci.org/eclipse/mosquitto.svg?branch=master)](https://travis-ci.org/eclipse/mosquitto)
+Develop: [![Travis Build Status (develop)](https://travis-ci.org/eclipse/mosquitto.svg?branch=develop)](https://travis-ci.org/eclipse/mosquitto)
+Fixes: [![Travis Build Status (fixes)](https://travis-ci.org/eclipse/mosquitto.svg?branch=fixes)](https://travis-ci.org/eclipse/mosquitto)

+ 43 - 0
EVSE/GPL/mosquitto-2.0.13/about.html

@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p><em>May 8, 2014</em></p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 2.0 ("EPL") and Eclipse Distribution License Version 1.0 ("EDL").
+A copy of the EPL is available at <a href="https://www.eclipse.org/legal/epl-2.0/">https://www.eclipse.org/legal/epl-2.0/</a>
+and a copy of the EDL is available at
+<a href="http://www.eclipse.org/org/documents/edl-v10.php">http://www.eclipse.org/org/documents/edl-v10.php</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+
+		<h3>Third Party Content</h3>
+		<p>The Content includes items that have been sourced from third parties as set out below. If you
+		did not receive this Content directly from the Eclipse Foundation, the following is provided
+		for informational purposes only, and you should look to the Redistributor's license for
+		terms and conditions of use.</p>
+
+		<h4>libwebsockets 2.4.2</h4>
+		<p>This project makes use of the libwebsockets library.</p>
+		<p>The use of libwebsockets is based on the terms and conditions of the
+		LGPL 2.1 with some specific exceptions.
+		<a href="https://github.com/warmcat/libwebsockets/blob/v2.4.2/LICENSE">https://github.com/warmcat/libwebsockets/blob/v2.4.2/LICENSE</a></p>
+		<p>When libwebsockets is distributed with the project, it is being used
+		subject to the Static Linking Exception (Section 2) of the License. As
+		a result, the content is not subject to the LGPL 2.1.</p>
+
+</body></html>

+ 9 - 0
EVSE/GPL/mosquitto-2.0.13/aclfile.example

@@ -0,0 +1,9 @@
+# This affects access control for clients with no username.
+topic read $SYS/#
+
+# This only affects clients with username "roger".
+user roger
+topic foo/bar
+
+# This affects all clients.
+pattern write $SYS/broker/connection/%c/state

+ 16 - 0
EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/CMakeDirectoryInformation.cmake

@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

+ 1 - 0
EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/progress.marks

@@ -0,0 +1 @@
+5

+ 2 - 0
EVSE/GPL/mosquitto-2.0.13/apps/CMakeLists.txt

@@ -0,0 +1,2 @@
+add_subdirectory(mosquitto_ctrl)
+add_subdirectory(mosquitto_passwd)

+ 196 - 0
EVSE/GPL/mosquitto-2.0.13/apps/Makefile

@@ -0,0 +1,196 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local/fast
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+
+.PHONY : list_install_components/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# Special rule for the target test
+test:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
+	/usr/bin/ctest --force-new-ctest-process $(ARGS)
+.PHONY : test
+
+# Special rule for the target test
+test/fast: test
+
+.PHONY : test/fast
+
+# The main all target
+all: cmake_check_build_system
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/CMakeFiles/progress.marks
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... install/strip"
+	@echo "... install/local"
+	@echo "... install"
+	@echo "... list_install_components"
+	@echo "... rebuild_cache"
+	@echo "... edit_cache"
+	@echo "... test"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+

+ 46 - 0
EVSE/GPL/mosquitto-2.0.13/apps/cmake_install.cmake

@@ -0,0 +1,46 @@
+# Install script for directory: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+  # Include the install script for each subdirectory.
+  include("/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/cmake_install.cmake")
+  include("/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/cmake_install.cmake")
+
+endif()
+

+ 88 - 0
EVSE/GPL/mosquitto-2.0.13/apps/db_dump/Makefile

@@ -0,0 +1,88 @@
+include ../../config.mk
+
+CFLAGS_FINAL=${CFLAGS} -I../../include -I../../ -I../../lib -I../../src -I../../deps -DWITH_BROKER -DWITH_PERSISTENCE
+
+OBJS = \
+	   db_dump.o \
+	   print.o \
+	   \
+	   memory_mosq.o \
+	   memory_public.o \
+	   packet_datatypes.o \
+	   packet_mosq.o \
+	   persist_read.o \
+	   persist_read_v234.o \
+	   persist_read_v5.o \
+	   property_mosq.o \
+	   send_disconnect.o \
+	   stubs.o \
+	   time_mosq.o \
+	   topic_tok.o \
+	   utf8_mosq.o
+
+.PHONY: all clean reallyclean
+
+all : mosquitto_db_dump
+
+mosquitto_db_dump : ${OBJS}
+	${CROSS_COMPILE}${CC} $^ -o $@ ${LDFLAGS} ${LIBS}
+
+db_dump.o : db_dump.c db_dump.h ../../src/persist.h
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+print.o : print.c db_dump.h ../../src/persist.h
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+memory_mosq.o : ../../lib/memory_mosq.c ../../lib/memory_mosq.h
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+memory_public.o : ../../src/memory_public.c
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+net_mosq.o : ../../lib/net_mosq.c ../../lib/net_mosq.h
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+packet_datatypes.o : ../../lib/packet_datatypes.c ../../lib/packet_mosq.h
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+packet_mosq.o : ../../lib/packet_mosq.c ../../lib/packet_mosq.h
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+persist_read.o : ../../src/persist_read.c ../../src/persist.h ../../src/mosquitto_broker_internal.h
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+persist_read_v234.o : ../../src/persist_read_v234.c ../../src/persist.h ../../src/mosquitto_broker_internal.h
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+persist_read_v5.o : ../../src/persist_read_v5.c ../../src/persist.h ../../src/mosquitto_broker_internal.h
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+property_mosq.o : ../../lib/property_mosq.c ../../lib/property_mosq.h
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+read_handle.o : ../../src/read_handle.c
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+stubs.o : stubs.c
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+send_disconnect.o : ../../lib/send_disconnect.c
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+time_mosq.o : ../../lib/time_mosq.c
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+topic_tok.o : ../../src/topic_tok.c
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+utf8_mosq.o : ../../lib/utf8_mosq.c
+	${CROSS_COMPILE}${CC} $(CFLAGS_FINAL) -c $< -o $@
+
+reallyclean: clean
+
+clean :
+	-rm -f *.o mosquitto_db_dump
+
+install:
+
+uninstall:

+ 503 - 0
EVSE/GPL/mosquitto-2.0.13/apps/db_dump/db_dump.c

@@ -0,0 +1,503 @@
+/*
+Copyright (c) 2010-2019 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+
+#include <arpa/inet.h>
+#include <assert.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <inttypes.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <time.h>
+
+#include "db_dump.h"
+#include <mosquitto_broker_internal.h>
+#include <memory_mosq.h>
+#include <persist.h>
+
+#define mosquitto__malloc(A) malloc((A))
+#define mosquitto__free(A) free((A))
+#define _mosquitto_malloc(A) malloc((A))
+#define _mosquitto_free(A) free((A))
+#include <uthash.h>
+
+#include "db_dump.h"
+
+struct client_data
+{
+	UT_hash_handle hh_id;
+	char *id;
+	uint32_t subscriptions;
+	uint32_t subscription_size;
+	int messages;
+	long message_size;
+};
+
+struct msg_store_chunk
+{
+	UT_hash_handle hh;
+	dbid_t store_id;
+	uint32_t length;
+};
+
+struct mosquitto_db db;
+
+extern uint32_t db_version;
+static int stats = 0;
+static int client_stats = 0;
+static int do_print = 1;
+
+/* Counts */
+static long cfg_count = 0;
+static long client_count = 0;
+static long client_msg_count = 0;
+static long msg_store_count = 0;
+static long retain_count = 0;
+static long sub_count = 0;
+/* ====== */
+
+
+struct client_data *clients_by_id = NULL;
+struct msg_store_chunk *msgs_by_id = NULL;
+
+
+static void free__sub(struct P_sub *chunk)
+{
+	free(chunk->client_id);
+	free(chunk->topic);
+}
+
+static void free__client(struct P_client *chunk)
+{
+	free(chunk->client_id);
+}
+
+
+static void free__client_msg(struct P_client_msg *chunk)
+{
+	free(chunk->client_id);
+	mosquitto_property_free_all(&chunk->properties);
+}
+
+
+static void free__msg_store(struct P_msg_store *chunk)
+{
+	free(chunk->topic);
+	free(chunk->payload);
+	mosquitto_property_free_all(&chunk->properties);
+}
+
+
+static int dump__cfg_chunk_process(FILE *db_fd, uint32_t length)
+{
+	struct PF_cfg chunk;
+	int rc;
+
+	cfg_count++;
+
+	memset(&chunk, 0, sizeof(struct PF_cfg));
+
+	if(db_version == 6 || db_version == 5){
+		rc = persist__chunk_cfg_read_v56(db_fd, &chunk);
+	}else{
+		rc = persist__chunk_cfg_read_v234(db_fd, &chunk);
+	}
+	if(rc){
+		fprintf(stderr, "Error: Corrupt persistent database.");
+		fclose(db_fd);
+		return rc;
+	}
+
+	if(do_print) printf("DB_CHUNK_CFG:\n");
+	if(do_print) printf("\tLength: %d\n", length);
+	if(do_print) printf("\tShutdown: %d\n", chunk.shutdown);
+	if(do_print) printf("\tDB ID size: %d\n", chunk.dbid_size);
+	if(chunk.dbid_size != sizeof(dbid_t)){
+		fprintf(stderr, "Error: Incompatible database configuration (dbid size is %d bytes, expected %zu)",
+				chunk.dbid_size, sizeof(dbid_t));
+		fclose(db_fd);
+		return 1;
+	}
+	if(do_print) printf("\tLast DB ID: %" PRIu64 "\n", chunk.last_db_id);
+
+	return 0;
+}
+
+
+static int dump__client_chunk_process(FILE *db_fd, uint32_t length)
+{
+	struct P_client chunk;
+	int rc = 0;
+	struct client_data *cc;
+
+	client_count++;
+
+	memset(&chunk, 0, sizeof(struct P_client));
+
+	if(db_version == 6 || db_version == 5){
+		rc = persist__chunk_client_read_v56(db_fd, &chunk, db_version);
+	}else{
+		rc = persist__chunk_client_read_v234(db_fd, &chunk, db_version);
+	}
+	if(rc){
+		fprintf(stderr, "Error: Corrupt persistent database.");
+		return rc;
+	}
+
+	if(client_stats){
+		cc = calloc(1, sizeof(struct client_data));
+		if(!cc){
+			fprintf(stderr, "Error: Out of memory.\n");
+			fclose(db_fd);
+			free(chunk.client_id);
+			return 1;
+		}
+		cc->id = strdup(chunk.client_id);
+		HASH_ADD_KEYPTR(hh_id, clients_by_id, cc->id, strlen(cc->id), cc);
+	}
+
+	if(do_print) {
+		print__client(&chunk, length);
+	}
+	free__client(&chunk);
+
+	return 0;
+}
+
+
+static int dump__client_msg_chunk_process(FILE *db_fd, uint32_t length)
+{
+	struct P_client_msg chunk;
+	struct client_data *cc;
+	struct msg_store_chunk *msc;
+	int rc;
+
+	client_msg_count++;
+
+	memset(&chunk, 0, sizeof(struct P_client_msg));
+	if(db_version == 6 || db_version == 5){
+		rc = persist__chunk_client_msg_read_v56(db_fd, &chunk, length);
+	}else{
+		rc = persist__chunk_client_msg_read_v234(db_fd, &chunk);
+	}
+	if(rc){
+		fprintf(stderr, "Error: Corrupt persistent database.");
+		fclose(db_fd);
+		return rc;
+	}
+
+	if(client_stats){
+		HASH_FIND(hh_id, clients_by_id, chunk.client_id, strlen(chunk.client_id), cc);
+		if(cc){
+			cc->messages++;
+			cc->message_size += length;
+
+			HASH_FIND(hh, msgs_by_id, &chunk.F.store_id, sizeof(dbid_t), msc);
+			if(msc){
+				cc->message_size += msc->length;
+			}
+		}
+	}
+
+	if(do_print) {
+		print__client_msg(&chunk, length);
+	}
+	free__client_msg(&chunk);
+	return 0;
+}
+
+
+static int dump__msg_store_chunk_process(FILE *db_fptr, uint32_t length)
+{
+	struct P_msg_store chunk;
+	struct mosquitto_msg_store *stored = NULL;
+	struct mosquitto_msg_store_load *load;
+	int64_t message_expiry_interval64;
+	uint32_t message_expiry_interval;
+	int rc = 0;
+	struct msg_store_chunk *mcs;
+
+	msg_store_count++;
+
+	memset(&chunk, 0, sizeof(struct P_msg_store));
+	if(db_version == 6 || db_version == 5){
+		rc = persist__chunk_msg_store_read_v56(db_fptr, &chunk, length);
+	}else{
+		rc = persist__chunk_msg_store_read_v234(db_fptr, &chunk, db_version);
+	}
+	if(rc){
+		fprintf(stderr, "Error: Corrupt persistent database.");
+		fclose(db_fptr);
+		return rc;
+	}
+
+	load = mosquitto__calloc(1, sizeof(struct mosquitto_msg_store_load));
+	if(!load){
+		fclose(db_fptr);
+		mosquitto__free(chunk.source.id);
+		mosquitto__free(chunk.source.username);
+		mosquitto__free(chunk.topic);
+		mosquitto__free(chunk.payload);
+		log__printf(NULL, MOSQ_LOG_ERR, "Error: Out of memory.");
+		return MOSQ_ERR_NOMEM;
+	}
+
+	if(chunk.F.expiry_time > 0){
+		message_expiry_interval64 = chunk.F.expiry_time - time(NULL);
+		if(message_expiry_interval64 < 0 || message_expiry_interval64 > UINT32_MAX){
+			message_expiry_interval = 0;
+		}else{
+			message_expiry_interval = (uint32_t)message_expiry_interval64;
+		}
+	}else{
+		message_expiry_interval = 0;
+	}
+
+	stored = mosquitto__calloc(1, sizeof(struct mosquitto_msg_store));
+	if(stored == NULL){
+		mosquitto__free(load);
+		fclose(db_fptr);
+		mosquitto__free(chunk.source.id);
+		mosquitto__free(chunk.source.username);
+		mosquitto__free(chunk.topic);
+		mosquitto__free(chunk.payload);
+		return MOSQ_ERR_NOMEM;
+	}
+	stored->source_mid = chunk.F.source_mid;
+	stored->topic = chunk.topic;
+	stored->qos = chunk.F.qos;
+	stored->retain = chunk.F.retain;
+	stored->payloadlen = chunk.F.payloadlen;
+	stored->payload =  chunk.payload;
+	stored->properties = chunk.properties;
+
+	rc = db__message_store(&chunk.source, stored, message_expiry_interval,
+			chunk.F.store_id, mosq_mo_client);
+
+	mosquitto__free(chunk.source.id);
+	mosquitto__free(chunk.source.username);
+	chunk.source.id = NULL;
+	chunk.source.username = NULL;
+
+	if(rc == MOSQ_ERR_SUCCESS){
+		stored->source_listener = chunk.source.listener;
+		load->db_id = stored->db_id;
+		load->store = stored;
+
+		HASH_ADD(hh, db.msg_store_load, db_id, sizeof(dbid_t), load);
+	}else{
+		mosquitto__free(load);
+		fclose(db_fptr);
+		return rc;
+	}
+
+	if(client_stats){
+		mcs = calloc(1, sizeof(struct msg_store_chunk));
+		if(!mcs){
+			errno = ENOMEM;
+			return 1;
+		}
+		mcs->store_id = chunk.F.store_id;
+		mcs->length = length;
+		HASH_ADD(hh, msgs_by_id, store_id, sizeof(dbid_t), mcs);
+	}
+
+	if(do_print){
+		print__msg_store(&chunk, length);
+	}
+	free__msg_store(&chunk);
+
+	return 0;
+}
+
+
+static int dump__retain_chunk_process(FILE *db_fd, uint32_t length)
+{
+	struct P_retain chunk;
+	int rc;
+
+	retain_count++;
+	if(do_print) printf("DB_CHUNK_RETAIN:\n");
+	if(do_print) printf("\tLength: %d\n", length);
+
+	if(db_version == 6 || db_version == 5){
+		rc = persist__chunk_retain_read_v56(db_fd, &chunk);
+	}else{
+		rc = persist__chunk_retain_read_v234(db_fd, &chunk);
+	}
+	if(rc){
+		fclose(db_fd);
+		return rc;
+	}
+
+	if(do_print) printf("\tStore ID: %" PRIu64 "\n", chunk.F.store_id);
+	return 0;
+}
+
+
+static int dump__sub_chunk_process(FILE *db_fd, uint32_t length)
+{
+	int rc = 0;
+	struct P_sub chunk;
+	struct client_data *cc;
+
+	sub_count++;
+
+	memset(&chunk, 0, sizeof(struct P_sub));
+	if(db_version == 6 || db_version == 5){
+		rc = persist__chunk_sub_read_v56(db_fd, &chunk);
+	}else{
+		rc = persist__chunk_sub_read_v234(db_fd, &chunk);
+	}
+	if(rc){
+		fprintf(stderr, "Error: Corrupt persistent database.");
+		fclose(db_fd);
+		return rc;
+	}
+
+	if(client_stats){
+		HASH_FIND(hh_id, clients_by_id, chunk.client_id, strlen(chunk.client_id), cc);
+		if(cc){
+			cc->subscriptions++;
+			cc->subscription_size += length;
+		}
+	}
+
+	if(do_print) {
+		print__sub(&chunk, length);
+	}
+	free__sub(&chunk);
+
+	return 0;
+}
+
+
+int main(int argc, char *argv[])
+{
+	FILE *fd;
+	char header[15];
+	int rc = 0;
+	uint32_t crc;
+	uint32_t i32temp;
+	uint32_t length;
+	uint32_t chunk;
+	char *filename;
+	struct client_data *cc, *cc_tmp;
+
+	if(argc == 2){
+		filename = argv[1];
+	}else if(argc == 3 && !strcmp(argv[1], "--stats")){
+		stats = 1;
+		do_print = 0;
+		filename = argv[2];
+	}else if(argc == 3 && !strcmp(argv[1], "--client-stats")){
+		client_stats = 1;
+		do_print = 0;
+		filename = argv[2];
+	}else{
+		fprintf(stderr, "Usage: db_dump [--stats | --client-stats] <mosquitto db filename>\n");
+		return 1;
+	}
+	memset(&db, 0, sizeof(struct mosquitto_db));
+	fd = fopen(filename, "rb");
+	if(!fd){
+		fprintf(stderr, "Error: Unable to open %s\n", filename);
+		return 0;
+	}
+	read_e(fd, &header, 15);
+	if(!memcmp(header, magic, 15)){
+		if(do_print) printf("Mosquitto DB dump\n");
+		/* Restore DB as normal */
+		read_e(fd, &crc, sizeof(uint32_t));
+		if(do_print) printf("CRC: %d\n", crc);
+		read_e(fd, &i32temp, sizeof(uint32_t));
+		db_version = ntohl(i32temp);
+		if(do_print) printf("DB version: %d\n", db_version);
+
+		if(db_version > MOSQ_DB_VERSION){
+			if(do_print) printf("Warning: mosquitto_db_dump does not support this DB version, continuing but expecting errors.\n");
+		}
+
+		while(persist__chunk_header_read(fd, &chunk, &length) == MOSQ_ERR_SUCCESS){
+			switch(chunk){
+				case DB_CHUNK_CFG:
+					if(dump__cfg_chunk_process(fd, length)) return 1;
+					break;
+
+				case DB_CHUNK_MSG_STORE:
+					if(dump__msg_store_chunk_process(fd, length)) return 1;
+					break;
+
+				case DB_CHUNK_CLIENT_MSG:
+					if(dump__client_msg_chunk_process(fd, length)) return 1;
+					break;
+
+				case DB_CHUNK_RETAIN:
+					if(dump__retain_chunk_process(fd, length)) return 1;
+					break;
+
+				case DB_CHUNK_SUB:
+					if(dump__sub_chunk_process(fd, length)) return 1;
+					break;
+
+				case DB_CHUNK_CLIENT:
+					if(dump__client_chunk_process(fd, length)) return 1;
+					break;
+
+				default:
+					fprintf(stderr, "Warning: Unsupported chunk \"%d\" in persistent database file. Ignoring.\n", chunk);
+					if(fseek(fd, length, SEEK_CUR) < 0){
+						fprintf(stderr, "Error seeking in file.\n");
+						return 1;
+					}
+					break;
+			}
+		}
+	}else{
+		fprintf(stderr, "Error: Unrecognised file format.");
+		rc = 1;
+	}
+
+	fclose(fd);
+
+	if(stats){
+		printf("DB_CHUNK_CFG:        %ld\n", cfg_count);
+		printf("DB_CHUNK_MSG_STORE:  %ld\n", msg_store_count);
+		printf("DB_CHUNK_CLIENT_MSG: %ld\n", client_msg_count);
+		printf("DB_CHUNK_RETAIN:     %ld\n", retain_count);
+		printf("DB_CHUNK_SUB:        %ld\n", sub_count);
+		printf("DB_CHUNK_CLIENT:     %ld\n", client_count);
+	}
+
+	if(client_stats){
+		HASH_ITER(hh_id, clients_by_id, cc, cc_tmp){
+			printf("SC: %d SS: %d MC: %d MS: %ld   ", cc->subscriptions, cc->subscription_size, cc->messages, cc->message_size);
+			printf("%s\n", cc->id);
+			free(cc->id);
+		}
+	}
+
+	return rc;
+error:
+	fprintf(stderr, "Error: %s.", strerror(errno));
+	if(fd) fclose(fd);
+	return 1;
+}
+

+ 28 - 0
EVSE/GPL/mosquitto-2.0.13/apps/db_dump/db_dump.h

@@ -0,0 +1,28 @@
+#ifndef DB_DUMP_H
+#define DB_DUMP_H
+/*
+Copyright (c) 2010-2019 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+
+#include <persist.h>
+
+void print__client(struct P_client *chunk, uint32_t length);
+void print__client_msg(struct P_client_msg *chunk, uint32_t length);
+void print__msg_store(struct P_msg_store *chunk, uint32_t length);
+void print__sub(struct P_sub *chunk, uint32_t length);
+
+#endif

+ 218 - 0
EVSE/GPL/mosquitto-2.0.13/apps/db_dump/print.c

@@ -0,0 +1,218 @@
+/*
+Copyright (c) 2010-2019 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+
+#include <inttypes.h>
+#include <stdio.h>
+
+#include "db_dump.h"
+#include <mosquitto_broker_internal.h>
+#include <memory_mosq.h>
+#include <mqtt_protocol.h>
+#include <persist.h>
+#include <property_mosq.h>
+
+
+static void print__properties(mosquitto_property *properties)
+{
+	int i;
+
+	if(properties == NULL) return;
+
+	printf("\tProperties:\n");
+
+	while(properties){
+		switch(properties->identifier){
+			case MQTT_PROP_PAYLOAD_FORMAT_INDICATOR:
+				printf("\t\tPayload format indicator: %d\n", properties->value.i8);
+				break;
+			case MQTT_PROP_REQUEST_PROBLEM_INFORMATION:
+				printf("\t\tRequest problem information: %d\n", properties->value.i8);
+				break;
+			case MQTT_PROP_REQUEST_RESPONSE_INFORMATION:
+				printf("\t\tRequest response information: %d\n", properties->value.i8);
+				break;
+			case MQTT_PROP_MAXIMUM_QOS:
+				printf("\t\tMaximum QoS: %d\n", properties->value.i8);
+				break;
+			case MQTT_PROP_RETAIN_AVAILABLE:
+				printf("\t\tRetain available: %d\n", properties->value.i8);
+				break;
+			case MQTT_PROP_WILDCARD_SUB_AVAILABLE:
+				printf("\t\tWildcard sub available: %d\n", properties->value.i8);
+				break;
+			case MQTT_PROP_SUBSCRIPTION_ID_AVAILABLE:
+				printf("\t\tSubscription ID available: %d\n", properties->value.i8);
+				break;
+			case MQTT_PROP_SHARED_SUB_AVAILABLE:
+				printf("\t\tShared subscription available: %d\n", properties->value.i8);
+				break;
+
+			case MQTT_PROP_SERVER_KEEP_ALIVE:
+				printf("\t\tServer keep alive: %d\n", properties->value.i16);
+				break;
+			case MQTT_PROP_RECEIVE_MAXIMUM:
+				printf("\t\tReceive maximum: %d\n", properties->value.i16);
+				break;
+			case MQTT_PROP_TOPIC_ALIAS_MAXIMUM:
+				printf("\t\tTopic alias maximum: %d\n", properties->value.i16);
+				break;
+			case MQTT_PROP_TOPIC_ALIAS:
+				printf("\t\tTopic alias: %d\n", properties->value.i16);
+				break;
+
+			case MQTT_PROP_MESSAGE_EXPIRY_INTERVAL:
+				printf("\t\tMessage expiry interval: %d\n", properties->value.i32);
+				break;
+			case MQTT_PROP_SESSION_EXPIRY_INTERVAL:
+				printf("\t\tSession expiry interval: %d\n", properties->value.i32);
+				break;
+			case MQTT_PROP_WILL_DELAY_INTERVAL:
+				printf("\t\tWill delay interval: %d\n", properties->value.i32);
+				break;
+			case MQTT_PROP_MAXIMUM_PACKET_SIZE:
+				printf("\t\tMaximum packet size: %d\n", properties->value.i32);
+				break;
+
+			case MQTT_PROP_SUBSCRIPTION_IDENTIFIER:
+				printf("\t\tSubscription identifier: %d\n", properties->value.varint);
+				break;
+
+			case MQTT_PROP_CONTENT_TYPE:
+				printf("\t\tContent type: %s\n", properties->value.s.v);
+				break;
+			case MQTT_PROP_RESPONSE_TOPIC:
+				printf("\t\tResponse topic: %s\n", properties->value.s.v);
+				break;
+			case MQTT_PROP_ASSIGNED_CLIENT_IDENTIFIER:
+				printf("\t\tAssigned client identifier: %s\n", properties->value.s.v);
+				break;
+			case MQTT_PROP_AUTHENTICATION_METHOD:
+				printf("\t\tAuthentication method: %s\n", properties->value.s.v);
+				break;
+			case MQTT_PROP_RESPONSE_INFORMATION:
+				printf("\t\tResponse information: %s\n", properties->value.s.v);
+				break;
+			case MQTT_PROP_SERVER_REFERENCE:
+				printf("\t\tServer reference: %s\n", properties->value.s.v);
+				break;
+			case MQTT_PROP_REASON_STRING:
+				printf("\t\tReason string: %s\n", properties->value.s.v);
+				break;
+
+			case MQTT_PROP_AUTHENTICATION_DATA:
+				printf("\t\tAuthentication data: ");
+				for(i=0; i<properties->value.bin.len; i++){
+					printf("%02X", properties->value.bin.v[i]);
+				}
+				printf("\n");
+				break;
+			case MQTT_PROP_CORRELATION_DATA:
+				printf("\t\tCorrelation data: ");
+				for(i=0; i<properties->value.bin.len; i++){
+					printf("%02X", properties->value.bin.v[i]);
+				}
+				printf("\n");
+				break;
+
+			case MQTT_PROP_USER_PROPERTY:
+				printf("\t\tUser property: %s , %s\n", properties->name.v, properties->value.s.v);
+				break;
+
+			default:
+				printf("\t\tInvalid property type: %d\n", properties->identifier);
+				break;
+		}
+
+		properties = properties->next;
+	}
+}
+
+
+void print__client(struct P_client *chunk, uint32_t length)
+{
+	printf("DB_CHUNK_CLIENT:\n");
+	printf("\tLength: %d\n", length);
+	printf("\tClient ID: %s\n", chunk->client_id);
+	if(chunk->username){
+		printf("\tUsername: %s\n", chunk->username);
+	}
+	if(chunk->F.listener_port > 0){
+		printf("\tListener port: %u\n", chunk->F.listener_port);
+	}
+	printf("\tLast MID: %d\n", chunk->F.last_mid);
+	printf("\tSession expiry time: %" PRIu64 "\n", chunk->F.session_expiry_time);
+	printf("\tSession expiry interval: %u\n", chunk->F.session_expiry_interval);
+}
+
+
+void print__client_msg(struct P_client_msg *chunk, uint32_t length)
+{
+	printf("DB_CHUNK_CLIENT_MSG:\n");
+	printf("\tLength: %d\n", length);
+	printf("\tClient ID: %s\n", chunk->client_id);
+	printf("\tStore ID: %" PRIu64 "\n", chunk->F.store_id);
+	printf("\tMID: %d\n", chunk->F.mid);
+	printf("\tQoS: %d\n", chunk->F.qos);
+	printf("\tRetain: %d\n", (chunk->F.retain_dup&0xF0)>>4);
+	printf("\tDirection: %d\n", chunk->F.direction);
+	printf("\tState: %d\n", chunk->F.state);
+	printf("\tDup: %d\n", chunk->F.retain_dup&0x0F);
+	print__properties(chunk->properties);
+}
+
+
+void print__msg_store(struct P_msg_store *chunk, uint32_t length)
+{
+	uint8_t *payload;
+
+	printf("DB_CHUNK_MSG_STORE:\n");
+	printf("\tLength: %d\n", length);
+	printf("\tStore ID: %" PRIu64 "\n", chunk->F.store_id);
+	/* printf("\tSource ID: %s\n", chunk->source_id); */
+	/* printf("\tSource Username: %s\n", chunk->source_username); */
+	printf("\tSource Port: %d\n", chunk->F.source_port);
+	printf("\tSource MID: %d\n", chunk->F.source_mid);
+	printf("\tTopic: %s\n", chunk->topic);
+	printf("\tQoS: %d\n", chunk->F.qos);
+	printf("\tRetain: %d\n", chunk->F.retain);
+	printf("\tPayload Length: %d\n", chunk->F.payloadlen);
+	printf("\tExpiry Time: %" PRIu64 "\n", chunk->F.expiry_time);
+
+	payload = chunk->payload;
+	if(chunk->F.payloadlen < 256){
+		/* Print payloads with UTF-8 data below an arbitrary limit of 256 bytes */
+		if(mosquitto_validate_utf8((char *)payload, (uint16_t)chunk->F.payloadlen) == MOSQ_ERR_SUCCESS){
+			printf("\tPayload: %s\n", payload);
+		}
+	}
+	print__properties(chunk->properties);
+}
+
+
+void print__sub(struct P_sub *chunk, uint32_t length)
+{
+	printf("DB_CHUNK_SUB:\n");
+	printf("\tLength: %u\n", length);
+	printf("\tClient ID: %s\n", chunk->client_id);
+	printf("\tTopic: %s\n", chunk->topic);
+	printf("\tQoS: %d\n", chunk->F.qos);
+	printf("\tSubscription ID: %d\n", chunk->F.identifier);
+	printf("\tOptions: 0x%02X\n", chunk->F.options);
+}
+
+

+ 141 - 0
EVSE/GPL/mosquitto-2.0.13/apps/db_dump/stubs.c

@@ -0,0 +1,141 @@
+#include <stdlib.h>
+#include <string.h>
+
+#include "misc_mosq.h"
+#include "mosquitto_broker_internal.h"
+#include "mosquitto_internal.h"
+#include "util_mosq.h"
+
+#ifndef UNUSED
+#  define UNUSED(A) (void)(A)
+#endif
+
+struct mosquitto *context__init(mosq_sock_t sock)
+{
+	UNUSED(sock);
+
+	return NULL;
+}
+
+void context__add_to_by_id(struct mosquitto *context)
+{
+	UNUSED(context);
+}
+
+int db__message_store(const struct mosquitto *source, struct mosquitto_msg_store *stored, uint32_t message_expiry_interval, dbid_t store_id, enum mosquitto_msg_origin origin)
+{
+	UNUSED(source);
+	UNUSED(stored);
+	UNUSED(message_expiry_interval);
+	UNUSED(store_id);
+	UNUSED(origin);
+    return 0;
+}
+
+void db__msg_store_ref_inc(struct mosquitto_msg_store *store)
+{
+	UNUSED(store);
+}
+
+int handle__packet(struct mosquitto *context)
+{
+	UNUSED(context);
+	return 0;
+}
+
+int log__printf(struct mosquitto *mosq, unsigned int level, const char *fmt, ...)
+{
+	UNUSED(mosq);
+	UNUSED(level);
+	UNUSED(fmt);
+	return 0;
+}
+
+FILE *mosquitto__fopen(const char *path, const char *mode, bool restrict_read)
+{
+	UNUSED(path);
+	UNUSED(mode);
+	UNUSED(restrict_read);
+	return NULL;
+}
+
+enum mosquitto_client_state mosquitto__get_state(struct mosquitto *mosq)
+{
+	UNUSED(mosq);
+	return mosq_cs_new;
+}
+
+int mux__add_out(struct mosquitto *mosq)
+{
+	UNUSED(mosq);
+	return 0;
+}
+
+int mux__remove_out(struct mosquitto *mosq)
+{
+	UNUSED(mosq);
+	return 0;
+}
+
+ssize_t net__read(struct mosquitto *mosq, void *buf, size_t count)
+{
+	UNUSED(mosq);
+	UNUSED(buf);
+	UNUSED(count);
+	return 0;
+}
+
+ssize_t net__write(struct mosquitto *mosq, const void *buf, size_t count)
+{
+	UNUSED(mosq);
+	UNUSED(buf);
+	UNUSED(count);
+	return 0;
+}
+
+int retain__store(const char *topic, struct mosquitto_msg_store *stored, char **split_topics)
+{
+	UNUSED(topic);
+	UNUSED(stored);
+	UNUSED(split_topics);
+	return 0;
+}
+
+int sub__add(struct mosquitto *context, const char *sub, uint8_t qos, uint32_t identifier, int options, struct mosquitto__subhier **root)
+{
+	UNUSED(context);
+	UNUSED(sub);
+	UNUSED(qos);
+	UNUSED(identifier);
+	UNUSED(options);
+	UNUSED(root);
+	return 0;
+}
+
+int sub__messages_queue(const char *source_id, const char *topic, uint8_t qos, int retain, struct mosquitto_msg_store **stored)
+{
+	UNUSED(source_id);
+	UNUSED(topic);
+	UNUSED(qos);
+	UNUSED(retain);
+	UNUSED(stored);
+	return 0;
+}
+
+int keepalive__update(struct mosquitto *context)
+{
+	UNUSED(context);
+	return 0;
+}
+
+void db__msg_add_to_inflight_stats(struct mosquitto_msg_data *msg_data, struct mosquitto_client_msg *msg)
+{
+	UNUSED(msg_data);
+	UNUSED(msg);
+}
+
+void db__msg_add_to_queued_stats(struct mosquitto_msg_data *msg_data, struct mosquitto_client_msg *msg)
+{
+	UNUSED(msg_data);
+	UNUSED(msg);
+}

+ 16 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/CMakeDirectoryInformation.cmake

@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

+ 1 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/progress.marks

@@ -0,0 +1 @@
+0

+ 48 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeLists.txt

@@ -0,0 +1,48 @@
+if (WITH_TLS AND CJSON_FOUND)
+	add_definitions("-DWITH_CJSON")
+
+	include_directories(${mosquitto_SOURCE_DIR} ${mosquitto_SOURCE_DIR}/include
+			${mosquitto_SOURCE_DIR}/lib ${mosquitto_SOURCE_DIR}/src
+			${OPENSSL_INCLUDE_DIR} ${STDBOOL_H_PATH} ${STDINT_H_PATH}
+			${CJSON_INCLUDE_DIRS} ${mosquitto_SOURCE_DIR}/apps/mosquitto_passwd)
+
+	link_directories(${CJSON_DIR})
+
+	add_executable(mosquitto_ctrl
+		mosquitto_ctrl.c mosquitto_ctrl.h
+		client.c
+		dynsec.c
+		dynsec_client.c
+		dynsec_group.c
+		dynsec_role.c
+		../mosquitto_passwd/get_password.c ../mosquitto_passwd/get_password.h
+		../../lib/memory_mosq.c ../../lib/memory_mosq.h
+		../../src/memory_public.c
+		options.c
+		../../src/password_mosq.c ../../src/password_mosq.h
+		)
+
+	if (WITH_STATIC_LIBRARIES)
+		target_link_libraries(mosquitto_ctrl libmosquitto_static)
+	else()
+		target_link_libraries(mosquitto_ctrl libmosquitto)
+	endif()
+
+	if (UNIX)
+		if (APPLE)
+			target_link_libraries(mosquitto_ctrl dl)
+		elseif (${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
+			#
+		elseif (${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
+			#
+		elseif(QNX)
+			#
+		else(APPLE)
+			target_link_libraries(mosquitto_ctrl dl)
+		endif (APPLE)
+	endif (UNIX)
+
+	target_link_libraries(mosquitto_ctrl ${OPENSSL_LIBRARIES} ${CJSON_LIBRARIES})
+
+	install(TARGETS mosquitto_ctrl RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+endif (WITH_TLS AND CJSON_FOUND)

+ 196 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/Makefile

@@ -0,0 +1,196 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local/fast
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+
+.PHONY : list_install_components/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# Special rule for the target test
+test:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
+	/usr/bin/ctest --force-new-ctest-process $(ARGS)
+.PHONY : test
+
+# Special rule for the target test
+test/fast: test
+
+.PHONY : test/fast
+
+# The main all target
+all: cmake_check_build_system
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/CMakeFiles/progress.marks
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/mosquitto_ctrl/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/mosquitto_ctrl/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/mosquitto_ctrl/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/mosquitto_ctrl/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... install/strip"
+	@echo "... install/local"
+	@echo "... install"
+	@echo "... list_install_components"
+	@echo "... rebuild_cache"
+	@echo "... edit_cache"
+	@echo "... test"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+

+ 157 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/client.c

@@ -0,0 +1,157 @@
+/*
+Copyright (c) 2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+
+#include "config.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+
+#include <mosquitto.h>
+#include <mqtt_protocol.h>
+#include "mosquitto_ctrl.h"
+
+static int run = 1;
+
+static void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message *msg, const mosquitto_property *properties)
+{
+	struct mosq_ctrl *ctrl = obj;
+
+	UNUSED(properties);
+
+	if(ctrl->payload_callback){
+		ctrl->payload_callback(ctrl, msg->payloadlen, msg->payload);
+	}
+
+	mosquitto_disconnect_v5(mosq, 0, NULL);
+	run = 0;
+}
+
+
+static void on_publish(struct mosquitto *mosq, void *obj, int mid, int reason_code, const mosquitto_property *properties)
+{
+	UNUSED(obj);
+	UNUSED(mid);
+	UNUSED(properties);
+
+	if(reason_code > 127){
+		fprintf(stderr, "Publish error: %s\n", mosquitto_reason_string(reason_code));
+		run = 0;
+		mosquitto_disconnect_v5(mosq, 0, NULL);
+	}
+}
+
+
+static void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int qos_count, const int *granted_qos, const mosquitto_property *properties)
+{
+	struct mosq_ctrl *ctrl = obj;
+
+	UNUSED(mid);
+	UNUSED(properties);
+
+	if(qos_count == 1){
+		if(granted_qos[0] < 128){
+			/* Success */
+			mosquitto_publish(mosq, NULL, ctrl->request_topic, (int)strlen(ctrl->payload), ctrl->payload, ctrl->cfg.qos, 0);
+			free(ctrl->request_topic);
+			ctrl->request_topic = NULL;
+			free(ctrl->payload);
+			ctrl->payload = NULL;
+		}else{
+			if(ctrl->cfg.protocol_version == MQTT_PROTOCOL_V5){
+				fprintf(stderr, "Subscribe error: %s\n", mosquitto_reason_string(granted_qos[0]));
+			}else{
+				fprintf(stderr, "Subscribe error: Subscription refused.\n");
+			}
+			run = 0;
+			mosquitto_disconnect_v5(mosq, 0, NULL);
+		}
+	}else{
+		run = 0;
+		mosquitto_disconnect_v5(mosq, 0, NULL);
+	}
+}
+
+
+static void on_connect(struct mosquitto *mosq, void *obj, int reason_code, int flags, const mosquitto_property *properties)
+{
+	struct mosq_ctrl *ctrl = obj;
+
+	UNUSED(flags);
+	UNUSED(properties);
+
+	if(reason_code == 0){
+		if(ctrl->response_topic){
+			mosquitto_subscribe(mosq, NULL, ctrl->response_topic, ctrl->cfg.qos);
+			free(ctrl->response_topic);
+			ctrl->response_topic = NULL;
+		}
+	}else{
+		if(ctrl->cfg.protocol_version == MQTT_PROTOCOL_V5){
+			if(reason_code == MQTT_RC_UNSUPPORTED_PROTOCOL_VERSION){
+				fprintf(stderr, "Connection error: %s. Try connecting to an MQTT v5 broker, or use MQTT v3.x mode.\n", mosquitto_reason_string(reason_code));
+			}else{
+				fprintf(stderr, "Connection error: %s\n", mosquitto_reason_string(reason_code));
+			}
+		}else{
+			fprintf(stderr, "Connection error: %s\n", mosquitto_connack_string(reason_code));
+		}
+		run = 0;
+		mosquitto_disconnect_v5(mosq, 0, NULL);
+	}
+}
+
+
+int client_request_response(struct mosq_ctrl *ctrl)
+{
+	struct mosquitto *mosq;
+	int rc;
+	time_t start;
+
+	if(ctrl->cfg.cafile == NULL && ctrl->cfg.capath == NULL){
+		fprintf(stderr, "Warning: You are running mosquitto_ctrl without encryption.\nThis means all of the configuration changes you are making are visible on the network, including passwords.\n\n");
+	}
+
+	mosquitto_lib_init();
+
+	mosq = mosquitto_new(ctrl->cfg.id, true, ctrl);
+	rc = client_opts_set(mosq, &ctrl->cfg);
+	if(rc) goto cleanup;
+
+	mosquitto_connect_v5_callback_set(mosq, on_connect);
+	mosquitto_subscribe_v5_callback_set(mosq, on_subscribe);
+	mosquitto_publish_v5_callback_set(mosq, on_publish);
+	mosquitto_message_v5_callback_set(mosq, on_message);
+
+	rc = client_connect(mosq, &ctrl->cfg);
+	if(rc) goto cleanup;
+
+	start = time(NULL);
+	while(run && start+10 > time(NULL)){
+		mosquitto_loop(mosq, -1, 1);
+	}
+
+cleanup:
+	mosquitto_destroy(mosq);
+	mosquitto_lib_cleanup();
+	return rc;
+}

+ 39 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/cmake_install.cmake

@@ -0,0 +1,39 @@
+# Install script for directory: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+

+ 893 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/dynsec.c

@@ -0,0 +1,893 @@
+/*
+Copyright (c) 2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+#include "config.h"
+
+#include <cjson/cJSON.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "mosquitto_ctrl.h"
+#include "mosquitto.h"
+#include "password_mosq.h"
+#include "get_password.h"
+
+void dynsec__print_usage(void)
+{
+	printf("\nDynamic Security module\n");
+	printf("=======================\n");
+	printf("\nInitialisation\n--------------\n");
+	printf("Create a new configuration file with an admin user:\n");
+	printf("    mosquitto_ctrl dynsec init <new-config-file> <admin-username> [admin-password]\n");
+
+	printf("\nGeneral\n-------\n");
+	printf("Get ACL default access:          getDefaultACLAccess\n");
+	printf("Set ACL default access:          setDefaultACLAccess <acltype> allow|deny\n");
+	printf("Get group for anonymous clients: getAnonymousGroup\n");
+	printf("Set group for anonymous clients: setAnonymousGroup   <groupname>\n");
+
+	printf("\nClients\n-------\n");
+	printf("Create a new client:         createClient      <username> [-c clientid] [-p password]\n");
+	printf("Delete a client:             deleteClient      <username>\n");
+	printf("Set a client password:       setClientPassword <username> [password]\n");
+	printf("Set a client id:             setClientId       <username> [clientid]\n");
+	printf("Add a role to a client:      addClientRole     <username> <rolename> [priority]\n");
+	printf("    Higher priority (larger numerical value) roles are evaluated first.\n");
+	printf("Remove role from a client:   removeClientRole  <username> <rolename>\n");
+	printf("Get client information:      getClient         <username>\n");
+	printf("List all clients:            listClients       [count [offset]]\n");
+	printf("Enable client:               enableClient      <username>\n");
+	printf("Disable client:              disableClient     <username>\n");
+
+	printf("\nGroups\n------\n");
+	printf("Create a new group:          createGroup       <groupname>\n");
+	printf("Delete a group:              deleteGroup       <groupname>\n");
+	printf("Add a role to a group:       addGroupRole      <groupname> <rolename> [priority]\n");
+	printf("    Higher priority (larger numerical value) roles are evaluated first.\n");
+	printf("Remove role from a group:    removeGroupRole   <groupname> <rolename>\n");
+	printf("Add client to a group:       addGroupClient    <groupname> <username> [priority]\n");
+	printf("    Priority sets the group priority for the given client only.\n");
+	printf("    Higher priority (larger numerical value) groups are evaluated first.\n");
+	printf("Remove client from a group:  removeGroupClient <groupname> <username>\n");
+	printf("Get group information:       getGroup          <groupname>\n");
+	printf("List all groups:             listGroups        [count [offset]]\n");
+
+	printf("\nRoles\n------\n");
+	printf("Create a new role:           createRole        <rolename>\n");
+	printf("Delete a role:               deleteRole        <rolename>\n");
+	printf("Add an ACL to a role:        addRoleACL        <rolename> <aclspec> [priority]\n");
+	printf("    Higher priority (larger numerical value) ACLs are evaluated first.\n");
+	printf("Remove ACL from a role:      removeRoleACL     <rolename> <aclspec>\n");
+	printf("Get role information:        getRole           <rolename>\n");
+	printf("List all roles:              listRoles         [count [offset]]\n");
+	printf("\naclspec:                     <acltype> <topicFilter> allow|deny\n");
+	printf("acltype:                     publishClientSend|publishClientReceive\n");
+	printf("                              |subscribeLiteral|subscribePattern\n");
+	printf("                              |unsubscribeLiteral|unsubscribePattern\n");
+	printf("\nFor more information see:\n");
+	printf("    https://mosquitto.org/documentation/dynamic-security/\n\n");
+}
+
+cJSON *cJSON_AddIntToObject(cJSON * const object, const char * const name, int number)
+{
+	char buf[30];
+
+	snprintf(buf, sizeof(buf), "%d", number);
+	return cJSON_AddRawToObject(object, name, buf);
+}
+
+/* ################################################################
+ * #
+ * # Payload callback
+ * #
+ * ################################################################ */
+
+static void print_list(cJSON *j_response, const char *arrayname, const char *keyname)
+{
+	cJSON *j_data, *j_array, *j_elem, *j_name;
+
+	j_data = cJSON_GetObjectItem(j_response, "data");
+	if(j_data == NULL){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	j_array = cJSON_GetObjectItem(j_data, arrayname);
+	if(j_array == NULL || !cJSON_IsArray(j_array)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	cJSON_ArrayForEach(j_elem, j_array){
+		if(cJSON_IsObject(j_elem)){
+			j_name = cJSON_GetObjectItem(j_elem, keyname);
+			if(j_name && cJSON_IsString(j_name)){
+				printf("%s\n", j_name->valuestring);
+			}
+		}else if(cJSON_IsString(j_elem)){
+			printf("%s\n", j_elem->valuestring);
+		}
+	}
+}
+
+
+static void print_roles(cJSON *j_roles, size_t slen)
+{
+	bool first;
+	cJSON *j_elem, *jtmp;
+
+	if(j_roles && cJSON_IsArray(j_roles)){
+		first = true;
+		cJSON_ArrayForEach(j_elem, j_roles){
+			jtmp = cJSON_GetObjectItem(j_elem, "rolename");
+			if(jtmp && cJSON_IsString(jtmp)){
+				if(first){
+					first = false;
+					printf("%-*s %s", (int)slen, "Roles:", jtmp->valuestring);
+				}else{
+					printf("%-*s %s", (int)slen, "", jtmp->valuestring);
+				}
+				jtmp = cJSON_GetObjectItem(j_elem, "priority");
+				if(jtmp && cJSON_IsNumber(jtmp)){
+					printf(" (priority: %d)", (int)jtmp->valuedouble);
+				}else{
+					printf(" (priority: -1)");
+				}
+				printf("\n");
+			}
+		}
+	}else{
+		printf("Roles:\n");
+	}
+}
+
+
+static void print_client(cJSON *j_response)
+{
+	cJSON *j_data, *j_client, *j_array, *j_elem, *jtmp;
+	bool first;
+
+	j_data = cJSON_GetObjectItem(j_response, "data");
+	if(j_data == NULL || !cJSON_IsObject(j_data)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	j_client = cJSON_GetObjectItem(j_data, "client");
+	if(j_client == NULL || !cJSON_IsObject(j_client)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	jtmp = cJSON_GetObjectItem(j_client, "username");
+	if(jtmp == NULL || !cJSON_IsString(jtmp)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+	printf("Username: %s\n", jtmp->valuestring);
+
+	jtmp = cJSON_GetObjectItem(j_client, "clientid");
+	if(jtmp && cJSON_IsString(jtmp)){
+		printf("Clientid: %s\n", jtmp->valuestring);
+	}else{
+		printf("Clientid:\n");
+	}
+
+	jtmp = cJSON_GetObjectItem(j_client, "disabled");
+	if(jtmp && cJSON_IsBool(jtmp)){
+		printf("Disabled: %s\n", cJSON_IsTrue(jtmp)?"true":"false");
+	}
+
+	j_array = cJSON_GetObjectItem(j_client, "roles");
+	print_roles(j_array, strlen("Username:"));
+
+	j_array = cJSON_GetObjectItem(j_client, "groups");
+	if(j_array && cJSON_IsArray(j_array)){
+		first = true;
+		cJSON_ArrayForEach(j_elem, j_array){
+			jtmp = cJSON_GetObjectItem(j_elem, "groupname");
+			if(jtmp && cJSON_IsString(jtmp)){
+				if(first){
+					printf("Groups:   %s", jtmp->valuestring);
+					first = false;
+				}else{
+					printf("          %s", jtmp->valuestring);
+				}
+				jtmp = cJSON_GetObjectItem(j_elem, "priority");
+				if(jtmp && cJSON_IsNumber(jtmp)){
+					printf(" (priority: %d)", (int)jtmp->valuedouble);
+				}else{
+					printf(" (priority: -1)");
+				}
+				printf("\n");
+			}
+		}
+	}else{
+		printf("Groups:\n");
+	}
+}
+
+
+static void print_group(cJSON *j_response)
+{
+	cJSON *j_data, *j_group, *j_array, *j_elem, *jtmp;
+	bool first;
+
+	j_data = cJSON_GetObjectItem(j_response, "data");
+	if(j_data == NULL || !cJSON_IsObject(j_data)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	j_group = cJSON_GetObjectItem(j_data, "group");
+	if(j_group == NULL || !cJSON_IsObject(j_group)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	jtmp = cJSON_GetObjectItem(j_group, "groupname");
+	if(jtmp == NULL || !cJSON_IsString(jtmp)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+	printf("Groupname: %s\n", jtmp->valuestring);
+
+	j_array = cJSON_GetObjectItem(j_group, "roles");
+	print_roles(j_array, strlen("Groupname:"));
+
+	j_array = cJSON_GetObjectItem(j_group, "clients");
+	if(j_array && cJSON_IsArray(j_array)){
+		first = true;
+		cJSON_ArrayForEach(j_elem, j_array){
+			jtmp = cJSON_GetObjectItem(j_elem, "username");
+			if(jtmp && cJSON_IsString(jtmp)){
+				if(first){
+					first = false;
+					printf("Clients:   %s\n", jtmp->valuestring);
+				}else{
+					printf("           %s\n", jtmp->valuestring);
+				}
+			}
+		}
+	}
+}
+
+
+static void print_role(cJSON *j_response)
+{
+	cJSON *j_data, *j_role, *j_array, *j_elem, *jtmp;
+	bool first;
+
+	j_data = cJSON_GetObjectItem(j_response, "data");
+	if(j_data == NULL || !cJSON_IsObject(j_data)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	j_role = cJSON_GetObjectItem(j_data, "role");
+	if(j_role == NULL || !cJSON_IsObject(j_role)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	jtmp = cJSON_GetObjectItem(j_role, "rolename");
+	if(jtmp == NULL || !cJSON_IsString(jtmp)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+	printf("Rolename: %s\n", jtmp->valuestring);
+
+	j_array = cJSON_GetObjectItem(j_role, "acls");
+	if(j_array && cJSON_IsArray(j_array)){
+		first = true;
+		cJSON_ArrayForEach(j_elem, j_array){
+			jtmp = cJSON_GetObjectItem(j_elem, "acltype");
+			if(jtmp && cJSON_IsString(jtmp)){
+				if(first){
+					first = false;
+					printf("ACLs:     %-20s", jtmp->valuestring);
+				}else{
+					printf("          %-20s", jtmp->valuestring);
+				}
+
+				jtmp = cJSON_GetObjectItem(j_elem, "allow");
+				if(jtmp && cJSON_IsBool(jtmp)){
+					printf(" : %s", cJSON_IsTrue(jtmp)?"allow":"deny ");
+				}
+				jtmp = cJSON_GetObjectItem(j_elem, "topic");
+				if(jtmp && cJSON_IsString(jtmp)){
+					printf(" : %s", jtmp->valuestring);
+				}
+				jtmp = cJSON_GetObjectItem(j_elem, "priority");
+				if(jtmp && cJSON_IsNumber(jtmp)){
+					printf(" (priority: %d)", (int)jtmp->valuedouble);
+				}else{
+					printf(" (priority: -1)");
+				}
+				printf("\n");
+			}
+		}
+	}
+}
+
+
+static void print_anonymous_group(cJSON *j_response)
+{
+	cJSON *j_data, *j_group, *j_groupname;
+
+	j_data = cJSON_GetObjectItem(j_response, "data");
+	if(j_data == NULL || !cJSON_IsObject(j_data)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	j_group = cJSON_GetObjectItem(j_data, "group");
+	if(j_group == NULL || !cJSON_IsObject(j_group)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	j_groupname = cJSON_GetObjectItem(j_group, "groupname");
+	if(j_groupname == NULL || !cJSON_IsString(j_groupname)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+	printf("%s\n", j_groupname->valuestring);
+}
+
+static void print_default_acl_access(cJSON *j_response)
+{
+	cJSON *j_data, *j_acls, *j_acl, *j_acltype, *j_allow;
+
+	j_data = cJSON_GetObjectItem(j_response, "data");
+	if(j_data == NULL || !cJSON_IsObject(j_data)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	j_acls = cJSON_GetObjectItem(j_data, "acls");
+	if(j_acls == NULL || !cJSON_IsArray(j_acls)){
+		fprintf(stderr, "Error: Invalid response from server.\n");
+		return;
+	}
+
+	cJSON_ArrayForEach(j_acl, j_acls){
+		j_acltype = cJSON_GetObjectItem(j_acl, "acltype");
+		j_allow = cJSON_GetObjectItem(j_acl, "allow");
+
+		if(j_acltype == NULL || !cJSON_IsString(j_acltype)
+				|| j_allow == NULL || !cJSON_IsBool(j_allow)
+				){
+
+			fprintf(stderr, "Error: Invalid response from server.\n");
+			return;
+		}
+		printf("%-20s : %s\n", j_acltype->valuestring, cJSON_IsTrue(j_allow)?"allow":"deny");
+	}
+}
+
+static void dynsec__payload_callback(struct mosq_ctrl *ctrl, long payloadlen, const void *payload)
+{
+	cJSON *tree, *j_responses, *j_response, *j_command, *j_error;
+
+	UNUSED(ctrl);
+
+#if CJSON_VERSION_FULL < 1007013
+	UNUSED(payloadlen);
+	tree = cJSON_Parse(payload);
+#else
+	tree = cJSON_ParseWithLength(payload, (size_t)payloadlen);
+#endif
+	if(tree == NULL){
+		fprintf(stderr, "Error: Payload not JSON.\n");
+		return;
+	}
+
+	j_responses = cJSON_GetObjectItem(tree, "responses");
+	if(j_responses == NULL || !cJSON_IsArray(j_responses)){
+		fprintf(stderr, "Error: Payload missing data.\n");
+		cJSON_Delete(tree);
+		return;
+	}
+
+	j_response = cJSON_GetArrayItem(j_responses, 0);
+	if(j_response == NULL){
+		fprintf(stderr, "Error: Payload missing data.\n");
+		cJSON_Delete(tree);
+		return;
+	}
+
+	j_command = cJSON_GetObjectItem(j_response, "command");
+	if(j_command == NULL){
+		fprintf(stderr, "Error: Payload missing data.\n");
+		cJSON_Delete(tree);
+		return;
+	}
+
+	j_error = cJSON_GetObjectItem(j_response, "error");
+	if(j_error){
+		fprintf(stderr, "%s: Error: %s\n", j_command->valuestring, j_error->valuestring);
+	}else{
+		if(!strcasecmp(j_command->valuestring, "listClients")){
+			print_list(j_response, "clients", "username");
+		}else if(!strcasecmp(j_command->valuestring, "listGroups")){
+			print_list(j_response, "groups", "groupname");
+		}else if(!strcasecmp(j_command->valuestring, "listRoles")){
+			print_list(j_response, "roles", "rolename");
+		}else if(!strcasecmp(j_command->valuestring, "getClient")){
+			print_client(j_response);
+		}else if(!strcasecmp(j_command->valuestring, "getGroup")){
+			print_group(j_response);
+		}else if(!strcasecmp(j_command->valuestring, "getRole")){
+			print_role(j_response);
+		}else if(!strcasecmp(j_command->valuestring, "getDefaultACLAccess")){
+			print_default_acl_access(j_response);
+		}else if(!strcasecmp(j_command->valuestring, "getAnonymousGroup")){
+			print_anonymous_group(j_response);
+		}else{
+			/* fprintf(stderr, "%s: Success\n", j_command->valuestring); */
+		}
+	}
+	cJSON_Delete(tree);
+}
+
+/* ################################################################
+ * #
+ * # Default ACL access
+ * #
+ * ################################################################ */
+
+static int dynsec__set_default_acl_access(int argc, char *argv[], cJSON *j_command)
+{
+	char *acltype, *access;
+	bool b_access;
+	cJSON *j_acls, *j_acl;
+
+	if(argc == 2){
+		acltype = argv[0];
+		access = argv[1];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(strcasecmp(acltype, "publishClientSend")
+			&& strcasecmp(acltype, "publishClientReceive")
+			&& strcasecmp(acltype, "subscribe")
+			&& strcasecmp(acltype, "unsubscribe")){
+
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(!strcasecmp(access, "allow")){
+		b_access = true;
+	}else if(!strcasecmp(access, "deny")){
+		b_access = false;
+	}else{
+		fprintf(stderr, "Error: access must be \"allow\" or \"deny\".\n");
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "setDefaultACLAccess") == NULL
+			|| (j_acls = cJSON_AddArrayToObject(j_command, "acls")) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}
+
+	j_acl = cJSON_CreateObject();
+	if(j_acl == NULL){
+		return MOSQ_ERR_NOMEM;
+	}
+	cJSON_AddItemToArray(j_acls, j_acl);
+	if(cJSON_AddStringToObject(j_acl, "acltype", acltype) == NULL
+			|| cJSON_AddBoolToObject(j_acl, "allow", b_access) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}
+
+	return MOSQ_ERR_SUCCESS;
+}
+
+static int dynsec__get_default_acl_access(int argc, char *argv[], cJSON *j_command)
+{
+	UNUSED(argc);
+	UNUSED(argv);
+
+	if(cJSON_AddStringToObject(j_command, "command", "getDefaultACLAccess") == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}
+
+	return MOSQ_ERR_SUCCESS;
+}
+
+/* ################################################################
+ * #
+ * # Init
+ * #
+ * ################################################################ */
+
+static cJSON *init_add_acl_to_role(cJSON *j_acls, const char *type, const char *topic)
+{
+	cJSON *j_acl;
+
+	j_acl = cJSON_CreateObject();
+	if(j_acl == NULL) return NULL;
+
+	if(cJSON_AddStringToObject(j_acl, "acltype", type) == NULL
+			|| cJSON_AddStringToObject(j_acl, "topic", topic) == NULL
+			|| cJSON_AddBoolToObject(j_acl, "allow", true) == NULL
+			){
+
+		cJSON_Delete(j_acl);
+		return NULL;
+	}
+	cJSON_AddItemToArray(j_acls, j_acl);
+	return j_acl;
+}
+
+static cJSON *init_add_role(const char *rolename)
+{
+	cJSON *j_role, *j_acls;
+
+	j_role = cJSON_CreateObject();
+	if(j_role == NULL){
+		return NULL;
+	}
+	if(cJSON_AddStringToObject(j_role, "rolename", rolename) == NULL){
+		cJSON_Delete(j_role);
+		return NULL;
+	}
+
+	j_acls = cJSON_CreateArray();
+	if(j_acls == NULL){
+		cJSON_Delete(j_role);
+		return NULL;
+	}
+	cJSON_AddItemToObject(j_role, "acls", j_acls);
+	if(init_add_acl_to_role(j_acls, "publishClientSend", "$CONTROL/dynamic-security/#") == NULL
+			|| init_add_acl_to_role(j_acls, "publishClientReceive", "$CONTROL/dynamic-security/#") == NULL
+			|| init_add_acl_to_role(j_acls, "subscribePattern", "$CONTROL/dynamic-security/#") == NULL
+			|| init_add_acl_to_role(j_acls, "publishClientReceive", "$SYS/#") == NULL
+			|| init_add_acl_to_role(j_acls, "subscribePattern", "$SYS/#") == NULL
+			|| init_add_acl_to_role(j_acls, "publishClientReceive", "#") == NULL
+			|| init_add_acl_to_role(j_acls, "subscribePattern", "#") == NULL
+			|| init_add_acl_to_role(j_acls, "unsubscribePattern", "#") == NULL
+			){
+
+		cJSON_Delete(j_role);
+		return NULL;
+	}
+	return j_role;
+}
+
+static cJSON *init_add_client(const char *username, const char *password, const char *rolename)
+{
+	cJSON *j_client, *j_roles, *j_role;
+	struct mosquitto_pw pw;
+	char *salt64 = NULL, *hash64 = NULL;
+	char buf[10];
+
+	memset(&pw, 0, sizeof(pw));
+	pw.hashtype = pw_sha512_pbkdf2;
+
+	if(pw__hash(password, &pw, true, PW_DEFAULT_ITERATIONS) != 0){
+		return NULL;
+	}
+	if(base64__encode(pw.salt, sizeof(pw.salt), &salt64)
+		|| base64__encode(pw.password_hash, sizeof(pw.password_hash), &hash64)
+		){
+
+		fprintf(stderr, "dynsec init: Internal error while encoding password.\n");
+		free(salt64);
+		free(hash64);
+		return NULL;
+	}
+
+	j_client = cJSON_CreateObject();
+	if(j_client == NULL){
+		free(salt64);
+		free(hash64);
+		return NULL;
+	}
+
+	snprintf(buf, sizeof(buf), "%d", PW_DEFAULT_ITERATIONS);
+	if(cJSON_AddStringToObject(j_client, "username", username) == NULL
+			|| cJSON_AddStringToObject(j_client, "textName", "Dynsec admin user") == NULL
+			|| cJSON_AddStringToObject(j_client, "password", hash64) == NULL
+			|| cJSON_AddStringToObject(j_client, "salt", salt64) == NULL
+			|| cJSON_AddRawToObject(j_client, "iterations", buf) == NULL
+			){
+
+		free(salt64);
+		free(hash64);
+		cJSON_Delete(j_client);
+		return NULL;
+	}
+	free(salt64);
+	free(hash64);
+
+	j_roles = cJSON_CreateArray();
+	if(j_roles == NULL){
+		cJSON_Delete(j_client);
+		return NULL;
+	}
+	cJSON_AddItemToObject(j_client, "roles", j_roles);
+
+	j_role = cJSON_CreateObject();
+	if(j_role == NULL){
+		cJSON_Delete(j_client);
+		return NULL;
+	}
+	cJSON_AddItemToArray(j_roles, j_role);
+	if(cJSON_AddStringToObject(j_role, "rolename", rolename) == NULL){
+		cJSON_Delete(j_client);
+		return NULL;
+	}
+
+	return j_client;
+}
+
+static cJSON *init_create(const char *username, const char *password, const char *rolename)
+{
+	cJSON *tree, *j_clients, *j_client, *j_roles, *j_role;
+	cJSON *j_default_access;
+
+	tree = cJSON_CreateObject();
+	if(tree == NULL) return NULL;
+
+	if((j_clients = cJSON_AddArrayToObject(tree, "clients")) == NULL
+			|| (j_roles = cJSON_AddArrayToObject(tree, "roles")) == NULL
+			|| (j_default_access = cJSON_AddObjectToObject(tree, "defaultACLAccess")) == NULL
+			){
+
+		cJSON_Delete(tree);
+		return NULL;
+	}
+
+	/* Set default behaviour:
+	 * * Client can not publish to the broker by default.
+	 * * Broker *CAN* publish to the client by default.
+	 * * Client con not subscribe to topics by default.
+	 * * Client *CAN* unsubscribe from topics by default.
+	 */
+	if(cJSON_AddBoolToObject(j_default_access, "publishClientSend", false) == NULL
+			|| cJSON_AddBoolToObject(j_default_access, "publishClientReceive", true) == NULL
+			|| cJSON_AddBoolToObject(j_default_access, "subscribe", false) == NULL
+			|| cJSON_AddBoolToObject(j_default_access, "unsubscribe", true) == NULL
+			){
+
+		cJSON_Delete(tree);
+		return NULL;
+	}
+
+	j_client = init_add_client(username, password, rolename);
+	if(j_client == NULL){
+		cJSON_Delete(tree);
+		return NULL;
+	}
+	cJSON_AddItemToArray(j_clients, j_client);
+
+	j_role = init_add_role(rolename);
+	if(j_role == NULL){
+		cJSON_Delete(tree);
+		return NULL;
+	}
+	cJSON_AddItemToArray(j_roles, j_role);
+
+	return tree;
+}
+
+/* mosquitto_ctrl dynsec init <filename> <admin-user> <admin-password> [role-name] */
+static int dynsec_init(int argc, char *argv[])
+{
+	char *filename;
+	char *admin_user;
+	char *admin_password;
+	char *json_str;
+	cJSON *tree;
+	FILE *fptr;
+	char prompt[200], verify_prompt[200];
+	char password[200];
+	int rc;
+
+	if(argc < 2){
+		fprintf(stderr, "dynsec init: Not enough arguments - filename, or admin-user missing.\n");
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(argc > 3){
+		fprintf(stderr, "dynsec init: Too many arguments.\n");
+		return MOSQ_ERR_INVAL;
+	}
+
+	filename = argv[0];
+	admin_user = argv[1];
+
+	if(argc == 3){
+		admin_password = argv[2];
+	}else{
+		snprintf(prompt, sizeof(prompt), "New password for %s: ", admin_user);
+		snprintf(verify_prompt, sizeof(verify_prompt), "Reenter password for %s: ", admin_user);
+		rc = get_password(prompt, verify_prompt, false, password, sizeof(password));
+		if(rc){
+			mosquitto_lib_cleanup();
+			return -1;
+		}
+		admin_password = password;
+	}
+
+	fptr = fopen(filename, "rb");
+	if(fptr){
+		fclose(fptr);
+		fprintf(stderr, "dynsec init: '%s' already exists. Remove the file or use a different location..\n", filename);
+		return -1;
+	}
+
+	tree = init_create(admin_user, admin_password, "admin");
+	if(tree == NULL){
+		fprintf(stderr, "dynsec init: Out of memory.\n");
+		return MOSQ_ERR_NOMEM;
+	}
+	json_str = cJSON_Print(tree);
+	cJSON_Delete(tree);
+
+	fptr = fopen(filename, "wb");
+	if(fptr){
+		fprintf(fptr, "%s", json_str);
+		free(json_str);
+		fclose(fptr);
+	}else{
+		free(json_str);
+		fprintf(stderr, "dynsec init: Unable to open '%s' for writing.\n", filename);
+		return -1;
+	}
+
+	printf("The client '%s' has been created in the file '%s'.\n", admin_user, filename);
+	printf("This client is configured to allow you to administer the dynamic security plugin only.\n");
+	printf("It does not have access to publish messages to normal topics.\n");
+	printf("You should create your application clients to do that, for example:\n");
+	printf("   mosquitto_ctrl <connect options> dynsec createClient <username>\n");
+	printf("   mosquitto_ctrl <connect options> dynsec createRole <rolename>\n");
+	printf("   mosquitto_ctrl <connect options> dynsec addRoleACL <rolename> publishClientSend my/topic [priority]\n");
+	printf("   mosquitto_ctrl <connect options> dynsec addClientRole <username> <rolename> [priority]\n");
+	printf("See https://mosquitto.org/documentation/dynamic-security/ for details of all commands.\n");
+
+	return -1; /* Suppress client connection */
+}
+
+/* ################################################################
+ * #
+ * # Main
+ * #
+ * ################################################################ */
+
+int dynsec__main(int argc, char *argv[], struct mosq_ctrl *ctrl)
+{
+	int rc = -1;
+	cJSON *j_tree;
+	cJSON *j_commands, *j_command;
+
+	if(!strcasecmp(argv[0], "help")){
+		dynsec__print_usage();
+		return -1;
+	}else if(!strcasecmp(argv[0], "init")){
+		return dynsec_init(argc-1, &argv[1]);
+	}
+
+	/* The remaining commands need a network connection and JSON command. */
+
+	ctrl->payload_callback = dynsec__payload_callback;
+	ctrl->request_topic = strdup("$CONTROL/dynamic-security/v1");
+	ctrl->response_topic = strdup("$CONTROL/dynamic-security/v1/response");
+	if(ctrl->request_topic == NULL || ctrl->response_topic == NULL){
+		return MOSQ_ERR_NOMEM;
+	}
+	j_tree = cJSON_CreateObject();
+	if(j_tree == NULL) return MOSQ_ERR_NOMEM;
+	j_commands = cJSON_AddArrayToObject(j_tree, "commands");
+	if(j_commands == NULL){
+		cJSON_Delete(j_tree);
+		j_tree = NULL;
+		return MOSQ_ERR_NOMEM;
+	}
+	j_command = cJSON_CreateObject();
+	if(j_command == NULL){
+		cJSON_Delete(j_tree);
+		j_tree = NULL;
+		return MOSQ_ERR_NOMEM;
+	}
+	cJSON_AddItemToArray(j_commands, j_command);
+
+	if(!strcasecmp(argv[0], "setDefaultACLAccess")){
+		rc = dynsec__set_default_acl_access(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "getDefaultACLAccess")){
+		rc = dynsec__get_default_acl_access(argc-1, &argv[1], j_command);
+
+	}else if(!strcasecmp(argv[0], "createClient")){
+		rc = dynsec_client__create(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "deleteClient")){
+		rc = dynsec_client__delete(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "getClient")){
+		rc = dynsec_client__get(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "listClients")){
+		rc = dynsec_client__list_all(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "setClientId")){
+		rc = dynsec_client__set_id(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "setClientPassword")){
+		rc = dynsec_client__set_password(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "addClientRole")){
+		rc = dynsec_client__add_remove_role(argc-1, &argv[1], j_command, argv[0]);
+	}else if(!strcasecmp(argv[0], "removeClientRole")){
+		rc = dynsec_client__add_remove_role(argc-1, &argv[1], j_command, argv[0]);
+	}else if(!strcasecmp(argv[0], "enableClient")){
+		rc = dynsec_client__enable_disable(argc-1, &argv[1], j_command, argv[0]);
+	}else if(!strcasecmp(argv[0], "disableClient")){
+		rc = dynsec_client__enable_disable(argc-1, &argv[1], j_command, argv[0]);
+
+	}else if(!strcasecmp(argv[0], "createGroup")){
+		rc = dynsec_group__create(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "deleteGroup")){
+		rc = dynsec_group__delete(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "getGroup")){
+		rc = dynsec_group__get(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "listGroups")){
+		rc = dynsec_group__list_all(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "addGroupRole")){
+		rc = dynsec_group__add_remove_role(argc-1, &argv[1], j_command, argv[0]);
+	}else if(!strcasecmp(argv[0], "removeGroupRole")){
+		rc = dynsec_group__add_remove_role(argc-1, &argv[1], j_command, argv[0]);
+	}else if(!strcasecmp(argv[0], "addGroupClient")){
+		rc = dynsec_group__add_remove_client(argc-1, &argv[1], j_command, argv[0]);
+	}else if(!strcasecmp(argv[0], "removeGroupClient")){
+		rc = dynsec_group__add_remove_client(argc-1, &argv[1], j_command, argv[0]);
+	}else if(!strcasecmp(argv[0], "setAnonymousGroup")){
+		rc = dynsec_group__set_anonymous(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "getAnonymousGroup")){
+		rc = dynsec_group__get_anonymous(argc-1, &argv[1], j_command);
+
+	}else if(!strcasecmp(argv[0], "createRole")){
+		rc = dynsec_role__create(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "deleteRole")){
+		rc = dynsec_role__delete(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "getRole")){
+		rc = dynsec_role__get(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "listRoles")){
+		rc = dynsec_role__list_all(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "addRoleACL")){
+		rc = dynsec_role__add_acl(argc-1, &argv[1], j_command);
+	}else if(!strcasecmp(argv[0], "removeRoleACL")){
+		rc = dynsec_role__remove_acl(argc-1, &argv[1], j_command);
+
+	}else{
+		fprintf(stderr, "Command '%s' not recognised.\n", argv[0]);
+		return MOSQ_ERR_UNKNOWN;
+	}
+
+	if(rc == MOSQ_ERR_SUCCESS){
+		ctrl->payload = cJSON_PrintUnformatted(j_tree);
+		cJSON_Delete(j_tree);
+		if(ctrl->payload == NULL){
+			fprintf(stderr, "Error: Out of memory.\n");
+			return MOSQ_ERR_NOMEM;
+		}
+	}
+	return rc;
+}

+ 259 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/dynsec_client.c

@@ -0,0 +1,259 @@
+/*
+Copyright (c) 2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+#include <cjson/cJSON.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "mosquitto.h"
+#include "mosquitto_ctrl.h"
+#include "get_password.h"
+#include "password_mosq.h"
+
+int dynsec_client__create(int argc, char *argv[], cJSON *j_command)
+{
+	char *username = NULL, *password = NULL, *clientid = NULL;
+	char prompt[200], verify_prompt[200];
+	char password_buf[200];
+	int rc;
+	int i;
+	bool request_password = true;
+
+	if(argc == 0){
+		return MOSQ_ERR_INVAL;
+	}
+	username = argv[0];
+
+	for(i=1; i<argc; i++){
+		if(!strcmp(argv[i], "-c")){
+			if(i+1 == argc){
+				fprintf(stderr, "Error: -c argument given, but no clientid provided.\n");
+				return MOSQ_ERR_INVAL;
+			}
+			clientid = argv[i+1];
+			i++;
+		}else if(!strcmp(argv[i], "-p")){
+			if(i+1 == argc){
+				fprintf(stderr, "Error: -p argument given, but no password provided.\n");
+				return MOSQ_ERR_INVAL;
+			}
+			password = argv[i+1];
+			i++;
+			request_password = false;
+		}
+	}
+
+	if(request_password){
+		printf("Enter new password for %s. Press return for no password (user will be unable to login).\n", username);
+		snprintf(prompt, sizeof(prompt), "New password for %s: ", username);
+		snprintf(verify_prompt, sizeof(verify_prompt), "Reenter password for %s: ", username);
+		rc = get_password(prompt, verify_prompt, true, password_buf, sizeof(password_buf));
+		if(rc == 0){
+			password = password_buf;
+		}else if(rc == 2){
+			fprintf(stderr, "Error: Passwords do not match.\n");
+			return -1;
+		}else{
+			password = NULL;
+			printf("\n");
+		}
+	}
+	if(cJSON_AddStringToObject(j_command, "command", "createClient") == NULL
+			|| cJSON_AddStringToObject(j_command, "username", username) == NULL
+			|| (clientid && cJSON_AddStringToObject(j_command, "clientid", clientid) == NULL)
+			|| (password && cJSON_AddStringToObject(j_command, "password", password) == NULL)
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_client__delete(int argc, char *argv[], cJSON *j_command)
+{
+	char *username = NULL;
+
+	if(argc == 1){
+		username = argv[0];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "deleteClient") == NULL
+			|| cJSON_AddStringToObject(j_command, "username", username) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_client__enable_disable(int argc, char *argv[], cJSON *j_command, const char *command)
+{
+	char *username = NULL;
+
+	if(argc == 1){
+		username = argv[0];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", command) == NULL
+			|| cJSON_AddStringToObject(j_command, "username", username) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_client__set_id(int argc, char *argv[], cJSON *j_command)
+{
+	char *username = NULL, *clientid = NULL;
+
+	if(argc == 2){
+		username = argv[0];
+		clientid = argv[1];
+	}else if(argc == 1){
+		username = argv[0];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "setClientId") == NULL
+			|| cJSON_AddStringToObject(j_command, "username", username) == NULL
+			|| (clientid && cJSON_AddStringToObject(j_command, "clientid", clientid) == NULL)
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_client__set_password(int argc, char *argv[], cJSON *j_command)
+{
+	char *username = NULL, *password = NULL;
+	char prompt[200], verify_prompt[200];
+	char password_buf[200];
+	int rc;
+
+	if(argc == 2){
+		username = argv[0];
+		password = argv[1];
+	}else if(argc == 1){
+		username = argv[0];
+
+		snprintf(prompt, sizeof(prompt), "New password for %s: ", username);
+		snprintf(verify_prompt, sizeof(verify_prompt), "Reenter password for %s: ", username);
+		rc = get_password(prompt, verify_prompt, false, password_buf, sizeof(password_buf));
+		if(rc){
+			return -1;
+		}
+		password = password_buf;
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "setClientPassword") == NULL
+			|| cJSON_AddStringToObject(j_command, "username", username) == NULL
+			|| cJSON_AddStringToObject(j_command, "password", password) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_client__get(int argc, char *argv[], cJSON *j_command)
+{
+	char *username = NULL;
+
+	if(argc == 1){
+		username = argv[0];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "getClient") == NULL
+			|| cJSON_AddStringToObject(j_command, "username", username) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_client__add_remove_role(int argc, char *argv[], cJSON *j_command, const char *command)
+{
+	char *username = NULL, *rolename = NULL;
+	int priority = -1;
+
+	if(argc == 2){
+		username = argv[0];
+		rolename = argv[1];
+	}else if(argc == 3){
+		username = argv[0];
+		rolename = argv[1];
+		priority = atoi(argv[2]);
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", command) == NULL
+			|| cJSON_AddStringToObject(j_command, "username", username) == NULL
+			|| cJSON_AddStringToObject(j_command, "rolename", rolename) == NULL
+			|| (priority != -1 && cJSON_AddIntToObject(j_command, "priority", priority) == NULL)
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_client__list_all(int argc, char *argv[], cJSON *j_command)
+{
+	int count = -1, offset = -1;
+
+	if(argc == 0){
+		/* All clients */
+	}else if(argc == 1){
+		count = atoi(argv[0]);
+	}else if(argc == 2){
+		count = atoi(argv[0]);
+		offset = atoi(argv[1]);
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "listClients") == NULL
+			|| (count > 0 && cJSON_AddIntToObject(j_command, "count", count) == NULL)
+			|| (offset > 0 && cJSON_AddIntToObject(j_command, "offset", offset) == NULL)
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}

+ 203 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/dynsec_group.c

@@ -0,0 +1,203 @@
+/*
+Copyright (c) 2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+#include "config.h"
+
+#include <cjson/cJSON.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "mosquitto.h"
+#include "mosquitto_ctrl.h"
+#include "password_mosq.h"
+
+int dynsec_group__create(int argc, char *argv[], cJSON *j_command)
+{
+	char *groupname = NULL;
+
+	if(argc == 1){
+		groupname = argv[0];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "createGroup") == NULL
+			|| cJSON_AddStringToObject(j_command, "groupname", groupname) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_group__delete(int argc, char *argv[], cJSON *j_command)
+{
+	char *groupname = NULL;
+
+	if(argc == 1){
+		groupname = argv[0];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "deleteGroup") == NULL
+			|| cJSON_AddStringToObject(j_command, "groupname", groupname) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_group__get_anonymous(int argc, char *argv[], cJSON *j_command)
+{
+	UNUSED(argc);
+	UNUSED(argv);
+
+	if(cJSON_AddStringToObject(j_command, "command", "getAnonymousGroup") == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_group__set_anonymous(int argc, char *argv[], cJSON *j_command)
+{
+	char *groupname = NULL;
+
+	if(argc == 1){
+		groupname = argv[0];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "setAnonymousGroup") == NULL
+			|| cJSON_AddStringToObject(j_command, "groupname", groupname) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_group__get(int argc, char *argv[], cJSON *j_command)
+{
+	char *groupname = NULL;
+
+	if(argc == 1){
+		groupname = argv[0];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "getGroup") == NULL
+			|| cJSON_AddStringToObject(j_command, "groupname", groupname) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_group__add_remove_role(int argc, char *argv[], cJSON *j_command, const char *command)
+{
+	char *groupname = NULL, *rolename = NULL;
+	int priority = -1;
+
+	if(argc == 2){
+		groupname = argv[0];
+		rolename = argv[1];
+	}else if(argc == 3){
+		groupname = argv[0];
+		rolename = argv[1];
+		priority = atoi(argv[2]);
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", command) == NULL
+			|| cJSON_AddStringToObject(j_command, "groupname", groupname) == NULL
+			|| cJSON_AddStringToObject(j_command, "rolename", rolename) == NULL
+			|| (priority != -1 && cJSON_AddIntToObject(j_command, "priority", priority) == NULL)
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_group__list_all(int argc, char *argv[], cJSON *j_command)
+{
+	int count = -1, offset = -1;
+
+	if(argc == 0){
+		/* All groups */
+	}else if(argc == 1){
+		count = atoi(argv[0]);
+	}else if(argc == 2){
+		count = atoi(argv[0]);
+		offset = atoi(argv[1]);
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "listGroups") == NULL
+			|| (count > 0 && cJSON_AddIntToObject(j_command, "count", count) == NULL)
+			|| (offset > 0 && cJSON_AddIntToObject(j_command, "offset", offset) == NULL)
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_group__add_remove_client(int argc, char *argv[], cJSON *j_command, const char *command)
+{
+	char *username, *groupname;
+	int priority = -1;
+
+	if(argc == 2){
+		groupname = argv[0];
+		username = argv[1];
+	}else if(argc == 3){
+		groupname = argv[0];
+		username = argv[1];
+		priority = atoi(argv[2]);
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", command) == NULL
+			|| cJSON_AddStringToObject(j_command, "username", username) == NULL
+			|| cJSON_AddStringToObject(j_command, "groupname", groupname) == NULL
+			|| (priority != -1 && cJSON_AddIntToObject(j_command, "priority", priority) == NULL)
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}

+ 199 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/dynsec_role.c

@@ -0,0 +1,199 @@
+/*
+Copyright (c) 2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+#include "config.h"
+
+#include <cjson/cJSON.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "mosquitto.h"
+#include "mosquitto_ctrl.h"
+#include "password_mosq.h"
+
+int dynsec_role__create(int argc, char *argv[], cJSON *j_command)
+{
+	char *rolename = NULL;
+
+	if(argc == 1){
+		rolename = argv[0];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "createRole") == NULL
+			|| cJSON_AddStringToObject(j_command, "rolename", rolename) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_role__delete(int argc, char *argv[], cJSON *j_command)
+{
+	char *rolename = NULL;
+
+	if(argc == 1){
+		rolename = argv[0];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "deleteRole") == NULL
+			|| cJSON_AddStringToObject(j_command, "rolename", rolename) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_role__get(int argc, char *argv[], cJSON *j_command)
+{
+	char *rolename = NULL;
+
+	if(argc == 1){
+		rolename = argv[0];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "getRole") == NULL
+			|| cJSON_AddStringToObject(j_command, "rolename", rolename) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_role__list_all(int argc, char *argv[], cJSON *j_command)
+{
+	int count = -1, offset = -1;
+
+	if(argc == 0){
+		/* All roles */
+	}else if(argc == 1){
+		count = atoi(argv[0]);
+	}else if(argc == 2){
+		count = atoi(argv[0]);
+		offset = atoi(argv[1]);
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "listRoles") == NULL
+			|| (count > 0 && cJSON_AddIntToObject(j_command, "count", count) == NULL)
+			|| (offset > 0 && cJSON_AddIntToObject(j_command, "offset", offset) == NULL)
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_role__add_acl(int argc, char *argv[], cJSON *j_command)
+{
+	char *rolename, *acltype, *topic, *action;
+	bool allow;
+	int priority = -1;
+
+	if(argc == 5){
+		rolename = argv[0];
+		acltype = argv[1];
+		topic = argv[2];
+		action = argv[3];
+		priority = atoi(argv[4]);
+	}else if(argc == 4){
+		rolename = argv[0];
+		acltype = argv[1];
+		topic = argv[2];
+		action = argv[3];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(strcasecmp(acltype, "publishClientSend")
+			&& strcasecmp(acltype, "publishClientReceive")
+			&& strcasecmp(acltype, "subscribeLiteral")
+			&& strcasecmp(acltype, "subscribePattern")
+			&& strcasecmp(acltype, "unsubscribeLiteral")
+			&& strcasecmp(acltype, "unsubscribePattern")){
+
+		return MOSQ_ERR_INVAL;
+	}
+	if(!strcasecmp(action, "allow")){
+		allow = true;
+	}else if(!strcasecmp(action, "deny")){
+		allow = false;
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "addRoleACL") == NULL
+			|| cJSON_AddStringToObject(j_command, "rolename", rolename) == NULL
+			|| cJSON_AddStringToObject(j_command, "acltype", acltype) == NULL
+			|| cJSON_AddStringToObject(j_command, "topic", topic) == NULL
+			|| cJSON_AddBoolToObject(j_command, "allow", allow) == NULL
+			|| (priority != -1 && cJSON_AddIntToObject(j_command, "priority", priority) == NULL)
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}
+
+int dynsec_role__remove_acl(int argc, char *argv[], cJSON *j_command)
+{
+	char *rolename, *acltype, *topic;
+
+	if(argc == 3){
+		rolename = argv[0];
+		acltype = argv[1];
+		topic = argv[2];
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(strcasecmp(acltype, "publishClientSend")
+			&& strcasecmp(acltype, "publishClientReceive")
+			&& strcasecmp(acltype, "subscribeLiteral")
+			&& strcasecmp(acltype, "subscribePattern")
+			&& strcasecmp(acltype, "unsubscribeLiteral")
+			&& strcasecmp(acltype, "unsubscribePattern")){
+
+		return MOSQ_ERR_INVAL;
+	}
+
+	if(cJSON_AddStringToObject(j_command, "command", "removeRoleACL") == NULL
+			|| cJSON_AddStringToObject(j_command, "rolename", rolename) == NULL
+			|| cJSON_AddStringToObject(j_command, "acltype", acltype) == NULL
+			|| cJSON_AddStringToObject(j_command, "topic", topic) == NULL
+			){
+
+		return MOSQ_ERR_NOMEM;
+	}else{
+		return MOSQ_ERR_SUCCESS;
+	}
+}

+ 45 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/example.c

@@ -0,0 +1,45 @@
+/*
+Copyright (c) 2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+#include "config.h"
+
+#include <cjson/cJSON.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "mosquitto_ctrl.h"
+
+void ctrl_help(void)
+{
+	printf("\nExample module\n");
+	printf("==============\n");
+	printf("    mosquitto_ctrl example help\n");
+}
+
+int ctrl_main(int argc, char *argv[], struct mosq_ctrl *ctrl)
+{
+	UNUSED(argc);
+	UNUSED(ctrl);
+
+	if(!strcasecmp(argv[0], "help")){
+		ctrl_help();
+		return -1;
+	}else{
+		return MOSQ_ERR_INVAL;
+	}
+}

+ 110 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/mosquitto_ctrl.c

@@ -0,0 +1,110 @@
+/*
+Copyright (c) 2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+
+#include "config.h"
+
+#include <errno.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "lib_load.h"
+#include "mosquitto.h"
+#include "mosquitto_ctrl.h"
+
+static void print_version(void)
+{
+	int major, minor, revision;
+
+	mosquitto_lib_version(&major, &minor, &revision);
+	printf("mosquitto_ctrl version %s running on libmosquitto %d.%d.%d.\n", VERSION, major, minor, revision);
+}
+
+static void print_usage(void)
+{
+	printf("mosquitto_ctrl is a tool for administering certain Mosquitto features.\n");
+	print_version();
+	printf("\nGeneral usage: mosquitto_ctrl <module> <module-command> <command-options>\n");
+	printf("For module specific help use: mosquitto_ctrl <module> help\n");
+	printf("\nModules available: dynsec\n");
+	printf("\nFor more information see:\n");
+	printf("    https://mosquitto.org/man/mosquitto_ctrl-1.html\n\n");
+}
+
+
+int main(int argc, char *argv[])
+{
+	struct mosq_ctrl ctrl;
+	int rc = MOSQ_ERR_SUCCESS;
+	FUNC_ctrl_main l_ctrl_main = NULL;
+	void *lib = NULL;
+	char lib_name[200];
+
+	if(argc == 1){
+		print_usage();
+		return 1;
+	}
+
+	memset(&ctrl, 0, sizeof(ctrl));
+	init_config(&ctrl.cfg);
+
+	/* Shift program name out of args */
+	argc--;
+	argv++;
+
+	ctrl_config_parse(&ctrl.cfg, &argc, &argv);
+
+	if(argc < 2){
+		print_usage();
+		return 1;
+	}
+
+	/* In built modules */
+	if(!strcasecmp(argv[0], "dynsec")){
+		l_ctrl_main = dynsec__main;
+	}else{
+		/* Attempt external module */
+		snprintf(lib_name, sizeof(lib_name), "mosquitto_ctrl_%s.so", argv[0]);
+		lib = LIB_LOAD(lib_name);
+		if(lib){
+			l_ctrl_main = (FUNC_ctrl_main)LIB_SYM(lib, "ctrl_main");
+		}
+	}
+	if(l_ctrl_main == NULL){
+		fprintf(stderr, "Error: Module '%s' not supported.\n", argv[0]);
+		rc = MOSQ_ERR_NOT_SUPPORTED;
+	}
+
+	if(l_ctrl_main){
+		rc = l_ctrl_main(argc-1, &argv[1], &ctrl);
+		if(rc < 0){
+			/* Usage print */
+			rc = 0;
+		}else if(rc == MOSQ_ERR_SUCCESS){
+			rc = client_request_response(&ctrl);
+		}else if(rc == MOSQ_ERR_UNKNOWN){
+			/* Message printed already */
+		}else{
+			fprintf(stderr, "Error: %s\n", mosquitto_strerror(rc));
+		}
+	}
+
+	client_config_cleanup(&ctrl.cfg);
+	return rc;
+}

+ 123 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/mosquitto_ctrl.h

@@ -0,0 +1,123 @@
+/*
+Copyright (c) 2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+#ifndef MOSQUITTO_CTRL_H
+#define MOSQUITTO_CTRL_H
+
+#include <cjson/cJSON.h>
+#include <stdbool.h>
+
+#include "mosquitto.h"
+
+#define PORT_UNDEFINED -1
+#define PORT_UNIX 0
+
+struct mosq_config {
+	char *id;
+	int protocol_version;
+	int keepalive;
+	char *host;
+	int port;
+	int qos;
+	char *bind_address;
+	bool debug;
+	bool quiet;
+	char *username;
+	char *password;
+	char *options_file;
+#ifdef WITH_TLS
+	char *cafile;
+	char *capath;
+	char *certfile;
+	char *keyfile;
+	char *ciphers;
+	bool insecure;
+	char *tls_alpn;
+	char *tls_version;
+	char *tls_engine;
+	char *tls_engine_kpass_sha1;
+	char *keyform;
+#  ifdef FINAL_WITH_TLS_PSK
+	char *psk;
+	char *psk_identity;
+#  endif
+#endif
+	bool verbose; /* sub */
+	unsigned int timeout; /* sub */
+#ifdef WITH_SOCKS
+	char *socks5_host;
+	int socks5_port;
+	char *socks5_username;
+	char *socks5_password;
+#endif
+};
+
+struct mosq_ctrl {
+	struct mosq_config cfg;
+	char *request_topic;
+	char *response_topic;
+	char *payload;
+	void (*payload_callback)(struct mosq_ctrl *, long , const void *);
+	void *userdata;
+};
+
+typedef int (*FUNC_ctrl_main)(int argc, char *argv[], struct mosq_ctrl *ctrl);
+
+void init_config(struct mosq_config *cfg);
+int ctrl_config_parse(struct mosq_config *cfg, int *argc, char **argv[]);
+int client_config_load(struct mosq_config *cfg);
+void client_config_cleanup(struct mosq_config *cfg);
+
+int client_request_response(struct mosq_ctrl *ctrl);
+int client_opts_set(struct mosquitto *mosq, struct mosq_config *cfg);
+int client_connect(struct mosquitto *mosq, struct mosq_config *cfg);
+
+cJSON *cJSON_AddIntToObject(cJSON * const object, const char * const name, int number);
+
+void dynsec__print_usage(void);
+int dynsec__main(int argc, char *argv[], struct mosq_ctrl *ctrl);
+
+int dynsec_client__add_remove_role(int argc, char *argv[], cJSON *j_command, const char *command);
+int dynsec_client__create(int argc, char *argv[], cJSON *j_command);
+int dynsec_client__delete(int argc, char *argv[], cJSON *j_command);
+int dynsec_client__enable_disable(int argc, char *argv[], cJSON *j_command, const char *command);
+int dynsec_client__get(int argc, char *argv[], cJSON *j_command);
+int dynsec_client__list_all(int argc, char *argv[], cJSON *j_command);
+int dynsec_client__set_id(int argc, char *argv[], cJSON *j_command);
+int dynsec_client__set_password(int argc, char *argv[], cJSON *j_command);
+
+int dynsec_group__add_remove_client(int argc, char *argv[], cJSON *j_command, const char *command);
+int dynsec_group__add_remove_role(int argc, char *argv[], cJSON *j_command, const char *command);
+int dynsec_group__create(int argc, char *argv[], cJSON *j_command);
+int dynsec_group__delete(int argc, char *argv[], cJSON *j_command);
+int dynsec_group__get(int argc, char *argv[], cJSON *j_command);
+int dynsec_group__list_all(int argc, char *argv[], cJSON *j_command);
+int dynsec_group__set_anonymous(int argc, char *argv[], cJSON *j_command);
+int dynsec_group__get_anonymous(int argc, char *argv[], cJSON *j_command);
+
+int dynsec_role__create(int argc, char *argv[], cJSON *j_command);
+int dynsec_role__delete(int argc, char *argv[], cJSON *j_command);
+int dynsec_role__get(int argc, char *argv[], cJSON *j_command);
+int dynsec_role__list_all(int argc, char *argv[], cJSON *j_command);
+int dynsec_role__add_acl(int argc, char *argv[], cJSON *j_command);
+int dynsec_role__remove_acl(int argc, char *argv[], cJSON *j_command);
+
+/* Functions to implement as an external module: */
+void ctrl_help(void);
+int ctrl_main(int argc, char *argv[], struct mosq_ctrl *ctrl);
+
+#endif

+ 920 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_ctrl/options.c

@@ -0,0 +1,920 @@
+/*
+Copyright (c) 2014-2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+
+#include "config.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#ifndef WIN32
+#include <unistd.h>
+#include <strings.h>
+#else
+#include <process.h>
+#include <winsock2.h>
+#define snprintf sprintf_s
+#define strncasecmp _strnicmp
+#endif
+
+#include <mosquitto.h>
+#include <mqtt_protocol.h>
+#include "mosquitto_ctrl.h"
+#include "get_password.h"
+
+#ifdef WITH_SOCKS
+static int mosquitto__parse_socks_url(struct mosq_config *cfg, char *url);
+#endif
+static int client_config_line_proc(struct mosq_config *cfg, int *argc, char **argvp[]);
+
+
+void init_config(struct mosq_config *cfg)
+{
+	cfg->qos = 1;
+	cfg->port = PORT_UNDEFINED;
+	cfg->protocol_version = MQTT_PROTOCOL_V5;
+}
+
+void client_config_cleanup(struct mosq_config *cfg)
+{
+	free(cfg->id);
+	free(cfg->host);
+	free(cfg->bind_address);
+	free(cfg->username);
+	free(cfg->password);
+	free(cfg->options_file);
+#ifdef WITH_TLS
+	free(cfg->cafile);
+	free(cfg->capath);
+	free(cfg->certfile);
+	free(cfg->keyfile);
+	free(cfg->ciphers);
+	free(cfg->tls_alpn);
+	free(cfg->tls_version);
+	free(cfg->tls_engine);
+	free(cfg->tls_engine_kpass_sha1);
+	free(cfg->keyform);
+#  ifdef FINAL_WITH_TLS_PSK
+	free(cfg->psk);
+	free(cfg->psk_identity);
+#  endif
+#endif
+#ifdef WITH_SOCKS
+	free(cfg->socks5_host);
+	free(cfg->socks5_username);
+	free(cfg->socks5_password);
+#endif
+}
+
+int ctrl_config_parse(struct mosq_config *cfg, int *argc, char **argv[])
+{
+	int rc;
+
+	init_config(cfg);
+
+	rc = client_config_load(cfg);
+	if(rc) return rc;
+
+	/* Deal with real argc/argv */
+	rc = client_config_line_proc(cfg, argc, argv);
+	if(rc) return rc;
+
+#ifdef WITH_TLS
+	if((cfg->certfile && !cfg->keyfile) || (cfg->keyfile && !cfg->certfile)){
+		fprintf(stderr, "Error: Both certfile and keyfile must be provided if one of them is set.\n");
+		return 1;
+	}
+	if((cfg->keyform && !cfg->keyfile)){
+		fprintf(stderr, "Error: If keyform is set, keyfile must be also specified.\n");
+		return 1;
+	}
+	if((cfg->tls_engine_kpass_sha1 && (!cfg->keyform || !cfg->tls_engine))){
+		fprintf(stderr, "Error: when using tls-engine-kpass-sha1, both tls-engine and keyform must also be provided.\n");
+		return 1;
+	}
+#endif
+#ifdef FINAL_WITH_TLS_PSK
+	if((cfg->cafile || cfg->capath) && cfg->psk){
+		fprintf(stderr, "Error: Only one of --psk or --cafile/--capath may be used at once.\n");
+		return 1;
+	}
+	if(cfg->psk && !cfg->psk_identity){
+		fprintf(stderr, "Error: --psk-identity required if --psk used.\n");
+		return 1;
+	}
+#endif
+
+	if(!cfg->host){
+		cfg->host = strdup("localhost");
+		if(!cfg->host){
+			fprintf(stderr, "Error: Out of memory.\n");
+			return 1;
+		}
+	}
+
+	return MOSQ_ERR_SUCCESS;
+}
+
+/* Process a tokenised single line from a file or set of real argc/argv */
+static int client_config_line_proc(struct mosq_config *cfg, int *argc, char **argvp[])
+{
+	char **argv = *argvp;
+
+	while((*argc) && argv[0][0] == '-'){
+		if(!strcmp(argv[0], "-A")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: -A argument given but no address specified.\n\n");
+				return 1;
+			}else{
+				cfg->bind_address = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+#ifdef WITH_TLS
+		}else if(!strcmp(argv[0], "--cafile")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --cafile argument given but no file specified.\n\n");
+				return 1;
+			}else{
+				cfg->cafile = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "--capath")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --capath argument given but no directory specified.\n\n");
+				return 1;
+			}else{
+				cfg->capath = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "--cert")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --cert argument given but no file specified.\n\n");
+				return 1;
+			}else{
+				cfg->certfile = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "--ciphers")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --ciphers argument given but no ciphers specified.\n\n");
+				return 1;
+			}else{
+				cfg->ciphers = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+#endif
+		}else if(!strcmp(argv[0], "-d") || !strcmp(argv[0], "--debug")){
+			cfg->debug = true;
+		}else if(!strcmp(argv[0], "--help")){
+			return 2;
+		}else if(!strcmp(argv[0], "-h") || !strcmp(argv[0], "--host")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: -h argument given but no host specified.\n\n");
+				return 1;
+			}else{
+				cfg->host = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+#ifdef WITH_TLS
+		}else if(!strcmp(argv[0], "--insecure")){
+			cfg->insecure = true;
+#endif
+		}else if(!strcmp(argv[0], "-i") || !strcmp(argv[0], "--id")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: -i argument given but no id specified.\n\n");
+				return 1;
+			}else{
+				cfg->id = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+#ifdef WITH_TLS
+		}else if(!strcmp(argv[0], "--key")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --key argument given but no file specified.\n\n");
+				return 1;
+			}else{
+				cfg->keyfile = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "--keyform")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --keyform argument given but no keyform specified.\n\n");
+				return 1;
+			}else{
+				cfg->keyform = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+#endif
+		}else if(!strcmp(argv[0], "-L") || !strcmp(argv[0], "--url")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: -L argument given but no URL specified.\n\n");
+				return 1;
+			} else {
+				char *url = argv[1];
+				char *topic;
+				char *tmp;
+
+				if(!strncasecmp(url, "mqtt://", 7)) {
+					url += 7;
+					cfg->port = 1883;
+				} else if(!strncasecmp(url, "mqtts://", 8)) {
+					url += 8;
+					cfg->port = 8883;
+				} else {
+					fprintf(stderr, "Error: unsupported URL scheme.\n\n");
+					return 1;
+				}
+				topic = strchr(url, '/');
+				if(!topic){
+					fprintf(stderr, "Error: Invalid URL for -L argument specified - topic missing.\n");
+					return 1;
+				}
+				*topic++ = 0;
+
+				tmp = strchr(url, '@');
+				if(tmp) {
+					*tmp++ = 0;
+					char *colon = strchr(url, ':');
+					if(colon) {
+						*colon = 0;
+						cfg->password = strdup(colon + 1);
+					}
+					cfg->username = strdup(url);
+					url = tmp;
+				}
+				cfg->host = url;
+
+				tmp = strchr(url, ':');
+				if(tmp) {
+					*tmp++ = 0;
+					cfg->port = atoi(tmp);
+				}
+				/* Now we've removed the port, time to get the host on the heap */
+				cfg->host = strdup(cfg->host);
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "-o")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: -o argument given but no options file specified.\n\n");
+				return 1;
+			}else{
+				cfg->options_file = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "-p") || !strcmp(argv[0], "--port")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: -p argument given but no port specified.\n\n");
+				return 1;
+			}else{
+				cfg->port = atoi(argv[1]);
+				if(cfg->port<0 || cfg->port>65535){
+					fprintf(stderr, "Error: Invalid port given: %d\n", cfg->port);
+					return 1;
+				}
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "-P") || !strcmp(argv[0], "--pw")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: -P argument given but no password specified.\n\n");
+				return 1;
+			}else{
+				cfg->password = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+#ifdef WITH_SOCKS
+		}else if(!strcmp(argv[0], "--proxy")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --proxy argument given but no proxy url specified.\n\n");
+				return 1;
+			}else{
+				if(mosquitto__parse_socks_url(cfg, argv[1])){
+					return 1;
+				}
+			}
+			argv++;
+			(*argc)--;
+#endif
+#ifdef FINAL_WITH_TLS_PSK
+		}else if(!strcmp(argv[0], "--psk")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --psk argument given but no key specified.\n\n");
+				return 1;
+			}else{
+				cfg->psk = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "--psk-identity")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --psk-identity argument given but no identity specified.\n\n");
+				return 1;
+			}else{
+				cfg->psk_identity = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+#endif
+		}else if(!strcmp(argv[0], "-q") || !strcmp(argv[0], "--qos")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: -q argument given but no QoS specified.\n\n");
+				return 1;
+			}else{
+				cfg->qos = atoi(argv[1]);
+				if(cfg->qos<0 || cfg->qos>2){
+					fprintf(stderr, "Error: Invalid QoS given: %d\n", cfg->qos);
+					return 1;
+				}
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "--quiet")){
+			cfg->quiet = true;
+#ifdef WITH_TLS
+		}else if(!strcmp(argv[0], "--tls-alpn")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --tls-alpn argument given but no protocol specified.\n\n");
+				return 1;
+			}else{
+				cfg->tls_alpn = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "--tls-engine")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --tls-engine argument given but no engine_id specified.\n\n");
+				return 1;
+			}else{
+				cfg->tls_engine = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "--tls-engine-kpass-sha1")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --tls-engine-kpass-sha1 argument given but no kpass sha1 specified.\n\n");
+				return 1;
+			}else{
+				cfg->tls_engine_kpass_sha1 = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "--tls-version")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --tls-version argument given but no version specified.\n\n");
+				return 1;
+			}else{
+				cfg->tls_version = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+#endif
+		}else if(!strcmp(argv[0], "-u") || !strcmp(argv[0], "--username")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: -u argument given but no username specified.\n\n");
+				return 1;
+			}else{
+				cfg->username = strdup(argv[1]);
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "--unix")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --unix argument given but no socket path specified.\n\n");
+				return 1;
+			}else{
+				cfg->host = strdup(argv[1]);
+				cfg->port = 0;
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "-V") || !strcmp(argv[0], "--protocol-version")){
+			if((*argc) == 1){
+				fprintf(stderr, "Error: --protocol-version argument given but no version specified.\n\n");
+				return 1;
+			}else{
+				if(!strcmp(argv[1], "mqttv31") || !strcmp(argv[1], "31")){
+					cfg->protocol_version = MQTT_PROTOCOL_V31;
+				}else if(!strcmp(argv[1], "mqttv311") || !strcmp(argv[1], "311")){
+					cfg->protocol_version = MQTT_PROTOCOL_V311;
+				}else if(!strcmp(argv[1], "mqttv5") || !strcmp(argv[1], "5")){
+					cfg->protocol_version = MQTT_PROTOCOL_V5;
+				}else{
+					fprintf(stderr, "Error: Invalid protocol version argument given.\n\n");
+					return 1;
+				}
+			}
+			argv++;
+			(*argc)--;
+		}else if(!strcmp(argv[0], "-v") || !strcmp(argv[0], "--verbose")){
+			cfg->verbose = 1;
+		}else if(!strcmp(argv[0], "--version")){
+			return 3;
+		}else{
+			goto unknown_option;
+		}
+		argv++;
+		(*argc)--;
+	}
+	*argvp = argv;
+
+	return MOSQ_ERR_SUCCESS;
+
+unknown_option:
+	fprintf(stderr, "Error: Unknown option '%s'.\n",argv[0]);
+	return 1;
+}
+
+static char *get_default_cfg_location(void)
+{
+	char *loc = NULL;
+	size_t len;
+#ifndef WIN32
+	char *env;
+#else
+	char env[1024];
+	int rc;
+#endif
+
+#ifndef WIN32
+	env = getenv("XDG_CONFIG_HOME");
+	if(env){
+		len = strlen(env) + strlen("/mosquitto_ctrl") + 1;
+		loc = malloc(len);
+		if(!loc){
+			fprintf(stderr, "Error: Out of memory.\n");
+			return NULL;
+		}
+		snprintf(loc, len, "%s/mosquitto_ctrl", env);
+		loc[len-1] = '\0';
+	}else{
+		env = getenv("HOME");
+		if(env){
+			len = strlen(env) + strlen("/.config/mosquitto_ctrl") + 1;
+			loc = malloc(len);
+			if(!loc){
+				fprintf(stderr, "Error: Out of memory.\n");
+				return NULL;
+			}
+			snprintf(loc, len, "%s/.config/mosquitto_ctrl", env);
+			loc[len-1] = '\0';
+		}
+	}
+
+#else
+	rc = GetEnvironmentVariable("USERPROFILE", env, 1024);
+	if(rc > 0 && rc < 1024){
+		len = strlen(env) + strlen("\\mosquitto_ctrl.conf") + 1;
+		loc = malloc(len);
+		if(!loc){
+			fprintf(stderr, "Error: Out of memory.\n");
+			return NULL;
+		}
+		snprintf(loc, len, "%s\\mosquitto_ctrl.conf", env);
+		loc[len-1] = '\0';
+	}
+#endif
+	return loc;
+}
+
+int client_config_load(struct mosq_config *cfg)
+{
+	int rc;
+	FILE *fptr = NULL;
+	char line[1024];
+	int count;
+	char **local_args, **args;
+	char *default_cfg;
+
+	if(cfg->options_file){
+		fptr = fopen(cfg->options_file, "rt");
+	}else{
+		default_cfg = get_default_cfg_location();
+		if(default_cfg){
+			fptr = fopen(default_cfg, "rt");
+			free(default_cfg);
+		}
+	}
+
+	if(fptr){
+		local_args = malloc(3*sizeof(char *));
+		if(local_args == NULL){
+			fprintf(stderr, "Error: Out of memory.\n");
+			fclose(fptr);
+			return 1;
+		}
+		while(fgets(line, 1024, fptr)){
+			if(line[0] == '#') continue; /* Comments */
+
+			while(line[strlen(line)-1] == 10 || line[strlen(line)-1] == 13){
+				line[strlen(line)-1] = 0;
+			}
+			local_args[0] = strtok(line, " ");
+			if(local_args[0]){
+				local_args[1] = strtok(NULL, " ");
+				if(local_args[1]){
+					count = 2;
+				}else{
+					count = 1;
+				}
+				args = local_args;
+				rc = client_config_line_proc(cfg, &count, &args);
+				if(rc){
+					fclose(fptr);
+					free(local_args);
+					return rc;
+				}
+			}
+		}
+		fclose(fptr);
+		free(local_args);
+	}
+	return 0;
+}
+
+
+int client_opts_set(struct mosquitto *mosq, struct mosq_config *cfg)
+{
+	int rc;
+	char prompt[1000];
+	char password[1000];
+
+	mosquitto_int_option(mosq, MOSQ_OPT_PROTOCOL_VERSION, cfg->protocol_version);
+
+	if(cfg->username && cfg->password == NULL){
+		/* Ask for password */
+		snprintf(prompt, sizeof(prompt), "Password for %s: ", cfg->username);
+		rc = get_password(prompt, NULL, false, password, sizeof(password));
+		if(rc){
+			fprintf(stderr, "Error getting password.\n");
+			mosquitto_lib_cleanup();
+			return 1;
+		}
+		cfg->password = strdup(password);
+		if(cfg->password == NULL){
+			fprintf(stderr, "Error: Out of memory.\n");
+			mosquitto_lib_cleanup();
+			return 1;
+		}
+	}
+
+	if((cfg->username || cfg->password) && mosquitto_username_pw_set(mosq, cfg->username, cfg->password)){
+		fprintf(stderr, "Error: Problem setting username and/or password.\n");
+		mosquitto_lib_cleanup();
+		return 1;
+	}
+#ifdef WITH_TLS
+	if(cfg->cafile || cfg->capath){
+		rc = mosquitto_tls_set(mosq, cfg->cafile, cfg->capath, cfg->certfile, cfg->keyfile, NULL);
+		if(rc){
+			if(rc == MOSQ_ERR_INVAL){
+				fprintf(stderr, "Error: Problem setting TLS options: File not found.\n");
+			}else{
+				fprintf(stderr, "Error: Problem setting TLS options: %s.\n", mosquitto_strerror(rc));
+			}
+			mosquitto_lib_cleanup();
+			return 1;
+		}
+	}
+	if(cfg->insecure && mosquitto_tls_insecure_set(mosq, true)){
+		fprintf(stderr, "Error: Problem setting TLS insecure option.\n");
+		mosquitto_lib_cleanup();
+		return 1;
+	}
+	if(cfg->tls_engine && mosquitto_string_option(mosq, MOSQ_OPT_TLS_ENGINE, cfg->tls_engine)){
+		fprintf(stderr, "Error: Problem setting TLS engine, is %s a valid engine?\n", cfg->tls_engine);
+		mosquitto_lib_cleanup();
+		return 1;
+	}
+	if(cfg->keyform && mosquitto_string_option(mosq, MOSQ_OPT_TLS_KEYFORM, cfg->keyform)){
+		fprintf(stderr, "Error: Problem setting key form, it must be one of 'pem' or 'engine'.\n");
+		mosquitto_lib_cleanup();
+		return 1;
+	}
+	if(cfg->tls_engine_kpass_sha1 && mosquitto_string_option(mosq, MOSQ_OPT_TLS_ENGINE_KPASS_SHA1, cfg->tls_engine_kpass_sha1)){
+		fprintf(stderr, "Error: Problem setting TLS engine key pass sha, is it a 40 character hex string?\n");
+		mosquitto_lib_cleanup();
+		return 1;
+	}
+	if(cfg->tls_alpn && mosquitto_string_option(mosq, MOSQ_OPT_TLS_ALPN, cfg->tls_alpn)){
+		fprintf(stderr, "Error: Problem setting TLS ALPN protocol.\n");
+		mosquitto_lib_cleanup();
+		return 1;
+	}
+#  ifdef FINAL_WITH_TLS_PSK
+	if(cfg->psk && mosquitto_tls_psk_set(mosq, cfg->psk, cfg->psk_identity, NULL)){
+		fprintf(stderr, "Error: Problem setting TLS-PSK options.\n");
+		mosquitto_lib_cleanup();
+		return 1;
+	}
+#  endif
+	if((cfg->tls_version || cfg->ciphers) && mosquitto_tls_opts_set(mosq, 1, cfg->tls_version, cfg->ciphers)){
+		fprintf(stderr, "Error: Problem setting TLS options, check the options are valid.\n");
+		mosquitto_lib_cleanup();
+		return 1;
+	}
+#endif
+#ifdef WITH_SOCKS
+	if(cfg->socks5_host){
+		rc = mosquitto_socks5_set(mosq, cfg->socks5_host, cfg->socks5_port, cfg->socks5_username, cfg->socks5_password);
+		if(rc){
+			mosquitto_lib_cleanup();
+			return rc;
+		}
+	}
+#endif
+	return MOSQ_ERR_SUCCESS;
+}
+
+
+int client_connect(struct mosquitto *mosq, struct mosq_config *cfg)
+{
+#ifndef WIN32
+	char *err;
+#else
+	char err[1024];
+#endif
+	int rc;
+	int port;
+
+	if(cfg->port == PORT_UNDEFINED){
+#ifdef WITH_TLS
+		if(cfg->cafile || cfg->capath
+#  ifdef FINAL_WITH_TLS_PSK
+				|| cfg->psk
+#  endif
+				){
+			port = 8883;
+		}else
+#endif
+		{
+			port = 1883;
+		}
+	}else{
+		port = cfg->port;
+	}
+
+	rc = mosquitto_connect_bind_v5(mosq, cfg->host, port, 60, cfg->bind_address, NULL);
+	if(rc>0){
+		if(rc == MOSQ_ERR_ERRNO){
+#ifndef WIN32
+			err = strerror(errno);
+#else
+			FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, errno, 0, (LPTSTR)&err, 1024, NULL);
+#endif
+			fprintf(stderr, "Error: %s\n", err);
+		}else{
+			fprintf(stderr, "Unable to connect (%s).\n", mosquitto_strerror(rc));
+		}
+		mosquitto_lib_cleanup();
+		return rc;
+	}
+	return MOSQ_ERR_SUCCESS;
+}
+
+#ifdef WITH_SOCKS
+/* Convert %25 -> %, %3a, %3A -> :, %40 -> @ */
+static int mosquitto__urldecode(char *str)
+{
+	int i, j;
+	size_t len;
+	if(!str) return 0;
+
+	if(!strchr(str, '%')) return 0;
+
+	len = strlen(str);
+	for(i=0; i<len; i++){
+		if(str[i] == '%'){
+			if(i+2 >= len){
+				return 1;
+			}
+			if(str[i+1] == '2' && str[i+2] == '5'){
+				str[i] = '%';
+				len -= 2;
+				for(j=i+1; j<len; j++){
+					str[j] = str[j+2];
+				}
+				str[j] = '\0';
+			}else if(str[i+1] == '3' && (str[i+2] == 'A' || str[i+2] == 'a')){
+				str[i] = ':';
+				len -= 2;
+				for(j=i+1; j<len; j++){
+					str[j] = str[j+2];
+				}
+				str[j] = '\0';
+			}else if(str[i+1] == '4' && str[i+2] == '0'){
+				str[i] = ':';
+				len -= 2;
+				for(j=i+1; j<len; j++){
+					str[j] = str[j+2];
+				}
+				str[j] = '\0';
+			}else{
+				return 1;
+			}
+		}
+	}
+	return 0;
+}
+
+static int mosquitto__parse_socks_url(struct mosq_config *cfg, char *url)
+{
+	char *str;
+	size_t i;
+	char *username = NULL, *password = NULL, *host = NULL, *port = NULL;
+	char *username_or_host = NULL;
+	size_t start;
+	size_t len;
+	bool have_auth = false;
+	int port_int;
+
+	if(!strncmp(url, "socks5h://", strlen("socks5h://"))){
+		str = url + strlen("socks5h://");
+	}else{
+		fprintf(stderr, "Error: Unsupported proxy protocol: %s\n", url);
+		return 1;
+	}
+
+	// socks5h://username:password@host:1883
+	// socks5h://username:password@host
+	// socks5h://username@host:1883
+	// socks5h://username@host
+	// socks5h://host:1883
+	// socks5h://host
+
+	start = 0;
+	for(i=0; i<strlen(str); i++){
+		if(str[i] == ':'){
+			if(i == start){
+				goto cleanup;
+			}
+			if(have_auth){
+				/* Have already seen a @ , so this must be of form
+				 * socks5h://username[:password]@host:port */
+				if(host){
+					/* Already seen a host, must be malformed. */
+					goto cleanup;
+				}
+				len = i-start;
+				host = malloc(len + 1);
+				if(!host){
+					fprintf(stderr, "Error: Out of memory.\n");
+					goto cleanup;
+				}
+				memcpy(host, &(str[start]), len);
+				host[len] = '\0';
+				start = i+1;
+			}else if(!username_or_host){
+				/* Haven't seen a @ before, so must be of form
+				 * socks5h://host:port or
+				 * socks5h://username:password@host[:port] */
+				len = i-start;
+				username_or_host = malloc(len + 1);
+				if(!username_or_host){
+					fprintf(stderr, "Error: Out of memory.\n");
+					goto cleanup;
+				}
+				memcpy(username_or_host, &(str[start]), len);
+				username_or_host[len] = '\0';
+				start = i+1;
+			}
+		}else if(str[i] == '@'){
+			if(i == start){
+				goto cleanup;
+			}
+			have_auth = true;
+			if(username_or_host){
+				/* Must be of form socks5h://username:password@... */
+				username = username_or_host;
+				username_or_host = NULL;
+
+				len = i-start;
+				password = malloc(len + 1);
+				if(!password){
+					fprintf(stderr, "Error: Out of memory.\n");
+					goto cleanup;
+				}
+				memcpy(password, &(str[start]), len);
+				password[len] = '\0';
+				start = i+1;
+			}else{
+				/* Haven't seen a : yet, so must be of form
+				 * socks5h://username@... */
+				if(username){
+					/* Already got a username, must be malformed. */
+					goto cleanup;
+				}
+				len = i-start;
+				username = malloc(len + 1);
+				if(!username){
+					fprintf(stderr, "Error: Out of memory.\n");
+					goto cleanup;
+				}
+				memcpy(username, &(str[start]), len);
+				username[len] = '\0';
+				start = i+1;
+			}
+		}
+	}
+
+	/* Deal with remainder */
+	if(i > start){
+		len = i-start;
+		if(host){
+			/* Have already seen a @ , so this must be of form
+			 * socks5h://username[:password]@host:port */
+			port = malloc(len + 1);
+			if(!port){
+				fprintf(stderr, "Error: Out of memory.\n");
+				goto cleanup;
+			}
+			memcpy(port, &(str[start]), len);
+			port[len] = '\0';
+		}else if(username_or_host){
+			/* Haven't seen a @ before, so must be of form
+			 * socks5h://host:port */
+			host = username_or_host;
+			username_or_host = NULL;
+			port = malloc(len + 1);
+			if(!port){
+				fprintf(stderr, "Error: Out of memory.\n");
+				goto cleanup;
+			}
+			memcpy(port, &(str[start]), len);
+			port[len] = '\0';
+		}else{
+			host = malloc(len + 1);
+			if(!host){
+				fprintf(stderr, "Error: Out of memory.\n");
+				goto cleanup;
+			}
+			memcpy(host, &(str[start]), len);
+			host[len] = '\0';
+		}
+	}
+
+	if(!host){
+		fprintf(stderr, "Error: Invalid proxy.\n");
+		goto cleanup;
+	}
+
+	if(mosquitto__urldecode(username)){
+		goto cleanup;
+	}
+	if(mosquitto__urldecode(password)){
+		goto cleanup;
+	}
+	if(port){
+		port_int = atoi(port);
+		if(port_int < 1 || port_int > 65535){
+			fprintf(stderr, "Error: Invalid proxy port %d\n", port_int);
+			goto cleanup;
+		}
+		free(port);
+	}else{
+		port_int = 1080;
+	}
+
+	cfg->socks5_username = username;
+	cfg->socks5_password = password;
+	cfg->socks5_host = host;
+	cfg->socks5_port = port_int;
+
+	return 0;
+cleanup:
+	free(username_or_host);
+	free(username);
+	free(password);
+	free(host);
+	free(port);
+	return 1;
+}
+#endif

+ 16 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/CMakeDirectoryInformation.cmake

@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

+ 244 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/C.includecache

@@ -0,0 +1,244 @@
+#IncludeRegexLine: ^[ 	]*[#%][ 	]*(include|import)[ 	]*[<"]([^">]+)([">])
+
+#IncludeRegexScan: ^.*$
+
+#IncludeRegexComplain: ^$
+
+#IncludeRegexTransform: 
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/config.h
+stdbool.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+windows.h
+-
+process.h
+-
+io.h
+-
+windows.h
+-
+unistd.h
+-
+termios.h
+-
+sys/stat.h
+-
+get_password.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.h
+stdbool.h
+-
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/mosquitto_passwd.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/config.h
+ctype.h
+-
+errno.h
+-
+openssl/evp.h
+-
+openssl/rand.h
+-
+signal.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+get_password.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.h
+password_mosq.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/password_mosq.h
+windows.h
+-
+process.h
+-
+stdbool.h
+-
+io.h
+-
+windows.h
+-
+stdbool.h
+-
+unistd.h
+-
+termios.h
+-
+sys/stat.h
+-
+misc_mosq.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/misc_mosq.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/logging_mosq.h
+mosquitto.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/mosquitto.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/memory_mosq.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/config.h
+stdlib.h
+-
+string.h
+-
+memory_mosq.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/memory_mosq.h
+malloc/malloc.h
+-
+malloc_np.h
+-
+malloc.h
+-
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/memory_mosq.h
+stdio.h
+-
+sys/types.h
+-
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/misc_mosq.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/config.h
+ctype.h
+-
+stdbool.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+winsock2.h
+-
+aclapi.h
+-
+io.h
+-
+lmcons.h
+-
+fcntl.h
+-
+sys/stat.h
+-
+misc_mosq.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/misc_mosq.h
+logging_mosq.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/logging_mosq.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/misc_mosq.h
+stdbool.h
+-
+stdio.h
+-
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/memory_public.c
+mosquitto_broker.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/mosquitto_broker.h
+memory_mosq.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/memory_mosq.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/password_mosq.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/config.h
+errno.h
+-
+openssl/opensslv.h
+-
+openssl/evp.h
+-
+openssl/rand.h
+-
+openssl/buffer.h
+-
+signal.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+mosquitto.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/mosquitto.h
+mosquitto_broker.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/mosquitto_broker.h
+password_mosq.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/password_mosq.h
+windows.h
+-
+process.h
+-
+stdbool.h
+-
+io.h
+-
+windows.h
+-
+stdbool.h
+-
+unistd.h
+-
+termios.h
+-
+sys/stat.h
+-
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/password_mosq.h
+stdbool.h
+-
+
+config.h
+openssl/opensslconf.h
+-
+stdint.h
+-
+cjson/cJSON.h
+-
+
+include/mosquitto.h
+stdbool.h
+-
+stddef.h
+-
+stdint.h
+-
+
+include/mosquitto_broker.h
+stdbool.h
+-
+stddef.h
+-
+stdint.h
+-
+time.h
+-
+
+lib/memory_mosq.h
+stdio.h
+-
+sys/types.h
+-
+
+lib/misc_mosq.h
+stdbool.h
+-
+stdio.h
+-
+
+src/password_mosq.h
+stdbool.h
+-
+

+ 41 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/DependInfo.cmake

@@ -0,0 +1,41 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  "C"
+  )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_C
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/memory_mosq.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/misc_mosq.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/memory_public.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/password_mosq.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/mosquitto_passwd.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o"
+  )
+set(CMAKE_C_COMPILER_ID "GNU")
+
+# Preprocessor definitions for this target.
+set(CMAKE_TARGET_DEFINITIONS_C
+  "CMAKE"
+  "VERSION=\"2.0.13\""
+  "WITH_EC"
+  "WITH_SOCKS"
+  "WITH_THREADING"
+  "WITH_TLS"
+  "WITH_TLS_PSK"
+  "WITH_UNIX_SOCKETS"
+  )
+
+# The include file search paths:
+set(CMAKE_C_TARGET_INCLUDE_PATH
+  "."
+  "include"
+  "lib"
+  "src"
+  )
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")

+ 175 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make

@@ -0,0 +1,175 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# Include any dependencies generated for this target.
+include apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/depend.make
+
+# Include the progress variables for this target.
+include apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/flags.make
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/flags.make
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o: apps/mosquitto_passwd/mosquitto_passwd.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/mosquitto_passwd.c
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/mosquitto_passwd.c > CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.i
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/mosquitto_passwd.c -o CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.s
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.o: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/flags.make
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.o: apps/mosquitto_passwd/get_password.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_passwd.dir/get_password.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.c
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_passwd.dir/get_password.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.c > CMakeFiles/mosquitto_passwd.dir/get_password.c.i
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_passwd.dir/get_password.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.c -o CMakeFiles/mosquitto_passwd.dir/get_password.c.s
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/flags.make
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o: lib/memory_mosq.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/memory_mosq.c
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/memory_mosq.c > CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.i
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/memory_mosq.c -o CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.s
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/flags.make
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o: src/memory_public.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/memory_public.c
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/memory_public.c > CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.i
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/memory_public.c -o CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.s
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/flags.make
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o: lib/misc_mosq.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building C object apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/misc_mosq.c
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/misc_mosq.c > CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.i
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/misc_mosq.c -o CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.s
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/flags.make
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o: src/password_mosq.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building C object apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/password_mosq.c
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/password_mosq.c > CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.i
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/password_mosq.c -o CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.s
+
+# Object files for target mosquitto_passwd
+mosquitto_passwd_OBJECTS = \
+"CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o" \
+"CMakeFiles/mosquitto_passwd.dir/get_password.c.o" \
+"CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o" \
+"CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o" \
+"CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o" \
+"CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o"
+
+# External object files for target mosquitto_passwd
+mosquitto_passwd_EXTERNAL_OBJECTS =
+
+apps/mosquitto_passwd/mosquitto_passwd: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o
+apps/mosquitto_passwd/mosquitto_passwd: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.o
+apps/mosquitto_passwd/mosquitto_passwd: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o
+apps/mosquitto_passwd/mosquitto_passwd: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o
+apps/mosquitto_passwd/mosquitto_passwd: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o
+apps/mosquitto_passwd/mosquitto_passwd: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o
+apps/mosquitto_passwd/mosquitto_passwd: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make
+apps/mosquitto_passwd/mosquitto_passwd: /usr/lib/x86_64-linux-gnu/libssl.so
+apps/mosquitto_passwd/mosquitto_passwd: /usr/lib/x86_64-linux-gnu/libcrypto.so
+apps/mosquitto_passwd/mosquitto_passwd: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Linking C executable mosquitto_passwd"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/mosquitto_passwd.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build: apps/mosquitto_passwd/mosquitto_passwd
+
+.PHONY : apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/clean:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd && $(CMAKE_COMMAND) -P CMakeFiles/mosquitto_passwd.dir/cmake_clean.cmake
+.PHONY : apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/clean
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/depend:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/depend
+

+ 15 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/cmake_clean.cmake

@@ -0,0 +1,15 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o"
+  "CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o"
+  "CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o"
+  "CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o"
+  "CMakeFiles/mosquitto_passwd.dir/get_password.c.o"
+  "CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o"
+  "mosquitto_passwd"
+  "mosquitto_passwd.pdb"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang C)
+  include(CMakeFiles/mosquitto_passwd.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()

+ 33 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/depend.internal

@@ -0,0 +1,33 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/memory_mosq.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/memory_mosq.h
+ config.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/logging_mosq.h
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/misc_mosq.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/misc_mosq.h
+ config.h
+ include/mosquitto.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/memory_public.c
+ include/mosquitto_broker.h
+ lib/memory_mosq.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/password_mosq.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src/password_mosq.h
+ config.h
+ include/mosquitto.h
+ include/mosquitto_broker.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.h
+ config.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.h
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/mosquitto_passwd.c
+ config.h
+ lib/misc_mosq.h
+ src/password_mosq.h

+ 33 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/depend.make

@@ -0,0 +1,33 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o: lib/memory_mosq.c
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o: lib/memory_mosq.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o: config.h
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o: lib/logging_mosq.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o: lib/misc_mosq.c
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o: lib/misc_mosq.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o: config.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o: include/mosquitto.h
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o: src/memory_public.c
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o: include/mosquitto_broker.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o: lib/memory_mosq.h
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o: src/password_mosq.c
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o: src/password_mosq.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o: config.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o: include/mosquitto.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o: include/mosquitto_broker.h
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.o: apps/mosquitto_passwd/get_password.c
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.o: apps/mosquitto_passwd/get_password.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.o: config.h
+
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o: apps/mosquitto_passwd/get_password.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o: apps/mosquitto_passwd/mosquitto_passwd.c
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o: config.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o: lib/misc_mosq.h
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o: src/password_mosq.h
+

+ 10 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/flags.make

@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# compile C with /usr/bin/cc
+C_FLAGS =  
+
+C_DEFINES = -DCMAKE -DVERSION=\"2.0.13\" -DWITH_EC -DWITH_SOCKS -DWITH_THREADING -DWITH_TLS -DWITH_TLS_PSK -DWITH_UNIX_SOCKETS
+
+C_INCLUDES = -I/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 -I/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/include -I/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib -I/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/src 
+

+ 1 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/link.txt

@@ -0,0 +1 @@
+/usr/bin/cc   -rdynamic CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o CMakeFiles/mosquitto_passwd.dir/get_password.c.o CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o  -o mosquitto_passwd  -lssl -lcrypto 

+ 8 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/progress.make

@@ -0,0 +1,8 @@
+CMAKE_PROGRESS_1 = 80
+CMAKE_PROGRESS_2 = 81
+CMAKE_PROGRESS_3 = 
+CMAKE_PROGRESS_4 = 82
+CMAKE_PROGRESS_5 = 83
+CMAKE_PROGRESS_6 = 
+CMAKE_PROGRESS_7 = 84
+

+ 1 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/progress.marks

@@ -0,0 +1 @@
+5

+ 18 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeLists.txt

@@ -0,0 +1,18 @@
+include_directories(${mosquitto_SOURCE_DIR} ${mosquitto_SOURCE_DIR}/include
+		${mosquitto_SOURCE_DIR}/lib ${mosquitto_SOURCE_DIR}/src
+		${OPENSSL_INCLUDE_DIR} ${STDBOOL_H_PATH} ${STDINT_H_PATH})
+
+if (WITH_TLS)
+	add_executable(mosquitto_passwd
+		mosquitto_passwd.c
+		get_password.c get_password.h
+		../../lib/memory_mosq.c ../../lib/memory_mosq.h
+		../../src/memory_public.c
+		../../lib/misc_mosq.c
+		../../src/password_mosq.c ../../src/password_mosq.h
+		)
+
+
+	target_link_libraries(mosquitto_passwd ${OPENSSL_LIBRARIES})
+	install(TARGETS mosquitto_passwd RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+endif (WITH_TLS)

+ 392 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/Makefile

@@ -0,0 +1,392 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local/fast
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+
+.PHONY : list_install_components/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# Special rule for the target test
+test:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
+	/usr/bin/ctest --force-new-ctest-process $(ARGS)
+.PHONY : test
+
+# Special rule for the target test
+test/fast: test
+
+.PHONY : test/fast
+
+# The main all target
+all: cmake_check_build_system
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/CMakeFiles/progress.marks
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/mosquitto_passwd/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/mosquitto_passwd/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/mosquitto_passwd/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/mosquitto_passwd/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Convenience name for target.
+apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/rule:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f CMakeFiles/Makefile2 apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/rule
+.PHONY : apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/rule
+
+# Convenience name for target.
+mosquitto_passwd: apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/rule
+
+.PHONY : mosquitto_passwd
+
+# fast build rule for target.
+mosquitto_passwd/fast:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build
+.PHONY : mosquitto_passwd/fast
+
+__/__/lib/memory_mosq.o: __/__/lib/memory_mosq.c.o
+
+.PHONY : __/__/lib/memory_mosq.o
+
+# target to build an object file
+__/__/lib/memory_mosq.c.o:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.o
+.PHONY : __/__/lib/memory_mosq.c.o
+
+__/__/lib/memory_mosq.i: __/__/lib/memory_mosq.c.i
+
+.PHONY : __/__/lib/memory_mosq.i
+
+# target to preprocess a source file
+__/__/lib/memory_mosq.c.i:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.i
+.PHONY : __/__/lib/memory_mosq.c.i
+
+__/__/lib/memory_mosq.s: __/__/lib/memory_mosq.c.s
+
+.PHONY : __/__/lib/memory_mosq.s
+
+# target to generate assembly for a file
+__/__/lib/memory_mosq.c.s:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/memory_mosq.c.s
+.PHONY : __/__/lib/memory_mosq.c.s
+
+__/__/lib/misc_mosq.o: __/__/lib/misc_mosq.c.o
+
+.PHONY : __/__/lib/misc_mosq.o
+
+# target to build an object file
+__/__/lib/misc_mosq.c.o:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.o
+.PHONY : __/__/lib/misc_mosq.c.o
+
+__/__/lib/misc_mosq.i: __/__/lib/misc_mosq.c.i
+
+.PHONY : __/__/lib/misc_mosq.i
+
+# target to preprocess a source file
+__/__/lib/misc_mosq.c.i:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.i
+.PHONY : __/__/lib/misc_mosq.c.i
+
+__/__/lib/misc_mosq.s: __/__/lib/misc_mosq.c.s
+
+.PHONY : __/__/lib/misc_mosq.s
+
+# target to generate assembly for a file
+__/__/lib/misc_mosq.c.s:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/lib/misc_mosq.c.s
+.PHONY : __/__/lib/misc_mosq.c.s
+
+__/__/src/memory_public.o: __/__/src/memory_public.c.o
+
+.PHONY : __/__/src/memory_public.o
+
+# target to build an object file
+__/__/src/memory_public.c.o:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.o
+.PHONY : __/__/src/memory_public.c.o
+
+__/__/src/memory_public.i: __/__/src/memory_public.c.i
+
+.PHONY : __/__/src/memory_public.i
+
+# target to preprocess a source file
+__/__/src/memory_public.c.i:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.i
+.PHONY : __/__/src/memory_public.c.i
+
+__/__/src/memory_public.s: __/__/src/memory_public.c.s
+
+.PHONY : __/__/src/memory_public.s
+
+# target to generate assembly for a file
+__/__/src/memory_public.c.s:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/memory_public.c.s
+.PHONY : __/__/src/memory_public.c.s
+
+__/__/src/password_mosq.o: __/__/src/password_mosq.c.o
+
+.PHONY : __/__/src/password_mosq.o
+
+# target to build an object file
+__/__/src/password_mosq.c.o:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.o
+.PHONY : __/__/src/password_mosq.c.o
+
+__/__/src/password_mosq.i: __/__/src/password_mosq.c.i
+
+.PHONY : __/__/src/password_mosq.i
+
+# target to preprocess a source file
+__/__/src/password_mosq.c.i:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.i
+.PHONY : __/__/src/password_mosq.c.i
+
+__/__/src/password_mosq.s: __/__/src/password_mosq.c.s
+
+.PHONY : __/__/src/password_mosq.s
+
+# target to generate assembly for a file
+__/__/src/password_mosq.c.s:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/__/__/src/password_mosq.c.s
+.PHONY : __/__/src/password_mosq.c.s
+
+get_password.o: get_password.c.o
+
+.PHONY : get_password.o
+
+# target to build an object file
+get_password.c.o:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.o
+.PHONY : get_password.c.o
+
+get_password.i: get_password.c.i
+
+.PHONY : get_password.i
+
+# target to preprocess a source file
+get_password.c.i:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.i
+.PHONY : get_password.c.i
+
+get_password.s: get_password.c.s
+
+.PHONY : get_password.s
+
+# target to generate assembly for a file
+get_password.c.s:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/get_password.c.s
+.PHONY : get_password.c.s
+
+mosquitto_passwd.o: mosquitto_passwd.c.o
+
+.PHONY : mosquitto_passwd.o
+
+# target to build an object file
+mosquitto_passwd.c.o:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.o
+.PHONY : mosquitto_passwd.c.o
+
+mosquitto_passwd.i: mosquitto_passwd.c.i
+
+.PHONY : mosquitto_passwd.i
+
+# target to preprocess a source file
+mosquitto_passwd.c.i:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.i
+.PHONY : mosquitto_passwd.c.i
+
+mosquitto_passwd.s: mosquitto_passwd.c.s
+
+.PHONY : mosquitto_passwd.s
+
+# target to generate assembly for a file
+mosquitto_passwd.c.s:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(MAKE) -f apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/build.make apps/mosquitto_passwd/CMakeFiles/mosquitto_passwd.dir/mosquitto_passwd.c.s
+.PHONY : mosquitto_passwd.c.s
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... install/strip"
+	@echo "... install/local"
+	@echo "... install"
+	@echo "... list_install_components"
+	@echo "... rebuild_cache"
+	@echo "... edit_cache"
+	@echo "... test"
+	@echo "... mosquitto_passwd"
+	@echo "... __/__/lib/memory_mosq.o"
+	@echo "... __/__/lib/memory_mosq.i"
+	@echo "... __/__/lib/memory_mosq.s"
+	@echo "... __/__/lib/misc_mosq.o"
+	@echo "... __/__/lib/misc_mosq.i"
+	@echo "... __/__/lib/misc_mosq.s"
+	@echo "... __/__/src/memory_public.o"
+	@echo "... __/__/src/memory_public.i"
+	@echo "... __/__/src/memory_public.s"
+	@echo "... __/__/src/password_mosq.o"
+	@echo "... __/__/src/password_mosq.i"
+	@echo "... __/__/src/password_mosq.s"
+	@echo "... get_password.o"
+	@echo "... get_password.i"
+	@echo "... get_password.s"
+	@echo "... mosquitto_passwd.o"
+	@echo "... mosquitto_passwd.i"
+	@echo "... mosquitto_passwd.s"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+

+ 55 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/cmake_install.cmake

@@ -0,0 +1,55 @@
+# Install script for directory: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
+  if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/mosquitto_passwd" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/mosquitto_passwd")
+    file(RPATH_CHECK
+         FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/mosquitto_passwd"
+         RPATH "")
+  endif()
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/mosquitto_passwd")
+  if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/mosquitto_passwd" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/mosquitto_passwd")
+    if(CMAKE_INSTALL_DO_STRIP)
+      execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/mosquitto_passwd")
+    endif()
+  endif()
+endif()
+

+ 146 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.c

@@ -0,0 +1,146 @@
+/*
+Copyright (c) 2012-2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+
+#include "config.h"
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef WIN32
+#  include <windows.h>
+#  include <process.h>
+#   define snprintf sprintf_s
+#	include <io.h>
+#	include <windows.h>
+#else
+#  include <unistd.h>
+#  include <termios.h>
+#  include <sys/stat.h>
+#endif
+
+#include "get_password.h"
+
+#define MAX_BUFFER_LEN 65500
+#define SALT_LEN 12
+
+void get_password__reset_term(void)
+{
+#ifndef WIN32
+	struct termios ts;
+
+	tcgetattr(0, &ts);
+	ts.c_lflag |= ECHO | ICANON;
+	tcsetattr(0, TCSANOW, &ts);
+#endif
+}
+
+
+static int gets_quiet(char *s, int len)
+{
+#ifdef WIN32
+	HANDLE h;
+	DWORD con_orig, con_quiet = 0;
+	DWORD read_len = 0;
+
+	memset(s, 0, len);
+	h  = GetStdHandle(STD_INPUT_HANDLE);
+	GetConsoleMode(h, &con_orig);
+	con_quiet = con_orig;
+	con_quiet &= ~ENABLE_ECHO_INPUT;
+	con_quiet |= ENABLE_LINE_INPUT;
+	SetConsoleMode(h, con_quiet);
+	if(!ReadConsole(h, s, len, &read_len, NULL)){
+		SetConsoleMode(h, con_orig);
+		return 1;
+	}
+	while(s[strlen(s)-1] == 10 || s[strlen(s)-1] == 13){
+		s[strlen(s)-1] = 0;
+	}
+	if(strlen(s) == 0){
+		return 1;
+	}
+	SetConsoleMode(h, con_orig);
+
+	return 0;
+#else
+	struct termios ts_quiet, ts_orig;
+	char *rs;
+
+	memset(s, 0, (size_t)len);
+	tcgetattr(0, &ts_orig);
+	ts_quiet = ts_orig;
+	ts_quiet.c_lflag &= (unsigned int)(~(ECHO | ICANON));
+	tcsetattr(0, TCSANOW, &ts_quiet);
+
+	rs = fgets(s, len, stdin);
+	tcsetattr(0, TCSANOW, &ts_orig);
+
+	if(!rs){
+		return 1;
+	}else{
+		while(s[strlen(s)-1] == 10 || s[strlen(s)-1] == 13){
+			s[strlen(s)-1] = 0;
+		}
+		if(strlen(s) == 0){
+			return 1;
+		}
+	}
+	return 0;
+#endif
+}
+
+int get_password(const char *prompt, const char *verify_prompt, bool quiet, char *password, size_t len)
+{
+	char pw1[MAX_BUFFER_LEN], pw2[MAX_BUFFER_LEN];
+	size_t minLen;
+	minLen = len < MAX_BUFFER_LEN ? len : MAX_BUFFER_LEN;
+
+	printf("%s", prompt);
+	fflush(stdout);
+	if(gets_quiet(pw1, (int)minLen)){
+		if(!quiet){
+			fprintf(stderr, "Error: Empty password.\n");
+		}
+		return 1;
+	}
+	printf("\n");
+
+	if(verify_prompt){
+		printf("%s", verify_prompt);
+		fflush(stdout);
+		if(gets_quiet(pw2, (int)minLen)){
+			if(!quiet){
+				fprintf(stderr, "Error: Empty password.\n");
+			}
+			return 1;
+		}
+		printf("\n");
+
+		if(strcmp(pw1, pw2)){
+			if(!quiet){
+				fprintf(stderr, "Error: Passwords do not match.\n");
+			}
+			return 2;
+		}
+	}
+
+	strncpy(password, pw1, minLen);
+	return 0;
+}

+ 26 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/get_password.h

@@ -0,0 +1,26 @@
+#ifndef GET_PASSWORD_H
+#define GET_PASSWORD_H
+/*
+Copyright (c) 2012-2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+
+#include <stdbool.h>
+
+void get_password__reset_term(void);
+int get_password(const char *prompt, const char *verify_prompt, bool quiet, char *password, size_t len);
+
+#endif

BIN
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/mosquitto_passwd


+ 690 - 0
EVSE/GPL/mosquitto-2.0.13/apps/mosquitto_passwd/mosquitto_passwd.c

@@ -0,0 +1,690 @@
+/*
+Copyright (c) 2012-2020 Roger Light <roger@atchoo.org>
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+and Eclipse Distribution License v1.0 which accompany this distribution.
+
+The Eclipse Public License is available at
+   https://www.eclipse.org/legal/epl-2.0/
+and the Eclipse Distribution License is available at
+  http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+Contributors:
+   Roger Light - initial implementation and documentation.
+*/
+
+#include "config.h"
+
+#include <ctype.h>
+#include <errno.h>
+#include <openssl/evp.h>
+#include <openssl/rand.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "get_password.h"
+#include "password_mosq.h"
+
+#ifdef WIN32
+#  include <windows.h>
+#  include <process.h>
+#	ifndef __cplusplus
+#		if defined(_MSC_VER) && _MSC_VER < 1900
+#			define bool char
+#			define true 1
+#			define false 0
+#		else
+#			include <stdbool.h>
+#		endif
+#	endif
+#   define snprintf sprintf_s
+#	include <io.h>
+#	include <windows.h>
+#else
+#  include <stdbool.h>
+#  include <unistd.h>
+#  include <termios.h>
+#  include <sys/stat.h>
+#endif
+
+#define MAX_BUFFER_LEN 65500
+#define SALT_LEN 12
+
+#include "misc_mosq.h"
+
+struct cb_helper {
+	const char *line;
+	const char *username;
+	const char *password;
+	int iterations;
+	bool found;
+};
+
+static enum mosquitto_pwhash_type hashtype = pw_sha512_pbkdf2;
+
+#ifdef WIN32
+static FILE *mpw_tmpfile(void)
+{
+	return tmpfile();
+}
+#else
+
+static char unsigned alphanum[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+
+static unsigned char tmpfile_path[36];
+static FILE *mpw_tmpfile(void)
+{
+	int fd;
+	size_t i;
+
+	if(RAND_bytes(tmpfile_path, sizeof(tmpfile_path)) != 1){
+		return NULL;
+	}
+
+	strcpy((char *)tmpfile_path, "/tmp/");
+
+	for(i=strlen((char *)tmpfile_path); i<sizeof(tmpfile_path)-8; i++){
+		tmpfile_path[i] = alphanum[tmpfile_path[i]%(sizeof(alphanum)-1)];
+	}
+	tmpfile_path[sizeof(tmpfile_path)-8] = '-';
+	for(i=sizeof(tmpfile_path)-7; i<sizeof(tmpfile_path)-1; i++){
+		tmpfile_path[i] = 'X';
+	}
+	tmpfile_path[sizeof(tmpfile_path)-1] = '\0';
+
+	umask(077);
+	fd = mkstemp((char *)tmpfile_path);
+	if(fd < 0) return NULL;
+	unlink((char *)tmpfile_path);
+
+	return fdopen(fd, "w+");
+}
+#endif
+
+int log__printf(void *mosq, unsigned int level, const char *fmt, ...)
+{
+	/* Stub for misc_mosq.c */
+	UNUSED(mosq);
+	UNUSED(level);
+	UNUSED(fmt);
+	return 0;
+}
+
+
+static void print_usage(void)
+{
+	printf("mosquitto_passwd is a tool for managing password files for mosquitto.\n\n");
+	printf("Usage: mosquitto_passwd [-H sha512 | -H sha512-pbkdf2] [-c | -D] passwordfile username\n");
+	printf("       mosquitto_passwd [-H sha512 | -H sha512-pbkdf2] [-c] -b passwordfile username password\n");
+	printf("       mosquitto_passwd -U passwordfile\n");
+	printf(" -b : run in batch mode to allow passing passwords on the command line.\n");
+	printf(" -c : create a new password file. This will overwrite existing files.\n");
+	printf(" -D : delete the username rather than adding/updating its password.\n");
+	printf(" -H : specify the hashing algorithm. Defaults to sha512-pbkdf2, which is recommended.\n");
+	printf("      Mosquitto 1.6 and earlier defaulted to sha512.\n");
+	printf(" -U : update a plain text password file to use hashed passwords.\n");
+	printf("\nSee https://mosquitto.org/ for more information.\n\n");
+}
+
+static int output_new_password(FILE *fptr, const char *username, const char *password, int iterations)
+{
+	int rc;
+	char *salt64 = NULL, *hash64 = NULL;
+	struct mosquitto_pw pw;
+
+	if(password == NULL){
+		fprintf(stderr, "Error: Internal error, no password given.\n");
+		return 1;
+	}
+	memset(&pw, 0, sizeof(pw));
+
+	pw.hashtype = hashtype;
+
+	if(pw__hash(password, &pw, true, iterations)){
+		fprintf(stderr, "Error: Unable to hash password.\n");
+		return 1;
+	}
+
+	rc = base64__encode(pw.salt, sizeof(pw.salt), &salt64);
+	if(rc){
+		free(salt64);
+		fprintf(stderr, "Error: Unable to encode salt.\n");
+		return 1;
+	}
+
+	rc = base64__encode(pw.password_hash, sizeof(pw.password_hash), &hash64);
+	if(rc){
+		free(salt64);
+		free(hash64);
+		fprintf(stderr, "Error: Unable to encode hash.\n");
+		return 1;
+	}
+
+	if(pw.hashtype == pw_sha512_pbkdf2){
+		fprintf(fptr, "%s:$%d$%d$%s$%s\n", username, hashtype, iterations, salt64, hash64);
+	}else{
+		fprintf(fptr, "%s:$%d$%s$%s\n", username, hashtype, salt64, hash64);
+	}
+	free(salt64);
+	free(hash64);
+
+	return 0;
+}
+
+
+static int pwfile_iterate(FILE *fptr, FILE *ftmp,
+		int (*cb)(FILE *, FILE *, const char *, const char *, const char *, struct cb_helper *),
+		struct cb_helper *helper)
+{
+	char *buf;
+	int buflen = 1024;
+	char *lbuf;
+	int lbuflen;
+	int rc = 1;
+	int line = 0;
+	char *username, *password;
+
+	buf = malloc((size_t)buflen);
+	if(buf == NULL){
+		fprintf(stderr, "Error: Out of memory.\n");
+		return 1;
+	}
+	lbuflen = buflen;
+	lbuf = malloc((size_t)lbuflen);
+	if(lbuf == NULL){
+		fprintf(stderr, "Error: Out of memory.\n");
+		free(buf);
+		return 1;
+	}
+
+	while(!feof(fptr) && fgets_extending(&buf, &buflen, fptr)){
+		if(lbuflen != buflen){
+			free(lbuf);
+			lbuflen = buflen;
+			lbuf = malloc((size_t)lbuflen);
+			if(lbuf == NULL){
+				fprintf(stderr, "Error: Out of memory.\n");
+				free(buf);
+				return 1;
+			}
+		}
+		memcpy(lbuf, buf, (size_t)buflen);
+		line++;
+		username = strtok(buf, ":");
+		password = strtok(NULL, ":");
+		if(username == NULL || password == NULL){
+			fprintf(stderr, "Error: Corrupt password file at line %d.\n", line);
+			free(lbuf);
+			free(buf);
+			return 1;
+		}
+		username = misc__trimblanks(username);
+		password = misc__trimblanks(password);
+
+		if(strlen(username) == 0 || strlen(password) == 0){
+			fprintf(stderr, "Error: Corrupt password file at line %d.\n", line);
+			free(lbuf);
+			free(buf);
+			return 1;
+		}
+
+		rc = cb(fptr, ftmp, username, password, lbuf, helper);
+		if(rc){
+			break;
+		}
+	}
+	free(lbuf);
+	free(buf);
+
+	return rc;
+}
+
+
+/* ======================================================================
+ * Delete a user from the password file
+ * ====================================================================== */
+static int delete_pwuser_cb(FILE *fptr, FILE *ftmp, const char *username, const char *password, const char *line, struct cb_helper *helper)
+{
+	UNUSED(fptr);
+	UNUSED(password);
+	UNUSED(line);
+
+	if(strcmp(username, helper->username)){
+		/* If this isn't the username to delete, write it to the new file */
+		fprintf(ftmp, "%s", line);
+	}else{
+		/* Don't write the matching username to the file. */
+		helper->found = true;
+	}
+	return 0;
+}
+
+static int delete_pwuser(FILE *fptr, FILE *ftmp, const char *username)
+{
+	struct cb_helper helper;
+	int rc;
+
+	memset(&helper, 0, sizeof(helper));
+	helper.username = username;
+	rc = pwfile_iterate(fptr, ftmp, delete_pwuser_cb, &helper);
+
+	if(helper.found == false){
+		fprintf(stderr, "Warning: User %s not found in password file.\n", username);
+		return 1;
+	}
+	return rc;
+}
+
+
+
+/* ======================================================================
+ * Update a plain text password file to use hashes
+ * ====================================================================== */
+static int update_file_cb(FILE *fptr, FILE *ftmp, const char *username, const char *password, const char *line, struct cb_helper *helper)
+{
+	UNUSED(fptr);
+	UNUSED(line);
+
+	if(helper){
+		return output_new_password(ftmp, username, password, helper->iterations);
+	}else{
+		return output_new_password(ftmp, username, password, PW_DEFAULT_ITERATIONS);
+	}
+}
+
+static int update_file(FILE *fptr, FILE *ftmp)
+{
+	return pwfile_iterate(fptr, ftmp, update_file_cb, NULL);
+}
+
+
+/* ======================================================================
+ * Update an existing user password / create a new password
+ * ====================================================================== */
+static int update_pwuser_cb(FILE *fptr, FILE *ftmp, const char *username, const char *password, const char *line, struct cb_helper *helper)
+{
+	int rc = 0;
+
+	UNUSED(fptr);
+	UNUSED(password);
+
+	if(strcmp(username, helper->username)){
+		/* If this isn't the matching user, then writing out the exiting line */
+		fprintf(ftmp, "%s", line);
+	}else{
+		/* Write out a new line for our matching username */
+		helper->found = true;
+		rc = output_new_password(ftmp, username, helper->password, helper->iterations);
+	}
+	return rc;
+}
+
+static int update_pwuser(FILE *fptr, FILE *ftmp, const char *username, const char *password, int iterations)
+{
+	struct cb_helper helper;
+	int rc;
+
+	memset(&helper, 0, sizeof(helper));
+	helper.username = username;
+	helper.password = password;
+	helper.iterations = iterations;
+	rc = pwfile_iterate(fptr, ftmp, update_pwuser_cb, &helper);
+
+	if(helper.found){
+		return rc;
+	}else{
+		return output_new_password(ftmp, username, password, iterations);
+	}
+}
+
+
+static int copy_contents(FILE *src, FILE *dest)
+{
+	char buf[MAX_BUFFER_LEN];
+	size_t len;
+
+	rewind(src);
+	rewind(dest);
+
+#ifdef WIN32
+	_chsize(fileno(dest), 0);
+#else
+	if(ftruncate(fileno(dest), 0)) return 1;
+#endif
+
+	while(!feof(src)){
+		len = fread(buf, 1, MAX_BUFFER_LEN, src);
+		if(len > 0){
+			if(fwrite(buf, 1, len, dest) != len){
+				return 1;
+			}
+		}else{
+			return !feof(src);
+		}
+	}
+	return 0;
+}
+
+static int create_backup(const char *backup_file, FILE *fptr)
+{
+	FILE *fbackup;
+
+	fbackup = fopen(backup_file, "wt");
+	if(!fbackup){
+		fprintf(stderr, "Error creating backup password file \"%s\", not continuing.\n", backup_file);
+		return 1;
+	}
+	if(copy_contents(fptr, fbackup)){
+		fprintf(stderr, "Error copying data to backup password file \"%s\", not continuing.\n", backup_file);
+		fclose(fbackup);
+		return 1;
+	}
+	fclose(fbackup);
+	rewind(fptr);
+	return 0;
+}
+
+static void handle_sigint(int signal)
+{
+	get_password__reset_term();
+
+	UNUSED(signal);
+
+	exit(0);
+}
+
+
+static bool is_username_valid(const char *username)
+{
+	size_t i;
+	size_t slen;
+
+	if(username){
+		slen = strlen(username);
+		if(slen > 65535){
+			fprintf(stderr, "Error: Username must be less than 65536 characters long.\n");
+			return false;
+		}
+		for(i=0; i<slen; i++){
+			if(iscntrl(username[i])){
+				fprintf(stderr, "Error: Username must not contain control characters.\n");
+				return false;
+			}
+		}
+		if(strchr(username, ':')){
+			fprintf(stderr, "Error: Username must not contain the ':' character.\n");
+			return false;
+		}
+	}
+	return true;
+}
+
+int main(int argc, char *argv[])
+{
+	char *password_file_tmp = NULL;
+	char *password_file = NULL;
+	char *username = NULL;
+	char *password_cmd = NULL;
+	bool batch_mode = false;
+	bool create_new = false;
+	bool delete_user = false;
+	FILE *fptr, *ftmp;
+	char password[MAX_BUFFER_LEN];
+	int rc;
+	bool do_update_file = false;
+	char *backup_file;
+	int idx;
+	int iterations = PW_DEFAULT_ITERATIONS;
+
+	signal(SIGINT, handle_sigint);
+	signal(SIGTERM, handle_sigint);
+
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || OPENSSL_API_COMPAT < 0x10100000L
+	OpenSSL_add_all_digests();
+#else
+	OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
+			| OPENSSL_INIT_ADD_ALL_DIGESTS \
+			| OPENSSL_INIT_LOAD_CONFIG, NULL);
+#endif
+
+	if(argc == 1){
+		print_usage();
+		return 1;
+	}
+
+	idx = 1;
+	for(idx = 1; idx < argc; idx++){
+		if(!strcmp(argv[idx], "-H")){
+			if(idx+1 == argc){
+				fprintf(stderr, "Error: -H argument given but not enough other arguments.\n");
+				return 1;
+			}
+			if(!strcmp(argv[idx+1], "sha512")){
+				hashtype = pw_sha512;
+			}else if(!strcmp(argv[idx+1], "sha512-pbkdf2")){
+				hashtype = pw_sha512_pbkdf2;
+			}else{
+				fprintf(stderr, "Error: Unknown hash type '%s'\n", argv[idx+1]);
+				return 1;
+			}
+			idx++;
+		}else if(!strcmp(argv[idx], "-b")){
+			batch_mode = true;
+		}else if(!strcmp(argv[idx], "-c")){
+			create_new = true;
+		}else if(!strcmp(argv[idx], "-D")){
+			delete_user = true;
+		}else if(!strcmp(argv[idx], "-I")){
+			if(idx+1 == argc){
+				fprintf(stderr, "Error: -I argument given but not enough other arguments.\n");
+				return 1;
+			}
+			iterations = atoi(argv[idx+1]);
+			idx++;
+			if(iterations < 1){
+				fprintf(stderr, "Error: Number of iterations must be > 0.\n");
+				return 1;
+			}
+		}else if(!strcmp(argv[idx], "-U")){
+			do_update_file = true;
+		}else{
+			break;
+		}
+	}
+
+	if(create_new && delete_user){
+		fprintf(stderr, "Error: -c and -D cannot be used together.\n");
+		return 1;
+	}
+	if(create_new && do_update_file){
+		fprintf(stderr, "Error: -c and -U cannot be used together.\n");
+		return 1;
+	}
+	if(delete_user && do_update_file){
+		fprintf(stderr, "Error: -D and -U cannot be used together.\n");
+		return 1;
+	}
+	if(delete_user && batch_mode){
+		fprintf(stderr, "Error: -b and -D cannot be used together.\n");
+		return 1;
+	}
+
+	if(create_new){
+		if(batch_mode){
+			if(idx+2 >= argc){
+				fprintf(stderr, "Error: -c argument given but password file, username, or password missing.\n");
+				return 1;
+			}else{
+				password_file_tmp = argv[idx];
+				username = argv[idx+1];
+				password_cmd = argv[idx+2];
+			}
+		}else{
+			if(idx+1 >= argc){
+				fprintf(stderr, "Error: -c argument given but password file or username missing.\n");
+				return 1;
+			}else{
+				password_file_tmp = argv[idx];
+				username = argv[idx+1];
+			}
+		}
+	}else if(delete_user){
+		if(idx+1 >= argc){
+			fprintf(stderr, "Error: -D argument given but password file or username missing.\n");
+			return 1;
+		}else{
+			password_file_tmp = argv[idx];
+			username = argv[idx+1];
+		}
+	}else if(do_update_file){
+		if(idx+1 != argc){
+			fprintf(stderr, "Error: -U argument given but password file missing.\n");
+			return 1;
+		}else{
+			password_file_tmp = argv[idx];
+		}
+	}else if(batch_mode == true && idx+3 == argc){
+		password_file_tmp = argv[idx];
+		username = argv[idx+1];
+		password_cmd = argv[idx+2];
+	}else if(batch_mode == false && idx+2 == argc){
+		password_file_tmp = argv[idx];
+		username = argv[idx+1];
+	}else{
+		print_usage();
+		return 1;
+	}
+
+	if(!is_username_valid(username)){
+		return 1;
+	}
+	if(password_cmd && strlen(password_cmd) > 65535){
+		fprintf(stderr, "Error: Password must be less than 65536 characters long.\n");
+		return 1;
+	}
+
+#ifdef WIN32
+	password_file = _fullpath(NULL, password_file_tmp, 0);
+	if(!password_file){
+		fprintf(stderr, "Error getting full path for password file.\n");
+		return 1;
+	}
+#else
+	password_file = realpath(password_file_tmp, NULL);
+	if(!password_file){
+		if(errno == ENOENT){
+			password_file = strdup(password_file_tmp);
+			if(!password_file){
+				fprintf(stderr, "Error: Out of memory.\n");
+				return 1;
+			}
+		}else{
+			fprintf(stderr, "Error reading password file: %s\n", strerror(errno));
+			return 1;
+		}
+	}
+#endif
+
+	if(create_new){
+		if(batch_mode == false){
+			rc = get_password("Password: ", "Reenter password: ", false, password, MAX_BUFFER_LEN);
+			if(rc){
+				free(password_file);
+				return rc;
+			}
+			password_cmd = password;
+		}
+		fptr = fopen(password_file, "wt");
+		if(!fptr){
+			fprintf(stderr, "Error: Unable to open file %s for writing. %s.\n", password_file, strerror(errno));
+			free(password_file);
+			return 1;
+		}
+		free(password_file);
+		rc = output_new_password(fptr, username, password_cmd, iterations);
+		fclose(fptr);
+		return rc;
+	}else{
+		fptr = fopen(password_file, "r+t");
+		if(!fptr){
+			fprintf(stderr, "Error: Unable to open password file %s. %s.\n", password_file, strerror(errno));
+			free(password_file);
+			return 1;
+		}
+
+		backup_file = malloc((size_t)strlen(password_file)+5);
+		if(!backup_file){
+			fprintf(stderr, "Error: Out of memory.\n");
+			free(password_file);
+			return 1;
+		}
+		snprintf(backup_file, strlen(password_file)+5, "%s.tmp", password_file);
+		free(password_file);
+		password_file = NULL;
+
+		if(create_backup(backup_file, fptr)){
+			fclose(fptr);
+			free(backup_file);
+			return 1;
+		}
+
+		ftmp = mpw_tmpfile();
+		if(!ftmp){
+			fprintf(stderr, "Error: Unable to open temporary file. %s.\n", strerror(errno));
+			fclose(fptr);
+			free(backup_file);
+			return 1;
+		}
+		if(delete_user){
+			rc = delete_pwuser(fptr, ftmp, username);
+		}else if(do_update_file){
+			rc = update_file(fptr, ftmp);
+		}else{
+			if(batch_mode){
+				/* Update password for individual user */
+				rc = update_pwuser(fptr, ftmp, username, password_cmd, iterations);
+			}else{
+				rc = get_password("Password: ", "Reenter password: ", false, password, MAX_BUFFER_LEN);
+				if(rc){
+					fclose(fptr);
+					fclose(ftmp);
+					unlink(backup_file);
+					free(backup_file);
+					return rc;
+				}
+				/* Update password for individual user */
+				rc = update_pwuser(fptr, ftmp, username, password, iterations);
+			}
+		}
+		if(rc){
+			fclose(fptr);
+			fclose(ftmp);
+			unlink(backup_file);
+			free(backup_file);
+			return rc;
+		}
+
+		if(copy_contents(ftmp, fptr)){
+			fclose(fptr);
+			fclose(ftmp);
+			fprintf(stderr, "Error occurred updating password file.\n");
+			fprintf(stderr, "Password file may be corrupt, check the backup file: %s.\n", backup_file);
+			free(backup_file);
+			return 1;
+		}
+		fclose(fptr);
+		fclose(ftmp);
+
+		/* Everything was ok so backup no longer needed. May contain old
+		 * passwords so shouldn't be kept around. */
+		unlink(backup_file);
+		free(backup_file);
+	}
+
+	return 0;
+}

+ 16 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/CMakeDirectoryInformation.cmake

@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

+ 152 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/C.includecache

@@ -0,0 +1,152 @@
+#IncludeRegexLine: ^[ 	]*[#%][ 	]*(include|import)[ 	]*[<"]([^">]+)([">])
+
+#IncludeRegexScan: ^.*$
+
+#IncludeRegexComplain: ^$
+
+#IncludeRegexTransform: 
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+errno.h
+-
+fcntl.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+unistd.h
+-
+strings.h
+-
+process.h
+-
+winsock2.h
+-
+mosquitto.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/mosquitto.h
+mqtt_protocol.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/mqtt_protocol.h
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+errno.h
+-
+fcntl.h
+-
+stdarg.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+unistd.h
+-
+strings.h
+-
+process.h
+-
+winsock2.h
+-
+mosquitto.h
+-
+mqtt_protocol.h
+-
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+stdio.h
+-
+winsock2.h
+-
+sys/time.h
+-
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_client.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+errno.h
+-
+fcntl.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+sys/time.h
+-
+time.h
+-
+process.h
+-
+winsock2.h
+-
+mqtt_protocol.h
+-
+mosquitto.h
+-
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+pub_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+errno.h
+-
+fcntl.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+time.h
+-
+process.h
+-
+winsock2.h
+-
+mosquitto.h
+-
+mqtt_protocol.h
+-
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+pub_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.h
+
+config.h
+openssl/opensslconf.h
+-
+stdint.h
+-
+cjson/cJSON.h
+-
+
+include/mosquitto.h
+stdbool.h
+-
+stddef.h
+-
+stdint.h
+-
+
+include/mqtt_protocol.h
+

+ 38 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/DependInfo.cmake

@@ -0,0 +1,38 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  "C"
+  )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_C
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/client_props.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/client_shared.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_client.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o"
+  )
+set(CMAKE_C_COMPILER_ID "GNU")
+
+# Preprocessor definitions for this target.
+set(CMAKE_TARGET_DEFINITIONS_C
+  "CMAKE"
+  "VERSION=\"2.0.13\""
+  "WITH_EC"
+  "WITH_SOCKS"
+  "WITH_THREADING"
+  "WITH_TLS"
+  "WITH_TLS_PSK"
+  "WITH_UNIX_SOCKETS"
+  )
+
+# The include file search paths:
+set(CMAKE_C_TARGET_INCLUDE_PATH
+  "."
+  "include"
+  )
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/CMakeFiles/libmosquitto.dir/DependInfo.cmake"
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")

+ 146 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/build.make

@@ -0,0 +1,146 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# Include any dependencies generated for this target.
+include client/CMakeFiles/mosquitto_pub.dir/depend.make
+
+# Include the progress variables for this target.
+include client/CMakeFiles/mosquitto_pub.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include client/CMakeFiles/mosquitto_pub.dir/flags.make
+
+client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o: client/CMakeFiles/mosquitto_pub.dir/flags.make
+client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o: client/pub_client.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_pub.dir/pub_client.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_client.c
+
+client/CMakeFiles/mosquitto_pub.dir/pub_client.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_pub.dir/pub_client.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_client.c > CMakeFiles/mosquitto_pub.dir/pub_client.c.i
+
+client/CMakeFiles/mosquitto_pub.dir/pub_client.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_pub.dir/pub_client.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_client.c -o CMakeFiles/mosquitto_pub.dir/pub_client.c.s
+
+client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o: client/CMakeFiles/mosquitto_pub.dir/flags.make
+client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o: client/pub_shared.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_pub.dir/pub_shared.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c
+
+client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_pub.dir/pub_shared.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c > CMakeFiles/mosquitto_pub.dir/pub_shared.c.i
+
+client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_pub.dir/pub_shared.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c -o CMakeFiles/mosquitto_pub.dir/pub_shared.c.s
+
+client/CMakeFiles/mosquitto_pub.dir/client_shared.c.o: client/CMakeFiles/mosquitto_pub.dir/flags.make
+client/CMakeFiles/mosquitto_pub.dir/client_shared.c.o: client/client_shared.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object client/CMakeFiles/mosquitto_pub.dir/client_shared.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_pub.dir/client_shared.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c
+
+client/CMakeFiles/mosquitto_pub.dir/client_shared.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_pub.dir/client_shared.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c > CMakeFiles/mosquitto_pub.dir/client_shared.c.i
+
+client/CMakeFiles/mosquitto_pub.dir/client_shared.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_pub.dir/client_shared.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c -o CMakeFiles/mosquitto_pub.dir/client_shared.c.s
+
+client/CMakeFiles/mosquitto_pub.dir/client_props.c.o: client/CMakeFiles/mosquitto_pub.dir/flags.make
+client/CMakeFiles/mosquitto_pub.dir/client_props.c.o: client/client_props.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object client/CMakeFiles/mosquitto_pub.dir/client_props.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_pub.dir/client_props.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c
+
+client/CMakeFiles/mosquitto_pub.dir/client_props.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_pub.dir/client_props.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c > CMakeFiles/mosquitto_pub.dir/client_props.c.i
+
+client/CMakeFiles/mosquitto_pub.dir/client_props.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_pub.dir/client_props.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c -o CMakeFiles/mosquitto_pub.dir/client_props.c.s
+
+# Object files for target mosquitto_pub
+mosquitto_pub_OBJECTS = \
+"CMakeFiles/mosquitto_pub.dir/pub_client.c.o" \
+"CMakeFiles/mosquitto_pub.dir/pub_shared.c.o" \
+"CMakeFiles/mosquitto_pub.dir/client_shared.c.o" \
+"CMakeFiles/mosquitto_pub.dir/client_props.c.o"
+
+# External object files for target mosquitto_pub
+mosquitto_pub_EXTERNAL_OBJECTS =
+
+client/mosquitto_pub: client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o
+client/mosquitto_pub: client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o
+client/mosquitto_pub: client/CMakeFiles/mosquitto_pub.dir/client_shared.c.o
+client/mosquitto_pub: client/CMakeFiles/mosquitto_pub.dir/client_props.c.o
+client/mosquitto_pub: client/CMakeFiles/mosquitto_pub.dir/build.make
+client/mosquitto_pub: lib/libmosquitto.so.2.0.13
+client/mosquitto_pub: /usr/lib/x86_64-linux-gnu/libssl.so
+client/mosquitto_pub: /usr/lib/x86_64-linux-gnu/libcrypto.so
+client/mosquitto_pub: client/CMakeFiles/mosquitto_pub.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking C executable mosquitto_pub"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/mosquitto_pub.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+client/CMakeFiles/mosquitto_pub.dir/build: client/mosquitto_pub
+
+.PHONY : client/CMakeFiles/mosquitto_pub.dir/build
+
+client/CMakeFiles/mosquitto_pub.dir/clean:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && $(CMAKE_COMMAND) -P CMakeFiles/mosquitto_pub.dir/cmake_clean.cmake
+.PHONY : client/CMakeFiles/mosquitto_pub.dir/clean
+
+client/CMakeFiles/mosquitto_pub.dir/depend:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : client/CMakeFiles/mosquitto_pub.dir/depend
+

+ 13 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/cmake_clean.cmake

@@ -0,0 +1,13 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/mosquitto_pub.dir/client_props.c.o"
+  "CMakeFiles/mosquitto_pub.dir/client_shared.c.o"
+  "CMakeFiles/mosquitto_pub.dir/pub_client.c.o"
+  "CMakeFiles/mosquitto_pub.dir/pub_shared.c.o"
+  "mosquitto_pub"
+  "mosquitto_pub.pdb"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang C)
+  include(CMakeFiles/mosquitto_pub.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()

+ 29 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/depend.internal

@@ -0,0 +1,29 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+client/CMakeFiles/mosquitto_pub.dir/client_props.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h
+client/CMakeFiles/mosquitto_pub.dir/client_shared.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h
+client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_client.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h
+client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h

+ 29 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/depend.make

@@ -0,0 +1,29 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+client/CMakeFiles/mosquitto_pub.dir/client_props.c.o: client/client_props.c
+client/CMakeFiles/mosquitto_pub.dir/client_props.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_pub.dir/client_props.c.o: config.h
+client/CMakeFiles/mosquitto_pub.dir/client_props.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_pub.dir/client_props.c.o: include/mqtt_protocol.h
+
+client/CMakeFiles/mosquitto_pub.dir/client_shared.c.o: client/client_shared.c
+client/CMakeFiles/mosquitto_pub.dir/client_shared.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_pub.dir/client_shared.c.o: config.h
+client/CMakeFiles/mosquitto_pub.dir/client_shared.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_pub.dir/client_shared.c.o: include/mqtt_protocol.h
+
+client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o: client/pub_client.c
+client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o: client/pub_shared.h
+client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o: config.h
+client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_pub.dir/pub_client.c.o: include/mqtt_protocol.h
+
+client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o: client/pub_shared.c
+client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o: client/pub_shared.h
+client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o: config.h
+client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_pub.dir/pub_shared.c.o: include/mqtt_protocol.h
+

+ 10 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/flags.make

@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# compile C with /usr/bin/cc
+C_FLAGS =  
+
+C_DEFINES = -DCMAKE -DVERSION=\"2.0.13\" -DWITH_EC -DWITH_SOCKS -DWITH_THREADING -DWITH_TLS -DWITH_TLS_PSK -DWITH_UNIX_SOCKETS
+
+C_INCLUDES = -I/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 -I/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/include 
+

+ 1 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/link.txt

@@ -0,0 +1 @@
+/usr/bin/cc   -rdynamic CMakeFiles/mosquitto_pub.dir/pub_client.c.o CMakeFiles/mosquitto_pub.dir/pub_shared.c.o CMakeFiles/mosquitto_pub.dir/client_shared.c.o CMakeFiles/mosquitto_pub.dir/client_props.c.o  -o mosquitto_pub   -L/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib  -Wl,-rpath,/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib: ../lib/libmosquitto.so.2.0.13 -lssl -lcrypto -lpthread -lrt 

+ 6 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_pub.dir/progress.make

@@ -0,0 +1,6 @@
+CMAKE_PROGRESS_1 = 
+CMAKE_PROGRESS_2 = 87
+CMAKE_PROGRESS_3 = 88
+CMAKE_PROGRESS_4 = 
+CMAKE_PROGRESS_5 = 89
+

+ 200 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/C.includecache

@@ -0,0 +1,200 @@
+#IncludeRegexLine: ^[ 	]*[#%][ 	]*(include|import)[ 	]*[<"]([^">]+)([">])
+
+#IncludeRegexScan: ^.*$
+
+#IncludeRegexComplain: ^$
+
+#IncludeRegexTransform: 
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+errno.h
+-
+fcntl.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+unistd.h
+-
+strings.h
+-
+process.h
+-
+winsock2.h
+-
+mosquitto.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/mosquitto.h
+mqtt_protocol.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/mqtt_protocol.h
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+errno.h
+-
+fcntl.h
+-
+stdarg.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+unistd.h
+-
+strings.h
+-
+process.h
+-
+winsock2.h
+-
+mosquitto.h
+-
+mqtt_protocol.h
+-
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+stdio.h
+-
+winsock2.h
+-
+sys/time.h
+-
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+errno.h
+-
+fcntl.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+time.h
+-
+process.h
+-
+winsock2.h
+-
+mosquitto.h
+-
+mqtt_protocol.h
+-
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+pub_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/rr_client.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+assert.h
+-
+errno.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+time.h
+-
+unistd.h
+-
+signal.h
+-
+process.h
+-
+winsock2.h
+-
+mosquitto.h
+-
+mqtt_protocol.h
+-
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+pub_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.h
+sub_client_output.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+fcntl.h
+-
+io.h
+-
+assert.h
+-
+errno.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+time.h
+-
+unistd.h
+-
+process.h
+-
+winsock2.h
+-
+cjson/cJSON.h
+-
+sys/time.h
+-
+mosquitto.h
+-
+mqtt_protocol.h
+-
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+sub_client_output.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.h
+mosquitto.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/mosquitto.h
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+
+config.h
+openssl/opensslconf.h
+-
+stdint.h
+-
+cjson/cJSON.h
+-
+
+include/mosquitto.h
+stdbool.h
+-
+stddef.h
+-
+stdint.h
+-
+
+include/mqtt_protocol.h
+

+ 39 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/DependInfo.cmake

@@ -0,0 +1,39 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  "C"
+  )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_C
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/client_props.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/client_shared.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/rr_client.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o"
+  )
+set(CMAKE_C_COMPILER_ID "GNU")
+
+# Preprocessor definitions for this target.
+set(CMAKE_TARGET_DEFINITIONS_C
+  "CMAKE"
+  "VERSION=\"2.0.13\""
+  "WITH_EC"
+  "WITH_SOCKS"
+  "WITH_THREADING"
+  "WITH_TLS"
+  "WITH_TLS_PSK"
+  "WITH_UNIX_SOCKETS"
+  )
+
+# The include file search paths:
+set(CMAKE_C_TARGET_INCLUDE_PATH
+  "."
+  "include"
+  )
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/CMakeFiles/libmosquitto.dir/DependInfo.cmake"
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")

+ 161 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/build.make

@@ -0,0 +1,161 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# Include any dependencies generated for this target.
+include client/CMakeFiles/mosquitto_rr.dir/depend.make
+
+# Include the progress variables for this target.
+include client/CMakeFiles/mosquitto_rr.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include client/CMakeFiles/mosquitto_rr.dir/flags.make
+
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o: client/CMakeFiles/mosquitto_rr.dir/flags.make
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o: client/rr_client.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_rr.dir/rr_client.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/rr_client.c
+
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_rr.dir/rr_client.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/rr_client.c > CMakeFiles/mosquitto_rr.dir/rr_client.c.i
+
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_rr.dir/rr_client.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/rr_client.c -o CMakeFiles/mosquitto_rr.dir/rr_client.c.s
+
+client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o: client/CMakeFiles/mosquitto_rr.dir/flags.make
+client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o: client/pub_shared.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_rr.dir/pub_shared.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c
+
+client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_rr.dir/pub_shared.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c > CMakeFiles/mosquitto_rr.dir/pub_shared.c.i
+
+client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_rr.dir/pub_shared.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c -o CMakeFiles/mosquitto_rr.dir/pub_shared.c.s
+
+client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o: client/CMakeFiles/mosquitto_rr.dir/flags.make
+client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o: client/sub_client_output.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c
+
+client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_rr.dir/sub_client_output.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c > CMakeFiles/mosquitto_rr.dir/sub_client_output.c.i
+
+client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_rr.dir/sub_client_output.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c -o CMakeFiles/mosquitto_rr.dir/sub_client_output.c.s
+
+client/CMakeFiles/mosquitto_rr.dir/client_shared.c.o: client/CMakeFiles/mosquitto_rr.dir/flags.make
+client/CMakeFiles/mosquitto_rr.dir/client_shared.c.o: client/client_shared.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object client/CMakeFiles/mosquitto_rr.dir/client_shared.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_rr.dir/client_shared.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c
+
+client/CMakeFiles/mosquitto_rr.dir/client_shared.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_rr.dir/client_shared.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c > CMakeFiles/mosquitto_rr.dir/client_shared.c.i
+
+client/CMakeFiles/mosquitto_rr.dir/client_shared.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_rr.dir/client_shared.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c -o CMakeFiles/mosquitto_rr.dir/client_shared.c.s
+
+client/CMakeFiles/mosquitto_rr.dir/client_props.c.o: client/CMakeFiles/mosquitto_rr.dir/flags.make
+client/CMakeFiles/mosquitto_rr.dir/client_props.c.o: client/client_props.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building C object client/CMakeFiles/mosquitto_rr.dir/client_props.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_rr.dir/client_props.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c
+
+client/CMakeFiles/mosquitto_rr.dir/client_props.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_rr.dir/client_props.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c > CMakeFiles/mosquitto_rr.dir/client_props.c.i
+
+client/CMakeFiles/mosquitto_rr.dir/client_props.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_rr.dir/client_props.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c -o CMakeFiles/mosquitto_rr.dir/client_props.c.s
+
+# Object files for target mosquitto_rr
+mosquitto_rr_OBJECTS = \
+"CMakeFiles/mosquitto_rr.dir/rr_client.c.o" \
+"CMakeFiles/mosquitto_rr.dir/pub_shared.c.o" \
+"CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o" \
+"CMakeFiles/mosquitto_rr.dir/client_shared.c.o" \
+"CMakeFiles/mosquitto_rr.dir/client_props.c.o"
+
+# External object files for target mosquitto_rr
+mosquitto_rr_EXTERNAL_OBJECTS =
+
+client/mosquitto_rr: client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o
+client/mosquitto_rr: client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o
+client/mosquitto_rr: client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o
+client/mosquitto_rr: client/CMakeFiles/mosquitto_rr.dir/client_shared.c.o
+client/mosquitto_rr: client/CMakeFiles/mosquitto_rr.dir/client_props.c.o
+client/mosquitto_rr: client/CMakeFiles/mosquitto_rr.dir/build.make
+client/mosquitto_rr: lib/libmosquitto.so.2.0.13
+client/mosquitto_rr: /usr/lib/x86_64-linux-gnu/libssl.so
+client/mosquitto_rr: /usr/lib/x86_64-linux-gnu/libcrypto.so
+client/mosquitto_rr: client/CMakeFiles/mosquitto_rr.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Linking C executable mosquitto_rr"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/mosquitto_rr.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+client/CMakeFiles/mosquitto_rr.dir/build: client/mosquitto_rr
+
+.PHONY : client/CMakeFiles/mosquitto_rr.dir/build
+
+client/CMakeFiles/mosquitto_rr.dir/clean:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && $(CMAKE_COMMAND) -P CMakeFiles/mosquitto_rr.dir/cmake_clean.cmake
+.PHONY : client/CMakeFiles/mosquitto_rr.dir/clean
+
+client/CMakeFiles/mosquitto_rr.dir/depend:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : client/CMakeFiles/mosquitto_rr.dir/depend
+

+ 14 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/cmake_clean.cmake

@@ -0,0 +1,14 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/mosquitto_rr.dir/client_props.c.o"
+  "CMakeFiles/mosquitto_rr.dir/client_shared.c.o"
+  "CMakeFiles/mosquitto_rr.dir/pub_shared.c.o"
+  "CMakeFiles/mosquitto_rr.dir/rr_client.c.o"
+  "CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o"
+  "mosquitto_rr"
+  "mosquitto_rr.pdb"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang C)
+  include(CMakeFiles/mosquitto_rr.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()

+ 37 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/depend.internal

@@ -0,0 +1,37 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+client/CMakeFiles/mosquitto_rr.dir/client_props.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h
+client/CMakeFiles/mosquitto_rr.dir/client_shared.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h
+client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/pub_shared.h
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/rr_client.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h
+client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h

+ 37 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/depend.make

@@ -0,0 +1,37 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+client/CMakeFiles/mosquitto_rr.dir/client_props.c.o: client/client_props.c
+client/CMakeFiles/mosquitto_rr.dir/client_props.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_rr.dir/client_props.c.o: config.h
+client/CMakeFiles/mosquitto_rr.dir/client_props.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_rr.dir/client_props.c.o: include/mqtt_protocol.h
+
+client/CMakeFiles/mosquitto_rr.dir/client_shared.c.o: client/client_shared.c
+client/CMakeFiles/mosquitto_rr.dir/client_shared.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_rr.dir/client_shared.c.o: config.h
+client/CMakeFiles/mosquitto_rr.dir/client_shared.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_rr.dir/client_shared.c.o: include/mqtt_protocol.h
+
+client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o: client/pub_shared.c
+client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o: client/pub_shared.h
+client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o: config.h
+client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_rr.dir/pub_shared.c.o: include/mqtt_protocol.h
+
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o: client/pub_shared.h
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o: client/rr_client.c
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o: client/sub_client_output.h
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o: config.h
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_rr.dir/rr_client.c.o: include/mqtt_protocol.h
+
+client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o: client/sub_client_output.c
+client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o: client/sub_client_output.h
+client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o: config.h
+client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o: include/mqtt_protocol.h
+

+ 10 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/flags.make

@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# compile C with /usr/bin/cc
+C_FLAGS =  
+
+C_DEFINES = -DCMAKE -DVERSION=\"2.0.13\" -DWITH_EC -DWITH_SOCKS -DWITH_THREADING -DWITH_TLS -DWITH_TLS_PSK -DWITH_UNIX_SOCKETS
+
+C_INCLUDES = -I/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 -I/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/include 
+

+ 1 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/link.txt

@@ -0,0 +1 @@
+/usr/bin/cc   -rdynamic CMakeFiles/mosquitto_rr.dir/rr_client.c.o CMakeFiles/mosquitto_rr.dir/pub_shared.c.o CMakeFiles/mosquitto_rr.dir/sub_client_output.c.o CMakeFiles/mosquitto_rr.dir/client_shared.c.o CMakeFiles/mosquitto_rr.dir/client_props.c.o  -o mosquitto_rr   -L/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib  -Wl,-rpath,/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib: ../lib/libmosquitto.so.2.0.13 -lssl -lcrypto -lpthread -lrt 

+ 7 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_rr.dir/progress.make

@@ -0,0 +1,7 @@
+CMAKE_PROGRESS_1 = 90
+CMAKE_PROGRESS_2 = 91
+CMAKE_PROGRESS_3 = 
+CMAKE_PROGRESS_4 = 92
+CMAKE_PROGRESS_5 = 93
+CMAKE_PROGRESS_6 = 
+

+ 168 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/C.includecache

@@ -0,0 +1,168 @@
+#IncludeRegexLine: ^[ 	]*[#%][ 	]*(include|import)[ 	]*[<"]([^">]+)([">])
+
+#IncludeRegexScan: ^.*$
+
+#IncludeRegexComplain: ^$
+
+#IncludeRegexTransform: 
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+errno.h
+-
+fcntl.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+unistd.h
+-
+strings.h
+-
+process.h
+-
+winsock2.h
+-
+mosquitto.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/mosquitto.h
+mqtt_protocol.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/mqtt_protocol.h
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+errno.h
+-
+fcntl.h
+-
+stdarg.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+unistd.h
+-
+strings.h
+-
+process.h
+-
+winsock2.h
+-
+mosquitto.h
+-
+mqtt_protocol.h
+-
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+stdio.h
+-
+winsock2.h
+-
+sys/time.h
+-
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+assert.h
+-
+errno.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+time.h
+-
+unistd.h
+-
+signal.h
+-
+process.h
+-
+winsock2.h
+-
+mosquitto.h
+-
+mqtt_protocol.h
+-
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+sub_client_output.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c
+config.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/config.h
+fcntl.h
+-
+io.h
+-
+assert.h
+-
+errno.h
+-
+stdio.h
+-
+stdlib.h
+-
+string.h
+-
+time.h
+-
+unistd.h
+-
+process.h
+-
+winsock2.h
+-
+cjson/cJSON.h
+-
+sys/time.h
+-
+mosquitto.h
+-
+mqtt_protocol.h
+-
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+sub_client_output.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.h
+
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.h
+mosquitto.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/mosquitto.h
+client_shared.h
+/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+
+config.h
+openssl/opensslconf.h
+-
+stdint.h
+-
+cjson/cJSON.h
+-
+
+include/mosquitto.h
+stdbool.h
+-
+stddef.h
+-
+stdint.h
+-
+
+include/mqtt_protocol.h
+

+ 38 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/DependInfo.cmake

@@ -0,0 +1,38 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  "C"
+  )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_C
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/client_props.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/client_shared.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o"
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c" "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o"
+  )
+set(CMAKE_C_COMPILER_ID "GNU")
+
+# Preprocessor definitions for this target.
+set(CMAKE_TARGET_DEFINITIONS_C
+  "CMAKE"
+  "VERSION=\"2.0.13\""
+  "WITH_EC"
+  "WITH_SOCKS"
+  "WITH_THREADING"
+  "WITH_TLS"
+  "WITH_TLS_PSK"
+  "WITH_UNIX_SOCKETS"
+  )
+
+# The include file search paths:
+set(CMAKE_C_TARGET_INCLUDE_PATH
+  "."
+  "include"
+  )
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  "/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/lib/CMakeFiles/libmosquitto.dir/DependInfo.cmake"
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")

+ 146 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/build.make

@@ -0,0 +1,146 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13
+
+# Include any dependencies generated for this target.
+include client/CMakeFiles/mosquitto_sub.dir/depend.make
+
+# Include the progress variables for this target.
+include client/CMakeFiles/mosquitto_sub.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include client/CMakeFiles/mosquitto_sub.dir/flags.make
+
+client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o: client/CMakeFiles/mosquitto_sub.dir/flags.make
+client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o: client/sub_client.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_sub.dir/sub_client.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client.c
+
+client/CMakeFiles/mosquitto_sub.dir/sub_client.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_sub.dir/sub_client.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client.c > CMakeFiles/mosquitto_sub.dir/sub_client.c.i
+
+client/CMakeFiles/mosquitto_sub.dir/sub_client.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_sub.dir/sub_client.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client.c -o CMakeFiles/mosquitto_sub.dir/sub_client.c.s
+
+client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o: client/CMakeFiles/mosquitto_sub.dir/flags.make
+client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o: client/sub_client_output.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c
+
+client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_sub.dir/sub_client_output.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c > CMakeFiles/mosquitto_sub.dir/sub_client_output.c.i
+
+client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_sub.dir/sub_client_output.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c -o CMakeFiles/mosquitto_sub.dir/sub_client_output.c.s
+
+client/CMakeFiles/mosquitto_sub.dir/client_shared.c.o: client/CMakeFiles/mosquitto_sub.dir/flags.make
+client/CMakeFiles/mosquitto_sub.dir/client_shared.c.o: client/client_shared.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object client/CMakeFiles/mosquitto_sub.dir/client_shared.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_sub.dir/client_shared.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c
+
+client/CMakeFiles/mosquitto_sub.dir/client_shared.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_sub.dir/client_shared.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c > CMakeFiles/mosquitto_sub.dir/client_shared.c.i
+
+client/CMakeFiles/mosquitto_sub.dir/client_shared.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_sub.dir/client_shared.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c -o CMakeFiles/mosquitto_sub.dir/client_shared.c.s
+
+client/CMakeFiles/mosquitto_sub.dir/client_props.c.o: client/CMakeFiles/mosquitto_sub.dir/flags.make
+client/CMakeFiles/mosquitto_sub.dir/client_props.c.o: client/client_props.c
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object client/CMakeFiles/mosquitto_sub.dir/client_props.c.o"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mosquitto_sub.dir/client_props.c.o   -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c
+
+client/CMakeFiles/mosquitto_sub.dir/client_props.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mosquitto_sub.dir/client_props.c.i"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c > CMakeFiles/mosquitto_sub.dir/client_props.c.i
+
+client/CMakeFiles/mosquitto_sub.dir/client_props.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mosquitto_sub.dir/client_props.c.s"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c -o CMakeFiles/mosquitto_sub.dir/client_props.c.s
+
+# Object files for target mosquitto_sub
+mosquitto_sub_OBJECTS = \
+"CMakeFiles/mosquitto_sub.dir/sub_client.c.o" \
+"CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o" \
+"CMakeFiles/mosquitto_sub.dir/client_shared.c.o" \
+"CMakeFiles/mosquitto_sub.dir/client_props.c.o"
+
+# External object files for target mosquitto_sub
+mosquitto_sub_EXTERNAL_OBJECTS =
+
+client/mosquitto_sub: client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o
+client/mosquitto_sub: client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o
+client/mosquitto_sub: client/CMakeFiles/mosquitto_sub.dir/client_shared.c.o
+client/mosquitto_sub: client/CMakeFiles/mosquitto_sub.dir/client_props.c.o
+client/mosquitto_sub: client/CMakeFiles/mosquitto_sub.dir/build.make
+client/mosquitto_sub: lib/libmosquitto.so.2.0.13
+client/mosquitto_sub: /usr/lib/x86_64-linux-gnu/libssl.so
+client/mosquitto_sub: /usr/lib/x86_64-linux-gnu/libcrypto.so
+client/mosquitto_sub: client/CMakeFiles/mosquitto_sub.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking C executable mosquitto_sub"
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/mosquitto_sub.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+client/CMakeFiles/mosquitto_sub.dir/build: client/mosquitto_sub
+
+.PHONY : client/CMakeFiles/mosquitto_sub.dir/build
+
+client/CMakeFiles/mosquitto_sub.dir/clean:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client && $(CMAKE_COMMAND) -P CMakeFiles/mosquitto_sub.dir/cmake_clean.cmake
+.PHONY : client/CMakeFiles/mosquitto_sub.dir/clean
+
+client/CMakeFiles/mosquitto_sub.dir/depend:
+	cd /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13 /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : client/CMakeFiles/mosquitto_sub.dir/depend
+

+ 13 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/cmake_clean.cmake

@@ -0,0 +1,13 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/mosquitto_sub.dir/client_props.c.o"
+  "CMakeFiles/mosquitto_sub.dir/client_shared.c.o"
+  "CMakeFiles/mosquitto_sub.dir/sub_client.c.o"
+  "CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o"
+  "mosquitto_sub"
+  "mosquitto_sub.pdb"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang C)
+  include(CMakeFiles/mosquitto_sub.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()

+ 29 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/depend.internal

@@ -0,0 +1,29 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+client/CMakeFiles/mosquitto_sub.dir/client_props.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_props.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h
+client/CMakeFiles/mosquitto_sub.dir/client_shared.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h
+client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h
+client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/client_shared.h
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.c
+ /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/mosquitto-2.0.13/client/sub_client_output.h
+ config.h
+ include/mosquitto.h
+ include/mqtt_protocol.h

+ 29 - 0
EVSE/GPL/mosquitto-2.0.13/client/CMakeFiles/mosquitto_sub.dir/depend.make

@@ -0,0 +1,29 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+client/CMakeFiles/mosquitto_sub.dir/client_props.c.o: client/client_props.c
+client/CMakeFiles/mosquitto_sub.dir/client_props.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_sub.dir/client_props.c.o: config.h
+client/CMakeFiles/mosquitto_sub.dir/client_props.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_sub.dir/client_props.c.o: include/mqtt_protocol.h
+
+client/CMakeFiles/mosquitto_sub.dir/client_shared.c.o: client/client_shared.c
+client/CMakeFiles/mosquitto_sub.dir/client_shared.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_sub.dir/client_shared.c.o: config.h
+client/CMakeFiles/mosquitto_sub.dir/client_shared.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_sub.dir/client_shared.c.o: include/mqtt_protocol.h
+
+client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o: client/sub_client.c
+client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o: client/sub_client_output.h
+client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o: config.h
+client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_sub.dir/sub_client.c.o: include/mqtt_protocol.h
+
+client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o: client/client_shared.h
+client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o: client/sub_client_output.c
+client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o: client/sub_client_output.h
+client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o: config.h
+client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o: include/mosquitto.h
+client/CMakeFiles/mosquitto_sub.dir/sub_client_output.c.o: include/mqtt_protocol.h
+

Some files were not shown because too many files changed in this diff