# HG changeset patch # User Evan Schoenberg # Date 1211852318 0 # Node ID ca6bbafcd079acdac8c4801ac138c18157319dc0 # Parent 1e87376e77f2038ef9dc629e263efeac762c8b26# Parent 646e96069fcdfaabd420425fea36810564b9f3b3 merge of '71329f62bbfea27b695e6d17ce5b22281a9b70ca' and '99656e64231e6958a0539cd0367164f3c1b83549' diff -r 646e96069fcd -r ca6bbafcd079 COPYRIGHT --- a/COPYRIGHT Tue May 27 01:37:42 2008 +0000 +++ b/COPYRIGHT Tue May 27 01:38:38 2008 +0000 @@ -278,6 +278,7 @@ Novell Padraig O'Briain Christopher O'Brien (siege) +Peter O'Gorman Jon Oberheide Yusuke Odate Ruediger Oertel @@ -449,6 +450,7 @@ Matt Wilson Dan Winship Scott Wolchok +The Written Word, Inc. Kevin Wu Won Pui Lam Wong Justin Wood diff -r 646e96069fcd -r ca6bbafcd079 configure.ac --- a/configure.ac Tue May 27 01:37:42 2008 +0000 +++ b/configure.ac Tue May 27 01:38:38 2008 +0000 @@ -108,13 +108,14 @@ dnl Checks for programs. AC_PROG_CC +AM_PROG_CC_C_O AC_DISABLE_STATIC -AM_PROG_LIBTOOL +AC_PROG_LIBTOOL LIBTOOL="$LIBTOOL --silent" AC_PROG_INSTALL AC_PROG_INTLTOOL PKG_PROG_PKG_CONFIG - +AC_FUNC_ALLOCA GETTEXT_PACKAGE=pidgin AC_SUBST(GETTEXT_PACKAGE) @@ -210,7 +211,7 @@ [Define to 1 if you have the getaddrinfo function.])], [AC_CHECK_LIB(socket, getaddrinfo, [AC_DEFINE([HAVE_GETADDRINFO]) LIBS="-lsocket -lsnl $LIBS"], , , -lnsl)]) - +AC_CHECK_FUNCS(inet_ntop) dnl Check for socklen_t (in Unix98) AC_MSG_CHECKING(for socklen_t) AC_TRY_COMPILE([ @@ -234,6 +235,12 @@ ]) ]) +dnl Some systems do not have sa_len field for struct sockaddr. +AC_CHECK_MEMBER([struct sockaddr.sa_len], + [AC_DEFINE([HAVE_STRUCT_SOCKADDR_SA_LEN],[1], + [Define if struct sockaddr has an sa_len member])],[:], + [#include ]) + dnl to prevent the g_stat()/g_unlink() crash, dnl (09:50:07) Robot101: LSchiere2: it's easy. +LC_SYS_LARGEFILE somewhere in configure.ac AC_SYS_LARGEFILE diff -r 646e96069fcd -r ca6bbafcd079 libpurple/buddyicon.h --- a/libpurple/buddyicon.h Tue May 27 01:37:42 2008 +0000 +++ b/libpurple/buddyicon.h Tue May 27 01:38:38 2008 +0000 @@ -26,6 +26,11 @@ #ifndef _PURPLE_BUDDYICON_H_ #define _PURPLE_BUDDYICON_H_ +/** An opaque structure representing a buddy icon for a particular user on a + * particular #PurpleAccount. Instances are reference-counted; use + * purple_buddy_icon_ref() and purple_buddy_icon_unref() to take and release + * references. + */ typedef struct _PurpleBuddyIcon PurpleBuddyIcon; #include "account.h" diff -r 646e96069fcd -r ca6bbafcd079 libpurple/dnsquery.c --- a/libpurple/dnsquery.c Tue May 27 01:37:42 2008 +0000 +++ b/libpurple/dnsquery.c Tue May 27 01:38:38 2008 +0000 @@ -32,6 +32,9 @@ #include "prefs.h" #include "util.h" +#if (defined(__APPLE__) || defined (__unix__)) && !defined(__osf__) +#define PURPLE_DNSQUERY_USE_FORK +#endif /************************************************************************** * DNS query API **************************************************************************/ @@ -47,16 +50,16 @@ gpointer data; guint timeout; -#if defined(__unix__) || defined(__APPLE__) +#if defined(PURPLE_DNSQUERY_USE_FORK) PurpleDnsQueryResolverProcess *resolver; -#elif defined _WIN32 /* end __unix__ || __APPLE__ */ +#elif defined _WIN32 /* end PURPLE_DNSQUERY_USE_FORK */ GThread *resolver; GSList *hosts; gchar *error_message; #endif }; -#if defined(__unix__) || defined(__APPLE__) +#if defined(PURPLE_DNSQUERY_USE_FORK) #define MAX_DNS_CHILDREN 4 @@ -131,7 +134,7 @@ return FALSE; } -#if defined(__unix__) || defined(__APPLE__) +#if defined(PURPLE_DNSQUERY_USE_FORK) /* * Unix! @@ -649,7 +652,7 @@ return query_data; } -#elif defined _WIN32 /* end __unix__ || __APPLE__ */ +#elif defined _WIN32 /* end PURPLE_DNSQUERY_USE_FORK */ /* * Windows! @@ -821,7 +824,7 @@ return query_data; } -#else /* not __unix__ or __APPLE__ or _WIN32 */ +#else /* not PURPLE_DNSQUERY_USE_FORK or _WIN32 */ /* * We weren't able to do anything fancier above, so use the @@ -897,7 +900,7 @@ return query_data; } -#endif /* not __unix__ or __APPLE__ or _WIN32 */ +#endif /* not PURPLE_DNSQUERY_USE_FORK or _WIN32 */ void purple_dnsquery_destroy(PurpleDnsQueryData *query_data) @@ -907,7 +910,7 @@ if (ops && ops->destroy) ops->destroy(query_data); -#if defined(__unix__) || defined(__APPLE__) +#if defined(PURPLE_DNSQUERY_USE_FORK) queued_requests = g_slist_remove(queued_requests, query_data); if (query_data->resolver != NULL) @@ -918,7 +921,7 @@ * they just don't listen. */ purple_dnsquery_resolver_destroy(query_data->resolver); -#elif defined _WIN32 /* end __unix__ || __APPLE__ */ +#elif defined _WIN32 /* end PURPLE_DNSQUERY_USE_FORK */ if (query_data->resolver != NULL) { /* @@ -987,7 +990,7 @@ void purple_dnsquery_uninit(void) { -#if defined(__unix__) || defined(__APPLE__) +#if defined(PURPLE_DNSQUERY_USE_FORK) while (free_dns_children != NULL) { purple_dnsquery_resolver_destroy(free_dns_children->data); diff -r 646e96069fcd -r ca6bbafcd079 libpurple/dnssrv.c --- a/libpurple/dnssrv.c Tue May 27 01:37:42 2008 +0000 +++ b/libpurple/dnssrv.c Tue May 27 01:38:38 2008 +0000 @@ -25,8 +25,8 @@ #include "util.h" #ifndef _WIN32 +#include #include -#include #ifdef HAVE_ARPA_NAMESER_COMPAT_H #include #endif diff -r 646e96069fcd -r ca6bbafcd079 libpurple/internal.h --- a/libpurple/internal.h Tue May 27 01:37:42 2008 +0000 +++ b/libpurple/internal.h Tue May 27 01:38:38 2008 +0000 @@ -102,7 +102,7 @@ #include #ifdef PURPLE_PLUGINS -# ifndef _WIN32 +# ifdef HAVE_DLFCN_H # include # endif #endif diff -r 646e96069fcd -r ca6bbafcd079 libpurple/nat-pmp.c --- a/libpurple/nat-pmp.c Tue May 27 01:37:42 2008 +0000 +++ b/libpurple/nat-pmp.c Tue May 27 01:38:38 2008 +0000 @@ -125,7 +125,16 @@ if (bitmask & (1 << i)) { addrs[i] = sa; +#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN sa = (struct sockaddr *)(ROUNDUP(sa->sa_len) + (char *)sa); +#else + if (sa->sa_family == AF_INET) + sa = (struct sockaddr*)(sizeof(struct sockaddr_in) + (char *)sa); +#ifdef AF_INET6 + else if (sa->sa_family == AF_INET6) + sa = (struct sockaddr*)(sizeof(struct sockaddr_in6) + (char *)sa); +#endif +#endif } else { @@ -146,7 +155,12 @@ if ((sin->sin_addr.s_addr == INADDR_ANY) && mask && (ntohl(((struct sockaddr_in *)mask)->sin_addr.s_addr) == 0L || - mask->sa_len == 0)) +#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN + mask->sa_len == 0 +#else + 0 +#endif + )) return 1; else return 0; diff -r 646e96069fcd -r ca6bbafcd079 libpurple/network.c --- a/libpurple/network.c Tue May 27 01:37:42 2008 +0000 +++ b/libpurple/network.c Tue May 27 01:38:38 2008 +0000 @@ -27,9 +27,9 @@ #include "internal.h" #ifndef _WIN32 +#include #include #include -#include #include #include #else diff -r 646e96069fcd -r ca6bbafcd079 libpurple/protocols/zephyr/Makefile.am --- a/libpurple/protocols/zephyr/Makefile.am Tue May 27 01:37:42 2008 +0000 +++ b/libpurple/protocols/zephyr/Makefile.am Tue May 27 01:38:38 2008 +0000 @@ -104,7 +104,7 @@ -I$(top_srcdir)/libpurple \ -I$(top_builddir)/libpurple \ -I$(top_srcdir)/libpurple/protocols \ - -DCONFDIR=\"$(confdir)\" \ + -DCONFDIR=\"$(sysconfdir)\" \ $(GLIB_CFLAGS) \ $(KRB4_CFLAGS) \ $(DEBUG_CFLAGS) diff -r 646e96069fcd -r ca6bbafcd079 libpurple/protocols/zephyr/zephyr.c --- a/libpurple/protocols/zephyr/zephyr.c Tue May 27 01:37:42 2008 +0000 +++ b/libpurple/protocols/zephyr/zephyr.c Tue May 27 01:38:38 2008 +0000 @@ -892,11 +892,16 @@ gconv1 = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, zt2->name, gc->account); gcc = purple_conversation_get_chat_data(gconv1); - +#ifndef INET_ADDRSTRLEN +#define INET_ADDRSTRLEN 16 +#endif if (!purple_conv_chat_find_user(gcc, sendertmp)) { gchar ipaddr[INET_ADDRSTRLEN]; +#ifdef HAVE_INET_NTOP inet_ntop(AF_INET, ¬ice.z_sender_addr.s_addr, ipaddr, sizeof(ipaddr)); - +#else + memcpy(ipaddr,inet_ntoa(notice.z_sender_addr),sizeof(ipaddr)); +#endif purple_conv_chat_add_user(gcc, sendertmp, ipaddr, PURPLE_CBFLAGS_NONE, TRUE); } g_free(sendertmp); diff -r 646e96069fcd -r ca6bbafcd079 libpurple/proxy.c --- a/libpurple/proxy.c Tue May 27 01:37:42 2008 +0000 +++ b/libpurple/proxy.c Tue May 27 01:38:38 2008 +0000 @@ -1726,6 +1726,10 @@ * resolved, and each time a connection attempt fails (assuming there * is another IP address to try). */ +#ifndef INET6_ADDRSTRLEN +#define INET6_ADDRSTRLEN 46 +#endif + static void try_connect(PurpleProxyConnectData *connect_data) { size_t addrlen; @@ -1736,9 +1740,13 @@ connect_data->hosts = g_slist_remove(connect_data->hosts, connect_data->hosts->data); addr = connect_data->hosts->data; connect_data->hosts = g_slist_remove(connect_data->hosts, connect_data->hosts->data); - +#ifdef HAVE_INET_NTOP inet_ntop(addr->sa_family, &((struct sockaddr_in *)addr)->sin_addr, ipaddr, sizeof(ipaddr)); +#else + memcpy(ipaddr,inet_ntoa(((struct sockaddr_in *)addr)->sin_addr), + sizeof(ipaddr)); +#endif purple_debug_info("proxy", "Attempting connection to %s\n", ipaddr); switch (purple_proxy_info_get_type(connect_data->gpi)) { diff -r 646e96069fcd -r ca6bbafcd079 libpurple/prpl.h --- a/libpurple/prpl.h Tue May 27 01:37:42 2008 +0000 +++ b/libpurple/prpl.h Tue May 27 01:38:38 2008 +0000 @@ -71,16 +71,22 @@ #include "status.h" #include "whiteboard.h" + +/** @copydoc PurpleBuddyIconSpec */ struct _PurpleBuddyIconSpec { - char *format; /**< This is a comma-delimited list of image formats or NULL if icons are not supported. - * Neither the core nor the prpl will actually check to see if the data it's given matches this; it's - * entirely up to the UI to do what it wants */ - int min_width; /**< The minimum width of this icon */ - int min_height; /**< The minimum height of this icon */ - int max_width; /**< The maximum width of this icon */ - int max_height; /**< The maximum height of this icon */ - size_t max_filesize; /**< The maximum number of bytes */ - PurpleIconScaleRules scale_rules; /**< How to stretch this icon */ + /** This is a comma-delimited list of image formats or @c NULL if icons + * are not supported. Neither the core nor the prpl will actually + * check to see if the data it's given matches this; it's entirely up + * to the UI to do what it wants + */ + char *format; + + int min_width; /**< Minimum width of this icon */ + int min_height; /**< Minimum height of this icon */ + int max_width; /**< Maximum width of this icon */ + int max_height; /**< Maximum height of this icon */ + size_t max_filesize; /**< Maximum size in bytes */ + PurpleIconScaleRules scale_rules; /**< How to stretch this icon */ }; struct proto_chat_entry { diff -r 646e96069fcd -r ca6bbafcd079 pidgin/gtkmain.c --- a/pidgin/gtkmain.c Tue May 27 01:37:42 2008 +0000 +++ b/pidgin/gtkmain.c Tue May 27 01:38:38 2008 +0000 @@ -185,6 +185,9 @@ sighandler(int sig) { switch (sig) { + case SIGHUP: + purple_debug_warning("sighandler", "Caught signal %d\n", sig); + break; case SIGSEGV: fprintf(stderr, "%s", segfault_message); abort(); diff -r 646e96069fcd -r ca6bbafcd079 po/de.po --- a/po/de.po Tue May 27 01:37:42 2008 +0000 +++ b/po/de.po Tue May 27 01:38:38 2008 +0000 @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-05-24 10:32+0200\n" -"PO-Revision-Date: 2008-05-24 10:31+0200\n" +"POT-Creation-Date: 2008-05-26 21:14+0200\n" +"PO-Revision-Date: 2008-05-26 21:14+0200\n" "Last-Translator: Jochen Kemnade \n" "Language-Team: Deutsch \n" "MIME-Version: 1.0\n" @@ -10813,9 +10813,6 @@ msgid "Fatal Error" msgstr "Schwerer Fehler" -msgid "lead developer" -msgstr "Hauptentwickler" - msgid "developer" msgstr "Entwickler" @@ -10850,6 +10847,9 @@ msgid "original author" msgstr "Originalautor" +msgid "lead developer" +msgstr "Hauptentwickler" + msgid "Afrikaans" msgstr "Afrikaans" @@ -11229,23 +11229,35 @@ msgid "Right-click for more unread messages...\n" msgstr "Rechtsklicken für weitere ungelesene Nachrichten...\n" -msgid "Change Status" -msgstr "Ändere Status" - -msgid "Show Buddy List" -msgstr "Buddy-Liste anzeigen" - -msgid "New Message..." -msgstr "Neue Nachricht..." - -msgid "Mute Sounds" -msgstr "Stummschalten" - -msgid "Blink on New Message" -msgstr "Bei neuen Nachrichten blinken" - -msgid "Quit" -msgstr "Beenden" +msgid "_Change Status" +msgstr "Ändere _Status" + +msgid "Show Buddy _List" +msgstr "Buddy-_Liste anzeigen" + +msgid "_Unread Messages" +msgstr "_Ungelesene Nachrichten" + +msgid "New _Message..." +msgstr "_Neue Nachricht..." + +msgid "_Accounts" +msgstr "_Konten" + +msgid "Plu_gins" +msgstr "_Plugins" + +msgid "Pr_eferences" +msgstr "_Einstellungen" + +msgid "Mute _Sounds" +msgstr "Stu_mmschalten" + +msgid "_Blink on New Message" +msgstr "Be_i neuen Nachrichten blinken" + +msgid "_Quit" +msgstr "_Beenden" msgid "Not started" msgstr "Nicht gestartet"