[commit] isync/src

2008-08-31 Thread Oswald Buddenhagen
CVS commit by ossi: refactoring. main part is killing struct imap_cmd_cb as such. issue_imap_cmd is split into new_imap_cmd and submit_imap_cmd, so the command can be parametrized after it was instanciated. M +109 -119 drv_imap.c 1.39 --- isync/src/drv_imap.c #1.38:1.39 @@ -127,19 +127,

[commit] isync/src

2008-08-23 Thread Oswald Buddenhagen
CVS commit by ossi: deal with UIDVALIDITY of 0 properly. M +6 -3 drv_imap.c 1.38 M +4 -3 sync.c 1.88 --- isync/src/drv_imap.c #1.37:1.38 @@ -883,5 +883,5 @@ static int parse_response_code( imap_store_t *ctx, struct imap_cmd_cb *cb, char *s ) { - char *arg, *p; +

[commit] isync/src

2008-04-13 Thread Oswald Buddenhagen
CVS commit by ossi: give the implicitly created imap account config the name of the store. M +1 -0 drv_imap.c 1.37 --- isync/src/drv_imap.c #1.36:1.37 @@ -1872,4 +1872,5 @@ imap_parse_store( conffile_t *cfg, store store->server = nfmalloc( sizeof(sserver) );

[commit] isync/src

2008-04-13 Thread Oswald Buddenhagen
CVS commit by ossi: make ssl certificate handling much more useful: - system-wide ca certs are auto-loaded - private certs are accepted even if they are self-signed M +88 -18drv_imap.c 1.36 --- isync/src/drv_imap.c #1.35:1.36 @@ -67,4 +67,5 @@ typedef struct imap_server_conf {

[commit] isync/src

2008-04-12 Thread Oswald Buddenhagen
CVS commit by ossi: - accept unset CertificateFile - print the certificate's fingerprint - make the certificate acceptance prompt much less scary M +14 -10drv_imap.c 1.35 --- isync/src/drv_imap.c #1.34:1.35 @@ -189,7 +189,9 @@ verify_cert( SSL *ssl ) { X509 *cert; + BI

[commit] isync/src

2008-04-12 Thread Oswald Buddenhagen
CVS commit by ossi: ignore system flag extensions (\X-...) M +3 -1 drv_imap.c 1.34 --- isync/src/drv_imap.c #1.33:1.34 @@ -2,5 +2,5 @@ * mbsync - mailbox synchronizer * Copyright (C) 2000-2002 Michael R. Elkins <[EMAIL PROTECTED]> - * Copyright (C) 2002-2006 Oswald Buddenhagen <

[commit] isync/src/compat

2008-02-23 Thread Oswald Buddenhagen
CVS commit by ossi: compat wrapper: don't crash if neither host nor tunnel are specified. fixes: CCMAIL: [EMAIL PROTECTED] M +4 -1 config.c 1.10 --- isync/src/compat/config.c #1.9:1.10 @@ -247,5 +247,5 @@ write_imap_server( FILE *fp, config_t *c if (cfg->tunnel)

[commit] isync/src/compat

2008-02-23 Thread Oswald Buddenhagen
CVS commit by ossi: quote user name in generated config. fixes: CCMAIL: [EMAIL PROTECTED] M +1 -1 config.c 1.9 --- isync/src/compat/config.c #1.8:1.9 @@ -306,5 +306,5 @@ write_imap_server( FILE *fp, config_t *c } if (cfg->user) - fprintf( fp, "User %s\n

[commit] isync/src

2008-02-23 Thread Oswald Buddenhagen
CVS commit by ossi: don't overlook 2nd and later single-letter options in last argument. reported by fedora M +3 -1 main.c 1.65 --- isync/src/main.c #1.64:1.65 @@ -235,6 +235,8 @@ main( int argc, char **argv ) mvars->t[1] = 1; - for (mvars->oind = 1, ochar = 0; mvars

[commit] isync/src

2008-02-23 Thread Oswald Buddenhagen
CVS commit by ossi: put pointers to bdb open() into parentheses, so they won't be macro-expanded as libc open. patch by fedora M +2 -2 drv_maildir.c 1.24 M +1 -1 mdconvert.c 1.4 M +1 -1 compat/convert.c 1.3 --- isync/src/drv_maildir.c #1.23:1.24 @@ -522,5 +522,5 @@

[commit] isync/src

2007-09-22 Thread Oswald Buddenhagen
CVS commit by ossi: don't use #ifdef inside htons() arguments - it can be a macro. CCMAIL: Scott Gifford <[EMAIL PROTECTED]> M +3 -3 drv_imap.c 1.33 --- isync/src/drv_imap.c #1.32:1.33 @@ -1262,9 +1262,9 @@ imap_open_store( store_conf_t *conf, } else { memset

[commit] isync/src

2007-04-04 Thread Oswald Buddenhagen
CVS commit by ossi: #ifdef __linux__ for the crash handler. it compiles on other platforms, but the functionality is bound to linux' /proc structure. M +5 -1 main.c 1.64 --- isync/src/main.c #1.63:1.64 @@ -84,4 +84,5 @@ PACKAGE " " VERSION " - mailbox synchron } +#ifdef __linux__

[commit] isync/src

2007-02-10 Thread Oswald Buddenhagen
CVS commit by ossi: fix crash due to uninited var when parsing IMAPServer. Thanks to CCMAIL: Antoine Reilles <[EMAIL PROTECTED]> REF: <[EMAIL PROTECTED]> M +1 -0 drv_imap.c 1.32 --- isync/src/drv_imap.c #1.31:1.32 @@ -1690,4 +1690,5 @@ imap_parse_store( conffile_t *cfg, store

[commit] isync/src

2006-12-09 Thread Oswald Buddenhagen
CVS commit by ossi: fix error paths wrt sync drivers M +26 -29drv_imap.c 1.31 M +55 -90drv_maildir.c 1.23 M +14 -14isync.h 1.62 M +103 -113 sync.c 1.87 --- isync/src/drv_imap.c #1.30:1.31 @@ -1427,5 +1427,4 @@ imap_open_store( store_conf_t *conf, imap_can

[commit] isync/src

2006-12-09 Thread Oswald Buddenhagen
CVS commit by ossi: handle abnormal program exit during regtest M +14 -2 run-tests.pl 1.18 --- isync/src/run-tests.pl #1.17:1.18 @@ -282,8 +282,9 @@ sub runsync($) { +# open FILE, "valgrind -q --log-fd=3 ../mbsync ".shift()." -c .mbsyncrc test 3>&2 2>&1 |"; open FILE,

[commit] isync/src

2006-12-04 Thread Oswald Buddenhagen
CVS commit by ossi: initialize mvars->t[1] to 1. helps enormously ... :} M +1 -0 main.c 1.63 --- isync/src/main.c #1.62:1.63 @@ -231,4 +231,5 @@ main( int argc, char **argv ) memset( mvars, 0, sizeof(*mvars) ); + mvars->t[1] = 1; for (mvars->oind = 1, ocha

[commit] isync/src

2006-11-18 Thread Oswald Buddenhagen
CVS commit by ossi: reverse-map to INBOX when encountered during listing. usually this will be a no-op (when putting INBOX in Path, people generally call it INBOX), but better safe than sorry. M +5 -2 drv_maildir.c 1.22 --- isync/src/drv_maildir.c #1.21:1.22 @@ -175,4 +175,6 @@ mai

[commit] isync/src/compat

2006-11-09 Thread Oswald Buddenhagen
CVS commit by ossi: make compat wrapper default to current user for imap login M +6 -0 main.c 1.8 --- isync/src/compat/main.c #1.7:1.8 @@ -23,4 +23,5 @@ #include #include +#include #include #include @@ -168,4 +169,9 @@ main( int argc, char **argv ) /* XXX the preced

[commit] isync/src/compat

2006-10-31 Thread Oswald Buddenhagen
CVS commit by ossi: put INBOX in Maildir M +3 -1 config.c 1.8 --- isync/src/compat/config.c #1.7:1.8 @@ -251,4 +251,5 @@ write_imap_server( FILE *fp, config_t *c hl = nfsnprintf( buf, sizeof(buf), "%s", cfg->host ); else { +

Re: [commit] isync/src

2006-10-31 Thread Tino Keitel
On Mon, Oct 30, 2006 at 07:08:01 +0100, Oswald Buddenhagen wrote: > On Mon, Oct 30, 2006 at 01:17:24AM +0100, Tino Keitel wrote: > > The new isync version looks for a maildir ~/Maildir where it > > expexts the INBOX folder. With the same setup, INBOX is saved as > > ~//INBOX when using isync 0.9.2.

Re: [commit] isync/src

2006-10-31 Thread Tino Keitel
On Tue, Oct 31, 2006 at 19:14:01 +0100, Oswald Buddenhagen wrote: > On Mon, Oct 30, 2006 at 01:22:38PM +0100, Tino Keitel wrote: > > On Mon, Oct 30, 2006 at 07:08:01 +0100, Oswald Buddenhagen wrote: > > > the attached patch should fix this (without causing collateral damage > > > :}). > > > > Than

Re: [commit] isync/src

2006-10-31 Thread Oswald Buddenhagen
On Mon, Oct 30, 2006 at 01:22:38PM +0100, Tino Keitel wrote: > On Mon, Oct 30, 2006 at 07:08:01 +0100, Oswald Buddenhagen wrote: > > the attached patch should fix this (without causing collateral damage > > :}). > > Thanks, I'll re-test this evening. > i assume the silence means "it works". ;) >

Re: [commit] isync/src

2006-10-30 Thread Tino Keitel
On Mon, Oct 30, 2006 at 07:08:01 +0100, Oswald Buddenhagen wrote: > On Mon, Oct 30, 2006 at 01:17:24AM +0100, Tino Keitel wrote: > > The new isync version looks for a maildir ~/Maildir where it expexts > > the INBOX folder. With the same setup, INBOX is saved as ~/ > maildir>/INBOX when using isync

