#define SKIP_WARNING_DIALOG_KEY \
"/apps/evolution/shell/skip_warning_dialog"
/* STABLE_VERSION is only defined for development versions. */
#ifdef STABLE_VERSION
#define DEVELOPMENT 1
#endif
/* Command-line options. */
static gboolean start_online = FALSE;
static gboolean start_offline = FALSE;
static gboolean setup_only = FALSE;
static gboolean force_shutdown = FALSE;
#ifdef DEVELOPMENT
static gboolean force_migrate = FALSE;
#endif
static gboolean disable_eplugin = FALSE;
static gboolean disable_preview = FALSE;
static gboolean import_uris = FALSE;
static gboolean quit = FALSE;
static gchar *geometry = NULL;
static gchar *requested_view = NULL;
static gchar *evolution_debug_log = NULL;
static gchar **remaining_args;
static void
categories_icon_theme_hack (void)
{
GtkIconTheme *icon_theme;
const gchar *category_name;
const gchar *filename;
gchar *dirname;
/* XXX Allow the category icons to be referenced as named
* icons, since GtkAction does not support GdkPixbufs. */
/* Get the icon file for some default category. Doesn't matter
* which, so long as it has an icon. We're just interested in
* the directory components. */
category_name = _("Birthday");
filename = e_categories_get_icon_file_for (category_name);
g_return_if_fail (filename != NULL && *filename != '\0');
/* Extract the directory components. */
dirname = g_path_get_dirname (filename);
/* Add it to the icon theme's search path. This relies on
* GtkIconTheme's legacy feature of using image files found
* directly in the search path. */
icon_theme = gtk_icon_theme_get_default ();
gtk_icon_theme_append_search_path (icon_theme, dirname);
g_free (dirname);
}
#ifdef DEVELOPMENT
/* Warning dialog to scare people off a little bit. */
static gboolean
show_development_warning(void)
{
GtkWidget *vbox;
GtkWidget *label;
GtkWidget *warning_dialog;
GtkWidget *checkbox;
GtkWidget *alignment;
gboolean skip;
gchar *text;
warning_dialog = gtk_dialog_new ();
gtk_window_set_title (
GTK_WINDOW (warning_dialog), "Evolution " VERSION);
gtk_window_set_modal (
GTK_WINDOW (warning_dialog), TRUE);
gtk_dialog_add_button (
GTK_DIALOG (warning_dialog),
GTK_STOCK_OK, GTK_RESPONSE_OK);
gtk_dialog_set_has_separator (
GTK_DIALOG (warning_dialog), FALSE);
gtk_container_set_border_width (
GTK_CONTAINER (GTK_DIALOG (warning_dialog)->vbox), 0);
gtk_container_set_border_width (
GTK_CONTAINER (GTK_DIALOG (warning_dialog)->action_area), 12);
vbox = gtk_vbox_new (FALSE, 12);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
gtk_box_pack_start (
GTK_BOX (GTK_DIALOG (warning_dialog)->vbox),
vbox, TRUE, TRUE, 0);
text = g_strdup_printf(
/* xgettext:no-c-format */
/* Preview/Alpha/Beta version warning message */
_("Hi. Thanks for taking the time to download this preview release\n"
"of the Evolution groupware suite.\n"
"\n"
"This version of Evolution is not yet complete. It is getting close,\n"
"but some features are either unfinished or do not work properly.\n"
"\n"
"If you want a stable version of Evolution, we urge you to uninstall\n"
"this version, and install version %s instead.\n"
"\n"
"If you find bugs, please report them to us at bugzilla.gnome.org.\n"
"This product comes with no warranty and is not intended for\n"
"individuals prone to violent fits of anger.\n"
"\n"
"We hope that you enjoy the results of our hard work, and we\n"
"eagerly await your contributions!\n"),
STABLE_VERSION);
label = gtk_label_new (text);
g_free(text);
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);
label = gtk_label_new (_("Thanks\n"
"The Evolution Team\n"));
gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_RIGHT);
gtk_misc_set_alignment(GTK_MISC(label), 1, .5);
gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);
checkbox = gtk_check_button_new_with_label (_("Do not tell me again"));
alignment = gtk_alignment_new (0.0, 0.0, 0.0, 0.0);
gtk_container_add (GTK_CONTAINER (alignment), checkbox);
gtk_box_pack_start (GTK_BOX (vbox), alignment, TRUE, TRUE, 0);
gtk_widget_show_all (warning_dialog);
gtk_dialog_run (GTK_DIALOG (warning_dialog));
skip = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox));
gtk_widget_destroy (warning_dialog);
return skip;
}
static void
destroy_config (GConfClient *client)
{
/* Unset the source stuff */
gconf_client_unset (client, "/apps/evolution/calendar/sources", NULL);
gconf_client_unset (client, "/apps/evolution/tasks/sources", NULL);
gconf_client_unset (client, "/apps/evolution/addressbook/sources", NULL);
/* Reset the version */
gconf_client_set_string (client, "/apps/evolution/version", "1.4.0", NULL);
/* Clear the dir */
system ("rm -Rf ~/.evolution");
}
#endif /* DEVELOPMENT */
/* This is for doing stuff that requires the GTK+ loop to be running already. */
static gboolean
idle_cb (gchar **uris)
{
EShell *shell;
shell = e_shell_get_default ();
/* These calls do the right thing when another Evolution
* process is running. */
if (quit)
e_shell_quit (shell);
else if (uris != NULL && *uris != NULL) {
if (e_shell_handle_uris (shell, uris, import_uris) == 0)
gtk_main_quit ();
} else
e_shell_create_shell_window (shell, requested_view);
/* If another Evolution process is running, we're done. */
if (unique_app_is_running (UNIQUE_APP (shell)))
gtk_main_quit ();
return FALSE;
}
#ifndef G_OS_WIN32
/* SIGSEGV handling.
The GNOME SEGV handler will lose if it's not run from the main Gtk
thread. So if we have to redirect the signal if the crash happens in another
thread. */
static void (*gnome_segv_handler) (gint);
static GStaticMutex segv_mutex = G_STATIC_MUTEX_INIT;
static pthread_t main_thread;
static void
segv_redirect (gint sig)
{
if (pthread_self () == main_thread)
gnome_segv_handler (sig);
else {
pthread_kill (main_thread, sig);
/* We can't return from the signal handler or the thread may
SEGV again. But we can't pthread_exit, because then the
thread may get cleaned up before bug-buddy can get a stack
trace. So we block by trying to lock a mutex we know is
already locked. */
g_static_mutex_lock (&segv_mutex);
}
}
static void
setup_segv_redirect (void)
{
struct sigaction sa, osa;
sigaction (SIGSEGV, NULL, &osa);
if (osa.sa_handler == SIG_DFL)
return;
main_thread = pthread_self ();
sa.sa_flags = 0;
sigemptyset (&sa.sa_mask);
sa.sa_handler = segv_redirect;
sigaction (SIGSEGV, &sa, NULL);
sigaction (SIGBUS, &sa, NULL);
sigaction (SIGFPE, &sa, NULL);
sa.sa_handler = SIG_IGN;
sigaction (SIGXFSZ, &sa, NULL);
gnome_segv_handler = osa.sa_handler;
g_static_mutex_lock (&segv_mutex);
}
#else
#define setup_segv_redirect() (void)0
#endif
static GOptionEntry entries[] = {
{ "component", 'c', 0, G_OPTION_ARG_STRING, &requested_view,
N_("Start Evolution activating the specified component"), NULL },
{ "geometry", 'g', 0, G_OPTION_ARG_STRING, &geometry,
N_("Apply the given geometry to the main window"), "GEOMETRY" },
{ "offline", '\0', 0, G_OPTION_ARG_NONE, &start_offline,
N_("Start in offline mode"), NULL },
{ "online", '\0', 0, G_OPTION_ARG_NONE, &start_online,
N_("Start in online mode"), NULL },
#ifdef KILL_PROCESS_CMD
{ "force-shutdown", '\0', 0, G_OPTION_ARG_NONE, &force_shutdown,
N_("Forcibly shut down Evolution"), NULL },
#endif
#ifdef DEVELOPMENT
{ "force-migrate", '\0', 0, G_OPTION_ARG_NONE, &force_migrate,
N_("Forcibly re-migrate from Evolution 1.4"), NULL },
#endif
{ "debug", '\0', 0, G_OPTION_ARG_STRING, &evolution_debug_log,
N_("Send the debugging output of all components to a file."), "FILE" },
{ "disable-eplugin", '\0', 0, G_OPTION_ARG_NONE, &disable_eplugin,
N_("Disable loading of any plugins."), NULL },
{ "disable-preview", '\0', 0, G_OPTION_ARG_NONE, &disable_preview,
N_("Disable preview pane of Mail, Contacts and Tasks."), NULL },
{ "setup-only", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE,
&setup_only, NULL, NULL },
{ "import", 'i', 0, G_OPTION_ARG_NONE, &import_uris,
N_("Import URIs or file names given as rest of arguments."), NULL },
{ "quit", 'q', 0, G_OPTION_ARG_NONE, &quit,
N_("Request a running Evolution process to quit"), NULL },
{ G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_STRING_ARRAY, &remaining_args, NULL, NULL },
{ NULL }
};
#ifdef G_OS_WIN32
static void
set_paths (void)
{
/* Set PATH to include the Evolution executable's folder
* and the lib/evolution/$(BASE_VERSION)/components folder. */
wchar_t exe_filename[MAX_PATH];
wchar_t *p;
gchar *exe_folder_utf8;
gchar *components_folder_utf8;
gchar *top_folder_utf8;
gchar *path;
GetModuleFileNameW (NULL, exe_filename, G_N_ELEMENTS (exe_filename));
p = wcsrchr (exe_filename, L'\\');
g_assert (p != NULL);
*p = L'\0';
exe_folder_utf8 = g_utf16_to_utf8 (exe_filename, -1, NULL, NULL, NULL);
p = wcsrchr (exe_filename, L'\\');
g_assert (p != NULL);
*p = L'\0';
top_folder_utf8 = g_utf16_to_utf8 (exe_filename, -1, NULL, NULL, NULL);
components_folder_utf8 = g_strconcat (
top_folder_utf8, "/lib/evolution/"
BASE_VERSION "/components", NULL);
path = g_build_path (
";", exe_folder_utf8,
components_folder_utf8, g_getenv ("PATH"), NULL);
if (!g_setenv ("PATH", path, TRUE))
g_warning ("Could not set PATH for Evolution "
"and its child processes");
g_free (path);
g_free (exe_folder_utf8);
g_free (components_folder_utf8);
g_free (top_folder_utf8);
}
#endif
static void G_GNUC_NORETURN
shell_force_shutdown (void)
{
gchar *filename;
filename = g_build_filename (EVOLUTION_TOOLSDIR, "killev", NULL);
execl (filename, "killev", NULL);
g_assert_not_reached ();
}
static EShell *
create_default_shell (void)
{
EShell *shell;
GConfClient *client;
gboolean online = TRUE;
const gchar *key;
GError *error = NULL;
client = gconf_client_get_default ();
key = "/apps/evolution/shell/start_offline";
/* Requesting online or offline mode from the command-line
* should be persistent, just like selecting it in the UI. */
if (start_online) {
online = TRUE;
gconf_client_set_bool (client, key, FALSE, &error);
} else if (start_offline) {
online = FALSE;
gconf_client_set_bool (client, key, TRUE, &error);
} else {
gboolean value;
value = gconf_client_get_bool (client, key, &error);
if (error == NULL)
online = !value;
}
if (error != NULL) {
g_warning ("%s", error->message);
g_error_free (error);
}
shell = g_object_new (
E_TYPE_SHELL,
"name", "org.gnome.Evolution",
"geometry", geometry,
"module-directory", EVOLUTION_MODULEDIR,
"online", online,
NULL);
g_object_unref (client);
return shell;
}
#ifdef G_OS_WIN32
extern void link_shutdown (void);
#endif
gint
main (gint argc, gchar **argv)
{
EShell *shell;
GConfClient *client;
#ifdef DEVELOPMENT
gboolean skip_warning_dialog;
#endif
GError *error = NULL;
#ifdef G_OS_WIN32
if (fileno (stdout) != -1 && _get_osfhandle (fileno (stdout)) != -1) {
/* stdout is fine, presumably redirected to a file or pipe */
} else {
typedef BOOL (* WINAPI AttachConsole_t) (DWORD);
AttachConsole_t p_AttachConsole =
(AttachConsole_t) GetProcAddress (
GetModuleHandle ("kernel32.dll"), "AttachConsole");
if (p_AttachConsole != NULL && p_AttachConsole (ATTACH_PARENT_PROCESS)) {
freopen ("CONOUT$", "w", stdout);
dup2 (fileno (stdout), 1);
freopen ("CONOUT$", "w", stderr);
dup2 (fileno (stderr), 2);
}
}
#endif
/* Make ElectricFence work. */
free (malloc (10));
bindtextdomain (GETTEXT_PACKAGE, EVOLUTION_LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
#ifdef G_OS_WIN32
set_paths ();
#endif
gtk_init_with_args (
&argc, &argv,
_("- The Evolution PIM and Email Client"),
entries, (gchar *) GETTEXT_PACKAGE, &error);
if (error != NULL) {
g_printerr ("%s\n", error->message);
g_error_free (error);
exit (1);
}
g_type_init ();
if (!g_thread_get_initialized ())
g_thread_init (NULL);
dbus_g_thread_init ();
#ifdef G_OS_WIN32
if (strcmp (gettext (""), "") == 0) {
/* No message catalog installed for the current locale
* language, so don't bother with the localisations
* provided by other things then either. Reset thread
* locale to "en-US" and C library locale to "C". */
SetThreadLocale (MAKELCID (MAKELANGID (LANG_ENGLISH, SUBLANG_ENGLISH_US),
SORT_DEFAULT));
setlocale (LC_ALL, "C");
}
#endif
if (start_online && start_offline) {
g_printerr (
_("%s: --online and --offline cannot be used "
"together.\n Use %s --help for more information.\n"),
argv[0], argv[0]);
exit (1);
}
if (force_shutdown)
shell_force_shutdown ();
client = gconf_client_get_default ();
#ifdef DEVELOPMENT
if (force_migrate)
destroy_config (client);
#endif
if (disable_preview) {
const gchar *key;
key = "/apps/evolution/mail/display/safe_list";
gconf_client_set_bool (client, key, TRUE, NULL);
key = "/apps/evolution/addressbook/display/show_preview";
gconf_client_set_bool (client, key, FALSE, NULL);
key = "/apps/evolution/calendar/display/show_task_preview";
gconf_client_set_bool (client, key, FALSE, NULL);
}
setup_segv_redirect ();
if (evolution_debug_log) {
gint fd;
fd = g_open (evolution_debug_log, O_WRONLY | O_CREAT | O_TRUNC, 0600);
if (fd != -1) {
dup2 (fd, STDOUT_FILENO);
dup2 (fd, STDERR_FILENO);
close (fd);
} else
g_warning ("Could not set up debugging output file.");
}
e_passwords_init ();
gtk_window_set_default_icon_name ("evolution");
if (setup_only)
exit (0);
categories_icon_theme_hack ();
gtk_accel_map_load (e_get_accels_filename ());
#ifdef DEVELOPMENT
skip_warning_dialog = gconf_client_get_bool (
client, SKIP_WARNING_DIALOG_KEY, NULL);
if (!skip_warning_dialog && !getenv ("EVOLVE_ME_HARDER"))
gconf_client_set_bool (
client, SKIP_WARNING_DIALOG_KEY,
show_development_warning (), NULL);
#endif
g_object_unref (client);
shell = create_default_shell ();
if (!disable_eplugin) {
/* Register built-in plugin hook types. */
es_event_hook_get_type ();
e_import_hook_get_type ();
#ifdef ENABLE_PROFILING
e_profile_event_hook_get_type ();
#endif
e_plugin_ui_hook_get_type ();
/* All EPlugin and EPluginHook subclasses should be
* registered in GType now, so load plugins now. */
e_plugin_load_plugins ();
}
/* Attempt migration -after- loading all modules and plugins,
* as both shell backends and certain plugins hook into this. */
e_shell_migrate_attempt (shell);
g_idle_add ((GSourceFunc) idle_cb, remaining_args);
gtk_main ();
/* Drop what should be the last reference to the shell.
* That will cause e_shell_get_default() to henceforth
* return NULL. Use that to check for reference leaks. */
g_object_unref (shell);
if (e_shell_get_default () != NULL)
g_warning ("Shell not finalized on exit");
gtk_accel_map_save (e_get_accels_filename ());
#ifdef G_OS_WIN32
link_shutdown ();
#endif
return 0;
}
'commitgraph'>* Use the FOLD_SIZE as a recommended folding size, but add a new | Not Zed | 2002-02-28 | 4 | -6/+14 |
* | New stream filter that chomps excess trailing whitespace from the end of | Jeffrey Stedfast | 2002-02-28 | 6 | -12/+256 |
* | Changed header formatted table to contain a pointer to an output function, | Not Zed | 2002-02-27 | 2 | -10/+102 |
* | Allow all multiparts that contain message/rfc822 attachments. | Jeffrey Stedfast | 2002-02-26 | 2 | -6/+21 |
* | Set the 'name' parameter on the Content-Type too. Fixes bug #20779. | Jeffrey Stedfast | 2002-02-23 | 2 | -0/+11 |
* | Pass --always-trust to gpg (requested by users). (pgp_clearsign): Same. | Jeffrey Stedfast | 2002-02-15 | 3 | -2/+11 |
* | Ximian is spelled Ximian, not Ximain. :-) | Jeffrey Stedfast | 2002-02-15 | 4 | -4/+4 |
* | Since the AUTH token sometimes uses '=' instead of whitespace, don't use | Jeffrey Stedfast | 2002-02-13 | 2 | -1/+8 |
* | Duh, when we grab the apop stamp it needs to include the <> as well, I | Not Zed | 2002-02-09 | 3 | -4/+14 |
* | Removed some <<< stuff i missed. | Michael Zucci | 2002-02-08 | 1 | -1/+0 |
* | The day number has to be 2 chars wide, space filled to work properly with | Not Zed | 2002-02-08 | 13 | -21/+538 |
* | Implementation of NTLM (aka "Secure Password Authentication") auth, taken | Dan Winship | 2002-02-08 | 6 | -1/+787 |
* | Remove the CAMEL_MESSAGE_NEEDS_REPLY flag, we no longer will be using | Jeffrey Stedfast | 2002-02-07 | 3 | -2/+5 |
* | Use camel_mime_parser_read to read internal parser data. | Jeffrey Stedfast | 2002-02-05 | 2 | -1/+2 |
* | Use camel_mime_parser_read to read internal parser data. | Jeffrey Stedfast | 2002-02-05 | 7 | -108/+132 |
* | Added. New stream for HTTP requests (currently supported are GET and | Jeffrey Stedfast | 2002-02-05 | 3 | -0/+530 |
* | Call set_errno appropriately. | Jeffrey Stedfast | 2002-02-05 | 2 | -3/+17 |
* | Oops, this was converting foo@[blah] to foo@[ blah ], fixed. | Not Zed | 2002-01-31 | 2 | -2/+7 |
* | Use "pop" instead of "pop3" so current configurations continue to work. | Jeffrey Stedfast | 2002-01-31 | 2 | -1/+6 |
* | Changed name from "NT Login" to simply "Login". | Not Zed | 2002-01-30 | 14 | -671/+1645 |
* | Added more kludge to an existing Exchange IMAP 5.5 kludge to work around | Jeffrey Stedfast | 2002-01-30 | 2 | -1/+11 |
* | Handle Resent headers too. | Jeffrey Stedfast | 2002-01-29 | 3 | -5/+14 |
* | Added Resent-* #defines. | Jeffrey Stedfast | 2002-01-29 | 2 | -0/+6 |
* | Use while (node->next) instead of while (node) | Jeffrey Stedfast | 2002-01-29 | 2 | -1/+4 |
* | New function to decode an enhanced status code. (smtp_set_exception): Sets | Jeffrey Stedfast | 2002-01-29 | 3 | -97/+142 |
* | Use flags rather than a bunch of gboolean variables. (smtp_connect): Same. | Jeffrey Stedfast | 2002-01-29 | 4 | -73/+171 |
* | Final cleanup for the CFLAGS and LIBS in the Makefiles. | Ettore Perazzoli | 2002-01-28 | 1 | -18/+10 |
* | Remove some old cruft. | Ettore Perazzoli | 2002-01-25 | 2 | -16/+4 |
* | Clean up some of the Makefiles so we dont' link every library multiple | Ettore Perazzoli | 2002-01-25 | 8 | -8/+17 |
* | Call the beep callback function. | Jeffrey Stedfast | 2002-01-25 | 3 | -6/+31 |
* | New function to remove a filter rule by name. | Jeffrey Stedfast | 2002-01-23 | 3 | -1/+30 |
* | As a temporary solution, just printf ("\a"); to make a beep :-) | Jeffrey Stedfast | 2002-01-22 | 8 | -47/+84 |
* | New function to decode an IMAP mailbox name from modified UTF-7 encoding | Jeffrey Stedfast | 2002-01-19 | 3 | -1/+274 |
* | Stop uudecoding once the CAMEL_UUDECODE_STATE_END state bit gets set. Set | Jeffrey Stedfast | 2002-01-18 | 5 | -73/+93 |
* | If we don't want to corrupt the uuencoded data by overwriting it with | Jeffrey Stedfast | 2002-01-17 | 4 | -0/+23 |
* | Fixed slight logic error to find the uuencode begin line. Fixes bug | Jeffrey Stedfast | 2002-01-17 | 2 | -1/+7 |
* | Updated to match the new send_to API. (smtp_send): Get the from address | Jeffrey Stedfast | 2002-01-16 | 5 | -16/+36 |
* | Sort the needheaders UID array and fixed to respect the UID_SET_LIMIT. | Jeffrey Stedfast | 2002-01-16 | 2 | -28/+56 |
* | Updated to use the new imap_uid_array_to_set() interface. | Jeffrey Stedfast | 2002-01-15 | 4 | -110/+188 |
* | Rewritten to use a cache for body searches when online. Will need some | Not Zed | 2002-01-14 | 8 | -111/+1480 |
* | Kludge around a bug in Exchange 5.5 that reports 2 messages with the same | Jeffrey Stedfast | 2002-01-12 | 2 | -2/+30 |
* | If PATH_MAX doesn't exist, use _POSIX_PATH_MAX. | Jeffrey Stedfast | 2002-01-11 | 2 | -0/+11 |
* | If mi is NULL, don't bother updating it. Should fix bug #17694. | Jeffrey Stedfast | 2002-01-11 | 2 | -0/+10 |
* | #include camel-mime-filter-tohtml.h | Jeffrey Stedfast | 2002-01-11 | 2 | -0/+3 |
* | Kludge around Microsoft Exchange 5.5 (bug #5348) by forgetting our | Jeffrey Stedfast | 2002-01-11 | 2 | -19/+43 |
* | fixed changelog | Jeffrey Stedfast | 2002-01-10 | 1 | -4/+5 |
* | If the mbox file is a symlink, follow the symlink and get the One True | Jeffrey Stedfast | 2002-01-10 | 5 | -46/+206 |
* | Flush the only-once actions. | Jeffrey Stedfast | 2002-01-08 | 4 | -29/+155 |
* | Moved windows-1251 to the end of the list since it contains the euro and | Jeffrey Stedfast | 2002-01-08 | 3 | -98/+214 |
* | Don't try setting a content-type parameter if either the name or value is | Jeffrey Stedfast | 2002-01-05 | 3 | -3/+16 |
* | applied a update patch | Jeffrey Stedfast | 2002-01-03 | 1 | -14/+5 |
* | so my guess is that mutt probably doesn't compile since we don't compile usin... | Jeffrey Stedfast | 2002-01-03 | 1 | -6/+10 |
* | Do more like what mutt does so hopefully this'll fix bug #16363 and | Jeffrey Stedfast | 2002-01-03 | 2 | -25/+46 |
* | Completely rewritten. It is now a load faster and a heck of a lot more | Jeffrey Stedfast | 2001-12-22 | 4 | -243/+449 |
* | Change the prototype for camel_address_get_type to return a CamelType | Jeffrey Stedfast | 2001-12-21 | 7 | -59/+83 |
* | install in the right directory. (accidentally didn't commit these before) | Dan Winship | 2001-12-20 | 2 | -9/+4 |
* | revert my "simplification" of the last commit, it was broken - I must have be... | Jeffrey Stedfast | 2001-12-19 | 1 | -4/+13 |
* | New function to map ISO charsets to the Windows charsets. | Jeffrey Stedfast | 2001-12-18 | 4 | -31/+127 |
* | only use major and minor version in the camel providerdir, not micro and nano | Dan Winship | 2001-12-18 | 7 | -23/+25 |
* | Reverted my previous changes here since it doesn't actually work afterall. | Jeffrey Stedfast | 2001-12-17 | 3 | -26/+34 |
* | Try to use the original boundary so luis will stop bugging me about "data | Jeffrey Stedfast | 2001-12-17 | 2 | -2/+10 |
* | Try to use the original boundary so luis will stop bugging me about "data | Jeffrey Stedfast | 2001-12-17 | 2 | -2/+10 |
* | fix openssl linkage problem | Jeffrey Stedfast | 2001-12-15 | 1 | -1/+3 |
* | Reset the filtered_count to zero. | Jeffrey Stedfast | 2001-12-15 | 3 | -32/+106 |
* | Removed x-inline-pgp-hack kludge because it doesn't work. | Jeffrey Stedfast | 2001-12-15 | 2 | -45/+7 |
* | include stdlib.h (for alloca on freebsd) and only include alloca.h if | Chris Toshok | 2001-12-14 | 2 | -0/+8 |
* | Fixes #17085 | Zbigniew Chyla | 2001-12-14 | 3 | -121/+131 |
* | cast the key argument to g_hash_table_insert to a gpointer to avoid compiler ... | Jeffrey Stedfast | 2001-12-14 | 1 | -2/+2 |
* | Keep a name-to-type hash so that we can make sure that the type has not | Jeffrey Stedfast | 2001-12-14 | 4 | -16/+38 |
* | added a Content-Description to the signature part - part of a merge from the ... | Jeffrey Stedfast | 2001-12-14 | 1 | -0/+1 |
* | merged some changes from the 1-0 branch that apparently never got merged into... | Jeffrey Stedfast | 2001-12-14 | 1 | -2/+2 |
* | Protect against either of the types being NULL. | Jeffrey Stedfast | 2001-12-11 | 11 | -110/+171 |
* | Fix the tm_gmtoff case (its sign is the opposite of "timezone"). Fixes | Dan Winship | 2001-12-10 | 2 | -1/+7 |
* | Implements marking messages as "Need Reply". | Jon Trowbridge | 2001-12-10 | 4 | -3/+10 |
* | Don't use regex matching. Fixes bug #16227. | Jeffrey Stedfast | 2001-12-01 | 8 | -86/+124 |
* | Use the uid rather than vuid for unmatched. Also add the uid to unmatched | 4 | 2001-12-01 | 3 | -16/+58 |
* | Completely new implementation of NNTP. | Not Zed | 2001-11-30 | 18 | -877/+2438 |
* | If the uid doesn't have a ',' in it, fail to crash. | Not Zed | 2001-11-28 | 4 | -14/+63 |
* | Check to see that errno is non-zero before returning g_strerror. If it's | Jeffrey Stedfast | 2001-11-27 | 2 | -1/+10 |
* | For the uudecoding mode, garble up the "begin <mode> <filename>" line | Jeffrey Stedfast | 2001-11-27 | 6 | -24/+108 |
* | Added a check to see if the operation has been cancelled. (stream_write): | Jeffrey Stedfast | 2001-11-20 | 2 | -0/+16 |
* | Updates for compliance with rfc2231 | Jeffrey Stedfast | 2001-11-20 | 2 | -15/+48 |
* | Abort if body == NULL. | Jeffrey Stedfast | 2001-11-17 | 2 | -1/+4 |
* | New mime filter to convert plain text to html. | Jeffrey Stedfast | 2001-11-17 | 4 | -0/+602 |
* | see the ChangeLog, I forget | Jeffrey Stedfast | 2001-11-17 | 3 | -6/+15 |
* | If we get a BYE response, call camel_service_disconnect() and set an | Jeffrey Stedfast | 2001-11-17 | 2 | -13/+29 |
* | If we have no source string, then use undefined, which should always | 3 | 2001-11-14 | 2 | -3/+13 |
* | Added a g_return_val_if_fail for folder_name != NULL. | Jeffrey Stedfast | 2001-11-13 | 2 | -1/+8 |
* | If any of the pipe()'s fail, clean up any pipes that may have succeeded. | Jeffrey Stedfast | 2001-11-10 | 3 | -13/+33 |
* | If we get a user cancel and that causes us to fail to authenticate, abort | 9 | 2001-11-10 | 2 | -0/+9 |
* | Now takes a command-length argument so we can 1) avoid duping the command | Jeffrey Stedfast | 2001-11-09 | 5 | -28/+67 |
* | Oops, pass a mode argument to the open() call. | Jeffrey Stedfast | 2001-11-09 | 3 | -49/+40 |
* | Add code to kludge around any x-inline-pgp-hacks by prepending some | Jeffrey Stedfast | 2001-11-08 | 2 | -0/+27 |
* | Initialize our private mutex. (camel_data_wrapper_finalize): Destroy our | Jeffrey Stedfast | 2001-11-03 | 4 | -14/+56 |
* | Move all searching operations outside of any locks except subfolder lock, | 1 | 2001-11-03 | 2 | -53/+86 |
* | Same as below. | 1 | 2001-11-01 | 9 | -9/+82 |
* | Dont setup cancel_fd. (camel_operation_cancel_fd): If cancel_fd not | 0 | 2001-10-31 | 2 | -8/+18 |
* | Make sure we unref the mimeparse when we're done (successfully). This was | 0 | 2001-10-31 | 3 | -4/+14 |
* | Remove the X-Evolution header before anyone else gets to see this private | 0 | 2001-10-30 | 2 | -0/+7 |
* | If we can't retrieve the message, ignore it, it can't match. | 0 | 2001-10-30 | 4 | -10/+24 |
* | Fix this to match get_headers. | Dan Winship | 2001-10-30 | 2 | -5/+4 |
* | Dont try to move ibex if we have none. | 0 | 2001-10-30 | 3 | -5/+11 |
* | Fixed compilation errors. | 0 | 2001-10-30 | 2 | -2/+7 |
* | Removed unused variable. | Jeffrey Stedfast | 2001-10-30 | 2 | -1/+5 |
* | fixed a compile problem and saved errno before calling fcntl() in stream_read | Jeffrey Stedfast | 2001-10-30 | 1 | -3/+6 |
* | w(x) out some warnings. | 0 | 2001-10-30 | 3 | -5/+14 |
* | Removed. (stream_write): Keep looping (non-blocking case) if errno is | Jeffrey Stedfast | 2001-10-30 | 6 | -87/+110 |
* | If we get an empty name, then mark that as NoSelect. Workaround fix for | 0 | 2001-10-30 | 2 | -2/+8 |
* | Set an X-Evolution-Source header on the returned message so replies come | Dan Winship | 2001-10-30 | 2 | -0/+15 |
* | If we're not going to search on a changed uid, make sure we change out | 9 | 2001-10-30 | 2 | -1/+9 |
* | Don't emit a folder_subscribed signal if we are in the process of renaming | Jeffrey Stedfast | 2001-10-30 | 5 | -60/+119 |
* | Minor fix - should have been using a strNcmp when checking if it was an | Jeffrey Stedfast | 2001-10-30 | 2 | -1/+6 |
* | Notify the user that PGP 2.6.x is no longer supported and use | Jeffrey Stedfast | 2001-10-30 | 3 | -29/+69 |
* | Don't free the hash table key if the folder wasn't found in the hash | Dan Winship | 2001-10-30 | 2 | -4/+11 |
* | if the service is being connected and thinks it's online, but the session | Dan Winship | 2001-10-30 | 2 | -0/+13 |
* | Turn off w() -> warnings. | 9 | 2001-10-29 | 9 | -11/+133 |
* | Fix the 'is this a matching subfolder or subfolder'' logic to match | 9 | 2001-10-29 | 3 | -3/+29 |
* | Changed to call ibex_move to rename it internally. | 8 | 2001-10-28 | 2 | -10/+49 |
* | Use the right variable, not info. | 8 | 2001-10-28 | 2 | -1/+5 |
* | Make sure we've actually read data before checking if p[-] is '\r' or not. | Jeffrey Stedfast | 2001-10-28 | 3 | -7/+61 |
* | Same. | Jeffrey Stedfast | 2001-10-28 | 3 | -12/+26 |
* | Use path not protocol as the path part of the uri of the folder_created | 8 | 2001-10-28 | 7 | -19/+103 |
* | More fixing of the license texts. | Ettore Perazzoli | 2001-10-28 | 61 | -693/+671 |
* | More fixing of the license texts. | Ettore Perazzoli | 2001-10-28 | 56 | -616/+616 |
* | Fixing the license text. | Ettore Perazzoli | 2001-10-28 | 130 | -130/+0 |
* | Finished implementation. | 7 | 2001-10-27 | 9 | -83/+227 |
* | Don't bother checking ex since we can rely on the response being NULL on | Jeffrey Stedfast | 2001-10-27 | 2 | -12/+67 |
* | Update the licensing information to require version 2 of the GPL | Ettore Perazzoli | 2001-10-27 | 130 | -260/+260 |
* | Check to make sure that the dataset is non-NULL before using and/or | Jeffrey Stedfast | 2001-10-27 | 2 | -19/+29 |
* | Check for EWOULDBLOCK too? (stream_read): Same. (stream_flush): Return 0 | Jeffrey Stedfast | 2001-10-27 | 2 | -2/+5 |
* | Check for EWOULDBLOCK too? (stream_read): Same. | Jeffrey Stedfast | 2001-10-27 | 2 | -5/+32 |
* | Lets try putting a camel_stream_reset() here. Logic being that the stream | Jeffrey Stedfast | 2001-10-27 | 2 | -0/+10 |
* | Remove the stupid warning that should never have been there in the first | 5 | 2001-10-26 | 9 | -36/+94 |
* | Don't let fi->name be NULL. | Dan Winship | 2001-10-25 | 2 | -0/+7 |
* | updated the SIMULATE_FLAKY_NETWORK code | Jeffrey Stedfast | 2001-10-25 | 1 | -10/+12 |
* | Same as in the TcpStreamRaw code. (stream_write): And again here... | Jeffrey Stedfast | 2001-10-25 | 3 | -77/+139 |
* | Remove an extra * in one of the regexps that glibc apparently doesn't mind | Dan Winship | 2001-10-24 | 2 | -1/+6 |
* | made d(x) x recompile again. | 3 | 2001-10-23 | 2 | -5/+9 |
* | No, use Storing, as the other code does :p (spool_summary_check): Check | 2 | 2001-10-23 | 2 | -3/+9 |
* | s/summarising/summarizing/. (spool_summary_check): s/summarise/summarize/. | Jon Trowbridge | 2001-10-23 | 2 | -3/+9 |
* | If we are kludging around a inline-pgp signed part, do some charset | Jeffrey Stedfast | 2001-10-23 | 3 | -4/+30 |
* | Use search_type_mlist for mailing list searches. | Michael Zucci | 2001-10-23 | 8 | -213/+130 |
* | (camel_search_header_match): Oops, missing i=0. | Michael Zucci | 2001-10-23 | 3 | -8/+24 |
* | Match check against all addresses in a multiple address match. Should fix | 2 | 2001-10-23 | 2 | -6/+10 |
* | Add a hack: if the multipart/signed part has a "x-inline-pgp-hack" | Dan Winship | 2001-10-23 | 2 | -1/+15 |
* | added $GNOME_INCLUDEDIR to INCLUDES, needed for latest libgnome, which | Rodrigo Moya | 2001-10-23 | 2 | -0/+6 |
* | Only do the rawtext checks if the part is a text part, otherwise don't | Jeffrey Stedfast | 2001-10-22 | 2 | -1/+6 |
* | Updated comments to make the code a bit more clear. | Jeffrey Stedfast | 2001-10-22 | 2 | -7/+14 |
* | Dont do the macro stuff - basically so you can actually debug calls. | 1 | 2001-10-22 | 4 | -2/+18 |
* | oops, dont free the vuid, since its alloca'd now. | 1 | 2001-10-22 | 2 | -1/+5 |
* | If no exception supplied, use a local one. (move_message_to): Set the seen | 0 | 2001-10-20 | 2 | -5/+15 |
* | If the destination folder is the vfolder source folder, then | Jeffrey Stedfast | 2001-10-20 | 2 | -1/+7 |
* | When registering provider, translate all strings. | 9 | 2001-10-20 | 2 | -0/+26 |
* | camel-vee-folder.c (folder_changed_change): Change logic, we always add | Michael Zucci | 2001-10-20 | 2 | -15/+23 |
* | Fixes a deadlock. camel-vee-folder.c: (folder_changed_change): Ok, so dont | Michael Zucci | 2001-10-20 | 2 | -2/+4 |
* | Typo, srlen aint right. | Michael Zucci | 2001-10-19 | 1 | -1/+1 |
* | camel-vee-folder.c: (folder_changed_change_uid): Use alloca for vuid, and | Michael Zucci | 2001-10-19 | 2 | -35/+94 |
* | Lock the right lock for unmatched subfolder list stuff. If the sub folder | 9 | 2001-10-19 | 3 | -16/+110 |
* | If a charset isn't specified or claims to be utf-8, check the validity of | Jeffrey Stedfast | 2001-10-19 | 2 | -2/+37 |
* | Added CAMEL_CFLAGS so we get the right iconv stuff, patch from Yanko | 8 | 2001-10-19 | 6 | -0/+11 |
* | Make sure the cancel_fd isn't -1. | Jeffrey Stedfast | 2001-10-19 | 2 | -1/+6 |
* | Flush the stream here, not sure it really matters but it might (hopefully) | Jeffrey Stedfast | 2001-10-19 | 2 | -0/+5 |
* | Make user-cancellable. | Jeffrey Stedfast | 2001-10-19 | 2 | -6/+37 |
* | String cleanup for bug #6640. | Jeffrey Stedfast | 2001-10-19 | 2 | -2/+5 |
* | Fix my Cyrus imapd workaround...instead of checking to see if info->flags | Jeffrey Stedfast | 2001-10-19 | 2 | -5/+11 |
* | Use '.' as the inbox name for filter new messages test. | 7 | 2001-10-18 | 2 | -1/+5 |
* | New function to clone a folderinfo tree. | 7 | 2001-10-18 | 3 | -1/+41 |
* | Same as maildir and mbox append-message. | Jeffrey Stedfast | 2001-10-18 | 3 | -6/+20 |
* | Make sure the new description isn't the same as the old description | Jeffrey Stedfast | 2001-10-18 | 3 | -9/+27 |
* | Add an optimization for when destination folder is the same as the source | Jeffrey Stedfast | 2001-10-18 | 2 | -0/+8 |
* | Patch from Danw, Use unread count of -1 to mark unflagged messages. Make | 7 | 2001-10-18 | 3 | -9/+23 |
* | Set the DELETED flag on directly on the info if the source folder doesn't | Jeffrey Stedfast | 2001-10-18 | 2 | -1/+7 |
* | As below. | Not Zed | 2001-10-17 | 3 | -4/+19 |
* | Rearange the order of the gpg options slightly otherwise it might try to | Jeffrey Stedfast | 2001-10-17 | 2 | -5/+8 |
* | If CAMEL_DEBUG is defined, print some useful ref/unref info. | Jeffrey Stedfast | 2001-10-17 | 6 | -5/+60 |
* | If no content, dont try and decode further and spit meaningless warnings. | 6 | 2001-10-17 | 2 | -0/+9 |
* | Only perform the operation on the folder if the folder has summary | Jeffrey Stedfast | 2001-10-17 | 2 | -3/+11 |
* | Save the errno before calling fcntl so fcntl doesn't overwrite errno in | Jeffrey Stedfast | 2001-10-16 | 2 | -2/+13 |
* | Replace the Bcc headers in a single location and don't flush the data | Jeffrey Stedfast | 2001-10-14 | 2 | -21/+22 |
* | oops, it should remove the bcc header, not the cc header | Jeffrey Stedfast | 2001-10-13 | 1 | -8/+29 |
* | Remove the stripheader filter from the build. | Jeffrey Stedfast | 2001-10-13 | 5 | -245/+27 |
* | Unhook from all events before removing folder. | 2 | 2001-10-13 | 2 | -1/+23 |
* | convert the uids list to a subset appropriate for each subfolder before | 1 | 2001-10-12 | 2 | -8/+25 |
* | Removed charset/locale charset lookup and iconv_open/close functions, | 1 | 2001-10-12 | 15 | -361/+58 |
* | Same. | Jeffrey Stedfast | 2001-10-12 | 3 | -10/+23 |
* | Same hack as below. | Jeffrey Stedfast | 2001-10-11 | 4 | -1/+111 |
* | Only re-build the folder if we're expunging. Also only clear out the | 0 | 2001-10-11 | 2 | -5/+13 |
* | slight wording changes, mainly LGPL=>GPL | Michael Zucci | 2001-10-11 | 1 | -6/+7 |
* | Added a hack for Solaris systems. | Jeffrey Stedfast | 2001-10-11 | 2 | -3/+11 |
* | oops, we want get_unread_message_count, not get_message_count! | 0 | 2001-10-11 | 3 | -2/+15 |
* | updated | Jeffrey Stedfast | 2001-10-11 | 1 | -6/+4 |
* | Another go at getting the logic right again. Make transients only update | 9 | 2001-10-10 | 2 | -5/+21 |
* | Forgot a little bit of debug. | Michael Zucci | 2001-10-10 | 1 | -1/+1 |
* | Implement. | 9 | 2001-10-10 | 11 | -160/+632 |
* | replace the ever-growing list of gbooleans with a single guint32 for | Dan Winship | 2001-10-09 | 12 | -49/+64 |
* | Unlock the store before returning error. (noted by NotZed) | Dan Winship | 2001-10-09 | 2 | -1/+8 |
* | Fix a slight error in logic. Just because the last word was an encoded | Jeffrey Stedfast | 2001-10-07 | 2 | -9/+24 |
* | Implemented uuencoding and decoding. (complete): Implemented uuencoding | Jeffrey Stedfast | 2001-10-06 | 5 | -3/+199 |
* | Use a folder_subscribed event rather than a folder_created one. | 5 | 2001-10-06 | 3 | -8/+41 |
* | Turn off warnings. (get_name): Same. | Jeffrey Stedfast | 2001-10-06 | 6 | -55/+106 |
* | Try harder to get broken names out of addresses. Unencoded ,'s in names | 5 | 2001-10-06 | 2 | -7/+46 |
* | Change the order of execution slightly. We delete the folder first, then | 4 | 2001-10-06 | 3 | -14/+28 |
* | tedfast <fejj@ximian.com> | Jeffrey Stedfast | 2001-10-05 | 1 | -0/+5 |
* | Unregister the operation before unreffing it. | Jeffrey Stedfast | 2001-10-05 | 1 | -0/+4 |
* | Remove now unused 'recents' array/freeing func. | 3 | 2001-10-04 | 3 | -11/+17 |
* | Dont explicitly save metadata, its saved in summary_sync. | 3 | 2001-10-04 | 6 | -50/+43 |
* | Added MATCH_NEWLINE flag, -> REG_NEWLINE. | 3 | 2001-10-04 | 5 | -7/+25 |
* | Call camel_folder_delete() on the folder if it's "alive". | Jeffrey Stedfast | 2001-10-04 | 4 | -23/+83 |
* | Strange are the ways of alloca. Fixes 11543. | Dan Winship | 2001-10-03 |