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
  • client.cpp
16 Oct, 2021
1 commit
  • Fix length bug in sending websocket frames ...
    411412f9
    One part is a fix, where the frame was advertised to be bigger than it
    was.
    
    The other change is making it possible to send chunks larger than the
    initial buffer size, by resizing the buffer (and resetting it later).
    Wiebe Cazemier authored
    2021-10-16 21:31:13 +0200  
    Browse File »

30 Sep, 2021
1 commit
  • Remove session of client with clean session on disconnect ...
    51127c3d
    Mandatory normative statement MQTT-3.1.2-6.
    Wiebe Cazemier authored
    2021-09-30 10:32:32 +0200  
    Browse File »

07 Aug, 2021
1 commit
  • Fix forgotten lock on write buffer reset
    c98ab7af
    Wiebe Cazemier authored
    2021-08-07 21:10:29 +0200  
    Browse File »

15 Jun, 2021
1 commit
  • Show clean session in client string
    1654508d
    Wiebe Cazemier authored
    2021-06-15 22:17:06 +0200  
    Browse File »

12 Jun, 2021
1 commit
  • Implement a native FlashMQ auth plugin
    aa19d41b
    Wiebe Cazemier authored
    2021-06-12 18:19:20 +0200  
    Browse File »

05 Jun, 2021
2 commits
  • Expand client identifying string, including address
    e305b754
    Wiebe Cazemier authored
    2021-06-05 17:04:10 +0200  
    Browse File »
  • Use monotonic clock for keep alive mechanism
    5f026592
    Wiebe Cazemier authored
    2021-06-05 12:17:58 +0200  
    Browse File »

25 May, 2021
1 commit
  • Support disabling keep-alives
    1b9eed17
    Wiebe Cazemier authored
    2021-05-25 15:46:41 +0200  
    Browse File »

22 May, 2021
1 commit
  • Fix assert error on exceeding write buffer ...
    8b6c686c
    Also fixes not downgrading QoS on subscribe.
    Wiebe Cazemier authored
    2021-05-22 13:56:49 +0200  
    Browse File »

26 Apr, 2021
2 commits
  • Emplace packet into vector
    c9f3af29
    Wiebe Cazemier authored
    2021-04-26 21:23:19 +0200  
    Browse File »
  • Add support for Mosquitto's acl_file
    05b38f94
    Wiebe Cazemier authored
    2021-04-26 11:40:34 +0200  
    Browse File »

27 Mar, 2021
1 commit
  • Remove typedefs for shared_ptr things ...
    ac3a130a
    My IDE didn't understand them for finding symbols, apparently.
    Wiebe Cazemier authored
    2021-03-27 10:51:04 +0100  
    Browse File »

20 Mar, 2021
28 commits
  • Add license
    60b9cd16
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Auto-detect fuzzing mode, and don't make threads ...
    1f84a1ef
    Having threads creates instability for the fuzzer, and we don't need
    them.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Add fuzz mode by feeding a client from a file ...
    d6af7d82
    This can be called by a fuzzer like afl-fuzz.
    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 »
  • 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 »
  • Use timer for resetting buffers
    e5746d7f
    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 »
  • Add IoWrapper, with websocket support added ...
    b5ba41f5
    The ping/pong is actually untested at this point, because Paho (my test
    client for now) doesn't do those. I wonder if any do, because MQTT
    already has ping/pong.
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Buffer size and max packet size as setting
    1106e210
    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 »
  • 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 »
  • Working on expiring sessions ...
    33ef5bdf
    This includes a timer mechanism.
    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 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 »
  • 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 »
  • Simple protection against growing write buffer
    5d84ff29
    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 »
  • Simple keep-alive mechanism
    f8e062bf
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Reduce client buffers periodically ...
    497bc9eb
    The test cases give a bunch of warnings, but that's the COMPARE macro's
    fault. Let's see what to do...
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Fix bug in max packet size and big packet handling ...
    a0596b6e
    The MQTT docs showed a wrong condition for checking malformed packets.
    
    And, we have to grow buffers to MAX_PACKET_SIZE, otherwise we can't
    process. I still have some inteligent buffer shrink logic in mind.
    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 »
  • Circbuf for write buffer
    121e04de
    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 »
  • stowing circular buffer work
    ae9b2060
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Parsing read buffer is now probably fixed
    962dec5e
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Change from checking fd==-1 to properly through the destructor
    7e87fd91
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »
  • Fix memory leak on malloc errors
    9b6e0d3b
    Wiebe Cazemier authored
    2021-03-20 19:02:25 +0100  
    Browse File »