From: adam Date: Sun, 22 Jul 2007 23:15:23 +0000 (+0000) Subject: highly suspicious changes to IMAP.java X-Git-Url: http://git.megacz.com/?p=org.ibex.mail.git;a=commitdiff_plain;h=9a6615359c1f811c1a20b2c21821b74f74c4af52 highly suspicious changes to IMAP.java darcs-hash:20070722231523-5007d-93b0cf3fc81c604ce989b158029320d52780bfbd.gz --- diff --git a/src/org/ibex/mail/IMAP.java b/src/org/ibex/mail/IMAP.java index f97e771..f790298 100644 --- a/src/org/ibex/mail/IMAP.java +++ b/src/org/ibex/mail/IMAP.java @@ -444,8 +444,8 @@ public class IMAP { lastfetch = t; int spec = 0; // spec; see constants for flags + int start = 0, len = 0; String[] headers = null; - int start = -1, end = -1; StringBuffer r = new StringBuffer(); if (e) { r.append(num); r.append(" FETCH ("); } int initlen = r.length(); @@ -509,19 +509,28 @@ public class IMAP { else if (s.equals("HEADER.FIELDS.NOT")) { spec |= FIELDSNOT; payload=Fountain.Util.create(headers(r,t[i].l()[1].sl(),true,m,e)); } else if (s.equals("MIME")) { throw new Server.Bad("MIME not supported"); } else throw new Server.Bad("unknown section type " + s); + if (i')); int dot = s.indexOf('.'); start = dot == -1 ? Integer.parseInt(s) : Integer.parseInt(s.substring(0, s.indexOf('.'))); - end = dot == -1 ? -1 : Integer.parseInt(s.substring(s.indexOf('.') + 1)); + len = dot == -1 ? -1 : Integer.parseInt(s.substring(s.indexOf('.') + 1)); if (e) { - //payload = payload.substring(start, Math.min(end+1,payload.getLength())); r.append("<"+start+">"); - // FIXME - throw new RuntimeException("this had to be disabled"); + if (start == 0 && len == -1) { + } else if (len == -1) { + payload = Fountain.Util.subFountain(payload, start); + } else { + len = (int)Math.min(len, payload.getLength()-start); + payload = Fountain.Util.subFountain(payload, start, len); + } + r.append("]"); + r.append("<"+start+"> "); } + } else { + if (e) r.append("] "); } - if (e) { r.append("] "); r.append(Printer.qq(payload.getStream())); } + if (e) r.append(Printer.qq(payload.getStream())); } } if ((spec & PEEK) == 0 && looked_at_body && e) @@ -530,7 +539,7 @@ public class IMAP { r.append(")"); println("* " + r.toString()); } else { - api.fetch(q, spec, headers, start, end, uid); + api.fetch(q, spec, headers, start, (len==-1?0:len), uid); } } diff --git a/src/org/ibex/mail/Whitelist.java b/src/org/ibex/mail/Whitelist.java index 81e4b64..f85181d 100644 --- a/src/org/ibex/mail/Whitelist.java +++ b/src/org/ibex/mail/Whitelist.java @@ -96,6 +96,9 @@ public class Whitelist extends SqliteDB { a = m.envelopeFrom; if (a!=null) addWhitelist(a); hsm.add(m); + if (m.cc != null) for(Address aa : m.cc) { + if (aa!= null) addWhitelist(aa); + } } while (rs.next()); } for(Message m : hsm)