You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(247) |
Aug
(376) |
Sep
(628) |
Oct
(849) |
Nov
(718) |
Dec
(339) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(446) |
Feb
(638) |
Mar
(310) |
Apr
(306) |
May
(192) |
Jun
(370) |
Jul
(486) |
Aug
(290) |
Sep
(365) |
Oct
(197) |
Nov
(427) |
Dec
(308) |
2005 |
Jan
(280) |
Feb
(34) |
Mar
|
Apr
(39) |
May
(166) |
Jun
(294) |
Jul
(413) |
Aug
(521) |
Sep
(333) |
Oct
(81) |
Nov
(10) |
Dec
(58) |
2006 |
Jan
(102) |
Feb
(189) |
Mar
(373) |
Apr
(363) |
May
(312) |
Jun
(1204) |
Jul
(123) |
Aug
(20) |
Sep
(22) |
Oct
(27) |
Nov
(27) |
Dec
(55) |
2007 |
Jan
(46) |
Feb
(9) |
Mar
(5) |
Apr
(14) |
May
(17) |
Jun
(12) |
Jul
|
Aug
(14) |
Sep
(17) |
Oct
(11) |
Nov
(11) |
Dec
(15) |
2008 |
Jan
(6) |
Feb
(15) |
Mar
(32) |
Apr
(27) |
May
(18) |
Jun
(30) |
Jul
(70) |
Aug
(14) |
Sep
(24) |
Oct
(14) |
Nov
(33) |
Dec
(30) |
2009 |
Jan
|
Feb
(14) |
Mar
(1) |
Apr
(11) |
May
(14) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(28) |
Dec
(6) |
2010 |
Jan
(1) |
Feb
|
Mar
(11) |
Apr
|
May
(1) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <xa...@us...> - 2016-03-01 01:14:12
|
Revision: 465 http://sourceforge.net/p/columba/code/465 Author: xapiens Date: 2016-03-01 01:14:09 +0000 (Tue, 01 Mar 2016) Log Message: ----------- add ssl support Modified Paths: -------------- ristretto/trunk/ristretto-smtp/src/main/java/org/columba/ristretto/smtp/SMTPProtocol.java Modified: ristretto/trunk/ristretto-smtp/src/main/java/org/columba/ristretto/smtp/SMTPProtocol.java =================================================================== --- ristretto/trunk/ristretto-smtp/src/main/java/org/columba/ristretto/smtp/SMTPProtocol.java 2013-08-16 18:01:39 UTC (rev 464) +++ ristretto/trunk/ristretto-smtp/src/main/java/org/columba/ristretto/smtp/SMTPProtocol.java 2016-03-01 01:14:09 UTC (rev 465) @@ -57,6 +57,7 @@ import java.nio.ByteBuffer; import java.util.LinkedList; import java.util.logging.Logger; +import java.util.regex.Matcher; /** * Implementation of the client side SMTP protocol. @@ -182,6 +183,43 @@ } } + /** + * Opens a connection to the POP3 server using a SSL socket. + * This is also known as the POPs protocol. + * + * @throws IOException + * @throws SSLException + * @throws POP3Exception + */ + public String openSSLPort() throws IOException, SSLException, SMTPException { + socket = RistrettoSSLSocketFactory.getInstance().createSocket(host, + port); + socket.setSoTimeout(RistrettoConfig.getInstance().getTimeout()); + + // handshake (which cyper algorithms are used?) + ((SSLSocket) socket).startHandshake(); + + createStreams(); + + SMTPResponse response = in.readSingleLineResponse(); + if (response.isERR()) + throw new SMTPException(response.getMessage()); + String domain = response.getDomain(); + + // don't care what the server has to say here. + if (response.isHasSuccessor()) { + response = readSingleLineResponse(); + + while (response.isHasSuccessor() && response.isOK()) { + response = readSingleLineResponse(); + } + } + + state = PLAIN; + + return domain; + } + private void createStreams() throws IOException { if (RistrettoLogger.logStream != null) { in = new SMTPInputStream(new LogInputStream( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2013-08-16 18:01:46
|
Revision: 464 http://sourceforge.net/p/columba/code/464 Author: eschman Date: 2013-08-16 18:01:39 +0000 (Fri, 16 Aug 2013) Log Message: ----------- According to RFC 3207 4.2 the client should resent the EHLO command after STARTTLS. Some servers require this behaviour. Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/smtp/SMTPServer.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/smtp/SMTPServer.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/smtp/SMTPServer.java 2013-03-21 15:12:38 UTC (rev 463) +++ columba/trunk/mail/src/main/java/org/columba/mail/smtp/SMTPServer.java 2013-08-16 18:01:39 UTC (rev 464) @@ -292,6 +292,9 @@ try { protocol.startTLS(); usingSSL = true; + + // reinitialize the connection after STARTTLS + initialize(); } catch (Exception e) { Object[] options = new String[] { MailResourceLoader.getString("", "global", "ok") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2013-03-21 15:12:45
|
Revision: 463 http://columba.svn.sourceforge.net/columba/?rev=463&view=rev Author: eschman Date: 2013-03-21 15:12:38 +0000 (Thu, 21 Mar 2013) Log Message: ----------- [bug]remove invalid invalid character which causes problems during mvn package Modified Paths: -------------- ristretto/trunk/ristretto-imap/src/main/java/org/columba/ristretto/imap/MailboxNameUTF7Converter.java Modified: ristretto/trunk/ristretto-imap/src/main/java/org/columba/ristretto/imap/MailboxNameUTF7Converter.java =================================================================== --- ristretto/trunk/ristretto-imap/src/main/java/org/columba/ristretto/imap/MailboxNameUTF7Converter.java 2013-03-21 15:00:44 UTC (rev 462) +++ ristretto/trunk/ristretto-imap/src/main/java/org/columba/ristretto/imap/MailboxNameUTF7Converter.java 2013-03-21 15:12:38 UTC (rev 463) @@ -212,7 +212,6 @@ } String returnString = result.toString(); - //System.out.println("schlu\xDFendlich :" + returnString); return returnString; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2013-03-21 15:00:54
|
Revision: 462 http://columba.svn.sourceforge.net/columba/?rev=462&view=rev Author: eschman Date: 2013-03-21 15:00:44 +0000 (Thu, 21 Mar 2013) Log Message: ----------- [bug]The decoder used in the fallback decoder should report errors to handle the fallback correctly Modified Paths: -------------- ristretto/trunk/ristretto-common/src/main/java/org/columba/ristretto/coder/FallbackCharsetDecoderInputStream.java ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/coder/FallbackCharsetDecoderInputStreamTest.java Modified: ristretto/trunk/ristretto-common/src/main/java/org/columba/ristretto/coder/FallbackCharsetDecoderInputStream.java =================================================================== --- ristretto/trunk/ristretto-common/src/main/java/org/columba/ristretto/coder/FallbackCharsetDecoderInputStream.java 2013-03-21 11:54:04 UTC (rev 461) +++ ristretto/trunk/ristretto-common/src/main/java/org/columba/ristretto/coder/FallbackCharsetDecoderInputStream.java 2013-03-21 15:00:44 UTC (rev 462) @@ -119,19 +119,20 @@ outChars.clear(); result = decoder.decode(inBytes, outChars, in.available() == 0); - } while(outChars.position() == 0); + } while( (outChars.position() == 0) && result.isUnderflow() ); outChars.rewind(); - ByteBuffer test = charset.encode(outChars); - // if the decoder was unable to perform decoding it returns a - // char but i get an underflow result - while( (result.isUnderflow() || test.capacity() == 0) && fallback()) { + while( !result.isUnderflow() && fallback() ) { inBytes.rewind(); outChars.clear(); result = decoder.decode(inBytes, outChars, in.available() == 0); outChars.rewind(); - test = charset.encode(outChars); - } + } + + if ( !result.isUnderflow() ) { + outChars.append(decoder.replacement()); + outChars.rewind(); + } return outChars.position(); } @@ -149,7 +150,7 @@ } private void initDecoder() { - decoder = charset.newDecoder().onMalformedInput(CodingErrorAction.REPLACE).onUnmappableCharacter(CodingErrorAction.REPLACE); + decoder = charset.newDecoder().onMalformedInput(CodingErrorAction.REPORT).onUnmappableCharacter(CodingErrorAction.REPORT); } Modified: ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/coder/FallbackCharsetDecoderInputStreamTest.java =================================================================== --- ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/coder/FallbackCharsetDecoderInputStreamTest.java 2013-03-21 11:54:04 UTC (rev 461) +++ ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/coder/FallbackCharsetDecoderInputStreamTest.java 2013-03-21 15:00:44 UTC (rev 462) @@ -47,11 +47,10 @@ public class FallbackCharsetDecoderInputStreamTest { @Test - public void testISO_8859_1butwindows_1252() { + public void testUS_ASCII_butwindows_1252() { String test = "\u2014mple"; try { InputStream in = new FallbackCharsetDecoderInputStream( new ByteArrayInputStream( test.getBytes("windows-1252")), Charset.forName("us-ascii") ); - //InputStream in = new FallbackCharsetDecoderInputStream( new ByteArrayInputStream( test.getBytes("windows-1252")), Charset.forName("windows-1252") ); StringBuffer result = new StringBuffer(); int next = in.read(); while( next != -1) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2013-03-21 11:54:14
|
Revision: 461 http://columba.svn.sourceforge.net/columba/?rev=461&view=rev Author: eschman Date: 2013-03-21 11:54:04 +0000 (Thu, 21 Mar 2013) Log Message: ----------- Update to new version of sleepycat for the DB. I had a problem 2 times in which the database got corrupted but after changing to this version i did not see this problem again. The database will be updated automatically and is afterwards incompatible with the old sleepycat version. Modified Paths: -------------- columba/trunk/mail/pom.xml columba/trunk/mail/src/main/java/org/columba/mail/folder/headercache/BerkeleyDBHeaderList.java Modified: columba/trunk/mail/pom.xml =================================================================== --- columba/trunk/mail/pom.xml 2012-05-30 16:27:12 UTC (rev 460) +++ columba/trunk/mail/pom.xml 2013-03-21 11:54:04 UTC (rev 461) @@ -127,7 +127,7 @@ <dependency> <groupId>com.sleepycat</groupId> <artifactId>je</artifactId> - <version>2.1.30</version> + <version>4.1.10</version> </dependency> <dependency> <groupId>com.jniwrapper</groupId> @@ -135,6 +135,14 @@ <version>2.4</version> </dependency> </dependencies> + <repositories> + <repository> + <id>oracleReleases</id> + <name>Oracle Released Java Packages</name> + <url>http://download.oracle.com/maven</url> + <layout>default</layout> + </repository> + </repositories> <reporting> <outputDirectory>target/site</outputDirectory> <plugins> Modified: columba/trunk/mail/src/main/java/org/columba/mail/folder/headercache/BerkeleyDBHeaderList.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/folder/headercache/BerkeleyDBHeaderList.java 2012-05-30 16:27:12 UTC (rev 460) +++ columba/trunk/mail/src/main/java/org/columba/mail/folder/headercache/BerkeleyDBHeaderList.java 2013-03-21 11:54:04 UTC (rev 461) @@ -315,7 +315,7 @@ LOG.severe(e.getMessage()); throw new RuntimeException(e); } - return new BerkeleyDBIterator( (StoredIterator)new StoredValueSet(db,headerBinding, false).iterator()); + return new BerkeleyDBIterator(new StoredValueSet(db, headerBinding, false).storedIterator()); } /* (non-Javadoc) @@ -328,7 +328,7 @@ LOG.severe(e.getMessage()); throw new RuntimeException(e); } - return new BerkeleyDBIterator( (StoredIterator)new StoredKeySet(db, integerBinding, false).iterator()); + return new BerkeleyDBIterator(new StoredKeySet(db, integerBinding, false).storedIterator()); } /* (non-Javadoc) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2012-05-30 16:27:23
|
Revision: 460 http://columba.svn.sourceforge.net/columba/?rev=460&view=rev Author: eschman Date: 2012-05-30 16:27:12 +0000 (Wed, 30 May 2012) Log Message: ----------- [bug]fix compile error under OpenJDK7 (the function was added to a parent class but with different return type catch error which is thrown by the cobra renderer under OpenJDK7 Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/action/CreateSubFolderAction.java columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/CreateFolderDialog.java columba/trunk/plugins/org.columba.core.CobraRenderer/src/org/columba/core/htmlviewer/CobraViewerPlugin.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/action/CreateSubFolderAction.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/action/CreateSubFolderAction.java 2011-09-26 22:44:56 UTC (rev 459) +++ columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/action/CreateSubFolderAction.java 2012-05-30 16:27:12 UTC (rev 460) @@ -83,7 +83,7 @@ // ok pressed selection.setSourceFolder(dialog.getSelected()); selection.setFolderName(dialog.getName()); - selection.setFolderType(dialog.getType()); + selection.setFolderType(dialog.getFolderType()); CommandProcessor.getInstance().addOp( new CreateSubFolderCommand(selection)); Modified: columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/CreateFolderDialog.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/CreateFolderDialog.java 2011-09-26 22:44:56 UTC (rev 459) +++ columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/CreateFolderDialog.java 2012-05-30 16:27:12 UTC (rev 460) @@ -291,7 +291,7 @@ /** * @return */ - public String getType() { + public String getFolderType() { return (String) typeBox.getSelectedItem(); } } \ No newline at end of file Modified: columba/trunk/plugins/org.columba.core.CobraRenderer/src/org/columba/core/htmlviewer/CobraViewerPlugin.java =================================================================== --- columba/trunk/plugins/org.columba.core.CobraRenderer/src/org/columba/core/htmlviewer/CobraViewerPlugin.java 2011-09-26 22:44:56 UTC (rev 459) +++ columba/trunk/plugins/org.columba.core.CobraRenderer/src/org/columba/core/htmlviewer/CobraViewerPlugin.java 2012-05-30 16:27:12 UTC (rev 460) @@ -10,6 +10,7 @@ import javax.swing.JPanel; import org.columba.core.desktop.ColumbaDesktop; +import org.columba.core.gui.dialog.ErrorDialog; import org.columba.core.gui.htmlviewer.api.IHTMLViewerPlugin; import org.lobobrowser.html.HtmlRendererContext; import org.lobobrowser.html.gui.HtmlPanel; @@ -47,7 +48,9 @@ htmlPanel.setDocument(document, rendererContext); } catch (Exception e) { - e.printStackTrace(); + ErrorDialog.createDialog(e.getMessage(), e); + } catch (Error e) { + ErrorDialog.createDialog(e.getMessage(), e); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2011-09-26 22:45:02
|
Revision: 459 http://columba.svn.sourceforge.net/columba/?rev=459&view=rev Author: eschman Date: 2011-09-26 22:44:56 +0000 (Mon, 26 Sep 2011) Log Message: ----------- [bug] make sure the end of an event does not occur before the start fix a bug in allday events because seconds must also be 0 for allday events do not show 00:00 of the next day but 24:00 of the day before correctly update the view again after modifying an event Modified Paths: -------------- columba/trunk/calendar/src/main/java/org/columba/calendar/store/StoreEventDelegator.java columba/trunk/calendar/src/main/java/org/columba/calendar/ui/base/CalendarHelper.java columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/EditEventDialog.java Modified: columba/trunk/calendar/src/main/java/org/columba/calendar/store/StoreEventDelegator.java =================================================================== --- columba/trunk/calendar/src/main/java/org/columba/calendar/store/StoreEventDelegator.java 2011-07-17 04:11:18 UTC (rev 458) +++ columba/trunk/calendar/src/main/java/org/columba/calendar/store/StoreEventDelegator.java 2011-09-26 22:44:56 UTC (rev 459) @@ -38,7 +38,7 @@ import com.miginfocom.calendar.activity.Activity; import com.miginfocom.calendar.activity.ActivityDepository; -import com.miginfocom.calendar.category.CategoryStructureEvent; +import com.miginfocom.util.dates.TimeSpanListEvent; /** * StoreEventDelegator class @@ -121,7 +121,7 @@ .createActivity((IEventInfo) model, store); ActivityDepository.getInstance().addBrokedActivity(act, - this, CategoryStructureEvent.ADDED_CREATED); + this, TimeSpanListEvent.ADDED_CREATED); } } catch (StoreException e) { // TODO Auto-generated catch block @@ -156,7 +156,7 @@ // we only update changes for events currently if (model.getType() == IComponent.TYPE.EVENT) { - String activityId = model.getId(); + String activityId = CalendarHelper.getActivityId(model, store); // remove old activity ActivityDepository.getInstance() .removeBrokedActivityById(activityId); @@ -165,7 +165,7 @@ Activity act = CalendarHelper .createActivity((IEventInfo) model, store); ActivityDepository.getInstance().addBrokedActivity(act, - this, CategoryStructureEvent.ADDED_CREATED); + this, TimeSpanListEvent.ADDED_CREATED); } } catch (StoreException e) { // TODO Auto-generated catch block Modified: columba/trunk/calendar/src/main/java/org/columba/calendar/ui/base/CalendarHelper.java =================================================================== --- columba/trunk/calendar/src/main/java/org/columba/calendar/ui/base/CalendarHelper.java 2011-07-17 04:11:18 UTC (rev 458) +++ columba/trunk/calendar/src/main/java/org/columba/calendar/ui/base/CalendarHelper.java 2011-09-26 22:44:56 UTC (rev 459) @@ -19,6 +19,7 @@ import org.columba.calendar.model.DateRange; import org.columba.calendar.model.Recurrence; +import org.columba.calendar.model.api.IComponentInfo; import org.columba.calendar.model.api.IEvent; import org.columba.calendar.model.api.IEventInfo; import org.columba.calendar.model.api.IRecurrence; @@ -32,6 +33,10 @@ public class CalendarHelper { + public static String getActivityId(IComponentInfo model, ICalendarStore store) { + return store.getId() + ':' + model.getId(); + } + public static Activity createActivity(IEventInfo model, ICalendarStore store) { long startMillis = model.getEvent().getDtStart().getTimeInMillis(); @@ -41,7 +46,7 @@ false, null, null); // A recurring event - Activity act = new DefaultActivity(dr, store.getId() + ':' + model.getId()); + Activity act = new DefaultActivity(dr, getActivityId(model, store)); act.setSummary(model.getEvent().getSummary()); act.setLocation(model.getEvent().getLocation()); act.setDescription(model.getEvent().getDescription()); Modified: columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/EditEventDialog.java =================================================================== --- columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/EditEventDialog.java 2011-07-17 04:11:18 UTC (rev 458) +++ columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/EditEventDialog.java 2011-09-26 22:44:56 UTC (rev 459) @@ -371,24 +371,29 @@ locationTextField.setText(model.getEvent().getLocation()); categoriesTextField.setText(model.getEvent().getCategories()); descriptionTextArea.setText(model.getEvent().getDescription()); - + + Calendar start = model.getEvent().getDtStart(); + startDayDatePicker.setDate(start); + startTimePicker.setTime(start.get(Calendar.HOUR_OF_DAY), start.get(Calendar.MINUTE)); + + Calendar end = model.getEvent().getDtEnd(); if (model.getEvent().isAllDayEvent()) { + // use 24:00 on the previous day instead of 00:00 on the next day + endTimePicker.setTime(24, 0); + end.roll(Calendar.DAY_OF_MONTH, false); + // disable time pickers startTimePicker.setEnabled(false); endTimePicker.setEnabled(false); } else { + endTimePicker.setTime(end.get(Calendar.HOUR_OF_DAY), end.get(Calendar.MINUTE)); + // enable time pickers startTimePicker.setEnabled(true); endTimePicker.setEnabled(true); } + endDayDatePicker.setDate(end); - Calendar start = model.getEvent().getDtStart(); - startDayDatePicker.setDate(start); - startTimePicker.setTime(start.get(Calendar.HOUR_OF_DAY), start.get(Calendar.MINUTE)); - Calendar end = model.getEvent().getDtEnd(); - endDayDatePicker.setDate(end); - endTimePicker.setTime(end.get(Calendar.HOUR_OF_DAY), end.get(Calendar.MINUTE)); - allDayCheckBox.setSelected(model.getEvent().isAllDayEvent()); ICalendarItem calendar = CalendarList.getInstance().get(model.getCalendar()); @@ -412,42 +417,44 @@ Calendar start = startDayDatePicker.getDate(); Calendar end = endDayDatePicker.getDate(); - int startHour = 0; - int startMinutes = 0; - int endHour = 0; - int endMinutes = 0; + start.set(Calendar.SECOND, 0); + start.set(Calendar.MILLISECOND, 0); + end.set(Calendar.SECOND, 0); + end.set(Calendar.MILLISECOND, 0); + + int rollfield; if (allDayCheckBox.isSelected()) { - // disable time pickers startTimePicker.setEnabled(false); endTimePicker.setEnabled(false); - startHour = 0; - startMinutes = 0; - start.set(Calendar.HOUR_OF_DAY, startHour); - start.set(Calendar.MINUTE, startMinutes); + start.set(Calendar.HOUR_OF_DAY, 0); + start.set(Calendar.MINUTE, 0); - endHour = 0; - endMinutes = 0; - end.set(Calendar.HOUR_OF_DAY, endHour); - end.set(Calendar.MINUTE, endMinutes); + end.set(Calendar.HOUR_OF_DAY, 24); + end.set(Calendar.MINUTE, 0); + rollfield = Calendar.DAY_OF_MONTH; } else { // enable time pickers startTimePicker.setEnabled(true); endTimePicker.setEnabled(true); - startHour = startTimePicker.getHour(); - startMinutes = startTimePicker.getMinutes(); - start.set(Calendar.HOUR_OF_DAY, startHour); - start.set(Calendar.MINUTE, startMinutes); + start.set(Calendar.HOUR_OF_DAY, startTimePicker.getHour()); + start.set(Calendar.MINUTE, startTimePicker.getMinutes()); - endHour = endTimePicker.getHour(); - endMinutes = endTimePicker.getMinutes(); - end.set(Calendar.HOUR_OF_DAY, endHour); - end.set(Calendar.MINUTE, endMinutes); + end.set(Calendar.HOUR_OF_DAY, endTimePicker.getHour()); + end.set(Calendar.MINUTE, endTimePicker.getHour()); + + rollfield = Calendar.HOUR_OF_DAY; } + + // make sure end occurs after start + if (end.compareTo(start) <= 0) { + end = (Calendar)start.clone(); + end.roll(rollfield, true); + } model.getEvent().setDtStart(start); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mli...@us...> - 2011-07-17 04:11:24
|
Revision: 458 http://columba.svn.sourceforge.net/columba/?rev=458&view=rev Author: mlivingstone Date: 2011-07-17 04:11:18 +0000 (Sun, 17 Jul 2011) Log Message: ----------- Updated Ristretto text version Added Paths: ----------- columba/trunk/lib/ristretto-20110717-all.jar Added: columba/trunk/lib/ristretto-20110717-all.jar =================================================================== (Binary files differ) Property changes on: columba/trunk/lib/ristretto-20110717-all.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mli...@us...> - 2011-01-22 06:21:11
|
Revision: 457 http://columba.svn.sourceforge.net/columba/?rev=457&view=rev Author: mlivingstone Date: 2011-01-22 06:21:05 +0000 (Sat, 22 Jan 2011) Log Message: ----------- Ristretto POP3+TLS+Exchange Server 2007 bug Modified Paths: -------------- ristretto/trunk/src/core/org/columba/ristretto/pop3/POP3Protocol.java Modified: ristretto/trunk/src/core/org/columba/ristretto/pop3/POP3Protocol.java =================================================================== --- ristretto/trunk/src/core/org/columba/ristretto/pop3/POP3Protocol.java 2010-06-01 18:29:24 UTC (rev 456) +++ ristretto/trunk/src/core/org/columba/ristretto/pop3/POP3Protocol.java 2011-01-22 06:21:05 UTC (rev 457) @@ -666,9 +666,12 @@ * @throws POP3Exception */ public void quit() throws IOException, POP3Exception { + POP3Response response; + try { mutex.lock(); sendCommand("QUIT", null ); + response = readSingleLineResponse(); } finally { mutex.release(); socket.close(); @@ -678,8 +681,9 @@ socket = null; state = NOT_CONNECTED; - } + + if( !response.isOK() ) throw new POP3Exception ( response); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-06-01 18:29:30
|
Revision: 456 http://columba.svn.sourceforge.net/columba/?rev=456&view=rev Author: eschman Date: 2010-06-01 18:29:24 +0000 (Tue, 01 Jun 2010) Log Message: ----------- [bug] do not select folders which have a Noselect flag Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java 2010-06-01 17:14:46 UTC (rev 455) +++ columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java 2010-06-01 18:29:24 UTC (rev 456) @@ -254,6 +254,10 @@ Object[] result = new Object[0]; + // do not sync folders which have a Noselect flag + if (!getConfiguration().getBooleanWithDefault("selectable", true)) + return result; + // Check if the mailbox has changed MailboxStatus status = getServer().getStatus(this); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-06-01 17:14:52
|
Revision: 455 http://columba.svn.sourceforge.net/columba/?rev=455&view=rev Author: eschman Date: 2010-06-01 17:14:46 +0000 (Tue, 01 Jun 2010) Log Message: ----------- [intern] also fix tests again for the change in MemBufferInputStream Modified Paths: -------------- ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/MemBufferInputStreamTest.java ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/MemBufferOutputStreamTest.java Modified: ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/MemBufferInputStreamTest.java =================================================================== --- ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/MemBufferInputStreamTest.java 2010-06-01 17:04:27 UTC (rev 454) +++ ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/MemBufferInputStreamTest.java 2010-06-01 17:14:46 UTC (rev 455) @@ -62,7 +62,7 @@ MemBufferInputStream in = new MemBufferInputStream( buffer ); int i; for( i=0; in.available() > 0; i++) { - Assert.assertEquals( input[i], in.read()); + Assert.assertEquals( input[i] & 0xff, in.read()); } Assert.assertEquals( input.length, i); Modified: ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/MemBufferOutputStreamTest.java =================================================================== --- ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/MemBufferOutputStreamTest.java 2010-06-01 17:04:27 UTC (rev 454) +++ ristretto/trunk/ristretto-common/src/test/java/org/columba/ristretto/message/io/MemBufferOutputStreamTest.java 2010-06-01 17:14:46 UTC (rev 455) @@ -87,7 +87,7 @@ Assert.assertEquals( 1, in.available()); test = in.read(); - Assert.assertEquals( input[i], test); + Assert.assertEquals( input[i] & 0xff, test); Assert.assertEquals( -1, in.read()); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-06-01 17:04:33
|
Revision: 454 http://columba.svn.sourceforge.net/columba/?rev=454&view=rev Author: eschman Date: 2010-06-01 17:04:27 +0000 (Tue, 01 Jun 2010) Log Message: ----------- [bug] read should return the value in the range of 0 to 255 because of the negative return value at end of stream. This is the way ByteArrayInputStream does this Modified Paths: -------------- ristretto/trunk/ristretto-common/src/main/java/org/columba/ristretto/io/MemBufferInputStream.java Modified: ristretto/trunk/ristretto-common/src/main/java/org/columba/ristretto/io/MemBufferInputStream.java =================================================================== --- ristretto/trunk/ristretto-common/src/main/java/org/columba/ristretto/io/MemBufferInputStream.java 2010-05-31 20:56:58 UTC (rev 453) +++ ristretto/trunk/ristretto-common/src/main/java/org/columba/ristretto/io/MemBufferInputStream.java 2010-06-01 17:04:27 UTC (rev 454) @@ -63,7 +63,7 @@ */ public int read() throws IOException { if( buffer.size() == pos) return -1; - else return buffer.get(pos++); + else return buffer.get(pos++) & 0xff; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-05-31 20:57:04
|
Revision: 453 http://columba.svn.sourceforge.net/columba/?rev=453&view=rev Author: eschman Date: 2010-05-31 20:56:58 +0000 (Mon, 31 May 2010) Log Message: ----------- [internal] synchronizeHeaderlist() already receives the status from the server so there is no need to get it a second time Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java columba/trunk/mail/src/main/java/org/columba/mail/imap/IImapServer.java columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java columba/trunk/mail/src/test/java/org/columba/mail/imap/TestServer.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java 2010-03-17 09:06:42 UTC (rev 452) +++ columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java 2010-05-31 20:56:58 UTC (rev 453) @@ -279,7 +279,7 @@ int largestLocalUid = localUids.size() > 0 ? ((Integer) localUids .get(localUids.size() - 1)).intValue() : -1; - int largestRemoteUid = getServer().getLargestRemoteUid(this); + int largestRemoteUid = getServer().getLargestRemoteUid(this, status); if (localUids.size() == status.getMessages() && largestRemoteUid == largestLocalUid) { Modified: columba/trunk/mail/src/main/java/org/columba/mail/imap/IImapServer.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/imap/IImapServer.java 2010-03-17 09:06:42 UTC (rev 452) +++ columba/trunk/mail/src/main/java/org/columba/mail/imap/IImapServer.java 2010-05-31 20:56:58 UTC (rev 453) @@ -512,5 +512,7 @@ public int getLargestRemoteUid(IMAPFolder folder) throws IOException, IMAPException, CommandCancelledException; + + public int getLargestRemoteUid(IMAPFolder folder, MailboxStatus status) throws IOException, IMAPException, CommandCancelledException; } \ No newline at end of file Modified: columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java 2010-03-17 09:06:42 UTC (rev 452) +++ columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java 2010-05-31 20:56:58 UTC (rev 453) @@ -634,6 +634,10 @@ public int getLargestRemoteUid(IMAPFolder folder) throws IOException, IMAPException, CommandCancelledException { MailboxStatus status = getStatus(folder); + return getLargestRemoteUid(folder, status); + } + + public int getLargestRemoteUid(IMAPFolder folder, MailboxStatus status) throws IOException, IMAPException, CommandCancelledException { if(status.getUidNext() < 0 && status.getMessages() > 0 ) { return fetchUid(new SequenceSet(status.getMessages()), folder); } else { Modified: columba/trunk/mail/src/test/java/org/columba/mail/imap/TestServer.java =================================================================== --- columba/trunk/mail/src/test/java/org/columba/mail/imap/TestServer.java 2010-03-17 09:06:42 UTC (rev 452) +++ columba/trunk/mail/src/test/java/org/columba/mail/imap/TestServer.java 2010-05-31 20:56:58 UTC (rev 453) @@ -391,4 +391,9 @@ return maxUid; } + public int getLargestRemoteUid(IMAPFolder folder, MailboxStatus status) + throws IOException, IMAPException, CommandCancelledException { + return getLargestRemoteUid(folder); + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-03-17 09:06:48
|
Revision: 452 http://columba.svn.sourceforge.net/columba/?rev=452&view=rev Author: eschman Date: 2010-03-17 09:06:42 +0000 (Wed, 17 Mar 2010) Log Message: ----------- [bug] don't show the root folder in the search dialog. a lot of other code requires a folder's mails to be in the same RootFolder Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/SelectSearchFolderDialog.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/SelectSearchFolderDialog.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/SelectSearchFolderDialog.java 2010-03-17 07:16:40 UTC (rev 451) +++ columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/SelectSearchFolderDialog.java 2010-03-17 09:06:42 UTC (rev 452) @@ -35,7 +35,7 @@ protected void initComponents() { super.initComponents(); - tree.setRootVisible(true); + tree.setRootVisible(false); } public void valueChanged(TreeSelectionEvent e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-03-17 07:16:49
|
Revision: 451 http://columba.svn.sourceforge.net/columba/?rev=451&view=rev Author: eschman Date: 2010-03-17 07:16:40 +0000 (Wed, 17 Mar 2010) Log Message: ----------- [feature] also display the root folder in the search dialog for virtual folders. this way virtual folders are able to search the folders of all accounts Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/folder/AbstractFolder.java columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/SelectSearchFolderDialog.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/folder/AbstractFolder.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/folder/AbstractFolder.java 2010-03-17 07:06:02 UTC (rev 450) +++ columba/trunk/mail/src/main/java/org/columba/mail/folder/AbstractFolder.java 2010-03-17 07:16:40 UTC (rev 451) @@ -211,9 +211,10 @@ */ public String getTreePath() { TreeNode[] treeNode = getPathToRoot(this, 0); + if (treeNode.length == 1) + return "/"; StringBuffer path = new StringBuffer(); - for (int i = 1; i < treeNode.length; i++) { AbstractFolder folder = (AbstractFolder) treeNode[i]; path.append("/" + folder.getName()); Modified: columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/SelectSearchFolderDialog.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/SelectSearchFolderDialog.java 2010-03-17 07:06:02 UTC (rev 450) +++ columba/trunk/mail/src/main/java/org/columba/mail/gui/tree/util/SelectSearchFolderDialog.java 2010-03-17 07:16:40 UTC (rev 451) @@ -32,6 +32,12 @@ super(mediator); } + protected void initComponents() { + super.initComponents(); + + tree.setRootVisible(true); + } + public void valueChanged(TreeSelectionEvent e) { IMailFolder node = (IMailFolder) tree.getLastSelectedPathComponent(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-03-17 07:06:09
|
Revision: 450 http://columba.svn.sourceforge.net/columba/?rev=450&view=rev Author: eschman Date: 2010-03-17 07:06:02 +0000 (Wed, 17 Mar 2010) Log Message: ----------- [bug] fix a null pointer exception when editing virtual folders because they don't have a directory file Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/gui/config/folder/FolderOptionsDialog.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/gui/config/folder/FolderOptionsDialog.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/gui/config/folder/FolderOptionsDialog.java 2010-03-17 04:18:28 UTC (rev 449) +++ columba/trunk/mail/src/main/java/org/columba/mail/gui/config/folder/FolderOptionsDialog.java 2010-03-17 07:06:02 UTC (rev 450) @@ -447,7 +447,8 @@ unreadLabel2.setText(Integer.toString(info.getUnseen())); recentLabel2.setText(Integer.toString(info.getRecent())); - locationLabel2.setText(folder.getDirectoryFile().getPath()); + File directoryFile = folder.getDirectoryFile(); + locationLabel2.setText(directoryFile != null ? directoryFile.getPath() : ""); IFolderItem item = folder.getConfiguration(); XmlElement property = item.getElement("property"); //$NON-NLS-1$ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-03-17 04:18:41
|
Revision: 449 http://columba.svn.sourceforge.net/columba/?rev=449&view=rev Author: eschman Date: 2010-03-17 04:18:28 +0000 (Wed, 17 Mar 2010) Log Message: ----------- [bug] also sync darft and answered flags with the server if something has changed Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java 2010-03-17 03:44:21 UTC (rev 448) +++ columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java 2010-03-17 04:18:28 UTC (rev 449) @@ -628,6 +628,14 @@ SearchKey junkKey = new SearchKey(SearchKey.KEYWORD, "JUNK"); List remoteJunkUids = Arrays.asList(getServer().search(junkKey, this)); + SearchKey answeredKey = new SearchKey(SearchKey.ANSWERED); + List remoteAnsweredUids = Arrays.asList(getServer().search(answeredKey, + this)); + + SearchKey draftKey = new SearchKey(SearchKey.DRAFT); + List remoteDraftUids = Arrays.asList(getServer().search(draftKey, + this)); + // update the local flags and ensure that the MailboxInfo is correct ICloseableIterator headerIterator = getHeaderList().headerIterator(); @@ -636,6 +644,8 @@ int recent = 0; int deleted = 0; int junk = 0; + int answered = 0; + int draft = 0; while (headerIterator.hasNext()) { IColumbaHeader header = (IColumbaHeader) headerIterator.next(); @@ -676,6 +686,18 @@ junk++; } + index = Collections.binarySearch(remoteAnsweredUids, uid); + flag.setAnswered(index >= 0); + if (flag.getAnswered()) { + answered++; + } + + index = Collections.binarySearch(remoteDraftUids, uid); + flag.setDraft(index >= 0); + if (flag.getDraft()) { + draft++; + } + if (!flag.equals(oldFlag)) { getHeaderList().update(uid, header); @@ -687,7 +709,9 @@ if (remoteJunkUids.size() != junk || remoteRecentUids.size() != recent || remoteFlaggedUids.size() != flagged || remoteDeletedUids.size() != deleted - || remoteUnseenUids.size() != unseen) { + || remoteUnseenUids.size() != unseen + || remoteAnsweredUids.size() != answered + || remoteDraftUids.size() != draft) { // Something is wrong // Sync again Modified: columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java 2010-03-17 03:44:21 UTC (rev 448) +++ columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java 2010-03-17 04:18:28 UTC (rev 449) @@ -1596,7 +1596,8 @@ break; } - case MarkMessageCommand.MARK_AS_ANSWERED: { + case MarkMessageCommand.MARK_AS_ANSWERED: + case MarkMessageCommand.MARK_AS_UNANSWERED: { result.setAnswered(true); break; @@ -1608,7 +1609,8 @@ break; } - case MarkMessageCommand.MARK_AS_DRAFT: { + case MarkMessageCommand.MARK_AS_DRAFT: + case MarkMessageCommand.MARK_AS_NOTDRAFT: { result.setDraft(true); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-03-17 03:44:28
|
Revision: 448 http://columba.svn.sourceforge.net/columba/?rev=448&view=rev Author: eschman Date: 2010-03-17 03:44:21 +0000 (Wed, 17 Mar 2010) Log Message: ----------- [intern] make sure the imap cache files are unique. it is very unlikely but this way it is safer. also accept the old file names Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPCache.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPCache.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPCache.java 2010-03-17 03:22:58 UTC (rev 447) +++ columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPCache.java 2010-03-17 03:44:21 UTC (rev 448) @@ -55,6 +55,9 @@ public MimeTree getMimeTree(IMAPFolder folder, Object uid) throws IOException { InputStream in = cache.get(createMimeTreeKey(folder, uid)); + if (in == null) + in = cache.get(createOldMimeTreeKey(folder, uid)); + if( in != null ) { try { return (MimeTree) new ObjectInputStream(in).readObject(); @@ -82,17 +85,28 @@ } public InputStream getMimeBody(IMAPFolder folder, Object uid, Integer[] address) { - return cache.get(createMimeBodyKey(folder, uid, address)); + InputStream in = cache.get(createMimeBodyKey(folder, uid, address)); + if (in == null) + in = cache.get(createOldMimeBodyKey(folder, uid, address)); + return in; } + protected String createOldMimeBodyKey(IMAPFolder folder, Object uid, Integer[] address) { + return folder.getId() + uid.toString() + addressToString(address); + } + protected String createMimeBodyKey(IMAPFolder folder, Object uid, Integer[] address) { - return folder.getId() + uid.toString() + addressToString(address); + return folder.getId() + "_" + uid.toString() + "_" + addressToString(address); } - protected String createMimeTreeKey(IMAPFolder folder, Object uid) { + protected String createOldMimeTreeKey(IMAPFolder folder, Object uid) { return folder.getId() + uid.toString(); } + protected String createMimeTreeKey(IMAPFolder folder, Object uid) { + return folder.getId() + "_" + uid.toString(); + } + protected String addressToString(Integer[] address) { String result = address[0].toString(); for(int i=1; i<address.length; i++) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-03-17 03:23:04
|
Revision: 447 http://columba.svn.sourceforge.net/columba/?rev=447&view=rev Author: eschman Date: 2010-03-17 03:22:58 +0000 (Wed, 17 Mar 2010) Log Message: ----------- [bug] only use the haschildren flag if the server supports it. otherwise get them manually Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/gui/config/subscribe/SynchronizeFolderListCommand.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/gui/config/subscribe/SynchronizeFolderListCommand.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/gui/config/subscribe/SynchronizeFolderListCommand.java 2010-03-17 02:33:06 UTC (rev 446) +++ columba/trunk/mail/src/main/java/org/columba/mail/gui/config/subscribe/SynchronizeFolderListCommand.java 2010-03-17 03:22:58 UTC (rev 447) @@ -127,9 +127,15 @@ // If this folder has children add them // TODO: In the future we should try to fetch additional children on demand // when the tree of the dialog is opened - if( info.getParameter(ListInfo.HASCHILDREN)) { - result.addAll(Arrays.asList(store.list("", info.getName() - + store.getDelimiter() + '%'))); + if (store.isSupported("CHILDREN")) { + if( info.getParameter(ListInfo.HASCHILDREN)) { + result.addAll(Arrays.asList(store.list("", info.getName() + + store.getDelimiter() + '%'))); + } + } else { + ListInfo[] childlist = store.list("", info.getName() + store.getDelimiter() + '%'); + if (childlist.length > 0) + result.addAll(Arrays.asList(childlist)); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-03-17 02:33:15
|
Revision: 446 http://columba.svn.sourceforge.net/columba/?rev=446&view=rev Author: eschman Date: 2010-03-17 02:33:06 +0000 (Wed, 17 Mar 2010) Log Message: ----------- [bug] fix various bugs with imap - correctly reenable syncing after a sync is completed - when copying/adding messages toggle a sync instead of adding the headers manually. the server may set the recent flag but since the flags were already copied they won't be fetched again and the recent flag will never be removed - sync all folders by default. if you use virtual folders they will be synced at the start anyway but if you manually want to fetch messages other folders won't be updated which is irritating Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java columba/trunk/mail/src/main/java/org/columba/mail/mailchecking/IMAPMailCheckingAction.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java 2010-03-16 20:42:09 UTC (rev 445) +++ columba/trunk/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java 2010-03-17 02:33:06 UTC (rev 446) @@ -49,7 +49,6 @@ import org.columba.mail.folder.search.DefaultSearchEngine; import org.columba.mail.folder.search.IMAPQueryEngine; import org.columba.mail.imap.IImapServer; -import org.columba.mail.message.ColumbaHeader; import org.columba.mail.message.ICloseableIterator; import org.columba.mail.message.IColumbaHeader; import org.columba.mail.message.IHeaderList; @@ -595,6 +594,7 @@ fireFolderPropertyChanged(); } + mailboxSyncEnabled = true; } private void synchronizeFlags(MailboxStatus status) throws Exception, @@ -748,9 +748,6 @@ */ public void innerCopy(IMailbox destiny, Object[] uids) throws Exception { IMAPFolder destFolder = (IMAPFolder) destiny; - IHeaderList srcHeaderList = getHeaderList(); - IPersistantHeaderList destHeaderList = (IPersistantHeaderList) destFolder - .getHeaderList(); Object[] destUids = getServer().copy(destFolder, uids, this); @@ -764,43 +761,12 @@ if (destUids.length == 0) return; - // update headerlist of destination-folder - // -> this is necessary to reflect the changes visually - // but only do it if the target folder is still in sync! - - Integer largestDestUid = new Integer(-1); - ICloseableIterator it = destHeaderList.keyIterator(); - while (it.hasNext()) { - Integer uid = (Integer) it.next(); - if (largestDestUid.compareTo(uid) < 0) { - largestDestUid = uid; - } + if (destFolder.mailboxSyncEnabled) { + // Trigger Synchronization + CommandProcessor.getInstance().addOp( + new CheckForNewMessagesCommand( + new MailFolderCommandReference(destFolder))); } - it.close(); - - if (((Integer) destUids[0]).intValue() == largestDestUid.intValue() + 1) { - int j = 0; - for (int i = 0; i < uids.length; i++) { - IColumbaHeader destHeader = srcHeaderList.get(uids[i]); - // Was this message actually copied? - if (destHeader != null) { - // Copy the header - destHeader = (IColumbaHeader) destHeader.clone(); - - destHeader.set("columba.uid", destUids[j]); - destHeaderList.add(destHeader, destUids[j]); - - // We need IMAPFlags - IMAPFlags flags = new IMAPFlags(destHeader.getFlags() - .getFlags()); - flags.setUid(destUids[j]); - - destFolder.fireMessageAdded(flags.getUid(), flags); - j++; - } - } - } - } /** @@ -948,17 +914,13 @@ getServer().setFlags(new Object[] { uid }, imapFlags, this); } - // Parser the header - Header header = withHeaderInputStream.getHeader(); + if (mailboxSyncEnabled) { + // Trigger Synchronization + CommandProcessor.getInstance().addOp( + new CheckForNewMessagesCommand( + new MailFolderCommandReference(this))); + } - // update the HeaderList - IColumbaHeader cHeader = new ColumbaHeader(header, - (Attributes) attributes.clone(), imapFlags); - - getHeaderList().add(cHeader, uid); - - fireMessageAdded(uid, cHeader.getFlags()); - return uid; } @@ -1069,20 +1031,11 @@ Integer uid = getServer().append(withHeaderInputStream, this); - if (getServer().isSelected(this)) { - // update the HeaderList - Header header = withHeaderInputStream.getHeader(); - ColumbaHeader h = new ColumbaHeader(header); - getHeaderList().add(h, uid); - - fireMessageAdded(uid, h.getFlags()); - } else { - if (mailboxSyncEnabled) { - // Trigger Synchronization - CommandProcessor.getInstance().addOp( - new CheckForNewMessagesCommand( - new MailFolderCommandReference(this))); - } + if (mailboxSyncEnabled) { + // Trigger Synchronization + CommandProcessor.getInstance().addOp( + new CheckForNewMessagesCommand( + new MailFolderCommandReference(this))); } return uid; Modified: columba/trunk/mail/src/main/java/org/columba/mail/mailchecking/IMAPMailCheckingAction.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/mailchecking/IMAPMailCheckingAction.java 2010-03-16 20:42:09 UTC (rev 445) +++ columba/trunk/mail/src/main/java/org/columba/mail/mailchecking/IMAPMailCheckingAction.java 2010-03-17 02:33:06 UTC (rev 446) @@ -63,7 +63,7 @@ if( child instanceof IMAPFolder ) { IMAPFolder folder = (IMAPFolder) child; - if( folder.getName().equalsIgnoreCase("INBOX") || folder.getConfiguration().getBooleanWithDefault("activeSync", false)) { + if( folder.getName().equalsIgnoreCase("INBOX") || folder.getConfiguration().getBooleanWithDefault("activeSync", true)) { MailFolderCommandReference r = new MailFolderCommandReference(folder); CommandProcessor.getInstance().addOp(new CheckForNewMessagesCommand(this, r)); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-03-16 20:42:17
|
Revision: 445 http://columba.svn.sourceforge.net/columba/?rev=445&view=rev Author: eschman Date: 2010-03-16 20:42:09 +0000 (Tue, 16 Mar 2010) Log Message: ----------- [bug] fall back to UTF-8 encoding if there were encoding problems. Modified Paths: -------------- ristretto/trunk/ristretto-smtp/src/main/java/org/columba/ristretto/composer/mimepartrenderers/TextpartRenderer.java Modified: ristretto/trunk/ristretto-smtp/src/main/java/org/columba/ristretto/composer/mimepartrenderers/TextpartRenderer.java =================================================================== --- ristretto/trunk/ristretto-smtp/src/main/java/org/columba/ristretto/composer/mimepartrenderers/TextpartRenderer.java 2010-03-11 23:14:36 UTC (rev 444) +++ ristretto/trunk/ristretto-smtp/src/main/java/org/columba/ristretto/composer/mimepartrenderers/TextpartRenderer.java 2010-03-16 20:42:09 UTC (rev 445) @@ -41,6 +41,7 @@ import org.columba.ristretto.coder.QuotedPrintableEncoderInputStream; import org.columba.ristretto.composer.MimePartRenderer; import org.columba.ristretto.io.SequenceInputStream; +import org.columba.ristretto.io.StreamUtils; import org.columba.ristretto.message.MimeHeader; import org.columba.ristretto.message.MimePart; import org.columba.ristretto.message.StreamableMimePart; @@ -79,6 +80,23 @@ ((StreamableMimePart) part).getInputStream()), charset); + // check if there are encoding problems and fall back to UTF-8 in that case + StringBuffer bodyString = StreamUtils.readInString(body); + for (int i = 0; i < bodyString.length(); i++) { + if (bodyString.charAt(i) == 0) { + header.setMimeType(header.getMimeType()); + header.putContentParameter("charset", "UTF-8"); + charset = header.getCharset(); + break; + } + } + + body = + new CharsetEncoderInputStream( + new CanonizeFilterInputStream( + ((StreamableMimePart) part).getInputStream()), + charset); + switch (encoding) { case MimeHeader.BASE64 : { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-03-11 23:14:42
|
Revision: 444 http://columba.svn.sourceforge.net/columba/?rev=444&view=rev Author: eschman Date: 2010-03-11 23:14:36 +0000 (Thu, 11 Mar 2010) Log Message: ----------- [bug] Fix Reply and Forward with IMAP again. get body stream from folder instead of directly from the MimePart because it will be empty with IMAP Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/composer/MessageBuilderHelper.java columba/trunk/mail/src/main/java/org/columba/mail/gui/composer/command/ForwardInlineCommand.java columba/trunk/mail/src/main/java/org/columba/mail/gui/composer/command/ReplyCommand.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/composer/MessageBuilderHelper.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/composer/MessageBuilderHelper.java 2010-03-11 17:10:19 UTC (rev 443) +++ columba/trunk/mail/src/main/java/org/columba/mail/composer/MessageBuilderHelper.java 2010-03-11 23:14:36 UTC (rev 444) @@ -352,14 +352,12 @@ * A <code>Message</code> which contains the bodytext of the * message we want reply/forward. */ - public static String createBodyText(MimePart mimePart) throws IOException { + public static String createBodyText(MimePart mimePart, InputStream body) throws IOException { StreamableMimePart bodyPart = (StreamableMimePart) mimePart; String charsetName = bodyPart.getHeader() .getContentParameter("charset"); int encoding = bodyPart.getHeader().getContentTransferEncoding(); - InputStream body = bodyPart.getInputStream(); - switch (encoding) { case MimeHeader.QUOTED_PRINTABLE: { body = new QuotedPrintableDecoderInputStream(body); Modified: columba/trunk/mail/src/main/java/org/columba/mail/gui/composer/command/ForwardInlineCommand.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/gui/composer/command/ForwardInlineCommand.java 2010-03-11 17:10:19 UTC (rev 443) +++ columba/trunk/mail/src/main/java/org/columba/mail/gui/composer/command/ForwardInlineCommand.java 2010-03-11 23:14:36 UTC (rev 444) @@ -188,7 +188,8 @@ MimeTree mimePartTree = folder.getMimePartTree(uids[0]); MimePart bodyPart = mimePartTree.getFromAddress(address); - String bodyText = MessageBuilderHelper.createBodyText(bodyPart); + InputStream bodyStream = folder.getMimePartBodyStream(uids[0], address); + String bodyText = MessageBuilderHelper.createBodyText(bodyPart, bodyStream); boolean wasHtml; if (header.getMimeType().getSubtype().equals("html")) Modified: columba/trunk/mail/src/main/java/org/columba/mail/gui/composer/command/ReplyCommand.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/gui/composer/command/ReplyCommand.java 2010-03-11 17:10:19 UTC (rev 443) +++ columba/trunk/mail/src/main/java/org/columba/mail/gui/composer/command/ReplyCommand.java 2010-03-11 23:14:36 UTC (rev 444) @@ -17,6 +17,7 @@ package org.columba.mail.gui.composer.command; import java.io.IOException; +import java.io.InputStream; import java.io.StringReader; import java.nio.charset.Charset; import java.nio.charset.UnsupportedCharsetException; @@ -196,7 +197,8 @@ MimeTree mimePartTree = folder.getMimePartTree(uids[0]); MimePart bodyPart = mimePartTree.getFromAddress(address); - String bodyText = MessageBuilderHelper.createBodyText(bodyPart); + InputStream bodyStream = folder.getMimePartBodyStream(uids[0], address); + String bodyText = MessageBuilderHelper.createBodyText(bodyPart, bodyStream); boolean wasHtml; if (header.getMimeType().getSubtype().equals("html")) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-03-11 17:10:29
|
Revision: 443 http://columba.svn.sourceforge.net/columba/?rev=443&view=rev Author: eschman Date: 2010-03-11 17:10:19 +0000 (Thu, 11 Mar 2010) Log Message: ----------- [bug] manually set number of recent messages to 0. This is somehow a workaround if the folder is out of sync Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java columba/trunk/mail/src/main/java/org/columba/mail/shutdown/ClearRecentFlagPlugin.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java 2010-03-11 01:15:46 UTC (rev 442) +++ columba/trunk/mail/src/main/java/org/columba/mail/imap/IMAPServer.java 2010-03-11 17:10:19 UTC (rev 443) @@ -1260,6 +1260,9 @@ */ public void markMessage(Object[] uids, int variant, IMAPFolder folder) throws IOException, IMAPException, CommandCancelledException { + if (uids == null || uids.length == 0) + return; + try { ensureSelectedState(folder); Modified: columba/trunk/mail/src/main/java/org/columba/mail/shutdown/ClearRecentFlagPlugin.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/shutdown/ClearRecentFlagPlugin.java 2010-03-11 01:15:46 UTC (rev 442) +++ columba/trunk/mail/src/main/java/org/columba/mail/shutdown/ClearRecentFlagPlugin.java 2010-03-11 17:10:19 UTC (rev 443) @@ -67,6 +67,7 @@ Object uids[] = folder.searchMessages(RECENT_FILTER); folder.markMessage(uids, MarkMessageCommand.MARK_AS_NOTRECENT); + folder.getMessageFolderInfo().setRecent(0); } catch (Exception e1) { } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-03-11 01:15:55
|
Revision: 442 http://columba.svn.sourceforge.net/columba/?rev=442&view=rev Author: eschman Date: 2010-03-11 01:15:46 +0000 (Thu, 11 Mar 2010) Log Message: ----------- [bug] filter cache should not be static. If different folders perform searches at the same time they may change the filter of the others Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/folder/search/DefaultSearchEngine.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/folder/search/DefaultSearchEngine.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/folder/search/DefaultSearchEngine.java 2010-01-31 17:04:12 UTC (rev 441) +++ columba/trunk/mail/src/main/java/org/columba/mail/folder/search/DefaultSearchEngine.java 2010-03-11 01:15:46 UTC (rev 442) @@ -30,8 +30,6 @@ import org.columba.api.plugin.IExtensionHandler; import org.columba.core.base.ListTools; import org.columba.core.filter.AbstractFilter; -import org.columba.core.filter.Filter; -import org.columba.core.filter.FilterCriteria; import org.columba.core.filter.FilterRule; import org.columba.core.filter.IFilter; import org.columba.core.filter.IFilterCriteria; @@ -62,7 +60,7 @@ * Filter plugins are cached and reused, instead of re-instanciated all the * time */ - private static Hashtable filterCache; + private Hashtable filterCache; /** * AbstractMessageFolder on which the search is applied This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <es...@us...> - 2010-01-31 17:04:20
|
Revision: 441 http://columba.svn.sourceforge.net/columba/?rev=441&view=rev Author: eschman Date: 2010-01-31 17:04:12 +0000 (Sun, 31 Jan 2010) Log Message: ----------- [bug] if there is no charset use us-ascii according to RFC 2045 5.2 Modified Paths: -------------- columba/trunk/mail/src/main/java/org/columba/mail/gui/message/viewer/MessageParser.java Modified: columba/trunk/mail/src/main/java/org/columba/mail/gui/message/viewer/MessageParser.java =================================================================== --- columba/trunk/mail/src/main/java/org/columba/mail/gui/message/viewer/MessageParser.java 2009-12-16 21:21:46 UTC (rev 440) +++ columba/trunk/mail/src/main/java/org/columba/mail/gui/message/viewer/MessageParser.java 2010-01-31 17:04:12 UTC (rev 441) @@ -121,20 +121,18 @@ } if (charsetName == null) { - // There is no charset info -> the default system charset is - // used + // default charset is us-ascii according to RFC 2045 5.2 + charsetName = "us-ascii"; + } + + try { + charset = Charset.forName(charsetName); + } catch (UnsupportedCharsetException e) { charsetName = System.getProperty("file.encoding"); charset = Charset.forName(charsetName); - } else { - try { - charset = Charset.forName(charsetName); - } catch (UnsupportedCharsetException e) { - charsetName = System.getProperty("file.encoding"); - charset = Charset.forName(charsetName); - } catch (IllegalCharsetNameException e) { - charsetName = System.getProperty("file.encoding"); - charset = Charset.forName(charsetName); - } + } catch (IllegalCharsetNameException e) { + charsetName = System.getProperty("file.encoding"); + charset = Charset.forName(charsetName); } // ((CharsetOwnerInterface) mediator).setCharset(charset); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |