Updates mcabber to 0.10.3. Thanks a lot to Tim van der Molen for sending 
me the patch. Patch needs to be applied with the -E option, the patch 
files are no longer needed.

Regards
Markus


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/mcabber/Makefile,v
retrieving revision 1.21
diff -u -p -u -r1.21 Makefile
--- Makefile    15 Aug 2013 16:34:49 -0000      1.21
+++ Makefile    21 Jan 2015 09:35:21 -0000
@@ -3,11 +3,10 @@
 SHARED_ONLY=           Yes
 
 COMMENT=               console jabber client
-DISTNAME=              mcabber-0.10.2
-REVISION=              0
+DISTNAME=              mcabber-0.10.3
 CATEGORIES=            net
 
-HOMEPAGE=              http://www.lilotux.net/~mikael/mcabber/
+HOMEPAGE=              http://mcabber.com/
 
 MAINTAINER=            Markus Hennecke <markus-henne...@markus-hennecke.de>
 
@@ -30,6 +29,7 @@ LIB_DEPENDS=          devel/glib2 \
                        security/libotr
 RUN_DEPENDS=           devel/desktop-file-utils
 
+USE_GMAKE =            Yes
 USE_GROFF =            Yes
 LIBTOOL_FLAGS=         --tag=disable-static
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/mcabber/distinfo,v
retrieving revision 1.8
diff -u -p -u -r1.8 distinfo
--- distinfo    30 May 2013 12:01:17 -0000      1.8
+++ distinfo    21 Jan 2015 09:35:21 -0000
@@ -1,2 +1,2 @@
-SHA256 (mcabber-0.10.2.tar.bz2) = 4kbRU/k6dbT0WHn0R0NNsHBQPJkDvz+ZWvOWs7lFhvg=
-SIZE (mcabber-0.10.2.tar.bz2) = 604378
+SHA256 (mcabber-0.10.3.tar.bz2) = d0ZhOElswm2xJRRcwo3E/A33mCcUO5It+58C6w3H+m0=
+SIZE (mcabber-0.10.3.tar.bz2) = 612153
Index: patches/patch-configure_ac
===================================================================
RCS file: /cvs/ports/net/mcabber/patches/patch-configure_ac,v
retrieving revision 1.1
diff -u -p -u -r1.1 patch-configure_ac
--- patches/patch-configure_ac  15 Aug 2013 16:34:50 -0000      1.1
+++ patches/patch-configure_ac  21 Jan 2015 09:35:21 -0000
@@ -1,45 +0,0 @@
-$OpenBSD: patch-configure_ac,v 1.1 2013/08/15 16:34:50 stsp Exp $
-http://www.isbear.org.ua/hg/isbear/mcabber-patches/file/tip/use-otr-v4.diff
---- configure.ac.orig  Sun Dec  2 14:27:30 2012
-+++ configure.ac       Wed Aug 14 18:56:07 2013
-@@ -184,16 +184,26 @@ fi
- 
- # Check for otr
- AC_ARG_ENABLE(otr,
--              AC_HELP_STRING([--enable-otr],
--                             [enable OTR (Off-the-Record) messaging support]),
--              enable_otr=$enableval, otr="")
-+    AC_HELP_STRING([--enable-otr],
-+                   [enable OTR (Off-the-Record) messaging support]),
-+    enable_otr=$enableval,
-+    otr="")
- if test "x$enable_otr" = "xyes"; then
--  # Look for libgcrypt and libotr
--  AM_PATH_LIBGCRYPT(1.2.2, [
--          AM_PATH_LIBOTR(3.1.0, ,
--                         AC_MSG_ERROR(libotr 3.1.0 or newer is required.))
--      ], AC_MSG_ERROR(libgcrypt 1.2.2 or newer is required.)
--  )
-+    # Look for libgcrypt and libotr
-+    AM_PATH_LIBGCRYPT(1.2.2, [
-+        AM_PATH_LIBOTR(4.0.0, [
-+            AC_DEFINE([HAVE_LIBOTR], 1, [Define if you use libotr])
-+        ], [
-+            AM_PATH_LIBOTR(3.1.0, [
-+                AC_DEFINE([HAVE_LIBOTR], 1, [Define if you use libotr])
-+                AC_DEFINE([HAVE_LIBOTR3], 1, [Define if you use libotr v3])
-+            ], [
-+                AC_MSG_ERROR(libotr 3.1.0 or newer is required.)
-+            ])
-+        ])
-+    ], [
-+        AC_MSG_ERROR(libgcrypt 1.2.2 or newer is required.)
-+    ])
- fi
- 
- # Check for Enchant stuff
-@@ -290,3 +300,4 @@ AC_CONFIG_FILES([mcabber/Makefile
-                  mcabber.pc
-                  Makefile])
- AC_OUTPUT
-+dnl vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users...
Index: patches/patch-mcabber_otr_c
===================================================================
RCS file: /cvs/ports/net/mcabber/patches/patch-mcabber_otr_c,v
retrieving revision 1.1
diff -u -p -u -r1.1 patch-mcabber_otr_c
--- patches/patch-mcabber_otr_c 15 Aug 2013 16:34:50 -0000      1.1
+++ patches/patch-mcabber_otr_c 21 Jan 2015 09:35:21 -0000
@@ -1,540 +0,0 @@
-$OpenBSD: patch-mcabber_otr_c,v 1.1 2013/08/15 16:34:50 stsp Exp $
-http://www.isbear.org.ua/hg/isbear/mcabber-patches/file/tip/use-otr-v4.diff
---- mcabber/otr.c.orig Sun Dec  2 14:27:32 2012
-+++ mcabber/otr.c      Wed Aug 14 18:56:07 2013
-@@ -56,6 +56,20 @@ static void       cb_inject_message     (void *opdata,
-                                          const char *protocol,
-                                          const char *recipient,
-                                          const char *message);
-+static void       cb_update_context_list(void *opdata);
-+static void       cb_new_fingerprint    (void *opdata, OtrlUserState us,
-+                                         const char *accountname,
-+                                         const char *protocol,
-+                                         const char *username,
-+                                         unsigned char fingerprint[20]);
-+static void       cb_write_fingerprints (void *opdata);
-+static void       cb_gone_secure        (void *opdata, ConnContext *context);
-+static void       cb_gone_insecure      (void *opdata, ConnContext *context);
-+static void       cb_still_secure       (void *opdata, ConnContext *context,
-+                                         int is_reply);
-+static int        cb_max_message_size   (void *opdata, ConnContext *context);
-+
-+#ifdef HAVE_LIBOTR3
- static void       cb_notify             (void *opdata,
-                                          OtrlNotifyLevel level,
-                                          const char *accountname,
-@@ -69,49 +83,71 @@ static int        cb_display_otr_message(void *opdata,
-                                          const char *protocol,
-                                          const char *username,
-                                          const char *msg);
--static void       cb_update_context_list(void *opdata);
- static const char *cb_protocol_name     (void *opdata, const char *protocol);
- static void       cb_protocol_name_free (void *opdata,
-                                          const char *protocol_name);
--static void       cb_new_fingerprint    (void *opdata, OtrlUserState us,
--                                         const char *accountname,
--                                         const char *protocol,
--                                         const char *username,
--                                         unsigned char fingerprint[20]);
--static void       cb_write_fingerprints (void *opdata);
--static void       cb_gone_secure        (void *opdata, ConnContext *context);
--static void       cb_gone_insecure      (void *opdata, ConnContext *context);
--static void       cb_still_secure       (void *opdata, ConnContext *context,
--                                         int is_reply);
- static void       cb_log_message        (void *opdata, const char *message);
--static int        cb_max_message_size   (void *opdata, ConnContext *context);
- 
-+static void       otr_handle_smp_tlvs   (OtrlTLV *tlvs, ConnContext *ctx);
-+#else /* HAVE_LIBOTR3 */
-+static char *tagfile = NULL;
-+static guint otr_timer_source = 0;
-+
-+static void       cb_handle_smp_event   (void *opdata, OtrlSMPEvent event,
-+                                         ConnContext *context, unsigned short 
percent,
-+                                         char *question);
-+static void       cb_handle_msg_event   (void *opdata, OtrlMessageEvent event,
-+                                         ConnContext *context, const char 
*message,
-+                                         gcry_error_t err);
-+static void       cb_create_instag      (void *opdata, const char 
*accountname,
-+                                         const char *protocol);
-+static void       cb_timer_control      (void *opdata, unsigned int interval);
-+#endif /* HAVE_LIBOTR3 */
-+
- static OtrlMessageAppOps ops =
- {
-   cb_policy,
-   cb_create_privkey,
-   cb_is_logged_in,
-   cb_inject_message,
-+#ifdef HAVE_LIBOTR3
-   cb_notify,
-   cb_display_otr_message,
-+#endif
-   cb_update_context_list,
-+#ifdef HAVE_LIBOTR3
-   cb_protocol_name,
-   cb_protocol_name_free,
-+#endif
-   cb_new_fingerprint,
-   cb_write_fingerprints,
-   cb_gone_secure,
-   cb_gone_insecure,
-   cb_still_secure,
-+#ifdef HAVE_LIBOTR3
-   cb_log_message,
-+#endif
-   cb_max_message_size,
--  NULL, /*account_name*/
--  NULL  /*account_name_free*/
-+  NULL, /* account_name */
-+  NULL, /* account_name_free */
-+#ifndef HAVE_LIBOTR3
-+  NULL, /* received_symkey */
-+  NULL, /* otr_error_message */
-+  NULL, /* otr_error_message_free */
-+  NULL, /* resent_msg_prefix */
-+  NULL, /* resent_msg_prefix_free */
-+  cb_handle_smp_event,
-+  cb_handle_msg_event,
-+  cb_create_instag,
-+  NULL, /* convert_msg */
-+  NULL, /* convert_free */
-+  cb_timer_control,
-+#endif
- };
- 
- static void otr_message_disconnect(ConnContext *ctx);
- static ConnContext *otr_get_context(const char *buddy);
- static void otr_startstop(const char *buddy, int start);
--static void otr_handle_smp_tlvs(OtrlTLV *tlvs, ConnContext *ctx);
- 
- static char *otr_get_dir(void);
- 
-@@ -135,7 +171,6 @@ void otr_init(const char *fjid)
-   account = jidtodisp(fjid);
-   keyfile = g_strdup_printf("%s%s.key", root, account);
-   fprfile = g_strdup_printf("%s%s.fpr", root, account);
--  g_free(root);
- 
-   if (otrl_privkey_read(userstate, keyfile)){
-     scr_LogPrint(LPRINT_LOGNORM, "Could not read OTR key from %s", keyfile);
-@@ -145,6 +180,14 @@ void otr_init(const char *fjid)
-     scr_LogPrint(LPRINT_LOGNORM, "Could not read OTR fingerprints from %s",
-                  fprfile);
-   }
-+#ifndef HAVE_LIBOTR3
-+  tagfile = g_strdup_printf("%s%s.tag", root, account);
-+  if (otrl_instag_read(userstate, tagfile)) {
-+    scr_LogPrint(LPRINT_LOGNORM, "Could not read OTR instance tag from %s", 
tagfile);
-+    cb_create_instag(NULL, account, OTR_PROTOCOL_NAME);
-+  }
-+#endif
-+  g_free(root);
- }
- 
- void otr_terminate(void)
-@@ -154,6 +197,13 @@ void otr_terminate(void)
-   if (!otr_is_enabled)
-     return;
- 
-+#ifndef HAVE_LIBOTR3
-+  if (otr_timer_source > 0) {
-+    g_source_remove (otr_timer_source);
-+    otr_timer_source = 0;
-+  }
-+#endif
-+
-   for (ctx = userstate->context_root; ctx; ctx = ctx->next)
-     if (ctx->msgstate == OTRL_MSGSTATE_ENCRYPTED)
-       otr_message_disconnect(ctx);
-@@ -175,6 +225,12 @@ void otr_terminate(void)
-   userstate = NULL;
-   g_free(keyfile);
-   keyfile = NULL;
-+  g_free(fprfile);
-+  fprfile = NULL;
-+#ifndef HAVE_LIBOTR3
-+  g_free(tagfile);
-+  tagfile = NULL;
-+#endif
- }
- 
- static char *otr_get_dir(void)
-@@ -206,7 +262,12 @@ static ConnContext *otr_get_context(const char *buddy)
- 
-   mc_strtolower(lowcasebuddy);
-   ctx = otrl_context_find(userstate, lowcasebuddy, account, OTR_PROTOCOL_NAME,
-+#ifdef HAVE_LIBOTR3
-                           1, &null, NULL, NULL);
-+#else
-+                          // INSTAG XXX
-+                          OTRL_INSTAG_BEST, 1, &null, NULL, NULL);
-+#endif
-   g_free(lowcasebuddy);
-   return ctx;
- }
-@@ -216,7 +277,12 @@ static void otr_message_disconnect(ConnContext *ctx)
-   if (ctx->msgstate == OTRL_MSGSTATE_ENCRYPTED)
-     cb_gone_insecure(NULL, ctx);
-   otrl_message_disconnect(userstate, &ops, NULL, ctx->accountname,
-+#ifdef HAVE_LIBOTR3
-                           ctx->protocol, ctx->username);
-+#else
-+                          // INSTAG XXX
-+                          ctx->protocol, ctx->username, OTRL_INSTAG_BEST);
-+#endif
- }
- 
- static void otr_startstop(const char *buddy, int start)
-@@ -283,6 +349,8 @@ void otr_fingerprint(const char *buddy, const char *tr
-   cb_write_fingerprints(NULL);
- }
- 
-+#ifdef HAVE_LIBOTR3
-+
- static void otr_handle_smp_tlvs(OtrlTLV *tlvs, ConnContext *ctx)
- {
-   OtrlTLV *tlv = NULL;
-@@ -354,6 +422,130 @@ static void otr_handle_smp_tlvs(OtrlTLV *tlvs, ConnCon
-   }
- }
- 
-+#else /* HAVE_LIBOTR3 */
-+
-+static void cb_handle_smp_event(void *opdata, OtrlSMPEvent event,
-+                                ConnContext *context, unsigned short percent,
-+                                char *question)
-+{
-+  const char *msg = NULL;
-+  char *freeme = NULL;
-+  switch (event) {
-+    case OTRL_SMPEVENT_ASK_FOR_SECRET:
-+      msg = freeme = g_strdup_printf("OTR: Socialist Millionaires' Protocol: "
-+                                     "Received SMP Initiation.\n"
-+                                     "Answer with /otr smpr %s $secret",
-+                                     context->username);
-+      break;
-+    case OTRL_SMPEVENT_ASK_FOR_ANSWER:
-+      msg = freeme = g_strdup_printf("OTR: Socialist Millionaires' Protocol: "
-+                                     "Received SMP Initiation.\n"
-+                                     "Answer with /otr smpr %s $secret\n"
-+                                     "Question: %s", context->username,
-+                                     question);
-+      break;
-+    case OTRL_SMPEVENT_CHEATED:
-+      msg = "OTR: Socialist Millionaires' Protocol: Correspondent cancelled 
negotiation!";
-+      otrl_message_abort_smp(userstate, &ops, opdata, context);
-+      break;
-+    case OTRL_SMPEVENT_IN_PROGRESS:
-+      scr_log_print(LPRINT_DEBUG, "OTR: Socialist Millionaires' Protocol: "
-+                                  "Negotiation is in pogress...");
-+      break;
-+    case OTRL_SMPEVENT_SUCCESS:
-+      msg = "OTR: Socialist Millionaires' Protocol: Success!";
-+      break;
-+    case OTRL_SMPEVENT_FAILURE:
-+      msg = "OTR: Socialist Millionaires' Protocol: Failure.";
-+      break;
-+    case OTRL_SMPEVENT_ABORT:
-+      msg = "OTR: Socialist Millionaires' Protocol: Aborted.";
-+      break;
-+    case OTRL_SMPEVENT_ERROR:
-+      msg = "OTR: Socialist Millionaires' Protocol: Error occured, aborting 
negotiations!";
-+      otrl_message_abort_smp(userstate, &ops, opdata, context);
-+      break;
-+    default:
-+      break;
-+  }
-+
-+  if (msg) {
-+    scr_WriteIncomingMessage(context->username, msg, 0, HBB_PREFIX_INFO, 0);
-+    g_free(freeme);
-+  }
-+}
-+
-+static void cb_handle_msg_event(void *opdata, OtrlMessageEvent event,
-+                                ConnContext *context, const char *message,
-+                                gcry_error_t err)
-+{
-+  const char *msg = NULL;
-+  char *freeme = NULL;
-+  switch (event) {
-+    case OTRL_MSGEVENT_ENCRYPTION_REQUIRED:
-+      msg = "OTR: Policy requires encryption on message!";
-+      break;
-+    case OTRL_MSGEVENT_ENCRYPTION_ERROR:
-+      msg = "OTR: Encryption error! Message not sent.";
-+      break;
-+    case OTRL_MSGEVENT_CONNECTION_ENDED:
-+      msg = "OTR: Connection closed by remote end, message lost. "
-+            "Close or refresh connection.";
-+      break;
-+    case OTRL_MSGEVENT_SETUP_ERROR:
-+      // FIXME
-+      msg = freeme = g_strdup_printf("OTR: Error setting up private 
conversation: %u",
-+                                     err);
-+      break;
-+    case OTRL_MSGEVENT_MSG_REFLECTED:
-+      msg = "OTR: Received own OTR message!";
-+      break;
-+    case OTRL_MSGEVENT_MSG_RESENT:
-+      msg = "OTR: Previous message was resent.";
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_NOT_IN_PRIVATE:
-+      msg = "OTR: Received encrypted message, but connection is not 
established " \
-+            "yet! Message lost.";
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_UNREADABLE:
-+      msg = "OTR: Unable to read incoming message!";
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_MALFORMED:
-+      msg = "OTR: Malformed incoming message!";
-+      break;
-+    case OTRL_MSGEVENT_LOG_HEARTBEAT_RCVD:
-+      scr_log_print(LPRINT_DEBUG, "OTR: Received heartbeat.");
-+      break;
-+    case OTRL_MSGEVENT_LOG_HEARTBEAT_SENT:
-+      scr_log_print(LPRINT_DEBUG, "OTR: Sent heartbeat.");
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_GENERAL_ERR:
-+      msg = freeme = g_strdup_printf("OTR: Received general otr error: %s",
-+                                     message);
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_UNENCRYPTED:
-+      msg = freeme = g_strdup_printf("OTR: Received unencrypted message: %s",
-+                                     message);
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_UNRECOGNIZED:
-+      msg = "OTR: Unable to determine type of received OTR message!";
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_FOR_OTHER_INSTANCE:
-+      // XXX
-+      scr_log_print(LPRINT_DEBUG, "OTR: Received message for other 
instance.");
-+      break;
-+    default:
-+      break;
-+  }
-+
-+  if (msg) {
-+    scr_WriteIncomingMessage(context->username, msg, 0, HBB_PREFIX_INFO, 0);
-+    g_free(freeme);
-+  }
-+}
-+
-+#endif /* HAVE_LIBOTR3 */
-+
- /*
-  * returns whether a otr_message was received
-  * sets *otr_data to NULL, when it was an internal otr message
-@@ -362,8 +554,10 @@ int otr_receive(char **otr_data, const char *buddy, in
- {
-   int ignore_message;
-   char *newmessage = NULL;
-+#ifdef HAVE_LIBOTR3
-   OtrlTLV *tlvs = NULL;
-   OtrlTLV *tlv = NULL;
-+#endif
-   ConnContext *ctx;
- 
-   ctx = otr_get_context(buddy);
-@@ -371,9 +565,9 @@ int otr_receive(char **otr_data, const char *buddy, in
-   ignore_message = otrl_message_receiving(userstate, &ops, NULL,
-                                           ctx->accountname, ctx->protocol,
-                                           ctx->username, *otr_data,
--                                          &newmessage, &tlvs,NULL, NULL);
-+#ifdef HAVE_LIBOTR3
-+                                          &newmessage, &tlvs, NULL, NULL);
- 
--
-   tlv = otrl_tlv_find(tlvs, OTRL_TLV_DISCONNECTED);
-   if (tlv) {
-     /* Notify the user that the other side disconnected. */
-@@ -387,6 +581,9 @@ int otr_receive(char **otr_data, const char *buddy, in
- 
-   if (tlvs != NULL)
-     otrl_tlv_free(tlvs);
-+#else
-+                                          &newmessage, NULL, NULL, NULL, 
NULL);
-+#endif
- 
-   if (ignore_message)
-     *otr_data = NULL;
-@@ -410,13 +607,27 @@ int otr_send(char **msg, const char *buddy)
- 
-   if (ctx->msgstate == OTRL_MSGSTATE_PLAINTEXT)
-     err = otrl_message_sending(userstate, &ops, NULL, ctx->accountname,
-+#ifdef HAVE_LIBOTR3
-                                ctx->protocol, ctx->username, *msg, NULL,
-                                &newmessage, NULL, NULL);
-+#else
-+                               // INSTAG XXX
-+                               ctx->protocol, ctx->username, OTRL_INSTAG_BEST,
-+                               *msg, NULL, &newmessage, 
OTRL_FRAGMENT_SEND_SKIP,
-+                               NULL, NULL, NULL);
-+#endif
-   else {
-     htmlmsg = html_escape(*msg);
-     err = otrl_message_sending(userstate, &ops, NULL, ctx->accountname,
-+#ifdef HAVE_LIBOTR3
-                                ctx->protocol, ctx->username, htmlmsg, NULL,
-                                &newmessage, NULL, NULL);
-+#else
-+                               // INSTAG XXX
-+                               ctx->protocol, ctx->username, OTRL_INSTAG_BEST,
-+                               htmlmsg, NULL, &newmessage, 
OTRL_FRAGMENT_SEND_SKIP,
-+                               NULL, NULL, NULL);
-+#endif
-     g_free(htmlmsg);
-   }
- 
-@@ -648,6 +859,59 @@ static void cb_inject_message(void *opdata, const char
-                   LM_MESSAGE_SUB_TYPE_NOT_SET, NULL);
- }
- 
-+/* When the list of ConnContexts changes (including a change in
-+ * state), this is called so the UI can be updated. */
-+static void cb_update_context_list(void *opdata)
-+{
-+  /*maybe introduce new status characters for mcabber,
-+   * then use this function (?!)*/
-+}
-+
-+/* A new fingerprint for the given user has been received. */
-+static void cb_new_fingerprint(void *opdata, OtrlUserState us,
-+                               const char *accountname, const char *protocol,
-+                               const char *username,
-+                               unsigned char fingerprint[20])
-+{
-+  char *sbuf = NULL;
-+  char readable[45];
-+
-+  otrl_privkey_hash_to_human(readable, fingerprint);
-+  sbuf = g_strdup_printf("OTR: new fingerprint: %s", readable);
-+  scr_WriteIncomingMessage(username, sbuf, 0, HBB_PREFIX_INFO, 0);
-+  g_free(sbuf);
-+}
-+
-+/* The list of known fingerprints has changed.  Write them to disk. */
-+static void cb_write_fingerprints(void *opdata)
-+{
-+  otrl_privkey_write_fingerprints(userstate, fprfile);
-+}
-+
-+/* A ConnContext has entered a secure state. */
-+static void cb_gone_secure(void *opdata, ConnContext *context)
-+{
-+  scr_WriteIncomingMessage(context->username, "OTR: channel established", 0,
-+                           HBB_PREFIX_INFO, 0);
-+}
-+
-+/* A ConnContext has left a secure state. */
-+static void cb_gone_insecure(void *opdata, ConnContext *context)
-+{
-+  scr_WriteIncomingMessage(context->username, "OTR: channel closed", 0,
-+                           HBB_PREFIX_INFO, 0);
-+}
-+
-+/* We have completed an authentication, using the D-H keys we
-+ * already knew.  is_reply indicates whether we initiated the AKE. */
-+static void cb_still_secure(void *opdata, ConnContext *context, int is_reply)
-+{
-+  scr_WriteIncomingMessage(context->username, "OTR: channel reestablished", 0,
-+                           HBB_PREFIX_INFO, 0);
-+}
-+
-+#ifdef HAVE_LIBOTR3
-+
- /* Display a notification message for a particular
-  * accountname / protocol / username conversation. */
- static void cb_notify(void *opdata, OtrlNotifyLevel level,
-@@ -684,14 +948,6 @@ static int cb_display_otr_message(void *opdata, const 
-   return 0;
- }
- 
--/* When the list of ConnContexts changes (including a change in
-- * state), this is called so the UI can be updated. */
--static void cb_update_context_list(void *opdata)
--{
--  /*maybe introduce new status characters for mcabber,
--   * then use this function (?!)*/
--}
--
- /* Return a newly allocated string containing a human-friendly name
-  * for the given protocol id */
- static const char *cb_protocol_name(void *opdata, const char *protocol)
-@@ -705,54 +961,40 @@ static void cb_protocol_name_free (void *opdata, const
-   /* We didn't allocated memory, so we don't have to free anything :p */
- }
- 
--/* A new fingerprint for the given user has been received. */
--static void cb_new_fingerprint(void *opdata, OtrlUserState us,
--                               const char *accountname, const char *protocol,
--                               const char *username,
--                               unsigned char fingerprint[20])
-+/* Log a message.  The passed message will end in "\n". */
-+static void cb_log_message(void *opdata, const char *message)
- {
--  char *sbuf = NULL;
--  char readable[45];
--
--  otrl_privkey_hash_to_human(readable, fingerprint);
--  sbuf = g_strdup_printf("OTR: new fingerprint: %s", readable);
--  scr_WriteIncomingMessage(username, sbuf, 0, HBB_PREFIX_INFO, 0);
--  g_free(sbuf);
-+  scr_LogPrint(LPRINT_DEBUG, "OTR: %s", message);
- }
- 
--/* The list of known fingerprints has changed.  Write them to disk. */
--static void cb_write_fingerprints(void *opdata)
--{
--  otrl_privkey_write_fingerprints(userstate, fprfile);
--}
-+#else /* HAVE_LIBOTR3 */
- 
--/* A ConnContext has entered a secure state. */
--static void cb_gone_secure(void *opdata, ConnContext *context)
-+/* Generate unique instance tag for account. */
-+static void cb_create_instag(void *opdata, const char *accountname,
-+                             const char *protocol)
- {
--  scr_WriteIncomingMessage(context->username, "OTR: channel established", 0,
--                           HBB_PREFIX_INFO, 0);
-+  if (otrl_instag_generate(userstate, tagfile, accountname, protocol)) {
-+    scr_LogPrint(LPRINT_LOGNORM, "OTR instance tag generation failed!");
-+  }
- }
- 
--/* A ConnContext has left a secure state. */
--static void cb_gone_insecure(void *opdata, ConnContext *context)
-+static gboolean otr_timer_cb(gpointer userdata)
- {
--  scr_WriteIncomingMessage(context->username, "OTR: channel closed", 0,
--                           HBB_PREFIX_INFO, 0);
-+  otrl_message_poll(userstate, &ops, userdata);
-+  return TRUE;
- }
- 
--/* We have completed an authentication, using the D-H keys we
-- * already knew.  is_reply indicates whether we initiated the AKE. */
--static void cb_still_secure(void *opdata, ConnContext *context, int is_reply)
-+static void cb_timer_control(void *opdata, unsigned int interval)
- {
--  scr_WriteIncomingMessage(context->username, "OTR: channel reestablished", 0,
--                           HBB_PREFIX_INFO, 0);
-+  if (otr_timer_source > 0) {
-+    g_source_remove(otr_timer_source);
-+    otr_timer_source = 0;
-+  }
-+  if (interval > 0)
-+    otr_timer_source = g_timeout_add_seconds(interval, otr_timer_cb, opdata);
- }
- 
--/* Log a message.  The passed message will end in "\n". */
--static void cb_log_message(void *opdata, const char *message)
--{
--  scr_LogPrint(LPRINT_DEBUG, "OTR: %s", message);
--}
-+#endif /* HAVE_LIBOTR3 */
- 
- /* Find the maximum message size supported by this protocol. */
- static int cb_max_message_size(void *opdata, ConnContext *context)
Index: patches/patch-mcabber_otr_h
===================================================================
RCS file: /cvs/ports/net/mcabber/patches/patch-mcabber_otr_h,v
retrieving revision 1.1
diff -u -p -u -r1.1 patch-mcabber_otr_h
--- patches/patch-mcabber_otr_h 15 Aug 2013 16:34:50 -0000      1.1
+++ patches/patch-mcabber_otr_h 21 Jan 2015 09:35:21 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-mcabber_otr_h,v 1.1 2013/08/15 16:34:50 stsp Exp $
-http://www.isbear.org.ua/hg/isbear/mcabber-patches/file/tip/use-otr-v4.diff
---- mcabber/otr.h.orig Sun Dec  2 14:27:32 2012
-+++ mcabber/otr.h      Wed Aug 14 18:56:07 2013
-@@ -5,6 +5,9 @@
- 
- #ifdef HAVE_LIBOTR
- 
-+#ifndef HAVE_LIBOTR3
-+# include <libotr/instag.h>
-+#endif
- #include <libotr/proto.h>
- #include <libotr/message.h>
- #include <libotr/privkey.h>

Reply via email to