Re: [commit] isync/src

2006-10-29 Thread Oswald Buddenhagen
On Mon, Oct 30, 2006 at 01:17:24AM +0100, Tino Keitel wrote: > The new isync version looks for a maildir ~/Maildir where it expexts > the INBOX folder. With the same setup, INBOX is saved as ~/ maildir>/INBOX when using isync 0.9.2. > the attached patch should fix this (without causing collateral

Re: [commit] isync/src

2006-10-29 Thread Tino Keitel
On Sat, Oct 28, 2006 at 18:22:11 +0200, Oswald Buddenhagen wrote: > On Fri, Oct 27, 2006 at 10:15:36PM +0200, Tino Keitel wrote: > > I also have to admit that I did the tests before the last commit in > > the 1.0 branch, which also addresses an issue that could be the cause > > of the segfault that

Re: [commit] isync/src

2006-10-28 Thread Oswald Buddenhagen
On Fri, Oct 27, 2006 at 10:15:36PM +0200, Tino Keitel wrote: > I also have to admit that I did the tests before the last commit in > the 1.0 branch, which also addresses an issue that could be the cause > of the segfault that I got. > please re-test. -- Hi! I'm a .signature virus! Copy me into y

Re: [commit] isync/src

2006-10-28 Thread Tino Keitel
On Fri, Oct 27, 2006 at 22:12:34 +0200, Tino Keitel wrote: > On Fri, Aug 11, 2006 at 16:20:13 +0200, Oswald Buddenhagen wrote: > > On Fri, Aug 11, 2006 at 11:29:28AM +0200, Tino Keitel wrote: > > > thanks, no segfaults anymore and valgrind is happy, too. > > > > > good > > > > > Btw., I'm plannin

Re: [commit] isync/src

2006-10-28 Thread Tino Keitel
On Fri, Aug 11, 2006 at 16:20:13 +0200, Oswald Buddenhagen wrote: > On Fri, Aug 11, 2006 at 11:29:28AM +0200, Tino Keitel wrote: > > thanks, no segfaults anymore and valgrind is happy, too. > > > good > > > Btw., I'm planning to do some compatibility tests with the old isync > > 0.9.2 from Debian

[commit] isync/src

2006-10-24 Thread Oswald Buddenhagen
CVS commit by ossi: don't crash on truncating database. seems to affect only some bdb versions (e.g., 4.2). M +3 -2 drv_maildir.c 1.21 --- isync/src/drv_maildir.c #1.20:1.21 @@ -366,5 +366,6 @@ maildir_init_uid( maildir_store_t *ctx, #ifdef USE_DB if (ctx->db) { -

Re: [commit] isync/src

2006-08-13 Thread Daniel Danner
Hmm... it looks like I got some things confused and these error messages did just appear when I deleted folders locally. Dunno if this is supposed to happen either. Forget what I wrote... sorry. ;) - Using Tomcat but need t

Re: [commit] isync/src

2006-08-11 Thread Oswald Buddenhagen
On Fri, Aug 11, 2006 at 11:29:28AM +0200, Tino Keitel wrote: > thanks, no segfaults anymore and valgrind is happy, too. > good > Btw., I'm planning to do some compatibility tests with the old isync > 0.9.2 from Debian Sid and the current CVS version, to get a newer > package into Debian (hopefull

Re: [commit] isync/src

2006-08-11 Thread Tino Keitel
On Thu, Aug 10, 2006 at 00:01:03 -0700, Oswald Buddenhagen wrote: > CVS commit by ossi: > > fix bug in newline conversion causing buffer overflows. > this leads to segfaults and has some security impact. Hi, thanks, no segfaults anymore and valgrind is happy, too. Btw., I'm planning to do some

[commit] isync/src

2006-08-10 Thread Oswald Buddenhagen
CVS commit by ossi: fix bug in newline conversion causing buffer overflows. this leads to segfaults and has some security impact. M +8 -7 sync.c 1.86 --- isync/src/sync.c #1.85:1.86 @@ -212,5 +212,5 @@ msg_fetched( int sts, void *aux ) SVARS(vars->aux) char *fmap, *b

[commit] isync/src

2006-08-09 Thread Oswald Buddenhagen
CVS commit by ossi: memmove for overlapping mem copies. M +1 -1 drv_imap.c 1.30 --- isync/src/drv_imap.c #1.29:1.30 @@ -370,5 +370,5 @@ buffer_gets( buffer_t * b, char **s ) if (n) - memcpy( b->buf, b->buf + sta

[commit] isync/src

2006-07-30 Thread Oswald Buddenhagen
CVS commit by ossi: glibc seems to be *really* fucked up. M +4 -5 drv_maildir.c 1.20 --- isync/src/drv_maildir.c #1.19:1.20 @@ -660,9 +660,8 @@ maildir_scan( maildir_store_t *ctx, msgl else u = ru = strchr( entr

