2007-07-02 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Mon, 2 Jul 2007 19:29:14 +0000 (19:29 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Mon, 2 Jul 2007 19:29:14 +0000 (19:29 +0000)
* Makefile.am (EXTRA_DIST): Add
patches/claws-mail-2.9.2/01-w32-logo.patch,
patches/claws-mail-2.9.2/02-w32-icon.patch,
patches/claws-mail-2.9.2/03-w32-port.patch,
patches/claws-mail-2.9.2/04-smime-plugin.patch and
patches/claws-mail-2.9.2/99-auto.patch.
* patches/claws-mail-2.9.2/01-w32-logo.patch,
patches/claws-mail-2.9.2/02-w32-icon.patch,
patches/claws-mail-2.9.2/03-w32-port.patch,
patches/claws-mail-2.9.2/04-smime-plugin.patch,
patches/claws-mail-2.9.2/99-auto.patch: New files.

ChangeLog
Makefile.am
patches/claws-mail-2.9.2/01-w32-logo.patch [new file with mode: 0755]
patches/claws-mail-2.9.2/02-w32-icon.patch [new file with mode: 0755]
patches/claws-mail-2.9.2/03-w32-port.patch [new file with mode: 0755]
patches/claws-mail-2.9.2/04-smime-plugin.patch [new file with mode: 0755]
patches/claws-mail-2.9.2/99-auto.patch [new file with mode: 0755]

index b29fb2d..249188b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2007-07-02  Marcus Brinkmann  <marcus@g10code.de>
 
+       * Makefile.am (EXTRA_DIST): Add
+       patches/claws-mail-2.9.2/01-w32-logo.patch,
+       patches/claws-mail-2.9.2/02-w32-icon.patch,
+       patches/claws-mail-2.9.2/03-w32-port.patch,
+       patches/claws-mail-2.9.2/04-smime-plugin.patch and
+       patches/claws-mail-2.9.2/99-auto.patch.
+       * patches/claws-mail-2.9.2/01-w32-logo.patch,
+       patches/claws-mail-2.9.2/02-w32-icon.patch,
+       patches/claws-mail-2.9.2/03-w32-port.patch,
+       patches/claws-mail-2.9.2/04-smime-plugin.patch,
+       patches/claws-mail-2.9.2/99-auto.patch: New files.
+
        * configure.ac: Add claws-mail.
        * include/config.nsi.in: Add claws-mail.
        * src/Makefile.am (gpg4win_spkgs): Add claws-mail.
index 19619de..a11792c 100644 (file)
@@ -47,7 +47,12 @@ EXTRA_DIST = autogen.sh README.SVN \
         patches/sylpheed-claws-2.4.0/03-plugins-symbols.patch \
         patches/sylpheed-claws-2.4.0/04-font-prefs.patch \
         patches/sylpheed-claws-2.4.0/05-textviewer.patch \
-       patches/sylpheed-claws-2.4.0/99-auto.patch
+       patches/sylpheed-claws-2.4.0/99-auto.patch \
+       patches/claws-mail-2.9.2/01-w32-logo.patch \
+       patches/claws-mail-2.9.2/02-w32-icon.patch \
+       patches/claws-mail-2.9.2/03-w32-port.patch \
+       patches/claws-mail-2.9.2/04-smime-plugin.patch \
+       patches/claws-mail-2.9.2/99-auto.patch
 
 copy-news:
        cp NEWS doc/website/NEWS.last
diff --git a/patches/claws-mail-2.9.2/01-w32-logo.patch b/patches/claws-mail-2.9.2/01-w32-logo.patch
new file mode 100755 (executable)
index 0000000..c694756
--- /dev/null
@@ -0,0 +1,346 @@
+#! /bin/sh
+(cd src && uudecode < $0)
+exit $?
+
+Need to put logo in uuencoded format here, as diff can not represent
+binary files.
+
+begin 644 w32-logo.ico
+M```!``,`$!````$`(`!H!```-@```"`@```!`"``J!```)X$```P,````0`@
+M`*@E``!&%0``*````!`````@`````0`@````````!```````````````````
+M`````````````````````````````````````````!<````@````(````"``
+M```@````(````"`````@````'0`````````````````````````)&AH:7@``
+M`"914E)BZ^WO_^7FZ?_>W^/_U]G=_]#2U__*R]#_P\3*_Z*BJ.H`````````
+M````````````````&O+S]/_=WN'_R\W/_ZFKKO^BI*3_O+V__]?9VO_=W^'_
+MWN#C_]C9W?^UMKKJ``````````````````````("`C?\_O[_]OCX_^3FY__9
+MVMW_SL_3_\+$R?^PLK?_DI.7__/U]O_L[O#_RLK,Z@``````````````````
+M``-@8&!\_/[^__S^_O_GZ.C_J:JJ_]_AX__5U]G_T-+6_[R]P__\_O[_:77+
+M_\[4V.H````````````````````2V-?2_NGKZ_^7EY?_S\_/_\3$Q/]_?W__
+MZ>OM_[_!P_^%AHC_T=/3_[G#[O_:WM_J````````````````%Q$(/\&]LO^*
+MBXO_?[#)_X:<IO]<@I;_8)BS_WEZ>_^!F:/_9H*,_UAQ<O^[GEO^````"0``
+M`````````````'-8*+3&H%'_@J*M_Q02#?]B0R+_N;2I_RQ41_\WA&O_^?O[
+M_S(\+/]#453_S[)L_P```",```````````````!V2Q7Q:#4`_RU@1_\@:E/_
+M+#8E_VQ)(O^-BES_)Y]Z_Z"0:O\I7$O_-IQ]_]&V<O\A'!),````````````
+M````5RT`Y&<T`/]]H*__."0-_S"7>/\D.BK_3DDT_S2B@?]!/S+_,J6#_].Y
+M??_2N';_!@8$-P```````````````#,>"'F)8CO_?Y"8_QF'9O\C037_.J:&
+M_R1N5_\?FW3_*IY[_]?`B/_9OX'_W<F:_P````X````````````````````<
+MJX]S_ZR0=/^/<$__:$XD_UY1,O\:=%C_%9=P_Q,9%/_BU*[_Z=NX_\VYB.\`
+M```!`````````````````````CTE#8_%L9[_Q;&>_\>THO^FEXG_=FUE_R\M
+M*_^3BWW_V\Z[_^O?P_\````3```````````````````````````````#1#`6
+M?=O0Q?_=TL?_WM3*_]K1Q__AU\W_X=C._^38O_X5$@P@````````````````
+M``````````````````````````$#`0`6@G-.G.+0I_[NX\?_T\&6]658.F,`
+M```$````````````````````````````````````````````````````````
+M``````````````````````````````````````````````````#\`0``\`$`
+M`.`!``#@`0``X`$``,`!``#``P``P`$``,`!``#``0``P`,``,`#``#@`P``
+M\`<``/@?``#__P``*````"````!``````0`@````````$```````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M```#````%P```"`````@````(````"`````@````(````"`````@````(```
+M`"`````@````(````"`````@````(````!T````1````````````````````
+M```````````````````````````$````#````!D````1````!@````E/3U!A
+MO\'"ZN7GZ?_CY>?_WN#C_]S>X?_8V=W_UM?;_]'2U__.T-7_RLS1_\C)S__#
+MQ<O_P<+)_[R^Q/^ZO,+_FYRBZAP<'6@`````````````````````````````
+M``````````````````D````>&AH:7@,#`T0````F````'%%24F+&R,GJZ^WO
+M_^KK[?_EYNG_X^7G_][?X__<WN'_U]G=_]77V__0TM?_S]#5_\K+T/_(R<[_
+MP\3*_\'#R/^BHJCJ(2$B:```````````````````````````````````````
+M````````$P```#CK[>__Y.7G_\K+S?ZSM+;T@H*$SY>8F?;"Q,3_V-G9_^?I
+MZO_K[>[_[.[P_^KL[O_FY^K_Y.7H_]_AX__=W^'_V-K=_];8W/_1T]?_S]'5
+M_ZZPM>HJ*BMH``````````````````````````````````````````$````:
+M`P,#0O+S]/_L[O#_W=[A_]K<WO_+S<__OL##_JFKKO^9FIS_HJ2D_ZFJJO^\
+MO;__TM/5_]?9VO_0TM/_W=_A_^/EZ/_>X./_W=[A_]C9W?_6V-O_M;:ZZB\O
+M,&@``````````````````````````````````````````P```"M=7EZ&_/[^
+M__K\_/_M[N__YNCI_][@X?_;W-__T]77_]#1U?_'R<[_Q,7+_ZVNL_^:FZ#_
+MCH^1_XZ/D?^KK:W_Q,;'_^WO\/_K[.[_YNCJ_^3FZ/_#Q,?J.#@X:```````
+M```````````````````````````````````%`@("-XR-C:/\_O[__/[^__;X
+M^/_M[_#_Y.;G_^#BY/_9VMW_U=?:_\[/T__*R]#_PL3)_[[`Q?^PLK?_I*:L
+M_Y*3E_^`@8/_\_7V__'S]/_L[O#_Z^WN_\K*S.H\/#QH````````````````
+M`````````````````````0````M`0$!GS<[.W?S^_O_\_O[__/[^__O]_?_P
+M\O+_ZNSL_]W?X/_=WN#_VMS>_]?8V__/T-3_R\W1_\?(S?_&Q\S_OL#&_Z&B
+MIO_\_O[__/[^_[_%W_^ZP>;_TM36ZD5&1F@`````````````````````````
+M```````````#````$&!@8'S@XN+W_/[^__S^_O_\_O[__/[^_^?HZ/_=W=[_
+MJ:JJ_\G+S/_?X>/_W-[@_]77V?_4UMG_T-+6_\W/U/^\O</_K*VP__S^_O_\
+M_O[_:77+_VIST/_.U-CJ2DI*:```````````````````````````````````
+M``H````=KZREZOS^_O_\_O[_\?/S_YJ;F_^,C(S_MK:V_^;FYO^YN;G_JZNK
+M_Z"@H?^XNKO_Z>OM_^7FZ/^KK:__GZ"B_XF+C?^7F)C_]??W__S^_O]_B=[_
+M;';:_]+8VNI145%H````````````````````````````````````$@```"O8
+MU]+^_/[^_^GKZ_^?GY__EY>7_[R\O/_/S\__S,S,_\3$Q/_BXN+_?W]__Z:H
+MJ/_IZ^W_W=_@_[_!P__(R<O_A8:(_Z*BHO_1T]/_^/KZ_[G#[O^KMNW_VM[?
+MZE565F<```````````````````````````````0````G3T$BC^3EY?_,S<W_
+MHJ*B_Y66EO^`H*[_?*.T_X>GM?^RO\7_38"8_VB0I?^*N]+_@)RI_[2UMO_;
+MW=[_<Y>H_V"+G_]RH+;_:HV9_VU?.O^8@DK_I8Q/]VM;,Z,````6````"0``
+M````````````````````````````"!<1"#^!:3:^P;VR_\7$P_^*BXO_;X")
+M_W^PR?]KAI/_AIRF_V1\B/]<@I;_L;>[_V"8L_^HS=[_>7I[_[2UM?^!F:/_
+MKKO"_V:"C/^IT.+_6'%R_Y!\2O^[GEO^F(!*TP````D````"````````````
+M```````````````````17$DDC+^;3_O.JUK_F6\M_VR!@O^QT^/_/C8I_U%&
+M._^DH)O_Q<7$_]/3T__7U]?_*R@H_R@V0?\?,C;_465?__S^_O_[_?W_>&E#
+M_TE64?^BQ]G_=8)T_\NM9__)JV3_````%P````0`````````````````````
+M`````````!5S6"BTR*-3_\:@4?][2Q'_@J*M_[W=Z_\4$@W_)3<K_V)#(O^7
+M?%;_N;2I_[^_O?\L5$?_(EQ*_S>$:_]*@G'_^?O[_^[P\/\R/"S_)$P__T-1
+M5/]F;U;_S[)L_\VO:/\````C````!0``````````````````````````````
+M&F8["^BRB4#_?DX3_V<S`/\M4U+_)$%%_R510O\A2SW_,S4?_V5%'?_&I&#_
+MW+QS_SQ=1_\E:%/_)YAU_S^*<_^EHIS_AX-X_QU/0?\@74G_-95W_V.+:__1
+MM7#_T+%L_PP+!T(````(```````````````````````````````<=DL5\:R$
+M//]H-0#_9#,`_RU@1_\RB6W_(&I3_R1<2?\L-B7_4"\._VQ)(O^,;#S_C8I<
+M_R%50O\GGWK_0)A^_Z"0:O^1@U[_*5Q+_R-Q6?\VG'W_;Y!L_]&V<O_0LV[_
+M(1P23`````D``````````````````````````````!IE.0?M9S4`_V@T`/]E
+M,P#_9X:3_T,W*?\Z:E+_,(YP_R%Z7?\E95'_4347_U4Y&O^">U/_+E=$_R:6
+M<_],M97_CX%<_T1-._\E?V/_+))R_Y"19__+LW?_TK=U_]&U<?\6$PY&````
+M"```````````````````````````````&%<M`.1F-`'_9S0`_V4S`/]]H*__
+M/R0(_S@D#?\M0"W_,)=X_R-[8/\D.BK_*C<I_TY)-/\T5T3_-**!_T:GB?]!
+M/S+_'%`]_S*E@_]`GX'_T[E]_]>]??_2N';_T;5Q_P8&!#<````'````````
+M```````````````````````/1"<*I7Y4*?YN/0S_9C0`_\[L^O]CB)S_(UI)
+M_R)*._\I+A__,71=_SF$;?\J=V#_)$M`_QQ'.O\NFWK_/YI__R%]8?\TAVW_
+MD9ER_]*Z@__9OX+_UKU^_]:^@O_7P(;_````%P````,`````````````````
+M``````````````LS'@AY>E,J](EB._]V2!K_?Y"8_V1YBO\9AV;_&7Y@_R-!
+M-?\G2S[_.J:&_R*(:?\D;E?_(%9%_Q^;=/\[FW[_*IY[_S.%;/_7P(C_W,2)
+M_]F_@?_8OH'_W<F:_];`BOT````.`````@``````````````````````````
+M`````P<#`#!-+@ZJI(9G_Z2&9_^<>EC_?F$]_U!H1O]&;U+_/H!F_SR#:O\J
+M<%O_+&=5_S*4=?\DB6O_'XAH_QIS5_\5*A__6U1!_]2^BO_@RYC_YM:O_^;6
+ML/_=R9S\GXQ@N`````,````````````````````````````````````!````
+M'"L7`G"KCW/_K)!T_ZR0=/^KCG+_CW!/_WM>-_]H3B3_:54L_UY1,O\S,R;_
+M&G18_QRH??\5EW#_#X!=_Q,9%/^3B'#_XM2N_^C8M?_IV[C_Z-BV_\VYB.]L
+M7CUT`````0`````````````````````````````````````````&````&752
+M+^:QEW[_O*:1_[VFD?^]II'_O:>2_\"JEO^]J)3_/38P_Q\<&?\_.C;_!Q00
+M_P`+"/\``@'_H9F'_\B^I__2PZ__R[NI_^S@P__HVKG_+R0540````L`````
+M``````````````````````````````````````````(````,/24-CXEH1_+%
+ML9[_Q;&>_\6QGO_%L9[_Q[2B_\:SHO^FEXG_3$4__W9M9?\.#0S_+RTK_P<&
+M!O^3BWW_W="\_]O.N__.O[#_Z]_#_\NVC_<````3`````@``````````````
+M```````````````````````````````````````````-!@,`+8UQ4NG#KYK_
+MU<BZ_]7(NO_5R;O_ULF\_]'%N/^[L*7_M:RA_XB!>O_8S,'_T,6Z_]3(O?_:
+MS\3_VL[#_]7'M?]N6#JB)!D.-0``````````````````````````````````
+M``````````````````````````````````,````-1#`6?9V"6N+;T,7_W=+'
+M_]W2Q__=T\C_WM3*_][4R?_:T<?_U,O!_^'7S?_AU\[_X=C._^3;T?_DV+_^
+MP*Z$Z!42#"`````'````````````````````````````````````````````
+M```````````````````````````````````%````#T@S%WZ&;DR_Y-6X_NKA
+MT/_PZ^3_]?'I__7QZ__X].S_]O+H__/KW?_3Q*'MKIYVQ!`."B0````)````
+M````````````````````````````````````````````````````````````
+M``````````````````````````$````#`P$`%B`6"#6"<TZ<K)EMS>+0I_[J
+MW+O_[N/'_^O?P/_3P9;UMZ5[UV58.F,_-R(T````!`````$`````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````````````````````````````@````,````$
+M`````P````$`````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``````````#_______```_\P``/^```#_````_P```/\```#_````_P```/X
+M```#^````_````/P```'\```#^````?@```'X```!^````?@```'X```!_``
+M``?P```/\```#_````_X```?_```'_X``#__``!__\`!___``___________
+M_R@````P````8`````$`(````````"0`````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````````````````````````````````````P``
+M``P````7````(````"`````@````(````"`````@````(````"`````@````
+M(````"`````@````(````"`````@````(````"`````@````(````"`````@
+M````(````"`````=````$0``````````````````````````````````````
+M```````````````````````````````````!`````P````0````$`````@``
+M``$````!````!0```!,L+"Q'<'%QJH6&AK^"@X2_@(&"OWU^@+][>WV_>7I[
+MOW9W>;]T=':_<7)TOV]P<;]L;7"_:VMMOVAI:[]E9FB_8V1GOV)B9;]>7V*_
+M7%Q@OUI:7;]76%N_5598OU)35[]$1$BK"@H*1@````$`````````````````
+M``````````````````````````````````````````````$````$````#```
+M`!<````9````$0````H````&````"0```!=/3U!AO\'"ZNCIZ__EY^G_X^7G
+M_^'CY?_>X./_W-[A_]K<W__8V=W_UM?;_]/5V?_1TM?_SM#5_\S.T__*S-'_
+MR,G/_\;'S?_#Q<O_P<+)_[_`Q_^\OL3_NKS"_[BZP/^;G*+J'!P=:`````(`
+M````````````````````````````````````````````````````````````
+M``(````)````'@```$`:&AI>`P,#1````#8````F````'````"!14E)BQLC)
+MZN[P\?_K[>__ZNOM_^?IZ__EYNG_X^7G_^#BY?_>W^/_W-[A_]K;W__7V=W_
+MU=?;_]/5V?_0TM?_S]#5_\S.TO_*R]#_R,G._\7'S/_#Q,K_P</(_[[`QO^B
+MHJCJ(2$B:`````(`````````````````````````````````````````````
+M``````````````````,````-````+3$Q,7G"P\7^J*FK[82%ALA@8&"71D9'
+M=R8F)V0^/CY^N;N[[>GKZ__N[_#_[O#Q_^[P\?_M[O#_ZNSN_^GJ[/_FZ.K_
+MY.7H_^+DYO_?X>3_W=[B_]O=X/_8VM[_UMC<_]36VO_2T]C_S]'6_\W/U/_+
+MS-+_R<K0_\?(SO^HJJ[J)B8G:`````(`````````````````````````````
+M``````````````````````````````````4````3````.&IJ:J3K[>__Y.7G
+M_]S>X/_*R\W^L[2V])Z?HMN"@H3/EYB9]JVNK__"Q,3_V-G9_^#AXO_GZ>K_
+MZ^WN_^WO\/_L[O#_ZNSN_^CJ[/_FY^K_Y.7H_^'CYO_?X>/_W=_A_]O<X/_8
+MVMW_UMC<_]35V?_1T]?_S]'5_\W/T_^NL+7J*BHK:`````(`````````````
+M`````````````````````````````````````````````0````@````:`P,#
+M0I^@H,KR\_3_[.[P_^/EY__=WN'_VMS>_];8V__+S<__OL##_KR]P?^IJZ[_
+MF9J<_Y67F/^BI*3_J:JJ_ZFKK/^\O;__TM/5_][?X/_7V=K_T-+3_\W.T/_=
+MW^'_X^7H_^'CYO_>X./_W=[A_]K<W__8V=W_UMC;_]35V?^UMKKJ+R\P:```
+M``(`````````````````````````````````````````````````````````
+M`@````L````A+2TM9=#1T>+X^OK_]??X_^_Q\O_DYN?_X.+D_]W>X/_8VMS_
+MUM?:_]+4U__.S]+_RLS0_\;(S/^KK;'_D9*6_XR-C_^9FIO_IJBI_Z*DI/^C
+MI*7_N+FZ_\?)RO_3U=;_XN3F_^GJ[/_FZ.O_Y.;I_^+DY__@X>7_W=_B_]S=
+MX/^\OL'J,S,T:`````(`````````````````````````````````````````
+M`````````````````P````X````K75Y>AN7EY>[\_O[_^OS\__?Y^?_M[N__
+MYNCI_^+DYO_>X.'_V]S?_]?9V__3U=?_T-'5_\S.TO_'R<[_Q,7+_\'"Q_^M
+MKK/_FIN@_Y25F/^.CY'_CH^1_Y&2D_^KK:W_Q,;'_^#AX__M[_#_Z^SN_^GJ
+M[?_FZ.K_Y.;H_^+DYO_#Q,?J.#@X:`````(`````````````````````````
+M````````````````````````````````!0```!,"`@(WC(V-H^[O[_K\_O[_
+M_/[^__O]_?_V^/C_[>_P_^CJ[/_DYN?_X.+D_]W>X?_9VMW_U=?:_]+4V/_.
+MS]/_RLO0_\;(S/_"Q,G_OL#%_[R]PO^PLK?_I*:L_Z&CJ?^2DY?_@(&#_\W.
+MS__S]?;_\?/T_^_Q\O_L[O#_Z^WN_^CJ[/_*RLSJ/#P\:`````(`````````
+M```````````````````````````````````````````!````"````!@>'AY0
+MM+6UPOCZ^O_\_O[__/[^__S^_O_\_O[_]_GY_^_Q\O_J[.W_Y^GJ_^/EY__>
+MX.+_W-W@_]G:W?_4UMG_T=/6_\W/T__)R\[_Q<?,_\+#R/^^O\7_O+W"_[F[
+MP?^XNL#_EYB<_]/4U?_Z_/S_^?O[__?Y^O_T]O;_\O3U__#R\__0TM/J04)"
+M:`````(````````````````````````````````````````````````````!
+M````"P```!]`0$!GS<[.W?S^_O_\_O[__/[^__S^_O_\_O[_^_W]__;X^/_P
+M\O+_ZNSL_^+DY?_=W^#_W=[@_]W?X?_:W-[_U]C;_]/5V/_/T-3_R\W1_\C*
+MSO_'R,W_QL?,_\/%RO^^P,;_H:*F_]_@X?_\_O[__/[^__O]_?^_Q=__NL'F
+M_\C1[/_2U-;J149&:`````(`````````````````````````````````````
+M```````````````#````$````"A@8&!\X.+B]_S^_O_\_O[__/[^__S^_O_\
+M_O[__/[^__K\_/_GZ.C_W=W>_[Z_P/^IJJK_R<O,_]O<WO_?X>/_W-[@_]G:
+MW/_5U]G_U-;9_]/5V?_0TM;_S<_4_\K+T/^\O</_K*VP_^[P\/_\_O[__/[^
+M__/U]?]I=<O_:G/0_V)PWO_.U-CJ2DI*:`````(`````````````````````
+M``````````````````````````$````%````%@```#>&A8*U]??W__S^_O_\
+M_O[__/[^__K\_/_M[^__W-W=_\/$Q/^[O+S_M[>W_]O;V__"PL+_B(F)_Y:6
+MEO^ZN[S_U]G:_^+DYO_CY.?_X.+D_]O=X?_.T-/_Q,;)_[V_PO^LK;#_K[&R
+M__?Y^?_\_O[__/[^__G[^_^2F<__P\/4_W-^W?_0U]KJ3DY.:`````(`````
+M``````````````````````````````````````````(````*````'0```$RO
+MK*7J_/[^__S^_O_\_O[_\?/S_\C)R?^:FYO_C(R,_YB8F/^VMK;_YN;F_^[N
+M[O^YN;G_JZNK_X2$A?^@H*'_N+J[_]S>W__IZ^W_Y>;H_\W.T?^KK:__GZ"B
+M_YF;G?^)BXW_EYB8_]/5U?_U]_?__/[^__S^_O]_B=[_;';:_TA8U/_2V-KJ
+M45%1:`````(```````````````````````````````````````````````4`
+M```2````*R`;#H#8U]+^_/[^__S^_O_IZ^O_GY^?_X&!@?^7EY?_O+R\_]/3
+MT__/S\__S,S,_^/CX__$Q,3_XN+B_ZZNKO]_?W__IJBH_[N]O?_IZ^W_W=_@
+M_[BZN_^_P</_R,G+_[[`P_^%AHC_HJ*B_[6WM__1T]/_^/KZ__S^_O^YP^[_
+MJ[;M_["[ZO_:WM_J55969P````(`````````````````````````````````
+M`````````@````H````:%!$)47YO3=[R]/3_\?/S_]?9V?^2DY/_E965_ZRL
+MK/_"Q<;_VN#C_]OAY/_DY^C_^/CX__KZ^O^(G*7_8I*H_VR=M?]H@H[_<'9Y
+M_Z*CH__)RLO_ZNSM_^SM[__1UMG_O,;-_["]Q/]T?'[_<')G_W)M7_]^=F;_
+MF)%\_Z>=A_^>EX7TCHZ+QI.4E+*&AX><-S<W.P````$`````````````````
+M````````````````````````!````!`````G3T$BCZ68>/CDY>7_S,W-_\'!
+MP?^BHJ+_E9:6_WV*D/^`H*[_?*.T_W^EN/^'I[7_LK_%_^3DY/]-@)C_:)"E
+M_VN<LO^*N]+_@)RI_VYU>?^TM;;_V]W>_\+(R_]SEZC_8(N?_VB7K/]RH+;_
+M:HV9_UEN:_]M7SK_F()*_ZZ35/^EC$_W:ULSHP@&`R\````6````"0``````
+M````````````````````````````````````````"````!<7$0@_@6DVOK.A
+M<O[!O;+_Q<3#_\+"PO^*BXO_;X")_X^SP_]_L,G_:X:3_X24G/^&G*;_9'R(
+M_[&TMO]<@I;_L;>[_WR)CO]@F+/_J,W>_WZ=K?]Y>GO_M+6U_VZ$CO^!F:/_
+MKKO"_Y&=H_]F@HS_J=#B_X^ZT/]8<7+_D'Q*_[R?7?^[GEO^F(!*TSLR'$<`
+M```)`````@``````````````````````````````````````````````#```
+M`!T^,!5IIXA%Z,NJ6O_)J%K_NIM6_Y9^5?]E;FG_G+W+_YK(WO]?<'G_BXJ*
+M_Y:6EO_-S<W_V=G9_]S<W/^LK['_X>'A_[:UM?]&5V#_:I^W_\WM_/]!7&O_
+MA(6%_^#BXO_\_O[_^?O[_YN:EO]];TO_:(*&_]7K]/]UI;S_=7ED_[ZC8?_#
+MIV'_N9U;]V%2+WP````.`````@``````````````````````````````````
+M````````````$0```"-<222,OYM/^]*P7O_.JUK_F6\M_W)*%?]L@8+_L=/C
+M_XB]U?\^-BG_448[_VMB6O^DH)O_Q<7$_\[.SO_3T]/_U]?7_X.$@_\K*"C_
+M*#9!_V%VB/\?,C;_465?_\7(Q__\_O[_^_W]_Y2-??]X:4/_2591_YZUP?^B
+MQ]G_=8)T_\"E9?_+K6?_R:MD_X-P0:X````7````!```````````````````
+M````````````````````````````%0```"ES6"BTR*-3_]>T8/_&H%'_>TL1
+M_WU4&_^"HJW_O=WK_WRUT/\4$@W_)3<K_R<I%_]B0R+_EWQ6_[BIBO^YM*G_
+MO[^]_V=Y<_\L5$?_(EQ*_R%C4?\WA&O_2H)Q_Y*8EO_Y^_O_[O#P_Y6);O\R
+M/"S_)$P__RQ!/_]#453_9F]6_\6J:/_/LFS_S:]H_Z:-4]4````C````!0``
+M````````````````````````````````````````````&````#%S3QS5Q9]0
+M_]BU8?^NA#S_:#4!_U\Q`/]VDZ'_GKW._T!C=_\5'1C_'$(V_R)'//]!+Q/_
+MFGM"_]*R:/_=O7+_TK9S_WY[6_\E44+_(6A2_R5Y7O\UB&__/H%M_X68DO_`
+MP<'_OKVZ_V1<1O\:23K_'DT^_R-Z7_\WJ(3_8(]M_[VG:O_0LV[_S[!J_[RA
+M7_`````Q````!P``````````````````````````````````````````````
+M&@```#AF.POHLHE`_\RG5O]^3A/_9S,`_T@H!/\M4U+_)$%%_QHX,?\E44+_
+M(4L]_Q]00/\S-1__944=_XEI-O_&I&#_W+QS_\RR;_\\74?_)6A3_QJ%9/\G
+MF'7_/XIS_VEY:_^EHIS_AX-X_V%:0_\=3T'_(%U)_QYW6_\UE7?_8XMK_\"J
+M;?_1M7#_T+%L_\BK9_L,"P="````"```````````````````````````````
+M````````````````'````#]V2Q7QK(0\_X=9'/]H-0#_9#,`_THG`O\M8$?_
+M,HEM_R>"9?\@:E/_)%Q)_R5I5/\L-B7_4"\._U@W$_]L22+_C&P\_\^R;O^-
+MBES_(55"_QQ[7O\GGWK_0)A^_W=_7O^@D&K_D8->_VYD1O\I7$O_(W%9_R"-
+M;/\VG'W_;Y!L_\6M;__1MG+_T+-N_\VP:OXA'!),````"0``````````````
+M````````````````````````````````'````#]Y3ACR<4`)_V<T`/]G-`#_
+M8S(`_TXG`/]#.BC_-UI._SJ*</\PF7G_*8)F_RIX8?\?6TG_)C<G_T8T&?]9
+M.1G_6SL;_WQ=-/^ADV'_,5A$_R-S6_\DCV[_1*:(_VV#8?^>C&+_?W-2_SI`
+M-_\A;%3_)8%D_S:B@?]&?V?_E)-E_].W=__2MW3_T;1P_\^R;?XH(A91````
+M"0``````````````````````````````````````````````&@```#QE.0?M
+M9S4`_V<T`/]H-`#_93,`_T<O%/]GAI/_0S<I_S@L$O\Z:E+_,(YP_R2/;?\A
+M>EW_)651_RP^,/]1-1?_53D:_UY!(O^">U/_+E=$_R%L5/\FEG/_3+65_VF"
+M8O^/@5S_1$T[_Q--._\E?V/_+))R_SJ7>?^0D6?_R[-W_]6Y>O_2MW7_T;5Q
+M_\RO;/T6$PY&````"```````````````````````````````````````````
+M````&````#97+0#D9C0!_V<T`/]G-`#_93,`_U]F7_]]H*__/R0(_T@D`/\X
+M)`W_+4`M_S2$:O\PEWC_(WM@_RIE4O\D.BK_*C<I_RHD%_].233_-%=$_R=D
+M4O\THH'_1J>)_SI.//]!/S+_'%`]_QMR5_\RI8/_0)^!_WR+9__3N7W_U[U]
+M_]6Z>O_2N';_T;5Q_\2I9_8&!@0W````!P``````````````````````````
+M````````````````````%0```"Y3+@G,<T06_VLY!_]G-`#_8C(`_X20C_^@
+MQ-/_14E&_QX;$O\6,2G_(B@;_S$J%O\_CG'_/9R`_S"<>_\E=5[_(6-._QU'
+M-O\-$A#_'3@L_Q1F3/\XF'K_.HAP_QU`,_\A8D[_)75<_T&QC_].FW[_E99M
+M_]6\@O_9OX+_U[U^_]6Z>__2N'?_TK=V_[.;8>$````F````!0``````````
+M````````````````````````````````````#P```"5$)PJE?E0I_G]5*_]N
+M/0S_9C0`_UM62/_.[/K_8XB<_RD].O\C6DG_(DH[_RDH&?\I+A__,71=_T2I
+MBO\YA&W_*G=@_R%T6_\D2T#_'$<Z_Q=M4_\NFWK_/YI__REV7?\A?6'_-(=M
+M_TB<@?^1F7+_TKJ#_]O"AO_9OX+_UKU^_]6[?/_6OH+_U\"&_YV)6L`````7
+M`````P``````````````````````````````````````````````"P```!PS
+M'@AY>E,J])!M2/^)8CO_=D@:_UTU"O]_D)C_9'F*_R911O\9AV;_&7Y@_QI<
+M2/\C037_)TL^_SB";/\ZIH;_(HAI_R2':?\D;E?_(%9%_QAN4_\?FW3_.YM^
+M_R^#:/\JGGO_,X5L_W%^7__7P(C_W,2)_]O!A?_9OX'_V+Z!_]K$C/_=R9K_
+MUL"*_7QL2)(````.`````@``````````````````````````````````````
+M````````!P```!8>#P%19D,?U99T4/^<?%K_FGE6_XQF/_]A.A/_/TDR_SV7
+M=O\WJH7_+:-__S&@??\LBFW_*&Q6_RAA3_\D9E+_*(!D_Q^0;O\FCV[_&WE<
+M_QI^7_\;E7#_*X)G_RES7/\N:%/_BHEH_ZR9;/_9P8?_W,.(_]O"B/_=QY+_
+MX<ZA_^+1I__@S:+_OJEYY%Q1-%8````&`````0``````````````````````
+M`````````````````````````P````\'`P`P32X.JI!N2_JDAF?_I(9G_Z2&
+M9_^<>EC_?F$]_UI-+/]0:$;_1F]2_SMW6O\^@&;_/(-J_SI]9O\J<%O_+&=5
+M_R1S6_\RE'7_)(EK_R"$9?\?B&C_&G-7_Q)3/O\5*A__6U1!_TY'-?_4OHK_
+MX,N8_^/0I/_FUJ__YM:P_^35KO_=R9S\GXQ@N#$J'"D````#````````````
+M`````````````````````````````````````````0````D````<*Q<"<'M7
+M,^JKCW/_K)!T_ZR0=/^LD'3_JXYR_Z6&:/^/<$__>UXW_VM/)O]H3B3_:54L
+M_V=8,O]>43+_,S,F_PP9%/\:=%C_'*A]_QB5;_\5EW#_#X!=_P(U)?\3&13_
+MDXAP_[6HB?_BU*[_Z-BU_^G;N/_IV[C_Z-BV_^;7M/_-N8CO;%X]=`````T`
+M```!````````````````````````````````````````````````````````
+M``0````0````,$8F"*J??V#^M)N#_[2<A/^UG(3_M9R$_[:<A/^VG(3_MIV%
+M_[6<@_^LD'3_G7Y@_WYA1?\O(Q?_!`,"_P8%!/\((!C_$(%>_P^)9/\+8T?_
+M!2\C_P,%`_\P+2?_=G!A_\K`IO_8R;'_S+JF_^77NO_IW+W_Z=V\_^+0J?^#
+M:T2X!P8&)0````0`````````````````````````````````````````````
+M``````````````````$````&````&1()`$]U4B_FL9=^_[RFD?^\II'_O::1
+M_[VFD?^]II'_O:>2_[^HE/_`JI;_O:B4_XI\;?\]-C#_'QP9_S\Z-/\_.C;_
+M!Q00_P,>%?\`"PC_``(!_QD8%?^AF8?_R+ZG_^;:P/_2PZ__R[NI_^78OO_L
+MX,/_Z-JY_[RE>NPO)!51````"P````$`````````````````````````````
+M```````````````````````````````````````"````#````!\])0V/B6A'
+M\KRED/_%L9[_Q;&>_\6QGO_%L9[_Q;&>_\:RH/_'M*+_QK.B_[NJFO^FEXG_
+M3$4__W!F7O]V;67_#@T,_Q`0$/\O+2O_!P8&_Q44$O^3BWW_W="\_][1O?_;
+MSKO_SK^P_]_3OO_KW\/_R[:/]W!=/Y,````3`````@``````````````````
+M````````````````````````````````````````````````````````````
+M!`````T#`0`H.2`&B8=H2.O$L9[_S;VL_\Z^K?_.OJW_SKVM_\Z^K?_/P*__
+MT,&P_]'"LO^WJIS_8EM5_W-K8_^9D(7_+BPJ_XR&@?^MI)K_9F!:_W9O9_^:
+MD8?_R;VQ_]3'N__6R+O_T\:Y_\R]KO^\IX?U<5P\H!`+!R0````$````````
+M````````````````````````````````````````````````````````````
+M``````````````````````0````-!@,`+3TD"8V-<5+IPZ^:_]3'N/_5R+K_
+MU<BZ_]7(NO_5R;O_ULF\_]?*O?_1Q;C_N["E_ZF@EO^UK*'_B(%Z_]'(O?_8
+MS,'_T,6Z_[RQJ/_4R+W_VL_$_]K/Q/_:SL/_U<>U_[.??O-N6#JB)!D.-0``
+M``4`````````````````````````````````````````````````````````
+M``````````````````````````````````````$````#````#00"`"1$,!9]
+MG8):XLNWGO_;T,7_W=+'_]W2Q__=TL?_W=/(_][3R?_>U,K_WM3)_]O1Q__:
+MT<?_U,O!_]_6S/_AU\W_X=?._^'7SO_AV,[_Y-O1_^KBUO_DV+_^P*Z$Z'1E
+M1(H5$@P@````!P````$`````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````P````D````:(!@*3G=?,ZN^J(7OV\VY_>3;S__EW=;_Y=[6_^7>UO_F
+MX-C_Z.'9_^CAVO_HXMK_Z>/<_^OFWO_JX]S_ZN3;_^[GW__QZ][_[N7/_MK*
+MI_*>BEVY0CHE4````!$````#````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``````````````````````````$````%````#P,!`"I(,Q=^AFY,O\&OB^?D
+MU;C^ZN'0_^WGWO_PZ^3_]?'I__7QZO_U\>O_^/3L__GU[?_V\NC_\^O=_^[C
+MR?_3Q*'MKIYVQ'UM2($0#@HD````"0````$`````````````````````````
+M````````````````````````````````````````````````````````````
+M```````````````````````````````````````````````!`````P````@#
+M`0`6(!8(-51'*5Z"<TZ<K)EMS<RXBN_BT*?^ZMR[_^[AQ?_NX\?_Z]_`_^?7
+ML?[3P9;UMZ5[UY*#7ZAE6#IC/S<B-`````\````$`````0``````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``````````````$````#````!0````H````3````(````#,G(!%23D$C:V!1
+M+'ED5#![5TDI;S,K&%<#`@$S````'P```!`````'`````P````$`````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``$````"`````P````0````$`````P````(````!````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``````````````````````````````````````````#_______\``/______
+M_P``___````/``#__X````\``/_C@```#P``_\`````/``#_P`````\``/^`
+M````#P``_X`````/``#_@`````\``/^`````#P``_P`````/``#_``````\`
+M`/\`````#P``_@`````/``#^``````\``/X`````#P``_``````/``#\````
+M``\``/@`````'P``^``````_``#X`````#\``/``````'P``\``````?``#P
+M`````!\``/``````'P``\``````?``#P`````!\``/``````'P``\``````?
+M``#P`````!\``/@`````'P``^``````_``#X`````#\``/P`````/P``_```
+M``!_``#\`````'\``/X`````_P``_P````#_``#_@````?\``/_````#_P``
+M_^````?_``#_\```#_\``/_\```__P``__X``/__``#__\`#__\``/______
++_P``________````
+`
+end
diff --git a/patches/claws-mail-2.9.2/02-w32-icon.patch b/patches/claws-mail-2.9.2/02-w32-icon.patch
new file mode 100755 (executable)
index 0000000..fc88497
--- /dev/null
@@ -0,0 +1,67 @@
+#! /bin/sh
+patch -p1 -f $* < $0
+exit $?
+
+For the logo, see actually 01-w32-logo.patch.
+
+2007-07-02  Marcus Brinkmann <mb@g10code.com>
+
+       * w32-resource.rc: New file.
+       * w32-logo.ico: New file.
+       * src/Makefile.am: Define rules to compile resource files.
+       (claws_mail_LDFLAGS): Add $(claws_mail_res_ldflag).
+       (claws_mail_DEPENDENCIES): Add $(claws_mail_deps).
+       (EXTRA_DIST): Add w32-logo.ico and w32-resource.rc.
+
+
+diff -rupN claws-mail-2.9.2-p01/src/Makefile.am claws-mail-2.9.2/src/Makefile.am
+--- claws-mail-2.9.2-p01/src/Makefile.am       2007-05-08 09:59:22.000000000 +0200
++++ claws-mail-2.9.2/src/Makefile.am   2007-07-02 19:45:47.000000000 +0200
+@@ -14,6 +14,21 @@ install-exec-hook:
+       @rm -f $(DESTDIR)$(bindir)/sylpheed-claws
+       @ln -s claws-mail $(DESTDIR)$(bindir)/sylpheed-claws
++if PLATFORM_WIN32
++LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) \
++     `echo $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) | \
++     sed -e 's/-I/--include-dir /g;s/-D/--define /g'`
++
++%.o : %.rc
++      $(LTRCCOMPILE) -i $< -o $@
++
++claws_mail_res_ldflag = -Wl,w32-resource.o
++claws_mail_deps = w32-resource.o
++else
++claws_mail_res_ldflag =
++claws_mail_deps =
++endif
++
+ claws_mail_SOURCES = \
+       account.c \
+       action.c \
+@@ -297,6 +312,7 @@ BUILT_SOURCES = \
+       quote_fmt_parse.h
+ EXTRA_DIST = \
++      w32-logo.ico w32-resource.rc \
+       pixmaps/active.xpm \
+       pixmaps/addr_one.xpm \
+       pixmaps/addr_two.xpm \
+@@ -454,7 +470,11 @@ arch_ldflags :=
+ endif
+ claws_mail_LDFLAGS = \
+-      $(arch_ldflags) -export-dynamic
++      $(arch_ldflags) -export-dynamic $(claws_mail_res_ldflag)
++
++claws_mail_DEPENDENCIES = $(claws_mail_deps) \
++      $(etpan_library) \
++      gtk/libclawsgtk.la
+ claws_mail_LDADD = \
+       $(etpan_library) \
+diff -rupN claws-mail-2.9.2-p01/src/w32-resource.rc claws-mail-2.9.2/src/w32-resource.rc
+--- claws-mail-2.9.2-p01/src/w32-resource.rc   1970-01-01 01:00:00.000000000 +0100
++++ claws-mail-2.9.2/src/w32-resource.rc       2007-07-02 19:46:07.000000000 +0200
+@@ -0,0 +1 @@
++1 ICON "w32-logo.ico"
diff --git a/patches/claws-mail-2.9.2/03-w32-port.patch b/patches/claws-mail-2.9.2/03-w32-port.patch
new file mode 100755 (executable)
index 0000000..0ce6921
--- /dev/null
@@ -0,0 +1,912 @@
+#! /bin/sh
+patch -p1 -f $* < $0
+exit $?
+
+2007-05-21  Werner Koch  <wk@g10code.com>
+2007-06-30  Marcus Brinkmann  <marcus@g10code.de>
+
+       * autogen.sh [--build-w32]: Disable bogofilter-plugin and
+       valgrind.
+       * src/common/w32lib.h: Undef "interface".
+       (w32_is_administrator): New prototype.
+       * src/common/Makefile.am (arch_sources): Add w32_account.c.
+       * src/common/w32_account.c: New.
+       * src/common/utils.c (copy_dir) [W32]: Don't use symlinks.
+       (superuser_p): New.
+       * src/common/utils.h (superuser_p): New prototype.
+       * src/prefs_themes.c (prefs_themes_btn_remove_clicked_cb) 
+       (prefs_themes_btn_install_clicked_cb): Replace getuid based test
+       by superuser_p.
+       * src/common/timing.h [G_OS_WIN32]: Include w32lib.h and implement
+       timing macros.
+       * src/gtk/Makefile.am (AM_CPPFLAGS): Add -I../common for version.h.
+       * src/Makefile.am (INCLUDES): Add -Icommon for version.h.
+       * src/msgcache.c [G_OS_WIN32]: Include w32lib.h instead of
+       sys/mman.h and define MAP_FAILED.
+       (msgcache_read_cache, msgcache_read_mark, msgcache_write)
+       [G_OS_WIN32]: Implement memory mapped file access.
+
+       * src/plugins/pgpcore/Makefile.am (INCLUDES): Add
+       -I$(top_builddir)/src/common.
+       * src/plugins/pgpcore/claws.def: Update.
+       * src/plugins/pgpcore/passphrase.c: Include w32lib.h instead of
+       windows.h.  This so that we can fix problems in windows.h.
+       * src/plugins/pgpcore/sgpgme.c [G_OS_WIN32]: Do not include
+       sys/wait.h.
+       * src/plugins/pgpcore/pgp_viewer.c: Ditto.
+       * src/plugins/pgpcore/plugin.def: Add
+       sgpgme_data_release_and_get_mem, prefs_gpg_enable_agent and
+       plugin_provides.
+
+       * src/plugins/pgpinline/Makefile.am (INCLUDES): Add
+       -I$(top_builddir)/src/common.
+       * src/plugins/pgpinline/plugin.def: Add plugin_provides.
+       * src/plugins/pgpinline/claws.def: Update.
+       * src/plugins/pgpinline/mypgpcore.def: Update.
+
+       * src/plugins/pgpmime/Makefile.am (INCLUDES): Add
+       -I$(top_builddir)/src/common.
+       * src/plugins/pgpmime/plugin.def: Add plugin_provides.
+       * src/plugins/pgpmime/claws.def: Update.
+       * src/plugins/pgpmime/mypgpcore.def: Update.
+
+
+diff -rup claws-mail-2.9.2-orig/autogen.sh claws-mail-2.9.2/autogen.sh
+--- claws-mail-2.9.2-orig/autogen.sh   2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/autogen.sh        2007-06-29 16:59:34.000000000 +0200
+@@ -40,6 +40,7 @@ if test "$1" = "--build-w32"; then
+              --disable-openssl --disable-dillo-viewer-plugin \
+              --disable-nls --disable-libetpan --disable-aspell \
+              --disable-trayicon-plugin --disable-spamassassin-plugin \
++             --disable-bogofilter-plugin --disable-valgrind \
+              PKG_CONFIG_LIBDIR="$w32root/lib/pkgconfig"
+     rc=$?
+diff -rup claws-mail-2.9.2-orig/src/common/w32lib.h claws-mail-2.9.2/src/common/w32lib.h
+--- claws-mail-2.9.2-orig/src/common/w32lib.h  2007-05-08 09:59:21.000000000 +0200
++++ claws-mail-2.9.2/src/common/w32lib.h       2007-05-21 11:46:41.000000000 +0200
+@@ -44,6 +44,12 @@
+ /* Changes are:
++2007-05-21  Werner Koch  <wk@g10code.com>
++
++      * src/common/w32_account.c: New.
++
++      * src/common/w32lib.h: Undef "interface".
++
+ 2005-11-17  Werner Koch  <wk@g10code.com>
+       Add boilerplate text to all files and explain legal status.
+@@ -76,6 +82,13 @@
+ #include <dirent.h>
+ #endif
++/* Mingw32 3.4.4 defines interface to struct and thus breaks our own
++   use of that symbol.  Undef it here. */
++#if defined(_BASETYPS_H) && defined(interface) 
++#undef interface
++#endif
++
++
+ /* types */
+ /*** ??? ***/
+ #ifndef __MINGW32__
+@@ -188,6 +201,9 @@ int kill( pid_t pid, int sig );
+ FILE *popen( const char *command, const char *type );
+ int pclose( FILE *stream );
++/*** w32_account.c ***/
++int w32_is_administrator (void);
++
+ /*** misc ***/
+ char *read_w32_registry_string( char *parent, char *section, char *key );
+ char *get_content_type_from_registry_with_ext( char *ext );
+diff -rup claws-mail-2.9.2-orig/src/common/Makefile.am claws-mail-2.9.2/src/common/Makefile.am
+--- claws-mail-2.9.2/src/common/Makefile.am    2007-05-08 09:59:21.000000000 +0200
++++ claws-mail-2.9.2/src/common/Makefile.am    2007-05-21 11:46:16.000000000 +0200
+@@ -5,7 +5,7 @@ if OS_WIN32
+ arch_sources = fnmatch.c \
+                w32_dirent.c w32_reg.c w32_signal.c w32_stat.c \
+                w32_stdio.c w32_stdlib.c w32_string.c w32_time.c \
+-               w32_unistd.c w32_wait.c
++               w32_unistd.c w32_wait.c w32_account.c
+ arch_headers = fnmatch.h w32lib.h
+ else
+ arch_files = 
+diff -rupN /dev/null claws-mail-2.9.2/src/common/w32_account.c
+--- /dev/null  2007-05-14 05:46:41.000000000 +0200
++++ claws-mail-2.9.2/src/common/w32_account.c  2007-05-21 11:52:32.000000000 +0200
+@@ -0,0 +1,149 @@
++/* w32_account.c - Account related W32 functions.
++   Copyright (C) 2007 g10 Code GmbH 
++   Copyright (C) 1999-2005 Nullsoft, Inc.
++
++   This software is provided 'as-is', without any express or implied
++   warranty. In no event will the authors be held liable for any
++   damages arising from the use of this software.
++   
++   Permission is granted to anyone to use this software for any
++   purpose, including commercial applications, and to alter it and
++   redistribute it freely, subject to the following restrictions:
++   
++   1. The origin of this software must not be misrepresented; you must
++      not claim that you wrote the original software. If you use this
++      software in a product, an acknowledgment in the product
++      documentation would be appreciated but is not required.
++   
++   2. Altered source versions must be plainly marked as such, and must
++      not be misrepresented as being the original software.
++   
++   3. This notice may not be removed or altered from any source
++      distribution.
++
++ =======[ wk 2007-05-21 ]====
++   The code for get_group_name has been taken from NSIS 2.05, module
++   UserInfo.c.  NSIS bears the above license and along with the
++   notice:
++     This license applies to everything in the NSIS package, except where
++     otherwise noted.
++   Thus we make this module available under the same license - note,
++   that this lincese is fully compatibe with the GNU GPL 2.0.
++*/ 
++  
++  
++
++
++#include <stdlib.h>
++#include <string.h>
++
++#include "w32lib.h"
++
++#ifndef DIM
++#define DIM(v)  (sizeof(v)/sizeof((v)[0]))
++#endif
++
++
++/* Return a malloced name of our user group.  */
++static char *
++get_group_name (void)
++{
++  HANDLE        hThread;
++  TOKEN_GROUPS  *ptg = NULL;
++  DWORD         cbTokenGroups;
++  DWORD         i, j;
++  SID_IDENTIFIER_AUTHORITY SystemSidAuthority = { SECURITY_NT_AUTHORITY };
++  char *group;
++  struct
++  {
++    DWORD auth_id;
++    char *name;
++  } groups[] = 
++    {
++      /* Every user belongs to the users group, hence
++         users comes before guests */
++      {DOMAIN_ALIAS_RID_USERS, "User"},
++      {DOMAIN_ALIAS_RID_GUESTS, "Guest"},
++      {DOMAIN_ALIAS_RID_POWER_USERS, "Power"},
++      {DOMAIN_ALIAS_RID_ADMINS, "Admin"}
++    };
++
++
++  group = NULL;
++  if (GetVersion() & 0x80000000) 
++    {
++      /* This is not NT; thus we are always Admin. */
++      group = "Admin";
++    }
++  else if (OpenThreadToken(GetCurrentThread(), TOKEN_QUERY, FALSE, &hThread) 
++           || OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hThread))
++    {
++      /* With the token for the current thread or process in hand we
++         query the size of the associated group information.  Note
++         that we expect an error because buffer has been passed as
++         NULL. cbTokenGroups will then tell use the required size.  */
++      if (!GetTokenInformation (hThread, TokenGroups, NULL, 0, &cbTokenGroups)
++          && GetLastError () == ERROR_INSUFFICIENT_BUFFER)
++        {
++          ptg = GlobalAlloc (GPTR, cbTokenGroups);
++          if (ptg)
++            {
++              if (GetTokenInformation ( hThread, TokenGroups, ptg,
++                                        cbTokenGroups, &cbTokenGroups))
++                {
++
++                  /* Now iterate through the list of groups for this
++                     access token looking for a match against the SID
++                     we created above. */
++                  for (i = 0; i < DIM (groups); i++)
++                    {
++                      PSID psid = 0;
++                      
++                      AllocateAndInitializeSid (&SystemSidAuthority,
++                                                2,
++                                                SECURITY_BUILTIN_DOMAIN_RID,
++                                                groups[i].auth_id,
++                                                0, 0, 0, 0, 0, 0,
++                                                &psid);
++                      if (!psid) 
++                        continue;
++                      for (j = 0; j < ptg->GroupCount; j++)
++                        if (EqualSid(ptg->Groups[j].Sid, psid))
++                          group = groups[i].name;
++                      FreeSid(psid);
++                    }
++                }
++              
++              GlobalFree(ptg);
++            }
++        }
++      
++      CloseHandle(hThread);
++    }
++
++  return group? strdup (group):NULL;
++}
++
++
++/* Return true if we are an administrator.  The chekc is done only
++   once so if the current user has been hadded to the Administrator
++   group the process needs to be rerstarted. */
++int
++w32_is_administrator (void)
++{
++  static int got_it;
++  static int is_admin;
++
++  if (!got_it)
++    {
++      char *name = get_group_name ();
++
++      if (name && !strcmp (name, "Admin"))
++        is_admin = 1;
++      got_it = 1;
++      free (name);
++    }
++
++  return is_admin;
++}
++
+diff -rup claws-mail-2.9.2-orig/src/common/utils.c claws-mail-2.9.2/src/common/utils.c
+--- claws-mail-2.9.2-orig/src/common/utils.c   2007-05-08 09:59:21.000000000 +0200
++++ claws-mail-2.9.2/src/common/utils.c        2007-05-21 11:55:02.000000000 +0200
+@@ -56,6 +56,7 @@
+ #  include <direct.h>
+ #  include <io.h>
+ #  include <fcntl.h>
++#  include <w32lib.h>
+ #endif
+ #ifdef MAEMO
+@@ -74,6 +75,18 @@ static gboolean debug_mode = FALSE;
+ static GSList *tempfiles=NULL;
+ #endif
++/* Return true if we are running as root.  This function should beused
++   instead of getuid () == 0.  */
++gboolean superuser_p (void)
++{
++#ifdef G_OS_WIN32
++  return w32_is_administrator ();
++#else
++  return !getuid();
++#endif  
++}
++
++
+ #if !GLIB_CHECK_VERSION(2, 7, 0) && !defined(G_OS_UNIX)
+ gint g_chdir(const gchar *path)
+@@ -4728,7 +4741,12 @@ gint copy_dir(const gchar *src, const gc
+                               g_dir_close(dir);
+                               return r;
+                       }
+-              } else if (g_file_test(old_file, G_FILE_TEST_IS_SYMLINK)) {
++                }
++#ifndef G_OS_WIN32
++                /* Windows has no symlinks.  Or well, Vista seems to
++                   have something like this but the semantics might be
++                   different.  Thus we don't use it under Windows. */
++               else if (g_file_test(old_file, G_FILE_TEST_IS_SYMLINK)) {
+                       GError *error;
+                       gint r = 0;
+                       gchar *target = g_file_read_link(old_file, &error);
+@@ -4739,7 +4757,9 @@ gint copy_dir(const gchar *src, const gc
+                               g_dir_close(dir);
+                               return r;
+                       }
+-              } else if (g_file_test(old_file, G_FILE_TEST_IS_DIR)) {
++                 }
++#endif /*G_OS_WIN32*/
++              else if (g_file_test(old_file, G_FILE_TEST_IS_DIR)) {
+                       gint r = copy_dir(old_file, new_file);
+                       if (r < 0) {
+                               g_dir_close(dir);
+diff -rup claws-mail-2.9.2-orig/src/common/utils.h claws-mail-2.9.2/src/common/utils.h
+--- claws-mail-2.9.2-orig/src/common/utils.h   2007-05-08 09:59:21.000000000 +0200
++++ claws-mail-2.9.2/src/common/utils.h        2007-05-21 11:49:32.000000000 +0200
+@@ -204,6 +204,14 @@ gboolean debug_get_mode           (void);
+ #define Str(x)        #x
+ #define Xstr(x)       Str(x)
++
++/* System related stuff.  */
++
++gboolean superuser_p (void);
++
++
++/* String utilities.  */
++
+ void list_free_strings                (GList          *list);
+ void slist_free_strings               (GSList         *list);
+diff -rup claws-mail-2.9.2-orig/src/common/timing.h claws-mail-2.9.2/src/common/timing.h
+--- claws-mail-2.9.2-orig/src/common/timing.h  2007-05-08 09:59:21.000000000 +0200
++++ claws-mail-2.9.2/src/common/timing.h       2007-06-29 19:41:56.000000000 +0200
+@@ -29,6 +29,7 @@
+ #ifndef __TIMING_H__
+ #define __TIMING_H__
++#include <glib.h>
+ #include <sys/time.h>
+ #ifdef HAVE_CONFIG_H
+ #  include "config.h"
+@@ -49,13 +50,38 @@
+ #define START_TIMING(str) do {} while(0);
+ #define END_TIMING() do {} while(0);
+ #else
++
++#ifdef G_OS_WIN32
++
++#include <w32lib.h>
++
++/* no {} by purpose */
++#define START_TIMING(str)                                             \
++        LARGE_INTEGER frequency;                                      \
++      LARGE_INTEGER start;                                            \
++      LARGE_INTEGER end;                                              \
++      LARGE_INTEGER diff;                                             \
++      const char *timing_name=str;                                    \
++      QueryPerformanceFrequency (&frequency);                         \
++      QueryPerformanceCounter (&start);                               \
++
++#define END_TIMING()                                                  \
++      QueryPerformanceCounter (&end);                                 \
++        diff.QuadPart = (double)                                      \
++              ((end.QuadPart - start.QuadPart)        \
++              * (double)1000.0/(double)frequency.QuadPart);           \
++        debug_print("TIMING %s: %ds%03dms\n",                         \
++              timing_name, (unsigned int) (diff.QuadPart / 1000000),  \
++              (unsigned int) ((diff.QuadPart / 1000) % 1000));
++
++#else
+ /* no {} by purpose */
+ #define START_TIMING(str)                                             \
+       struct timeval start;                                           \
+       struct timeval end;                                             \
+       struct timeval diff;                                            \
+       const char *timing_name=str;                                    \
+-      gettimeofday(&start, NULL);                                     \
++      gettimeofday(&start, NULL);
+ #ifdef __GLIBC__
+ #define END_TIMING()                                                  \
+@@ -64,7 +90,7 @@
+       debug_print("TIMING %s %s: %ds%03dms\n",                        \
+               __FUNCTION__,                                           \
+               timing_name, (unsigned int)diff.tv_sec,                 \
+-              (unsigned int)diff.tv_usec/1000);                       
++              (unsigned int)diff.tv_usec/1000);
+ #else
+ #define END_TIMING()                                                  \
+       gettimeofday(&end, NULL);                                       \
+@@ -76,3 +102,4 @@
+ #endif 
+ #endif 
++#endif
+diff -rup claws-mail-2.9.2-orig/src/gtk/Makefile.am claws-mail-2.9.2/src/gtk/Makefile.am
+--- claws-mail-2.9.2-orig/src/gtk/Makefile.am  2007-05-08 09:59:19.000000000 +0200
++++ claws-mail-2.9.2/src/gtk/Makefile.am       2007-06-29 16:48:05.000000000 +0200
+@@ -65,6 +65,7 @@ clawsgtkinclude_HEADERS = \
+ AM_CPPFLAGS = \
+       -I$(srcdir)/../common \
++      -I../common \
+       -I$(srcdir)/.. \
+       $(GTK_CFLAGS) \
+       $(OPENSSL_CFLAGS) \
+diff -rup claws-mail-2.9.2-orig/src/Makefile.am claws-mail-2.9.2/src/Makefile.am
+--- claws-mail-2.9.2-orig/src/Makefile.am      2007-07-02 19:45:47.000000000 +0200
++++ claws-mail-2.9.2/src/Makefile.am   2007-06-29 17:03:48.000000000 +0200
+@@ -460,6 +444,7 @@ EXTRA_DIST = \
+ INCLUDES = \
+       -I$(srcdir)/common \
++      -Icommon \
+       -I$(srcdir)/gtk \
+       -I$(srcdir)/etpan
+diff -rup claws-mail-2.9.2-orig/src/msgcache.c claws-mail-2.9.2/src/msgcache.c
+--- claws-mail-2.9.2-orig/src/msgcache.c       2007-05-08 09:59:22.000000000 +0200
++++ claws-mail-2.9.2/src/msgcache.c    2007-06-29 20:17:41.000000000 +0200
+@@ -28,7 +28,12 @@
+ #include <glib.h>
+ #include <glib/gi18n.h>
+-#include <sys/mman.h>
++#ifdef _WIN32
++# include <w32lib.h>
++# define MAP_FAILED   ((char *) -1)
++#else
++# include <sys/mman.h>
++#endif
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -621,8 +626,23 @@ MsgCache *msgcache_read_cache(FolderItem
+                       map_len = st.st_size;
+               else
+                       map_len = -1;
+-              if (map_len > 0)
++              if (map_len > 0) {
++#ifdef G_OS_WIN32
++                      cache_data = NULL;
++                      HANDLE hFile, hMapping;
++                      hFile = (HANDLE) _get_osfhandle (fileno(fp));
++                      if (hFile == (HANDLE) -1)
++                              goto w32_fail;
++                      hMapping = CreateFileMapping(hFile, NULL, PAGE_WRITECOPY, 0, 0, NULL);
++                      if (!hMapping)
++                              goto w32_fail;
++                      cache_data = (unsigned char *)MapViewOfFile(hMapping, FILE_MAP_COPY, 0, 0, 0);
++              w32_fail:
++                      ;
++#else
+                       cache_data = mmap(NULL, map_len, PROT_READ, MAP_PRIVATE, fileno(fp), 0);
++#endif
++              }
+       } else {
+               cache_data = NULL;
+       }
+@@ -678,8 +698,12 @@ MsgCache *msgcache_read_cache(FolderItem
+                       if(msginfo->msgid)
+                               g_hash_table_insert(cache->msgid_table, msginfo->msgid, msginfo);
+               }
+-              
++
++#ifdef G_OS_WIN32
++              UnmapViewOfFile((void*) cache_data);
++#else
+               munmap(cache_data, map_len);
++#endif
+       } else {
+               while (fread(&num, sizeof(num), 1, fp) == 1) {
+                       if (swapping)
+@@ -784,8 +808,23 @@ void msgcache_read_mark(MsgCache *cache,
+                       map_len = st.st_size;
+               else
+                       map_len = -1;
+-              if (map_len > 0)
++              if (map_len > 0) {
++#ifdef G_OS_WIN32
++                      cache_data = NULL;
++                      HANDLE hFile, hMapping;
++                      hFile = (HANDLE) _get_osfhandle (fileno(fp));
++                      if (hFile == (HANDLE) -1)
++                              goto w32_fail2;
++                      hMapping = CreateFileMapping(hFile, NULL, PAGE_WRITECOPY, 0, 0, NULL);
++                      if (!hMapping)
++                              goto w32_fail2;
++                      cache_data = (unsigned char *)MapViewOfFile(hMapping, FILE_MAP_COPY, 0, 0, 0);
++              w32_fail2:
++                      ;
++#else
+                       cache_data = mmap(NULL, map_len, PROT_READ, MAP_PRIVATE, fileno(fp), 0);
++#endif
++              }
+       } else {
+               cache_data = NULL;
+       }
+@@ -801,7 +840,11 @@ void msgcache_read_mark(MsgCache *cache,
+                               msginfo->flags.perm_flags = perm_flags;
+                       }
+               }
++#ifdef G_OS_WIN32
++              UnmapViewOfFile((void*) cache_data);
++#else
+               munmap(cache_data, map_len);
++#endif
+       } else {
+               while (fread(&num, sizeof(num), 1, fp) == 1) {
+                       if (swapping)
+@@ -1011,16 +1054,49 @@ gint msgcache_write(const gchar *cache_f
+       if (msgcache_use_mmap_write && cache->memusage > 0) {
+               map_len = cache->memusage;
+               if (ftruncate(fileno(write_fps.cache_fp), (off_t)map_len) == 0) {
++
++#ifdef G_OS_WIN32
++                      cache_data = NULL;
++                      HANDLE hFile, hMapping;
++                      hFile = (HANDLE) _get_osfhandle (fileno(write_fps.cache_fp));
++                      if (hFile == (HANDLE) -1)
++                              goto w32_fail3;
++                      hMapping = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0, 0, NULL);
++                      if (!hMapping)
++                              goto w32_fail3;
++                      cache_data = (unsigned char *)MapViewOfFile(hMapping, FILE_MAP_COPY, 0, 0, 0);
++              w32_fail3:
++                      ;
++#else
+                       cache_data = mmap(NULL, map_len, PROT_WRITE, MAP_SHARED, 
+                               fileno(write_fps.cache_fp), 0);
++#endif
+               }
+               if (cache_data != NULL && cache_data != MAP_FAILED) {
+                       if (ftruncate(fileno(write_fps.mark_fp), (off_t)map_len) == 0) {
++#ifdef G_OS_WIN32
++                      cache_data = NULL;
++                      HANDLE hFile, hMapping;
++                      hFile = (HANDLE) _get_osfhandle (fileno(write_fps.mark_fp));
++                      if (hFile == (HANDLE) -1)
++                              goto w32_fail4;
++                      hMapping = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0, 0, NULL);
++                      if (!hMapping)
++                              goto w32_fail4;
++                      mark_data = (unsigned char *)MapViewOfFile(hMapping, FILE_MAP_COPY, 0, 0, 0);
++              w32_fail4:
++                      ;
++#else
+                               mark_data = mmap(NULL, map_len, PROT_WRITE, MAP_SHARED, 
+                                       fileno(write_fps.mark_fp), 0);
++#endif
+                       } 
+                       if (mark_data == NULL || mark_data == MAP_FAILED) {
++#ifdef G_OS_WIN32
++                              UnmapViewOfFile((void*) cache_data);
++#else
+                               munmap(cache_data, map_len);
++#endif
+                               cache_data = NULL;
+                       }
+               }
+@@ -1030,8 +1106,13 @@ gint msgcache_write(const gchar *cache_f
+               write_fps.cache_data = cache_data + ftell(write_fps.cache_fp);
+               write_fps.mark_data = mark_data + ftell(write_fps.mark_fp);
+               g_hash_table_foreach(cache->msgnum_table, msgcache_write_mmap_func, (gpointer)&write_fps);
++#ifdef G_OS_WIN32
++              UnmapViewOfFile((void*) cache_data);
++              UnmapViewOfFile((void*) mark_data);
++#else
+               munmap(cache_data, map_len);
+               munmap(mark_data, map_len);
++#endif
+               ftruncate(fileno(write_fps.cache_fp), write_fps.cache_size);
+               ftruncate(fileno(write_fps.mark_fp), write_fps.mark_size);
+       } else {
+diff -rup claws-mail-2.9.2-orig/src/prefs_themes.c claws-mail-2.9.2/src/prefs_themes.c
+--- claws-mail-2.9.2-orig/src/prefs_themes.c   2007-05-08 09:59:19.000000000 +0200
++++ claws-mail-2.9.2/src/prefs_themes.c        2007-05-21 11:51:35.000000000 +0200
+@@ -445,7 +445,7 @@ static void prefs_themes_btn_remove_clic
+       tmp = g_path_get_basename(theme_str);
+       if (IS_SYSTEM_THEME(theme_str)) {
+-              if (getuid() != 0) {
++              if (!superuser_p()) {
+                       alertpanel_error(_("Only root can remove system themes"));
+                       return;
+               }
+@@ -518,7 +518,7 @@ static void prefs_themes_btn_install_cli
+               if (G_ALERTALTERNATE != val)
+                       goto end_inst;
+       }
+-      if (getuid() == 0) {
++      if (superuser_p ()) {
+               val = alertpanel(alert_title,
+                                _("Do you want to install theme for all users?"),
+                                GTK_STOCK_NO, GTK_STOCK_YES, NULL);
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpcore/claws.def claws-mail-2.9.2/src/plugins/pgpcore/claws.def
+--- claws-mail-2.9.2-orig/src/plugins/pgpcore/claws.def        2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpcore/claws.def     2007-07-02 19:51:25.000000000 +0200
+@@ -1,26 +1,37 @@
+ LIBRARY CLAWS-MAIL.EXE
+ EXPORTS
++account_get_default
+ alertpanel
+-alertpanel_full
+ alertpanel_error
++alertpanel_full
++check_plugin_version
+ copy_file_part
+ debug_print_real
+ debug_srcname
++extract_address
+ get_rc_dir
+ get_tmp_file
++gtkut_get_options_frame
+ gtkut_stock_button_set_create
++gtkut_window_new
+ input_dialog
++label_window_create
++label_window_destroy
+ mainwindow_get_mainwindow
+ manage_window_destroy
+ manage_window_focus_in
+ manage_window_focus_out
+ manage_window_set_transient
+ manage_window_unmap
++mimeview_register_viewer_factory
++mimeview_unregister_viewer_factory
+ prefs_account_get_privacy_prefs
+ prefs_account_register_page
+ prefs_account_set_privacy_prefs
+ prefs_account_unregister_page
+ prefs_button_toggled
++prefs_button_toggled_reverse
++prefs_common
+ prefs_file_close
+ prefs_file_close_revert
+ prefs_gtk_register_page
+@@ -30,6 +41,12 @@ prefs_set_block_label
+ prefs_set_default
+ prefs_write_open
+ prefs_write_param
+-claws_get_version
+-privacy_set_error
+ privacy_get_error
++privacy_set_error
++textview_clear
++textview_create
++textview_destroy
++textview_init
++textview_set_font
++textview_show_icon
++textview_show_mime_part
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpcore/Makefile.am claws-mail-2.9.2/src/plugins/pgpcore/Makefile.am
+--- claws-mail-2.9.2-orig/src/plugins/pgpcore/Makefile.am      2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpcore/Makefile.am   2007-06-29 20:29:45.000000000 +0200
+@@ -72,6 +72,7 @@ pgpcore_la_LIBADD = $(cygwin_export_lib)
+ INCLUDES = \
+       -I$(top_srcdir)/src \
+       -I$(top_srcdir)/src/common \
++      -I$(top_builddir)/src/common \
+       -I$(top_srcdir)/src/gtk
+ AM_CPPFLAGS = \
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpcore/passphrase.c claws-mail-2.9.2/src/plugins/pgpcore/passphrase.c
+--- claws-mail-2.9.2-orig/src/plugins/pgpcore/passphrase.c     2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpcore/passphrase.c  2007-05-21 10:19:05.000000000 +0200
+@@ -44,7 +44,7 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #ifdef G_OS_WIN32
+-#include <windows.h>
++#include <w32lib.h>
+ #else
+ #include <sys/mman.h>
+ #endif
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpcore/pgp_viewer.c claws-mail-2.9.2/src/plugins/pgpcore/pgp_viewer.c
+--- claws-mail-2.9.2-orig/src/plugins/pgpcore/pgp_viewer.c     2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpcore/pgp_viewer.c  2007-05-21 10:21:25.000000000 +0200
+@@ -26,7 +26,9 @@
+ #include <glib.h>
+ #include <glib/gi18n.h>
+ #include <sys/types.h>
+-#include <sys/wait.h>
++#ifndef G_OS_WIN32
++#  include <sys/wait.h>
++#endif
+ #if (defined(__DragonFly__) || defined (__NetBSD__) || defined (__FreeBSD__) || defined (__OpenBSD__))
+ #  include <sys/signal.h>
+ #endif
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpcore/plugin.def claws-mail-2.9.2/src/plugins/pgpcore/plugin.def
+--- claws-mail-2.9.2-orig/src/plugins/pgpcore/plugin.def       2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpcore/plugin.def    2007-06-30 01:59:46.000000000 +0200
+@@ -1,13 +1,15 @@
+ EXPORTS
+-        plugin_init
++        plugin_desc
+         plugin_done
++        plugin_init
++        plugin_licence
+         plugin_name
+-        plugin_desc
++      plugin_provides
+         plugin_type
+-        plugin_licence
+         plugin_version
+         sgpgme_data_from_mimeinfo
++      sgpgme_data_release_and_get_mem
+         sgpgme_decrypt_verify
+         sgpgme_get_encrypt_data
+         sgpgme_setup_signers
+@@ -17,4 +19,5 @@ EXPORTS
+         sgpgme_verify_signature
+         gpgmegtk_passphrase_cb
++        prefs_gpg_enable_agent
+         prefs_gpg_get_config
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpcore/sgpgme.c claws-mail-2.9.2/src/plugins/pgpcore/sgpgme.c
+--- claws-mail-2.9.2-orig/src/plugins/pgpcore/sgpgme.c 2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpcore/sgpgme.c      2007-05-21 10:21:47.000000000 +0200
+@@ -33,7 +33,9 @@
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <sys/types.h>
+-#include <sys/wait.h>
++#ifndef G_OS_WIN32
++#  include <sys/wait.h>
++#endif
+ #if (defined(__DragonFly__) || defined (__NetBSD__) || defined (__FreeBSD__) || defined (__OpenBSD__))
+ #  include <sys/signal.h>
+ #endif
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpinline/claws.def claws-mail-2.9.2/src/plugins/pgpinline/claws.def
+--- claws-mail-2.9.2-orig/src/plugins/pgpinline/claws.def      2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpinline/claws.def   2007-07-02 19:53:21.000000000 +0200
+@@ -1,5 +1,6 @@
+ LIBRARY CLAWS-MAIL.EXE
+ EXPORTS
++check_plugin_version
+ codeconv_set_strict
+ conv_codeset_strdup
+ conv_get_locale_charset_str_no_utf8
+@@ -8,6 +9,8 @@ debug_srcname
+ get_mime_tmp_dir
+ my_tmpfile
+ privacy_register_system
++privacy_reset_error
++privacy_set_error
+ privacy_unregister_system
+ procmime_decode_content
+ procmime_encode_content
+@@ -16,7 +19,3 @@ procmime_mimeinfo_get_parameter
+ procmime_mimeinfo_parent
+ procmime_scan_file
+ procmime_write_mimeinfo
+-claws_get_version
+-privacy_set_error
+-privacy_get_error
+-privacy_reset_error
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpinline/Makefile.am claws-mail-2.9.2/src/plugins/pgpinline/Makefile.am
+--- claws-mail-2.9.2-orig/src/plugins/pgpinline/Makefile.am    2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpinline/Makefile.am 2007-06-30 00:25:06.000000000 +0200
+@@ -71,6 +71,7 @@ pgpinline_la_LIBADD = $(plugin_ldadd) $(
+ INCLUDES = \
+       -I$(top_srcdir)/src \
+       -I$(top_srcdir)/src/common \
++      -I$(top_builddir)/src/common \
+       -I$(top_srcdir)/src/gtk
+ AM_CPPFLAGS = \
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpinline/mypgpcore.def claws-mail-2.9.2/src/plugins/pgpinline/mypgpcore.def
+--- claws-mail-2.9.2-orig/src/plugins/pgpinline/mypgpcore.def  2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpinline/mypgpcore.def       2007-07-02 19:54:29.000000000 +0200
+@@ -1,14 +1,13 @@
+ LIBRARY PGPCORE.DLL
+ EXPORTS
+-        sgpgme_data_from_mimeinfo
+-        sgpgme_decrypt_verify
+-        sgpgme_get_encrypt_data
+-        sgpgme_setup_signers
+-        sgpgme_sigstat_gpgme_to_privacy
+-        sgpgme_sigstat_info_full
+-        sgpgme_sigstat_info_short
+-        sgpgme_verify_signature
+-        gpgmegtk_passphrase_cb
+-        prefs_gpg_get_config
+-
+-
++gpgmegtk_passphrase_cb
++prefs_gpg_enable_agent
++prefs_gpg_get_config
++sgpgme_data_release_and_get_mem
++sgpgme_decrypt_verify
++sgpgme_get_encrypt_data
++sgpgme_setup_signers
++sgpgme_sigstat_gpgme_to_privacy
++sgpgme_sigstat_info_full
++sgpgme_sigstat_info_short
++sgpgme_verify_signature
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpinline/plugin.def claws-mail-2.9.2/src/plugins/pgpinline/plugin.def
+--- claws-mail-2.9.2-orig/src/plugins/pgpinline/plugin.def     2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpinline/plugin.def  2007-06-30 01:05:15.000000000 +0200
+@@ -1,9 +1,10 @@
+ EXPORTS
+-        plugin_init
++        plugin_desc
+         plugin_done
++        plugin_init
++        plugin_licence
+         plugin_name
+-        plugin_desc
+         plugin_type
+-        plugin_licence
++      plugin_provides
+         plugin_version
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpmime/claws.def claws-mail-2.9.2/src/plugins/pgpmime/claws.def
+--- claws-mail-2.9.2-orig/src/plugins/pgpmime/claws.def        2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpmime/claws.def     2007-07-02 19:53:39.000000000 +0200
+@@ -1,6 +1,7 @@
+ LIBRARY CLAWS-MAIL.EXE
+ EXPORTS
+ canonicalize_str
++check_plugin_version
+ debug_print_real
+ debug_srcname
+ file_read_stream_to_str
+@@ -8,6 +9,8 @@ generate_mime_boundary
+ get_mime_tmp_dir
+ my_tmpfile
+ privacy_register_system
++privacy_reset_error
++privacy_set_error
+ privacy_unregister_system
+ procmime_mimeinfo_free_all
+ procmime_mimeinfo_get_parameter
+@@ -15,7 +18,3 @@ procmime_mimeinfo_new
+ procmime_mimeinfo_parent
+ procmime_scan_file
+ procmime_write_mimeinfo
+-claws_get_version
+-privacy_set_error
+-privacy_get_error
+-privacy_reset_error
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpmime/Makefile.am claws-mail-2.9.2/src/plugins/pgpmime/Makefile.am
+--- claws-mail-2.9.2-orig/src/plugins/pgpmime/Makefile.am      2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpmime/Makefile.am   2007-06-30 00:20:29.000000000 +0200
+@@ -70,6 +70,7 @@ pgpmime_la_LIBADD = $(plugin_ldadd) $(pg
+ INCLUDES = \
+       -I$(top_srcdir)/src \
+       -I$(top_srcdir)/src/common \
++      -I$(top_builddir)/src/common \
+       -I$(top_srcdir)/src/gtk
+ AM_CPPFLAGS = \
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpmime/mypgpcore.def claws-mail-2.9.2/src/plugins/pgpmime/mypgpcore.def
+--- claws-mail-2.9.2-orig/src/plugins/pgpmime/mypgpcore.def    2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpmime/mypgpcore.def 2007-07-02 19:55:09.000000000 +0200
+@@ -1,14 +1,14 @@
+ LIBRARY PGPCORE.DLL
+ EXPORTS
+-        sgpgme_data_from_mimeinfo
+-        sgpgme_decrypt_verify
+-        sgpgme_get_encrypt_data
+-        sgpgme_setup_signers
+-        sgpgme_sigstat_gpgme_to_privacy
+-        sgpgme_sigstat_info_full
+-        sgpgme_sigstat_info_short
+-        sgpgme_verify_signature
+-        gpgmegtk_passphrase_cb
+-        prefs_gpg_get_config
+-
+-
++gpgmegtk_passphrase_cb
++prefs_gpg_enable_agent
++prefs_gpg_get_config
++sgpgme_data_from_mimeinfo
++sgpgme_data_release_and_get_mem
++sgpgme_decrypt_verify
++sgpgme_get_encrypt_data
++sgpgme_setup_signers
++sgpgme_sigstat_gpgme_to_privacy
++sgpgme_sigstat_info_full
++sgpgme_sigstat_info_short
++sgpgme_verify_signature
+diff -rup claws-mail-2.9.2-orig/src/plugins/pgpmime/plugin.def claws-mail-2.9.2/src/plugins/pgpmime/plugin.def
+--- claws-mail-2.9.2-orig/src/plugins/pgpmime/plugin.def       2007-05-08 09:59:23.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpmime/plugin.def    2007-06-30 01:05:27.000000000 +0200
+@@ -1,8 +1,9 @@
+ EXPORTS
+-        plugin_init
++        plugin_desc
+         plugin_done
++        plugin_init
++        plugin_licence
+         plugin_name
+-        plugin_desc
+         plugin_type
+-        plugin_licence
++      plugin_provides
+         plugin_version
diff --git a/patches/claws-mail-2.9.2/04-smime-plugin.patch b/patches/claws-mail-2.9.2/04-smime-plugin.patch
new file mode 100755 (executable)
index 0000000..ab037e9
--- /dev/null
@@ -0,0 +1,1211 @@
+#! /bin/sh
+patch -p1 -f $* < $0
+exit $?
+
+2007-06-30  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Add the SMIME plugin straight to the source.  This makes
+          building it so much simpler.
+
+diff -ruN claws-mail-2.9.2-p03/configure.ac claws-mail-2.9.2/configure.ac
+--- claws-mail-2.9.2-p03/configure.ac  2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/configure.ac      2007-07-02 20:54:13.000000000 +0200
+@@ -888,6 +888,7 @@
+ src/plugins/pgpcore/Makefile
+ src/plugins/pgpmime/Makefile
+ src/plugins/pgpinline/Makefile
++src/plugins/smime/Makefile
+ doc/Makefile
+ doc/man/Makefile
+ tools/Makefile
+diff -ruN claws-mail-2.9.2-p03/src/plugins/Makefile.am claws-mail-2.9.2/src/plugins/Makefile.am
+--- claws-mail-2.9.2-p03/src/plugins/Makefile.am       2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/Makefile.am   2007-07-02 20:54:14.000000000 +0200
+@@ -40,4 +40,5 @@
+       $(clamav_dir) \
+       $(pgpcore_dir) \
+       $(pgpmime_dir) \
+-      $(pgpinline_dir)
++      $(pgpinline_dir) \
++      smime
+diff -ruN claws-mail-2.9.2-p03/src/plugins/smime/claws.def claws-mail-2.9.2/src/plugins/smime/claws.def
+--- claws-mail-2.9.2-p03/src/plugins/smime/claws.def   1970-01-01 01:00:00.000000000 +0100
++++ claws-mail-2.9.2/src/plugins/smime/claws.def       2007-07-02 20:54:14.000000000 +0200
+@@ -0,0 +1,28 @@
++LIBRARY CLAWS-MAIL.EXE
++EXPORTS
++alertpanel_error
++canonicalize_file_replace
++canonicalize_str
++check_plugin_version
++debug_print_real
++debug_srcname
++file_read_stream_to_str
++file_read_to_str
++generate_mime_boundary
++get_mime_tmp_dir
++get_tmp_file
++my_tmpfile
++privacy_register_system
++privacy_set_error
++privacy_unregister_system
++procmime_decode_content
++procmime_encode_content
++procmime_get_part
++procmime_mimeinfo_free_all
++procmime_mimeinfo_get_parameter
++procmime_mimeinfo_new
++procmime_mimeinfo_parent
++procmime_scan_file
++procmime_write_mime_header
++procmime_write_mimeinfo
++str_write_to_file
+diff -ruN claws-mail-2.9.2-p03/src/plugins/smime/Makefile.am claws-mail-2.9.2/src/plugins/smime/Makefile.am
+--- claws-mail-2.9.2-p03/src/plugins/smime/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ claws-mail-2.9.2/src/plugins/smime/Makefile.am     2007-07-02 20:54:14.000000000 +0200
+@@ -0,0 +1,82 @@
++EXTRA_DIST = version.rc plugin.def claws.def mypgpcore.def smime.deps
++
++if OS_WIN32
++
++LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) \
++     `echo $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) | \
++     sed -e 's/-I/--include-dir /g;s/-D/--define /g'`
++
++%.lo : %.rc
++      $(LTRCCOMPILE) -i $< -o $@
++
++plugin_res = version.lo
++plugin_res_ldflag = -Wl,.libs/version.o
++
++export_symbols = -export-symbols $(srcdir)/plugin.def
++
++plugin_deps = libclaws.a libmypgpcore.a $(plugin_res) plugin.def
++
++libclaws.a: claws.def
++      $(DLLTOOL) --output-lib $@ --def $<
++
++libmypgpcore.a: mypgpcore.def
++      $(DLLTOOL) --output-lib $@ --def $<
++
++plugin_ldadd = -L . -lclaws -lmypgpcore
++
++else
++plugin_res =
++plugin_res_ldflag =
++export_symbols =
++plugin_deps =
++plugin_ldadd =
++endif
++
++if PLATFORM_WIN32
++no_undefined = -no-undefined
++else
++no_undefined =
++endif
++
++if CYGWIN
++cygwin_export_lib = -L$(top_builddir)/src -lclaws-mail
++else
++cygwin_export_lib =
++endif
++
++plugindir = $(pkglibdir)/plugins
++plugin_DATA = smime.deps
++
++plugin_LTLIBRARIES = smime.la
++
++smime_la_SOURCES = \
++      plugin.c \
++      smime.c
++
++pluginincludedir = $(pkgincludedir)/plugins/smime
++plugininclude_HEADERS = \
++      smime.h
++
++smime_la_LDFLAGS = \
++      $(plugin_res_ldflag) $(no_undefined) $(export_symbols) \
++      -avoid-version -module 
++smime_la_DEPENDENCIES = $(plugin_deps)
++smime_la_LIBADD = $(cygwin_export_lib) $(plugin_ldadd) $(pgpcore_lib) \
++        $(GTK_LIBS) \
++      $(GPGME_LIBS)
++
++INCLUDES = \
++      -I$(top_srcdir)/src \
++      -I$(top_srcdir)/src/common \
++      -I$(top_builddir)/src/common \
++      -I$(top_srcdir)/src/gtk
++
++AM_CPPFLAGS = \
++      $(GLIB_CFLAGS) \
++      $(GTK_CFLAGS) \
++      $(GPGME_CFLAGS) \
++      -Wno-deprecated-declarations
++
++clean-local:
++      rm -f libclaws.a
++      rm -f libmypgpcore.a
+diff -ruN claws-mail-2.9.2-p03/src/plugins/smime/mypgpcore.def claws-mail-2.9.2/src/plugins/smime/mypgpcore.def
+--- claws-mail-2.9.2-p03/src/plugins/smime/mypgpcore.def       1970-01-01 01:00:00.000000000 +0100
++++ claws-mail-2.9.2/src/plugins/smime/mypgpcore.def   2007-07-02 20:54:14.000000000 +0200
+@@ -0,0 +1,13 @@
++LIBRARY PGPCORE.DLL
++EXPORTS
++prefs_gpg_enable_agent
++prefs_gpg_get_config
++sgpgme_data_from_mimeinfo
++sgpgme_data_release_and_get_mem
++sgpgme_decrypt_verify
++sgpgme_get_encrypt_data
++sgpgme_setup_signers
++sgpgme_sigstat_gpgme_to_privacy
++sgpgme_sigstat_info_full
++sgpgme_sigstat_info_short
++sgpgme_verify_signature
+diff -ruN claws-mail-2.9.2-p03/src/plugins/smime/plugin.c claws-mail-2.9.2/src/plugins/smime/plugin.c
+--- claws-mail-2.9.2-p03/src/plugins/smime/plugin.c    1970-01-01 01:00:00.000000000 +0100
++++ claws-mail-2.9.2/src/plugins/smime/plugin.c        2007-07-02 20:54:14.000000000 +0200
+@@ -0,0 +1,89 @@
++/*
++ * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
++ * Copyright (C) 1999-2007 Colin Leroy <colin@colino.net> and 
++ * the Claws Mail team
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++ */
++
++#ifdef HAVE_CONFIG_H
++#  include "config.h"
++#endif
++
++#include <stddef.h>
++#include <glib.h>
++#include <glib/gi18n.h>
++
++#include "version.h"
++#include "common/claws.h"
++#include "smime.h"
++#include "plugin.h"
++
++gint plugin_init(gchar **error)
++{
++      if (!check_plugin_version(MAKE_NUMERIC_VERSION(2, 7, 2, 63), 
++                              VERSION_NUMERIC, _("S/MIME"), error))
++              return -1;
++
++      smime_init();
++
++      return 0;       
++}
++
++void plugin_done(void)
++{
++      smime_done();
++}
++
++const gchar *plugin_name(void)
++{
++      return _("S/MIME");
++}
++
++const gchar *plugin_desc(void)
++{
++      return _("This plugin handles S/MIME signed and/or encrypted "
++               "mails. You can decrypt mails, verify signatures or "
++                 "sign and encrypt your own mails.\n"
++               "\n"
++               "It can be selected as the Default Privacy System in "
++               "/Configuration/[Account Preferences]/Privacy and when "
++               "composing a message from /Options/Privacy System\n"
++               "\n"
++               "This plugin uses the GPGME library as a wrapper for GnuPG.\n"
++               "This plugin also needs gpgsm, gnupg-agent and dirmngr "
++               "installed and configured.\n"
++               "\n"
++               "Information about how to get S/MIME certificates working "
++               "with GPGSM can be found at:\n"
++               "http://www.claws-mail.org/faq/index.php/S/MIME_howto\n"
++               "\n"
++               "GPGME is copyright 2001 by Werner Koch <dd9jn@gnu.org>");
++}
++
++const gchar *plugin_type(void)
++{
++      return "GTK2";
++}
++
++const gchar *plugin_licence(void)
++{
++      return "GPL";
++}
++
++const gchar *plugin_version(void)
++{
++      return VERSION;
++}
+diff -ruN claws-mail-2.9.2-p03/src/plugins/smime/plugin.def claws-mail-2.9.2/src/plugins/smime/plugin.def
+--- claws-mail-2.9.2-p03/src/plugins/smime/plugin.def  1970-01-01 01:00:00.000000000 +0100
++++ claws-mail-2.9.2/src/plugins/smime/plugin.def      2007-07-02 20:54:14.000000000 +0200
+@@ -0,0 +1,9 @@
++EXPORTS
++        plugin_desc
++        plugin_done
++        plugin_init
++        plugin_licence
++        plugin_name
++        plugin_type
++      plugin_provides
++        plugin_version
+diff -ruN claws-mail-2.9.2-p03/src/plugins/smime/smime.c claws-mail-2.9.2/src/plugins/smime/smime.c
+--- claws-mail-2.9.2-p03/src/plugins/smime/smime.c     1970-01-01 01:00:00.000000000 +0100
++++ claws-mail-2.9.2/src/plugins/smime/smime.c 2007-07-02 20:54:14.000000000 +0200
+@@ -0,0 +1,860 @@
++/* 
++ * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
++ * Copyright (C) 1999-2007 Colin Leroy <colin@colino.net> and 
++ * the Claws Mail team
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++ */
++
++#ifdef HAVE_CONFIG_H
++#  include "config.h"
++#endif
++
++#ifdef USE_GPGME
++
++#include "defs.h"
++#include <glib.h>
++#include <gpgme.h>
++#include <ctype.h>
++#include <glib/gi18n.h>
++
++#include "utils.h"
++#include "privacy.h"
++#include "procmime.h"
++
++#include "smime.h"
++#include <plugins/pgpcore/sgpgme.h>
++#include <plugins/pgpcore/prefs_gpg.h>
++#include <plugins/pgpcore/passphrase.h>
++
++#include "alertpanel.h"
++#include "prefs_common.h"
++#include "procmime.h"
++#include "plugin.h"
++
++typedef struct _PrivacyDataPGP PrivacyDataPGP;
++
++struct _PrivacyDataPGP
++{
++      PrivacyData     data;
++      
++      gboolean        done_sigtest;
++      gboolean        is_signed;
++      gpgme_verify_result_t   sigstatus;
++      gpgme_ctx_t     ctx;
++};
++
++static PrivacySystem smime_system;
++
++static gint smime_check_signature(MimeInfo *mimeinfo);
++
++static PrivacyDataPGP *smime_new_privacydata()
++{
++      PrivacyDataPGP *data;
++
++      data = g_new0(PrivacyDataPGP, 1);
++      data->data.system = &smime_system;
++      data->done_sigtest = FALSE;
++      data->is_signed = FALSE;
++      data->sigstatus = NULL;
++      gpgme_new(&data->ctx);
++      
++      return data;
++}
++
++static void smime_free_privacydata(PrivacyData *_data)
++{
++      PrivacyDataPGP *data = (PrivacyDataPGP *) _data;
++      gpgme_release(data->ctx);
++      g_free(data);
++}
++
++static gboolean smime_is_signed(MimeInfo *mimeinfo)
++{
++      MimeInfo *parent;
++      MimeInfo *signature;
++      const gchar *protocol, *tmpstr;
++      PrivacyDataPGP *data = NULL;
++      
++      g_return_val_if_fail(mimeinfo != NULL, FALSE);
++      if (mimeinfo->privacy != NULL) {
++              data = (PrivacyDataPGP *) mimeinfo->privacy;
++              if (data->done_sigtest)
++                      return data->is_signed;
++      }
++      
++      if (!g_ascii_strcasecmp(mimeinfo->subtype, "pkcs7-mime") ||
++          !g_ascii_strcasecmp(mimeinfo->subtype, "x-pkcs7-mime")) {
++              tmpstr = procmime_mimeinfo_get_parameter(mimeinfo, "smime-type");
++              if (tmpstr && !g_ascii_strcasecmp(tmpstr, "signed-data")) {
++                      if (data == NULL) {
++                              data = smime_new_privacydata();
++                              mimeinfo->privacy = (PrivacyData *) data;
++                      }
++
++                      data->done_sigtest = TRUE;
++                      data->is_signed = TRUE;
++                      smime_check_signature(mimeinfo);
++                      return TRUE;
++              }
++      }
++
++      /* check parent */
++      parent = procmime_mimeinfo_parent(mimeinfo);
++      if (parent == NULL)
++              return FALSE;
++      
++      if ((parent->type != MIMETYPE_MULTIPART) ||
++          g_ascii_strcasecmp(parent->subtype, "signed"))
++              return FALSE;
++      protocol = procmime_mimeinfo_get_parameter(parent, "protocol");
++      if ((protocol == NULL) || 
++          (g_ascii_strcasecmp(protocol, "application/pkcs7-signature") &&
++           g_ascii_strcasecmp(protocol, "application/x-pkcs7-signature")))
++              return FALSE;
++
++      /* check if mimeinfo is the first child */
++      if (parent->node->children->data != mimeinfo)
++              return FALSE;
++
++
++      /* check signature */
++      signature = parent->node->children->next != NULL ? 
++          (MimeInfo *) parent->node->children->next->data : NULL;
++      if (signature == NULL)
++              return FALSE;
++      if ((signature->type != MIMETYPE_APPLICATION) ||
++          (g_ascii_strcasecmp(signature->subtype, "pkcs7-signature") &&
++           g_ascii_strcasecmp(signature->subtype, "x-pkcs7-signature")))
++              return FALSE;
++
++is_signed:
++      if (data == NULL) {
++              data = smime_new_privacydata();
++              mimeinfo->privacy = (PrivacyData *) data;
++      }
++      
++      data->done_sigtest = TRUE;
++      data->is_signed = TRUE;
++
++      return TRUE;
++}
++
++static gchar *get_canonical_content(FILE *fp, const gchar *boundary)
++{
++      gchar *ret;
++      GString *textbuffer;
++      guint boundary_len = 0;
++      gchar buf[BUFFSIZE];
++
++      if (boundary) {
++              boundary_len = strlen(boundary);
++              while (fgets(buf, sizeof(buf), fp) != NULL)
++                      if (IS_BOUNDARY(buf, boundary, boundary_len))
++                              break;
++      }
++      
++      textbuffer = g_string_new("");
++      while (fgets(buf, sizeof(buf), fp) != NULL) {
++              gchar *buf2;
++
++              if (boundary && IS_BOUNDARY(buf, boundary, boundary_len))
++                      break;
++              
++              buf2 = canonicalize_str(buf);
++              g_string_append(textbuffer, buf2);
++              g_free(buf2);
++      }
++      g_string_truncate(textbuffer, textbuffer->len - 2);
++              
++      ret = textbuffer->str;
++      g_string_free(textbuffer, FALSE);
++
++      return ret;
++}
++
++static gint smime_check_signature(MimeInfo *mimeinfo)
++{
++      PrivacyDataPGP *data;
++      MimeInfo *parent, *signature;
++      FILE *fp;
++      gchar *boundary;
++      gchar *textstr;
++      const gchar *tmpstr;
++      gpgme_data_t sigdata = NULL, textdata = NULL;
++      gpgme_error_t err;
++      g_return_val_if_fail(mimeinfo != NULL, -1);
++      g_return_val_if_fail(mimeinfo->privacy != NULL, -1);
++      data = (PrivacyDataPGP *) mimeinfo->privacy;
++      gpgme_new(&data->ctx);
++      EncodingType oldenc = ENC_BINARY;
++      
++      debug_print("Checking S/MIME signature\n");
++
++      err = gpgme_set_protocol(data->ctx, GPGME_PROTOCOL_CMS);
++
++      if (err) {
++              debug_print ("gpgme_set_protocol failed: %s\n",
++                   gpgme_strerror (err));
++      }
++      parent = procmime_mimeinfo_parent(mimeinfo);
++
++      fp = g_fopen(parent->data.filename, "rb");
++      g_return_val_if_fail(fp != NULL, SIGNATURE_INVALID);
++      
++      boundary = g_hash_table_lookup(parent->typeparameters, "boundary");
++      if (!boundary) {
++              gchar *tmpfile = get_tmp_file();
++              debug_print("no boundary\n");
++              if (tmpfile) {
++                      if (mimeinfo->encoding_type != ENC_BASE64) {
++                              procmime_encode_content(mimeinfo, ENC_BASE64);
++                      }
++                      oldenc = mimeinfo->encoding_type;
++                      if (mimeinfo->encoding_type == ENC_BASE64)
++                              mimeinfo->encoding_type = ENC_BINARY;
++                      if (procmime_get_part(tmpfile, mimeinfo) == 0) {
++                              textstr = file_read_to_str(tmpfile);
++                      } else {
++                              textstr = NULL;
++                      }
++                      if (mimeinfo->encoding_type != oldenc)
++                              mimeinfo->encoding_type = oldenc;
++              }
++              g_free(tmpfile);
++      } else {
++              textstr = get_canonical_content(fp, boundary);
++      }
++      err = gpgme_data_new_from_mem(&textdata, textstr, strlen(textstr), 0);
++      
++      if (err) {
++              debug_print ("gpgme_data_new_from_mem failed: %s\n",
++                   gpgme_strerror (err));
++      }
++
++      if (!g_ascii_strcasecmp(mimeinfo->subtype, "pkcs7-mime") ||
++          !g_ascii_strcasecmp(mimeinfo->subtype, "x-pkcs7-mime")) {
++              tmpstr = procmime_mimeinfo_get_parameter(mimeinfo, "smime-type");
++              if (tmpstr && !g_ascii_strcasecmp(tmpstr, "signed-data")) {
++                      gpgme_data_t cipher, plain;
++                      int len;
++                      if (oldenc == ENC_BASE64)
++                              gpgme_data_set_encoding (textdata, GPGME_DATA_ENCODING_BASE64);
++                      gpgme_data_new(&cipher);
++                      data->sigstatus =
++                              sgpgme_verify_signature (data->ctx, textdata, NULL, cipher);
++                      gpgme_data_release(textdata);
++                      g_free(textstr);
++                      gpgme_data_rewind(cipher);
++                      textstr = sgpgme_data_release_and_get_mem(cipher, &len);
++                      fclose(fp);
++                      if (textstr && len > 0)
++                              textstr[len-1]='\0';
++
++                      if (textstr && len) {
++                              gchar *tmp_file = get_tmp_file();
++                              MimeInfo *newinfo = NULL, *decinfo = NULL, *parentinfo = NULL;
++                              gint childnumber = 0;
++                                                              
++                              str_write_to_file(textstr, tmp_file);
++                              newinfo = procmime_scan_file(tmp_file);
++                              decinfo = g_node_first_child(newinfo->node) != NULL ?
++                                      g_node_first_child(newinfo->node)->data : NULL;
++                              g_node_unlink(decinfo->node);
++                              procmime_mimeinfo_free_all(newinfo);
++                              decinfo->tmp = TRUE;
++                              parentinfo = procmime_mimeinfo_parent(mimeinfo);
++                              childnumber = g_node_child_index(parentinfo->node, mimeinfo);
++                              if (parentinfo->type == MIMETYPE_MESSAGE && 
++                                  !strcmp(parentinfo->subtype, "rfc822")) {
++                                      procmime_decode_content(parentinfo);
++                                      procmime_encode_content(parentinfo, ENC_BASE64);
++                                      procmime_encode_content(parentinfo, ENC_8BIT);
++                                      if (parentinfo->content == MIMECONTENT_MEM) {
++                                              gint newlen = 
++                                                      (gint)(strstr(parentinfo->data.mem, "\n\n") - parentinfo->data.mem);
++                                              if (newlen > 0)
++                                                      parentinfo->length = newlen;
++                                      }
++                              }
++                              g_node_prepend(parentinfo->node, decinfo->node);
++                              return 0;
++                      } else {
++                              return -1;
++                      }
++              }
++      }
++
++      signature = (MimeInfo *) mimeinfo->node->next->data;
++      sigdata = sgpgme_data_from_mimeinfo(signature);
++
++      err = 0;
++      if (signature->encoding_type == ENC_BASE64) {
++              err = gpgme_data_set_encoding (sigdata, GPGME_DATA_ENCODING_BASE64);
++      }
++      
++      if (err) {
++              debug_print ("gpgme_data_set_encoding failed: %s\n",
++                      gpgme_strerror (err));
++      }
++
++      data->sigstatus =
++              sgpgme_verify_signature (data->ctx, sigdata, textdata, NULL);
++
++      gpgme_data_release(sigdata);
++      gpgme_data_release(textdata);
++      g_free(textstr);
++      fclose(fp);
++      
++      return 0;
++}
++
++static SignatureStatus smime_get_sig_status(MimeInfo *mimeinfo)
++{
++      PrivacyDataPGP *data = (PrivacyDataPGP *) mimeinfo->privacy;
++      
++      g_return_val_if_fail(data != NULL, SIGNATURE_INVALID);
++
++      if (data->sigstatus == NULL && 
++          prefs_gpg_get_config()->auto_check_signatures)
++              smime_check_signature(mimeinfo);
++      
++      return sgpgme_sigstat_gpgme_to_privacy(data->ctx, data->sigstatus);
++}
++
++static gchar *smime_get_sig_info_short(MimeInfo *mimeinfo)
++{
++      PrivacyDataPGP *data = (PrivacyDataPGP *) mimeinfo->privacy;
++      
++      g_return_val_if_fail(data != NULL, g_strdup("Error"));
++
++      if (data->sigstatus == NULL && 
++          prefs_gpg_get_config()->auto_check_signatures)
++              smime_check_signature(mimeinfo);
++      
++      return sgpgme_sigstat_info_short(data->ctx, data->sigstatus);
++}
++
++static gchar *smime_get_sig_info_full(MimeInfo *mimeinfo)
++{
++      PrivacyDataPGP *data = (PrivacyDataPGP *) mimeinfo->privacy;
++      
++      g_return_val_if_fail(data != NULL, g_strdup("Error"));
++
++      if (data->sigstatus == NULL && 
++          prefs_gpg_get_config()->auto_check_signatures)
++              smime_check_signature(mimeinfo);
++      
++      return sgpgme_sigstat_info_full(data->ctx, data->sigstatus);
++}
++
++static gboolean smime_is_encrypted(MimeInfo *mimeinfo)
++{
++      MimeInfo *tmpinfo;
++      const gchar *tmpstr;
++      
++      if (mimeinfo->type != MIMETYPE_APPLICATION)
++              return FALSE;
++      if (!g_ascii_strcasecmp(mimeinfo->subtype, "pkcs7-mime")) {
++              tmpstr = procmime_mimeinfo_get_parameter(mimeinfo, "smime-type");
++              if (tmpstr && g_ascii_strcasecmp(tmpstr, "enveloped-data"))
++                      return FALSE;
++              else 
++                      return TRUE;
++
++      } else if (!g_ascii_strcasecmp(mimeinfo->subtype, "x-pkcs7-mime")) {
++              tmpstr = procmime_mimeinfo_get_parameter(mimeinfo, "smime-type");
++              if (tmpstr && g_ascii_strcasecmp(tmpstr, "enveloped-data"))
++                      return FALSE;
++              else 
++                      return TRUE;
++      }
++      return FALSE;
++}
++
++static MimeInfo *smime_decrypt(MimeInfo *mimeinfo)
++{
++      MimeInfo *encinfo, *decinfo, *parseinfo;
++      gpgme_data_t cipher = NULL, plain = NULL;
++      static gint id = 0;
++      FILE *dstfp;
++      gchar *fname;
++      gpgme_verify_result_t sigstat = NULL;
++      PrivacyDataPGP *data = NULL;
++      gpgme_ctx_t ctx;
++      gpgme_error_t err;
++      gchar *chars;
++      size_t len;
++
++      g_return_val_if_fail(smime_is_encrypted(mimeinfo), NULL);
++      
++      if ((err = gpgme_new(&ctx)) != GPG_ERR_NO_ERROR) {
++              privacy_set_error(_("Couldn't initialize GPG context, %s"), gpgme_strerror(err));
++              return NULL;
++      }
++
++      err = gpgme_set_protocol(ctx, GPGME_PROTOCOL_CMS);
++      if (err) {
++              debug_print ("gpgme_set_protocol failed: %s\n",
++                   gpgme_strerror (err));
++              privacy_set_error(_("Couldn't set GPG protocol, %s"), gpgme_strerror(err));
++              gpgme_release(ctx);
++              return NULL;
++      }
++      gpgme_set_armor(ctx, TRUE);
++
++      encinfo = mimeinfo;
++
++      cipher = sgpgme_data_from_mimeinfo(encinfo);
++      gpgme_data_set_encoding(cipher, GPGME_DATA_ENCODING_BASE64);
++      plain = sgpgme_decrypt_verify(cipher, &sigstat, ctx);
++
++      gpgme_data_release(cipher);
++      if (plain == NULL) {
++              debug_print("plain is null!\n");
++              gpgme_release(ctx);
++              return NULL;
++      }
++
++      fname = g_strdup_printf("%s%cplaintext.%08x",
++              get_mime_tmp_dir(), G_DIR_SEPARATOR, ++id);
++
++      if ((dstfp = g_fopen(fname, "wb")) == NULL) {
++              FILE_OP_ERROR(fname, "fopen");
++              g_free(fname);
++              gpgme_data_release(plain);
++              gpgme_release(ctx);
++              debug_print("can't open!\n");
++              privacy_set_error(_("Couldn't open temporary file"));
++              return NULL;
++      }
++
++      fprintf(dstfp, "MIME-Version: 1.0\n");
++
++      chars = sgpgme_data_release_and_get_mem(plain, &len);
++
++      if (len > 0) {
++              fwrite(chars, len, 1, dstfp);
++      }
++      fclose(dstfp);
++      g_free(chars);
++
++      parseinfo = procmime_scan_file(fname);
++      g_free(fname);
++      if (parseinfo == NULL) {
++              privacy_set_error(_("Couldn't parse decrypted file."));
++              gpgme_release(ctx);
++              return NULL;
++      }
++      decinfo = g_node_first_child(parseinfo->node) != NULL ?
++              g_node_first_child(parseinfo->node)->data : NULL;
++      if (decinfo == NULL) {
++              privacy_set_error(_("Couldn't parse decrypted file parts."));
++              gpgme_release(ctx);
++              return NULL;
++      }
++
++      g_node_unlink(decinfo->node);
++      procmime_mimeinfo_free_all(parseinfo);
++
++      decinfo->tmp = TRUE;
++
++      if (sigstat != NULL && sigstat->signatures != NULL) {
++              if (decinfo->privacy != NULL) {
++                      data = (PrivacyDataPGP *) decinfo->privacy;
++              } else {
++                      data = smime_new_privacydata();
++                      decinfo->privacy = (PrivacyData *) data;        
++              }
++              data->done_sigtest = TRUE;
++              data->is_signed = TRUE;
++              data->sigstatus = sigstat;
++              if (data->ctx)
++                      gpgme_release(data->ctx);
++              data->ctx = ctx;
++      } else
++              gpgme_release(ctx);
++      
++      
++      
++      return decinfo;
++}
++
++gboolean smime_sign(MimeInfo *mimeinfo, PrefsAccount *account)
++{
++      MimeInfo *msgcontent, *sigmultipart, *newinfo;
++      gchar *textstr, *micalg;
++      FILE *fp;
++      gchar *boundary = NULL;
++      gchar *sigcontent;
++      gpgme_ctx_t ctx;
++      gpgme_data_t gpgtext, gpgsig;
++      gpgme_error_t err;
++      size_t len;
++      struct passphrase_cb_info_s info;
++      gpgme_sign_result_t result = NULL;
++      gchar *test_msg;
++      gchar *real_content = NULL;
++      
++      fp = my_tmpfile();
++      if (fp == NULL) {
++              perror("my_tmpfile");
++              return FALSE;
++      }
++      procmime_write_mimeinfo(mimeinfo, fp);
++      rewind(fp);
++
++      /* read temporary file into memory */
++      test_msg = file_read_stream_to_str(fp);
++      fclose(fp);
++      
++      memset (&info, 0, sizeof info);
++
++      /* remove content node from message */
++      msgcontent = (MimeInfo *) mimeinfo->node->children->data;
++      g_node_unlink(msgcontent->node);
++
++      /* create temporary multipart for content */
++      sigmultipart = procmime_mimeinfo_new();
++      sigmultipart->type = MIMETYPE_MULTIPART;
++      sigmultipart->subtype = g_strdup("signed");
++      
++      do {
++              if (boundary)
++                      g_free(boundary);
++              boundary = generate_mime_boundary("Sig");
++      } while (strstr(test_msg, boundary) != NULL);
++      
++      g_free(test_msg);
++
++      g_hash_table_insert(sigmultipart->typeparameters, g_strdup("boundary"),
++                            g_strdup(boundary));
++      g_hash_table_insert(sigmultipart->typeparameters, g_strdup("protocol"),
++                            g_strdup("application/pkcs7-signature"));
++      g_node_append(sigmultipart->node, msgcontent->node);
++      g_node_append(mimeinfo->node, sigmultipart->node);
++
++      /* write message content to temporary file */
++      fp = my_tmpfile();
++      if (fp == NULL) {
++              perror("my_tmpfile");
++              return FALSE;
++      }
++      procmime_write_mimeinfo(sigmultipart, fp);
++      rewind(fp);
++
++      /* read temporary file into memory */
++      textstr = get_canonical_content(fp, boundary);
++
++      g_free(boundary);
++
++      fclose(fp);
++
++      gpgme_data_new_from_mem(&gpgtext, textstr, strlen(textstr), 0);
++      gpgme_data_new(&gpgsig);
++      gpgme_new(&ctx);
++      gpgme_set_armor(ctx, TRUE);
++      gpgme_signers_clear (ctx);
++
++      err = gpgme_set_protocol(ctx, GPGME_PROTOCOL_CMS);
++
++      if (err) {
++              debug_print ("gpgme_set_protocol failed: %s\n",
++                   gpgme_strerror (err));
++              gpgme_data_release(gpgtext);
++              gpgme_release(ctx);
++              return FALSE;
++      }
++
++      if (!sgpgme_setup_signers(ctx, account)) {
++              debug_print("setup_signers failed\n");
++              gpgme_data_release(gpgtext);
++              gpgme_release(ctx);
++              return FALSE;
++      }
++
++      info.c = ctx;
++      prefs_gpg_enable_agent(TRUE);
++      gpgme_set_passphrase_cb (ctx, NULL, &info);
++      
++      err = gpgme_op_sign(ctx, gpgtext, gpgsig, GPGME_SIG_MODE_DETACH);
++      if (err != GPG_ERR_NO_ERROR) {
++              alertpanel_error("S/MIME : Cannot sign, %s (%d)", gpg_strerror(err), gpg_err_code(err));
++              gpgme_data_release(gpgtext);
++              gpgme_release(ctx);
++              return FALSE;
++      }
++      result = gpgme_op_sign_result(ctx);
++      if (result && result->signatures) {
++          if (gpgme_get_protocol(ctx) == GPGME_PROTOCOL_OpenPGP) {
++              micalg = g_strdup_printf("PGP-%s", gpgme_hash_algo_name(
++                          result->signatures->hash_algo));
++          } else {
++              micalg = g_strdup(gpgme_hash_algo_name(
++                          result->signatures->hash_algo));
++          }
++      } else {
++          /* can't get result (maybe no signing key?) */
++          debug_print("gpgme_op_sign_result error\n");
++          return FALSE;
++      }
++
++      gpgme_release(ctx);
++      sigcontent = sgpgme_data_release_and_get_mem(gpgsig, &len);
++      gpgme_data_release(gpgtext);
++      g_free(textstr);
++
++      if (!sigcontent) {
++              gpgme_release(ctx);
++              return FALSE;
++      }
++      real_content = sigcontent+strlen("-----BEGIN SIGNED MESSAGE-----\n");
++      if (!strstr(real_content, "-----END SIGNED MESSAGE-----")) {
++              debug_print("missing end\n");
++              gpgme_release(ctx);
++              return FALSE;
++      }
++      *strstr(real_content, "-----END SIGNED MESSAGE-----") = '\0';
++      /* add signature */
++      g_hash_table_insert(sigmultipart->typeparameters, g_strdup("micalg"),
++                            micalg);
++
++      newinfo = procmime_mimeinfo_new();
++      newinfo->type = MIMETYPE_APPLICATION;
++      newinfo->subtype = g_strdup("pkcs7-signature");
++      g_hash_table_insert(newinfo->typeparameters, g_strdup("name"),
++                           g_strdup("smime.p7s"));
++      newinfo->content = MIMECONTENT_MEM;
++      newinfo->disposition = DISPOSITIONTYPE_ATTACHMENT;
++      g_hash_table_insert(newinfo->dispositionparameters, g_strdup("filename"),
++                          g_strdup("smime.p7s"));
++      newinfo->data.mem = g_malloc(len + 1);
++      g_memmove(newinfo->data.mem, real_content, len);
++      newinfo->data.mem[len] = '\0';
++      newinfo->encoding_type = ENC_BASE64;
++      g_node_append(sigmultipart->node, newinfo->node);
++
++      g_free(sigcontent);
++
++      return TRUE;
++}
++gchar *smime_get_encrypt_data(GSList *recp_names)
++{
++      return sgpgme_get_encrypt_data(recp_names, GPGME_PROTOCOL_CMS);
++}
++
++static gchar *fp_read_noconv(FILE *fp)
++{
++      GByteArray *array;
++      guchar buf[BUFSIZ];
++      gint n_read;
++      gchar *result = NULL;
++
++      if (!fp)
++              return NULL;
++      array = g_byte_array_new();
++
++      while ((n_read = fread(buf, sizeof(gchar), sizeof(buf), fp)) > 0) {
++              if (n_read < sizeof(buf) && ferror(fp))
++                      break;
++              g_byte_array_append(array, buf, n_read);
++      }
++
++      if (ferror(fp)) {
++              FILE_OP_ERROR("file stream", "fread");
++              g_byte_array_free(array, TRUE);
++              return NULL;
++      }
++
++      buf[0] = '\0';
++      g_byte_array_append(array, buf, 1);
++      result = (gchar *)array->data;
++      g_byte_array_free(array, FALSE);
++      
++      return result;
++}
++
++gboolean smime_encrypt(MimeInfo *mimeinfo, const gchar *encrypt_data)
++{
++      MimeInfo *msgcontent, *encmultipart;
++      FILE *fp;
++      gchar *enccontent;
++      size_t len;
++      gchar *textstr = NULL;
++      gpgme_data_t gpgtext = NULL, gpgenc = NULL;
++      gpgme_ctx_t ctx = NULL;
++      gpgme_key_t *kset = NULL;
++      gchar **fprs = g_strsplit(encrypt_data, " ", -1);
++      gint i = 0;
++      gpgme_error_t err;
++      gchar *tmpfile = NULL;
++
++      while (fprs[i] && strlen(fprs[i])) {
++              i++;
++      }
++      
++      gpgme_new(&ctx);
++
++      err = gpgme_set_protocol(ctx, GPGME_PROTOCOL_CMS);
++
++      if (err) {
++              debug_print ("gpgme_set_protocol failed: %s\n",
++                   gpgme_strerror (err));
++              return FALSE;   
++      }
++
++      kset = g_malloc(sizeof(gpgme_key_t)*(i+1));
++      memset(kset, 0, sizeof(gpgme_key_t)*(i+1));
++      i = 0;
++
++      while (fprs[i] && strlen(fprs[i])) {
++              gpgme_key_t key;
++              gpgme_error_t err;
++              err = gpgme_get_key(ctx, fprs[i], &key, 0);
++              if (err) {
++                      debug_print("can't add key '%s'[%d] (%s)\n", fprs[i],i, gpgme_strerror(err));
++                      break;
++              }
++              debug_print("found %s at %d\n", fprs[i], i);
++              kset[i] = key;
++              i++;
++      }
++      
++      debug_print("Encrypting message content\n");
++
++      /* remove content node from message */
++      msgcontent = (MimeInfo *) mimeinfo->node->children->data;
++      g_node_unlink(msgcontent->node);
++
++
++      /* create temporary multipart for content */
++      encmultipart = procmime_mimeinfo_new();
++      encmultipart->type = MIMETYPE_APPLICATION;
++      encmultipart->subtype = g_strdup("x-pkcs7-mime");
++      g_hash_table_insert(encmultipart->typeparameters, g_strdup("name"),
++                            g_strdup("smime.p7m"));
++      
++      encmultipart->disposition = DISPOSITIONTYPE_ATTACHMENT;
++      g_hash_table_insert(encmultipart->dispositionparameters, g_strdup("filename"),
++                            g_strdup("smime.p7m"));
++
++      g_node_append(encmultipart->node, msgcontent->node);
++
++      /* write message content to temporary file */
++      tmpfile = get_tmp_file();
++      fp = fopen(tmpfile, "wb");
++      if (fp == NULL) {
++              perror("get_tmp_file");
++              return FALSE;
++      }
++      procmime_decode_content(msgcontent);
++      procmime_write_mime_header(msgcontent, fp);
++      procmime_write_mimeinfo(msgcontent, fp);
++      fclose(fp);
++      canonicalize_file_replace(tmpfile);
++      fp = fopen(tmpfile, "rb");
++      if (fp == NULL) {
++              perror("get_tmp_file");
++              return FALSE;
++      }
++      g_free(tmpfile);
++
++      /* read temporary file into memory */
++      textstr = fp_read_noconv(fp);
++
++      fclose(fp);
++
++      /* encrypt data */
++      gpgme_data_new_from_mem(&gpgtext, textstr, strlen(textstr), 0);
++      gpgme_data_new(&gpgenc);
++      gpgme_data_rewind(gpgtext);
++      
++      gpgme_data_set_encoding(gpgenc, GPGME_DATA_ENCODING_BASE64);
++      gpgme_op_encrypt(ctx, kset, GPGME_ENCRYPT_ALWAYS_TRUST, gpgtext, gpgenc);
++
++      gpgme_release(ctx);
++      enccontent = sgpgme_data_release_and_get_mem(gpgenc, &len);
++
++      if (!enccontent) {
++              g_warning("no enccontent\n");
++              return FALSE;
++      }
++
++      tmpfile = get_tmp_file();
++      fp = fopen(tmpfile, "wb");
++      if (fp) {
++              fwrite(enccontent, 1, len, fp);
++              fclose(fp);
++      } else {
++              perror("get_tmp_file");
++              return FALSE;
++      }
++      gpgme_data_release(gpgtext);
++      g_free(textstr);
++
++      /* create encrypted multipart */
++      procmime_mimeinfo_free_all(msgcontent);
++      g_node_append(mimeinfo->node, encmultipart->node);
++
++      encmultipart->content = MIMECONTENT_FILE;
++      encmultipart->data.filename = tmpfile;
++      procmime_encode_content(encmultipart, ENC_BASE64);
++
++      g_free(enccontent);
++
++      return TRUE;
++}
++
++static PrivacySystem smime_system = {
++      "smime",                        /* id */
++      "S-MIME",                       /* name */
++
++      smime_free_privacydata, /* free_privacydata */
++
++      smime_is_signed,                /* is_signed(MimeInfo *) */
++      smime_check_signature,  /* check_signature(MimeInfo *) */
++      smime_get_sig_status,           /* get_sig_status(MimeInfo *) */
++      smime_get_sig_info_short,       /* get_sig_info_short(MimeInfo *) */
++      smime_get_sig_info_full,        /* get_sig_info_full(MimeInfo *) */
++
++      smime_is_encrypted,             /* is_encrypted(MimeInfo *) */
++      smime_decrypt,                  /* decrypt(MimeInfo *) */
++
++      TRUE,
++      smime_sign,
++
++      TRUE,
++      smime_get_encrypt_data,
++      smime_encrypt,
++};
++
++void smime_init()
++{
++      privacy_register_system(&smime_system);
++}
++
++void smime_done()
++{
++      privacy_unregister_system(&smime_system);
++}
++
++struct PluginFeature *plugin_provides(void)
++{
++      static struct PluginFeature features[] = 
++              { {PLUGIN_PRIVACY, N_("S/MIME")},
++                {PLUGIN_NOTHING, NULL}};
++      return features;
++}
++#endif /* USE_GPGME */
+diff -ruN claws-mail-2.9.2-p03/src/plugins/smime/smime.deps claws-mail-2.9.2/src/plugins/smime/smime.deps
+--- claws-mail-2.9.2-p03/src/plugins/smime/smime.deps  1970-01-01 01:00:00.000000000 +0100
++++ claws-mail-2.9.2/src/plugins/smime/smime.deps      2007-07-02 20:54:14.000000000 +0200
+@@ -0,0 +1 @@
++pgpcore
+diff -ruN claws-mail-2.9.2-p03/src/plugins/smime/smime.h claws-mail-2.9.2/src/plugins/smime/smime.h
+--- claws-mail-2.9.2-p03/src/plugins/smime/smime.h     1970-01-01 01:00:00.000000000 +0100
++++ claws-mail-2.9.2/src/plugins/smime/smime.h 2007-07-02 20:54:14.000000000 +0200
+@@ -0,0 +1,27 @@
++/*
++ * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
++ * Copyright (C) 1999-2007 Colin Leroy <colin@colino.net> and 
++ * the Claws Mail team
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++ */
++
++#ifndef PGPMIME_H
++#define PGPMIME_H 1
++
++void smime_init(void);
++void smime_done(void);
++
++#endif /* PGPMIME_H */
+diff -ruN claws-mail-2.9.2-p03/src/plugins/smime/version.rc claws-mail-2.9.2/src/plugins/smime/version.rc
+--- claws-mail-2.9.2-p03/src/plugins/smime/version.rc  1970-01-01 01:00:00.000000000 +0100
++++ claws-mail-2.9.2/src/plugins/smime/version.rc      2007-07-02 20:54:15.000000000 +0200
+@@ -0,0 +1,36 @@
++1 VERSIONINFO
++ FILEVERSION 0, 0, 0, 0
++ PRODUCTVERSION 0, 0, 0, 0
++ FILEFLAGSMASK 0x3fL
++#ifdef _DEBUG
++ FILEFLAGS 0x1L
++#else
++ FILEFLAGS 0x0L
++#endif
++ FILEOS 0x40004L
++ FILETYPE 0x2L
++ FILESUBTYPE 0x0L
++BEGIN
++    BLOCK "StringFileInfo"
++    BEGIN
++        BLOCK "000004b0"
++        BEGIN
++            VALUE "FileDescription", "smime Plugin\0"
++            VALUE "FileVersion", "0.0.0.0\0"
++            VALUE "ProductVersion", "0.0.0.0 Win32\0"
++            VALUE "LegalCopyright", "GPL / \81© 1999-2007 Colin Leroy <colin@colino.net>\0"
++            VALUE "CompanyName", "GNU / Free Software Foundation\0"
++            VALUE "ProductName", "Claws Mail\0"
++//            VALUE "Comments", "\0"
++//            VALUE "InternalName", "\0"
++//            VALUE "LegalTrademarks", "\0"
++//            VALUE "OriginalFilename", "\0"
++//            VALUE "PrivateBuild", "\0"
++//            VALUE "SpecialBuild", "\0"
++        END
++    END
++    BLOCK "VarFileInfo"
++    BEGIN
++        VALUE "Translation", 0x0, 1200
++    END
++END
diff --git a/patches/claws-mail-2.9.2/99-auto.patch b/patches/claws-mail-2.9.2/99-auto.patch
new file mode 100755 (executable)
index 0000000..c40ded3
--- /dev/null
@@ -0,0 +1,1033 @@
+#! /bin/sh
+patch -p1 -f $* < $0
+exit $?
+
+2007-06-30  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Regenerate all autotool files with
+
+$ aclocal -I m4   && libtoolize --force --copy   && autoheader   && automake --add-missing --foreign --copy   && autoconf
+
+
+diff -rupN claws-mail-2.9.2-p04/config/config.guess claws-mail-2.9.2/config/config.guess
+--- claws-mail-2.9.2-p04/config/config.guess   2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/config/config.guess       2006-11-08 08:44:58.000000000 +0100
+@@ -4,7 +4,7 @@
+ #   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+ #   Inc.
+-timestamp='2007-03-06'
++timestamp='2006-07-02'
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -161,7 +161,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+           arm*) machine=arm-unknown ;;
+           sh3el) machine=shl-unknown ;;
+           sh3eb) machine=sh-unknown ;;
+-          sh5el) machine=sh5le-unknown ;;
+           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+       esac
+       # The Operating System including object format, if it has switched
+@@ -781,7 +780,7 @@ EOF
+     i*:CYGWIN*:*)
+       echo ${UNAME_MACHINE}-pc-cygwin
+       exit ;;
+-    *:MINGW*:*)
++    i*:MINGW*:*)
+       echo ${UNAME_MACHINE}-pc-mingw32
+       exit ;;
+     i*:windows32*:*)
+@@ -791,15 +790,12 @@ EOF
+     i*:PW*:*)
+       echo ${UNAME_MACHINE}-pc-pw32
+       exit ;;
+-    *:Interix*:[3456]*)
+-      case ${UNAME_MACHINE} in
+-          x86) 
+-              echo i586-pc-interix${UNAME_RELEASE}
+-              exit ;;
+-          EM64T | authenticamd)
+-              echo x86_64-unknown-interix${UNAME_RELEASE}
+-              exit ;;
+-      esac ;;
++    x86:Interix*:[3456]*)
++      echo i586-pc-interix${UNAME_RELEASE}
++      exit ;;
++    EM64T:Interix*:[3456]*)
++      echo x86_64-unknown-interix${UNAME_RELEASE}
++      exit ;;
+     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+       echo i${UNAME_MACHINE}-pc-mks
+       exit ;;
+@@ -954,9 +950,6 @@ EOF
+     x86_64:Linux:*:*)
+       echo x86_64-unknown-linux-gnu
+       exit ;;
+-    xtensa:Linux:*:*)
+-      echo xtensa-unknown-linux-gnu
+-      exit ;;
+     i*86:Linux:*:*)
+       # The BFD linker knows what the default object file format is, so
+       # first see if it will tell us. cd to the root directory to prevent
+@@ -1215,15 +1208,6 @@ EOF
+     SX-6:SUPER-UX:*:*)
+       echo sx6-nec-superux${UNAME_RELEASE}
+       exit ;;
+-    SX-7:SUPER-UX:*:*)
+-      echo sx7-nec-superux${UNAME_RELEASE}
+-      exit ;;
+-    SX-8:SUPER-UX:*:*)
+-      echo sx8-nec-superux${UNAME_RELEASE}
+-      exit ;;
+-    SX-8R:SUPER-UX:*:*)
+-      echo sx8r-nec-superux${UNAME_RELEASE}
+-      exit ;;
+     Power*:Rhapsody:*:*)
+       echo powerpc-apple-rhapsody${UNAME_RELEASE}
+       exit ;;
+diff -rupN claws-mail-2.9.2-p04/config/config.sub claws-mail-2.9.2/config/config.sub
+--- claws-mail-2.9.2-p04/config/config.sub     2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/config/config.sub 2006-11-08 08:44:58.000000000 +0100
+@@ -4,7 +4,7 @@
+ #   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+ #   Inc.
+-timestamp='2007-01-18'
++timestamp='2006-09-20'
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -245,12 +245,12 @@ case $basic_machine in
+       | bfin \
+       | c4x | clipper \
+       | d10v | d30v | dlx | dsp16xx \
+-      | fido | fr30 | frv \
++      | fr30 | frv \
+       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | i370 | i860 | i960 | ia64 \
+       | ip2k | iq2000 \
+       | m32c | m32r | m32rle | m68000 | m68k | m88k \
+-      | maxq | mb | microblaze | mcore | mep \
++      | maxq | mb | microblaze | mcore \
+       | mips | mipsbe | mipseb | mipsel | mipsle \
+       | mips16 \
+       | mips64 | mips64el \
+@@ -324,7 +324,7 @@ case $basic_machine in
+       | clipper-* | craynv-* | cydra-* \
+       | d10v-* | d30v-* | dlx-* \
+       | elxsi-* \
+-      | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
++      | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+       | h8300-* | h8500-* \
+       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | i*86-* | i860-* | i960-* | ia64-* \
+@@ -925,9 +925,6 @@ case $basic_machine in
+               basic_machine=sh-hitachi
+               os=-hms
+               ;;
+-      sh5el)
+-              basic_machine=sh5le-unknown
+-              ;;
+       sh64)
+               basic_machine=sh64-unknown
+               ;;
+@@ -1222,7 +1219,7 @@ case $os in
+             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+-            | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
++            | -skyos* | -haiku* | -rdos* | -toppers*)
+       # Remember, each alternative MUST END IN *, to match a version number.
+               ;;
+       -qnx*)
+@@ -1417,9 +1414,6 @@ case $basic_machine in
+       m68*-cisco)
+               os=-aout
+               ;;
+-        mep-*)
+-              os=-elf
+-              ;;
+       mips*-cisco)
+               os=-elf
+               ;;
+diff -rupN claws-mail-2.9.2-p04/configure claws-mail-2.9.2/configure
+--- claws-mail-2.9.2-p04/configure     2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/configure 2007-07-02 21:11:51.000000000 +0200
+@@ -31830,7 +31830,7 @@ fi
+-ac_config_files="$ac_config_files Makefile m4/Makefile po/Makefile.in src/common/version.h src/Makefile src/common/Makefile src/common/passcrypt.h src/gtk/Makefile src/etpan/Makefile src/plugins/Makefile src/plugins/demo/Makefile src/plugins/bogofilter/Makefile src/plugins/spamassassin/Makefile src/plugins/dillo_viewer/Makefile src/plugins/trayicon/Makefile src/plugins/trayicon/libeggtrayicon/Makefile src/plugins/clamav/Makefile src/plugins/pgpcore/Makefile src/plugins/pgpmime/Makefile src/plugins/pgpinline/Makefile doc/Makefile doc/man/Makefile tools/Makefile config/Makefile manual/Makefile manual/dtd/Makefile manual/dist/Makefile manual/dist/pdf/Makefile manual/dist/ps/Makefile manual/dist/html/Makefile manual/dist/txt/Makefile manual/fr/Makefile manual/fr/dist/Makefile manual/fr/dist/pdf/Makefile manual/fr/dist/ps/Makefile manual/fr/dist/html/Makefile manual/fr/dist/txt/Makefile manual/pl/Makefile manual/pl/dist/Makefile manual/pl/dist/pdf/Makefile manual/pl/dist/ps/Makefile manual/pl/dist/html/Makefile manual/pl/dist/txt/Makefile manual/es/Makefile manual/es/dist/Makefile manual/es/dist/pdf/Makefile manual/es/dist/ps/Makefile manual/es/dist/html/Makefile manual/es/dist/txt/Makefile claws-mail.pc"
++ac_config_files="$ac_config_files Makefile m4/Makefile po/Makefile.in src/common/version.h src/Makefile src/common/Makefile src/common/passcrypt.h src/gtk/Makefile src/etpan/Makefile src/plugins/Makefile src/plugins/demo/Makefile src/plugins/bogofilter/Makefile src/plugins/spamassassin/Makefile src/plugins/dillo_viewer/Makefile src/plugins/trayicon/Makefile src/plugins/trayicon/libeggtrayicon/Makefile src/plugins/clamav/Makefile src/plugins/pgpcore/Makefile src/plugins/pgpmime/Makefile src/plugins/pgpinline/Makefile src/plugins/smime/Makefile doc/Makefile doc/man/Makefile tools/Makefile config/Makefile manual/Makefile manual/dtd/Makefile manual/dist/Makefile manual/dist/pdf/Makefile manual/dist/ps/Makefile manual/dist/html/Makefile manual/dist/txt/Makefile manual/fr/Makefile manual/fr/dist/Makefile manual/fr/dist/pdf/Makefile manual/fr/dist/ps/Makefile manual/fr/dist/html/Makefile manual/fr/dist/txt/Makefile manual/pl/Makefile manual/pl/dist/Makefile manual/pl/dist/pdf/Makefile manual/pl/dist/ps/Makefile manual/pl/dist/html/Makefile manual/pl/dist/txt/Makefile manual/es/Makefile manual/es/dist/Makefile manual/es/dist/pdf/Makefile manual/es/dist/ps/Makefile manual/es/dist/html/Makefile manual/es/dist/txt/Makefile claws-mail.pc"
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
+@@ -32579,6 +32579,7 @@ do
+     "src/plugins/pgpcore/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/pgpcore/Makefile" ;;
+     "src/plugins/pgpmime/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/pgpmime/Makefile" ;;
+     "src/plugins/pgpinline/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/pgpinline/Makefile" ;;
++    "src/plugins/smime/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/smime/Makefile" ;;
+     "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+     "doc/man/Makefile") CONFIG_FILES="$CONFIG_FILES doc/man/Makefile" ;;
+     "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
+diff -rupN claws-mail-2.9.2-p04/src/common/Makefile.in claws-mail-2.9.2/src/common/Makefile.in
+--- claws-mail-2.9.2-p04/src/common/Makefile.in        2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/src/common/Makefile.in    2007-07-02 21:11:47.000000000 +0200
+@@ -57,15 +57,16 @@ libclawscommon_la_DEPENDENCIES = $(am__D
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+ am__libclawscommon_la_SOURCES_DIST = fnmatch.c w32_dirent.c w32_reg.c \
+       w32_signal.c w32_stat.c w32_stdio.c w32_stdlib.c w32_string.c \
+-      w32_time.c w32_unistd.c w32_wait.c base64.c hooks.c log.c \
+-      md5.c mgutils.c nntp.c passcrypt.c plugin.c prefs.c \
+-      progressindicator.c quoted-printable.c session.c smtp.c \
+-      socket.c ssl.c ssl_certificate.c string_match.c stringtable.c \
+-      claws.c template.c utils.c uuencode.c xml.c xmlprops.c
++      w32_time.c w32_unistd.c w32_wait.c w32_account.c base64.c \
++      hooks.c log.c md5.c mgutils.c nntp.c passcrypt.c plugin.c \
++      prefs.c progressindicator.c quoted-printable.c session.c \
++      smtp.c socket.c ssl.c ssl_certificate.c string_match.c \
++      stringtable.c claws.c template.c utils.c uuencode.c xml.c \
++      xmlprops.c
+ @OS_WIN32_TRUE@am__objects_1 = fnmatch.lo w32_dirent.lo w32_reg.lo \
+ @OS_WIN32_TRUE@       w32_signal.lo w32_stat.lo w32_stdio.lo \
+ @OS_WIN32_TRUE@       w32_stdlib.lo w32_string.lo w32_time.lo \
+-@OS_WIN32_TRUE@       w32_unistd.lo w32_wait.lo
++@OS_WIN32_TRUE@       w32_unistd.lo w32_wait.lo w32_account.lo
+ am_libclawscommon_la_OBJECTS = $(am__objects_1) base64.lo hooks.lo \
+       log.lo md5.lo mgutils.lo nntp.lo passcrypt.lo plugin.lo \
+       prefs.lo progressindicator.lo quoted-printable.lo session.lo \
+@@ -298,7 +299,7 @@ noinst_LTLIBRARIES = libclawscommon.la
+ @OS_WIN32_TRUE@arch_sources = fnmatch.c \
+ @OS_WIN32_TRUE@               w32_dirent.c w32_reg.c w32_signal.c w32_stat.c \
+ @OS_WIN32_TRUE@               w32_stdio.c w32_stdlib.c w32_string.c w32_time.c \
+-@OS_WIN32_TRUE@               w32_unistd.c w32_wait.c
++@OS_WIN32_TRUE@               w32_unistd.c w32_wait.c w32_account.c
+ @OS_WIN32_TRUE@arch_headers = fnmatch.h w32lib.h
+ @OS_WIN32_FALSE@arch_files = 
+@@ -458,6 +459,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/template.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uuencode.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32_account.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32_dirent.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32_reg.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32_signal.Plo@am__quote@
+diff -rupN claws-mail-2.9.2-p04/src/gtk/Makefile.in claws-mail-2.9.2/src/gtk/Makefile.in
+--- claws-mail-2.9.2-p04/src/gtk/Makefile.in   2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/src/gtk/Makefile.in       2007-07-02 21:11:47.000000000 +0200
+@@ -341,6 +341,7 @@ clawsgtkinclude_HEADERS = \
+ AM_CPPFLAGS = \
+       -I$(srcdir)/../common \
++      -I../common \
+       -I$(srcdir)/.. \
+       $(GTK_CFLAGS) \
+       $(OPENSSL_CFLAGS) \
+diff -rupN claws-mail-2.9.2-p04/src/Makefile.in claws-mail-2.9.2/src/Makefile.in
+--- claws-mail-2.9.2-p04/src/Makefile.in       2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/src/Makefile.in   2007-07-02 21:11:46.000000000 +0200
+@@ -114,15 +114,6 @@ am_claws_mail_OBJECTS = account.$(OBJEXT
+ claws_mail_OBJECTS = $(am_claws_mail_OBJECTS)
+ @CLAWS_LIBETPAN_TRUE@am__DEPENDENCIES_1 = etpan/libclawsetpan.la
+ am__DEPENDENCIES_2 =
+-claws_mail_DEPENDENCIES = $(am__DEPENDENCIES_1) gtk/libclawsgtk.la \
+-      $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \
+-      $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \
+-      $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \
+-      $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \
+-      $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \
+-      $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \
+-      $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \
+-      $(am__DEPENDENCIES_2)
+ claws_mail_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(claws_mail_LDFLAGS) $(LDFLAGS) -o $@
+@@ -363,6 +354,14 @@ top_srcdir = @top_srcdir@
+ @CLAWS_LIBETPAN_FALSE@etpan_library = 
+ @CLAWS_LIBETPAN_TRUE@etpan_library = etpan/libclawsetpan.la
+ SUBDIRS = common gtk $(etpan_dir) . plugins
++@PLATFORM_WIN32_TRUE@LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) \
++@PLATFORM_WIN32_TRUE@     `echo $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) | \
++@PLATFORM_WIN32_TRUE@     sed -e 's/-I/--include-dir /g;s/-D/--define /g'`
++
++@PLATFORM_WIN32_FALSE@claws_mail_res_ldflag = 
++@PLATFORM_WIN32_TRUE@claws_mail_res_ldflag = -Wl,w32-resource.o
++@PLATFORM_WIN32_FALSE@claws_mail_deps = 
++@PLATFORM_WIN32_TRUE@claws_mail_deps = w32-resource.o
+ claws_mail_SOURCES = \
+       account.c \
+       action.c \
+@@ -646,6 +645,7 @@ BUILT_SOURCES = \
+       quote_fmt_parse.h
+ EXTRA_DIST = \
++      w32-logo.ico w32-resource.rc \
+       pixmaps/active.xpm \
+       pixmaps/addr_one.xpm \
+       pixmaps/addr_two.xpm \
+@@ -792,13 +792,18 @@ EXTRA_DIST = \
+ INCLUDES = \
+       -I$(srcdir)/common \
++      -Icommon \
+       -I$(srcdir)/gtk \
+       -I$(srcdir)/etpan
+ @PLATFORM_WIN32_FALSE@arch_ldflags := 
+ @PLATFORM_WIN32_TRUE@arch_ldflags := -export-all-symbols
+ claws_mail_LDFLAGS = \
+-      $(arch_ldflags) -export-dynamic
++      $(arch_ldflags) -export-dynamic $(claws_mail_res_ldflag)
++
++claws_mail_DEPENDENCIES = $(claws_mail_deps) \
++      $(etpan_library) \
++      gtk/libclawsgtk.la
+ claws_mail_LDADD = \
+       $(etpan_library) \
+@@ -1409,6 +1414,9 @@ install-exec-hook:
+       @rm -f $(DESTDIR)$(bindir)/sylpheed-claws
+       @ln -s claws-mail $(DESTDIR)$(bindir)/sylpheed-claws
++@PLATFORM_WIN32_TRUE@%.o : %.rc
++@PLATFORM_WIN32_TRUE@ $(LTRCCOMPILE) -i $< -o $@
++
+ @CYGWIN_TRUE@claws-mail$(EXEEXT): $(claws_mail_OBJECTS) $(claws_mail_DEPENDENCIES) 
+ @CYGWIN_TRUE@ @rm -f claws-mail$(EXEEXT)
+ @CYGWIN_TRUE@ @rm -f claws-mail.def claws-mail.base claws-mail.exp libclaws-mail.a .libs/libclaws-mail.a
+diff -rupN claws-mail-2.9.2-p04/src/plugins/Makefile.in claws-mail-2.9.2/src/plugins/Makefile.in
+--- claws-mail-2.9.2-p04/src/plugins/Makefile.in       2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/Makefile.in   2007-07-02 21:11:47.000000000 +0200
+@@ -60,7 +60,7 @@ RECURSIVE_CLEAN_TARGETS = mostlyclean-re
+ ETAGS = etags
+ CTAGS = ctags
+ DIST_SUBDIRS = demo spamassassin bogofilter dillo_viewer trayicon \
+-      clamav pgpcore pgpmime pgpinline
++      clamav pgpcore pgpmime pgpinline smime
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+ ALLOCA = @ALLOCA@
+@@ -267,7 +267,8 @@ SUBDIRS = $(demo_dir) \
+       $(clamav_dir) \
+       $(pgpcore_dir) \
+       $(pgpmime_dir) \
+-      $(pgpinline_dir)
++      $(pgpinline_dir) \
++      smime
+ all: all-recursive
+diff -rupN claws-mail-2.9.2-p04/src/plugins/pgpcore/Makefile.in claws-mail-2.9.2/src/plugins/pgpcore/Makefile.in
+--- claws-mail-2.9.2-p04/src/plugins/pgpcore/Makefile.in       2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpcore/Makefile.in   2007-07-02 21:11:48.000000000 +0200
+@@ -323,6 +323,7 @@ pgpcore_la_LIBADD = $(cygwin_export_lib)
+ INCLUDES = \
+       -I$(top_srcdir)/src \
+       -I$(top_srcdir)/src/common \
++      -I$(top_builddir)/src/common \
+       -I$(top_srcdir)/src/gtk
+ AM_CPPFLAGS = \
+diff -rupN claws-mail-2.9.2-p04/src/plugins/pgpinline/Makefile.in claws-mail-2.9.2/src/plugins/pgpinline/Makefile.in
+--- claws-mail-2.9.2-p04/src/plugins/pgpinline/Makefile.in     2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpinline/Makefile.in 2007-07-02 21:11:48.000000000 +0200
+@@ -321,6 +321,7 @@ pgpinline_la_LIBADD = $(plugin_ldadd) $(
+ INCLUDES = \
+       -I$(top_srcdir)/src \
+       -I$(top_srcdir)/src/common \
++      -I$(top_builddir)/src/common \
+       -I$(top_srcdir)/src/gtk
+ AM_CPPFLAGS = \
+diff -rupN claws-mail-2.9.2-p04/src/plugins/pgpmime/Makefile.in claws-mail-2.9.2/src/plugins/pgpmime/Makefile.in
+--- claws-mail-2.9.2-p04/src/plugins/pgpmime/Makefile.in       2007-07-02 20:53:34.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/pgpmime/Makefile.in   2007-07-02 21:11:49.000000000 +0200
+@@ -320,6 +320,7 @@ pgpmime_la_LIBADD = $(plugin_ldadd) $(pg
+ INCLUDES = \
+       -I$(top_srcdir)/src \
+       -I$(top_srcdir)/src/common \
++      -I$(top_builddir)/src/common \
+       -I$(top_srcdir)/src/gtk
+ AM_CPPFLAGS = \
+diff -rupN claws-mail-2.9.2-p04/src/plugins/smime/Makefile.in claws-mail-2.9.2/src/plugins/smime/Makefile.in
+--- claws-mail-2.9.2-p04/src/plugins/smime/Makefile.in 1970-01-01 01:00:00.000000000 +0100
++++ claws-mail-2.9.2/src/plugins/smime/Makefile.in     2007-07-02 21:11:49.000000000 +0200
+@@ -0,0 +1,663 @@
++# Makefile.in generated by automake 1.10 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
++# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++@SET_MAKE@
++
++
++
++VPATH = @srcdir@
++pkgdatadir = $(datadir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++target_triplet = @target@
++subdir = src/plugins/smime
++DIST_COMMON = $(plugininclude_HEADERS) $(srcdir)/Makefile.am \
++      $(srcdir)/Makefile.in
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal-include.m4 \
++      $(top_srcdir)/m4/aspell.m4 $(top_srcdir)/m4/check-type.m4 \
++      $(top_srcdir)/m4/gnupg-check-typedef.m4 \
++      $(top_srcdir)/m4/gnupg.m4 $(top_srcdir)/m4/gpgme.m4 \
++      $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/spamassassin.m4 \
++      $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++      $(ACLOCAL_M4)
++mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
++am__vpath_adj = case $$p in \
++    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
++    *) f=$$p;; \
++  esac;
++am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
++am__installdirs = "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(plugindir)" \
++      "$(DESTDIR)$(pluginincludedir)"
++pluginLTLIBRARIES_INSTALL = $(INSTALL)
++LTLIBRARIES = $(plugin_LTLIBRARIES)
++am__DEPENDENCIES_1 =
++@OS_WIN32_TRUE@am__DEPENDENCIES_2 = .
++am_smime_la_OBJECTS = plugin.lo smime.lo
++smime_la_OBJECTS = $(am_smime_la_OBJECTS)
++smime_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++      --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(smime_la_LDFLAGS) \
++      $(LDFLAGS) -o $@
++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
++depcomp = $(SHELL) $(top_srcdir)/config/depcomp
++am__depfiles_maybe = depfiles
++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
++      $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++      --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++      $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
++CCLD = $(CC)
++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++      --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++      $(LDFLAGS) -o $@
++SOURCES = $(smime_la_SOURCES)
++DIST_SOURCES = $(smime_la_SOURCES)
++pluginDATA_INSTALL = $(INSTALL_DATA)
++DATA = $(plugin_DATA)
++pluginincludeHEADERS_INSTALL = $(INSTALL_HEADER)
++HEADERS = $(plugininclude_HEADERS)
++ETAGS = etags
++CTAGS = ctags
++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++ACLOCAL = @ACLOCAL@
++ALLOCA = @ALLOCA@
++AMTAR = @AMTAR@
++AR = @AR@
++AS = @AS@
++ASPELL = @ASPELL@
++ASPELL_CFLAGS = @ASPELL_CFLAGS@
++ASPELL_LIBS = @ASPELL_LIBS@
++ASPELL_PATH = @ASPELL_PATH@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++CC = @CC@
++CCDEPMODE = @CCDEPMODE@
++CFLAGS = @CFLAGS@
++CLAMAV_CFLAGS = @CLAMAV_CFLAGS@
++CLAMAV_LIBS = @CLAMAV_LIBS@
++COMPFACE_LIBS = @COMPFACE_LIBS@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CRYPT_LIBS = @CRYPT_LIBS@
++CXX = @CXX@
++CXXCPP = @CXXCPP@
++CXXDEPMODE = @CXXDEPMODE@
++CXXFLAGS = @CXXFLAGS@
++CYGPATH_W = @CYGPATH_W@
++DEFS = @DEFS@
++DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
++ECHO = @ECHO@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EXEEXT = @EXEEXT@
++EXTRA_VERSION = @EXTRA_VERSION@
++F77 = @F77@
++FFLAGS = @FFLAGS@
++GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
++GLIB_CFLAGS = @GLIB_CFLAGS@
++GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
++GLIB_LIBS = @GLIB_LIBS@
++GLIB_MKENUMS = @GLIB_MKENUMS@
++GMSGFMT = @GMSGFMT@
++GMSGFMT_015 = @GMSGFMT_015@
++GNOME2_CFLAGS = @GNOME2_CFLAGS@
++GNOME2_LIBS = @GNOME2_LIBS@
++GNOMEPRINT_CFLAGS = @GNOMEPRINT_CFLAGS@
++GNOMEPRINT_LIBS = @GNOMEPRINT_LIBS@
++GNOME_CONFIG = @GNOME_CONFIG@
++GOBJECT_QUERY = @GOBJECT_QUERY@
++GPGME_CFLAGS = @GPGME_CFLAGS@
++GPGME_CONFIG = @GPGME_CONFIG@
++GPGME_LIBS = @GPGME_LIBS@
++GREP = @GREP@
++GTK_CFLAGS = @GTK_CFLAGS@
++GTK_LIBS = @GTK_LIBS@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++INTLLIBS = @INTLLIBS@
++INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
++JPILOT_LIBS = @JPILOT_LIBS@
++LDAP_LIBS = @LDAP_LIBS@
++LDFLAGS = @LDFLAGS@
++LEX = @LEX@
++LEXLIB = @LEXLIB@
++LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
++LIBETPAN_FLAGS = @LIBETPAN_FLAGS@
++LIBETPAN_LIBS = @LIBETPAN_LIBS@
++LIBICONV = @LIBICONV@
++LIBINTL = @LIBINTL@
++LIBOBJS = @LIBOBJS@
++LIBRESOLV = @LIBRESOLV@
++LIBS = @LIBS@
++LIBTOOL = @LIBTOOL@
++LN_S = @LN_S@
++LTLIBICONV = @LTLIBICONV@
++LTLIBINTL = @LTLIBINTL@
++LTLIBOBJS = @LTLIBOBJS@
++LT_AGE = @LT_AGE@
++LT_CURRENT = @LT_CURRENT@
++LT_RELEASE = @LT_RELEASE@
++LT_REVISION = @LT_REVISION@
++MAEMO_CFLAGS = @MAEMO_CFLAGS@
++MAEMO_LIBS = @MAEMO_LIBS@
++MAINT = @MAINT@
++MAJOR_VERSION = @MAJOR_VERSION@
++MAKEINFO = @MAKEINFO@
++MICRO_VERSION = @MICRO_VERSION@
++MINOR_VERSION = @MINOR_VERSION@
++MKDIR_P = @MKDIR_P@
++MSGFMT = @MSGFMT@
++MSGFMT_015 = @MSGFMT_015@
++MSGMERGE = @MSGMERGE@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
++OPENSSL_LIBS = @OPENSSL_LIBS@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PASSCRYPT_KEY = @PASSCRYPT_KEY@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++POSUB = @POSUB@
++PTHREAD_LIBS = @PTHREAD_LIBS@
++RANLIB = @RANLIB@
++RC = @RC@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++SM_LIBS = @SM_LIBS@
++STARTUP_NOTIFICATION_CFLAGS = @STARTUP_NOTIFICATION_CFLAGS@
++STARTUP_NOTIFICATION_LIBS = @STARTUP_NOTIFICATION_LIBS@
++STRIP = @STRIP@
++USE_NLS = @USE_NLS@
++VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
++VALGRIND_LIBS = @VALGRIND_LIBS@
++VERSION = @VERSION@
++XGETTEXT = @XGETTEXT@
++XGETTEXT_015 = @XGETTEXT_015@
++YACC = @YACC@
++YFLAGS = @YFLAGS@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_CXX = @ac_ct_CXX@
++ac_ct_F77 = @ac_ct_F77@
++ac_cv_enable_crash_dialog = @ac_cv_enable_crash_dialog@
++am__include = @am__include@
++am__leading_dot = @am__leading_dot@
++am__quote = @am__quote@
++am__tar = @am__tar@
++am__untar = @am__untar@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++exec_prefix = @exec_prefix@
++gnomedatadir = @gnomedatadir@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++libdir = @libdir@
++libetpanconfig = @libetpanconfig@
++libexecdir = @libexecdir@
++localedir = @localedir@
++localstatedir = @localstatedir@
++mandir = @mandir@
++manualdir = @manualdir@
++mkdir_p = @mkdir_p@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++sbindir = @sbindir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++sysconfdir = @sysconfdir@
++target = @target@
++target_alias = @target_alias@
++target_cpu = @target_cpu@
++target_os = @target_os@
++target_vendor = @target_vendor@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++EXTRA_DIST = version.rc plugin.def claws.def mypgpcore.def smime.deps
++@OS_WIN32_TRUE@LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) \
++@OS_WIN32_TRUE@     `echo $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) | \
++@OS_WIN32_TRUE@     sed -e 's/-I/--include-dir /g;s/-D/--define /g'`
++
++@OS_WIN32_FALSE@plugin_res = 
++@OS_WIN32_TRUE@plugin_res = version.lo
++@OS_WIN32_FALSE@plugin_res_ldflag = 
++@OS_WIN32_TRUE@plugin_res_ldflag = -Wl,.libs/version.o
++@OS_WIN32_FALSE@export_symbols = 
++@OS_WIN32_TRUE@export_symbols = -export-symbols $(srcdir)/plugin.def
++@OS_WIN32_FALSE@plugin_deps = 
++@OS_WIN32_TRUE@plugin_deps = libclaws.a libmypgpcore.a $(plugin_res) plugin.def
++@OS_WIN32_FALSE@plugin_ldadd = 
++@OS_WIN32_TRUE@plugin_ldadd = -L . -lclaws -lmypgpcore
++@PLATFORM_WIN32_FALSE@no_undefined = 
++@PLATFORM_WIN32_TRUE@no_undefined = -no-undefined
++@CYGWIN_FALSE@cygwin_export_lib = 
++@CYGWIN_TRUE@cygwin_export_lib = -L$(top_builddir)/src -lclaws-mail
++plugindir = $(pkglibdir)/plugins
++plugin_DATA = smime.deps
++plugin_LTLIBRARIES = smime.la
++smime_la_SOURCES = \
++      plugin.c \
++      smime.c
++
++pluginincludedir = $(pkgincludedir)/plugins/smime
++plugininclude_HEADERS = \
++      smime.h
++
++smime_la_LDFLAGS = \
++      $(plugin_res_ldflag) $(no_undefined) $(export_symbols) \
++      -avoid-version -module 
++
++smime_la_DEPENDENCIES = $(plugin_deps)
++smime_la_LIBADD = $(cygwin_export_lib) $(plugin_ldadd) $(pgpcore_lib) \
++        $(GTK_LIBS) \
++      $(GPGME_LIBS)
++
++INCLUDES = \
++      -I$(top_srcdir)/src \
++      -I$(top_srcdir)/src/common \
++      -I$(top_builddir)/src/common \
++      -I$(top_srcdir)/src/gtk
++
++AM_CPPFLAGS = \
++      $(GLIB_CFLAGS) \
++      $(GTK_CFLAGS) \
++      $(GPGME_CFLAGS) \
++      -Wno-deprecated-declarations
++
++all: all-am
++
++.SUFFIXES:
++.SUFFIXES: .c .lo .o .obj
++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
++      @for dep in $?; do \
++        case '$(am__configure_deps)' in \
++          *$$dep*) \
++            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
++              && exit 0; \
++            exit 1;; \
++        esac; \
++      done; \
++      echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/plugins/smime/Makefile'; \
++      cd $(top_srcdir) && \
++        $(AUTOMAKE) --foreign  src/plugins/smime/Makefile
++.PRECIOUS: Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++      @case '$?' in \
++        *config.status*) \
++          cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++        *) \
++          echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++          cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++      esac;
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++
++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
++      @$(NORMAL_INSTALL)
++      test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
++      @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
++        if test -f $$p; then \
++          f=$(am__strip_dir) \
++          echo " $(LIBTOOL) --mode=install $(pluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(plugindir)/$$f'"; \
++          $(LIBTOOL) --mode=install $(pluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(plugindir)/$$f"; \
++        else :; fi; \
++      done
++
++uninstall-pluginLTLIBRARIES:
++      @$(NORMAL_UNINSTALL)
++      @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
++        p=$(am__strip_dir) \
++        echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$p'"; \
++        $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$p"; \
++      done
++
++clean-pluginLTLIBRARIES:
++      -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
++      @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
++        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
++        test "$$dir" != "$$p" || dir=.; \
++        echo "rm -f \"$${dir}/so_locations\""; \
++        rm -f "$${dir}/so_locations"; \
++      done
++smime.la: $(smime_la_OBJECTS) $(smime_la_DEPENDENCIES) 
++      $(smime_la_LINK) -rpath $(plugindir) $(smime_la_OBJECTS) $(smime_la_LIBADD) $(LIBS)
++
++mostlyclean-compile:
++      -rm -f *.$(OBJEXT)
++
++distclean-compile:
++      -rm -f *.tab.c
++
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smime.Plo@am__quote@
++
++.c.o:
++@am__fastdepCC_TRUE@  $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@  mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(COMPILE) -c $<
++
++.c.obj:
++@am__fastdepCC_TRUE@  $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
++@am__fastdepCC_TRUE@  mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
++
++.c.lo:
++@am__fastdepCC_TRUE@  $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@  mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
++
++mostlyclean-libtool:
++      -rm -f *.lo
++
++clean-libtool:
++      -rm -rf .libs _libs
++install-pluginDATA: $(plugin_DATA)
++      @$(NORMAL_INSTALL)
++      test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
++      @list='$(plugin_DATA)'; for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        f=$(am__strip_dir) \
++        echo " $(pluginDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(plugindir)/$$f'"; \
++        $(pluginDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(plugindir)/$$f"; \
++      done
++
++uninstall-pluginDATA:
++      @$(NORMAL_UNINSTALL)
++      @list='$(plugin_DATA)'; for p in $$list; do \
++        f=$(am__strip_dir) \
++        echo " rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
++        rm -f "$(DESTDIR)$(plugindir)/$$f"; \
++      done
++install-pluginincludeHEADERS: $(plugininclude_HEADERS)
++      @$(NORMAL_INSTALL)
++      test -z "$(pluginincludedir)" || $(MKDIR_P) "$(DESTDIR)$(pluginincludedir)"
++      @list='$(plugininclude_HEADERS)'; for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        f=$(am__strip_dir) \
++        echo " $(pluginincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pluginincludedir)/$$f'"; \
++        $(pluginincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pluginincludedir)/$$f"; \
++      done
++
++uninstall-pluginincludeHEADERS:
++      @$(NORMAL_UNINSTALL)
++      @list='$(plugininclude_HEADERS)'; for p in $$list; do \
++        f=$(am__strip_dir) \
++        echo " rm -f '$(DESTDIR)$(pluginincludedir)/$$f'"; \
++        rm -f "$(DESTDIR)$(pluginincludedir)/$$f"; \
++      done
++
++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
++      list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
++      unique=`for i in $$list; do \
++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++        done | \
++        $(AWK) '    { files[$$0] = 1; } \
++             END { for (i in files) print i; }'`; \
++      mkid -fID $$unique
++tags: TAGS
++
++TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
++              $(TAGS_FILES) $(LISP)
++      tags=; \
++      here=`pwd`; \
++      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
++      unique=`for i in $$list; do \
++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++        done | \
++        $(AWK) '    { files[$$0] = 1; } \
++             END { for (i in files) print i; }'`; \
++      if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
++        test -n "$$unique" || unique=$$empty_fix; \
++        $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++          $$tags $$unique; \
++      fi
++ctags: CTAGS
++CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
++              $(TAGS_FILES) $(LISP)
++      tags=; \
++      here=`pwd`; \
++      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
++      unique=`for i in $$list; do \
++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++        done | \
++        $(AWK) '    { files[$$0] = 1; } \
++             END { for (i in files) print i; }'`; \
++      test -z "$(CTAGS_ARGS)$$tags$$unique" \
++        || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
++           $$tags $$unique
++
++GTAGS:
++      here=`$(am__cd) $(top_builddir) && pwd` \
++        && cd $(top_srcdir) \
++        && gtags -i $(GTAGS_ARGS) $$here
++
++distclean-tags:
++      -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++
++distdir: $(DISTFILES)
++      @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++      topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++      list='$(DISTFILES)'; \
++        dist_files=`for file in $$list; do echo $$file; done | \
++        sed -e "s|^$$srcdirstrip/||;t" \
++            -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++      case $$dist_files in \
++        */*) $(MKDIR_P) `echo "$$dist_files" | \
++                         sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++                         sort -u` ;; \
++      esac; \
++      for file in $$dist_files; do \
++        if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
++        if test -d $$d/$$file; then \
++          dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
++          if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
++            cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
++          fi; \
++          cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
++        else \
++          test -f $(distdir)/$$file \
++          || cp -p $$d/$$file $(distdir)/$$file \
++          || exit 1; \
++        fi; \
++      done
++check-am: all-am
++check: check-am
++all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
++installdirs:
++      for dir in "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(pluginincludedir)"; do \
++        test -z "$$dir" || $(MKDIR_P) "$$dir"; \
++      done
++install: install-am
++install-exec: install-exec-am
++install-data: install-data-am
++uninstall: uninstall-am
++
++install-am: all-am
++      @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-am
++install-strip:
++      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++        `test -z '$(STRIP)' || \
++          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
++mostlyclean-generic:
++
++clean-generic:
++
++distclean-generic:
++      -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++
++maintainer-clean-generic:
++      @echo "This command is intended for maintainers to use"
++      @echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
++
++clean-am: clean-generic clean-libtool clean-local \
++      clean-pluginLTLIBRARIES mostlyclean-am
++
++distclean: distclean-am
++      -rm -rf ./$(DEPDIR)
++      -rm -f Makefile
++distclean-am: clean-am distclean-compile distclean-generic \
++      distclean-tags
++
++dvi: dvi-am
++
++dvi-am:
++
++html: html-am
++
++info: info-am
++
++info-am:
++
++install-data-am: install-pluginDATA install-pluginLTLIBRARIES \
++      install-pluginincludeHEADERS
++
++install-dvi: install-dvi-am
++
++install-exec-am:
++
++install-html: install-html-am
++
++install-info: install-info-am
++
++install-man:
++
++install-pdf: install-pdf-am
++
++install-ps: install-ps-am
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-am
++      -rm -rf ./$(DEPDIR)
++      -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-compile mostlyclean-generic \
++      mostlyclean-libtool
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
++
++ps-am:
++
++uninstall-am: uninstall-pluginDATA uninstall-pluginLTLIBRARIES \
++      uninstall-pluginincludeHEADERS
++
++.MAKE: install-am install-strip
++
++.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
++      clean-libtool clean-local clean-pluginLTLIBRARIES ctags \
++      distclean distclean-compile distclean-generic \
++      distclean-libtool distclean-tags distdir dvi dvi-am html \
++      html-am info info-am install install-am install-data \
++      install-data-am install-dvi install-dvi-am install-exec \
++      install-exec-am install-html install-html-am install-info \
++      install-info-am install-man install-pdf install-pdf-am \
++      install-pluginDATA install-pluginLTLIBRARIES \
++      install-pluginincludeHEADERS install-ps install-ps-am \
++      install-strip installcheck installcheck-am installdirs \
++      maintainer-clean maintainer-clean-generic mostlyclean \
++      mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
++      pdf pdf-am ps ps-am tags uninstall uninstall-am \
++      uninstall-pluginDATA uninstall-pluginLTLIBRARIES \
++      uninstall-pluginincludeHEADERS
++
++
++@OS_WIN32_TRUE@%.lo : %.rc
++@OS_WIN32_TRUE@       $(LTRCCOMPILE) -i $< -o $@
++
++@OS_WIN32_TRUE@libclaws.a: claws.def
++@OS_WIN32_TRUE@       $(DLLTOOL) --output-lib $@ --def $<
++
++@OS_WIN32_TRUE@libmypgpcore.a: mypgpcore.def
++@OS_WIN32_TRUE@       $(DLLTOOL) --output-lib $@ --def $<
++
++clean-local:
++      rm -f libclaws.a
++      rm -f libmypgpcore.a
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+diff -rupN claws-mail-2.9.2-p04/src/plugins/smime/version.rc claws-mail-2.9.2/src/plugins/smime/version.rc
+--- claws-mail-2.9.2-p04/src/plugins/smime/version.rc  2007-07-02 21:12:21.000000000 +0200
++++ claws-mail-2.9.2/src/plugins/smime/version.rc      2007-07-02 20:54:15.000000000 +0200
+@@ -18,7 +18,7 @@ BEGIN
+             VALUE "FileDescription", "smime Plugin\0"
+             VALUE "FileVersion", "0.0.0.0\0"
+             VALUE "ProductVersion", "0.0.0.0 Win32\0"
+-            VALUE "LegalCopyright", "GPL / \81© 1999-2007 Colin Leroy <colin@colino.net>\0"
++            VALUE "LegalCopyright", "GPL / © 1999-2007 Colin Leroy <colin@colino.net>\0"
+             VALUE "CompanyName", "GNU / Free Software Foundation\0"
+             VALUE "ProductName", "Claws Mail\0"
+ //            VALUE "Comments", "\0"