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
18 Oct, 2021
1 commit
  • Version 0.9.4
    b0308527
    Wiebe Cazemier authored
    2021-10-18 18:49:14 +0200  
    Browse Code »

17 Oct, 2021
1 commit
  • Use Sec-WebSocket-Protocol in websockets ...
    fe2a95ea
    Firefox worked without it. Chrome didn't.
    Wiebe Cazemier authored
    2021-10-17 14:30:18 +0200  
    Browse Code »

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 Code »

14 Oct, 2021
1 commit
  • Handle websocket close frames ...
    67df67f0
    We interpret the close frames as closed transport, and therefore set
    'error' to 'disconnected'. See code comments.
    Wiebe Cazemier authored
    2021-10-14 21:35:53 +0200  
    Browse Code »

10 Oct, 2021
2 commits
  • Parse 'connection' header better in websocket handshake
    e40fba1e
    Wiebe Cazemier authored
    2021-10-10 14:13:36 +0200  
    Browse Code »
  • Clarify Websocket errors in disconnect reason
    37da7e13
    Wiebe Cazemier authored
    2021-10-10 14:13:12 +0200  
    Browse Code »

09 Oct, 2021
4 commits
  • Require presence of topics in UNSUBSCRIBE
    86ae3f76
    Wiebe Cazemier authored
    2021-10-09 14:55:54 +0200  
    Browse Code »
  • Require topics to be present in subscribe packet ...
    c4df7557
    MQTT-3.8.3-3
    Wiebe Cazemier authored
    2021-10-09 14:48:06 +0200  
    Browse Code »
  • Fix tests
    86fb73e0
    Wiebe Cazemier authored
    2021-10-09 14:31:37 +0200  
    Browse Code »
  • Check first nibble in PUBREL control packet ...
    e95c87f6
    MQTT-3.6.1-1
    Wiebe Cazemier authored
    2021-10-09 13:03:04 +0200  
    Browse Code »

02 Oct, 2021
2 commits
  • Version 0.9.3
    6e0095bc
    Wiebe Cazemier authored
    2021-10-02 14:53:19 +0200  
    Browse Code »
  • Ignore errors in postrm debian script ...
    86c803e7
    This fixes dpkg errors on removal.
    Wiebe Cazemier authored
    2021-10-02 14:51:47 +0200  
    Browse Code »

30 Sep, 2021
3 commits
  • Fix incorrect log file path in default config
    f1503783
    Wiebe Cazemier authored
    2021-09-30 20:56:23 +0200  
    Browse Code »
  • Build deb file with cpack using CI
    b7d15a15
    Wiebe Cazemier authored
    2021-09-30 20:48:19 +0200  
    Browse Code »
  • 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 Code »

29 Sep, 2021
3 commits
  • Comply with protocol spec to check for non-0 packet ID ...
    aa87dfb6
    [MQTT-2.3.1-1]
    Wiebe Cazemier authored
    2021-09-29 18:02:16 +0200  
    Browse Code »
  • Change sessions copy from list to vector when saving ...
    5856733c
    When there are many sessions, the copying action can actually take some
    time, and memory. A vector is faster and uses (a little) less memory.
    
    This is a theoretical fix, without benchmarks to support it.
    Wiebe Cazemier authored
    2021-09-29 12:05:07 +0200  
    Browse Code »
  • Lock (QoS data of) sessions during copying/saving ...
    295cf8ee
    The only mutable session data of a client is QoS related, so when we're
    copying sessions (for saving them), we need to lock the QoS data,
    because that gets modified from active client traffic in worker threads.
    
    Note: not super well tested at this point, nor was I ever able to
    trigger actual errors despite long stress testing, so it's a theoretical
    fix.
    Wiebe Cazemier authored
    2021-09-29 12:03:48 +0200  
    Browse Code »

16 Sep, 2021
2 commits
  • Version 0.9.2
    6672b8c9
    Wiebe Cazemier authored
    2021-09-16 21:48:25 +0200  
    Browse Code »
  • Fix cleaning up subscription tree nodes ...
    1aa26ae9
    Empty leaves weren't removed, causing increase in memory use.
    Wiebe Cazemier authored
    2021-09-16 21:39:08 +0200  
    Browse Code »

12 Sep, 2021
1 commit
  • Avoid repeat messages about dropping QoS Packets ...
    d122412b
    This method incurs no extra CPU load when messages aren't dropped.
    Wiebe Cazemier authored
    2021-09-12 13:15:43 +0200  
    Browse Code »