[commit] isync/src

2006-07-29 Thread Oswald Buddenhagen
CVS commit by ossi: work around glibc bug: printf("%.*s", INT_MAX, s) tries to allocate 2G. M +1 -1 drv_maildir.c 1.19 M +1 -1 mdconvert.c 1.3 --- isync/src/drv_maildir.c #1.18:1.19 @@ -663,5 +663,5 @@ maildir_scan( maildir_store_t *ctx, msgl

[commit] isync/src/compat

2006-06-05 Thread Oswald Buddenhagen
CVS commit by ossi: create more descriptive account names, so password prompts look sane. the channel names follow the old scheme, though - they are used to compose sync state file names, and i don't feel like writing a migrator for this. M +39 -14config.c 1.6 M +2 -0 isync.h 1

[commit] isync/src/compat

2006-06-05 Thread Oswald Buddenhagen
CVS commit by ossi: enable the old account naming scheme to deal with duplicated ip addresses. this is not incompatible - previously, it would just create garbage. M +10 -10config.c 1.7 --- isync/src/compat/config.c #1.6:1.7 @@ -249,5 +249,5 @@ write_imap_server( FILE *fp, config_t *

[commit] isync/src

2006-05-28 Thread Oswald Buddenhagen
CVS commit by ossi: don't crash in imap driver when Host is not specified. M +4 -4 drv_imap.c 1.29 --- isync/src/drv_imap.c #1.28:1.29 @@ -1350,10 +1350,10 @@ imap_open_store( store_conf_t *conf, info ("Logging in...\n"); if (!srvc->user) { -

[commit] isync/src

2006-05-28 Thread Oswald Buddenhagen
CVS commit by ossi: be *slightly* more explicit about which options Tunnel makes superfluous. M +2 -1 mbsync.1 1.5 --- isync/src/mbsync.1 #1.4:1.5 @@ -234,5 +234,6 @@ Specify a command to run to establish a connection rather than opening a TCP socket. This allows you to run an IM

[commit] isync/src

2006-05-28 Thread Oswald Buddenhagen
CVS commit by ossi: un-document "Host imaps:[...]" syntax and introduce new option UseIMAPS instead. apply ted's patch to support UseIMAPS in conjunction with Tunnel. document that SSLv2 is No Good (TM). M +9 -6 drv_imap.c 1.28 M +17 -10mbsync.1 1.4 --- isync/src/drv_imap.c

[commit] isync/src

2006-05-28 Thread Oswald Buddenhagen
CVS commit by ossi: move assigning default port to the place of use M +5 -5 drv_imap.c 1.27 --- isync/src/drv_imap.c #1.26:1.27 @@ -1262,5 +1262,9 @@ imap_open_store( store_conf_t *conf, } else { memset( &addr, 0, sizeof(addr) ); - addr.sin_port

[commit] isync/src

2006-05-27 Thread Oswald Buddenhagen
CVS commit by ossi: add comment M +1 -0 drv_maildir.c 1.18 --- isync/src/drv_maildir.c #1.17:1.18 @@ -1047,4 +1047,5 @@ maildir_store_msg( store_t *gctx, msg_da } close( fd ); + /* Moving seen messages to cur/ is strictly speaking incorrect, but makes mutt hap

[commit] isync/src

2006-05-27 Thread Oswald Buddenhagen
CVS commit by ossi: seen messages are eligible for expiration even if they are recent in the mailbox. M +1 -1 sync.c 1.85 --- isync/src/sync.c #1.84:1.85 @@ -1223,5 +1223,5 @@ msgs_found_sel( sync_vars_t *svars, int if (nflags & F_FLAGGED)

[commit] isync/src

2006-03-21 Thread Oswald Buddenhagen
CVS commit by ossi: no/empty mailbox name means INBOX M +6 -2 main.c 1.62 --- isync/src/main.c #1.61:1.62 @@ -485,4 +485,6 @@ static void done_sync_dyn( int sts, void static void done_sync( int sts, void *aux ); +#define nz(a,b) ((a)?(a):(b)) + static void sync_chans( main_vars

[commit] isync/src

2006-03-21 Thread Oswald Buddenhagen
CVS commit by ossi: make the driver model, sync_chans() and sync_boxes() fully async. async drivers to follow ... M +102 -79 drv_imap.c 1.26 M +124 -74 drv_maildir.c 1.17 M +37 -20isync.h 1.61 M +169 -63 main.c 1.61 M +897 -398 sync.c 1.84 M +2 -10 util.c

[commit] isync/src

2006-03-21 Thread Oswald Buddenhagen
CVS commit by ossi: unscrew lf=>crlf conversion and tuid insertion M +3 -3 sync.c 1.83 --- isync/src/sync.c #1.82:1.83 @@ -240,5 +240,5 @@ copy_msg( store_t *ctx[], int t, message crd = -1; else if (scr < tcr) - crd = 1;

