Mercurial > prosody-modules
annotate mod_vcard_command/mod_vcard_command.lua @ 4651:8231774f5bfd
mod_cloud_notify_encrypted: Ensure body substring remains valid UTF-8
The `body:sub()` call risks splitting the string in the middle of a
multi-byte UTF-8 sequence. This should have been caught by util.stanza
validation, but that would have caused some havoc, at the very least causing
the notification to not be sent.
There have been no reports of this happening. Likely because this module
isn't widely deployed among users with languages that use many longer UTF-8
sequences.
The util.encodings.utf8.valid() function is O(n) where only the last
sequence really needs to be checked, but it's in C and expected to be fast.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 22 Aug 2021 13:22:59 +0200 |
parents | b2c9b832612b |
children |
rev | line source |
---|---|
3025
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
1 ----------------------------------------------------------- |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
2 -- mod_vcard_command: Manage vcards through prosodyctl |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
3 -- version 0.02 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
4 ----------------------------------------------------------- |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
5 -- Copyright (C) 2013 Stefan `Sec` Zehl |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
6 -- |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
7 -- This project is MIT/X11 licensed. Please see the |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
8 -- COPYING file in the source package for more information. |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
9 ----------------------------------------------------------- |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
10 |
3026
b2c9b832612b
mod_vcard_command: Tweak to not rely on legacy module() behavior
Kim Alvefur <zash@zash.se>
parents:
3025
diff
changeset
|
11 function module.load() |
3025
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
12 module:log("error", "Do not load this module in Prosody"); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
13 module.host = "*"; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
14 return; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
15 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
16 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
17 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
18 -- Workaround for lack of util.startup... |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
19 _G.bare_sessions = _G.bare_sessions or {}; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
20 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
21 local storagemanager = require "core.storagemanager"; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
22 local datamanager = require "util.datamanager"; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
23 local xml = require "util.xml"; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
24 local jid = require "util.jid"; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
25 local warn = prosodyctl.show_warning; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
26 local st = require "util.stanza" |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
27 -- local vcards = module:open_store("vcard"); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
28 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
29 -- Print anything - including nested tables |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
30 function table_print (tt, indent, done) |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
31 done = done or {} |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
32 indent = indent or 0 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
33 if type(tt) == "table" then |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
34 for key, value in pairs (tt) do |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
35 io.write(string.rep (" ", indent)) -- indent it |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
36 if type (value) == "table" and not done [value] then |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
37 done [value] = true |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
38 io.write(string.format("[%s] => table\n", tostring (key))); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
39 io.write(string.rep (" ", indent+4)) -- indent it |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
40 io.write("(\n"); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
41 table_print (value, indent + 7, done) |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
42 io.write(string.rep (" ", indent+4)) -- indent it |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
43 io.write(")\n"); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
44 else |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
45 io.write(string.format("[%s] => %s\n", |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
46 tostring (key), tostring(value))) |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
47 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
48 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
49 else |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
50 io.write(tt .. "\n") |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
51 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
52 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
53 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
54 -- Make a *one-way* subscription. User will see when contact is online, |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
55 -- contact will not see when user is online. |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
56 function vcard_get(user_jid) |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
57 local user_username, user_host = jid.split(user_jid); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
58 if not hosts[user_host] then |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
59 warn("The host '%s' is not configured for this server.", user_host); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
60 return; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
61 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
62 storagemanager.initialize_host(user_host); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
63 local vCard; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
64 vCard = st.deserialize(datamanager.load(user_username, user_host, "vcard")); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
65 if vCard then |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
66 print(vCard); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
67 else |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
68 warn("The user '%s' has no vCard configured.",user_jid); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
69 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
70 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
71 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
72 function vcard_set(user_jid, file) |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
73 local user_username, user_host = jid.split(user_jid); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
74 if not hosts[user_host] then |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
75 warn("The host '%s' is not configured for this server.", user_host); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
76 return; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
77 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
78 storagemanager.initialize_host(user_host); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
79 local f = io.input(file); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
80 local xmldata=io.read("*all"); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
81 io.close(f); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
82 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
83 local vCard=st.preserialize(xml.parse(xmldata)); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
84 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
85 if vCard then |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
86 datamanager.store(user_username, user_host, "vcard", vCard); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
87 else |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
88 warn("Could not parse the file."); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
89 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
90 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
91 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
92 function vcard_delete(user_jid) |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
93 local user_username, user_host = jid.split(user_jid); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
94 if not hosts[user_host] then |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
95 warn("The host '%s' is not configured for this server.", user_host); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
96 return; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
97 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
98 storagemanager.initialize_host(user_host); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
99 datamanager.store(user_username, user_host, "vcard", nil); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
100 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
101 |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
102 function module.command(arg) |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
103 local command = arg[1]; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
104 if not command then |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
105 warn("Valid subcommands: get | set | delete "); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
106 return 0; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
107 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
108 table.remove(arg, 1); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
109 if command == "get" then |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
110 vcard_get(arg[1]); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
111 return 0; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
112 elseif command == "set" then |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
113 vcard_set(arg[1], arg[2]); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
114 return 0; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
115 elseif command == "delete" then |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
116 vcard_delete(arg[1]); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
117 return 0; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
118 else |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
119 warn("Unknown command: %s", command); |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
120 return 1; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
121 end |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
122 return 0; |
5b8983e100da
mod_vcard_command: a simplistic way to get and set vcard data for registered users
Stefan `Sec` Zehl <sec@42.org>
parents:
diff
changeset
|
123 end |