annotate mod_auth_custom_http/mod_auth_custom_http.lua @ 2494:d300ae5dba87

mod_smacks: Fix some bugs with smacks-ack-delayed event triggering. The old code had several flaws which are addressed here. First of all this fixes the if statement guarding the event generation There where some timing glitches addressed by this commit as well.
author tmolitor <thilo@eightysoft.de>
date Sun, 12 Feb 2017 21:23:22 +0100
parents 7dbde05b48a9
children 94d8960385aa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1043
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
1 -- Prosody IM
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
2 -- Copyright (C) 2008-2010 Waqas Hussain
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
3 --
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
4 -- This project is MIT/X11 licensed. Please see the
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
5 -- COPYING file in the source package for more information.
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
6 --
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
7
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
8 local new_sasl = require "util.sasl".new;
1046
b9d47487d550 mod_auth_custom_http: Organize imports, and make the URL a config option.
Waqas Hussain <waqas20@gmail.com>
parents: 1045
diff changeset
9 local json_encode = require "util.json";
b9d47487d550 mod_auth_custom_http: Organize imports, and make the URL a config option.
Waqas Hussain <waqas20@gmail.com>
parents: 1045
diff changeset
10 local http = require "socket.http";
b9d47487d550 mod_auth_custom_http: Organize imports, and make the URL a config option.
Waqas Hussain <waqas20@gmail.com>
parents: 1045
diff changeset
11
b9d47487d550 mod_auth_custom_http: Organize imports, and make the URL a config option.
Waqas Hussain <waqas20@gmail.com>
parents: 1045
diff changeset
12 local options = module:get_option("auth_custom_http");
b9d47487d550 mod_auth_custom_http: Organize imports, and make the URL a config option.
Waqas Hussain <waqas20@gmail.com>
parents: 1045
diff changeset
13 local post_url = options and options.post_url;
b9d47487d550 mod_auth_custom_http: Organize imports, and make the URL a config option.
Waqas Hussain <waqas20@gmail.com>
parents: 1045
diff changeset
14 assert(post_url, "No HTTP POST URL provided");
1043
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
15
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
16 local provider = {};
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
17
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
18 function provider.test_password(username, password)
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
19 return nil, "Not supported"
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
20 end
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
21
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
22 function provider.get_password(username)
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
23 return nil, "Not supported"
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
24 end
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
25
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
26 function provider.set_password(username, password)
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
27 return nil, "Not supported"
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
28 end
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
29
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
30 function provider.user_exists(username)
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
31 return true;
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
32 end
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
33
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
34 function provider.create_user(username, password)
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
35 return nil, "Not supported"
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
36 end
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
37
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
38 function provider.delete_user(username)
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
39 return nil, "Not supported"
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
40 end
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
41
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
42 function provider.get_sasl_handler()
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
43 local getpass_authentication_profile = {
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
44 plain_test = function(sasl, username, password, realm)
1046
b9d47487d550 mod_auth_custom_http: Organize imports, and make the URL a config option.
Waqas Hussain <waqas20@gmail.com>
parents: 1045
diff changeset
45 local postdata = json_encode({ username = username, password = password });
b9d47487d550 mod_auth_custom_http: Organize imports, and make the URL a config option.
Waqas Hussain <waqas20@gmail.com>
parents: 1045
diff changeset
46 local result = http.request(post_url, postdata);
1043
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
47 return result == "true", true;
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
48 end,
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
49 };
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
50 return new_sasl(module.host, getpass_authentication_profile);
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
51 end
1343
7dbde05b48a9 all the things: Remove trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents: 1046
diff changeset
52
1043
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
53
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
54 module:provides("auth", provider);
809f7d46ad5c mod_auth_custom_http: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
55