update to mICQ 0.4.10.4 (fixes a remote DoS)

This commit is contained in:
david 2003-10-06 07:11:14 +00:00
parent 3ff235fbfc
commit 15d091786c
9 changed files with 29 additions and 141 deletions

View File

@ -1,9 +1,9 @@
# $OpenBSD: Makefile,v 1.26 2003/05/14 08:11:16 david Exp $
# $OpenBSD: Makefile,v 1.27 2003/10/06 07:11:14 david Exp $
# $FreeBSD: Makefile,v 1.6 1999/06/03 08:31:06 ache Exp $
COMMENT= "text-based ICQ implementation"
DISTNAME= micq-0.4.10.3
DISTNAME= micq-0.4.10.4
CATEGORIES= net
MAINTAINER= David Krause <david@openbsd.org>
@ -16,7 +16,7 @@ PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= ${HOMEPAGE}source/ \
http://micq.alpha345.com/source/ \
http://http.uk.micq.org/source/ \
http://http.bg.micq.org/source/
EXTRACT_SUFX= .tgz

View File

@ -1,3 +1,3 @@
MD5 (micq-0.4.10.3.tgz) = a5bf29dde10474a10a5a4c3e43bf6915
RMD160 (micq-0.4.10.3.tgz) = 904ffb17594f676e3015f1342c73aedb656fa5ec
SHA1 (micq-0.4.10.3.tgz) = 294dda4973cc66dd1d58b827f55cc885c9b2805b
MD5 (micq-0.4.10.4.tgz) = abbcf17d1feaf61a8e453d180d559e3c
RMD160 (micq-0.4.10.4.tgz) = 6ff6a55b458f1521c00b53d57ee4d907f7fe91cf
SHA1 (micq-0.4.10.4.tgz) = 6a1221bb2a53d765cc81f3c327dc1bc29b3559fa

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-src_buildmark_c,v 1.1 2003/06/01 08:34:03 david Exp $
--- src/buildmark.c.orig Mon May 12 11:12:00 2003
+++ src/buildmark.c Fri May 23 17:22:16 2003
@@ -119,7 +119,7 @@ const char *BuildAttribution (void)
return ("\xc2\xa9 1998,1999,2000 Matthew D. Smith, \xc2\xa9 2001,2002,2003 R\xc3\xbc" "diger Kuhlmann,\n"
"released under version 2 of the GNU General Public License (GPL).\n");
#else
- return ("\xa9 1998,1999,2000 Matthew D. Smith, \xa9 2001,2002,2003 R\xfcdiger Kuhlmann,\n"
+ return ("\xa9 1998,1999,2000 Matthew D. Smith, \xa9 2001,2002,2003 R\xfc" "diger Kuhlmann,\n"
"released under version 2 of the GNU General Public License (GPL).\n");
#endif
}

View File

