Software / code / prosody
Comparison
plugins/mod_admin_telnet.lua @ 5598:3bb8aefd8ce0
mod_admin_telnet: Verify that the host exists in user commands (Thanks SkyBlue)
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 18 May 2013 13:19:31 +0200 |
| parent | 5596:73fea1a87afd |
| child | 5599:34e9f237b915 |
| child | 5630:5f3c0b11aa88 |
comparison
equal
deleted
inserted
replaced
| 5597:6fe09707c73b | 5598:3bb8aefd8ce0 |
|---|---|
| 937 local um = require"core.usermanager"; | 937 local um = require"core.usermanager"; |
| 938 | 938 |
| 939 def_env.user = {}; | 939 def_env.user = {}; |
| 940 function def_env.user:create(jid, password) | 940 function def_env.user:create(jid, password) |
| 941 local username, host = jid_split(jid); | 941 local username, host = jid_split(jid); |
| 942 if um.user_exists(username, host) then | 942 if not hosts[host] then |
| 943 return nil, "No such host: "..host; | |
| 944 elseif um.user_exists(username, host) then | |
| 943 return nil, "User exists"; | 945 return nil, "User exists"; |
| 944 end | 946 end |
| 945 local ok, err = um.create_user(username, password, host); | 947 local ok, err = um.create_user(username, password, host); |
| 946 if ok then | 948 if ok then |
| 947 return true, "User created"; | 949 return true, "User created"; |
| 950 end | 952 end |
| 951 end | 953 end |
| 952 | 954 |
| 953 function def_env.user:delete(jid) | 955 function def_env.user:delete(jid) |
| 954 local username, host = jid_split(jid); | 956 local username, host = jid_split(jid); |
| 955 if not um.user_exists(username, host) then | 957 if not hosts[host] then |
| 958 return nil, "No such host: "..host; | |
| 959 elseif um.user_exists(username, host) then | |
| 956 return nil, "No such user"; | 960 return nil, "No such user"; |
| 957 end | 961 end |
| 958 local ok, err = um.delete_user(username, host); | 962 local ok, err = um.delete_user(username, host); |
| 959 if ok then | 963 if ok then |
| 960 return true, "User deleted"; | 964 return true, "User deleted"; |
| 963 end | 967 end |
| 964 end | 968 end |
| 965 | 969 |
| 966 function def_env.user:password(jid, password) | 970 function def_env.user:password(jid, password) |
| 967 local username, host = jid_split(jid); | 971 local username, host = jid_split(jid); |
| 968 if not um.user_exists(username, host) then | 972 if not hosts[host] then |
| 973 return nil, "No such host: "..host; | |
| 974 elseif um.user_exists(username, host) then | |
| 969 return nil, "No such user"; | 975 return nil, "No such user"; |
| 970 end | 976 end |
| 971 local ok, err = um.set_password(username, password, host); | 977 local ok, err = um.set_password(username, password, host); |
| 972 if ok then | 978 if ok then |
| 973 return true, "User password changed"; | 979 return true, "User password changed"; |