06 Sep, 2021
1 commit
  • Reduce blocking of threads when saving state
    5111f73d
    Wiebe Cazemier authored
    2021-09-06 21:51:41 +0200  
    Browse Code »

05 Sep, 2021
3 commits
  • Publish session count on $SYS
    cd429cb7
    Wiebe Cazemier authored
    2021-09-05 21:22:42 +0200  
    Browse Code »
  • Release version 0.9.1
    ff7c078a
    Wiebe Cazemier authored
    2021-09-05 12:45:20 +0200  
    Browse Code »
  • Fix not upgrading QoS of existing subscription
    bae65119
    Wiebe Cazemier authored
    2021-09-05 12:13:58 +0200  
    Browse Code »

04 Sep, 2021
1 commit
  • Solve crashes because of race conditions in sessions and clients ...
    43f54d96
    One was confirmed: writing an mqtt packet into a client that
    disconnected after checking the weak pointer for validity.
    
    The rest made sense to change as well.
    Wiebe Cazemier authored
    2021-09-04 22:50:42 +0200  
    Browse Code »

15 Aug, 2021
1 commit
  • Version 0.9.0
    3eb55c4d
    Wiebe Cazemier authored
    2021-08-15 10:28:54 +0200  
    Browse Code »

07 Aug, 2021
2 commits
  • Fix forgotten lock on write buffer reset
    c98ab7af
    Wiebe Cazemier authored
    2021-08-07 21:10:29 +0200  
    Browse Code »
  • Treat packets before CONNECT as warning ...
    d363f229
    I have no explanation for it, but it happens (with QMQTT, should it
    matter).
    Wiebe Cazemier authored
    2021-08-07 09:58:05 +0200  
    Browse Code »

02 Aug, 2021
9 commits
  • Also report illegal $ in publish path
    3f675762
    Wiebe Cazemier authored
    2021-08-02 21:52:00 +0200  
    Browse Code »
  • Calculate string length in formatString()
    a49409a5
    Wiebe Cazemier authored
    2021-08-02 21:47:34 +0200  
    Browse Code »
  • Set only owner permissions on persistence files
    78996e25
    Wiebe Cazemier authored
    2021-08-02 21:43:01 +0200  
    Browse Code »
  • Support lack of subscribe ACL in Mosquitto files
    b0cff47b
    Wiebe Cazemier authored
    2021-08-02 21:32:07 +0200  
    Browse Code »
  • Log QoS level at subscribe
    299557ba
    Wiebe Cazemier authored
    2021-08-02 21:16:17 +0200  
    Browse Code »
  • Publish $SYS topics in a thread, because authentication is thread local ...
    99354574
    It was a mistake that it ran inside the timer thread, which came to
    light by asserting the thread local authentication pointer (see a few
    commits ago).
    Wiebe Cazemier authored
    2021-08-02 21:09:31 +0200  
    Browse Code »
  • Use thread local pointer to authentication object ...
    c20ba7c5
    There were bugs in which authentication object was used when, causing
    threadings bugs. Instead of getting from the 'sender', we can just store
    a thread local pointer.
    Wiebe Cazemier authored
    2021-08-02 21:09:31 +0200  
    Browse Code »
  • Add saving state feature ...
    4bfa5aa5
    Files are simple serialized bytes prefaced by lengths. File is hashed to
    verify integrity. This was also a good way preventing unexpected errors
    when trying to crash the parser by having it load a different file.
    
    This change includes some refactoring that was necessary:
    
    - It 'fixes' looking at the wrong thread's authentiction. This is still
      wrong though. It will be fixed by a thread local pointer in the next
      commit.
    - Deadlocks with yourself are handled in rwlockguard.
    - QoSPacketQueue is now a class.
    - Probably other tweaks.
    Wiebe Cazemier authored
    2021-08-02 20:56:30 +0200  
    Browse Code »
  • Fix main app scope in tests ...
    0cbe2a00
    It didn't clean up the old ones, causing unpredictable problems.
    Wiebe Cazemier authored
    2021-08-02 20:51:39 +0200  
    Browse Code »

01 Aug, 2021
1 commit
  • Use monotonic clock in Timer class ...
    e1c7b86f
    This fixes side effects when system time changes.
    Wiebe Cazemier authored
    2021-08-01 10:21:24 +0200  
    Browse Code »

15 Jun, 2021
1 commit
  • Publish retained message count on $SYS
    fc2ba5b6
    Wiebe Cazemier authored
    2021-06-15 22:42:03 +0200  
    Browse Code »