@ -1,21 +0,0 @@
$OpenBSD: patch-src_cmd_pkt_v8_c,v 1.1 2003/06/01 08:34:04 david Exp $
--- src/cmd_pkt_v8.c.orig Tue May 13 09:35:42 2003
+++ src/cmd_pkt_v8.c Fri May 23 17:22:16 2003
@@ -242,7 +242,7 @@ Connection *SrvRegisterUIN (Connection *
void SrvMsgAdvanced (Packet *pak, UDWORD seq, UWORD msgtype, UWORD status, UWORD deststatus, UWORD flags, const char *msg)
{
- if (status == STATUS_OFFLINE) /* keep */ ;
+ if (status == (UWORD)STATUS_OFFLINE) /* keep */ ;
else if (status & STATUSF_DND) status = STATUSF_DND | (status & STATUSF_INV);
else if (status & STATUSF_OCC) status = STATUSF_OCC | (status & STATUSF_INV);
else if (status & STATUSF_NA) status = STATUSF_NA | (status & STATUSF_INV);
@@ -251,7 +251,7 @@ void SrvMsgAdvanced (Packet *pak, UDWORD
else status &= STATUSF_INV;
if (flags != (UWORD)-1) /* keep */ ;
- else if (deststatus == STATUS_OFFLINE) /* keep */ ;
+ else if (deststatus == (UWORD)STATUS_OFFLINE) /* keep */ ;
else if (deststatus & STATUSF_DND) flags = TCP_MSGF_CLIST;
else if (deststatus & STATUSF_OCC) flags = TCP_MSGF_CLIST;
else if (deststatus & STATUSF_NA) flags = TCP_MSGF_1;

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-src_cmd_pkt_v8_snac_c,v 1.1 2003/06/01 08:34:04 david Exp $
--- src/cmd_pkt_v8_snac.c.orig Tue May 13 11:11:58 2003
+++ src/cmd_pkt_v8_snac.c Fri May 23 17:22:16 2003
@@ -1638,7 +1638,7 @@ UBYTE SnacCliSendmsg (Connection *conn,
const char *p;
int enc = ENC_LATIN1, icqenc = 0;
- size_t len, olen;
+ size_t len = 0, olen;
remenc = cont->encoding ? cont->encoding : prG->enc_rem;

View File

@ -1,21 +0,0 @@
$OpenBSD: patch-src_contact_c,v 1.3 2003/06/01 08:41:00 david Exp $
--- src/contact.c.orig Mon May 12 09:38:39 2003
+++ src/contact.c Fri May 23 17:22:16 2003
@@ -587,7 +587,7 @@ BOOL ContactMetaLoad (Contact *cont)
if (enc & ENC_AUTO && (enc ^ prG->enc_loc) & ~ENC_AUTO)
return FALSE;
#else
- if (enc != prG->enc_loc & ~ENC_AUTO)
+ if ((enc ^ prG->enc_loc) & ~ENC_AUTO)
return FALSE;
#endif
enc &= ~ENC_AUTO;
@@ -738,7 +738,7 @@ void ContactSetCap (Contact *cont, Cap *
cont->v1 = (ver >> 6) - 1;
cont->v2 = ver & 0x1f;
cont->v3 = cont->v4 = 0;
- if (ver <= 0x108)
+ if (ver <= 0x48)
cont->caps &= ~(1 << CAP_UTF8);
}
else /* KOtzPEKE */

View File

@ -1,37 +0,0 @@
$OpenBSD: patch-src_file_util_c,v 1.1 2003/06/01 08:41:00 david Exp $
--- src/file_util.c.orig Mon May 12 12:43:54 2003
+++ src/file_util.c Fri May 23 17:22:16 2003
@@ -85,7 +85,7 @@ void Initialize_RC_File ()
M_printf (i18n (1781, "Your password for UIN %ld:\n"), uin);
else
M_print (i18n (1782, "You need a password for your new UIN.\n"));
- while (!*input)
+ do
{
M_printf ("%s ", i18n (1795, "Password:"));
fflush (stdout);
@@ -113,6 +113,7 @@ void Initialize_RC_File ()
}
free (pwd);
}
+ while (!*input);
#ifdef ENABLE_UTF8
passwd = strdup (c_out (input));
#else
@@ -809,7 +810,7 @@ void Read_RC_File (FILE *rcf)
if (tconn->contacts && (cont = ContactFind (tconn->contacts, 0, uin, NULL, 0)))
{
j = 1;
- if (cont->flags & CONT_ALIAS)
+ if (~cont->flags & CONT_TEMPORARY)
ContactFind (tconn->contacts, 0, uin, ConvToUTF8 (cmd, enc, -1, 0), 1);
else
{
@@ -1036,6 +1037,7 @@ void Read_RC_File (FILE *rcf)
cont = ContactFind (conn->contacts, i, uin, s_sprintf ("%ld", uin), 1);
if (cg != conn->contacts)
ContactAdd (cg, cont);
+ cont->flags |= CONT_TEMPORARY;
}
else
{

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-src_icq_response_c,v 1.5 2003/06/01 08:41:00 david Exp $
--- src/icq_response.c.orig Thu May 8 07:03:34 2003
+++ src/icq_response.c Fri May 23 17:22:16 2003
@@ -478,7 +478,7 @@ void Recv_Message (Connection *conn, Pac
if (len - 1 == strlen (ctext) && ConvIsUTF8 (ctext))
text = strdup (ConvToUTF8 (ctext, ENC_UTF8, -1, 1));
- else if (type == MSG_NORM && len & 1)
+ else if (len - 1 != strlen (ctext) && type == MSG_NORM && len & 1)
text = strdup (ConvToUTF8 (ctext, ENC_UCS2BE, len - 1, 1));
else
text = strdup (c_in_to (ctext, cont));

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST,v 1.12 2003/05/14 08:11:16 david Exp $
@comment $OpenBSD: PLIST,v 1.13 2003/10/06 07:11:14 david Exp $
bin/micq
man/de/man1/micq.1
man/de/man5/micqrc.5
@ -8,20 +8,21 @@ man/es/man7/micq.7
man/fr/man1/micq.1
man/fr/man5/micqrc.5
man/fr/man7/micq.7
man/it/man1/micq.1
man/man1/micq.1
man/man5/micqrc.5
man/man7/micq.7
man/pt_BR/man1/micq.1
man/pt_BR/man5/micqrc.5
man/pt_BR/man7/micq.7
man/ru/man1/micq.1
man/ru/man5/micqrc.5
man/ru/man7/micq.7
man/sr/man1/micq.1
man/sr/man5/micqrc.5
man/sr/man7/micq.7
man/uk/man1/micq.1
man/uk/man7/micq.7
man/ru_RU.KOI8-R/man1/micq.1
man/ru_RU.KOI8-R/man5/micqrc.5
man/ru_RU.KOI8-R/man7/micq.7
man/sr_YU@cyrillic/man1/micq.1
man/sr_YU@cyrillic/man5/micqrc.5
man/sr_YU@cyrillic/man7/micq.7
man/uk_UA/man1/micq.1
man/uk_UA/man7/micq.7
share/micq/C.i18n
share/micq/bg.i18n
share/micq/de.i18n
@ -49,21 +50,23 @@ share/micq/uk.i18n
share/micq/yu.i18n
share/micq/zh_CN.i18n
@dirrm share/micq
@dirrm man/uk/man7
@dirrm man/uk/man1
@dirrm man/uk
@dirrm man/sr/man7
@dirrm man/sr/man5
@dirrm man/sr/man1
@dirrm man/sr
@dirrm man/ru/man7
@dirrm man/ru/man5
@dirrm man/ru/man1
@dirrm man/ru
@dirrm man/uk_UA/man7
@dirrm man/uk_UA/man1
@dirrm man/uk_UA
@dirrm man/sr_YU@cyrillic/man7
@dirrm man/sr_YU@cyrillic/man5
@dirrm man/sr_YU@cyrillic/man1
@dirrm man/sr_YU@cyrillic
@dirrm man/ru_RU.KOI8-R/man7
@dirrm man/ru_RU.KOI8-R/man5
@dirrm man/ru_RU.KOI8-R/man1
@dirrm man/ru_RU.KOI8-R
@dirrm man/pt_BR/man7
@dirrm man/pt_BR/man5
@dirrm man/pt_BR/man1
@dirrm man/pt_BR
@dirrm man/it/man1
@dirrm man/it
@dirrm man/fr/man7
@dirrm man/fr/man5
@dirrm man/fr/man1