Mercurial > prosody-hg
annotate plugins/mod_debug_sql.lua @ 10092:4b3c129e96f2 0.11
mod_websocket: Clone stanza before mutating (fixes #1398)
Checking for `stanza.attr.xmlns == nil` to determine if the stanza
object is an actual stanza (`<message>`, `<presence>` or `<iq>` in the
`jabber:client` or `jabbber:server` namespace) or some other stream
element.
Since this mutation is not reverted, it may leak to other places and
cause them to mistreat stanzas as stream elements. Especially in cases
like MUC where a single stanza is broadcast to many recipients.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 20 Jul 2019 04:19:58 +0200 |
| parents | 5edb0d01a94f |
| children |
| rev | line source |
|---|---|
|
7176
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 -- Enables SQL query logging |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 -- |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 -- luacheck: ignore 213/uri |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
|
8391
5edb0d01a94f
mod_debug_sql: Declare itself as global module
Kim Alvefur <zash@zash.se>
parents:
7176
diff
changeset
|
5 module:set_global(); |
|
5edb0d01a94f
mod_debug_sql: Declare itself as global module
Kim Alvefur <zash@zash.se>
parents:
7176
diff
changeset
|
6 |
|
7176
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 local engines = module:shared("/*/sql/connections"); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 for uri, engine in pairs(engines) do |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 engine:debug(true); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 setmetatable(engines, { |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 __newindex = function (t, uri, engine) |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 engine:debug(true); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 rawset(t, uri, engine); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 }); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 function module.unload() |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 setmetatable(engines, nil); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 for uri, engine in pairs(engines) do |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 engine:debug(false); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 |
