New Command: Delete OMEMO device list
With new new comamnd delete-device-list (mode omemo), the PEP node eu.siacs.conversations.axolotl.devicelist will be delete.
This commit is contained in:
parent
ce2fbbdbfe
commit
194b0f1fef
20
doc/xmppc.1
20
doc/xmppc.1
@ -1,13 +1,13 @@
|
||||
'\" t
|
||||
.\" Title: xmppc
|
||||
.\" Author: [see the "AUTHOR" section]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 05/16/2020
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 07/29/2023
|
||||
.\" Manual: \ \&
|
||||
.\" Source: \ \&
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "XMPPC" "1" "05/16/2020" "\ \&" "\ \&"
|
||||
.TH "XMPPC" "1" "07/29/2023" "\ \&" "\ \&"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -149,6 +149,18 @@ OMEMO Mode (XEP\-0384)
|
||||
\fBlist\fR
|
||||
\- List the device IDs and fingerprints
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
\fBdelete\-device\-list\fR
|
||||
\- Deletes the OMEMO device list
|
||||
.RE
|
||||
.RE
|
||||
.PP
|
||||
\fB\-m openpgp\fR
|
||||
@ -352,7 +364,7 @@ See https://codeberg\&.org/Anoxinon_e\&.V\&./xmppc/issues
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
DebXWoody (OpenPGP: A602F76893F138B4A8EFDDD5C2DC916F35751C24)
|
||||
DebXWoody
|
||||
.RE
|
||||
.SH "RESOURCES"
|
||||
.sp
|
||||
|
@ -71,6 +71,7 @@ PGP Mode (XEP-0027)
|
||||
OMEMO Mode (XEP-0384)
|
||||
|
||||
* *list* - List the device IDs and fingerprints
|
||||
* *delete-device-list* - Deletes the OMEMO device list
|
||||
|
||||
*-m openpgp*::
|
||||
openpgp mode (XEP-0373)
|
||||
@ -146,7 +147,7 @@ See <https://codeberg.org/Anoxinon_e.V./xmppc/issues>
|
||||
|
||||
AUTHOR
|
||||
------
|
||||
* DebXWoody (OpenPGP: A602F76893F138B4A8EFDDD5C2DC916F35751C24)
|
||||
* DebXWoody
|
||||
|
||||
RESOURCES
|
||||
---------
|
||||
|
@ -560,6 +560,7 @@ static void _show_help() {
|
||||
printf("\n");
|
||||
printf(" -m --mode omemo xmppc omemo mode (XEP-0384)\n");
|
||||
printf(" list List the device IDs and fingerprints\n");
|
||||
printf(" delete-device-list Delete OMEMO device list\n");
|
||||
printf("\n");
|
||||
printf(" -m --mode openpgp xmppc openpgp mode (XEP-0373)\n");
|
||||
printf(" signcrypt <jid> <message> Sending pgp signed and encrypted message to jid\n");
|
||||
|
@ -52,12 +52,24 @@ static void _omemo_device_list_query(xmppc_t *xmppc);
|
||||
static int _omemo_device_list_reply(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza,
|
||||
void *const userdata);
|
||||
|
||||
static void _omemo_delete_device_list_query(xmppc_t *xmppc);
|
||||
static int _omemo_delete_device_list_reply(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza,
|
||||
void *const userdata);
|
||||
|
||||
static void _omemo_bundles_query(xmppc_t *xmppc, const char* deviceid);
|
||||
static int _omemo_bundles_reply(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza,
|
||||
void *const userdata);
|
||||
|
||||
void omemo_execute_command(xmppc_t *xmppc, int agrc, char *argv[]) {
|
||||
_omemo_device_list_query(xmppc);
|
||||
void omemo_execute_command(xmppc_t *xmppc, int argc, char *argv[]) {
|
||||
if(argc > 0) {
|
||||
if(strcmp("list", argv[0]) == 0) {
|
||||
_omemo_device_list_query(xmppc);
|
||||
} else if(strcmp("delete-device-list", argv[0]) == 0) {
|
||||
_omemo_delete_device_list_query(xmppc);
|
||||
} else {
|
||||
logError(xmppc, "Unbekanner Befehl: %s\n", argv[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void _omemo_device_list_query(xmppc_t *xmppc) {
|
||||
@ -184,4 +196,49 @@ int _omemo_bundles_reply(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
<iq type='set'
|
||||
from='hamlet@denmark.lit/elsinore'
|
||||
to='pubsub.shakespeare.lit'
|
||||
id='delete1'>
|
||||
<pubsub xmlns='http://jabber.org/protocol/pubsub#owner'>
|
||||
<delete node='princely_musings'/>
|
||||
</pubsub>
|
||||
</iq>
|
||||
**/
|
||||
static void _omemo_delete_device_list_query(xmppc_t *xmppc) {
|
||||
xmpp_conn_t *conn = xmppc->conn;
|
||||
xmpp_stanza_t *iq, *query, *item;
|
||||
char* id = xmpp_uuid_gen(xmppc->ctx);
|
||||
iq = xmpp_iq_new(xmpp_conn_get_context(conn), "set", id);
|
||||
const char *jid = xmpp_conn_get_jid(conn);
|
||||
xmpp_stanza_set_from(iq, jid);
|
||||
xmpp_stanza_set_to(iq, jid);
|
||||
query = xmpp_stanza_new(xmpp_conn_get_context(conn));
|
||||
xmpp_stanza_set_name(query, "pubsub");
|
||||
xmpp_stanza_set_ns(query, "http://jabber.org/protocol/pubsub#owner");
|
||||
xmpp_stanza_add_child(iq, query);
|
||||
item = xmpp_stanza_new(xmpp_conn_get_context(conn));
|
||||
xmpp_stanza_set_name(item, "delete");
|
||||
xmpp_stanza_set_attribute(item, "node",
|
||||
"eu.siacs.conversations.axolotl.devicelist");
|
||||
xmpp_stanza_add_child(query, item);
|
||||
xmpp_stanza_release(query);
|
||||
xmpp_stanza_release(item);
|
||||
xmpp_id_handler_add(conn, _omemo_delete_device_list_reply , id, xmppc);
|
||||
xmpp_send(conn, iq);
|
||||
}
|
||||
|
||||
int _omemo_delete_device_list_reply(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza,
|
||||
void *const userdata) {
|
||||
xmppc_t *xmppc = (xmppc_t *)userdata;
|
||||
|
||||
if(strcmp(xmpp_stanza_get_type(stanza), "error") == 0) {
|
||||
printf("Fehler\n");
|
||||
return 0;
|
||||
}
|
||||
printf("Done\n");
|
||||
xmpp_disconnect(xmppc->conn);
|
||||
xmpp_stop(xmppc->ctx);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user