[commit] isync/src

2006-03-21 Thread Oswald Buddenhagen
CVS commit by ossi: ok, mismerging and not running the reg-tests is lame. unscrew expunging again. M +29 -28sync.c 1.82 --- isync/src/sync.c #1.81:1.82 @@ -1073,6 +1073,6 @@ sync_boxes( store_t *ctx[], const char * for (t = 0; t < 2; t++) { - if ((svars->chan-

[commit] isync/src

2006-03-21 Thread Oswald Buddenhagen
CVS commit by ossi: async merge: aggregate most variables of main() & sync_boxes() in main_vars_t resp. sync_vars_t. also some minor var renames, whitespace, comments. M +151 -131 main.c 1.60 M +222 -209 sync.c 1.80 [diff too large to include]

[commit] isync/src

2006-03-21 Thread Oswald Buddenhagen
CVS commit by ossi: don't enter trash loop if not trashing at all. also, move expunge message where it belongs. not adding info("trashing"), as it will be replaced in a moment anyway. M +6 -4 sync.c 1.81 --- isync/src/sync.c #1.80:1.81 @@ -1073,7 +1073,7 @@ sync_boxes( store_t *ctx[

[commit] isync/src

2006-03-21 Thread Oswald Buddenhagen
CVS commit by ossi: split box list preparation from "consumption". M +22 -16main.c 1.59 --- isync/src/main.c #1.58:1.59 @@ -195,5 +195,5 @@ main( int argc, char **argv ) store_t *ctx[2]; string_list_t *boxes[2], *mbox, *sbox, **mboxp, **sboxp, *cboxes, *chanptr; -

[commit] isync/src

2006-03-21 Thread Oswald Buddenhagen
CVS commit by ossi: info() about opening of stores M +2 -0 isync.h 1.60 M +7 -4 main.c 1.58 M +1 -1 sync.c 1.79 --- isync/src/isync.h #1.59:1.60 @@ -247,4 +247,6 @@ unsigned char arc4_getbyte( void ); /* sync.c */ +extern const char *str_ms[2], *str_hl[2]; + #d

[commit] isync/src

2006-03-20 Thread Oswald Buddenhagen
CVS commit by ossi: do not repeatedly get namespace from server. M +6 -2 drv_imap.c 1.25 --- isync/src/drv_imap.c #1.24:1.25 @@ -113,4 +113,5 @@ typedef struct imap_store { unsigned /*currentnc:1,*/ trashnc:1; int uidnext; /* from SELECT responses */ + unsigned

[commit] isync/src

2006-03-20 Thread Oswald Buddenhagen
CVS commit by ossi: handle socket() failure and correctly report gethostbyname() failure. M +5 -1 drv_imap.c 1.24 --- isync/src/drv_imap.c #1.23:1.24 @@ -1266,5 +1266,5 @@ imap_open_store( store_conf_t *conf ) he = gethostbyname( srvc->host ); if (!he

[commit] isync/src

2006-03-20 Thread Oswald Buddenhagen
CVS commit by ossi: update copyrights M +1 -1 drv_imap.c 1.23 M +1 -1 drv_maildir.c 1.16 M +1 -1 isync.h 1.59 M +2 -2 main.c 1.57 M +1 -1 sync.c 1.78 M +1 -1 util.c 1.9 --- isync/src/drv_imap.c #1.22:1.23 @@ -2,5 +2,5 @@ * mbsync - mail

[commit] isync/src

2006-03-20 Thread Oswald Buddenhagen
CVS commit by ossi: move whole responsibility for recycling open stores/server connections to the drivers. M +51 -12drv_imap.c 1.22 M +18 -7 drv_maildir.c 1.15 M +6 -2 isync.h 1.58 M +12 -22main.c 1.56 --- isync/src/drv_imap.c #1.21:1.22 @@ -1037,5 +1037,5 @@

[commit] isync/src

2006-03-20 Thread Oswald Buddenhagen
CVS commit by ossi: keep the result of driver->list() and a flag whether it is valid in the store. M +9 -8 drv_imap.c 1.21 M +4 -3 drv_maildir.c 1.14 M +3 -1 isync.h 1.57 M +7 -20 main.c 1.55 --- isync/src/drv_imap.c #1.20:1.21 @@ -114,5 +114,4 @@ typedef s

[commit] isync/src

2006-03-20 Thread Oswald Buddenhagen
CVS commit by ossi: aggregate all (two ...) drivers in an array instead of naming them in each (one ...) location explicitly. M +14 -12config.c 1.31 M +3 -0 isync.h 1.56 --- isync/src/config.c #1.30:1.31 @@ -33,4 +33,6 @@ #include +driver_t *drivers[N_DRIVERS] = { &maild

[commit] isync/src

