Compare commits

...

8 commits

Author SHA1 Message Date
Oswald Buddenhagen
3f1009a839 regen 2006-01-31 16:17:18 +00:00
Oswald Buddenhagen
fd3f4f33ff bump version 2006-01-31 15:45:15 +00:00
Oswald Buddenhagen
314287cbb4 backport: deal with branches in "make log" 2006-01-31 15:21:35 +00:00
Oswald Buddenhagen
b40fb7f281 backport: fix 'isync -w' writing .mbsyncrc to a wrong directory 2006-01-31 15:17:43 +00:00
Oswald Buddenhagen
534ccb326a backport: less confusing uid ranges in debug 2006-01-31 15:16:27 +00:00
Oswald Buddenhagen
63c065a127 backport: compile fixes 2006-01-31 15:15:00 +00:00
Oswald Buddenhagen
161a4b1159 backport:
- sanitize flag handling of expired messages
- don't record we synced flags if we didn't
- remove now superfluous temporary rflags
2006-01-31 15:12:34 +00:00
Oswald Buddenhagen
9a5920c028 backport: flush debug output 2006-01-31 14:25:18 +00:00
7 changed files with 117 additions and 42 deletions

122
ChangeLog
View file

@ -1,3 +1,99 @@
2006-01-31 16:45 Oswald Buddenhagen <ossi@users.sf.net>
* configure.in:
bump version
2006-01-31 16:21 Oswald Buddenhagen <ossi@users.sf.net>
* Makefile.am:
backport: deal with branches in "make log"
2006-01-31 16:17 Oswald Buddenhagen <ossi@users.sf.net>
* src/compat/main.c:
backport: fix 'isync -w' writing .mbsyncrc to a wrong directory
2006-01-31 16:16 Oswald Buddenhagen <ossi@users.sf.net>
* src/sync.c:
backport: less confusing uid ranges in debug
2006-01-31 16:15 Oswald Buddenhagen <ossi@users.sf.net>
* configure.in, src/drv_imap.c:
backport: compile fixes
2006-01-31 16:12 Oswald Buddenhagen <ossi@users.sf.net>
* src/sync.c:
backport:
- sanitize flag handling of expired messages
- don't record we synced flags if we didn't
- remove now superfluous temporary rflags
2006-01-31 15:25 Oswald Buddenhagen <ossi@users.sf.net>
* src/util.c:
backport: flush debug output
2005-12-22 15:59 Oswald Buddenhagen <ossi@users.sf.net>
* src/sync.c:
fix sync entries not being purged due to c&p error.
2005-12-21 14:04 Oswald Buddenhagen <ossi@users.sf.net>
* src/drv_maildir.c:
less confusing error message on invalid mailbox.
2005-12-18 15:10 Oswald Buddenhagen <ossi@users.sf.net>
* src/config.c:
it's beyond me what this memset was supposed to do ...
2005-12-18 14:41 Oswald Buddenhagen <ossi@users.sf.net>
* src/: config.c, main.c:
trailing whitespace
2005-12-17 14:47 Oswald Buddenhagen <ossi@users.sf.net>
* src/drv_imap.c:
revert 1.8 - what was i smoking?! the CREATE argument is already quoted;
we just extracted it from the previous command.
2005-09-29 23:07 Oswald Buddenhagen <ossi@users.sf.net>
* src/drv_maildir.c:
make flag changes unset "new" status - unless a ghost is acting in the
background, a flag change indicates that the message was at least
noticed.
2005-09-29 23:05 Oswald Buddenhagen <ossi@users.sf.net>
* src/sync.c:
don't call the driver's set_flags() if the flags did not change at all.
2005-09-21 18:14 Oswald Buddenhagen <ossi@users.sf.net>
* src/drv_imap.c:
64-bit cleanness
2005-03-28 12:43 Oswald Buddenhagen <ossi@users.sf.net>
* src/drv_imap.c:
@ -213,18 +309,6 @@
excessively secure temp file creation.
more user friendliness.
2004-03-23 16:52 Oswald Buddenhagen <ossi@users.sf.net>
* src/sync.c:
be cygwin-compliant: don't use link()
2004-03-22 17:51 Oswald Buddenhagen <ossi@users.sf.net>
* src/sync.c:
unscrew file naming scheme
2004-02-07 16:36 Oswald Buddenhagen <ossi@users.sf.net>
* src/dotlock.c:
@ -1066,12 +1150,6 @@
added -a (--all) flag to synchronize all mailboxes defined in ~/.isyncrc
2001-06-12 02:32 Michael Elkins <me@sigpipe.org>
* AUTHORS, README, COPYING, Makefile.am, configure.in, src/main.c:
initial import
2001-02-28 02:02 Michael Elkins <me@sigpipe.org>
* src/: config.c, imap.c:
@ -1435,11 +1513,3 @@
Initial revision
2000-12-20 22:41 Michael Elkins <me@sigpipe.org>
* AUTHORS, Makefile.am, README, configure.in, src/isync.h,
src/main.c, src/imap.c, src/maildir.c, src/sync.c, isync.1,
isyncrc.sample:
initial import

View file

@ -4,7 +4,8 @@ EXTRA_DIST = debian isync.spec $(bin_SCRIPTS)
log:
@perl -p -e "s/^(\\S+)\\s+(\\S.+\\S)\\s+(\\S+)\\s*\$$/\$$1:'\$$2 <\$$3>'\\n/" < ../CVSROOT/accounts > .usermap
cvs2cl -U .usermap --no-wrap --separate-header -I ChangeLog -I NEWS -I TODO -I debian/
@if test -f CVS/Tag; then tag=`cut -c2- CVS/Tag`; else tag=trunk; fi; \
cvs2cl -U .usermap -F $$tag --no-wrap --separate-header -I ChangeLog -I NEWS -I TODO -I debian/
@rm -f .usermap ChangeLog.bak
deb:

