Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Refactor server database #6263

Draft
wants to merge 255 commits into
base: master
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Aug 20, 2024

  1. Configuration menu
    Copy the full SHA
    41a1c84 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    62c0ee1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    29416e7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2fac2d5 View commit details
    Browse the repository at this point in the history
  5. Introduce TEXT datatype

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c0b9004 View commit details
    Browse the repository at this point in the history
  6. Finish table list

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    1c97a81 View commit details
    Browse the repository at this point in the history
  7. Add data type for timestamps

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    5ffd701 View commit details
    Browse the repository at this point in the history
  8. Add BLOB datatype

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    a319014 View commit details
    Browse the repository at this point in the history
  9. BUILD(server): Use object library

    By creating an object library for the server, we can more easily start
    unit-testing individual pieces of the code as we can simply link against
    that library instead of having to attempt to somehow link against the
    main executable (which is not really possible).
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    bbae52e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    d32dcff View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    abaedfc View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a288c79 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    5056682 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    f49c78a View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    817d7eb View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    0616f05 View commit details
    Browse the repository at this point in the history
  17. Format code

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    2e8c1e9 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    2e46906 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    232f1bb View commit details
    Browse the repository at this point in the history
  20. Add LogTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    e4c9d5d View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    f12fc98 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    bd74925 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    35205b4 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    0da220c View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    5e7a5a0 View commit details
    Browse the repository at this point in the history
  26. Fix migration code paths

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    aaa0b39 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    f67b442 View commit details
    Browse the repository at this point in the history
  28. Added tests for ConfigTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    01ff5f3 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    ad936d8 View commit details
    Browse the repository at this point in the history
  30. Implemented ChannelTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    914482e View commit details
    Browse the repository at this point in the history
  31. Fix broken unity build

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    3fd1779 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    ee2ec0b View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    c60b88b View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    0b236ec View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    3cc2ba0 View commit details
    Browse the repository at this point in the history
  36. Upload StringConverter

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    b3973d1 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    691a19b View commit details
    Browse the repository at this point in the history
  38. Add unique index

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    288329a View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    32900d8 View commit details
    Browse the repository at this point in the history
  40. Added design for UserTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    f009ac5 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    d1e04a5 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    407b414 View commit details
    Browse the repository at this point in the history
  43. Increment new scheme version

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    e07c748 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    8b245b5 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    628ba8c View commit details
    Browse the repository at this point in the history
  46. Fix typo in cmake option

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    b3efa3c View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    ef4413f View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    49510a9 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    4b9953a View commit details
    Browse the repository at this point in the history
  50. REMOVE-ME: Update Soci to include BLOB improvements

    This commit should be removed once upstream Soci has integrated the
    necessary changes in their master branch. Then we should point the
    submodule there instead of to my forkThis commit should be removed once
    upstream Soci has integrated the necessary changes in their master
    branch. Then we should point the submodule there instead of to my fork..
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    390f310 View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    0ed47f1 View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    d683d37 View commit details
    Browse the repository at this point in the history
  53. Table: Also create triggers

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    e2069cb View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    bcc999b View commit details
    Browse the repository at this point in the history
  55. format code

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    de3c475 View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    3597b6f View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    a4dbeee View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    b9f6a5e View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    7083b2f View commit details
    Browse the repository at this point in the history
  60. Configuration menu
    Copy the full SHA
    4620bad View commit details
    Browse the repository at this point in the history
  61. Implemented UserTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    26db0ad View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    ec33516 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    4a79300 View commit details
    Browse the repository at this point in the history
  64. Configuration menu
    Copy the full SHA
    b4b8610 View commit details
    Browse the repository at this point in the history
  65. Implement UserPropertyTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    f6ea379 View commit details
    Browse the repository at this point in the history
  66. Configuration menu
    Copy the full SHA
    145a14b View commit details
    Browse the repository at this point in the history
  67. Configuration menu
    Copy the full SHA
    a49a1db View commit details
    Browse the repository at this point in the history
  68. Configuration menu
    Copy the full SHA
    ac375f7 View commit details
    Browse the repository at this point in the history
  69. Configuration menu
    Copy the full SHA
    91770cc View commit details
    Browse the repository at this point in the history
  70. Configuration menu
    Copy the full SHA
    65f2666 View commit details
    Browse the repository at this point in the history
  71. Configuration menu
    Copy the full SHA
    23a8333 View commit details
    Browse the repository at this point in the history
  72. Configuration menu
    Copy the full SHA
    5f74d2a View commit details
    Browse the repository at this point in the history
  73. Configuration menu
    Copy the full SHA
    1dc128a View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    0db48b1 View commit details
    Browse the repository at this point in the history
  75. Configuration menu
    Copy the full SHA
    3cc0f98 View commit details
    Browse the repository at this point in the history
  76. Added tests for GroupTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    9285a41 View commit details
    Browse the repository at this point in the history
  77. Configuration menu
    Copy the full SHA
    4b10561 View commit details
    Browse the repository at this point in the history
  78. Implemented GroupMemberTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    837e80e View commit details
    Browse the repository at this point in the history
  79. Implemented ACLTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c11a9c0 View commit details
    Browse the repository at this point in the history
  80. Implemented ChannelLinkTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c42ec55 View commit details
    Browse the repository at this point in the history
  81. Implemented DBBan class

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c27d73e View commit details
    Browse the repository at this point in the history
  82. Introduce ChronoUtils

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    b5f4577 View commit details
    Browse the repository at this point in the history
  83. DataType: Fix bug

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    87aab3c View commit details
    Browse the repository at this point in the history
  84. Configuration menu
    Copy the full SHA
    bf59cf2 View commit details
    Browse the repository at this point in the history
  85. Fix member variable naming

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    7c401b4 View commit details
    Browse the repository at this point in the history
  86. Implemented BanTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    a0b5ef5 View commit details
    Browse the repository at this point in the history
  87. Configuration menu
    Copy the full SHA
    d74e357 View commit details
    Browse the repository at this point in the history
  88. Configuration menu
    Copy the full SHA
    9ce0bce View commit details
    Browse the repository at this point in the history
  89. Configuration menu
    Copy the full SHA
    d149926 View commit details
    Browse the repository at this point in the history
  90. Configuration menu
    Copy the full SHA
    8fc2ede View commit details
    Browse the repository at this point in the history
  91. Configuration menu
    Copy the full SHA
    18a20cd View commit details
    Browse the repository at this point in the history
  92. Silence compiler warning

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    170b962 View commit details
    Browse the repository at this point in the history
  93. Configuration menu
    Copy the full SHA
    b836ea0 View commit details
    Browse the repository at this point in the history
  94. Introduced DBLogEntry type

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    7c82733 View commit details
    Browse the repository at this point in the history
  95. Extended LogTable interface

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    979189c View commit details
    Browse the repository at this point in the history
  96. Fix LogTable extensions

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    62f22d5 View commit details
    Browse the repository at this point in the history
  97. Configuration menu
    Copy the full SHA
    0e4c996 View commit details
    Browse the repository at this point in the history
  98. Configuration menu
    Copy the full SHA
    d4d65fb View commit details
    Browse the repository at this point in the history
  99. SQLite: Don't rollback automatically

    The function for raising an error inside a custom trigger used to
    automatically roll back the currently active transaction. However, if
    the transaction is explicitly handled via a RAII wrapper that
    automatically rolls back on error, this would lead to a second (invalid)
    rollback command to be issued, causing an error.
    
    Instead, we now only abort the current sql statement for which the
    trigger failed, but we don't touch the active transaction.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    fb60ada View commit details
    Browse the repository at this point in the history
  100. Avoid throwing from dtor

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    e2e6e42 View commit details
    Browse the repository at this point in the history
  101. Configuration menu
    Copy the full SHA
    d57afd7 View commit details
    Browse the repository at this point in the history
  102. Extend GroupTable interface

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    ee07513 View commit details
    Browse the repository at this point in the history
  103. Extended LogTable interface

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    20031d1 View commit details
    Browse the repository at this point in the history
  104. Extend ChannelListenerTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    9683455 View commit details
    Browse the repository at this point in the history
  105. Extend UserTable interface

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    3ba8940 View commit details
    Browse the repository at this point in the history
  106. Support username filtering

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    58fc769 View commit details
    Browse the repository at this point in the history
  107. Configuration menu
    Copy the full SHA
    9ccc670 View commit details
    Browse the repository at this point in the history
  108. Configuration menu
    Copy the full SHA
    23cf233 View commit details
    Browse the repository at this point in the history
  109. fix typo

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    4509936 View commit details
    Browse the repository at this point in the history
  110. Set current scheme version

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    dff46fd View commit details
    Browse the repository at this point in the history
  111. Configuration menu
    Copy the full SHA
    fce33ab View commit details
    Browse the repository at this point in the history
  112. Configuration menu
    Copy the full SHA
    e03ad8c View commit details
    Browse the repository at this point in the history
  113. Configuration menu
    Copy the full SHA
    42e9f2e View commit details
    Browse the repository at this point in the history
  114. Fix scheme version fetching

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    cc4ac7a View commit details
    Browse the repository at this point in the history
  115. Configuration menu
    Copy the full SHA
    7991b62 View commit details
    Browse the repository at this point in the history
  116. Configuration menu
    Copy the full SHA
    2907d6d View commit details
    Browse the repository at this point in the history
  117. Use system_clock instead of steady_clock

    That way, we have a (good) chance that seconds_since_epoch actually
    return the desired seconds since Unix epoch time and not just the
    seconds since the start of that particular clock.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c2d4451 View commit details
    Browse the repository at this point in the history
  118. Configuration menu
    Copy the full SHA
    99d4c1e View commit details
    Browse the repository at this point in the history
  119. Configuration menu
    Copy the full SHA
    bfdc1c1 View commit details
    Browse the repository at this point in the history
  120. Configuration menu
    Copy the full SHA
    906fcd4 View commit details
    Browse the repository at this point in the history
  121. Make constructor explicit

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    3b3958e View commit details
    Browse the repository at this point in the history
  122. Adapt default server number

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    93bbed9 View commit details
    Browse the repository at this point in the history
  123. Add assertion to PBKDF2 impl

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    b9495a0 View commit details
    Browse the repository at this point in the history
  124. Add getter for MetaTable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    f330789 View commit details
    Browse the repository at this point in the history
  125. Extended MetaTable interface

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    adfc9f5 View commit details
    Browse the repository at this point in the history
  126. Init PBKDF2 iteration count

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    d81be66 View commit details
    Browse the repository at this point in the history
  127. Configuration menu
    Copy the full SHA
    a638c4a View commit details
    Browse the repository at this point in the history
  128. Configuration menu
    Copy the full SHA
    54cbb9d View commit details
    Browse the repository at this point in the history
  129. Implement authentication

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    4b58b8c View commit details
    Browse the repository at this point in the history
  130. Format code

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    e8b09e3 View commit details
    Browse the repository at this point in the history
  131. Configuration menu
    Copy the full SHA
    712c558 View commit details
    Browse the repository at this point in the history
  132. Configuration menu
    Copy the full SHA
    cdd8f8f View commit details
    Browse the repository at this point in the history
  133. Configuration menu
    Copy the full SHA
    da3fbea View commit details
    Browse the repository at this point in the history
  134. Configuration menu
    Copy the full SHA
    f842c0f View commit details
    Browse the repository at this point in the history
  135. Configuration menu
    Copy the full SHA
    02c3f32 View commit details
    Browse the repository at this point in the history
  136. Configuration menu
    Copy the full SHA
    c489bc6 View commit details
    Browse the repository at this point in the history
  137. Configuration menu
    Copy the full SHA
    730442b View commit details
    Browse the repository at this point in the history
  138. Configuration menu
    Copy the full SHA
    daff545 View commit details
    Browse the repository at this point in the history
  139. Configuration menu
    Copy the full SHA
    a1dad69 View commit details
    Browse the repository at this point in the history
  140. Turn assertValidID into a macro

    Otherwise, the line number reported in case of a failing assertion won't
    be of any help as it will always point to the respective function
    definition instead of the function for which the assertion failed.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    ec9df2a View commit details
    Browse the repository at this point in the history
  141. Group & ACL update

    - Properly handle metagroups (e.g. "all", "in", "sub", ...)
    - Handle group modifiers (e.g. "!", "$", ...)
    - Set up default groups and ACLs when creating new server
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    024ec2b View commit details
    Browse the repository at this point in the history
  142. Configuration menu
    Copy the full SHA
    706c29c View commit details
    Browse the repository at this point in the history
  143. Configuration menu
    Copy the full SHA
    8823be6 View commit details
    Browse the repository at this point in the history
  144. Configuration menu
    Copy the full SHA
    128f4ec View commit details
    Browse the repository at this point in the history
  145. Configuration menu
    Copy the full SHA
    1ababc1 View commit details
    Browse the repository at this point in the history
  146. Fix swapped parameters

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    6c17efb View commit details
    Browse the repository at this point in the history
  147. Configuration menu
    Copy the full SHA
    e96ee3c View commit details
    Browse the repository at this point in the history
  148. Configuration menu
    Copy the full SHA
    14ff4e7 View commit details
    Browse the repository at this point in the history
  149. Configuration menu
    Copy the full SHA
    38414e4 View commit details
    Browse the repository at this point in the history
  150. Configuration menu
    Copy the full SHA
    7d47478 View commit details
    Browse the repository at this point in the history
  151. Streamline SuperUser handling

    The SuperUser is now no longer excluded from e.g. storing channel
    listeners in the DB. This should now make the handling of this special
    user more consistent with other parts of the code.
    Additionally, the SuperUser was handled specially only by chance as the
    user ID was checked to be != 0 to exclude the SuperUser. However, in
    general the Mumble::SUPERUSER_ID could have any arbitrary value.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    e55f43b View commit details
    Browse the repository at this point in the history
  152. FEAT(server, ice): Error for adj. non-existing listener

    When setting a volume adjustment for a non-existent channel listener via
    the Ice API an error will now be returned.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    4922955 View commit details
    Browse the repository at this point in the history
  153. Configuration menu
    Copy the full SHA
    3426964 View commit details
    Browse the repository at this point in the history
  154. Configuration menu
    Copy the full SHA
    d59b52a View commit details
    Browse the repository at this point in the history
  155. Configuration menu
    Copy the full SHA
    b60aa15 View commit details
    Browse the repository at this point in the history
  156. Configuration menu
    Copy the full SHA
    aaa3283 View commit details
    Browse the repository at this point in the history
  157. Configuration menu
    Copy the full SHA
    c318d1d View commit details
    Browse the repository at this point in the history
  158. Configuration menu
    Copy the full SHA
    05761a5 View commit details
    Browse the repository at this point in the history
  159. Allow registering users that currently are in no channel

    This happens e.g. if the registration happens via Ice for a user that is
    currently not connected.
    
    In this case, we simply default to using the root channel as the user's
    last channel.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    d6b697d View commit details
    Browse the repository at this point in the history
  160. GroupMemberTable: Add userID to primary key

    Otherwise, each group could at most have a single member as adding a
    second user would violate the unique constraint on the
    (server_id, group_id) pair in the primary key.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c0f6003 View commit details
    Browse the repository at this point in the history
  161. Configuration menu
    Copy the full SHA
    5829d2f View commit details
    Browse the repository at this point in the history
  162. Configuration menu
    Copy the full SHA
    6359734 View commit details
    Browse the repository at this point in the history
  163. Configuration menu
    Copy the full SHA
    f327a77 View commit details
    Browse the repository at this point in the history
  164. Configuration menu
    Copy the full SHA
    cdbd0af View commit details
    Browse the repository at this point in the history
  165. Configuration menu
    Copy the full SHA
    302e334 View commit details
    Browse the repository at this point in the history
  166. Configuration menu
    Copy the full SHA
    c373c69 View commit details
    Browse the repository at this point in the history
  167. Defaulted Database dtor

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c3583a6 View commit details
    Browse the repository at this point in the history
  168. Configuration menu
    Copy the full SHA
    97fad88 View commit details
    Browse the repository at this point in the history
  169. Remove unnecessarily strict assertion

    When migrating a table, there might be tables that are new and that
    therefore do not exist yet. Furthermore, tables could have been renamed
    and therefore an old table with the same name doesn't exist either.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    fb91f5e View commit details
    Browse the repository at this point in the history
  170. Configuration menu
    Copy the full SHA
    e74b57a View commit details
    Browse the repository at this point in the history
  171. Fix invalid check for NULL

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    98f09d0 View commit details
    Browse the repository at this point in the history
  172. Configuration menu
    Copy the full SHA
    bbe96a4 View commit details
    Browse the repository at this point in the history
  173. Configuration menu
    Copy the full SHA
    72a20c4 View commit details
    Browse the repository at this point in the history
  174. Configuration menu
    Copy the full SHA
    ef45db4 View commit details
    Browse the repository at this point in the history
  175. Disable migration support for scheme versions < 6

    Scheme version 6 was introduced in 2014 and therefore we expect that any
    server that is still in use has been updated to a more recent version
    between then and now. If not, servers will have to be updated to any
    version >= 1.3.x which will perform the necessary migration and
    afterwards the DB scheme can be migrated by the current code.
    
    Maintaining backwards compatibility for more than that would only
    unnecessarily increase the maintenance burden (for testing the
    migrations).
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    28030e6 View commit details
    Browse the repository at this point in the history
  176. Configuration menu
    Copy the full SHA
    289563f View commit details
    Browse the repository at this point in the history
  177. Implement COALESCE helper

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    1a092a3 View commit details
    Browse the repository at this point in the history
  178. Migration fixes

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    e87aaa4 View commit details
    Browse the repository at this point in the history
  179. Configuration menu
    Copy the full SHA
    e543483 View commit details
    Browse the repository at this point in the history
  180. Configuration menu
    Copy the full SHA
    ee91e75 View commit details
    Browse the repository at this point in the history
  181. Configuration menu
    Copy the full SHA
    3534631 View commit details
    Browse the repository at this point in the history
  182. Configuration menu
    Copy the full SHA
    5ad4175 View commit details
    Browse the repository at this point in the history
  183. Replace UNIXEPOCHTIME

    This function has only very recently been introduced in SQLite 3.38.0
    and is therefore not available in a lot of versions that are currently
    in use.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    14a3a57 View commit details
    Browse the repository at this point in the history
  184. Configuration menu
    Copy the full SHA
    5363c5d View commit details
    Browse the repository at this point in the history
  185. Configuration menu
    Copy the full SHA
    7841750 View commit details
    Browse the repository at this point in the history
  186. Configuration menu
    Copy the full SHA
    2a095ae View commit details
    Browse the repository at this point in the history
  187. Configuration menu
    Copy the full SHA
    63ed7e3 View commit details
    Browse the repository at this point in the history
  188. Configuration menu
    Copy the full SHA
    656006e View commit details
    Browse the repository at this point in the history
  189. WIP

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    3fa6173 View commit details
    Browse the repository at this point in the history
  190. Configuration menu
    Copy the full SHA
    9cbc9a3 View commit details
    Browse the repository at this point in the history
  191. Ensure transaction is active when exporting to JSON

    While we are not making any changes to the database, it is always good
    practice to also start a transaction for read-only DB accesses.
    Furthermore, BLOB objects can only be used while having an active
    transaction when using the PostgreSQL backend.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    0dfdc5d View commit details
    Browse the repository at this point in the history
  192. Configuration menu
    Copy the full SHA
    e090a86 View commit details
    Browse the repository at this point in the history
  193. Configuration menu
    Copy the full SHA
    8ca54b4 View commit details
    Browse the repository at this point in the history
  194. Configuration menu
    Copy the full SHA
    52b0fe1 View commit details
    Browse the repository at this point in the history
  195. Set Database on metatable before creation

    This ensures that the ensureTransaction function calls all play nicely
    together, avoiding instantiation of a duplicate transaction (which would
    lead to an error).
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c4d0e26 View commit details
    Browse the repository at this point in the history
  196. Configuration menu
    Copy the full SHA
    428d619 View commit details
    Browse the repository at this point in the history
  197. Fix UB

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    84c13f7 View commit details
    Browse the repository at this point in the history
  198. Configuration menu
    Copy the full SHA
    0797ef0 View commit details
    Browse the repository at this point in the history
  199. Configuration menu
    Copy the full SHA
    32f6fe8 View commit details
    Browse the repository at this point in the history
  200. Properly quote column names

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    e73e7b4 View commit details
    Browse the repository at this point in the history
  201. Configuration menu
    Copy the full SHA
    16f0c94 View commit details
    Browse the repository at this point in the history
  202. Uncomment cleanup line

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    61c168b View commit details
    Browse the repository at this point in the history
  203. Make Binary datatype work for MySQL

    This makes the Binary data type slightly non-portable because it can
    only be sized for MySQL. However, there we actually need the sizedness
    in order to not end up with size-one binary objects, which would break
    our migration tests.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    592ee46 View commit details
    Browse the repository at this point in the history
  204. Make DataType objects comparable to Type enums

    This allows to compare a DataType object for its type only - ignoring
    its size. Previously the comparison also compiled, but used the implicit
    construction of another DataType object and thus ended up comparing the
    size as well.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    0899716 View commit details
    Browse the repository at this point in the history
  205. Configuration menu
    Copy the full SHA
    af5a33b View commit details
    Browse the repository at this point in the history
  206. Configuration menu
    Copy the full SHA
    f1cf164 View commit details
    Browse the repository at this point in the history
  207. Postgres: Work around binary value insertion in JSON import

    When using the BLOB approach as is done for MySQL and SQLite, Postgres
    will only insert the BLOB's OID into the column, instead of the BLOB's
    contents.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    5c46e8f View commit details
    Browse the repository at this point in the history
  208. Configuration menu
    Copy the full SHA
    a38d03f View commit details
    Browse the repository at this point in the history
  209. Format server DB tests

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    369f8fb View commit details
    Browse the repository at this point in the history
  210. Respect disabled DB logging

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    e1269dc View commit details
    Browse the repository at this point in the history
  211. Configuration menu
    Copy the full SHA
    4bb5087 View commit details
    Browse the repository at this point in the history
  212. Configuration menu
    Copy the full SHA
    4b3c02a View commit details
    Browse the repository at this point in the history
  213. Configuration menu
    Copy the full SHA
    bc1f42e View commit details
    Browse the repository at this point in the history
  214. Remove weird spacing

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    9f28aa0 View commit details
    Browse the repository at this point in the history
  215. Configuration menu
    Copy the full SHA
    c05f7f5 View commit details
    Browse the repository at this point in the history
  216. Configuration menu
    Copy the full SHA
    ffaabc5 View commit details
    Browse the repository at this point in the history
  217. Remove superfluous TODO file

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    81e4c38 View commit details
    Browse the repository at this point in the history
  218. Configuration menu
    Copy the full SHA
    35dd651 View commit details
    Browse the repository at this point in the history
  219. Fix table data inheritance

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    8db7fe2 View commit details
    Browse the repository at this point in the history
  220. Fix DB migration from v8

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c86707c View commit details
    Browse the repository at this point in the history
  221. Configuration menu
    Copy the full SHA
    132c9ed View commit details
    Browse the repository at this point in the history
  222. Configuration menu
    Copy the full SHA
    b2445b6 View commit details
    Browse the repository at this point in the history
  223. Configuration menu
    Copy the full SHA
    bd4b036 View commit details
    Browse the repository at this point in the history
  224. MySQL: Enable strict mode

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    66144d0 View commit details
    Browse the repository at this point in the history
  225. Remove debug output

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    6af141f View commit details
    Browse the repository at this point in the history
  226. Remove unused variable

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    a71df41 View commit details
    Browse the repository at this point in the history
  227. Configuration menu
    Copy the full SHA
    2718690 View commit details
    Browse the repository at this point in the history
  228. Configuration menu
    Copy the full SHA
    b1fccd1 View commit details
    Browse the repository at this point in the history
  229. Configuration menu
    Copy the full SHA
    3d5506c View commit details
    Browse the repository at this point in the history
  230. Make Boost dependency public

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    908ea2d View commit details
    Browse the repository at this point in the history
  231. Update SOCI

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    8d6b081 View commit details
    Browse the repository at this point in the history
  232. Configuration menu
    Copy the full SHA
    b4c9e30 View commit details
    Browse the repository at this point in the history
  233. Fix missing quote

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    7a76021 View commit details
    Browse the repository at this point in the history
  234. Configuration menu
    Copy the full SHA
    547ea72 View commit details
    Browse the repository at this point in the history
  235. BUILD(cmake): Allow selective disabling of DB backends

    Each supported backend can be excluded from the build separately
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    06fe1a3 View commit details
    Browse the repository at this point in the history
  236. Configuration menu
    Copy the full SHA
    7934367 View commit details
    Browse the repository at this point in the history
  237. Fix new compiler warnings

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    9089a9e View commit details
    Browse the repository at this point in the history
  238. Formatted code

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    fefd6e8 View commit details
    Browse the repository at this point in the history
  239. Fix some more warnings

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c0a2781 View commit details
    Browse the repository at this point in the history
  240. Configuration menu
    Copy the full SHA
    1b67088 View commit details
    Browse the repository at this point in the history
  241. Fix compiler warnings

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c3362a3 View commit details
    Browse the repository at this point in the history
  242. Update SOCI

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    f203db4 View commit details
    Browse the repository at this point in the history
  243. Update build environment

    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    534e1e7 View commit details
    Browse the repository at this point in the history
  244. FEAT(server): JSON import/export to/from database

    The dumped JSON format may not be 100% DB backend independent but it
    should be somewhat close to it.
    
    Implements mumble-voip#4980
    Implements mumble-voip#2960 (must be done manually though)
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    c522c1b View commit details
    Browse the repository at this point in the history
  245. FIX(server): Stale username cache-entries due to case differences

    Mumble treats usernames case-insensitively. However, in the server,
    there is a cache that maps usernames to IDs of registered users. We do
    lazy loading so when a given name is not yet in the cache, we check the
    database for a match and if that returns something, we insert the result
    into the cache. However, the DB does case-insensitive lookups whereas
    the cache used to be case-sensitive. Therefore, different casings of the
    same username could end up in the cache (all pointing to the same user
    ID). If that user got unregistered, only one of the possible ways of
    writing their name gets removed from the cache, leaving the other
    entries (which are now stale) untouched.
    
    This can cause problems when another user now wants to register with a
    name that corresponds to one of those stale cache entries. The server
    will think that the given username is already taken, ensuring leading to
    a rejection of the registration request.
    
    A server restart purges the stale entries from the cache.
    
    This commit ensures that the cache is now also operating in a
    case-insensitive manner such that we shouldn't ever create any duplicate
    entries in there in the first place.
    
    Fixes mumble-voip#6383
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    fb43ee4 View commit details
    Browse the repository at this point in the history
  246. Configuration menu
    Copy the full SHA
    ae868e8 View commit details
    Browse the repository at this point in the history
  247. Configuration menu
    Copy the full SHA
    f6ab1b6 View commit details
    Browse the repository at this point in the history
  248. Configuration menu
    Copy the full SHA
    21adde2 View commit details
    Browse the repository at this point in the history
  249. Configuration menu
    Copy the full SHA
    74d873d View commit details
    Browse the repository at this point in the history
  250. Fix behavior on name request with invalid user ID

    The expected behavior is to return an empty string as the name. However,
    the current code will run into a database error that will shut the
    server down.
    Krzmbrzl committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    5aaec23 View commit details
    Browse the repository at this point in the history