2006-03-20 Thread Oswald Buddenhagen
CVS commit by ossi: whitespace and code verbosity M +3 -4 drv_imap.c 1.20 --- isync/src/drv_imap.c #1.19:1.20 @@ -235,6 +235,5 @@ static int init_ssl_ctx( imap_store_t *ctx ) { - imap_store_conf_t *conf = (imap_store_conf_t *)ctx->gen.conf; - imap_server_conf_t *srvc =

[commit] isync/src

2006-03-20 Thread Oswald Buddenhagen
CVS commit by ossi: merge imap_t into imap_store_t - there is really no point in having them separated. M +109 -134 drv_imap.c 1.19 --- isync/src/drv_imap.c #1.18:1.19 @@ -108,5 +108,8 @@ struct imap_cmd; #define max_in_progress 50 /* make this configurable? */ -typedef struct imap {

[commit] isync/src

2006-03-19 Thread Oswald Buddenhagen
CVS commit by ossi: "fprintf( stderr," => "error(". new functions debugn() and infon() for messages with missing newline; warn() and error() act upon this. M +26 -29config.c 1.30 M +56 -60drv_imap.c 1.18 M +20 -20drv_maildir.c 1.13 M +4 -1 isync.h 1.55 M +8 -7

[commit] isync/src

2006-03-19 Thread Oswald Buddenhagen
CVS commit by ossi: make config parsing more robust against bogus input and report errors more clearly. M +38 -28drv_imap.c 1.17 --- isync/src/drv_imap.c #1.16:1.17 @@ -255,9 +255,7 @@ init_ssl_ctx( imap_store_t *ctx ) fprintf( stderr, "Error, CertificateFile not defi

[commit] isync/src

2006-02-12 Thread Oswald Buddenhagen
CVS commit by ossi: factor out box selection from sync_boxes to avoid code dupe M +37 -58sync.c 1.76 --- isync/src/sync.c #1.75:1.76 @@ -108,12 +108,35 @@ typedef struct sync_rec { static int -findmsgs( sync_rec_t *srecs, store_t *ctx[], int t, FILE *jfp ) +select_box( sync_rec_t

[commit] isync/src

2006-02-11 Thread Oswald Buddenhagen
CVS commit by ossi: lock the sync state open the journal before opening the master. this is a bit ugly for the "SyncState *" case, as we have to create a directory without making it a maildir right away. however, this makes the code quite a bit simpler to understand and simpler to parallelize.

[commit] isync/src

2006-02-11 Thread Oswald Buddenhagen
CVS commit by ossi: don't barf at directories with none of {tmp,new,cur}/ and turn them into maildirs instead. see next commit. M +11 -6 drv_maildir.c 1.12 --- isync/src/drv_maildir.c #1.11:1.12 @@ -213,5 +213,5 @@ maildir_validate( const char *prefix, co struct dirent *entry

[commit] isync/src

2006-02-11 Thread Oswald Buddenhagen
CVS commit by ossi: don't commit state file when a fatal error occurs M +5 -1 sync.c 1.74 --- isync/src/sync.c #1.73:1.74 @@ -1168,5 +1168,4 @@ sync_boxes( store_t *ctx[], const char * } - finish: Fprintf( nfp, "%d:%d %d:%d:%d\n", muidval, maxuid[M], suidval, sma

[commit] isync/src

2006-02-11 Thread Oswald Buddenhagen
CVS commit by ossi: unbelieveable, but close() can actually fail M +11 -2 sync.c 1.73 --- isync/src/sync.c #1.72:1.73 @@ -37,4 +37,13 @@ static const char *str_ms[] = { "master" void +Fclose( FILE *f ) +{ + if (fclose( f ) == EOF) { + perror( "cannot close file

[commit] isync/src

2006-02-11 Thread Oswald Buddenhagen
CVS commit by ossi: add copyright + license M +17 -0 run-tests.pl 1.17 --- isync/src/run-tests.pl #1.16:1.17 @@ -1,3 +1,20 @@ #! /usr/bin/perl -w +# +# Copyright (C) 2006 Oswald Buddenhagen <[EMAIL PROTECTED]> +# +# This program is free software; you can redistribute it and/or modif

[commit] isync/src

2006-02-05 Thread Oswald Buddenhagen
CVS commit by ossi: typos M +2 -2 mbsync.1 1.2 --- isync/src/mbsync.1 #1.1:1.2 @@ -132,5 +132,5 @@ This is useful for weeding out messages with large attachments. \fBK\fR and \fBM\fR can be appended to the size to specify KiBytes resp. -MeBytes instead of bytes. \fBB\fR is accepte

[commit] isync/src

2006-02-05 Thread Oswald Buddenhagen
CVS commit by ossi: include run-tests.pl in distribution M +1 -1 Makefile.am 1.3 --- isync/src/Makefile.am #1.2:1.3 @@ -14,3 +14,3 @@ man_MANS = mbsync.1 mdconvert.1 -EXTRA_DIST = mbsyncrc.sample $(man_MANS) +EXTRA_DIST = run-tests.pl mbsyncrc.sample $(man_MANS) -

[commit] isync/src

