Mercurial > prosody-hg
annotate spec/util_poll_spec.lua @ 14150:2a66728d9e29 13.0 13.0.5
mod_proxy65: Consistently apply authorization checks
The module checked for authorization when a client asked for the address:port
of the proxy service. It did not check for authorization when processing a
request to activate a bytestream. This meant that any unauthenticated party
able to guess the IP/port and XMPP domain of a proxy65 service (generally low
difficulty) would be able to use the proxy to relay traffic between two
connections.
This factors out the permission check, and applies it to every request type.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Wed, 29 Apr 2026 11:40:43 +0100 |
| parents | 728d1c1dc7db |
| children |
| rev | line source |
|---|---|
| 12400 | 1 describe("util.poll", function() |
| 2 local poll; | |
| 3 setup(function() | |
| 4 poll = require "util.poll"; | |
| 5 end); | |
| 6 it("loads", function() | |
| 7 assert.is_table(poll); | |
| 8 assert.is_function(poll.new); | |
| 9 assert.is_string(poll.api); | |
|
9316
4aa522b9e1c4
util.poll: Test that it loads after being compiled
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 end); |
| 12400 | 11 describe("new", function() |
| 12 local p; | |
| 13 setup(function() | |
| 14 p = poll.new(); | |
| 15 end) | |
| 16 it("times out", function () | |
| 17 local fd, err = p:wait(0); | |
| 18 assert.falsy(fd); | |
| 19 assert.equal("timeout", err); | |
| 20 end); | |
| 21 it("works", function() | |
| 22 -- stdout should be writable, right? | |
| 23 assert.truthy(p:add(1, false, true)); | |
| 24 local fd, r, w = p:wait(1); | |
| 25 assert.is_number(fd); | |
| 26 assert.is_boolean(r); | |
| 27 assert.is_boolean(w); | |
| 28 assert.equal(1, fd); | |
| 29 assert.falsy(r); | |
| 30 assert.truthy(w); | |
| 31 assert.truthy(p:del(1)); | |
| 32 end); | |
| 33 end) | |
|
9316
4aa522b9e1c4
util.poll: Test that it loads after being compiled
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 end); |
|
4aa522b9e1c4
util.poll: Test that it loads after being compiled
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 |
