Logo white

Peter M. Groen / FlashMQ

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Commits 453
  • Compare
  • Branches 1
  • Tags 0
  • FlashMQ
  • mqttpacket.cpp
20 Mar, 2021
36 commits
  • Add license
    60b9cd16
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Check for valid subscribe path
    71800651
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Fix several packing handling issues found by fuzzing ...
    dd44efb0
    Fix websocket crash case
    
    Fix infinite loop on lying about websocket frame sizes
    
    This fixes infinite loops when you send a frame type that is not handled.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Implement the log levels
    6990c689
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Implement unsubscribe handling
    cb40c2d2
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Check valid header bytes in subscribe
    c3961e7f
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Check whether subscribe topic is valid UTF-8 ...
    ddf2b612
    And check Qos.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Fix packet parsing bug ...
    6e92c053
    When sending many 0xFF, it would overflow.
    
    Found by using afl-fuzz.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Implement ACL checks and improved login checks
    be205082
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Add small protocol requirement
    92f401f5
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Add config option 'allow_unsafe_username_chars'
    6702193e
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Support generic listener in config file ...
    5d72070e
    This allows creation of multiple listeners, with different protocols
    and/or SSL certificates.
    
    Related change: settings is now a class that is copyable and assignable,
    and is done so to each thread on reload.
    
    Semi-related fix: fix crash in quit when multiple threads initiated it.
    This came to light when testing the auth plugin settings.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Refactor code to use new interface on CirBuf ...
    468ca477
    And fixed an assert in CirBuf.read().
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Like main thread, also have a task queue in threads ...
    f3a45a2a
    It's also used to reload settings. Settings are copied to threads, to
    avoid concurrency issues.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Add will support ...
    99a087f4
    Also changed the disconnect reason a little: it now shows them all, so I
    don't have to worry about which one is more important.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Do 'session present' for MQTT 3.1.1
    60065fcb
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Add setting 'allow_unsafe_clientid_chars' ...
    65146ae2
    And some side issues.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Deal with clientid protocol version-appropriate ...
    1f378699
    And include some extra error conditions.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Add SSL support ...
    9e33ebda
    It also contains some related improvements that I needed:
    
    * Show disconnect reason
    * Fix the while condition for doing write() to avoid an unnecessary call
    * Config reloading logic
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • QoS on retained messages
    8094510f
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • QoS 1, 80% ...
    760ec588
    Also includes fixes to packet parsing that I couldn't make a separate
    commit for.
    
    When it comes to QoS 1, these things are still left, off the top of my
    head:
    
    - vector for qos queue? It helps with ordering and is CPU cache friendly.
    - Store subscription QoS.
    - Do retained messages have QoS?
    - Give session client's name, to access it later.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Improve disconnect handling
    a0070c99
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Simple anonymous handling
    260643dc
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Settings and logger stuff ...
    d55f39d1
    Also reloading of settings, which re-opens the log file.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Sessions and 'clean session' works
    862f0933
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Disconnect client with existing ID
    43df4fc2
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Working auth with plugin
    462fb2ed
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Fix write buffer bug: wasn't increased enough ...
    502ffeec
    There still is a bug: writing a very big packet. I wrote the test case
    already.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Use proper circular buffer for reading
    ae95e6dc
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Check publish paths
    0038d1ea
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Some more compliant connect error handling
    52cdff03
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Corrected subscribing a bit
    bf961235
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Start of retained messages ...
    70896f68
    Also materializes some concepts about MqttPacket.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Will stuff in connect
    e3ad153c
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Recursive publish
    163d14e8
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • IO stuff
    73ef26ae
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »

10 Dec, 2020
2 commits
  • Publishing within the same thread works ...
    40f8e5e5
    Roughly...
    Wiebe Cazemier authored
    2020-12-10 21:57:42 +0100  
    Browse File »
  • Reorder stuff for storing subscription store
    2a3138f9
    Wiebe Cazemier authored
    2020-12-10 15:35:14 +0100  
    Browse File »

09 Dec, 2020
2 commits
  • Ping response
    2e26e00c
    Wiebe Cazemier authored
    2020-12-09 15:01:47 +0100  
    Browse File »
  • Dummy connect
    76c18f38
    Wiebe Cazemier authored
    2020-12-09 14:45:36 +0100  
    Browse File »