Compare commits

...

8 Commits

Author SHA1 Message Date
Sebastien Helleu
4c34d008d9 Version 0.3.1.1 2010-01-31 11:43:51 +01:00
Sebastien Helleu
f314ad4112 Add missing includes in FindIconv.cmake (patch #7069) 2010-01-30 18:27:09 +01:00
Sebastien Helleu
f88b127e44 Fix crash when purging old xfer chats (bug #28764) 2010-01-29 16:21:26 +01:00
Sebastien Helleu
d157f42ec9 Fix crash with SSL connection to IRC server if option ssl_cert is set (bug #28752) 2010-01-29 12:42:53 +01:00
Sebastien Helleu
1d803a6972 Update ChangeLog 2010-01-29 08:00:27 +01:00
Emmanuel Bouthenot
2342aecbe6 Fix a build failure with: 1.7.6 < gnutls <= 2.4.6 2010-01-29 00:25:46 +01:00
Emmanuel Bouthenot
b3e7bc728d Fix a build failure with gnutls < 1.7.6 2010-01-29 00:25:14 +01:00
Sebastien Helleu
765d2ee476 Fix bug with SSL connection to IRC server (fails sometimes when ssl_verify is on) (bug #28741) 2010-01-27 11:18:39 +01:00
17 changed files with 89 additions and 47 deletions

View File

@ -28,7 +28,7 @@ ENDIF(PREFIX)
SET(VERSION_MAJOR "0")
SET(VERSION_MINOR "3")
SET(VERSION_PATCH "1")
SET(VERSION_PATCH "1.1")
SET(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
SET(PKG_STRING "${PROJECT_NAME} ${VERSION}")
STRING(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})

View File

@ -1,9 +1,17 @@
WeeChat ChangeLog
=================
FlashCode <flashcode@flashtux.org>
v0.3.1, 2010-01-23
v0.3.1.1, 2010-01-31
Version 0.3.1.1 (2010-01-31)
----------------------------
* irc: fix crash with SSL connection if option ssl_cert is set (bug #28752)
* irc: fix bug with SSL connection (fails sometimes when ssl_verify is on)
(bug #28741)
* irc: fix compilation with old GnuTLS versions (bug #28723)
* xfer: fix crash when purging old xfer chats (bug #28764)
Version 0.3.1 (2010-01-23)
--------------------------

5
NEWS
View File

@ -1,6 +1,11 @@
WeeChat News
============
FlashCode, 2010-01-31::
WeeChat 0.3.1.1 released.
+
This version fixes crashs with SSL connection and purge of old DCC chats.
FlashCode, 2010-01-23::
WeeChat 0.3.1 released.
+

View File

@ -30,6 +30,9 @@ IF(ICONV_FOUND)
set(ICONV_FIND_QUIETLY TRUE)
ENDIF(ICONV_FOUND)
INCLUDE(CheckLibraryExists)
INCLUDE(CheckFunctionExists)
FIND_PATH(ICONV_INCLUDE_PATH
NAMES iconv.h
PATHS /usr/include /usr/local/include /usr/pkg/include

View File

@ -18,10 +18,10 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.56)
AC_INIT(WeeChat, 0.3.1, flashcode@flashtux.org)
AC_INIT(WeeChat, 0.3.1.1, flashcode@flashtux.org)
AC_CONFIG_SRCDIR([src/core/weechat.c])
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([weechat], [0.3.1])
AM_INIT_AUTOMAKE([weechat], [0.3.1.1])
# Checks for programs
AC_PROG_CC

View File

@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1\n"
"Project-Id-Version: WeeChat 0.3.1.1\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
"PO-Revision-Date: 2010-01-23 09:07+0100\n"
"PO-Revision-Date: 2010-01-31 00:40+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"

View File

@ -8,10 +8,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1\n"
"Project-Id-Version: WeeChat 0.3.1.1\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
"PO-Revision-Date: 2010-01-23 09:07+0100\n"
"PO-Revision-Date: 2010-01-31 00:40+0100\n"
"Last-Translator: Nils G <weechatter@arcor.de>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"

View File

@ -6,10 +6,10 @@
# Elián Hanisch <lambdae2@gmail.com>, 2009-2010.
msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1\n"
"Project-Id-Version: WeeChat 0.3.1.1\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
"PO-Revision-Date: 2010-01-23 09:07+0100\n"
"PO-Revision-Date: 2010-01-31 00:40+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"

View File

@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1\n"
"Project-Id-Version: WeeChat 0.3.1.1\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
"PO-Revision-Date: 2010-01-23 09:07+0100\n"
"PO-Revision-Date: 2010-01-31 00:40+0100\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"

View File

@ -10,10 +10,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1\n"
"Project-Id-Version: WeeChat 0.3.1.1\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
"PO-Revision-Date: 2010-01-23 09:07+0100\n"
"PO-Revision-Date: 2010-01-31 00:40+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"

View File

@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Weechat 0.3.1\n"
"Project-Id-Version: Weechat 0.3.1.1\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
"PO-Revision-Date: 2010-01-23 09:07+0100\n"
"PO-Revision-Date: 2010-01-31 00:40+0100\n"
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"

View File

@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1\n"
"Project-Id-Version: WeeChat 0.3.1.1\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
"PO-Revision-Date: 2010-01-23 09:07+0100\n"
"PO-Revision-Date: 2010-01-31 00:40+0100\n"
"Last-Translator: Krzysztof Koroscik <soltys@szluug.org>\n"
"Language-Team: Polish\n"
"MIME-Version: 1.0\n"

View File

@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1\n"
"Project-Id-Version: WeeChat 0.3.1.1\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
"PO-Revision-Date: 2010-01-23 09:07+0100\n"
"PO-Revision-Date: 2010-01-31 00:41+0100\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"

View File

@ -2222,16 +2222,18 @@ irc_server_gnutls_callback (void *data, gnutls_session_t tls_session,
{
struct t_irc_server *server;
gnutls_retr_st tls_struct;
gnutls_x509_crt_t tls_cert;
gnutls_x509_privkey_t tls_cert_key;
gnutls_x509_crt_t cert_temp;
const gnutls_datum_t *cert_list;
gnutls_datum_t filedatum, cinfo;
gnutls_datum_t filedatum;
unsigned int cert_list_len, status;
time_t cert_time;
char *cert_path0, *cert_path1, *cert_path2, *cert_str, *hostname;
const char *weechat_dir;
int rc, i, j, rinfo, hostname_match;
int rc, i, j, hostname_match;
#if LIBGNUTLS_VERSION_NUMBER >= 0x010706
gnutls_datum_t cinfo;
int rinfo;
#endif
/* make C compiler happy */
(void) req_ca;
@ -2239,6 +2241,8 @@ irc_server_gnutls_callback (void *data, gnutls_session_t tls_session,
(void) pk_algos;
(void) pk_algos_len;
rc = 0;
if (!data)
return -1;
@ -2308,8 +2312,13 @@ irc_server_gnutls_callback (void *data, gnutls_session_t tls_session,
{
hostname_match = 1;
}
#if LIBGNUTLS_VERSION_NUMBER >= 0x010706
/* displaying infos about certificate */
#if LIBGNUTLS_VERSION_NUMBER < 0x020400
rinfo = gnutls_x509_crt_print (cert_temp, GNUTLS_X509_CRT_ONELINE, &cinfo);
#else
rinfo = gnutls_x509_crt_print (cert_temp, GNUTLS_CRT_PRINT_ONELINE, &cinfo);
#endif
if (rinfo == 0)
{
weechat_printf (server->buffer,
@ -2318,6 +2327,7 @@ irc_server_gnutls_callback (void *data, gnutls_session_t tls_session,
" - %s", cinfo.data);
gnutls_free (cinfo.data);
}
#endif
/* check expiration date */
cert_time = gnutls_x509_crt_get_expiration_time (cert_temp);
if (cert_time < time(NULL))
@ -2351,7 +2361,8 @@ irc_server_gnutls_callback (void *data, gnutls_session_t tls_session,
}
/* using client certificate if it exists */
cert_path0 = (char *) IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_SSL_CERT);
cert_path0 = (char *) IRC_SERVER_OPTION_STRING(server,
IRC_SERVER_OPTION_SSL_CERT);
if (cert_path0 && cert_path0[0])
{
weechat_dir = weechat_info_get ("weechat_dir", "");
@ -2371,29 +2382,40 @@ irc_server_gnutls_callback (void *data, gnutls_session_t tls_session,
filedatum.size = strlen (cert_str);
/* certificate */
gnutls_x509_crt_init (&tls_cert);
gnutls_x509_crt_import (tls_cert, &filedatum, GNUTLS_X509_FMT_PEM);
gnutls_x509_crt_init (&server->tls_cert);
gnutls_x509_crt_import (server->tls_cert, &filedatum,
GNUTLS_X509_FMT_PEM);
/* key */
gnutls_x509_privkey_init (&tls_cert_key);
gnutls_x509_privkey_import (tls_cert_key, &filedatum, GNUTLS_X509_FMT_PEM);
gnutls_x509_privkey_init (&server->tls_cert_key);
gnutls_x509_privkey_import (server->tls_cert_key, &filedatum,
GNUTLS_X509_FMT_PEM);
tls_struct.type = GNUTLS_CRT_X509;
tls_struct.ncerts = 1;
tls_struct.deinit_all = 0;
tls_struct.cert.x509 = &tls_cert;
tls_struct.key.x509 = tls_cert_key;
tls_struct.cert.x509 = &server->tls_cert;
tls_struct.key.x509 = server->tls_cert_key;
#if LIBGNUTLS_VERSION_NUMBER >= 0x010706
/* client certificate info */
rinfo = gnutls_x509_crt_print (tls_cert, GNUTLS_CRT_PRINT_ONELINE, &cinfo);
#if LIBGNUTLS_VERSION_NUMBER < 0x020400
rinfo = gnutls_x509_crt_print (cert_temp,
GNUTLS_X509_CRT_ONELINE,
&cinfo);
#else
rinfo = gnutls_x509_crt_print (cert_temp,
GNUTLS_CRT_PRINT_ONELINE,
&cinfo);
#endif
if (rinfo == 0)
{
weechat_printf (server->buffer,
_(" - client certificate info (%s):"), cert_path2);
_(" - client certificate info (%s):"),
cert_path2);
weechat_printf (server->buffer, " - %s", cinfo.data);
gnutls_free (cinfo.data);
}
#endif
memcpy(answer, &tls_struct, sizeof (gnutls_retr_st));
free (cert_str);
}

View File

@ -121,6 +121,8 @@ struct t_irc_server
int ssl_connected; /* = 1 if connected with SSL */
#ifdef HAVE_GNUTLS
gnutls_session_t gnutls_sess; /* gnutls session (only if SSL is used) */
gnutls_x509_crt_t tls_cert; /* certificate used if ssl_cert is set */
gnutls_x509_privkey_t tls_cert_key; /* key used if ssl_cert is set */
#endif
char *unterminated_message; /* beginning of a message in input buf */
int nicks_count; /* number of nicknames */

View File

@ -279,17 +279,17 @@ xfer_chat_buffer_close_cb (void *data, struct t_gui_buffer *buffer)
(void) data;
(void) buffer;
ptr_xfer = xfer_search_by_buffer (buffer);
if (ptr_xfer)
for (ptr_xfer = xfer_list; ptr_xfer; ptr_xfer = ptr_xfer->next_xfer)
{
if (!XFER_HAS_ENDED(ptr_xfer->status))
if (ptr_xfer->buffer == buffer)
{
xfer_close (ptr_xfer, XFER_STATUS_ABORTED);
xfer_buffer_refresh (WEECHAT_HOTLIST_MESSAGE);
if (!XFER_HAS_ENDED(ptr_xfer->status))
{
xfer_close (ptr_xfer, XFER_STATUS_ABORTED);
xfer_buffer_refresh (WEECHAT_HOTLIST_MESSAGE);
}
ptr_xfer->buffer = NULL;
}
ptr_xfer->buffer = NULL;
}
return WEECHAT_RC_OK;

View File

@ -17,7 +17,7 @@
#
%define name weechat
%define version 0.3.1
%define version 0.3.1.1
%define release 1
Name: %{name}
@ -67,6 +67,8 @@ rm -rf $RPM_BUILD_ROOT
%{_includedir}/%{name}/weechat-plugin.h
%changelog
* Sun Jan 31 2010 FlashCode <flashcode@flashtux.org> 0.3.1.1-1
- Released version 0.3.1.1
* Sat Jan 23 2010 FlashCode <flashcode@flashtux.org> 0.3.1-1
- Released version 0.3.1
* Sun Sep 06 2009 FlashCode <flashcode@flashtux.org> 0.3.0-1