community/xchat: remove

No release in a decade and no changes in svn since 2013. It has various
unfixed security issues.

Users should use hexchat.

fixes #11158
This commit is contained in:
Natanael Copa 2020-01-24 12:30:22 +00:00
parent 5acb0c2d09
commit 17c3abb195
5 changed files with 0 additions and 240 deletions

View File

@ -1,52 +0,0 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xchat
pkgver=2.8.8
pkgrel=17
pkgdesc="A GTK+ based IRC client"
url="http://www.xchat.org/"
arch="all"
license="GPL"
subpackages="$pkgname-lang"
makedepends="gtk+-dev openssl-dev dbus-glib-dev perl-dev
libxext-dev"
source="http://www.$pkgname.org/files/source/2.8/$pkgname-$pkgver.tar.bz2
midori.patch
xchat-2.8.8-glib-2.31.patch
link-gmodule.patch
xchat-2.8.8-openssl-1.1.0.patch
"
builddir="$srcdir"/$pkgname-$pkgver
prepare() {
default_prepare
update_config_sub
}
build() {
cd "$_builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--enable-openssl \
--enable-dbus \
--disable-textfe \
--disable-perl \
--disable-python \
--enable-ipv6 \
--enable-shm \
--enable-spell=static
make
}
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install
}
sha512sums="70eddc15a8bb08283b94f4d7bb5225016d42dd7bb946ac30f8e53bb68b892d15dd2a77d8825e5872e47b6d55f15ae468db1a7466676cd548d0a05c571d76db2b xchat-2.8.8.tar.bz2
cff2d877182dc653df6446efe5bd7f7f1365b9b1abaa42c4dc1ab8797ff2366e36878bbc3b3a5e5386da1edfe2339ea304d0b0f55b7ae3bff6120bc39c83dda5 midori.patch
b22da471b424b5270733f1c676e46ad411a70d0f14cfa1b42abde270f36c7da8afbeca235e0aa3b504ff35c8177012439e02841e6192fb8947cf0f7c0060e1be xchat-2.8.8-glib-2.31.patch
a67671bfd5afa600c7b19f3bce2ba32913f65f115f0beb9397aef28d9941b88d4a9e6fca12a8c78122a5d8379c614f19f7b9e1f4f4384ed2c94594ce0b6c8ade link-gmodule.patch
9729b6a1b055b17521e7fc483cb5461b54aafeb52a2dd65645f9973db08271a5347a522d1c3cdd7ff7062291f96100474aab0ce6ddf58707219d780a0b745db6 xchat-2.8.8-openssl-1.1.0.patch"

View File

@ -1,11 +0,0 @@
--- ./src/fe-gtk/Makefile.in.orig
+++ ./src/fe-gtk/Makefile.in
@@ -150,7 +150,7 @@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
+GUI_LIBS = @GUI_LIBS@ -lgmodule-2.0
HAVE_ASPRINTF = @HAVE_ASPRINTF@
HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@
HAVE_SNPRINTF = @HAVE_SNPRINTF@

View File

@ -1,15 +0,0 @@
diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c
index 251a7d7..f427ad4 100644
--- a/src/fe-gtk/fe-gtk.c
+++ b/src/fe-gtk/fe-gtk.c
@@ -958,6 +958,10 @@ fe_open_url_inner (const char *url)
/* everything failed, what now? just try firefox */
if (try_browser ("firefox", NULL, url))
return;
+
+ /* try midori before giving up */
+ if (try_browser ("midori", NULL, url))
+ return;
/* fresh out of ideas... */
try_browser ("mozilla", NULL, url);

View File

@ -1,62 +0,0 @@
Author: Dominique Leuenberger <dimstar@opensuse.org>
http://sourceforge.net/tracker/?func=detail&aid=3446968&group_id=239&atid=100239
glib got stricter in checking includes. Only glib.h (and a few exceptions)
are to be included directly.
Index: xchat-2.8.8/src/common/servlist.c
===================================================================
--- xchat-2.8.8.orig/src/common/servlist.c
+++ xchat-2.8.8/src/common/servlist.c
@@ -24,7 +24,7 @@
#include <unistd.h>
#include "xchat.h"
-#include <glib/ghash.h>
+#include <glib.h>
#include "cfgfiles.h"
#include "fe.h"
Index: xchat-2.8.8/src/common/text.c
===================================================================
--- xchat-2.8.8.orig/src/common/text.c
+++ xchat-2.8.8/src/common/text.c
@@ -28,7 +28,7 @@
#include <sys/mman.h>
#include "xchat.h"
-#include <glib/ghash.h>
+#include <glib.h>
#include "cfgfiles.h"
#include "chanopt.h"
#include "plugin.h"
Index: xchat-2.8.8/src/common/util.c
===================================================================
--- xchat-2.8.8.orig/src/common/util.c
+++ xchat-2.8.8/src/common/util.c
@@ -39,7 +39,7 @@
#include <errno.h>
#include "xchat.h"
#include "xchatc.h"
-#include <glib/gmarkup.h>
+#include <glib.h>
#include <ctype.h>
#include "util.h"
#include "../../config.h"
Index: xchat-2.8.8/src/common/xchat.h
===================================================================
--- xchat-2.8.8.orig/src/common/xchat.h
+++ xchat-2.8.8/src/common/xchat.h
@@ -1,10 +1,6 @@
#include "../../config.h"
-#include <glib/gslist.h>
-#include <glib/glist.h>
-#include <glib/gutils.h>
-#include <glib/giochannel.h>
-#include <glib/gstrfuncs.h>
+#include <glib.h>
#include <time.h> /* need time_t */
#ifndef XCHAT_H