2006-02-03 Thread Oswald Buddenhagen
CVS commit by ossi: and now don't clobber the mails ... M +1 -1 sync.c 1.71 --- isync/src/sync.c #1.70:1.71 @@ -238,5 +238,5 @@ copy_msg( store_t *ctx[], int t, message if (cra || crd) for (; i < len; i++) { - c =

[commit] isync/src

2006-02-02 Thread Oswald Buddenhagen
CVS commit by ossi: major overhaul of flag change propagation and MaxMessages handling: - wrap message (un)expirations into transactions - no redundand flag propagations in conjunction with expirations - better prepared for the upcoming async operation M +0 -1 isync.h 1.52 M +139 -95

[commit] isync/src

2006-02-02 Thread Oswald Buddenhagen
CVS commit by ossi: crash handler that launches gdb. activated when started with -D option. simplifies debugging crashes during the reg-tests. M +37 -0 main.c 1.52 --- isync/src/main.c #1.51:1.52 @@ -27,4 +27,7 @@ #include #include +#include +#include +#include int Pid;

[commit] isync/src

2006-02-02 Thread Oswald Buddenhagen
CVS commit by ossi: less cluttered debug output M +11 -6 sync.c 1.68 --- isync/src/sync.c #1.67:1.68 @@ -695,9 +695,8 @@ sync_boxes( store_t *ctx[], const char * } else if (del[1-t]) { /* c.4) d.9) / b.4) d.4) */

[commit] isync/src

2006-02-02 Thread Oswald Buddenhagen
CVS commit by ossi: cosmetics: move around variable declarations and remove obsolete comment M +1 -6 sync.c 1.67 --- isync/src/sync.c #1.66:1.67 @@ -189,5 +189,5 @@ sync_boxes( store_t *ctx[], const char * int nom, nos, del[2], ex[2]; int muidval, suidval, smaxxuid,

[commit] isync/src

2006-02-02 Thread Oswald Buddenhagen
CVS commit by ossi: versioned journal. the commands and their meanings change all the time, so better handle that case. ps: yes, i think not upgrading mbsync between interrupting and resuming a run is a reasonable requirement. M +25 -7 sync.c 1.66 --- isync/src/sync.c #1.65:1.66 @@ -

[commit] isync/src

2006-02-02 Thread Oswald Buddenhagen
CVS commit by ossi: make the sync entry search in the journal replay wrap around at the end of the list. the "always forward" assumption is violated in some cases. M +70 -75sync.c 1.65 --- isync/src/sync.c #1.64:1.65 @@ -310,6 +310,6 @@ sync_boxes( store_t *ctx[], const char *

[commit] isync/src

2006-02-02 Thread Oswald Buddenhagen
CVS commit by ossi: much improved journal replay testing. some clenup. M +111 -66 run-tests.pl 1.16 --- isync/src/run-tests.pl #1.15:1.16 @@ -225,9 +225,4 @@ -sub fcfg(@) -{ - return join(" // ", map({ my $t = $_; chomp $t; $t =~ s/\n/ \/ /g; $t; } @_)); -} - sub qm($) { @

[commit] isync/src

2006-02-02 Thread Oswald Buddenhagen
CVS commit by ossi: orphan/kill all affected entries after expunge M +1 -1 run-tests.pl 1.15 M +10 -11sync.c 1.64 --- isync/src/run-tests.pl #1.14:1.15 @@ -54,5 +54,5 @@ 1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 9, 10, "", 10, 9, "" ], [ 9, 0, 9, - 1, 1, "F", 2, 2,

[commit] isync/src

2006-01-30 Thread Oswald Buddenhagen
CVS commit by ossi: M_EXPIRED -> M_EXPIRE M +1 -1 isync.h 1.51 M +2 -2 sync.c 1.63 --- isync/src/isync.h #1.50:1.51 @@ -119,5 +119,5 @@ typedef struct group_conf { #define M_DEAD (1<<1) /* expunged */ #define M_FLAGS(1<<2) /* flags fetched */ -#define M_EX

[commit] isync/src

2006-01-30 Thread Oswald Buddenhagen
CVS commit by ossi: sanitize S_DEL M +9 -4 sync.c 1.62 --- isync/src/sync.c #1.61:1.62 @@ -666,4 +666,8 @@ sync_boxes( store_t *ctx[], const char * del[M] = nom && (srec->uid[M] > 0); del[S] = nos && (srec->uid[S] > 0); +

[commit] isync/src

2006-01-30 Thread Oswald Buddenhagen
CVS commit by ossi: remove superfluous temporary rflags from sync_boxes M +2 -3 sync.c 1.61 --- isync/src/sync.c #1.60:1.61 @@ -670,5 +670,5 @@ sync_boxes( store_t *ctx[], const char * for (t = 0; t < 2; t++) { int unex; -

[commit] isync/src

