Annotate

mod_portcheck/mod_portcheck.lua @ 5705:527c747711f3

mod_http_oauth2: Limit revocation to clients own tokens in strict mode RFC 7009 section 2.1 states: > The authorization server first validates the client credentials (in > case of a confidential client) and then verifies whether the token was > issued to the client making the revocation request. If this > validation fails, the request is refused and the client is informed of > the error by the authorization server as described below. The first part was already covered (in strict mode). This adds the later part using the hash of client_id recorded in 0860497152af It still seems weird to me that revoking a leaked token should not be allowed whoever might have discovered it, as that seems the responsible thing to do.
author Kim Alvefur <zash@zash.se>
date Sun, 29 Oct 2023 11:30:49 +0100
parent 4901:3abbcb8584d2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4897
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 module:set_global();
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 local portmanager = require "core.portmanager";
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 local commands = module:shared("admin_shell/commands")
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 function commands.portcheck(session, line)
4899
adecfb36349e mod_portcheck: Include '*' in allowed characters so '*:port' works
Kim Alvefur <zash@zash.se>
parents: 4897
diff changeset
7 for desc, interface, port in line:gmatch("%s(%[?([%x:.*]+)%]?:(%d+))") do
4897
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 assert(portmanager.get_service_at(interface, tonumber(port)), desc);
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 end
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 session.print "OK";
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 end
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 function module.unload()
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 commands.portcheck = nil;
42a362a2bf51 mod_portcheck: Shell command to check if ports are open
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 end