On Sun, 2 Feb 2014 06:15:25 -0500,
Brad Smith <[email protected]> wrote:

> It has been just shy of a year since the last release of Pidgin
> but this one is a real doozy. There are fixes for 16 issues with
> CVE assigned.
> 
> https://developer.pidgin.im/wiki/ChangeLog
> 
> Any testing welcome.

I tried and got (after a `make update && make clean`) :

*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:3141
'wantlib-args') 
*** Error 1 in .(/usr/ports/infrastructure/mk/bsd.port.mk:1878
'/usr/ports/packages/amd64/all/pidgin-2.10.8.tgz') 
*** Error 1 in .(/usr/ports/infrastructure/mk/bsd.port.mk:2426
'_internal-package') 
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:1900
'/usr/ports/update/amd64/pidgin-2.10.8') 
*** Error 1 in /usr/ports/net/pidgin
(/usr/ports/infrastructure/mk/bsd.port.mk:2406 'update')

> 
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/net/pidgin/Makefile,v
> retrieving revision 1.120
> diff -u -p -u -p -r1.120 Makefile
> --- Makefile  31 Oct 2013 21:12:13 -0000      1.120
> +++ Makefile  1 Feb 2014 08:17:21 -0000
> @@ -6,7 +6,7 @@ COMMENT-main= multi-protocol instant mes
>  COMMENT-finch=       multi-protocol instant messaging client,
> console client COMMENT-libpurple= multi-protocol instant messaging
> library 
> -VERSION=     2.10.7
> +VERSION=     2.10.8
>  DISTNAME=    pidgin-${VERSION}
>  PKGNAME-main=        pidgin-${VERSION}
>  PKGNAME-finch=       finch-${VERSION}
> @@ -19,14 +19,11 @@ CATEGORIES=       net
>  MASTER_SITES=        ${MASTER_SITE_SOURCEFORGE:=pidgin/}
>  EXTRACT_SUFX=        .tar.bz2
>  
> -REVISION-main=               1
> -REVISION-libpurple=  1
> -
>  SHARED_LIBS= jabber          0.0 \
>               oscar           0.0 \
> -             purple          6.1 \
> -             purple-client   6.1 \
> -             gnt             6.1 \
> +             purple          6.2 \
> +             purple-client   6.2 \
> +             gnt             6.2 \
>               ymsg            0.0
>  
>  HOMEPAGE=    http://pidgin.im/
> @@ -38,10 +35,10 @@ PERMIT_PACKAGE_CDROM=     Yes
>  
>  WANTLIB=     c dbus-1 dbus-glib-1 ffi gio-2.0 glib-2.0
> gmodule-2.0 \ gobject-2.0 gthread-2.0 idn m pcre pthread util xml2 z
> -WANTLIB-main=        GL X11 Xau Xdmcp ICE SM Xcomposite Xcursor
> Xdamage Xext \
> -             Xfixes Xi Xinerama Xrandr Xrender Xss Xxf86vm
> atk-1.0 cairo \
> -             drm expat fontconfig freetype gdk-x11-2.0
> gdk_pixbuf-2.0 \
> -             gtk-x11-2.0 pango-1.0 pangocairo-1.0 pangoft2-1.0
> pixman-1 \ +WANTLIB-main=     X11 ICE SM Xcomposite Xcursor
> Xdamage Xext Xfixes Xi \
> +             Xinerama Xrandr Xrender Xss atk-1.0 cairo expat
> fontconfig \
> +             freetype gdk-x11-2.0 gdk_pixbuf-2.0 graphite2
> gtk-x11-2.0 \
> +             harfbuzz pango-1.0 pangocairo-1.0 pangoft2-1.0
> pixman-1 \ png pthread-stubs purple stdc++ xcb-render xcb-shm xcb \
>               ${WANTLIB}
>  WANTLIB-libpurple= crypto gadu>=5 meanwhile ssl silc>=7
> silcclient>=5 \ @@ -77,7 +74,7 @@ MODGCONF2_LIBDEP=   No
>  SEPARATE_BUILD=      Yes
>  USE_GMAKE=   Yes
>  CONFIGURE_STYLE= autoconf
> -AUTOCONF_VERSION= 2.68
> +AUTOCONF_VERSION= 2.69
>  CONFIGURE_ARGS+= --disable-avahi \
>                --disable-cap \
>                --disable-doxygen \
> Index: distinfo
> ===================================================================
> RCS file: /home/cvs/ports/net/pidgin/distinfo,v
> retrieving revision 1.45
> diff -u -p -u -p -r1.45 distinfo
> --- distinfo  8 Mar 2013 01:03:09 -0000       1.45
> +++ distinfo  1 Feb 2014 07:39:10 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (pidgin-2.10.7.tar.bz2) =
> 66MplOyiDRzySkJhsFmy3nGh7C3Qkm6QQHSw20n38ZI= -SIZE
> (pidgin-2.10.7.tar.bz2) = 10069279 +SHA256 (pidgin-2.10.8.tar.bz2) =
> tjM2fjWI/z5hXWjoEjAt/b4y5zaTy+QqDYJ7eu16gic= +SIZE
> (pidgin-2.10.8.tar.bz2) = 10050465 Index: patches/patch-configure_ac
> ===================================================================
> RCS file: /home/cvs/ports/net/pidgin/patches/patch-configure_ac,v
> retrieving revision 1.32
> diff -u -p -u -p -r1.32 patch-configure_ac
> --- patches/patch-configure_ac        8 Mar 2013 01:03:09
> -0000 1.32 +++ patches/patch-configure_ac     1 Feb 2014
> 07:56:21 -0000 @@ -1,6 +1,6 @@
>  $OpenBSD: patch-configure_ac,v 1.32 2013/03/08 01:03:09 brad Exp $
> ---- configure.ac.orig        Mon Feb 11 04:16:51 2013
> -+++ configure.ac     Wed Feb 13 14:55:45 2013
> +--- configure.ac.orig        Wed Jan 22 02:39:49 2014
> ++++ configure.ac     Sat Feb  1 02:56:17 2014
>  @@ -1334,7 +1334,6 @@ if test "x$GCC" = "xyes"; then
>       fi
>   
> @@ -9,7 +9,7 @@ $OpenBSD: patch-configure_ac,v 1.32 2013
>   fi
>   
>   if test "x$SUNCC" = "xyes"; then
> -@@ -1703,6 +1702,11 @@ AM_CONDITIONAL(INSTALL_SSL_CERTIFICATES, test
> "x$SSL_C +@@ -1723,6 +1722,11 @@
> AM_CONDITIONAL(INSTALL_SSL_CERTIFICATES, test "x$SSL_C 
>   dnl These two are inverses of each other <-- stolen from evolution!
>   
> @@ -21,7 +21,7 @@ $OpenBSD: patch-configure_ac,v 1.32 2013
>   AC_ARG_ENABLE(gnutls,
>       [  --enable-gnutls=[yes,no]  attempt to use GnuTLS for SSL
> support [default=yes]], [enable_gnutls="$enableval"],
> -@@ -1713,10 +1717,98 @@ AC_ARG_ENABLE(nss,
> +@@ -1733,10 +1737,98 @@ AC_ARG_ENABLE(nss,
>       [enable_nss="$enableval"],
>       [enable_nss="yes"])
>   
> @@ -122,7 +122,7 @@ $OpenBSD: patch-configure_ac,v 1.32 2013
>   dnl #
>   if test "x$enable_gnutls" != "xno"; then
>       enable_gnutls="no"
> -@@ -2114,17 +2206,32 @@ fi
> +@@ -2134,17 +2226,32 @@ fi
>   
>   AM_CONDITIONAL(USE_NSS, test "x$enable_nss" = "xyes")
>   
> Index: patches/patch-libpurple_plugins_ssl_Makefile_in
> ===================================================================
> RCS
> file: 
> /home/cvs/ports/net/pidgin/patches/patch-libpurple_plugins_ssl_Makefile_in,v
> retrieving revision 1.28 diff -u -p -u -p -r1.28
> patch-libpurple_plugins_ssl_Makefile_in ---
> patches/patch-libpurple_plugins_ssl_Makefile_in       8 Mar 2013
> 01:03:09 -0000        1.28 +++
> patches/patch-libpurple_plugins_ssl_Makefile_in       1 Feb 2014
> 07:56:21 -0000 @@ -1,6 +1,6 @@ $OpenBSD:
> patch-libpurple_plugins_ssl_Makefile_in,v 1.28 2013/03/08 01:03:09
> brad Exp $ ---- libpurple/plugins/ssl/Makefile.in.orig        Mon Feb
> 11 04:17:19 2013 -+++ libpurple/plugins/ssl/Makefile.in       Wed
> Feb 13 14:55:46 2013 +---
> libpurple/plugins/ssl/Makefile.in.orig        Wed Jan 22 02:40:34
> 2014 ++++ libpurple/plugins/ssl/Makefile.in   Sat Feb  1
> 02:56:17 2014 @@ -92,6 +92,20 @@ am__uninstall_files_from_dir = { \
> am__installdirs = "$(DESTDIR)$(plugindir)" LTLIBRARIES =
> $(plugin_LTLIBRARIES) @@ -40,7 +40,7 @@ $OpenBSD:
> patch-libpurple_plugins_ssl_Ma GNUTLS_CFLAGS = @GNUTLS_CFLAGS@
> GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ -@@ -434,6 +450,7 @@
> EXTRA_DIST = \ +@@ -437,6 +453,7 @@ EXTRA_DIST = \
>   
>   plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION)
>   ssl_la_LDFLAGS = -module -avoid-version
> @@ -48,7 +48,7 @@ $OpenBSD: patch-libpurple_plugins_ssl_Ma
>   ssl_gnutls_la_LDFLAGS = -module -avoid-version
>   ssl_nss_la_LDFLAGS = -module -avoid-version
>   @PLUGINS_TRUE@@USE_GNUTLS_FALSE@@USE_NSS_FALSE@plugin_LTLIBRARIES =
> \ -@@ -447,19 +464,25 @@ ssl_nss_la_LDFLAGS = -module -avoid-version
> +@@ -450,19 +467,25 @@ ssl_nss_la_LDFLAGS = -module -avoid-version
>   @PLUGINS_TRUE@@USE_GNUTLS_TRUE@@USE_NSS_FALSE@
> ssl.la           \
> @PLUGINS_TRUE@@USE_GNUTLS_TRUE@@USE_NSS_FALSE@        ssl-gnutls.la 
> @@ -74,7 +74,7 @@ $OpenBSD: patch-libpurple_plugins_ssl_Ma
>   @PLUGINS_TRUE@ssl_gnutls_la_LIBADD = $(GLIB_LIBS) $(GNUTLS_LIBS)
>   @PLUGINS_TRUE@ssl_nss_la_LIBADD = $(GLIB_LIBS) $(NSS_LIBS)
>   AM_CPPFLAGS = \
> -@@ -471,6 +494,7 @@ AM_CPPFLAGS = \
> +@@ -474,6 +497,7 @@ AM_CPPFLAGS = \
>       $(GLIB_CFLAGS) \
>       $(PLUGIN_CFLAGS)
>   
> @@ -82,7 +82,7 @@ $OpenBSD: patch-libpurple_plugins_ssl_Ma
>   ssl_gnutls_la_CFLAGS = $(AM_CPPFLAGS) $(GNUTLS_CFLAGS)
>   ssl_nss_la_CFLAGS = $(AM_CPPFLAGS) $(NSS_CFLAGS)
>   all: all-am
> -@@ -539,6 +563,8 @@ clean-pluginLTLIBRARIES:
> +@@ -542,6 +566,8 @@ clean-pluginLTLIBRARIES:
>         echo "rm -f \"$${dir}/so_locations\""; \
>         rm -f "$${dir}/so_locations"; \
>       done
> @@ -91,7 +91,7 @@ $OpenBSD: patch-libpurple_plugins_ssl_Ma
>   ssl-gnutls.la: $(ssl_gnutls_la_OBJECTS)
> $(ssl_gnutls_la_DEPENDENCIES) $(EXTRA_ssl_gnutls_la_DEPENDENCIES)
> $(AM_V_CCLD)$(ssl_gnutls_la_LINK) $(am_ssl_gnutls_la_rpath)
> $(ssl_gnutls_la_OBJECTS) $(ssl_gnutls_la_LIBADD) $(LIBS) ssl-nss.la:
> $(ssl_nss_la_OBJECTS) $(ssl_nss_la_DEPENDENCIES)
> $(EXTRA_ssl_nss_la_DEPENDENCIES) -@@ -553,6 +579,7 @@
> distclean-compile: +@@ -556,6 +582,7 @@ distclean-compile: -rm -f
> *.tab.c @AMDEP_TRUE@@am__include@
> @am__quote@./$(DEPDIR)/ssl.Plo@am__quote@ @@ -99,7 +99,7 @@ $OpenBSD:
> patch-libpurple_plugins_ssl_Ma @AMDEP_TRUE@@am__include@
> @am__quote@./$(DEPDIR)/ssl_gnutls_la-ssl-gnutls.Plo@am__quote@
> @AMDEP_TRUE@@am__include@
> @am__quote@./$(DEPDIR)/ssl_nss_la-ssl-nss.Plo@am__quote@ -@@ -576,6
> +603,13 @@ distclean-compile: +@@ -579,6 +606,13 @@ distclean-compile:
>   @AMDEP_TRUE@@am__fastdepCC_FALSE@   $(AM_V_CC)source='$<'
> object='$@' libtool=yes @AMDEPBACKSLASH@
> @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR)
> $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@
> $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< Index:
> patches/patch-libpurple_protocols_silc_silc_c
> ===================================================================
> RCS
> file: 
> /home/cvs/ports/net/pidgin/patches/patch-libpurple_protocols_silc_silc_c,v
> retrieving revision 1.8 diff -u -p -u -p -r1.8
> patch-libpurple_protocols_silc_silc_c ---
> patches/patch-libpurple_protocols_silc_silc_c 13 Mar 2011
> 17:27:11 -0000        1.8 +++
> patches/patch-libpurple_protocols_silc_silc_c 1 Feb 2014
> 07:56:28 -0000 @@ -1,6 +1,6 @@ $OpenBSD:
> patch-libpurple_protocols_silc_silc_c,v 1.8 2011/03/13 17:27:11
> jasper Exp $ ---- libpurple/protocols/silc/silc.c.orig        Thu Mar
> 10 21:20:28 2011 -+++ libpurple/protocols/silc/silc.c Fri Mar
> 11 18:58:56 2011 +--- libpurple/protocols/silc/silc.c.orig    Wed
> Jan 22 02:39:51 2014 ++++ libpurple/protocols/silc/silc.c     Sat
> Feb  1 02:56:15 2014 @@ -674,30 +674,12 @@
> silcpurple_close(PurpleConnection *gc) SilcPurpleTask task; #endif /*
> __SILC_TOOLKIT_VERSION */ @@ -33,7 +33,7 @@ $OpenBSD:
> patch-libpurple_protocols_silc if (sg->conn)
> silc_client_close_connection(sg->client, sg->conn); -@@ -1846,9
> +1828,6 @@ static PurpleCmdRet silcpurple_cmd_quit(PurpleConversa +@@
> -1845,9 +1827,6 @@ static PurpleCmdRet
> silcpurple_cmd_quit(PurpleConversa { PurpleConnection *gc; SilcPurple
> sg; @@ -43,7 +43,7 @@ $OpenBSD: patch-libpurple_protocols_silc
>   
>       gc = purple_conversation_get_gc(conv);
>   
> -@@ -1860,23 +1839,8 @@ static PurpleCmdRet
> silcpurple_cmd_quit(PurpleConversa +@@ -1859,23 +1838,8 @@ static
> PurpleCmdRet silcpurple_cmd_quit(PurpleConversa if (sg == NULL)
>               return PURPLE_CMD_RET_FAILED;
>   
> Index: patches/patch-pidgin_gtkdialogs_c
> ===================================================================
> RCS
> file: /home/cvs/ports/net/pidgin/patches/patch-pidgin_gtkdialogs_c,v
> retrieving revision 1.27 diff -u -p -u -p -r1.27
> patch-pidgin_gtkdialogs_c ---
> patches/patch-pidgin_gtkdialogs_c     8 Mar 2013 01:03:09
> -0000 1.27 +++ patches/patch-pidgin_gtkdialogs_c      1 Feb
> 2014 07:56:21 -0000 @@ -1,7 +1,7 @@ $OpenBSD:
> patch-pidgin_gtkdialogs_c,v 1.27 2013/03/08 01:03:09 brad Exp $ ----
> pidgin/gtkdialogs.c.orig      Mon Feb 11 04:16:53 2013 -+++
> pidgin/gtkdialogs.c   Wed Feb 13 14:55:46 2013 -@@ -631,6
> +631,12 @@ g_string_append(str, "<br/>  <b>Library Support</b><br
> +--- pidgin/gtkdialogs.c.orig Wed Jan 22 02:39:51 2014 ++++
> pidgin/gtkdialogs.c   Sat Feb  1 02:56:15 2014 +@@ -637,6
> +637,12 @@ g_string_append(str, "<br/>  <b>Library Support</b><br
> g_string_append(str, "    <b>GtkSpell:</b> Disabled<br/>"); #endif
>   
> Index: patches/patch-pidgin_gtkmain_c
> ===================================================================
> RCS file: patches/patch-pidgin_gtkmain_c
> diff -N patches/patch-pidgin_gtkmain_c
> --- patches/patch-pidgin_gtkmain_c    13 Mar 2011 17:27:11
> -0000 1.12 +++ /dev/null      1 Jan 1970 00:00:00 -0000
> @@ -1,20 +0,0 @@
> -$OpenBSD: patch-pidgin_gtkmain_c,v 1.12 2011/03/13 17:27:11 jasper
> Exp $ ---- pidgin/gtkmain.c.orig      Thu Mar 10 21:20:28 2011
> -+++ pidgin/gtkmain.c Fri Mar 11 18:58:56 2011
> -@@ -78,6 +78,7 @@
> - 
> - 
> - #ifdef HAVE_SIGNAL_H
> -+int real_status;
> - 
> - /*
> -  * Lists of signals we wish to catch and those we wish to ignore.
> -@@ -151,6 +152,8 @@ clean_pid(void)
> -     do {
> -             pid = waitpid(-1, &status, WNOHANG);
> -     } while (pid != 0 && pid != (pid_t)-1);
> -+
> -+    real_status = status;
> - 
> -     if ((pid == (pid_t) - 1) && (errno != ECHILD)) {
> -             char errmsg[BUFSIZ];
> Index: patches/patch-pidgin_gtknotify_c
> ===================================================================
> RCS file: patches/patch-pidgin_gtknotify_c
> diff -N patches/patch-pidgin_gtknotify_c
> --- patches/patch-pidgin_gtknotify_c  22 Jul 2011 06:44:45
> -0000 1.13 +++ /dev/null      1 Jan 1970 00:00:00 -0000
> @@ -1,20 +0,0 @@
> -$OpenBSD: patch-pidgin_gtknotify_c,v 1.13 2011/07/22 06:44:45 jasper
> Exp $ ---- pidgin/gtknotify.c.orig    Wed Jun 22 03:32:30 2011
> -+++ pidgin/gtknotify.c       Wed Jul 13 01:09:31 2011
> -@@ -1222,7 +1222,16 @@ uri_command(const char *command, gboolean
> sync)
> -                     g_error_free(error);
> -             }
> -             else
> -+#ifdef HAVE_SIGNAL_H
> -+            {
> -+                    extern int real_status;
> -+
> -+                    if (WIFEXITED(real_status))
> -+                            ret = WEXITSTATUS(real_status);
> -+            }
> -+#else
> -                     ret = status;
> -+#endif
> -     }
> -     else
> -     {
> Index: pkg/PLIST-libpurple
> ===================================================================
> RCS file: /home/cvs/ports/net/pidgin/pkg/PLIST-libpurple,v
> retrieving revision 1.20
> diff -u -p -u -p -r1.20 PLIST-libpurple
> --- pkg/PLIST-libpurple       8 Mar 2013 01:03:09 -0000       1.20
> +++ pkg/PLIST-libpurple       1 Feb 2014 08:09:53 -0000
> @@ -131,17 +131,16 @@ share/purple/ca-certs/CAcert_Class3.pem
>  share/purple/ca-certs/CAcert_Root.pem
>  share/purple/ca-certs/Deutsche_Telekom_Root_CA_2.pem
>  share/purple/ca-certs/DigiCertHighAssuranceCA-3.pem
> +share/purple/ca-certs/DigiCertHighAssuranceEVRootCA.pem
> +share/purple/ca-certs/Entrust.net_2048.pem
>  share/purple/ca-certs/Entrust.net_Secure_Server_CA.pem
>  share/purple/ca-certs/Equifax_Secure_CA.pem
>  share/purple/ca-certs/Equifax_Secure_Global_eBusiness_CA-1.pem
>  share/purple/ca-certs/GTE_CyberTrust_Global_Root.pem
>  share/purple/ca-certs/Go_Daddy_Class_2_CA.pem
> -share/purple/ca-certs/Microsoft_Internet_Authority.pem
>  share/purple/ca-certs/Microsoft_Internet_Authority_2010.pem
> -share/purple/ca-certs/Microsoft_Secure_Server_Authority.pem
>  share/purple/ca-certs/Microsoft_Secure_Server_Authority_2010.pem
>  share/purple/ca-certs/StartCom_Certification_Authority.pem
> -share/purple/ca-certs/StartCom_Free_SSL_CA.pem
>  share/purple/ca-certs/Thawte_Premium_Server_CA.pem
>  share/purple/ca-certs/Thawte_Primary_Root_CA.pem
>  share/purple/ca-certs/ValiCert_Class_2_VA.pem
> @@ -151,7 +150,6 @@ share/purple/ca-certs/VeriSign_Class_3_P
>  
> share/purple/ca-certs/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5_2.pem
>  share/purple/ca-certs/VeriSign_International_Server_Class_3_CA.pem
>  share/purple/ca-certs/Verisign_Class3_Primary_CA.pem
> -share/purple/ca-certs/Verisign_RSA_Secure_Server_CA.pem
>  @unexec GCONF_CONFIG_SOURCE=`%D/bin/gconftool-2
> --get-default-source` %D/bin/gconftool-2 --makefile-uninstall-rule
> %D/${SCHEMAS_INSTDIR}/*.schemas >/dev/null 2>&1 ${SCHEMAS_INSTDIR}/
> ${SCHEMAS_INSTDIR}/purple.schemas Index: pkg/PLIST-main
> ===================================================================
> RCS file: /home/cvs/ports/net/pidgin/pkg/PLIST-main,v
> retrieving revision 1.17
> diff -u -p -u -p -r1.17 PLIST-main
> --- pkg/PLIST-main    18 Jul 2012 13:31:49 -0000      1.17
> +++ pkg/PLIST-main    1 Feb 2014 08:10:25 -0000
> @@ -87,6 +87,7 @@ share/icons/hicolor/scalable/apps/pidgin
>  share/locale/af/LC_MESSAGES/pidgin.mo
>  share/locale/am/LC_MESSAGES/pidgin.mo
>  share/locale/ar/LC_MESSAGES/pidgin.mo
> +share/locale/ast/LC_MESSAGES/pidgin.mo
>  share/locale/az/LC_MESSAGES/pidgin.mo
>  share/locale/be@latin/LC_MESSAGES/pidgin.mo
>  share/locale/bg/LC_MESSAGES/pidgin.mo
> @@ -100,8 +101,6 @@ share/locale/da/LC_MESSAGES/pidgin.mo
>  share/locale/de/LC_MESSAGES/pidgin.mo
>  share/locale/dz/LC_MESSAGES/pidgin.mo
>  share/locale/el/LC_MESSAGES/pidgin.mo
> -share/locale/en_AU/
> -share/locale/en_AU/LC_MESSAGES/
>  share/locale/en_AU/LC_MESSAGES/pidgin.mo
>  share/locale/en_CA/LC_MESSAGES/pidgin.mo
>  share/locale/en_GB/LC_MESSAGES/pidgin.mo
> 


-- 
Vigdis

Attachment: signature.asc
Description: PGP signature

Reply via email to