Re: [Evolution-hackers] There's no need to be so hard on iconv

2007-10-12 Thread Philip Van Hoof
On Thu, 2007-10-11 at 12:14 +0200, Philip Van Hoof wrote:
 I also have this one, for example
 Subject: =?ISO-2022-JP?B?GyRCJSIlaiUsLUUtRRsoQg==?= (
 =?ISO-2022-JP?B?GyRCIiglUSE8JXMbKEI=?= !!
 =?ISO-2022-JP?B?GyRCISMhJhsoQg==?= :*: =?ISO-2022-JP?B?GyRCISYbKEI=?=
 I know that the characters  (, )o ,  !! and  :*:  should not be
 there (at least, I think they shouldn't), I guess this is done by spam
 bots to confuse spamassassin (not sure, though).
 This check in the code (line 842 in camel-mime-utils.c) makes any such
 string become the base64 one. This is of course really not readable for
 normal human beings (although, it depends on what you call a normal
 842: .. /* quick check to see if this could possibly be a real encoded word */
 843: ..  if (len  8 || !(in[0] == '='  in[1] == '?'  in[len-1] == '='  
 in[len-2] == '?')) {
 844: ..   d(printf(invalid\n));
 845: ..   return NULL;
 846: ..  }
 When just trying to decode the string, ignoring the check, it does work
 quite well. At least for this case.
 I'm attaching yet another patch that ignores this check.

The entire check should not be ignored. The len8 check, for example, is
important. So don't commit this patch :-)

 On Thu, 2007-10-11 at 11:52 +0200, Philip Van Hoof wrote:
  In case iconv does not succeed in decoding for example the Subject
  header, it returns the base64 encoded one. That is is obviously not
  readable at all. The decoded one after base64 decoding (which did
  succeed in my test case) or whatever iconv could recover from it, sounds
  like a better option.
  This changeset (patch) on camel-mime-utils.c deals with the error
  situation (in case iconv did not return -1) by returning what(ever)
  iconv could recover from the string:
  I attached:
  svn diff libtinymail-camel/camel-lite/camel/camel-mime-utils.c -r 2829  
  This is the Subject line of my test target:
  Subject: =?ISO-2022-JP?B?GyRCM048QiRLOkdEY0Z8NWsbKEI=?=
  I also opened a bug for this one:
  Evolution-hackers mailing list
 Evolution-hackers mailing list
Philip Van Hoof, software developer
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org

Evolution-hackers mailing list

Re: [Evolution-hackers] Difficulty of storing flags on IMAP server

2007-10-12 Thread Sankar P

On Thu, 2007-10-11 at 18:29 +0200, Philip Van Hoof wrote:
 On Thu, 2007-10-11 at 09:18 -0700, Ross Boylan wrote:
  I believe that some of the flags associated with messages (e.g.,
  follow-up) are stored by the evolution client, rather than kept on the
  server.  For at least some IMAP servers it should be possible to define
  custom flags on the server and use them.
  This would be very useful to me, since I'm accessing the mail from
  different locations.  Any idea how big a job this would be to add?  I
  might do it, if it's easy.
  BTW, is anyone planning on working on the problem that messages flagged
  initially flagged as follow-up and later flagged as completed still
  show up when you filter by follow-up?
 Search for CAMEL_MESSAGE_INFO_USER_FLAGS and uses of mi-user_flags in
 Camel (better search for -user_flags as that mi part is sometimes
 called info and sometimes with a bunch of casting around it called mi).
 In camel-imap-folder.c you can take an example from functions like
 flags_to_label. I guess you'll need to convert your user_flags to custom
 IMAP flags somehow. Not sure how easy that is. 
 You can also add new tags (user_tags), which is similar to how
 user_flags work in Camel. It looks like those are already stored
 remotely. I think tags define the colour of the rows in your summary
 view (Important, Personal, Work, etc etc).

I did some work to implement syncing custom flags support. So that you
can have custom labels in addition to the 5 standard labels. 

The patch is at 

I tested it against a GroupWise IMAP implementation and it was working. 

IIRC, The only problem was all the flags were synced everytime instead
of the newly set ones alone. 

And I needed to verify it was working with the rest of the IMAP servers.

I stopped working on it because of personal reasons. If someone is
interested can take up and complete.

 You'll have to write ui pieces for this too, in Evolution, of course.
Sankar P
Harver's Law: A drunken man's words are a sober man's thoughts

 Novell, Inc. 
Software for the Open Enterpriseā„¢
Evolution-hackers mailing list

[Evolution-hackers] How does evo find its components? (switching installs of evo)

2007-10-12 Thread Paul Smith
Hi all;

I've been using my makefile to build Evolution from SVN for my Ubuntu
Feisty systems; the makefile installs everything in /opt/evo so that I
don't interfere with the packages managed by the system.

When I run /opt/evo/bin/evolution, it starts up e-d-s and
evo-exchange, etc. from /opt/evo as well (which is what I want).

However, I recently upgraded one of my systems to Ubuntu Gutsy RC1,
which has its own version of Evo 2.12.0.  I know there have already been
some bug fixes since that was released but I wanted to try out the
distro version to see how it's working.

But, when I run /usr/bin/evolution, it's STILL trying to run e-d-s
etc. out of /opt/evo instead of the ones in /usr/bin: this fails because
the ones in /opt/evo were compiled against Feisty libraries, some of
which have been upgraded in Gutsy.

How does Evolution decide where to get e-d-s, plugins, etc.?  How can I
reset it to run the ones in /usr/bin and ignore the stuff in /opt/evo?
I don't remember doing anything special to switch it over to /opt/evo in
the first place.

Note that deleting my ~/.evolution directory or similar is out of the
question; I have too much stuff there.

 Please remain calm--I may be mad, but I am a professional.--Mad Scientist
Evolution-hackers mailing list

Re: [Evolution-hackers] How does evo find its components? (switching installs of evo)

2007-10-12 Thread Matthew Barnes
On Fri, 2007-10-12 at 13:17 -0400, Paul Smith wrote:
 How does Evolution decide where to get e-d-s, plugins, etc.?  How can I
 reset it to run the ones in /usr/bin and ignore the stuff in /opt/evo?
 I don't remember doing anything special to switch it over to /opt/evo in
 the first place.

You can control it with environment variables:


   Overrides the search path for dynamically loaded libraries.


   Overrides the search path for Bonobo servers.

These need to be set at run time.

Hope this helps,
Matthew Barnes

Evolution-hackers mailing list