Add patches provided by upstream to fix a DoS (bug #175563)
authorOlivier Crête <tester@gentoo.org>
Mon, 23 Apr 2007 18:13:40 +0000 (18:13 +0000)
committerOlivier Crête <tester@gentoo.org>
Mon, 23 Apr 2007 18:13:40 +0000 (18:13 +0000)
Package-Manager: portage-2.1.2.2

net-im/amsn/ChangeLog
net-im/amsn/Manifest
net-im/amsn/amsn-0.94.ebuild [deleted file]
net-im/amsn/amsn-0.95-r4.ebuild [new file with mode: 0644]
net-im/amsn/amsn-0.96-r1.ebuild [moved from net-im/amsn/amsn-0.96.ebuild with 83% similarity]
net-im/amsn/files/amsn-0.95-dos.patch [new file with mode: 0644]
net-im/amsn/files/amsn-0.96-dos.patch [new file with mode: 0644]
net-im/amsn/files/digest-amsn-0.94 [deleted file]
net-im/amsn/files/digest-amsn-0.95-r4 [new file with mode: 0644]
net-im/amsn/files/digest-amsn-0.96-r1 [moved from net-im/amsn/files/digest-amsn-0.96 with 100% similarity]

index d8c3ce6cd1f7443cd171ee7147a49b2eb74fa673..0e26dc756dd20154095fba79af1b835be231e990 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for net-im/amsn
 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-im/amsn/ChangeLog,v 1.63 2007/02/22 02:17:15 peper Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-im/amsn/ChangeLog,v 1.64 2007/04/23 18:13:40 tester Exp $
+
+*amsn-0.96-r1 (23 Apr 2007)
+*amsn-0.95-r4 (23 Apr 2007)
+
+  23 Apr 2007; <tester@gentoo.org> +files/amsn-0.95-dos.patch,
+  +files/amsn-0.96-dos.patch, -amsn-0.94.ebuild, +amsn-0.95-r4.ebuild,
+  -amsn-0.96.ebuild, +amsn-0.96-r1.ebuild:
+  Add patches provided by upstream to fix a DoS (bug #175563)
 
   22 Feb 2007; Piotr Jaroszyński <peper@gentoo.org> ChangeLog:
   Transition to Manifest2.
index 429c73ff05545209bd1640607211fa63cd78bec2..49b82f414c6e1e057916dd8abe8fcd4e70b82edd 100644 (file)
@@ -1,36 +1,53 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX amsn-0.95-dos.patch 3017 RMD160 bf6a9db48be7075af6058c406934666d78cfff4f SHA1 55621b3adf72099ca8ae66e9a515436812b9aa46 SHA256 920279539eee7574d88ca80c79fcd5bf9c61e622a82de28fa09671542a90b42c
+MD5 3c08864b6f51258a811d3fe80b743c13 files/amsn-0.95-dos.patch 3017
+RMD160 bf6a9db48be7075af6058c406934666d78cfff4f files/amsn-0.95-dos.patch 3017
+SHA256 920279539eee7574d88ca80c79fcd5bf9c61e622a82de28fa09671542a90b42c files/amsn-0.95-dos.patch 3017
+AUX amsn-0.96-dos.patch 3036 RMD160 f24c62d5f16ab06560805175ca99b014ce7d316e SHA1 84fd4750a95bb2234d75342edf035b2073a46721 SHA256 c3e9fdb5e9b7ac9168bb9d5e6486c69dbd1d7da817a7ad6d4c9fbd1805e184df
+MD5 13a737d87b6f037c9db69239a83c4219 files/amsn-0.96-dos.patch 3036
+RMD160 f24c62d5f16ab06560805175ca99b014ce7d316e files/amsn-0.96-dos.patch 3036
+SHA256 c3e9fdb5e9b7ac9168bb9d5e6486c69dbd1d7da817a7ad6d4c9fbd1805e184df files/amsn-0.96-dos.patch 3036
 AUX amsn.desktop 273 RMD160 5705a4fdd5ee5769a3a34b0f1eb44c4c89710ebc SHA1 533fd55282a77b77fe3f2fc0cd7e4c3667e18fdf SHA256 f449bafd28cdfd7e30e47219e585487e6bc78e7d2c977416153789c59dde4efc
 MD5 70919744c42f27e436339d14c678f731 files/amsn.desktop 273
 RMD160 5705a4fdd5ee5769a3a34b0f1eb44c4c89710ebc files/amsn.desktop 273
 SHA256 f449bafd28cdfd7e30e47219e585487e6bc78e7d2c977416153789c59dde4efc files/amsn.desktop 273
 DIST amsn-0.95.tar.bz2 4460547 RMD160 7729b10907292eb413d1f5a6488c506f38599173 SHA1 308adb32e477457aa797cd7d1a56a67847fdf702 SHA256 3ded8ea3f5e6570f643d9036d3ffdf3104ab4bab2973ee0ccf933e332d8d46ba
 DIST amsn-0.96.tar.bz2 5036129 RMD160 d4463ab9fb7ec565b5e3d2f0af75d68db8a24fcb SHA1 90023bf0fe840f5aeb6b2e850042a816406072c0 SHA256 51cdf13f477465e8422dc0b15044349535de8337f2ab8aa9c828fda44862d27a
-DIST amsn-0_94.tar.gz 2293874 RMD160 184a5fd1ff08e02420a5e85a96b58be39f64c796 SHA1 da65815df78c34816795120a99fa074f22aed2d3 SHA256 a30df92d1f13ecd790cd77c4699c427b094df62bf7011e743cdd8198a265738c
-EBUILD amsn-0.94.ebuild 2270 RMD160 973f5eaf8cee7cea742399b0212a621e995f10c8 SHA1 6242288a349facbcbea5daecaec48a3d6acb6b3b SHA256 d70a9cc728d84953875795ab61d036bbbba021108932c3f185c725e0b3a51ede
-MD5 96ec236170ab101ecfb213a10d06ae71 amsn-0.94.ebuild 2270
-RMD160 973f5eaf8cee7cea742399b0212a621e995f10c8 amsn-0.94.ebuild 2270
-SHA256 d70a9cc728d84953875795ab61d036bbbba021108932c3f185c725e0b3a51ede amsn-0.94.ebuild 2270
 EBUILD amsn-0.95-r3.ebuild 1665 RMD160 86743804aefb5ec74d43503ee4ed559c9cdef49b SHA1 64970330e055b4b5e8549ad2cde889fd5e144a41 SHA256 31822114a3cf79c64239ddb4e63ed6c45722b7c73db081952c5e9fc673681bc0
 MD5 4d55ab4a284c14c3e9631d5ff6b99173 amsn-0.95-r3.ebuild 1665
 RMD160 86743804aefb5ec74d43503ee4ed559c9cdef49b amsn-0.95-r3.ebuild 1665
 SHA256 31822114a3cf79c64239ddb4e63ed6c45722b7c73db081952c5e9fc673681bc0 amsn-0.95-r3.ebuild 1665
-EBUILD amsn-0.96.ebuild 1258 RMD160 d701d12f953e1c215c8fa4e5bfa73429ed5371f2 SHA1 c0b0f6f6ffd1607a2a9259f50e4324e3ce5daaa8 SHA256 941ad24f19ff150ae1cc97297002ce7abe3c2a7103c534be21ff11555f617648
-MD5 6f381f0ecad4335a0c033804884b73ed amsn-0.96.ebuild 1258
-RMD160 d701d12f953e1c215c8fa4e5bfa73429ed5371f2 amsn-0.96.ebuild 1258
-SHA256 941ad24f19ff150ae1cc97297002ce7abe3c2a7103c534be21ff11555f617648 amsn-0.96.ebuild 1258
-MISC ChangeLog 7276 RMD160 9721a3981ce1daaca330a8fcfb9ca99abf24e94d SHA1 6edc2fd1e830698c6cccfca92b4941ab781085ed SHA256 7cf31b81e3e81e546f8679d18132727fbe5966de703d56e0ad01d2e25e3c59cf
-MD5 49cb698921a9c9efa172eabafc56600b ChangeLog 7276
-RMD160 9721a3981ce1daaca330a8fcfb9ca99abf24e94d ChangeLog 7276
-SHA256 7cf31b81e3e81e546f8679d18132727fbe5966de703d56e0ad01d2e25e3c59cf ChangeLog 7276
+EBUILD amsn-0.95-r4.ebuild 1748 RMD160 8c73b85356f485ff08f43c19c3f3306b119fff0a SHA1 1b65be41ac5f041cb36c50340a437a94e50a74a6 SHA256 a65d1d70f291bf8c01d2d4b2277ba569b15167f371f891a9c77ef3011d44c0ac
+MD5 1f1c3a946936e381f30e6667d129c69d amsn-0.95-r4.ebuild 1748
+RMD160 8c73b85356f485ff08f43c19c3f3306b119fff0a amsn-0.95-r4.ebuild 1748
+SHA256 a65d1d70f291bf8c01d2d4b2277ba569b15167f371f891a9c77ef3011d44c0ac amsn-0.95-r4.ebuild 1748
+EBUILD amsn-0.96-r1.ebuild 1337 RMD160 0b2ee245cff026fb6e9505b1934bb759ccfb2876 SHA1 5a28f0ad24df20256898055af28ea5a3801594f9 SHA256 c63fdde2cc953ac7f62fa6ab9bf353f687407642b58955a6eab495b63239aa4f
+MD5 859f87db6635d50573df29ff013eaf61 amsn-0.96-r1.ebuild 1337
+RMD160 0b2ee245cff026fb6e9505b1934bb759ccfb2876 amsn-0.96-r1.ebuild 1337
+SHA256 c63fdde2cc953ac7f62fa6ab9bf353f687407642b58955a6eab495b63239aa4f amsn-0.96-r1.ebuild 1337
+MISC ChangeLog 7574 RMD160 0901aa3c1af482c3facdd6e9c9dc31eaae288817 SHA1 a53132fadca8f0c5d43ada5d16a02d69de1d0af5 SHA256 458bd5b79f66fc173dd5246b1e9dd6ff37a8e50f21edf134bf9f80f215595851
+MD5 88318c1b1c099177aba2cd6ce29c8fc0 ChangeLog 7574
+RMD160 0901aa3c1af482c3facdd6e9c9dc31eaae288817 ChangeLog 7574
+SHA256 458bd5b79f66fc173dd5246b1e9dd6ff37a8e50f21edf134bf9f80f215595851 ChangeLog 7574
 MISC metadata.xml 228 RMD160 d75298dd38147e4c60991454366d6d9cc14985bb SHA1 9f2cadd0fee8f845e833c429f3e6d3a4e2a207b4 SHA256 0ca6e1352c0e4284a99ed8f0267b6835a5e33e2d8b94a08f1af6ad58fd72d942
 MD5 0e256a8d05feddb125d5bf560873bea8 metadata.xml 228
 RMD160 d75298dd38147e4c60991454366d6d9cc14985bb metadata.xml 228
 SHA256 0ca6e1352c0e4284a99ed8f0267b6835a5e33e2d8b94a08f1af6ad58fd72d942 metadata.xml 228
-MD5 0d04d085b088125f8dedbf055c813c9e files/digest-amsn-0.94 232
-RMD160 8e7544e3939910dbe54a426b603d27b92a78bbfc files/digest-amsn-0.94 232
-SHA256 fee0f983b2b7eb2bf6465d8959e6ed98ad80b3e49f11c5648e54d48c275d0419 files/digest-amsn-0.94 232
 MD5 157de0bec86c01f6e59d0b52a65809bd files/digest-amsn-0.95-r3 235
 RMD160 d3dfccc847527a3fdc644b89bea4e50fc54e9187 files/digest-amsn-0.95-r3 235
 SHA256 68cb399d4470e6bd97c34b91a04ddf8ef816fa6e609472ca1a3173f2f2362dc1 files/digest-amsn-0.95-r3 235
-MD5 1d9ca3daf1f3a4b1ce669e6b4e7db745 files/digest-amsn-0.96 235
-RMD160 a6216860b810911c7d7f66ab3a9d09520d3019de files/digest-amsn-0.96 235
-SHA256 bbfa8c75e53b358a9e91725edb90fe76a3b050c5408aa952bed9e881dd1a7048 files/digest-amsn-0.96 235
+MD5 157de0bec86c01f6e59d0b52a65809bd files/digest-amsn-0.95-r4 235
+RMD160 d3dfccc847527a3fdc644b89bea4e50fc54e9187 files/digest-amsn-0.95-r4 235
+SHA256 68cb399d4470e6bd97c34b91a04ddf8ef816fa6e609472ca1a3173f2f2362dc1 files/digest-amsn-0.95-r4 235
+MD5 1d9ca3daf1f3a4b1ce669e6b4e7db745 files/digest-amsn-0.96-r1 235
+RMD160 a6216860b810911c7d7f66ab3a9d09520d3019de files/digest-amsn-0.96-r1 235
+SHA256 bbfa8c75e53b358a9e91725edb90fe76a3b050c5408aa952bed9e881dd1a7048 files/digest-amsn-0.96-r1 235
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.6 (GNU/Linux)
+
+iD8DBQFGLPfO+IXOQtHLm/gRAqQ2AJ45npeNJfMgHBYWwT2i2EABQqvgxwCeL9d4
+n/zy6LlZPFHKgJviprMyTmA=
+=oqM0
+-----END PGP SIGNATURE-----
diff --git a/net-im/amsn/amsn-0.94.ebuild b/net-im/amsn/amsn-0.94.ebuild
deleted file mode 100644 (file)
index 1835584..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-im/amsn/amsn-0.94.ebuild,v 1.11 2006/11/13 15:05:20 flameeyes Exp $
-
-S="${WORKDIR}/${P/./_}"
-DESCRIPTION="Alvaro's Messenger client for MSN"
-SRC_URI="mirror://sourceforge/${PN}/${P/./_}.tar.gz"
-HOMEPAGE="http://amsn.sourceforge.net"
-
-IUSE="gnome kde imlib"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="alpha amd64 hppa ppc sparc x86"
-
-
-DEPEND=">=dev-lang/tcl-8.3
-       >=dev-lang/tk-8.3
-       imlib? ( media-libs/imlib )"
-
-RDEPEND="${DEPEND}
-       dev-tcltk/tls
-       media-gfx/imagemagick"
-
-src_compile() {
-
-       if use imlib
-       then
-               einfo "Compiling the freedesktop notification plugin"
-               cd ${S}/plugins/traydock
-               econf || die
-               make || die
-       fi
-}
-
-src_install() {
-       dodir /usr/share/amsn/
-       cp -pPR ${S}/* ${D}/usr/share/amsn/
-
-       # Remove all CVS extra stuff
-       # not here in this version
-       # find ${D} -type d -name CVS -exec rm -rf {} \;
-
-       if use gnome
-       then
-               dodir /usr/share/applications
-               cp ${D}/usr/share/amsn/amsn.desktop ${D}/usr/share/applications
-               einfo "Installing GNOME Icons in /usr/share/pixmaps"
-               dodir /usr/share/pixmaps
-               cp -pPR ${S}/icons/32x32/* ${D}/usr/share/pixmaps/
-       fi
-
-
-       if use kde
-       then
-               dodir /usr/share/applnk/Internet
-               cp ${D}/usr/share/amsn/amsn.desktop ${D}/usr/share/applnk/Internet/
-               einfo "Installing KDE Icons in default theme"
-               dodir /usr/share/pixmaps
-               cp -pPR ${S}/icons/32x32/* ${D}/usr/share/pixmaps/
-       fi
-
-       if use imlib
-       then
-               einfo "Installing the freedesktop notification plugin"
-               dodir /usr/lib/amsn/plugins/traydock
-               mv ${D}/usr/share/amsn/plugins/traydock/libtray.so ${D}/usr/lib/amsn/plugins/traydock/
-               rm -rf  ${D}/usr/share/amsn/plugins/traydock/
-               ln -s ../../../lib/amsn/plugins/traydock/ ${D}/usr/share/amsn/plugins/
-       else
-               rm -rf ${D}/usr/share/amsn/plugins/traydock
-       fi
-
-       rm -rf ${D}/usr/share/amsn/plugins/winflash
-       rm -rf ${D}/usr/share/amsn/plugins/QuickTimeTcl3.1
-       rm -rf ${D}/usr/share/amsn/plugins/applescript
-       rm -rf ${D}/usr/share/amsn/plugins/tclCarbonNotification
-       rm -rf ${D}/usr/share/amsn/plugins/tclAE2.0
-       rm -rf ${D}/usr/share/amsn/utils/
-
-       dodir /usr/bin/
-       ln -s ../share/amsn/amsn ${D}/usr/bin/amsn
-
-       cd ${D}/usr/share/amsn
-       dodoc TODO README FAQ CREDITS HELP
-       rm -f TODO
-}
diff --git a/net-im/amsn/amsn-0.95-r4.ebuild b/net-im/amsn/amsn-0.95-r4.ebuild
new file mode 100644 (file)
index 0000000..cba33d2
--- /dev/null
@@ -0,0 +1,71 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-im/amsn/amsn-0.95-r4.ebuild,v 1.1 2007/04/23 18:13:40 tester Exp $
+
+inherit eutils fdo-mime
+
+MY_P=${P/_rc/RC}
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Alvaro's Messenger client for MSN"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+HOMEPAGE="http://amsn.sourceforge.net"
+
+RESTRICT="test"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~sparc ~x86"
+IUSE=""
+
+DEPEND=">=dev-lang/tcl-8.4
+       >=dev-lang/tk-8.4
+       >=dev-tcltk/tls-1.4.1"
+
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+       unpack ${A}
+
+       cd ${S}
+       epatch ${FILESDIR}/${P}-dos.patch
+}
+
+src_install() {
+       dodir /usr/share/amsn/
+
+       sed -i -e 's:Icon=msn.png:Icon=amsn:' "${S}"/amsn.desktop
+       domenu amsn.desktop
+
+       for res in 32 48 64 96 128; do
+               insinto /usr/share/icons/hicolor/${res}x${res}/apps
+               newins ${S}/icons/${res}x${res}/aMSN_${res}.png amsn.png
+       done
+
+       insinto /usr/share/pixmaps
+       newins ${S}/icons/32x32/aMSN_32.png amsn.png
+
+       dodoc AGREEMENT TODO README FAQ CREDITS docs/*
+
+       rm -rf GNUGPL AGREEMENT TODO README FAQ CREDITS HELP amsn.desktop icons \
+               utils/windows utils/macosx docs lang/LANG-HOWTO debian
+
+       insinto /usr/share/amsn/
+       insopts -m644
+       doins -r "${S}"/*
+
+       dosym ../share/amsn/amsn /usr/bin/amsn
+       dosym ../share/amsn/amsn-remote /usr/bin/amsn-remote
+       dosym ../share/amsn/amsn-remote-CLI /usr/bin/amsn-remote-CLI
+       chmod +x "${D}"/usr/share/amsn/amsn
+       chmod +x "${D}"/usr/share/amsn/amsn-remote
+       chmod +x "${D}"/usr/share/amsn/amsn-remote-CLI
+
+}
+
+pkg_postinst() {
+       fdo-mime_desktop_database_update
+       fdo-mime_mime_database_update
+       ewarn "You might have to remove ~/.amsn prior to running as user if amsn hangs on start-up."
+}
+
similarity index 83%
rename from net-im/amsn/amsn-0.96.ebuild
rename to net-im/amsn/amsn-0.96-r1.ebuild
index b5aee73b73e9f1b2766439c1b47c792420bbeacd..705e99bda906a73b1c16244e1dbc7cfa260c4cf1 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2006 Gentoo Foundation
+# Copyright 1999-2007 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-im/amsn/amsn-0.96.ebuild,v 1.3 2006/12/21 20:16:01 tester Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-im/amsn/amsn-0.96-r1.ebuild,v 1.1 2007/04/23 18:13:40 tester Exp $
 
 inherit eutils fdo-mime gnome2-utils
 
@@ -27,6 +27,13 @@ DEPEND=">=dev-lang/tcl-8.4
 
 RDEPEND="${DEPEND}"
 
+src_unpack() {
+       unpack ${A}
+
+       cd ${S}
+       epatch ${FILESDIR}/${P}-dos.patch
+}
+
 src_install() {
        make rpm-install INSTALL_PREFIX=${D}
 
diff --git a/net-im/amsn/files/amsn-0.95-dos.patch b/net-im/amsn/files/amsn-0.95-dos.patch
new file mode 100644 (file)
index 0000000..dfd211e
--- /dev/null
@@ -0,0 +1,103 @@
+diff -u amsn-0.95_OLD/config.tcl amsn-0.95/config.tcl
+--- amsn-0.95_OLD/config.tcl   2005-12-22 03:06:24.000000000 +0100
++++ amsn-0.95/config.tcl       2007-04-23 19:37:54.000000000 +0200
+@@ -1324,7 +1324,12 @@
+       while { $tries < 5 } {
+               set Port [GetRandomProfilePort]
+               status_log "LockProfile: Got random port $Port\n" blue
+-              if { [catch {socket -server lockSvrNew -myaddr localhost $Port} newlockSock] == 0  } {
++              if { [::config::getKey enableremote] == 1} {
++                      set cmd "socket -server lockSvrNew $Port"
++              } else {
++                      set cmd "socket -myaddr 127.0.0.1 -server lockSvrNew $Port"
++              }
++              if { [catch {eval $cmd} newlockSock] == 0  } {
+                       # Got one
+                       LoginList changelock 0 $email $Port
+                       set lockSock $newlockSock
+diff -u amsn-0.95_OLD/remote.tcl amsn-0.95/remote.tcl
+--- amsn-0.95_OLD/remote.tcl   2005-12-22 03:06:24.000000000 +0100
++++ amsn-0.95/remote.tcl       2007-04-23 19:40:41.000000000 +0200
+@@ -9,6 +9,7 @@
+       set remote_auth 0
+       set remote_sock_lock 0
+       set remote_sock 0
++      set remote_authtimer 0
+ }
+ proc remote_check_online { } {
+@@ -20,6 +21,11 @@
+       }
+ }
++proc remote_touchauthtimer {} {
++      global remote_authtimer
++      set remote_authtimer 0
++}
++
+ namespace eval ::remote {
+       # connect 
+@@ -235,6 +241,11 @@
+ proc read_remote { command sock } {
+       global remote_auth remote_sock
++      if { [::config::getKey enableremote] != 1} {
++              close $sock
++              return
++      }
++
+       if { "$remote_sock" != "$sock" } {
+               set remote_temp_sock $remote_sock
+               init_remote $sock
+@@ -247,6 +258,9 @@
+       if {$command != ""} {
++              #AIM-FIX: Make command a real quoted list, or it will raise
++              #errors when containing braces
++              set command [split $command]
+               if { $remote_auth == 0 } {
+                       authenticate "$command" "$sock"
+               } elseif { [catch {eval "::remote::$command" } res] } {
+@@ -264,26 +278,27 @@
+ }
+ proc authenticate { command sock } {
+-      global remotemd5key remote_auth remote_sock_lock
++      global remotemd5key remote_auth remote_sock_lock remote_authtimer userchatto
++
++      if {$remote_authtimer} {
++              close $sock
++              return
++      }
+       if { $command == "auth" } {
+               set remotemd5key "[md5keygen]"
+               write_remote "auth $remotemd5key"
+       } elseif { [lindex $command 0] == "auth2" && [info exists remotemd5key] } {
+               if { "[lindex $command 1]" ==  "[::md5::hmac $remotemd5key [list [::config::getKey remotepassword]]]" } {
+-                      if { [::config::getKey enableremote] == 1 } { 
+-                              set remote_auth 1
+-                              set remote_sock_lock $sock
+-                              write_remote "Authentication successfull"
+-                      } else {
+-                              write_remote "User disabled remote control"
+-                      } 
++                      set remote_auth 1
++                      set remote_sock_lock $sock
++                      catch { unset userchatto }
++                      write_remote "Authentication successfull"
+               } else {
+-                      if { [::config::getKey enableremote] == 1 } { 
+-                              write_remote "Authentication failed"
+-                      } else { 
+-                              write_remote "User disabled remote control"
+-                      }       
++                      set remote_authtimer 1
++                      after 3000 [list remote_touchauthtimer]
++                      vwait remote_authtimer
++                      write_remote "Authentication failed"
+               }       
+               unset remotemd5key
+       } else {
\ No newline at end of file
diff --git a/net-im/amsn/files/amsn-0.96-dos.patch b/net-im/amsn/files/amsn-0.96-dos.patch
new file mode 100644 (file)
index 0000000..398248d
--- /dev/null
@@ -0,0 +1,105 @@
+diff -u amsn-0.96_OLD/config.tcl amsn-0.96/config.tcl
+--- amsn-0.96_OLD/config.tcl   2006-09-06 19:08:18.000000000 +0200
++++ amsn-0.96/config.tcl       2007-04-23 19:43:12.000000000 +0200
+@@ -1357,7 +1357,12 @@
+       while { $tries < 5 } {
+               set Port [GetRandomProfilePort]
+               status_log "LockProfile: Got random port $Port\n" blue
+-              if { [catch {socket -server lockSvrNew $Port} newlockSock] == 0  } {
++              if { [::config::getKey enableremote] == 1} {
++                      set cmd "socket -server lockSvrNew $Port"
++              } else {
++                      set cmd "socket -myaddr 127.0.0.1 -server lockSvrNew $Port"
++              }
++              if { [catch {eval $cmd} newlockSock] == 0  } {
+                       LoginList changelock 0 $email $Port
+                       set lockSock $newlockSock
+                       break
+diff -u amsn-0.96_OLD/remote.tcl amsn-0.96/remote.tcl
+--- amsn-0.96_OLD/remote.tcl   2006-10-08 05:13:58.000000000 +0200
++++ amsn-0.96/remote.tcl       2007-04-23 19:50:30.000000000 +0200
+@@ -9,6 +9,7 @@
+       set remote_auth 0
+       set remote_sock_lock 0
+       set remote_sock 0
++      set remote_authtimer 0
+ }
+ proc remote_check_online { } {
+@@ -20,6 +21,11 @@
+       }
+ }
++proc remote_touchauthtimer {} {
++      global remote_authtimer
++      set remote_authtimer 0
++}
++
+ namespace eval ::remote {
+       # connect 
+@@ -240,6 +246,11 @@
+ proc read_remote { command sock } {
+       global remote_auth remote_sock
++      if { [::config::getKey enableremote] != 1} {
++              close $sock
++              return
++      }
++
+       if { "$remote_sock" != "$sock" } {
+               set remote_temp_sock $remote_sock
+               init_remote $sock
+@@ -252,6 +263,9 @@
+       if {$command != ""} {
++              #AIM-FIX: Make command a real quoted list, or it will raise
++              #errors when containing braces
++              set command [split $command]
+               if { $remote_auth == 0 } {
+                       authenticate "$command" "$sock"
+               } elseif { [catch {eval "::remote::$command" } res] } {
+@@ -269,28 +283,28 @@
+ }
+ proc authenticate { command sock } {
+-      global remotemd5key remote_auth remote_sock_lock
++      global remotemd5key remote_auth remote_sock_lock remote_authtimer
+       global userchatto
++      if {$remote_authtimer} {
++              close $sock
++              return
++      }
++
+       if { $command == "auth" } {
+               set remotemd5key "[md5keygen]"
+               write_remote "auth $remotemd5key"
+       } elseif { [lindex $command 0] == "auth2" && [info exists remotemd5key] } {
+               if { "[lindex $command 1]" ==  "[::md5::hmac $remotemd5key [list [::config::getKey remotepassword]]]" } {
+-                      if { [::config::getKey enableremote] == 1 } { 
+-                              set remote_auth 1
+-                              set remote_sock_lock $sock
+-                              catch { unset userchatto }
+-                              write_remote "Authentication successfull"
+-                      } else {
+-                              write_remote "User disabled remote control"
+-                      } 
++                      set remote_auth 1
++                      set remote_sock_lock $sock
++                      catch { unset userchatto }
++                      write_remote "Authentication successfull"
+               } else {
+-                      if { [::config::getKey enableremote] == 1 } { 
+-                              write_remote "Authentication failed"
+-                      } else { 
+-                              write_remote "User disabled remote control"
+-                      }       
++                      set remote_authtimer 1
++                      after 3000 [list remote_touchauthtimer]
++                      vwait remote_authtimer
++                      write_remote "Authentication failed"
+               }       
+               unset remotemd5key
+       } else {
\ No newline at end of file
diff --git a/net-im/amsn/files/digest-amsn-0.94 b/net-im/amsn/files/digest-amsn-0.94
deleted file mode 100644 (file)
index 434a1a7..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 7b7db9225342bb6c59b873ec90882e22 amsn-0_94.tar.gz 2293874
-RMD160 184a5fd1ff08e02420a5e85a96b58be39f64c796 amsn-0_94.tar.gz 2293874
-SHA256 a30df92d1f13ecd790cd77c4699c427b094df62bf7011e743cdd8198a265738c amsn-0_94.tar.gz 2293874
diff --git a/net-im/amsn/files/digest-amsn-0.95-r4 b/net-im/amsn/files/digest-amsn-0.95-r4
new file mode 100644 (file)
index 0000000..5c82610
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 d0ea6e858601133c5abbfbbb5c84c8da amsn-0.95.tar.bz2 4460547
+RMD160 7729b10907292eb413d1f5a6488c506f38599173 amsn-0.95.tar.bz2 4460547
+SHA256 3ded8ea3f5e6570f643d9036d3ffdf3104ab4bab2973ee0ccf933e332d8d46ba amsn-0.95.tar.bz2 4460547