Comparison

mod_bookmarks/mod_bookmarks.lua @ 3282:9346ed926842

mod_bookmarks: Display the bare JID instead of the username in logs.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Sat, 25 Aug 2018 17:39:01 +0200
parent 3253:cf8ad9fd7f15
child 3290:87769f53fdc8
comparison
equal deleted inserted replaced
3281:27cc66bf918b 3282:9346ed926842
21 end 21 end
22 22
23 module:log("debug", "Getting private bookmarks: %s", bookmarks); 23 module:log("debug", "Getting private bookmarks: %s", bookmarks);
24 24
25 local username = session.username; 25 local username = session.username;
26 local jid = username.."@"..session.host;
26 local service = mod_pep.get_pep_service(username); 27 local service = mod_pep.get_pep_service(username);
27 local ok, id, item = service:get_last_item("storage:bookmarks", session.full_jid); 28 local ok, id, item = service:get_last_item("storage:bookmarks", session.full_jid);
28 if not ok then 29 if not ok then
29 module:log("error", "Failed to retrieve PEP bookmarks of %s: %s", username, id); 30 module:log("error", "Failed to retrieve PEP bookmarks of %s: %s", jid, id);
30 session.send(st.error_reply(stanza, "cancel", "internal-server-error", "Failed to retrive bookmarks from PEP")); 31 session.send(st.error_reply(stanza, "cancel", "internal-server-error", "Failed to retrive bookmarks from PEP"));
31 return; 32 return;
32 end 33 end
33 if not id or not item then 34 if not id or not item then
34 module:log("debug", "Got no PEP bookmarks item for %s, returning empty private bookmarks", username); 35 module:log("debug", "Got no PEP bookmarks item for %s, returning empty private bookmarks", jid);
35 session.send(st.reply(stanza):add_child(query)); 36 session.send(st.reply(stanza):add_child(query));
36 return 37 return
37 end 38 end
38 module:log("debug", "Got item %s: %s", id, item); 39 module:log("debug", "Got item %s: %s", id, item);
39 40
40 local content = item.tags[1]; 41 local content = item.tags[1];
41 module:log("debug", "Sending back private for %s: %s", username, content); 42 module:log("debug", "Sending back private for %s: %s", jid, content);
42 session.send(st.reply(stanza):query("jabber:iq:private"):add_child(content)); 43 session.send(st.reply(stanza):query("jabber:iq:private"):add_child(content));
43 return true; 44 return true;
44 end 45 end
45 46
46 function publish_to_pep(jid, bookmarks) 47 function publish_to_pep(jid, bookmarks)
68 end 69 end
69 70
70 module:log("debug", "Private bookmarks set by client, publishing to pep"); 71 module:log("debug", "Private bookmarks set by client, publishing to pep");
71 local ok, err = publish_to_pep(session.full_jid, bookmarks); 72 local ok, err = publish_to_pep(session.full_jid, bookmarks);
72 if not ok then 73 if not ok then
73 module:log("error", "Failed to publish to PEP bookmarks for %s: %s", session.username, err); 74 module:log("error", "Failed to publish to PEP bookmarks for %s@%s: %s", session.username, session.host, err);
74 session.send(st.error_reply(stanza, "cancel", "internal-server-error", "Failed to store bookmarks to PEP")); 75 session.send(st.error_reply(stanza, "cancel", "internal-server-error", "Failed to store bookmarks to PEP"));
75 return; 76 return;
76 end 77 end
77 78
78 session.send(st.reply(stanza)); 79 session.send(st.reply(stanza));
80 end 81 end
81 82
82 local function on_resource_bind(event) 83 local function on_resource_bind(event)
83 local session = event.session; 84 local session = event.session;
84 local username = session.username; 85 local username = session.username;
86 local jid = username.."@"..session.host;
85 87
86 local data, err = private_storage:get(username, "storage:storage:bookmarks"); 88 local data, err = private_storage:get(username, "storage:storage:bookmarks");
87 if not data then 89 if not data then
88 module:log("debug", "No existing Private XML bookmarks for %s, migration already done: %s", username, err); 90 module:log("debug", "No existing Private XML bookmarks for %s, migration already done: %s", jid, err);
89 local service = mod_pep.get_pep_service(username); 91 local service = mod_pep.get_pep_service(username);
90 local ok, id = service:get_last_item("storage:bookmarks", session.full_jid); 92 local ok, id = service:get_last_item("storage:bookmarks", session.full_jid);
91 if not ok or not id then 93 if not ok or not id then
92 module:log("debug", "Additionally, no PEP bookmarks were existing for %s", username); 94 module:log("debug", "Additionally, no PEP bookmarks were existing for %s", jid);
93 module:fire_event("bookmarks/empty", { session = session }); 95 module:fire_event("bookmarks/empty", { session = session });
94 end 96 end
95 return; 97 return;
96 end 98 end
97 local bookmarks = st.deserialize(data); 99 local bookmarks = st.deserialize(data);
98 module:log("debug", "Got private bookmarks of %s: %s", username, bookmarks); 100 module:log("debug", "Got private bookmarks of %s: %s", jid, bookmarks);
99 101
100 module:log("debug", "Going to store PEP item for %s", username); 102 module:log("debug", "Going to store PEP item for %s", jid);
101 local ok, err = publish_to_pep(session.full_jid, bookmarks); 103 local ok, err = publish_to_pep(session.full_jid, bookmarks);
102 if not ok then 104 if not ok then
103 module:log("error", "Failed to store bookmarks to PEP for %s, aborting migration: %s", username, err); 105 module:log("error", "Failed to store bookmarks to PEP for %s, aborting migration: %s", jid, err);
104 return; 106 return;
105 end 107 end
106 module:log("debug", "Stored bookmarks to PEP for %s", username); 108 module:log("debug", "Stored bookmarks to PEP for %s", jid);
107 109
108 local ok, err = private_storage:set(username, "storage:storage:bookmarks", nil); 110 local ok, err = private_storage:set(username, "storage:storage:bookmarks", nil);
109 if not ok then 111 if not ok then
110 module:log("error", "Failed to remove private bookmarks of %s: %s", username, err); 112 module:log("error", "Failed to remove private bookmarks of %s: %s", jid, err);
111 return; 113 return;
112 end 114 end
113 module:log("debug", "Removed private bookmarks of %s, migration done!", username); 115 module:log("debug", "Removed private bookmarks of %s, migration done!", jid);
114 end 116 end
115 117
116 local function on_item_published(event) 118 local function on_item_published(event)
117 module:fire_event("bookmarks/updated", event); 119 module:fire_event("bookmarks/updated", event);
118 end 120 end