diff options
author | James Booth <boothj5@gmail.com> | 2015-07-01 21:09:45 +0100 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2015-07-01 21:09:45 +0100 |
commit | 10eb0bbbf8b96432305239fe691eab8949423dbb (patch) | |
tree | 29c805e57e9fa8f2ebfa525f872b056aa6ddf665 /src | |
parent | d8c410d289bcb42982db21660ca30462cff894cf (diff) | |
parent | 167ee28ec0fdc0b0e6da6703e6371e96b99d4640 (diff) | |
download | profani-tty-10eb0bbbf8b96432305239fe691eab8949423dbb.tar.gz |
Merge remote-tracking branch 'SamWhited/otr_no_store_carbons'
Diffstat (limited to 'src')
-rw-r--r-- | src/xmpp/message.c | 2 | ||||
-rw-r--r-- | src/xmpp/stanza.c | 24 | ||||
-rw-r--r-- | src/xmpp/stanza.h | 3 |
3 files changed, 29 insertions, 0 deletions
diff --git a/src/xmpp/message.c b/src/xmpp/message.c index 9aa278c1..5105a1d3 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -213,6 +213,8 @@ message_send_chat_otr(const char * const barejid, const char * const msg) } stanza_attach_carbons_private(ctx, message); + stanza_attach_hints_no_copy(ctx, message); + stanza_attach_hints_no_store(ctx, message); if (prefs_get_boolean(PREF_RECEIPTS_REQUEST)) { stanza_attach_receipt_request(ctx, message); diff --git a/src/xmpp/stanza.c b/src/xmpp/stanza.c index beb03f45..ed188a3b 100644 --- a/src/xmpp/stanza.c +++ b/src/xmpp/stanza.c @@ -306,6 +306,30 @@ stanza_attach_carbons_private(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) } xmpp_stanza_t * +stanza_attach_hints_no_copy(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) +{ + xmpp_stanza_t *no_copy = xmpp_stanza_new(ctx); + xmpp_stanza_set_name(no_copy, "no-copy"); + xmpp_stanza_set_ns(no_copy, STANZA_NS_HINTS); + xmpp_stanza_add_child(stanza, no_copy); + xmpp_stanza_release(no_copy); + + return stanza; +} + +xmpp_stanza_t * +stanza_attach_hints_no_store(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) +{ + xmpp_stanza_t *no_store = xmpp_stanza_new(ctx); + xmpp_stanza_set_name(no_store, "no-store"); + xmpp_stanza_set_ns(no_store, STANZA_NS_HINTS); + xmpp_stanza_add_child(stanza, no_store); + xmpp_stanza_release(no_store); + + return stanza; +} + +xmpp_stanza_t * stanza_attach_receipt_request(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) { xmpp_stanza_t *receipet_request = xmpp_stanza_new(ctx); diff --git a/src/xmpp/stanza.h b/src/xmpp/stanza.h index 2dd1a141..8cae0dc3 100644 --- a/src/xmpp/stanza.h +++ b/src/xmpp/stanza.h @@ -158,6 +158,7 @@ #define STANZA_NS_CAPTCHA "urn:xmpp:captcha" #define STANZA_NS_PUBSUB "http://jabber.org/protocol/pubsub" #define STANZA_NS_CARBONS "urn:xmpp:carbons:2" +#define STANZA_NS_HINTS "urn:xmpp:hints" #define STANZA_NS_FORWARD "urn:xmpp:forward:0" #define STANZA_NS_RECEIPTS "urn:xmpp:receipts" #define STANZA_NS_SIGNED "jabber:x:signed" @@ -195,6 +196,8 @@ xmpp_stanza_t* stanza_create_chat_state(xmpp_ctx_t *ctx, xmpp_stanza_t * stanza_attach_state(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char * const state); xmpp_stanza_t * stanza_attach_carbons_private(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza); +xmpp_stanza_t * stanza_attach_hints_no_copy(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza); +xmpp_stanza_t * stanza_attach_hints_no_store(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza); xmpp_stanza_t * stanza_attach_receipt_request(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza); xmpp_stanza_t* stanza_create_message(xmpp_ctx_t *ctx, char *id, |