2006-01-30 Thread Oswald Buddenhagen
CVS commit by ossi: now that messages know their sync records, M_SYNCES is superfluous. M +0 -1 isync.h 1.50 M +3 -6 sync.c 1.60 --- isync/src/isync.h #1.49:1.50 @@ -119,5 +119,4 @@ typedef struct group_conf { #define M_DEAD (1<<1) /* expunged */ #define M_FLAGS

[commit] isync/src

2006-01-30 Thread Oswald Buddenhagen
CVS commit by ossi: establish bi-directional mapping between mails and sync records. use it to merge the --renew case into the --new case. M +1 -1 isync.h 1.49 M +53 -66sync.c 1.59 --- isync/src/isync.h #1.48:1.49 @@ -119,5 +119,4 @@ typedef struct group_conf { #define M_DE

[commit] isync/src

2006-01-30 Thread Oswald Buddenhagen
CVS commit by ossi: declaring ex[M] instead of ex[2] is, indeed, no good. long live watchpoints. M +1 -1 sync.c 1.58 --- isync/src/sync.c #1.57:1.58 @@ -185,5 +185,5 @@ sync_boxes( store_t *ctx[], const char * FILE *dfp, *jfp, *nfp; int opts[2]; - int nom, nos,

[commit] isync/src/compat

2006-01-29 Thread Oswald Buddenhagen
CVS commit by ossi: whoops - 'isync -w' would write .mbsyncrc to a wrong directory M +2 -2 main.c 1.6 --- isync/src/compat/main.c #1.5:1.6 @@ -332,6 +332,6 @@ main( int argc, char **argv ) if (*de->d_name == '.')

[commit] isync/src

2006-01-29 Thread Oswald Buddenhagen
CVS commit by ossi: move fetching new messages in front of syncing old entries. this alone does not buy us a whole lot ... M +58 -56sync.c 1.57 --- isync/src/sync.c #1.56:1.57 @@ -181,5 +181,5 @@ sync_boxes( store_t *ctx[], const char * driver_t *driver[2]; message_t

[commit] isync/src

2006-01-29 Thread Oswald Buddenhagen
CVS commit by ossi: test for journalling and journal replay. M +24 -1 run-tests.pl 1.14 --- isync/src/run-tests.pl #1.13:1.14 @@ -260,8 +260,31 @@ ".shift(); close FILE; - open FILE, "../mbsync -D -c .mbsyncrc test 2>&1 |"; + open FILE, "../mbsync -D -J -c .mbsyn

[commit] isync/src

2006-01-29 Thread Oswald Buddenhagen
CVS commit by ossi: undocumented flag -J to skip committing the new sync state. M +1 -0 isync.h 1.48 M +3 -0 main.c 1.51 M +5 -3 sync.c 1.56 --- isync/src/sync.c #1.55:1.56 @@ -915,7 +915,9 @@ sync_boxes( store_t *ctx[], const char * fclose( nfp );

[commit] isync/src

2006-01-29 Thread Oswald Buddenhagen
CVS commit by ossi: merge Quiet, Verbose & Debug into DFlags M +3 -3 drv_imap.c 1.14 M +6 -1 isync.h 1.47 M +16 -18main.c 1.50 M +1 -1 sync.c 1.55 M +5 -5 util.c 1.5 --- isync/src/drv_imap.c #1.13:1.14 @@ -399,5 +399,5 @@ buffer_gets( buffer_t * b,

[commit] isync/src

2006-01-29 Thread Oswald Buddenhagen
CVS commit by ossi: M_NOT_SYNCED => M_SYNCED. now that sync records know their messages, it is simpler to track the positive case. M +1 -1 isync.h 1.46 M +11 -14sync.c 1.54 --- isync/src/isync.h #1.45:1.46 @@ -120,5 +120,5 @@ typedef struct group_conf { #define M_FLAGS

[commit] isync/src

2006-01-29 Thread Oswald Buddenhagen
CVS commit by ossi: split driver->prepare into ->prepare_opts and ->prepare_paths M +8 -2 drv_imap.c 1.13 M +8 -2 drv_maildir.c 1.9 M +2 -1 isync.h 1.45 M +2 -1 sync.c 1.52 --- isync/src/drv_imap.c #1.12:1.13 @@ -1399,8 +1399,13 @@ imap_open_store( store_c

[commit] isync/src

2006-01-29 Thread Oswald Buddenhagen
CVS commit by ossi: move driver options composition below journal replay - it might make additional actions necessary (it doesn't, yet). M +36 -35sync.c 1.53 --- isync/src/sync.c #1.52:1.53 @@ -197,38 +197,4 @@ sync_boxes( store_t *ctx[], const char * recs = 0, srecadd = &rec

[commit] isync/src

2006-01-24 Thread Oswald Buddenhagen
CVS commit by ossi: #include limits.h (for INT_MAX) REF: <[EMAIL PROTECTED]> M +1 -0 drv_imap.c 1.12 --- isync/src/drv_imap.c #1.11:1.12 @@ -32,4 +32,5 @@ #include #include +#include #include #include --- This SF.net e