View File

@ -1,100 +0,0 @@
diff --git a/src/common/server.c b/src/common/server.c
index 87f9f02..96f30ab 100644
--- a/src/common/server.c
+++ b/src/common/server.c
@@ -593,14 +593,16 @@ ssl_cb_info (SSL * s, int where, int ret)
static int
ssl_cb_verify (int ok, X509_STORE_CTX * ctx)
{
+ X509 *current_cert;
char subject[256];
char issuer[256];
char buf[512];
- X509_NAME_oneline (X509_get_subject_name (ctx->current_cert), subject,
+ current_cert = X509_STORE_CTX_get_current_cert (ctx);
+ X509_NAME_oneline (X509_get_subject_name (current_cert), subject,
sizeof (subject));
- X509_NAME_oneline (X509_get_issuer_name (ctx->current_cert), issuer,
+ X509_NAME_oneline (X509_get_issuer_name (current_cert), issuer,
sizeof (issuer));
snprintf (buf, sizeof (buf), "* Subject: %s", subject);
@@ -751,7 +753,12 @@ ssl_do_connect (server * serv)
return (0); /* remove it (0) */
} else
{
- if (serv->ssl->session && serv->ssl->session->time + SSLTMOUT < time (NULL))
+ SSL_SESSION *session;
+ long session_time;
+
+ session = SSL_get_session (serv->ssl);
+ session_time = SSL_SESSION_get_time (session);
+ if (session && session_time + SSLTMOUT < time (NULL))
{
snprintf (buf, sizeof (buf), "SSL handshake timed out");
EMIT_SIGNAL (XP_TE_CONNFAIL, serv->server_session, buf, NULL,
diff --git a/src/common/ssl.c b/src/common/ssl.c
index a18ad47..348dbb4 100644
--- a/src/common/ssl.c
+++ b/src/common/ssl.c
@@ -70,7 +70,7 @@ _SSL_context_init (void (*info_cb_func), int server)
SSLeay_add_ssl_algorithms ();
SSL_load_error_strings ();
- ctx = SSL_CTX_new (server ? SSLv3_server_method() : SSLv3_client_method ());
+ ctx = SSL_CTX_new (server ? TLS_server_method() : TLS_client_method ());
SSL_CTX_set_session_cache_mode (ctx, SSL_SESS_CACHE_BOTH);
SSL_CTX_set_timeout (ctx, 300);
@@ -136,6 +136,8 @@ int
_SSL_get_cert_info (struct cert_info *cert_info, SSL * ssl)
{
X509 *peer_cert;
+ X509_PUBKEY *peer_pub_key;
+ ASN1_OBJECT *algorithm;
EVP_PKEY *peer_pkey;
/* EVP_PKEY *ca_pkey; */
/* EVP_PKEY *tmp_pkey; */
@@ -155,8 +157,10 @@ _SSL_get_cert_info (struct cert_info *cert_info, SSL * ssl)
broke_oneline (cert_info->subject, cert_info->subject_word);
broke_oneline (cert_info->issuer, cert_info->issuer_word);
- alg = OBJ_obj2nid (peer_cert->cert_info->key->algor->algorithm);
- sign_alg = OBJ_obj2nid (peer_cert->sig_alg->algorithm);
+ peer_pub_key = X509_get_X509_PUBKEY (peer_cert);
+ X509_PUBKEY_get0_param (&algorithm, NULL, NULL, NULL, peer_pub_key);
+ alg = OBJ_obj2nid (algorithm);
+ sign_alg = X509_get_signature_type (peer_cert);
ASN1_TIME_snprintf (notBefore, sizeof (notBefore),
X509_get_notBefore (peer_cert));
ASN1_TIME_snprintf (notAfter, sizeof (notAfter),
@@ -199,7 +203,7 @@ _SSL_get_cert_info (struct cert_info *cert_info, SSL * ssl)
struct chiper_info *
_SSL_get_cipher_info (SSL * ssl)
{
- SSL_CIPHER *c;
+ const SSL_CIPHER *c;
c = SSL_get_current_cipher (ssl);
@@ -274,6 +278,7 @@ SSL *
_SSL_socket (SSL_CTX *ctx, int sd)
{
SSL *ssl;
+ SSL_METHOD *method;
if (!(ssl = SSL_new (ctx)))
@@ -281,7 +286,9 @@ _SSL_socket (SSL_CTX *ctx, int sd)
__SSL_critical_error ("SSL_new");
SSL_set_fd (ssl, sd);
- if (ctx->method == SSLv3_client_method())
+
+ method = SSL_CTX_get_ssl_method (ctx);
+ if (method == SSLv23_client_method())
SSL_set_connect_state (ssl);
else
SSL_set_accept_state(ssl);