View file

@ -1,6 +1,6 @@
AC_INIT(src/isync.h)
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(isync, 1.0.1)
AM_INIT_AUTOMAKE(isync, 1.0.2)
AM_MAINTAINER_MODE
@ -9,6 +9,7 @@ if test "$GCC" = yes; then
CFLAGS="$CFLAGS -pipe -W -Wall -Wshadow -Wstrict-prototypes"
fi
AC_CHECK_HEADERS([sys/filio.h])
AC_CHECK_FUNCS(vasprintf)
AC_CHECK_LIB(socket, socket, [SOCK_LIBS="-lsocket"])

View file

@ -331,8 +331,8 @@ main( int argc, char **argv )
while ((de = readdir( dir ))) {
if (*de->d_name == '.')
continue;
nfsnprintf( path1, sizeof(path1), "%s/%s/cur", xmaildir, de->d_name );
if (stat( path1, &st ) || !S_ISDIR( st.st_mode ))
nfsnprintf( path2, sizeof(path2), "%s/%s/cur", xmaildir, de->d_name );
if (stat( path2, &st ) || !S_ISDIR( st.st_mode ))
continue;
global.path = de->d_name;
global.box = (inbox && !strcmp( inbox, global.path )) ?

View file

@ -31,11 +31,15 @@
#include <stdlib.h>
#include <stdio.h>
#include <stddef.h>
#include <limits.h>
#include <errno.h>
#include <string.h>
#include <ctype.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#ifdef HAVE_SYS_FILIO_H
# include <sys/filio.h>
#endif
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>

View file

@ -251,7 +251,7 @@ sync_old( int tops, store_t *sctx, store_t *tctx, store_conf_t *tconf, FILE *jfp
{
driver_t *tdriver = tctx->conf->driver, *sdriver = sctx->conf->driver;
int uid, tuid, unex;
unsigned char sflags, aflags, dflags, rflags;
unsigned char sflags, aflags, dflags;
msg_data_t msgdata;
/* excludes (push) c.3) d.2) d.3) d.4) / (pull) b.3) d.7) d.8) d.9) */
@ -332,20 +332,18 @@ sync_old( int tops, store_t *sctx, store_t *tctx, store_conf_t *tconf, FILE *jfp
unex = 0;
if (srec->status & S_EXPIRED) {
if (!pull) {
if (sflags & F_DELETED) {
if (!(sflags & F_FLAGGED))
aflags &= ~F_DELETED;
} else
unex = 1;
if ((aflags & ~F_DELETED) || dflags)
info( "Info: Flags of expired message changed in (%d,%d)\n", srec->muid, srec->suid );
return SYNC_OK;
} else {
if ((sflags & F_FLAGGED) && !(sflags & F_DELETED)) {
unex = 1;
dflags |= F_DELETED;
}
} else
return SYNC_OK;
}
}
rflags = (*nflags | aflags) & ~dflags;
if ((tops & OP_EXPUNGE) && (rflags & F_DELETED) &&
if ((tops & OP_EXPUNGE) && (sflags & F_DELETED) &&
(!tctx->conf->trash || tctx->conf->trash_only_new))
{
aflags &= F_DELETED;
@ -356,7 +354,7 @@ sync_old( int tops, store_t *sctx, store_t *tctx, store_conf_t *tconf, FILE *jfp
case DRV_BOX_BAD: return SYNC_FAIL;
default: /* ok */ break;
case DRV_OK:
*nflags = rflags;
*nflags = (*nflags | aflags) & ~dflags;
if (unex) {
debug( "unexpiring pair(%d,%d)\n", srec->muid, srec->suid );
/* log last, so deletion can't be misinterpreted! */
@ -699,7 +697,7 @@ sync_boxes( store_t *mctx, const char *mname,
} else
maxwuid = 0;
info( "Selecting slave %s... ", sname );
debug( "selecting slave [1,%d]\n", maxwuid );
debug( maxwuid == INT_MAX ? "selecting slave [1,inf]\n" : "selecting slave [1,%d]\n", maxwuid );
switch (sdriver->select( sctx, (sctx->opts & OPEN_OLD) ? 1 : smaxuid + 1, maxwuid, 0, 0 )) {
case DRV_STORE_BAD: ret = SYNC_SLAVE_BAD; goto bail;
case DRV_BOX_BAD: ret = SYNC_FAIL; goto bail;
@ -802,7 +800,7 @@ sync_boxes( store_t *mctx, const char *mname,
} else
maxwuid = 0;
info( "Selecting master %s... ", mname );
debug( "selecting master [%d,%d]\n", minwuid, maxwuid );
debug( maxwuid == INT_MAX ? "selecting master [%d,inf]\n" : "selecting master [%d,%d]\n", minwuid, maxwuid );
switch (mdriver->select( mctx, minwuid, maxwuid, mexcs, nmexcs )) {
case DRV_STORE_BAD: ret = SYNC_MASTER_BAD; goto finish;
case DRV_BOX_BAD: ret = SYNC_FAIL; goto finish;

View file

@ -41,6 +41,7 @@ debug( const char *msg, ... )
va_start( va, msg );
vprintf( msg, va );
va_end( va );
fflush( stdout );
}
}